在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
int a = 5; int* b = &a;表示定义一个int类型的指针b,该指针指向a变量的地址。*b = 6;表示将b指针指向地址存储的值改为为6,这时候a变量的值也变为了6,因为a变量的地址所存储值已经被修改了。
int a = 5; 运行以上代码后a的值为5。int b = a;表示重新开辟一个地址给变量b,该地址存储的值与a变量地址存储的值一致。b = 6;改变的是b变量的地址所存储的值,所以a变量的地址存储的值还是5。
int a = 5; int& b = a;表示定义一个变量b,这里的b是一个变量名不是一个指针,但是这个b变量的地址和a变量的地址是同一个地址。所以b = 6;这里改变b变量指定的地址的值,a变量的值也改变了。
定义方法的时候,int add(int& a,int& b){}和int add(int a,int b){}的区别: int add(int a,int b){}在调用方法传入参数的时候,方法内部会定义两个变量a和b,并且会为这两个变量开辟新的的地址,然后将传入的参数的值赋值到这两个地址。也就是说相对于拷贝了一份传入的参数,在方法内改变a和b的值不影响外部传入的参数的值。 int add(int& a,int& b){}在调用方法传入参数的时候,方法内部会定义两个变量a和b,但是并不会为这两个变量开辟新的地址,而是分别指向传入的两个参数的地址,这时候在方法内部改变a和b的值,相当于修改外部传入参数的值,因为他们是同一份数据。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论