C++ 指针与引用:引用不可变,指针可变解惑
是正确的。
在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。
原文地址: https://www.cveoy.top/t/topic/qp4J 著作权归作者所有。请勿转载和采集!