c++ 指针传递 及 指针引用传递
关注他
测试代码:
#include <iostream>
void test(int* num){
num=new int(5);
}
void test1(int *&num){
num=new int(5);
}
int main(){
int* a1=new int(3);
test(a1);
std::cout<<*a1<<std::endl;
int* a2=new int(3);
test1(a2);
std::cout<<*a2<<std::endl;
return 0;
输出结果:
- a1=3
- a2=5
原因分析:
- 本质上是指针传递和引用传递的区别
- 指针传递时会复制指针变量,这样有2个变量指向同一块地址(复制大小为4byte in 32-bit system,无论指向的对象多大)
- 引用传递可以理解为传递的是自己
- 指针和引用传递都不会调用对象的复制,但指针传递会复制指针变量
引用自
本文详细解析了C++中指针和引用传递的区别,重点在于复制行为和内存影响,通过实际代码演示展示了它们在main函数中的不同输出结果。
2979

被折叠的 条评论
为什么被折叠?



