Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
612 44 100

C++ №97 /cpp/ Аноним # OP 28/10/19 Пнд 13:19:35 15073041
disasm.gif (342Кб, 1340x692)
1340x692
bf5x78GwzFxNcWt[...].jpg (192Кб, 2048x833)
2048x833
vs.jpg (27Кб, 533x767)
533x767
Q0vFcHd.png (151Кб, 1948x858)
1948x858
Аноним 28/10/19 Пнд 13:20:47 15073082
Аноним 28/10/19 Пнд 13:26:53 15073163
Снимок экрана 2[...].png (28Кб, 812x254)
812x254
Аноним 28/10/19 Пнд 13:39:31 15073264
>>1507309
Маня, шел бы ты нахуй со своим наследованием и полиморфизмом
Аноним 28/10/19 Пнд 13:57:39 15073495
IMG201910281755[...].jpg (530Кб, 1080x2096)
1080x2096
IMG201910281755[...].jpg (832Кб, 1080x2098)
1080x2098
Это, я так понимаю, не распространено на данный момент? Ни разу не встречал пока.
Аноним 28/10/19 Пнд 14:02:45 15073616
>>1507349
Это перестанут использовать, когда активно начнут использовать модули
Аноним 28/10/19 Пнд 14:03:47 15073677
Аноны, где сейчас пишут на крестах? А где категорически не используют? Опытные крестовики могут найти удаленку или это очень сложно в случае с крестами?
Аноним 28/10/19 Пнд 14:09:00 15073738
>>1507367
в чем дикая проблема посмотреть на hh.ru твой первый вопрос?

Второй вопрос - удаленки нет. Вообще.
Аноним 28/10/19 Пнд 14:09:15 15073769
>>1507361
А на данный момент это использовать нужно или нет? В прошлом треде писали, что студия перекомпилирует чуть ли не построчно
Аноним 28/10/19 Пнд 14:13:51 150738210
>>1507373
ща удаленка только для веберов, прогающий на макакаскрипте, есть? Печаль
Аноним 28/10/19 Пнд 14:14:35 150738311
2019-10-28-1410[...].png (8Кб, 450x103)
450x103
>>1507205
В смысле не пользуюсь? Я генерирую метод on_message, посмотри внимательнее

>>1507218
Тащем-та не для 3, а для 4! Профит в том, что теперь их список устанавливается лишь в одном месте, и можно добавлять новые особо не ебясь.

>>1507309
По-твоему лучше в каждом сообщении иметь метод callback, который будет знать про тип receiver_t? Это ж форвард-декларить его придётся, а так же писать в каждом сообщении код, который к сообщениям вообще не относится.
Аноним 28/10/19 Пнд 14:16:38 150738512
>>1507373
Не правда. Я работаю удалённо стабильно 2-3 раза в неделю.
Аноним 28/10/19 Пнд 14:17:26 150738713
Аноним 28/10/19 Пнд 14:18:55 150738814
Крестогоспода, подскажите нубу. Открываю в visual studio проект с семплами. На все инклюды, которые видимо в зависимостях(там sdk) выдается ошибка типа "cannot open source file... *.h" при этом проект билдится и работает нормально. Куда смотреть?
Аноним 28/10/19 Пнд 14:19:20 150738915
Аноним 28/10/19 Пнд 14:20:12 150739116
>>1507376
Студия не перекомпилирует построчно. Крайне геморно из AST вычленять функции/классы и кешировать их объектный код (который вообще лежит весь в одном .obj для всей единицы трансляции). Самый максимум, в который я поверю, - закешировать вывод препроцессора + параметры компиляции. И то есть ограничения.
Аноним 28/10/19 Пнд 14:23:30 150739317
>>1507376
Используй без фанатизма. Если от времени компиляции начнёт припекать, подчистишь узкие места.
Аноним 28/10/19 Пнд 15:50:38 150747218
>>1507388
Чел... Тут все сидят на альт линуксе и clion.
Аноним 28/10/19 Пнд 15:54:13 150747719
Аноним 28/10/19 Пнд 15:54:24 150747820
Ку, плюсач.
Студентота на связи. Кресты начал учить год назад, как только был курс по ООП на плюсах в инсте (включал в себя все вплоть до с++14 стандарта ну и STL, разумеется). Потом был небольшой перерыв, а потом опять вернулся к плюсам.
Мне нравится язык, хоть он и сложный относительно, но есть ли смысл на него налягать? В бэкэнде везде го и джава, в вебе плюсы ВООБЩЕ отсутствуют. Стоит ли готовиться к тому, что у меня, как у крестовика, два выхода из положения: 1) Поддержка легаси-кода; 2) Сверхнизкоуровневая стезя вроде имбэддэда или микроконтроллеров, а тут надо еще будет электронику учить (я учу камплюхтер саенс, я не шарю в электронике вообще).
Аноним 28/10/19 Пнд 15:54:32 150747921
>>1507472
> clion
Говори за себя, говноед.
Аноним 28/10/19 Пнд 15:55:02 150748022
>>1507478
> в вебе плюсы ВООБЩЕ отсутствуют
Не пизди, есть WebAssembly.
Аноним 28/10/19 Пнд 15:58:07 150748623
>>1507478
Открывай хх и сам смотри, чего ты как маленький то. Мне всего 22, вышки у меня нет, но даже я разобрался что к чему.
Аноним 28/10/19 Пнд 16:06:05 150749324
>>1507383
ты на протяжении третьего треда даже не хочешь писать, обрботку какого бинарного протокола пишешь..
ну не хочешь, дак и ладно..
но всегда можно глянуть референсную реализацию данного протокола..
вангую, тебя там ждет много открытий..

Аноним 28/10/19 Пнд 16:12:15 150750125
>>1507493
У меня самопальный протокол.

Сначала идёт байт количества сообщений
Потом идёт байт типа первого сообщения
Дальше в зависимости от сообщения. Всё записано в little endian.
Если нужно прочитать строку - читается сначала байт её длины(N), потом N байт самой строки.

В принципе нехитрый протокол, самый обычный можно сказать. Для передачи чисел и строк его хватает.
Аноним 28/10/19 Пнд 16:15:17 150750726
Какая либа/фреймворк в сипипи хорошо подходят для имплементации протоколов передачи данных? Напрямую с API ОС будет геморно работать, учитывая еще тот факт, что я на Линуксе.
Аноним 28/10/19 Пнд 16:41:39 150756127
>>1507349
Лол, ты не встречал forward declaration? Ты вообще исходники на плюсах открывал?
Аноним 28/10/19 Пнд 16:47:30 150756928
>>1507561
Речь о классах-конвертах/дескрипторах
Аноним 28/10/19 Пнд 16:58:21 150758129
Аноним 28/10/19 Пнд 17:05:42 150759030
>>1507581
Он завязан на протобуфе, нахуй надо.
Аноним 28/10/19 Пнд 17:10:30 150759331
>>1507569
А, бля, там про pimpl рассказывается. Исходники Qt глянь, там всё на pimpl'е.
Используется для сохранения abi
Аноним 28/10/19 Пнд 17:16:19 150759732
>>1507590
это твой говнопротокол нахуй не нужен, а протобаф - охуенная вещь, тебе в прошлом треде уже сказали. Блядь, во-первых у тебя маня-стереотипы о протобафе, во-вторых в твоем говнопротолоке 4 недосообщения. Надо быть полным аутистом, чтобы ради этого пердежа педалить свой протокол.

Сука, плюсовик делает свой велосипед не изучив существующие опенсорс проекты, это просто КЛАССИКА нахуй. За это я и не люблю C++.

Аноним 28/10/19 Пнд 17:20:20 150760133
>>1507501
>У меня самопальный протокол.
ты проанализировал существующие решения и они тебя не устроили? так что ли?

Аноним 28/10/19 Пнд 17:21:22 150760434
2019-10-28-1717[...].png (24Кб, 935x229)
935x229
2019-10-28-1717[...].png (10Кб, 967x76)
967x76
2019-10-28-1718[...].png (19Кб, 1035x156)
1035x156
2019-10-28-1718[...].png (17Кб, 1022x155)
1022x155
>>1507597
> педалить свой протокол.
Да разве это протокол? Это просто байты, которые я передаю. Нахуй ради них что-то ставить, когда свою сериализацию можно сделать за 10 минут?

> в прошлом треде уже сказали.
Лол
Аноним 28/10/19 Пнд 17:21:51 150760535
>>1507601
По началу был json - но он слишком тяжеловесный, вот я и решил переключиться на бинарные данные.
Аноним 28/10/19 Пнд 17:27:26 150761736
Какая либа/фреймворк в сипипи хорошо подходят для имплементации протоколов передачи данных и в целом для работы с сетью? Напрямую с API ОС будет геморно работать, учитывая еще тот факт, что я на Линуксе.
Аноним 28/10/19 Пнд 17:28:25 150762037
>>1507601
>>1507597

А нахуя нужны столь монструазные решения для пересылки трёх сообщений? Проще же просто байты туда сюда гонять и всё. Наебенить какую-нибудь хитроумную валидацию и заебись же, не?
Аноним 28/10/19 Пнд 17:28:31 150762138
Аноним 28/10/19 Пнд 17:29:22 150762539
>>1507617
>целом для работы с сетью
boost asio же
Аноним 28/10/19 Пнд 17:31:20 150762840
2019-10-28-1729[...].png (63Кб, 846x575)
846x575
>>1507620
Ну, это пока их три. Дальше будет больше.

Вообще я не вижу смысла использовать протобуф. Вот как я сейчас создаю сообщения - просто и без декларативных макросов. В принципе в такую систему можно легко запилить и протобуф, если понадобится.
Аноним 28/10/19 Пнд 17:35:36 150763441
>>1507604
>Нахуй ради них что-то ставить, когда свою сериализацию можно сделать за 10 минут?
Ты бы знал, как часто я слышал этот бред в своей работе. Я видел самописные:
- 3 либы rpс + serialization
- 2 тестовых фрейворка + моки
- бесконечное количество синхронизирующих примитивов
- yet another thread pool impl
- свои парсеры
- итераторы, контейнеры, умные указатели, контейнеры умных указателей
- строки. Однажды видел 7 разных классов строк в одном проекте
- стореджи, каждый первый хочет написать свое кеширующее random access хранилище
- Абстракции над фс

Просто иди нахуй, ок? Ты меня бесишь просто своим существованием
Аноним 28/10/19 Пнд 17:40:02 150763742
>>1507634
Ах да, забыл:
- свой веб-сервер, который начали писать в 2к17 (просто пиздец)
- свой менеджер кластера (когда был готовый mesos и еще вагон аналогов)
- своя ORM
- свой map/reduce кластер
- свой самописный мониторинг машин в кластере
- своя личная JSON и XML ЛИБА БЛЯТЬ. СУУУКАА
Аноним 28/10/19 Пнд 17:43:04 150764343
>>1507628
задетектил в тебе говноеда по rapidjson. И да, удачи тебе с клиентом не на C++, с реализацией option полей, с реализацией sync/async стриминга.
Аноним 28/10/19 Пнд 17:43:58 150764644
>>1507634
Если нужного мне функционала нет в популярных библиотеках(stl, boost, rapidjson, etc.) - я пишу его сам, потому что использовать очередную говнолибу по типу протобуфа только ради того, чтобы не изобретать велосипед - это ебанатство, потому что сам протобуф - тот ещё велосипед блять, и интегрировать его в проект не так-то просто. У меня же решение получилось элегантным и работает без макросов.

>>1507643
> задетектил в тебе говноеда по rapidjson
А какие альтернативы?
Аноним 28/10/19 Пнд 17:45:46 150765045
>>1507634
> - своя личная JSON и XML ЛИБА БЛЯТЬ. СУУУКАА
Проиграно

Аноним 28/10/19 Пнд 17:46:36 150765546
>>1507617
ответ зависит от того, что это за протокол, бинарный, текстовый, дуплекс это или полудуплекс, на каком уровне сетевой модели он работает, насколько критичны требования к задержке сигнала, критична ли потеря данных..



Аноним 28/10/19 Пнд 17:52:07 150766647
>>1507646
>А какие альтернативы?
nlohmann json

>очередную говнолибу по типу протобуфа
>протобуф - тот ещё велосипед блять
И ты так решил, потому что ...?

>У меня же решение получилось элегантным и работает без макросов
Нет документации, нет поддержки, остальным сотрудникам надо вникать в очередной говнокод (особенно приятно будет, если ты уже уволился), нет бенчмарков, потенциальные баги, нет поддержки других языков, нет реализации 99% фич всех нормальных rpc-либ.

Ты просто наговнил очередной велосипед, которых полезен только с академической точки зрения.
Аноним 28/10/19 Пнд 18:02:39 150767848
image.png (195Кб, 982x1668)
982x1668
image.png (128Кб, 984x955)
984x955
>>1507666
> Нет документации
Она нужна для того, чтобы интегрировать либу в проект. В мой проект она уже интегрирована, и более нигде не используется. Нахуя писать к ней документацию? Да это и не либа даже, а блять вот эти вот 2 файла, хули тут документировать? По-моему названия методов говорят сами за себя.

> нет поддержки
Если что-то сломается - я сам и починю.

> остальным сотрудникам надо вникать в очередной говнокод (особенно приятно будет, если ты уже уволился)
Это не рабочий проект, а мой личный, над которым работаю я один.

> нет поддержки других языков
Поддерживаются все языки, которые умеют читать и писать байты.

> нет реализации 99% фич всех нормальных rpc-либ.
А нахуя они мне нужны? Я, блять, просто байты туда-сюда гоняю.


Я в ахуе блять с вас. Переменные тоже каким-нибудь охуительным фреймворком объявляете?
Аноним 28/10/19 Пнд 18:11:31 150768249
>>1507621
>>1507625
Но ведь в boost asio нет сырых сокетов, в отличие от Poco
Аноним 28/10/19 Пнд 18:12:09 150768350
>>1507682
> Poco
Спасибо, поблевал
Аноним 28/10/19 Пнд 18:17:17 150768551
>>1507678
>я пишу в учебных целях
дискуссия больше не имеет смысла
Аноним 28/10/19 Пнд 18:19:30 150768752
>>1507637
>воя личная JSON и XML ЛИБА БЛЯТЬ. СУУУКАА
О, у нас на работе тоже есть такие
Аноним 28/10/19 Пнд 18:20:27 150768853
>>1507666
>>А какие альтернативы?
>nlohmann json
Сам ты такой
Аноним 28/10/19 Пнд 18:24:10 150769054
>>1507685
Ну, вообще, на этот проект у меня есть коммерческие цели. А обучение - это неотъемлемая часть написания кода - хоть ты пишешь свой пет-проект, хоть энтерпрайз.

Хули, бля, давайте вообще передавать WebAssembly и выполнять его на V8 вместо того, чтобы написать свой лёгкий сериализатор, который в 10 раз быстрее, меньше и понятнее.

Я сам не сторонник велосипедов, но тащить на каждый пук очередную громадную либу считаю большим говноедством, чем написание велосипедов.
Аноним 28/10/19 Пнд 18:28:28 150769655
>>1507678
Забавно, что в том месте, где напрашиваются шаблоны, у тебя бойлерплейт
Аноним 28/10/19 Пнд 18:29:55 150769856
>>1507696
Я решил делать без них, потому что хочу сохранить названия методов.
Аноним 28/10/19 Пнд 18:30:50 150770357
>>1507349
В чем космический эффект от сокрытия ?
Если тебе не надо куда-то лезть, ты туда и не полезешь.
Аноним 28/10/19 Пнд 18:39:31 150771658
>>1507703
>В чем космический эффект от сокрытия ?
Например сохранение abi
Аноним 28/10/19 Пнд 19:23:55 150774959
>>1507304 (OP)
>>1507748
Ай блять перекотили уже. Перепощу
Что могут спросить на собеседовании при наличии следующей фразы в требованиях
>знаком со средствами обобщенного программирования в С++ (templates);
Впервые такую формулировку вижу. И еще, сколько обычно отвечают на резюме, и отвечают ли на него вообще если ты не проходишь?
Аноним 28/10/19 Пнд 19:49:34 150776760
>>1507698
Клиника.

Уберите этого обезумевшего студента из треда.
Аноним 28/10/19 Пнд 19:50:58 150777061
>>1507628
>протобуф
Ты уже даже меня заебал. Четвёртый тред выбираешь, протобуф или хендмейд
Аноним 28/10/19 Пнд 19:51:56 150777462
>>1507767
В смысле? Хочешь чтобы было reader.read<unsigned short>() вместо reader.read_uint16()?

>>1507770
Я уже давно выбрал, но местные энтерпрайз-макаки в треде никак не уймутся.
Аноним 28/10/19 Пнд 19:53:08 150777663
>>1507749
например, variadic templates как нвидиа-кун

отвечают или нет зависит от ебанутости компании. Если ебанутые, то не отвечают
Аноним 28/10/19 Пнд 19:54:48 150778064
>>1507628
Тут в прошлом или позапрошлом треде аноно затирал, что shared_ptr в его атомарным счётчиком невьебенно тормозноё
Аноним 28/10/19 Пнд 19:55:18 150778165
>>1507780
Блядь, я вроде трезвый, а ошибся в каждом слове
Аноним 28/10/19 Пнд 19:56:36 150778366
>>1507776
>т от ебанутости ком
Пиздос, на весь город две вакансии джуна, в одной вообще пиздец какой-то требуют знание еще 3 языков, надеюсь ответят.
Алсо, могут попросить реализовать трейты там какие-то или кортеж свой на джуна, или это выше уровень? Я в принципе могу, но синтаксис забываю.
Аноним 28/10/19 Пнд 19:59:14 150778867
>>1507776
Бля, я тоже хочу в нвидию наворачивать темплейты. Заебался дрочить UI, ощущаю себя фронтэнд макакой.

>>1507780
У меня же не дробилка чисел, мне лишние пару тактов вообще до пизды. Зато архитектура получается стройная и масштабируемая.
Физика у меня вообще считается js-ным движком через embedded V8, лол, но это уже отдельный разговор.
Аноним 28/10/19 Пнд 20:07:52 150780368
>>1507783
>Алсо, могут попросить реализовать трейты там какие-то или кортеж свой на джуна, или это выше уровень? Я в принципе могу, но синтаксис забываю.
Зависит от ебанутости собеседующего. Если долбоёб, то может что угодно попросить
Аноним 28/10/19 Пнд 20:09:18 150780569
>>1507690
>громадную либу
>embedded v8
Лол.

Grpc даст в релизе всего 5mb. У тебя только rapidjson в полмегабайта вышел. Чего уж говорить про embedded v8.

Ну и естественно сама либа для работы с сетью места займет. В итоге нихуя не сэкономишь и тупо напишешь половину grpc. Раз ты игру делаешь, да еще физику считаешь, то тебе стопудово придется делать стриминг, а значит ты там вообще охуеешь реализовывать это все.
Аноним 28/10/19 Пнд 20:09:29 150780670
>>1507788
>Физика у меня вообще считается js-ным движком через embedded V8, лол, но это уже отдельный разговор.
Физика. считается. js-ным. движком
ЕБААААААААААААААТЬ, СКОРУЮ СРОЧНО, ТУТ ЕБАНУТЫЙ!!!
Аноним 28/10/19 Пнд 20:11:05 150780871
>>1507788
>Бля, я тоже хочу в нвидию наворачивать темплейты. Заебался дрочить UI, ощущаю себя фронтэнд макакой.
Александреску всего прочёл?
Аноним 28/10/19 Пнд 20:14:24 150780972
>>1507808
вопрос не в том, прочитал ли ты александеску (это подразумевается), а в том насколько свободно ты те же концепции можешь использвать, но реализуя возможности современного с++.. на данный момент, к примеру, мы можем вообще отойти от использования техник функцинального программирования, в частности, рекурсивного инстанциирования, при метапрограммировании, просто заменяя эти техники новыми конструкциями языка, имеративными, но выполняющимися и (опционально) в компайл тайм

Аноним 28/10/19 Пнд 20:16:43 150781373
>>1507809
>мы можем вообще отойти от использования техник функцинального программирования
>просто заменяя эти техники новыми конструкциями языка, имеративными, но выполняющимися и (опционально) в компайл тайм
Звучит как отсутствие бенчмарков и преждевременная оптимизация. Prove me wrong
Аноним 28/10/19 Пнд 20:16:54 150781474
>>1507783
> но синтаксис забываю.
ничего страшного! как говорил сам дедушка страуструп: для языка с++ важнее семантика, а не синтаксис!

Аноним 28/10/19 Пнд 20:18:13 150781775
>>1507814
Какая-то сложная шутка
Аноним 28/10/19 Пнд 20:18:22 150781876
>>1507780
ходят слухи, шо новый шланг понимает что типа код однопоточный, и не делает для шаред пойнтера атомарный счетчик

Аноним 28/10/19 Пнд 20:19:28 150782177
>>1507805
Чтобы подключить grpc - мне надо будет переписывать весь проект, а я к этому не готов. И что он мне даст кроме того, что вместо велосипеда я буду использовать обёртку над grpc такого же размера, как и сам велосипед, а то и больше?
> Раз ты игру делаешь, да еще физику считаешь, то тебе стопудово придется делать стриминг
Что ты называешь стримингом?

>>1507806
На это есть причины. В кратце - игра браузерная, поэтому физический движок должен быть на js.

>>1507808
Вместо книжек я читаю stackoverflow
Аноним 28/10/19 Пнд 20:19:40 150782378
>>1507749
>знаком
рядом стоял? значит знаком!

Аноним 28/10/19 Пнд 20:23:14 150782879
>>1507821
>Вместо книжек я читаю stackoverflow
получишь фрагментарные знания, не более

Аноним 28/10/19 Пнд 20:23:46 150783080
>>1507828
Имплаинг что этого недостаточно для того, чтобы стать сеньором.
Аноним 28/10/19 Пнд 20:26:52 150783481
>>1507821
>И что он мне даст кроме того, что вместо велосипеда я буду использовать обёртку над grpc такого же размера, как и сам велосипед, а то и больше?
Зачем нужна обертка, если используешь grpc? И что за обертка вообще?

>Что ты называешь стримингом?
Это когда присылаешь не одно сообщение, а серию в пределах одного rpc вызова. Работает гораздо быстрее, чем посылать отдельными вызовами rpc.

>Чтобы подключить grpc - мне надо будет переписывать весь проект, а я к этому не готов
С каких пор для подключения либы надо переписывать весь проект?

Аноним 28/10/19 Пнд 20:29:40 150783982
>>1507830
тогда ты будешь жуликом, не более
Аноним 28/10/19 Пнд 20:31:46 150784683
>>1507834
> Зачем нужна обертка, если используешь grpc? И что за обертка вообще?
> С каких пор для подключения либы надо переписывать весь проект?
Чтобы либа красиво ложилась на архитектуру - для неё надо писать обёртку. Не получится же у тебя, допустим, просто так и без задней мысли заменить отрисовку с SDL на OpenGL. В SDL просто рисуешь квадрат, а в OpenGL ебёшь буфферы, биндишь шейдеры, отправляешь на видеокарту вершины и т.д.
Просто как пример

> Это когда присылаешь не одно сообщение, а серию в пределах одного rpc вызова. Работает гораздо быстрее, чем посылать отдельными вызовами rpc.
Такое у меня уже реализовано
Аноним 28/10/19 Пнд 20:32:40 150784884
>>1507839
Жуликом будет тот, кто вызубрил книжку, но нихуя на практике не умеет/не помнит.
Аноним 28/10/19 Пнд 20:38:12 150785685
>>1507846
>Такое у меня уже реализовано
пруф

>Чтобы либа красиво ложилась на архитектуру - для неё надо писать обёртку
Пустые слова. Не надо
Аноним 28/10/19 Пнд 20:38:47 150785986
Аноним 28/10/19 Пнд 20:48:55 150787087
>>1507859
между синтаксисом и семантикой? это троллинг тупостью, что ли?
Аноним 28/10/19 Пнд 20:51:21 150787388
>>1507848
одних практических знаний не достаточно для мастерства, нужна еще и теория
а взять ее можно только из книжек
Аноним 28/10/19 Пнд 21:06:52 150788489
>>1507873
Это тебе в вузе сказали?
Аноним 28/10/19 Пнд 21:16:45 150789090
>>1507870
Это ты спизданул, теперь ты и объясняй почему согласен с трупом страуса.
Аноним 28/10/19 Пнд 21:28:50 150790291
>>1507304 (OP)
В чём космический эффект первой гифки?
Аноним 28/10/19 Пнд 21:41:29 150791192
1564417309261.jpg (60Кб, 604x460)
604x460
Помогите разобраться плез в Qt.
Допустим, у меня есть QPushButton, QLineEdit и есть метод void Add(int N). Также есть какой-нибудь контейнер для int-ов.
Мне надо, чтобы по нажатию кнопки вызывался бы метод Add и добавлял введенное число из QLineEdit-а в контейнер. Вроде бы кажется все просто, пишешь:
connect(button, &QPushButton::clicked, this, &MyClass::Add),
но непонятно, как в этом коннекте передать само число из QLineEdit-а, чтобы оно сунулось в Add.
Как это делается то?
Аноним 28/10/19 Пнд 21:43:20 150791293
>>1507911
>connect(button, &QPushButton::clicked, this, [this](){container->push_back(button.text().toInt();});
Аноним 28/10/19 Пнд 21:45:27 150791494
>>1507912
Ай бля проебался, line.text нужно, суть ты понял.
Аноним 28/10/19 Пнд 21:46:41 150791595
>>1507383
В C++ нельзя генерировать методы без внешних утилит. То, что ты написал - это пиздец, посмотри, какой там тип в конце получается.
Аноним 28/10/19 Пнд 21:47:28 150791796
1431495631956.jpg (48Кб, 498x456)
498x456
>>1507912
> [this](){container->push_back(button.text().toInt();}
Матерь Божья, это что еще за конструкция? Как она работает?
Аноним 28/10/19 Пнд 21:47:35 150791997
>>1507902
Судя по интерфейсу фитча QtCreator'a
Аноним 28/10/19 Пнд 21:47:50 150792098
>>1507388
Как именно они инклюдятся? Какая последовательность сборки?
Аноним 28/10/19 Пнд 21:48:25 150792199
Аноним 28/10/19 Пнд 21:50:32 1507922100
>>1507921
То есть просто написать connect(button, &QPushButton::clicked, this, &MyClass::Add(LineEdit.text().toInt())) я не могу, а через лямбду могу любые методы вызывать внутри коннекта?
Аноним 28/10/19 Пнд 21:51:40 1507924101
>>1507919
Не, он другой. Это клион какой-нибудь.
Аноним 28/10/19 Пнд 21:55:51 1507927102
>>1507922
Как ты вообще догадался залезть в c++ в 2019 году без знания лямбд? Это ж самая полезная штука после auto
Аноним 28/10/19 Пнд 21:58:15 1507929103
>>1507927
Хз. У меня знания только уровня мухосранского универа, а в мухосранском универе лямбды не проходят.
Аноним 28/10/19 Пнд 22:01:25 1507934104
>>1507929
Так изучи сам, хуле
Аноним 28/10/19 Пнд 23:02:35 1507974105
Eсть тут ребята работающие в геймдеве? Так заебало джсоны парсить, хочется чего-то интересного и творческого.
Аноним 28/10/19 Пнд 23:16:20 1507986106
>>1507974
Есть. Не лезь сюда, парси jsonы дальше
Аноним 28/10/19 Пнд 23:20:14 1507989107
Аноним 28/10/19 Пнд 23:21:50 1507990108
>>1507974
Не лезь, дебил, она тебя сожрет. Ты в душе не ебешь что это такое и какое количество матана есть там, ты головой ебанешься. Лучше парсь джейсоны дальше, если не хочешь шизуху схлопотать.
Аноним 28/10/19 Пнд 23:29:37 1507996109
image.png (37Кб, 1415x198)
1415x198
>>1507856
> пруф
Вот метод, где парсится заголовок сообщения. Как видишь, первым байтом идёт номер пакетов.

>>1507915
Получается тип receiver_t<login_t, chat_t, delta_state_t, etc>
Что не так?
Аноним 28/10/19 Пнд 23:30:01 1507997110
>>1507996
> количество пакетов
Фастфиксобъебался бля
Аноним 28/10/19 Пнд 23:52:59 1508016111
>>1507996
Ага, только у тебя передача батчей, а в стриминге кол-во пакетов заранее не известно - изволь ждать, пока он все отправит, при этом поддерживать health соединения, останавливать отправителя (когда у тебя приемный буфер заполнен), и запускать отправителя(когда читатель буфера все забрал). Еще не забудь пиздатенько организовать двусторонний асинхронный стрим, аутентификацию/авторизацию, реализовать быструю многопоточность, написать ебическую тучу тестов и бенчмарков и бонусом наверни flow control, load balancing, monitoring и грамотный выбор транспортного протокола.

Удачи, братан.
Аноним 28/10/19 Пнд 23:54:10 1508018112
Появилась идея написать программу для взятия производных, да вот не знаю как по грамотному парсить формулы. Может подскажите?
Аноним 28/10/19 Пнд 23:57:49 1508021113
Аноним 29/10/19 Втр 00:12:28 1508028114
>>1508016
Пиздец короче. Когда начнёт тормозить - буду оптимизировать. Сразу это нахуй надо писать.

Спасибо алсо
Аноним 29/10/19 Втр 00:35:40 1508040115
>>1508018
LL(1), метод рекурсивного спуска. Пишется за пару часов.
инб4: полуёбки с яками, бизонами и GLALR(228)-генераторами заранее идут нахуй

>>1508021
Или ты сейчас покажешь нам регексп для разбора вложенных скобок, или ты хуй и говно.
Аноним 29/10/19 Втр 00:41:20 1508043116
>>1508040
Ловите драгонбукоблядь
Аноним 29/10/19 Втр 00:42:41 1508044117
>>1508040
>Или ты сейчас покажешь нам регексп для разбора вложенных скобок, или ты хуй и говно.

Автомат с магазинной памятью. Открытая скобка - пуш в стэк, закрытая скобка - поп из стэка. Если после попа ИКС стэк пуст - конец выражения и скобки сбалансированы, если под конец парсинга выражения стэк не пуст - есть ошибка и скобки не сбалансированы. Если не даун обоссаный, то ты поймешь концепцию + погуглишь для закрепления, дальше дело синтаксиса регекспа конкретного ЯПа.
Аноним 29/10/19 Втр 00:44:17 1508047118
>>1508044
Это не регексп, даунито.
Аноним 29/10/19 Втр 01:18:32 1508064119
>>1507304 (OP)
>vs.jpg
Поясните смысл пикчи.
Если упоминание http://wg21.link/n2520 ещё понятно, но чем http://wg21.link/n2530 заслуживает такого внимания?
И почему road to success лежит мимо концептов?
Аноним 29/10/19 Втр 01:23:41 1508066120
>>1507349
>Это, я так понимаю, не распространено на данный момент?
Да, правило 34 сейчас другое.
Аноним 29/10/19 Втр 01:29:14 1508067121
>>1508018
Не слушай всяких "умников", парси регекспами, как все тру-пацаны.
Аноним 29/10/19 Втр 02:00:20 1508071122
Аноним 29/10/19 Втр 07:24:33 1508106123
qtw.png (5Кб, 1446x37)
1446x37
>>1507919
У креатора статический анализ слегка по другому выделяется.
Аноним 29/10/19 Втр 09:12:10 1508125124
>>1507996
> receiver_t<login_t, chat_t, delta_state_t, etc>
Это ты сам придумал или реально посмотрел?
Аноним 29/10/19 Втр 09:29:26 1508131125
Nvidia-кун, это правда, что вы используете VCPKG?
Аноним 29/10/19 Втр 10:48:48 1508162126
>>1508131
Планируем всю инфраструктуру на него переводить нашу. Пока перевели парочку проектов, о чем и будет доклад на C++ Russia Piter 2019. А так - да, всем всё нравится, всё работает. Конан щупали, оказалось проще допилить версионирование в vcpkg, чем ебаться с конаном.
Аноним 29/10/19 Втр 11:07:58 1508177127
Это просто пиздец, сколько Qt Creator занимает времени на обновление всяких красных подчёркиваний после переименования например.
Аноним 29/10/19 Втр 11:24:09 1508188128
>>1508162
Двачую, откуда у конана такая популярность - хз, говно говном.
Аноним 29/10/19 Втр 12:38:27 1508247129
>>1508162
Ты будешь доклад делать? Алсо, доклад про vcpkg - ебанный стыд, как и вообще его выбор в проектах. Вы хуево провели анализ предметной области
Аноним 29/10/19 Втр 13:23:16 1508293130
>>1508247
> Ты будешь доклад делать
Нет

> Алсо, доклад про vcpkg - ебанный стыд, как и вообще его выбор в проектах
Конечно, ведь тебе то виднее.
Аноним 29/10/19 Втр 13:38:48 1508310131
>>1508293
Во всех компаниях рано или поздно появляется задача выбрать организацию репозитория, систему сборки, настроить ci/cd. Проблемы у всех одинаковые, решения тоже. Так что да, вероятность 100%, что есть те, кому виднее.
Аноним 29/10/19 Втр 13:41:02 1508312132
>>1508310
>рано или поздно
Охуел? Репа это первое, что вообще надо сделать
Аноним 29/10/19 Втр 13:46:41 1508319133
>>1508310
А еще есть куча каргокультистов, которые верят в одинаковые решения, и не думают головой. То, что работает в одном месте, не факт, что заработает в другом, да и вообще не факт, что изначально и в первом месте было оптимально.

Ну и да, программному комитету конфы доклад зашел, его мнение все таки будет более авторитетно.

Аноним 29/10/19 Втр 13:52:43 1508325134
IMG201910291748[...].jpg (336Кб, 1080x1705)
1080x1705
Извините, я вас периодически буду заёбывать в ходе обучения, потому что нужно мнение из 2019 года всё-таки. Это нормальная рекомендация? С одной стороны вроде валидация, а с другой - какой дебил будет передавать енум, которого нет?
Аноним 29/10/19 Втр 13:57:12 1508328135
>>1508312
Обычно сперва хуячат гит, а потом после добавления нескольких либ начинается распутье: монорепо (для серьезных людей) / гит с подмодулями (для олдфагов в опенсорсе) / подтягивание исходников зависимостей билд-системой (современный подход в опенсорсе) / подтягивание бинарников зависимостей билд системой (для конченных, исключение - языки с ir) / линковка на системные либы (для ценителей поедания говна) / самописный франкенштейн из башскриптов(смаке,etc), который совмещает все вышеперечисленное (особая опция для поехавших плюсовиков-велосипедописателей)
Аноним 29/10/19 Втр 13:59:26 1508330136
>>1508325
enum class валидируется за тебя. Так что не очень актуально.
Аноним 29/10/19 Втр 14:01:44 1508333137
Аноним 29/10/19 Втр 14:07:32 1508339138
>>1508319
>Ну и да, программному комитету конфы доклад зашел, его мнение все таки будет более авторитетно.
Ты вообще часто на конфах бываешь? 50% докладов - лютый кал, доклады ради количества, велосипеды, реклама спонсорами конфы самих себя. И всех их пропускает программный комитет.

Плюс поправка на плюсы - это говноедская среда, здесь априори большое количество велосипедистов, ретроградов и прочих городских сумашедших. Среди них я котирую небольшой процент прогрессивных чуваков из комитета, компиляторописателей, суровейших байтоебов и хайлоадщиков. Мнение прикладных манек же чаще всего многого не стоит.
Аноним 29/10/19 Втр 14:15:57 1508347139
>>1508339
А есть причина почему у тебя настолько безумное ЧСВ?
Аноним 29/10/19 Втр 14:26:15 1508358140
>>1508347
Да - мама говорит мне, что я умный. А если серьезно, то это просто здравый смысл и констатация реальности. К сожалению, на конфах довольно редко попадается годнота (в силу того, что чтобы рассказать про годные фишки, фишки должны сперва появиться на свет, а это не быстро) и организаторы конференций ради бабла начинают заполнять слоты посредственным материалом. Вон на джава конфах уже несколько раз было, что Сбербанк&Со сходу выкупают 25% докладов и ставят туда мимокрокодилов с откровенным шлаком. Sad but true. И ты такой ждешь хардкорщину от Шипилева, а получаешь это.
Аноним 29/10/19 Втр 14:32:49 1508365141
>>1508358
я даже спорить не буду, что хуевые доклады есть на каждой конфе. Но, тем не менее, ЧСВ у тебя все равно перебор.
Аноним 29/10/19 Втр 14:54:46 1508375142
Как мне передать лямбду в фунцкцию, если у лямбды в области захвата есть move-only объект?
Прописывание && не помогло.
funkciya(std::function<void(void)> &&callback)

Хочу сделать так.
funkciya([obj = std::move(obj)]() {});

Просто создать такую лямбду могу, но передать - нет.
auto f = [obj = std::move(obj)]() {};
Аноним 29/10/19 Втр 15:25:12 1508404143
>>1508375
предлагаю скушать ложку говна и сделать юник_птр на std::function
Аноним 29/10/19 Втр 15:33:09 1508408144
>>1508404
void funkciya(std::unique_ptr<std::function<void(void)>> callback);

funkciya(std::make_unique<std::function<void(void)>>([obj = std::move(obj)]() {}));

То же самое.
Аноним 29/10/19 Втр 15:35:53 1508410145
Там ещё mutable при лямбде, но это неважно. T.e.

[obj = std::move(obj)]() mutable {};
Аноним 29/10/19 Втр 15:49:55 1508419146
>>1508408
>void funkciya(std::unique_ptr<std::function<void(void)>> callback);
void funkciya(std::unique_ptr<std::function<void(void)>>&& callback);

?
Аноним 29/10/19 Втр 16:01:11 1508424147
>>1508247
Пишу драйвера под винду, используем только инструменты от microsoft. Удобно.
Аноним 29/10/19 Втр 16:03:49 1508427148
index.png (508Кб, 498x456)
498x456
>>1508419
Роботоет. Пока не понимаю, почему здесь нужно &&.
Аноним 29/10/19 Втр 16:09:33 1508432149
>>1508427
если честно, я сам не понимаю.

По идее, make_unique создает rvalue, которое должно проноситьс яв move-конструктор для твоей функции. Хуйня какая-то
Аноним 29/10/19 Втр 16:22:25 1508442150
>>1508432
Сорян, я проебался. Не роботоет. 3абыл сделать тип move-only при последней проверке.
Аноним 29/10/19 Втр 16:32:11 1508451151
В чём проблема с unique_ptr: я не могу создать его так, это еще до передачи в функцию.
auto f_ptr = std::make_unique<std::function<void(void)>>([obj = std::move(obj)]() {});
Аноним 29/10/19 Втр 16:37:30 1508453152
Пока впечатление, что у лямбды нет move конструктора. Я использую C++14.
Аноним 29/10/19 Втр 16:40:27 1508456153
image.png (57Кб, 1157x611)
1157x611
Убийца с++
Аноним 29/10/19 Втр 17:18:47 1508493154
>>1508451
Нахуя ты это делаешь?
Аноним 29/10/19 Втр 17:23:54 1508497155
>>1508493
Мне нужен был колбэк с захваченным move-only объектом. Уже не нужен.
Аноним 29/10/19 Втр 19:31:37 1508605156
1572366673226.jpg (94Кб, 925x720)
925x720
>>1507934
Чел, спасибо. Эти лямбды и вправду экономят кучу времени.
Аноним 29/10/19 Втр 20:16:58 1508635157
Аноним 29/10/19 Втр 20:17:34 1508637158
Аноним 29/10/19 Втр 20:25:42 1508646159
>>1507990
Матан или все же линейная алгебра?
Аноним 29/10/19 Втр 20:38:41 1508654160
>>1508637
Переписал так, что больше не нужно. Хотя я и предпочёл бы, чтобы была такая возможность.
Аноним 29/10/19 Втр 20:52:53 1508671161
Аноним 29/10/19 Втр 20:54:40 1508672162
1572371656290.jpg (17Кб, 400x296)
400x296
Кто нибудь пользовался QTableWidget-ом? Как мне обновлять данные внутри моего контейнера при вводе значений внутрь ячеек таблицы? По какому сигналу это делать? Пробовал cellChanged, но этот сигнал испускается вообще при любом изменении, хоть ты кликни на другую ячейку.
Аноним 29/10/19 Втр 21:06:34 1508684163
>>1508672
Бери QTableView, связывай с моделью.
Аноним 29/10/19 Втр 21:08:10 1508686164
>>1508684
А с виджетом совсем никак, да? Чем принципиально вью отличается?
Аноним 29/10/19 Втр 21:09:28 1508688165
>>1508686
Тем, что в widget идёт встроенная примитивная модель, тогда как для view ты должен реализовать свою
Аноним 29/10/19 Втр 21:12:17 1508692166
image.png (323Кб, 800x349)
800x349
Аноним 29/10/19 Втр 21:22:03 1508703167
Аноним 29/10/19 Втр 21:34:01 1508707168
Сап, двощ, начал писать хуитку на Qt и после очередного билда она... перестала, блядь, отображаться. Стартует нормально, памяти жрёт как и до этого, уже обмазал всё принтами — всё работает как часы, но ебаное окно не отображается. Кто нибудь сталкивался? В гугле нихуя нет.
Аноним 29/10/19 Втр 21:36:44 1508708169
>>1508707
Чисти, Перезагружай QtCreator, Билдь у тебя жопаqmakeотвалился.
Аноним 29/10/19 Втр 21:36:52 1508710170
>>1508707
У тебя Qt нелицензионный, он работает только с 8:00 до 20:00. Зарегать надо
Аноним 29/10/19 Втр 21:37:36 1508711171
>>1508707
>все принтами обложил
Говорят нормальные люди так не делают
Аноним 29/10/19 Втр 21:39:57 1508712172
Аноним 29/10/19 Втр 21:51:39 1508724173
Аноним 29/10/19 Втр 22:05:00 1508733174
>>1508707
Я сталкивался с похожей проблемой, память под временные переменные выделялась на уже заранее выделенную для строковых констант, из-за чего я ловил рантайм ошибку и вылет при попытке как-то эти переменные модифицировать, причем стабильно, даже после изменения/удаления этих констант.
Помогла полная пересборка проекта, ошибка ушла - попробуй сделать это же.

Вообще Qt странный какой-то у меня был. После того, как я в дизайнере и в коде удалял элемент, он не удалялся из какого-то файла вне проекта и я не мог скомпилить его. Это фича такая?
Аноним 29/10/19 Втр 22:12:39 1508742175
>>1508688
И чем вью тогда лучше в моем случае? Я смогу, например, засунуть указатель на параметр объекта в ячейку таблицы вью? И менять этот параметр напрямую без посредников?
Аноним 29/10/19 Втр 22:18:24 1508753176
>>1507780
Не слушай уёбка. Он может тормозить, если 20 потоков жонглируют ими туда-сюда (ну а тут как без атомарного счётчика?) или если 20 потоков херачат в память близко к контрольной структуре. Бывает, не повезло, наверное, то я такого в реальном коде не встречал. Можно пользовать intrusive, тогда с одной стороны памяти его прикрывает объект и вероятность того что не связанные никоим боком его тормозить будут снижаются. Но make_shared то же самое делает, так что пользуй его когда возможно (но помни про weak_ptr тогда) и будь что будет.
Можешь, конечно навернуть свой шаред без атомарного счётчика, если упорот и потом удачи в дебаге когда он таки начнёт использоваться в несколько потоков.
Аноним 29/10/19 Втр 22:25:18 1508758177
>>1507703
Основной - в том что при изменении мемберов приватной функции не надо будет перекомпилировать всё, что включает этот хедер. Вот есть у тебя какой-нибудь класс, который пользуют в половине мест проекта (не обязательно god-object, может просто какой-то глобальный список херней которые твоя программа пользует), ты в него bool добавил и привет, всё пересобирать, а в больших проектах это запросто час.
Ну и кококо типа сокрытие имплементации.
Аноним 29/10/19 Втр 22:29:16 1508762178
>>1508758
Расплата в том что ты лишний раз память выделяешь.
То есть это идельно подходит для синглтонов и рядом. То, объектов чего в проекте мало, но что весь проект включает как хедер.
Аноним 29/10/19 Втр 22:33:58 1508769179
>>1508672
cell changed разве роль не передаёт? А вообще да, быстрее написать свою модель на 50 строк, чем дрочить готовую
Аноним 29/10/19 Втр 22:35:24 1508772180
>>1508028
Когда начнёт тормозить будет поздно переходить на что-то другое.
Вообще правило, которое я познал платя кровавыми соплями - если для этого есть библиотека, пользуй её.
Если переживаешь что придётся от неё отказаться - наверни вокруг интерфейс. 1 к 10 что на ней и останешься. А с велосипедом 10 к 1 что придётся допиливать и херачить то, что уже есть в библиотеках, блжад.
Аноним 29/10/19 Втр 22:46:58 1508778181
>>1508769
Он передает row и column, судя по описанию. Что за роль то?
Аноним 29/10/19 Втр 22:50:52 1508783182
>>1508708
>>1508710
>>1508712
Хорошая клоунада, посоны.
>>1508711
А я вот, как макака ебаная, люблю так дебажить.
>>1508733
https://bugreports.qt.io/browse/QTBUG-71965
Это именно баг, причём ему уже, блядь, год. ГОД СУКА! Всем похуй.
И в отличие от чела в этом реквесте, у меня наоборот проект не отображается без .ui файла, лол. И да — qmake скрипты билдят всё правильно, а вот cmake работают только в релизной сборке.
Люблю Qt, ахуенная вещь.
Аноним 29/10/19 Втр 22:55:01 1508788183
>>1508778
Так если у тебя есть row и column, ты же можешь в обработчике этого сигнала написать что-то вроде
[code]QString text = tableWidget->item(row,column)->text();[/code]
Про роли лучше документацию почитай, у модели есть метод data, который в зависимости от роли возвращает разные хуёвины - данные, цвет, размер и т.п. Полагаю, для установки данных это тоже работает (но я не знаю)
Аноним 29/10/19 Втр 22:59:07 1508795184
>>1508788
А, жопой читаю, у тебя проблема в том, что сигнал посылается на любой чих.
Есть вариант этого метода с ModelIndex, у него можно роль спросить
Аноним 29/10/19 Втр 22:59:32 1508797185
>>1508788
Проблем с самой записью данных то у меня нет. Проблема в том, что cellChanged испускается при любом пуке, а не только при изменении содержимого ячейки. Буквально вот нажимаешь на любую ячейку таблицы, и испускается этот сигнал.
Аноним 29/10/19 Втр 23:05:12 1508801186
>>1508797
Бля напиши лучше модель, там гайд на три минуты
Аноним 29/10/19 Втр 23:06:49 1508803187
>>1508795
Метода? Мне бы сигнал. Иначе как я буду обновлять данные в модели, по какому событию? Мне надо, чтобы я вводил значение в ячейку, нажимал Enter или просто в сторону куда нибудь мышкой, и после этого испускался бы сигнал. Наверно придется свой сигнал пилить, готового решения тут не вижу.
Аноним 29/10/19 Втр 23:12:08 1508806188
>>1508803
Пиши модель, серьёзно.
Аноним 29/10/19 Втр 23:16:12 1508807189
>>1508806
Модель-вью? Я вроде в начале начал с нее, но что то там не получилось у меня, а потом я нашел qtablewidget и стал его юзать, т.к. быстрее.
В модель-вью какие принципы вообще? Вот есть у меня контейнер, я могу его уже юзать, как модель, или ебаться придется?
Аноним 30/10/19 Срд 00:13:32 1508829190
>>1508783
Самое интересное, что у меня этот баг был в конце 2017 года, то есть это тянется уже долго, раз до сих пор не починили.

Везде свои косяки есть, видимо. Студия у меня дома 2017 и поддерживает прекрасно 17 стандарт, а на работе студия 2019 и половину хедеров нормально не поддерживает + асан нельзя поставить.
Аноним 30/10/19 Срд 00:34:23 1508846191
>>1508829
>раз до сих пор не починили
Ты в багтикет-то глянь
>Status: CLOSED
и не починят.
Аноним 30/10/19 Срд 03:16:42 1508866192
>>1508829
>работе студия 2019
работаете бета-тестерами у майкрософт? :P

Аноним 30/10/19 Срд 09:29:28 1508934193
>>1508783
В смысле клоунада, пидор?
Qmake имеет место отваливаться.
Аноним 30/10/19 Срд 09:41:25 1508938194
>>1508866
Нет, я анон-pl/sqlщик, установил на рабочий комп новую студию из интереса для практики в свободное время.
Они ещё в ней выкатили новую подсветку синтаксиса(и вроде как к старой не вернуться) - крайне непривычно.
Аноним 30/10/19 Срд 11:26:45 1508987195
Хочу вкатиться в qt, чтобы сделать сапер. Что почитать?
30/10/19 Срд 11:39:03 1508993196
Аноним 30/10/19 Срд 11:53:02 1508998197
Аноним 30/10/19 Срд 13:12:28 1509029198
>>1508934
Особенно учитывая, что я цмейком собираю.
Вот, блядь, ебусь с этой хуйней 4 часа и не догадался очистить проект. Спосибо онон.
Аноним 30/10/19 Срд 13:34:26 1509047199
>>1508646
И матан, и линейная алгебра, и аналитическая геометрия, и физика, и все, что угодно даже Аллах
Если ты не матаношизик, то в геймдев лучше не соваться.
Аноним 30/10/19 Срд 13:38:50 1509050200
изображение.png (136Кб, 1366x768)
1366x768
Че за хуйня?
Аноним 30/10/19 Срд 13:58:01 1509058201
>>1508987
Молитву какую-нибудь
Аноним 30/10/19 Срд 14:08:09 1509070202
>>1509047
Смотря геймдев каких именно игр подразумевается.
Если у него цель писать убийцу Кризиса, то да, без глубокого (как впадина мамки хейтера крестов) матана здесь никуда. Но если ориентироваться на какую-нибудь хуйню по типу карточных игр и квестов, то там его немногим больше, чем в разработке обычного софта
Аноним 30/10/19 Срд 14:12:49 1509076203
Да и с появлением штук вроде Юнити/Анриала, просчитывающих за тебя вообще все, вплоть до момента когда ты с в следующий раз жидко обосрешься, и позволяющих нахуярить игру кликами мышкой, требования к скилу и временные затраты для написания более-менее серьезного продукта значительно снизились
Аноним 30/10/19 Срд 14:15:17 1509080204
>>1508125
Браток, почитай про темплейты, прежде, чем комментировать код, который их использует.
Аноним 30/10/19 Срд 14:41:54 1509103205
>>1509050
Проблема в вижуал студио. Ей не рекомендуется пользоваться, если только насильно не заставляют
Аноним 30/10/19 Срд 14:43:09 1509105206
>>1509103
Что тогда?
Самое смешное, что я когда то давно испольщовал все эти функции. Почему оно отвалилось)))
Аноним 30/10/19 Срд 14:45:33 1509109207
>>1509105
Что угодно. Если есть выбор, я бы порекомендовал sublime text или clion + cmake ninja + clang
Аноним 30/10/19 Срд 14:59:54 1509116208
>>1509109
Охуенные советы


Самая удобная на данный момент IDE для плюсов - это QtCreator. Ни эклипс, ни CLion, ни, прости г-споди, sublime text не подходят для комфортной и быстрой разработки.
Аноним 30/10/19 Срд 15:01:53 1509117209
.png (28Кб, 597x651)
597x651
Всё правильно выбрал? Почему так много весит?
Аноним 30/10/19 Срд 15:02:56 1509118210
>>1509116
Ммм, как там с рефакторингом в qtcreator, маня? Заебали сектанты уже
Аноним 30/10/19 Срд 15:03:43 1509119211
>>1509116
>для комфортной и быстрой разработки
Кресты не для этого
Аноним 30/10/19 Срд 15:03:52 1509120212
>>1509118
Хорошо всё с рефакторингом. Если ты о чём-то конкретном - то уточни.
Аноним 30/10/19 Срд 15:06:36 1509121213
>>1509117
Эксперты, хватит сраться, подскажите. Сейчас стоит clion с mingw, хочу сделать простенькую читалку манги на qt, с интерфейсом как у родных приложений винды, то есть uwp
Аноним 30/10/19 Срд 15:11:59 1509125214
Продолжаю мучать лямбады

Почему если тело содержит что-то отличное от одного return-statement-a, (даже если он есть, но присутствуют еще какие-либо другие стейтменты) инферится именно void? Почему бы компилеру даже при наличии нескольких стейтментов не выводить тип из return-a так же (и только в случае его отсутствия делать void)?
Аноним 30/10/19 Срд 15:15:30 1509127215
>>1509125
У тебя устаревшая инфа, всё выводится, даже с несколькими return.
Аноним 30/10/19 Срд 15:15:37 1509128216
>>1509125
Мне вот кажется, что указывать возвращаемый тип стоит всегда, если это не void.
Аноним 30/10/19 Срд 15:16:54 1509130217
>>1509127
Я смотрю за 11 стандарт
Аноним 30/10/19 Срд 15:17:43 1509132218
>>1509130
А сейчас 17, так что твой вопрос не актуален.
Аноним 30/10/19 Срд 15:33:36 1509144219
Почему питон такой медленный? Ради интереса написал абсолютно идентичную программу на крестах и питоне и оказалось, что в какой то момент питон очееень отстает. Бывало, что на отработку программы на плюсах уходило 2.7 секунд, а на питоне 15. При некоторых питон вообще за 40 секунд не справлялся и я выключал, хотя плбсы все посчитали секунд за 7
Аноним 30/10/19 Срд 15:39:19 1509146220
>>1509132
Еще как актуален, в моей конторе 15 век, и все только 11 используют.

Как бы там не было, вывод работает и в 11, видать Липмап опять обосрался
Аноним 30/10/19 Срд 15:42:56 1509150221
Аноним 30/10/19 Срд 15:48:29 1509153222
>>1509146
Нет, в 11 не работает.
Аноним 30/10/19 Срд 15:51:29 1509154223
>>1509144
Лолблядь, мб потому, что кресты - компилируемый язык (все компилируется в бинарник, который представляет собой нули и единицы, которые неподсредственно может исполнять процессор), а пиздон - интерпретируемый, налету вся программа интерпретирует твой говнокод в нули и единицы и скармливает процу, снимая налету хуеву тучу абстракций, тратя на это дохуя времени.
Аноним 30/10/19 Срд 15:53:36 1509156224
>>1509153
Нет, в 11 работает.
Также как и дефолтные агрументы
Я специально загрузил линукс и написал g++ -std=c++11
Аноним 30/10/19 Срд 16:02:21 1509160225
>>1509154
Как его тогда в яндексе используют? Там же нужно что бы все быстро работало, что бы люди не ждали поиска по несколько секунд
Аноним 30/10/19 Срд 16:02:49 1509161226
>>1509117
>Почему так много весит?
Сырцы. И все что после них тебе тоже очень вряд ли пригодится.
Аноним 30/10/19 Срд 16:14:45 1509171227
>>1509160
Его используют в тех программных компонентах, где скорость не особо нужна, это же очевидно.
Аноним 30/10/19 Срд 16:40:28 1509188228
>>1509144
Нужен быстрый скриптовый язык - используй nodejs или luascript. Питон быстрый только со специализированными библиотеками вроде NumPy и строго для определенных задач.
Аноним 30/10/19 Срд 16:40:56 1509189229
>>1509188
>luascript
LuaJIT конечно же, опечатался.
Аноним 30/10/19 Срд 16:43:19 1509190230
>>1509121
>с интерфейсом как у родных приложений винды, то есть uwp
Ты такой интерфейс быстрее на QtQuick сделаешь. Тем более, что Qt под UWP именно это и делает, эмулирует отрисовку UWP через свои средства.
Аноним 30/10/19 Срд 18:06:51 1509240231
Скачал qt, открыл один из демонстрационных проектов, простейшие часы, и охуел от количества кода, больше тысячи строк. Неужели так везде? Еще и ide выглядит неудобным в сравнении с clion, подсказки так себе.
Аноним 30/10/19 Срд 18:12:34 1509251232
>>1509240
>подсказки
Ты школьник?
Аноним 30/10/19 Срд 20:31:19 1509348233
>>1509116
Ага, как там у него с шаблонными параметрами, а?
Стоит только написать template<typename T> и всё, идёшь нахуй и пишешь код в обычно блокноте
Аноним 30/10/19 Срд 20:36:14 1509352234
>>1509348
Без использования концептов, любой code completer будет сосать бибу на шаблонах
Аноним 30/10/19 Срд 20:45:21 1509361235
>>1509352
В вижуалке можно указать тип и наслаждаться 2к19 кодом
Аноним 30/10/19 Срд 23:07:27 1509448236
Шаблоны для педиков
Аноним 30/10/19 Срд 23:46:21 1509463237
Я вот хотел написать программу для нахождения первообразных, но чет посидел, подумал и решил, что это несколько сложнее чем я думал. Скажите, реально ли такое написать, что до этого я не писал ничего сколько нибудь похожего?
Аноним 31/10/19 Чтв 01:07:54 1509498238
>>1509361
Что ты имеешь в виду?
Аноним 31/10/19 Чтв 01:28:40 1509522239
>>1509448
А что нет? Сырые указатели? Кстати у нас, почтенных крестовиков, гомофобия не приветствуется.
Аноним 31/10/19 Чтв 01:30:27 1509524240
>>1509522
Толковые указатели.
Аноним 31/10/19 Чтв 03:21:23 1509550241
>>1509524
А auto_ptr из толковых или из жуликов?
Аноним 31/10/19 Чтв 06:49:33 1509562242
>>1509463
В смысле аналитически получать первообразные произвольных функций? Ты в курсе вообще, что от большинства функций интеграл в элементарных функциях не выражается?
Аноним 31/10/19 Чтв 07:37:11 1509564243
>>1509116
Отвал башки qmake и тормоза уже пофиксили ?
Аноним 31/10/19 Чтв 07:43:58 1509566244
Аноним 31/10/19 Чтв 08:14:35 1509574245
>>1509498
То он и имеет в виду, я вот сразу понял.
Специализируешь тип для шаблона, ну.
Аноним 31/10/19 Чтв 08:18:22 1509575246
B8604AD6-6457-4[...].png (2288Кб, 828x1792)
828x1792
Итак, аноны, я сейчас выезжаю на пикрил. Кого-нибудь из Мурино подвезти?

>>1507383-кун
Аноним 31/10/19 Чтв 09:01:06 1509587247
Аноним 31/10/19 Чтв 11:35:27 1509650248
>>1509575
Да, оставляй контакты.
Аноним 31/10/19 Чтв 11:53:49 1509661249
1C9F8455-9F8B-4[...].jpeg (1120Кб, 4032x1072)
4032x1072
>>1509650
Так всё уже, началось мероприятие
Алсо, подскажите нахуя тут __pad
Аноним 31/10/19 Чтв 12:03:49 1509667250
Аноним 31/10/19 Чтв 12:13:07 1509677251
Аноним 31/10/19 Чтв 12:19:28 1509683252
>>1509574
Че за детский сад, так любой auto completer может. Я-то думал, в студии можно атрибуты какие-то навесить. Мде
Аноним 31/10/19 Чтв 12:22:04 1509685253
Аноним 31/10/19 Чтв 12:25:22 1509687254
>>1509685
Очевидно, те, что на кланге работают, также в эклипсе, помню, это работало, в clion есть
Аноним 31/10/19 Чтв 12:28:00 1509688255
1. Безопасно ли вызывать у вектора clear() после std::move и использовать его снова?

2. С точки зрения баланса между производительностью и читаемостью что лучше:

void c(Vector &&arg) {
...
}

void b(Vector &arg) {
c(std::move(arg));
arg.clear();
}

void a() {
Vector v;
b(v);
}

ИЛИ

void c(Vector &&arg) {
// ...
}

void b(Vector &&arg) {
g(std::move(arg));
}

void a() {
Vector v;
b(std::move(v));
v.clear()
}

?
Аноним 31/10/19 Чтв 12:29:31 1509690256
>>1509688
> g(std::move(arg));
c(std::move(arg));
Аноним 31/10/19 Чтв 12:31:32 1509691257
>>1509688
Если нужна копия, передавай по значению и перемещай. В метод этот тоже перемещай.
Аноним 31/10/19 Чтв 12:34:41 1509694258
>>1509688
>2. С точки зрения баланса между производительностью и читаемостью что лучше:
Лучше, когда есть бенчмарк и ты не страдаешь преждевременной оптимизацией. Читабельность важнее
Аноним 31/10/19 Чтв 12:36:29 1509695259
>>1509691
>>1509694
Что в примере главное: нужен move, вектор из move-only объектов, методы вложены. Там что-то ещё происходит, для простоты обозначена только передача вектора. Вопрос в том, передавать ли по ссылке во внешнем методе или делать вложенные move?
Аноним 31/10/19 Чтв 14:13:12 1509781260
>>1509550
auto_prt - deprecated прямо как кодерки после 30ти, хе хе
Аноним 31/10/19 Чтв 14:42:11 1509810261
>>1509688
имхо, std::move нужно пользоваться с крайней осторожностью, по сути своей, это грязненький хак, прячущий под собой прямое приведение типа
вот когда ты в коде видишь каст, ты настораживаешься, а тут вроде как функция и все окей.. это не так..
на самом деле std::move по настоящему нужен, наверное, для единственной цели - а именно передать дальше по цепочке вызовов r-value ссылку..
а делать так как ты делаешь - а именно передавать l-value объект через r-value ссылку (по видимому пытаясь что-то там "оптимизировать") через использование std::move, это плохой путь..

Аноним 31/10/19 Чтв 14:44:44 1509813262
>>1509810
вообще, понять механизм работы (и для чего они, собственно нужны) очень легко, если заглянуть в любую из реализаций stl
там std::move используется для того чтобы передавать дальше r-value ссылку (те они "восстанавливают" ее и дальше передают)
а std::forvard используется для того чтобы передавать дальше по цепочке вызовов универсальную ссылку..

Аноним 31/10/19 Чтв 14:46:26 1509815263
Аноним 31/10/19 Чтв 15:07:16 1509824264
Лол, чуви, который про llvm рассказывал, тролльнул в конце про rust.
Аноним 31/10/19 Чтв 15:17:14 1509827265
>>1509810
У меня move-only тип, как я его еще передам-то?
Вопрос не в этом, а в том, какой из двух стульев выбрать: передача по ссылке и дальше move или два вложенных move.
Первый навскидку оптимизированнее, но не факт, что компилятор не соптимизирует вложенные move во втором случае, чтобы достичь производительности первого. Первый хуже читаем, передаешь ссылку, а внутри происходит move. Во втором сразу видно, что move.
Аноним 31/10/19 Чтв 15:20:14 1509830266
>>1509813
std::forward мне не нравится как раз тем, что он скрывает, что передается.
Аноним 31/10/19 Чтв 15:28:42 1509833267
>>1509827
у тебя вектор v - lvalue
при помощи std::move ты всего лишь делаешь на него r-value ссылку
это изначально неправильное решение, рано или позно приводящее к проблемам
что тут обсуждать еще? оба варианта, что у тебя - неправильные
Аноним 31/10/19 Чтв 15:31:50 1509836268
>>1509827
>У меня move-only тип, как я его еще передам-то?
а, понятно
мда
то что у тебя move-only тип, никак не мешает его передавать по ссылке, r-value ссылке, по универсальной ссылке
проблемы будут при передаче по значению..



Аноним 31/10/19 Чтв 15:32:22 1509837269
>>1509833
Я знаю, что делаю. При помощи std::move я вызываю move-конструктор, потому что констуктор копирования отсутствует у move-only типов. Представь, что у тебя вектор из unique_ptr.
Аноним 31/10/19 Чтв 15:33:18 1509838270
>>1509836
через указатель можешь его еще передавать..

Аноним 31/10/19 Чтв 15:33:20 1509840271
>>1509836
Мне нужно передать его владение внутрь вложенного метода. И есть два стула как.
Аноним 31/10/19 Чтв 15:35:35 1509845272
>>1509837
>При помощи std::move я вызываю move-конструктор
move ничего не делает, кроме одного достаточно грязного каста
и все

Аноним 31/10/19 Чтв 15:36:29 1509848273
Аноним 31/10/19 Чтв 15:36:50 1509849274
>>1509813
Задроты ебаные
Сидят тут STL дизассемблят смотрят как работает чтобы понять как соптимизировать так чтобы работало на наносекунду быстрее
В то время как js-макаки хуяря пяткой говноскрипты зашибают 200к+
Аноним 31/10/19 Чтв 15:43:26 1509858275
>>1509848
да, согласен, нужно заканчивать дисскуссию

// FUNCTION TEMPLATE move
template<class _Ty>
_NODISCARD constexpr remove_reference_t<_Ty>&&
move(_Ty&& _Arg) noexcept
{ // forward _Arg as movable
return (static_cast<remove_reference_t<_Ty>&&>(_Arg));
}
Аноним 31/10/19 Чтв 15:47:31 1509862276
>>1509858
Какой же ты зануда, и ладно ещё если бы я написал, что move вызывает что-то.
> При помощи std::move я вызываю move-конструктор
Но ведь нет, пока только ты в глаза ебёшься.
Аноним 31/10/19 Чтв 15:53:51 1509869277
7D46A2FC-7E23-4[...].jpeg (2430Кб, 4032x3024)
4032x3024
Итак, небольшая экскурсия
Встречает нас пикрил инсталляция, которую каждый может дополнить. В принципе прикольно
Аноним 31/10/19 Чтв 15:56:25 1509871278
68AC895F-B0C3-4[...].jpeg (2934Кб, 4032x3024)
4032x3024
>>1509869
Сразу после него стоит стойка интела. Рассказывают про свои охуенные инструменты разработки и компилятор. Я не понял, чем он лучше clang’а и gcc.
Аноним 31/10/19 Чтв 15:58:21 1509873279
7FFC7957-CE6F-4[...].jpeg (2552Кб, 4032x3024)
4032x3024
>>1509871
Дальше - какой-то офис. По их словам - они делают клон M$ офиса. Успехов им не скатиться в говно по типу опенофиса.
Аноним 31/10/19 Чтв 16:00:03 1509875280
C20E7678-C86F-4[...].jpeg (2496Кб, 4032x3024)
4032x3024
>>1509873
Потом вот эти чуваки, про которых мы все знаем благодаря хабру, на котором лично меня они заебали своим присутствием уже довольно давно.
Аноним 31/10/19 Чтв 16:02:47 1509876281
6B779522-D3F9-4[...].jpeg (2378Кб, 4032x3024)
4032x3024
>>1509875
Эта контора не помню, чем занимается. Но она тут тоже есть
Аноним 31/10/19 Чтв 16:04:31 1509877282
A1F4BC12-7143-4[...].jpeg (2536Кб, 4032x3024)
4032x3024
>>1509876
Эти ребята занимаются автоматической генерацией презентаций. На стойке стоит какой-то лютый омеган. Мармелад очень кислый.
Аноним 31/10/19 Чтв 16:07:04 1509881283
BBBCE657-2DC5-4[...].jpeg (2120Кб, 4032x3024)
4032x3024
>>1509877
Вот эта стойка мне нравится больше всего. Такая-то няша за ней сидит. Занимаются высокочастотным трейдингом и квадрокоптерами. Листочик с тестами какой-то ебейший, хуй вы его решите.
Аноним 31/10/19 Чтв 16:08:37 1509882284
3CB20E4E-5A45-4[...].jpeg (1901Кб, 4032x3024)
4032x3024
>>1509881
Всем известный инкредибилд, который лютейше жрёт память и цпу даже когда нихуем не занимается.
Аноним 31/10/19 Чтв 16:10:49 1509884285
1F72F93F-90FC-4[...].jpeg (2489Кб, 4032x3024)
4032x3024
>>1509882
Какая-то нонейм контора. Говорят что оптимизируют эклипс, закрывают исходники и продают. Не знаю, какие дебилы на это поведутся.
Аноним 31/10/19 Чтв 16:11:09 1509885286
>>1509869
Че там пожрать давали?
Аноним 31/10/19 Чтв 16:11:52 1509886287
AE971138-0EB3-4[...].jpeg (2304Кб, 4032x3024)
4032x3024
>>1509884
Таааак.... Что это тут у нас?

Да это же ПЕТУШИНЫЙ УГОЛ!
Аноним 31/10/19 Чтв 16:12:15 1509887288
>>1509885
Вангую, ничего. Надо было свой контейнер собирать.
Аноним 31/10/19 Чтв 16:15:18 1509889289
Аноним 31/10/19 Чтв 16:23:22 1509893290
Уёба!!! Переворачивай фотки перед тем как выложить! У меня шея болит
Аноним 31/10/19 Чтв 16:27:14 1509897291
>>1509893
> я не умею переворачивать монитор за О(1)
Аноним 31/10/19 Чтв 16:27:22 1509898292
>>1509893
Айфон показывает перевёрнутыми, это макаба виновата
Аноним 31/10/19 Чтв 16:55:29 1509914293
Аноним 31/10/19 Чтв 16:58:06 1509917294
>>1509914
Ты там работаешь что ли? Давай суп запилим
Аноним 31/10/19 Чтв 16:59:56 1509918295
Аноним 31/10/19 Чтв 17:15:27 1509937296
>>1509575
О, я сейчас там. Набью тебе ебальник, за то что ты уже третий тред срешь своими нубскими вопросами и пропагандируешь плохие практики программирования. Тебе уже сто раз сука сказали что и как делать.
Аноним 31/10/19 Чтв 17:33:07 1509950297
>>1509937
Выходи в курилку и громко кричи АРПЕДЖИО!!111, чтобы я сам тебя нашёл
Аноним 31/10/19 Чтв 17:35:29 1509953298
>>1509950
Бля, ты еще и куришь. По какой-то причине в коллективе, где есть часть плюсовиков, часть джавистов etc, курят только плюсовики
Аноним 31/10/19 Чтв 17:37:21 1509954299
>>1509953
Потому что джависты - унылые пидоры.

Алсо, что делать на таких конференциях? Не лекции же слушать.
Аноним 31/10/19 Чтв 17:38:04 1509955300
>>1509954
Я вообще не хожу туда, только на ютубе смотрю со скоростью 1.5 и промоткой
Аноним 31/10/19 Чтв 17:38:37 1509956301
лошолш
Аноним 31/10/19 Чтв 17:38:47 1509957302
>>1509954
можно дрочить друг другу в туалете через дырку в кабинке
Аноним 31/10/19 Чтв 17:41:31 1509959303
>>1509954
ну хз, джава-типчики, которых я видел, самые веселые и жизнерадостные - что на работе, что на конфах. А плюсовики чаще всего чсвшные нервные задроты, которые бегают в курилки купировать никотином баттхерт от говноcpp
Аноним 31/10/19 Чтв 17:41:48 1509960304
>>1509937
И вообще не пизди. Мне сегодня позвонили, сказали что у меня хороший код и пригласили на собеседование. Вот так.
Аноним 31/10/19 Чтв 17:42:33 1509961305
>>1509957
Была бы это джава конфа...
Аноним 31/10/19 Чтв 17:49:09 1509963306
>>1507749
Уже 5-й день жду ответа, ничего нету от обеих компаний. Можно считать что я не прошел и начинать рассылать резюме в другие фирмы? Хоть бы написали что я не подхожу, заебался ждать уже хоть чего-то
Аноним 31/10/19 Чтв 17:50:01 1509965307
>>1509963
Так сам с ними свяжись дебил блять омеган хуила
Аноним 31/10/19 Чтв 17:50:07 1509967308
>>1509963
вызванивай их, че ты как баба
Аноним 31/10/19 Чтв 17:50:43 1509968309
>>1509965
Бля на сайтах пишут что лучше не заебывать компании, мол у них и так много работы а назойливость лишней будет. Сколько средний срок ожидания ответа на резюме? Когда можно начинать заебывать их?
Аноним 31/10/19 Чтв 17:50:44 1509969310
Аноним 31/10/19 Чтв 17:51:48 1509970311
>>1509968
Если они сказали, что свяжутся в течение N дней, N дней прошло и они не связались - то можно
Аноним 31/10/19 Чтв 17:52:24 1509972312
Аноним 31/10/19 Чтв 17:52:36 1509973313
>>1509970
Вакансия на сайте для вакансий висит, сказано
>если вы подходите под наши требования то ожидаем вашего резюме на почту
Больше ничего
Аноним 31/10/19 Чтв 17:52:59 1509974314
Аноним 31/10/19 Чтв 17:53:52 1509975315
>>1509973
Так тебя на собес даже не позвали, лол
Тогда отсылай резюме дальше, 2 компании это оче мало
Аноним 31/10/19 Чтв 17:56:19 1509977316
>>1509937
А где ты живёшь? Если на севере - могу подвезти, а ты заодно будешь рассказывать мне про охуительные практики программирования
Аноним 31/10/19 Чтв 17:57:02 1509978317
>>1509975
Понятное дело не позвали, стал бы я спрашивать тут советов стоит ли идти на собес или нет. Ладно, спасибо анончики, попробую еще порассылать.
Аноним 31/10/19 Чтв 18:03:34 1509981318
>>1509950
Ну и хули ты не кричишь? Я в курилке, подходи сюда быстрее
Аноним 31/10/19 Чтв 18:08:09 1509982319
Пиздец какие социофобы тут сидят, встретиться боятся
Аноним 31/10/19 Чтв 18:10:18 1509983320
placeholder.jpg (382Кб, 2048x1152)
2048x1152
>>1509981
>>1509937
>>1509950
А сейчас мы можем наблюдать схватку самцов CPP в дикой природе. Так они выясняют свое место в иерархии
Аноним 31/10/19 Чтв 18:13:27 1509988321
>>1509983
Доминирование без спецификатора virtual.
Аноним 31/10/19 Чтв 18:23:10 1509994322
>>1509982
Жду тебя за гаражами хуесос
Аноним 31/10/19 Чтв 18:25:12 1509996323
Аноним 31/10/19 Чтв 18:33:29 1510002324
Аноним 31/10/19 Чтв 18:42:12 1510012325
>>1509869
3я колонка с конца - это размер члена? а если ты тян?

Аноним 31/10/19 Чтв 18:42:31 1510013326
Снимок экрана 2[...].png (269Кб, 2288x1086)
2288x1086
Пиздец блять, хоть я и троллил, когда писал, что юзать vcpkg - это несерьезно, но бля, после чтения слайдов я уже вполне серьезно в ахуе с вас, ребята. Вы получаете 450к в nvidia, что, трудно было за это бабло нормально поресерчить про системы сборки? Как можно было не найти эпичнейшие доклады и статьи от google про организацию репозиториев? Просто пиздец, это же вершина достижений dev tools в данный момент. Из-за того, что разработка была закрытая, twitter и facebook просто с нуля написали тоже самое для себя, настолько инфра гугла была (и есть) охуенной.

Первые 12 слайдов презентации просто кричат о том, что "старшие разработчики NVIDIA" поступили как заправские джуны - зашли в первые 3 ссылки в гугле, нашли красивую статистику от jetbrains и навелосипедили франкеншейна из говна и палок (а точнее из cmake и vcpkg). Погуглить академические статьи от серьезных ребят? Неее, нахуй надо, лучше почитаем срачики на reddit. Типичные плюсовики-велосипедисты.

Можете полюбоваться - https://github.com/Starl1ght/piter2019

Аноним 31/10/19 Чтв 18:44:14 1510014327
>>1509996
А ты включил clang code completer? Там же их два есть - старый и новый. По крайней мере раньше было
Аноним 31/10/19 Чтв 18:50:02 1510019328
B9B609C7-EE19-4[...].jpeg (546Кб, 828x1097)
828x1097
Яндекс такси хардкодит sizeof и alignof
Аноним 31/10/19 Чтв 19:13:44 1510031329
>>1509898
>Айфон показывает перевёрнутыми, это макаба виновата
Абу, блядь, фикси
Аноним 31/10/19 Чтв 19:19:27 1510041330
Аноним 31/10/19 Чтв 19:24:05 1510047331
>>1510014
В последних версиях clang code model по умолчанию включена
Аноним 31/10/19 Чтв 19:32:56 1510051332
.jpg (150Кб, 1920x1080)
1920x1080
>>1509881
Возьми номерок, кажется я нашел свой идеал.
Аноним 31/10/19 Чтв 19:35:01 1510056333
>>1510019
Снова этот косплеер жобса
Аноним 31/10/19 Чтв 19:35:12 1510057334
Бля, пиво привезли, а я за рулём.....(((((
Аноним 31/10/19 Чтв 19:44:50 1510085335
>>1509996
>>1509687
хуя, был не прав, в qtcreator и clion не работает.
Аноним 31/10/19 Чтв 20:38:46 1510178336
>>1510051
-Здраствуйте, девушка, меня тут человек с анонимного форума просит взять ваши контакты
-Хуебляди не нужны
Аноним 31/10/19 Чтв 21:02:19 1510193337
>>1507156
Вот тебе правда это все говно из шаблонов так нужно? Ты не мог сделать проще?
Аноним 31/10/19 Чтв 21:28:22 1510223338
Посоны, пилил кто-нибудь плагины к QtDesigner, конкретно -- custom widgets?
Ситуация: делаю виджет, у него есть текстовое свойство (QString). В дизайнере в редакторе свойств его можно редактировать только как "короткую строку", т.е. нету кнопочки "..." по которой открывался бы диалог с возможностью многострочного редактирования. Если переименовываю свойство в "html" (по смыслу не подходит, просто экспериментирую) -- кнопка появляется, т.е. будто дизайнер тупо делает этот диалог для какого-то фиксированного набора названий свойств. В документации ничего про это не нашёл. В исходники лезть лень, полезу только в крайнем случае (если тут никто не подскажет). Как бы заставить дизайнер давать юзеру полноценно редачить моё грёбаное свойство? Там большой текст должен быть, многострочный, вот эта фитюлька в проперти-едиторе просто не вариант.
QtCreator 4.2, Qt 5.13.
Аноним 31/10/19 Чтв 21:37:52 1510229339
Аноним 31/10/19 Чтв 22:19:10 1510247340
Аноним 31/10/19 Чтв 22:36:37 1510260341
>>1507304 (OP)
Так, анон, тут все серьезно.
Я запускаю на винде
gcc.exe ololo.c -o ololo.exe @includes.txt
И получаю
gcc: CreateProcess: No such file or directory
В файле includes.txt хренова гора инклюдов -I"c://some_include_path" и дефайнов, всего больше 32kb (это существенно, т.к. на винде нельзя делать командную строку больше 32кб).
Gcc внутри себя вызывает cc1.exe и все эти инклюды и дефайны передает через командную строку (это видно, если запустить с ключом -v), а не файликом.
На маке и в линуксе отрабатывает норм, а если includes.txt меньше 32кб, то норм и на винде.

Вопрос: как мне заставить gcc передавать в cc1.exe все эти параметры файликом?
Проект огромный, и не хочется переделывать гиганские мейк-файлы, искать что от чего зависит или патчить gcc.
Аноним 31/10/19 Чтв 22:52:03 1510267342
>>1510260
>как мне заставить gcc передавать в cc1.exe все эти параметры файликом?
Скинь все в один большой хедер, его и заинклюдь
Аноним 31/10/19 Чтв 22:55:23 1510270343
>>1510019
Ты не понимаешь, кодинг на с++ должен выглядеть круто и доставлять боль. Для этого кресты и придумали
Аноним 31/10/19 Чтв 22:57:12 1510272344
image.png (598Кб, 479x736)
479x736
Я нашёл пикчу, идеально характеризующую с++. Предлагаю сделать её гербом этого треда
Аноним 31/10/19 Чтв 23:02:24 1510276345
>>1510272
Неосилятор\жабадебил\скриптопетух бежит из треда поддав жиденьким в штаны?
Одобряю. Нормальный герб.
Аноним 31/10/19 Чтв 23:08:51 1510277346
>>1510276
Нет. Это суть с++, СКОРОСТЬ+ОБОСРАМС
Аноним 31/10/19 Чтв 23:41:43 1510315347
>>1510277
Это скриптопетух, который кичится скоростью написания кода, на потом писоет @ какоет, роняя кал, когда что-то вдруг перестает работать.
Аноним 31/10/19 Чтв 23:56:44 1510329348
>>1510315
Ну или так. Но с++ больше подходит
Аноним 01/11/19 Птн 01:00:25 1510366349
>error C2440: 'static_cast': cannot convert from 'CDefferedMessage ' to 'CBaseMessage '
>note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

Джва часа ебался с этим говном. Предлагаю вам блеснуть знаниями и защитить честь любимого говноязыка, предположив в чём может быть дело
Аноним 01/11/19 Птн 01:07:18 1510369350
>>1510366
Ты выражение-то напиши своё, мразь
Аноним 01/11/19 Птн 01:09:30 1510370351
>>1510366
Если хочешь именно static_cast, надо у приводимого типа переопределить оператор T(), где T — тип, к которому приводишь, вроде так.
Аноним 01/11/19 Птн 01:10:35 1510371352
>>1510369
Мда, одебилевший уже не в состоянии восстановить B b; A a = static_cast<A *>(b) по сообщению ошибки. Я думаю ты самый тупой в этом треде
Аноним 01/11/19 Птн 01:11:05 1510372353
>>1510371
Звездочки проебались, да и похуй. И так понятно
Аноним 01/11/19 Птн 01:12:26 1510373354
>>1510370
Одно сообщение отнаследовано от другого. Причина ошибки на самом деле вообще простейшая. Хочу проверить скиловость здешних заshitников с++
Аноним 01/11/19 Птн 01:13:46 1510375355
>>1510371
типы объявлены не полностью? ты этим нас хочешь удивить?
Аноним 01/11/19 Птн 01:17:12 1510376356
>>1510375
А ты, видимо, самый умный в этом треде. Правильно, один из классов был объявлен до использования. В итоге получилась такая ошибка
>error C2440: 'static_cast': cannot convert from 'CDefferedMessage ' to 'CBaseMessage '
Аноним 01/11/19 Птн 07:47:54 1510424357
>>1510366
>Джва часа ебался с этим говном.
Enjoy your MSVC.
Нормальные компиляторы сообщают о том, что проблема в incomplete-типах.

>Предлагаю вам блеснуть знаниями и защитить честь любимого говноязыка

> Пользуется самым хуёвым из распространённых компиляторов
> Судит по нему о хуёвости языка
Зачем ты такой тупой?
Аноним 01/11/19 Птн 10:18:31 1510460358
Анчоусы, чем визиторы лучше полиморфизма?
Аноним 01/11/19 Птн 11:02:04 1510490359
>>1510460
Тем, что отделяешь код обработки иерархии от кода иерархии
Аноним 01/11/19 Птн 11:46:24 1510510360
>>1510424
>Пользуется самым хуёвым из распространённых ЯП
фикс
Аноним 01/11/19 Птн 12:11:21 1510524361
>>1510510
Он не на шарпе пишет тащем та
Аноним 01/11/19 Птн 12:45:22 1510536362
>>1510376
> Правильно, один из классов был объявлен до использования.
Самое смешное, что ты сам же в описании своей ошибки проебался и обосрался.
Аноним 01/11/19 Птн 15:36:02 1510659363
.png (91Кб, 2560x1440)
2560x1440
Пишет, что проект не настроен, что за хуйня? В режиме проекта пишет что отсутствуют подходящие комплекты.
Аноним 01/11/19 Птн 15:46:44 1510667364
Аноним 01/11/19 Птн 15:56:52 1510679365
>>1510659
Можешь ткнуть слева на Проекты а потом Настроить проект?
Аноним 01/11/19 Птн 15:59:15 1510681366
>>1510659
Впрочем если выбрать qmake, а не cmake то всё работает
Аноним 01/11/19 Птн 16:48:17 1510728367
Продублирую.

https://www.ozon.ru/context/detail/id/144895863/
Хорошая книга?
И насколько вообще востребовано знание qt? Я пока только студент, глянул вакансии на hh, если и есть c++, то без упоминания qt, максимум в большом списке было бы неплохо знать...
Аноним 01/11/19 Птн 17:18:43 1510759368
>>1510728
выучи полноценный модерновый С++ сначала
Аноним 01/11/19 Птн 17:21:11 1510760369
>>1510759
Липпман и мейерс прочитаны. почти 1500 страниц
Аноним 01/11/19 Птн 17:22:30 1510763370
>>1510760
неплохо, молодец. Осиливай С++17 Джоссутиса еще. А вообще - с точки зрения простоты поиска работы, я бы вероятно задрачивал системное программирование под луникс, а не КТ. Вакансий больше.
Аноним 01/11/19 Птн 17:26:54 1510768371
Почему есть возможность наследовать класс без явного указания способа наследования?
Аноним 01/11/19 Птн 17:29:57 1510774372
>>1510728
>И насколько вообще востребовано знание qt?
У меня в паре вакансий есть в обязательных требованиях Вакансия так и называется C++/Qt, в остальных разве что как плюс идёт. Мне лично Qt понравился тем, что можно что-то простое и полезное сделать самому, даже без опыта программирования, и гитхаб озеленить чутка. На голых плюсах хуй чё полезное сделаешь сам.
Аноним 01/11/19 Птн 17:30:24 1510777373
>>1510768
Потому-что по умолчанию private
Аноним 01/11/19 Птн 17:33:32 1510781374
>>1510777
Это то ясно, мне кажется что это хуевое решение, и лучше всегда писать явно.
Аноним 01/11/19 Птн 17:36:50 1510784375
>>1510781
В плюсах практически всегда лучше писать всё явно, чтобы хоть как-то помочь людям читающим твой говнокод.
Аноним 01/11/19 Птн 17:54:09 1510792376
>>1510784
Посмотрел бы я на тебя, как ты явно пишешь типы в более-менее сложном коде с шаблонами, где один стейтмент и без этого занимает 100500 строчек, раздувая исходники и трудоемкость того самого чтения до размеров твоей мамаши
Аноним 01/11/19 Птн 17:55:50 1510794377
>>1510792
Может я и не прав, но в 99% случаях используется именно public наследование. Нахуя сделали по умолчанию приватное?
Аноним 01/11/19 Птн 18:01:45 1510802378
>>1510794
У класса все поля по дефолту приватные и наследование приватное.
У структуры все поля публичные по дефолту, и наследование тоже публичное
Аноним 01/11/19 Птн 18:02:34 1510803379
>>1510802
В стдлибе вообще классы есть?
Аноним 01/11/19 Птн 18:06:18 1510805380
>>1510802
И что блять?
Ты говоришь что не сделали наследование классов по умолчанию публичным, просто чтобы дауны могли запомнить по аналогии? И пох что на практике приватное наследование не особо-то и нужно
Аноним 01/11/19 Птн 18:07:02 1510806381
>>1510805
не особо-то и используется*
Аноним 01/11/19 Птн 18:07:19 1510807382
>>1510803
std::vector std::map std::unique_ptr std::share_ptr std::less std::grater и их ещё до пизды
Аноним 01/11/19 Птн 18:08:37 1510808383
>>1510803
строка?

>>1510805
Для консистентности, скорее всего. С++ и так каша, щас еще бы сложностей придумывать. И да, если ты не наследуешься приватно, это не значит, что все остальные этого тоже не делают.
Аноним 01/11/19 Птн 18:08:39 1510809384
>>1510805
> пох что на практике приватное наследование не особо-то и нужно
Я вот про это и говорю. В итоге в километровых шаблонах всё равно приходится писать это злоебуче public
Аноним 01/11/19 Птн 18:09:42 1510810385
>>1510808
>И да, если ты не наследуешься приватно, это не значит, что все остальные этого тоже не делают.
Я не говорил, что я этого не делаю. Я говорил, что в большинстве случаев я видел публичное наследование и в очень редких приватное
Аноним 01/11/19 Птн 18:33:16 1510819386
>>1510728
Ебать ты упертый говноед. 1500 страниц - это архитектура компьютера + устройство ос от таненбаума. Гораздо выгоднее было потратить время, которое ты потратил на задроч плюсов, на традиционный CS. Вот ты выучил плюсы от корки до корки и сможешь пойти на вакансию 30к для джуна. А если бы знал теорию компиляторов, устройство ос, сетевой стек и простенькие c/java, то на изи попал бы интерном в гугл. Надеюсь, тебе поможет эта мудрость
Аноним 01/11/19 Птн 18:41:03 1510823387
>>1510808
Проиграл. Приватного наследования нет в 99% языков и они прекрасно живут без него. Приватное наследование - это очередная шизоидная «ГиБкОСТь))00» от страуструпа и ко. После дизайна iostreams, я считаю, мало у кого должны остаться сомнения в том, что C++ - даже рядом не стоит с качественным продумыванием своего дизайна и либ.
Аноним 01/11/19 Птн 18:41:32 1510824388
Аноним 01/11/19 Птн 18:45:55 1510828389
>>1510824
Отвечаю. Почитай истории о том, как студенты проходят на internship в гугл. На собесах спрашивают вот ни разу про плюсы, а гоняют по грамматикам, устройству линупса, сетям, матану и прочим серьезным вещам.
Аноним 01/11/19 Птн 19:40:18 1510869390
>>1510792
Поэтому и написал практически. Шаблоны и с decltype и auto занимают половину экрана, ясен хуй что там не стоит явно всё прописывать. Но если у тебя код на подобии
auto item = AbstractFactory().getItem();
то я бы лучше явно прописал тип, чтобы не так сложно было читать.
Аноним 01/11/19 Птн 19:41:49 1510870391
>>1510828
Кстати этого двачую, в книге по собеседованиям в гласе по плюсам задачки совсем детские, а сама автор пишет что по язык там вообще дело десятое, спросят по тому языку который знаешь, а вот по алгоритмам и дискретке ебать будут
Аноним 01/11/19 Птн 19:45:27 1510874392
Суп, есть одна строка.
[code lang="cpp"]
string salt = "";
for (.....)
b_salt = trip + "...";
salt += b_salt.substr(1,2);
s_test = crypt(trip.c_str(), salt.c_str());
length = strlen(s_test.c_str());
[/code]
Если поменять 2 строку в цикле assignment, вместо +=, то нещадно вылезает ошибка.
Пробовал чистить её методами, указателями etc.
Что не так с этой строкой, Анон?
Аноним 01/11/19 Птн 20:01:34 1510879393
5032D132-9C25-4[...].jpeg (1490Кб, 4032x3024)
4032x3024
ЭНТОНИ, ПРОСНИСЬ, ТЫ ОБОСРАЛСЯ!

Какой мерзкий чсв тип, я удивлён.
Аноним 01/11/19 Птн 20:05:31 1510882394
Аноним 01/11/19 Птн 20:12:45 1510883395
>>1507304 (OP)
https://ideone.com/JMbc9A

Такое дело, есть класс А и внутренний класс B.
Класс А содержит указатель шаред на экземпляр B,
класс B в свою очередь содержит слабый указатель на класс A,
указатель этот передается в B прямо в конструкторе.
В имеющеся имплементации вылетает в рантайме с bad_weak_ptr.

Как нужно по уму это оформить?
Аноним 01/11/19 Птн 20:14:40 1510884396
>>1510879
В чем чсв выражается?
Аноним 01/11/19 Птн 20:17:36 1510887397
>>1510884
Наверно в том, что он принимает участие в разработке буста и стандартов.
Аноним 01/11/19 Птн 20:20:33 1510889398
>>1510887
>Наверно в том, что он принимает участие в разработке буста и стандартов.
Если бы я делал буст и был в коммитете, я бы ссал на вас и не считал за людей
Аноним 01/11/19 Птн 20:22:39 1510893399
Аноним 01/11/19 Птн 20:23:04 1510894400
Аноним 01/11/19 Птн 20:26:44 1510896401
Аноним 01/11/19 Птн 20:27:05 1510898402
>>1510883
Ну давай разберем по частям, тобою написанное )) Складывается впечатление что падает в конструкторе
>ptrToB = make_shared<B>(shared_from_this());
Наверняка что-то с выделением памяти и недоступностью this, попробуй перенести эту конструкцию в отдельный метод и вызывать уже после создания экземпляра
Аноним 01/11/19 Птн 20:28:37 1510901403
>>1510884
В том что у жсомакак и прочей челяди бомбит от успешного крестобоярина. На самом деле достаточно приятный человек, в чате шутки шутит постоянно, отвечает даже студентам, в общении ничего чсвшного не заметил.
Аноним 01/11/19 Птн 20:30:30 1510902404
Аноним 01/11/19 Птн 20:30:40 1510903405
В общем, закончилась конфа. Всё, что я из неё вынес - это подарки где-то на 1000р. Ну и поел хорошо. Если бы билет не оплатила моя контора - я был бы очень разочарован. Не понял, в чём смысл, кроме как послушать про охуенные велосипеды спикеров, которые применимы только в их проектах. От доклада энтони я вообще в ахуе, меня бы за подобный код уволили нахуй из конторы.
Аноним 01/11/19 Птн 20:31:41 1510904406
Аноним 01/11/19 Птн 20:31:46 1510905407
Аноним 01/11/19 Птн 20:33:03 1510907408
>>1510883
Когда классы взаимоинклудят друг друга - это значит, что надо менять архитектуру, чтобы не плодить говнокод.
Аноним 01/11/19 Птн 20:37:06 1510913409
>>1510907
Но у меня же не взаимный инклюд, у меня B является частью A, и у каждого из них есть ссылка друг на друга. Или это тоже пиздец?
Anyway, пользуясь случаем, попрошу посоветовать книжек именно об архитектуре ПО в преломлении крестов.
Аноним 01/11/19 Птн 20:40:05 1510915410
>>1510903
>меня бы за подобный код уволили нахуй из конторы.
За оверквалифайд?
Аноним 01/11/19 Птн 20:41:46 1510917411
>>1510898
https://ideone.com/NxHGnm

Вынес в отдельную функцию. Но даже конструктор А не успевает выполниться, опять std::bad_weak_ptr.
Аноним 01/11/19 Птн 20:43:42 1510920412
>>1510915
За оверинжиниринг без профитов.
Аноним 01/11/19 Птн 20:44:48 1510924413
>>1510913
Если оно не работает без форвард декларейшенов - то да, это пиздец.
Аноним 01/11/19 Птн 21:08:52 1510948414
>>1510917
Кароче, вот тебе ответ https://ideone.com/wLNBXS - класс выделялся на стеке, а надо было в куче.
Советую сжечь компьютер нахуй и забыть про существование с++, потому что это реально говно говна. Это франкенштейн из говна
Аноним 01/11/19 Птн 21:12:37 1510953415
>>1510917
Чтобы использовать shared_for_this нужно, чтобы объект, у которого вызывается этот shred_for_this существовал в shared_ptr. Если делать как ты, то для этого объекта не создаётся счётчик ссылок
Аноним 01/11/19 Птн 21:14:34 1510955416
Аноним 01/11/19 Птн 21:16:30 1510960417
>>1510953
Как хорошо, когда есть интернет и форумы с отзывчивыми людьми. В этом случае программирование на с++ становится возможным
Аноним 01/11/19 Птн 21:22:42 1510971418
>>1510960
Нехуй пользоваться замысловатыми конструкциями, когда не понимаешь, как они работают
Аноним 01/11/19 Птн 21:24:53 1510974419
>>1510971
Я как раз написал решение в тред. И всех призываю слезать с этого говна, переходить на раст
Аноним 01/11/19 Птн 21:35:12 1510983420
>>1510974
Hахуй нам нужен твой раст, поехавший? Нужно всего лишь понимать как работает то, чем ты пользуешься и никаких проблем не будет
Аноним 01/11/19 Птн 21:37:18 1510986421
Аноним 01/11/19 Птн 21:37:24 1510987422
>>1510983
Во-первых, кому "нам"? Во-вторых, всё знать невозможно. И пока ты будешь ковырять баги, связанные с неочевидными сторонами языка, твои конкуренты на с++ уже запилят годноту
Аноним 01/11/19 Птн 21:37:45 1510990423
>>1510986
>факс
факт существования
самофикс
Аноним 01/11/19 Птн 21:40:08 1510993424
>>1510974
двачую, rust - это тот же C++, только без боли
Аноним 01/11/19 Птн 21:42:04 1510995425
Аноним 01/11/19 Птн 22:10:14 1511018426
DD180EAF-EF40-4[...].jpeg (5135Кб, 4032x3024)
4032x3024
Алсо, утянул футболку с двачём
Аноним 01/11/19 Птн 22:10:48 1511019427
>>1511018
Да Макара блять заебала переворачивать
Аноним 01/11/19 Птн 22:11:23 1511023428
>>1511019
Макаба блять ебаный т9
Аноним 01/11/19 Птн 22:20:16 1511026429
C4F89F28-0417-4[...].jpeg (457Кб, 828x1089)
828x1089
Аноним 01/11/19 Птн 22:21:21 1511027430
Аноним 01/11/19 Птн 22:22:24 1511028431
>>1511026
В ДС1 принято без обуви и штанов ходить на презентации?
Аноним 01/11/19 Птн 22:22:34 1511029432
>>1511026
Варь, ноги-то побрей.
Аноним 01/11/19 Птн 22:27:29 1511031433
>>1511028
Это дс2 и я уже дома
Аноним 01/11/19 Птн 22:38:25 1511036434
>>1509881
Приведи чтоль пример задачки хоть
Аноним 01/11/19 Птн 22:44:49 1511040435
7CD63404-35BF-4[...].jpeg (177Кб, 828x1088)
828x1088
D74A010E-D700-4[...].jpeg (171Кб, 828x1093)
828x1093
>>1511036
На мои записи внимание не обращай, мне стало стыдно и я не стал это сдавать
Аноним 01/11/19 Птн 22:47:12 1511041436
>>1510247
Благодарю за соучастие, но это не помогло: свойства с типом QTextDocument дизайнер вовсе не отображает для редактирования.
Пришлось напердолить TaskMenuExtension, чтоб по правой кнопке была опция "Edit <blahblah>..." по которой открывается диалог с QPlainTextEdit. В принципе только выиграл, теперь можно при необходимости любую релевантную смыслу свойства фигню замутить типа как для styleSheet сделано.
Аноним 01/11/19 Птн 22:59:56 1511047437
>>1510986
Тем, что есть дауны, которые не могут отследить в коде ошибки.
Аноним 01/11/19 Птн 23:03:09 1511048438
>>1510983
Поэтому во всяких хромах ежемесячно отковыривают по 40 уязвимостей, из которых 2-3 уровня 0-day? Вот блядь дауны в гуглах работают.
Аноним 01/11/19 Птн 23:15:53 1511053439
>>1511040
Насчёт пятого, они явно хотят переполнение стека. Я в малварях не силён, но ASLR не похерит большинство попыток сделать stack smashing?
А вообще по виду всё кроме четвёртого просто. В глаза не вижу дедлока (с сигналами почти не работал, наверное, поэтому).
Аноним 01/11/19 Птн 23:19:57 1511055440
>>1511053
зачем ___pad в шестом?
Аноним 01/11/19 Птн 23:31:33 1511062441
Аноним 01/11/19 Птн 23:33:57 1511064442
>>1511055
Чтобы только одна атомик переменная могла быть вытащена в кэш?
Ну, чтобы процессор мог в один момент использовать только одну?
я ньюфаг довен, это только предположение
Аноним 01/11/19 Птн 23:43:26 1511071443
>>1511064
Тоже так думаю, кэш лайны вроде бы 64 байта в основном везде
мимо другой нюфаг
Аноним 01/11/19 Птн 23:48:45 1511074444
>>1511040
7 не правильно вроде. Выделение памяти в обоих случаях будет только 1. Во втором случае может быть косяк с тем, что память таки утечёт, в первом же нет. Где-то в блоге pvs studio что-то такое объяснялось
Аноним 01/11/19 Птн 23:56:41 1511079445
>>1511074
>Выделение памяти в обоих случаях будет только 1
Контрольную структуру Пушкин выделит? Сначала будет сделан new int, потом выделится память со счётчиком
Аноним 02/11/19 Суб 00:00:56 1511082446
>>1511079
Ок, правда два. Но тогда в обоих случаях будет два. Во втором она тоже не вместе с new int выделится
Аноним 02/11/19 Суб 00:01:59 1511084447
>>1511082
https://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared
>std::shared_ptr<T>(new T(args...)) performs at least two allocations (one for the object T and one for the control block of the shared pointer), while std::make_shared<T> typically performs only one allocation (the standard recommends, but does not require this; all known implementations do this)
Аноним 02/11/19 Суб 00:03:25 1511086448
>>1511084
> only one allocation (the standard recommends, but does not require this;

И хули ты доказал?
Аноним 02/11/19 Суб 00:03:55 1511087449
>>1511071
И что нам это даст? В какой задаче без такого __pad не обойтись?
Аноним 02/11/19 Суб 00:04:12 1511088450
Аноним 02/11/19 Суб 00:06:48 1511091451
>>1511086
>all known implementations do this
Учитывая, что это, судя по тому анону, HFT компания, их больше волнуют реальные железки и имплементации, а не эфемерные стандарты.
Аноним 02/11/19 Суб 00:09:37 1511092452
>>1511091
Ну давай ещё и на UB начнём полагаться, если оно делает то, что мы хотим?
Аноним 02/11/19 Суб 00:10:25 1511094453
>>1511087
>кой задаче без такого __pa
А я ебу, я ж написал что нюфаг. Наверное нужно чтобы только один атомик был обновлён, а затем второй, без каких-то кешей и подобного.
Аноним 02/11/19 Суб 00:12:00 1511097454
>>1511064
Синхронизация кешей работает с минимальным объемом памяти 64 байт, который называется cache line. При использовании барьеров памяти на какие-то отдельные переменные на самом деле синхронизируется целиком cache line, в который попала переменная. Если в одном cache line оказывается 2 переменные, на которые навесили барьеры памяти, то они будут вызывать лишние синхронизации - например, когда одна переменная поменялась, а вторая - нет, ядро проца, читающее вторую переменную будет лишний раз останавливаться для вытягивания кешлайна с кеша другого ядра.

Удивительно, что плюсобляди могут такого не знать.

мимо-джавогосподин
Аноним 02/11/19 Суб 00:12:37 1511098455
>>1511087
False sharing может давать очень сильный просев по производительности.
Аноним 02/11/19 Суб 00:20:59 1511103456
>>1511053
>В глаза не вижу дедлока (с сигналами почти не работал, наверное, поэтому).
spin должен быть volatile.
Ну и в сигнал хендлере может быть какая-то приводящая к дедлоку хуйня (man signal-safety).
Аноним 02/11/19 Суб 00:21:39 1511104457
>>1511092
А то. Я привожу указатель на чар у нужнорй мне структуре и читаю прямо из неё. Это UB, ибо нарушает strict aliasing. По-хорошему нужно выделить структуру на стеке, сделать memcpy из того массива, и уже потом в локальной переменной читать.
Аноним 02/11/19 Суб 00:32:47 1511106458
>>1511053
>Насчёт пятого, они явно хотят переполнение стека. Я в малварях не силён, но ASLR не похерит большинство попыток сделать stack smashing?
Никто не требует сделать переполнение вслепую, можно посмотреть адреса сегментов во время запроса ввода. Другое дело, что в программе может быть защита канарейкой, например.
Аноним 02/11/19 Суб 01:15:18 1511113459
Посоны, перенос %TEMP%, %TMP% и папок с исходниками и билдом на ramdisk существенно ускорят сборку большого проекта, или ето похую и умная кеширующая подсистема венды с быстрым ssd по скорости сравнимы с рамдиском?

Вроде imdisk умеет даже персистить содержимое рамдиска на обычный при выключении/ребуте (шоб не копировать каждый раз проект).
02/11/19 Суб 01:15:19 1511114460
>>1510903
Я не верю, что ты где-то вообще работаешь. Это же ты тот шизик, что сигналы пилил и прочую дрисню, спрашивал у треда как правильно реализовать, но в итоге писал по-своему? Еще и Полухина засрать успел. Пиздец ты нарцистичная завистливая чмоня.
Аноним 02/11/19 Суб 01:19:45 1511115461
>>1511113
Не ускорит, я проверял. А вот bazel ускорит
Аноним 02/11/19 Суб 01:24:13 1511117462
>>1511053
> Я в малварях не силён, но ASLR не похерит большинство попыток сделать stack smashing?
Нет, ASLR это просто рандомизация базового адреса бинарника. CFI/CFG похерит.
Аноним 02/11/19 Суб 02:41:53 1511138463
>>1511114
Нет, я свой диспетчер сообщений для веб-дрочильни пишу.
Аноним 02/11/19 Суб 07:07:02 1511169464
>>1510993
И без нормального синтаксиса. Ну и работы нет.
Аноним 02/11/19 Суб 07:09:42 1511172465
>>1511040
Как сделать то пятый?
Аноним 02/11/19 Суб 07:39:55 1511173466
Аноним 02/11/19 Суб 10:49:35 1511208467
>>1511117
>ASLR это просто рандомизация базового адреса бинарника
Ты код-то смотрел, теоретик ебаный?
Аноним 02/11/19 Суб 10:53:25 1511211468
>>1511172
Строишь строку для переполнения с count побольше, во время запроса ввода смотришь адрес сегмента, фиксишь строку. Ну и я предполагаю, что array<char, 16> будет весь на стеке.
Аноним 02/11/19 Суб 11:02:19 1511214469
>>1511169
Щас бы плюсан кукарекал на синтаксис любого языка. По секрету: там синтаксис сделан под сильным впечатлением от плюсов.
Аноним 02/11/19 Суб 11:10:11 1511218470
>>1511211
Где можно прочитать вообще про стек?
02/11/19 Суб 11:16:18 1511219471
>>1511218
Статья на вики data segments
Аноним 02/11/19 Суб 11:44:15 1511233472
>>1511040
Кек. Этот вырвиглазный пропорциональный шрифт для кода, судя по всему, распечатанный из ворда. Не, это жулики.
Аноним 02/11/19 Суб 12:01:33 1511239473
>>1511233
Как раз байтоебам обычно некогда возиться с форматированием.
Кроме того, ты не знаешь, через сколько рук прошло содержимое этого документа до передачи кандидату.
Вопросы как-бэ норм, говорю, как препод инфобеза в прошлом.
Аноним 02/11/19 Суб 12:04:12 1511243474
Конкретного решения нет, это вопрос "на подумать", выслушав ответ на который можно многое понять об отвечающем; потому как сильно зависит от опций компилятора и того есть ли доступ на чтение к бинарнику (посмотреть адреса символов) и/или стандартной библиотеке (если она на прилинкована статически, что тоже не сказано).
Варианты глобально примерно следующие:
- организовать вызов win();
- организовать вызов std::cout<< с аргументом-указателем на "win" (как из области констант, так и записанному самостоятельно);
- вообще полностью весь вывод поместить в шеллкод с системным вызовом.
А дальше вопросы - есть ли NX, ASLR, канарейка, бинарники... Возможно достаточно записать 16 байт говна, ещё 4-8 байт говна (на pop ebp/rbp), а затем адрес "win" и адрес std::cout<<. Это простейший вариант. А возможно - можно вовсе соснуть, если все символы расположены по рандомным адресам, бинарный файл для чтения не доступен и канареечка на стеке.
В принципе, если тебе интересно в этом вопросе прокачаться, могу порекомендовать годный практический курс "от простого к сложному": https://github.com/wapiflapi/exrs/tree/master/sploit
Аноним 02/11/19 Суб 12:05:07 1511244475
>>1511239
>опросы как-бэ норм
Там как-бэ всего полтора вопроса на С++.
Аноним 02/11/19 Суб 12:07:15 1511245476
>>1511244
Остальные на архитектуру и ОС, все норм для байтоебства.
Аноним 02/11/19 Суб 12:07:48 1511246477
Аноним 02/11/19 Суб 12:08:44 1511247478
>>1511239
>Как раз байтоебам обычно некогда возиться с форматированием.
У любого программиста вытекают глаза от пропорционального шрифта. Просто на уровне ощущений.
Вопросы так себе и не понятно, зачем умение написать эксплоит нужно программисту. Мутная контора.
>препод инфобеза в прошлом.
Жулик как есть
Аноним 02/11/19 Суб 12:11:50 1511249479
>>1511247
Про эксплоит это ты сам так решил, из-за типичного пидорашьего синдрома искать сложное в простом, как с вопросами для второклашек на форумах. На деле, там базовый вопрос на понимание устройства стека, это проходится на любом курсе по безопасности программ.
Вопросы базовые для письменного скрининга кандидатов, это очевидно.
Аноним 02/11/19 Суб 12:19:09 1511253480
>>1511249
Кстати, как раз изьебства с move constructors и т.д., которые судя по всему обожают спрашивать в ваших НИИшечках, нахуй никому не упали в труъ-байтоебстве. Потому что если дело доходит до таких соображений, то пишут уже на чистом C, иногда даже без CRT.
Аноним 02/11/19 Суб 12:19:19 1511254481
>>1511247
> зачем умение написать эксплоит нужно программисту
Чтобы не ляпать код, к которому возможно написать эксплоит, очевидно же.

>>1511249
>там базовый вопрос на понимание устройства стека
О, ну если сам автор вопроса интерпретирует это именно так, то в пизду такую контору. Хотя бы потому, что нет никакого "базового стека", есть разные ахритектуры, разные конвенции вызова, разные опции конпелятора, и упрощение здесь возможно только по линии конкретизации ("опишите какие примитивные операции возможны с классической структурой, именуемой стеком"). Ещё хуже, если автор вопроса сам не в курсе этого многообразия и вариативности, тогда тем более нахуй.
Аноним 02/11/19 Суб 12:25:02 1511257482
>>1511249
Вроде как в стандарте С++ нет понятия стека.
Аноним 02/11/19 Суб 12:30:02 1511268483
>>1511253
А в си есть аналог перемещения?
Аноним 02/11/19 Суб 12:34:43 1511274484
>>1511254
>>1511257
Берешь и пишешь, что можно, если в этой архитектуре адрес возврата лежит на стеке, для данной программы, и описываешь решение для x86, например. Там вообще функция может заинлайниться, и что с того?
По факту твои претензии не имеют никакого значения, потому что человек, понимающий эти нюансы, все равно дойдет до интервью. Вспоминая преподство, на апелляциях к оценкам на экзамен почему-то всегда одни долбоебы, а хитровыебанные студенты все равно получают полный балл, как бы они не изьъъебывались.
Аноним 02/11/19 Суб 12:36:01 1511280485
>>1511268
Нет. В Си есть поинтер.
Аноним 02/11/19 Суб 12:39:08 1511285486
>>1511249
Жуликам все просто, потому что они пиздаболы, которым лишь бы навалить кучу говна.
Для С++ программиста достаточно было бы спросить "почему этот код плохой".
Аноним 02/11/19 Суб 12:42:15 1511288487
>>1511274
>Вспоминая преподство, на апелляциях к оценкам на экзамен почему-то всегда одни долбоебы, а хитровыебанные студенты все равно получают полный балл, как бы они не изьъъебывались.

Кто не умеет работать сам, учит работать других
Да, я в курсе, что преподаватели в РФ - дно, гной и квинтэссенция слабоумия, помноженного на самомнение.
Можно было не напоминать.
Спасибо.
Аноним 02/11/19 Суб 12:48:59 1511292488
>>1511285
>Для С++ программиста достаточно было бы спросить "почему этот код плохой".
Дело в том, что твое мнение никому в хуй не уперлось, нужно уметь код писать.

>>1511288
Но я не в Рашке, лол.
И я работаю программистом сейчас.
Где твой бог теперь?
Аноним 02/11/19 Суб 12:58:11 1511299489
>>1511292
>Дело в том, что твое мнение никому в хуй не уперлось, нужно уметь код писать.
Это что это за пуки такие? Типа, пришел сюда господин, чье мнение кому-то уперлось.
Человек, задавший подобный вопрос, код писать не умеет. Если ты этого не понимаешь, то ты, скорее всего, тоже. Остается рандомная хуйня в стиле "угадай хобби собеседующего". На такие фирмы не нужно идти, даже если знаешь ответ.
Аноним 02/11/19 Суб 13:00:43 1511302490
>>1511299
>Человек, задавший подобный вопрос, код писать не умеет.
Погоди с попоболью, я хочу удостовериться, что правильно тебя понял. Ты утверждаешь, что вопрос про стэк в квизе исходит от человека, не умеющего писать код? Правильно ли я тебя понял, мой юный максималист?
Еще один вопрос, кем ты работаешь сейчас? Студентота? Уровень ЧСВ?
Аноним 02/11/19 Суб 13:16:44 1511309491
>>1511302
>Дело в том, что твое мнение никому в хуй не уперлось
>я хочу удостовериться, что правильно тебя понял
Вся суть мамкиного хацкера.
Аноним 02/11/19 Суб 13:22:39 1511313492
>>1511309
Зато я ебал твою мамашу
Аноним 02/11/19 Суб 13:48:26 1511326493
Как в этом работать? скачал опенсорс проект, собрал его в вс, компелирую лнк2019
Аноним 02/11/19 Суб 14:54:18 1511361494
>>1511243
Пиздец бля. Представляю сколько там платят.
Аноним 02/11/19 Суб 15:07:58 1511370495
>>1511361
Да не слушай ты этого iamverysmart-даунито, это вопрос на основы архитектуры пека.
Аноним 02/11/19 Суб 15:22:01 1511375496
>>1511370
Ну а ты как бы это решил?
Аноним 02/11/19 Суб 15:29:01 1511378497
Аноним 02/11/19 Суб 15:58:54 1511385498
аноны, есть в треде тот кто хоть немного шарит за фортран и плюсы? очень нужна ваша помощь т.к. больше не к кому обратиться. в гугле хуита полная
Аноним 02/11/19 Суб 16:01:47 1511386499
>>1511378
Имеешь ввиду, что после унвиндинга стека должно остаться несколько байт, один из которых - инструкция jmp, и 8 - адрес функции, которую надо вызвать?

Я в детстве увлекался длл-инжектингом, там по похожему принципу делалось. Но это же пиздец какие дебри, нихуя не основы.
Аноним 02/11/19 Суб 16:16:28 1511391500
>>1511386
Просто подменяешь адрес возврата адресом функции, которая печатает "win". Причем там, скорее всего, лишь байт или два нужно подменить. Открой программу в отладчике и замени адрес в стеке вручную, дальше понятно будет.
Аноним 02/11/19 Суб 16:39:06 1511405501
777777.png (27Кб, 870x213)
870x213
Почему auto выводит точно такой же тип, но студия не ругается?
Аноним 02/11/19 Суб 16:59:22 1511413502
>>1511405
Ты хочешь лямбду преобразовать к булевому типу?
Аноним 02/11/19 Суб 17:17:53 1511425503
>>1511391
А разве конпеляптор не вырежет эту функцию при оптимизации, так как она ну вызывается?
Аноним 02/11/19 Суб 17:26:02 1511433504
>>1511425
Обычно вырежет, если включена whole program optimization, или типа того, а так нет.
Аноним 02/11/19 Суб 17:59:07 1511458505
Аноним 02/11/19 Суб 18:00:07 1511461506
>>1511458
Ну и в релизе не работает
Аноним 02/11/19 Суб 18:11:07 1511469507
>>1511458
>Алсо с iostreams почему-то крешится, лень разбираться.
Ну так ты нихуя не понял же, чего удивительного.
Аноним 02/11/19 Суб 18:15:55 1511471508
zetta slow!.jpg (19Кб, 300x300)
300x300
>>1511458
Годболт умеет выводить результат работы программы?
Аноним 02/11/19 Суб 18:17:12 1511472509
>>1511469
Что я не понял, маня? Я кроме одного подмена RIP и не собирался ничего делать
Аноним 02/11/19 Суб 18:40:21 1511493510
Аноним 02/11/19 Суб 19:23:57 1511531511
Суканах, я лох безуркий хочу переехать с Visual Studio и MSVC на KDevelop + GCC + (если необходимо делать это сразу то Cmake).
Установил GCC компилятор но я не могу блять понять как заставить KDevelop его использовать, и тем более видеть std и boost либы.
Аноним 02/11/19 Суб 19:50:54 1511542512
>>1511531
Съехать с шинды. Ты ахуеешь на ней ебаться с цмейком, кедным софтом, и уже тем более, гцц. Поставь любой дистрибутив кед второй системой и не трать время на хуиту.
Аноним 02/11/19 Суб 19:53:11 1511544513
>>1511542
Дядя, ты не ебанись смотри там со своей категоричностью.
У меня на шинде проги и игрульки стоят, в которые я еще временами поигрываю + я охуею еще и в юникс вкатываться по времени.
Аноним 02/11/19 Суб 19:54:50 1511546514
>>1511542
Я не то чтобы прямо против, но не уверен что это настолько требуется, съебать на линух
Аноним 02/11/19 Суб 19:55:02 1511548515
>>1511208
Смотрел, что дальше? Все данные можно получить в динамике. ASLR это защита от школоты.
Аноним 02/11/19 Суб 20:04:44 1511553516
>>1511542
Для совсем дебилов есть cmake гуи, любой проект за 2 кнопки ресолвится и выплевывает студийный файл.
Аноним 02/11/19 Суб 20:11:23 1511557517
>>1511548
>Все данные можно получить в динамике.
Да ну? Расскажи, как это сделать в том коде.
Аноним 02/11/19 Суб 20:37:40 1511579518
Салам алейкум всем анонам.

Нужно ли использовать классы QFile, QString, если пишешь на Qt? Неужели у них реализация быстрее, шустрее и молодежнее чем у стандартной либы?
Аноним 02/11/19 Суб 21:03:52 1511597519
48484.png (3Кб, 467x89)
467x89
Захотел переписать обычный указатель с помощью умного, приложение падает после 1 прохода по функции, что тут не так? Закоментированый вариант работал.
Аноним 02/11/19 Суб 21:06:51 1511598520
>>1511597
После выхода из функции объект удаляется.
Аноним 02/11/19 Суб 21:07:05 1511599521
>>1507304 (OP)
Уже 4 месяца как я уволился с должности сеньора в одной из ДСных контор.
С мерзостью вспоминаю как я копал ебучий говнокод, общался с коллегами омежьими даунами с аутизмом, которые были похоже внешнее на мутации носорога и обезьяны ( Привет Антон ). Терпел тимлида велековозрастного пристарелого дауна, который был настолько омегой, что когда я увольнялся он даже сбежал со своими прихвоснями из кабинета, чтобы избежать неловкой ситуации ( Привет Костян ). Терпел всю эту скрамоскую клоунаду со ежедневными стендапами в 12:30, и прочее говно из мира айти выблядков, которых мне хотелось сжечь напалмом.

Как хорошо, что теперь я занимаюсь бизнесом и программирую только в UE4 чисто для души.

Я не понимаю нахуя вы изучаете этот ебучий с++, это же говно ебаное. Как только вы обмолвитесь, что вы программист, нормальные люди сразу будут к вам относиться с презрением.

Реал стори между прочем, я когда хожу на свидания, я никогда не говорил что я программист, иначе это сразу клеймо неудачника задрота, кем большая часть программистов анальчиков и является.


Единственное, что интересно, куда заведет язык поехавшие из стандарта С++. Они там хотели уже из С++ хаскель сделать в скором времени, только вот непонятно, нахуя это императивное говнище преврашать в такие прекрасные языки типа хаскеля получая на выходе тонну говна и мочи? Ладно кому не похуй на это? Все нормальные люди уже пишут c, python, go, js.
С++ это особый класс больных выблядков извращенцев, что-то типа анальных говнозавтров, которые любят обмазать друг друга какахами и слизывать потом все это.


Как поживаете, лошки?
Аноним 02/11/19 Суб 21:12:11 1511600522
>>1511598
Я до этого тоже удалял выделенную память через delete после выхода из функции. Как его тогда нужно было написать?
Аноним 02/11/19 Суб 21:19:29 1511603523
>>1511599
> я когда хожу на свидания, я никогда не говорил что я программист, иначе это сразу клеймо неудачника
Я никогда не старался предстать перед бабой тем, кем не являюсь. Какого хуя ты должен выстраивать свой образ под нужные ей ожидания? Как раз-таки из-за такого отношения видимо, на тебе и ставили клеймо.
>Единственное, что интересно, куда заведет язык поехавшие из стандарта С++.
Ничего хорошего из этого не выйдет. Это какой-то пиздец.

Аноним 02/11/19 Суб 21:34:19 1511611524
>>1511603
>Я никогда не старался предстать перед бабой тем, кем не являюсь. Какого хуя ты должен выстраивать свой образ под нужные ей ожидания? Как раз-таки из-за такого отношения видимо, на тебе и ставили клеймо.
Ну я просто по совместительству и музыкант и 3д артист и бизнесмен и спортсмен, мне хватало достижений чем можно похвастаться перед тян кроме программирования.
А так это просто предвзятое отношение.

Ладно, я преувеличил, я много ходил на свидания с тиндера у меня раньше развлечение такое было, да и сейчас есть, в общем бывало говорил, что программист бывало нет, но когда говорил мне говорили что-то типа - да ладно? Ты вообще не похож на программиста, они все такие знаешь задроты типа, а ты не такой.

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

Но не суть. В общем, что я понял пописав на С++ около 10 лет?
Что это говно, в первую очередь. Что нельзя доверять С++ всяким макакам, особленно с шаблонами, а то нагородят говнища, чтобы выебнуться типа кокой я илитарий нахуярил шаблонный говнокод, ну прям александреску # 2, а тебе потом разгребать это кривое дерьмо.
Вообще С++ лучше доверить только серьезным разработчикам библиотек, а для макакенов сделать упрощенный вариант, где нельзя будет юзать шаблоны, сырые указатели и прочее, чтобы долбоебы не могли себе выстрелить в ногу.

Аноним 02/11/19 Суб 21:40:01 1511616525
>>1511611
Красавчик, поступил точно так же год назад
Аноним 02/11/19 Суб 21:45:30 1511619526
>>1511599
Но всё это относится к программированию в принципе, а не только плюсам. Не знаю, чего ты сюда пошёл плакаться.
Аноним 02/11/19 Суб 21:45:45 1511620527
>>1511616
Мое увожение, бро.
Чем сейчас занимаешься?
Аноним 02/11/19 Суб 21:46:32 1511621528
>>1511619
С этим согласен, просто увидел тред про плюсы решил зайти спросить как дела, а заодно и высрать свою сторис.
Аноним 02/11/19 Суб 21:50:46 1511622529
>>1511620
Пишу фп на скале и радуюсь жизни. Л
Аноним 02/11/19 Суб 21:51:30 1511624530
Аноним 02/11/19 Суб 21:52:25 1511625531
Аноним 02/11/19 Суб 23:15:23 1511663532
Почему при попытке удаления этого указателя у меня выходит ошибка? Я так понимаю, что я пытаюсь удалить палитру, которую не создал из-за NULL? Как тогда это пофиксить?
Bitmap* image = new Bitmap(hbmScreen, nullptr);
Аноним 03/11/19 Вск 00:01:55 1511676533
Кто тут скажет, нахуя в ассоциативных контейнерах добавлены upper_bound и lower_bound методы, когда есть find и equal_range?
Аноним 03/11/19 Вск 00:05:26 1511677534
>>1511676
Тебе не нужно - не значит, что другим не нужно.
Аноним 03/11/19 Вск 00:07:41 1511678535
>>1511677
Бтв std::equal_range вызывает std::lower_bound и std::upper_bound.
А std::find - линейный поиск, тогда как алгоритмы выше - бинарный поиск.

Но мы передадим комитету, что ты сказал, что нахуй не нужно, а то они так и не додумаются сами.
Аноним 03/11/19 Вск 00:15:49 1511681536
>>1511611
Вообще, мне кажется, ты просто видел одну выборку программистов. Конечно, то, что ты описал, это, скорее всего, тотальное большинство (именно с такими мне приходилось встречаться по работе), но бывают исключения. Очень много зависит от того, где ты работаешь, какое начальство, принципы и так далее.

А касательно ущербности самой сферы, то я могу сказать на личном опыте, что отчасти ты прав. Я на несколько лет выбыл из программирования и занялся бизнесом арбузным. Могу сказать, что это об этом решении я ничуть не жалею, я получаю больше энергии от работы и сам её формат кажется мне более живым и интересным. Но с другой стороны, порой, накатывает ностальгия по тому как бы построчить чего. Сейчас я планирую завести трактор и сьебать программистом, продав свой бизнес.

Аноним 03/11/19 Вск 00:15:59 1511682537
>>1511678
Не std::find, а оптимизированный контейнерный метод , тупица

lower_bound/upper_bound заменяются equal_range, поэтому и у меня встал данный вопрос

>Но мы передадим комитету
Мамке от меня привет еще занеси
Аноним 03/11/19 Вск 00:28:31 1511685538
>>1511681
Конечно есть исключения, один из моих близких друзей как раз мой коллега с первой работы, тоже был крестовиком, потом перекатился в МЛ и тоже ненавидит программирование и дцп.

>Но с другой стороны, порой, накатывает ностальгия по тому как бы построчить чего.
Да, у меня такая же фигня, только я теперь очень четко понял разницу программировать для себя и программировать для дяди в коллективе даунов разгребая их говнокод.
Первое действительно приносит удовольствие.
Второе же приносит один сплошной негатив.
Поэтому если хочется программировать, лучше сделай это своим хобби и программируй когда это по кайфу, пили игры или приложухи какие-нибудь, заодно монетизировать все это будешь и будет лишняя копеечка в кармане.

>Сейчас я планирую завести трактор и сьебать программистом, продав свой бизнес.
Вот это очень зря, я бы не стал такое делать. Это все равно что меня свободу на рабство.
НАПОМИНАНИЕ Аноним 03/11/19 Вск 00:35:51 1511687539
С++ ебаное говно, используйте Rust.
Аноним 03/11/19 Вск 00:58:09 1511695540
>>1511687
Настоящие программисты пишут на Фортране.
Аноним 03/11/19 Вск 01:16:09 1511705541
>>1511597
Используй только weak и shared. Вся эта move-семантика для пидаров.
Аноним 03/11/19 Вск 01:30:02 1511724542
Решил вкатиться в ваши плюсы после дотнета. Я же могу просто открыть 17/20 стандарт и начать изучение? Или нужно начать с Си и пройтись по всем стандартам после?
Аноним 03/11/19 Вск 01:35:47 1511727543
>>1511685
>Это все равно что меня свободу на рабство.
В любом случае я буду стараться открыть свой бизнес там.
Просто в стране, куда я сьебыва, требуется огромный уставной капитал, чтобы учредить фирму, а помимо самого капитала мне нужно накопить еще какую-то подушку финансовую, чтобы не сбомжеваться. Поэтому я вынужден временно так проработать.
Аноним 03/11/19 Вск 01:35:50 1511728544
>>1511579
>Нужно ли использовать классы QFile, QString, если пишешь на Qt?
Да, нужно.
>Неужели у них реализация быстрее, шустрее и молодежнее чем у стандартной либы?
Нет, зачастую медленнее. Но
1) удобнее;
2) там функционала в 20 раз больше;
3) на всех поддерживаемых платформах работает предсказуемее чем стандартная либа (хотя иногда тоже поведение разное попадается), которая у всех своя;
4) ты ахуеешь пользоваться остальными частями Qt без них (в любом случае придётся всё перегонять в кутэшные типы).
Аноним 03/11/19 Вск 03:02:26 1511750545
>>1511405
Ты вызов лямбды забыл дописать, [](){}()
Аноним 03/11/19 Вск 03:11:39 1511751546
>>1511750
>[](){}()
Весь C++ одной строчкой
Аноним 03/11/19 Вск 03:18:01 1511756547
>>1511751
Ну а хули ты хотел?
можно чуть короче, []{}()
Аноним 03/11/19 Вск 06:16:08 1511782548
Подскажите, что почитать, чтобы разобраться с исключениями? Где нужно использовать, а где нет, и как это делать правильно?
Аноним 03/11/19 Вск 06:21:49 1511784549
>>1511782
Нужно использовать, когда функция может не выполниться. Например, если в ней происходит чтение файла и файл при этом не найден. Современная замена охуенной конструкции return ERR_HUYNYA_NAME;
Почитать можно stackoverflow. В общем то это универсальный ресурс, существование которого обесценивает все книжки по программированию вместе взятые.
Аноним 03/11/19 Вск 06:42:02 1511786550
>>1511784
Концептуально задачу исключений я понимаю, да, но вот читая Майерса, мутно представляю архитектуру использования исключений, он там пишет про всякие тонкие моменты их использования, при том на момент написания книги это была новая фича. Мой же опыт использования исключений - throw(ex(str)) при любой ошибке, как ты и отметил, а try оборачивал весь код в мэйне, чувствую, это полная хуйня.
Аноним 03/11/19 Вск 06:49:00 1511787551
>>1511786
Ну, хуёво если тебе приходится оборачивать код в мейне. Можешь наследовать свои исключения от std::runtime_error, но это скорее всего будет избыточно. Исключения - это не главная часть программы, просто используй их самым стандартным образом и не еби себе мозги.
throw(std::runtime_error("chto-to slomalos'"));
Аноним 03/11/19 Вск 09:46:17 1511812552
>>1509661
> Алсо, подскажите нахуя тут __pad
Для UB.
Аноним 03/11/19 Вск 09:50:09 1511813553
>>1509810
> l-value объект
У вас там каникулы ещё не кончились, что ли?
1. lvalue, а не l-value
2. lvalue это не объекты, а выражения
Аноним 03/11/19 Вск 11:34:04 1511847554
>>1511782
Их либо не используешь вообще, либо используешь везде, иначе будет каша. Первый вариант, имхо, лучше, особенно после добавления появления в стандарте optional. Конечно, ничего плохого в том, что всякие штуковины из внешних библиотек, которые завязаны на исключениях, нужно оборачивать в try-catch нет.
Аноним 03/11/19 Вск 12:25:06 1511892555
Драсте. Нужна ваша помощь. Есть прога, которая по ходу работы выводит числа в консоль и она должна делать это меньше чем за секунду. Я так подозреваю, что дергание консоли ради вывода одного символа несколько тысяч раз замедляет программу. Поэтому я запихнул даннные для вывода в массив. Как теперь разом вывести все элементы массива?
Аноним 03/11/19 Вск 12:28:45 1511897556
Аноним 03/11/19 Вск 12:40:58 1511910557
>>1511892
Собери из твоих результатов одну строку, соединенную '\n', и выведи ее
Аноним 03/11/19 Вск 12:41:40 1511911558
Аноним 03/11/19 Вск 13:02:27 1511931559
>>1511782
>Где нужно использовать, а где нет
Когда случилась критическая пиздецома и программа дальше выполняться не может
Аноним 03/11/19 Вск 13:12:24 1511941560
Как обнаружить конец ввода в консоль на си? У меня на вход поступает последовательность произвольно разделенная пробелами и переносами строк и ее нужно считывать ""пока не наступит ситуация "конец файла". С чтением из файла было бы понятно, но тут как?
Аноним 03/11/19 Вск 14:01:42 1511981561
>>1511941
>С чтением из файла было бы понятно, но тут как?
Так же.
Аноним 03/11/19 Вск 14:03:41 1511983562
>>1511599
> Как поживаете, лошки?
Мальчик.
Мне 20 лет.
Я работаю в компании-лидере в своей отрасли.
У меня очень красивая и умная девушка.
Я лидер метал-группы.
Я учусь в лучшем техническом вузе Москвы.
У меня в друзьях ходят очень влиятельные люди — от сыновей начальников ФСБ до директоров по безопасности отдельно взятых компаний.
Аноним 03/11/19 Вск 14:14:12 1511997563
>>1511750
Ты только что открыл врата в ад
Аноним 03/11/19 Вск 14:25:10 1512000564
Аноним 03/11/19 Вск 14:29:54 1512007565
Аноним 03/11/19 Вск 15:24:27 1512050566
>>1511941
while (std::cin >> std::skipws >> x)
std::skipws нужен как раз, чтобы символы переноса строк игнорировать, но тогда поток ввода нужно будет прерывать вручную.
Или через std::getline + std::cin.ignore()
Аноним 03/11/19 Вск 16:11:28 1512118567
Есть оператор if с n условиями if (1 and 2 and ... n).
Как коротко сделать, чтобы возвращалось true при 0 или одной ошибке?
03/11/19 Вск 16:19:48 1512127568
>>1512118
>при 0 или одной ошибке
Не понял вопроса, но отвечу. Если хотя-бы одно условие в твоём случае даст false, то все последующие условия не будут проверятся. Можешь разве что расположить условия от наиболее ожидаемого к наименее ожидаемому, хотя это экономия на спичках ящитаю
Аноним 03/11/19 Вск 16:27:35 1512143569
>>1512127
Ты прав, хреновая идея. Тогда разобью целый if на if-ы для каждого условия и пройдусь счетчиком, но хотелось бы идеальное решение.
Аноним 03/11/19 Вск 16:27:51 1512145570
>>1512118
Сделать вложенные if-ы и создать счетчик, инкрементирующийся при ошибке. В конце смотрим его значение и возвращаем соответствующий результат
Аноним 03/11/19 Вск 16:32:32 1512152571
if((int)(!condition1)+(int)(!condition2)+...+(int)(!conditionN)<2){
//...
}

Не благодари
03/11/19 Вск 17:23:34 1512201572
>>1512145
> if-ы и создать счетчик, инкрементирующийся при ошибке. В конце смотрим его значение и возвращаем соответствующий результа
Лучше в стиле современных плюсов заебашить вектор предикатов и форичем с лямбдой пройтись
Аноним # OP 03/11/19 Вск 17:53:41 1512224573
Ебалаи, запилите уже перекат

ОП
Аноним 03/11/19 Вск 19:48:04 1512287574
Аноним 03/11/19 Вск 20:08:50 1512302575
>>1511724
Нет, придется учить 14 стандарт, а потом гуглить
Аноним 03/11/19 Вск 20:12:01 1512304576
>>1511724
> просто открыть 17/20 стандарт и начать изучение
> просто

Ну удачи, хули
Аноним 03/11/19 Вск 20:25:16 1512315577
>>1511724
Открой книжку страуструпа на 1300 страниц и читай. Она вообще обо всем для человека, умеющего программировать. А сам стандарт открывать не надо, он для комитета
Аноним 03/11/19 Вск 20:57:59 1512336578
>>1512315
>>1512304
>>1512302
А зачем мне старье учить? Это тоже самое, что и .net framework 3.5 изучать, смысла нет. Пролистал краем глаза первую взятую книгу Бьерна, там простейшие принципы ООП и программирования в целом, я это все знаю. Мне же нужно научиться писать современный код на плюсах в реалиях 2020 года.
Аноним 03/11/19 Вск 21:36:30 1512370579
>>1512336
Effective C++
Effective Modern C++
И что-нибудь по STL, хоть из того же C++ Primer.

Хотя сама уверенность, что ты легко воспримешь C++ после дотнета, довольно забавна. Скорее всего, ты не осилишь даже указатели, и бросишь.
Аноним 03/11/19 Вск 21:39:08 1512374580
Массивы создаются на стеке или на куче?
Аноним 03/11/19 Вск 21:43:43 1512379581
>>1512370
>Хотя сама уверенность, что ты легко воспримешь C++ после дотнета, довольно забавна. Скорее всего, ты не осилишь даже указатели, и бросишь.
Сколько гонору-то. Ничего в этом сложного нет, если знаешь архитектуру компьютера и ОС
Аноним 03/11/19 Вск 21:46:26 1512385582
>>1512379
>дотнет
>знаешь архитектуру компьютера и ОС
/0
Аноним 03/11/19 Вск 21:47:54 1512387583
Аноним 03/11/19 Вск 21:50:27 1512392584
Аноним 03/11/19 Вск 21:51:25 1512396585
Аноним 03/11/19 Вск 21:54:32 1512398586
>>1512396
Пасибо. Еще вопросик. Есть у меня программа на си, которая считывает символы. Все хорошо, пока я не нажму enter. Говорят что я пытаюсь использовать невыделенную память. Что не так с переносом строки?
Аноним 03/11/19 Вск 21:55:13 1512400587
>>1512398
Без кода вообще хуй знает, что у тебя там
Аноним 03/11/19 Вск 22:01:03 1512411588
>>1512400
Я понял в чем была ошибка. Но теперь не знаю как задачу решить. У меня на вход поступает последовательность символов, в случайных местах разделенная пробелами и переносами строки.
Аноним 03/11/19 Вск 22:07:52 1512419589
>>1512336
Затем, что одни фичи были добавлены в одном стандарте и есть до сих пор, а другие заменены/устарели/усовершенствованы.

Тебе просто нужно учить современный cpp, где-то это будет 11 стандарт, а где-то 17, скоро и 20 на подходе.

Можешь посмотреть лекции по C++ от PVS Studio, там кратко рассматриваются нововведения стандартов.
03/11/19 Вск 22:16:45 1512436590
>>1512419
Двачую, в 20-м подвезут концепты и рядовому программисту вообще нахуй не нужны будут эти std::enable_if и шаблонные рекурсии со сфинаешкой, просто requires написал и идёшь чай пить, но некоторые вещи типо лямбд и структуред байндинг лучше запомнить, ибо очень даже полезная хуйня
Аноним 03/11/19 Вск 22:17:38 1512437591
>>1512436
в среднем, действительно рядовому программисту это все никогда и не было нужно.
03/11/19 Вск 22:20:33 1512441592
>>1512437
Как минимум умение прочитать чей-то код и не проебать собеседование - причины это всё знать. Теперь ты просто увидишь
template<class Container>
void print_stl_container(const Container& c) -> requires(begin(),end())
и сразу поймешь что к чему, без всяких std::void_t<decltype(std::declval<Container>().begin()...
Так что если ты вкатываешься в 20+ году, то смысла учить эту часть в 17-м нет
Аноним 03/11/19 Вск 22:22:18 1512445593
>>1512441
Смысл ее учить таки есть, потому-что даже гугл еще не перешел на C++17, не говоря уж о C++20

Когда меня собеседовали, спросил про это. Сказали что через год-два будет С++17 только, щас 14.
03/11/19 Вск 22:23:53 1512447594
>>1512445
Вот ты опытный видимо, обьясни нюфагу почему большие компании просто не могут просто перейти на новый стандарт? Если код был на С++11, в чём проблема перейти на С++17, учитывая что весь код обратно совместим? Разве что у них там уб на уб, тогда действительно лучше не трогать
Аноним 03/11/19 Вск 22:26:59 1512453595
>>1512447
Я переводил проект на работе с С++11 на С++17, и включал /permissive- в Вижуалстудии (чтобы код был полностью стандартным, без хуйни).

Так вот - главная проблема это всякая нестандартная хуйня, которую пишут как знают. Особенно в случае микрософта с возможностью биндить rvalue к неконстантным референсам, и прочей вот такой вот странной херне. Просто включаешь новый свитч компилятора - и у тебя пакован ошибок компиляции.

Если есть кому это разгребать мне лол, то здорово.

Ты прав в том, что если у тебя действительно хороший код - то да, никаких проблем нету. Но хороший код редко у кого есть.
03/11/19 Вск 22:28:27 1512459596
>>1512453
>то да, никаких проблем нету. Н
То есть по факту, если код с соблюдением стандартов и без всяких велосипедов, то чтобы перейти на новый стандарт ты просто флаг компилятора меняешь, и всё? Сколько у же у компаний говнокода, раз они годами перейти не могут
Аноним 03/11/19 Вск 22:32:13 1512462597
>>1512459
По идее - да. Но часто есть другие вещи, как, например, легаси-говно в проекте, которое никто не будет вот так вот менять. Такие как "наши проприетарные либы собраны вижуал студией 2010, мы будем сидеть на ней всю жизнь". В реально-больших-уровня-гугла проектах много подобной херни. С маленькими проектами все сильно проще.
03/11/19 Вск 22:33:19 1512464598
>>1512462
Странно что до сих пор не сделали фичу типо extern "C++11", обернул часть кода в 11 стандарт, а новые фичи на 20-м пилишь и не паришься о легаси.
Аноним 03/11/19 Вск 22:36:08 1512465599
>>1512464
Таких предложений в комитете было дохуища. Комитет не хочет делать диалекты языка. Да и какой ад будет для компиляторщиков поддерживать эти гигатонны дряни. Сейчас Витторио Ромео попытался пропозал с Эпохами запушить в комитет, но шансов немного на его принятие.

Разговаривал на эту тему с Тимуром Думлером в Питере позавчера
Аноним # OP 03/11/19 Вск 22:40:17 1512469600
ПЕРЕКАТ
>1512466
>1512466
>1512466
>1512466
Аноним # OP 03/11/19 Вск 22:40:35 1512470601
Аноним # OP 03/11/19 Вск 22:41:18 1512472602
Аноним 03/11/19 Вск 22:46:22 1512476603
>>1512370
В днонете есть unsafe так-то. Я этим умею пользоваться, также есть знания о принципах работы ОС и понимание модели памяти. Я даже IL-асм щупал, а ты меня в js-макаки сразу записал, ну спасибо.

>>1512379
Да он толстит видимо.
Аноним 03/11/19 Вск 23:06:43 1512496604
>>1512411
stringstream - то, что тебе нужно
Аноним 04/11/19 Пнд 00:53:15 1512547605
Аноним 04/11/19 Пнд 01:01:48 1512548606
>>1512441
Можно же просто decltype(auto)?
Аноним 04/11/19 Пнд 01:12:01 1512550607
>>1511983
>Я учусь в лучшем техническом вузе Москвы.
У меня флешбеки от этого выражения, не говори так больше.
Аноним 04/11/19 Пнд 01:22:47 1512557608

>>1512547
А чего ты тогда к крестобоярам пришёл? Перепиши на плюсах, си для этого не очень подходит. Ну или бегай через for и проверяй, не пробел ли этот символ.
Аноним 04/11/19 Пнд 01:25:32 1512558609
>>1512557
Да блин. Условие оьязательное, что нужно на си писать. Ладно. Я пошел в си тред. Спасибо
Аноним 04/11/19 Пнд 12:19:38 1512768610
Итак, аноны. Имеется класс
[code]
template<class T>
class MyPtr
{
T const m_p;
template<class U>
friend class MyPtr<TT>;

// Напрямую создать не можем
MyPtr(T const
ptr) : m_p(ptr){};

template<class U>
friend MyPtr<T> my_cast(MyPtr<U> const & other)
{
return MyPtr<T>(dynamic_cast<T const *>(other.m_p));
}
}
[/code]

Как заставить my_cast "увидеть" приватный конструктор MyPtr?
Аноним 04/11/19 Пнд 12:21:00 1512769611
>>1512768
Ебаная макака, там в конструкторе T const ★ и в самом классе тоже
Аноним 04/11/19 Пнд 12:21:47 1512770612
>>1512768
> friend class MyPtr<TT>;
Тут тоже <U>
Аноним 06/11/19 Срд 14:39:42 1514550613
>>1511599
> велековозрастного
> прихвосням
> пристарелого
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов