uint64_t
の最大値を表すマクロは、UINT_MAX
はunsigned int
としています。 つまり、(1 < < 64)-1であることが保証されるためには、この値が必要です。 uint64_tの最大値を表すマクロ
UINT64_MAX
を使用しようとしましたが、中にG ++でコンパイルした結果:
'UINT64_MAX' was not declared in this scope
それはUINT64_MAX
を使用する前に、私はコードでこの行#define __STDC_LIMIT_MACROS
を持っていることを言及する価値があります。
私は、Web上で役に立つ情報が見つからないことに驚いていました。
idk what '#define __STDC_LIMIT_MACROS'はインクルードの前で、' UINTwhatever'の使用前ではありません。 –
C++ 11の実装では、 'UINT64_MAX'を提供する' cstdint'が付属しています。 Boostは、このヘッダーが利用可能であれば、このヘッダーの実装も提供します。 – pmr
なぜマクロはC++ですか? 'std :: numeric_limits :: max()'は動作しませんか? –