[英]Does the C++ standard guarantee that std::uintmax_t can hold all values of std::size_t?
C ++標准是否保證(通過顯式聲明它或通過邏輯推導隱式) std::uintmax_t
可以保存std::size_t
所有值?
或者std::numeric_limits<std::size_t>::max()
是否可能大於std::numeric_limits<std::uintmax_t>::max()
?
是。
size_t
被定義為無符號整數類型,其大小足以包含任何對象的大小。 uintmax_t
被定義為能夠存儲任何無符號整數類型的任何值。 因此,如果size_t
可以存儲它, uintmax_t
可以存儲它。
從C ++11§18.2中定義size_t
:
類型size_t是一個實現定義的無符號整數類型,它足夠大,可以包含任何對象的字節大小。
的定義uintmax_t
從C99§7.18.1.5(它包括在C ++通過標准參考):
以下類型指定無符號整數類型,能夠表示任何無符號整數類型的任何值:
uintmax_t
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.