4

size_tはC++標準またはC標準のみですか?

size_tを定義する「/usr/include」ツリーにCヘッダーが見つかりません。

それがCstdにない場合、GCCは物事を機能させるために魔法をかけているだけですか?

ありがとう、チェンツ

4

6 に答える 6

5

size_t<stddef.h>との両方で定義されています<stdlib.h>

于 2010-03-30T18:29:48.560 に答える
4

C99ドラフトから:

7.17一般的な定義<stddef.h>

  1. 次のタイプとマクロは、標準ヘッダーで定義されています<stddef.h>。それぞれの副次句に記載されているように、一部は他のヘッダーでも定義されています。

  2. タイプは[ -snip- ]です

    size_t
    

    これは、sizeof演算子の結果の符号なし整数型です。[-スニップ-]

于 2010-03-30T18:37:22.113 に答える
2

size_tはC標準ライブラリからのものです

それはで宣言されています

#include <stddef.h>  //For C
#include <cstddef>   //For C++
于 2010-03-30T18:30:55.957 に答える
1

$grep -R -P "typedef.*\s+size_t;" /usr/include/ 2> /dev/null

size_tを定義するファイルのリストが表示されます

于 2012-03-04T16:51:10.457 に答える
0

size_tは、 Cの場合はstdlib.h(C ++の場合はcstdlib.h)にあります。

于 2010-03-30T18:29:59.847 に答える
0

これは、ansicのstring.hで定義されています。

于 2010-03-30T18:30:45.937 に答える