C 引用是现有变量的别名
C++中的 Reference 只是一个 Alias
或变量的另一个名称。就像我们大多数人可以使用我们的护照名称和昵称一样。
字面上不存在引用,它们不占用任何内存。如果我们打印引用变量的地址,它将打印与其引用的变量相同的地址。
int main() {
int i = 10;
int &j = i;
cout<<&i<<endl;
cout<<&b<<endl;
return 0;
}
在上面的例子中,cout
都将打印相同的地址。如果我们将变量作为函数中的引用,情况将是相同的
void func (int &fParam ) {
cout<<"Address inside function => "<<fParam<<endl;
}
int main() {
int i = 10;
cout<<"Address inside Main => "<<&i<<endl;
func(i);
return 0;
}
在这个例子中,cout
都将打印相同的地址。
我们现在知道 C++ References
只是别名,而且要创建一个别名,我们需要有一些 Alias 可以引用的东西。
这就是为什么像这样的语句会抛出编译器错误的确切原因
int &i;
因为,别名不是指任何东西。