sizeof 在 C++ 中的用途sizeof 运算符获取数据类型或表达式的字节大小:获取数据类型的字节大小: 直接将数据类型作为参数,如 sizeof(int)。获取表达式的字节大小: 将表达式括在圆括号内作为参数,如 sizeof((int) 10.5)。

在 C++ 中使用 sizeof
sizeof 用途
sizeof 运算符在 C++ 中用于获取数据类型或表达式的字节大小。
语法
立即学习“C++免费学习笔记(深入)”;
sizeof(type); sizeof(expression);
用法
在整本书中我们所涉及许多的Flex框架源码,但为了简洁,我们不总是显示所指的代码。当你阅读这本书时,要求你打开Flex Builder,或能够访问Flex3框架的源码,跟随着我们所讨论源码是怎么工作及为什么这样做。 如果你跟着阅读源码,请注意,我们经常跳过功能或者具体的代码,以便我们可以对应当前的主题。这样能防止我们远离当前的主题,主要是讲解代码的微妙之处。这并不是说那些代码的作用不重要,而是那些代码处理特别的案例,防止潜在的错误或在生命周期的后面来处理,只是我们当前没有讨论它。有需要的朋友可以下载看看
-
获取数据类型的字节大小:直接将数据类型作为 sizeof 的参数,例如
sizeof(int)。 -
获取表达式的字节大小:将表达式括在圆括号内作为 sizeof 的参数,例如
sizeof((int) 10.5)。
返回值
sizeof 返回一个 size_t 类型的无符号整数,表示数据类型或表达式的字节大小。
注意事项
- sizeof 运算符适用于任何数据类型,包括基本类型、结构体和类。
- sizeof 始终返回编译时的大小,不考虑程序运行时的实际内存分配。
- 对于数组,sizeof 返回整个数组的字节大小,而不是单个元素的字节大小。要获取单个元素的字节大小,请使用 sizeof(array_type[1])。
- 对于指针,sizeof 返回指针本身的字节大小,而不是它指向的对象的字节大小。
示例
int main() {
// 获取 int 数据类型的字节大小
int x = 10;
std::cout << "Byte size of int: " << sizeof(int) << std::endl;
// 获取表达式 (int) 10.5 的字节大小
std::cout << "Byte size of (int) 10.5: " << sizeof((int) 10.5) << std::endl;
// 获取数组 a 的字节大小
int a[5] = {1, 2, 3, 4, 5};
std::cout << "Byte size of array a: " << sizeof(a) << std::endl;
// 获取指针 p 的字节大小
int* p = &x;
std::cout << "Byte size of pointer p: " << sizeof(p) << std::endl;
return 0;
}输出
Byte size of int: 4 Byte size of (int) 10.5: 4 Byte size of array a: 20 Byte size of pointer p: 8










