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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    foo(int objType)
    {
      std:string sObjType;
      char outStr[256];
      memset(outStr,NULL,256);
      sprintf(outStr,"0x%x",(unsigned int)objType);
      sObjType = outStr;
      //…
      std::ostringstream str;
      str << "Ready: list of objects, type " << sObjType;
      TRACE(str.str());
    }

    Запостил: belca, 10 Августа 2010

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

    • memset(outStr,NULL,256);

      первый раз такое вижу. Хотя по сути и равносильно :
      memset(outStr,0,256);

      но всё таки NULL ассоциируется с указателем, а не значением.
      Хотя вообще обнуление стоки перед sprintf() нафиг не надо.
      Помесь Си и Си++ строк тоже "радует".
      Ответить
      • Варнинг! СПГС детектед!
        Не встречал еще такого трепета по отношению к null))
        Ответить
        • Какой глубинный, вы что ? Всё на поверхности.
          NULL был придуман именно как нулевой указатель.
          И только в ГК использовался как значение.
          Ответить
          • Я просто видимо не в то время пришел в это дело... Я вообще не понимаю зачем нул использовать. Указатель -- цифра же. А задефайненое хрен знает где ключевое слово... Не доверяю наверно.
            Ответить
    • "Поздравляю, дружок, тебя поимели, во всех смыслах. Прошляпил очко. А чего ты ожидал? Это жизнь, пора бы и привыкнуть - ничего не бывает бесплатно, за свои иллюзии ты заплатил порванной задницей и рваной душой. Ну серьёзно, с какой стати ты был нужен этому Геркулесу? Потянуло брутального самца на свежатинку, а тут ты, наивный олень, весь из себя целочка. Было бы глупо не воспользоваться..."
      Ответить

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