C++中的vector <int> :: size_type

Sim*_*ity 49 c++ vector size-type

这个C++语句是什么意思?

vector<int>::size_type x;
Run Code Online (Sandbox Code Playgroud)

而且,范围运算符::在这里的用途是什么?换句话说,我们如何用英语阅读这个陈述?

例如,对于X::x(){...}我们说x()member functionclass X.

fre*_*low 62

size_type类型(静态)成员类型vector<int>.通常,它是一个typedeffor std::size_t,它本身通常是typedeffor unsigned intunsigned long long.

  • 这种'通常'有什么例外?即,什么时候不寻常? (7认同)
  • "通常"意味着标准没有指定它,但这是流行的实现选择做的.实际上,我知道一个"例外".Linux glibc在x86_64平台上使用`unsigned long`作为`size_t`. (2认同)

unw*_*ind 24

我会把它读作"将x声明为适合保持向量大小的类型的变量".矢量定义了自己的类型,它的长度,它总是干净的使用,如果可能的话,而不是"猜测"和使用int,unsigned int,long,unsigned longsize_t等直接作为否则你需要做的.

  • @ user588855:是的,必须使用全名.vector <int>可能是一个专用模板,其size_type与vector <std :: string> :: size_type不同. (4认同)

T33*_*33C 5

矢量是一个模板

所以vector模板化的类型int有一个typedef名为size_type. x被定义为该类型的变量。