我是C++的初学者,对这些语句有疑问。这些C++语句的含义是什么typedef向量<double> :: size_type
vector<double> vec1;
typedef vector<double>::size_type vec_size
vec_size size = vec1.size()
从问题, C++: "vector<int>::size_type variable" - what is the point of declaring in this way?,据我所知,size::type
拥有最大的可能向量的大小。我很困惑什么类型是size::type
- 它是一个函数,变量等?使用typedefvec_size
相当于vector<double>::size_type
。所以第三行变成
vector<double>::size_type size = vec1.size()
这对我来说很混乱。什么是型号变量size
?
如果有人用简体中文进行评论,这将会非常有帮助。
'size_type'是一个无符号整数类型。提供该typedef的全部意义在于,您不必知道实现使用的确切类型。这就是说,它很可能是'size_t'。 – Praetorian
增加了Praetorian所说的Containers :: size_type。所有容器都有与size_t相关的size_type。它不只是矢量。它在处理算法和排序时很方便。看看有效的STL,相当不错的书 – TimLayne