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

    −16

    1. 1
    2. 2
    3. 3
    void setOn(const bool &on) {
        // ...
    }

    А вот чего только не встретишь в коде...

    Запостил: glook, 29 Июня 2012

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

    • А еще есть bool on() const { ... } ?
      Ответить
    • Может это дословный перевод с Ады. Там всё по умолчанию передаётся как const& (правда для boolean Ада это компилирет в передачу значения, а не указателя, а кресты -хз)
      Ответить
      • Да если бы. Просто кое-кто так написал.
        Ответить
      • Уважающие себя крестокомпиляторы для таких примитивных случаев const & тоже превращают в передачу копии.

        Так что не так и ужасен этот const bool & (хотя, конечно, вне шаблонов это говно).
        Ответить
    • А нефиг тимлидам так активно мозги полоскать джуниорам, по поводу константных ссылок - вот и имеем такую дурную паранойю.
      Ответить
      • Плохие тимлиды значит, раз полоскание про константные ссылки до конца не довели.
        Ответить
    • On& setOn( const On& on ) const;
      Ответить
      • enum On {
        on_off = 0;
        on_on = 1;
        on_err = 2;
        };
        Ответить
      • Эм. А как он будет set если он const?
        Ответить
        • внутри член mutable, либо const_cast в теле
          собственно, раз это какой то guard, то смысл есть -быть атомарным даже при константном обращении
          Ответить
        • setOn( любая_хрень ) = on_off;

          Ну всё-таки уровень индуизма должен зашкаливать.
          Ответить

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