静的と宣言されたコンテナーを持つクラスがあります。
class test {
public:
test(const ClassA& aRef, const std::string& token);
test(const test& src);
~test();
private:
ClassA& m_ObjRef;
static std::vector<std::string> s_toks;
};
s_toks コンテナーは、test.cpp で定義されたコンストラクターで次のように初期化されます。
std::vector<std::string> test::s_toks;
test::test(const ClassA& aRef, const std::string& token)
: m_ObjRef(aRef)
{
my_tokenize_function(token, s_toks);
}
test::test(const test& src)
: m_ObjRef(src.m_ObjRef)
{
/* What happens to s_toks; */
}
s_toks をコピーせず、新しくコピーしたオブジェクトから s_toks にアクセスすると、空になります。これを処理する正しい方法は何ですか?