в каком плане лучше?
Ты путаешь операцию new и функцию operator new
Ну, например, malloc() не вызывает конструктор.
new всегда возвращает валидный указатель, а malloc может nullptr вернуть
new так же может швырнуть std::bad_alloc
Ну и? Указатель-то не надо проверять
Ну дак всё равно bad pointer не вернётся
Не обязательно.
В смысле? Если в тебя кинули эксепшен, то у тебя уже другие проблемы
Если мне кинули исключение, то я уже понимаю что этот указатель юзать не стоит.
Чувак, пойдет он рано или поздно работать, дадут ему легаси код, скажем на пике. и гцц 3.4 который не могет в С99 и без плюсов, он будет немного сдержаннее не переживай. все были молодыми, мол надо все новое, блестящее...
Нет, спасибо, я откажусь от таких условий работы :)
Зачем идти на работу, где легаси код и гцц 3.4 ?)
Было у меня и легаси, быстро надоело, уволился.
Человеку нравится страдать
И да, я уже ходил работать, на лето Писал на С++20 :)
Если тебе кинули исключение то у тебя нет никакого указателя, ты его никак даже использовать не сможешь
Ну если инициализация раздельная, то указатель есть)
Ну да, есть он или нет — в любом случае он невалидный.
если указателя нет, то у тебя и проблем с ним нет. А с malloc у тебя всегда будет указатель и проблемы с ним
Если маллок зафейлится, то будет NULL
Да, который нужно проверять, я тебе про это как бы и говорю
А с new не надо проверять by design
Ну, там либо исключение ловить, либо проверять на nullptr
Не надо исключение ловить
Я с точки зрения стандарта.
Логика твоих рассуждений мне непонятна
Мысли свои ты не раскрываешь, какие то обрывки фраз
https://en.cppreference.com/w/cpp/memory/new/bad_alloc
Ну вот опять, что ты этой ссылкой хотел сказать - сиди гадай
Тем, что new может бросить исключение.
А с этим кто то спорил?
Тогда зачем ты привёл ссылку на это?
Ладно, разговор ушёл в тупик, предлагаю забить.
Мне так EDK2 2010 дали...
Обсуждают сегодня