Ожидается ли, что на всех платформах, размерах int и т. Д. Будет работать как ожидается? Или есть более приемлемый способ сделать это? (Я сделал следующее.)C++ maximum non negative int
#define MAX_NON_NEGATIVE_INT ((int)(((unsigned int)-1)/2))
Я не буду оскорблять ваш интеллект, объясняя, что он делает!
Редактировать: Я должен был упомянуть, что я не могу использовать какие-либо стандартные классы, потому что я бегу без времени выполнения C.
Что не так с использованием 'INT_MAX' от' '? –
schot
Эта уродливая #define может стать хорошим #include, как предложено ниже, и решить вашу проблему. – Raveline
В моей системе INT_MAX определяется как «#define INT_MAX 2147483647». 2147483647 - это то, что я также получаю от своего определения выше. Но что произойдет, если размер int не 32 бита в целевой системе? – Sam