这个C ++语句是什么意思?
vector<int>::size_type x;
并且,范围运算符::
在这里的用途是什么?换句话说,我们如何用英语阅读这个陈述?
例如,对于X::x(){...}
,我们说x()
是member function
的{{1}}。
答案 0 :(得分:61)
size_type
是vector<int>
类型的(静态)成员类型。通常,typedef
为std::size_t
,typedef
或unsigned int
通常为unsigned long long
。
答案 1 :(得分:23)
我会把它读作“将x声明为适合保持向量大小的类型的变量”。向量为其长度定义了自己的类型,如果可能的话,它总是最干净的,而不是“猜测”并使用int
,unsigned int
,long
,unsigned long
或者size_t
等直接,否则你需要这样做。
答案 2 :(得分:3)
vector是一个模板
因此,使用vector
模板化的int
类型的成员typedef
名为size_type
。 x
被定义为该类型的变量。
答案 3 :(得分:0)
不同的实现使用不同的类型来表示大小,因此 我们不能直接编写适当的类型并保留 与实现无关。因此,这是很好的编程 练习使用库定义的size_type表示 容器尺寸。
-Andrew Koenig和Barbara E. Moo加速的C ++