1. C++ / Говнокод #1447

    +103

    1. 1
    2. 2
    byte* pSomeArr = new byte[nArrLen];
    auto_ptr<byte> bAutoPtr(pSomeArr); // auto delete on exit

    Защита от утечек памяти! =)

    Запостил: guest, 31 Июля 2009

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

    • Хм... А не подумает ли auto_ptr<byte>, что ему передали указатель (!) на byte, а не массив? (Я бы подумал именно так)
      Это ж... Крах будет! Он не тот delete вызовет =[
      Ответить
    • Еще как подумает, но gcc и ms компиляторы не грохаются (удаляется освобождается один элемент), просто утечка памяти, поэтому это здесь и оказалось.
      Ответить
    • Ну как задрало, в винде delete для массива встроенных типов то же, что и delete[]
      Ответить

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