假设我有一个std::vector
of std::string
s。
// Foo.h
class Foo {
std::vector< std::string > mVectorOfFiles;
}
然后我typedef
把它变成了一个StringVector
类型。
// Foo.h
typedef std::vector< std::string > StringVector;
class Foo {
StringVector mVectorOfFiles;
}
如果我有另一个需要一个StringVector
对象的类......
// Bar.h
class Bar {
Bar( const StringVector & pVectorOfFiles ); // I assume this produces a compile error (?) since Bar has no idea what a StringVector is
}
...我必须typedef
在头文件中再次使用Bar
吗?
// Bar.h
typedef std::string< std::vector > StringVector;
class Bar {
Bar( StringVector pListOfFiles );
}
是否可以将其typedef std::vector< std::string > StringVector
放在一个文件中并让其他所有类都知道该类型StringVector
?