0

嗨,我有一个大约 500 个字符串的数组。我班级中的多个函数使用此变量。我显然不想在整个程序中多次初始化该数组。将它初始化一次并能够在整个班级中使用它的最有效方法是什么?

这是我的意思的一个例子:

SomeClass.h:

class SomeClass {
   public:
        static const std::string large_list[];
   private:
        void someFunc();
        void someFunc2();
        void someFunc3();
}

SomeClass.cpp:

void SomeClass::someFunc1(){
        static std::string large_list[] = {"something", "somethingelse", "somethingelse1"...};
        //do something with the large_list
   }

    void SomeClass::someFunc2(){
        static std::string large_list[] = {"something", "somethingelse", "somethingelse1"...};
        //do something with the large_list
   }

    void SomeClass::someFunc3(){
        static std::string large_list[] = {"something", "somethingelse", "somethingelse1"...};
        //do something with the large_list
   }

谢谢。

4

1 回答 1

1

您可以使用以下类内初始化(注意我没有使用std::string,因为它的构造函数不是constexpr):

class SomeClass {
   public:
        static constexpr const char* large_list[] = {"something", "somethingelse", "somethingelse1"};
};
于 2013-05-24T03:01:09.893 回答