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

    +65.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //какой-то .h-файл
    namespace Error {
    	struct Put_error{
    		const char * Message;
    		Put_error(const char * e) { Message = e; }
    	};
    ...
    
    //в каком-то методе в другом файле
    	  string msg = "Error: cannot open input file " + string(fileInputName) + "\n";
    	  throw Error::Put_error(msg.c_str());

    Запостил: Lexey, 03 Ноября 2009

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

    • и что тут такого?
      Ответить
      • память уже освободится, соответственно Error::Put_error::Message будет указывать в мусор.
        Ответить
    • Любой код на C++ является говнокодом, ошибки при работе с указателями излишни.
      Ответить
      • наисилил плюсы?
        Ответить
        • Я профессионально знаю плюсы. ;)
          Ответить
          • ИМХО, профессионально - не значит отлично
            Ответить
            • Мне и не нужно. Я менеджер проекта. С++ - говно. Юзаем С#. Скоро С++ вообще исчезнет, как дрянной артифакт. Мало возможностей, но много мест для ошибок. Компилятор должен сам решать все, что возможно за программиста.
              Ответить
              • Programmers that don't know how to use pointers are "говно", not a C++ language.
                When you manager can write OS kernel or system driver in C#, then type stupid things.
                Ответить
                • Уметь пользовать указатели и пользовать - это разные вещи. Я умею пользоваться указателями в С++, кое-что знаю в ассемблере, но я никогда по своей воле не начну проект ни на плюсах, ни на асме..
                  зы.. это не я мэнеджер проекта
                  Ответить
              • ок, для бизнес логики возможно шарп и лучше, но зачем быть таким категоричным? =)
                стоит попробовать на шарпе и плюсах реализовать вычислительно сложную вещь, как разница станет ясна

                з. ы. каждому языку своя область применения, и нечего зря обсирать любой из яп, только потому, что для какой-то задачи лучше подходит другой
                Ответить
              • C++ нечем заменить, поэтому в ближайшей перспективе он не исчезнет...
                Ответить
              • Если вы действительно "профессионально" знаете C++, то вероятно ваш код разработан в соответствии с идиомой RAII, использует ссылки и интеллектуальные указатели. И вы понятия не имеете про ошибки при работе с указателями, потому что у вас нет таких ошибок.
                ЗЫ: от неудачного объектного дизайна не спасет язык программирования или компилятор
                Ответить
      • А код на С# и яве лучше ? Или ты хардкорный ассемблерщик ?
        Ответить
        • А ты кто? Истинный фортранщик из спарты?
          Ответить
      • плохому танцору что там мешает? )
        Ответить

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