size_t にはどのヘッダーを含めるべきですか? 質問する

size_t にはどのヘッダーを含めるべきですか? 質問する

によると翻訳元 size_tいくつかのヘッダーで定義されています。

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

そして、C++11以降では、

<cstdlib>
<cwchar> 

まず、なぜそうなるのか疑問に思います。これはドライ原理?

上記のヘッダーのどれを使用すればいいですかsize_t? それは重要ですか?

ベストアンサー1

インポートする関数と型を最小限に抑えたい場合、cstddef関数を宣言せず、6 つの型のみを宣言する を使用します。他のものは、あなたにとって重要ではない可能性のある特定のドメイン (文字列、時間、IO) に重点を置いています。

は を定義すること、つまり名前空間 で を定義することcstddefを保証するだけであることに注意してください。std::size_tsize_tstd5月この名前をグローバル名前空間でも指定します (実質的にはプレーンsize_t)。

対照的に、stddef.h(これもCで利用可能なヘッダーです)はsize_tグローバル名前空間で定義されることを保証し、5月も提供しますstd::size_t

おすすめ記事