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

    +77

    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
    void insertObject(Object object)
    {
    +	auto found = std::find_if(
    +		objects.begin(),
    +		objects.end(),
    +		[&object](Object otherObject)
    +		{
    +			return otherObject == object;
    +		}
    +	);
    +
    +	if (found != objects.end())
    +		return;
    +
    	objects.push_back(object);
    }

    Надо было не вставлять в коллекцию дубликаты по какому-то критерию. Человек написал это.

    Запостил: atsgovno, 17 Апреля 2015

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

    • Новый стандарт мозгов не прибавляет.
      Ответить
    • а это считается онанизмом, когда сам себе плюсуешь?
      Ответить
      • Главное, вовремя всё смыть.
        Ответить
        • Кстати, когда творения Семёна смыли? Он всё же превысил лимит, что Страйкеру пришло уведомление от хостера?
          Ответить
          • Возможно, у многих проскальзывала мысль: почто стрикер не банит Стертора? Ведь в сущности я такое же унылое г.. но и спамер, как и Сэм. Хотите узнать, почему?

            Я-Страйкер
            Ответить
            • Я то думал ты Бэтман.
              Ответить
              • Бэтмэн слишком уныл, а я, в противовес ему, - яркая личность. Правда, очень скандальная, отчасти оттого, что я - тролль. Но против тебя я ничего не имею, напротив. Просто будь поосторожнее с минусами, плз.
                Ответить
          • Какие именно?
            Его тут постоянно спускают в толчок и выбрасывают в утиль.
            Ответить
            • А вот недавние стоковые про быдло. С патриотических укроучёток.
              Ответить
    • А в чём проблема?
      Ответить
      • Много лишних букв.
        void insertObject(Object object)
        {
        -	auto found = std::find_if(
        -		objects.begin(),
        -		objects.end(),
        -		[&object](Object otherObject)
        -		{
        -			return otherObject == object;
        -		}
        -	);
        -	if (found != objects.end())
        -		return;
        -
        -	objects.push_back(object);
        -
        +	if (std::find(objects.cbegin(), objects.cend(), object) == objects.cend())
        +		objects.push_back(object);
        }
        Ответить
        • возникают вопросы, так ли тут нужен вектор (?), когда все уже придумано за нас - сет/анордеред-сет
          Ответить
          • Видимо, порядок хотят сохранить. Ну или просто не знали про set.
            Ответить
            • > порядок хотят сохранить
              vector + set
              Ответить
            • > Видимо, порядок хотят сохранить. Ну или просто не знали про set.

              или просто объектов мало, порядок не нужен, и с set'ом не хотели парится.

              или потому что экономят память, и vector самый дешевый контейнер.
              Ответить
          • Наверное, у обжекта иерархия подклассов, для которой написать operator<() или хеш-функцию не представляется возможным.
            Ответить
          • А почему ты думаешь, что это вектор?
            А вдруг автор совсем наркоман?
            Ответить
          • К слову на малом кол-ве элементов сет намного медленнее вектора. Не зря в жаве есть контейнеры хамелионы, меняющие свою структуру динамически в зависимости от кол-ва элементов
            Ответить
            • >К слову на малом кол-ве элементов сет намного медленнее вектора.
              Тихо-тихо, сейчас прибегут психи с рассказами про O(N) даже на ДЖВУХ элементах.
              http://govnokod.ru/17919#comment270854
              Ответить
              • новый фетиш? скоро в моде - массив листов по два элемента
                Ответить
              • Бгг, ты мои коменты в избранное сохраняешь?

                На питоне как-то делал тесты, in list и in set в цикле, на одном элементе скорость одинакова, на двух set уже в 2 раза быстрее.
                Ответить
            • Тому до шукати перебором проще чем по хешу в маолых дозах
              Ответить
        • условие задачи читай.
          >>дубликаты по какому-то критерию.
          Когда начнешь вводить второе условие - получишь больше буков
          Ответить
        • Авто? Разве она не авто по умолчанию? Статикбля? Ты пиздюк может?
          Ответить
    • > atsgovno
      Ты по что мой ник занял? Теперь у меня нет повода учить этот язык
      Ответить

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