我在编写一个小型 c++ 程序来测试作为类成员的引用时遇到了这种情况。
仅作为类成员引用,程序给出的 ao/p 为 8。通常,引用给出的大小是它们所属的特定数据类型。但是为什么这里是 8(而不是 4)。请帮助我理解它。
#include<iostream>
using namespace std;
class Test {
int &t;
public:
Test(int &t):t(t) {}
};
int main()
{
int x = 20;
Test t1(x);
int &ref = x;
cout<<sizeof(ref)<<endl;
cout<<sizeof(t1)<<endl;
return 0;
}
输出 -
/home/user>./a.out
4
8