我正在开始编程学习,目前我想知道C ++中指针和引用之间的差异。为了exacmle,我们可以使用指针从函数返回多个值(因为据我所知return
只能给我们一个值)所以这里是指针给我们的一个特征,但可能我们可以做同样的使用参考。
现在我有疑问:
感谢您的所有答案!我希望你能帮助我学习和解开C ++编程的各个方面:)
答案 0 :(得分:1)
指针是保存另一个变量的内存地址的变量。需要使用*运算符取消引用指针以访问它指向的内存位置
引用变量是别名,即现有变量的另一个名称。像指针一样的引用也通过存储对象的地址来实现。
引用可以被认为是一个常量指针(不要与指向常量值的指针混淆!)和自动间接,即编译器将为你应用*运算符。
差异:
重新分配:可以重新分配指针。此属性对于链接列表,树等数据结构的实现很有用。请参阅以下示例:
int x = 5;
int y = 6;
int *p;
p = &x;
p = &y;
另一方面,无法重新分配引用,必须在初始化时分配引用。
int x = 5;
int y = 6;
int &r = x;