Я работаю над устаревшим кодом, есть класс A, для которого определен член enum, подобный этому
class A
{
private:
enum E{ kRemove, kDoNotRemove};
static map<String, MapValue> s_Map; //this map I am trying to add
}
Я пытаюсь добавить карту в этом классе, которая будет иметь структуру в качестве значениячто-то вроде этого
struct MapValue{
E e; //this enum is defined in private section in the class
String T;
String F;
} ;
Что я не могу понять, где я должен определить эту структуру MapValue?
Мое понимание:
- Если я добавлю его внутрьclass Всякий раз, когда я буду создавать объект, будет выделена структура var.Это бесполезно, так как я использую эту структуру только в качестве значения для карты.Кроме того, это не тот случай, когда мне нужна только одна копия этой структуры, поскольку я использую ее в качестве значения на карте.
- Если я добавлю ее вне класса, это не будет хорошим дизайном, так какСтруктура только внутри класса, поэтому она не должна быть глобальной.Также структура имеет член enum, который определен как закрытый в классе, поэтому он недоступен за пределами класса.
Пожалуйста, предложите.