gpt4 book ai didi

c++ - 我应该为 `size_t` 包含哪个 header ?

转载 作者:IT老高 更新时间:2023-10-28 12:05:15 27 4
gpt4 key购买 nike

根据cppreference.com size_t 定义在几个头文件中,即

<cstddef>
<cstdio>
<cstring>
<ctime>

而且,从 C++11 开始,也在

<cstdlib>
<cwchar>

首先,我想知道为什么会这样。这与 DRY 不矛盾吗?原理?

在使用 size_t 时,我应该包含上述哪个 header ?有关系吗?

最佳答案

假设我想最小化我要导入的函数和类型,我会选择 cstddef,因为它不声明任何函数,只声明 6 种类型。其他人专注于对您而言可能无关紧要的特定领域(字符串、时间、IO)。

注意cstddef只保证定义std::size_t,即在命名空间std中定义size_t >,尽管它可能在全局命名空间中也提供此名称(实际上是普通的 size_t)。

相比之下,stddef.h(也是 C 中可用的 header )保证在全局命名空间中定义 size_t,并且 可以 还提供std::size_t

关于c++ - 我应该为 `size_t` 包含哪个 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36594569/

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