c++ - 包含参考变量的对象的大小
问题描述
这是打印 16 和 4 作为答案,但它应该打印为 8 和 4,因为两者a
都是b
整数类型变量。那么我们可以认为这是因为编译器将变量的地址存储a
在一个单独的变量中,而复制到b
这就是为什么它会导致4 + 4 + 8 = 16
?如果不是,那是什么?
#include <iostream>
using namespace std;
class C {
public:
int a = 45;
int &b = a;
};
int main() {
C ob1;
cout << sizeof(ob1) << endl;
cout << sizeof(ob1.b);
return 0;
}
解决方案
推荐阅读
- excel - 我的代码不见了,excel找不到我的宏,但我可以在visual basic中看到模块
- flutter - 如何在地图颤动中将网络图像(也自定义此图像)显示为标记
- javascript - Javascript 在任何其他窗口之上打开新窗口
- asp.net - 母版页在 ASP.NET 中无法正常工作
- php - 将 HTML 表导出到 xlsx 会导致 INVALID_CHARACTER_ERR
- javascript - 如何将 html 数据绑定到 vuejs 和 typescript 中的对象
- java - java - 如何在java api中使用solr 7.7.2索引windows文件夹中的txt文件?
- c# - 如何声明来自不同类的文本框?
- php - 尝试通过 php 启动 hadoop 时出错
- reactjs - Ace Editor 更新反应状态