9、C++ 中的对象、引用与初始化详解

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)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值