【发布时间】:2017-02-22 21:23:36
【问题描述】:
所以我有一个带有静态向量成员的类:
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;
我在这里遗漏的基本概念是什么?
编辑
重点是,在继续为它声明 size_type 之前,我是否应该总是回来查看将 MyVector 声明为 vector 的声明?
【问题讨论】:
-
你之前在任何更简单的上试过这个吗?
std::string s; s::size_type n; // ??? -
为什么你的眼睛看起来不漂亮?
-
@OnurA。因为我需要滚动到班级才能看到 MyVector 的声明
-
@Sourena 然后您只需在 C++11 中使用
using MyVector = vector<Bar>;或在以前的 C++ 版本中使用typedef vector<Bar> MyVector;定义它,因此无论何时键入 MyVector 您都不必滚动回类实际声明