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

0

  1. 1
void* const allocateOrDie(const size_t Size) throw();

Ультиматум. :)

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

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

  • > Ультиматум. 🙂
    Судя по throw() этот код действительно делает харакири при недостатке памяти. (Хотя может и вернуть NULL, если силы воли не хватит).
    Ответить
    • >код действительно делает харакири
      Бережет свою честь. Путь самурая. Выполнить или умереть.
      Ответить
    • > делает харакири
      *делает сеппуку

      Харакири - неправильное сеппуку 😉
      Ответить
      • Точно такое же, только звучит чуть менее ритуально.
        Ответить
        • Не только звучит. Сеппуку - это целый обряд. Там и честь и многое другое. А харакири так, детская забава.
          Ответить
          • Как хорошо, что есть викижопиядоступные источники информации. Потому позволю себе оставаться при своём мнении.
            Ответить
  • Я придумал новую шутку.
    void* allocate(size_t size) const ...
    ИММУТАБЕЛЬНЫЙ АЛЛОКАТОР АХАХАХАХАХАХА
    Ответить
        • А что плохого в иммутабельном аллокаторе? Вдруг так и задумано, что он всегда возвращает одну и ту же область?
          Ответить
            • Не совсем. Их же можно насоздавать несколько. И каждый из них будет возвращать свою void*. На синглтон не особо тянет.
              Ответить
        • В С++ такое возможно. Просто размещаем реальный аллокатор в другом объекте или помечаем изменяемую область этого объекта, как mutable.
          Ответить
            • Ну, к примеру есть два класса - Pool и Allocator.
              Pool платформозависимый, и умеет просить у операционки странички памяти и возвращать их ей.
              Allocator понятия не имеет об этой низкоуровневой фигне, но ему в конструкторе передали указатель\ссылку на пул. При этом все служебные структуры он пишет в странички, полученные через пул, и никак не меняет своих полей, поэтому его методы и могут быть объявлены как const.

              Накуренный пример конечно...
              Ответить

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

Где здесь C++, guest?!

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


    8