2010-04-16 19 views

cevap

19
#include <limits>  
std::numeric_limits<int>::min(); 
+0

Bu en kolay yoldur. – Opera

+3

@Opera: Doğru yol da. :) – jalf

3

"Eşdeğer" ile ne demek istediğine bağlı. java.lang.Integer.MIN_VALUE, Java'da bir derleme zamanı sabiti, ancak std::numeric_limits<int>::min(), C++ 'da bir tamsayı sabit ifadesi değildir. Bu nedenle, örneğin bir dizi boyutu olarak kullanılamaz (iyi, bir int'nin minimum değeri, negatif olduğu için olamaz, ancak aynı şeyi içeren ifadeler veya benzer değerler veya buz gerektiren diğer içerikler için de geçerlidir.).

C++ 'da bir derleme zamanı sabiti gerekiyorsa,'u <climits>'dan kullanın. Aslında yine de kullanabilirsiniz: genel kod yazıyorsanız numeric_limits gereklidir ve int olabilecek bir T tamsayı türünüz var veya başka bir şey olabilir. Aksi takdirde birincil kullanımı leet C++ skillz kanıtlamak ve/veya kodunuzu daha uzun yapmak ;-)

+0

C++ 0x olmasına rağmen, sabit bir ifadedir. :) – GManNickG

+0

Geri kaldırdığımda C++ 0x'e inanıyorum; –