当前位置: 首页 > article >正文

关键字--sizeof

sizeof 是 C++ 中的一个编译时运算符,用于获取一个类型对象在内存中所占的字节数(单位:字节,byte)。

用法

  1. 获取类型的大小:
std::cout << sizeof(int) << std::endl; // 输出int类型的字节数
  1. 获取变量/对象的大小:
double d = 3.14;
std::cout << sizeof(d) << std::endl; // 输出变量d的字节数
  1. 获取数组的总字节数:
int arr[10];
std::cout << sizeof(arr) << std::endl; // 输出整个数组的字节数(不是元素个数)
  1. 结合类型推断:
auto x = 123L;
std::cout << sizeof(x) << std::endl;	

特点

• sizeof 在编译时计算,不会在运行时产生额外开销。
• 括号可有可无(对类型必须加括号,对变量可省略)。
• 结果类型是 size_t,通常是无符号整数。

注意事项

• 对数组名使用 sizeof 得到的是整个数组的字节数,不是元素个数。要获取元素个数可用:sizeof(arr) / sizeof(arr[0])
• 对指针使用 sizeof 得到的是指针本身的大小,不是指针指向的数据大小。

示例

#include <iostream>int main() {int a = 10;double b = 3.14;int arr[5];std::cout << "int: " << sizeof(int) << std::endl;std::cout << "a: " << sizeof(a) << std::endl;std::cout << "double: " << sizeof(double) << std::endl;std::cout << "b: " << sizeof(b) << std::endl;std::cout << "arr: " << sizeof(arr) << std::endl;std::cout << "arr元素个数: " << sizeof(arr) / sizeof(arr[0]) << std::endl;return 0;
}

总结

sizeof 是C++中用于获取类型或对象所占内存字节数的关键字,常用于类型分析、内存分配、数组操作等场景。

http://www.lryc.cn/news/2403797.html

相关文章:

  • Ubuntu20.04启动python的虚拟环境
  • 网页在线客服系统自动欢迎语实现方案(PHP+MySQL)
  • UniRig:如何在矩池云一站式解决 3D 模型绑定难题
  • 用函数实现模块化程序设计(适合考研、专升本)
  • 玩转抖音矩阵:核心玩法与高效运营规则
  • spring:继承接口FactoryBean获取bean实例
  • 字符串字典序最大后缀问题详解
  • VScode打开后一直显示正在重新激活终端 问题的解决方法
  • pe文件结构(TLS)
  • 二进制安全-OpenWrt-uBus
  • 分页查询的实现
  • 中型零售业数据库抉择:MySQL省成本,SQL SERVER?
  • 使用 Windows 完成 iOS 应用上架:Appuploader对比其他证书与上传方案
  • IDEA中的debug使用技巧
  • RockyLinux9.6搭建k8s集群
  • MS358A 低功耗运算放大器 车规
  • AI IDE 正式上线!通义灵码开箱即用
  • CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
  • Ubuntu20.04基础配置安装——系统安装(一)
  • ubuntu opencv 安装
  • 使用Python和Flask构建简单的机器学习API
  • Kafka入门-消费者
  • [论文阅读] 人工智能 | 搜索增强LLMs的用户偏好与性能分析
  • 中电金信:从智能应用到全栈AI,大模型如何重构金融业务价值链?
  • 巴西医疗巨头尤迈Kafka数据泄露事件的全过程分析与AI安防策略分析
  • 快速上手 Metabase:从安装到高级功能实战
  • 多区域协同的异地多活AI推理服务架构
  • Linux基础命令which 和 find 简明指南
  • 【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南
  • 思尔芯携手Andes晶心科技,加速先进RISC-V 芯片开发