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

    0

    1. 1
    А вот операторов сравнения между всеми типами умных указателей, я как понял, нету, и даже по стандарту.

    Запостил: OlegUP, 21 Октября 2019

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

    • а зачем?
      Ответить
      • Так это указатели, тоже тип.
        Ответить
        • В плюсах указатели вообще лучше не использовать без острой необхiдности
          есть же ссыли
          Ответить
          • Таких острых необходимостей вагон и маленькая тележка.

            https://refactoring.guru/ru/design-patterns/composite
            Ответить
            • А что мешает использовать ре... ах .... бля.... референс же не может указывать ни на что, а тут тебе надо сначала создать объект (ну или взять Null Type)?

              хехехех) да, кажется что поинтеры нужны

              хотя... у каждого папки же может быть N детей
              Почему не использовать вектор?
              Ответить
              • что ты несеш?!
                ты не вкурсе про смарт поинтер?!
                Ответить
                • Прыщепараша
                  Ответить
                  • писать надо на питоне под виндуос экспи
                    Ответить
                    • кууик

                      тупая абизяна, не знающая плюсов, реализовала из говна и палочек на коленке паттерн "фасад" без единого гвоздя поинтера.

                      Обезьяна думает, что ноды хранятся на стеке у мейна, а потом копируются в вектор, и хранятся уже там, и удаляются когда default ~node() вызывает ~vector() (он же это делает?).

                      Обезьяна хотела бы хранить в векторе референсы, но кажется что не может, а поинтеры хранить не может по условиям задачи.

                      Обезьяна не думала про копирование, но ей любезно напомнил компилятор, весьма многословно указав на отсутствие оператора присваивания, а остальные стопицот членов великой пятерки обезьяна написала до кучи (хвала яхве за "default")

                      #include <iostream>
                      #include <vector>
                      #include <iomanip>
                      
                      class node
                      {
                      	int m_id_;
                      	std::vector<node> m_children_;
                      public:
                      	explicit node(const int id): m_id_(id)
                      	{
                      	}
                      
                      	node(const node& another) = default;
                      	node(node&& another) = default;
                      	node& operator=(const node& from) = default;
                      	node& operator=(node&& from) = default;
                      	~node() = default;
                      
                      	void add_child(const node& child)
                      	{
                      		m_children_.insert(m_children_.end(), child);
                      	}
                      
                      	void pretty_print(const int level = 0) const
                      	{
                      		std::cout << std::setfill(' ') << std::setw(level) << m_id_ << '\n';
                      
                      		const auto next = level + 1;
                      		for (auto it = m_children_.begin(); it != m_children_.end(); ++it)
                      		{
                      			it->pretty_print(next);
                      		}
                      	}
                      };
                      
                      
                      int main()
                      {
                      	node root(0);
                      	node child1(1);
                      	const node child11(11);
                      	const node child2(2);
                      	child1.add_child(child2);
                      	root.add_child(child1);
                      	root.add_child(child11);
                      
                      	root.pretty_print();
                      }
                      Ответить
      • Рил, C++ не выучишь никогда.
        Ответить
      • set умных указателёв сделать
        Ответить
    • указатели не нужны. кроме низкоуровневого костыля с арифметикой указателей, я не знаю случаев, где бы указатель именно как число, имел бы значение.
      ссылки - да. мол, тут валяется такая то структура такого вот размера, и делайте с ней, что хотите. а где именно она валяется, в какой странице - глубоко похуй.
      Ответить
      • эмм
        ссылки ващет нужны чтобы не копировать тудой-сюдой всякие говны
        Ответить
        • *люр с грустью бытия смотрит на хаскель*
          Ответить
          • Тоже часто смотрю когда хочу монад, паттернов с матчингами и выводов типа
            Ответить
      • > арифметикой указателей
        Si, señor, не кресты. В крестах это грязным хаком считается.
        Ответить
        • > грязным хаком

          Ну да, но итераторы для вектора то как-то надо запиливать ;)
          Ответить
          • Нахуй ты отвечаешь этому уебку?
            Ответить
          • вернулся, пидор?
            Ответить
          • Зачем базу потерла, пидорва?
            Гост, иньо, вы кстати не забывайте базы выкладывать.
            Ответить
            • Не обижай Борманда, он няша.
              Ответить
              • Цикло?
                Ответить
              • Он пидор, я-то думал что он сервис для всех делает, а он только для себя. Как и ты, впрочем. Бекапы вылаживай.
                Ответить
                • > только для себя

                  Именно так. И я об этом несколько раз писал, между прочим.
                  Ответить
                  • ты охуел не хотеть бесплатно на нас работать?!!
                    Ответить
                    • Он на нас и не работал, читай внимательнее.
                      Ответить
                  • Тем не менее, тестировали/предлагали фичи и другие, а это тоже участие в разработке. Да и смысл страницы, если всё равно каждому надо делать все нужные бекапы, да и фичи ровно те, котроые нужны автору?
                    Ответить
                    • Вас кинули. Смирись.
                      Ответить
                      • Ну ок, вопрос что дальше делать? Самому пилить говно под себя? Влом, да и денег на хостинг жалко. Помогать разрабатывать чужое? В любой момент тебе покажут, что ты никто. Просто с сайта свалить? Тут всё равно полезного очень мало.
                        Ответить
                        • но ведь ты и правда никто

                          и я тоже
                          Ответить
                          • >Помогать разрабатывать чужое?
                            Вот и зачем?
                            Ответить
                            • Вот именно. Мое время слишком дорого стоит: меня можно нанять только за 1 900 000 рублей в месяц. А в свободное время делать сайт, на котором я сижу 24 часа в сутки, это не нужно
                              Ответить
                              • >на котором я сижу 24 часа в сутки
                                Лечиться пробовал?
                                Ответить
                        • Я не понимаю, чего ты к «NGK» так относишься? Это просто веб-морда к апишке, там ни байта ничьих данных не хранится, никаких аккаунтов или какой-то другой инфы, которую жалко терять, нет. Даже фильтр и список игнора в локалсторедже лежат. Ну помру я — кто-нибудь другой запустит, благо, что код открыт. Базе особой актуальности не нужно, всё равно даже от старой можно за часок досканить всё, что нового понаписали.
                          https://mega.nz/#!yJcCACia!wmInBgRIunHtM496hXlSkRGWPzMRf FGsboRwYHCP9gw
                          Ответить
                          • > не хранится

                            Ну, в защиту Сёмы, всё-таки несколько потёртых оффтоп-тредов там хранилось. Другое дело, что они нахуй никому не нужны были т.к. писать в них уже невозможно, разве что цитаты оттуда надёргать.
                            Ответить
                            • Ну так они и на хузе все есть. Вот до-хузовскую эпоху да, жаль.

                              Кстати, я ещё «Веб-Архив» распарсил, сдампил оттуда 11530 удалённых комментариев. Из них 1061 твой!
                              Ответить
                          • А как старую базу собирал уже забыл?
                            Ответить
                            • Ну так я её как собрал — так сразу и выложил.
                              Ответить
                              • https://govnokod.xyz/_25981/#comment-493227 это про тебя
                                Ты базу из бекапов восстанавливал которые тебе присылали, а часть вообще с archive.org
                                Ответить
                                • Бо́льшая часть базы NGK сдамплена с живого Говнокода. Вторая часть, с 11.5к комментариями — с «Веб-Архива». Обе эти части я, естественно, собрал в одну БД, схему которой можно наблюдать в репозитории. И сразу после обработки «Веб-Архива» я обновлённый бекап выложил для широкой общественности.

                                  Комментарии с Хуза я ещё не обрабатывал: руки не доходят.
                                  Ответить
                                  • Ты просто Мастер "ETL".
                                    Ответить
                                    • Нет, я датамайнер бигдаты.
                                      Ответить
                                      • секретно: некая компания опросила некоторое количество человек, которые называли себя "дата сайнтисты".

                                        Оказалось, что некоторое количество людей из того количества день деньской копируют данные из одного формата в другой, иногда вручную, иногда в эекселе.

                                        Так что ты не так уж и не прав
                                        Ответить
                                        • Есть очень интересная задача по бигдате: копирование данных из «Аксесса» в «Эксель» и обратно.
                                          Ответить
                                          • написал бы скрипт, ходйщий через ADO и туда и сюда
                                            а ты?
                                            Ответить
                          • Что это за tar странный?
                            Ответить
                            • Тар как тар. Необычно, что он внутри зипа. Обычно тар упаковывают не зипом, а каким-нибудь прыщеговном (compress, pack, gzip, bzip2, xz).

                              А внутри лежат tsv-файлы (tab separated values), sql-файл с описанием таблиц и один проприетарный постгрессовский файл (не знаю, для чего он нужен; вероятно, копия sql-файла).
                              Ответить
                              • >Обычно тар упаковывают не зипом, а каким-нибудь прыщеговном (compress, pack, gzip, bzip2, xz).
                                Никогда не задумывался зачем? Тупые прыщебляди.
                                Ответить
                            • Зип — потому что-то в прошлый раз меня какой-то аноним покрыл хуями за его отсутствие. Цитирую:
                              Что за хуйня? Почему нельзя было tsv пожать зипом?
                              Ответить
                              • Кстати, я видел, как некоторые эмулируют «непрерывные» архивы (solid) для тех архиваторов, которые такой режим не поддерживают: сначала упаковывают всё в один зип без сжатия, потом другим архиватором сжимают (да хотя бы опять тем же зипом, но уже со сжатием). Степень сжатия увеличивается, потому что после упаковки в один файл возрастают шансы найти повторяющиеся данные. Недостаток обнаруживается, когда нужно распаковать не весь архив, а только маленькую часть или когда начало архива испорчено...
                                Ответить
                                • Во, допёр-таки. Но 1) даже на прыщах есть архиваторы с непрерывным сжатием, 2) конкретно тут он не нужен, догадайся почему, 3) зип для этих целей хуёво подходит, догадайся почему.
                                  Ответить
                              • А тар-то зачем? Что мешает tsv в зип положить?
                                Ответить
                                • Анекдот знаешь? Женщина отправляет мужа на работу:
                                  –— Я тебе в сумку положила хлеб, сливочное масло и гвозди. Из хлеба и масла сделаешь себе бутерброды.
                                  —– А гвозди?
                                  –— Да вот же, положила.
                                  Ответить
                                • 1) Этот тар я получаю запуском одной утилиты «pg_dump», предназначенной для создания бекапов баз данных «PostgreSQL».
                                  2) Этот тар можно распаковать на живой сервер запуском одной утилиты «pg_restore» и получить полную и работающую копию БД NGK.
                                  Ответить
                              • ссы им в рот, брателло

                                pg_dump govnobaza | bzip2 > petuh.db.bz
                                Ответить
                                • Бзип2 - устаревшее прыщеговно.
                                  Ответить
                                  • ладно, уговорил. Пусть будет xz, чтобы у тебя больше бубарехов оплавилось
                                    Ответить
                                    • Еще большее прыщеговно.
                                      Ответить
                                      • нормально бубарехи пылают.

                                        А давай попробуем ``split``. и каждый потом в gzip.
                                        Знаешь split?
                                        Ответить
                                        • Бубарех — Новый мем ньюфагов. Если ты используешь слово бубарех, твой пинус длиннее автоматически, ты крут и плевал на всех. Кто-то предлагает соснуть хуйца? Он бубарех. Кто-то фейлит или троллит? Он бубарех. Заебали куклофаги? Бубарех. Быдло? Небыдло? То же самое. Кто-то опускает тебя в треде, который ты создал? Знай, он бубарех. Выебали нигры? Это НАСТОЯЩИЙ бубарех. Ничего не бойся, со словом бубарех ты превратишь всех в говно. Дерзай же!
                                          Ответить
                                        • Прыщепидор, чем ты понтуешься? Тем что ты знаешь нахуй не нужное говно, пока другие написали сайт, на котором ты сидишь?
                                          Ответить
                                          • Я пантуюсь тебе в рот. Как там? не кисловато?
                                            Ответить
                                        • Ты ещё «cpio» вспомни.
                                          Ответить
                                          • Кстати, ты помнишь, чем cpio отличается от tar?

                                            Оба были сделаны для копирования данных на стример
                                            Ответить
                                            • Не помню. Сейчас он в некотором софте используется как внутренний формат.

                                              Я ещё «ar» помню. Раньше его использовали для упаковки объектных файлов в библиотеку. Но в «Дебилиане» додумались упаковывать в «ar» вообще всё.
                                              Ответить
                                              • Так у Дебиана в 1993 году особо выбора-то и не было
                                                Ответить
                                        • –– Ребе, у меня дохнут куры. Что делать?
                                          –– Кидай им зерно в круг, предварительно его начертив.
                                          Еврей начертил круг, стал кидать в него зерно, но куры все равно дохли. Тогда он опять пришел к ребе:
                                          –– Что делать?
                                          –– Нарисуй квадрат и бросай зерно в квадрат. Еврей нарисовал квадрат, стал бросать в него зерно, но куры все равно дохли.
                                          –– Что делать, ребе?
                                          –– Нарисуй треугольник и бросай зерно в треугольник.
                                          Еврей нарисовал треугольник и стал бросать туда зерно. Куры сдохли все.
                                          –– Ребе, все куры сдохли.
                                          –– Жалко, у меня было ещё столько идей...
                                          Ответить
                • Борманд вроде делал автообновляемую выкладку. Чего же ты её не скачивал?
                  Ответить
                  • Это было в предыдущей версии. В последней я не успел её пильнуть.
                    Ответить
                  • Борманд её обновлял вручную и нерегулярно (без предсказуемого периода), если моя память не спит с другим.
                    Ответить
                  • У меня нету ни одного его бекапа.
                    Ответить
            • Да хуй знает, настроение плохое было.

              > гост

              Хм, гост новое зеркало пильнул?
              Ответить
              • https://gcode.space
                Ответить
                • Теперь ты хер отсюда уйдешь, УАХАХАХАХАХАХА (злобный смех)
                  Ответить
              • Не новое, просто чуть-чуть допилил старую версию твоего стока имени тебя.
                Ответить
    • Для указателей имеют смысл только равенство и не(равенство).
      Ответить
      • Ну нет. А вдруг у тебя указатели ссылаются на один массив. Тогда порядок между ними может быть интересен.

        P.S. Ну, с другой стороны, там уже и не умные указатели будут.
        Ответить
        • Игнорируй уебка. Мы его таким образом изгнали.
          Ответить

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