声明一个const变量作为参考

pol*_*pts 2 c++ reference declaration

在某些地方,我看到过这样的变量

const int &var1;
extern int & var2;
Run Code Online (Sandbox Code Playgroud)

这些变量在其他地方定义.我一直认为,当您声明对变量的引用时,您将在同一位置绑定对该变量的引用.我在这里遗漏了一些东西.当没有限定符(例如const或extern)时,我还没有看到如上所述的引用.

Luc*_*ore 6

const int &var1;
Run Code Online (Sandbox Code Playgroud)

如果不是a class或a的一部分,这是非法的struct.如果是,则必须在构造函数初始化列表中初始化它.

它合法的原因是因为在创建该类的对象之前该变量不存在.所以没有未绑定的引用,因为没有提及.