//x的整型对象,值为10 int x = 10; //y是指向int类型的指针对象,&是指返回x对象的内存地址,y则是保存X对象的内存地址(俗称指针) int* y = &x; //此时,y的值是x的内存地址 //使用*解引用后,这样可以修改x的值,通过y的赋值改变 *y = 15;
C与C++对指针的初始化差别
C int* ptr = NULL; C++ int* ptr = 0;C++中增加了&引用
C++中增加了引用这个概念,引用提供了一种给左值赋予一个别名的机制。而且引用必须在声明时进行初始化,跟const关键词一样。
使用场景:引用可以避免费时或者不必要的复制。
所以,C++经常在函数接口中的传送参数定义为引用变量
//初学者
void test(int x)
{
}
//进阶者
void test(const int& x)
{
//如果传参不需要作用域中改变值的话,则加上const,防止传参值发生改变
}
//此时,&为取址运算符 int x = 5; int* ptr = &x; //此时,&为引用 int& y = x;
可以使用左值和右值去区分,左值是引用,右值是取地址



