概念:指针就是一个地址变量。它本身就会占用一块空间。
int a=0;
int *p=&a;引用:变量的别名。不占用额外的空间。
int a = 0;
int& b=a;
做参数的区别和联系:
函数传参可以大概分个值传递和址传递;在需要改变原来的内容的时候需要用到址传递;也就是用指针作为形参;但是在c++中使用引用也可以使用引用作为形参。
int a(int& a)
{
a=a+1;
}
int main()
{
int x=1;
int& y=x;
a(y);
return 0;
}
其实指针和引用只是在表面上看起来不同,在底层实现时,引用和指针是一样的;在表面上的不同会在使用时比较简便。
当引用作为返回值
传值返回时,是将返回变量的值放到eax寄存器中 传引用返回时,是将返回变量的地址放到eax寄存器中 推论: 1.不要返回一个临时变量的引用 2.如果返回对象出了当前函数的作用域依旧存在,则最好使用引用返回,这样更加高效
指针和引用的区别:
1、引用只能初始化一次,之后不能更改,指针可更改
2、引用必须指向有效的变量,指针可以为空
3、siezeof指针对象得到的是指针对象地址的大小,而引用得到的是指向变量的大小
4、指针自增和引用自增意义不一样
引用比指针更安全
本文详细解释了指针和引用的概念及其在C++中的应用。包括它们的基本定义、使用方式及区别,如初始化、指向有效性、sizeof操作符的使用、自增运算的不同等。并探讨了如何在函数参数和返回值中正确选择使用指针或引用。
2359

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



