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

    +39

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    #include <memory>
    
    struct Test {
        ~Test() { std::cout << "~Test\n"; }
    };
    
    int main() {
      std::shared_ptr<void> ptr( new Test );
      return 0;
    }

    http://ideone.com/xXPWhE

    Но:

    #include <iostream>
    #include <memory>

    struct Test
    {
    ~Test() { std::cout << "~Test\n"; }
    };

    int main() {
    std::shared_ptr<void> ptr( (void*) new Test );
    return 0;
    }
    http://ideone.com/jhNvpJ

    Запостил: LispGovno, 05 Февраля 2014

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

    • Но зачем?
      Ответить
      • Ну, например, чтобы ты мог замутить std::map<some, std::shared_ptr<void>>, если ты сам гарантируешь правильную типизацию.
        Ответить
      • Ну и устраняет ТАРАСОПРОБЛЕМУ

        http://ideone.com/MPTzcn
        Ответить
        • О, вот и диамитор готов.
          Нахуй нужна виратульщина тогда?
          Ответить
        • std::shared_ptr<Base> не равно std::shared_ptr<void>
          Ответить
          • об этом он и говорит
            что раньше было говно полное
            а теперь с войдом-то заживёём!
            Ответить
    • #include <iostream>
      #include <memory>
      
      struct Test
      {
          ~Test() { std::cout << "~Test\n"; }
      };
      
      struct TestDeleter 
      {
          void operator () (void *d)
          {
              delete (Test*)d;
          }
      };
      
      int main() {
      	std::shared_ptr<void> ptr( (void*) new Test, TestDeleter());
      	return 0;
      }


      http://ideone.com/YHbAGJ
      Ответить
    • Говнокод вынуждает меня изучать плюсы чисто из любопытства.

      Это растление малолетних
      Ответить
      • учитывая, что главный в M$ теперь индус, дотнет становится вообще ругательством
        Ответить

      • Жили были два братана, с детства друг друга любили братски, весь район на ушах вдвоём держали.
        Но вот отдали их родители в институты и один выучился на программиста С++, а другой на Lisp.
        И пролегла между ними гигантская пропасть, всё время общения стали друг друга переубеждать и жарко спорить какой язык и подход лучше, дошло до того однажды что не сдержались и наставили друг другу синяков и ссадин.
        Месяц не звонили не встречались и соскучились оба до слёз, но гордость не давала сделать правильный шаг, но вот всё таки забили стрелку однажды и встретились и обнялись и один другому говорит: ты знаешь, брат, я ради тебя выучил С++ и теперь понял что нет языка лучше и эффективнее, а лисп мой - гавно. Второй расплакался и говорит: эх брат, такие дела, я тоже ради тебя выучил Lisp и понял что С++ - немутабельное говно и теперь пишу на лиспе.
        И вновь возникла между ними пропасть, теперь первый стал спорить за лисп, а второй за C++ да жарче прежнего! И через месяц обоих увезли в реанимацию. Не заладилась дружба опять.
        И на третью неделю к каждому из них пришла мудрая голова отца и сказала что подружится они смогут опять только если выучат оба PHP.
        Братья долго не могли перешагнуть через себя, но каждый в итоге сделал этот трудный шаг и через три месяца они сидели на кухне, обнимались, показывали друг другу свои говносайтики и роняли скупую слезу.
        Ответить
        • вот настоящая концовка

          Братья долго не могли перешагнуть через себя, но каждый в итоге сделал этот трудный шаг и через три месяца они сидели на кухне, обнимались, и обсуждали какое пхп дерьмо
          Ответить
        • но ведь лишп - такое же мутабельное гавно
          Ответить
          • У лишперов есть любимая присказка о том, что всё мутабельное говно лиспа - проявление истинной сути программиста.
            Ответить
            • Истинной сущности хакера (в старом добром смысле), а не программиста ;)
              Ответить

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