美文网首页
C++里的&

C++里的&

作者: DrunkPian0 | 来源:发表于2019-07-20 19:13 被阅读0次
    1. 举个vector的例子,相对于Java,注意两点;
      第一,对象不需要new
      第二,如果不加&,默认会重新申请一块内存拷贝进去。

      如果不加&,vec2是不是相当于深拷贝list[0]到vec2里去
    2. 举一个交换的例子:

    
    #include<iostream>
    using namespace std;
     
    void swap(int a, int b)//a,b不改变,因为a,b的生命周期只在swap函数内,结束swap后a,b就消失,不改变实参
    {
        int c = 0;
        c = a;
        a = b;
        b = c;
    }
     
    void swap1(int *a, int *b)//使用指针,交换地址实现数字变换
    {
        int c = 0;
        c = *a;
        *a = *b;
        *b = c;
    }
     
    void swap2(int& a, int& b)//使用引用,a,b是实参的别名,相当于对实参的调用
    {
        int c = 0;
        c = a;
        a = b;
        b = c;
    }
     
    

    ref:
    https://www.tlanyan.me/and-operator-in-cpp/
    https://blog.csdn.net/qq_38386991/article/details/82719171

    相关文章

      网友评论

          本文标题:C++里的&

          本文链接:https://www.haomeiwen.com/subject/omgulctx.html