【发布时间】:2015-12-21 23:53:59
【问题描述】:
我正在与一个为我正在制作的游戏制作的 src 合作。该人最近离开了,我正在尝试收拾残局,我真的不了解 C++,但我希望能就来自我正在尝试编译的特定文件的编译问题获得一些帮助。有没有办法可以扩展 const 的限制,或者使用可以容纳更大值的不同类型?
【问题讨论】:
-
我们能看到实际代码吗?
我正在与一个为我正在制作的游戏制作的 src 合作。该人最近离开了,我正在尝试收拾残局,我真的不了解 C++,但我希望能就来自我正在尝试编译的特定文件的编译问题获得一些帮助。有没有办法可以扩展 const 的限制,或者使用可以容纳更大值的不同类型?
【问题讨论】:
实现的基本类型的数字限制在 <limits> 标头中定义,特征类 std::numeric_limits 为您的机器提供值。这就是它的结束,你不能用基本类型“打破”这些限制。示例(来自 cppreference.com):
#include <limits>
#include <iostream>
int main()
{
std::cout << "type\tlowest\thighest\n";
std::cout << "int\t"
<< std::numeric_limits<int>::lowest() << '\t'
<< std::numeric_limits<int>::max() << '\n';
std::cout << "float\t"
<< std::numeric_limits<float>::lowest() << '\t'
<< std::numeric_limits<float>::max() << '\n';
std::cout << "double\t"
<< std::numeric_limits<double>::lowest() << '\t'
<< std::numeric_limits<double>::max() << '\n';
}
如果您想要更多,甚至是任意精度/长度数字,那么您需要使用多精度库,例如Boost.Multiprecision。
【讨论】: