gpt4 book ai didi

c++ - 编译器如何评估 c 中的 sizeof 运算符

转载 作者:太空狗 更新时间:2023-10-29 19:44:08 24 4
gpt4 key购买 nike

尽管在这个论坛和其他与 sizeof 运算符相关的问题上已经提出了几个问题,但我无法得到任何关于编译器如何评估 sizeof 运算符以找到任何数据类型、变量、指针、数组等的大小的答案。如果可能的话还指出了一些可以帮助我详细了解这一点的链接。任何帮助将不胜感激。谢谢。

最佳答案

编译器只是知道原始数据类型的大小;这些知识基本上内置于编译器中。

对于传统的固定大小数组和复杂数据类型(结构和类),它只是将组成基元的大小相加并考虑任何必要的填充。参见 http://en.wikipedia.org/wiki/Data_structure_alignment

在大多数情况下,sizeof() 计算是在编译时完成的。异常(exception)情况是可变长度数组(C99 中的新特性),一旦元素数量已知,它就会在运行时计算。

关于c++ - 编译器如何评估 c 中的 sizeof 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com