Ну меня заверили в том, что лучше везде где можно использовать контейнеры.
подозреваю, заверили именно потому, чтоб не выделять память вручную и не иметь проблем с утечками.
Я хочу сначала разобраться как работает new / delete досконально, а уже потом перейти к умным указателям и шаблонам.
похвально. разбирайтесь.
О, это разговор на несколько (десятков) часов
Ну обычный массив в Си бы выглядел так: type* ptr = (type*)calloc(len, sizeof(type)); free(ptr); Что как бы жесть как неудобно.
Могу порекомендовать ravesli, там довольно подробно для новичка расписано
Могу порекомендовать книгу Липпмана. У него неплохо, для начала, описаны эти операторы и их перегрузки, даже есть про std::allocator
Ачо так. Лучше бы сразу malloc хреначил)
auto v = (some_virtual_class*)malloc(sizeof(some_virtual_class)); v->some_virtual_func();
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Это показывает, что человек не может быть полностью злым или добрым
Обычный Сишный код (ну не считая того, что это класс с функциями)
(и виртуальными таблицами, только тссс)
Обычный сишный код, не считая того, что это почти на каждой лексеме плюсовый код
А auto это просто макрос
Не души
Кстати, зачем здесь auto, если тут будет вполне конкретный some_virtual_class *
Потому что влом писать
Затем, что это дублирование вполне конкретных и очевидных вещей
Читаемость кода в приоритете потому что
А malloc и приведение типа — нет.
Это уже вопрос не читаемости, а архитектуры
Я думал auto нужно использовать только при работе с перегруженными функциями, которые непонятно что вернут.
И в лямбдах. И в non-type параметрах шаблона
С++ - статически типизируемый язык. В нем всегда конкретно известно, какой тип вернёт функция (и вообще всегда известен каждый тип). Если возвращаемое значение написано как auto, то компилятор по реализации функции поймет, какой тип она возвращает.
Насколько я знаю писать авто - это зло?
Ты плохо понимаешь
Мейерс думает по-другому.
У меня на работе всем плевать на мейерса :( Даже итераторы контейнеров, пары и туплы в лучшем случае пишут через typedef'ы...
Deprecated коллектив
Обсуждают сегодня