是正确的。

在C++中,一旦引用被初始化以后,它将一直引用同一个对象,不能再改变它所引用的对象。任何对引用的赋值操作都是将新的值赋给了引用所引用的对象,而不是改变引用本身。

而指针可以通过赋值操作改变所指的对象。可以使用指针的解引用操作符(*)来改变指针所指的对象的值,也可以将指针重新赋值为指向另一个对象。

下面是一个示例代码,展示了引用和指针的使用:

int main() {
  int a = 5;
  int b = 10;
  
  int& ref = a; // 引用初始化
  int* ptr = &a; // 指针初始化
  
  ref = b; // 改变引用所引用的对象的值
  ptr = &b; // 改变指针所指的对象
  
  cout << a << endl; // 输出10
  cout << *ptr << endl; // 输出10
  
  return 0;
}

在上面的代码中,引用ref初始化为a,指针ptr初始化为a的地址。然后,将引用ref赋值为b,改变了a的值为b。同时,将指针ptr重新赋值为b的地址,改变了指针所指的对象。最后,输出a*ptr的值均为10

C++ 指针与引用:引用不可变,指针可变解惑

原文地址: https://www.cveoy.top/t/topic/qp4J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录