Анон, помоги с архитектурой Предположим, есть яблоки, все нумерованы. Я яблоки всячески сортирую, что-то выкидываю, распихиваю в разные корзины, в одной из корзин яблоки помыл. А потом приходит Вася, ищет и откусывает яблоко четыре.
Как это всё лучше хранить? Инб4 копипастой. Я использовал карту в глобальном хранилище, а корзины уже хранят std::const_reference<Apple>. Средне удобно, да ещё бесит пиздец в лямбдах из карты .second аргумент брать, плохо зделоли для моих универсальных функторов. Сейчас использую std::list и его замечательное свойство splice, которым удобнейше сортировать и разбрасывать яблоки по корзинам. Но поиск нужного яблока происходит так себе, чтобы взять яблоко 6, придется все корзины перерыть.
Может быть стоит использовать shared_ptr? У меня с ним опыта мало, плохо чувствую его работу.
кто шарит за драйверы в линукс? Пишу драйвер блочного устройства
Как зарегистрировать драйвер на шине в sysfs? Как зарегистрировать устройство на шине в sysfs? Реализовал ioctl интерфейс, как теперь обращаться к нему в запущенном драйвере - Отправлять команды?
>>2225359 Вроде для тестов через insmod делается. Для постоянного куда-то там что-то копируется. Если драйвер проинициализировался норм, то файловый дескриптор твоей говны имеет ioctl.
Есть лабы, которые выкладываются на гитхабе. Раньше я ручками у себя нужные проекты создавал, но сейчас файлов больше становится и меня начинает это заебывать. Есть ли спосоь автоматизировать это дело? На гите есть все нужные cmake и прочее.
>>2225457 5 лаб, но они не однофайловые. Там куча всяких файлов, начиная от просто файлов, которые я должен написать, заканчивая clang-format и файлов с тестами.
Почекал несколько вакансий по плюсам в своем городе, и в них часто указывают что нужен опыт работы в сфере. За "опыт" работы сойдёт свой проект? То есть если я хочу на вакансию например с qt или движком, то я либо должен иметь опыт работы в другой кампании, которая работает с этим или должен доказать работодателю что я не идиот своим умением/знанием в области? Или канает только опыт работы в команде?
И да вообще стоит ли работать именно с плюсами или лучше другой язык учить?
>>2225526 Иди на пофиг и общайся. Скажи что на плюсах писал лабу в своём вузике или что ты там ещё писал. В вакансии всегда указываются максимальные требования на часть из которых можно просто забить.
>стоит ли работать именно с плюсами Скорее нет, чем да. Перспективы туманны, платят ниже чем в среднем по IT (особенно в среднем сегменте). Сильная привязка к специфике работы осложняет перекаты.
>>2225416 Как ты собираешься работать с этими данными. Если быстро вставлять-удалять то линейный список твой друг. Если при этом относительно быстро хочешь искать - бери деревья. Если хочешь константное время доступа - вектор. А если ещё и константное время добавления/удаления то дек. Ну или в некоторых случаях стек. И это мы говорим более-менее стандартных структурах.
>>2225917 Вторая мировая война. Немецкий концлагерь. Пленных казнят в газовых камерах. Через весь лагерь бежит немецкий офицер, подбегает к шестой камере. Заключенных уже завели в неё и закрывают дверь. Офицер успевает засунуть ногу между дверью и косяком двери, и спрашивает: — Молдаване? — Угу. — Плитку кладете? — Кладем. — Положить плитку в ванной сколько за метр возьмете? — Да, пять рейхсмарок, пожалуй, возьмем. — Давайте за три? — Ногу убери.
>>2225526 В каком смысле стоит ли? Если тебе интересна сфера в которой язык используют, то стоит. Если боишься, что язык умрет, то зря. Он нас всех переживёт. Ещё существуют вакансии на дедушке коболе. Опыт конечно требуют, но не везде. Рекомендую проверенный путь: устраиваешься куда берут, как только чувствуешь что перспектив нет, стараешься поменять работу. Если все устраивает, естественно, остаёшься. Я отработал в госконторе 2 года на пол ставки. Туда позвали просто по факту наличия резюме на хх. Сейчас устроился на удаленку в дс на зарплату втрое больше. Сам никому не писал, hr-ры полезли во все контакты. Главное смелее и активнее ходить на собеседования, и по чесноку говорить что умеешь, а что нет. На собеседованиях по ощущениям больше адекватность оценивают чем технические скиллы.
Коллеги. Подскажите по рынку. Дают оффер на техлида в дс. Не совсем плюсы (ещё есть рисёч), но плюсы тоже нужны, поэтому, думаю, что по уровню примерно одинаково должно быть. Сколько просить. Пока думаю 400к. Не продешевил?
>>2226244 Нихуя вы там в плюсах обленились. Обернул уже класс студстринг в юникптр? А то на старости лет можно забыть память почистить. Но ничего - RAII все решит за тебя и можно спокойно заниматься БИЗНЕС-ЛОГИКОЙ. Уважай прародителей, сцуго!
>>2226250 Да, в книге от Бьёрна задание написать используя нормальные строки, и в стиле си, пиздец конечно каждый раз выделять память, хранить длину, уходит в три раза больше времени
Какой проект написать или спиздить для резюме джуна? Калькулятор, слишком банально или нормально? Аудиоплеер на qt? Простенькая игра с вспомогательной библиотекой? Говёный архиватор?
Нужно считать два числа. Ровно 2. Формат ввода любой и нужно проверить, что он подходит. Как лучше это сделать? Потому что может быть -000000001 3, что корректно, но 3984 84FFNEUO уже неправильно
Я сделал проект cmake, включил clang-tidy. Теперь при каждом редактировании и сохранении процессор загружается на 80 процентов и долго ищет предупреждения и ошибки. В 19 студии такого не было, но я там с cmake не работал. Так и должно быть?
>>2226285 Упражнения нужны, чтобы ты знал, как строки устроены. Потом вот надо будет тебе считать данные из какого нибудь нестандартного ethernet кадра, охуеешь их конвертировать в строки и числа, если не будешь знать, как они в памяти записываются.
>>2226736 На си не пишут такое обычно. На си пишут программки для микроконтроллеров, занимаются байтоеблей. Си это удобная замена ассемблеру, лучше не найти. Но писать на си что то десктопное или веб сейчас это глупо.
>>2226862 Они крепко так ебут за умение в алгоритмы. Причём надо не просто задрочить сущеествующие курсы с десятком сортировов-поисков, а реально научиться мыслить алгоритмически. Надо будет решить несколько задачек прямо на собесе, где от одной только формулировки охуеешь, как это вообще сделать, не говоря уж об эффективности. Ну а потом через некоторое время будет письмо "К сожалению, мы не готовы продолжить общение"
>>2227039 А как понять, что ты сам задания решал? Как ты при этом мыслил? Умеешь ли ты общаться с людьми? Насколько ясно излагаешь свои идеи и умеешь ли доводить до конца то что от тебя требуется сделать (пусть и с подсказками)?
Короче устный собес это база. А то, что было до него - способ отсеять долбоёбов, которые в яшку толпами ломятся.
Знатоки, внимание, вопрос! Вот я создал массив на десять элементов, arr - это же получается указатель на 0 элемент. Так вот, почему в main тогда sizeof(arr) указывает 40 байт? Я понимаю, что это размер всех элементов внутри, но почему тогда в функции in sizeof(arr) равен 8? и там и там же указатель...
>>2225189 >Предположим, есть яблоки, все нумерованы. Я яблоки всячески сортирую, что-то выкидываю, распихиваю в разные корзины, в одной из корзин яблоки помыл. А потом приходит Вася, ищет и откусывает яблоко четыре. ЯННП
>Средне удобно, да ещё бесит пиздец в лямбдах из карты .second аргумент брать, плохо зделоли для моих универсальных функторов. Пиздец у тебя проблем канеш. Завраппь
>>2225526 >Почекал несколько вакансий по плюсам в своем городе, и в них часто указывают что нужен опыт работы в сфере. За "опыт" работы сойдёт свой проект? Имеется ввиду коммерческий опыт на кастомера. Что ты можешь педалить то, что хочет видеть кто-то другой, а не свои фантазии. Свой проект за опыт не зайдет никак, только как бонус к твоему джунству.
>Или канает только опыт работы в команде? На команду похер на самом деле, хотя и спросят работал ли в команде.
>>2225600 >Да нахуй эти плюсы, без опыта нихера не берут. Мы набрали студентов первокурсников на интернатуру, годный опыт. С улицы не берем.
>>2226238 >оффер на техлида в дс >Пока думаю 400к Это сколько в баксах? 5.5k$? Москва? Ебать ты лох
>>2226426 >Какой проект написать или спиздить для резюме джуна? Напиши аудио-видео стриминг (клиент-сервер небольшой) на Qt + GStreamer, и можешь высылать мне резюме
Почему бы не обнулять автоматически указатели после delete? Сомневаюсь что это дорогая операция, по-моему это просто одна дополнительная строчка в компиляторе. Так что почему бы не избегать кучи ошибок из-за двойных delete-ов? Оправдывайтесь
Какой стиль программирования считается правильным и удобным в 2к21 году? https://google.github.io/styleguide/cppguide.html Ориентироваться на это, или полная хуйня? Что стоит почитать по этому поводу? Хочу учиться писать код сразу по-человечески.
#include <QtEndian> inline QVariant readUInt(...) { ... return qToBigEndian(value); } Линкер ругается, что qToBigEndian - unresolved external symbol. Почему так может быть? Это из-за inline? Почему так, поясните плиз?
>>2228695 >без тригонометрических функций Поясни конкретно. Нельзя использовать именно std::sin, std::cos? Нельзя использовать в цикле? Можно использовать sin/cos один раз при инициализации?
>Нужно, чтобы линия шла по границам квадрата против часовой стрелки бесконечно (зелеными линиями показаны примерные положения одной линии) Уточни - нужно именно плавное равномерное движение (постоянная угловая скорость)?
Я бы предзаполнил массив координат точек и в цикле бы бегал по нему например.
>>2228726 >Нельзя использовать именно std::sin, std::cos? Нельзя использовать в цикле? Можно использовать sin/cos один раз при инициализации?
ВООБЩЕ не используя cos и sin, и не пытаться их имитировать, вообще без тригонометрических правил и функций
>Уточни - нужно именно плавное равномерное движение (постоянная угловая скорость)?
нууу да, по 1 пикселю за итерацию цикла по краю рамки, см. картинку(к алгоритму отношения не имеет, просто как пример)
>Я бы предзаполнил массив координат точек и в цикле бы бегал по нему например. а это не слишком дохуя если по 1 пикселю? одна сторона квадрата может и 600 пикселей быть чёнить более гибкое к размерам квадрата хочецца
разве что массив [3] [599] [0] - 4 стороны квадрата с 600 пикселей каждый и для каждой стороны свое правило заполнения - так?
>>2228735 >ВООБЩЕ не используя cos и sin, и не пытаться их имитировать, вообще без тригонометрических правил и функций Точно-точно? Это домашка? Мб там просят неиспользуя плавающую точку, это немного другое
>а это не слишком дохуя если по 1 пикселю? одна сторона квадрата может и 600 пикселей быть >чёнить более гибкое к размерам квадрата хочецца Ну охуеть конечно - 600 элементов в массиве. Алсо, тебе не нужны 4 стороны, можно одной обойтись и зеркалить потом
>>2228742 >Точно-точно? Это домашка? нет, я просто матан не люблю, по триг. функциям вроде слишком просто, интересно что тут предложат без матана >Ну охуеть конечно - 600 элементов в массиве. Алсо, тебе не нужны 4 стороны, можно одной обойтись и зеркалить потом ну все же массивы какая-то стремная тема мне не нужно просто решение, иначе я бы оставил ifы или триг. функции подключил я хочу узнать как может выглядеть КРАСИВОЕ решение (т.е. простое, понятное и с минимальным кол-вом действий)
>>2228695 Вообще не понимаю, зачем тебе тут тригонометрия. Конец линии движется по стороне квадрата. Это линейная зависимость. Каждая сторона это состояние стейт машины. По условию меняешь ее состояние и обновляешь координаты.
>>2228695 Уравнение отрезка (p, q) записывается как p + td, где t параметр из [0, 1], а d = q - p. Все отрезки твоего полигона можно собрать в сплайн r(u), где u из [0, 4]. Далее просто идёшь в цикле с шагом du и получаешь второй конец твоей линии как r(u + du). Угловая скорость вращения линии будет неравномерной, но ты этого не просил. Изи ёпта.
>>2228735 Мб стоит перевести координаты точек в полярную систему координат и в ней уже поворачивать линию и уменьшать/увеличивать её длинну в зависимости от угла. Или это тоже уже матан ненужный?
>>2228695 Дело нехитрое (просто проходишь по сторонам квадрата с каким-то шагом и строишь линии), но если тебе нужны равномерные углы между соседними линиями, то без тригонометрии не обойтись. Можно подбирать переменный шаг бинарным поиском разве что.
анончики, приветствую горячо Нужна помощь в перекате одного проекта с 32 на 64 Сам я лютый нубяра в с++, не знаю даже где ещё спросить В общем, нужен человек, кто может посмотреть и может помочь перекатить всё то безобразие Естесно, платно Тематика - плагин для скайрима с LE нужно перенести на новый AE [email protected]
Нужно пройти по вектору трёзмерных векторов и убрать оттуда все дубликаты. Решил сделать сет с таким компаратором, но выглядит как говно. Это можно как-то нормальней написать?
Я не понимаю, чем отличается стек и куча? Как они работают понимаю, а предназначение не особо. В стеке лежат данные всяких функций, переменных известных на компиляции, так? А в куче всё остальное, огромные данные, массивы?
>>2229846 >Стек маленький и быстрый, а попит куча большая и медленная. Как стек может быть быстрее, если он точно так же, как и куча, находится физически в ОЗУшке?
>>2229924 Нет фрагментации. Данные, которые туда уложены, наверняка скоро понадобятся. Например передаваемые в функцию аргументы или состояние регистров перед сменой контекста. Поэтому быстрый он потому что туда укладывают именно те данные, которые скоро будут употреблены.
>>2229924 Узкое место в моменте выделении и освобождении памяти. Положить данные в стек - сделать один push. А для куч сложные программные менеджеры памяти, которые изменяют размеры сегментов и делают много другой магии.
>>2229522 Я кстати не понял. Если все компоненты векторов разные, то твой код выдаст результат, что меньше тот вектор, у которого значение x меньше? Вроде для исходной задачи на результат не повлияет, но выглядит ебаненько.
>>2227980 > Напиши аудио-видео стриминг (клиент-сервер небольшой) на Qt + GStreamer, и можешь высылать мне резюме В смысле стримминг? Как разговор по скайпу? Куда высылать?
>>2231166 О, решил проблему, тупо удалив модуль Qt Debug Information Files. Блин, вот так ставишь галочки при установке с надеждой, что \это что то крутое и полезное, а на тебя ушат говна выливают.
>>2231467 Разве на этот сайт не по инвайтам залетают? Особо не заходил туда лет 7-8.
>для тех, кто считает, что не умеет в кресты. Формошлёпаю на Qt за мелкий прайс в окологосконторе. Вроде и днищеработа, но с другой стороны, голову напрягать не надо.
>>2231655 >За сколько конкретно? ~83-84к >Насколько сложно? Сами задачи обычно элементарные, а-ля "вот протокол обмена с железом по сетке, надо сделать прогу, которая будет коннектиться к железу, собирать с него данные, класть их бд, отображать в гуе, опционально расчёты-отчёты". Но иногда руководство (верхнее конторское) проёбывается и приходится пытаться уложиться в неадекватные сроки. В обычной обстановке сам сроки примерно прикидываешь с запасом, да сидишь-пердишь-кодишь.
Я вообще больше 3 часов в день вдумчиво код не могу писать, тупо башка тупить начинает. Когда читаю истории про прохраммистов, работающих по 10-12 часов, неизменно охуеваю. Либо там какие-то сверхчеловеки, либо просто тонны говнокода высираются.
>>2227019 > Надо будет решить несколько задачек прямо на собесе, где от одной только формулировки охуеешь, как это вообще сделать, не говоря уж об эффективности. Ну а потом через некоторое время будет письмо "К сожалению, мы не готовы продолжить общение" Дали две задачи, посчитать сумму диагоналей матрицы, её хоть как-то сделал, а вторую развернуть односвязный список. Без отладчика, без проверки, без подсказок, интервьюеру похуй было, пришёл часик отсидел и ушёл. Письмо на следующий день пришло.
>>2231661 Да не, нормально работается. Твоя проблема, что ты сам себе и ТЗ и дизайн, и программист и тестировщик, и мейнтейнер и техпис. Сам так работал. Ещё и отвлекают всё время. Но контора прошла по пизде и я ушёл в нормальную разработку. Хотя порой скучаю, было интересно ходить к конструкторам, плисоводам и разработчикам РЭА пообщаться за пределами своей области. А потом вспоминаю нормоконтроль и вояк и отпускает.
В джаве есть прикольный тип данных byte, в котором удобно хранить небольшие числа. Если я попробую создать такой же свой тип данных в виде класса (например на основе char), я обосрусь в плане производительности? Про int8_t читал, что он хуевый, потому что его могут обработать как char.
>>2231696 >Твоя проблема, что ты сам себе и ТЗ и дизайн, и программист и тестировщик, и мейнтейнер и техпис. Меня оно не напрягает, ведь с другой стороны, ни с кем ничего согласовывать не надо (по технической части), полный простор для творчества. С другой, не у кого спросить как лучше архитектурно делать некоторые вещи, потому что в конторе никого более квалифицированного/опытного нету (как нетрудно догадаться из зряплаты).
Вроде иногда бывают мысли на что-то более денежное/умное попытаться устроиться, но это ж работать придётся, а не хуи пинать 2/3 времени.
Откуда вообще пошли вакансии на раст? Ну типа как это произошло, просто собрались челы и решили, а давайте будем писать приложения на малопопулярном языке?
>>2231753 Бля этот byte есть в куче библиотек, я недавно обосрался, обновив Qt. Все посыпалось к хуям из-за того, что один byte законфликтовал с другим.
Чтобы не изобретать велосипед, взял библиотеку TinyObjLoader. А он там как раз STL юзает.
Так вот в релизе все быстро парсит - за наносекунды. В дебаге - 10 минут реального времени и всё еще что-то делает. И это не у меня руки из жопы, эти десять минут оно сидит внутри tinyobj::LoadObj() из сторонней библиотеки. Повторю - в релизе оно грузит мгновенно - то есть это и не проблема в TinyObjLoader
И как теперь быть - я хуй знаю:
- работать в релизе - ну пиздец дебажить в релиз сборке
- _ITERATOR_DEBUG_LEVEL/_HAS_ITERATOR_DEBUGGING/_SECURE_SCL на ноль - не сильно помогло
- еще видел совет, собирать такие библиотеки в релизе и подключать к своему коду релиз сборку - ведь я их дебажить не буду.... Только блядь это работает пока там нет STL. Специально проверил - все сишные либы так подключились.
А вот эта из-за STL нет - она ругается что разный рантайм (/MD и /MDd)... Хорошо, включаю релизный рантайм в дебаге своего проекта - хер там, вообще перестает компилироваться потому что каких-то важных функций нет (линкер ругается)
>>2232039 Разница есть, но не на интах, а на чем-то тяжелом в i++ будет несколько лишних операций создания/копирования. в ++i же вернет сразу без лишних операций
Но возможно move магия в современном С++9999 уберет полностью эту разницу.
>>2232268 > Но возможно move магия в современном С++9999 Я кстати охуел от того, что это относительно недавно появилось в плюсах. Первый же вопрос "хули они там все до этого делали? В сфинае оборачивали абстракции и хотели плюсы в жаву превратить?"
сап, плюсач. не знаю подходит ли под тред но для курса универа по плюсам просят либо через вм либо через дуалбут юзать линукс ради валгринда. кроме с++ нигде не планирую юзать линух поэтому стоит ли ебаться с вм или с дуалбутом?
>>2233926 Примерно да. Подавался к ним будучи студентом раз 5 наверное, всегда приходил отказ. Даже до интервью ни разу не допустили, просто на этапе контеста отсеивают всех, оставляя ебучих олимпиадников.
Готовься к задачам на жадные алгоритмы, ДП, графы, деревья, обязательно выучи что такое минмакс куча и как с помощью нее решать задачи. В общем, контест будет как в яндексе, возможно даже сложнее.
>>2234274 В яндексе даже с двумя задачами из 5 меня позвали на интервью, где я не смог развернуть ебучий односвязный список, и меня самого развернули. Вроде щяс начал решать, не такая душниловка как у ебучего яндекса, даже две задачи сделал уже, посмотрим чё будет
>>2234455 слыш пес, ты на c api не гони. FFmpeg, OpenAL, Vulkan, SQlite - и это только то чем пользовался лично я, а других настолько же замечательных сишных библиотек море. Почему же они не написаны на вашем cpp-говне?ММ? Не слышу. Походу у либы для звуковой карты abi изменился
>>2234243 Потому что rval получает категорию lvalue, попадая внутрь функции (у него теперь есть имя и ты можешь взять его адрес). А ещё сходи подучи английский.
>>2234477 >Потому что rval получает категорию lvalue, попадая внутрь функции Хм, спасибо. Вроде бы очевидно а я сидел и возмущался "ну вот же тип rvalue ссылка, написано же"
>А ещё сходи подучи английский. Пошел нахер, мне этого говна с "пойди выучи" от мамки достаточно
>>2234513 >от мамки достаточно Ну так ты же жопа ленивая. Если бы дочитал до std::forward, то не спрашивал бы, почему надо категорию у параметров восстанавливать.
>>2234526 >std::forward В этом вашем c++ столько всего нужно знать. Я же не могу целыми днями читать фундаментальные толмуды а потом на десерт шерстить документацию. Плеер сам себя не напишет
>>2234513 >Пошел нахер, мне этого говна с "пойди выучи" от мамки достаточно Т.е. ты хочешь на ровном месте проебывать около штуки баксов в месяц? Ознакомься: https://dou.ua/forums/topic/31606/
>>2234573 идите впизду со своими деньгами. Мне больше (прожиточного минимума)*2.5 не нужно. Я просто не смогу столько тратить, а заниматься самой скучной в мире хуитой (учить язык людей) ради того что бы на счетах накапливалась какашечка я не буду. Причем ладно моя мать, она очевидно хочет что бы корзиночка стал 300к наносек и устроил ей пенсию в 40 лет. А вам то почему не похуй? ХОтите больше налогов моих блятбь? Буржуи сука , работай на дядю всю жизнь и умри пиздец!
>>2234585 Добавлю : вы же понимаете что рвете жопу и тратите свое бесценное время ради даларов которые США может просто напечатать? Это же буквально рабство
>>2234637 ну дохуя никто не согласиться на твое предложение потому что будут думать что это троллинг снизь цену на 1к рублей в день и крестовики потянуться
>>2230601 Douglas Schmidt ищи его ютуб. Ещё гугли книгу шмидт Хьюстон программирование сетевых приложений на с++. Хорошая книга по многопоточке и сетевому Либаэта ещё живая и поддерживается. Я еесобирал, весьма годно. >>2231373 > Сколько примерно времени уйдет на освоение плюсов и Qt для трудоустройства, если уже есть опыт в кодинге на другом языке? Джоша лоспинозо книгу найди почитай. Там все чётко с новыми либами. >>2231753 В с++ 17 есть такая штука >>2233429 > сап, плюсач. не знаю подходит ли под тред но для курса универа по плюсам просят либо через вм либо через дуалбут юзать линукс ради валгринда. кроме с++ нигде не планирую юзать линух поэтому стоит ли ебаться с вм или с дуалбутом? На кати линух на флешку как вариант. Решение по цене двух пачек сижек. Ну или виртуалка. Тоже изи мод. >>2234274 > Примерно да. Подавался к ним будучи студентом раз 5 наверное, всегда приходил отказ. Даже до интервью ни разу не допустили, просто на этапе контеста отсеивают всех, оставляя ебучих олимпиадников.
> Готовься к задачам на жадные алгоритмы, ДП, графы, деревья, обязательно выучи что такое минмакс куча и как с помощью нее решать задачи. В общем, контест будет как в яндексе, возможно даже сложнее. А где к этому готовиться?
>>2234673 >А где к этому готовиться? Литкод, codeforces, haсkerrank и всякое такое. Это где решать задачки. Теорию из разных мест нужно искать, всякие талмуды вроде кормена не подойдут, так как там рассказано про алгоритмы в целом, а не про техники решения задач. На литкоде можно читать разборы, есть еще geeksforgeeks, еще рекомендовали educative.io и algoexpert (но они за деньги).
Нужно минимум 200 задач уровня медиум прорешать на литкоде, чтобы +- уверенно чувствовать себя на собесах. У кого-то год уходит на подготовку, у кого-то меньше. Но один хуй сейчас что в яндекс, что в тинькоф - нужно уметь решать нихуевые задачи на алгоритмы. Чего только одно динамическое программирование стоит.
>>2234673 >А где к этому готовиться? Поступаешь в вузик и там тебя готовят. Любая шарага, где есть МехМат/ВМК, вполне сгодится. Можешь еще перед сном почитать Д. Кнут "Искусство программирования" и какую-нибудь книжку по дискретному анализу.
>>2234978 Да никто там нихуя не готовит. Ну расскажут тебе про структуру данных "Список" и "Очередь", заставят реализовать их в лабах. Какие-нибудь графы и деревья туда же. А решать какой-нибудь two sum тебя никто не научит.
Дискретный анализ это вообще про всякие формулки и теоремки, которые тебе никогда не пригодятся.
>>2234978 Чистой воды пиздёж. В ВУЗах тебя будут ебать по матану, теоретическому матлогу, основам статистики, дифурам и всякой абсолютно бесполезной хуйне, но никак не по алгоритмам. На первом курсе тебе 10-ой лабой поставят воспроизведение 3-х сортировок. 12 лабой будет бинарное дерево в двух реализациях (ссылки, массив), к этому дереву алгоритм обхода. Всё, блять.
>>2235349 может быть так и есть, в любом случае мне нужно с этим работать. может я что-то не понимаю. вот по-конкрнетнее У меня есть класс Token, у него есть дети: Operand, Function и тд. Мне нужно сделать то что на пике
>>2235348 У нас на дискретке рассказывали LZW, RSA, CRC, поиски строк с хэшированием, поиски путей, конечные автоматы, цепи Маркова, генерации перестановок, диаграммы Вороного и ещё докучи всего полезного. Это примерно 1-2 курс.
>>2235357 Есть тупой способ: class Token { TokenType tokenType; Operand ⚹operandData; Function ⚹functionData; Operand ⚹argumentSeparatorData; }; И есть нормальный способ через паттерн Стратегия class Token { virtual void doAction() = 0; };
>>2235348 Везде по-разному. Чоты. Надо кстати поднять конспекты, вспомнить, что мне сам Иванников на первом курсе читал по информатике. А то я про поисковые деревья узнал только через много лет после выпуска. Да и вообще структуры данных у нас как-то фигово давались. Зато вот как у этого анона >>2235417 был подобный курс. Только он назывался "теория информации" и "защита информации".
>>2235417 У нас конечные автоматы были в курсе по компиляторам, генерации перестановок в курсе по комбинаторному анализу, а диаграммы Вороного, алгоритмы на строках и сжатие нам в принципе нигде не рассказывали.
>>2235508 https://pastebin.com/wpF6NzPp реализация кринге конешн, куча херни + надо довесить констрейнты + хз как лямбды передавать, как минимум forwardить надо, зато юзать просто и вроде (с норм констрейнтами) удобный вызов предполагает соблюдение контрактов
>>2236249 где ты научился шаблонам и всем этим модным шаблонам проектирования? У меня например от последнего голова кипит и я ничего не понимаюю. Оно с опытом приходит или я тупой?
>>2236260 Я года 3 как плюсы юзал, и то ласт год начал ФП (Haskell и Agda) смотреть. Использовал только на пет-проектах (игровой движок уиии), ибо не работал никогда.
Но на плюсы я с шарпа переходил, там генерики - так что какая та база для понимания шаблонов была. Хз сколько я на шарпе сидел, думаю года 4 в школе.
Не считая фреймворков - учил не по туториалам, а пытался сделать свой пет, и когда нужно было сделать то, чего я не мог, - гуглил, переписывал, так и запомнилось.
В моем примере - концепты sfinae я, например, так и не юзал, частичная специализация шаблонов (is_specialization_v когда-то на стаковерфлов взял), parameter pack'и, шаблонные лямбды (буквально и гуглил сейчас, опять стак), forwarding. Не так много как мб кажется.
>>2236260 Шаблоны проектирования я и не знаю. Думаю да, с опытом приходит. На практике встречаются случаи, когда с шаблонами можно красиво все сделать - приходится их юзать, постепенно запоминается. И так со всем.
Суть: Программа через malloc/new выделяет память. Разумеется эта память имеет адреса в виртуальном пространстве процессора. Вопрос: Можно ли обращаться к этим адресам не через указатель который возвращает malloc/new а напрямую вроде: (имя_типа )(0х402056) = значение где 0х402056 - условный адрес выделенный ОС который получилось как-то угадать
>>2236457 В стандарте плюсов вроде было что если ты имеешь несколько указателей разного типа на одну переменную то это UB. Ну и список исключений прилагался.
>>2236430 Можно наверно. Но стоит ли так делать? Чего ты сделать хочешь?
>>2236457 Для процессора всё едино, UB существует только при компиляции. Примеры для компилятора не одинаковы, из-за оптимизатора программа вообще может работать не так, как визуально выглядит её исходник. > int A = new [размер] В момент компиляции известно, что инициализация делается именно от операции new, а не от другого указателя или ещё откуда-то. И оптимизатор может внести соответствующие правки. Но он не может предвидеть, что алр5ес ты берёшь не через new или от другого указателя, а одному тебе ведомым способом.
>>2236430 >условный адрес выделенный ОС который получилось как-то угадать Можно, только как ты угадывать собрался? Не угадаешь
>>2236461 >В стандарте плюсов вроде было что если ты имеешь несколько указателей разного типа на одну переменную то это UB. Гуглим strict aliasing и вдумчиво читаем.
>>2236652 Не забудь, что если тип без виртуальных функций, то RTTI не будет. И, т.к. хорошая практика иметь либо public virtual либо protected non-virtual деструктор, можешь добавить такой в Token.
Анон, у контейнеров есть замечательное свойство - быть пустыми. Есть ли в СТЛ некий тип для только одного элемента? Уникуе-птр казалось бы то, но идея его использования другая, и, если не ошибаюсь, нет компайл-тайм оптимизаций
Суть: Хочу чтобы во всех файлах проекта все заголовочные файлы можно было увидеть, т.е. беру и пишу #include "Foo.h" в любом цппшнике и могу пользоваться на здоровье
Мое неудачное решение: Использовать include_library(путь к папке с foo.h) в каждом подпроекте? Работает, но: 1. Если добавлю в условный foo.h какой нибудь oof.h лежащий в новой папке то все файлы проекта не будут его видеть, а следовательно для каждого подпроекта мне придется добавлять include_library с местоположением oof.h. 2. Если в голову придет идея взять целую папку с заголовками и перенести в другое место то опять же придется менять include_library для всех подпроектов в которых использовался хоть один заголовок из этой директории. Хочется чтобы все заголовки лежали в глобальной области видимости для каждого подпроекта
Предполагаю решение: В проекте создать папку include где будут лежать все заголовки. Тогда можно будет ссылаться на эту директорию из всех подпроектов и будет глобальная область видимости. Но сколько не смотрел на другие проекты в гитхабе глобальная папка с инклудами не распространена в проектах >10 Мб кода и больше. Почему так?
И вообще где найти инфу по правильной организации больших проектов? Что-то вроде Совершенного Кода только на уровне не исходников а модулей и библиотек, как все это правильно запилить с минимальными зависимостями
>>2236989 >Хочу чтобы во всех файлах проекта все заголовочные файлы можно было увидеть, т.е. беру и пишу #include "Foo.h" в любом цппшнике и могу пользоваться на здоровье
>>2236989 Хуйня, не делай так, оставь формат <mylib/foo/foo.h>, <mylib/foo/bar.h>. И неймспейсы не забудь. Посмотри примеры крупных библиотек типа буста, они такой формат имеют. Ну и в цмаке либу сделай либой, и к своим примерчикам и юнит-тестам уже не подключай через include_directory и как-то там еще, не помню
Как рефакторить спагетти-код? Не в плане запутанный, а буквально там на 4-10 строк кода по оператору goto Есть ли какая-то профильная литература по этом? Что не скачаю книжку/мануал то весь рефактроринг там идет на уровне методов, классов, переименования, группировании объектов в класс и прочему "высокоуровневому" рефакторингу. Но нигде еще не видел инструкции по рефакторингу спагетти-кода, функций с плавающим входом, самомодифицирующегося кода, вычисляемых меток goto и прочего "низкоуровневого" рефакторинга. Отчасти это оправдано - такой код уже десятилетиями не пишут, но есть ли хоть какие-то материалы по этому?
>>2237071 Может, можно написать тест, описывающий все варианты выполнения искомого кода, а потом написать его с нуля под тест? Ну или ПРОСТО разберись, что делает код на асме и перепиши на чём ты там пишешь.
>>2237100 Так и делаю. Я к чему задал вопрос - я хотел рефакторить вывод декомпилятора, но переписать это с дебагером пока более простая альтернатива. Буду искать инфу
>>2237093 Вангую, что после ПРОСТО разобраться, ему придётся ЛЕГКО и НЕПРИНУЖДЁННО написать то же самое без потери в скорости/надёжности/функциональности.
Правда, что раньше ОС не всегда могли освободить память, которую выделили программе и поэтому если есть утечки, то они проявлялись и после завершения программы?
Встал вопрос о виртуальных деструкторах. Если при вызове обычного деструктора, таблица виртуальных функций перестаёт существовать, то что говорит стандарт о существовании этой таблицы при вызове виртуального деструктора?
Короче на сколько законно вызывать виртуальный метод в виртуальном деструкторе?
>>2239108 Отличай криптографию и программирование. Криптография это поля Галуа, кольца вычетов, сети Фейстеля и куча прочей дискретной математической залупы. Когда ты все это изучишь, тебе плюсы нахрен не всрутся (как и тянки, свежая смена белья и парикмахер). Можешь поискать методичку от кафедры теории информации мфти и почитать статьи на википедии, которые студенты мфти и пишут в качестве одного из пунктов курсовых работ.
Что до плюсов - ну лично я считаю, что тут лучше мухи отдельно, котлеты отдельно. Учи отдельно криптографию, отдельно плюсы.
>>2239405 Алгебра включает в себя описание почти всей математики. Ты можешь изучать кольца вычетов или алгебры полиномов, но даже не задумываться об их описании с помощью теории групп. Это для бОльших выебонов нужно разве что. Для понимания работы алгоритмов нужно просто понимать принципы, на которых они основаны.
>>2239484 "Найти минимальный элемент среди максимальных элементов строк двумерного массива чисел размера M×N. Определить номер строки и столбца такого элемента." Буду благодарен любому ответу.
>>2239394 практическая криптография - это еще и построение PKI даже в конце нулевых эта ниша еще была не совсем занята в россии, системы не были написаны, сегодня возможно уже все и понаписали, не знаю перестал следить таким образом была работа для средних с++ программистов в этой сфере получалось вроде и криптуху пишешь, но задачи при этом обычные программиские стоят при этом чем то это напоминало построение инфраструктуры вокруг хардварной и софтварной виртуализации, сама инфраструктура не требовала каких то особых знаний собственно технологий виртуализации, а было много обычных программиских заданий, щас то уже правдо все понаписали и кодеры там не особо нужны, только саппорт остался
да вообще с системным программированием есть такая проблема для программистов пишется нужный софт, он работает, все, ниша закрыта программисты идут нахуй ибо не нужны становяться оставляют пару человек на саппорт и все
>>2239488 > минимальный элемент среди максимальных элементов строк > пик
Твоя задача не имеет ничего общего с программированием, если ты действительно хочешь когда либо им стать, бросай свою шарагу и развивайся самостоятельно
>>2239588 > бросай свою шарагу и развивайся самостоятельно
РОТА ПОДъЕМ ВСТАВАЙ НА РОБОТУ ГОВНО ЧИСТИТЬ ВОТ ВИЛКА ЧИСТИ ЧИСТИ ВОТ КАК НУЖНО БЛЯТЬ ЧИСТИТЬ ГОВНО БЛЯТЬ НИЧЕГО МОЖЕТ НИЧЕГО НИЧЕГО НЕ ЗНАЕТ И ЭТО ОФИЦЕРЫ РОТА ПОДЪЕМ ВОТ КРАСКА ВОТ ВИЛКА ПОШЕЛ НА РОБОТУ БЛЯТЬ ПОШОЛ
>>2239686 ты матрицу на стеке создаешь? Если я не ошибаюсь размер стека зависит от операционной системы. Лучше работай с динамической памятью( malloc ,free)
В школе с большим кайфом изучал паскаль, и в PascalABC элементарнейшим образом можно создать окно, красить в нем пиксели в разные цвета и всё такое.
под впечатлением спустя десять лет захотел полностью разобраться в 3d графике, как она работает и попробовать самому написать все алгоритмы отрисовки пикселя на экране. начал изучать c++. без звезд с неба, элементарные алгоритмы в консоли делать научился самое сложное это аналог экселя в терминале. думаю ну всё, пора приступать к реализации детской мечты и...
это анриал. почитав книжку этого вашего страуструпа в разделе графические примитивы он просто #include Graph.h и дальше так же как в дестве, точки, линии, всё так просто их легко (пик). а на деле VS 2022 нихуя не знает ни о каких Graph.h, почитав в интернете я понял что это всё ад и израль. либо ковыряние в winapi, либо уже готовая библиотека которая при вызове одной функции все операции с вершинами сделает.
так вот вопрос - неужели в этом языке нету простой библиотеки которая без непонятного геммороя просто создаст мне окно и покрасит пиксель (100,100) в черный цвет? ни в 1000 строк кода ни в 1000 #include а просто - создал окно, покрасил пиксель. а дальше я уже буду сам придумывать как мне что с этими возможностями делать.
>>2239897 >так вот вопрос - неужели в этом языке нету простой библиотеки которая без непонятного геммороя просто создаст мне окно и покрасит пиксель (100,100) в черный цвет? ни в 1000 строк кода ни в 1000 #include а просто - создал окно, покрасил пиксель. а дальше я уже буду сам придумывать как мне что с этими возможностями делать. > sfml
>>2239897 > под впечатлением спустя десять лет захотел полностью разобраться в 3d графике, как она работает и попробовать самому написать все алгоритмы отрисовки пикселя на экране Лол, мой первый более-менее сложный проект на плюсах - отрисовка трехмерной графики. Дошел до вращающейся сцены, состоящей из куба и плоской сетки. А потом забил. Матричную и векторную арифметику сам писал, как и вывод проективного преобразования выводил интуитивно. Сами линии и точки рисовал через WinAPI. А ещё дело было в 10 классе в 2005 году. И интернет был по талонам раз в месяц.
Пиздец вы тут обленились - в интрернете не можете найти, как отрезок нарисовать.
>>2239897 есть api directx, opengl и vulkan поверх их сотни игровых движков, движков для профессиональной 2D и 3D графики, мультимедийных движков, в том числе и бесплатных либо условно-бесплатных выбирай что тебе нравиться и используй
>>2240169 А кстати во времена борланд С++быдлер было же что-то вроде дельфиподобного формошлепства. Небось и пиксели рисовать можно было. Сейчас для этого конечно надо пердолить какой-нибудь sdl.
>>2225172 (OP) Доброе утро, ананасы, нужна ваша помощь. Нужно написать программу, которая будет восстанавливать файлы с двд диска, который повреждён. Если файл целый, то просто его скопировать, если файл повреждён, то скопировать байты до повреждения + байты после и пометить файл "bad". Писать всё это надо на qt. Моих знаний не хватает настолько, что не могу представить, как это в принципе реализовать. Я так понимаю, надо каким-то образом считывать информацию с диска, потом в соответствии с особенностями файловой системы восстанавливать возможные таблицы с информацией о файлах (пока не смотрел, как именно устроена UDF) и только потом, зная адреса файлов, пытаться считать информацию, соответствующую этим файлам? А что, если будет повреждена и служебная информация этой файловой системы? Или может я слишком глубоко копнул и есть какие-то средства это реализовать попроще?
Привет, Анон. Небольшой вопрос по совершенно дестким вещам, стыдно писать преподам по этому поводу. Есть вот такая функция, нужно найти ее корень, он находится примерно в красной точке на рисунке. Если использовать метод бисекции/метод половинного деления для нахождения корня, правильно же, что он его никогда не найдет? Все же помнят, как он работает, берутся точки (point1, point 3), затем делится пополам (point 2), умножаем значения функций на концах отрезков и сравниваем результат умножения с нулём, если знак меньше нуля, то область в которой ищем корень сдвигается влево, в обратном случае сдвигаем область вправо. Какой метод лучше подойдет для нахождения корня в таких функциях? Что почитать по этой теме?
>>2240691 На этом графике формально любая точка горизонтальной линии является корнем. А найти определенный корень, а не первый попавшийся это уже другая задача.
>>2240691 Тут уже правильно сказали про горизонтальную линию. Я просто дополню. Может, тебя это тоже наведет на определенные мысли. В вычислительной математике любые расчеты выполняются с какой-то точностью эпсилон. Она и внедряется в правило останова интеративного алгоритма в таком вот виде: когда разница между приблизительными значениями корня на предыдущей интеграции и значениями корня на текущей итерации отличаются меньше, чем на эпсилон, то пора останавливаться.
В твоём случае если бы нужно было решить задачу f(x)=0.01, то это бы сводилось к задаче threshold detection. Там можно было бы протабулировать функцию с шагом порядка эпсилон и найти индексы, между которыми функция принимает значение 0.01, а потом интерполировать ее линией на этом отрезке и выдать значение точки пересечения.
Но в случае бесконечного числа корней даже математические пакеты тебя нахрен пошлют.
>>2240726 Вообще лучше от тебя ещё контекст задачи услышать. Может, ты ищешь корень на каком-то отрезке и тебе большая часть графика не нужна? Или у тебя там ещё шум есть какой?
>>2241445 Забыл уточнить. Меня интересует отличие на уровне машины. Я понимаю, что у объекта может просто не быть копирующего конструктора, оператора = и тд.
>>2241445 Это а) указание компилятору, что нужно вызвать move-конструктор/оператор присваивания и б) подсказка компилятору, что тут можно сгенерировать более оптимальный код.
>>2241445 move кастит аргумент к rvalue, т.е. на ур "машины" ничего не происходит. С другой стороны, там где этот move используется, например x = std::move(y) компилятор будет искать перегрузку operator= для аргумента-rvalue и если есть специально =(T&&) - выберет его. Так же и с конструктором.
>>2241445 В том, что это вызов 2 разных функций: T::operator=(const T& ) и T::operator=(T&&). В первом случае b остаётся без изменений и с ним можно дальше работать, а во втором случае b становится невалидным (не обязательно, но обычно реализация подразумевает, что его данные переносятся в a, а вместо них остаётся мусор). При этом перенос данных из b в a дешевле, чем глубокое копирование.
Что же касается move, то объект b имеет категорию l-value (то есть может стоять слева от =, имеет имя и от него можно взять адрес). Так как он l-value, то компилятор для него по умолчанию должен вызвать operator=(const T&) (в исполняемый код подставит адрес этого метода). Чтобы сказать компилятору, что объект b нам не нужен и мы хотим его перенести в a, а не скопировать, то нужно сменить его категорию на rvalue, вызвав move (компилятор при этом смотрит, есть ли метод operator=(T&&), и если да, то подставляет его).
На деле есть масса нюансов, но в целом как-то так.
Есть тут эксперты CMake? Допустим я пишу find_package(glfw3 REQUIRED) У меня в системе нет ни glfw3 ни FindGLFW3 скрипта нигде Почему cmake тупо молча продолжает конфигурировать и НИГДЕ не указывает что нет скрипта поиска? Есть вообще в C++ нормальные системы сборки?
>>2241760 > Есть вообще в C++ нормальные системы сборки? Ты не поверишь - но MSBuild просто работает без хуйни. Какое счастье, конечно, что вся разработка в конторе под винду.
>>2241677 ну а вообще алиасинг зависит от того с какими настройками компилиться этот конкретный объектный файл так чтож надо уточнять по одному коду мы тебе ничего не можем сказать какие паддинги будут а кто будет объяснять тот сам дурак
>>2241445 ля, челик, это слишком сложный вопрос и глупо выяснять это читая ответы на форумах в интернетах, так ты не получишь комплексного понимания читай книги епт, хотя бы майерса последнюю книжку
>>2241290 да щас крестовое компилестроение работает как отлаженые часы, так чтож ты можешь не волноваться что там в какой-нибудь новой версии какого-нибудь компилятора что нибудь очень сильно налажают либо с реализацией самого языка либо с реализацией стандартных библиотек, все оче надежно как правило можешь прямо брать последние релизные версии шланга, gcc, майкрософтовского компилера, интелловского и юзать для создания коммерческого софта
>>2241918 > Эпсилон для флоата Эпсилон в вычислительных задачах считается не для флоата, а для поставленных условий. В любой системе шумы будут больше, чем самое теоретическое поганое разрешение флоата.
>>2242009 Не не, там дело в дискретности флота и больших промежутках на больших значениях. То есть сравнивая на порядке 1e+1 один эпсилон, а для 1e+30 совсем другой
>>2242030 Я тебя понял. Плотность флоатов неравномерная. Но я про другой эпсилон. Если твою физическую систему колбасит, то не нужно определять ее параметры с точностью до 1е-30. Нужно оценить отношение сигнал-шум и исходя из него решать задачу.
>>2241760 Что-то ты пиздишь. Если с REQUIRED конфигурация прошла, то скрипт есть и библиотека найдена если ты своими ручонками не влез в настройки find_package. Полный лог какой?
>>2242057 Вроде, в старых смаке required ничего не гарантировал, и приходилось писать дрисню типа: find_package(hui REQUIRED) if(NOT HUI_FOUND) message(...) return() endif()
>>2242057 >Если с REQUIRED конфигурация прошла, то скрипт есть и библиотека найдена Честное слово, на библиотеках у которых есть скрипт поиска все работает как надо. Если скрипта поиска впринципе нет то молча конфигурирует и идёт дальше. Скину логи чуть позже
>>2243404 Да понятно дело что объяснено, но все равно пиздец же Синтаксис же один и тот же, это буквально выглядит одинаково, то есть смотря какой то кусок кода, ты можешь легко перепутать что он делает Да и как они вобще это сделали, темплейты же должны достаточно тупо код генерить постановками, но оказывается они вот такую магию ещё делают да и выглядит тупо, аргумент который выглядит как рвэлью матчит всё подряд
1. Почему потоки ввода вывода назвали потоками, это же буффер. 2. Почему доступ к переменным со стека быстрее, чем с кучи, ведь они физически хранятся в оперативной памяти? Могу предположить, что адрес стека хранится в регистре, а адрес переменной из кучи в оперативной памяти. Или стек всегда кэшируется процессором. 3. Какие файлы сам сядешь, а на какие мать посадишь отправить на гитхаб, а какие в гитигнор, чтобы другой пользователь студии мог скачать мой проект и запустить его? Если у меня студия 2022, могут ли быть проблемы с ранними версиями?
>>2243641 >1 Какая разница? Ну назвали и назвали >2 Память стека быстрее потому что не ее не нужно запрашивать у оси. Ты получаешь ее при старте программы. В общем случае память со стека точно так же лежит в озу, кэш не резиновый
>>2243673 Еще раз. Взять память у оси это дорогая операция. Память стека выделяется при запуске а значит во время выполнения не тратится время на дорогой malloc. Сам доступ по скорости чисто теоретически одинаковый.
>>2243641 >Почему доступ к переменным со стека быстрее, чем с кучи за счет пространственной локализации (стек в одном месте оперативы будет физически) за счет последовательного обращения (это уже компилятор разруливает если речь идет о стеке что в языке, а не о стеках операционной системы)
>>2243641 подозреваю что цп пофиг стек там или не стек, ему не важно (хотя могу и ошибаться, да скорей всего ошибаюсь) просто цп пытаеться подключить свои способы оптимизации, одним из которых являеться предвыборка данныъ, а так как стек локализован в пространстве памяти, то и эта предвыборка оказывается удачной
>>2243814 >стек в одном месте оперативы будет физически От этого прироста скорости не будет потому что структуры данных выделеные на куче все равно нарантировано имеют последовательное пространство.
Т.е std::string, std::vector и прочие heap-базированые дают издержки(оверхед) только при уничтожении и создании. Хотя не знаю, вполне возможно есть оптимизации для стека которые ломают теорию
>за счет последовательного обращения (это уже компилятор разруливает если речь идет о стеке что в языке, а не о стеках операционной системы)
Не понял что ты имеешь в виду. Объясни
>>2243842 На самом деле он тебе хуйни насоветовал(если не понимаешь почему зайди на какой-нибудь популярный github-репозиторий и посмотри как оно там). Впрочем пока ты начинающий это не очень важно, особо не заморачивайся
>>2243814 > за счет пространственной локализации Но ведь страничная адресация память. Или ос ищет под сегмент стека такой кусочек оперативы, где физически адреса друг за другом? > это уже компилятор разруливает если речь идет о стеке что в языке Речь идет о стеке, что сегмент памяти процесса. Насколько я знаю в с/c++ под стеком подразумевается то же самое.
>>2243981 > На самом деле он тебе хуйни насоветовал(если не понимаешь почему зайди на какой-нибудь популярный github-репозиторий и посмотри как оно там). Впрочем пока ты начинающий это не очень важно, особо не заморачивайся Ну-ка, мне расскажи, почему это хуйня. У меня в проде +- такой гитигнор уже 4 года. И это прод компании, к которой средний двощер максимум с эйчарами поговорит.
>>2244059 >прод компании Ну в проприетарной разработке и не такое творится. Опять же если не понятно посмотри как выглядят популярные опенсурс проекты над которыми работают тысячи людей. Это тебе не 10-20 калек на зарплате, которым похуй что проект засран файлами от сраных ide(даже не кросплатфоремнных в 2021, пиздец). Им лиш бы барин платил а на искусство программирования и организацию файлов по феншую тупо по хую
>>2244079 Ок, как скажешь, успешный РАБотник из высокого стеклянного офиса принадлежащего успешной копрорации . Продолжай убеждать себя в том что пластмассовый мир на самом деле сделан из шоколада
>>2244086 Так как тоже считаю включение всяких *.sln плохой идеей, когда пытался залить свою либу утилит на гит -- попытался запилить CMake. И как же это суко сложно, сделать чтобы find_package работал со своей либой, еще и уебищный синтаксис и 100 способов сделать одно и то же и все хуйня... Мб есть что-то, что может генерировать CMake и использовать внешние cmake-либы, но само попроще? Вроде тут про MSBuild кто-то писал, но чет как-то хз..
>>2244103 >попытался запилить CMake. И как же это суко сложно, Есть такое , сам долго морочился. А если делать то что реально должно работать везде и даже на андроиде это пиздец.
>>2244120 А сейчас ты читаешь вопрос на который я отвечал "3. Какие файлы сам сядешь, а на какие мать посадишь отправить на гитхаб, а какие в гитигнор, чтобы другой пользователь студии мог скачать мой проект и запустить его? Если у меня студия 2022, могут ли быть проблемы с ранними версиями?"
Специально для тупых красноглазиков выделил нужное
>>2244255 А это >>2244114 ты зачем написал? >еще один артист. Нихуя не знаю, нихуя не умею - .sln заливать для студийного проекта плохая идея
Я не тебе писал изначально, а челику, который > Опять же если не понятно посмотри как выглядят популярные опенсурс проекты над которыми работают тысячи людей. как я понял писал про более общий подход, а не максимально тупой-простой ответ на вопрос
И я вопрос задал, а не отвечал >>2244255 >"3. Какие файлы сам сядешь, а на какие мать посадишь отправить на гитхаб, а какие в гитигнор, чтобы другой пользователь студии мог скачать мой проект и запустить его? Если у меня студия 2022, могут ли быть проблемы с ранними версиями?" на это
и да, можно убрать гитигнор совсем и еще больше шанс запустить этот проект у другого чела будет, но ты про это не написал почему-то
>>2243981 бля ты не понимаешь у тебя доступ к стеку оптимизирует компилятор на этапе компиляции, там сразу будет последовательный доступ, стек влезет в одну адресную страничку, часть стека пойдет в кеши, плюс предвыборка в цп и все такое а по куче будет мотать туда-сюда потом бля если кучи не хватит ее надо расширять просить память у ос, а это переключение контекста на кернел, а это вообще пиздец, кучу работы надо будет провернуть, поэтому дорого
Необходимо реализовать клиент-серверное приложение под Linux. Клиент - программа, запускаемая из консоли. Сервер - демон, корректно завершающийся по сигналам SIGTERM и SIGHUP. Клиент должен передать содержимое текстового файла через TCP. Сервер должен принять и сохранить в файл.
Что почитать по этой теме? Какие книги по созданию tcp сервера на c++, да и просто про tcp?
>>2245114 Беру свои слова обратно, книга обозревает последние новинки. Хотя не хватает глубины. Например почему клиент не использует вызов bind(), а сервер использует.
>>2225172 (OP) Просвятите. Почему на C пишут для железа чаще чем на C++? Репозиторий ReactOS на гитхабе написан почти весь на C. Так удобнее или есть другие причины?
>>2245454 >Почему на C пишут для железа чаще чем на C++? зачастую потому что под железку нет хорошего с++ компилятора, ну или вообще нет с++ компилятора
>>2245572 Ещё бывает, что с++ компилятор есть, но он на 1-2 стандарта отстаёт от мейнстрима. Или тулчейн ограничивает стандарт компилятора. В итоге пориджевый код на с++20 не портируется за пределы Ubuntu/Windows. Причём это касается даже железок типа Arduino/Jetson/Raspberry.
>>2225172 (OP) Предположим, что у меня уже есть кое-какие познания о джаве (на уровне пет-проджекта). Насколько быстрее мне будет перекатиться в C++, чем если бы я начинал вообще с нуля?
>>2231823 Хех, антош, ну рассказываешь про меня. Я так десять лет сопли мотал по совокупности разных причин. Но когда решил валить, то мне это отсутствие опытных коллег аукнулось. Свой шанс вкатиться в интересную сферу проебал из-за отсутствия какого-то опыта кроме личного. Теорию я знал неплохо и собес прошёл, а дальше не сработались - сказали, в другое время бы и подтянули бы, но не сейчас. В итоге побежал по собесам и вместо работы интересной работаю работу с нормальным коллективом и нормальной ЗП. Но да, ты прав - за кратный прайс и работать приходится кратно. В последнее время настолько, что мечта о той интересной сфере становится нереальной. Это печально А, ну и ещё факт: такие госорги это типа оплот стабильности, да? Но через полгода как я свалил контора считай была расформирована. Если бы я не был тревожным хером с плохой самооценкой и не наяривал бы всяких Макконнелов с Майерсами, было бы неприятно. Никакой морали из истории, кроме того, что знания свежими держать всегда хорошо.
>>2246111 Овер это когда бесполезно и не читаемо, а то что там слов >3 - не думаю что проблема для плюсовиков , там же все дефолтные вещи. Или лучше делать шаблоны без ограничений? или forward'ить не надо?
Я хочу создать контейнер, назовем его QVector<void*> container, в который буду пихать объекты двух классов. Но мне также нужно и сделать деструктор, с помощью которого я объекты из контейнера буду уничтожать. Можно ли делать delete container.at[n], будет ли delete удалять void указатели правильно?
>>2246391 Если в delete передаётся указатель на тип, отличный от базового и не являющегося его предком, то поведение не определено. Память может быть и вернётся (аллокатор рантайма по идее знает где и сколько выделял), но деструктор точно не вызовется.
>>2246402 > Если в delete передаётся указатель на тип, отличный от базового и не являющегося его предком, то поведение не определено. То есть я не могу в одном классе удалять объекты других классов, которые являются его членами?
>>2246087 Ты это я (зелёный в посте на который ты ответил). Всё именно так и было. Работаю теперь в известном вендоре, задачи чисто софтовые, на грани энтерпрайза. Да, без железа скучновато, но сами задачи адекватные и умеренно разные в рамках продукта, а не очередной бинарный протокол с железякой. Но вкатывался я сразу к ним (с железяками тогда хотел завязать).
>>2246413 Допустим есть вот такой класс: struct A { int m_num; A() { m_num = new int(12); } virtual ~A() {delete m_num;} }; И его наследник struct B : public A { ~B(){}; };
A p_a = new A; void p_v = (void)p_a; B p_b = new B; A p_b_a = (A)p_b;
delete p_a; // отработает нормально (p_a имеет тот же тип, что и при вызове new)
delete p_a->m_num; // отработает нормально
delete p_b_a; отработает нормально, так как A это предок и у него виртуальный деструктор (а значит ~B() будет вызван)
delete p_v; // ~A() не вызовется и память p_a->m_num не освободится (тип p_v отличен от типа при вызове new и не является типом-предком)
>>2246175 Использование метапрограммирования уровня sfinae автоматически вычеркивает "читаемость" из списка достоинств кода. Восхищаюсь твоей способностью писать магию, но для алгоритма калька на двух стеках как-то всё же похоже на оверкилл.
>>2246935 Это указатель на char, хранится на стеке. Может указывать на область памяти, возможно содержащую массив. В сях есть тип массива, но подержаться за него можно в очень малом количестве мест. В остальных случаях массив представляется указателем на тип элемента массива.
>>2246942 Что значит "возможно"? Можно как-то четкую картину хранения данных в const char* получить? Этот тип данных часто используется, например при передаче через сокеты. Поэтому надо всю залупу конвертировать в этот тип. А вообще не заебись конвертировать в то, что не понимаешь.
>>2246946 Чё те не понятно то? Тип char это 1 байт данных. char⚹ это указатель на байт данных, то есть адрес в памяти, по которому записан этот байт. const char* означает, что ты не можешь эти данные изменить, написав ⚹char = 'a'. Через сокеты передаются данные. Типичное представление данных - последовательный набор байт в памяти. Соответственно, для передачи через сокет, надо указать адрес первого байта последовательности и их количество. Адрес первого байта и есть параметр const char⚹
>>2246946 >Можно как-то четкую картину хранения данных в const char получить? Зависит от ситуации. Например const char w = "Hello" указывает на данные которые ФИЗИЧЕСКИ в бинарнике, то есть w указывает на "Hello" которая находится в одной из секций твоего бинарника, обычно это .text или .data. Если же переменная w специализируется во время рантайма, то это или стек или куча, уже зависит от реализации по коду.
>>2246970 Ты путаешь 2 понятия: char str[200]; и char str_p = new char[200]; В первом случае это объект, создающийся на стеке размером 200 байт. Во втором случае это указатель (размером в 4/8 байт в зависимости от разрядности системы) на кусок памяти размером 200 байт в куче. Логически ты можешь считать, что набор из 200 байт это строка. 1 байт - 1 символ и последний символ строки - '/0'. Либо логически ты можешь считать, что это тупо набор байт, который описывает какой-то другой объект.
Допустим есть: struct A {int a,b,c;}; A obj; Размер объекта в байтах: sz = sizeof(obj); Создаёшь байтовый буфер: char buff = new char[sz]; Записываешь в него объект: memcpy(buff, &obj, sz); Потом передаёшь объект через сокет в виде буфера (то есть ты его сериализовал в набор байт): socket.write(buff, sz).
>>2247083 Если ты работаешь с сырыми указателями Class1* c1 = new Class1(), то да. Если ты используешь умные указатели std::unique_ptr<Class1> c1s(new Classc1()), то нет. Но в целом ты сам должен думать над тем как и когда память выделяется и освобождается.
>>2246087 >А, ну и ещё факт: такие госорги это типа оплот стабильности, да? Но через полгода как я свалил контора считай была расформирована. Текущую кантору, по идее, не должно подобное коснуться, т.к. занимается производством важного оборудования (в т.ч. для всяких стратегических предприятий). Но вот судя по общению на днях с коллегами из других отделов, шиза на контору идёт сверху (кантора в принудительном порядке подставляет очко некоей госкорпорации, иначе просто не сможет ничего продавать). Типа, "безопасность" потихоньку будут пытаются устраивать, а-ля не давать юзерам (даже тем, кому по работе надо) админские учётки на компах, пересаживать с самоустановленных пингвинов на некий официально одобренный. На следующий год вроде такое запланировано. Времени до шизы у меня месяцы, но, очевидно, готовиться к потенциальному съёбу нужно начинать уже сейчас. Придётся сесть за книжки, а то я кроме написания всякой клиент-серверной дрисни на Qt ничего не особо умею.
>>2246087 >А, ну и ещё факт: такие госорги это типа оплот стабильности, да? Но через полгода как я свалил контора считай была расформирована. Вот вот, госконторы это оплот нестабильности, сегодня есть отдел, завтра нет, послезавтра пыня издал указ что эта госконтора теперь входит в состав другой, после чего норманая контора станет бюрократическим дном с нищими зарплатами. А там краем глаза увидишь что-то сверхсекретное и будешь под кучей подписок у товарища майора
Мне нужно в функции поменять значения(отсортировать от большего к меньшему) массива(матрицы)
массив задан как float array=new float[nm];
и обращаюсь к элементам в нём как (array+im+j)
параметры функции void sort(float x[],int n, int m)
сама сортировка работает если она вне функции, все нормально сортируется но если тот же самый код поместить в функцию то все через жопу(почти вся матрица заполняется значением самого большого элемента)
как это исправить? Обязательно динамическая матрица без векторов и обязательно сортировка через функцию
Профессионалы в крестах, подскажите. Файл "А" с точкой входа. В файле "Б" создаю динамический массив ("new'). В файлах "С" "Д" этот массив пользую. Как удалить этот массив из кучи в файле "А" перед "return" ? Адрес и длину я знаю. Компилятор требует вернутся в область видимости, где был создан массив.
>>2248126 Нихуя не понятно, но: Если у тебя массив статический (определён вне каких-либо {}), то ты можешь сделать его видимым в другом файле, написав там extern Type ArrayName;
>>2248133 Примитивный пример: В области видимоси main() определяется размер файла и вызыввется функция. Эта функция принимает параметром размер файла и создает двумерный массив. возврат в майн(). Далее вызываются много разных функций находящихся в разных файлах (не в файле с майн()) Так вот перед выходом из программы мне нужно удалить динамический массив. А сделать это не дает компилятор, требуя чтобы я произвел удаление из той функции (области видимости), где создавал массив. "Vector", "List" итд не интересуют. про них я в курсе. Можно конечно создать статический массив и копировать в него файлы по кускам, но хочется узнать как работают с динамическими массивами в многофайловых проектах.
>>2248776 >А зачем муваешь? Просто тестирую фичи о которых только что прочитал. По логике оно просто должно кастануть или не кастовать вообще и нормально проитерироваться. Но это не мой случай и мне хочется знать чому.
>>2248750 Как будто rvalue-вектор это вектор из трёх элементов (как и должно быть), но с некорректным указателем на данные в момент выполнения цикла. Так нормально.
std::move создает xvalue (потому что возвращает T&&), время жизни временного объекта не продлевается. Чтобы время жизни временного объекта продлевалось, функция должна возвращать простой объект T.
В итоге у тебя dangling reference. Просто в случае вектора у тебя память (куча) уже успела перетереться, а в случае std::array стек еще не успел.
>>2248986 реально ли пользоваться notepad++ и GNU компилятором? Где почитать вообще про весь процесс компиляции от исходников, до линковки и т.п., а также про make файлы?
>>2248986 Любое IDE всегда тяжеловесное. Дефолтный текстовый редактор чтобы писать и там и там - Vim. Тулчейны под Win и Linux разные, поэтому выходов примерно два: 1. Ставишь на windows MSYS2 и через него mingw. Это тулчейн linux под windows. Далее с его помощью пишешь сразу под обе платформы в стиле Linux (vim, make, gcc, gdb, autotools). 2. Ставишь cmake под win и linux и пишешь make файлы (CmakeLists.txt) на нём.
Если пойдёшь 1 путём, то изучишь весь процесс компиляции от исходников до линковки. Но жопа твоя сгорит дотла, я это гарантирую.
>>2248986 У плюсов 2 ide - vs и clion По твоему критерию "тяжёлое говно нахуй" они автоматом отлетают, поэтому тебе остаётся только любой текстовый редактор + система сборки (cmake в основном используют, но можешь попробовать другие, их в плюсах много)
Самое удобное что я нашел для себя - vs code + clangd + lldb + cmake tools
Почему у всех так горит от книги "за 21 день"? Я, правда, имея опыт с чистым С и занимаясь по 5-6 часов каждый день к концу второй недели изучения уже разбирался с темплейтами. А ООП вообще лёгкая тема.
>>2249224 Ну, на самом деле ООП по современным гайдлайнам весьма легкое. Все антипаттерны, кроме маленьких классов, инкапсулирующих крохотный функционал
>>2249049 если отвечать без троллинга, то книжечка "с++ для чайников" была гораздо лучше написана чем "с++ за 21 день", вот и все конечно самое лучшее введение в с++ было написано липпманом, у него была такая тоненькая книжечка, называлась "Essential C++", 250 страниц, у нас ее тоже переводили дак вот это небольшой шедевр, чем то похожий по лаконичности изложения на K&R, но почему то у нас абсолютно неизвестный
>>2249142 Вопрос слишком общий. В общем случае, если ты объявляешь референс, то ты заявляешь гарантию того, что пока существует референс, то будет жить то, на что он указывает. Если рассматривать как член класса, то референс обязывает указывать на что-то а момент инициализации класса. Т.е. сама концепция референса в том, чтобы избавить c++ от всяких null-ов. Просто более безопасный указатель.
>>2247495 Бро, начиналось примерно так же. Нас взяли в теплые объятия госхолднига и начали люто оптимизировать и крутить гайки. Изделия у нас - военка авиационная была. Оптимизнули нормально, как вижу - осталось пара отделов заниматься введением сданных объектов. Разработки больше нет. Самое поганое было - разговоры перед уходом. Не гнушались намекать, что куда же я денусь и кому я нужен. Ох бля.
>>2249544 Хе хе. То же самое было, только в объятия не взяли и гаек не накрутили. Поставили нового "эффективного" директора, так что 3 отдела ушли и стали обособленными филиалами двух крупных контор. У ушедших все хорошо, а остаток с долгами ни обанкротить не могут, ни в холдинг продать.
>>2249958 >Профнепригодный Вот тут ты прав. Сосать хуи вышестоящих не в моем прейскуранте дваче-чьмоня увидела стильный и функциональный редактор : РЯЯЯЯ не может быть , он наверняка годами его пердолил, жыд-брейнс прыде - порядок навэдэ!1!
>>2249978 иди спи, подстилка капитализма, завтра с утра будешь говно вилкой чистить. В том время как свободный(я) человек развивает искусство программирования
>>2249982 > искусство программирования > выбор редактора >>2249824 чето большое на плюсах - vs, не тестил но там вроде завезти автодополнение для концептов полгода назад, кайф остальное - vscode
>>2245405 Прочитал это пособие, спасибо за наводку, а про bind там сказано, что она связывает сокет и порт, это нужно, чтобы использовать listen, то есть, прослушивать канал.
>>2249824 Vscode: clangd + lldb + cmake, для зависимостей conan юзаю, либо ручками либы ставлю Для студента вкатуна отличный сетап, по крайней мере наконец то удобный
>>2250845 Какое отношение это к моему посту имеет? Про сетап то мой есть что сказать? Или ты просто похвалиться хотел какой вс классный? Хотя бы что то по существу скажи что-ли
> юзабельнее нету Не юзабельно если сидишь не на Винде Про nuget и vcpkg хзы, их особо не юзал, но да vcpkg классный а ещё студия не удобная интерфейсом вцелом
>>2249824 Наверно теперь уже только вижуал студио, возможность исправлять синтаксические ошибки до компиляции бесценна. И приятно посмотреть на тип переменной просто наведя на нее мышку. Не знаю че буду делать, если под линух придется разрабатывать.
>>2250161 Беру свои слова обратно, пособие хуйня, прочитав его сможете писать только хелоуворлды от мира сетевых программ.
>>2250904 >Беру свои слова обратно, пособие хуйня, прочитав его сможете писать только хелоуворлды от мира сетевых программ. Мне хватило буквально 150 страниц из Стивенса лет 5 назад прочитать, чтобы простые клиент-серверные приложухи лепить.
>>2250904 >Не знаю че буду делать, если под линух придется разрабатывать. Когда мне пришла пора менять работу, я рассматривал только работу, где в разработке можно было использовать вижуал студию. А вообще - в идеале писать только под винду.
>>2250904 >возможность исправлять синтаксические ошибки до компиляции бесценна. И приятно посмотреть на тип переменной просто наведя на нее мышку. Clangd во всё это умеет
Сап ребята. Есть библиотека, которая результат сохраняет во внешнюю память через метод .save(имяФайла). Однако данный результат требуется в программе и далее. Возможно ли указать имяФайла таким образом, чтобы не происходила запись во внешнюю память? В идеале сразу записать в массив побайтово.
>>2251185 удивительно, но можно написать свой враппер освобождения с деструктором. в начале его создавать и все, лучше чем в кажд скопе отмечать комментарием его конец + если вдруг исключение - все равно сработает
>>2251197 > если вдруг исключение память почистится в деструкторе MediaLoader<>, главное что бы av_read_frame не смог поверх существующей памяти еще выделить
>>2251196 Ой, блядь, дрочеры ебаные на best practices. Карго-культисты сраные. Так мне некрасиво, это устарело. Художники недобитые. Это, сука, коментарии, а не организация кода даже.
Здравствуйте, есть один стик(thumbstick) координаты положения которого мне нужно считывать. И все бы ничего, но это должно работать когда окно моей софтины свернуто. Т.е в окне программы выбираю управление джойстиком, сворачиваю её. Беру свой стик и яростно начинаю им управлять. Сама софтина на QT. Как захватывать положение стика свернутой программой?
>Он же делает дополнительный мув так они оба вызывают insert же? ток в push там move, а в emplace – forward; и то, и другое 1 функция не вызывающаяся в рантайме
>>2251699 Эксперты со stackoverflow пишут что в некоторый случаях emplace не делает лишних копий или вызовов мув-операций в отличии от push, так что буду все время использовать ее
>>2251716 Вспомнил и нашел на этой странице следующее: "The related case I tripped over (that I mentioned just now in a separate thread on this page) is that emplace_back will "implicitly" call explicit constructors, which could lead to undesired behavior.". > в некоторый случаях emplace не делает лишних копий это понятно > или вызовов мув-операций Вот тут думаю "*_back(std::move(x))" без разницы - мув сам по себе noop. Про это там не нашел инфы, разве что примеры с вызовом мув-конструктора лишний, но там идет конструирование из аргументов, а не передача rvalue готового.
>>2251877 Легко, но есть подводные камни. Компилятор из Visual Studio юзает много микрософт специфичных экстеншенов которых нет в шланге/гцц. Начни с добавления флага /permissive- и с ним пробуй собирать@править то, что не собирается. Когда с этим флагом начнет компилироваться, то пробуй переносить на mingw. Это единственный верный путь переноса.
Как вкатиться джуном/стажером в C++, но при этом не на Qt и не на MFC/WinAPI? Интересуют вещи с сетью, графикой, мб компиляторами. Есть нормальная работа, а не ковыряние в помойном легаси?
Написал название класса по примеру из книги с маленькой буквы, из-за этого не получалось создать его экземпляр и присвоить результат вычислений. Когда воспользовался верхним регистром для первой буквы, всё заработало. Так и должно быть? Мне казалось, что это не имеет значения для компилятора.
>>2252912 Типичный пример из говнокниги. Когда-нибудь напишу свою где в начале ставится глобальная цель по типу "пишем компилятор", ну или игрушку какую-нибудь. И по ходу книги обосновываю все новые конструкции языка практической необходимостью
>>2252731 Да, есть, что за вопрос? Открываешь вакансии, смотришь. >>2252792 Не слушай таких, как этот. Я вкатился джуном с 0 без гитхаба, с таким себе знанием алгоритмов. (Не умею даже графы в ширину/глубину обходить) на нормальную зп в хорошую компанию, где 17-е плюсы. C++ нормальный живой язык и на нем много хороших вакансий. Просто не смотри туда, где есть qt и embedded.
>>2253118 > Не слушай таких, как этот. Я вкатился джуном с 0 без гитхаба, с таким себе знанием алгоритмов. (Не умею даже графы в ширину/глубину обходить) на нормальную зп в хорошую компанию, где 17-е плюсы. C++ нормальный живой язык и на нем много хороших вакансий. Просто не смотри туда, где есть qt и embedded. Тебе повезло охуенно выиграть в лотерею. Это не значит - что это правильный путь для вообще всех
>>2253308 Со span/view намного приятнее работать, даже в чистых сях. Когда нужно что-нибудь распарсить-перепарсить (и не важно, бинарщина это или обычные строки) - самый топ.
Почему код работает? Почему для std::size никакого заголовочного файла не надо? Поочередно подключил 20, 17, 14 стандарт, все работает, студия 2022.
>>2253673 > С другой стороны - сырых указателей у тебя не должно быть в коде вообще, Прям ваще ваще? Умные указатели превращают в овощ объект из которого производят перемещение и мне это не очень нравится. Если этот объект где-то на стеке и при выходе из функции исчезнет, то похуй, в остальных случая я хз.
>>2254026 А может вместо этого числа присвоиться какая-нибудь хуйня в зависимости от signed/unsigned, которые влияют на допустимый диапазон значений и поведение арифметики/логики.
Сап крестач, проблема такая: Как объявить сразу 1000+- переменных в которых будут содержаться разные значения? или это уже не переменные будут, а классы?
Хочу кароче запилить рандомный прегенератор НПС со статами и инвентарем в своей недоигре (как в сталкере) но знания крестов пока на уровне написания калькулятора. Что делать?
>>2253118 >Я вкатился джуном с 0 без гитхаба, с таким себе знанием алгоритмов. (Не умею даже графы в ширину/глубину обходить) на нормальную зп в хорошую компанию, где 17-е плюсы.
Узнал, что командой system из библиотеки Windows.h можно писать команды для cmd (ужасающий истина) и теперь у меня просто глаза разбегаются. Что использовать батники с командами, код на с++, или вообще на фреймворке создать что-то кроссплатформенное? И зачем тогда нужна powershell, лол?
>>2254359 > system Невозможно получить вывод команды, только код возврата. > Windows.h Нет, из cstdlib. > Что использовать батники с командами, код на с++, или вообще на фреймворке По задачам. > создать что-то кроссплатформенное? На линуксе у тебя нет ни windows.h, ни cmd, какая кроссплатформенность?
>>2254381 > На линуксе у тебя нет ни windows.h, ни cmd, какая кроссплатформенность? Я не знаком с Qt, но подозреваю, что там есть функции типа "создать директорию" являющиеся абстракциями над осью.
Сап двачеры, я не ебу где постить: в геймдеве, проге или в ски.
Скорее всего, нечто подобное уже есть, так что подскажите, как это называется.
Суть такова: это работает как обычный даунскелинг, но начинает действовать только на определенном расстоянии от игрока, заменяя обычную систему лодирования. Представим, что вокруг персонажа есть условный эллипсоид, вытянутый вдоль на требуемое расстояние прорисовки и x вектор которого совпадает с направлением взгляда камеры игрока. Если на пути эллипсоида нет пряпятствий (например, помещение) изображение на его границе начинает даунскейлится, причем величина даунскейла зависит от расстояния. Чем дальше, тем сильнее мылит. Еще раз, к лодам и размыванию тектурок вдалеке это отношения не имеет. Как такое называется?
>>2254036 ну дык и используй порождающие паттерны банду 4х почитай, это книжка такая будет у тебя класс-генераторнпс который будет выплевывать сгенерированные объекты классов-нпс с разными статами и эквипом
>>2254476 Там не размытие, просто сначала рисуем дальние обьекты в маленьком разрешении, а ближние в полном. Потом все комбинируем вместе, размазывая далекие обьекты. магические консоле технологии системы PODALSHE OTSEL, епта.
>>2255269 В джаве изначально отказались от всей ручной работы с памятью. В шарпе, соответственно тоже, однако указатели таки добавили, правда непонятно зачем. Ну, может в десктопных приложухах и нужно.
Однако сама идея умных указателей появилась уже ближе к середине нулевых, а не в 90-х. Да и все равно, чтобы нормально пользоваться смартпоинтерами, нужно знать какие проблемы они решают, в общем, иметь представление о том, как работает память.
>>2255269 Что бы меньше себе коленей прострелили. В той же джаве, запрещены переопределения операторов, поскольку создатель видел, то что с ним делают в плюсах.
Множественное наследование запретили похоже из тех же соображений, ибо запросто можно нарваться на call pure virtual function. И ебаться с RTTI.
На самом деле наверно и правильно, ибо бизнесу нужно обычно автоматизировать бардак. Да и к квалификации программистов требования будут ниже.
>>2255333 про операторы такая хуйня, автор Явы просто чмоня омежная, даже в ебучем шарпе без синонимов и то можно переопределять. Складывать вектора или комплексные плбсиком это видите ли говнокод. Будто в жабе не наговнокодить благодаря этому. Назвал переменную рандомной хуйней - вот тебе говно, жду спелчекера для идентификаторов.
>>2249429 Все это хуйня про безопасность. Получить заэкспайренную ссылку можно чуть ли не столькими же способами, что и указатель. На самом деле референсы были введены чтобы убрать наворачивание синтаксического говна связанного с бесконечными разыменованиями в перегруженных операторах и т.д. Сахар, короче, не более.
>>2255333 > , то что с ним делают в плюсах. А что сними делают в плюсах? Так вся STL на этом переопределении. > Множественное наследование запретили Просто. Не используй. Множественное наследование. Ты удержаться не можешь, чтобы хуйню не сделать. В языке есть goto, давай его тоже запретим.
>>2249429 > пока существует референс, то будет жить то, на что он указывает. А я делал висячие ссылки, у меня консоль зависала. Например, когда возвращаешь по ссылке локальную переменную.
Поясните за механизм оптимизации программы, достижения максимальной скорости выполнения, производительности. Короче всего того, чем язык славится. Из того, что сейчас доступно из моего опыта - очевидное сокращение сложности алгоритмов и юзание каких-нибудь битсетов. Как часто приходится писать ассемблерный код? Что ещё? Сюда же ещё реквест: сейчас мой опыт состоит из пройденных Страуструпа и ravesli + референса выборочно и нововведений стандартов начиная с 11 заканчивая 20 а также просмотренных пары дюжин С++ weekly и лекций этого же автора. Так вот, я бы сам хотел заниматься робототехникой + нейронками. Что копать в этом направлении именно по части языка? Посоветуйте либы там, курсы и всякое прочее.
Если действительно интересует тема, почитай документ со скучным названием Intel® 64 and IA-32 Architectures Optimization Reference Manual, там как раз про байтоложество.
>>2255571 >А что сними делают в плюсах? Так вся STL на этом переопределении. Про STL не спорю, а Гослинг, видать насмотрелся на примеры "качественного" переопределения.
>Просто. Не используй. Множественное наследование. Ты удержаться не можешь, чтобы хуйню не сделать. Я высказал предположение про запрет множественного наследования в джаве и не более того. В плюсах оно имеет определённый смысл.
>В языке есть goto, давай его тоже запретим. Так break и continue это тот же goto видом с боку.
>>2255775 Это, конечно, очень хорошо. Документ посмотрю, спасибо. Но интересует всё же развёрнутый ответ типа дроча godbolt/профайлера, вот эти все нюансы с применением const/static/указателей и как к этому приходят в процессе изучения языка.
>>2255778 Ну я дрочу Vtune Profiler и Advisor, для числожевания норм. Там встроенные советы есть, расчёт производительности циклов, паттерны доступа к памяти, оче помогает часто.
>нюансы с применением const/static/указателей
Передаю крутейший совет от штеудовских конпеляторописцев: пиши код как можно проще. Тогда конпелятор сам всё поймёт и соптимизирует.
>>2255574 Понятное дело, что так можно делать. Но я же написал, что когда ты объявляешь референс на что-то, то ты даешь гарантию. Не язык. Если ты сделал референс на объект на стеке и вернул этот реф, то ты хуевый гарант.
>>2256223 >драйвера реально индусы пишут? В штатах их пишут в основном.
>Почему в вакансиях нвидии просят учить джунов, но сама нвидия джунов не набирает? Хороший вопрос, кстати. Не видел джунов в дебаггер команде. Да и вообще их не видел. Пару интернов на лето видел из вузиков.
>>2255775 >IA-32 Architectures Optimization Reference Manual В большинство микроопимизаций компиляторы (шланг, гцц, мсвц) умеют и так. И реального, что можно сделать вручную, это data driven подход и cache-obvious алгоритмы. На крайнем проекте, рефакторинг в сторону оптимального использования i- и d- кешей помогало ускорятся до 50%. Нахуй ооп, нахуй виртуальные функции, нахуй спарсед структуры данных и структуры c heap indirection. When choosing a container, remember vector is best; Leave a comment to explain if you choose from the rest!
>>2256516 Чел, на HH и Воркдее все вакансии с требованиями. Посмотри и покури.
Из энтрилевельных вакансий - я видел несколько в Geforce Now (подай-принеси), и там щас чето питонотестировщик какой-то висит.
В среднем - на вакансию нужны хорошие навыки, на образование всем похуй обычно. Я просто прошел подался на HH, прошел собесы и получил оффер, без каких либо муточек и прочего.
>>2256737 Тот кто тебе ответил - напиздел. Меня гоняли по C++ и Winapi. Собственно, за последние года в найме ничего не изменилось - только теперь я иногда гоняю собеседуемых по C++ и Winapi, ну и по вменяемости. А то есть программисты с опытом по 10 лет, которые не знают, что такое TCP и как сеть работает.
>>2256797 Ну а в командах, которая занимается графендием - там будь добр, знай минимум одно графическое API на хорошем уровне. Меня это не спрашивали, т.к. я не графонник, а рядовой прикладник
>>2256811 Есть, но их не так много. Те же дебаггеры, CUDA, драйвера под никсы, Автомотив, девопсня всякая.
Но нахера тебе линукс, когда Нвидия это одно из немногих мест, где можно писать в божественной студии, собирать МСбилдом, а не ебаными Cmake-заклинаниями, и вообще наслаждаться жизнью?
>>2256846 >А чего они так с cmake иглы слезли От проекта зависит. Много проектов никуда не "слезло", много проектов никуда не "залезло". Но там, где я работаю - везде мсбилд
>>2256826 >собирать МСбилдом Фублядь, ебанутый, ты зачем дерьмо жрешь?
>>2252731 >Как вкатиться джуном/стажером в C++ >Интересуют вещи с сетью, графикой, мб компиляторами. А ты готов к релокейту? Чтобы жить отдельно от мамки и снимать однушку у метро за 7000 грн?
Начал вкатываться в веб на С++, уже предвещаю, как буду грести деньги лопатой.
По идее конкурентов нормальных нет. JS - для макак, довольно медленная хуета, в то время как С++ намного быстрее и позволяет писать понятный код.
Сейчас у компаний есть деньги на качественный, но несколько медленно пишущийся код. Первостепенная задача - это чтобы веб страницы плавно и быстро загружались. А обеспечить это может WebAssembly
Не особо понимаю, почему вы ещё пытаетесь учить JS, если конкуренция в нём огромна? Ведь есть С++, где стажер без опыта получает от 80к, практически не имея конкурентов на вакансии.
>>2257498 Хуйня изначально, т.к. никто фронт не будет делать на С++ для очередного говносайта. А тяжелые приложеньки типа Фотошоп онлайна - их раз два и обчелся.
>>2257502 Если ты пишешь обычный js - тебе не нужен webassembly. Если ты пишешь на среакте или ещё на чём-нибудь - тебе в 99% случаев не потребуется работать с DOM.
>>2257491 >И вообще, хейт к XML не совсем понятен - он самый человекочитаемый из всех форматов Начнем с того что ты хуй XML - eXtensible markup language - расширяемый ЯЗЫК РАЗМЕТКИ. Разметки сука! Т.е. если выкинуть все теги, смысл у текста должен остаться.
Во-вторых, это только у дурачков "xml - это пук-пук теги и аттрибуты". Там еще неймспейсы, энтити, зип бомбы, инклюдинг, экспейпинг, CDATA, XSD и прочая оверинжиниринг дрисня. Написать стопоцентно совместимый парсер - та еще задача, особенно когда нужно чтобы оно работало быстро.
Ну и в третьих есть божественные JSON и LISP. А ты хуй.
>>2257513 XML - это формат из прошлого, в те времена он был неплох. Тот же MSBuild и Maven вполне живут с XML и ничего страшного не случилось, парсеры не падают и приложения собираются. Хотя да, джейсоны удобнее, тут ничего не скажешь
>>2257604 Вообще я хочу формат данных с такими параметрами: 0. вложенность и атрибуты 1. парсер должен быть минимальным, идеально - заммапили файл в память и работаем 2. редактирование занимает минимум кода и не требует выгрузки всего файла в память
>>2257513 > оверинжиниринг дрисня Всё равно что утверждать "Нет евреев - нет антисемитизма". > неймспейсы > XSD А в JSON есть JSON schema, Не нужно - не используй, никто не заставляет. > энтити А в JSON escape sequences. > CDATA Это вообще фича. Сырые строки в JSON хуй знает когда ещё будут. > зип бомбы > инклюдинг К самому XML отношения не имеют и являются такими же проблемами JSON. > ЯЗЫК РАЗМЕТКИ Пук среньк
Как всегда XML хейтят тупо из-за того, что он недостаточно модный и зумерский.
>Как всегда XML хейтят тупо из-за того, что он недостаточно модный и зумерский. Маня, я сервера писал еще тогда когда мамину сиську сосал. И именно поэтому я знаю почему оно такое всё хуйовое. А ты отведай-ка хуйца
>>2257620 > Больная тема? Тебе виднее. > Имена тегов зависят от неймспейсов, дибил Ты бы хоть попробовал чуток разобраться в теме, дебил. > Хуича и плавающие вайтспейсы с ньюлайнами перед тегами. Так и должно быть. > <!ENTITY lol "lol"> А, ты ты про необязательный устаревший DTD кукарекаешь. > я сервера писал еще тогда когда мамину сиську сосал. Но так ничему и не научился.
>>2257626 >нормальные рабочие проекты студии Не "нормальные", а не переписанные
>>2257627 >> Имена тегов зависят от неймспейсов, дибил >Ты бы хоть попробовал чуток разобраться в теме, дебил. Гугл в помощь, мудила. Исчи по "XML namespaces", мразь
>> <!ENTITY lol "lol"> >А, ты ты про необязательный устаревший DTD кукарекаешь. Мудила, ты даже не понял о проблема с xml entities и возможность хуйнуть память при попытке распарсить это говно. Ты только увидел DTD и начал кукарекать, не понимая, что это еще один кусок кала, который парсер ОБЯЗАН поддерживать.
>>2258049 шизоиды не думают о реальной жизни, они исключительно думают о какой-то хуйне, которую либо сами придумали, либо которая абсолютно нерелевантна
>>2256817 >Сам работаю в обсерватории где почти на каждом компе генту собрана. Не шутишь? Алсо, помню как я во времена универа немного повыебывался знаниями программирования и меня кафедра заставила научный софт писать, в анальное рабство взяли, лол. Астрофизическим моделированием тогда занимался.
Алло двощ, я скачал книгу по плюсам, почему меня заставляют вычислять дифференциальные уравнения и факториалы на языке? Это что и есть программирование? Какую задачку выполнить начинающему быдлокодеру? (понял что такое массивы, переменные, функции, которые кстати не понял чем отличаются от классов)
>>2259112 >Не шутишь? А какая у меня мотивация? Много где с виндой работал. Тут повезло - порой напрямую с железом приходится работать и намного удобнее самостоятельно собрать систему исключительно из того, что нужно будет для работы.
>>2259532 Прежде чем змейки писать, ты должен разобраться зачем классы нужны, и какие есть структуры данных и алгоритмы, иначе твои змейки уебанские будут.
>>2259544 для консольных змеек и тетрисов классы нахуй не сдались. Зато мотивации дохуя будет потом, когда мы берем существующую хуевую змейку, и режем ее на классы
>>2259727 >>2259733 Никаких подводных, используй почти всегда. Главное помни правила разворачивания этого auto. В твоём примере будут всегда создаваться копии, а если collection - это vector<unique_ptr<T>>, то оно вообще не соберётся.
>>2259744 Проёб с копиями происходит незаметно, особенно если коллекция обходится для чтения или меняется её описание где-то в далёких ебенях заголовков.
>>2259991 Замедление компиляции совсем несущественное, если и есть (тип выражения выводится в любом случае). Тем более это плюсы - тут шаблоны, модули пока что не юзаются; auto не помешает. Часто тип очевиден, особенно для локальных переменных - там ауто не убьет читаемость. В шаблонном коде может пригодиться вывод, и при использовании анонимных типов тоже.
>>2259991 Не замедляет. Не превращает. Зато очень сильно повышает читаемость кода, упрощает внесение правок и уменьшает вероятность внесения ошибок в этот код.
>>2259448 >в двух тредах слушать два порта Как там в 90х? Уже давно никто не использует воркер треды, везде асинхронщина. Кол-во тредов должно быть равно кол-ву ядер проца
Доброго времени суток, плюсаны. Возможно, что вам уже надоел этот вопрос, но я все таки обязан его задать. Что вы думаете по поводу раста? Маркетологи кричат со всех сторон, что это новый убийца плюсов. Сектанты носятся по всему интернету, рассказывая о магических способностях этого языка. Сторону растоблядей я уже выслушал и теперь хочу узнать мнение плюсоебов. Сможет ли раст потеснить плюсы? Видите ли вы в нем угрозу?
>>2261584 ФП грозилось убить С++? Бред. Managed меньше раста похожи на плюсы. "Я не изучал раст. Просто не хочу тратить время." - ну и лох. Ни растом, ни D не пользовался, но изучать новые языки, особенно имеющие особенные вещи типо афинных типов - заебись, богоугодная фигня В D вроде были проблемы не только с дизайном языка (хотя там вроде был "опциональный" гц, короче тоже насрали), и как раз там были некоторые плюшки, которых нет в плюсах - рефлексия например. В расте много отличий от плюсов, почему он должен быть прямой заменой им? Многим нравится, орут же в интернетах про него. Но плюсы это легаси. И свои преимущества у них тоже есть. Было бы ахуенно развитие плюсов увидеть, без легаси говна, дизайн с чистого листа с опытом предыдущих лет, полноценными и встроенными в язык с самого начала фичами типо концептов и меньшими заморочками с архитектурами африканских калькуляторов. Но для этого надо средств больше, чем есть у кого-либо из идейных наверное. Да и идеи у всех разные.
Плюсач, если не лень, отревювь мой класс из 53 строчек, который я написал года 3 назад. https://onlinegdb.com/2H54zo67D Идея такая: класс является обёрткой над тредом, где исполняется функция, переданная пользователем. Когда функция завершается, атомарная переменная класса меняет своё значение, что позволяет нам из другого треда дёргать try_join() и не блокироваться. Мне показался этот класс похожим на std::jthread (c++20)
Почему я тупо не detach'ул? Нужно знать момент, когда тред завершился. Почему не передавать сообщения типа i_died через очередь? Потому что тогда в каждом месте, где может завершится тред, нужно не забыть послать сообщение в очередь. Да и обнаружить дохлый тред раньше, чем считать все сообщения из очереди типа FIFO, тоже лучше. В общем, специфика приложения, где в тредах крутится код рабоыт с камерой машинного зрения и прочее.
Пришло время напомнить позёрам, первокурсникам и прочим отбросам критерии хорошего языка программирования.
1. Язык должен быть интерпретируемым. Хороший язык не заставляет программиста ебаться с компиляторами и прочим ненужным говном, позволяя сфокусироваться на основной задаче — программировании (запиливание параши - программирование).
2. Нет никакой типизации. Максимально допустимая — как в перле. Как сказано выше, хороший язык позволяет программисту не отвлекаться на хуйню и заниматься непосредственно делом (программированием).
3. Язык не принуждает к определённой парадигме (как это делает, например, уёбищная жаба или ещё более уёбищный си). Можно писать как угодно, объявлять и вызывать что угодно и где угодно, при этом код будет работать - программисту виднее, как ему писать его парашу.
Исходя из вышесказанного, примерами хороших языков программирования можно считать, например, PHP и JS.
Это самые лучшие и востребованные языки из существующих на сегодняшний день. Сюда также можно отнести питон, если закрыть глаза на его своеобразность. Ещё менее хорошим примером является перл.
Примеры уёбищных языков программирования - Java, C#.
Говно для студентов, которым ебанутые преподы не разрешают писать на нормальных языках, потому что сами, являясь бухим патриотичным быдлом с семьями, детьми и виндовсом, их не знают. Для программирования как такового практически бесполезны.
Примеры говна, не имеющего отношения к программированию - C, C++.
Эталоны чистейшего говна. Мудаки, которые тратят свою жизнь на изучение этого омерзительного кала, никогда не запилят хорошую парашу и не попадут в правящую верхушку, так как их умения не имеют ничего общего с программированием и потому бесполезны. Такие опущи пьют мочу на всех парашах и умирают рядовыми анонимами (мочехлёбами), чего и заслуживают. Не будьте такими и учите хорошие и полезные языки.
Всякую дрисню типа хачкеля, несмотря на то, что истории известны примеры долбоёбов, пытавшихся на ней программировать, даже упоминать противно, так что не будем.
>>2261827 Copy elision или все-таки move elision? Функция же возвращает rvalue. Или const lvalue ref имеет приоритет перед rvalue ref в случае с чистым rvalue - все-таки copy elision?
>>2261871 >Язык должен быть интерпретируемым нет. идеально чтобы он был в трех вариантах: - транслируемый (чтобы нетрадиционно-ориентированные могли настроить под себя диалект) - интерпретируемый во время разработки (чтобы ускорить эту разработку) - компилируемый для билда (чтобы бесплатно оптимизировать)
> Нет никакой типизации. сразу нахуй иди
- должна быть строгая типизация, и лучше с полным запретом неявного каста (да и явного тоже). Современные языки оперируют объектами, а не интами и флоатами. Ты блядь собрался хранить кошку в переменной где до этого хранил собаку? Ты долбоеб? динамическая типизация не дает нихуя кроме миллиона ошибок логики кода, которые хуй потом починишь
Только строгая типизация, которая сразу пробивает кирпичом в морду за любую попытку хранить в переменной что-то другое. И никак иначе
>Язык не принуждает к определённой парадигме С++ уже такой и есть
Может кто помочь, пожалуйста, задачу решить? При нажатии кнопки заменить в строке char S1[20]="Сосна, ель, береза." слово "ель" на слово "река". Заменить в строке AnsiString S1="Дом, ель, поле." слово "ель" на слово "река". Преобразовать строку char *S1="Мороз и солнце" в строку AnsiString. Отобразить исходные данные и результаты в объектах типа TLabel
>>2263408 Не стабилен, нет нормальных доков на стандартную библиотеку, Эндрю и ко. пока пилят свой компилятор. Так в принципе как замена чистых сей вполне ничего.
Почему такое социоблядство даже в таком казалось бы аутичном стеке. Уже два оффера отклонил из-за КАЛлектива и других причин, хотя мне как вкатуну следует хвататься за любую работу ради опыта. Нихочу ни с кем сближаться и дружить, хочу сидеть в углу и аутировать над кодом, изредка переговориваясь по рабочим вопросам. Попробую еще походить по собесам и потом уже решу, может моя участь фриланс.
Что понимается под софт-скиллами? Если я, например, умею доносить свои мысли, находить подход к людям и разрешать конфликты, но без надобности этого не делаю, это считается за софт скиллы? Или софт-скиллы - это бесполезно пиздеть с КАЛлегами во время работы?
>>2263632 Потому что социоблядство сильно снижает твои личные трудозатраты на разработку и рисёрч за ту же пайку. Только так можно выйти на 300к/наносек, если ты у мамки обычный получился.
Бля, да что за хуйня с вашим вижуалстудио? Поставил свежую версию. Создал пустой проект. Ловлю миллион ошибок. Говорит не видит хереры. Но вот они, и в инклюдах есть. ЧЗНХ?
>>2264320 А какие гайды тебе нужны? Эксперементируй, вот самый простой алгоритм, который только что пришел в голову: Раскладываешь видео по кадрам, например, с помощью ffmpeg, затем парсишь картинку(кадр), алгоритмами получаешь полутоновое изображение, по уровню интенсивности присваиваешь каждому пикселю свой символ исходя из его яркости, выводишь это дело куда угодно. Чем меньше значение интенсивности цвета у пикселя, тем меньше яркость у символа. Например, у символа "." самая низкая яркость, а у "@" самая высокая. другой анон
>>2264344 Там же на видео видно, что изображение рисуется одним и тем же символом. Скорее всего тупо 1 пиксель (или патч NxN) == 1 символ и сосноль имеет достаточную глубину палитры, чтобы выглядело не как говно. Ни гистограмм ни свёрток изображений ни lookup table ни конвертации цветовых пространств в этой поделке скорее всего нету.
>>2264573 >свои поделки из 70ых с собой забери На "поделках" и технологиях 70-х весь мир крутится. Современные тупоголовые мрази не придумали нихуя нового в мире ИТ, кроме бесполезного говна в виде фреймворков для говнокодерства, чтобы корпы еще больше денег получали. Поэтому прояви уважение к дедам.
>>2264642 Возможно олды меня закидают говном за такое отношение к языку.
Как я понял, ты хочешь посмотреть кишки объекта? По идее ты можешь найти его адрес, через std::addressof() (звёздочку можно и перегрузить) после чего скопировать через std::sizeof() куда надо и смотреть. Или использовать отладчик. Но по идее, к сожалению ты не скопируешь статические переменные, и таблицу виртуальных функций. Но для тривиальных объектов думаю должно сработать.
Ребят, очень хочется освоить c++ для геймдева (я не ебучий фанатик, который хочет пилить ААААААААА проекты в соло), но из-за огромного числа информации, не могу понять с чего вообще стоит начинать? Учить просто в начале базу cpp или сразу начинать учить его в рамках движка? Курсы или книги (откудава учиться?)?
>>2264662 Какой то опыт программирования есть? Если есть то надо просто основы хотя бы минимальные освоить с указателями, референсами и базой стандартной библиотеки А потом какой нибудь опенгл иди читай
>>2263909 молоденький просто, не понимает что в стране и в мире пиздец приходит программистишкам и надо хвататься за любую работку, набирать опыт и все такое, ибо уже скоро (сейчас) тебя будут выбирать из сотен таких же что за забором стоят
>>2264522 Значит придется полностью переустановить винду с форматированием диска, а потом по новой накатить студию. Вообще нах она нужна сейчас, когда можно спокойно кодить под убунтой с gcc g++ gdb и CLion?
>>2264662 Плюсы и гейдев как-то немного ортогональны нынче. Только если движкоблядью или рендермехаником хочешь быть. А если конкретно игры пилить, то плюсы нинужны. Используй фреймворки для создания гамез, а там тебе блупринты или сисярп пригодится скорее. В остальном лучше сузить целевую область, чтобы понять куда копать. Можно начать с липмановского праймера по плюсам. В порядке свободного чтения просветиться game engine architecture последним, там в начале очень годный и при этом краткий обзор архитектурных основ числодробилок, памяти, работы параллельных вычислений.
>>2264999 Почему шизоид? Может быть под шарп там реально годную инфраструктуру сделали, но во всем остальном мире принято пользоваться консолью, а не тыкать в ГУИ окно для выставления настроек.
if (SOCKET_ERROR == (send(s, "hello", 23, 0))) { printf("send error: %d\n", WSAGetLastError()); return 0; } Почему так работает а если изменить на if (SOCKET_ERROR == (send(s, "hello", 22, 0))) то wireshark говорит tcp segment of a reassembled pdu
В чём проблема сделать отдельную ветвь плюсов и там послать нахуй обратную совместимость? За сем учебы уже столько хуйни наслушался которую только из за совместимости оставляют. Неужели кому то жизненно важно перекатывать проект с c++03 на c++23? В чем логика оставлять тогда столько проблем?
>>2265085 >во всем остальном мире принято пользоваться консолью Просто ни один разраб девтулзов кроме JB и MS не сделал нормального UI ни к одному своему продукту, вот и ответ.
Там, где есть нормальное UI - там резво все от соснольки отказываются.
>>2265099 >В чём проблема сделать отдельную ветвь плюсов и там послать нахуй обратную совместимость? За сем учебы уже столько хуйни наслушался которую только из за совместимости оставляют. Неужели кому то жизненно важно перекатывать проект с c++03 на c++23? В чем логика оставлять тогда столько проблем? Эта отдельная ветвь сразу же сдыхает без пользователей. Конец. С++ про долгоживущее легаси нынче в основной массе, которое как раз не будет поддерживаться в этой новой "ветви"
>>2265107 С++23 и без легаси богатый возможностями язык >>2265109 > Эта отдельная ветвь сразу же сдыхает без пользователей Она, конечно, не будет так же поддерживаться, но это не значит, что ей совершенно не будут пользоваться. Новые проекты на чем пилят? С++ без легаси и есть новый ЯП. ЯП создают много, только у каждого свое видение, но нет хорошего развития чего-то схожего с плюсами в плане шаблонов итп.
>>2265113 Я писал на плюсах 5 лет в прод, и еще 2 года по фану.
Так вот - в данный конкретный момент, я бы на плюсах не писал вообще ничего, кроме лютейшей системщины и софта, где нужна реальная скорость.
Шарп, го - писать проще и быстрее, результат такой же. Все новые проекты я нынче начинаю на шарпе. Мы долго думали над переписыванием всего нашего софта на шарп, кроме пары кусков, где С++ реально нужен. Так вот - все за, даже шеф. Но мы просто полгода-год не найдем времени.
>>2265113 до сих пор передергивает когда вспоминаю как работать с программами из нескольких файлов, как дефайны интересно работают иногда, всякие const int&y =10 и еще кучу кучу всего. Последнее еще норм, просто на мой взгляд это лишние случаи для запоминания и это нахуй не надо.
>>2265126 > const int&y =10 тут не просто норм, в том же шарпе вместо явного указания ссылка/нет надо помнить является ли тип ссылочным (хотя я так понимаю есть local ref но это явно не легче запомнить чем const&), аналога const там тупо нет.
>>2265122 > го - писать проще и быстрее Это в языке то без генериков (или уже в проде они появились)?
>>2265129 Вторым аргументом send ты передаёшь буфер (массив) байтов, которые хочешь отправить, третьим - сколько первых байтов из начала буфера отправлять. Строка "hello" хранится в буфере, для которого выделено 6 байтов, и то, что в памяти может оказаться дальше неё, использовать нельзя, даже читать нельзя, будет undefined behavior. Но send() ничего об этом не знает и знать не может и тупо идёт дальше.
>>2265133 По твоему взять ссылку на rvalue это неплохая идея? На мой взгляд это очень странно и не правильно на уровне идеи ссылки. Для таких штук в плюсах есть int&&
>>2265140 Я думал речь о синтаксисе записи типов. А так, ну присваивать литерал const& я не знаю зачем понадобиться может. Не думаю что и в int&& литерал класть имеет смысл.
Поч указатель типа войд увеличить нельзя? Это же просто число в шестнадцатеричной, что такого будет если прибавить к нему единицу или другое такое же число?
>>2265149 Просто & дало бы менять литерал, это странно, и добавило бы сложности оптимизатору?(с инлайнингом). если сделать чтобы только rvalue ссылка могла держать литералы, то пришлось бы пилить либо по 2^n функций с вариантами аргументов const& или && (чтобы принимать и lvalue и rvalue, там где не нужно копировать и изменять), либо везде делать шаблоны. И вообще && для move'ов, не чтобы хранить.
>>2265160 Инкрементировал int⚹ - прибавилось 4 Инкрементировал short⚹ - прибавилось 2 Инкрементировал char⚹ - прибавилось 1 А к воиду сколько прибавлять? Тип не известен, и может быть как инт, так short или char.
>>2265138 Все равно не работает, что я делаю не так? if (SOCKET_ERROR == (send(s, "hello", 6, 0))) { printf("send error: %d\n", WSAGetLastError()); return 0; }
- 55894 → 80 [PSH, ACK] Seq=1 Ack=1 Win=65700 Len=6 [TCP segment of a reassembled PDU] TCP payload (6 bytes)
Бля можно как-то поработать с памятью приложения в vsc с помощью winapi? Потому что как я к ячейкам памяти не обращусь функциями VirtualFree или VirtualProtect то всё падает, только к некоторым адресам приложения это работает, причем если к примеру воспользоваться VirtualAlloc'ом, а потом освободить это VirtualFree, то последняя не сработает. Кто-нибудь кароче в winapi разбирается? Я где то галочку не поставил или недопонял мануалы?
>>2265087 >Это не "Не принято" а "Нам лень делать удобно, пусть разрабы ебутся как могут, выбора у них всё равно нет". Некоторые ебутся даже когда есть выбор. Например >>2264229 ебётся с подключением стандартных заголовочных файлов, хотя на нормальных платформах всё просто работает. ЗАЧЕМ МНЕ VIM VSCODE+G++, ГДЕ МОЖНО СКОМПИЛИТЬ И ЗАПУСТИТЬ ОДНОФАЙЛОВУЮ ПРОГУ ОДНИМ СОЧЕТАНИЕМ КЛАВИШ, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С ЛИНУКСОМ, Я ЛУЧШЕ ПОЛАЗАЮ ВЕСЬ ДЕНЬ ПО C:\PROGRAM FILES(X86)\… И НАСТРОЙКАМ СТУДИИ ОШИБКА CANNOT OPEN INCLUDE FILE. ЭТО ЖЕ ОЧЕВИДНО КАК ЕЁ РЕШИТЬ ПРИШЛО ВРЕМЯ ОТКРЫВАТЬ C:\PROGRAM FILES(X86)\… И ИСКАТЬ ЗАГОЛОВОЧНЫЕ ФАЙЛЫ ККОКОКОКОКОКОКО ЖМУ/ПИНУС, ШВАБОДКА, ПИТУХИ, КОКОКОКОКОКОКО
>>2264229 Тоже дерьмо какое-то с 2022 было когда накатывал на новый комп, хорошо что у меня еще установщик с 19 сохранился, снес её к хуям и поставил православную версию для белых людей
>>2225172 (OP) Столкнулся с тем что надо много кода написать. При этом он довольно однороден. Cлышал от преподов выражение - "писать ручками". Хочу смочь в генерацию. Подскажите гайд пожалуйста.
>>2265121 >Новые проекты на чем пилят? В большинстве своем не на С++. На С++ пишут системщину, графику, тулзы для инфобеза. Естественно такие проекты сейчас никто с нуля не стартует, не то время, да и смысла в этом нет. Все поддерживают и развивают старые продукты. Если ты сломаешь обратную совместимость на С++, то новыми версиями просто никто не будет пользоваться.
Новые проекты постоянно стартуют в вебе и мобилках, реже в энтерпрайзе. Там везде go/js/python/kotlin/java. Там поломать совместимость можно, питон это не убило например.
>>2265623 В большинстве не на плюсах, не сомневаюсь. Я как раз про то, что находится место и для других языков, и с++ хорош не только для легаси. D, Rust есть. Разве они лучше плюсов во всем, кроме легаси?
Есть файл doctest_main.cpp и myfile.cpp. Когда я в файле не подключаю никаких библиотек, то clang++-12 ругается на error: use of undeclared identifier 'std' в строчке std::nullptr_t x, но стоит подключить #include <vector>, то все работает. В visual studio такой проблемы нет. ЧТо такое?
>>2265918 ну он конечно мудак но я вот например смотрю его в рекреационных целях. Ну знаете, говорит спокойно, без претенциозности, на фоне играет не напрягающая музычка. Похожий аффект я также получаю от бесконечного пересмотра сцены из зеленого слоника где начальник заставляет братишку чистить говно. С одной стороны ситуации противоположные и вы можете сказать что я шизофреник. Тогда рекомендую вам послушать как он рассказывает что софт-скиллы это наше все и если ты неприятный человек работать с таким отбросом никто не захочетчитай вон из профессии иди говно вилкой чистить. Вот тут мы внезапно выясняем кто из нас странный
>>2265623 >питон это не убило чуть не убило - пофиксил тебя.
До сих пор, спустя десятилетие после релиза, несовместимость 2.7 и 3.х продолжает иногда приносить анальную боль. Боюсь даже представить, какой бугурт был среди питухонщиков в год выхода..
Подождите, а ссылки в джаве не константные хоть? Иначе как реализовать без указателей операции со всякими списками и двоичными деревьями, я не представляю.
>>2266008 К какому мировоззрению? Тебе кто угодно скажет, что плюсы переусложнены до такой степени что даже некоторые компании пишут какие инструменты использовать а какие нет. Или ты с этим спорить станешь?
Почему тут не вызывается деструктор? Я не могу вообще ни в конструктор, ни куда зайти посмотреть дебагером в vs че там происходит и почему не происходит удаление неполного типа.
>>2266035 Я надеюсь это не твой код, ибо это пиздец.
Алсо: std::unique_ptr may be constructed for an incomplete type T, such as to facilitate the use as a handle in the pImpl idiom. If the default deleter is used, T must be complete at the point in code where the deleter is invoked, which happens in the destructor, move assignment operator, and reset member function of std::unique_ptr.
>>2266011 Время Qt уже фактически ушло. Это хороший пример для изучения того, как на cpp можно написать удобный и гибкий sdk/конструктор (с шаблонами, паттернами и прочими архитектурными/ инженерными решениями). Но не более того. На данный момент это либо легаси (часто энтерпрайз), либо инфобез / десктоп для госконтор, иногда embedded для аналоговнетов. В очень редких случаях годнота для automotive или мобилок.
>>2266013 К тому, что пока ты пишешь код, у тебя параллельно меняются проектные условия/сам проект/команда/ответственное лицо заказчика и ещё небо и даже аллах. Ещё галеры любят легаси энтерпрайз, хуже которого на cpp ничего нету. Поэтому, чем проще хуярить код и меньше шансов огрести segfault, тем легче веслать, ибо и так стресса хватает.
>>2266092 Так в чем укор то челу? Ты пишешь так будто он не прав в чем-то. Ну да писать энтерпрайз на плюсах это очень и очень хуевая затея. В чем претензия то чувачку? Это по мне банальная адекватность. Плюсы как инструмент это либо гейдев либо написания либ, нахуя я его тянуть туда, где он не нужен?
>>2266085 Там по-разному. Если мобилки, то cpp цепляется библиотеками к Java/Kotlin через jni или ndk. Если эмбед, то там cpp это либо rest сервисы, либо сервисы с очередями сообщений типа MQTT (фактически микросервисная архитектура, иногда обёрнутая в .NetCore). UI - вёб на JS под управлением nginx (иногда на железке, иногда - нет). Если легковесный десктоп, то electron. Если тяжёлый (всякие редакторы видео/аудио/графики), то .Net, реже Qt.
>>2266149 Чел обычный стареющий кодер, отходящий от дел, который просто хочет работать работу и получать нормальную зарплату (ковыряет легаси говнецо, ляпает круды и менторит июней). В технологиях разбирается достаточно поверхностно, да и в силу возраста уже не хочет. Поэтому я бы слушал его мнение вполуха - как назидание младшим поколениям.
>>2266171 Не понимаю как это связано с тем что плюсы говно в его области. Ты зачем этот видос скинул и обосрал чела? Хочешь сказать что с того момента как он забил на изучение новых технологий, новые старые плюсы выстрелили в тырпрайзе а он и не в курсе потому что старый осёл?
>>2266169 Сейчас всё вокруг распределённое и люто динамичное с данными в облаках, оркестраторами управляющими пулами сервисов, непрерывными деплоями всего и вся. Ещё и зоопарк зело умных устройств, который выдавливает традиционный x64 десктоп. Qt ещё как-то можно впихнуть через QML, но зачем, если есть JS, который поддерживается всеми браузерами на всех устройствах из коробки? Тонкие web клиенты и SaaS - это настоящее, а многооконные тяжеловесные софтины - это прошлое.
>>2266191 Хуй знает, вот чисто бытовой пример, конвертнуть что-то действительно можно закинуть в браузер и скачать обратно или каким-то легким сервисом попользоваться единожды, но вот когда начинаешь открывать в браузере какие-нибудь гугл докс то бля это такая блевотина, да, посмотреть их можно в браузере, но работать как-то адекватно с ними можно только на десктопе, и лично моё мнение это еще долго будет неизменным
>>2266184 Ты уже в цикл вошёл. Видео не моё. Чел имеется в достаточном количестве на тытрубе и говорит довольно банальные вещи и часто плавает, когда доходит до технических подробностей. Попутно рекламирует свои курсы за шекели. только не очень понятно чему он с такими познаниями может научить.
Про enterprise и java я уже написал. Покрути вверх.
>>2266171 >>2266209 Немчинский обычный инфоцыганин, в последний раз он кодил довольно давно - лет 10-15 назад, если не больше, сейчас ему уже около 50 лет, и он владелец школы для вкатунов в айти. Сам кстати ничему не учит - там другие люди преподают и менторят, емнип, он просто рекламой на ютубе занимается. все равно лучше чем код писать когда тебе за 50
>>2266205 Гугл докс вполне годнота для небольших документов, таблиц и презентаций. Если у тебя тяжелый вордовский документ, то конечно лучше поставить нормальный десктопный офис. Правда он один хуй начинает лагать, если в тексте много математических формул и объем документа больше 50 страниц, но похуй.
>>2266234 Да кал, единственное его удобство это предварительно глянуть че там тебе скинули чтоб на комп всякий мусор не качать и всё.
А выстрелил он потому что куча быдлоламеров не могут осилить активацию или скачать его из интернетов ибо майки максимально усложнили эту процедуру. Писать что-то в доки с серьезным ебалом или вообще в них работать я даже хз как, особенно в экселе, там вообще жопа полная, в доке еще куда никак пойдет
>>2266205 Для внутреннего закрытого/режимного документооборота - десктоп предпочтительнее. Но он тебя вяжет к рабочему месту / платформе / количеству и стоимости лицензий. А ты работаешь удалённо и обсуждаешь рабочие вопросы - то в кафе, то в метро, то - сидя на сортире.
Обратный пример - VSCode. Те же документы, но разметка попроще. На нем педалит куча народу. Вполне соответствует духу времени - написан на JS/TS/Electron, полностью модульный с набором сервисов под разные конфигурации проектов.
Как на линухе удобно прогать. Че же я раньше на винде сидел? Если бы на линуксе больше прог для аутирования и для чила (в игрушки погамать раз в месяц иногда хочется, и иногда у моих знакомых бывают проблемы на линуксе с неким софтом, который на винде отлично работает: например бывало файл с чата зума не скачивался или экран транслировался криво), то я бы винду снёс нахуй.
>>2266084 >Время Qt уже фактически ушло Ахахаха, что еще спизданешь?
>На данный момент это либо легаси (часто энтерпрайз), либо инфобез / десктоп для госконтор, иногда embedded для аналоговнетов. Прямо сейчас у меня два проекта на Qt
>>2266320 Так я до этого на студии и прогал. Сейчас на линуксе удобнее, потому что куча инструментов проще настраивается и проще работает. В начале надо было немного поебаться, чтобы понять как все настраивается, а потом все проще чем в vs Опять же, это лично для меня и конкретно для моих условий работы с кодом.
>>2265886 >Ктшники есть? Что можете сказать про свой стек? Говнякаю приложухи для работы с железом, которое выпускает контора. Обычно это сервис, который собирает данные с железа, кладёт их в БДшку + клиентская программа, которая подключается к сервису и отображает состояние железа, позволяет посмотреть всякие события, отчётики погенерировать.
Элементарная хуйня, не требующая напряжения ума (кроме продумывания "архитектуры", чтобы модифицировать было попроще).
>>2266330 >Прямо сейчас у меня два проекта на Qt Однако если заглянуть на hh.ru, то внезапно обнаружится, что связка c++/JS встречается намного чаще, чем c++/Qt. Если ещё фильтрануть по конторам и добавить c++/wpf/spring, то может сразу наступить 5. Принятие.
а кто работает с low latency видео-стримингом? что почитать, может какие-то курсы на udemy/etc есть? хоть ключевые слова подскажите. а то поиском пользоваться нереально, все забито инфой для блоггеров, которые сами не могут разобраться как запустить ютуб или твитч стрим =(
>>2266373 >Однако если заглянуть на hh.ru, то внезапно обнаружится, что связка c++/JS встречается намного чаще, чем c++/Qt. Если ещё фильтрануть по конторам и добавить c++/wpf/spring, то может сразу наступить 5. Принятие. Ахаха, смешать языки и фреймворки - сразу видна полуёбка.
Вот тебе нормальная статистика с апворка. Будешь продолжать что-то пиздеть про "намного чаще"?
>>2266527 >а кто работает с low latency видео-стримингом? >что почитать, может какие-то курсы на udemy/etc есть? хоть ключевые слова подскажите. RTP, SIP, WebRTC, HLS, MPEG-DASH, GStreamer
>>2266536 >Ахаха, смешать языки и фреймворки - сразу видна полуёбка. Ебать ты тупой. Для JS кроме electron ещё как минимум react, vue, angular. Переделывай картиночки свои. Очищенная статистика указывает, что на Qt пилится менее 25% c++ проектов с UI.
>>2266719 Это всего лишь означает, что Qt перестали совать в каждую дырку и оставили там, где он действительно нужен. Но не говорит о том, что время Qt якобы ушло.
>>2266731 Что значит с другой стороны? Какие проблемы у тебя будут с плюсами если начнешь учить раст или что? Так или иначе, от простого изучения языка ничего с тобой не случиться
>>2266741 >Насколько сложно читать сорцы намного легче чем в плюсах + доки в большинстве свое сами генерятся > Вместо плюсов, как замена плюсам, не для работы Тогда вполне себе хорошо, средства разработки уж точно удобнее, все еще жду когда в плюсах хоть какой аналог cargo запилят Ну разрабатывать на них намного легче чем на плюсах пока не будешь графовые структуры писать и тебе бороучекер хребет не сломает
Анон привет! QT, QCustomPlot Имею 12 объектов QCustomPlot по 4 графика на каждом. Аналогичный код https://www.qcustomplot.com/index.php/demos/realtimedatademo Графики я отрисовываю по таймеру с частотой 30мс. И все хорошо работает, кроме того, что эта падла жрет ~30мб в час. Тестирование с помощью visual Leak Detector говорит, что утечек нет. Дальнейшими умозаключениями я пришел к тому что это AddData ссылка выше( ui->customPlot->graph(0)->addData(key, qSin(key)+qrand()/(double)RAND_MAX1qSin(key/0.3843));) Так и оказалось AddData складывает данные для рисования точки в QCPGraphDataContainer, а потом я перерисовываю все replot()' ом. Вывожу Plot->graph(i)->data()->size() и вижу как размер растет для каждого graph(), в итоге софтина разжирается и все нахер падает через n-ое количество часов. Я сделал очистку Plot->graph(i)->data()->clear(), если размер > 500. Все хорошо работает, память не жрет, но clear() обнуляет QCPDataContainer, мои данные херятся и replot() начинает отрисовывать заного. Как сделать так, чтобы DataContainer не переполнялся?. Например за час DataContaner накопит 1210^5 точек для отрисовки, которые отрисовывает в реальном времени с помощью replot(). Видится мне, что нужно чтобы replot отрисовал все 1210^5, после чего очистить QCPDataContainer, снова начать набирать данные в Container и отрисовывать их replot()'ом, но так чтобы он не очистил с графика предыдущие 12*10^5 точек. Возможно ли это сделать, верный ли подход? Как-то же работают существующие софтины с графиками реального времени. Да еще и хранят большие архивы.
Почему вижла кидает плюсовые либы в корень диска, в котором расположена? Только что удалил Windows Kits, которую она создала, и она тут же умерла. Её можно как-то перенести, чтобы она глаза не мозолила?
>>2265886 Пилю всякие адовые бекенды, которые одним краем держатся на in-house легаси либах да таких, что обои отклеиваются; а другим краем на модных молодежных ништяках типа v8 и protobuf. Сфера телекомов и всего что около. Тоскливенько, честно говоря. Работы много, начинаешь закисать, тк ресурса долбить код ещё и после работы не хватает. А куда успешно перекатиться нипанятна. Хотелось бы что-то с визуалкой ковырять: матрички поумножать, тексели поинтерполировать, но не гейдев. Останавливает потеря в шекелях при смене сферы деятельности и отсутствие значимого релевантного опыта.
>>2267538 Минута в Гугле показала что там есть функция для удаления данных. При переполнении удаляй с начала столько же сколько добавил в конец, вроде очевидно.
>>2265886 Я работал на проекте машинного зрения. opencv/c++/python/tensorflow. Работал камерами машинного зрения, ip-камерами и радаром допплера. Проект был крутой. Я на нём была почти 4 года. Но проект закончился. Теперь сижу в телекоме на ебучм легасе, закисаю. Хотелось бы снвоа попасть в такую движуху.
>>2268037 >Как вкатился, что делает контора? Пришёл в самом начале проекта УЖе имея пару лет опыта С/С++. Контора системный интегратор - много разных направлений. >Когнитив? Вокорд? Или ещё что-то более мелкое? Контора не мелкая, но компвижн для неё тема относительно новая и не является основным источником дохода
>>2268096 > Контора не мелкая, но компвижн для неё тема относительно новая Понял тебя. Я просто на радар так среагировал. У нас в отделе мы занимаемся рисерчем радарных алгоритмов. Поэтому мы довольно пристально за когнитивом следили ну и про вокорд наслышаны были >>2268111 Ну да. Потому и наслышан про вокорд. К нам в отдел одного оттуда и занесло.
>>2268120 Радар точнее определяет скорость, чем оптический метод (плюс он проще сертифицируется), поэтому они его к камере цепляют. Но вся магия трекинга делается через оптику, хотя и радарные данные тоже учитываются. В общем можете не следить.
>>2268159 А ожидал такой вопрос. Причин несколько. - Китайцы хотят больше людей в подчинении - Задачи у нас специфические, поэтому, скорее, интересуют люди, которые хоть косвенно, но эти задачи прощупывали.
Да и не ищу я на дваче кадры, лол да я там и не работаю с января, если честно Просто интересно было бы пообщаться с коллегой здесь.
>>2268171 > мальчик-хрюша Вот зачем оскорблять? Я рисерчер. Просто наши hr-ы бездари. И не могут кадры находить. Даже по ключевым словам у них херово получается. Приходилось все самому делать.
>>2268120 >Понял тебя. Тебе тут за меня нагрубили и наотвечали.
У нас былк комплекс фвф. Радарный. Но потом мы поняли, что радар тоже не панацея. И есть даже конторы, которые радар используют только для автоматической юстировки картинки (проставление каждому пикселю значения декартовых координат), а потом нахер радар не используют. Мы использовали радар smartmicro, они хороши. Но они могли давать ложные цели, например, вести машину и верхгюю точку её колеса. Или, путать близкоедущие цели. В общем, много разных приколов. Впрочем, меня уволили оттуда в мае месяце.
>радарных алгоритмов Поясни.
>да я там и не работаю с января, если честно А где щас работаешь?
>автоматической юстировки Калибровка радаром не делается. Проекционные матрицы считаются по обнаруженным и классифицированным объектам (допустим по размерам номеров в разных частях кадров).
>Но потом мы поняли, что радар тоже не панацея За 4 года, кек?
>нахер радар не используют Если объекты слишком быстро перемещаются, то оптика не вывозит и радар необходим. Так что используют.
>>2268240 >Калибровка радаром не делается У всех по-разному >За 4 года, кек? За три с половиной. Когда у нас купили 40 комплексов, мы только тогда столкнулись с массовыми глюками радара.
>Если объекты слишком быстро перемещаются Брехня. Куча комплексов до 305 км/ч по кадрам чисто считают.
>>2268276 Потому что надо поддерживать 100500 платформ, компиляторов, систем сборки, способов подключения либ и прочего говна, а сообщество и язык разрозненное и шизанутое.
>>2268223 > Но потом мы поняли, что радар тоже не панацея Ну да. У него разрешение такое себе. Разве что sar или радар с бешенным количеством MIMO приемопередатчиков (как у Arbe). > и верхгюю точку её колеса О да! Знакомая история. Верхняя точка колеса улетает в допплере и ее cfar очень любит выделять в отдельный объект. Мы с этим вроде как боролись. > путать близкоедущие цели Проблемма ассоциации трекинга. Я с этим сталкивался в своей задаче. Но цели решить эту проблему не было (да и большой вопрос, решаема ли эта проблема) > Поясни. Вся цепочка низкоуровневой обработки вплоть до фильтров трекинга (2d fft, cfar, doa/beamforming) и ее математическая оптимизация. > А где щас работаешь? В интел пошел вот теперь. Потому вот стал тусить в cpp треде. >>2268240 > Калибровка радаром не делается. Справедливости ради, можно сделать и радаром, если ты доверяешь ему как измерителю. > Проекционные матрицы считаются по обнаруженным и классифицированным объектам Всегда думал, что camera matrix должна считаться в лаборатории по шахматному паттерну (ну или любому подходящему), а в процессе эксплуатации она может незначительно корректироваться в рамках какого-нибудь slam-алгоритма (хотя эту возможность только в теории описывают, а в реальных прототипах я этого не встречал) >>2268272 > Брехня. Куча комплексов до 305 км/ч по кадрам чисто считают. Разве что если длиннофокусники и направленные вдоль дороги.
>>2268283 >В интел пошел вот теперь Я в интеле раньше работал. Когда совсем зелёным был. Не поделишься, сколько зп и что сейчас там спрашивают на интервью? Сложно было попасть? >по шахматному паттерну Это вроде больше как для искажений нужно. А projection matrix вот уже можно радаром посчитать. >длиннофокусники и направленные вдоль дороги. Вот нюансы не знаю. Но лично ездил сертифицировать наш комплекс и общался с людьми (с Олегом), который их ездит тестирует и типа знает. Да что там говорить. Для дебега на нашем комплексе без всяких заумностей и поправок на высоту номера над дорогой, покадровая скорость не отличалась от радарной часто, если тряски не было. >Вся цепочка низкоуровневой обработки вплоть до фильтров трекинга (2d fft, cfar, doa/beamforming) и ее математическая оптимизация. Вы радары что ли производили?
>>2268288 > Не поделишься, сколько зп и что сейчас там спрашивают на интервью? Сложно было попасть? Интервью было довольно странным и многочисленным. Мне подбирали, скорее, то место, куда я подойду. Но отказов при этом я успел штуки 4 получить. На интервью была простая задачка по алгоритмике с дальнейшим обсуждением, как инстанцировпть шаблоны и можно ли как-то еще ограничить типы данных шаблона. По матану поговорили о матрицах, решении уравнений и по базовым алгоритмам машинного обучения. > Это вроде больше как для искажений нужно. А projection matrix вот уже можно радаром посчитать. Шахматкой, конечно, и дисторсии, и camera matrix считается. Но изначально алгоритм разрабатывался исключительно для оценки camera matrix. Радаром ты не посчитаешь camera matrix до тех пор пока не выяснишь SE3 преобразование (смещение и поворот) из системы камеры в систему радара. А эту калибровку можно провести только с откалиброванной по интринсикам камерой. > Вот нюансы не знаю. Мы, скорей всего, немного в разных терминологиях общаемся. Я раньше работал с беспилотными тачками, обвешанными сенсорами, включая камеры и радары (меня даже техлидом брали на sensor fusion недавно, но я выбрал интел). > Вы радары что ли производили? Да, хуавей врывается в автомобильные сенсоры (это уже даже не корпоративный секрет - ви новостях писали). Мы работали по адгоритмике. Нам присылали данные, мы думали, как их обработать.
>>2268283 > по шахматному паттерну А зачем? Есть ручная калибровка - прям на живом видео стриме указывают точки и расстояние между ними в метрах. Или автоматическая - матрица периодически пересчитывается по накопленным данным (камера со временем сползает по столбу или закреплена на чём-то, что движется). Но там есть и калибровки с математикой на всяких свёртках и гауссианах - для выставления диафрагмы и фокуса (опять же на статистике по световому потоку и гистограммах).
>Разве что если длиннофокусники и направленные вдоль дороги. Не, у тебя резко вырастет количество одновременно отслеживаемых объектов и частота их взаимного перекрытия. Плюс более высокое разрешение. Производительность начнёт падать в пол.
300 км/ч это магическое маркетинговое число. Оптические данные для таких скоростей обычно имеют низкий коэффициент достоверности и не могут быть использованы, допустим, в суде.
>>2268312 > А зачем? Есть ручная калибровка - прям на живом видео стриме указывают точки и расстояние между ними в метрах. Для целей фиксации этого может быть достаточно. Для автономного вождения нужна точность калибровки до хотя бы 0.2 пикселя (это практически предел точности).
>>2268312 >А зачем? У объектива есть искажения. И если по центру изображение твои преобразования будут точными, то ближе к краям уже резко возрастает погрешность. В общем, я думаю, у комплексов есть свои достоинства и недостаки.
>Не, у тебя резко вырастет количество одновременно отслеживаемых объектов У нас было 22.7 фрейма в секунду на intel core i7 (вроде) и ещё оставляся запас. В целом, могли вести по 5 машин без проёба кадров.
>300 км/ч это магическое маркетинговое число. Оптические данные для таких скоростей обычно имеют низкий коэффициент достоверности и не могут быть использованы, допустим, в суде. Не могу целиком комментировать ремарку, но ребята из Вниифтри нанимают специальных водил и на дмитровском полигоне (или ещё где) тестируют такие скорости.
>>2268327 >У нас было 22.7 фрейма в секунду на intel core i7 >5 машин Где-то в подворотне можно поставить, но на московских перекрёстках система ляжет. У того же вокорда камера с embed железкой внутри справляется лучше, не проседая ниже 16fps.
>>2268337 >но на московских перекрёстках система ляжет. У нас комплекс скоростник. Там 5 целей за глаза. Тем более, я не говорил, что это максимум. Да и не работаю я там больше. Проект закрыли.
>>2268327 >У объектива есть искажения Эти искажения учитываются и рассчитываются отдельно - один раз для каждой железки. Они постоянные. А вот наблюдаемая сцена меняется во время эксплуатации , а вместе с ней проекционная и модельно-видовая матрицы.
>>2268341 >Эти искажения учитываются и рассчитываются отдельно - один раз для каждой железки. Они постоянные. А вот наблюдаемая сцена меняется во время эксплуатации , а вместе с ней проекционная и модельно-видовая матрицы. Так я то и говорю. Искажения на производстве считаешь. А projection matrix на объекте. Мы её высчитывали с помозью радара: сопоставляли видео треки и радарные треки
>>2268330 В целом можно. Монокулярный slam нормально работает. Немного дрифтит, но на больших расстояниях а ещё не реконструирует движущиеся объекты, но не будем о грустном. Ещё можно попробовать нейронку реконструирующую прикрутить, которая по одному кадру оценивает карту глубин. >>2268344 > projection matrix Уточни, что это за матрица. Есть camera intrinsic parameters (модель искажений и camera matrix), а есть extrinsic parameters (положение камеры в пространстве). Чтобы получить из трехмерных координат гомогенные (координаты пикселя), нужно помножить координаты на экстринсики, а потом ещё на camera matrix. Я так понимаю, под projection ты понимаешь вот это произведение двух матриц?
>>2268346 >Уточни Я только вот эту применял. Искажения не успел ввести, т.к. проект закрыли, ибо продали только 40 штук, да ещё пару факторов сложилось.
>>2268350 А, ну тогда в целом можно, но точность будет слабоватая (хотя, может, и достаточная) Только тогда почему ты здесь >>2268341 пишешь > сцена меняется во время эксплуатации , а вместе с ней проекционная Она вообще константа и меняется только при изменении параметров оптики. А вот > модельно-видовая если я опять же правильно понимаю, что это, может меняться из-за люфта крепления камеры хотя бы.
>>2268356 >Только тогда почему ты здесь Это не я пишу. Но чел имеет в виду, что крепление камеры может съезжать типа. А так для каждого объектива (и, наверное, сенсора), искажения свои, которые нужно высчитывать один раз. Хотя не помню, влияет ли на эти искажения фокус и диафграгма.
>>2268356 >Только тогда почему ты здесь А, нет. Он имеет в виду, что железка имеет постоянные искажения, но на каждом объекте projection matrix своя будет. Но это он уже капитанит.
>>2268361 > но на каждом объекте projection matrix своя будет. Но это он уже капитанит. Не понял. Camera matrix зависит только от параметров оптики, а не от сцены. Вот extrinsics от сцены, естественно, зависят.
>>2268371 А разве camera matrix и projection matrix не одно и то же? https://en.wikipedia.org/wiki/Camera_matrix In computer vision a camera matrix or (camera) projection matrix is a {\displaystyle 3\times 4}3\times 4 matrix which describes the mapping of a pinhole camera from 3D points in the world to 2D points in an image.
>>2268376 Одно и то же. В эту матрицу входят 5 параметров: два фокуса, координаты оптического центра и ещё один коэффициент, который skew называется. Никаких противоречий с определением нет. Там используется система координат, связанная с оптическим центром камеры. Другое дело, что в реальном мире так делать неудобно и мы работаем с точками в другой системе координат. Вот матрица перехода из системы сцены в систему камеры может меняться из-за сползания штатива.
>>2268356 Объектив у камеры оснащён приводами и может менять фокус и делать зум-зум - проекционная матрица меняется. Камера может перемещаться в пространстве - либо из-за люфта, либо на своих приводах, либо её перевесили - меняется модельно-видовая матрица. И только матрица, описывающая искажение линзы - величина постоянная и считается по техническим параметрам конкретной модели объектива.
>которая по одному кадру оценивает карту глубин Ерунда получится. Для нормального позиционирования нужно 2 камеры.
>гомогенные (координаты пикселя) Нет, 2d в декартовых координатах, а вот 3d - в гомогенных (декартово + 1), как раз для задания проекционных матриц и матричных преобразований.
>>2268449 > Ерунда получится. Для нормального позиционирования нужно 2 камеры. Монокулярный слам вполне нормально отрабатывает тащемта. https://youtu.be/C6-xwSOOdqQ > 2d в декартовых координатах, а вот 3d - в гомогенных (декартово + 1) Запутался/обосрался, каюсь.
А первая часть твоего поста это и есть мой >>2268356 пост, только переписанный другими словами.
Уважаемые знатоки, расскажите, что нужно знать и уметь и в какой сфере РАБотать, чтобы выйти за границу 200к рубелей? Штото индексации зарплаты подскисли, а наваливают только больше ядрёного гибкого аджайла, хочется изучить першпективы.
>>2268702 Окстись, братишка. Вокруг Россиюшка раскинулась вольготно - эти фантики почти ничего не стоят. Этого + зп жены хватает на весьма скромную жизнь. Взялся за ипотеку и не хочешь стопицот лет тянуть - изволь лишиться части зп. Ебаный сколиозник с выжжеными кодом глазами и ещё кучей хроней? - добро пожаловать на процидурки. По ОМС всё, что не мгновенная смерть - лечат подорожником или посыланием нахер, поэтому идёшь к частникам. А годные врачи, как и годные кодерки, тоже кушать хотят вкусно и берут ощутимо. Плюс жена, плюс обставить квартиру хоть как-то, плюс депозитики на чорный день, минимальная культурная жисть, родственничкам помочь etc etc etc. Чот набегает, короче. У меня даже машины нет и пока не предвидится, пекарня собрана из старья, да и отпуска дальше Европы даже не планируются. Ну и на самом деле надо как-то реализовываться, пока ещё не сорокет. Англояз вот знаю, а на моей стоимости как спеца это не отражается никак сейчас.
>>2268768 Сразу повеяло запахом водочки, шашлыка Чел а если серьезно то ты сейчас то сколько получаешь? Путешествуй в другие языки и фреймворки, если тебе на плюсах 200к потолок и ты его пробить не можешь
На что можно перекатиться с плюсов? А то, вроде как язык подтянул, но джуны только в МСК и ДС2 нужны. А в моих ебенях (600к деревня) они нахуй не упали.
>>2268556 На видео просто показаны облака точек для разных фреймов. Нет ни классификации объектов ни трекинга, только цветовой палитрой указано расстояние до точек. Даже банального edge detetion не завезли. Вся суть видео - показать как они карты глубин строят, но это далеко не slam (да и делается это без нейросетей, которые ты прикручивать собрался).
>>2268790 Есть такие работодатели, которые заставляют обязательно перекатываться в офис? Работаю помидором с дейли митапами по пол часа из своей мухострани на 300к. Одни плюсы. В пробках\метро не надо хуи пинать по часу, чтобы добраться до работы и обратно. Не надо тратить время на покурить\попиздеть\сделатькофе и прочий оффтоп. Ничего не отвлекает, если кто-то нужен - набрал в мите и перетер. Красота.
>>2268917 Если ты метишь на руководящую позицию, то переезд в офис/дс может оказаться необходимостью. Ещё конторы с оборонкой и сильно брендовые тоже будут толкать тебя в офис. Но щас ковидла и дефицит кадров, так что даже Интел прогнулся на удалёнку из мухосраней.
>>2268908 Ты просто продолжишь тыкать рандомно со словами "а тут у теб этого нет, а тут вот этого!"? Я просто показал, что одна камера в целом хуже двух, но построить облако и спозиционировать тачку способна. При чем тут трекинг и семантика? Просто повыебываться хочешь вместо нормального разговора? И ты даже не стал понимать, к чему я нейросеть предлагал прикрутить.
>>2269006 На твоём видео показано построение карты глубин и облака точек. Плотность облака низкая, погрешность определения дистанции вызывает вопросы. Что на таких данных ты собрался позиционировать, мне не очень понятно.
А сколько стоит вызов метода в плюсах? Ну вот весь чистый код, солиды и паттерны стоят на том, что нужно обертки всякие делать, делать методы мелкими. И я никогда не слышал сколько это стоит(да, наверно я не читал достаточно серьезной литературы, где это есть). По памяти и по тактам процессора(в каких порядках хотя бы). Ну вот например абсолютно без логики метод-обертка над библиотечным методом.
>>2269081 Если заинлайнилась - то нисколько. Если незаинлайнилось - то несколько тактов, в зависимости от того, сколько у тебя аргумнетов на стэке (ну и если копии - то цена копий)
>>2269006 Я писал, что: >Ерунда получится. Это не означает, что работать не будет. Но качество будет очень низким. На твоём примере я пояснил, в чём проблемы. При этом ты начинаешь подгорать и путаться в терминах и суждениях.
Даже тема про мальчиков-хрюшек из хуавея это локальный мем. Просто ты не в курсе, но агришься.
>>2268917 На удалёнку на сях смотрел, джуны то же нужны с опытом. У мой максимум - проектик на гите на вулкане.
>>2268869 Да и щас глянул другие специальности. У большинства размыто на столько, что не понятно что реально требуется, видимо тупиковые специализации.
>>2269083 Вроде как у виртуальных методов есть ещё дополнительная цена обращения через таблицы виртуальных функций. По указателю за наследование (но точно не помню)
>>2269105 Пробуй войти в web или enterprise/мобилки - JS, Java, Kotlin. Этим проще заниматься на удалёнке, а ещё оно меньше привязано к предметной области и железкам. На С лучше даже не пробуй - самое дно по зарплатам, плюс это часто железо, которое вяжет тебя к офису и рабочему месту.
>>2269122 Да проблема в том, что плюсы манят меня. А возможно у меня колпак потёк и мне лениво что либо менять. Ладно посмотрим что можно почитать.
>На С лучше даже не пробуй - самое дно по зарплатам, плюс это часто железо, которое вяжет тебя к офису и рабочему месту. Я знаю (батя кассы починял и прошивочки разные для них делал в 00-х годах) Там зарплаты реально как у работяг.
>>2269083 >Если незаинлайнилось - то несколько тактов, в зависимости от того, сколько у тебя аргумнетов на стэ Это если код ВНЕЗАПНО оказался в кэше инструкций. Так-то нихуево можно всосать на кэшмиссах под сотню тактов, прыгая туда-сюда по указателям.
>>2269156 Кстати, я знаю что есть методы, оптимизирующие струкуры данных под кэш. А как заставить проц держать те или иные инструкции в кэше. Поменьше if побольше свитчей?
>>2269103 > путаться в терминах и суждениях. Единственное место, где я лажанул, это про гомогенные координаты.
Ладно, просто забей. Я не хочу дальше развивать это бессмысленное обсуждение. Если есть претензии к моим предыдущим постам, то готов их "защитить", но развивать беседу не хочу, заебался.
Лучше расскажи, что за локальный мем про хуавеевских hrов. ИТТ за последние пару месяцев я его не встречал.
Уважаемые байтоёбы, прошу разъяснить пару моментов: 1. Есть ли принципиальная разница в написании мультистрочного вывода способом раз: std::cout << "Hello\n" << "World!\n"; и способом два: std::cout << "Hello\nWorld!\n";? 2. Если освоить C/C++ + генту я стану универсальным солдатом умеющим всё и под любую платформу. Читал пост на реддите челика который портировал генту под пску, кофемолку и даже кота. Насколько это считается крутым и сложным навыком и даёт ли это как-либо перков в коммерческом программировании?
Вышел долгожданный очень глубокий разбор отдельных аспектов языка. На этот раз про ссылки. https://habr.com/ru/post/646005/ Всем новичкам и середнячкам - маст хев.
>>2269622 Ну а в чём собственно >>2269567 не прав? Если ты ожидаешь от с++ чего-то большего то он тебя разочарует.
>>2269639 Почитаю на досуге. К слову если мне память не изменяла, то левые константные ссылки могут продливать жизнь объектов. Но только если он жив, когда вы её вы на него ссылаетесь.
>>2269953 А как ты думаешь что быстрее вызвать один оператор << или два оператора << ? Если хочешь точнее экспериментируй сам std::chrono и циклы тебе в помощь
>>2268779 Какой водочкой, болезный? Ни первое, ни второе не в почёте. Получаю я как раз столько, а насчёт потолка и уточняю - какие возможности есть для крестовиков. Перекатываться - отличный ответ, но на не заданный вопрос. Вот и поговорили, как говорится. Содержательно.
>>2270331 Хз, у тебя просто манера речи быдло пикабушника, да и проблемы такие же. Вот я и обозначил своё впечатление. А вообще у тебя вопрос дебильный и максимально несодержательный, да и сам ты видимо какой-то дурак раз на зепке в 200 не понимаешь возможности для своего стека, о чем тут вообще кто с тобой будет разговаривать?
>>2270489 Ну ты же со мной разговариваешь - уже хорошее начало. А понимание - так оно ведь в пустоте не формируется, потому нужна входящая инфа. Да, разброс по языку за я могу поглядеть на условных обзорах в интернете. Но по сферам деятельности разбивки там не будет. Сам я хикковат, кучи друзей в индустрии нет - не с кого спрашивать особо в таком ключе. Текущая зп, если судить по хабрамониторингу - выше медианной, но это ж интересно - как и в каких сферах можно дальше двигаться вправо по распределению. Может эффективней перекатиться из продукта в галеру с зарубежными заказчиками. Или пытаться собирать CV на линкедине и забить уже на внутренний рынок, раз английский знаю. Ну хз, может и правда вопросы больше для мвп-треда, но там я крестовиков не найду.
>>2271021 Читаю я чтобы постичь новое, а практикую чтобы закрепить прочитанное и делаю это много больше времени чем читаю. >>2271025 Для меня всё ещё лучше жс или питона.
>>2271032 >Читаю я чтобы постичь новое, а практикую чтобы закрепить прочитанное и делаю это много больше времени чем читаю. Тогда ты делаешь все правильно - продолжай писать код. Имхо, прочитал ты уже достаточно. Как максимум - еще Вильямса про многопоточку бы рекомендовал
>>2271021 > я тут столько ЧИТАТЕЛЕЙ видел, которые как будто в библиотеку записались, все читают и читают, а код почему-то не пишут. Совет от хуесоса, которых в 90-х не имея интернета и обучающих материалов тыкал в черный ящик и писал говнокод. Нет, чел, щас другое время, можно оформить БАЗУ, а потом уже рожать код.
>>2271186 >и писал говнокод да ты со своим бесконечным читанием даже говнокод не напишешь. Попускаешь слюни над очередным hello world'ом и пойдешь дальше читать - мол еще мало знаний другой анон
Как мне сделать класс в котором у методов функций поведение зависит от того какой у объекта "тип" (enum) Точнее, какими способами можно его написать? Я могу написать кучу классов с наследованием от одного абстрактного и каждому прописать своё поведение, но это много одной и той же писанины, там методы отличаются совсем чуть чуть Я могу использовать if / switch, но тут опять же, писать свитч для каждой функции? Я новичок в с++, так что скажите если это нормально, мне почему то это кажется не правильным Самое тупое: Я могу написать разные методы под каждый вид действия, но там придётся использовать if / switch уже в main коде
>>2271983 А нет, у тебя там просто стейт. Можно сделать словарь с типом и лямбдой (или указателем на функцию) и просто передавать аргументы в функцию, взятую из словаря по типу операции.
>>2271972 Если методы типа пикрил на одну строчку, то лучше свич и не выебываться. Ну или с наследованием - тебе же все равно все эти методы писать, в одном классе или в разных.
>>2272004 Ну дык я про микроконтроллеры. Там реально некоторые хотят универсального солдата за 40к. Что бы и плату развёл, и сам спаял. А за одно и контролер запрограммировал .
ммм, что бы я сделал на 40к рублей столько возможностей открылось бы.. купить элитного бухла.. может быть купить даже шлюшку? хотя не, писюн не подниметься уже.. или можно даже будет поднакопить и сьездить в турцию пожарить жопу никогда там не был 40к это деньги, да
Я тут набросал чуть лучший пример, там сразу видно что у меня одно и тоже в некоторых участках кода, хотелось бы узнать как можно этого либо избежать Либо если адекватное решение, то я его оставлю На самом деле я пока сам не думал над всей этой логикой, набросал из головы
>>2272057 >Ну дык я про микроконтроллеры Я про Си. Что не надо Си списывать, пока что. Просто Си очень нишевый язык, который сам знаешь, где применяется.
>>2271940 Я конечно ньюфаг, но как можно НЕ юзать шаблоны? Ты же STL юзаешь лол Тебе же надо, чтоб твой класс работал для любых типов данных? В том числе для любых пользовательских типов данных, как у умных указателей.
Зачем? Я еще понимаю, если тебе повезло вкатиться в нвидию, интел или хуавей. Но во всем остальном, РФ - это параша, разве нет? Помойные проекты, помойное легаси, денег нет, ничего нет. Люди вынуждены годами сидеть в яндексе на низких зп с обещаниями всяких опционов и стоков которые не всегда растут, как показывает практика, и никуда не могут уйти, потому что вне яндекса на С++ не пишут ничего хорошего.
>>2273106 в россии убито машиностроение группы А, то есть станкостроение, а си и с++ очень активно используется в данных сферах как в следствие и вакансий для программистов с++ меньше если совсем кратко, си и с++ обслуживает реальный сектор экономики, индустриальную промышленность
Так, значит строковой литерал хранится в абра кадабра рид онли памяти. Указатель char просто указывает на начало этого строкового литерала, массив char копирует уже существующий. А строковый литерал продолжает висеть где-то в памяти? А есть еще rvalue ссылки, которые временные объекты тоже куда-то помещают, не давая им исчезнуть после выхода из области видимости выражения. Я это к чему? Почему инфу приходится собирать по крупицам и все равно чувствовать недосказанность? Почему нет статьи четко описывающий все эти участки памяти и способы хранения строк и прочее?
>>2273427 > , что текст про си делает Потому что это легаси в сипипи, дурашка. И зачем ты мне принес стаатьи в англо-саксонском нахрюке, я его не понимаю.
>>2273457 > потом идти в инфобез к товарищу майору за деньгами Нет денег у товарища майора. Откуда ты это взял? Сам на него работал и знаю, что там тебе дадут максимум 180к А вот в Касперском у меня сосед работает. Сколько тот получает, я у него так и не выведал, но живет он неплохо. Вот они с женой на ещё одну квартиру накопили в ближайшем поддсье.
>>2273928 Ради меня, единственного шизика, которому это нужно, так заморачиваться не стоит. IDEA хоть и адски тормозит, но всё остальное говно, и не важно, написано ли оно на жабе или плюсах.
>>2273888 Все мои знакомые покинули Касперского поработав там год-полтора. Заходили на стартовые позиции и потом укатывались на лучшие деньги в другие места. В том числе и в европку.
Блять, анон, какой же я тупой. Мне нужен класс в котором длинна массива у объекта будет определятся при создании этого объекта, что-то типо: type name(int size) // это констурктор в котором массиву даётся длинна size делаю класс обёртку для манипулирования совместной работы другого класса Никак да? Если никак, но что посоветуешь? stl? Я вроде если массиву в классе размер задам, то размер объекта такого массива точно будет не меньше типа * размер
Только щас смекнул что в будущем мне всё таки понадобится изменять размер массива прямо во время работы кода, по ситуации, но это редкость Пиздец, stl да? Что использовать?
Хотя сейчас пока делаю пример, мне не нужно будет увеличивать размер. Пиздец простите за мою манеру письма, я шиз, я сейчас немного в апатии, не до этого, но сделать надо
>>2273928 У меня идея для проекта - сделать указатели на всех политиков мира, тогда вся власть в твоих руках. И тогда можно будет сделать указатели на небо, на Луну, на светофоры, на собак и на люстры. И сохранить все указатели в векторе и сделать его столицей нашего мира.
>>2273955 > Заходили на стартовые позиции Ну так джуна переманить ничего не стоит. Мой сосед там архитектор. По сеньорским позициям там вполне такая конкуренция с яндексами например.
>>2273106 Пушто как перекатываться по российским вакансиям в целом понятно. А как простому херу из россияндии где-то зацепиться за зарубежные вакансии я не в курсе. На том же линке, даже если составить сиви на английском, я более чем уверен, что кроме локальных работодателей никто особо тебя не приметит. Опять же, сейчас я работаю в сфере, которая вообще не вдохновляет. Интуиция подсказывает, что найти зарубежную работу в новойф сфере без релевантного опыта будет сложнее, чем перекатиться сначала здесь, а потом уже пробовать зарубежку.
>>2274267 Во всяких говНИИ начальники отделов хорошо стригут премии своих работяг и тоже хорошо имеют. И чо? Касторкин - проходная контора для большинства её посетителей.
>>2274585 Хуевое какое-то сравнение, если честно. То на джунах описываешь текучку кадров. То коммерческую контору с нии сравниваешь. Так хочешь доказать свою правоту?
>>2274606 полный пиздец 0. комменты на руском 1. fork под каждый коннект 2. бестолковые эксепшены (ну ты хотя бы месседж туда бы прописал, а то непонятно в чем ошибка) 3. delete[] вместо нормального STL/RAII 4. мешанина из кодов возврата и эксепшенов (read_dataport возвращает -1 вместо выброса эксепшена) 5. ??? 6. возьми Boost::ASIO, не еби мозги людям
>>2274702 throws std::bad_alloc либо nullptr если вызов с std::nothrow, в гугле забанили штоле
>>2274709 fork под каждый коннект - это так и нужно, чтобы сервер параллельно обрабатывал несколько соединений. fork был и в примере из книге. Всё остальное учту.
>>2274720 UB это хорошо потому что компилятор может автоматом принять истинными некоторые утверждения, и за счет чего достигаются дополнительные оптимизации. саси
>>2274900 > только в ансэйф блоках На этом "только" написано дохуя кода актикса, ведь без этого уже не получается быть первой строчкой в сравнении бенчмарков веб-фреймворков. Если можешь послать нахуй перформанс, то тебе не нужны ни плюсы, ни раст. Если не можешь, проще сразу на плюсах делать, чем ебаться с ансейфом.
>>2274728 >fork под каждый коннект - это так и нужно, чтобы сервер параллельно обрабатывал несколько соединений Этот метод на столько устарел, что просто пиздец. Сейчас все упарываются асинхронщиной, select/poll/epoll/io_uring.
>fork был и в примере из книге. Книга какого года? 1990?
>>2274327 >как простому херу из россияндии где-то зацепиться за зарубежные вакансии я не в курсе помимо знания собственно языка программирования и структур с алгоритмами, нужно знать английский на уровне пройти техническое собеседование по скайпику или онлайн вот и все яп, алгоритмы, инглишь, святая троица в россии достаточно яп и алгоритмов
>>2274606 Не претендую на звание иксперта и не дня не проработал по специальности server.hpp >4 #ifndef SERVER_HPP Вроде сейчас все компиляторы используют #pragma once. Как мне поясняли на одном собесе существенный плюс что дейфан можно скопировать и не изменить. А с прагмой такого не случиться
>14 int backlog; // Число разрешённых входных подключений во входной очереди А у нас возможно отрицательное значение входных подключений? Если нет uint в помощь
34 // Прочитать данные из порта кодов 35 bool read_codeport(int fd, idcode_t& id); 36 // Отправить данные по порту кодов 37 bool write_codeport(int fd, idcode_t code);
Для чтения ты используешь ссылку, для записи копируешь параметр возможно доёб но может передовать const ссылку?
Почему ты подключаешь лог файл но выводишь важную инфу в cout?
39 if (bind(fd, (struct sockaddr*)&address, sizeof(address)) < 0) { Как я понимаю, ты берёшь ссылку на адрес, преобразуешь её к указателю вроде в с++ для этого касты завезли (новый способ прострелить колено), а так же ты вычисляешь размер размер ссылки?
135 if (rv == -1) 140 if (rv == -2)
Обернул бы константы в дефайны, а то магия какая-то
191 delete [] readdata.buffer; Я бы использовал умные указатели.
228 fout << "..:::==============================================================================================:::.." << endl << endl; По идее это и им подобные литералы то же в дефайн можно запихнуть
30 server::~server() ... Если у тебя что-то бросит исключение в int server::exec() и пойдёт размотка стека, то как я понимаю (знающие поправте) не происходит попытка завершить поток
Как говорил один препод: Главный критерий плохого кода - его написал не я Удачи с тестовым
>>2275372 >uint в помощь РЕБЯТА ХВАТИТ ПОЖАЛУЙСТА. Не надо экономить на спичках. Вы же понимаете что при неаккуратном использовании unsigned вместе с signed интами вы получите трудноуловимую ошибку непонятно откуда. Не верите мне - так хоть страуструпа послушайте
>>2275402 Я понимаю, что при попытке конвернуть int -1 в uint мы получим что-то в духе FFFFFFFF с соответствующими последствиями. По идее это надо смотреть в апи какими значениями оно пользуется.
>>2275408 Компилятор выдает сообщение о возможной ошибке, он не может знать у чего в рантайме будет -1 а у чего нет. В итоге если используем unsigned все обосрано warning'ами а где именно сломалось не ясно потому что большое положительное число это валидное значение например в сишном апи которое мы используем , а вот передали бы мы -1 тогда оно какое-нибудь errno выставит или вообще аборт сразу
>>2275429 Вроде ещё использование в одной формуле uint и int будет преобразовываться к одному из них, и в место вычитания ты получишь сложение. А если ещё и ёбнуть сверху преобразование к плавоющей точке, то там возможен пиздец. Но это не точно. Повторюсь у меня комерческого опыта нуль.
>>2274606 > unistd.h Да ебитесь вы в рот! У меня и так регулярно сгорает жопа из-за попыток собрать на винде либы, прибитые гвоздями к лялеху, а вы ещё и новые пишете.
>>2276392 Симметрично, только я постоянно сталкиваюсь со студийными расширениями языка и проприетарными виндовыми библиотеками. Ну а че вы хотели? В стандартной библиотеке c++ толком ничего нет, так что сидим терпим
>>2276455 50 B item; Тут ты создаёшь объект на стеке После выхода из области видимости на 54 строке он автоматически удаляется.
Первый вопрос Поскольку у тебя структура Б кроме А ни чего не содержит, то указатели совпадают. Добавь перед А какой нибудь int разбегутся. Вопрос второй Очистка стека происходит путём смещения указателя. Ты можешь обратиться к его полям через указатель, и вызвать для них метод (в котором не явно передаётся *this) однако это UB так как указатель на стек сдвинулся вниз и если ты создашь какой-то новый объект то он перезапишет тот кусочек где лежал Б.
>>2276455 1.адрес тот же потому что компилтяор соптимизировал. Там у B нет state кроме как int из A так что смысла держать 2 разных объекта нет.
Также обрати внимание что ты не пометил print из B как override
2.Насколько я понимаю у вот этого блока без имени нет своего стекового фрейма так что его переменные привязаны к main. Поэтому когда ты их используешь в этом же мейне они не могли перезаписаться другими данными. Я не уверен но по-моему use after delete это с точки зрения именно стандарта языка в любом случае UB,так что тебе просто повезло что ассемблер устроен так как он устроен
>>2276485 а, у они там даже не виртуальные. Ну тогда не надо. Правда зачем 2 копии одной и той же функции если он не хочет virtual вызов по указателюю Просто оставь одну в A и все
>>2276488 Та для примера, я пытался понять почему там указатели на один и тот же адрес Пилю игру на sfml, нужно хранить объекты, создавал их так и пихал в вектор, но чёт ничего не работало и я добавил парочку таких костылей Щас понял что мне походу придётся динамическую память юзать
>>2276492 А я и не проектировал нихуя :( Я сам то не программист, но очень хочу сделать простую игрушку (для себя), поэтому вот. Понимание и знания приходят со временем, Если сделаю и будет работать - буду очень рад. >>2276497 Про умные знаю, щас думаю с обычными попытаюсь, потом посмотрю что да как
>>2276500 Хочу хардкор, я до этого на Lua писал, но мне не нравится ограничение по свободе. Вообще я недавно ещё opengl изучал, но вспомнил про план на 2д проект, вот решил на sfml сделать
Ну чего тебе, пострадаю чуток, зато потом порадуюсь. А так для себя я не только игру собираюсь сделать. Но программирование мне очень интересно
>>2275346 > в россии достаточно яп и алгоритмов На стажера и джуна только разве. На мидла и сеньора тебя попустят по кишкам библиотек, устройству Linux, особенностям реализации TCP/IP, компьютерной графики, математики, механики, и т. д.
>>2273108 По своему опыту и опыту знакомых. Из всех крестокодеров, которых я знал, только один смог попасть в нормальное место на ремоут. Пишет какой-то движок БД за 5 килобаксов в месяц. Но он прошаренный сильно, всякие тонкости многопточки и распределенных систем очень хорошо знает и на конференциях несколько раз выступал. Его еще в HFT приглашали работать, так что чел явно не тупой.
Остальные менее скилловые знакомые со средним IQ либо остались в С++ и пишут ембеддед или инфобез за скромный прайс около 180-200 у сеньоров, либо как и я перекатились рисовать кнопки и перекладывать джейсоны. Благо тут и в РФ контор полно, и за рубежом, выбор есть.
>>2276575 Закатился недавно в remote gamedev за 300к (дочерняя контора, в которую попал - российская), спрашивали только плюсы (глубоко и долго, больше часа им рассказывал), алгоритмы, многопоточку и каплю математики
>>2276592 Да и мне тоже писали и до сих пор пишут, но у него оффер на руках был
>>2276588 Геймдев интересная тема конечно. Но с другой стороны, куда идти потом? Хороших мест мало. Да и вообще, если вкатиться в топ контору по узкой специализации. Та же нвидия или интел. Допустим ты дорос там до 400к/мес на руки. И куда идти дальше? Аналогичных мест в РФ больше не осталось по факту, только за рубеж. А если вдруг нвидия закроет офис в РФ? Куда бежать потом? Опыт разработки под винду хоть и нужен на российском рынке, но там явно не будут платить 900к/мес как у местного анона.
>>2276607 >Опыт разработки под винду Ты не понимаешь, что такое сениор девелопер. Там берут и платят за опыт разработки и умение в организацию и прочее, а не за то, под какую ОС ты писал.
А конкретно нвидия перевезет всех в европу, если будет пиздец
>>2276565 это ты про разговорные вопросы на собесе? хуйня, это спрашивают только чтобы ты успокоился и перестал потеть лол настоящие ключевое место собеса - это сможешь ли ты перевернуть списочек или обойти бинарное дерево на бумаге/доске
>>2276744 У тебя все равно дохуя опыта разработки, а специфике тебя научат за несколько меясцев. Самое главное - этот волшебный навык промылшенного программирования, который у тебя в любом случае нкопится рано или поздно.
>>2276919 Ты мне скажи, не синтасически. Есть разница между тем где этот оператор адреса стоит или нет? Вот именно на физическом уровне там внутри на уровне ассемблера\двоичного\кода этк? Или это просто дело вкуса?
>>2276931 Спасибо, понял. И что выходит чтобы внутри функции куда передан адрес вектора мне чтобы обртаиться к элементам вектора нужно разыменовывать указатель типа вот так
>>2276960 >>2276957 ааа да меня доходит походу адрес выходит когда с готовой перменной используешь оператор, а если ты объявляешься что-то то это ссылка. ааааа вот как оно ебать
>>2276960 >>2276957 Общее между референсом и оператором разцменовцвания только символ Т& - референс на Т, где Т это тип &Т - операция взятие адреса Т, где Т это переменная, возвращает эта операция Тзвездочка, то есть ссылку на переменную Т
>>2276960 Это не имеет отношения к ссылкам, то до них не дочитал. Операция адреса применяется переменной в выражениях. & в объявлении переменной - это никакая не операция, а просто обозначение, что объявляется ссылка, ставится рядом с типом.
Посмотрел видос своего протыка к сожалению нет Джона Блоу про видновс терминал (можете сразу на 4 минуту промотать, если лень полностью смотреть, там вся суть). И это навело меня на вопрос, какое соотношение среди си плас плас пипл людей, которые реально занимаются чем то сложным, трудоемким, требующим опыта и инженерного таланта (как игры, например), и сколько из них занимается выводом текста и картинок на экран максимально неэффективным способом, методом высирания шизовых ООП иерархий? Понятно, что среди жабаскрипт и похапе макак доля первых стремится к нулю, а для вторых к единице, но как обстоят дела в цопепе? По любому же Сизифов от мира Ойти там тоже дохуя. Просто интересно, если устроиться на рандомную цопепе вакансию, какой шанс стать Человеком. https://www.youtube.com/watch?v=W5s965qdmyU
Разницы между ссылками и указателями нет ассемблерный код будет одинаковый, просто ссылки удобнее использовать, т.к. их не нужно разыменовывать при обращении к объекту как указатели вот и всё
Всем ку в етом чатике. Короче, работаю уже полгода после уника, пишу на C#. Проект легаси говно. И бляяяя какая же это скучная хуета. Я уже за полгода выгорел нахуй. Сам я с мехмата и кажется не туда свернул.
Я думаю перейти на C++. Я уже долго смотрю на рынок, и сложилось впечатление, что что-то +- интересное встречается почти исключительно на плюсах, только там есть шансы на алгоритмы/математику в целом.
Соответствуют ли эти выводы действительности? Стоит ли переходить на плюсы? Я понимаю, что и на плюсах есть скучное говно, но плюсовые вакансии, которые выглядет интересными хотя бы существуют в отличии от.
>>2277318 Тебя никто не допустит до математики и алгоритмов с опытом в пол года и нулевым по плюсам очень и очень долго. Пиздуй в шад какой-нибудь, устраивайся в яндекс и через пару лет ты сможешь вкатиться на такие ваки, если у тебя есть мозги. А вообще рановато ты оподливился, работаешь пол года, а уже выгорел. Тебе точно вообще интересно то программировать? Может стоило на своем мехмате оставаться дрочить?
>>2277453 Где я такое писал, лолекекер? Если тебя с твоей шараги взяли только легаси кал копать, то значит ты что-то не туда поступил, либо в своем вузике неправильную ветку развития выбрал. Я же тебе описываю оптимальный путь к заданной тобой цели, а ты мне тут свою хуйню пишешь. Зачем ты в вуз поступал это вообще вопрос, который неплохо было бы себе задать
>>2277453 Додик, ШАД это не замена образования, а его продолжения. И без уверситета ты не сможешь усваивать большую чать того, о чем там рассказывают. Я тебе открою секрет, люди иду в магу, в аспирантуру. И это не "забудьте все чему вас учили", это продолжение.
>>2277466 >Зачем ты в вуз поступал это вообще вопрос, который неплохо было бы себе задать Ахахаха, еще один долбоеб "высшее образование не нужно". Байтослесарь ебаный, вот ты кто
>>2277467 >ШАД Дебич, это всего лишь очередная интернатура для отсеивания и копроративной лояльности.
>>2277496 Каким образом регулируется скорость процессора? Что такое сканирование шины? Если жёсткий диск передаёт информацию из файла подкачки в модель оперативной памяти то проходит ли эта информация через процессор или нет?
>>2277515 вообще этот пост я адресовывал вузодебилу, не понятно из вашего диалога кто за вузик топит, но факт фактом вузики хуета полнейшая, даже если там учиться. знания даются горадо хуже и более неглубокие чем при самообучении и всё это гораздо дольше идёт.
вышка в ойти действительно нахуй не всралась. но книги или лекции какого-нибудь разбирающегося человека конечно послушать\почитать полезно очень.
>>2277520 Никакой. Берут не за знания языка, а за знание области. С++ это обширная область: геймдев, машнин лёрнинг, системное программирование.
Надо с областью определяться а не с языком, язык это всего лишь синтаксис и набор конструкций построенных поверх ассемблерного кода. Понимаешь? Алгоритмы и область в которой ты погромист это гораздо важнее чем выдрочка синтаксиса языка
>>2277523 Оно безусловно так, однако на вакансиях в искомой области требуют знания плюсов. Да и знание плюсов мягко говоря знанием синтаксиса не ограничивается, к сожалению.
>>2277528 А чем оно ещё ограничивается? Знанием многочисленных функций из стандартных либр?
Кроме синтаксический конструкций и функций многочисленных там ничего нет.
И я не писал нигде что с++ не надо учить я это к тому что ты неправильно акцент поставил что "насколько хорошо н адо с++ выдрочить чтобы взяли куда-нибудь" это неверные приоритеты
>>2277318 >Я думаю перейти на C++. Я уже долго смотрю на рынок, и сложилось впечатление, что что-то +- интересное встречается почти исключительно на плюсах, только там есть шансы на алгоритмы/математику в целом.
>Соответствуют ли эти выводы действительности?
Смотря что считать интересным. Алгоритмы и математика - слишком широкое понятие. Нужно как-то конкретизировать свои интересы. Потому что есть и обработка сигналов, и графика, и всякое CAD/CAM дрочево с линалом и дифгемом, какие-нибудь йобы по расчету механики и электрических схем, и всякое такое. Что интересно? Если просто не нравится перекладывать джейсоны на сишарпе, то математика от этого тебе интересна не станет. Есть какие-нибудь интересные идеи или личные проекты, связанные с математикой и алгоритмами? Может хотя бы свой графический движок писал? Если нет, то лучше вкатись во фронтенд, может там поинтереснее будет.
Также отмечу, что в проектах, где много математики или алгоритмов, обычно очень дохуища легаси кода, прямо из начала нулевых или даже конца 90-х. Код ужасный по качеству, так как его писало несколько поколений математиков, которые от программирования были несколько далеки. Часто нет документации. Сиди и думай, за что отвечает то или иное перемножение матрицы с однобуквенным названием. Если проект современный, то шансы встретить говнокод гораздо меньше, но современных проектов нет нихуя, так как ниши закрыты тем, что уже есть на рынке.
В общем, пока что советую попробовать найти интересный проект на сишарпе. С опытом в полгода тебе правда никаких интересных задач не дадут, так как все еще нужно присматривать за тобой даже в укладке джейсонов и формошлепстве. Поработай еще полгода и пытайся сваливать в нормальное место. Если совсем не понравится, то попробуй как-то конкретизировать свои интересы, и уже потом исследовать рынок на наличие вкакансий в отрасли, где хотел бы работать.
>>2277528 Вообще я не знаю читал ли ты книгу Бьёрна Страуструпа про ООП на базе цпп или нет, но он там писал что заниматься выдрачиванием языка смысла нет, лучше пишите программы и он вроде сам признался что не особо до конца ебёт весь с++ современный.
Ты хочешь работать на с++ и допустим идёшь на вакансии на с++ программиста в геймдев. Приходишь на собес и охуенно рассказываешь им про классы, про всякие методы и тонкости языка, всякие наноёба функции из стандартной либры, что удобнее и проще. А тебе говорят "маладой чилавек это понятно, вы знаете direct x и open gl?" "вы знаете как игровые движки построены?" "а расскажите нам про работу видеокарты"
и вот здесь ты сдуешься.
Или пойдёшь на системного программиста с с++ а тебя сразу "молодой чилавек расскажите про ядро операционной системы, молодой чилавек вы можете драйвер нам написать?" "что такое dma маладой чилавек?"
и снова в лужу сел. Так что ещё раз язык это 10% что влияет на твоё приём на рабоут это инструмент всего лишь, главное в области куда идёшь разбираться, пынямаешь? тебе нужно не с языком, а с областью определяться.
>>2277523 По факту ты все верно пишешь, но в то же время это пук в лужу.
Ну какой может быть опыт в системщине или геймдеве у вкатуна в С++? Максимум подергать ядро линукса или написать примитивный графический движок на опенгле по туториалу. Экспертиза в обозначенных тобой областях нарабатывается с коммерческим опытом в индустрии, а не чтением книжек для начинающих. Поэтому вкатуну можно посоветовать выдрочить С++ до уровня, когда он уже не будет жидко давать в рейтузы в ответ на вопрос про умные указатели или какие-нибудь особенности виртуальных функций. Может быть тогда его возьмут на стажировку за 30-40 тыщ в контору, где он сможет хоть как-то прокачаться на настоящих задачах.
>>2277543 >маладой чилавек это понятно, вы знаете direct x и open gl? Даже если он тыкался в directx и opengl, то сможет максимум ответить что-то сильно по верхам, попутно обсираясь в деталях и мелочах. Или в С++ сейчас ожидают, что человек без коммерческого опыта сможет им и драйвер написать, и графический движок с нуля на opengl ебануть?
>>2277552 Всмысле опыт? Опыта никто не требует, требуется понимание. Опыта может и не быть но книжки по той области куда ты подаёшься хотя бы то можно почитать, согласись? Хотя бы общее представление должено быть. Это огронмная разница между человеком который пришёл с голвыми с++ без опыта и который читал дома пару книгу про ядра всякие и с++ без опыта, он уже на месте тупо быстрее схватывать начнёт и множество ньюфажных ньюансов будет пропущено головой то думай
>>2277555 Я честно скажу, я не знаю. Я сам ньюфаня вкатунская, это описал чисто своё видение ситуации. Ну я дома вот щас пытаюсь под винду высрать драйвер на клавиатурух хотя бы, вернее фильтр в стек устройств клавиатуры чтобы сигналы перехватывать, понятное дело что без цифровых подписей я хуйца сосну, но код драйвера то будет
>>2277552 >написать примитивный графический движок на опенгле по туториалу. У тебя какой то максимализм, либо напиши свой анрыл, либо примитивный растерайзер, третьего не дано. Что мешает пойти чуть дальше и написать чуть-чуть больше примитивного движка? Пусть даже это не обязательно это будет целостный проект, это может быть серия из небольших демок, одна например демонстрирует тени, другая отражения, третья прозрачную воду, четвертая коллижн детекшн, пятая физику и т.д. >>2277520 1. Ищешь в гугле подготовку к интервью цопепе и смотришь, что там нужно. 2. Готовишься по верхам, чтобы в первые пять секунд не слили хотя бы. 3. Идешь на пару собесов и успешно их проебываешь. 4. Теперь учишь ровно столько языка, сколько требуют на собесах, но не более того.
Доброго времени суток, накидайте, пожалуйста идей в сфере системного программирования. Может быть есть вещи, которые вам нужны или вам хотелось увидеть их реализацию?
>>2277517 >вышка в ойти действительно нахуй не всралась Вебмакака детектед. Съеби в свой загон, уебан
>>2277595 Ты таки не понял что я от тебя хотел. Все твои ошибки было throw blablabh("err"); неотличимые друг от друга. Я хотел бы видеть какую-нибудь иерархию эксепшенов или хотя бы throw blablah("error in bind"); throw blablah("error at connect"); которые описывают ЧТО ЖЕ пошло не так.
Алсо, throw без активного эксепшена - это терминате.
>>2277922 >Хочу вот либо го поковырять либо дотнет Бессмысленная трата времени
Изучай сети, базы данных, крипту, эмбеддед. Я вот не могу найти чувака на реквест по созданию шифрованного VPN, со знанием IPSec, LDAP/AD и криптографии. Я вообще хуею с того, что сети никто не знает, и, ебанный стыд, путают сокеты с вебсокетами (хотя тут надо йайки W3C подрезать)
>>2277926 А че такого? Мы же тут за код, поэтому хотелось бы технологию поближе к энтерпрайзу и чтоб писать было быстро и с комфортом. По поводу найти, ну может ты мало предлагаешь?
>>2277318 На данный момент C и C# это худшие варианты для работы. Как математику, я бы советовал перекатываться в Python > Go > C++ (в идеале, если ты освоишь все три). Python даёт путь в machine learning, data science, computer vision и прочие ништяки с математикой, либо педалить на нём бекенд с джанго (вакансий много, по-любому найдёшь годноту). Go - бэкенд/сервисы для всяких умных систем в догонку к python (допустим есть коптеры с бэком на go). C++ - оптимизация кода, прототип которого ты запилишь на python.
Заходить через c++ не стоит - зп хуже, стартовые вакансии обычно в говёных компаниях или нормальных, но через интернатуры/шады/связи и прочие пути воина-анальника.
Твоё образование ебически пригодится, когда доберёшься до старших позиций. На помидорок c++ спрашивают чисто формально. В основном ебут в матан и алгоритмы, связанные с предметкой (реже в какие-то дебри ядра ОС, драйверов, сетей и прочего кала - но это удел программистов на C, так что такие конторы сразу нахуй).
И так вот через раз происходит, если контора не дрочит какой-то документооборот или системщину или что-то очень узкое типа профайлеров какого-то говна.
>>2278214 Я вкатываться планирую в системное программирование(драйвера) там на кой-от хуй написал x86-64 asm , c\c++ не понимаю до сих пор нахуя они мне с++ вписали туда что я на нём делать буду то
>>2278217 Он напрямую линкуется с системщиной, написанной на C, без JNI/InteropServices и прочих педалей. Ещё он имеет прямой доступ к железу через расширения языка на интринсиках или диалектах типа CUDA / OpenCL. Всякие кодеки, дробилки картинок, различные матричные преобразования делаются именно на SIMD или GPU. То есть он максимально близок к системщине и её можно на нём писать сохраняя баланс быстродействие/количество кода.
>>2278218 >c\c++ Так пишется во всех вакансиях и на С и на С++. Возможно потому, что C - подмножество C++ и кандидата можно конвертировать в любую сторону.
>>2278227 Кек, я тоже туда стремлюсь, насколько понял там важно понимание работы аппоратуры на низком уровне и операционных систем с драйверами, а не алгоритмы и вот это вот всё.
А в системном ты на чём? Виртуалки, антииврусы, драйвера, разработка осей, прошивки, что там у тебя?
>>2278228 А ты можешь пояснить а как команды на gpu подаются? Ну вот ты запустил программу она загружена в оперативку процессор выполняет за командой. А как в gpu команды попадают? Это какие-то особенные команды? Вроде под видеокарты свои программы шейдеры или что то такое я слышал. Они сразу через оперативу через dma под шине pcie Express летят в видеокарту чтоли или как?
>>2278232 Норм. В то же направление копаю. Моё увожение, желаю удачи. А на что посоветуешь делать упор как уже вкатившийся? Что очень важно в системном программировании для тех же драйверов\фильтров?
>>2278234 > Что очень важно в системном программировании для тех же драйверов\фильтров? Быть безумно дотошным и очень внимательным. Читать от корки до корки мсдн, всякие osr.com там.
Ну и от меня персональный хинт, что в кернеле можно использовать дохуя С++17, лямбды, тимплиты, RAII и прочий модерновый С++. Настоятельно рекомендую делать именно это, а не писать сиговно с GOTO, как в микрософтовских официальных примерах
>>2278233 Шейдеры это программы на C-подобном языке (имеют векторные расширения языка - например встроенные типы данных матриц, векторов, операции умножения, векторного/скалярного произведений и прочие). Например GLSL. HLSL, какой -нибудь мутант типа CG. Эти языки используются в основном для программирования графики в паре с графическим API (OpenGL/Dx/Vulkan). Собственно код на этих языках (это отдельные файлы) компилится драйвером видеокарты (либо кросс-компиляция) в нейтив gpu ассемблерный код либо в промежуточный язык (Vulkan). Компиляция (указывается имя файла), линковка и загрузка программы на gpu (программа состоит из нескольких шейдеров для разных стадий графического конвейера) в память gpu делается API вызовами в cpp коде. В шейдерном и c++ коде есть точки привязки данных, так что программа на gpu знает что откуда ей брать. За то, как осуществляется пересылка команд именно графического API точно не скажу, но они буферизуются и потом дёргается драйвер, для их передачи.
Что касается вычислений на GPU, то там предпочтительнее использовать не графическое API (с его cumputational shaders), а CUDA. Тут несколько по-другому. Код на CUDA (это расширение языка с++, а сам код называется ядрами) встроен в cpp исходники также, как ассемблерные вставки. Работа с памятью делается через API cuda toolkit. Компилируется всё вместе с помощью связки драйвера, компилятора nvcc, компилятора gcc и его тулчейна. Готовые объектники пересылаются на GPU средой выполнения cuda.
>>2277876 Если мне память не изменяет trow без параметра, начнёт размотку стека. Единственное, что его поймать можно на catch(...). Ну и если мы второй выкинем в деструкторе, то да это аборт.
>>2278132 > Python > Go > C++ Go выкидываем смело, если говорим про математику.
Я собственно математиком и работал. Нужны Питон, плюсы, иногда можно на R переключиться. Еще матлаб как альтернатива питону и R. Могу подробнее расписать. Но сам вопрошающий пока не знает, чем он там из математики хочет заниматься, поэтому нахуй надо.
>>2278255 > препод и сам не особо вдупляет. Препод руководит разработкой компиляторов под интеловские видеокарты. Думаешь, он не вдупляет как вулкан работает?
>>2278321 Блядь ошибся. Если выкинем ещё один (например в деструкторе) то это аборт.
>>2278342 Ну он сразу сказал, что это премьера подразумевая что возможны косяки и не точности. Если посмотришь комментарии к предыдущим лекциям, то там отлавливают мелкие косяки и ошибки о которых он упоминает в следующих.
>>2278340>>2278340 Go мы не выкидываем, потому что иначе будет слишком узко. Нужно уметь кодить хотя бы до состояния бэкенда, чтобы затрагивать архитектурные вопросы, с которыми у математиков очень не очень обычно. И Go лучше заходит, чем .Net(Core) или Java.
>>2278342 >руководит разработкой компиляторов Шейдеров. И они с графическим API связаны почти никак. Если бы он писал часть драйвера, реализующего API - другое дело. Он же просто перечисляет сущности вулкана без описания их ролей и взаимодействия, пролистав чужую портянку кода и что-то там пробубнив несвязное.
>>2278362 > Нужно уметь кодить хотя бы до состояния бэкенда, чтобы затрагивать архитектурные вопросы Я, конечно, понимаю, что всё знать лучше, чем не всё. Но если процессы организованы нормально, то математического алгоритмиста не должны ебать вопросы архитектуры софта. Его задача исследовать алгоритмы и писать proof-of-concept. Но, к сожалению, в рф хотят, чтобы один работник выполнял работу за пятерых. Поэтому твоя позиция тоже верна.
>>2278370 Не, ты мыслишь крупными конторами, где один делает proof-of-concept на питоне, другой его переписывает на c++ с аппаратным ускорением и параллелькой, третий оборачивает в sdk, четвёртый делает пакеты и средства дистрибуции. Я лишь говорю про 2 стадии из 4-5, что вполне нормально для одного разраба.
>>2278370 С другой стороны совмещение нескольких ролей бустит тебя до архитектора/тимлида/техлида. Сам так работал, заебался, но по опыту сделал X4 или больше.
>>2278214 Жоско. Мне в универе, году так в 2016, предлагали заниматься проектом на кафедре - писать генератор конечно-элементной сетки. Ну и всякое связанное с геометрией и системами диффуров. Денег естественно было хуй да нихуя, ну и я отказался и ушел на галеру гребцом.
Что по деньгам сейчас в таких конторах предлагали? Хотя бы 5-7к долларов на руки на удаленке можно грести?
>>2274709 >>2277876 А зачем вам вообще в такой мелкой хуйне RAII и иерархии эксепшенов? Чем не угодили delete и error_t error = func1488(); if (error) cout << "error in func1488\n"; ?
>>2278214 Как не обсираться в этой математике на собесах? У меня это все в универе проходили когда-то, и я учил перед экзами и лабами, но сейчас уже вообще не помню, что там в преобразовании фурье происходит или в построении NURBS поверхностей, только в самых общих чертах
>>2278132 >Go Там джунских вакансий нет считай, тем более в местах где математику пишут. Сейчас в Го набирают торгаши в основном - авито, озон, wb. Других нормальных работодателей в Го у нас нет совсем.
>>2278392 Там у них легаси проект был, который надо было перекатывать на новую математику. Мешанина из C, C++, фортрана и кода немецких пенсионеров. Тот ещё отстой. На старте платят по рынку (нашему), потом в принципе уже можно требовать X1.5, но это работа для тех кто деньги сильно любит (и математику).
>>2278397 На нём основная часть вакансий это энтерпрайз под винду. То же самое на Java оплачивается выше. Да, запускается на эмбед типа Raspberry, но там не сильно богатый функционал, под линуксом нет студии и нет WPF (UI для .NetCore делается через electron/Qt). Мало сторонних либ. Сгодится для написания сервисов и чистого бэка, но не более.
>>2278412 Да никак. Отвечаешь на вопросы от простого к сложному. В конце всё равно завалят, когда дадут задачу из тех, с которыми сами не знают как справиться. Успехом можно считать пару подробно рассказанных алгоритмов по основной тематике с комментами по скорости, устойчивости и вычислительной сложности.
>>2278701 Не, просто cad/cam/cae, fem и вот это вот всё довольно избитая тематика, которую педалят уже более 30 лет (топовые системы ANSYS/ABAQUS появились в начале 70-х). Горячих денег там давно нет.
>>2278701 Легаси говно приносит деньги за счёт того, что ты один из немногих кто может его разрабатывать. И чем дольше ты на нём сидишь, тем больше можешь ломить прайс.
>>2278767 Энивей, не вижу, нахуя эксепшены, raii и прочий ООП кал в пет прожектах и мелких прогах. На работе понятно ещё зачем потому что иначе уволят нахуй. Имхо одна из отличительных черт хорошего кодера как раз понимать границы применимости той или иной техники, а не бездумно хуячить чтобы всё было как у людей.
>>2278830 >Имхо одна из отличительных черт хорошего кодера как раз понимать границы применимости Тут соглашусь с тобой. Код можно измазать как прыжками по меткам через go to так и геттерами с сеттерами на каждую переменную. >Энивей, не вижу, нахуя эксепшены, raii и прочий ООП кал Щас насилую чистый Вулкан для себя Есть обёртки под с++ но я же говноед. raii реально удобно. Просто не думаешь об порядке удаления того или иного объекта.
Эксепшены нужны что бы гарантировать, корректное завершение участка кода. Уж лучше машина просто остановиться, чем полетит в ебеня из-за того, что кто-то кинул исключение. (Криво но думаю понятно).
>>2278864 Так говнокодеришко здесь ты, небось хуячишь абстрактные фабрики билдеров чтобы вывести хеллоуворлд на экран, потому что помидор сказал что так нада.
>>2278866 Реально эксепшены нужны, чтобы оборачивать вызовы third-party, где разрабы "просто не думали о порядке освобождения ресурсов". В остальном и эмбед-стайл нормально отрабатывает.
>>2278714 ну их в нулевых оптимизировали под многопоточку например а сегодня еще под gpu-вычисления дописывали ssd еще когда мейнстримом стали так же стало возможным чутка внутри пошаманить чтобе еще быстрей работало
>>2279174 Оно тянется в вялотекущем режиме. Перетягивают фронт со старых фреймворков на новые, документооборот натягивают на облако. Периодически выскакивает новые направление, которое быстро схлопывается. Сейчас есть чутка стоматологии и совсем немного 3d печати (естественно за бугром). А на видеочипах уже в начале 2000-х считали, причём не на одной видюхе, а сразу на целой ферме или кластере. И диски тоже были в виде различных массивов с файловой системой Lustre поверх.
>>2279216 >Что вы на это скажите? Что ты либо недочитал что там в гуглгайдлайнах написано В СЛЕДУЮЩЕМ БЛЯДЬ абзаце, либо ебешься в глаза. Гугл сказал что поскольку сторонние мудозвоны не умеет в эксепшене, ТО ПРИДЬОЦЦА эксепшены не использовать
>>2279392 Ебанутый дурачек, нахуя ты это высрал? Я просто факт проконстатировал. А написано там много больше чем ты здесь попытавшись жидко сумничать насрал. Мудозвоны какие-то. Ты точно то прочитал то?
>>2279418 > Я просто факт проконстатировал Ты можешь свой факт засунуть себе в жопу. Тебе дали причины почему гугл так поступил, а ты начал на людей кидаться.
Можно ли попросить плюсовиков добавить полезную фичу в программу? Огромное количество людей будут благодарны. Ничего выдумывать не надо, просто скопировать одну галочку и добавить рядом возможность удаления в корзину. Апи в qt добавили, как писали ниже. Желательно так же замок, который делает эту галочку по умолчанию. Весь смысл опен сурса, разработчиков просят добавить очевидную фичу, а он виляет жопой и говорит нинужно нилогично. Ебало представьте такое в коммерческом продукте. Я бы сам занялся, но выкатился неосилив постоянную еблю с компиляцией, установкой статических динамических либ с разными компиляторами. https://github.com/qbittorrent/qBittorrent/issues/7411
>>2272584 Перекатился на C# и сразу появился огромный прогресс, хотя бы стали звать на интервью, и я понял какие навыки нужно выучить после нескольких отказов. На последнем вроде не всё так плохо, жду неделю для очередного отказа
Не являюсь кодером по профессии, однако появилась необходимость написать небольшое приложение на питоне и с++. Питон освоил, а вот с подготовкой расширения на плюсах для питона затык. Я не понимаю с чего начать. Попробовал по гайду с сайта мс https://docs.microsoft.com/ru-ru/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2019 но там практически сразу пошли расхождения с тем, что я вижу в гайде и тем, что есть у меня в вижуал студио (из пункта 7 блока про создание основных проектов на плюсах я не нашел большую часть параметров). Помогите составить что-то вроде плана обучения. Что мне нужно освоить и до какого уровня, чтобы выполнить необходимую мне задачу.
Всем привет, на связь вышел мидл C++ компьютерщик, посоветуйте годных ресурсов для изучения блокчейн разработки. Не могу ничего найти кроме двух видосов от индусов на ютабе. С меня как всегда.
>>2279974 пишешь свою gui библиотеку для WebAssembly, пишешь на ней свой чатик будешь модным и может быть даже найдешь работу чтобы не умереть с голоду когда мамка помрет
>>2279974 Ну телега на кутах наформошлепана. Ну вообще зависит от твоих дизайнерских способностей. Можно сделать ахуенно если чуть чуть запариться. Куты это самое простое и быстрое что можно применить прямо сейчас в связке с плюсами
>>2279216 Есть куча легаси кода, который изначально начали писать таким образом, что обработка ошибок производилась в стиле С, то бишь возвращение кода ошибки. Обработка ошибок - увесистая часть архитектуры кода, поэтому переписывать миллионы строк кода чисто ради этого - такое себе занятие. Золотое правило софтвер ИНЖИРинга: работает - не трожь.
А так, писали бы сейчас какой-нибудь гугл хром, то думаю, что обмазывались бы молча исключениями и не парились. Это удобно и при правильном применении никакого ощутимого влияния на производительность не будет хотя в RT проектах лучше не выёбываться и обрабатывать ошибки в С-шном стиле от греха подальше, особенно в hard real time софте для каких-нибудь самолётов и машин
>>2281100 Спс за инфу, а то я так знаешь дурачек чисто мимо треда проходил и чет вот где то слышал кто то пернул про эксепшены но ты пришел и все хорошо так объяснил что даже я понял.
Кстати ты в курсе что у гугла свой язык есть? Я где то прочитал что и там экспшенов не завезли. Как думаешь почему? Очень хотелось бы услышать твоё мнение и желательно поподробнее
Код я уже удалил, соре, но вот такой вопрос. Я писал в учебных целях что-то вроде умного указателя. Внутри некой функции был создан один экземпляр такого указателя. Функция возвращает этот экземпляр по значению. При возврате из функции неявно происходит создание временного объекта, в который копируется экземпляр, а затем экземпляр выходит из области видимости функции и удаляется. Так вот, я прошелся отладчиком и оказалось, что при выходе из функции и создании временного объекта вызывается конструктор перемещения, хотя я ожидал, что это будет конструктор копирования, так как экземпляр умного указателя - lvalue. Я то конечно не против, но я не понял почему так. Неужели компилятор без моего спроса неявно применяет std::move к объету, который все равно вот-вот будет удален из стека. А если я не хочу так? Философия плюсов ведь в том, чтобы за все отвечал программист. Если бы мы всегда полагались на машину, то щас бы все сидели на сборщиках мусора и до полноценной семантики перемещения не дошли бы.
>>2281654 Сишечка очень приятная, кайфово на ней писать. И я очень люблю плюсы. Терминаторов напишут на плюсах и они будут расстреливать пидоРАСТов и ГОвноедов.
>>2281313 Нет, лямбда-вычисления, на которых базируются ФП языки, по дефолту отстают от машины Тьюринга. Простой пример - в ФП нет такого понятия, как цикл. Циклы в ФП реализуются через рекурсию, а рекурсия всегда ГОРАЗДО медленнее цикла, даже хвостовая. Почему? Вызов каждой новой функции - это построение нового стекового фрейма с его последующей зачисткой, что куда медленнее, чем инкремент индекса цикла и прыжок в его начало. И с точки зрения количества ассемблерного кода, и с точки зрения кэша инструкций. Ну и не забываем про иммутабельность в ФП, что тоже вставляет палки в колёса. К тому же, ФП язык требует наличия виртуальной машины с интерпретатором или JIT компилятором, что означает, что процессор не сможет напрямую исполнять код программы. Также, ФП язык обязан иметь сборщик мусора. Совокупность всех этих факторов делает использование функциональных языков в RT крайне нежелательным, особенно в hard RT, где на кону человеческие жизни, зависящие от исключительного быстродействия программы.
>>2282051 Зачем фп языку обязательно нужна vm? +всякий анализ позволяет делать изменения инплейс, static refcount и тп (см. roc), хотя я согласен, что фп сомнительно смотрится для хард рт.
Я уче Си++ для иргы делать учусь в шараги (4 курс) а экзамин нада сдать САЙТ!!! Я сайт делать ни умею, русские знаю плоха, Делаю дисктоп програми на С++ Qt, а мине отчилет, если не сдам сайт HTML + CSS + Laravel. Как быт???
>>2282051 в фп языках за счет виртуальной машины внутри делают оптимизацию рекурсивных вызовов, если совсем упрощать то в потрохах виртуальной машины некоторые (или большинство) рекурсивных вызовов превращается в циклы на машинных инструкциях конечно если говорить в рамках с++, то функциональный подход (если он не compile-time) оказываеться дорогим по причинам что ты сам сказал, хотя и в компайл тайм это тоже выходит дорого с той точки зрения что заметно увеличивает время компиляции юнита, но в 98 стандарте по другому метапрограммирование было невозможно, только через фп подход
>>2282484 Компилятор (а их много разных) решает сам - rvo, nrvo или nichevo. А значит нельзя заведомо сказать, какие методы (не)будут вызваны для конструирования объекта. И в итоге получается, что поведение не определено?
>>2282946 >unspecified behavior Результат то такой же как делать >> << для signed типов. Просто не могу понять: вот вы тут в треде наяриваете на RVO, но по факту это же стрельба по ногам и говнодизайн. Ладно там двигать << >> signed типы никто не станет, но эта же хуйня затрагивает 80% среднестатистического кода.
>>2282962 Потому что объекты unique_ptr<T1> и unique_ptr<T2> имеют разные типы и не имеют операторов приведения друг к другу (это не встроенные типы указателей, для которых операции приведения определены стандартом). Это как пытаться vector<double> = vector<float>.
>>2282970 Как раз-таки unique_ptr можно >If T is a derived class of some base B, then std::unique_ptr<T> is implicitly convertible to std::unique_ptr<B>
>>2283035 Похоже тот анон путает большой рантайм с виртуальной машиной. SBCL и Haskell вполне нативный код исполняют.
Привет, аноны. Возник вопрос по поводу выделения памяти: решил разобраться с тем, как работает куча наглядно и заметил, что при перезапуске или пересборке экзешки адреса памяти остаются одни и те же. Пробовал запускать какие-то крупные программы, занимающие большое количество оперативки. Почему этот адрес остается неизменным, несмотря на все манипуляции с памятью?
>>2283141 Я может в глаза долблюсь, но выделение в кучу у тебя не вижу. Все твои переменные выделяются в стек, в кучу выделяется только динамическая память.
>>2283130 > SBCL и Haskell вполне нативный код исполняют. Объясни тупому, как в ассемблере сделать рекурсию? Вроде как, чтобы функциональщину завести на x86 машине, нужно все эти алгоритмы обмазать далеко нефункцмональными вещами, пусть и на нижнем уровне (чтобы математик не сильно переживал, что его абстракции исполняются в императивном виде)
>>2283156 > Точно так же как обычный вызов функций? Ну вообще да, но я, скорей, клонил к тому, что всякий вызов функции обозначает складывание ДАННЫХ в стек. А в функциональшине данные презираются.
>>2283141 Тому що тебе надо разобраться с понятиями физическая, логическая память. Я тебе могу сказать так что если ты запустишь два этих процесса сразу то консоль выведет тебе одно и то же, но это же не значит, что они будут писать в одни и те же ячейки
>>2283171 Я думаю, пока компилятор правильно преобразует фп в асм, никто возникать не станет. А так, вм тоже на императивном асме должна быть получается.
>>2283155 >как в ассемблере сделать рекурсию Ты можешь написать рекурсивную функцию в чистых сях? Напиши, и переведи её код в ассемблер. Или посмотри на годболте.
>чтобы функциональщину завести на x86 машине, нужно все эти алгоритмы обмазать далеко нефункцмональными вещами Да, верно. Но если компилятор всё делает так, как будто программа исполняется функционально, то всем вообще пофиг, что творится под капотом. Все даже рады, что оно программа быстрая. Главное чтобы семантика была соблюдена. В этом собственно и главная задача оптимизирующих компиляторов - как сделать быстрее, но чтобы всё работало как будто ничего не поменялось. И это верно для всех языков общего назначения. В сях/плюсах есть этому даже формальное название - "as if rule".
Помогите новичку. Программа ожидает, что я внесу или тип int, или тип string. Но как сделать, чтобы она делала одно, если я ей дам int, и - другое, если дам ей string. (Надеюсь понятно объяснил, что я хочу)
Допустим, я пишу функцию, которая возвращает КАКОЙ-ТО контейнер из интов, который удовлетворяет std::ranges::sized_range. Как мне написать такую функцию? Как наложить ограничения на возвращаемый тип?
Я могу как-нибудь написать в сигнатуре функции такой тип возвращаемого значения, чтобы это было что-то более конкретное, чем auto, и чтобы он не завязывался на конкретную реализацию контейнера, который я возвращаю?
>>2264229 Такая ошибка была (в ноябре). У тебя нету путей к "program files (x86)" (именно директория ucrt). Пропиши вручную и все заработает. VS похуистически относится к установке путей при установке. майкрософту похуй на отдел качества, ошибке неск. месяцев а они не могут исправить
>>2285565 Да, только я чёт поздно понял, что это всё бессмысленно, потому что я объявление функции с auto не смогу поместить в хедер. Всё равно придётся указывать конкретный тип.
А я хотел типа, чтобы у пользователя был вот интерфейс, который гарантируется констреинтом, что возвращается какой-то sized_range, а какая там конкретно реализация - скрыто в реализации.
Мб я шиз и в этом вообще нет смысла даже в теории. Мне просто хотелось какой-то аналог того, как если бы я в жабе, например, вернул из функции Iterable вместо конкретного ArrayList.
>>2285563 То есть получается, что неопределённое поведение можно выхватить не только под разные платформы/компиляторы, но ещё и на одном и том же компиляторе с помощью -std=c++XX? Вот это я понимаю, дизайн так дизайн.
>>2285985 И с разными флагами оптимизации (и не только) на одном и том же компиляторе. И в разных версиях одного компилятора. И и в одинаковых с одинаковыми флагами. Только rvo здесь не причём.
>>2285985 А ещё у крестов и сишки разные наборы UB даже в тех местах, где оба языка пересекаются. Что-то, что является UB в крестах, не UB в сишке, и наоборот.
>>2285990 Если rvo используется, то кк не вызывается, иначе вызывается. Соответственно получается 2 разных потока команд и разное поведение. Какое будет в итоге - заведомо неизвестно.
Remote Development Support Nsight Visual Studio Code Edition enables developers to implement CUDA code in various cluster environments such as Virtual Machines or remote Docker containers. It also supports code development for Linux systems via the Remote – WSL extension.
Народ, решил я, значит, стать программистом на С++ инфа 146%. Знания в программировании околонулевые, знаю только, что файлы witcher 3 можно в notepad++ редактировать. Вобщем, посоветуйте мне курсов каких-нибудь бесплатных можно и с рутракера, пожалуйста. С меня как обычно.
Вопрос к знатокам Есть куча скриптов на питоне, под них хочется запилить gui на плюсах под x86. Запускать скомпилированный питон или скрипты питона через консоль не вариант, хочется изолировать код.
Знаю что можно исполнять питоновский код прям из плюсов, но нормальных гайдов об этом не нашел. И как там состоит вопрос со сборкой питоновских либ, тоже не понятно
Какие вообще способы существуют связать питон и плюсы?
>>2283141 Хз на каком компе ты сидишь, но по дефолту во всех известных операционных системах включен ASLR (Address Space Layout Randomization). Стэк, куча и прилинкованные в рантайме динамические либы каждый раз загружаются в разные адреса (неизменными остаются только первые 3 ниббла из-за размера страницы памяти 4096 байт (в хексе это 0x1000)). А если сам бинарник является PIE (position independent executable), то и адрес бинаря в памяти каждый раз разный. Это придумали для того, чтобы при эксплуатации уязвимостей в софте взломщику было сложнее исполнить произвольный код, ибо адрес полезной нагрузки заведомо неизвестен и нужны дополнительные меры по обходу данной защиты (спиздить адрес одного из указателей, например, а потом посчитать оффсеты, но нужно наличие бага, позволяющее это сделать). Адреса на твоём пикриле 32-битные, вангую, что ты сидишь с какой-нибудь старой ХРюши, где ASLR по какой-либо причине выключен (хотя это завезли в ОСи довольно-таки давно, примерно в 2002-2003 году)
>>2286704 Нет, у тебя должен быть пустой конструктор без аргументов и отдельно метод init() с аргументами, который всё инициализирует и возвращает коды результата. Ведь в крестах надо пойти на всё, лишь бы не юзать пиздоблядские эксепшены, ради высокой цели можно даже хуй пососать.
Есть cmake, vcpkg, opencv и qt. Надо заставить это дело как-то компилиться, но я не знаю как. Написал скрипт (на пике), но компилятор (MinGW) ругается > undefined reference to `cv::Mat::Mat И так несколько сот ошибок. В чем причина? При попытке скомпилировать msvc пишет > fatal error C1189: #error: "No Target Architecture"
>>2287089 Директория для include не та, в той папке только файлы cmake лежат (пик). Но даже если выставить верную > set( OpenCV_INCLUDE_DIRS C:/vcpkg/packages/opencv4_x64-windows/include) Работать всё равно не будет. Те же самые ошибки.
>>2287119 Сейчас создал новый проект, с одной строкой кода и с компилятором msvc все заработало, а mingw по прежнему ругается. Может быть дело в том, что opencv компилировался собственно msvc?
>>2287125 Заголовки находятся в папке opencv2. Статическая линковка возможна, если и opencv и твой код собраны одним компилятором (либо msvc либо gcc (minGW) ). Иначе только через dll.
>>2287265 Он же тебе на ангельском говорит, что NRVO не работает для вложенных объектов. Почему вложенных? Видимо потому, что [a, b] это синтаксический сахар, скрывающий за собой экземпляр анонимного класса: class {T1 a; T2 b; }; Что ещё раз подтверждает, что rvo/nrvo это стрельба по ногам.
>>2287265 >return move что-то даёт При возврате значения функцией вызывается конструктор копирования (данные копируются из локальной переменной во внешнюю переменную). Для внешней строки выделяется буфер new char[local_str.size()] и в неё копируется содержимое локальной memcpy(...). Если сделать move, то возвращаемое значение меняет категорию на rvalue и для него вызывается конструктор копирования сдвигом. При этом строки просто обмениваются указателями на буферы ( эквивалентно вызову std::string::swap() ).
Здравствуйте многоуважаемые крестовики. Хочу вкатиться в C++ с нуля, что такое программирование, знаю, но особо не изучал. Нужно для полноценнной разработки в Unreal Engine, насколько я понимаю чрезвычайное понимание языка не обязательно, но в дальнейшем хотелось бы писать аддоны, когда мозги дорастут. Ах да, заходил на ХаХа.Ру и с вакансиями по крестам впринципе беда. Я конечно понимаю, в век петухонщиков живем, но не ужели с работой все так плохо? Прото когда читаю что для джуна нужно высшее техническое, когда я ели терплю обучение в шараге на 4-ом курсе, становиться не по себе...
>>2287448 Так если тебе для анриала плюсы нужны, так и ищи вакансии на анриале Ну а в целом с работой в плюсах все норм, просто очень узконаправленные области есть, где одних знаний плюсов недостаточно > нужно высшее техническое образование Это база, если конечно вуз хороший
>>2287448 Что то ты поздновато за голову взялся на 4 курсе, не очень похоже что тебе это интересно. Тебе за деньгами? Может лучше рассмотреть рыночек каких-нибудь мобилок, я в принципе пишу это потому что больно вкатываться тебе будет
>>2287541 Да собственно, я - мазахист, и не ради больших денег, хочу в геймдеве работать, но при этом склад ума у меня более математический, как по мне. Ну пока в планах заниматься web разработкой, чтоб с голоду не сдохнуть и чутка учить плюсы, до тех пор пока собес на джуна не пройду. И вот как-то посмотрел видосики, статейки почитал, и думаю мне зайдет плюсы учить. Да и тем более никогда не поздно что-то новое изучать, вдруг что и выйдет.
>>2287498 Вот с этим что-то вообще ебаться не хочеться. Ибо для того чтобы бумажку получить, надо делать 80 процентов бесполезной херни, и только 20 - реально полезны. Вуз как по мне хорош, если ты еще не определился, поэтому много инфы для "общего развития". Но еогда знаешь, то чем хочешь заниматься, вуз - больше мешает. Ну может я и не прав, но это мое мнение. Сам в вузе не учился, зато в профильном техникуме 4-й год катаю, на разработчика Web и мультимедийных приложений. Думаю самим шаблоном от вуза это не сильно отличается, сложностью - да, в вузе темы все-таки глубже изучают.
>>2287692 Ну по крайней мере вектор определил с точностью 90% и это - разработка на Unreal. Если не понравится, то сольюсь, терпеть не буду. А так как я еще не смешарик (а точнее сказать полный ноль), то ясно что мне ничего толком и не известно об этой сфере, поэтому никакой конкретики нет.
Крестач, такой вопрос назрел - приемлимо ли юзать смешанный подход в обработке ошибок? Пример: юзать исключения только в теле конструктора, из которого невозможно вернуть код ошибки при проблемах инициализации объекта без блевотных костылей, но после успешного построения объекта при вызове методов класса юзать возвращение кода ошибки, как в старой доброй сишечке? Приемлимо ли это и если нет, то почему и чем такой подход чреватен?
Существует ли способ без копирования сконвертировать vector<byte> в вектор из структур вида {byte, byte, byte}? Или там UB и пиздец будет в любом случае?
>>2225172 (OP) Анон, помоги плез в изучение C++. Я хочу, но я не знаю что лучше, знаю базово С++, но не дальше. Есть ли место с курсами или какие-то книги?
>>2289688 так а какие у тебя цели вообще? что писать хочешь? если базово что то знаешь то иди пиши что то, развиваясь параллельно ну а в целом майерса какого то глянь
С++ для спортивного программирования
Аноним08/02/22 Втр 02:36:59№22903641546
Мне надо знать С++ для входа в спортивное программирование. Казалось бы всё просто, сначала выучить С++, потом алгоритмы и структуры данных и дальше упражняться в решении задач возрастающей сложности. Но как я понял, С++ сам по себе необъятен и бездонен, а в связи с тем что он ещё и развивается, выходят новые стандарты, ситуация "выучил С++" никогда не будет достигнута. Какую книгу/курс вы мне посоветуете? Охватывающую именно ту часть синтаксиса и возможностей языка, которая необходима и достаточна для спортивного программирования. Без необъятной уймы инструментов языка предназначенных для промышленной разработки
>>2290364 Для спортпроги намеренно прям учить плюсы не надо. Основые конструкции языка, да stl. Все. Начни просто код писать, затем смотри чужой, но после того как сам сдал задачу, естественно.
>>2290364 Достаточно выучить си и крестовую стл в пределах основных контейнеров и алгоритмов, ну и ввод/вывод, остальное в олимпиадных задачах нафиг не нужно.
>>2290364 Достаточно выучить си и крестовую стл в пределах основных контейнеров и алгоритмов, ну и ввод/вывод, остальное в олимпиадных задачах нафиг не нужно.
>>2292030 Собеседовался с ними. Долбоебами показались. Спрашивали все подряд: и матстатистику, и линейную алгебру, и проективную геометрию, и программирование. При этом про фьюжен (хотя бы на уровне фильтра Калмана) никто при этом не знал (по крайней мере не спрашивали. Про работу слам тоже ничего не спросили (хотя я не одно собеседование по этой тематике проходил с другими ребятами, включая иностранных, и знаю, как это должно выглядеть). Такое ощущение сложилось, что они сами не знают, что хотят. Отзывы только добавляют колорита. Они меня не взяли, но и я бы к ним в итоге не пошел. Ну и вообще у них вакансия cv-инженера уже месяца 4 на хх висит, если не больше. За это время можно было уж наверняка кого-нибудь найти.
>>2292030 Вот мои заметки после собеса с ними. Можешь поанализировать.
>Пошел на собес с конторой, которая занимается perception для машин, но не автопилотами. Даже по отзывам контора очень мутная. Работают они уже давно, года с 2012 точно, но до сих пор особо ничего не представили на рынке. Так что если мне откажут, то вздохну с облегчением.
> Само техническое собеседование оставило двоякое впечатление по всем аспектам. Ко мне пришло аж 4 человека, так что я украл у компании 8 человеко-часов. Было несколько секций по 15 минут.
> Первая была по теорверу. Первая задачка ровно та, которую я сам задаю на своих собесах (даже проще). Остальные на определение среднего и дисперсии суммы случайных величин. Я немного потупил с этой частью, но описал им то, как в общем случае это высчитать.
> Потом была часть с теорией 3D-реконструкции. Меня мучали теоретическими вопросами типа "сколько нужно точек, чтобы оценить fundamental или essential матрицы?". Я в эту теорию никогда особо не окунался, но признаю, что надо бы. В любом случае мы побеседовали обо всех этих преобразованиях. Я упомянул всю нужную терминологию. В целом, показал, что в теме. Хотя откровенно лично мне эта часть не понравилась.
> Другая часть была посвящена написанию простого 2D фильтра на питоне в блокнотике.
> Потом они захотели поговорить про машинлернинг. Я сказал, что диплернингом не занимался, потому что не было такого устройства, которое потянет хотя бы инференс. Поэтому ограничились линейной регрессией. Обидно, что я забыл упомянуть про "hat matrix", но в целом линейная регрессия проста и обсудили мы ее очень быстро.
> Интересно было обсудить билинейный фильтр. Я напрочь забыл, как он устроен. Основной затык был в том, что мы должны провести квазилинейную интерполяцию по четырём точкам, хотя достаточно для этих целей трёх (плоскость-то проводится через три точки) В итоге я эту задачу обобщил для нефиксированных точек на сетке: сказал, что мы строим overdetermined систему уравнений и решаем ее с помощью svd-декомпозиции, что в принципе эквивалентно проведению плоскости, оптимальной в среднеквадратичном смысле. Они немного прифигели и после этого выдали решение "из книжки". Оно норм, но моё-то круче!
> Еле вспомнил, что была часть, посвященная линейной алгебре. Абсолютно элементарная. Про мои любимые скалярные произведения. Даже были вопросы типа "назвать область значений арккосинуса". Но я и там выпендрился, потому что начал затирать про тензоры, когда речь зашла о векторном произведении.
> А теперь, что мне показалось крайне странным. Их команда занимается в частности sensor fusion. Там базовый классический алгоритм это фильтр Калмана, но они прямым текстом сказали, что его не шарят. Сама эта команда из двух человек, хотя компании уже минимум лет 8. Мы не поговорили про устройство SLAM, а это база perception. Когда я сказал, что зашарил математику SLAM в свое время, они вроде как довольно заулюлюкали. Они не спросили меня по плюсам вообще ничего, но при этом сказали, что в их продукте плюсы используются на уровне "си с классами". Если почитать про их руководство, то возникает много вопросов типа "а не является ли эта контора просто отмывалкой у инвесторов денег".
>>2292057 Слушай, а ты нихуя себе умный. Довольно разнообразные знания. Реально в работе используешь и матстат и линал (ну ладно, про линал очевидно) и машилернинг? Сколько из того, что ты сказал на собесе - знания из реальной а работы, а сколько - остаток с уника? Я почему спрашиваю: перекатился в селф драйвинг из гейдева. Работаю в ДС-2 в местом аналоге Рога и Копыта. Сперва думал, что зоебис, опыта релевантного наберусь. Но, по факту, занимаюсь хуйней - и плюсы особо не качаю, и комп зрение поскольку-постольку. Посоветуешь плез что-нибудь ? мб у тебя в кармане есть пиздатый пет проект, в котором можно прокачаться или совет куда смотреть надо? А то мне уже 25, помирать скоро, мои сверстники 300кк нс зашибают, занямаясь пиздатыми вещами, а я приору посаженную набеспилочиваю без особого толка
>>2225172 (OP) Установил Eclipse на Win10. Одни проблемы. Значки запуска не создало нигде. Нашел в каталогах, кликаю, не запускается, говорит версия java не та, хотя у меня новая. Было у кого такое?
Я же правильно понимаю, что tcp не дает никаких гарантий о доставке сообщения? И мне надо писать самому протокол, чтобы клиент отправлял мне подтверждение доставки?
>>2292189 И мне нужно постоянно дергать функцию которая скажет сколько байт отправилось, да? Когда все отправится, тогда можно считать, что сообщение доставлено, я правильно понял?
>>2292195 Microsoft уже покаялся и выпустил VSCode, .NetCore и пошёл дальше. Очевидно, что при такой движухе сидеть в штудии, это как в штаны пердеть и вспоминать молодость.
>>2292201 Вот кстати я сам охуел, но мне удобнее пользоваться vs code со своими настройками. Я сначала сидел в vs studio, ибо охуенно, но потом меня заебала возьня с несколькими файлами, когда у мен я программа имеет 2 режима компиляции. Я хз как в vs это обойти легко и я не смог. В итоге сначала писал код в vs, но без проекта, а компилировал через консоль, а сейчас вообще настроил vs сode со нужными компиляторами, флагами и тд. Установил нужные расширения типо cppcheck, clangtidy и прочего и теперь мне НАМНОООГО удобнее в vs code. Я даже хз как это все в vs studio также настроить
>>2292175 Да самый обычный чел, поработавший в предметке и с нормальным образованием. То, что он там навысирал - это база, а всё, что с него спрашивали - используется в CV. Контора походу мелкая и работяги тянут сразу по несколько направлений. Отсюда такой разброс в требованиях/вопросах к кандидату.
>плюсы особо не качаю Ну если ты матанием занимаешься, то они и не будут качаться в принципе. Даже наоборот - если на собесе спизднёшь, что занимался, то это сразу минус в карму тебе.
>>2292201 Пчел, не знаю ка там у тебя в нулевых, но проекты нынче пишутся на нескольких языках и обмазываются девопсом. В штудии через одно окно ты охуеешь всё это связывать.
>>2292206 >проекты нынче пишутся на нескольких языках и обмазываются девопсом 1 проект на нескольких языках это весьма печально, особенно если это какой-нить говномикс уровня питон\кресты\нодаЖЫЭС.
Такое надо дробить на отдельные микропроекты с отдельным деплоем.
>>2292215 Не, ну понятно, что всё логически разбито на подпроекты. Но допустим ты пишешь бек, а дебажить его надо вместе с фронтом. Пишешь матан - его надо дебажить вместе с беком. Отсюда выбор - править проекты синхронно в одной IDE, которой пользуются все твои коллеги (VSCode), либо открывать сразу несколько и ебаться в 2-3 окнах, держа в голове все комбинации клавиш, менюхи, особенности конфигурирования и настройки окружения.
Ну а говномикс python/c++/javascript это норма для CV/ML. Современно-молодёжно.
>>2292188 >проблем юа решилась Что значит юа, не решилась?
>>2292195 Что посоветовали на курсе Яндекса то и установил. Вижуал студия это рак, 30 гигов весит, больше чем вся винда, лул.
>>2292201 >А чо не блокнот сразу? Прежде чем ехидничать поинтересуйся о чем речь. Сейчас это самый крутой редактор, он всех обошел. Забрал весь рынок текстовых редакторов для программистов и еще часть рынка IDE отхватил. Очень крутая штука.
На последней работе нужен был обширный матан, включая матстаты, линал, теорию оптимизации. На собеседовании к себе в отдел я спрашивал задачку по теорверу, потому что это было основным направлением для отлела (мы исправляли нелинейные эффекты сенсоров и нужно было хорошо понимать природу явления, строить модели и уметь строить алгоритмы компенсации) Машинлернинг я пытался использовать, но мне не хватило опыта нормально все сделать (машинлернеры кстати, как правило, остального матана не знают по опыту собеседований). Плюсы я особо не использовал на хорошем уровне. Но на всех стульях не усидишь и нужно выбирать ветку развития хотя бы на ближайшие 2 года, а потом можно ее менять. Я последние лет пять-семь был математиком, теперь свитчнулся на плюсы (пишу математическую либу теперь). Вот сижу с вами теперь итт.
>>2292250 У меня нормальный компьютер. Но как линуксоид и здравомыслящий человек я считаю, что IDE не должна весить 30Гб. Это больше чем любая современная ОС! Ты это понимаешь? Это рак. Из-за такого IT и скатилось в яму. На фронте теперь загружают миллион библиотек, для того чтобы сделать простенькую анимацию. Даже 1С под Линукс весит в разы меньше, в районе 1Гб всего. Даже это плохой показатель, не unix way. Но 30Гб! это вообще за гранью.
Пока ботаю сишечку + отдельные удобства крестов типа строк и векторов. Ну не хочу я сука процедурный алгоритм упихивать в развесистое дерево классов, притом что сам язык этого никак не требует.
>>2292363 >строк и векторов это ооп > не хочу я сука процедурный алгоритм упихивать в развесистое дерево классов, притом что сам язык этого никак не требует так не пихай
Для меня это просто тип "строка" и безразмерный массив. С ебанутым синтаксисом, да. Психически здоровый человек бы запилил что-то типа "vector string MyStringList;".
А так любой HLL внутри сводится к машкоду, смысл этим сознательно забивать голову?
>>2292389 совсем скоро про итераторы узнаешь, тогда поймешь
>>2292381 > "vector string MyStringList;" а если у тебя в шаблоне несколько параметров? а что если они вложенные? так что скорее у тебя синтаксис такой себе
Ну так вот есть какой-то учебник вменяемый или курсы, где пихать не призывают?
Ну заебло, какую статью или туториал не откроешь - собака ЭТО зверь, звери ЭТО животные, у животного ЕСТЬ цвет... Опять это выращивание дерева классов через наследование. Я понимаю, в 90ые ООП считался серебряной пулей, решающей все проблемы, но скрипя зубами кресты в итоге объявили мультипарадигменными. Щас то этот подход унылый нахуя навязывать?
Причём тут итераторы? У психически здоровых людей было бы "vector MyCoolStructType ...." и дальше обходи массив любым способом. Не понимаю, в чём проблема, кроме "дидываивале".
>>2225172 (OP) Хочу установить компилятор от Майкософт для использования в VS Code. Делая по инструкции из доки, скачать build tool для visual studio, а там компоненты для C++ занимают 7,47 Гб! Как так?
>>2292551 > Какой алгоритм изучения читаешь, запоминаешь, практикуешь > по каким материалам по любой книжке которую хочешь инкапсуляция - наследование - полиморфизм
>>2292667 > То есть компилятор размером 7Гб это нормально, нужно просто дисков по больше покупать? Не вижу проблемы купить нормальную ССДшку, яж не нищий. Собстно, у меня такая же, только 2тб
>>2292801 >нормально, что компилятор весит 7+ Гб? Больше Там не только компилятор, но и ОС СДК полная, с хуевой горой прекомпайлед либ. Сам компилятор весит пикрил, опять же с кучей всякой прекомпайлед тулзы.
Но главный посыл все еще в том, что ты нищий, и купи ССД. Хоть винт купи. Терабайтник косарь стоит. Косарь - это 15 минут моей работы.
>>2292814 >Так крупные прикладухи и должны весить больше ОС. Из дурки капчуешь?
>>2292819 >Там не только компилятор, но и ОС СДК полная, с хуевой горой прекомпайлед либ. GCC под линукс и под винду весит раз в 30 меньше. В 30!
>>2292819 >Но главный посыл все еще в том, что ты нищий, и купи ССД. У меня 3Тб памяти, но я не собираюсь из за этого обмазываться дерьмом в виде VS.
>Терабайтник косарь стоит. 5К
Оказывается секта C++ это хуже сишников и 1сников. Орут: ко-ко-ко, язык должен быть быстрый и тратить мало памяти. А когда тыкаешь их в дерьмо наподобие visual studio, начинают переобуваться: ну а чё, диск купи. Двойные стандарты на лицо. То ли школьники, то ли шизики-сектанты.
>>2292858 Когда ты устроишься на первую работу (если такое случится вообще) ты поймешь, что самое ценное - это время разработчика, а не 7 гигабайт места. И что студия повышает продуктивность очень и очень сильно.
Но я боюсь, что в силу собственной тупости, ты даже первую работу не найдешь.
>>2292662 У тебя проблемы с головой? Инкапсуляция, наследование и полиморфизм достигаются средствами функционального программирования. ФП появилось раньше. Почему тогда инкапсуляция, наследование и полиморфизм должны называться ООП? И кто вообще сказал, что ООП это инкапсуляция и бла-бла? А как же передача сообщений? Алан Кей сказал: "Я изобрел термин ООП, но не имел ввиду C++".
>>2292906 Адепт винды не может ничего знать о продуктивности. Продуктивность это кода не используешь мышку вообще. Адепты винды так не умеют, да и винда не позволяет все делать через консоль.
>>2292901 Хватит записывать меня в студенты. Это твоя фантазия. У вас же нет никакой идеологии. Вы пустые. Должны быть какие принципы, которые нельзя переступать, ну или хотя бы нежелательно, что порицается. У вас ничего нет, вы носитесь по порывам ветра.
это просто бинго вкатуна, который пытается не казаться позером > линукс > функциональщина > не использовать мышку > не осилить ооп > нет работы > БЛОАТЭД
>>2292920 >Адепт винды не может ничего знать о продуктивности. Продуктивность это кода не используешь мышку вообще. Адепты винды так не умеют, да и винда не позволяет все делать через консоль. Ох, студентик. Любой человек, кто писал код в проде - знает, что бОльшую часть времени - ты код читаешь, а не пишешь. Разбираешься как что работает и тд и тп. Продуктивность - это не скорость, с которой ты пишешь laba2.cpp
На твои высеры про мышку-хуишку купится только первокуры, ведь в КОНСОЛЬКЕ ПЕРДОЛИТСЯ ТАК КРУТО, СМОТРИ КАК Я ОХУЕННО ДЕЛАЮ ЗА ДВА ЧАСА ТО, ЧТО В ВИНДЕ ДЕЛАЕТСЯ ОДНИ КЛИКОМ.
>>2292958 Не рвись ты так, манюш. Закончишь вузик, пораскидываешь резюме, рано или поздно ну должны тебя джуном за тридцатку в месяц взять - и все поймешь.
>>2292934 >ДЕЛАЮ ЗА ДВА ЧАСА ТО, ЧТО В ВИНДЕ ДЕЛАЕТСЯ ОДНИ КЛИКОМ Подтвердить сможешь? Как насчет установки программ? Как насчет администрирования системы? В винде установить 10 программ это работы не меньше чем на час. В линуксе на это тратится минута, а пока устанавливается можно что то делать. Тебе не надоело в штаны себе накладывать?!
>>2292964 Мы вообще про программирование тут - но ладно.
> Как насчет установки программ? Так же как в линуксе, есть пекедж менеджеры, есть unattended установки у всего софта вообще, начиная от фотожопа, заканчивая 3дмаксом. Мир не заканчивается на potato guy и gcalc.
А теперь расскажи мне, как ты устанавливаешь софт, которого нет в репах, пердоля. Склонить, поставить нужные депенды, конфигуре, маке, маке инсталл, потом чинить ошибки компиляции и подбирать версии либ.
> Как насчет администрирования системы? Винрм, SSH, SCCM, групповые политики AD. Никогда не думал, почему весь энтерпрайз сидит на винде? как раз потому, что это сильно проще и дешевле, чем ебаться с линуксом. Да, ДЕШЕВЛЕ, при том что винда платная, а линукс нет.
> В винде установить 10 программ это работы не меньше чем на час Хуйню придумал какую-то, тут без комментариев. Зависит от программ и метода их установки.
> В линуксе на это тратится минута, а пока устанавливается можно что то делать Сравниваешь apt install vim и установку вижуал студии, да?
> Тебе не надоело в штаны себе накладывать?! Пока обосрался ты, снова.
>>2292920 >Должны быть какие принципы, которые нельзя переступать, ну или хотя бы нежелательно, что порицается. Ну многие осуждают UB. А так же вызовы виртуальных методов в конструкторе. Или использование переменных с двойным подчёркиванием в начале.
>>2292296 Прикольно А, если я еще не заебал, еще чуть доебусь. А то не хватает проф совета Как бы ты советовал качаться в математике? Стоит ли брать в руки советские (условно) учебники и зубрить их или же стоит уже разбиратся на реальных задачах - тот же СЛАМ, например И вообще много ли в России (хочу перебраться в ДС) нормально оплачиваемой работы (не в НИИ), по направлению персепшена? Не буду ли я делать робота федора со своей тягой к математике?
>>2293053 Иногда самому впору такие заказы разместить, ибо для очередной дохуя опенсорсной софтины не выкладывают готовый бинарник и пишут инструкцию сборки на 50 страниц, где надо скачать, установить и настроить небо и аллаха.
>>2225172 (OP) Если я компилирую плюсовый код с -fno-exceptions например с помощью gcc, нужно везде вешать noexcept? Оно вроде как и надо, оператор noexcept() будет докладывать что функции бросают, но с другой стороны компилятор и сам мог бы повесить тупой что ли? .В документации gcc на этот счет ничего не написано.
Также если тут есть ембедщики или просто те кто не любит ексепшоны, накидайте может книжечек или докладов про то как эффективнее ошибочки обрабатывать, про полезность отсутствия произвольных выходных дуг и все такое.
>>2293062 >не выкладывают готовый бинарник ну так поставь из репозитория дистрибутива и все, вместо тебя уже все собрали. Или что-то совсем редкое используешь?
>>2292970 >есть пекедж менеджеры Какие? Что там в репах есть? Большая часть пользовательского софта в винде ставится ручным скачиванием и ручной установкой.
>unattended Шта?
>как ты устанавливаешь софт, которого нет в репах Успешно. Способов много. Все рабочие. В Арче так вообще все в репах есть.
>весь энтерпрайз сидит на винде Очевидная ложь. Энтерпрайз бывает разный. Ковыряние железок на заводе это не энтерпрайз. За весь ты знать не можешь. Поэтому не обобщай.
Остальные твои цитаты можно охарактеризовать как: врёти!
>>2293060 >Как бы ты советовал качаться в математике? Какие разделы тебя интересуют? Есть только один способ прокачки математики - решение практических задач. Просто чтение как газетку - это пустая трата времени. Каша в голове будет, не более.
>>2293060 > по направлению персепшена? Не так чтобы много, но даже итт тут минимум двое, кто с этим имел дело. Другой вопрос - так ли принципиально заниматься персепшоном? Есть много других областей, может, даже более интересных. Плюс работу искать будет сложнее, чем если бы ты был просто с++ девелопером. Из крупных контор разве что Хуавей в дс набирает именно математиков. Китайцы в русских видят именно эту экспертизу наиболее сильной. Остальные хотят многостаночника, который бы и код со сфинае херачил и спарс-методы бы знал (в итоге не умеет ни того, ни другого, лол). Но если персепшон тебе нужен, то вот навскидку небедные конторы, где этим занимаются: самсунг, хуавей, яндекс, артек3д, эвокарго, вейрей, сбер, align (плюс-минус). Ещё какая-то Веда-проект вертелась на хх последнее время, но там хз, что они делают.
> Как бы ты советовал качаться в математике? Итеративно. Ставишь себе цель заботать слам: штудируешь какой-нибудь дсо. Готовишь прямо подробное описание, как что в нем работает. Потом пытаешься запустить что-то готовое (заодно познаешь таинство калибровки), потом пишешь свой игрушечный слам (лишь бы работал). Ну а потом обратно погружаешься в учебники матана и узнаешь детали про представления групп Ли например зачем их в оптимизаторе логарифмируют. Ну и про сами подходы оптимизации узнаешь из другого учебника.
Потом берешь пишешь фильтр Калмана например. Заставляешь его работать на синтетике, потом повторяешь матстаты и учишь, как распределены дисперсии оценки после фильтра. Постоянно чему-то нужно учиться короче.
А потом ты понимаешь, что в зависимости от области твоих интересов все сводится либо к задаче оптимизации, либо к задаче оптимизации на графах.
> Успешно. Способов много. Все рабочие. В Нихуя не сказал, рофл.
> В Арче так вообще все в репах есть. Что все то? Пчел, ты немного бредишь уже в своем фанатизме. Большей части нужного мне софта под твою хуйню нет вообще, а ты мне про говоришь про весь софт в репах.
> Очевидная ложь. Энтерпрайз бывает разный. Ковыряние железок на заводе это не энтерпрайз. За весь ты знать не можешь. Поэтому не обобщай. Давай определим это как "практически все конторы, торгующиеся на NASDAQ, и не связанные с линуксом как с главным источником прибыли, а-ля Редхат". И я буду прав здесь, сам в такой работаю, и знаю много коллег из соседних.
> Остальные твои цитаты можно охарактеризовать как: врёти! Ну ты же снова слился, дурачок. Нихуя не сказал, только расписался несколько раз в собственном невежестве.
Пойми - еще 15-20 лет назад ЛИНУКС это было что-то новое и интересное. И да, действительно, в некоторых кругах задротов знать его считалось круто. Сейчас - твою поделку знают вообще все. Вот прям - практически любой айтишник. И все прекрасно знают, что эта хуйня работает через раз, что нет софта, и что нахуй оно никому не надо, даже бесплатно. Ну, кроме дурачков, само собой. Сейчас вот такие вот шизолинуксоиды вызывают только смех и, немного, сострадание. Не более.
Ценятся реальные знания какие-то, умение создавать и мейнтенить проекты например, знать какие-то крутые специализированные вещи. А то, что ты арчик по гайду поставил - это тебя никак не выделяет из массы таких же туповатых студентов. Просто ты не только туповатый, так еще и упертый, вот и все.
>https://chocolatey.org/ Этот костыль тоже не так давно появился. Сделан какими то сторонними разрабами. У них хоть репы открытые или они могут любых вирусов накидать?
>https://www.pcmag.com/encyclopedia/term/unattended-install Это тоже не windows way костыль. В общем все что ты перечислил это костыли, созданные чтобы хоть как то облегчить и ускорить работу с программами в windows. Это никогда не будет работать также четко как в Линуксе. Эти принципы не вложены в ОС. Пользователи не используют и не будут это использовать. Программы по прежнему будут выкладываться на свои сайтики. Никто не будет успевать обновлять репы.
>Нихуя не сказал, рофл. А что ты не знаешь как в Линуксе можно установить пакет? Можно даже из исходников собрать. Что в Windows невозможно почти всегда.
>Что все то? Например свежий компилятор Окамла. Хотя это и редкая штука. В арчевых репах почти все есть и все свежее.
>рактически все конторы, торгующиеся на NASDAQ Ой, как будто ты работаешь в такой сфере. То где ты работаешь энтерпрайзом не назовешь. И вообще энтерпрайз это помойка. Ничего хорошего они не создают. Покупают двоешников из бодишопов, а они пишут компиляторы по 7 гигов объемом.
>Ну ты же снова слился А что там комментировать? Да, я сравниваю установку вижуал студии с другими программами. Могу сравнить с IDEA. Она весит в десятки раз меньше чем Visual Studio. По функционалу не уступает. Работает на Линуксе. Шах и мат.
Еще твое врёти прокомментировать? Зависит от программ и метода установки? Вот именно, что в винде зависит, а в линуксе не зависит. Ставишь хоть ядро, хоть модули ядра, хоть что, все по единому принципу. Быстро и четко. Хочешь, откатишь. В винде так нельзя. Шах и мат.
> И все прекрасно знают, что эта хуйня работает через раз, что нет софта, и что нахуй оно никому не надо, даже бесплатно.
Это исключительно десктоп, на который корпорациям глубоко срать и который пишут хикки в свободное от фапа время.
Телеком весь на линуксе, интернет блядь весь на линуксе. Ткнись на любой сайт, в любой почтовик, в любую телефонию - там внутри будет линукс и опенсорнсые поделки типа энджайникса и астериска. И оно как-то вот работает, на двачах же сидим все нормально.
>>2293253 >работает через раз Вась, можно ли восстановить винду после синего экрана? Линукс можно восстановить почти в любой ситуации. Более 90% серверов в мире это линукс. Он работает стабильно. Винда крашится по любому поводу. Бывает ставить программу на винде, а она падает с ошибкой, и ничего не сделаешь. В линуксе такое можно починить.
>>2293473 > Это исключительно десктоп, на который корпорациям глубоко срать и который пишут хикки в свободное от фапа время. Так разговор только про десктоп и есть. Сервера понятное дело на никсах
>>2293606 > можно ли восстановить винду после синего экрана? Рассказываю - Синие экраны это проблема либо с 3рдпати драйверами, либо с железом. И это вполне пишется в мемори дампе и даже на самом экране.
Если проблема с драйверами - то идешь в safe mode, и переставляешь\удаляешь, если это китайский античит. Если с железом - ну тут уж сорян.
> Винда крашится по любому поводу. 0 крашей за 10+ лет. Как и у абсолютно всех вокруг.
>>2293692 >Синие экраны это проблема либо с 3рдпати драйверами, либо с железом. Какая разница. Похожие баги с дровами в линуксе фиксятся и не нужно систему переустанавливать.
>И это вполне пишется в мемори дампе и даже на самом экране. Лол
>Если проблема с драйверами - то идешь в safe mode, и переставляешь\удаляешь, если это китайский античит. Если в винде выскакивает ошибка с кодом, то в большинстве случаев никто не знает в чем причина и как фиксить. На сайте майкрософт написаны предполагаемые причины, но обычно все действия не приносят результата. В конце они пишут "обратитесь к своему администратору".
>0 крашей за 10+ лет. Как и у абсолютно всех вокруг. Кудахтанье. Обобщение. Попытка создать впечатление, что "вас" много. Нет, Вася, ты один такой балабол. Остальные знают и признают, что винда глючное поделие.
Винда создана для ламеров и не предназначена для работы в режиме 24/7. Поэтому большая часть багов лечится только переустановкой. Линукс можно разрушить до основания, удалив все, включая desktop environment, а потом спокойно восстановить.
>>2293785 > Переобулся Нет. Я везде только про десктоп говорил.
>>2293794 > не нужно систему переустанавливать > Если проблема с драйверами - то идешь в safe mode, и переставляешь\удаляешь, если это китайский античит. Ты читать чтоли не умеешь, пердоля?
> Если в винде выскакивает ошибка с кодом, то в большинстве случаев никто не знает в чем причина и как фиксить. На сайте майкрософт написаны предполагаемые причины, но обычно все действия не приносят результата. В конце они пишут "обратитесь к своему администратору". И в гугле искать тоже.
> Остальные знают и признают, что винда глючное поделие. Бля шиз, ты мне так нравишься. В одной строке обвиняешь меня в обобщении и САМ ОБОБЩАЕШЬ.
> Винда создана для ламеров и не предназначена для работы в режиме 24/7 Я честно говоря не совсем понимаю, как ты одновременно срешь хуйню, которой срали немытые додики из начала 2000ых, и при этом сам являешься тупым студентом. Ты ЛОРа начитался чтоли?
Просто все, что ты говоришь - это твои фантазии и шизохуйня. Какие-то баги винды (бывают, да). Только лечатся они откатом обновления, а не ПЕРЕУСТАНОВКОЙ. Просто поток невежественного бреда, рили.
По умолчанию libstdc++ и libgcc подключаются динамически, получается, если я запущу собранную прогу на другом компе, где этих либ нет, то она может не запуститься? То есть их нужно линковать статически? Но вроде libgcc вообще невозможно слинковать статически.
Корчое, как собрать бинарник так, чтобы его можно было запустить на максимально возможном количестве компов? Просто я посмотрел
>>2294562 > По умолчанию libstdc++ и libgcc подключаются динамически, получается, если я запущу собранную прогу на другом компе, где этих либ нет, то она может не запуститься? Да. > То есть их нужно линковать статически? Но вроде libgcc вообще невозможно слинковать статически. Возможно. А ещё можно положить либу рядом с прогой.
Когда приходит соединение начинает выполняться start и жрать память. Чому так происходит? Я думал, что async_read_some вызывается, если есть, что читать, а иначе ничего не происходит. Но он почему то просто начинает жрать память. Я надеялся, что оно просто будет до первой ошибки выводить на экран сообщения.
>>2294585 Читай доки async_read_some начинает асинхронное чтение и сразу возвращает управление вызывающей функции. Функтор который ты туда передаешь будет выполнен извнутри вызова io_context::run
Алсо, goodconnection - это std::atomic_flag я надеюсь? Иначе ты нарываешься на data race
>>2294562 >на другом компе, где этих либ нет А почему их там нет? Пусть ставит
Алсо, есть LD_LIBRARY_PATH переменная окружения, еще RUNPATH в elf которая тоже задает путь поиска либ
Буфер x - локальная переменная на стеке и она удаляется на каждой итерации while. При этом async_read не блокирует поток, а проскакивает дальше на следующую итерацию. Получается, что данные ещё не пришли, а буфер уже умер.
Короче у меня там хуйня полная написана, забейте. Я завтра буду читать как асинхронные сервера работают и как буст с этим связан. Там кажется не все так просто. Ну в том примере мне было просто интересно куда память уходит и всё
Это код с сайта буста. Я либо что то очень не понимаю, либо что то еще, но почему оно не уходит в бесконечную рекурсию? Или уходит, но расчет на то что не будет слишком много данных? Если второй вариант, то код какой то уебанский
>>2294622 Эх, как же хочется худенькую, бледненькую сишечку с тоненьким abi, классическую, не целованную проклятыми хипстерами, с небольшим оверхедом, с указателями на указатели на указатели , растрёпанными или неуложенными скобочками, лохушку без перспектив и зарплаты...
Можно ли как то написать в boost asio пока есть что читать, читай, если нет, то ничего не делай. Я хочу цикл какой то сделать, но не могу найти таких примеров. Везде всё уходит в рекурсия какую то. Типо async read и в хэндлрере в конце опять async read. Что за ерунда. А если у меня соединение будет сутки держаться и много маленьких сообщений пересылать, то я словлю переполнение стека?
>>2295122 >А если у меня соединение будет сутки держаться и много маленьких сообщений пересылать, то я словлю переполнение стека? надеюсь ты блядь студентик еще, а не деньги своим кодом зарабатываешь мимо припекло безработному старику
Задача. Есть большой чат. Очень большой. В него постоянно пишут люди. У пользователя есть стек с ответами от всех этих людей. Какие есть способы потокобезопасно вставлять в стек сообщения. Очевидны мьютексы какие то медленные.
>>2292934 >Любой человек, кто писал код в проде - знает, что бОльшую часть времени - ты код читаешь, а не пишешь. Большую часть кода ты не читаешь и не пишешь, а отлаживаешь. Ну если ты не тдд-пидор, конечно.
>>2294599 >Сейчас модно io_uring модно-хуедно зачастую эти долбоебы вообще не прикидывают планируемую нагрузку, а на деле оказываеться обычного ввода-вывода синхронного достаточно я ебал эту клоунаду уже
>>2295305 Оно просто создает какой то объект и сохраняет указатель на функцию в этом объекте, чтобы потом вызвать. А сама функция async read мгновенно завершается и никаких рекурсий не вызывается.
>>2295303 Ты какую то странную фразу выделил. Да, я долбаеб, потому что не разобрался с функциями буста, но из моего неверного понимаю совершенно логично следует строчка, которую ты выделил. Бесконечная рекурсия -> переполнение стека
>>2295328 Пока я подразумевал, что у каждого сообщения есть дата. А список сообщений это просто set, который их по дате посортирует. Если коротко ответить на вопрос, то да, порядок важен.
Хот тейк: ООП с композицией вместо наследования и интерфейсами вместо абстрактных классов -- не идиоматический ООП. Сеймы есть? В связи с чем вопрос, а есть примеры, когда наследование -- это лучшая идея, чем композиция/имплементация интерфейса? Потому что если нет, выходит, что всё современное ООП -- это какое то решение проблем через задний проход. Ибо полиморфизм достижим без объектов вообще (через тайп трейты в Расте или тайп классы в Хачкелле, например), как в общем то и композиция. А если нет разницы, зачем платить больше?
>>2293794 >Поэтому большая часть багов лечится только переустановкой. Допустим. Только проблема в том, что линуксоиды смотрят на разработчика, как тупая пизда или бабка на Сычёва, т.е. как на тыжпрограммиста. А раз тыжпрограммист, то должен знать абсолютно всё про комплюхтеры и уметь исправлять абсолютно любую проблему. Но реальность в том, что если ты столкнулся с проблемой в линуксе, да, скорее всего, ты можешь её исправить без переустановки, но перед тобой встаёт дилемма: либо переустановить ОС, либо изучать, как работает хуетанейм в Линупсе и почему она отвалилась. И далеко сука не факт, что второй вариант быстрее первого. Предвидя нытье "а как же конфигурация системы после переустановки". Что вы, будучи девелопером, собрались так долго конфигурировать несколько часов? Если конечно ваша разработка не связана с серверами на никсах, но тогда выбор в пользу Линукса вполне естественен и не нуждается в ином обосновании. Предвидя аргумент "достаточно просто понимать как работают операционные системы на базовом уровне". Нет, сука, недостаточно. То, какой линукс простой и не-блоатед -- это просто наглая ложь, линукс -- это 20 миллионов строк кода, и это только ядро, он перестал быть простым и понятным уже очень давно. Никакой курс по операционным системам и никакая книга этого не компенсирует. "Ну ты научишься чинить разную хуиту и станешь делать это быстрее". Не факт. И опять же, как часто мне нужно переустанавливать шиндошс, чтобы потерянное время на переустановки перевесило потерянное время на еблю с линупсом? Раз в год? Раз в месяц?
>>2295355 >как часто мне нужно переустанавливать шиндошс, чтобы потерянное время на переустановки перевесило потерянное время на еблю с линупсом? Имеется ввиду, даже если предположить, что со временем я научусь исправлять фатальные баги линупса быстрее.
>>2295355 Ну и банально, всякие мелкие проблемы возникают гораздо чаще, чем фатальные. И где на виндоус просто миллионы ответов на любые вопросы, то с линуксом ты должен скакать по форумам разных дистров. Особенно если это как то связано с десктопом и мультимедиа, ибо тут даже факт "сервера гоняют линупс/бсд" тебе никак не поможет. К маку кстати это не относится, ибо там не меньшая чем у винды юзербаза и единая система, а не куча несовместимых сборок с нескучными обоями.
>>2295312 Я лично проверил сейчас это на 10000 потоках и 50 вставках в multiset. Если писать с мьютексами, то выходит 23 секунды. Если при этом не вставлять, а просто залочить и разлочить мьютекс, то выходит 15 секунд. К сожалению без мьютексов не могу проверить, потому что тогда сет багуется и прога бесконечно выполняется
Может ли в tcp быть такое, что первое сообщение отправится на половину, а второе тоже наполовину, но с другой стороны? Или если первое не дошло полностью, то это обрыв соединения?
>>2292371 >это ооп Нет, не ооп. Контейнеры -- это не ооп. Итераторы -- это не ооп. Полиморфизм -- это не ооп. Вызов функций через точечку после первого аргумента -- это не ооп. Возможность в функции обращаться к первому аргументу, не указывая его явно в петухоне и расте все равно приходится писать self -- это не ооп. ООП -- это приватные мемберы онли, отсутствие множественного наследования, отсутствие статических классов, мемберов и методов, и адаптеры вместо интерфейсов (см. пикрил). К сожалению, люди в вузиках зачастую нихуя кроме ООП не учат и сравнить его ни с чем кроме как с допотопным Си не могут. Поэтому по иронии судьбы они обзывают ООП всё, что к ООП имеет мало прямого отношения. И я сейчас даже не про то самое ООП Алана Кея, а про ООП в Жабе и крестах.
>>2295466 Если не дошло полностью, реализация протокола сделает ещё несколько попыток, потом да, обрыв соединения. Но с очень маленькой вероятностью ошибок может не произойти, если совпадёт контрольная сумма.
Я вот сейчас заметил, что в бусте во всех примерах буффер всего один и для записи и для чтения. Разве это не странно? Было два буфера, то в одном потоке можно было бы отправлять кому то данные, а в другом принимат. А так получается, что потоки постоянно должны меняться чтобы записать/считать что то с одного буффера. Я что то не понимаю и так и должно быть?
>>2295545 Я кста этой хуйней компилирую просто потому что с вузика привык и мне при дебаге поебать на производительность, но пишут, что gcc глючная медленная хуйня, которая генерирует плохой код. Мнение?
>>2295333 >если нет разницы, зачем платить больше? Платить? Чтобы достичь динамической диспетчеризации в GHC добавили ExistentialQuantification, что наверняка сравнимо по затратам. Про раст хз.
>>2295549 > gcc глючная медленная хуйня, которая генерирует плохой код. Мнение? Хуй знает, только слышал, что исходные код ГЦЦ хуевый и новые модули/языки/стандарты поддерживать тяжело. А код генерирует нормальный, быстрее чем у шланга(clang).
>>2295355 Вот это эталонное переобувание. С точки зрения пользователя Линукс устроен просто. Его интерфейс (API) очень просто и понятен. В Windows для 1 задачи может быть 10 интерфейсов. Все они разбросаны по системе. И т.д. и т.п. В общем она вроде красиво и качественно выглядит. А в деле кривое поделие, не предназначенное для безотказной работы.
Линукс похож на ретро автомобиль. Такие авто живут десятки лет, некоторые доживают и до ста. Они сделаны очень качественно, очень надежно, работают безотказно. Их делали из дорогих, качественных материалов. Они просты в устройстве. Поэтому в них нечему ломаться. Они состоят из небольшого количества деталей. В винде все диаметрально противоположно.
>>2295355 Как же вы заебали, неосиляторы У меня у одного за 4 года использования Линукса не было никаких проблем что ли? Особенно учитывая, что 98% времени я сидел на арче. Хули вы такие рукожопы-то, блять?
>>2295593 >У меня у одного за 4 года использования Линукса не было никаких проблем что ли? очевидно, что да.
Я недавно ставил убунту 21.04 на домашнюю систему. Так сразу после установки - оно просто висло на загрузке.
И перед тем как обвинять меня в КРИВЫХ руках - что надо было сделать, чтобы этого не было? Исошник с оффсайта, устанавливал с флешки, ничего в установщике не кликал лишнего - просто фулл разметка стандартная одного диска, и далее, далее, далее.
>>2295377 с хуя ли нет? iso типа международная организация, но крестовый стандарт выпускает ISO/IEC JTC 1, а они в вашингтоне понял сша это ебаное жиды жидочурки
Анон помоги , только начал изучать, плюсы пол года назад в унике. Прошли двумерные массивы , но у меня нереальный затуп с составлением логики моих программ. И чаще всего даже казалось бы самую простую дз не могу сделать один. Где можно натренить составление логики на простецких задачах.
Попробуй на бумажке рисовать квадратики и стрелочки. Не БЛОК схемы - а просто самому себе разделяй логику на какие-то обособленные операции и записывай таким образом.
Ну и не пытайся не в коем случае использовать какие-то сложные фичи языка. Пиши код максимально просто и понятно - да, будет МНОГОСЛОВНО, но когда у тебя будет уже все написано и работать - атм уже зарефакторишь
двач, посоветуй что почитать/посмотреть, чтобы за неделю плюсы освоить на уровне решать задачки на алгоритмы писал на сишке немного, с плюсами проблем думаю не возникнет
>>2296915 я же не говорю, что мне продакшн-код надо за неделю научиться писать, мне хватит стандартной библиотеки с базовых конструкций, это вполне за неделю осваивается в новом языке за линк спасио
Ну, весь линуксовый гуй почти написан на сишечке с тулкитами, посмотри исходники. Пердолики говорят, что проще ебаться с памятью и указателями, чем писать на крестах мусорного кода больше, чем самой логики программы.
Особо следует обратить внимание, что пишется всё это обычно забесплатно и люди тупо могут выбирать более приятный язык, не оглядываясь на кабанчиков. И выбирают почему-то голый ссы.
Аудиоплеер нормальный напиши, да. Чтобы все форматы, любые кодировки, cue, питч крутить, плейлисты... На кутях самое оно. Существующий deadbeef как-то на отъебись сделан, пусть он и наиболее вменяемый в линуксе.
На той же строке { всрато выглядит, рилли. Не делай так.
Ещё отучись от вырвиглазного кулхацкерства в условиях if. Напиши отдельно свой километровый вызов функции с присвоениями, а на следующей строке проверь ифом, что оно вернуло. Компилятор код сгенерит такой же, но читаемость возрастёт на порядок.
> ВООБЩЕ не используя cos и sin, и не пытаться их имитировать, вообще без тригонометрических правил и функций
Ну блин, у тебя есть координаты начала и конца линии. Берёшь любую функцию или алгоритм типа Брезенхема для рисования линии, хотя оно и из головы велосипедится несложно, и телемаркет.
Йопт, я такое в 10 лет на кубейсике писал. Программки в несколько строчек получались, но выглядели очень эффектно :)
>>2297959 Да, кстати, извини. Я изначально неправильно написал. Мне не стек нужен, а мультисет (или его подобие). То есть чтобы сообщения были отсортированы по дате, но при этом возможна ситуация, когда из-за пинга сообщение которые было отправлено раньше придет позже, поэтому просто стек не подходит
>>2295334 Интерфейсы как раз-таки есть. Создай класс, где все методы pure virtual - вуаля, у тебя есть интерфейс. Создавай N-ное количество наследников и оверрайдь методы хоть до посинения.
Батник на выключение батника
Laama03/04/22 Вск 21:10:37№23284131764
Сап, Господа. Есть проблема, не хватает серого вещества у меня на ее решение.
В общем, есть батник запускаемый под вин10 через планировщик задач при запуске компа, задача состоит в том, чтобы написать батник, который вырубал бы его при включении определенных программ из списка.
Как я себе это представляю, оба батника запускаются через планировщик, один рабочий самый первый, второй просто постоянно находится в фоне и ничего не делает, в нем внутри и находится список программ-триггеров, второй батник вырубает полностью первый, и вот как это реализовать я придумать не могу.
Важно чтобы все это было штатными средствами винды, то есть та же CMD и планировщик.
Батник на выключение батника
Laama03/04/22 Вск 21:12:24№23284151765
Сап, Господа. Есть проблема, не хватает серого вещества у меня на ее решение.
В общем, есть батник запускаемый под вин10 через планировщик задач при запуске компа, задача состоит в том, чтобы написать батник, который вырубал бы его при включении определенных программ из списка.
Как я себе это представляю, оба батника запускаются через планировщик, один рабочий самый первый, второй просто постоянно находится в фоне и ничего не делает, в нем внутри и находится список программ-триггеров, второй батник вырубает полностью первый, и вот как это реализовать я придумать не могу.
Важно чтобы все это было штатными средствами винды, то есть та же CMD и планировщик.