C++---类成员变量定义为引用
摘要:类成员变量是可以定义为引用类型的,但是我们需要注意一下用法
note1:在类中定义引用变量, 必须要在初始化列表中初始化该成员变量(const 类型数据成员也必须在初始化列表中进行初始化)
#include <iostream> using namespace std; class A { public: A(int k):a(n){ // 必须要在初始化列表中进行初始化 n = k; cout << a <<endl; } int get() const { return n+1; } private: int n; int &a; }; int main(){ A a(10); cout << a.get() <<endl; return 0; } // 输出结果 // 10 // 11
note2:初始化后的引用变量所占用的内存空间和普通变量相同
#include <iostream> using namespace std; class A { public: A(int k):a(k){} int &a; }; int main(){ A a(1); cout << sizeof(a) <<endl; return 0; } // 输出结果(VS2013 32位编译器) // 4
所有博文均为原著,如若转载,请注明出处!