Вместо шапки - https://github.com/sosachbot/cppthreadhat/wikiОтветы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/Прошлый >>1456115 (OP)
Кто нибудь работал с QGraphicsScene и прочим? Как эту хуйню скейлить? До этого работал с QLabel, он скейлился без проблем, легко и просто, а эта ебола не хочет.Мне надо открывать картинку и по нажатию на кнопку зумить ее, как в фотошопе. На QGraphicsScene добавляю QGraphicsPixmapItem с картинкой. Что дальше то делать? Менять размер QGraphicsPixmapItem и QGrapicsView?
Аноны, смотрите. Данные хранятся в контейнере, и я беру часть этих данных (не упорядоченных) в дальнейшую обработку. Сейчас я уебищно сделал лист ссылок, которые ссылаются на нужное мне, чтобы не копировать байты, но это все как-то выглядит пиздец дико. Как корректнее всего делать выборку? Чувствую, что должны быть алгоритмы и функторы
>>1471437В общем случае - список указателей на элементы контейнера. Ну или итераторов (пар итераторов), но плиз не вводи людей в заблуждение.
>>1471594Ну вот посмотрит человек на твой код со списком итераторов и сразу же подумает, что его писал какой-то псих
>>1471624В том то и проблема, что я не понимаю, как от этой проблемы уйти, чтобы не делать копирований в подсписки. Может быть делать сортировку по признаку, и работать с этим?
>>1471738Отталкивайся от условий задачи. В создании списка указателей ничего плохого нет. Этот вариант пойдёт для любого контейнера. Конкретно для вектора можно по-своему отсортировать и хранить список пар индексов от-до. Короче ебаш список указателей и не еби мозг, даже миллион указателей на x64 это меньше 8мб
>>1471437Сделай вью над контейнером, в котором будет только то что тебе надо https://en.cppreference.com/w/cpp/ranges/filter_viewranges-v3 можно отдельно поставить если с++20 у тебя не завезли.>>1471370А setScale не то что тебе нужно?
Аноны я просто создал проект и уже проебался. Что я делаю не так?Я даже нажать нихуя кроме F5 не успел. Просто на хелоу ворлд посомтреть хотел, а меня и тут посылают нахуй.
>>1471861Судя по всему, ты c++-ный код пытаешься компилировать как сишный. Пересохрани файл с расширением .cpp и передобавь в проект.
>>1471368 (OP)Как проще всего создать битмап, заполнить его и вывести в окошке? Цель -- рендеринг всякой залупы вроде вращающихся кубиков без opengl и direct3D. Платформа -- винда.
>>1471880>Велосипед изобрести хочешь?Exactly.>>1471882>Но сразу тебе скажу, что это медленнее опенгл/директа раз в 10-20.Я знаю.>>1471883Да, спасибо, вроде нашел нужную функцию.
>>1471888На хабре чувак написал довольно плотный курс по 3d рендеру - https://habr.com/ru/post/248153/ может интересно будет. Он там правда в TGA файлы рендерит потому что поставил задачу не использовать вообще никаких сторонних библиотек (кроме стандартных естественно).
>>1471888ЕМНИП если ты хочешь чистым винапи рисовать, тебе нужна функция StretchDIBits. Но тебе придётся познать основы Windows Message Loop.
Анончики вот моя ситуация: 2 курс вуза, первый год активно развивался в плюсах, написал пару пэт-проектов, позже вылижу их и запилю в резюме. Но в итоге я знаю на более-менее нормальном уровне Qt/QML/стандартная библиотека, но в каких-то тонкостях не разбираюсь. Есть какой-то роадмап для подготовки к собеседованиям, который я бы за год смог комплитнуть. В день могу тратить до 8 часов в основном так и выходит на обучение.
>>1472472читай книги майерса, Саттера и всякую модерновую хуйню. Вот Николай Джоссутис выпустил книгу про С++17.Мимо-350к-кун
>>1472439На чем пишешь?>>1472472Я с уровнем около твоего легко ворвался на стажировку. На всех собесах спрашивали алгоритмы, поэтому подучи их и реши на литкоде хотя бы 30 задач уровня медиум. Хотя у меня в твое время даже аккаунтов там не было и я как-то сам без подготовки вывозил. По крестам спрашивали либо всякие тонкости уровня cppquiz (загугли, решай, вот это я практиковал для вката), либо вполне адекватные вопросы типа как хранить в объектах класса лямбду и искать в мапе ключи по значению, но как к последним подготовиться я не знаю.А вообще считаю, что подготовка к собеседованиям это зло и жульничество, надо приходить и вывозить чисто на реальном опыте и скилле.
>>1472472Алсо, могут ли в 2020 спрашивать за 20 стандарт? Стоит ли на него силы тратить, знаю там много клёвых фич завезли, но неизвестно когда их будут поддерживать компиляторы.
Такой вопрос. Почему copy assigment operator вызывается только при присвоении к уже созданному элементу, когда при создании типа Foo a = b вызывается copy constructor? Почему так было придумано? По этой же причине, видимо, если есть конст-члены класса, то дефолтный оператор удаляется?
>>1472482Указатели, ооп, raii, шаблоны, управление памятью, вопросы по стл, от джуна много не надо.>>1472483Кресты 17ые под шинду
>>1472531Судя по вашим ответам я уже могу искать себе вакансию трейни но они все требуют хотя-бы студента 3 курса сука . Спасибо в любом случае
>>1472518к чему ты применишь оператор, если у тебя еще что-то не создалось, а?A copy assignment operator of class T is a non-template non-static member function
>>1472485Вряд ли, еще 17 далеко не везде используют, могут спросить только чтобы понять, насколько ты заинтересован языком и в курсе его новшеств
>>1472532Забыл исключения еще. Про срр20 вообще забей, его еще прилично не будет в проде везде, кроме яндекса
>>1472439> Привет крестобогам. Мне сегодня апнули зарплату до 350к\м чистыми. Держу в курсе. >>1472479>Мимо-350к-кун Какой унылый уебок.
Сап, аноны. Мой проект на C++ заключается в приеме инфы по сети (в будущем pcie), ее обработке и выдаче, предполагается перенос проекта на arm или еще какую-то архитектуру.И вот для пеки, на время разработки, родилась идея хорошего и удобного вывода в виде веб-странички. Я в веб-технологиях и апи не шарю, и хочу узнать, как сделать лучше?Мне не очень нравится идея сделать веб-сервер внутри моей проги, и запускать/компилировать его флагами, хотя вариант рабочий. Веб-страничка может быть даже скомпилена, и можно даже прикрутить AJAX и JSON обмен с браузером (такое я делал в LwIP, вышло хорошо и годно).Какие еще есть варианты? Может быть, выводить статусы проги в консоль или какой-то системный поток, и его подхватывать внешним, отдельным скриптом с сервером в ОС? Или сделать в моей программке tcp-сокет со своим простеньким протоколом, к которой уже будет подключаться http сервак (выйдет так же, как если http сервер встроить в программку).Не знаю, как нагуглить эту проблему, поэтому пишу сюда.
>>1472675Еще есть вариант отдавать json'ы и рисовать все уже на клиенте жабаскриптом. Плюс в том, что облегчает работу серверу, и допускает написание других фронтэндов. А если логика формирования данных простая, то можно сделать это и на С++, и даже без асинхронности, чисто в отдельном треде.Я бы выбрал подход с отдельным сервером на питоне.Как реализовать обмен между сервером и твоей прогой - вопрос, решение которого зависит непосредственно от данных. Например, если тебе нужно гонять гигабайты, то консоль не подходит, а memory mapped files - вполне заебись.
>>1472670корутины (при том, что они крутые, но как их готовить пока не ясно), концепты (средний двачер не ебашит шаблонное метапрограммирование), контракты не завезли. Самое страшное - это будет С++26 с метаклассами и рефлексией, там просто ад
>>1472778Бустовские корутины я года три назад использовал, проблем не вызвало.>Самое страшное - это будет С++26 с метаклассами и рефлексией, там просто ад Из C++ наконец-то сделают Clay?
>>1471368 (OP)Что насчет чистоты кода, интересности проектов на C++, ощущение величия и значимости того, что ты делаешь?Есть преимущества у C++ перед джавой по этим параметрам?Стоит ли, допустим, уходить с долларовой немодной и говняной вебсферы и легаси кода на джаве на язык C++ ради того, чтобы было бодро, модно, круто, интересно? Или в C++ точно так же пенсионеры месят говно с препроцессором и гордятся переходом на C++11 в 2019 году?
>>1472907Читаю эту годноту, всё по делу и с примерами, я правда еще ожидал увидеть какие-то общие имлементации стандартных контейнеров или хотя-бы рассказ о внутреннем устройстве, а там в основном фичи с ними.
>>1472914>>1472912Тогда вон тебе анон Йосуттиса посоветовал.Жаль, что ты проебали эксклюзивное для рашки предложение за 5 баксов. Но мб где-то на торрентах найдешь.
>>1472675прога срет в обычный текстовый лог, если надо сложнее - то организуется ротация логов и прочая поебота связаная с организацией процесса логирования (смотри хотя бы как организовано логирование в том же энжинх)далее эти текстовые логи открываются тексовыми редакторами, которые умеют подхватывать обновляющийся файл (тот же вим)и всевторой вариант - прога тупо срет в stdout/stderror, а ты в консольке уже все там все смотришь и обрабатываешь это все утилитами 50ти летней давности
>>1472967Текстовый лог? Я не разбираюсь в ос, но, надеюсь, диск особо не используется? А если файловой системы в принципе нет?
>>1472905Ну ты можешь в рантайме узнать что есть в enum, какие у класса есть методы, узнать в функции кто её вызывает и т.п.
>>1472972>диск особо не используется?у тебя настолько сильная нагрузка? тогда делают более продвинутые системы логирования - отключают своп буферов, к примеру, и делают его ручками, либо вообще пишут сначала в мапу, а потом уже эту мапу скидывают куском, плюс подключают асинхронку.. вариантов оптимизации масса..
Захотел сделать так, чтобы комп движения мыши преобразовывал в такой bluetooth сигнал, какой геймпад посылает консоли. Реально ли это или у них sony какая то защита?
Ситуация следующая, учил кресты 2 года, вроде надрочился, поры бы искать галеру, но есть одно НО! У меня образование внезапно 9 классов. Нет вообще никакого опыта работы, гитхабов и хоть чего-то из чего можно составить резюме. Что мне делать в таком случае?
>>1473048все простоидешь в технарь, учишся там пару лет, переводишся в технический вузик на кодера, три года бака, 2 года магистратура
>>1473014Я думаю, это зависит от того, что принимает твой блюпуп сигнал.Если ты сам это регулируешь, то отыщи идентификатор комповного блютус-устройства, научись им посылать сообщения и передавай движения мыши через него.Но я с этим не сталкивался, это только предположение.Так-то вряд ли это по логике от тех же сокетов отличается.
>>1473069Мне 24, какой технарь, лол. На РАБоту гонят уже во всю. Прям что вообще никуда не возьмут? Язык то я знаю. ДС если что.
>>1473074получаешь диплом инженера со специализацией программирование, идешь работать по специальности
>>1473084Не слушай студентиков даунов, иди в любую галеру. Если спросят про диплом, говори, что не брал даже, про шарагу можешь сказать, что бросил. Если им нужен диплом - беги нахуй из этой галеры, оттуда ещё совок не ушёл.
>>1473128Долбоеб, причём тут совок и диплом? Точнее я знаю почему, но в любом случае диплом стоит показывать. А уж 9 оконченных классов это вообще смех, недочеловек необразованный. Не удивлюсь если он и на митинги ходит
>>1473132Если он годный специалист и есть рвение, я бы его вместо многих своих коллег взялсовок-на-заводе-кун
Как работает back_inserter? Допустим i имеет этот тип, тогда (ЗВ)i=5 и(ЗВ)(++i)=5 Делают абсолютно одно и тоже, как так?
На пет прожекты смотрят на собесах?Если да, то что лучше выбрать в качестве пет прожетка на плюсах? В шараге делал небольшой компилятор на пару тысяч строк для выдуманного императивного языка, мне понравилось, но этого мало. Также смотрю в сторону чего то связанного с играми или графикой, можно сделать демку на opengl или игрушку. Еще можно сделать эмулятор какой-нибудь старой консоли типа NES (вот конкретно с этим не работал еще, поэтому не знаю, потяну ли).
>>1473292>На пет прожекты смотрят на собесах?nopбывает что на тех собес прискакивает челик кабанчиком, а даже и твое резюме не видел..поэтому, кстати, рекомендуют на собес приходить с распечаткой своего резюме
>>1473239конечно он годный специалистобразование 9 классов, никогда не работал до 24 лет и 2 года читал книжечки по с++
>>1473241>Как работает back_inserter? Возьми и посмотри. Алсо, https://en.cppreference.com/w/cpp/iterator/back_insert_iterator
Как нахуй читать msdn? Пытаюсь разобраться с блютузом. Статьи по 3 строчки , миллион ссылок, непонятно в каком порядке читать.
>>1473396>миллион ссылокСылки в конце статей - дань моде не пришей к пизде рукав. Забей на них, ничего важного не пропустишь.>в каком порядке читатьВ логической последовательности все упорядочено в менюшке слева, ориентируйся на здеся.
>>1473448>Короче возьму qt. Там норм документацияТебе для чего надо то? Для десктопа интерфейс проще делать на WPF каком-нибудь. Да, сишарп, но если не лезть в залупу, разницу с плюсами не почувствуешь.
Вот разделена у меня в qt программа на 3 файла. Как сделать так, чтобы не пришлось в каждом файле отдельно подключать библиотеки?
>>1473493Создать хедер, в нём заинклудить нужные библиотеки, а сам хедер инклудить в этих 3 файлах. Но это хуёвая идея, читать код потом невозможно. Оставь как есть, всё равно инклуды пишутся только один раз.
>>1473554На джаве ты можешь писать на джаве. А так, вроде бы всегда по вакансии кресты писал, но 20-50% времени тратилось и на другие языки. Хотя возможно мне так угораздило.
хакерманы выручайте скомпилируйте пожалуйста этот проект - http://itnotesblog.ru/note.php?id=272 (я пишу не на плюсах, так бы справился сам)ну или подскажите если есть готовый аналог где можно пощупать эффекты от OpenCV с ползунками
Аноны, пишу сейчас бэк для сайта на плюсах + кьют не бейте, я для практики, и не пойму с чего начинать. Создал пару синглтонов бд и сервер, а что дальше делать? Мне выходит в базе данных нужно хранить все страницы доступные на сайте? А как отправить http запрос после клика на сайт? Есть у кого пример какого-то элементарного бэка на плюсах?
>>1473801Ой зря ты эту тему поднял...Копай в сторону cgi. Страницы лучше хранить в виде отдельных файлов, которые нужно будет читать и отправлять клиенту (в cgi их содержимое нужно будет писать в stdout). Ещё понадобится веб-сервер, который будет на каждый запрос дёргать исполняемый файл твоего приложения.Но так никто уже лет 15 не делает. Бек лучше писать на специально предназначенных для этого языках.Возможно, для C++ особо упоротые даже создали свои веб-фреймворки. Может, там и годнота есть. Но вряд ли это приведёт к чему-то хорошему.
>>1473810Ну вот есть бд, в ней хранятся ссылки на страницы сайта + часть страницы генерируется динамически. Мне нужно просто отсылать ну или генерировать файлы клиенту? В кьюте есть вебфреймворк, нашел еще Wt но честно говоря не хочется с ним разбираться, каким-то он уж очень мудрёным выглядит
>>1473801статический контент ты будешь и так раздавать через веб-сервер, или цепочку веб-серверов когда большая нагрузка, в общем тема эта к крестам не относитсяа динамический контент, который надо генерировать, можно отдавать и нативным кодом на крестах, для этого раньше либо пилили свои html шаблонизаторы либо использовали готовые либы для этого, отдаваться они будут cgi либо fastcgi расширениями веб-серверовно щас типа веб 2.0 и подход есть другой: типа наружу с твоего бэка торчит rest api, а уже фронтендеры делают с ним магию на js; и никто тебе не мешает сделать этот rest api на крестах, к примеру, используя специально заточенную для этого библиотеку cpprestsdk
>>1473896То есть по факту мне просто нужно сделать бд и апи, а остальное делают фронты? В целом звучит логично, но разве не быстрее будет генерировать страницу на сервере и отсылать готовую, чем генерить ее каким-нибудь жсом? Или перфоманс сейчас не в моде?
>>1473915UPD: Узнал про web assembly который может заменить жс, так что всё заебись. Буду пилить рест апи. Анонам спасибо за ответы
>>14738961. У тебя будет http сервер, который занимается обработкой POST, GET, формированием страниц, обработкой скриптов.2. У тебя в qt будет ещё один сервак, на каком-нибудь :8099 порте, который будет отправлять json твоему сайту, все в идеологии rest.api. Причем какой-то даже спецлибы иметь не надо, фреймворки js с джейсонами на ты яваскрипт обджект нотейшн же, а qt прекрасно умеет эти json создавать, лучше даже, чем boost (в нем почему-то любой тип будет строкой, я не понимаю почему так нахуй)
>>1473915>разве не быстрее будет генерировать страницу на сервере и отсылать готовуюТут старый добрый выбор между latency и throughput. В вебе предпочитают throughput.Считается, что бизнес логика дольше отдачи обычной страницы, поэтому и выделяют фронт-энд (то, что показывается пользователю) и бек-энд (то, что производит действия с базами данных, что-то усердно считает и тд). Да, есть оверхед на каждый запрос, но теоретически, если один какой-то конкретный бек-энд перегружен, можно просто поднять ещё пару инстансов и уменьшится среднее время каждого запроса.
>>1473956То есть вот на примере имиджборды. В базе данных хранятся некоторые статичные страницы, которые редко изменяются и лежат в кэше. Пользователь заходит на сайт - мы ему отсылаем index.html со списком борд. Этим у нас занимается один сервер. Второй сервер при нажатии на какую-то из досок формирует json на основе базы данных список тредов скажем, а дальше это отсылается и парситься фронтом/передаётся первому серверу и он формирует html. Правильная схема?
Почему пример поиска блютуз устройств qt не находит мой телефон? видимость включена. Сейчас даже другой телнфон принес. Друг друга видят, а qt нет.
Где можно хостить С++ код? Нашел AWS Edu, но не могу разобраться, можно ли туда залить просто мой код на плюсах и его будут хостить? Почему мне впихивают амазоновские либы на пол гига, и хеллоуворды на 100 строк?
>>1474863А бесплатные варианты для студентов есть? Нам aws, azure и гугл клауд дали бесплатно, на чём-то из них можно без костылей деплойнуть крестокод чтобы он выполнялся без лишних морок?
>>1474860Копай в сторону VPS. Там можно хостить что угодно, софт ставишь сам. Есть даже такие, где можно даже свой образ ОС накатить.Бесплатно и бессрочно, конечно, такое встречается редко. Но есть пробные на несколько месяцев, там наиграться успеешь. Да и 200-300 р в месяц - это не так уж и много.
>>1474872Можно туповатый вопрос? Мне выходит дали бесплатную машину, которую хостит майкрософт, а я туда могу хоть вычисления протеинов поставить, и оно будет работать пока деньги не закончатся? Я думал что необходимо написать код, а сервис будет хостить конкретно его.
>>1474889Я не знаю, что у тебя за бенефиты, как у студентика, по-этому тяжело сказать. Но если можешь бесплатно создавать ВПСки - то делай так.В моем примере - у меня ежемесячно есть халявные 50 бачей в ажуре (у меня MSDN подписка на вижуал студию, на работе купленная, в них это входит), я там хостю впску для майнкрафта и телегопрокси, в месяц сжирается бачей 40, вот и всё.
>>1474895Да мне много не надо, для обучения и хостинга небольших серверов, дают мне 100 баксов при старте и всё, спасибо за ответ.
Как сделать так, чтобы ui был виден в любом месте программы? Знаю что это плозая практика, но программа у меня маленькая, а геттеры и сеттеры только усложнят все. Перенос объявления ui и private в public не дал результата. че за причина блокировки на пике? абу пидорас
istream_iterator<string> instr(cin),end; vector<string> str; copy(instr, end,back_inserter(str));Как сделать, чтобы слова читались после ввода символа новой строки? А то они начинают читаться только после ctrl z
Почему не выводится центральный виджет в QMainWindow???Пишу:setCentralWidget(paintArea);paintArea->setGeometry(0,0,300,300);paintArea->setStyleSheet("background-color: black");paintArea->show();Делаю сборку, нихуя не выводится. Пустое окно. А должен появится черный квадрат в центре окна.
>>1474929Дотнет быдло, ты? Хуярь глобальный контекст, кресты это не тоталитарная ОПП-параша, так что не ссы, тут так можно делать.
>>1475585Что значит "компонент"? Имеется в виду, что я должен написать ImageEditor::ImageEditor() : paintArea(new PaintArea)так?ImageEditor наследует у QMainWindow, если что.
>>1474872В итоге так и сделал, просто скомпилил и залил на виртуалку, оттуда запустил и готово. Всем спасибо за помощь
Почему у меня центральный виджет присваивает себе размер всего лишь 640х480, хотя у него стоит setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored)? То есть по sizePolicy он должен занимать все свободное место. а на деле - пикрил, дохуя свободного места.Ничего не понимаю.
>>1475747А они трапиковов принласы потому, что те реально классные прогеры? Или есть другая уважамая причина?
>>1475747я хз, но комменты на трубе отключили, хехраньше они комменты отключали у видео где телки выступали с тупыми докладами и их начинали обсирать, DDD
>>1475747В общем случае, если у тебя выделение/освобождение памяти отделено от конструирования/удаления объектов.Вектор уже упоминули, как пример.
>>1471368 (OP)Ньюфаг вкатился с парой вопросов:1. Каковы перспективы языка? Есть ли шанс, что его доля на рынке резко упадёт через пару лет?2. Велика ли разница между C и C++? Стоит сначала выучить C для лаб в вузе, а только потом вкатываться в плюсы?
>>14758461. Даже если сегодня внезапно появится йоба-язык который займет все ниши плюсов, то еще лет 30 нужно будет поддерживать уже написанный софт, но зарплаты по сравнению с аналогичным стеком на других языках ниже, так что сравнивай по своему городу.2. Часто вижу что рекомендуют сначала учить С, а потом переходить к плюсам, но одни говорят одно, другие другое. Если время есть то в принципе можно, но тут пусть более опытные ответят
>>1475846>Каковы перспективы языка?В разработке новых стандартов активно участвуют крупные разработчики => значит у них есть планы на будущее крестов.>доля на рынкеТы на бирже собрался играт или што?>Велика ли разница между C и C++?Огромна>Стоит сначала выучить CБез знания Си в любом случае не обойтись.
>>14758461. В фейсбук\гугл\амазон\нетфликс\микрософт крестовики всегда будут нужны. То, что крестам пиздец уже пару десятков лет точно все квохчат, однако они живее всех живых. Язык активно развивается. Через пару лет ничего в этом плане не изменится2. Если ты студентик и думаешь во что вкатываться - вкатывайся в вебговно.
>>1476088>фейсбук\гугл\амазон\нетфликс\микрософт крестовики всегда будут нужныхуйнявеб обезьян туда надо на несколько порядков больше даже и в майкрософт тот же, внезапнов майкрософт еще много на шарпе кодят, студентосов что туда приходят вджобывать пересаживают с крестов на шарп и вперед, пахай
>>1475810Гугли smart iterators. Это хрень типа back_inserter, которая не просто передвигается по контейнеру, а может делать что угодно, например считывать ввод или докладывать о тебе товарищу майору по сети.
>>1475712Опять я, аноны которые работали с азурой подскажите: скомпилил для теста програмку простого сервер, запускаю через консоль на сайте эхо-бот для телеги, всё работает как надо, но через 15 минут просто перестаёт отвечать на запросы. Залил вторую програмку которая дебажит таймер каждые 5 секунд, судя по всему не умирает, так что проблема где-то в соединении. Может азура блочить сеть для виртуалки? Нашел такое только для WebApp
>>1474929Раскури, что такое ui там и нахуя там агрегация.Как поймешь - больше таких вопросов возникать не будет, сможешь даже наследовать.
Объясните, почему тут вопросы такие унылые?Зачем спрашивать то, что в справочниках или на стековерфлоу найти можно?Где вопросы по дизайну, архитектуре, по бусту, по алгоритмам, сплошные какие-то Кьютопроблемы.Что может быть проще формошлёпства на КуТэ, и с этим справиться не могут.
https://www.reddit.com/r/cpp/comments/d5hyxr/cppcon_2019_bjarne_stroustrup_c20_c_at_40/?sort=oldхех, на реддите тоже порезали комменты под видеовидно из за трапика вначале видео:D
Кстати про шапку>>> Его никак не получится выучить за 21 день, ну вот совсем никак. Ложь-пиздежь и провокация. C++ легко учится за 21 день по той самой книге.
В Qt, я так понимаю, есть выбор, пилить интерфейс с помощью ui-форм или qml? В чём преимущество одного перед другим?
>>1476561Ну конкретно по кутям достаточно сложно нагуглить как реализовать определённый элемент интерфейса, тот же TreeView только в первых контролсах, которые депрекейтнут в следующих обновах, вот и спрашивают как костылить самому. А с остальным в принципе согласен, но без таких вопросов тред то особо и не нужен, будут два сеньора сидеть друг с другом общаться
Вот я написал в Qt блокнот и калькулятор, оба экзешника весят по 50 кб (с иконкой 220 кб). Когда я использую на них программу windeployqt, к ним в папку добавляются всякие зависимости. И теперь они весят по 50 мб. Что-то многовато для простенького блокнота и калькулятора? Может оно там чего лишнего насоздавало, чем мои приложения даже не пользуются? Зачем там D3Dcompiler, например? Как сделать, чтобы windeployqt добавлял только самый минимум зависимостей?
Аноны, кто пользуется visual studio, как на ней работать с консолью? Можно ли открыть консоль в проекте прописать хуйню для препроцессора time и проч? (gcc -E аналог)
>>1476817есть консоль разработчика отдельно, где ты можешь поделать все, что считаешь нужным.В 2019 апдейт 3 который скоро выйдет - консоль будет внутри студии
Что скажете про курсы от Computer Science Center на Stepik? https://stepik.org/course/Программирование-на-языке-C++-7/Хороший вариант для вката?
>>1477085>>1477088имхо, если ты задаешь такие вопрос, то скорей всего тебе лучше надо прочитать K&R сначала с выполнением всех упражненийвторое, если ты готов отбашлять немного бабла, то лучше всего 4 курса по с++ от яндекса на курсери, они охуенные, лучшие курсы на русском по крестам на данный моменткурс на степик - это такой вариант для совсем нищих, хотя и тоже относительно неплохой
>>1476603Если жилье оплачивают и всячески помогают в релокации, то езжай. Снимать жилье 30-40к, транспорт 5-10к, еда дороже. Вот и считай. Если хотя бы 50-60к надбавки будет, то езжай, если нет, то думаю не стоит.
>>1477118Такси из бара, которое ты будешь вызывать каждый день, потому что жизнь в ДС такая тоскливая, что выход один - алкоголизм
>>1477110это самая базовая книгаимхо, начинать нужно с нееебашишь все упраждения обязательноа потом уже начинаешь грызть крестылучший способ сейчас - это 4 курса яндекса на курсерепосле всего этого можно считать что ты хотя бы понял что-то в крестах, самое базовоеговорю с высоты своих прожитых лет
Прывітанне, анон. Хочу как хобби изучить С++. Не считая школьного паскаля, не кодил. С чего начать? Стоит перед учебой языка читать книги из раздела "Информатика" в предложке? Все? Если читать их, то сколько времени это займет? Книги в предложке норм или что-то другое брать?Я хочу добиться уровня знаний, достаточного для помощи в разработке опенсорса, написание своих небольших программок и драйверов, и работы в игровых движках.
>>1477026Простенький п2п мессенжер денег на сервера нет, расписание для пар вуза с фичами которых нет у аналогичных приложений (может видел я тут раньше советов спрашивал), шахматы со всеми правилами, и по мелочи еще пару, в основном всё простенькое, ради обучения какой-то технологии. Если посоветуете что-то годное и я смогу за год его написать то буду премного благодарен
>>1477129Ну хз, мне не зашла, слишком много воды, функции только под конец книги изучают, лол. Грубо говоря переменные, массивы, указатели, функции растянуты на 1к страниц, тоже самое можно навернуть за полчаса на ютубе.
>>1477256> Если посоветуете что-то годное и я смогу за год его написать то буду премного благодарен Поиск ошибок оформления госта в работах (курсовые, дипломные). Ну всякие отступы, интервалы и тд.
>>1477278k&r 300 страниц книга, причем без приложений - 150 страницэто апофеоз лаконичности и краткости вообще то
copy(k.begin(),k.end(),back_inserter(h));Компилятор выдает гигантскую ошибку из за этой строки. h multiset, v vectorВ чем проблема? Если использовать inserter то все работает.
>>1477322Для этого ведь надо знать все эти работы, а я диплом и не писал еще. Ну попробую, если там не тысячи правил то может напишу
>>1477593Работы знать не нужно.Обычно преподы дают некую методичку\файл по оформлению работ. Там всё прописано со ссылками.
>>1477654> пользоваться стл, вместо написания своих собственных реализаций, более подходящих под конкретный случай
В книге второй вариант назван более удачным, но по мне так он тяжелее для понимания и вообще более длинный. Разве я не прав?while(cin >> w)++word[w];while(cin >> w){auto ret = word.insert({w,1});if(!ret.second)++ret.first->second;
Аноны, пишу свой простенький сервер для своего же приложения, пользуюсь Qt Network. Не могу ничего найти, в каком виде мне нужно отсылать/получать данные от клиентов? Я так понял можно это делать как угодно, а как правильно?
>>1477709Насколько я разумею, у современного стл есть только один большой изъян - это аллокация памяти. Поэтому писать свои велосипеды вне этого контекста - суета и томление духа.Вон EA, например, давно уже хер положили на свою EA STL.
>>1477709Ты вектор то корректный напишешь, с перемещением и гарантией корректности для исключений, писатель?
>>1477709> писать собственные реализации из говна и палок, ничего не зная о собственной операционной системе, вместо того, чтобы пользоваться готовым инструментом от знающий людей.
>>1477720Бля, я понял что у меня недостаточно знаний чтобы написать то что я задумал. Можете посоветовать что-то почитать/посмотреть об архитектуре сетевых приложений? Танненбаума по сетям читал, но там немного не та инфа что мне нужна.
https://dtf.ru/flood/70897-sravnenie-chisla-strok-koda-kotorye-nuzhno-napisat-dlya-otobrazheniya-treugolnikahttp://sol.gfxile.net/temp/hellotriangle.pnghttps://gist.github.com/Overv/7ac07356037592a121225172d7d78f2dhttps://toster.ru/q/426482
У WinApi есть стили оформления окна? Есть что-то вроде VNS, но там замечены лютые тормоза, возможно из-за того, что все окна там в стиле вин хп, хотелось бы узнать какой параметр отвечает за стиль хп/вин7/вин10
Хочу сделать flat интерфейс, без всяких рамок, верхней полоски и прочих говен стандартных окон винды. Просто белый квадрат, который можно двигать, захватив его в любом месте. В какую сторону курить?
Нужно ли оборачивать функции в extern "C" в файле имплементации(cpp) и в заголовке или достаточно только в заголовке?
>>1476643Потому что Qt5Core, Qt5Gui, QtWidgets, например, внутри себя содержат код всех классов, описанных в этих модулях, и поверь, их там дохуя.Эта проблема описывается двумя аспектами1. Шинда ебанутая, в которой всё по принципу "23 копии одного и того же, но зато всё свое ношу с собой". В прыщах Qt с системой поставляется, и кроме исполняемого там ничего вообще не нужно.2. Кьют - монстр, что пиздец. Всё на все случаи жизни. По этой причине модули дохуя весят, и соответсвенно их бинари.Пользуйся советом другого анона - линкуй статикой, тогда возьмешь только то, что реально используется.
>>1478179Это не оборачивание.Это директива экспорта. Пишешь его только в декларации, в hpp файле. В cpp писать не нужно.
>>1478179Только в тех файлах, что инклудишь.Не забывай - там где помечены функции как extern "C", нельзя ничего плюсового использовать. Ибо потом в чисто сишный проект не подрубишь, Си о плюсах не знает.
>>1477709А я этого анона поддвачну. STL создана быть простой и надёжной, а не производительной. А заточка под конкретный случай -- это как раз то, для чего и нужны плюсы. Часто бывает, что нужно хранить в контейнере тривиальные типы, часто ещё известен характер доступа и так далее. В любом случае, информации куда больше, и можно писать контейнеры с минимальным функционалом, которые могут оказаться во много раз быстрее стандартных решений. У меня так валяются тривиальный вектор и хэшмап на реаллоках.
>>1478184>линкуй статикой, тогда возьмешь только то, что реально используется.А разве линкер не будет библиотеки целиком цеплять?
>>1478231Это значит, что все _используемые_ символы будут в одном бинарнике, т.е. не будет необходимости поставлять с приложением библиотеки
>>1478211не верьте этому сученкуон наебашил кривой хешмап с коллизиями, никак его не тестировал, тупо замерил скорость вставки в тривиальных случаях, и такой: "ЭЭЭ я пиздатый, а разрабы stl - дауны, DDD"стался с ним пару месяцев назад, но ему ничего не доказать, непробиваемый
>>1478237А, понял, это без дллок, да? Получается, что я всю жизнь линкую статически, т.к. с дллками никогда не имел дела. Я многое потерял?
>>1478282Скорее всего ты через ide запускал, которая настраивает окружение и пути к библиотекам.Или не использовал библиотеки вообще
>>1478178Зависит от библиотек, но обычно это что-то вроде "window hints", "window mode", "window flags".Захват и перемещение - это нужно обрабатывать события мыши.
Глупый вопрос, но как реализованы базовые типы вроде int? Вот есть всякие строки, но с ними то понятно, они реализованы с использованием базового char, а вот как работает сам чар не понятно.
>>1478323Они реализованы аппаратно.В памяти или регистрах хранятся байты, а в них - биты. На уровне машинного кода можно работать с группами байтов строго определённых размеров, например 1, 2, 4 или 8 байт. Ещё над ними определены арифметические и другие операции, которые тоже реализованы аппаратно.А высокоуровневые языки просто обращаются ко всему этому и вводят свои обозначения, вроде int или char.
Почему нельзя все массивы и переменные хранить в стеке? Ведь проц быстрее эти данные обрабатывает чем в куче.
>>1478330Потому-что почти везде стек размером в 1мб, редко где больше. Если ты хеллоуворд пишешь то может этого и хватит, иначе пиши нормальный код.
>>1478382Похоже, ты не понимаешь, как работает стек.Стек на каждый процесс свой. Если каждому процессу давать по гигу, представь, что будет.
>>1478396Добавлю что даже если у тебя овердохуя памяти, то найти 1гб или сколько там последовательно лежащей памяти не всегда является возможным, а если и возможно то это будет нести такие накладные расходы что ты охуеешь.
Что делает данная строкаreturn hash<string>()(s.isbn());s.isbn() возвращает string.В частности не понятно, что за пустые скобки после hash<string>
Доброго времени суток, господа пацаны. Хочу освоить чистый WinApi. Не спрашивайте зачем. Подскажите-ка пжлст годной литературы по этой теме. Заранее дякую.
>>1478439Programming Windows, Charles PetzoldWindows via C/C++, Jeffrey RichterWindows System Programming, Johnson Hart
>>1478330>эти данные обрабатывает чем в куче.Уверен? И те и те просто указывают на разные зоны памяти, а как эти зоны отображены на физическую одной ос известно.
>>1472778Какие же плюсаны говноеды, прости божечки.Как можно этим говном заниматься в 2019, когда есть java/scala/rust/go и FFI?мимо-оп-1x-тредов
>>1478627Одно слово - перформанс. Оно отсекает java, scala, kotlin, python, js и кучу других языков. Да, иногда важна не скорость написания кода, а скорость выполнения.Go - недостаточно зрелый и сейчас по возможностям это явный шаг назад. Инструментов мало, библиотек мало, нужных конструкций в языке мало.Rust и D - вообще шило на было.Будут ещё альтернативы? Убийцы крестов до сих пор нет и пока не предвидится.
>>1478647Забыл добавить, что в основном пишу на питоне и жабе. Это на случай, если тебе моё мнение кажется предвзятым.
>>1478647Одно слово - предварительная оптимизация.Так вышло, что в одной компании, где я работал, писали две версии одного продукта на джаве и на плюсах. Я бывший плюсан, но перешел на джаву. 4 человека за полтора года написали тот же функционал, что 8 крестух за 4 года. Когда начали бенчмаркать, джава версия на тяжелых сценариях отставала на 15%. После небольших оптимизаций, отставание стало 5%.Все это манясказки про перфоманс. Вот памяти джава жрет дохуя - это да. Но в любой ситуации можно либо заоптимайзить горячие участки кода прямо в джаве (в том числе и по памяти), либо вынести в плюсы/c/rust через FFI.Вот что на языках с gc сложно писать - так это latency critical сервисы. Но опять же - rust, либо ffi.Писать продукт целиком на плюсах в 2019 году - это или легаси или аутизм.
>>1478667> 4 человека за полтора года написали тот же функционал, что 8 крестух за 4 годаЯ конечно понимаю, что с пастой говорю, но написать продукт с нуля != переписать на другой язык
>>1478677>>1478678Вы ебанулись, какая паста? >написать продукт с нуля != переписать на другой языкКоманды между собой не общались в виду религиозных предпочтений крестанов. Оттуда ничего не заимствовали. Алсо плюсаны сами занимались переписыванием с нуля старой версии того же продукта. Так что аргумент мимо кассы.И вообще ты пропустил суть моего сообщения - джаву совсем не сложно заоптимайзить до плюсовой скорости, по памяти сложнее, но как минимум можно избавиться от неприличного жранья.
>>1478687Потому что latency critical, маня. GC никто не отменял.Вы тут все такие нубы, что ли? Что за тупые вопросы.
>>1478685Только ты забыл суть джавы, джава это как виртуальная машина которая исполняет спецефический код. Виртуалка никогда не будет быстрее готового ехе файла.
>>1478693Лолшто. Во-первых схуяли не будет, во-вторых в некоторых кейсах может даже обгонять. Слышал про profile-guided optimization?
>>1478667Просто не надо на крестах писать такой софт, который можно написать и на других языках. Кресты нужны там, где без никак -- low latency или системщина. А бэкенд для интернет-магазина можно и на питоне сделать.
>>1478321Так я и спрашиваю, какую библиотеку выбрать под это дело, даже не знаю с чего начать, в винапи не хочу углубляться.
>>1478751Смотря что тебе нужно.Если просто рисовать 2D-графику, хватит SFML или SDL. Здесь и белый квадрат, и рамки можно скрыть.Если нужен сложный гуй со всеми возможными кнопками, событиями и виджетами, то бери Qt, там тоже можно настроить всё, что хочешь. Можно всё то же, что можно в двух предыдущих.
>>1478667> Писать продукт целиком на плюсах в 2019 году - это или легаси или аутизмЛол. Найс у тебя выводы по результатам собственного опыта работы в ООО Галера #1, небось вы там на СИ с классами писали, а не на современном С++. Стандарты хоть откройте, почитайте, легаси блять.
>>1478755Секта свидетелей нового стандарта? Модули заюзал уже, говноед? Еще небось собираешь cmake'ом свое говно в Galera LTD
>>1478794Какая разница, что там под капотом? Пиши тогда на ассемблере, зачем тебе C++. Это если ты аутист и не понимаешь, что уровни абстракции – благо.
>>1478803Имплаинг у С++ ассемблер под капотом, лол. Тут то ты и спалилась, джаваблядь. Иди фундаментальные вещи учи, потом с дядями спорить будешь.
>>1478818Каргоребенок, просвети же нас, что там у C++ под капотом. Божья помощь? Или швитой перфонманс? Или все же закодированный ассемблер?Ты же в курсе, что джаву тоже можно компилить ahead of time? А C++ можно компилить just in time? И компиляторы C++ так же, как и javac, создают «богомерзкий»(в твоем представлении) IR в процессе своей работы?А еще твой охуенный бинарничек helloworld, скомпиленный из святого C++ кода, нельзя запустить без массивной поддержки со стороны операционной системы, которая, о боже, не написана на этом языке богов под названием C++. А потом это все запускается на процессоре, который внезапно не на плюсах написан, а на verilog и vhdl. Как они посмели создавать настолько производительные вычислительные устройства без участия C++!
>>1478822>verilog>vhdl>a Hardware Description Language; a textual format for describing electronic circuits and systems. Applied to electronic design, Verilog is intended to be used for verification through simulation, for timing analysis, for test analysis (testability analysis and fault grading) and for logic synthesis.Это же языки для описания чипов ты че
>>1478822Сразу видно что ты низкоквалифицированный маняфантазер, свалил в кучу никак не связанные между собой вещи. Я вижу ты умеешь выхватывать рандомные фразы и модные слова из вики, думаю тебе не составит труда самому взять и загуглить ответы на вопросы.>А еще твой охуенный бинарничек helloworld, скомпиленный из святого C++ кода, нельзя запустить без массивной поддержки со стороны операционной системы, которая, о боже, не написана на этом языке богов под названием C++.Всем офисом смеялись. Да, никто ничего на плюсах не пишет, и у нас тоже ОС написана не на плюсах.
>>1478818Лол, а что там по-твоему, нюфаня? С каких пор процессоры стали выполнять C++ код?gcc -S main.cpp
>>1478947А это что, по-твоему? Это язык ассемблера, в который gcc компилирует твой исходный код перед тем, как передать его ассемблеру as для получения машинного (объектного) кода.
>>1478836А с каких пор чипы у нас не являются алгоритмами? Чип - это обычный конечный автомат.>>1478947Специально для дауна-тебя я написал «закодированный ассемблер»>>1478838> Да, никто ничего на плюсах не пишет, и у нас тоже ОС написана не на плюсахВо-первых пишут и много (к сожалению), во-вторых ОС и на джаве можно писать, но нормальные люди делают это на C, в-третьих мой тезис в том, что C++ мир не ограничивается, C++ - плохой язык по многим критериям и в большинстве случаев на нем что-либо писать не стоит. Причем, ситуаций, где на плюсах все же стоит писать, много меньше, чем считают большинство крестух.
>>1478954Причем здесь ассемблерный листинг сгенерированный компилятором и работа под капотом? Какую работу под капотом выполняет ассемблер? Процессор выполняет не ассемблерный, не объектный, а машинный код.
>>1478822>А еще твой охуенный бинарничек helloworld, скомпиленный из святого C++ кода, нельзя запустить без массивной поддержки со стороны операционной системы, которая, о боже, не написана на этом языке богов под названием C++.можно, сладенькийсходи, послушайhttps://cppconf-piter.ru/2019/spb/talks/6qg8fm0kyjee4cqoiv1rda/ну или в гугл c++ bare metal
>>1479016А, то есть на С нормально, а на С++ нет? Типичный хейтер экей джавадебил. Все главные оси винда, линукс и макос написаны на С, только потому, что крестов как таковых просто не было, был С с классами. Естественно ядро никто переписывать не будет, но все новые компоненты ОС обычно пишутся на С++.>>1479028Тсссс, не пали.Пусть думает, что все кофеваркина джаве работают, а С++ так не может! У него рантайм тяжелый, который конечно же нельзя выбросить! Только на винде все запускается, только на винде!
>>1478667>человека за полтора года написали тот же функционал, что 8 крестух за 4 года.Объясните мне, для наемного работника какая нахуй в пизду разница?Какой бы эффективный инструмент ты не юзал, у твоего работодателя все равно всегда цель одна - выжать тебя до капли.
>>1479041> Все главные оси винда, линукс и макос написаны на С, только потому, что крестов как таковых просто не было, был С с классамиВ ядре ООП (или что ты там от плюсов хотел) нахуй не нужен, он перегружен и разворачивается в дерьмище. C с struct хватает. А всякие окошечки, гуи, какие-нибудь компоненты ОС где память, производительность не нужны можно писать на чем хочешь.
>>1479097Хватит уже из пальца высасывать и подменять понятия. Сборщик и язык ассемблера это не одно и тоже. Современные компиляторы могут исключать этот пункт вообще, листинг генерируется исключительно для удобства.
>>1479108> Современные компиляторы могут исключать этот пункт вообщеГде об этом прочитать? Могут это значит что они так делают или как? Насколько современные?> Step Two: Compilation & Assembly> The next stage of compilation in C++ is very similar to what happens in C. The compiler takes each output from the preprocessor and creates an object file from it in two steps.> > First, it converts the pure C++ code (without any # directives) into assembly code. Assembly code is binary code that we can read.> > Step 3: Assembly> Next, the assembler converts the assembly code into bit code, line by line. The output of this stage is a binary file in format COFF, ELF, a.out and similar. You can always stop compiling at this point, which is a useful feature since you can compile each code separately.
>>1479124Сейчас стадии примерно такие:1. препроцессор препроцессит2. лексер=>парсер=>абстрактное синтаксическое дерево. На этом этапе реализуется синтаксический сахар.3. Из AST генерируется IR-код (данные которыми общаются между собой фронтэнд и бэкенд компилятора). Это тоже по сути дерево. Если программист попросит, можно выдать текстовое представление IR-кода4. К IR применяются оптимизации - разного рода преобразования ветвей дерева. После оптимизаций можно получить опять текстовое представление5. Из IR напрямую генерится объектный код ЛИБО если программист попросит - его текстовое представление. Тратить время на создание текстовой портянки, когда компиляция занимает часы - дорогое удовольствие.Линковка, скорее всего, тоже производится на уровне IR, я в этом не разбирался.Пример самого современно компилятора си-семьи - clang/llvm. С gcc все сложнее, потому что он древний и в нем куча легаси консольных команд.
>>1479136>я в этом не разбиралсяДа мы уже поняли, IR у него без ассемблера исполняется, охуеть.Всем остальным пидорам, которые этому дауну отвечают желаю выкатиться из айти, если этот семен сам себе не написывает канеш.
>>1479199>честно говоря, не вижу в этом никакой проблемы. И да, я последний год ем говно>>1479041>Естественно ядро никто переписывать не будет, но все новые компоненты ОС обычно пишутся на С++Тут ты прав. Этот мой аргумент - инвалид:>во-вторых ОС и на джаве можно писать, но нормальные люди делают это на CСобственно, остальные аргументы никто не отменял:>мой тезис в том, что C++ мир не ограничивается, C++ - плохой язык по многим критериям и в большинстве случаев на нем что-либо писать не стоит. Причем, ситуаций, где на плюсах все же стоит писать, много меньше, чем считают большинство крестухАлсо не понял, вы всерьез сретесь на счет того, что процессор исполняет не ассемблер, а машинные коды? Пиздец просто
>>1479345Ебанатский спор про машинные коды двачую, а про сихуйцы че против имеешь, какой язык дает норм скорость, возможность ебать память и достаточно абстракций?Ржавую залупу с пересиливанием борроу чекера не предлагать, такая же хуйня, как и котлин.
>>1479360После многих лет разработки на плюсах у меня на расте с борроу чекером проблем совсем не возникает. Уж плюсовику жаловаться на борроу чекеры как-то совсем не комильфо.>какой язык дает норм скорость, возможность ебать память и достаточно абстракцийТолько rust, но он только на ноги становится. Другое дело, что ультимативная скорость и потребление памяти нужны очень не всегда, особенно с учетом потенциального превозмогания C++. Отсюда тезис: >Писать продукт целиком на плюсах в 2019 году - это или легаси или аутизм
>>1479336>Да мы уже поняли, IR у него без ассемблера исполняется, охуеть.шланг ебашит прямо в машкоды, но может и асм код сгенерить который уже ассемблером целевой машины в объектник буде перегнангсс ебашит асм который в as скармливает, но может уже сейчас и тоже напрямую в машкоды ебашить научился, я не в курсе этогов общем и так и так можно
>>1479076генерит само собойа потом генерит из ir объектники с машкодамину или может сгенерить асм код чтобы потом он ассемблером целевой платформы скомпилился в объектникно второе нихуя не удобно тк замедляет компиляциюэто если вкратце говорить
>>1479336Ты реально такой тупой? IR у него исполняется. Жопой воротишь и искажаешь понятия из-за своей некомпетентности.
>>1478260Пользуюсь этим хэшмапом сам. Тестил на куче входных данных, прирост производительности раза в 4 в среднем. Размеры данных до 10 миллионов вхождений, коллизий процентов 30, но в моей задаче лучше быстрая хэш-функция, чем меньше коллизий. Мапу юзая в основном для вставки и поиска.
>>1479722о, да деткастандартный хешмап сначала 15 лет в бусте обкатывали, потом 5 лет в стандарт принималипри этом трудились десятки людей, как с cs бэкграундом, так и практикующие se разрабыа тут васян взял и написал на коленке хешмап и на вставку пиздатый и на поиск пиздатый и вообще охуенныйиди ты подальшесамое хуевое что может случится - это унаследовать код от таких ублюдков, которые пишут свои необоснованные велосипеды, функционал которых дублирует возможности стандартной библиотеки
>>1479722>Не смог настроить стандартный unordered_map>Наговнокодил свой вариант>Мам, у меня быстрее, слышишь?
>>1479722Вангую, что ты просто хешфункцию сменил. Нахуя надо было писать свою хештаблицу для этого? И что там принципиально вообще можно ускорить? Для тебя, наверное, будет открытием, но все оптимизированные хешмапы в серьезных языках работают с +/- одинаковой скоростью, потому что упираются в железо
>>1479740Стандартный -- он обобщённый, на все случаи жизни, понимаешь? Если бы в стандартной библиотеке был хэшмап для тривиальных типов, я бы пользовался им. А так, у меня два жирных куска памяти, с правильной хэш-функцией кэши моего процессора счастливы. При доступе без промаха у меня происходит одно разыменовывание, в стндартном контейнере два. И так далее, он тупо устроен принципиально по-другому, работает только на моей задаче, и только поэтому быстрее.
>>1479829Так что конкретно ты хранишь и что поменял в реализации таблицы? Структуру бакета? Аллокатор?
>>1479879Я же написал. У меня бакетов как таковых нет, есть большой кусок памяти основной и специальная структура данных для хранения коллизий, тоже одним куском. Хуярю реаллок, не вызываю пустых конструкторов и деструкторов (только копирование, но это для тривиального типа memcpy). Коллизии, получается, рядышком лежат.
>>1479765Можно написать мапу с открытой адресацией, она будет быстрее в среднем (в STL закрытая адресация), но этот даунич врятли знает такие тонкости
>>1479899Ты ебанёшься отлаживать свой велосипед с этой твоей умной открытой адресацией. Теоретик хуев, у тебя тупая и простая оптимизация перед глазами, а ты лезешь в дебри.
>>1479765>оптимизированные хешмапы в серьезных языках работают с +/- одинаковой скоростью, потому что упираются в железонихуя!у него в 4 раза быстрей все работает )_)мы уже срались с ним в прошлых тредах, он даже свой код кидал, там такой пиздец, я ебу
>>1479904Ты какой-то припёзднутый. Я сюда пока ничего не кидал. Можешь почитать мою структурку данных для хранения коллизий, она правда непричёсанная.https://pastebin.com/Tkvb2ktb
>>1479905о, дак ты оказывается не первыйв прошлых тредах тут тоже был персонаж который свой хешмап написал, а потом до усрачки утверждал, что у него лучше чем в стандарте ))бля, теперь понимаю за что крестовиков недолюбливают - велосипедостроение у них в крови
>>1479907Я не утверждаю, что мой лучше, алло! Мой хэшмап вообще не поддерживает нетривиальные типы, ты это понимаешь? Ты точно читаешь то, что я пишу, или лишь показать, какой ты умный?
>>1479907Велосипедостроение -- это вообще лучшее, что может произойти с кодером, если это происходит в процессе обучения. Если на работе, то это тяжёлая работа и большая ответственность. Поди объясни начальнику, какого хуя ты не взял готовый контейнер, а проебал неделю рабочего времени на написание своего. Результат может быть положительным, а можно и хуйца соснуть. Мне коллега решительно не верил, когда я взялся писать хэшмап. Хотел мне по губам провести шершавым, накачал всяких google_dense_map-ов и уселся тестить. Ничё, на моей конкретной задаче мой конкретный мап спокойно давал всем пососать. Не потому, что он там лучше всех остальных, а потому, что он заточен под конкретный таск. Это позволяет вводить охуенные предположения при его проектировании, и всё.
>>1479908эй, по ссылке вообще не хешмап, о чем вообще речь? ты шутишь чтоли?ты организовал доступ по целочисленному индексу в разреженном массиве
>>1479913>ты организовал доступ по целочисленному индексу в разреженном массивехотя нет, там даже еще тупее сделано
>>1479911>какого хуя ты не взял готовый контейнер, а проебал неделю рабочего времени на написание своегои, правда, какого хуя..
>>1479911ты понимаешь что следующий кодер, который сядет на сопровождение твоего велосипеда, который доедет до продакшена, буде тебя проклинать?
>>1479923Мне подают меш, объёмами, по очереди. Один объём -- это вершины (трёхмерные вектора), грани и рёбра (индексами). Мапами срезаю дубликаты плюс собираю границу меша, чтоб потом рисовать.
>>1479926Если кодеру не захочется трогать мой мап, он его заменит на стандартный. Интерфейсы абсолютно совпадают, как и эффект.
>>1479922лучше пиши про юзкейс, в котором unordered_map не подошел по скорости деанонить и срать на тебя rl никто не буде, это в интернете мы храбрые ))напоминаю, что комитет оче долго сопротивлялся включению мапы на хешах в стандарт, потому что вообще считали что скорости мапы на деревьях достаточно для подавляющего большинства применений этой структуры..
>>1479887>коллизии рядом лежатуйди нахуй а коллизия это когда хеш получился такой же для двух разных элементов, знаешь слово такое пиндосское есть collision
>>1479931Под мои юзкейсы std::unordered_map подходит отлично (сильно лучше std::map), но внутри него происходило то, без чего можно было обойтись -- лишние уровни косвенности, короче. Ну я их и вырезал, всё.
Да расслабьтесь, парниша ничего криминального не сделал. Максимум за говнокод и отсутствие доки можно покритиковать, но про доку мы наверняка не знаем. Ну и мб все же можно было найти/настроить структуру данных из уже поддерживаемой внешней либы, но тут кода с гулькин хуй
>>1479935Да я сделал самое криминальное из всего, что только мог -- упрекнул их в некомпетентности и лени. Видал, как крышу сорвало?
>>1479939Ты хотел сказать «жирно набросил на вентилятор про STL, основываясь на очень специфичном кейсе в обработке физики или рендеринге»?
>>1479943Я вообще не упрекал STL, она по моему мнению шикарно сделана. Я просто внёс тезис по поводу оптимизации на специфичном кейсе, а меня попытались обоссать. Получилось или нет, пусть решают зрители.
>>1479934>без чего можно было обойтись -- лишние уровни косвенностиэто какие такие уровни?по тому коду что ты запостил, видно всего лишь что ты выделеление памяти делаешь через маллок (и это в крестах в 19 году), держишь все одним куском памяти и делаешь реаллок - техника аж пятидесятилетней давности..в то время как в стандартных контейнерах работа с памятью вынесена в аллокаторы и интенсивно используется placement newв новых стандартах работу с контейнерами можно сделать еще быстрее за счет того что они поддерживают перемещающие операции, теперь нет необходимости в трюках с указателями
вообще, идея, к которой ты подошел, далеко не новаправда заключается в том, что в стандартной библиотеке контейнеры неинтрузитивныеальтернативный подход - сделать интрузитивный контейнер (какие любили делать на голой сишке), типа boost::intrusive и типа можно выгрызть чутка в производительности еще (за счет удобства и универсальности)
>>1479945Всё так, ты прав. Я просто выигрываю за счёт того, что у моих объектов не надо вызывать T(). Если мне не изменяет память, то классическая реализация std::unordered_map -- это вектор односвязных списков. Получается, для доступа к элементу (если сразу попали, без коллизий) надо сделать два разыменовывания. А можно нахер вырезать лишнее разыменовывание, плюс выиграть по локальности в памяти. Хотя, я могу чего-то не знать, и эти черти как-то борются с подобными проблемами.
>>1479961А то я не искал! Конкретно того, что мне было нужно, я не нашёл. А опыт велосипедирования у меня положительный, поэтому взял и сделал. Я счастлив, начальник счастлив, юзер счастлив, двачеры недовольны.
>>1479955>Я просто выигрываю за счёт того, что у моих объектов не надо вызывать T()тыж писал что у тебя хешмап типо оптимизировал под примитивыные типы? при чем здесь конструкторы?
>>1479968Он не просто оптимизирован под примитивные типы, он не работает с нетривиальными в принципе.
>>1479955>Если мне не изменяет память, то классическая реализация std::unordered_map -- это вектор односвязных списков. ну, там нету std::vector и std::list внутри, не надо понимать буквально>Получается, для доступа к элементу (если сразу попали, без коллизий) надо сделать два разыменовывания.не очень понимаю, как в своей внутренней структуре ты от этого смог избавится
>>1479975>Если мне не изменяет память, то классическая реализация std::unordered_map -- это вектор односвязных списков. ну, там нету std::vector и std::list внутри, не надо понимать буквально>Получается, для доступа к элементу (если сразу попали, без коллизий) надо сделать два разыменовывания.не очень понимаю, как в своей внутренней структуре ты от этого смог избавится
>>1479972ну дак и при чем здесь конструкторы? стандартные контейнеры тоже никаких конструторов не вызывают для примитивных типов
у std:unordered_map есть типа недостаток, а именно то что он сложный, его нужно настраивать для конкретных случаевстрауструпу он поэтому не нравился, он бурчал что типа прикладные кодеры его не поймут..
>>1479977Грубо говоря, односвязные списки у меня и остались, но оно всё хранится чуть хитрее.У меня есть основной кусок памяти для нод -- это пара ключ-значение и индекс следующего элемента с совпадающим хэшом. и ещё флажок (в жопу). Совпадающие элементы хранятся вон в том bookshelf-е, что я кидал. Ну и всё, доступ идёт по хэшу в одно разыменовывание сразу, куда надо. Потом шагает по коллизиям, они ещё могут и в одном кэшлайне оказаться (это как работу с контейнером организуешь).
>>1480028не, это не я, лол. Я, конечно, люблю велосипеды, но переизобретать STL - это оверкилл. Тем более, большая часть тормозов в моем проекте - это i\o.Алсо, уже 350к, а не 320к.
>>1479936ну давай объясни хуйланчикили нет, давай ты высрешь свое обычноену оооок и пойдешь драить сортир потому что это потолок твоих умственных способностей
>>1480057Ты не понял, что значит "коллизии рядом лежат"? В самом деле, я изъяснился хуёво, но вроде понятно, о чём я. Если ты даун, то давай объясню. Представь, что в твоих данных по хэшу никаких коллизий нет. Тогда оно всё может в одном массиве лежать, прям как в векторе, и всё заебись. А теперь представь, что ты ещё немного навалил туда. Вот это самое "немного", у которого хэши пересекаются (collide, правда?) с уже существующими, я сгружаю в отдельную структуру данных и коротко обзываю "коллизиями".
>>1480055Окей, переписал функционал, который существует в STL.Алсо, даже в виндовых кернел драйверах есть убогие сишные мапы, т.е. даже в таком аду не надо изобретать свои велосипеды. Максимум - обернуть в крестокод.>>1480058Ежегодное ревью, хорошо работаю типа. Вот и бампнули.Это еще только зарплату считаю, так то мне еще акции капают, с которых еще тридцаточка в месяц стабильно выходит :3
>>1480063пидарас выкатывайся из айти >немножко навалил и появились коллизии>сую в отдельную структуруэто структура называется бакет, а ты жирнишь и изобретаешь велосипед
>>1480072Я ваще охуеваю с вас, любители не подумать головой и спиздануть хуйню. Я ещё раз спрошу, ты точно понимаешь, о чём речь? Ты в проблеме разобрался прежде, чем пиздеть?
>>1480086Странный вопрос, но я могу сказать, что я последнее некоторое время не просто С++ программист. Занимаюсь кучей всякой херни, начиная от автотестов\CI, заканчивая профилированием всякой параши, сменой билд системы, и прочие странные задачи. Но, на крестах иногда пописываю, просто щас очень много инфраструктурных задач.
>>1480093Симейк + конан или вцпкг, думаем пока. С вцпкг запилили полноценный кроссплатформенный пруф оф концепт рабочий.Щас все на MSBuild, при всей моей извращенной к нему любви, там где начинается кроссплатформа - там MSBuild заканчивается. А кроссплатформа началась.
>>1480096Вы там только инфраструктурное говно пилите или есть что повеселее? Deep learning проекты есть?
>>1480096Вы bazel-то рассматривали вообще? Переходить с msbuild и пилить концепты(!) на vcpkg, когда bazel подружили с vc++ еще год назад - это немного странно
>>1480105Ты сидел и отслеживал, пока час пройдет и она кончится, чтобы меня потом обоссать? Неужели тебя так задело?
>>1480105Ни один двачер так и не потестил мапу, хотя вскукареков было немеряно. Я могу конечно тупые тесты для вас написать, мне не лень.
>>1480108насколько я понял твой юз кейс ты вообще пехаешь в свой "хэшмап" тупо ради удаления дубликатов а потом делаешь обход всех элементов? это оче странное использование хешмапа
>>1480099мы дохуя всего пилим, сейчас там просто надо инфраструктуру сборки менять, а до этого я контрибутил крестами. Моя команда вполне продуктовая.Диплернинг есть конечно, просто не у меня в бизнесюните. В самом московском офисе его дохера.>>1480101Нет, базель не рассматривал даже. У нас небольшие проекты, симейка, кмк, будет достаточно. Если упремся где-то в симейк - ну, посмотрю и на базель конеш. У меня полная свобода действий в этом плане. Что хочу, то и ворочу.
>>1480112тестить на каком конкретно юзкейсе?там даже вопрос выбора std::map и std::unordered_map всегда стоит, зачастую классический map на деревьях оказывается выгодней хешмапа
>>1480114>Диплернинг есть конечно, просто не у меня в бизнесюните. В самом московском офисе его дохера.Пили инсайды. Что с зарплатами?
>>1480114нафиг тебе менеджер зависимостейдзен заключается что в случае крестов нужно строить ci/cd без него
>>1480113Не только. Если дубликат есть, нужен его индекс. Ещё, если грань встретилась дважды, её надо выкинуть. Вполне себе оправданное использование. Буду рад, если придумаешь чего получше.
>>1480121> Потерпи, пока дяди с работы приедутбля дак 7м вечера же ужеили дяди 2 часа до дому добираются до третьего кольца?
>>1480117Да хоть надристать туда несколько миллионов интов подряд, уже будет в три раза быстрее. Могу сам собрать, покатаете.
>>1480118не знаю, но вангую 300+ за сениора, 200+ за мидла.У нас там просто зарплатная вилка зависит от грейда и должности.Сениор Диплернинг - это очень ЖЪРно. На хх кстати открыта диплернинг вакансия, можешь заапплаиться.>>1480119У меня есть 3рдпати зависимости. Я могу их как даун хранить у себя в репо, и собирать. А могу подсасывать депенденси менеджером.Плюс, у нас есть каша из нескольких проектов, которые кросс-зависимы друг от друга, и собираются только все вместе. Вот от такой блевотины и хотим уйти, разбив их на библиотеки
>>1480125шо то хуйня шо тодля кроссплатформы нада юзать gnu autotolsа если на одну платформу то тупа make, msbuild или еще чето, то что родное для платформы в общем
>>1480114Как батя в системах сборок, рекомендую тебе сразу переходить на базел, а не страдать херней. Выйдет быстрее и приятнее. Всякие санитайзеры, распределенные билд серверы и кешеры промежуточных результатов идут в подарок из коробки>>1480119Нерепродьюсибл билд закукарекал. Маня, каждый девелопер должен иметь возможность в одну команду собрать с нуля что угодно на своей тачиле, а ci/cd сводится к запуску таргетов билд системы и прокидыванию переменных/креденшелов.
>>1480131>Сениор Диплернинг - это очень ЖЪРно. На хх кстати открыта диплернинг вакансия, можешь заапплаиться.Выпущу проект в продакшен, буду аплаиться. А то сейчас и показать нечего.
>>1479722Я тебе больше скажу, в моей задаче 50% коллизий с хэш-функцией return a + b; работает сильно быстрее, чем 20% с хитрой побитовой еблей.
>>1480131>У меня есть 3рдпати зависимости. Я могу их как даун хранить у себя в репо, и собирать. А могу подсасывать депенденси менеджером.кста, на следующей конфе по с++ что в питере буде, там один из мастер классов как раз по настройке ci для крестовых проектовможет пригодится, мастер классы имхо пополезней тупых выступлений где тупо пялишься на говорящего
>>1480145CI я настраивать умею, тот же вцпкг мы в CI без проблем прокинули. Вопрос именно в пакетах и депендах.
>>1480142одно время вставал в 2 часа дня, а ложился в 5 утрачуть не сдохбольше такого не позволяю себе
питерская конференция вообще выглядит интересней основной, которая в москве былапо заявленным докладамгораздо ближе к земле, более прикладные вопросы
>>1480147>Вопрос именно в пакетах и депендах.дык я толкую, что смысл менеджера зависимостей это в том чтобы не обосраться с версией библиотекиэто более нужно для динамикодрисни (js к примеру)в крестах же у тебя компилятор сам проверит что интерфейс библиотеки поменялся и выругается
просто раскидываешь библиотеки по разным репам и делаешь ссылки и всена сборке тупо вытягивается что надо из всех реп и собирается и дальше пыхтит там, тесты-хуетесты
Ебать тут мамины оптимизаторы собрались с 50% коллизий. Если вы действительно хотите получить буст перфоманса, то нужно как минимум использовать кастомный аллокатор с прямым обращением к системе. Узкое место именно здесь. Только ебаная школота может думать, что их хэш функция заебись и вообще они алгоритмы знают лучше дядек с лысиной на голове.
>cmake>conan>msbuild>autotools>кроссплатформенностьМде, ребята, я в ахуе с вас.>>1480131>У меня есть 3рдпати зависимости. Я могу их как даун хранить у себя в репо, и собирать. А могу подсасывать депенденси менеджером.Ващет ты как раз должен их хранить у себя в исходниках в монорепе и собирать каждый раз (на самом деле нет - базел кеширует результаты на удаленном серваке). Тогда у тебя получается reproducible build и 0 геморроя, что и под какую платформу ты бы не собирал. Кстати, компилятор ты внезапно тоже должен выкачивать, потому что это тоже зависимость. И линковаться должен не на glibc, а на musl в случае linux.>>1480152>в крестах же у тебя компилятор сам проверит что интерфейс библиотеки поменялся и выругаетсяАга, и залинкует твой бинарь на системную либу. Потом соснешь хуйца после деплоя. Также у таких манек типичная проблема: "ой, а почему у Ерохина все компилится на компе, а у меня нет??" Не забудь еще, что билды бывают мультиязыковые и тогда ты со своим франкенштейном, который не трекает зависимости, будет сосать просто нонстоп еще до деплоя.
>>1480157Ещё один нихуя не понявший? У меня там пара кусков памяти, которые мне любезно предоставляет std::realloc, нахуй твои аллокаторы оказываются не нужны.
>>1480163у нас сейчас да, даже КОМПИЛЯТОР в монорепе и самопальный говносборщик. Ебал такое счастье. Каким-нибудь йоба GPU-драйверам это, вероятно, нужно. Нам с нашими в разы более простыми проектами - нет.
>>1480157кастомный аллокатор тоже нахуй не надо, не даст он прироста значительногодзен заключается в том что различные существующие промышленные реализации хеш мапов отличаются друг от друга парой процентов производительности, типа у кого то одно быстрей у кого-то другое быстрейпонятно, для неких обобщенных случаевНО ведь если случай частный, то уже нужно использовать просто более специализированную структуру данных, чем хешмам, не так ли?таких структур полно, cs не стоит на месте..
>>1480165бля, чувак, уже только то что ты пользуешь православные маллоки в крестовом коде в 2к19 уже настораживает..
>>1480186Естественно, не гарантирует! А ты же знаешь, какова примерно вероятность этого и каков суммарный эффект?
>>1480172Стандартный рантайм оче хуевый и задействует только малую часть интерфейсов ос. Под 10 выню можно дикие оптимизации делать, например.>>1480165> 50 % коллизий> malloc/сalloc> Ты ничиво нипонялЛадно ладно.
>>1480191Да делать мне нехуй. Я даже твои потуги целиком не осилил. Кстати, а вот на твои тесты было бы интересно взглянуть. Вангую тестил ты криво. Методологию какую использовал?
>>1480192Я взял и задеплоил блять, получил ускорение и успокоился. Я же не контейнер на все случаи жизни написал. Так, тестил на вставку подряд, на вставку рандомную, на вставку смешанную с удалениями, короче как раз то, что мне нужно было. Хэш-функции одинаковые, данные одинаковые, интерфейс одинаковый.
>>1480189>Под 10 выню можно дикие оптимизации делать, напримерНапример? Не в целях тралленга, правда интересно.
Подскажите плез, как переопределить метод члена класса в С++?Мне надо как то переопределить mousePressEvent для QGraphicsPixmapItem, который является членом класса QMainWindow.
Как правильно использовать QGraphicsSceneMouseEvent?Допустим, у меня есть QMainWidget, в котором есть сцена. Мне надо по маусивенту на сцене делать какое-то действие. Как мне вытащить этот ивент? В каком месте QMainWidget его прописывать вообще?
Опытные аноны, можете на пальцах обьяснить что такое OpenAPI (Swagger) и зачем он нужен? Я так это типо конструктора, где мы записываем схему апи сайта, а он генерит под это дело всё необходимые серверные заглушки, а нам выходит только их реализацию написать остается? Сложно это всё изучать не понимая слов на которых это всё рассказывается, извините если тупые вопросы задаю.
>>1480399я дак испытал чувство неловкости когда смотрел видеов зале наверное тоже задали себе многие вопрос wtf?а там вроде больше тыщи человек сидело
>>1480278//hpppragma once#include <QGraphicsPixmapItem>class MyItem: public QGraphicsPixmapItem{ protected: void mousePressEvent(QGraphicsSceneMouseEvent event) override;};//cxx#include "header.cpp"MyItem::mousePressEvent(QGraphicsSceneMouseEvent event){ //Hamder}
>>1480443Ты серьёзно сидишь это читаешь? Я теперь чувствую себя виноватым в трате твоего времени :( не do...while потому, что мне так проще было сообразить, что куда совать, потому что цикл непростой.
>>1480146Не быстрее. Реально в два раза медленнее. Но если поставить кастомный аллокатор, который я наговнокодил, то скорость unordered_map становится такой же, как и у trivial_hash_maphttps://pastebin.com/DC7cP8sj
>>1480485То есть что, очередной велосипедостроитель наебнулся с неумением пользоваться кастомными аллокаторами?
>>1480485Не знаю, где ты там чего подшаманил, но у меня так. Ну и конечно меня заинтересовал segfault на размере в пару раз больше. Я вообще тестил unordered_map с кастомным аллокатором (тоже велосипедный, тоже можешь обоссать), но эта хуета оказалась тупо в полтора раза на моей задаче быстрее.
>>1480485Время будет вечером, я сам тесты устрою, мне на самом деле тоже не верится, что мой говномап сильно быстрее стандартного с норм аллокатором.
>>1480562сегфолт тоже ловил, судя по всему от того, что malloc не может выделить блок памяти и возвращает nullptr
>>1480569Debian 10Ещё, думаю, важно:gcc version 8.3.0 (Debian 8.3.0-6)флажки -O3 -march=native -DNDEBUGпроц i5-8250uЯ глупенький, что такое релиз?
>>1480562А, очень важную вещь забыл. Я выставил load_factor = 1, как у самого unordered_map (строка 183), на этот конкретный синтетический тест влияет сильно.
>>1480600А на случайных erase-ах, как и ожидалось, на стековом аллокаторе результат оказывается хуже, чем у стандартного контейнера. Вот и написать нормальный аллокатор под это оказывается сложнее, чем написать тупой мап.
Не могу понять как работает try catch. Как например сделать, чтобы программа писала ошибку, а не вылетала, с таким кодом?std::unique_ptr<int> p1(new int(33));p1.release();std::cout << (ЗВ)p1;
>>1480660Оборачиваешь все в трай, в кетче ловишь, ты учебник не читал?Алсо голые нью это бед практис, надоauto p1 = std::make_unique<int>(33);
>>1471368 (OP)Такое дело: есть строка ~100. Все символы от 33 до 133. Нужно из строки убрать все 4-ки и 7-ки. Пробую так:#include<iostream>using namespace std;int main(){ char c[100]; for(int i=0; i<100; i++) c=char(32); cin>>c; for(int i=0; i<100; i++){if(c==char(32)) break; else if(c!=int('4') and c!=int('7'))cout<<c; }}Не получается пройти даже первый тест. В чём причина?
>>1478323Вы же тут все близкие к математике и железу ребята. Почему тангенс на андроиде иногда выдает совершенно неверные результаты. Тестил на 4 устройствах. На одних и тех же числах результат одинаков. Пример пикрил. Думал найти закономерность, но пока руки не дошли
Слушайте, а что будет, если запилить растровый редактор, в котором каждый пиксель картинки -- это отдельный QGraphicsRectItem? Тормозить будет, как думаете? В описании графического фреймворка написано, что он может работать хоть с миллионами айтемов.
>>1481035>>1481037Почему если немного изменить число, то ответ правильный? Причем для 3 264 554 ответ неверный. Я догадываюсь что в компе дробных нет. Только вещественные. Но почему именно с этими числами ответ такой?
>>1481049Погрешность метода расчета. Ты вообще знаешь, как работает калькулятор для тангенсов, синусов, корней квадратных и прочего?
>>1480354В целом я разобрался с этой хуйней, даже тестовый сервак поднял. Сгенерил клиент для qt5, почитал что оно сгенерило и даже я, с познаниями на недоджуна понял абсолютно всё, ибо код элементраный, просто муторный. Я не понимаю как все эти макаки верстающие круды не сходят с ума после месяца работы, это ж пиздец как уныло. Ладно, теперь вопрос: подскажите что годного можно написать на плюсах буст и кути в наличии связанного с сетями? Очень нравится вся эта тема, но всё что приходит в голову делается за вечер в соло.
>>1481082То есть пользователи шарят свою музыку в общий доступ, и чтобы кто-то мог подключиться к пиру и сразу же начать прослушивание? В целом выглядит интересно, но я хуй знает как это тестить, ноут + телефон разве что. За идею в любом случае спасибо.
>>1481089> То есть пользователи шарят свою музыку в общий доступ, и чтобы кто-то мог подключиться к пиру и сразу же начать прослушивание? Да> В целом выглядит интересно, но я хуй знает как это тестить, ноут + телефон разве что. За идею в любом случае спасибо.Друзья есть?
>>1481089Вообще у меня эта идея давно припасена. Советую тебе чтобы не отбить мотивацию не читать спойлер. Я решил что на практике эта программа провальна. Слишком много трафика сжирается + не у всех есть достаточно скорости чтобы раздавать и принимать одновременно
>>1481097Тогда как будет свободный день начну писать, пока какую-то общую схему в голове придумаю.>Друзья есть? Легче второй телефон купить будет уже. Спасибо еще раз анончик, но идеи всё равно можете покидать, на будущее может понадобится.
>>1481074Ахуенно, спасибо братан.>>1481077qbs бы хоть сказал, а так ради ебаного мейка тащить целый куте...
>>1481102Да я же не для коммерции пишу, не думаю что пэт-проекты должны приносить реальную пользу, хотя может какой-то гений свой бранч на гитхабе запилит и будет убийца спотифая.
>>1481109Ты же кути хорошо знаешь? Я вот любитель и пытаюсь вкатиться. Немного неудобно, что нет последовательности и приходится примеры разбирать и методом проб и ошибок учиться. Из за этого говнокод редкостный. Может есть какой то план или тип того? А то я как только хочу написать что то для себя, продумываю алгоритм то сразу напарываюсь на незнание инструменов и место того что бы писать код гуглю ошибки и переписываю в более менее приемлемый вид код.
>>1481118Да я сам только учусь, сомневаюсь что мой код можно назвать не говном. А так ты делаешь всё правильно. Где-то картинка была, не найду сейчас. В целом учебный процесс так и происходит: почитал документацию - попробывал написать своё - не вышло/вышло плохо - отложил - почитал документацию - переписал пример - вышло чутка лучше. Главное не забивать а регулярно изучать новое и совершенствоваться, не думаю что сеньоры в этом треде изначально писали будто они в Яндексе проработали 10 лет. Можешь код на кодревью вкидывать, сюда или в @qt_chat в телеге, там вполне адекватное комьюнити.
Товарищи, что означает эта строчка for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { RES[DATA[j]]++; } }В вот этой вот программе?https://pastebin.com/rnEEFFZJЕсли что, программа для получения гистограммы из матрицы 3х5(MxN) с разрядностью 4(K)Что это за хуйня, и как программа получает гистограмму из этого?
>>1477102>лучше всего 4 курса по с++ от яндекса на курсери, они охуенные, лучшие курсы на русском по крестам на данный моментТам есть реально что-то полезное, чего в книжках/интернетах не достать?Мне чет сам формат таких курсов совершенно не нравится.
Аноны, подскажите как вы искали первую работу на крестах? Посмотрел сейчас вакансии Харьков, практически все сеньоры/мидлы, или стронг джуны от 2+ лет опыта. Я бы и за еду + хорошую рекомендацию поработал пол года, где можно такие вакансии найти? Они как-то афишируются или это через знакомых делается?
>>1481610>ХарькiвКрестовые джуновакансии только в столицах и твоем аналоге ДС2. Можно на галерах с ебаненького посмотреть, но сомневюась, что кому-то нужен джун без опыта
>>1481610> Я бы и за еду + хорошую рекомендацию поработал пол годаВот в этом и заключается твоя проблема.
>>1481658Так вакансий и так с гулькин нос, без опыта вообще нет. Для студентов от никсов всяких только шарпы и жсы предлагают. Я уже слышал твою точку зрения в реальной жизни, но я вообще ее не понимаю, в чём проблема поработать за копейки ради опыта, а потом перейти на нормальную вакансию? >>1481620Харьков это и есть ДС2 у нас. Да и в целом вся айти сфера в 3 городах сосредоточена: Харьков, Куев и Львов.
>>1481671Проблема в том, что ты так и останешься там работать за еду. Люди представляют, как они за год/два/N прямо наберутся опыта, будут крутыми разработчиками и все двери открыты, вот только таких перекатывающихся довольно немного.
>>1481681>>1481678Вашу точку зрения я понял, но с работой всё равно хуйня выходит. Буду какие-то стажировки ловить летом, может повезет. Добра вам.
>>1481495это интенсивный курс, в хорошем смысле, потому что в тебя впехивают кучу инфыно при этом все закрепляется практическими заданиями, в которых надо кодить, причем они проверяются не только автоматической проверяющей системой, но и преподамии, тк курс платный, вообще то ты можешь (должен) быть активным в переписке, спрашивать что непонятно, а преподы тебе будут отвечать
>>1481610>Я бы и за еду + хорошую рекомендацию поработал пол годакак это выглядит:ты приходишь, ничего не умеешьтебя учат уму разуму, вытирают тебе попкупри этом тебе платят денежку на покушать (sic!)а через полгода ты им сделаешь махнешь ручкой, до свиданья, типа, я пойду еще где поработаюи еще и рекомендацию попросишь (а ха ха )
>>1481699Разве рынок не так работает? В теории мне могут оффер на стронг джуна дать, или просто зарплату повысить чтобы я не уходил.
Все не могу найти книгу "Язык программирования C++. Базовый курс" Стенли Липпмана. Если и нахожу, то только в плохом качестве. Помоги, анонче. Я бомж, купить не смогу
>>1471368 (OP)Есть какие-то книги с алгоритмами, написанными на c++ и их применением, язык уже знаю на достаточном уровне, а вот задачи решать не могу, хотя могу реализовать алгоритм
>>1482094Есть Седжвик, но там полное днище: с++ там еще до 11 года выпуска, и даже эти плюсы там используются понарошку, только как альтернатива псевдокоду. Еще очень сумбурное изложение и всратый перевод с грубыми ошибками.ИМХО, лучше изучать алгоритмы по псевдокоду по нормальным книжкам и уже потом гуглить нормальные, рабочие реализации на крестах для конкретных алгоритмов.
Плюсоны, поясните за ссылки.int i_val = 1;int &a_ref = i_val;int &b_ref = a_ref;b_ref это ссылка на i_val или на a_ref? b_ref не превратится в висящую ссылку, если вдруг a_ref будет уничтожен?
>>1482236> b_ref это ссылка на i_val или на a_ref?это 2 ссылки на одну и ту же переменную i_val.> b_ref не превратится в висящую ссылку, если вдруг a_ref будет уничтожен?Висячую ссылку получить реально, но в твоем случае, когда все на стэке - ты никак висячую ссылку не получишь.
ПЕРЕКАТhttps://2ch.hk/pr/res/1482318.htmlПЕРЕКАТhttps://2ch.hk/pr/res/1482318.htmlПЕРЕКАТhttps://2ch.hk/pr/res/1482318.html
>>1471368 (OP)господа. дедлайны горят. молебно прошу вас поспособствовать в написании легкого кода. подсобите сибирскому касипоше :((под пунктами 2 и 3)