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

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    CMakeString& operator<<(DWORD dwNum)
          {
             DWORD dwTemp = dwNum;
             int iCnt=1; // name lookup of 'iCnt' changed for new ISO 'for' scoping
             for( ; (dwTemp/=10) != 0; iCnt++ )
                ;
    
             m_str.resize(m_str.size() + iCnt);
             tsprintf(&(*m_str.begin()), _T("%s%u"), m_str.c_str(), dwNum);
    
             return *this;
          }

    Взято из http://www.codeproject.com/KB/IP/ftpclientclass.aspx

    Запостил: absolut, 17 Августа 2010

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

    • for( ; (dwTemp/=10) != 0; iCnt++ )
      o_0
      Ответить
    • Самый сок в 9 строке
      Ответить
      • 8-ая для разогрева) долго не мог понять для чего это нужно, operator+= видимо не модно юзать)
        Ответить
        • да?

          я думал, что operator<<() и operator+=() по идее должны делать одно и тоже для CMakeString

          CMakeString &CMakeString::operator+=(DWORD dwNum)
          {
             return *this << dwNum;
          }

          не?

          ну хули, куда же мне до спп гуру
          Ответить
          • По-хорошему, не стоит обобщать поведение строки и строкового потока в одном классе.
            operator<< использовать под вывод в поток, а
            operator+= для конкатенации строк.
            Ответить

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