C++ 中的对象、引用与初始化详解
1. 对象与内存占用
在 C++ 里,每个对象都是通过定义语句创建的,该语句会引入、创建并可选择初始化一个变量。变量可以是对象或者非静态数据成员的引用。下面是一个简单的变量定义和对象创建示例:
void foo() {
int x;
}
这里在 foo() 函数的栈上定义并实例化了一个整数类型的对象。C++ 中的每个对象都会在特定的内存区域占用一定的内存。由于该对象在栈上,它具有自动存储期,即函数开始时创建,函数结束时自动销毁。实例化对象时会使用一定的内存,这个内存大小是编译时已知的值,可以使用 sizeof 运算符获取。不过,某些类型的大小可能会因程序运行的底层硬件而有所不同,所以如果需要确定大小,最好使用 sizeof 运算符计算。
例如,基本的 int 类型,标准规定其大小不能小于 16 位。在 Linux Mint 21 搭配 GCC 12.2 的环境中,底层数据模型是 LP64,这意味着 int 是 4 字节, long 和指针是 8 字节。以下代码展示了这些类型的大小:
int i;
long l;
char* p;
std::cout << "sizeof(int) = " << sizeof(int) << "; sizeof(i)
超级会员免费看
订阅专栏 解锁全文
1049

被折叠的 条评论
为什么被折叠?



