このC++ステートメントは何を意味していますか?ベクトル<int> :: size_type in C++
vector<int>::size_type x;
そして、ここではスコープオペレータ::
の使用は何ですか?言い換えれば、私たちはこの声明をどのように英語で読むのですか?
たとえば、X::x(){...}
の場合、は、member function
がclass X
であると言います。
このC++ステートメントは何を意味していますか?ベクトル<int> :: size_type in C++
vector<int>::size_type x;
そして、ここではスコープオペレータ::
の使用は何ですか?言い換えれば、私たちはこの声明をどのように英語で読むのですか?
たとえば、X::x(){...}
の場合、は、member function
がclass X
であると言います。
size_type
は、タイプvector<int>
の(静的)メンバータイプです。通常はstd::size_t
の場合はtypedef
であり、それ自体はunsigned int
またはunsigned long long
の場合通常typedef
です。
ベクターはそうint
とテンプレートvector
タイプsize_type
と呼ばれる部材typedef
を有するテンプレート
あります。 x
は、そのタイプの変数として定義されます。
私はそれを "ベクトルの大きさを保持するのに適した型の変数として宣言する"と読んでいます。ベクターは、その長さに対して独自のタイプを定義しています。可能であれば、「推測」ではなく、他の方法で直接行う必要がある場合と同じように、常にint
、unsigned int
、long
、unsigned long
またはsize_t
などを直接使用するのが最もクリーンです。
この部分には「ベクトル
@ user588855:はい、フルネームを使用する必要があります。ベクトル
ベクトル
「通常」の例外は何ですか?それは珍しい時でしょうか? – ibrahim5253
"通常"は、標準では指定されていないが、これは一般的な実装が選択したものです。実際、私は「例外」を知っています。 Linux glibcは、x86_64プラットフォームで 'size_t'に' unsigned long'を使用しています。 – proski