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

    +16

    1. 1
    2. 2
    3. 3
    //...
       ret.value(_val != "" ? _val : "");
    //...

    Запостил: bodeaux, 21 Ноября 2012

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

    • Смотря что такое _val. Может, он может принимать некое значение null (скажем, как QString), возвращать которое не хочется. Хотя и тогда было бы нагляднее !_val.isNull() ? ...
      Ответить
      • ты еще вспомни, что в с++ можно перегрузить operator != так, чтобы он менял модифицировал левый аргумент
        Ответить
        • > модифицировал левый аргумент
          Логично, кстати. Особенно, если он модифицирует так, что этот самый аргумент становился неравным правой части.
          http://ideone.com/kFysbF
          Ответить
          • "антиприсваивание" какое-то получилось
            Ответить
            • class Anti {
              public:
                  bool operator =(int x) { return a == x; }
                  int operator ==(int x) { m_a = x; return x; }
              private:
                  int m_a;
              };
              Ответить
              • Нужно как в пхп сделать. одно равно точное, а второе игнорит тип при сравнении, например предварительно преобразовав в строку
                можно будет числа со строками сравнивать
                Ответить
              • а это уже "присравенство"
                или "присравнивание"
                Ответить
            • Истерика!
              Ответить
        • Ну, я пытался придумать хоть сколько-нибудь оправданный вариант...
          Ответить

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