繁体   English   中英

矢量<int> :: C++ 中的大小类型

[英]vector<int>::size_type in C++

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

vector<int>::size_type x;

而且,这里的作用域运算符::什么用? 换句话说,我们如何用英语阅读这个声明?

例如,对于X::x(){...} ,我们说x()class Xmember function

size_typevector<int>类型(静态)成员类型 通常,它是std::size_ttypedef ,它本身通常是unsigned intunsigned long longtypedef

我将其读作“将 x 声明为适合保存向量大小的类型的变量”。 向量为其长度定义了自己的类型,如果可能的话,使用它总是最干净的,而不是“猜测”并直接使用intunsigned intlongunsigned longsize_t等,否则你需要这样做。

矢量是一个模板

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

不同的实现使用不同的类型来表示大小,因此我们不能直接编写适当的类型并保持与实现无关。 因此,使用库定义的 size_type 来表示容器大小是一种很好的编程习惯。

- Andrew Koenig 和 Barbara E. Moo 的加速 C++

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM