C++ 请给我解释两行 typedef向量::size_type向量_sz; vec_sz size=家庭作业.size();
如果您了解STL容器的基本知识,那么这些是老师给您的测试示例行。typedefdefines atype,因此您可以使用这个新名称,而不是较长的旧名称,至少在本例中是这样。然后定义一个变量大小,它的类型是刚刚定义的类型。最后,将此大小变量的值设置为家庭作业对象的大小,可能也是一个向量。C++ 请给我解释两行 typedef向量::size_type向量_sz; vec_sz size=家庭作业.size();,c++,C++,如果您了解STL容器的基本知识,那么这些是老师给您的测试示例行。typedefdefines atype,因此您可以使用这个新名称,而不是较长的旧名称,至少在本例中是这样。然后定义一个变量大小,它的类型是刚刚定义的类型。最后,将此大小变量的值设置为家庭作业对象的大小,可能也是一个向量。vector::size\u type已被定义为一个整数类型(这表示“如果我有一个‘double’元素的向量,你会用什么来表示它的大小?” 将其进一步定义为vec_sz有助于缩短类型名称。因此 typedef ve
vector::size\u type
已被定义为一个整数类型(这表示“如果我有一个‘double’元素的向量,你会用什么来表示它的大小?”
将其进一步定义为vec_sz
有助于缩短类型名称。因此
typedef vector<double>::size_type vec_sz;
vec_sz size = homework.size();
相当于:
vec_sz size;
vector::size_type
类型的第一行。typedef
关键字通常用于生成“新”数据类型名称,这些名称通常比原始名称短,或者对于给定的应用程序具有更清晰的名称
第二行应该是自解释的。类向量为
size\u type
发布了typedef
。第一行将其重新定义为较短的符号vec\u sz
向量
还定义了一个成员函数size()
返回size\u type
好的,在vector的声明中,您会发现:
typedef unsigned int size_type;(它实际上取决于您的实现,因此可能不是unsigned int)
现在在向量中有一个size_类型
“typedef vector::size_type vec_sz;”现在将与以下内容相同:
typedef unsigned int vec_sz
现在“vector::size_type”是“unsigned int”的同义词,请记住size_type是一个类型,而不是一个变量
vec_sz size=家庭作业.size()
等于:
vector::size_type size=家庭作业.size()
Wich等于:
unsigned int size=家庭作业.size()
希望能很清楚:P</P>代码是从书中提炼出来的C++,3.2.2生成输出,不是来自作业。看起来像一个家庭作业相关的问题,向量名“作业”给了我这样的印象。
vector<double>::size_type size;
unsigned long size;