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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    char *sLoop = new char[4];
    _itoa(i, sLoop, 10);
    string strField = fp1 + sLoop + fp2;
    char *str = new char[255];
    for (int i=0; i<=sizeof(strField); i++)
        str[i] = strField[i];
    _bstr_t impFieldName(str);
    // думаю, очевдно, что delete нигде не было. ;)

    Запостил: Говногость, 25 Августа 2011

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

    • Нафига освобождать память и файловые дескрипторы, если всё само освободится при завершении программы...
      Ответить
      • Действительно, зачем? Ведь программисты пишут только такие программы, которые работают пару минут.
        Ответить
        • Синдром PHP. Там вообще максимальное время работы скрипта по дефолту 30 сек.
          Ответить
    • Автор искренне считает, что C++ - это C + new.

      _itoa() там случаем не самописный или с инета тыренный?
      Ответить
      • sizeof(strField) вместо strField.size() - очаровательно.
        Ответить
        • Синдром PHP
          Ответить
        • Я так понимаю size()/length() - вернет количество отображаемых символов и не возьмет в рассчет нулевой байт.
          А так он скопирует и его тоже.
          Или не так?
          Ответить
          • 21.3.3 basic_string capacity
                size_type size() const;
            Returns: a count of the number of char-like objects currently in the string.
                size_type length() const;
            Returns: size().

            size()/length() вернет 1, если не вызовет div_zero.
            std::string, в отличие от C-строк, не является null-terminated, но может быть сконвертирована в такой вид.
            Ответить
            • Простите затупил. Ну, тогда автору с его sizeof хватило бы str длины 5 xD
              Ответить
    • char *sLoop = new char[4];
      ...
      char *str = new char[255];
      ...

      Синдром .NET?
      Ответить
    • string strField = fp1 + sLoop + fp2;

      Это только мне, как не профессиональному с++-программисту, неявные преобразования char* в std::string выносят мозг?
      Ответить

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