gpt4 book ai didi

C++ : initialization, 限制和变量

转载 作者:搜寻专家 更新时间:2023-10-31 01:14:32 25 4
gpt4 key购买 nike

免责声明,编程新手,通过 C++ Prime Plus 第 6 版工作。

我正在通过 list 3.1 工作。

#include <iostream> 
#include <climits>
int main()
{
using namespace std;
int n_int = INT_MAX;
cout << "int is " << sizeof n_int << " bytes." << endl;

return 0;

}

所以我明白了,创建一个变量设置了最大 int 值。

但是,我有什么不应该和不能去的理由吗:

cout << "int is " << sizeof (INT_MAX) << " bytes." << endl;

因为它给出了正确的长度。但是当我尝试使用 (SHRT_MAX) 时,它返回 4 个字节,而我希望它返回 2 个字节。

再次使用 (LLONG_MAX) 它正确返回 8 个字节,但是 (LONG_MAX) 错误地返回 8。

任何澄清都会很好。

最佳答案

<climits> 中定义的值是扩展为整数文字的宏。整数文字的类型是可以容纳值的最小整数类型,但不小于 int .

所以 INT_MAX将具有类型 int ,等等 sizeof INT_MAXsizeof (int)相同.然而,SHRT_MAX也将具有类型 int ,等等 sizeof SHRT_MAX不一定等于 sizeof (short) .

关于C++ : initialization, 限制和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190166/

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