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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    std::string s1;
    std::string s2;
    
    int ret = strcmp(s1.c_str(), s2.c_str());  //А здесь мы сравниваем строки
    if (ret == 0)
    {
        .... 
    }

    Запостил: pathfinder, 18 Августа 2009

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

    • -1 !!! :( Неужели народ считает что так нормально писать. Я тут написал:
      if(s1==s2) // И все !!! Это будет работать быстрее и понятнее
      Ответить
      • Ну например ret может быть больше или меньше нуля и это значение будет использоваться дальше. А насчет скорости - не факт что компилятор решит копировать строки на вызовах c_str(), а не соптимизирует что-нибудь.
        Ответить
      • Так универсальнее. Вдруг понадобится заменить на сравнение без регистра?

        А вообще да, сишные строки не нужны.
        Ответить

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