2015-12-21 84 views
-3

我正在与某人制作的src合作。最近这个人已经离开了,我正在尝试捡起碎片,但我并不真正了解C++,但我希望能够从我正在编译的特定文件中得到一些编译问题的帮助。有没有一种方法可以扩展const的限制,或者可以使用不同的类型来保存更大的值?恒定太大C++

+0

我们可以看到实际的代码吗? –

回答

1

您实施的基本类型的数值限制在<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'; 
} 

Live on Coliru

如果要比这更多,或甚至任意精度/长度的数字,则需要使用多精度库,例如Boost.Multiprecision