C++里的&

  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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容