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

关键字--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.dtcms.com/a/237566.html

相关文章:

  • Python抽象基类实战:构建广告轮播框架ADAM的核心逻辑
  • robot_lab train的整体逻辑
  • SDC命令详解:使用set_propagated_clock命令进行约束
  • 如何思考?分析篇
  • 深入剖析MySQL锁机制,多事务并发场景锁竞争
  • 34 C 语言字符串转数值函数详解:strtol、strtoll、strtoul、strtoull(含 errno 处理、ERANGE 错误)
  • 硬盘寻址全解析:从 CHS 三维迷宫到 LBA 线性王国
  • Linux安全机制:从SELinux到Intel SGX的堡垒
  • Vue2 模板中使用可选链操作符(?.)的坑
  • Spring框架实现IOC
  • 【RTSP从零实践】1、根据RTSP协议实现一个RTSP服务
  • JavaScript篇:字母侦探:如何快速统计字符串里谁才是‘主角‘?
  • Improving Chinese Spelling Check by Character Pronunciation Prediction
  • 快速了解:单北斗终端的定义、作用与好处!
  • 基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
  • RD-Agent-Quant:一个以数据为中心的因素与模型联合优化的多智能体框架
  • ROS2,工作空间中新建了一个python脚本,需要之后作为节点运行。告诉我步骤?
  • Vibe Coding AI编程
  • 管道与进程间通信
  • FreeRTOS事件组-笔记
  • 抖音怎么下载视频?抖音怎么无水印下载别人的视频
  • LeetCode 08.06 面试题 汉诺塔 (Java)
  • springBoot 通过模板导出Excel文档的实现
  • 第一章 计算机系统构成及硬件基础知识
  • 基于Java的离散数学题库系统设计与实现:附完整源码与论文
  • Web前端基础:JavaScript
  • 混合云数据库连接问题:本地与云实例的兼容性挑战
  • AI推理服务的高可用架构设计
  • 如何区分 “通信网络安全防护” 与 “信息安全” 的考核重点?
  • 【JavaWeb】Docker项目部署