Я новичок в C ++ и, следовательно, плохо знаком с концепцией и использованием интеллектуальных указателей.Я хочу динамически распределять память для структуры в функции, а затем, как только получатель завершит работу с этой памятью.Я хочу, чтобы уникальный (не общий) приемник безопасно освободил память.Примерно так:
typedef struct {
int x;
int y;
} myStruct;
myStruct* initMem(void)
{
myStruct* result = new myStruct();
result->x = 12;
result->y = 14;
return result;
}
int main()
{
cout << ">>>>> Main | STARTED <<<<<" << endl;
myStruct* w = initMem();
cout << w->x << endl;
cout << w->y << endl;
delete w;
return 1;
}
Примечание. Выше приведен лишь пример того, чего я хочу достичь.Структуры намного сложнее, и я должен использовать только динамическое выделение памяти.
Я читал, что играть с необработанными указателями в C ++ для динамического управления памятью не очень хорошо, поскольку в C ++ есть концепция интеллектуальных указателей, особенно дляэтот.Не могли бы вы помочь мне в преобразовании вышеупомянутой логики в использование умных указателей.
Заранее спасибо.