2015-12-21 82 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