c ++成员类型

时间:2016-10-04 05:12:12

标签: c++

这个问题来自与我刚问过的c++ regex相关的问题。

在线cpp参考资料,例如match_results,“会员类型”部分中的value_type是什么意思?这是定义类的一些标准方法吗?如何阅读整个“会员类型”部分?

1 个答案:

答案 0 :(得分:1)

成员类型只是typedef(或有时是完整的类),对于使用和/或以某种方式与类本身相关是有用的。

当您询问有关成员类型的一般情况时,我们以std::vector为例:

template < class T, class Alloc = allocator<T> > class vector;  

这是一个类型为T的模板(和分配器无关)。

现在,std::vector包含成员类型std::vector::value_type,它始终定义为与T相同的类型。例如vector<int>std::vector::value_typeint相同,您可以使用它来定义新变量等。
类似地,有pointerreference以及其他一些可以解析为int*int&的内容。

然后,有size_type,它定义了一个适合保存所有可能的向量长度值的变量......因为例如。它在X86和X64上通常是不同的(对于某些类,它可以取决于实现,而且......),有这样的东西很有用。

等等......