关于c ++:cpp文件中的静态向量初始化

Static vector initialization in cpp file

本问题已经有最佳答案,请猛点这里访问。

我有个问题,我在class中的.h文件中声明了staticstringvector

.h文件

1
static std::vector<std::string> VHDSigBuffer;

如何在我的class文件中使用这个vector函数实现?


my_class.h头段中

1
2
3
4
5
6
class my_class
{  
public:
   // Declaration
   static std::vector<std::string> VHDSigBuffer;
};

my_class.cpp实施中

1
2
// Definition
std::vector<std::string> my_class::VHDSigBuffer;

现在您可以自由使用my_class::VHDSigBuffer


如果我明白你说的对,

如果你想在它自己的类中使用这个向量,你可以作为VHDSigBuffer访问它,或者如果你想在另一个类中使用它,你可以作为youClass::VHDSigBuffer访问它。


您需要在cpp文件中实例化它,并使用如下行:

1
std::vector<std::string> MyClass::VHDSigBuffer;

这一行将在cpp文件中的任何函数定义之外。