引用和指针的区别 c语音没有引用的概念
引用就是给变量器一个别名 ,一个引用只能在定义的时候确定所引用的变量,以后都不能改变所引用的变量
引用没有独立的存储空间,,跟被引用的变量共享存储空间
对引用所做的改变,就是所引用的变量所做的改变
指针有独立的存储空间
指针的值是可以变得
引用的值不能为空,指针可以为空
sizeof 引用所得到的是引用变量的大小,sizeof得到的是指针的大小
引用和指针的自增++自减运算含义不一样
c++推荐能使用引用解决的问题就不要用指针
void my_swap(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
局部变量的引用不要作为函数的返回值
int & sum(int a,int b)
{
int temp=a+b;
return temp;
}
c++推荐使用const
const和define都能用来定义常量,可以造成一改全部改的效果,iOS推荐使用const和enum
来定义常量
const的出现是为了取代预编译指令,消除缺点,继承优点
const可以节省内存,避免不必要的内存分配
const定义常量只给出内存地址,并不想define一样给出数
所以const定义的常量在程序运行的过程中只是一份拷贝,而不像define定义的常量在程序中有若干拷贝
const实例解读
double d = 10.5
const int &df = d 等价与先把d的值存储到一个临时变量,然后在把这个临时变量赋值给df