Я хочу сохранить объект, которому дано определенное имя.Структура данных, которая хранит объект с именами
Я хотел использовать struct
, а затем хранить их в vector
, но мне было предложено, чтобы я использовал другую структуру данных, немного более простую, но я не могу найти ее.
Мой текущий ("комплекс") Решение:
//in header file
struct objStorage{
Classname obj;
string name;
};
vector<objStorage> vec;
//in constructor
objStorage firstObj;
firstObj.obj = new Classname();
firstObj.name = "foo";
vec.push_back(firstObj);
Есть более простое решение (структура данных)?
Я должен добавить, что мне не нужна структура после того, как я сохранил (скопировал?) Ее в векторе, потому что все это происходит в другом классе (конструкторе), поэтому я не хочу никаких проблем при вызове конструктора много раз.
Как вы хотите это использовать? Посмотрите вещи по имени? Перечислите их в порядке имени? Также вы устанавливаете 'obj'' new Classname' и '' foo '' - поэтому это не будет компилироваться. И кто удаляет 'new Classname()'? – doctorlove
Мне нужно посмотреть их по имени позже, да. Я имел в виду firstobject, я отредактирую это. Деструктор заботится о удалении имени класса – TheGuyWithStreetCred
Почему бы вам не пойти на хэш-карту? Это не риторический вопрос, я хочу знать, есть ли какое-то специальное требование, из-за которого вы не можете его использовать. –