Ответ 1
size_type
является (статическим) типом элемента типа vector<int>
. Обычно это typedef
для std::size_t
, который сам обычно равен typedef
для unsigned int
или unsigned long long
.
Что подразумевается под этим оператором С++?
vector<int>::size_type x;
И что здесь используется оператор scope ::
? Другими словами, как мы читаем это выражение на английском языке?
Например, для X::x(){...}
мы говорим, что x()
является member function
of class X
.
size_type
является (статическим) типом элемента типа vector<int>
. Обычно это typedef
для std::size_t
, который сам обычно равен typedef
для unsigned int
или unsigned long long
.
Я бы прочитал его как "объявить x как переменную типа, подходящего для хранения размера вектора". Вектор определяет свой собственный тип для своей длины, и всегда полезно использовать это, если возможно, вместо "угадывания" и использования int
, unsigned int
, long
, unsigned long
или size_t
и т.д. Непосредственно, так как вы 'd в противном случае необходимо сделать.
вектор - это шаблон
поэтому тип vector
с шаблоном int
имеет член typedef
, называемый size_type
. x
определяется как переменная этого типа.