Я прохожу онлайн -курс, и я не совсем понял сегодняшний урок. Должен ли я использовать unique_ptr для typedef? Какова была бы разница между 3 вариантами, и какие из них предпочтительнее, учитывая, что эта карта будет содержать довольно много элементов, и я ищу лучший вариант с объяснением, если это возможно, спасибо, я действительно ценю. < /P>
typedef struct SData
{
int age;
char name[256 + 1];
} TData;
< /code>
1: < /p>
std::map myMap;
auto student = std::make_unique();
student->age = 29;
std::memset(student->name, 0, sizeof(student->name));
strlcpy(student->name, "Chris", sizeof(student->name) - 1);
myMap.emplace(1, std::move(student));
< /code>
2: < /p>
std::map myMap;
TData d;
d.age = 29;
std::memset(d.name, 0, sizeof(d.name));
strlcpy(d.name, "Chris", sizeof(d.name) - 1);
myMap.emplace(std::make_pair(1, std::move(d)));
< /code>
3: < /p>
std::map myMap;
TData d;
d.age = 29;
std::memset(d.name, 0, sizeof(d.name));
strlcpy(d.name, "Chris", sizeof(d.name) - 1);
myMap.insert(std::make_pair(1, d));
Подробнее здесь: https://stackoverflow.com/questions/795 ... -a-typedef