Этого треда уже нет.
Это копия, сохраненная 18 ноября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Снимок экрана 2019-10-28 в 13.26.14.png28 Кб, 812x254
3 1507316
4 1507326
>>1507309
Маня, шел бы ты нахуй со своим наследованием и полиморфизмом
5 1507349
Это, я так понимаю, не распространено на данный момент? Ни разу не встречал пока.
6 1507361
>>07349
Это перестанут использовать, когда активно начнут использовать модули
7 1507367
Аноны, где сейчас пишут на крестах? А где категорически не используют? Опытные крестовики могут найти удаленку или это очень сложно в случае с крестами?
8 1507373
>>07367
в чем дикая проблема посмотреть на hh.ru твой первый вопрос?

Второй вопрос - удаленки нет. Вообще.
9 1507376
>>07361
А на данный момент это использовать нужно или нет? В прошлом треде писали, что студия перекомпилирует чуть ли не построчно
10 1507382
>>07373
ща удаленка только для веберов, прогающий на макакаскрипте, есть? Печаль
2019-10-28-141013450x103scrot.png8 Кб, 450x103
11 1507383
>>1507205
В смысле не пользуюсь? Я генерирую метод on_message, посмотри внимательнее

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

>>1507309
По-твоему лучше в каждом сообщении иметь метод callback, который будет знать про тип receiver_t? Это ж форвард-декларить его придётся, а так же писать в каждом сообщении код, который к сообщениям вообще не относится.
12 1507385
>>07373
Не правда. Я работаю удалённо стабильно 2-3 раза в неделю.
13 1507387
>>07385
это не удаленка
14 1507388
Крестогоспода, подскажите нубу. Открываю в visual studio проект с семплами. На все инклюды, которые видимо в зависимостях(там sdk) выдается ошибка типа "cannot open source file... *.h" при этом проект билдится и работает нормально. Куда смотреть?
15 1507389
>>07388

> visual studio


Фу, блядь
16 1507391
>>07376
Студия не перекомпилирует построчно. Крайне геморно из AST вычленять функции/классы и кешировать их объектный код (который вообще лежит весь в одном .obj для всей единицы трансляции). Самый максимум, в который я поверю, - закешировать вывод препроцессора + параметры компиляции. И то есть ограничения.
17 1507393
>>07376
Используй без фанатизма. Если от времени компиляции начнёт припекать, подчистишь узкие места.
18 1507472
>>07388
Чел... Тут все сидят на альт линуксе и clion.
19 1507477
>>07472
Чо, прям все?
20 1507478
Ку, плюсач.
Студентота на связи. Кресты начал учить год назад, как только был курс по ООП на плюсах в инсте (включал в себя все вплоть до с++14 стандарта ну и STL, разумеется). Потом был небольшой перерыв, а потом опять вернулся к плюсам.
Мне нравится язык, хоть он и сложный относительно, но есть ли смысл на него налягать? В бэкэнде везде го и джава, в вебе плюсы ВООБЩЕ отсутствуют. Стоит ли готовиться к тому, что у меня, как у крестовика, два выхода из положения: 1) Поддержка легаси-кода; 2) Сверхнизкоуровневая стезя вроде имбэддэда или микроконтроллеров, а тут надо еще будет электронику учить (я учу камплюхтер саенс, я не шарю в электронике вообще).
21 1507479
>>07472

> clion


Говори за себя, говноед.
22 1507480
>>07478

> в вебе плюсы ВООБЩЕ отсутствуют


Не пизди, есть WebAssembly.
23 1507486
>>07478
Открывай хх и сам смотри, чего ты как маленький то. Мне всего 22, вышки у меня нет, но даже я разобрался что к чему.
24 1507493
>>07383
ты на протяжении третьего треда даже не хочешь писать, обрботку какого бинарного протокола пишешь..
ну не хочешь, дак и ладно..
но всегда можно глянуть референсную реализацию данного протокола..
вангую, тебя там ждет много открытий..
25 1507501
>>07493
У меня самопальный протокол.

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

В принципе нехитрый протокол, самый обычный можно сказать. Для передачи чисел и строк его хватает.
26 1507507
Какая либа/фреймворк в сипипи хорошо подходят для имплементации протоколов передачи данных? Напрямую с API ОС будет геморно работать, учитывая еще тот факт, что я на Линуксе.
27 1507561
>>07349
Лол, ты не встречал forward declaration? Ты вообще исходники на плюсах открывал?
28 1507569
>>07561
Речь о классах-конвертах/дескрипторах
29 1507581
>>07501
Используй grpc
30 1507590
>>07581
Он завязан на протобуфе, нахуй надо.
31 1507593
>>07569
А, бля, там про pimpl рассказывается. Исходники Qt глянь, там всё на pimpl'е.
Используется для сохранения abi
32 1507597
>>07590
это твой говнопротокол нахуй не нужен, а протобаф - охуенная вещь, тебе в прошлом треде уже сказали. Блядь, во-первых у тебя маня-стереотипы о протобафе, во-вторых в твоем говнопротолоке 4 недосообщения. Надо быть полным аутистом, чтобы ради этого пердежа педалить свой протокол.

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

>У меня самопальный протокол.


ты проанализировал существующие решения и они тебя не устроили? так что ли?
34 1507604
>>07597

> педалить свой протокол.


Да разве это протокол? Это просто байты, которые я передаю. Нахуй ради них что-то ставить, когда свою сериализацию можно сделать за 10 минут?

> в прошлом треде уже сказали.


Лол
35 1507605
>>07601
По началу был json - но он слишком тяжеловесный, вот я и решил переключиться на бинарные данные.
36 1507617
Какая либа/фреймворк в сипипи хорошо подходят для имплементации протоколов передачи данных и в целом для работы с сетью? Напрямую с API ОС будет геморно работать, учитывая еще тот факт, что я на Линуксе.
37 1507620
>>07601
>>07597

А нахуя нужны столь монструазные решения для пересылки трёх сообщений? Проще же просто байты туда сюда гонять и всё. Наебенить какую-нибудь хитроумную валидацию и заебись же, не?
38 1507621
>>07617
boost
39 1507625
>>07617

>целом для работы с сетью


boost asio же
2019-10-28-172926846x575scrot.png63 Кб, 846x575
40 1507628
>>07620
Ну, это пока их три. Дальше будет больше.

Вообще я не вижу смысла использовать протобуф. Вот как я сейчас создаю сообщения - просто и без декларативных макросов. В принципе в такую систему можно легко запилить и протобуф, если понадобится.
41 1507634
>>07604

>Нахуй ради них что-то ставить, когда свою сериализацию можно сделать за 10 минут?


Ты бы знал, как часто я слышал этот бред в своей работе. Я видел самописные:
- 3 либы rpс + serialization
- 2 тестовых фрейворка + моки
- бесконечное количество синхронизирующих примитивов
- yet another thread pool impl
- свои парсеры
- итераторы, контейнеры, умные указатели, контейнеры умных указателей
- строки. Однажды видел 7 разных классов строк в одном проекте
- стореджи, каждый первый хочет написать свое кеширующее random access хранилище
- Абстракции над фс

Просто иди нахуй, ок? Ты меня бесишь просто своим существованием
42 1507637
>>07634
Ах да, забыл:
- свой веб-сервер, который начали писать в 2к17 (просто пиздец)
- свой менеджер кластера (когда был готовый mesos и еще вагон аналогов)
- своя ORM
- свой map/reduce кластер
- свой самописный мониторинг машин в кластере
- своя личная JSON и XML ЛИБА БЛЯТЬ. СУУУКАА
43 1507643
>>07628
задетектил в тебе говноеда по rapidjson. И да, удачи тебе с клиентом не на C++, с реализацией option полей, с реализацией sync/async стриминга.
44 1507646
>>07634
Если нужного мне функционала нет в популярных библиотеках(stl, boost, rapidjson, etc.) - я пишу его сам, потому что использовать очередную говнолибу по типу протобуфа только ради того, чтобы не изобретать велосипед - это ебанатство, потому что сам протобуф - тот ещё велосипед блять, и интегрировать его в проект не так-то просто. У меня же решение получилось элегантным и работает без макросов.

>>07643

> задетектил в тебе говноеда по rapidjson


А какие альтернативы?
45 1507650
>>07634

> - своя личная JSON и XML ЛИБА БЛЯТЬ. СУУУКАА


Проиграно
46 1507655
>>07617
ответ зависит от того, что это за протокол, бинарный, текстовый, дуплекс это или полудуплекс, на каком уровне сетевой модели он работает, насколько критичны требования к задержке сигнала, критична ли потеря данных..
47 1507666
>>07646

>А какие альтернативы?


nlohmann json

>очередную говнолибу по типу протобуфа


>протобуф - тот ещё велосипед блять


И ты так решил, потому что ...?

>У меня же решение получилось элегантным и работает без макросов


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

Ты просто наговнил очередной велосипед, которых полезен только с академической точки зрения.
48 1507678
>>07666

> Нет документации


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

> нет поддержки


Если что-то сломается - я сам и починю.

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


Это не рабочий проект, а мой личный, над которым работаю я один.

> нет поддержки других языков


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

> нет реализации 99% фич всех нормальных rpc-либ.


А нахуя они мне нужны? Я, блять, просто байты туда-сюда гоняю.

Я в ахуе блять с вас. Переменные тоже каким-нибудь охуительным фреймворком объявляете?
49 1507682
>>07621
>>07625
Но ведь в boost asio нет сырых сокетов, в отличие от Poco
50 1507683
>>07682

> Poco


Спасибо, поблевал
51 1507685
>>07678

>я пишу в учебных целях


дискуссия больше не имеет смысла
52 1507687
>>07637

>воя личная JSON и XML ЛИБА БЛЯТЬ. СУУУКАА


О, у нас на работе тоже есть такие
53 1507688
>>07666

>>А какие альтернативы?


>nlohmann json


Сам ты такой
54 1507690
>>07685
Ну, вообще, на этот проект у меня есть коммерческие цели. А обучение - это неотъемлемая часть написания кода - хоть ты пишешь свой пет-проект, хоть энтерпрайз.

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

Я сам не сторонник велосипедов, но тащить на каждый пук очередную громадную либу считаю большим говноедством, чем написание велосипедов.
55 1507696
>>07678
Забавно, что в том месте, где напрашиваются шаблоны, у тебя бойлерплейт
56 1507698
>>07696
Я решил делать без них, потому что хочу сохранить названия методов.
57 1507703
>>07349
В чем космический эффект от сокрытия ?
Если тебе не надо куда-то лезть, ты туда и не полезешь.
58 1507716
>>07703

>В чем космический эффект от сокрытия ?


Например сохранение abi
59 1507749
>>07304 (OP)
>>1507748
Ай блять перекотили уже. Перепощу
Что могут спросить на собеседовании при наличии следующей фразы в требованиях

>знаком со средствами обобщенного программирования в С++ (templates);


Впервые такую формулировку вижу. И еще, сколько обычно отвечают на резюме, и отвечают ли на него вообще если ты не проходишь?
60 1507767
>>07698
Клиника.

Уберите этого обезумевшего студента из треда.
61 1507770
>>07628

>протобуф


Ты уже даже меня заебал. Четвёртый тред выбираешь, протобуф или хендмейд
62 1507774
>>07767
В смысле? Хочешь чтобы было reader.read<unsigned short>() вместо reader.read_uint16()?

>>07770
Я уже давно выбрал, но местные энтерпрайз-макаки в треде никак не уймутся.
63 1507776
>>07749
например, variadic templates как нвидиа-кун

отвечают или нет зависит от ебанутости компании. Если ебанутые, то не отвечают
64 1507780
>>07628
Тут в прошлом или позапрошлом треде аноно затирал, что shared_ptr в его атомарным счётчиком невьебенно тормозноё
65 1507781
>>07780
Блядь, я вроде трезвый, а ошибся в каждом слове
66 1507783
>>07776

>т от ебанутости ком


Пиздос, на весь город две вакансии джуна, в одной вообще пиздец какой-то требуют знание еще 3 языков, надеюсь ответят.
Алсо, могут попросить реализовать трейты там какие-то или кортеж свой на джуна, или это выше уровень? Я в принципе могу, но синтаксис забываю.
67 1507788
>>07776
Бля, я тоже хочу в нвидию наворачивать темплейты. Заебался дрочить UI, ощущаю себя фронтэнд макакой.

>>07780
У меня же не дробилка чисел, мне лишние пару тактов вообще до пизды. Зато архитектура получается стройная и масштабируемая.
Физика у меня вообще считается js-ным движком через embedded V8, лол, но это уже отдельный разговор.
68 1507803
>>07783

>Алсо, могут попросить реализовать трейты там какие-то или кортеж свой на джуна, или это выше уровень? Я в принципе могу, но синтаксис забываю.


Зависит от ебанутости собеседующего. Если долбоёб, то может что угодно попросить
69 1507805
>>07690

>громадную либу


>embedded v8


Лол.

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

Ну и естественно сама либа для работы с сетью места займет. В итоге нихуя не сэкономишь и тупо напишешь половину grpc. Раз ты игру делаешь, да еще физику считаешь, то тебе стопудово придется делать стриминг, а значит ты там вообще охуеешь реализовывать это все.
70 1507806
>>07788

>Физика у меня вообще считается js-ным движком через embedded V8, лол, но это уже отдельный разговор.


Физика. считается. js-ным. движком
ЕБААААААААААААААТЬ, СКОРУЮ СРОЧНО, ТУТ ЕБАНУТЫЙ!!!
71 1507808
>>07788

>Бля, я тоже хочу в нвидию наворачивать темплейты. Заебался дрочить UI, ощущаю себя фронтэнд макакой.


Александреску всего прочёл?
72 1507809
>>07808
вопрос не в том, прочитал ли ты александеску (это подразумевается), а в том насколько свободно ты те же концепции можешь использвать, но реализуя возможности современного с++.. на данный момент, к примеру, мы можем вообще отойти от использования техник функцинального программирования, в частности, рекурсивного инстанциирования, при метапрограммировании, просто заменяя эти техники новыми конструкциями языка, имеративными, но выполняющимися и (опционально) в компайл тайм
73 1507813
>>07809

>мы можем вообще отойти от использования техник функцинального программирования


>просто заменяя эти техники новыми конструкциями языка, имеративными, но выполняющимися и (опционально) в компайл тайм


Звучит как отсутствие бенчмарков и преждевременная оптимизация. Prove me wrong
74 1507814
>>07783

> но синтаксис забываю.


ничего страшного! как говорил сам дедушка страуструп: для языка с++ важнее семантика, а не синтаксис!
75 1507817
>>07814
Какая-то сложная шутка
76 1507818
>>07780
ходят слухи, шо новый шланг понимает что типа код однопоточный, и не делает для шаред пойнтера атомарный счетчик
77 1507821
>>07805
Чтобы подключить grpc - мне надо будет переписывать весь проект, а я к этому не готов. И что он мне даст кроме того, что вместо велосипеда я буду использовать обёртку над grpc такого же размера, как и сам велосипед, а то и больше?

> Раз ты игру делаешь, да еще физику считаешь, то тебе стопудово придется делать стриминг


Что ты называешь стримингом?

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

>>07808
Вместо книжек я читаю stackoverflow
78 1507823
>>07749

>знаком


рядом стоял? значит знаком!
79 1507828
>>07821

>Вместо книжек я читаю stackoverflow


получишь фрагментарные знания, не более
80 1507830
>>07828
Имплаинг что этого недостаточно для того, чтобы стать сеньором.
81 1507834
>>07821

>И что он мне даст кроме того, что вместо велосипеда я буду использовать обёртку над grpc такого же размера, как и сам велосипед, а то и больше?


Зачем нужна обертка, если используешь grpc? И что за обертка вообще?

>Что ты называешь стримингом?


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

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


С каких пор для подключения либы надо переписывать весь проект?
82 1507839
>>07830
тогда ты будешь жуликом, не более
83 1507846
>>07834

> Зачем нужна обертка, если используешь grpc? И что за обертка вообще?


> С каких пор для подключения либы надо переписывать весь проект?


Чтобы либа красиво ложилась на архитектуру - для неё надо писать обёртку. Не получится же у тебя, допустим, просто так и без задней мысли заменить отрисовку с SDL на OpenGL. В SDL просто рисуешь квадрат, а в OpenGL ебёшь буфферы, биндишь шейдеры, отправляешь на видеокарту вершины и т.д.
Просто как пример

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


Такое у меня уже реализовано
84 1507848
>>07839
Жуликом будет тот, кто вызубрил книжку, но нихуя на практике не умеет/не помнит.
85 1507856
>>07846

>Такое у меня уже реализовано


пруф

>Чтобы либа красиво ложилась на архитектуру - для неё надо писать обёртку


Пустые слова. Не надо
86 1507859
>>07814
в чем разница!?!?
87 1507870
>>07859
между синтаксисом и семантикой? это троллинг тупостью, что ли?
88 1507873
>>07848
одних практических знаний не достаточно для мастерства, нужна еще и теория
а взять ее можно только из книжек
89 1507884
>>07873
Это тебе в вузе сказали?
90 1507890
>>07870
Это ты спизданул, теперь ты и объясняй почему согласен с трупом страуса.
91 1507902
>>07304 (OP)
В чём космический эффект первой гифки?
1564417309261.jpg60 Кб, 604x460
92 1507911
Помогите разобраться плез в Qt.
Допустим, у меня есть QPushButton, QLineEdit и есть метод void Add(int N). Также есть какой-нибудь контейнер для int-ов.
Мне надо, чтобы по нажатию кнопки вызывался бы метод Add и добавлял введенное число из QLineEdit-а в контейнер. Вроде бы кажется все просто, пишешь:
connect(button, &QPushButton::clicked, this, &MyClass::Add),
но непонятно, как в этом коннекте передать само число из QLineEdit-а, чтобы оно сунулось в Add.
Как это делается то?
93 1507912
>>07911

>connect(button, &QPushButton::clicked, this, [this](){container->push_back(button.text().toInt();});

94 1507914
>>07912
Ай бля проебался, line.text нужно, суть ты понял.
95 1507915
>>07383
В C++ нельзя генерировать методы без внешних утилит. То, что ты написал - это пиздец, посмотри, какой там тип в конце получается.
1431495631956.jpg48 Кб, 498x456
96 1507917
>>07912

> [this](){container->push_back(button.text().toInt();}


Матерь Божья, это что еще за конструкция? Как она работает?
97 1507919
>>07902
Судя по интерфейсу фитча QtCreator'a
98 1507920
>>07388
Как именно они инклюдятся? Какая последовательность сборки?
99 1507921
>>07917
лямбда
100 1507922
>>07921
То есть просто написать connect(button, &QPushButton::clicked, this, &MyClass::Add(LineEdit.text().toInt())) я не могу, а через лямбду могу любые методы вызывать внутри коннекта?
101 1507924
>>07919
Не, он другой. Это клион какой-нибудь.
102 1507927
>>07922
Как ты вообще догадался залезть в c++ в 2019 году без знания лямбд? Это ж самая полезная штука после auto
103 1507929
>>07927
Хз. У меня знания только уровня мухосранского универа, а в мухосранском универе лямбды не проходят.
104 1507934
>>07929
Так изучи сам, хуле
105 1507974
Eсть тут ребята работающие в геймдеве? Так заебало джсоны парсить, хочется чего-то интересного и творческого.
106 1507986
>>07974
Есть. Не лезь сюда, парси jsonы дальше
107 1507989
>>07986
Почему?
108 1507990
>>07974
Не лезь, дебил, она тебя сожрет. Ты в душе не ебешь что это такое и какое количество матана есть там, ты головой ебанешься. Лучше парсь джейсоны дальше, если не хочешь шизуху схлопотать.
image.png37 Кб, 1415x198
109 1507996
>>07856

> пруф


Вот метод, где парсится заголовок сообщения. Как видишь, первым байтом идёт номер пакетов.

>>07915
Получается тип receiver_t<login_t, chat_t, delta_state_t, etc>
Что не так?
110 1507997
>>07996

> количество пакетов


Фастфиксобъебался бля
111 1508016
>>07996
Ага, только у тебя передача батчей, а в стриминге кол-во пакетов заранее не известно - изволь ждать, пока он все отправит, при этом поддерживать health соединения, останавливать отправителя (когда у тебя приемный буфер заполнен), и запускать отправителя(когда читатель буфера все забрал). Еще не забудь пиздатенько организовать двусторонний асинхронный стрим, аутентификацию/авторизацию, реализовать быструю многопоточность, написать ебическую тучу тестов и бенчмарков и бонусом наверни flow control, load balancing, monitoring и грамотный выбор транспортного протокола.

Удачи, братан.
112 1508018
Появилась идея написать программу для взятия производных, да вот не знаю как по грамотному парсить формулы. Может подскажите?
113 1508021
>>08018
R E G E X
R
E
G
E
X
114 1508028
>>08016
Пиздец короче. Когда начнёт тормозить - буду оптимизировать. Сразу это нахуй надо писать.

Спасибо алсо
115 1508040
>>08018
LL(1), метод рекурсивного спуска. Пишется за пару часов.
инб4: полуёбки с яками, бизонами и GLALR(228)-генераторами заранее идут нахуй

>>08021
Или ты сейчас покажешь нам регексп для разбора вложенных скобок, или ты хуй и говно.
116 1508043
>>08040
Ловите драгонбукоблядь
117 1508044
>>08040

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



Автомат с магазинной памятью. Открытая скобка - пуш в стэк, закрытая скобка - поп из стэка. Если после попа ИКС стэк пуст - конец выражения и скобки сбалансированы, если под конец парсинга выражения стэк не пуст - есть ошибка и скобки не сбалансированы. Если не даун обоссаный, то ты поймешь концепцию + погуглишь для закрепления, дальше дело синтаксиса регекспа конкретного ЯПа.
118 1508047
>>08044
Это не регексп, даунито.
119 1508064
>>07304 (OP)

>vs.jpg


Поясните смысл пикчи.
Если упоминание http://wg21.link/n2520 ещё понятно, но чем http://wg21.link/n2530 заслуживает такого внимания?
И почему road to success лежит мимо концептов?
120 1508066
>>07349

>Это, я так понимаю, не распространено на данный момент?


Да, правило 34 сейчас другое.
121 1508067
>>08018
Не слушай всяких "умников", парси регекспами, как все тру-пацаны.
122 1508071
>>08043
Как что-то плохое..
qtw.png5 Кб, 1446x37
123 1508106
>>07919
У креатора статический анализ слегка по другому выделяется.
124 1508125
>>07996

> receiver_t<login_t, chat_t, delta_state_t, etc>


Это ты сам придумал или реально посмотрел?
125 1508131
Nvidia-кун, это правда, что вы используете VCPKG?
126 1508162
>>08131
Планируем всю инфраструктуру на него переводить нашу. Пока перевели парочку проектов, о чем и будет доклад на C++ Russia Piter 2019. А так - да, всем всё нравится, всё работает. Конан щупали, оказалось проще допилить версионирование в vcpkg, чем ебаться с конаном.
127 1508177
Это просто пиздец, сколько Qt Creator занимает времени на обновление всяких красных подчёркиваний после переименования например.
128 1508188
>>08162
Двачую, откуда у конана такая популярность - хз, говно говном.
129 1508247
>>08162
Ты будешь доклад делать? Алсо, доклад про vcpkg - ебанный стыд, как и вообще его выбор в проектах. Вы хуево провели анализ предметной области
130 1508293
>>08247

> Ты будешь доклад делать


Нет

> Алсо, доклад про vcpkg - ебанный стыд, как и вообще его выбор в проектах


Конечно, ведь тебе то виднее.
131 1508310
>>08293
Во всех компаниях рано или поздно появляется задача выбрать организацию репозитория, систему сборки, настроить ci/cd. Проблемы у всех одинаковые, решения тоже. Так что да, вероятность 100%, что есть те, кому виднее.
132 1508312
>>08310

>рано или поздно


Охуел? Репа это первое, что вообще надо сделать
133 1508319
>>08310
А еще есть куча каргокультистов, которые верят в одинаковые решения, и не думают головой. То, что работает в одном месте, не факт, что заработает в другом, да и вообще не факт, что изначально и в первом месте было оптимально.

Ну и да, программному комитету конфы доклад зашел, его мнение все таки будет более авторитетно.
IMG20191029174801.jpg336 Кб, 1080x1705
134 1508325
Извините, я вас периодически буду заёбывать в ходе обучения, потому что нужно мнение из 2019 года всё-таки. Это нормальная рекомендация? С одной стороны вроде валидация, а с другой - какой дебил будет передавать енум, которого нет?
135 1508328
>>08312
Обычно сперва хуячат гит, а потом после добавления нескольких либ начинается распутье: монорепо (для серьезных людей) / гит с подмодулями (для олдфагов в опенсорсе) / подтягивание исходников зависимостей билд-системой (современный подход в опенсорсе) / подтягивание бинарников зависимостей билд системой (для конченных, исключение - языки с ir) / линковка на системные либы (для ценителей поедания говна) / самописный франкенштейн из башскриптов(смаке,etc), который совмещает все вышеперечисленное (особая опция для поехавших плюсовиков-велосипедописателей)
136 1508330
>>08325
enum class валидируется за тебя. Так что не очень актуально.
137 1508333
>>08330
Спасибо
138 1508339
>>08319

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


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

Плюс поправка на плюсы - это говноедская среда, здесь априори большое количество велосипедистов, ретроградов и прочих городских сумашедших. Среди них я котирую небольшой процент прогрессивных чуваков из комитета, компиляторописателей, суровейших байтоебов и хайлоадщиков. Мнение прикладных манек же чаще всего многого не стоит.
139 1508347
>>08339
А есть причина почему у тебя настолько безумное ЧСВ?
140 1508358
>>08347
Да - мама говорит мне, что я умный. А если серьезно, то это просто здравый смысл и констатация реальности. К сожалению, на конфах довольно редко попадается годнота (в силу того, что чтобы рассказать про годные фишки, фишки должны сперва появиться на свет, а это не быстро) и организаторы конференций ради бабла начинают заполнять слоты посредственным материалом. Вон на джава конфах уже несколько раз было, что Сбербанк&Со сходу выкупают 25% докладов и ставят туда мимокрокодилов с откровенным шлаком. Sad but true. И ты такой ждешь хардкорщину от Шипилева, а получаешь это.
141 1508365
>>08358
я даже спорить не буду, что хуевые доклады есть на каждой конфе. Но, тем не менее, ЧСВ у тебя все равно перебор.
142 1508375
Как мне передать лямбду в фунцкцию, если у лямбды в области захвата есть move-only объект?
Прописывание && не помогло.
funkciya(std::function<void(void)> &&callback)

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

Просто создать такую лямбду могу, но передать - нет.
auto f = [obj = std::move(obj)]() {};
143 1508404
>>08375
предлагаю скушать ложку говна и сделать юник_птр на std::function
144 1508408
>>08404
void funkciya(std::unique_ptr<std::function<void(void)>> callback);

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

То же самое.
145 1508410
Там ещё mutable при лямбде, но это неважно. T.e.

[obj = std::move(obj)]() mutable {};
146 1508419
>>08408

>void funkciya(std::unique_ptr<std::function<void(void)>> callback);


void funkciya(std::unique_ptr<std::function<void(void)>>&& callback);

?
147 1508424
>>08247
Пишу драйвера под винду, используем только инструменты от microsoft. Удобно.
index.png508 Кб, 498x456
148 1508427
>>08419
Роботоет. Пока не понимаю, почему здесь нужно &&.
149 1508432
>>08427
если честно, я сам не понимаю.

По идее, make_unique создает rvalue, которое должно проноситьс яв move-конструктор для твоей функции. Хуйня какая-то
150 1508442
>>08432
Сорян, я проебался. Не роботоет. 3абыл сделать тип move-only при последней проверке.
151 1508451
В чём проблема с unique_ptr: я не могу создать его так, это еще до передачи в функцию.
auto f_ptr = std::make_unique<std::function<void(void)>>([obj = std::move(obj)]() {});
152 1508453
Пока впечатление, что у лямбды нет move конструктора. Я использую C++14.
image.png57 Кб, 1157x611
153 1508456
Убийца с++
154 1508493
>>08451
Нахуя ты это делаешь?
155 1508497
>>08493
Мне нужен был колбэк с захваченным move-only объектом. Уже не нужен.
1572366673226.jpg94 Кб, 925x720
156 1508605
>>07934
Чел, спасибо. Эти лямбды и вправду экономят кучу времени.
157 1508635
Я вам покушать принес
https://youtu.be/I0oerm0MYQY
158 1508637
>>08497
Почему не нужен?
159 1508646
>>07990
Матан или все же линейная алгебра?
160 1508654
>>08637
Переписал так, что больше не нужно. Хотя я и предпочёл бы, чтобы была такая возможность.
161 1508671
>>08646
теория типов
1572371656290.jpg17 Кб, 400x296
162 1508672
Кто нибудь пользовался QTableWidget-ом? Как мне обновлять данные внутри моего контейнера при вводе значений внутрь ячеек таблицы? По какому сигналу это делать? Пробовал cellChanged, но этот сигнал испускается вообще при любом изменении, хоть ты кликни на другую ячейку.
163 1508684
>>08672
Бери QTableView, связывай с моделью.
164 1508686
>>08684
А с виджетом совсем никак, да? Чем принципиально вью отличается?
165 1508688
>>08686
Тем, что в widget идёт встроенная примитивная модель, тогда как для view ты должен реализовать свою
image.png323 Кб, 800x349
166 1508692
167 1508703
168 1508707
Сап, двощ, начал писать хуитку на Qt и после очередного билда она... перестала, блядь, отображаться. Стартует нормально, памяти жрёт как и до этого, уже обмазал всё принтами — всё работает как часы, но ебаное окно не отображается. Кто нибудь сталкивался? В гугле нихуя нет.
169 1508708
>>08707
Чисти, Перезагружай QtCreator, Билдь у тебя жопаqmakeотвалился.
170 1508710
>>08707
У тебя Qt нелицензионный, он работает только с 8:00 до 20:00. Зарегать надо
171 1508711
>>08707

>все принтами обложил


Говорят нормальные люди так не делают
172 1508712
>>08707
show() вызови.
173 1508724
>>08635
Сашко Фокин вырос!
174 1508733
>>08707
Я сталкивался с похожей проблемой, память под временные переменные выделялась на уже заранее выделенную для строковых констант, из-за чего я ловил рантайм ошибку и вылет при попытке как-то эти переменные модифицировать, причем стабильно, даже после изменения/удаления этих констант.
Помогла полная пересборка проекта, ошибка ушла - попробуй сделать это же.

Вообще Qt странный какой-то у меня был. После того, как я в дизайнере и в коде удалял элемент, он не удалялся из какого-то файла вне проекта и я не мог скомпилить его. Это фича такая?
175 1508742
>>08688
И чем вью тогда лучше в моем случае? Я смогу, например, засунуть указатель на параметр объекта в ячейку таблицы вью? И менять этот параметр напрямую без посредников?
176 1508753
>>07780
Не слушай уёбка. Он может тормозить, если 20 потоков жонглируют ими туда-сюда (ну а тут как без атомарного счётчика?) или если 20 потоков херачат в память близко к контрольной структуре. Бывает, не повезло, наверное, то я такого в реальном коде не встречал. Можно пользовать intrusive, тогда с одной стороны памяти его прикрывает объект и вероятность того что не связанные никоим боком его тормозить будут снижаются. Но make_shared то же самое делает, так что пользуй его когда возможно (но помни про weak_ptr тогда) и будь что будет.
Можешь, конечно навернуть свой шаред без атомарного счётчика, если упорот и потом удачи в дебаге когда он таки начнёт использоваться в несколько потоков.
177 1508758
>>07703
Основной - в том что при изменении мемберов приватной функции не надо будет перекомпилировать всё, что включает этот хедер. Вот есть у тебя какой-нибудь класс, который пользуют в половине мест проекта (не обязательно god-object, может просто какой-то глобальный список херней которые твоя программа пользует), ты в него bool добавил и привет, всё пересобирать, а в больших проектах это запросто час.
Ну и кококо типа сокрытие имплементации.
178 1508762
>>08758
Расплата в том что ты лишний раз память выделяешь.
То есть это идельно подходит для синглтонов и рядом. То, объектов чего в проекте мало, но что весь проект включает как хедер.
179 1508769
>>08672
cell changed разве роль не передаёт? А вообще да, быстрее написать свою модель на 50 строк, чем дрочить готовую
180 1508772
>>08028
Когда начнёт тормозить будет поздно переходить на что-то другое.
Вообще правило, которое я познал платя кровавыми соплями - если для этого есть библиотека, пользуй её.
Если переживаешь что придётся от неё отказаться - наверни вокруг интерфейс. 1 к 10 что на ней и останешься. А с велосипедом 10 к 1 что придётся допиливать и херачить то, что уже есть в библиотеках, блжад.
181 1508778
>>08769
Он передает row и column, судя по описанию. Что за роль то?
182 1508783
>>08708
>>08710
>>08712
Хорошая клоунада, посоны.
>>08711
А я вот, как макака ебаная, люблю так дебажить.
>>08733
https://bugreports.qt.io/browse/QTBUG-71965
Это именно баг, причём ему уже, блядь, год. ГОД СУКА! Всем похуй.
И в отличие от чела в этом реквесте, у меня наоборот проект не отображается без .ui файла, лол. И да — qmake скрипты билдят всё правильно, а вот cmake работают только в релизной сборке.
Люблю Qt, ахуенная вещь.
183 1508788
>>08778
Так если у тебя есть row и column, ты же можешь в обработчике этого сигнала написать что-то вроде
[code]QString text = tableWidget->item(row,column)->text();[/code]
Про роли лучше документацию почитай, у модели есть метод data, который в зависимости от роли возвращает разные хуёвины - данные, цвет, размер и т.п. Полагаю, для установки данных это тоже работает (но я не знаю)
184 1508795
>>08788
А, жопой читаю, у тебя проблема в том, что сигнал посылается на любой чих.
Есть вариант этого метода с ModelIndex, у него можно роль спросить
185 1508797
>>08788
Проблем с самой записью данных то у меня нет. Проблема в том, что cellChanged испускается при любом пуке, а не только при изменении содержимого ячейки. Буквально вот нажимаешь на любую ячейку таблицы, и испускается этот сигнал.
186 1508801
>>08797
Бля напиши лучше модель, там гайд на три минуты
187 1508803
>>08795
Метода? Мне бы сигнал. Иначе как я буду обновлять данные в модели, по какому событию? Мне надо, чтобы я вводил значение в ячейку, нажимал Enter или просто в сторону куда нибудь мышкой, и после этого испускался бы сигнал. Наверно придется свой сигнал пилить, готового решения тут не вижу.
188 1508806
>>08803
Пиши модель, серьёзно.
189 1508807
>>08806
Модель-вью? Я вроде в начале начал с нее, но что то там не получилось у меня, а потом я нашел qtablewidget и стал его юзать, т.к. быстрее.
В модель-вью какие принципы вообще? Вот есть у меня контейнер, я могу его уже юзать, как модель, или ебаться придется?
190 1508829
>>08783
Самое интересное, что у меня этот баг был в конце 2017 года, то есть это тянется уже долго, раз до сих пор не починили.

Везде свои косяки есть, видимо. Студия у меня дома 2017 и поддерживает прекрасно 17 стандарт, а на работе студия 2019 и половину хедеров нормально не поддерживает + асан нельзя поставить.
191 1508846
>>08829

>раз до сих пор не починили


Ты в багтикет-то глянь

>Status: CLOSED


и не починят.
192 1508866
>>08829

>работе студия 2019


работаете бета-тестерами у майкрософт? :P
193 1508934
>>08783
В смысле клоунада, пидор?
Qmake имеет место отваливаться.
194 1508938
>>08866
Нет, я анон-pl/sqlщик, установил на рабочий комп новую студию из интереса для практики в свободное время.
Они ещё в ней выкатили новую подсветку синтаксиса(и вроде как к старой не вернуться) - крайне непривычно.
195 1508987
Хочу вкатиться в qt, чтобы сделать сапер. Что почитать?
sage 196 1508993
>>08987
Документацию
198 1509029
>>08934
Особенно учитывая, что я цмейком собираю.
Вот, блядь, ебусь с этой хуйней 4 часа и не догадался очистить проект. Спосибо онон.
199 1509047
>>08646
И матан, и линейная алгебра, и аналитическая геометрия, и физика, и все, что угодно даже Аллах
Если ты не матаношизик, то в геймдев лучше не соваться.
изображение.png136 Кб, 1366x768
200 1509050
Че за хуйня?
201 1509058
>>08987
Молитву какую-нибудь
202 1509070
>>09047
Смотря геймдев каких именно игр подразумевается.
Если у него цель писать убийцу Кризиса, то да, без глубокого (как впадина мамки хейтера крестов) матана здесь никуда. Но если ориентироваться на какую-нибудь хуйню по типу карточных игр и квестов, то там его немногим больше, чем в разработке обычного софта
203 1509076
Да и с появлением штук вроде Юнити/Анриала, просчитывающих за тебя вообще все, вплоть до момента когда ты с в следующий раз жидко обосрешься, и позволяющих нахуярить игру кликами мышкой, требования к скилу и временные затраты для написания более-менее серьезного продукта значительно снизились
204 1509080
>>08125
Браток, почитай про темплейты, прежде, чем комментировать код, который их использует.
205 1509103
>>09050
Проблема в вижуал студио. Ей не рекомендуется пользоваться, если только насильно не заставляют
206 1509105
>>09103
Что тогда?
Самое смешное, что я когда то давно испольщовал все эти функции. Почему оно отвалилось)))
207 1509109
>>09105
Что угодно. Если есть выбор, я бы порекомендовал sublime text или clion + cmake ninja + clang
208 1509116
>>09109
Охуенные советы

Самая удобная на данный момент IDE для плюсов - это QtCreator. Ни эклипс, ни CLion, ни, прости г-споди, sublime text не подходят для комфортной и быстрой разработки.
.png28 Кб, 597x651
209 1509117
Всё правильно выбрал? Почему так много весит?
210 1509118
>>09116
Ммм, как там с рефакторингом в qtcreator, маня? Заебали сектанты уже
211 1509119
>>09116

>для комфортной и быстрой разработки


Кресты не для этого
212 1509120
>>09118
Хорошо всё с рефакторингом. Если ты о чём-то конкретном - то уточни.
213 1509121
>>09117
Эксперты, хватит сраться, подскажите. Сейчас стоит clion с mingw, хочу сделать простенькую читалку манги на qt, с интерфейсом как у родных приложений винды, то есть uwp
214 1509125
Продолжаю мучать лямбады

Почему если тело содержит что-то отличное от одного return-statement-a, (даже если он есть, но присутствуют еще какие-либо другие стейтменты) инферится именно void? Почему бы компилеру даже при наличии нескольких стейтментов не выводить тип из return-a так же (и только в случае его отсутствия делать void)?
215 1509127
>>09125
У тебя устаревшая инфа, всё выводится, даже с несколькими return.
216 1509128
>>09125
Мне вот кажется, что указывать возвращаемый тип стоит всегда, если это не void.
217 1509130
>>09127
Я смотрю за 11 стандарт
218 1509132
>>09130
А сейчас 17, так что твой вопрос не актуален.
219 1509144
Почему питон такой медленный? Ради интереса написал абсолютно идентичную программу на крестах и питоне и оказалось, что в какой то момент питон очееень отстает. Бывало, что на отработку программы на плюсах уходило 2.7 секунд, а на питоне 15. При некоторых питон вообще за 40 секунд не справлялся и я выключал, хотя плбсы все посчитали секунд за 7
220 1509146
>>09132
Еще как актуален, в моей конторе 15 век, и все только 11 используют.

Как бы там не было, вывод работает и в 11, видать Липмап опять обосрался
221 1509150
222 1509153
>>09146
Нет, в 11 не работает.
223 1509154
>>09144
Лолблядь, мб потому, что кресты - компилируемый язык (все компилируется в бинарник, который представляет собой нули и единицы, которые неподсредственно может исполнять процессор), а пиздон - интерпретируемый, налету вся программа интерпретирует твой говнокод в нули и единицы и скармливает процу, снимая налету хуеву тучу абстракций, тратя на это дохуя времени.
224 1509156
>>09153
Нет, в 11 работает.
Также как и дефолтные агрументы
Я специально загрузил линукс и написал g++ -std=c++11
225 1509160
>>09154
Как его тогда в яндексе используют? Там же нужно что бы все быстро работало, что бы люди не ждали поиска по несколько секунд
226 1509161
>>09117

>Почему так много весит?


Сырцы. И все что после них тебе тоже очень вряд ли пригодится.
227 1509171
>>09160
Его используют в тех программных компонентах, где скорость не особо нужна, это же очевидно.
228 1509188
>>09144
Нужен быстрый скриптовый язык - используй nodejs или luascript. Питон быстрый только со специализированными библиотеками вроде NumPy и строго для определенных задач.
229 1509189
>>09188

>luascript


LuaJIT конечно же, опечатался.
230 1509190
>>09121

>с интерфейсом как у родных приложений винды, то есть uwp


Ты такой интерфейс быстрее на QtQuick сделаешь. Тем более, что Qt под UWP именно это и делает, эмулирует отрисовку UWP через свои средства.
231 1509240
Скачал qt, открыл один из демонстрационных проектов, простейшие часы, и охуел от количества кода, больше тысячи строк. Неужели так везде? Еще и ide выглядит неудобным в сравнении с clion, подсказки так себе.
232 1509251
>>09240

>подсказки


Ты школьник?
233 1509348
>>09116
Ага, как там у него с шаблонными параметрами, а?
Стоит только написать template<typename T> и всё, идёшь нахуй и пишешь код в обычно блокноте
234 1509352
>>09348
Без использования концептов, любой code completer будет сосать бибу на шаблонах
235 1509361
>>09352
В вижуалке можно указать тип и наслаждаться 2к19 кодом
236 1509448
Шаблоны для педиков
237 1509463
Я вот хотел написать программу для нахождения первообразных, но чет посидел, подумал и решил, что это несколько сложнее чем я думал. Скажите, реально ли такое написать, что до этого я не писал ничего сколько нибудь похожего?
238 1509498
>>09361
Что ты имеешь в виду?
239 1509522
>>09448
А что нет? Сырые указатели? Кстати у нас, почтенных крестовиков, гомофобия не приветствуется.
240 1509524
>>09522
Толковые указатели.
241 1509550
>>09524
А auto_ptr из толковых или из жуликов?
242 1509562
>>09463
В смысле аналитически получать первообразные произвольных функций? Ты в курсе вообще, что от большинства функций интеграл в элементарных функциях не выражается?
243 1509564
>>09116
Отвал башки qmake и тормоза уже пофиксили ?
244 1509566
>>09564
кутяхкриейтор не только же с кумейком используют нигер
https://www.youtube.com/watch?v=NcTEaRB_cak
245 1509574
>>09498
То он и имеет в виду, я вот сразу понял.
Специализируешь тип для шаблона, ну.
B8604AD6-6457-4190-B0AF-2F05739CED13.png2,2 Мб, 828x1792
246 1509575
Итак, аноны, я сейчас выезжаю на пикрил. Кого-нибудь из Мурино подвезти?

>>07383-кун
247 1509587
248 1509650
>>09575
Да, оставляй контакты.
1C9F8455-9F8B-42A5-B2D9-A070AF1118C4.jpeg1,1 Мб, 4032x1072
249 1509661
>>09650
Так всё уже, началось мероприятие
Алсо, подскажите нахуя тут __pad
250 1509667
>>09661
выравнивание
251 1509677
>>09661
False sharing
252 1509683
>>09574
Че за детский сад, так любой auto completer может. Я-то думал, в студии можно атрибуты какие-то навесить. Мде
253 1509685
>>09683
Любой - это какой?
254 1509687
>>09685
Очевидно, те, что на кланге работают, также в эклипсе, помню, это работало, в clion есть
255 1509688
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()
}

?
255 1509688
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()
}

?
256 1509690
>>09688

> g(std::move(arg));


c(std::move(arg));
257 1509691
>>09688
Если нужна копия, передавай по значению и перемещай. В метод этот тоже перемещай.
258 1509694
>>09688

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


Лучше, когда есть бенчмарк и ты не страдаешь преждевременной оптимизацией. Читабельность важнее
259 1509695
>>09691
>>09694
Что в примере главное: нужен move, вектор из move-only объектов, методы вложены. Там что-то ещё происходит, для простоты обозначена только передача вектора. Вопрос в том, передавать ли по ссылке во внешнем методе или делать вложенные move?
260 1509781
>>09550
auto_prt - deprecated прямо как кодерки после 30ти, хе хе
261 1509810
>>09688
имхо, std::move нужно пользоваться с крайней осторожностью, по сути своей, это грязненький хак, прячущий под собой прямое приведение типа
вот когда ты в коде видишь каст, ты настораживаешься, а тут вроде как функция и все окей.. это не так..
на самом деле std::move по настоящему нужен, наверное, для единственной цели - а именно передать дальше по цепочке вызовов r-value ссылку..
а делать так как ты делаешь - а именно передавать l-value объект через r-value ссылку (по видимому пытаясь что-то там "оптимизировать") через использование std::move, это плохой путь..
262 1509813
>>09810
вообще, понять механизм работы (и для чего они, собственно нужны) очень легко, если заглянуть в любую из реализаций stl
там std::move используется для того чтобы передавать дальше r-value ссылку (те они "восстанавливают" ее и дальше передают)
а std::forvard используется для того чтобы передавать дальше по цепочке вызовов универсальную ссылку..
263 1509815
>>09813
Чего бля...
264 1509824
Лол, чуви, который про llvm рассказывал, тролльнул в конце про rust.
265 1509827
>>09810
У меня move-only тип, как я его еще передам-то?
Вопрос не в этом, а в том, какой из двух стульев выбрать: передача по ссылке и дальше move или два вложенных move.
Первый навскидку оптимизированнее, но не факт, что компилятор не соптимизирует вложенные move во втором случае, чтобы достичь производительности первого. Первый хуже читаем, передаешь ссылку, а внутри происходит move. Во втором сразу видно, что move.
266 1509830
>>09813
std::forward мне не нравится как раз тем, что он скрывает, что передается.
267 1509833
>>09827
у тебя вектор v - lvalue
при помощи std::move ты всего лишь делаешь на него r-value ссылку
это изначально неправильное решение, рано или позно приводящее к проблемам
что тут обсуждать еще? оба варианта, что у тебя - неправильные
268 1509836
>>09827

>У меня move-only тип, как я его еще передам-то?


а, понятно
мда
то что у тебя move-only тип, никак не мешает его передавать по ссылке, r-value ссылке, по универсальной ссылке
проблемы будут при передаче по значению..
269 1509837
>>09833
Я знаю, что делаю. При помощи std::move я вызываю move-конструктор, потому что констуктор копирования отсутствует у move-only типов. Представь, что у тебя вектор из unique_ptr.
270 1509838
>>09836
через указатель можешь его еще передавать..
271 1509840
>>09836
Мне нужно передать его владение внутрь вложенного метода. И есть два стула как.
272 1509845
>>09837

>При помощи std::move я вызываю move-конструктор


move ничего не делает, кроме одного достаточно грязного каста
и все
273 1509848
>>09845
ой все
274 1509849
>>09813
Задроты ебаные
Сидят тут STL дизассемблят смотрят как работает чтобы понять как соптимизировать так чтобы работало на наносекунду быстрее
В то время как js-макаки хуяря пяткой говноскрипты зашибают 200к+
275 1509858
>>09848
да, согласен, нужно заканчивать дисскуссию

// 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));
}
276 1509862
>>09858
Какой же ты зануда, и ладно ещё если бы я написал, что move вызывает что-то.

> При помощи std::move я вызываю move-конструктор


Но ведь нет, пока только ты в глаза ебёшься.
7D46A2FC-7E23-4A86-BAAA-70302EF1FA8B.jpeg2,4 Мб, 4032x3024
277 1509869
Итак, небольшая экскурсия
Встречает нас пикрил инсталляция, которую каждый может дополнить. В принципе прикольно
68AC895F-B0C3-4CFD-9254-EAADB70D8EEB.jpeg2,9 Мб, 4032x3024
278 1509871
>>09869
Сразу после него стоит стойка интела. Рассказывают про свои охуенные инструменты разработки и компилятор. Я не понял, чем он лучше clang’а и gcc.
7FFC7957-CE6F-4AFC-BF16-5621DA6B0DFF.jpeg2,5 Мб, 4032x3024
279 1509873
>>09871
Дальше - какой-то офис. По их словам - они делают клон M$ офиса. Успехов им не скатиться в говно по типу опенофиса.
C20E7678-C86F-456D-97CF-6C03E52FE401.jpeg2,4 Мб, 4032x3024
280 1509875
>>09873
Потом вот эти чуваки, про которых мы все знаем благодаря хабру, на котором лично меня они заебали своим присутствием уже довольно давно.
6B779522-D3F9-4F52-8BED-C73637DECCBE.jpeg2,3 Мб, 4032x3024
281 1509876
>>09875
Эта контора не помню, чем занимается. Но она тут тоже есть
A1F4BC12-7143-450D-BE5E-178BAAEB44CF.jpeg2,5 Мб, 4032x3024
282 1509877
>>09876
Эти ребята занимаются автоматической генерацией презентаций. На стойке стоит какой-то лютый омеган. Мармелад очень кислый.
BBBCE657-2DC5-4322-92D0-1720968D4863.jpeg2,1 Мб, 4032x3024
283 1509881
>>09877
Вот эта стойка мне нравится больше всего. Такая-то няша за ней сидит. Занимаются высокочастотным трейдингом и квадрокоптерами. Листочик с тестами какой-то ебейший, хуй вы его решите.
3CB20E4E-5A45-48FB-8F05-B2B553353957.jpeg1,9 Мб, 4032x3024
284 1509882
>>09881
Всем известный инкредибилд, который лютейше жрёт память и цпу даже когда нихуем не занимается.
1F72F93F-90FC-4F72-83DA-BEF597A89FA8.jpeg2,4 Мб, 4032x3024
285 1509884
>>09882
Какая-то нонейм контора. Говорят что оптимизируют эклипс, закрывают исходники и продают. Не знаю, какие дебилы на это поведутся.
286 1509885
>>09869
Че там пожрать давали?
AE971138-0EB3-4F9E-B4DE-F2102BD71EA2.jpeg2,3 Мб, 4032x3024
287 1509886
>>09884
Таааак.... Что это тут у нас?

Да это же ПЕТУШИНЫЙ УГОЛ!
288 1509887
>>09885
Вангую, ничего. Надо было свой контейнер собирать.
289 1509889
>>09885
Шведский стол
290 1509893
Уёба!!! Переворачивай фотки перед тем как выложить! У меня шея болит
291 1509897
>>09893

> я не умею переворачивать монитор за О(1)

292 1509898
>>09893
Айфон показывает перевёрнутыми, это макаба виновата
293 1509914
>>09884
пошел нахуй пес :)
294 1509917
>>09914
Ты там работаешь что ли? Давай суп запилим
295 1509918
>>09917
нет
296 1509937
>>09575
О, я сейчас там. Набью тебе ебальник, за то что ты уже третий тред срешь своими нубскими вопросами и пропагандируешь плохие практики программирования. Тебе уже сто раз сука сказали что и как делать.
297 1509950
>>09937
Выходи в курилку и громко кричи АРПЕДЖИО!!111, чтобы я сам тебя нашёл
298 1509953
>>09950
Бля, ты еще и куришь. По какой-то причине в коллективе, где есть часть плюсовиков, часть джавистов etc, курят только плюсовики
299 1509954
>>09953
Потому что джависты - унылые пидоры.

Алсо, что делать на таких конференциях? Не лекции же слушать.
300 1509955
>>09954
Я вообще не хожу туда, только на ютубе смотрю со скоростью 1.5 и промоткой
301 1509956
лошолш
302 1509957
>>09954
можно дрочить друг другу в туалете через дырку в кабинке
303 1509959
>>09954
ну хз, джава-типчики, которых я видел, самые веселые и жизнерадостные - что на работе, что на конфах. А плюсовики чаще всего чсвшные нервные задроты, которые бегают в курилки купировать никотином баттхерт от говноcpp
304 1509960
>>09937
И вообще не пизди. Мне сегодня позвонили, сказали что у меня хороший код и пригласили на собеседование. Вот так.
305 1509961
>>09957
Была бы это джава конфа...
306 1509963
>>07749
Уже 5-й день жду ответа, ничего нету от обеих компаний. Можно считать что я не прошел и начинать рассылать резюме в другие фирмы? Хоть бы написали что я не подхожу, заебался ждать уже хоть чего-то
307 1509965
>>09963
Так сам с ними свяжись дебил блять омеган хуила
308 1509967
>>09963
вызванивай их, че ты как баба
309 1509968
>>09965
Бля на сайтах пишут что лучше не заебывать компании, мол у них и так много работы а назойливость лишней будет. Сколько средний срок ожидания ответа на резюме? Когда можно начинать заебывать их?
310 1509969
>>09967
>>09965
+15 лахтодесанту
311 1509970
>>09968
Если они сказали, что свяжутся в течение N дней, N дней прошло и они не связались - то можно
312 1509972
>>09969
nu zdarova peshka navalnogo
313 1509973
>>09970
Вакансия на сайте для вакансий висит, сказано

>если вы подходите под наши требования то ожидаем вашего резюме на почту


Больше ничего
314 1509974
>>09972
Тащем та я конь
315 1509975
>>09973
Так тебя на собес даже не позвали, лол
Тогда отсылай резюме дальше, 2 компании это оче мало
316 1509977
>>09937
А где ты живёшь? Если на севере - могу подвезти, а ты заодно будешь рассказывать мне про охуительные практики программирования
317 1509978
>>09975
Понятное дело не позвали, стал бы я спрашивать тут советов стоит ли идти на собес или нет. Ладно, спасибо анончики, попробую еще порассылать.
318 1509981
>>09950
Ну и хули ты не кричишь? Я в курилке, подходи сюда быстрее
319 1509982
Пиздец какие социофобы тут сидят, встретиться боятся
placeholder.jpg382 Кб, 2048x1152
320 1509983
>>09981
>>09937
>>09950
А сейчас мы можем наблюдать схватку самцов CPP в дикой природе. Так они выясняют свое место в иерархии
321 1509988
>>09983
Доминирование без спецификатора virtual.
322 1509994
>>09982
Жду тебя за гаражами хуесос
323 1509996
>>09687
А В QT CREATOR'Е НЕТ!!!
324 1510002
>>09996
Зарепортил
325 1510012
>>09869
3я колонка с конца - это размер члена? а если ты тян?
Снимок экрана 2019-10-31 в 18.27.24.png269 Кб, 2288x1086
326 1510013
Пиздец блять, хоть я и троллил, когда писал, что юзать vcpkg - это несерьезно, но бля, после чтения слайдов я уже вполне серьезно в ахуе с вас, ребята. Вы получаете 450к в nvidia, что, трудно было за это бабло нормально поресерчить про системы сборки? Как можно было не найти эпичнейшие доклады и статьи от google про организацию репозиториев? Просто пиздец, это же вершина достижений dev tools в данный момент. Из-за того, что разработка была закрытая, twitter и facebook просто с нуля написали тоже самое для себя, настолько инфра гугла была (и есть) охуенной.

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

Можете полюбоваться - https://github.com/Starl1ght/piter2019
327 1510014
>>09996
А ты включил clang code completer? Там же их два есть - старый и новый. По крайней мере раньше было
B9B609C7-EE19-498D-901C-0A28AAA1DB94.jpeg546 Кб, 828x1097
328 1510019
Яндекс такси хардкодит sizeof и alignof
329 1510031
>>09898

>Айфон показывает перевёрнутыми, это макаба виновата


Абу, блядь, фикси
330 1510041
>>09884
Обосрался
331 1510047
>>10014
В последних версиях clang code model по умолчанию включена
.jpg150 Кб, 1920x1080
332 1510051
>>09881
Возьми номерок, кажется я нашел свой идеал.
333 1510056
>>10019
Снова этот косплеер жобса
334 1510057
Бля, пиво привезли, а я за рулём.....(((((
335 1510085
>>09996
>>09687
хуя, был не прав, в qtcreator и clion не работает.
336 1510178
>>10051
-Здраствуйте, девушка, меня тут человек с анонимного форума просит взять ваши контакты
-Хуебляди не нужны
337 1510193
>>1507156
Вот тебе правда это все говно из шаблонов так нужно? Ты не мог сделать проще?
338 1510223
Посоны, пилил кто-нибудь плагины к QtDesigner, конкретно -- custom widgets?
Ситуация: делаю виджет, у него есть текстовое свойство (QString). В дизайнере в редакторе свойств его можно редактировать только как "короткую строку", т.е. нету кнопочки "..." по которой открывался бы диалог с возможностью многострочного редактирования. Если переименовываю свойство в "html" (по смыслу не подходит, просто экспериментирую) -- кнопка появляется, т.е. будто дизайнер тупо делает этот диалог для какого-то фиксированного набора названий свойств. В документации ничего про это не нашёл. В исходники лезть лень, полезу только в крайнем случае (если тут никто не подскажет). Как бы заставить дизайнер давать юзеру полноценно редачить моё грёбаное свойство? Там большой текст должен быть, многострочный, вот эта фитюлька в проперти-едиторе просто не вариант.
QtCreator 4.2, Qt 5.13.
339 1510229
>>10013
А нам норм
340 1510247
>>10223
QTextDocument
341 1510260
>>07304 (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.
342 1510267
>>10260

>как мне заставить gcc передавать в cc1.exe все эти параметры файликом?


Скинь все в один большой хедер, его и заинклюдь
343 1510270
>>10019
Ты не понимаешь, кодинг на с++ должен выглядеть круто и доставлять боль. Для этого кресты и придумали
image.png598 Кб, 479x736
344 1510272
Я нашёл пикчу, идеально характеризующую с++. Предлагаю сделать её гербом этого треда
345 1510276
>>10272
Неосилятор\жабадебил\скриптопетух бежит из треда поддав жиденьким в штаны?
Одобряю. Нормальный герб.
346 1510277
>>10276
Нет. Это суть с++, СКОРОСТЬ+ОБОСРАМС
347 1510315
>>10277
Это скриптопетух, который кичится скоростью написания кода, на потом писоет @ какоет, роняя кал, когда что-то вдруг перестает работать.
348 1510329
>>10315
Ну или так. Но с++ больше подходит
349 1510366

>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



Джва часа ебался с этим говном. Предлагаю вам блеснуть знаниями и защитить честь любимого говноязыка, предположив в чём может быть дело
350 1510369
>>10366
Ты выражение-то напиши своё, мразь
351 1510370
>>10366
Если хочешь именно static_cast, надо у приводимого типа переопределить оператор T(), где T — тип, к которому приводишь, вроде так.
352 1510371
>>10369
Мда, одебилевший уже не в состоянии восстановить B b; A a = static_cast<A *>(b) по сообщению ошибки. Я думаю ты самый тупой в этом треде
353 1510372
>>10371
Звездочки проебались, да и похуй. И так понятно
354 1510373
>>10370
Одно сообщение отнаследовано от другого. Причина ошибки на самом деле вообще простейшая. Хочу проверить скиловость здешних заshitников с++
355 1510375
>>10371
типы объявлены не полностью? ты этим нас хочешь удивить?
356 1510376
>>10375
А ты, видимо, самый умный в этом треде. Правильно, один из классов был объявлен до использования. В итоге получилась такая ошибка

>error C2440: 'static_cast': cannot convert from 'CDefferedMessage ' to 'CBaseMessage '

357 1510424
>>10366

>Джва часа ебался с этим говном.


Enjoy your MSVC.
Нормальные компиляторы сообщают о том, что проблема в incomplete-типах.

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



> Пользуется самым хуёвым из распространённых компиляторов


> Судит по нему о хуёвости языка


Зачем ты такой тупой?
358 1510460
Анчоусы, чем визиторы лучше полиморфизма?
359 1510490
>>10460
Тем, что отделяешь код обработки иерархии от кода иерархии
360 1510510
>>10424

>Пользуется самым хуёвым из распространённых ЯП


фикс
361 1510524
>>10510
Он не на шарпе пишет тащем та
362 1510536
>>10376

> Правильно, один из классов был объявлен до использования.


Самое смешное, что ты сам же в описании своей ошибки проебался и обосрался.
.png91 Кб, 2560x1440
363 1510659
Пишет, что проект не настроен, что за хуйня? В режиме проекта пишет что отсутствуют подходящие комплекты.
364 1510667
>>10659
Лох
365 1510679
>>10659
Можешь ткнуть слева на Проекты а потом Настроить проект?
366 1510681
>>10659
Впрочем если выбрать qmake, а не cmake то всё работает
367 1510728
Продублирую.

https://www.ozon.ru/context/detail/id/144895863/
Хорошая книга?
И насколько вообще востребовано знание qt? Я пока только студент, глянул вакансии на hh, если и есть c++, то без упоминания qt, максимум в большом списке было бы неплохо знать...
368 1510759
>>10728
выучи полноценный модерновый С++ сначала
369 1510760
>>10759
Липпман и мейерс прочитаны. почти 1500 страниц
370 1510763
>>10760
неплохо, молодец. Осиливай С++17 Джоссутиса еще. А вообще - с точки зрения простоты поиска работы, я бы вероятно задрачивал системное программирование под луникс, а не КТ. Вакансий больше.
371 1510768
Почему есть возможность наследовать класс без явного указания способа наследования?
372 1510774
>>10728

>И насколько вообще востребовано знание qt?


У меня в паре вакансий есть в обязательных требованиях Вакансия так и называется C++/Qt, в остальных разве что как плюс идёт. Мне лично Qt понравился тем, что можно что-то простое и полезное сделать самому, даже без опыта программирования, и гитхаб озеленить чутка. На голых плюсах хуй чё полезное сделаешь сам.
373 1510777
>>10768
Потому-что по умолчанию private
374 1510781
>>10777
Это то ясно, мне кажется что это хуевое решение, и лучше всегда писать явно.
375 1510784
>>10781
В плюсах практически всегда лучше писать всё явно, чтобы хоть как-то помочь людям читающим твой говнокод.
376 1510792
>>10784
Посмотрел бы я на тебя, как ты явно пишешь типы в более-менее сложном коде с шаблонами, где один стейтмент и без этого занимает 100500 строчек, раздувая исходники и трудоемкость того самого чтения до размеров твоей мамаши
377 1510794
>>10792
Может я и не прав, но в 99% случаях используется именно public наследование. Нахуя сделали по умолчанию приватное?
378 1510802
>>10794
У класса все поля по дефолту приватные и наследование приватное.
У структуры все поля публичные по дефолту, и наследование тоже публичное
379 1510803
>>10802
В стдлибе вообще классы есть?
380 1510805
>>10802
И что блять?
Ты говоришь что не сделали наследование классов по умолчанию публичным, просто чтобы дауны могли запомнить по аналогии? И пох что на практике приватное наследование не особо-то и нужно
381 1510806
>>10805
не особо-то и используется*
382 1510807
>>10803
std::vector std::map std::unique_ptr std::share_ptr std::less std::grater и их ещё до пизды
383 1510808
>>10803
строка?

>>10805
Для консистентности, скорее всего. С++ и так каша, щас еще бы сложностей придумывать. И да, если ты не наследуешься приватно, это не значит, что все остальные этого тоже не делают.
384 1510809
>>10805

> пох что на практике приватное наследование не особо-то и нужно


Я вот про это и говорю. В итоге в километровых шаблонах всё равно приходится писать это злоебуче public
385 1510810
>>10808

>И да, если ты не наследуешься приватно, это не значит, что все остальные этого тоже не делают.


Я не говорил, что я этого не делаю. Я говорил, что в большинстве случаев я видел публичное наследование и в очень редких приватное
386 1510819
>>10728
Ебать ты упертый говноед. 1500 страниц - это архитектура компьютера + устройство ос от таненбаума. Гораздо выгоднее было потратить время, которое ты потратил на задроч плюсов, на традиционный CS. Вот ты выучил плюсы от корки до корки и сможешь пойти на вакансию 30к для джуна. А если бы знал теорию компиляторов, устройство ос, сетевой стек и простенькие c/java, то на изи попал бы интерном в гугл. Надеюсь, тебе поможет эта мудрость
387 1510823
>>10808
Проиграл. Приватного наследования нет в 99% языков и они прекрасно живут без него. Приватное наследование - это очередная шизоидная «ГиБкОСТь))00» от страуструпа и ко. После дизайна iostreams, я считаю, мало у кого должны остаться сомнения в том, что C++ - даже рядом не стоит с качественным продумыванием своего дизайна и либ.
388 1510824
>>10819
Отвечаешь?
389 1510828
>>10824
Отвечаю. Почитай истории о том, как студенты проходят на internship в гугл. На собесах спрашивают вот ни разу про плюсы, а гоняют по грамматикам, устройству линупса, сетям, матану и прочим серьезным вещам.
390 1510869
>>10792
Поэтому и написал практически. Шаблоны и с decltype и auto занимают половину экрана, ясен хуй что там не стоит явно всё прописывать. Но если у тебя код на подобии
auto item = AbstractFactory().getItem();
то я бы лучше явно прописал тип, чтобы не так сложно было читать.
391 1510870
>>10828
Кстати этого двачую, в книге по собеседованиям в гласе по плюсам задачки совсем детские, а сама автор пишет что по язык там вообще дело десятое, спросят по тому языку который знаешь, а вот по алгоритмам и дискретке ебать будут
392 1510874
Суп, есть одна строка.
[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.
Что не так с этой строкой, Анон?
5032D132-9C25-4978-80DD-F7AB29AE6152.jpeg1,5 Мб, 4032x3024
393 1510879
ЭНТОНИ, ПРОСНИСЬ, ТЫ ОБОСРАЛСЯ!

Какой мерзкий чсв тип, я удивлён.
394 1510882
>>10874
бред какой
395 1510883
>>07304 (OP)
https://ideone.com/JMbc9A

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

Как нужно по уму это оформить?
396 1510884
>>10879
В чем чсв выражается?
397 1510887
>>10884
Наверно в том, что он принимает участие в разработке буста и стандартов.
398 1510889
>>10887

>Наверно в том, что он принимает участие в разработке буста и стандартов.


Если бы я делал буст и был в коммитете, я бы ссал на вас и не считал за людей
399 1510893
>>10887
Да, я тоже. Я не автор этого >>10879 если что.
400 1510894
401 1510896
>>10884
>>10887
Энтони, залогинься
402 1510898
>>10883
Ну давай разберем по частям, тобою написанное )) Складывается впечатление что падает в конструкторе

>ptrToB = make_shared<B>(shared_from_this());


Наверняка что-то с выделением памяти и недоступностью this, попробуй перенести эту конструкцию в отдельный метод и вызывать уже после создания экземпляра
403 1510901
>>10884
В том что у жсомакак и прочей челяди бомбит от успешного крестобоярина. На самом деле достаточно приятный человек, в чате шутки шутит постоянно, отвечает даже студентам, в общении ничего чсвшного не заметил.
404 1510902
>>10896
На, посмотри на мое выступление и позавидуй.
https://www.youtube.com/watch?v=abdeAew3gmQ
405 1510903
В общем, закончилась конфа. Всё, что я из неё вынес - это подарки где-то на 1000р. Ну и поел хорошо. Если бы билет не оплатила моя контора - я был бы очень разочарован. Не понял, в чём смысл, кроме как послушать про охуенные велосипеды спикеров, которые применимы только в их проектах. От доклада энтони я вообще в ахуе, меня бы за подобный код уволили нахуй из конторы.
406 1510904
>>10902
>>10901
Ну энтони...
408 1510907
>>10883
Когда классы взаимоинклудят друг друга - это значит, что надо менять архитектуру, чтобы не плодить говнокод.
409 1510913
>>10907
Но у меня же не взаимный инклюд, у меня B является частью A, и у каждого из них есть ссылка друг на друга. Или это тоже пиздец?
Anyway, пользуясь случаем, попрошу посоветовать книжек именно об архитектуре ПО в преломлении крестов.
410 1510915
>>10903

>меня бы за подобный код уволили нахуй из конторы.


За оверквалифайд?
411 1510917
>>10898
https://ideone.com/NxHGnm

Вынес в отдельную функцию. Но даже конструктор А не успевает выполниться, опять std::bad_weak_ptr.
412 1510920
>>10915
За оверинжиниринг без профитов.
413 1510924
>>10913
Если оно не работает без форвард декларейшенов - то да, это пиздец.
414 1510948
>>10917
Кароче, вот тебе ответ https://ideone.com/wLNBXS - класс выделялся на стеке, а надо было в куче.
Советую сжечь компьютер нахуй и забыть про существование с++, потому что это реально говно говна. Это франкенштейн из говна
415 1510953
>>10917
Чтобы использовать shared_for_this нужно, чтобы объект, у которого вызывается этот shred_for_this существовал в shared_ptr. Если делать как ты, то для этого объекта не создаётся счётчик ссылок
416 1510955
>>10948
Кстати всем советую https://2ch.hk/pr/res/1456440.html (М)
417 1510960
>>10953
Как хорошо, когда есть интернет и форумы с отзывчивыми людьми. В этом случае программирование на с++ становится возможным
418 1510971
>>10960
Нехуй пользоваться замысловатыми конструкциями, когда не понимаешь, как они работают
419 1510974
>>10971
Я как раз написал решение в тред. И всех призываю слезать с этого говна, переходить на раст
420 1510983
>>10974
Hахуй нам нужен твой раст, поехавший? Нужно всего лишь понимать как работает то, чем ты пользуешься и никаких проблем не будет
421 1510986
>>10983
Чем ты объяснишь факс существования https://github.com/google/sanitizers ?
422 1510987
>>10983
Во-первых, кому "нам"? Во-вторых, всё знать невозможно. И пока ты будешь ковырять баги, связанные с неочевидными сторонами языка, твои конкуренты на с++ уже запилят годноту
423 1510990
>>10986

>факс


факт существования
самофикс
424 1510993
>>10974
двачую, rust - это тот же C++, только без боли
425 1510995
>>10993
Без боли
>>1463989
DD180EAF-EF40-4884-9B44-4E6FFCEFDE8E.jpeg5 Мб, 4032x3024
426 1511018
Алсо, утянул футболку с двачём
427 1511019
>>11018
Да Макара блять заебала переворачивать
428 1511023
>>11019
Макаба блять ебаный т9
C4F89F28-0417-41F7-9C78-30170E9773D5.jpeg457 Кб, 828x1089
429 1511026
>>10051
Да не вопрос
430 1511027
>>11026
В голосину
431 1511028
>>11026
В ДС1 принято без обуви и штанов ходить на презентации?
432 1511029
>>11026
Варь, ноги-то побрей.
433 1511031
>>11028
Это дс2 и я уже дома
434 1511036
>>09881
Приведи чтоль пример задачки хоть
435 1511040
>>11036
На мои записи внимание не обращай, мне стало стыдно и я не стал это сдавать
436 1511041
>>10247
Благодарю за соучастие, но это не помогло: свойства с типом QTextDocument дизайнер вовсе не отображает для редактирования.
Пришлось напердолить TaskMenuExtension, чтоб по правой кнопке была опция "Edit <blahblah>..." по которой открывается диалог с QPlainTextEdit. В принципе только выиграл, теперь можно при необходимости любую релевантную смыслу свойства фигню замутить типа как для styleSheet сделано.
437 1511047
>>10986
Тем, что есть дауны, которые не могут отследить в коде ошибки.
438 1511048
>>10983
Поэтому во всяких хромах ежемесячно отковыривают по 40 уязвимостей, из которых 2-3 уровня 0-day? Вот блядь дауны в гуглах работают.
439 1511053
>>11040
Насчёт пятого, они явно хотят переполнение стека. Я в малварях не силён, но ASLR не похерит большинство попыток сделать stack smashing?
А вообще по виду всё кроме четвёртого просто. В глаза не вижу дедлока (с сигналами почти не работал, наверное, поэтому).
440 1511055
>>11053
зачем ___pad в шестом?
441 1511062
>>11055
Чтобы избежать false sharing.
ЕМНИП в https://geidav.wordpress.com/2016/03/12/important-properties-of-spinlocks/ в серии статей про спинлоки многое расписано.
442 1511064
>>11055
Чтобы только одна атомик переменная могла быть вытащена в кэш?
Ну, чтобы процессор мог в один момент использовать только одну?
я ньюфаг довен, это только предположение
443 1511071
>>11064
Тоже так думаю, кэш лайны вроде бы 64 байта в основном везде
мимо другой нюфаг
444 1511074
>>11040
7 не правильно вроде. Выделение памяти в обоих случаях будет только 1. Во втором случае может быть косяк с тем, что память таки утечёт, в первом же нет. Где-то в блоге pvs studio что-то такое объяснялось
445 1511079
>>11074

>Выделение памяти в обоих случаях будет только 1


Контрольную структуру Пушкин выделит? Сначала будет сделан new int, потом выделится память со счётчиком
446 1511082
>>11079
Ок, правда два. Но тогда в обоих случаях будет два. Во втором она тоже не вместе с new int выделится
447 1511084
>>11082
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)

448 1511086
>>11084

> only one allocation (the standard recommends, but does not require this;



И хули ты доказал?
449 1511087
>>11071
И что нам это даст? В какой задаче без такого __pad не обойтись?
450 1511088
>>11084
>>11086
Охуенные стандарты, мдемс
451 1511091
>>11086

>all known implementations do this


Учитывая, что это, судя по тому анону, HFT компания, их больше волнуют реальные железки и имплементации, а не эфемерные стандарты.
452 1511092
>>11091
Ну давай ещё и на UB начнём полагаться, если оно делает то, что мы хотим?
453 1511094
>>11087

>кой задаче без такого __pa


А я ебу, я ж написал что нюфаг. Наверное нужно чтобы только один атомик был обновлён, а затем второй, без каких-то кешей и подобного.
454 1511097
>>11064
Синхронизация кешей работает с минимальным объемом памяти 64 байт, который называется cache line. При использовании барьеров памяти на какие-то отдельные переменные на самом деле синхронизируется целиком cache line, в который попала переменная. Если в одном cache line оказывается 2 переменные, на которые навесили барьеры памяти, то они будут вызывать лишние синхронизации - например, когда одна переменная поменялась, а вторая - нет, ядро проца, читающее вторую переменную будет лишний раз останавливаться для вытягивания кешлайна с кеша другого ядра.

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

мимо-джавогосподин
455 1511098
>>11087
False sharing может давать очень сильный просев по производительности.
456 1511103
>>11053

>В глаза не вижу дедлока (с сигналами почти не работал, наверное, поэтому).


spin должен быть volatile.
Ну и в сигнал хендлере может быть какая-то приводящая к дедлоку хуйня (man signal-safety).
457 1511104
>>11092
А то. Я привожу указатель на чар у нужнорй мне структуре и читаю прямо из неё. Это UB, ибо нарушает strict aliasing. По-хорошему нужно выделить структуру на стеке, сделать memcpy из того массива, и уже потом в локальной переменной читать.
458 1511106
>>11053

>Насчёт пятого, они явно хотят переполнение стека. Я в малварях не силён, но ASLR не похерит большинство попыток сделать stack smashing?


Никто не требует сделать переполнение вслепую, можно посмотреть адреса сегментов во время запроса ввода. Другое дело, что в программе может быть защита канарейкой, например.
459 1511113
Посоны, перенос %TEMP%, %TMP% и папок с исходниками и билдом на ramdisk существенно ускорят сборку большого проекта, или ето похую и умная кеширующая подсистема венды с быстрым ssd по скорости сравнимы с рамдиском?

Вроде imdisk умеет даже персистить содержимое рамдиска на обычный при выключении/ребуте (шоб не копировать каждый раз проект).
sage 460 1511114
>>10903
Я не верю, что ты где-то вообще работаешь. Это же ты тот шизик, что сигналы пилил и прочую дрисню, спрашивал у треда как правильно реализовать, но в итоге писал по-своему? Еще и Полухина засрать успел. Пиздец ты нарцистичная завистливая чмоня.
461 1511115
>>11113
Не ускорит, я проверял. А вот bazel ускорит
462 1511117
>>11053

> Я в малварях не силён, но ASLR не похерит большинство попыток сделать stack smashing?


Нет, ASLR это просто рандомизация базового адреса бинарника. CFI/CFG похерит.
463 1511138
>>11114
Нет, я свой диспетчер сообщений для веб-дрочильни пишу.
464 1511169
>>10993
И без нормального синтаксиса. Ну и работы нет.
465 1511172
>>11040
Как сделать то пятый?
467 1511208
>>11117

>ASLR это просто рандомизация базового адреса бинарника


Ты код-то смотрел, теоретик ебаный?
468 1511211
>>11172
Строишь строку для переполнения с count побольше, во время запроса ввода смотришь адрес сегмента, фиксишь строку. Ну и я предполагаю, что array<char, 16> будет весь на стеке.
469 1511214
>>11169
Щас бы плюсан кукарекал на синтаксис любого языка. По секрету: там синтаксис сделан под сильным впечатлением от плюсов.
470 1511218
>>11211
Где можно прочитать вообще про стек?
sage 471 1511219
>>11218
Статья на вики data segments
472 1511233
>>11040
Кек. Этот вырвиглазный пропорциональный шрифт для кода, судя по всему, распечатанный из ворда. Не, это жулики.
473 1511239
>>11233
Как раз байтоебам обычно некогда возиться с форматированием.
Кроме того, ты не знаешь, через сколько рук прошло содержимое этого документа до передачи кандидату.
Вопросы как-бэ норм, говорю, как препод инфобеза в прошлом.
474 1511243
Конкретного решения нет, это вопрос "на подумать", выслушав ответ на который можно многое понять об отвечающем; потому как сильно зависит от опций компилятора и того есть ли доступ на чтение к бинарнику (посмотреть адреса символов) и/или стандартной библиотеке (если она на прилинкована статически, что тоже не сказано).
Варианты глобально примерно следующие:
- организовать вызов win();
- организовать вызов std::cout<< с аргументом-указателем на "win" (как из области констант, так и записанному самостоятельно);
- вообще полностью весь вывод поместить в шеллкод с системным вызовом.
А дальше вопросы - есть ли NX, ASLR, канарейка, бинарники... Возможно достаточно записать 16 байт говна, ещё 4-8 байт говна (на pop ebp/rbp), а затем адрес "win" и адрес std::cout<<. Это простейший вариант. А возможно - можно вовсе соснуть, если все символы расположены по рандомным адресам, бинарный файл для чтения не доступен и канареечка на стеке.
В принципе, если тебе интересно в этом вопросе прокачаться, могу порекомендовать годный практический курс "от простого к сложному": https://github.com/wapiflapi/exrs/tree/master/sploit
475 1511244
>>11239

>опросы как-бэ норм


Там как-бэ всего полтора вопроса на С++.
476 1511245
>>11244
Остальные на архитектуру и ОС, все норм для байтоебства.
477 1511246
478 1511247
>>11239

>Как раз байтоебам обычно некогда возиться с форматированием.


У любого программиста вытекают глаза от пропорционального шрифта. Просто на уровне ощущений.
Вопросы так себе и не понятно, зачем умение написать эксплоит нужно программисту. Мутная контора.

>препод инфобеза в прошлом.


Жулик как есть
479 1511249
>>11247
Про эксплоит это ты сам так решил, из-за типичного пидорашьего синдрома искать сложное в простом, как с вопросами для второклашек на форумах. На деле, там базовый вопрос на понимание устройства стека, это проходится на любом курсе по безопасности программ.
Вопросы базовые для письменного скрининга кандидатов, это очевидно.
480 1511253
>>11249
Кстати, как раз изьебства с move constructors и т.д., которые судя по всему обожают спрашивать в ваших НИИшечках, нахуй никому не упали в труъ-байтоебстве. Потому что если дело доходит до таких соображений, то пишут уже на чистом C, иногда даже без CRT.
481 1511254
>>11247

> зачем умение написать эксплоит нужно программисту


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

>>11249

>там базовый вопрос на понимание устройства стека


О, ну если сам автор вопроса интерпретирует это именно так, то в пизду такую контору. Хотя бы потому, что нет никакого "базового стека", есть разные ахритектуры, разные конвенции вызова, разные опции конпелятора, и упрощение здесь возможно только по линии конкретизации ("опишите какие примитивные операции возможны с классической структурой, именуемой стеком"). Ещё хуже, если автор вопроса сам не в курсе этого многообразия и вариативности, тогда тем более нахуй.
482 1511257
>>11249
Вроде как в стандарте С++ нет понятия стека.
483 1511268
>>11253
А в си есть аналог перемещения?
484 1511274
>>11254
>>11257
Берешь и пишешь, что можно, если в этой архитектуре адрес возврата лежит на стеке, для данной программы, и описываешь решение для x86, например. Там вообще функция может заинлайниться, и что с того?
По факту твои претензии не имеют никакого значения, потому что человек, понимающий эти нюансы, все равно дойдет до интервью. Вспоминая преподство, на апелляциях к оценкам на экзамен почему-то всегда одни долбоебы, а хитровыебанные студенты все равно получают полный балл, как бы они не изьъъебывались.
485 1511280
>>11268
Нет. В Си есть поинтер.
486 1511285
>>11249
Жуликам все просто, потому что они пиздаболы, которым лишь бы навалить кучу говна.
Для С++ программиста достаточно было бы спросить "почему этот код плохой".
487 1511288
>>11274

>Вспоминая преподство, на апелляциях к оценкам на экзамен почему-то всегда одни долбоебы, а хитровыебанные студенты все равно получают полный балл, как бы они не изьъъебывались.



Кто не умеет работать сам, учит работать других
Да, я в курсе, что преподаватели в РФ - дно, гной и квинтэссенция слабоумия, помноженного на самомнение.
Можно было не напоминать.
Спасибо.
488 1511292
>>11285

>Для С++ программиста достаточно было бы спросить "почему этот код плохой".


Дело в том, что твое мнение никому в хуй не уперлось, нужно уметь код писать.

>>11288
Но я не в Рашке, лол.
И я работаю программистом сейчас.
Где твой бог теперь?
489 1511299
>>11292

>Дело в том, что твое мнение никому в хуй не уперлось, нужно уметь код писать.


Это что это за пуки такие? Типа, пришел сюда господин, чье мнение кому-то уперлось.
Человек, задавший подобный вопрос, код писать не умеет. Если ты этого не понимаешь, то ты, скорее всего, тоже. Остается рандомная хуйня в стиле "угадай хобби собеседующего". На такие фирмы не нужно идти, даже если знаешь ответ.
490 1511302
>>11299

>Человек, задавший подобный вопрос, код писать не умеет.


Погоди с попоболью, я хочу удостовериться, что правильно тебя понял. Ты утверждаешь, что вопрос про стэк в квизе исходит от человека, не умеющего писать код? Правильно ли я тебя понял, мой юный максималист?
Еще один вопрос, кем ты работаешь сейчас? Студентота? Уровень ЧСВ?
491 1511309
>>11302

>Дело в том, что твое мнение никому в хуй не уперлось


>я хочу удостовериться, что правильно тебя понял


Вся суть мамкиного хацкера.
492 1511313
>>11309
Зато я ебал твою мамашу
493 1511326
Как в этом работать? скачал опенсорс проект, собрал его в вс, компелирую лнк2019
494 1511361
>>11243
Пиздец бля. Представляю сколько там платят.
495 1511370
>>11361
Да не слушай ты этого iamverysmart-даунито, это вопрос на основы архитектуры пека.
496 1511375
>>11370
Ну а ты как бы это решил?
497 1511378
498 1511385
аноны, есть в треде тот кто хоть немного шарит за фортран и плюсы? очень нужна ваша помощь т.к. больше не к кому обратиться. в гугле хуита полная
499 1511386
>>11378
Имеешь ввиду, что после унвиндинга стека должно остаться несколько байт, один из которых - инструкция jmp, и 8 - адрес функции, которую надо вызвать?

Я в детстве увлекался длл-инжектингом, там по похожему принципу делалось. Но это же пиздец какие дебри, нихуя не основы.
500 1511391
>>11386
Просто подменяешь адрес возврата адресом функции, которая печатает "win". Причем там, скорее всего, лишь байт или два нужно подменить. Открой программу в отладчике и замени адрес в стеке вручную, дальше понятно будет.
777777.png27 Кб, 870x213
501 1511405
Почему auto выводит точно такой же тип, но студия не ругается?
502 1511413
>>11405
Ты хочешь лямбду преобразовать к булевому типу?
503 1511425
>>11391
А разве конпеляптор не вырежет эту функцию при оптимизации, так как она ну вызывается?
504 1511433
>>11425
Обычно вырежет, если включена whole program optimization, или типа того, а так нет.
505 1511458
>>11391
>>11386
>>11386
>>11370
Вы заебали уже
https://godbolt.org/z/9KJJMH

Алсо с iostreams почему-то крешится, лень разбираться.
506 1511461
>>11458
Ну и в релизе не работает
507 1511469
>>11458

>Алсо с iostreams почему-то крешится, лень разбираться.


Ну так ты нихуя не понял же, чего удивительного.
zetta slow!.jpg19 Кб, 300x300
508 1511471
>>11458
Годболт умеет выводить результат работы программы?
509 1511472
>>11469
Что я не понял, маня? Я кроме одного подмена RIP и не собирался ничего делать
510 1511493
>>11385
Fortran++ ?
511 1511531
Суканах, я лох безуркий хочу переехать с Visual Studio и MSVC на KDevelop + GCC + (если необходимо делать это сразу то Cmake).
Установил GCC компилятор но я не могу блять понять как заставить KDevelop его использовать, и тем более видеть std и boost либы.
512 1511542
>>11531
Съехать с шинды. Ты ахуеешь на ней ебаться с цмейком, кедным софтом, и уже тем более, гцц. Поставь любой дистрибутив кед второй системой и не трать время на хуиту.
513 1511544
>>11542
Дядя, ты не ебанись смотри там со своей категоричностью.
У меня на шинде проги и игрульки стоят, в которые я еще временами поигрываю + я охуею еще и в юникс вкатываться по времени.
514 1511546
>>11542
Я не то чтобы прямо против, но не уверен что это настолько требуется, съебать на линух
515 1511548
>>11208
Смотрел, что дальше? Все данные можно получить в динамике. ASLR это защита от школоты.
516 1511553
>>11542
Для совсем дебилов есть cmake гуи, любой проект за 2 кнопки ресолвится и выплевывает студийный файл.
517 1511557
>>11548

>Все данные можно получить в динамике.


Да ну? Расскажи, как это сделать в том коде.
518 1511579
Салам алейкум всем анонам.

Нужно ли использовать классы QFile, QString, если пишешь на Qt? Неужели у них реализация быстрее, шустрее и молодежнее чем у стандартной либы?
48484.png3 Кб, 467x89
519 1511597
Захотел переписать обычный указатель с помощью умного, приложение падает после 1 прохода по функции, что тут не так? Закоментированый вариант работал.
520 1511598
>>11597
После выхода из функции объект удаляется.
521 1511599
>>07304 (OP)
Уже 4 месяца как я уволился с должности сеньора в одной из ДСных контор.
С мерзостью вспоминаю как я копал ебучий говнокод, общался с коллегами омежьими даунами с аутизмом, которые были похоже внешнее на мутации носорога и обезьяны ( Привет Антон ). Терпел тимлида велековозрастного пристарелого дауна, который был настолько омегой, что когда я увольнялся он даже сбежал со своими прихвоснями из кабинета, чтобы избежать неловкой ситуации ( Привет Костян ). Терпел всю эту скрамоскую клоунаду со ежедневными стендапами в 12:30, и прочее говно из мира айти выблядков, которых мне хотелось сжечь напалмом.

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

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

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

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

Как поживаете, лошки?
522 1511600
>>11598
Я до этого тоже удалял выделенную память через delete после выхода из функции. Как его тогда нужно было написать?
523 1511603
>>11599

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


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

>Единственное, что интересно, куда заведет язык поехавшие из стандарта С++.


Ничего хорошего из этого не выйдет. Это какой-то пиздец.
524 1511611
>>11603

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


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

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

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

Но не суть. В общем, что я понял пописав на С++ около 10 лет?
Что это говно, в первую очередь. Что нельзя доверять С++ всяким макакам, особленно с шаблонами, а то нагородят говнища, чтобы выебнуться типа кокой я илитарий нахуярил шаблонный говнокод, ну прям александреску # 2, а тебе потом разгребать это кривое дерьмо.
Вообще С++ лучше доверить только серьезным разработчикам библиотек, а для макакенов сделать упрощенный вариант, где нельзя будет юзать шаблоны, сырые указатели и прочее, чтобы долбоебы не могли себе выстрелить в ногу.
525 1511616
>>11611
Красавчик, поступил точно так же год назад
526 1511619
>>11599
Но всё это относится к программированию в принципе, а не только плюсам. Не знаю, чего ты сюда пошёл плакаться.
527 1511620
>>11616
Мое увожение, бро.
Чем сейчас занимаешься?
528 1511621
>>11619
С этим согласен, просто увидел тред про плюсы решил зайти спросить как дела, а заодно и высрать свою сторис.
529 1511622
>>11620
Пишу фп на скале и радуюсь жизни. Л
530 1511624
>>11620
Сосу хуи.
531 1511625
>>11597

>NULL

532 1511663
Почему при попытке удаления этого указателя у меня выходит ошибка? Я так понимаю, что я пытаюсь удалить палитру, которую не создал из-за NULL? Как тогда это пофиксить?
Bitmap* image = new Bitmap(hbmScreen, nullptr);
533 1511676
Кто тут скажет, нахуя в ассоциативных контейнерах добавлены upper_bound и lower_bound методы, когда есть find и equal_range?
534 1511677
>>11676
Тебе не нужно - не значит, что другим не нужно.
535 1511678
>>11677
Бтв std::equal_range вызывает std::lower_bound и std::upper_bound.
А std::find - линейный поиск, тогда как алгоритмы выше - бинарный поиск.

Но мы передадим комитету, что ты сказал, что нахуй не нужно, а то они так и не додумаются сами.
536 1511681
>>11611
Вообще, мне кажется, ты просто видел одну выборку программистов. Конечно, то, что ты описал, это, скорее всего, тотальное большинство (именно с такими мне приходилось встречаться по работе), но бывают исключения. Очень много зависит от того, где ты работаешь, какое начальство, принципы и так далее.

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

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

>Но мы передадим комитету


Мамке от меня привет еще занеси
538 1511685
>>11681
Конечно есть исключения, один из моих близких друзей как раз мой коллега с первой работы, тоже был крестовиком, потом перекатился в МЛ и тоже ненавидит программирование и дцп.

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


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

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


Вот это очень зря, я бы не стал такое делать. Это все равно что меня свободу на рабство.
НАПОМИНАНИЕ 539 1511687
С++ ебаное говно, используйте Rust.
540 1511695
>>11687
Настоящие программисты пишут на Фортране.
541 1511705
>>11597
Используй только weak и shared. Вся эта move-семантика для пидаров.
542 1511724
Решил вкатиться в ваши плюсы после дотнета. Я же могу просто открыть 17/20 стандарт и начать изучение? Или нужно начать с Си и пройтись по всем стандартам после?
543 1511727
>>11685

>Это все равно что меня свободу на рабство.


В любом случае я буду стараться открыть свой бизнес там.
Просто в стране, куда я сьебыва, требуется огромный уставной капитал, чтобы учредить фирму, а помимо самого капитала мне нужно накопить еще какую-то подушку финансовую, чтобы не сбомжеваться. Поэтому я вынужден временно так проработать.
544 1511728
>>11579

>Нужно ли использовать классы QFile, QString, если пишешь на Qt?


Да, нужно.

>Неужели у них реализация быстрее, шустрее и молодежнее чем у стандартной либы?


Нет, зачастую медленнее. Но
1) удобнее;
2) там функционала в 20 раз больше;
3) на всех поддерживаемых платформах работает предсказуемее чем стандартная либа (хотя иногда тоже поведение разное попадается), которая у всех своя;
4) ты ахуеешь пользоваться остальными частями Qt без них (в любом случае придётся всё перегонять в кутэшные типы).
545 1511750
>>11405
Ты вызов лямбды забыл дописать, [](){}()
546 1511751
>>11750

>[](){}()


Весь C++ одной строчкой
547 1511756
>>11751
Ну а хули ты хотел?
можно чуть короче, []{}()
548 1511782
Подскажите, что почитать, чтобы разобраться с исключениями? Где нужно использовать, а где нет, и как это делать правильно?
549 1511784
>>11782
Нужно использовать, когда функция может не выполниться. Например, если в ней происходит чтение файла и файл при этом не найден. Современная замена охуенной конструкции return ERR_HUYNYA_NAME;
Почитать можно stackoverflow. В общем то это универсальный ресурс, существование которого обесценивает все книжки по программированию вместе взятые.
550 1511786
>>11784
Концептуально задачу исключений я понимаю, да, но вот читая Майерса, мутно представляю архитектуру использования исключений, он там пишет про всякие тонкие моменты их использования, при том на момент написания книги это была новая фича. Мой же опыт использования исключений - throw(ex(str)) при любой ошибке, как ты и отметил, а try оборачивал весь код в мэйне, чувствую, это полная хуйня.
551 1511787
>>11786
Ну, хуёво если тебе приходится оборачивать код в мейне. Можешь наследовать свои исключения от std::runtime_error, но это скорее всего будет избыточно. Исключения - это не главная часть программы, просто используй их самым стандартным образом и не еби себе мозги.
throw(std::runtime_error("chto-to slomalos'"));
552 1511812
>>09661

> Алсо, подскажите нахуя тут __pad


Для UB.
553 1511813
>>09810

> l-value объект


У вас там каникулы ещё не кончились, что ли?
1. lvalue, а не l-value
2. lvalue это не объекты, а выражения
554 1511847
>>11782
Их либо не используешь вообще, либо используешь везде, иначе будет каша. Первый вариант, имхо, лучше, особенно после добавления появления в стандарте optional. Конечно, ничего плохого в том, что всякие штуковины из внешних библиотек, которые завязаны на исключениях, нужно оборачивать в try-catch нет.
555 1511892
Драсте. Нужна ваша помощь. Есть прога, которая по ходу работы выводит числа в консоль и она должна делать это меньше чем за секунду. Я так подозреваю, что дергание консоли ради вывода одного символа несколько тысяч раз замедляет программу. Поэтому я запихнул даннные для вывода в массив. Как теперь разом вывести все элементы массива?
556 1511897
>>11892
Памагите
557 1511910
>>11892
Собери из твоих результатов одну строку, соединенную '\n', и выведи ее
558 1511911
>>11910
Спасибо
559 1511931
>>11782

>Где нужно использовать, а где нет


Когда случилась критическая пиздецома и программа дальше выполняться не может
560 1511941
Как обнаружить конец ввода в консоль на си? У меня на вход поступает последовательность произвольно разделенная пробелами и переносами строк и ее нужно считывать ""пока не наступит ситуация "конец файла". С чтением из файла было бы понятно, но тут как?
561 1511981
>>11941

>С чтением из файла было бы понятно, но тут как?


Так же.
562 1511983
>>11599

> Как поживаете, лошки?


Мальчик.
Мне 20 лет.
Я работаю в компании-лидере в своей отрасли.
У меня очень красивая и умная девушка.
Я лидер метал-группы.
Я учусь в лучшем техническом вузе Москвы.
У меня в друзьях ходят очень влиятельные люди — от сыновей начальников ФСБ до директоров по безопасности отдельно взятых компаний.
563 1511997
>>11750
Ты только что открыл врата в ад
564 1512000
>>11981
Спасибо
565 1512007
>>11983
Bruh..
566 1512050
>>11941
while (std::cin >> std::skipws >> x)
std::skipws нужен как раз, чтобы символы переноса строк игнорировать, но тогда поток ввода нужно будет прерывать вручную.
Или через std::getline + std::cin.ignore()
567 1512118
Есть оператор if с n условиями if (1 and 2 and ... n).
Как коротко сделать, чтобы возвращалось true при 0 или одной ошибке?
sage 568 1512127
>>12118

>при 0 или одной ошибке


Не понял вопроса, но отвечу. Если хотя-бы одно условие в твоём случае даст false, то все последующие условия не будут проверятся. Можешь разве что расположить условия от наиболее ожидаемого к наименее ожидаемому, хотя это экономия на спичках ящитаю
569 1512143
>>12127
Ты прав, хреновая идея. Тогда разобью целый if на if-ы для каждого условия и пройдусь счетчиком, но хотелось бы идеальное решение.
570 1512145
>>12118
Сделать вложенные if-ы и создать счетчик, инкрементирующийся при ошибке. В конце смотрим его значение и возвращаем соответствующий результат
571 1512152
if((int)(!condition1)+(int)(!condition2)+...+(int)(!conditionN)<2){
//...
}

Не благодари
sage 572 1512201
>>12145

> if-ы и создать счетчик, инкрементирующийся при ошибке. В конце смотрим его значение и возвращаем соответствующий результа


Лучше в стиле современных плюсов заебашить вектор предикатов и форичем с лямбдой пройтись
# OP 573 1512224
Ебалаи, запилите уже перекат

ОП
574 1512287
>>11724
Бамп вопросу.
575 1512302
>>11724
Нет, придется учить 14 стандарт, а потом гуглить
576 1512304
>>11724

> просто открыть 17/20 стандарт и начать изучение


> просто



Ну удачи, хули
577 1512315
>>11724
Открой книжку страуструпа на 1300 страниц и читай. Она вообще обо всем для человека, умеющего программировать. А сам стандарт открывать не надо, он для комитета
578 1512336
>>12315
>>12304
>>12302
А зачем мне старье учить? Это тоже самое, что и .net framework 3.5 изучать, смысла нет. Пролистал краем глаза первую взятую книгу Бьерна, там простейшие принципы ООП и программирования в целом, я это все знаю. Мне же нужно научиться писать современный код на плюсах в реалиях 2020 года.
579 1512370
>>12336
Effective C++
Effective Modern C++
И что-нибудь по STL, хоть из того же C++ Primer.

Хотя сама уверенность, что ты легко воспримешь C++ после дотнета, довольно забавна. Скорее всего, ты не осилишь даже указатели, и бросишь.
580 1512374
Массивы создаются на стеке или на куче?
581 1512379
>>12370

>Хотя сама уверенность, что ты легко воспримешь C++ после дотнета, довольно забавна. Скорее всего, ты не осилишь даже указатели, и бросишь.


Сколько гонору-то. Ничего в этом сложного нет, если знаешь архитектуру компьютера и ОС
582 1512385
>>12379

>дотнет


>знаешь архитектуру компьютера и ОС


/0
583 1512387
>>12374
Смотря какие.
584 1512392
>>12387
Ну те, что int a[10000]
585 1512396
>>12392
эти на стэке
586 1512398
>>12396
Пасибо. Еще вопросик. Есть у меня программа на си, которая считывает символы. Все хорошо, пока я не нажму enter. Говорят что я пытаюсь использовать невыделенную память. Что не так с переносом строки?
587 1512400
>>12398
Без кода вообще хуй знает, что у тебя там
588 1512411
>>12400
Я понял в чем была ошибка. Но теперь не знаю как задачу решить. У меня на вход поступает последовательность символов, в случайных местах разделенная пробелами и переносами строки.
589 1512419
>>12336
Затем, что одни фичи были добавлены в одном стандарте и есть до сих пор, а другие заменены/устарели/усовершенствованы.

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

Можешь посмотреть лекции по C++ от PVS Studio, там кратко рассматриваются нововведения стандартов.
sage 590 1512436
>>12419
Двачую, в 20-м подвезут концепты и рядовому программисту вообще нахуй не нужны будут эти std::enable_if и шаблонные рекурсии со сфинаешкой, просто requires написал и идёшь чай пить, но некоторые вещи типо лямбд и структуред байндинг лучше запомнить, ибо очень даже полезная хуйня
591 1512437
>>12436
в среднем, действительно рядовому программисту это все никогда и не было нужно.
sage 592 1512441
>>12437
Как минимум умение прочитать чей-то код и не проебать собеседование - причины это всё знать. Теперь ты просто увидишь
template<class Container>
void print_stl_container(const Container& c) -> requires(begin(),end())
и сразу поймешь что к чему, без всяких std::void_t<decltype(std::declval<Container>().begin()...
Так что если ты вкатываешься в 20+ году, то смысла учить эту часть в 17-м нет
593 1512445
>>12441
Смысл ее учить таки есть, потому-что даже гугл еще не перешел на C++17, не говоря уж о C++20

Когда меня собеседовали, спросил про это. Сказали что через год-два будет С++17 только, щас 14.
sage 594 1512447
>>12445
Вот ты опытный видимо, обьясни нюфагу почему большие компании просто не могут просто перейти на новый стандарт? Если код был на С++11, в чём проблема перейти на С++17, учитывая что весь код обратно совместим? Разве что у них там уб на уб, тогда действительно лучше не трогать
595 1512453
>>12447
Я переводил проект на работе с С++11 на С++17, и включал /permissive- в Вижуалстудии (чтобы код был полностью стандартным, без хуйни).

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

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

Ты прав в том, что если у тебя действительно хороший код - то да, никаких проблем нету. Но хороший код редко у кого есть.
sage 596 1512459
>>12453

>то да, никаких проблем нету. Н


То есть по факту, если код с соблюдением стандартов и без всяких велосипедов, то чтобы перейти на новый стандарт ты просто флаг компилятора меняешь, и всё? Сколько у же у компаний говнокода, раз они годами перейти не могут
597 1512462
>>12459
По идее - да. Но часто есть другие вещи, как, например, легаси-говно в проекте, которое никто не будет вот так вот менять. Такие как "наши проприетарные либы собраны вижуал студией 2010, мы будем сидеть на ней всю жизнь". В реально-больших-уровня-гугла проектах много подобной херни. С маленькими проектами все сильно проще.
sage 598 1512464
>>12462
Странно что до сих пор не сделали фичу типо extern "C++11", обернул часть кода в 11 стандарт, а новые фичи на 20-м пилишь и не паришься о легаси.
599 1512465
>>12464
Таких предложений в комитете было дохуища. Комитет не хочет делать диалекты языка. Да и какой ад будет для компиляторщиков поддерживать эти гигатонны дряни. Сейчас Витторио Ромео попытался пропозал с Эпохами запушить в комитет, но шансов немного на его принятие.

Разговаривал на эту тему с Тимуром Думлером в Питере позавчера
# OP 600 1512469
ПЕРЕКАТ

>1512466


>1512466


>1512466


>1512466

# OP 601 1512470
# OP 602 1512472
603 1512476
>>12370
В днонете есть unsafe так-то. Я этим умею пользоваться, также есть знания о принципах работы ОС и понимание модели памяти. Я даже IL-асм щупал, а ты меня в js-макаки сразу записал, ну спасибо.

>>12379
Да он толстит видимо.
604 1512496
>>12411
stringstream - то, что тебе нужно
605 1512547
>>12496
Это есть в си?
606 1512548
>>12441
Можно же просто decltype(auto)?
607 1512550
>>11983

>Я учусь в лучшем техническом вузе Москвы.


У меня флешбеки от этого выражения, не говори так больше.
608 1512557
>>12547
А чего ты тогда к крестобоярам пришёл? Перепиши на плюсах, си для этого не очень подходит. Ну или бегай через for и проверяй, не пробел ли этот символ.
609 1512558
>>12557
Да блин. Условие оьязательное, что нужно на си писать. Ладно. Я пошел в си тред. Спасибо
610 1512768
Итак, аноны. Имеется класс
[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?
611 1512769
>>12768
Ебаная макака, там в конструкторе T const ★ и в самом классе тоже
612 1512770
>>12768

> friend class MyPtr<TT>;


Тут тоже <U>
613 1514550
>>11599

> велековозрастного


> прихвосням


> пристарелого

Тред утонул или удален.
Это копия, сохраненная 18 ноября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски