名前空間
変種
操作

std::size_t

提供: cppreference.com
< cpp‎ | types
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
型サポート
型の性質
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(C++20未満)
(C++11)(C++20で非推奨)
(C++11)
型特性定数
メタ関数
(C++17)
定数評価文脈
サポートされている操作
関係と性質の問い合わせ
型変更
型変換
(C++11)
(C++11)
(C++17)
(C++11)(C++20未満)(C++17)
 
ヘッダ <cstddef> で定義
ヘッダ <cstdio> で定義
ヘッダ <cstdlib> で定義
ヘッダ <cstring> で定義
ヘッダ <ctime> で定義
ヘッダ <cwchar> で定義
typedef/*implementation-defined*/ size_t;

std::size_tsizeof 演算子sizeof... 演算子および alignof 演算子(C++11以上)の結果の符号なし整数型です。

[編集]ノート

std::size_t はあらゆる型 (配列を含む) の理論上可能なオブジェクトの最大サイズを格納できます。 サイズが std::size_t で表せない型は ill-formed です。(C++14以上) 多くのプラットフォームでは (例外はセグメント化されたアドレスを持つシステムです)、 std::size_t は任意の非メンバのポインタの値を安全に格納できます。 その場合 std::size_tstd::uintptr_t の同義語です。

std::size_t は一般的に配列のインデックスやループカウンタのために使用されます。 配列のインデックスに unsignedint などの他の型を使用するプログラムは、例えば64ビットのシステムにおいて、インデックスが UINT_MAX を超えるとき、または32ビットの剰余算術をあてにしている場合、失敗するかもしれません。

std::stringstd::vector などの C++ のコンテナをインデックスするとき、適切な型はそれらのコンテナが提供するメンバ型 size_type です。 これは通常 std::size_t の同義語として定義されます。

[編集]

#include <cstddef>#include <iostream>#include <array>   int main(){std::array<std::size_t,10> a;for(std::size_t i =0; i != a.size();++i) a[i]= i;for(std::size_t i = a.size()-1; i < a.size();--i)std::cout<< a[i]<<" ";}

出力:

9 8 7 6 5 4 3 2 1 0

[編集]関連項目

2つのポインタを減算したとき返される符号付き整数型
(typedef)[edit]
標準レイアウト型の先頭から指定されたメンバまでのバイトオフセット
(関数マクロ)[edit]
close