Страницы

Поиск по вопросам

вторник, 2 октября 2018 г.

Выделение памяти типа auto

Почему данная строка не вызывает у разработчиков стандарта казуса?
auto p = new auto(42);


Ответ

Есть четыре вида длительности хранения памяти под объект (storage duration), и соответственно четыре способа создать объект:
статическая, static T variable(expression) потока, thread_local T variable(expression) автоматическая, T variable(expression) динамическая, new T(expression)
Было бы странно, если бы вывод типов работал бы только для первых трех способов, но не работал бы для динамически выделяемой памяти.

Комментариев нет:

Отправить комментарий