gpt4 book ai didi

c++ - size_t 是否与 ptrdiff_t 具有相同的大小和对齐方式?

转载 作者:行者123 更新时间:2023-12-01 12:41:50 29 4
gpt4 key购买 nike

在我的平台上(以及我认为的大多数平台上)std::size_tstd::ptrdiff_t具有相同的大小和相同的对齐方式。有没有哪个平台不是真的?简而言之:标准是否要求?

最佳答案

In short: is it required by the standard?



不。唯一的要求来自 [support.types.layout]/2它是:

The type ptrdiff_­t is an implementation-defined signed integer type that can hold the difference of two subscripts in an array object, as described in [expr.add].



paragraph 4

[ Note: It is recommended that implementations choose types for ptrdiff_­t and size_­t whose integer conversion ranks are no greater than that of signed long int unless a larger size is necessary to contain all the possible values. — end note ]



但注释是非规范性的,它只是一个建议,而不是一个要求。
std::size_t被定义为

The type size_­t is an implementation-defined unsigned integer type that is large enough to contain the size in bytes of any object ([expr.sizeof]).



paragraph 3并且它也没有要求它们是相同的。

关于c++ - size_t 是否与 ptrdiff_t 具有相同的大小和对齐方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61935876/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com