向量<;int>;::C和x2B中的U型尺寸+; 这个C++语句是什么意思?< /P> vector<int>::size_type x; vector::size\u类型x;
还有,作用域操作符向量<;int>;::C和x2B中的U型尺寸+; 这个C++语句是什么意思?< /P> vector<int>::size_type x; vector::size\u类型x;,c++,vector,size-type,C++,Vector,Size Type,还有,作用域操作符:在这里有什么用途?换言之,我们如何用英语阅读这份声明 例如,对于X::X(){…},我们说X()是类X的成员函数size\u类型是向量类型的(静态)成员类型。通常,它是std::size\u t的typedef,它本身通常是typedef的unsigned int或unsigned long向量是一个模板 因此,以int为模板的vector类型有一个名为size\u type的成员typedefx被定义为该类型的变量。我将其理解为“将x声明为适合保存向量大小的变量类型”。向量
:
在这里有什么用途?换言之,我们如何用英语阅读这份声明
例如,对于
X::X(){…}
,我们说X()
是类X的成员函数
size\u类型
是向量
类型的(静态)成员类型。通常,它是std::size\u t
的typedef
,它本身通常是typedef
的unsigned int
或unsigned long
向量是一个模板
因此,以int
为模板的vector
类型有一个名为size\u type
的成员typedef
x
被定义为该类型的变量。我将其理解为“将x声明为适合保存向量大小的变量类型”。向量为其长度定义了自己的类型,如果可能的话,使用它总是最干净的,而不是像您需要做的那样直接“猜测”和使用int
、unsigned int
、long
、unsigned long
或size\t
等
不同的实现使用不同的类型来表示大小,因此
我们不能直接编写适当的类型并保留
独立于实现。因此,这是一个很好的编程
练习使用库定义为表示的大小\类型
容器大小
加速安德鲁·克尼格和Barbara E. Moo
的C++,是否需要包含这个部分<代码>向量< /代码>?我们如何将x
定义为向量本身定义的size\u类型
?Thanks@user588855:是,必须使用全名。向量可能是一个特殊的模板,其大小类型不同于例如向量::大小类型。在向量::大小类型
的情况下,大小不是int
?当你说在这种情况下,size\u type
可能不同时,你是什么意思?当你说<代码>声明x是一个变量,它适合于保持向量的大小<代码>时,我们能说一个适合于保持C++应用程序中最大对象的大小的<代码> <代码>吗?谢谢“通常”有什么例外?也就是说,当它不寻常时,“通常”意味着标准没有指定它,但这是流行的实现所选择的。事实上,我知道一个“例外”。Linux glibc在x86\u 64平台上对size\t
使用unsigned long
。