我正在寻找关于 c++ 中引用变量的解释,我发现了这个:
#include<iostream>
int a=10; //global 'a' so that fun doesn't return a reference of its local variable
int & fun();
int main()
{
int p = fun(); //line to be noted
std::cout << p;
return 0;
}
int & fun()
{
return a;
}
这有效,所以这样做:
#include<iostream>
int a=10; //global 'a' so that fun doesn't return a reference of its local variable
int & fun();
int main()
{
int &p = fun(); //line to be noted
std::cout << p;
return 0;
}
int & fun()
{
return a;
}
我的问题是整数变量如何存储参考值,就像在第一个代码片段 [第 6 行] 中所做的那样。代码片段 2 [第 6 行] 中描述的语法不正确吗,即我们应该定义一个引用变量(int &p)来携带引用,而不是一个常规的整数变量?编译器不应该给出一个错误或至少一个警告吗?我正在使用 GCC 4.7.1 64 位。