C ++ std :: unique_ptr для typedef?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++ std :: unique_ptr для typedef?

Сообщение Anonymous »

Я прохожу онлайн -курс, и я не совсем понял сегодняшний урок. Должен ли я использовать 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»