1. Список говнокодов пользователя Elvenfighter

    Всего: 116

  2. C++ / Говнокод #22859

    −11

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    std::string reverseWords(const std::string &input) {   
        std::list<char> result{};
        
        auto insertIt = result.end();
        for (auto i = input.size() ; i > 0; --i) {
            const char c = input[i - 1];
            if (c != ' ') {
                insertIt = result.insert(insertIt, c);
            } else {
                result.push_back(c);
                insertIt = result.end();
            }
        }
    
        return std::string(result.begin(), result.end());
    }

    Реверснуть слова в строке за один проход цикла
    https://www.linux.org.ru/forum/development/13379833

    Специальную олимпиаду оглашаю открытой!

    Elvenfighter, 26 Апреля 2017

    Комментарии (54)
  3. C++ / Говнокод #22741

    −18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #define EXPECT_EQ(expected, actual) \
        assert(expected == actual); 
    
    int main() {
        EXPECT_EQ(std::array<char, 3>(), std::array<char, 3>());
    }

    Макрошаблоно-проблемы. Inspired by gtest

    Спойлер:
    error: macro "EXPECT_EQ" passed 4 arguments, but takes just 2
    EXPECT_EQ(std::array<char, 3>(), std::array<char, 3>());

    Elvenfighter, 05 Апреля 2017

    Комментарии (12)
  4. C++ / Говнокод #22704

    −125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    #include <iostream>
    
    class Base {
    public:
        void publicThingy() const {
            std::cout << "Base::publicThingy()\n";
            privateThingy();
        }
    
    private:
        virtual void privateThingy() const {
            std::cout << "Base::privateThingy()\n";
        }
    };
    
    class Derived : public Base {
    private:
        virtual void privateThingy() const {
            std::cout << "Derived::privateThingy()\n";
        }
    };
    
    int main() {
        const Base &b = Derived();
        b.publicThingy();
    }

    Для любителей покритиковать костыли в крестах. Еще один повод: vtable'y до лампочки на private/public.
    https://wandbox.org/permlink/tAjx2MKozsbJ8QyT

    Elvenfighter, 29 Марта 2017

    Комментарии (18)
  5. C++ / Говнокод #22487

    −12

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    template <typename T, typename = std::enable_if_t<std::is_floating_point<T>::value>>
    inline void
    _getAttr(const IAttributes& attrs, int idx, double& number)
    {
      if (attrs.has(idx))
      {
        const IValueString& attr = attrs.get(idx);
        number = std::stod(std::string(attr.c_str(), attr.length()));
      }
    }

    Шаблонили-шаблонили на невышаблонили
    Спойлер: строки 1 и 3

    Elvenfighter, 03 Марта 2017

    Комментарии (15)
  6. C++ / Говнокод #22475

    −104

    1. 1
    int main() { throw "Ня, пока" ; }

    Elvenfighter, 02 Марта 2017

    Комментарии (9)
  7. C++ / Говнокод #22473

    −15

    1. 1
    2. 2
    3. 3
    4. 4
    // std::string currentStr = ...
    auto lastPosition = currentStr.rfind(',') + 1; 
    auto position = currentStr.length();
    int requestNum = atoi((currentStr.substr(lastPosition, position - lastPosition)).c_str());

    Здесь гениально почти все

    Elvenfighter, 02 Марта 2017

    Комментарии (1)
  8. C++ / Говнокод #21943

    −36

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // std::map<uint32_t, uint32_t> _mcpCarrierMap;
    
    uint32_t MCPCarrierUtil::virtualToReal(uint32_t cxr) 
    {
       for (const auto& mapping : _mcpCarrierMap)
      {
        if (mapping.first == cxr)
          return mapping.second;
      }
      return cxr;
    }

    Даже не знаю что єто. Толи незнание стандартной библиотеки, толи хитрьій умьісл.

    Elvenfighter, 05 Января 2017

    Комментарии (8)
  9. C++ / Говнокод #21683

    −21

    1. 1
    2. 2
    sOW << sn << " ";
    if (!sOW.str().empty())

    Причем

    std::ostringstream sOW;
    std::string sn;

    Elvenfighter, 17 Ноября 2016

    Комментарии (4)
  10. C++ / Говнокод #21629

    −16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /* public static */ bool
    TestFooFactory::checkItem(const Foo& item)
    {
      if (!&item)
        return false;
      return true;
    }

    null-ccылки в C++? Легко!

    Elvenfighter, 02 Ноября 2016

    Комментарии (39)
  11. C++ / Говнокод #21432

    −20

    1. 1
    2. 2
    3. 3
    4. 4
    if (true == (itinRowCellIter->first.flags() & ItinIndex::ITININDEXCELLINFO_FAKEDIRECTFLIGHT))
    {
      // ...
    }

    Bool-shit ** 2

    Elvenfighter, 13 Октября 2016

    Комментарии (0)