1. ホーム
  2. c++

[解決済み] size_tの定義はどこにあるのですか?

2022-06-01 06:49:52

質問

この型で定義された変数を見かけますが、どこから来たのか、何のためにあるのかわかりません。intやunsigned intではだめなのでしょうか? (他の似たような型(Void_tなど)はどうなのでしょうか?

どのように解決するのですか?

から ウィキペディア

<ブロッククオート

stdlib.hstddef.h というデータ型を定義しています。 size_t 1 これはオブジェクトの大きさを表すのに使われます。サイズを受け取るライブラリ関数は、サイズが size_t と評価され、 sizeof 演算子は size_t .

の実際の型は size_t はプラットフォーム依存です。よくある間違いは size_t が unsigned int と同じであると仮定することです。これはプログラミングのエラーにつながる可能性があります。 2 特に 64 ビット アーキテクチャがより一般的になると、プログラミング エラーを引き起こす可能性があります。

より C99 7.17.1/2

標準ヘッダには、以下の型とマクロが定義されています。 stddef.h

<snip>

size_t

は sizeof 演算子の結果の符号なし整数型です。