静态向量成员变量

时间:2017-02-22 12:57:04

标签: c++ vector static

所以我有一个带有静态向量成员的类:

class Foo {
// some private members
public:
static vector<Bar> MyVector;
};

现在我在实际使用之前初始化MyVector:

std::vector<Bar> Foo::MyVector;

然后我想在main()中定义一个这样的变量,但它似乎不起作用:

Foo::MyVector::size_type t; 

这种解决方法确实有效,但看起来并不漂亮(我的眼睛):

vector<Bar>::size_type t;

我在这里失踪的基本概念是什么?

修改

重点是,我是否应该总是回来看 MyVector 的声明为 vector&lt;在继续为它声明size_type之前,请先&gt;

2 个答案:

答案 0 :(得分:7)

这不是解决方法。 MyVector是对象。 vector<Bar>是类型。 size_typevector类中的typedef,而不是成员变量。

答案 1 :(得分:0)

size_typestd::vector中声明的类型。它与类绑定,而不是单个实例。此外,::运算符仅用于名称空间和类。您不能将它与变量一起使用。