【发布时间】:2011-11-03 03:03:25
【问题描述】:
我有几个与 C++ 中引用的使用有关的问题。
-
在下面显示的代码中,它是如何工作的并且在
q = "world";行不报错?#include <iostream> using namespace std; int main() { char *p = "Hello"; char* &q = p; cout <<p <<' '<<q <<"\n"; q = "World"; //Why is there no error on this line cout <<p <<' '<<q <<"\n"; }如何将引用 q 重新初始化为其他内容?
-
字符串文字
p = "Hello"不是常量还是只读空间?所以如果我们这样做,q = "World";p应该是常量的字符串不会被更改吗?
-
我已经阅读了有关 C++ 引用类型变量的信息,因为它们无法重新初始化或重新分配,因为它们“内部”存储为常量指针。所以编译器会报错。
但实际上如何重新分配引用变量?
int i; int &j = i; int k; j = k; //This should be fine, but how we reassign to something else to make compiler flag an error?我正在尝试获取此参考资料,其中可能遗漏了一些相关的关键内容,因此提出了这些问题。
因此,任何清除此问题的指针都会很有用。
【问题讨论】: