のようなヘッダーを含めずに、特定の符号なし整数型の最大値を取得しようとしています<limits>
。そこで、符号なし整数値 0 のビットを単純に反転させようと考えました。
#include <iostream>
#include <limits>
int main()
{
std::cout << (~0U) << '\n'; // #1
std::cout << (std::numeric_limits< unsigned >::max()) << '\n'; // #2
return 0;
}
これらの微妙な違いについては、私はあまり経験がありません。そのため、最初の方法を使用すると、予期しない動作やプラットフォーム/アーキテクチャの問題が発生する可能性があるかどうかを尋ねています。