编译器是否调整整数大小
Does compiler adjust int size?
我想知道在这种情况下,compiller 是否会将 int 变量大小调整到其最大可能值?还是会使用整个 32 位 int?
pseudocode:
int func()
{
if (statement)
return 10;
else if (statement2)
return 50;
else
return 100;
}
// how much memory will be alocated as it needs only 1 byte?
函数
返回int
,分配的内存将被sizeof(int)
,而不管其中存储的实际值如何。
我将使用完整的 32 位(假设在此架构上 int 为 32 位)。
它是在编译时定义的
是的,朋友,它将使用整个 32 位,因为基元类型的内存分配是在编译时完成的。
Int32 是值类型。它在编译时存储在堆栈上。如果它在任何对象内部,那么它将进入动态内存堆。
在您的情况下,对于任何返回值,编译器将根据 int32 的大小(即 32 位)在堆栈上分配固定位来存储返回整数值,如果已唱片,其范围可以是 –2,147,483,648 到 2,147,483,647,如果无符号,则为 0 到 4,294,967,295。
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 在C++中手动调整数组大小
- 为char数组调整zlib-zpipe
- 检查输入是否不是整数或数字
- C++使用整数的压缩数组初始化对象
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 调整大小后指向元素值的指针unordered_map有效?
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何只允许用户输入正整数
- 在C++中调整向量中的索引
- 如何在c++中从文本文件中逐行读取整数
- C++:如何循环通过向量中的整数元素
- 我可以信任表示整数的浮点或双精度来保持精度吗
- 序列化,没有库的整数,得到奇怪的结果
- 我的C++程序有问题.涉及动态调整整数数组的大小
- 编译器是否调整整数大小