Кресты / Говнокод #4593 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
double *ptr = new (nothrow) double[n];
if (ptr) {
//....
} else throw bad_alloc();

Запостил: Sanya_M Sanya_M, (Updated )

Комментарии (7) RSS

  • Я туплю и не понимаю, как связаны placement new, который вызывает конструктор по данному адресу и bad_alloc?

    Или в этом и есть суть говнокода?
    Ответить
  • Тут надо заметить, что подобный код вполне оправданно можно встретить в проектах написанных под не совсем корректные компиляторы (типа старого-доброго MSVC 6). Т.е. когда необходимо получить одинаковое и стандартное поведение кода как в старом, так и в новом компиляторе, приходится пользоваться подобными извращениями. Я не берусь судить, так ли это в данном случае - без контекста не понятно - но тем не менее...
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8