C++ 在c+中创建字符串的枚举/结构+;

C++ 在c+中创建字符串的枚举/结构+;,c++,string,struct,enums,C++,String,Struct,Enums,下午好 < >我正在寻找一种方法来实例化并定义C++中的一组不同的字符串变量,并将它们分组为一个数据结构,非常像枚举数据类型,但具有字符串。 P>在C++中有一个很好的方法来做这件事,我不是在寻找创建一个字符串数组,而是希望每个都有一个单独的名字,以及一个父数据结构。 这就是我正在努力实现的目标 somestructuretype MyData { string alpha = "this is string A"; string bravo = "this is string

下午好

< >我正在寻找一种方法来实例化并定义C++中的一组不同的字符串变量,并将它们分组为一个数据结构,非常像枚举数据类型,但具有字符串。

<> P>在C++中有一个很好的方法来做这件事,我不是在寻找创建一个字符串数组,而是希望每个都有一个单独的名字,以及一个父数据结构。 这就是我正在努力实现的目标

somestructuretype MyData {
    string alpha = "this is string A";
    string bravo = "this is string B";
    string charlie = "this is string C";
};
所以我可以这样调用这些字符串:

字符串temp=MyData.alpha

我知道这在c中是可能的,这在c中是可能的吗++

谢谢,
-只需初始化构造函数中的值

somestructuretype{
   string alpha, bravo, charlie;

   somestructuretype(){
      alpha = "this is string A";
      bravo = "this is string B";
      charlie = "this is string C";
   };
};

但是请注意,在使用它们之前,您必须创建一个
somestructuretype
对象。如果您不希望这样,请将它们声明为
静态

只需初始化构造函数中的值即可

somestructuretype{
   string alpha, bravo, charlie;

   somestructuretype(){
      alpha = "this is string A";
      bravo = "this is string B";
      charlie = "this is string C";
   };
};

但是请注意,在使用它们之前,您必须创建一个
somestructuretype
对象。如果您不希望这样,请将它们声明为
静态

我相信您正在寻找的是一种组织一组相关字符串的方法。您可以考虑使用命名空间,而不是寻找数据结构。 例如:

namespace MyData {
    static const string alpha = "this is string A";
    static const string bravo = "this is string B";
    static const string charlie = "this is string C";
};
您可以通过以下方式访问它:

string temp = MyData::alpha;

我相信你想要的是一种组织一组相关字符串的方法。您可以考虑使用命名空间,而不是寻找数据结构。 例如:

namespace MyData {
    static const string alpha = "this is string A";
    static const string bravo = "this is string B";
    static const string charlie = "this is string C";
};
您可以通过以下方式访问它:

string temp = MyData::alpha;

是否需要将它们一起传递(例如,如果您计划为其字段传递多个具有不同值的类似结构)?是否需要将它们一起传递(例如,如果您计划为其字段传递多个具有不同值的类似结构)?+1值得注意的是,当字符串将在单个翻译单元中使用时,所示的
静态
方法非常有用,但是如果您希望它们跨多个稍后链接的翻译单元使用,则需要在标题中使用非
静态
声明,而不使用构造函数值,还有一个单独的实现文件,用变量的值定义变量…+1值得注意的是,当字符串用于单个翻译单元时,所示的
静态
方法非常有用,但如果您希望在多个翻译单元中使用它们,稍后将链接这些转换单元,您希望在头中有一个非
静态
声明,其中不包含构造函数值,还需要一个单独的实现文件,用它们的值定义变量。。。。