Этого треда уже нет.
Это копия, сохраненная 19 августа 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1540985129178.png3 Кб, 558x558
C++ тред #108 /cpp/ 1657102 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

Ответы на вопросы:
https://en.cppreference.com/w/
https://www.cplusplus.com/reference/

Прошлый тред >>1643956 (OP)
2 1657130
А я перекатываю свой вопрос из прошлого треда сюда.
Какую ide предпочитаете для разработки?
Алсо: а что думаете насчёт юзания vim?
Clion живет у параши вместе со своим high usage CPU
3 1657135
>>657130
Visual Studio.
VIsual Studio Code.
VSCode.
Sublime иногда.

>что думаешь о виме


Да.
4 1657139
>>657130
Вижуал студию.
ВИМ - это как палкой копалкой в 21 веке пользоваться.
stroustrup tall.png251 Кб, 603x324
5 1657153
6 1657161
>>657130
Qt Creator.

> vim


Юзаю, если пишу хеллоуворлд, где только stdlib.
7 1657172
Говно старое.
8 1657178
>>657172
Что, уже завезли замену?
9 1657181
>>657130
Vs codium

>а что думаете насчёт юзания vim?


:q!⏎
10 1657363
Пацаны, на сколько сложно будет с делфи переучиться на си++?
11 1657410
>>657153
Длиннее!
12 1657423
>>657363
никто не знает. Вперед читать книгу
13 1657438
Начал читать Принципы и практика использования и просто охуел на моменте с калькулятором. Что за пиздец? Откуда столько непонятных терминов? Какие-то термы, грамматика. Охуеть можно, стоит ли продолжать?
14 1657447
>>657438
А ты чего ожидал? Что будет написано секретное знание как давить одну волшебную кнопку?)
15 1657456
>>657447
Блять, я ожидал нормальное возрастание сложности, а не с лёгкого на хардкор за одну страницу
16 1657457
>>657438
Раньше чтобы программировать надо было разбираться в нескольких околоматематических областях знаний, гугли Computer Science. Сегодня уже не актуально.
17 1657459
>>657457
Сегодня актуально на яваскрипте реакт делать. Может ну его нахуй этот си
18 1657464
>>657438
Ну а нахуй ты такую книгу открыл тогда?
19 1657467
>>657464
Лежит уже несколько лет, зря деньги что-ли платил
20 1657468
>>1656422 →

> Объявление класса само по себе не создает никаких сущностей, только определяет структуру объекта.



Наглая ложь.

> A class definition introduces a new type.


https://timsong-cpp.github.io/cppwp/n4861/class.name#1.sentence-1
type является entity (сущность)

> An entity is a value, object, reference, structured binding, function, enumerator, type, class member, bit-field, template, template specialization, namespace, or pack.


https://timsong-cpp.github.io/cppwp/n4861/basic.pre#def:entity

Таким образом, объявление (являющееся определением) создаёт новую сущность.
21 1657469
>>657456
Ничего, пройдет. В букваре у Страуструпа тоже в начале много хардкора. Но он по сути выполняет роль анонса. Дальше потом уже нормально.
22 1657470
>>657469
Точно? Может это я тупой?
23 1657471
>>657457
Малолетних дебилов даже гуглить не надо, они сами в тред лезут.
24 1657472
>>657470
Читай!
25 1657473
>>657470
Нет, не тупой, просто нужно время на понятие грамматики парсера, это проходит, не парься, если не можешь понять эту грамматику, то почитай аналогичные вещи в интернете, грамматику рекурсивного спуска например.
а еще лучше никуда не гнаться и взять дня 3 перерыва и просто подумать самому, а потом перечитать главу, обычно помогает
26 1657475
>>657468
У него "сущность" в другом смысле была заюзана. Имеется в виду что при объявлении класса память в не выделяется.

>кидает пруф, что объявление класса вводит новый тип


Ты туповатый чутка, да?
27 1657478
>>657475

>У него "сущность" в другом смысле была заюзана.


В C++ у сущности только один смысл — https://timsong-cpp.github.io/cppwp/n4861/basic.pre#def:entity

> Имеется в виду что при объявлении класса память в не выделяется.


В кампиляторе выделяется

>>кидает пруф, что объявление класса вводит новый тип


>Ты туповатый чутка, да?


Что не так? Тип — сущность. Ввести новый тип = ввести новую сущность.
28 1657486
Пацаны, а как в крестах объявить аналог классовой функции или классовой переменной из Паскаля? То есть такую которую я могу выполнить или обратиться не создавая объект и при этом не получить AV. И можно ли писать хелперы для базовых типов (int, string)?
image.png9 Кб, 445x110
29 1657488
30 1657492
>>657486
static members
31 1657520
>>657102 (OP)
Анон, есть ли предпочтение static методам класса (если возможно) const? решарпер такой совет дает. Какие плюсы от этого, если метод например private?
32 1657524
>>657520
Хм, а мне решарпер наоборот предлагает static везде пихать
33 1657534
>>657520
Что значит предпочтение? Если метод можно объявить константным и ты готов ебаться с константностью то объявляй как константный. Если уже какой-то код есть то лучше чукнуть как в нем все сделано. Если там забивали на константность то лучше все так и оставить. Ну или рефакторить все. Хотя от константных методов неудобства минимальные - можно и всегда их объявлять.
34 1657558
>>657524
Я выразился не так. Предпочтение к статик, а не к конст, решарпер тоже предлагает статики.
>>657534
В нормально дизайне ебли не будет. У меня уйма математики, и много хорошо изолированных классов.

Мне больше интересует выгода по какой-нибудь потокобезопасности, скорости и тп
35 1657685
>>657520
Если у тебя в методе не используется this, то решарпер предлагает сделать его статическим, все правильно.
36 1657694
>>657520
Со стороны кода — никаких.
Со стороны машинного кода — погоняй свои примеры в https://gcc.godbolt.org и посмотри.

>>657558

>Мне больше интересует выгода по какой-нибудь потокобезопасности, скорости и тп


По скорости — нужно идти в дизасемблер и смотреть конкретные случаи.
По потокобезопасности — тут только уменьшать кол-во shared стейта, это главный камень преткновения и const/static тут не поможет ничем.
Короче, пиши всё по семантике и не еби голову.
37 1657737
Запилил аналог cheat engine, при записе в память нужного участка - падает все приложение сканируемое. Привелегии отладчика получил. Чо не так?
38 1657744
>>657737
Как ты заебал...
39 1657748
>>657558
В вызов любого не статичного метода передается скрытый параметр (ссылка на объект у которого вызван метод). Соответственно у статических методов такого параметра нет и они должны давать какой-то мизерный прирост скорости. Но особо хитрожопые компиляторы вполне могут и оптимизировать такое. Также статические методы более удобные - их можно в любой момент вызвать. Для вызова нестатического тебе нужно где-то достать объект класса. Если у метода статическая суть то лучше его статическим и объявлять.
40 1657755
>>657478
В С++ один, а в русском языке нет

> В кампиляторе выделяется


Очевидно, что речь не о компиляторе а о самой программе, тупица

ты мне уже поднадоел признаться своей одаренностью, так что иди нахуй
41 1657760
>>657744
Но как это работает в art money, что это не вызывает краш из-за непланомерного доступа?
42 1657802
Наткнулся на какую то дичь. Почему при выполнении:
tempValue = 1280;
buf = (char*)&tempValue;

buf остается пустым? Если другие числа, то все нормально.
43 1657807
>>657802
Гугли что такое big endian. Первый элемент строки получаемой - нуль терминатор
44 1657808
>>657807
тьфу, Little endian конечно гугли.
45 1657811
>>657808
Блин, а как тогда длину переменной в байтах получать? Я делал так:
tempValue = var;
buf = (char*)&tempValue;
int length = strlen(buf);
Но теперь оказывается это пидорасится спецсимволом.
46 1657812
>>657811
я чето вообще не понимаю, что ты делаешь. Обьясни пожалуйста.

Длина инта всегда 4 байта, sizeof?
47 1657815
>>657812
Неправильно выразился. Не длину переменной, а сколько байт она занимает в данный момент времени. Ну то есть var = 1, то 1 байт, var = 640, то 2 байта. Причем var может быть не только int, но и string или float.
48 1657816
>>657815
Друг, оно всегда занимает одинаковое количество байт, вне зависимости от содержимого.
49 1657823
>>657816
Если это int или float, то да. Но у меня QVariant.
Тогда другой вопрос. Вот мне надо записать в файл значение без лишних нулей. Ну понял да, чтобы 1 не записывалось в файл, как 00 00 00 01. И потом к нему пришпилить еще длину в байтах. Ну например, для var = 1, записывать 01 01, для var = 1280, записывать 02 05 00, или для var = "TEST" записывать 04 54 45 53 54.
Как мне вытаскивать длину в байтах, как нибудь попроще?
50 1657824
>>657823
QVariant тоже. Там указатель и какой-нибудь тэг внутри. Sizeof его всегда одинаковый, если типы одинаковые.

То, что ты спрашиваешь в п2 - это тебе нужно просто написать сериализацию.

Что в духе ТИП, ДЛИНА, данные. И предусмотреть возможность того, что оно не нулл паддинг.
В случае конкретно интов - ты всегда можешь проверять, больше оно в 2^8, 2^16 и тд для ансайнедов.
51 1657839
>>657823

> Как мне вытаскивать длину в байтах


Считай логарифм по основанию 256.
В >>657811 у тебя пидорасило не из-за спецсимвола и из-за того что strlen ожидает терминированую нулем строку. Если ты хочешь считать так как ты считал то тебе нужно число конверить в строку с помощью itoa по основанию 32 и полученую длину делить на 2.
52 1657844
>>657824
Как в QByteArray записать без лишних нулей?
Пишу
QByteArray data;
QDataStream in(&data, QIODevice::WriteOnly);
in << var;
А он все равно нули пишет.
Блин, раньше как то делал, сейчас не помню уже.
53 1657868
>>657844
Как ты узнал, что нули? Если var int и bigendian включен в qdatastream, но при записи 1 ты очевидно получишь в первых трёх байтах нули
54 1657869
>>657868
Можно ли как то записывать без нулей? Или вручную чистить надо?
55 1657872
>>657869
Ну сделай var свой qchar
56 1657876
Хочу сказать спасибо тому анону, который мне посоветовал решарпер. Производительность возрасла в разы. Алсо, ещё я научился с маркетплейса вс качать полезные штучки, например, построитель графиков по данным, что для меня просто мастхев
57 1657887
>>657844
У стандартных стримов на этот случай есть метод put(). А оператор << преобразует чары в инты
58 1657892
>>657760
Бери гидру и делай реверс
59 1657893
>>657876
Да не за что, надеюсь ты его не спиздил?
60 1657914
>>657893
Спиздил после триала. Ещё не вырос пока до покупки софта, извините. Ещё и vs community edition.
Если вдруг будет закупка, то решарпер включу туда
61 1657926
>>657876
Еще настоятельно рекомендую Git Diff margin и Trailing Space Visualizer
62 1657933
>>657755

>В С++ один, а в русском языке нет


Когда будешь на русском языке программировать, тогда и пользуйся смыслами терминов из русского языка. А это тред про программирование на C++.
63 1657984
>>657914
Она же там около десяти баксов в месяц стоит. Дешевле чем пиво на Арбате
64 1657988
>>657926

> Trailing Space Visualizer


Зачем, если есть Ctrl+rw?
213.jpg88 Кб, 600x850
65 1658010
Устроился сегодня на 1 работу жуном, предложили 1 месяц 300$, это нормальная практика или меня пытаются наебать? Какие были ваши первые зп?
66 1658014
>>657988
Первый раз слышу про ctrl+RW, даже не знаю что он делает.

Но этот аддон на любое сохранение файла просто нахер все выпиливает лишнее, не в этом ли счастье
67 1658015
>>658010
Если ты устроился на первую работу - ты уже выиграл в лотерею. Через год уходи на килобакс, а пока сиди смирно.
68 1658023
аноны хочу вкатиться в программирование с нуля,возраст 25 лет,подскажите с какого языка лучше начать и для начала админом на удалёнке,есть ли смысл для опыта посидеть годик,вообщем у кого опыт есть,дайте пожалуйста почту свою или телегу,пообщаться на эту тему
69 1658030
>>658023
что ты вообще умеешь? Волшебное ничего?
70 1658032
>>658030
оно самое,я не учился программированию просто,работаю обычным манагером
71 1658036
>>658023
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
72 1658042
>>658036
кинь телегу или почту,буду советы спрашивать хотя бы,как вкачусь полноценно и буду нормально получать,отблагодарю а то я щас прочитаю,азы освою и хуй с маслом сосать буду
73 1658051
>>658042
это копипаста
74 1658052
>>658051
а ясно,я тоже подумал что слишком сказочно)
75 1658054
>>658010
Тоже $300, только за полставки.
>>658015
А через сколько уходить на два?
76 1658059
>>658054
зависит от города. в ДС через 2 года, в миллионниках через 3, в мухосрансках таких зарплат нет
77 1658135
>>657933

Программирую только на православном. На нем сам перевод стандарта написан

И да это С++ тред, таким хуесосам дибиловатым как ты здесь явно не место, пиздуй в джс-загон тебе хуев в жопу накидают, всё как ты и они любят)))))
78 1658142
>>658135

>Программирую только на православном. На нем сам перевод стандарта написан


Так в переводе у "сущности" остался тот же смысл, что у entity в оригинале.
79 1658363
>>657933
Когда книги будут писать на C++, тогда и кукарекай. Ну и тупица, лол.
80 1658398
Верно ли я понимаю, что число срабатываний любой рекурсивной функции ограничено стеком?
81 1658407
>>658398
Да, кроме случаев когда произойдет чудо и компилятор соптимизирует хвостовую рекурсию. Если твой компилятор вообще такое умеет.
82 1658412
>>658407
VS2019 господин в треде. Умеет?
83 1658415
>>657748

>статическая суть


Что ты под этим подразумеваешь? Типа внутрь метода не нужно передавать объект?
84 1658419
>>658023
Веб на php наверное если только.
85 1658421
>>658142
Это шутейка, долбаеб
Когда тебя твой парень тебя в жопу ебет, ты ему тоже ноешь "Вазген, трахай под 69 градусов, а не 45, у меня геморой вываливается"?

Думаю тебе в ПТУ несладко приходится. Каждый день водолаза в тубзике заставляют играть? Или перерыв на карантнин все таки дали, потому что там сейчас не во что мокать?

Проверь в словаре значения всех использованных в твоем следующем ответе слов, лалка, а то вдруг кто доебется. И точку в конце не забудь
86 1658425
>>658412
Все распространенные (MS, gcc, clang) вроде как умеют но стандарт не требует обязательно оптимизировать, поэтому там могут быть нюансы - компилятор может передумать ее оптимизировать если ему что-то не понравится. Ну и нужны более жесткие режимы оптимизации (типа О2/О3).
>>658415

> Что ты под этим подразумеваешь?


То что метод использует только статические члены класса (или не использует вообще).
87 1658433
>>657130

>Алсо: а что думаете насчёт юзания vim?


если умеешь печатать в слепую десятью пальцами и умеешь пользоваться шеллом, то норм
по сути все дела делаешь в консоли, а в вим тупо редактируешь код
88 1658667
>>658421
Хуя тебя разорвало.
89 1658712
>>658667
Пфф мне доставляет удовольствие обсирать тебя, так что разорвало тут разве что твое маленькое нежное колечко от огромной чурчхеллы Вазгена
Точку поставил, красавчик
90 1658830
По какой причине это говно ещё живо?
91 1658839
>>658830
Хз, джаваскрипту пока нет альтернатив.
Но пилят, поговаривают
92 1658840
>>658839
Неплохо.
93 1658975
Сука, как же у меня полыхает. Как же я люблю cppшники на 7к строк и больше, где дохерища ifdef, часть из которых проваливается на компиляции, а часть вообще неизвестно что включает и зачем нужна.
Где половина значений из функций возвращается через ссылки и ты хуй поймёшь, модифицируется ли оно где-то внутри или нет и приходится лезть в 100500 функций и осознавать это, и в итоге где-то в куске кода, который выключен макросом, это херня таки модифицируется и ты идёшь осознавать, когда этот макрос включается и что он делает
А какая ляпота когда всё вынесено в глобальные переменные.. Мммм..... Как же это ахуенно, когда можно получить доступ по всему и отовсюду. Даже из методов isCheckSomething можно менять эти самые переменные! Разве это не ахуенно!?
И как же здорово копипастить код! Зачем же выносить его в отдельные методы, если можно просто скопипастить! Ведь его же никогда не придётся менять!! И файл с 10к строками не придётся открывать, наверное
А лямбды в лямбдах которые в других лямбдах какая красота! Зачем задумывать о том, что и как и куда вынести, если можно просто нахерачить 100500 лямбд? Вот и не зачем!
94 1658979
>>658975
И потом все вот эти писаки твоего горя гордятся званием разработчика Срр кстати.
95 1658980
>>658975
Ну так сделай рефакторинг, это же самая мякотка. Мужики потом руку жать будут, хрюши перед тобой будут жопами крутить, а начальник лично премию выпишет.
96 1659468
Господа, кем работаете? Пердолите легаси под винду или делаете йоба-проекты под Linux со всеми новыми фишками плюсов?

И вообще, каков на сегодняшний день рынок плюсов в ДС? Какие есть интересные места, где не занимаются программированием под древние технологии?
97 1659493
>>659468

> Пердолите легаси под винду или делаете йоба-проекты под Linux со всеми новыми фишками плюсов?


Делаем йоба-проект под три платформы со всеми новыми фишками плюсов, параллельно пердолим легаси, внедряя эти самые фишки (легаси старше половины анонов итт)
98 1659507
>>659493

>Делаем йоба-проект под три платформы со всеми новыми фишками плюсов


А что хоть за сфера деятельности? Приложения под десктоп какие чи шо?
99 1659517
>>659468

>Пердолите легаси под винду или делаете йоба-проекты под Linux со всеми новыми фишками плюсов?


Кек всё. Легаси и не под винду, полуэмбеддед линукс (бортовое оборудование), десктоп с "фронтом" под винду "беком" на ртос на параллельных ядрах. Использую фишки когда это возможно.
Сфера авиация, больше не расскажу, NDA.
100 1659519
>>658036
Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python". Странная книжка, толстая, да ещё на не русском языке. Усердно прочитал её, методично и вдумываясь, но таки ничего и не понял. Но что-то не отпускало меня - я пошёл на python.org и стал изучать стандартную библиотеку, старательно, скурпулёзно, от корки до корки. Гугля примеры кода, я наткнулся на пост в блоге одного гуру, где было написано про PEP8. То, что рассказывал этот умудрённый опытом кодер, настолько впечатлило меня, что я словно в припадке безумия бросился зубрить эту конвенцию по написанию питоньего кода. У меня тряслись руки, по телу прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё это время - и теперь могу процитировать наизусть любой пункт, даже если меня разбудить посреди глубокой ночи.

Новые знания окрыляли меня, я бросился писать (что бы вы подумали?) очередную имиджборду. Я не писал раньше имиджборд, эта была моей первой. По пути пришлось освоить азы вёрстки на html и css, но там всё оказалось совсем не сложно.

Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в недостаток производительности. Ну, так мне показалось. Я делал замеры, устранял места с тяжёлым кодом. Тысячи раз запускал ab, но так и не сумел перейти порог в 300 запросов в секунду. Я как-то ожидал большего и был немного разочарован.

Гугл, снова гугл. Десятки статей и тем на форуме... Довольно быстро я заметил, что люди часто пишут про какие-то "асинхронные веб-сервера". Часто встречались названия Tornado и Gevent. Я прочитал про них подробнее - и был просто ошеломлён. Как мне это раньше не приходило в голову?! Это же, это просто гениально, чёрт меня побери!

Исходники в ведро, всё переписать! Меня переполняло новое знание, поток мыслей ровно ложился в строчки кода. Я просто не мог остановиться. Чашка кофе... Ещё чашка... Мой небольшой кусочек софта приобретал кристалльную чистоту, я смертельно устал, но продолжал в умилении полировать его зудящими руками, нанося последние штрихи.

Пять тысяч. Я получил производительность в пять тысяч запросов в секунду. В ту ночь я так и не смог заснуть.

Наиувлекательнейший мир хай-лоада открылся передо мной. Позже я изучил ещё много классных вещей типа сверхбыстрых асинхронных key-value-хранилищ, или, например, такого необычного подхода к обработке данных, как map-reduce.

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

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

А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на себе завистливый взгляд. Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти, презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве. И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался построить замок из навоза.
100 1659519
>>658036
Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python". Странная книжка, толстая, да ещё на не русском языке. Усердно прочитал её, методично и вдумываясь, но таки ничего и не понял. Но что-то не отпускало меня - я пошёл на python.org и стал изучать стандартную библиотеку, старательно, скурпулёзно, от корки до корки. Гугля примеры кода, я наткнулся на пост в блоге одного гуру, где было написано про PEP8. То, что рассказывал этот умудрённый опытом кодер, настолько впечатлило меня, что я словно в припадке безумия бросился зубрить эту конвенцию по написанию питоньего кода. У меня тряслись руки, по телу прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё это время - и теперь могу процитировать наизусть любой пункт, даже если меня разбудить посреди глубокой ночи.

Новые знания окрыляли меня, я бросился писать (что бы вы подумали?) очередную имиджборду. Я не писал раньше имиджборд, эта была моей первой. По пути пришлось освоить азы вёрстки на html и css, но там всё оказалось совсем не сложно.

Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в недостаток производительности. Ну, так мне показалось. Я делал замеры, устранял места с тяжёлым кодом. Тысячи раз запускал ab, но так и не сумел перейти порог в 300 запросов в секунду. Я как-то ожидал большего и был немного разочарован.

Гугл, снова гугл. Десятки статей и тем на форуме... Довольно быстро я заметил, что люди часто пишут про какие-то "асинхронные веб-сервера". Часто встречались названия Tornado и Gevent. Я прочитал про них подробнее - и был просто ошеломлён. Как мне это раньше не приходило в голову?! Это же, это просто гениально, чёрт меня побери!

Исходники в ведро, всё переписать! Меня переполняло новое знание, поток мыслей ровно ложился в строчки кода. Я просто не мог остановиться. Чашка кофе... Ещё чашка... Мой небольшой кусочек софта приобретал кристалльную чистоту, я смертельно устал, но продолжал в умилении полировать его зудящими руками, нанося последние штрихи.

Пять тысяч. Я получил производительность в пять тысяч запросов в секунду. В ту ночь я так и не смог заснуть.

Наиувлекательнейший мир хай-лоада открылся передо мной. Позже я изучил ещё много классных вещей типа сверхбыстрых асинхронных key-value-хранилищ, или, например, такого необычного подхода к обработке данных, как map-reduce.

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

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

А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на себе завистливый взгляд. Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти, презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве. И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался построить замок из навоза.
sussman snake.jpg3 Кб, 213x237
101 1659534
>>659519
Это ты ещё сикпи не читал
изображение.png16 Кб, 550x448
102 1659541
>>657130
разъясните блок /store position and velocity of this particle/
species задан как struct
103 1659549
>>659541
Судя по коду, species хранит указатель на массив part размером np_alloc элементов. В нём "активных" элементов species->np. Если места под ещё один активный элемент нет, то бросается ошибка. Иначе код добавляет ещё один активный элемент.

int n = species->np;
species->part[n].x = x;
species->part[n].v = v;

species->np++;

Так понятнее?
104 1659573
>>659549
да, просто не понимаю к чему такие указатели городить
2020 04 16 c#.png66 Кб, 827x844
105 1659575
Аноны, смотрите что я могу сделать на C#.
Суть токова: есть 2 класса (Class1 и Class2), каждый в своём файле (Class1.cs и Class2.cs). Класс Class1 содержит ссылку на Class2, а класс Class2 содержит ссылку на Class1. Всё что мне надо было сделать, это просто написать объявления этих классов в разных файлах.
Вопрос: как сделать такое в C++?
106 1659579
>>659575
Я не гуру, но мне кажется никак. Это же замкнутый круг получится
107 1659595
>>659575
Пишешь объявление (не определение) класса в ашнике одного из них, ссылки на неопределенные классы разрешены, ибо одного размера, шарп это спиздил из сишки ещё.
Но правильнее делать однонаправленные ссылки на интерфейсы, и в реальном коде по другому не получится.
108 1659607
>>659575
Я тебе может секрет открою, но в c# твоя хуйня типа Class1 a; не равносильна Class1 a; из c++. Грубо говоря это больше похоже на std::shared_ptr<Class1> a; с неявным вызовом make_shared в консрукторе в конструкторе. А для такой хуйни достаточно forward declaration
109 1659611
>>659607
Да, в шарпе это ссылка по факту. Значит в C++ объявление с виду будет другое, что-то вроде Class1* class1; Но тут главное чтобы суть была той же - первый класс содержал ссылку на второй, второй на первый, и чтобы они были в разных файлах. (то что это можно сделать в одном файле я знаю, это у меня получалось). Собственно проблема у меня сделать так чтобы они были в разных файлах.
110 1659688
>>659611
forward declarations

Class A;

Class B
{
A a;
}

============
Class B;

Class A
{
B
b;
}
111 1659689
>>659688
двач сожрал указатели. Можешь (даже лучше) использовать unique/shared ptr.
112 1659760
>>659688
Спасибо, получилось!
113 1659768
Зову винапишную функцию.

>ErrorC2664: cannot convert argument 4 from 'int *' to 'PDWORD'



В винде фирменные проприетарные указатели? Если тупо кастить в PDWORD оно вообще запустится?
2020 04 17 cpp.png9 Кб, 612x366
114 1659779
>>659760
Опять проблемы. Классы объявил, но не работает интеллисенс и не получается их использовать.
115 1659787
>>659779
Конкретно эту проблему удалось убрать написав:
#include "Class1.cpp"
Но в самом файле Class1.cpp есть такая же проблема, и таким способом её убрать не получилось, потому что взаимные инклуды, насколько я понимаю, невозможны.
116 1659790
>>659768
PDWORD - это указатель на беззнаковое целое.
>>659779
У тебя говно сорокалетней давности вместо языка циклическая зависимость. Ее можно разрулить только выносом реализации методов в отдельный файл куда инклюдить хедеры с нужными классами. В В.срр инклюдишь А.h, в А.срр инклюдишь В.h
117 1659834
Эй, сишники, расскажите как вы выживаете в мире с куцей документацией по библам. ежу понятно что язык это в первую очередь его инфраструктура, а не синтаксис
Решил вкатиться в libevent (простенький CRUD запилить с веб мордой) стоковая документация ищет только по LIKE% и причем только на функции (структуры приходится искать на этом же сайте через гугл, лол), гайды уровня как нарисовать сову.
Смотрю, http модуль libevent по ходу сам выставляет куки, опять же в документации на эту тему по запросу cookie ничег не выдает, а гугл выдает все страницы где есть просто libevent, угадайте почему?потому что на каждой странице снизу есть плашка предупреждающая что "мы используем cookie" лол
Кароч здоровья вам и терпения (ну и мне). К слову сказать у sqlite все достаточно понятно, и документация годная.
118 1659880
>>659790
Вроде получилось сделать как хотел. Классы в разных файлах (правда каждый класс в двух файлах - в .h и в .cpp, но это не проблема, меня это тоже устраивает), ссылаются друг на друга, могут использовать функции друг друга, интеллисенс есть. Спасибо.
119 1659897
>>659787

> #include "Class1.cpp"


Пиздец, батенька.
>>659880

> каждый класс в двух файлах - в .h и в .cpp


Это стандартная практика для c++, в h объявление, в cpp реализация. Когда придут модули, сможешь писать как на сисярпе.
120 1659900
>>659834
На гитхабе поищи проекты, где эта либа используется. Обычно там можно подпиздить куски годного кода. Я так в одной либе буста разбирался, хотя там на весь интернет две строки документации
121 1659908
>>659897

>Когда придут модули


А их обещают?
1587116085346.jpg173 Кб, 629x814
122 1659912
Пиздос, оказалось, что я совершенно не знал, как работает friend.
Был класс A, я захотел сделать функцию, принимающую A, вычисляющую всякую хуйню, используя protected const методы класса A, думал, ебану friend и все будет норм, но хуй там блядь! Автор A почему-то не сделал этот важный функционал public, не предусмотрел, и мне теперь либо копипастить тот код (что плохо, так как дублирование), либо наследоваться.
Да, почему-то сделал class B : public A, там float f(const A&a) const {
return a.protectedfunc()++; }, но такое тоже не хочет работать.

Есть ли нормальный вариант? Как быть, если автор либы в чем-то ошибся?
123 1659914
Точнее, не конст, а статик:
class B : public A, {
static float f(const A&a) {
return a.protectedfunc()++;
}

private:
B(){}
}

>>659912
124 1659925
>>659790

>cannot convert argument 4 from 'unsigned int *' to 'PDWORD'

125 1659926
>>659925
А, стоп, с лонгами нормально.
126 1659970
>>659900
да так и делаю, то тут, то там, но блиииииин........
127 1659974
Ку крестач
Что сейчас на крестах пишут как правило? А что нет?
128 1659976
Есть std::list<int> lst;
std::next(lst.end()) гарантированно возвращает lst.end(), или зависит от реализации?
129 1659991
По дефолту вектор создается на стэке (если юзать new, то в куче, естественно), как работает механизм динамического массива (вектора) без кучи? В стэке могут быть только статические массивы, длина которых известна во время компиляции, как тогда вектор может динамически изменять свою длину, не будучи в куче?
130 1659993
>>659991
Вектор это 2 инта (текущий и максимальный размеры) и указатель, который будет переаллоцироваться
131 1659995
>>659976

> std::next(lst.end())


Я думаю это UB.
132 1660004
>>659993
А как освобождаются ресурсы, аллоцированные вектором? У него есть scope как у локальной переменной и при возврате вектора из функции нужно возвращать его копию, дабы не возвращать адрес на мертвые данные?
133 1660008
>>660004
деструктор вектора дергает delete[] на указатель?
134 1660018
>>660008
то есть
std::vector<int> vec;
vec это указатель на кучу, где была выеделена память? Другого объяснения у меня нет, так как массив не может быть динамическим в стэке.
135 1660022
>>660018
Фейспалм.жпг
Он тебе это и написал выше.
136 1660023
>>660018

> vec это указатель на кучу


vec это сруктура, один из элементов которой - указатель на динамически выделеную память для хранения элементов вектора.
137 1660031
>>660018
В стэке есть адрес на кучу, где был аллоцирован вектор. Ты прав, данные вектора хранятся в куче, ибо стэк не может хэндлить динамические массивы.
Если ты хочешь создать вектор в функции - возвращай его копию. Но это плохая привычка, лучше в вызывающую функцию запердолить пустой вектор и передать его в вызываему функцию как ссылку и там заполнять всем чем надо.
Скоуп у вектора как у обычной локальной переменной, ибо деструктор там работает как в умных указателях. Вызод за скоуп - вызов деструктора.
138 1660039
>>660031

>Но это плохая привычка


Была до 17 стандарта.
139 1660041
>>660039
А сейчас что? NRVO?
140 1660061
>>660039
>>660041
До 11 стандарта был NRVO. После 11 мув-семантика. Возвращение тяжёлых контейнеров из функций не проблема кода так с 2003.
141 1660067
>>660061
По производительности это равно дрочке с ссылками? Чет я сомневаюсь, кажись по старинке передавать ссылки все же лучше, не?
142 1660079
>>660067
Нет, компилятор сразу биндит вектор куда нужно, без расходов.
143 1660081
>>660061

>NRVO


Без N только. Сейчас он обязателен, а c N только возможен.
144 1660114
>>659908

> А их обещают?


Ну как бы c++20
145 1660248
>>659912
Палю лайфхак: видел в продакшн коде одной популярной либы
#define private public
#include <parasha,h>
#undef private
Енжой ё ооп
147 1660312
Я создаю тред, который занимается ловлей исключений винды ( https://en.wikipedia.org/wiki/Microsoft-specific_exception_handling_mechanisms )
в коде: __try { for(;;); } __except(exception) {...}
Важен ли его приоритет, если исключение надо обрабатывать максимально быстро, или разницы нет?
148 1660325
>>660312
Я лично подозреваю что винда зовёт все обработчики исключений поочерёдно и показывает им задницу эксепшона, пока одному из хэндлеров она не нравится. Прикольный механизм. То есть по итогу я задаю приоритет хэндлингу исключения.

Вопрос остаётся в том, компилируется ли for(;;); во что-то жрущее ресурсы. Здесь я подозреваю, что на ассемблере это просто nop с безусловным прыжком. Но я не знаю, отжирает ли это ресурсы. Менять указатель на инструкцию IP - это тратит время процессура.
149 1660327
>>660312
Исключение обрабатывается в том же потоке, что его выбросило. Эта хуйня с вечным циклом ничего ловить не будет.
150 1660328
>>660248
Только тебе нужно перед этим заинклюдить все хидеры из stl
151 1660331
>>660327
Я же обрабатываю исключение винды, не родное сишное. Скажем там, EXCEPTION_GUARD_PAGE.
152 1660337
>>660331
Ну так чтобы его обработать средством __try __except ты должен вызвать его в блоке __try, а не где-то там в другом потоке. Для того чтобы ловить все исключения есть VEH
153 1660339
>>660312
Тебе никогда вот эту парашу использовать не надо абсолютно нигде, кроме кернел драйверов. Забей, что оно вообще существует
154 1660343
>>660339
★(int★)0 = 228; только так поймать можно. Либо в настройках компилятора шаманить чтобы через try(...) ловить, но тогда типо исключения уже не определить
155 1660345
>>660331
Сам синтаксис ловли в виде таких штук как EXCEPTION_CONTINUE_EXECUTION и EXCEPTION_CONTINUE_SEARCH намекает мне что механизмами исключений в винде ловится что угодно, как бы намекая про VEH

>Vectored exception handlers are an extension to structured exception handling. An application can register a function to watch or handle all exceptions for the application. Vectored handlers are not frame-based, therefore, you can add a handler that will be called regardless of where you are in a call frame. Vectored handlers are called in the order that they were added, after the debugger gets a first chance notification, but before the system begins unwinding the stack.



Звучит очень вкусно.

https://docs.microsoft.com/en-us/windows/win32/debug/using-a-vectored-exception-handler
Кажись вообще могу без треда обойтись, но хуй знает. Всё равно интересно создаёт ли for(;;); доп нагрузку, ещё пригодится потом

>>660339
Детектить изменения в памяти?
156 1660347
>>660345
скорее всего присутствие EXCEPTION_CONTINUE_SEARCH обосновывается так:
__try {поебень}
__except (GetExceptionCode() == 1 ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_CONTINUE_SEARCH) {}
__except (GetExceptionCode() == 2 ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_CONTINUE_SEARCH) {}
__except (GetExceptionCode() == 3 ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_пойти_нахуй) {}
157 1660350
>>660347
нет, нихуя
158 1660351
>>660343
это UB а не эксепшен
159 1660353
>>660351
Схуяли это неопределенное поведение? Если память присутствует и доступна для чтения, она считается. Иначе процессор создаст исключение которое можно обработать. Вполне себе определенное поведение.
161 1660366
>>660351
>>660353
внизу пример кода о котором вы говорите
там есть хэндлер под access violation
вполне можно выпрыгивать
https://docs.microsoft.com/en-us/cpp/cpp/try-except-statement
image.png35 Кб, 585x738
162 1660376
>>660366
В __try нельзя юзать объекты требующие уничтожения.
>>660354
На пикриле visual studio позволяет это корректно обработать используя параметр /EHa, даже деструкторы все вызывает.
163 1660395
>>660376

> В __try нельзя юзать объекты требующие уничтожения.


Память не освободится? Можно же в __finally это сделать (правда, оно быдлокодится через вложенные __try, это вам не питон)
image.png2 Кб, 526x28
164 1660397
166 1660656
>>660635
http://habrahabr.ru/post/229963/

>стандарт C++ объявляет «неопределённым действием» бесконечный цикл без изменения внешнего состояния — поэтому компиляторы C++ вправе считать любой такой цикл конечным.


Ну охуеть. Почему возврат переменного значения нельзя условно считать изменением внешнего состояния?
Интересно, что если всунуть укорачиваемую часть после бесконечных циклов в отдельную функцию, скорее всего она не укоротится.
image.png24 Кб, 490x413
167 1660657
image.png21 Кб, 464x361
168 1660658
169 1660668
Есть какие то подводные в использовании wstring вместо string?
image.png104 Кб, 1817x895
170 1660694
>>660657
>>660658
Без -О3 не считается, переделывай.
image.png68 Кб, 1366x768
171 1660707
к чему происходит обращение?
172 1660709
>>660707
Смотрите, кто-то не знает про оператор ,.
https://ideone.com/A499Ih

Чего ты вообще хотел добиться этим: a[i,i+1] ?
173 1660715
>>660709
Я случайно когда раьгтал с массивами вместо a[j] написал a[i,j] и думал че за хуйня происходит
174 1660722
>>660312
Так, сделал исключение через VEH, не проверял ещё как работает, дофига всего надо поделать. Тред хочется чтобы всё равно висел, даже если пока не надо.
Можно использовать прибамбасы крестов: https://stackoverflow.com/questions/36711131/how-to-sleep-forever-only-using-c11
Но всё ещё хочу узнать, не за тормозит ли подобный >>660694 ассемблер систему, т.к. это простая реализация сна без стандартных библиотек, а я свистелки не люблю
175 1660727
>>660722

>это простая реализация сна без стандартных библиотек


А выводить из этого сна как собрался?
176 1660739
>>660727
эммм...
Ну, например, в том же VEH хэндлере я смотрю на тред и прыгаю его из инструкции бесконечного цикла во что-то другое.
177 1660741
>>660739
Так этот тред с бесконечным циклом не вызывает исключений и не триггерит вех. Для вечного ожидания есть WaitForSingleObject или SuspendThread
178 1660743
>>660741
Так я это уже осознал. После того как система вызывает мой обработчик на событие, обработчик заставляет основной тред подпрыгнуть кабанчиком и благополучно завершается.
179 1660745
Крестовики, че когда на раст будете переходить?)
180 1660747
>>660745
Когда можно будет нулевой указателель дереференсить, отхватывая не от языка, а от ОСи
181 1660750
>>660722

>не за тормозит ли подобный >>660694 ассемблер систему


Попробуй PAUSE использовать, если для x86 делаешь. Вроде как тогда система не будет с полной силой делать НИЧЕГО.

>>660745
Я Jai жду
182 1660761
>>660747
А смысл? Плодить зиродеи в софте, какой в этом кайф?
image.png82 Кб, 1097x658
183 1660783
>>660761

>зиродеи


Во первых, как что-то плохое.
Джава уродлива, поэтому создаёт много рабочих мест. На сях легко говнокодить, поэтому они создают много рабочих мест. Кресты невозможно знать полностью, поэтому они создают много рабочих мест. Индусы рентабельны, поэтому для белых багтестеров тоже есть рабочие места. Боинг 737 падает, разбивается и убивает людей, так что теперь кто-то решает эту проблему за деньги.
Раст не создаёт рабочих мест.

Во вторых, нужно всё-таки определиться, низкоуровневый ли это язык, или администрирующий криворукого индуса, потому что выбирать меж 5 типами указателей никто нахуй не хочет, а терять производительность ради безопасности - для этого уже есть жаба, там это оправдывается либо банковским сектором, либо тем что каждому оленю надо дать право писать приложухи к андрюше.
image.png36 Кб, 614x461
184 1660784
>>660783
стоп, не тот график, он показывает мою неправоту.
image.png190 Кб, 977x1198
185 1660788
186 1660807
>>660783

>Раст не создаёт рабочих мест.


Возможность писать полностью безопасный софт на уровне ОС, дровти прошивок, не теряя при этом производительность (Раст по скоростью равен С++, а в некоторых моментах и быстрее) - не создает рабочих мест? Интересно
187 1660808
>>660807
дров и*
быстрофикс
188 1660867
>>660707

> к чему происходит обращение?


К Вашей родительнице.
189 1660869
>>660807
Безопасность раста обеспечивается:
1. встроенным статическим анализатором, которые есть и для сей
2. прищемлением яиц программисту, которого в дизайне языка быть не должно
fn _merge(left_slice: &mut [u32], right_slice: &mut [u32]) -> u64
vs
fn _merge(vec: &mut [u32], left: usize, mid: usize, right: usize) -> u64
3. тысячей реализаций одной фичи, чтобы каждая была безопасной и уникальной
190 1660887
>>660869
Возможно что чтобы общаться с оборудованием, вообще по итогам нужен заветный unsafe, ибо там отсылки к кастомным адресам (вроде).
Спрашивается, почему не писать сразу на сях?
191 1660928
>>660869
Ну и в чем проблема? Как это отвечает на мой вопрос? Особенно третий пункт
192 1660933
>>657130
VS Code. VIM = kal
193 1660938
>>660928
Да никак не отвечает. Отсутствие рабочих мест под раст - самоочевидный факт, под него не нужно подводить доказательства.
194 1660969
Сап, анон. Нормально ли использовать enum как параметр шаблона, чтобы класс специализировать, но не плодить бесящие меня наследования?
Например, есть класс с координатой в полярных, и
enum CoordType ={deg, rad};

А класс уже
template<CoordType ct>
class Coord
{
}

Отличия градусов от радиан в поведении класса только в том, что для тригонометрических функций будет перевод в радианы.
Да, я знаю, что лучше хранить все в радианах и перевод выполнять только при выводе
195 1661031
Давно на C++ не программировал. В цикле "(auto i = vector.begin(); i != vector.end(); i++)" удаляю элемент массива "i = vector.erase(i)", но если это последний элемент, то будет краш т.к. can't increment vector iterator past end. Что делать надо? Неужели "if (i == vector.end()) break"? Или что поприличнее есть?
196 1661044
>>661031
Erase-remove idiom
197 1661062
>>660969
Да норм, я использовал. Только class enum использовал вместо enum.
198 1661064
Факт есть факт. Коричнпя булочка не оставляет равнодушным. :3
199 1661067
>>661031
for (auto i = vector.begin(); i != vector.end();)
if (надо удалить)
i = vector.erase(i);
else
++i
200 1661070
>>661062
В шаблоне? Почему? Вроде и так работает
201 1661071
>>661070
Я просто предпочитаю enum class вместо enum, если возможно.
202 1661081
Какой есть роадмап для изучения плюсов в 2020 году?
И вообще, я так понимаю, что компьютерное зрение - это одна из самых популярных сфер, где С++ используется?
203 1661092
Вообще посоветуйте с чего закатываться в компьютерное зрение?
Можно ли вкатиться человеку с техническим (не математическим) образованием? Базовые матан, линал знаю. Теоревер стоит подтянуть.
И вообще, насколько перспективный рынок компьютерного зрения? Вижу много вакансий связанных с разработкой систем видеонаблюдения, в России это наверное будет популярно в ближайшие годы.
image.png755 Кб, 1400x3048
204 1661098
>>661092
Хотя нет, эта тема какая-то слишком сложная и непопулярная. В Москве по вакансиям особо ничего и нет

Вот почему никто не сделал роадмап для джунов?
Даже джависты осилили
205 1661117
>>661092
Она тебя сожрет смотри примеры OpenCV
206 1661125
Статичные функции - это типа эквивалент приватных функций?
207 1661136
>>661125
Это зависит от контекста. Если вне класса, то это значит, что её можно вызвать только из того же файла, она может быть скомпилирована только в соответствующем объектном файле. Если в классе, то это значит, что она как бы глобальная для всего класса и в то же время этому классу не принадлежит, от неё нельзя наследоваться и в ней доступны только такие же статические методы и переменные класса. Но из нестатических методов её можно вызвать.
208 1661159
>>661098

>>роадмап для джавы 2020


>>spring в стороне на побочной ветке вместо орма/микрносервисов/веба/тестов/баз данных вместе взятых. Про аналоги спринга вообще ни слова.


Вам точно нужен такой же устаревший на 10-15 лет роадмап?
209 1661180
>>661159

>spring в стороне на побочной ветке


Там указано же must know, лол

А куда его впихнуть предлагаешь?
u310387.jpg290 Кб, 1200x900
210 1661189
Вопрос от полнейшего ньюфага.
Есть исходники кода,из них нужно собрать программу(проект, хуй его знает как это в вашей терминологии).
В общем мне нужен экзешник, чтобы я его тыкнул и всё заработало.
Реально ли это сделать человеку ранее не знакомому ни с C ни с программированием?
И где можно найти того кто может это сделать?
211 1661191
>>661092
Да там много всего, и c++ далеко не один аспект. Сначала советую в целом начать изучать тему, чем доступнее будет инфа и инструмент (питон, матлаб, возможно R), тем лучше. В компьютерном зрении а далее в моей трековой обработке много относительно типовой математики, хотя тема очень обширная. На c++ предполагается конечная реализация продукта (хотя это тоже далеко не так, питон имеет либы, написанные на крестах и сопоставимые по скорости с с++), хотя также есть связка xilinx + matlab, что иногда ставят в камеры.
Короче, математика - основа, язык - инструмент, дерзай.

Алсо, изучая сабж, ты столкнешься с уймой схожих и крайне сейчас полезных задач, типа обработки изображений, линал в прикладных задачах (декомпозиции, eigen, вот это всё), нейросети, которые стоит вписать в резюме.
212 1661206
>>661189
Все зависит от состояния проекта. Может быть от простого make install до ебли на несколько часов.
213 1661215
>>657130
Пользуюсь Eclipse CDT и немного CodeLite (там cppcheck работает из коробки, в отличие от эклипса).
Из вима помню только :q!
214 1661217
>>661180
Там он как web фреймворк, а спринг это целая пачка фреймворков и в первую очередь dependency injection. Потом идет бут (всего понемногу чтоб сразу изкаропки все работало). Есть спринги для микросервисов, для тестирования, для работы с данными (включает в себя тот же самый хибернейт, но знать хибернейт для использования не обязательно). Его надо или в главную линию включать или в каждую ветку вписывать по спрингу.
Разве что захочется написать десктопное приложение, там спринг не нужен. Андроид тоже отдельная тема.
215 1661251
>>661215
ты все самое хуевое собрал, что есть. Молодец
216 1661403
А что делать на плюсах, если я не хочу идти в геймдев и не хочу заниматься нейронными сетями/машобом/etc?
Микроконтроллеры хоть и не совсем С++, но тоже не интересны.
217 1661413
>>661403
Дык есть еще куча middleware в виде всяких браузеров/системных либ/рантаймов (языков, виртуальных машин итд).
218 1661417
>>661403

>А что делать на плюсах, если я не хочу идти в геймдев и не хочу заниматься нейронными сетями/машобом/etc?


>


https://hh.ru/vacancy/36447247
219 1661421
>>661417
Спасибо, но в нвидию как правило нужны только сениоры. Где можно начать карьеру и какие для этого есть возможности?
>>661413
Ну это вроде выглядит интересно, правда непонятно, как получить хоть какой-то опыт в этой отрасли.
220 1661423
>>661403
В последнее время видел много плюсов в сторону мк на с++. Действительно, c++ строже си, имеет прекрасный стл, стд::аррай, вектор и шаблоны, почему бы этим не пользоваться? А вся работа с регистрами прекрасно оборачивается в сишечный код, хотя касты тоже никто не отменял.
image.png91 Кб, 829x536
221 1661429
>>661417
Ну вот тут написано, что должен делать человек на такой вакансии, но лично я не вижу ничего конкретного. Написано, что ты должен делать какой-то йоба-софт.
222 1661430
>>661421

>Где можно начать карьеру и какие для этого есть возможности?


В яндекс и мейлру стабильно требуется дохуя крестовиков.
223 1661432
>>661429
там же написано - пилить Nvidia NSIGHT.
224 1661433
>>661432
Нихуясе, выглядит впечатляюще.

Вот только как к ним попасть? Наверняка нужно годами обмазыаться всем, что связано с компьютерной графикой и низкоуровневыми вещами
225 1661436
>>661433
тут был анончик, который собесился в эту команду. Я ему еще по почте запиливал, что да как к ним проходить. Мб отпишется, если увидит.
226 1661437
>>661430
Я туда подавался на стажировку, но не смог решить онлайн контест на алгоритмы.
227 1661440
>>661437

> решить онлайн контест на алгоритмы.


Ну так вперед задрачивать. Просто так в мире ничего не бывает.
228 1661444
Проблема в том, что я хоть и нахожусь в ДС, не могу найти начать карьеру на плюсах. Пока мои одногруппники весело вкатываются на джава стажировки в сбер и тинькоф, я дрочу какую-то хуиту - писал пет проджекты на Qt, пару раз делал что-то довольно простое с комп. зрением, один раз ковырялся в ядре линукса и пытался написать свой кернел модуль для своего сетевого стека.

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

>>661440

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



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

Правда вот джуны и миддлы им сейчас не особо нужны.
229 1661447
>>661444
Если б я брал на работу программиста и ко мне пришел чувак, который с порога сказал про рейтинг кодефорсес, яб его нахуй послал
230 1661448
>>661447
Так-то понятно, но там был онлайн контест именно на алгоритмы и задачки с сюжетом. Причем на время. Без онлайн контеста на стажировку бекенд разраба не брали.
231 1661451
>>660938
языку 5 лет, алло
Через 5-10 лет весь рынок будет забит вакансиями на раст
232 1661453
>>661451

>Через 5-10 лет весь рынок будет забит вакансиями на раст


А что на нем будут писать?
Так кстати говорили про многие языки, вот только далеко не на всех есть огромные количества вакансий.
233 1661455
>>661453
Критический софт в плане безопасности. Блокчейн там разный, браузера потизоньку на него начнут переписывать, новые ОС писать, новые либы - работы непочтаый край, надо же как-то дырявый Си заменить.
234 1661508
>>661451
>>661455
Ну вот через 5-10 лет и поговорим
235 1661539
>>661451
А что будет с с++ через 5-10 лет?
236 1661568
>>661539
А что надо? https://stdcpp.ru предлагай
237 1661726
>>661539
Потихоньку будет уступать более современным и безопасным системным языкам (в данном случае Расту)
238 1661741
>>660938
Так вакансий С++ в РФ тоже нет, кроме нескольких городов, которые можно пересчитать по пальцам одной руки.
239 1661751
>>661726
Мне кажется, что c++ тоже безопасный. Компилятору ничего не мешает по-умолчанию считать за ошибки сырые указатели например, или си-подобные массивы
240 1661756
>>661751
C++ не безопасный, так как в нем есть возможность выходить за границы массивов, как и в Си.
Если бы С++ был бы безопасным языком, то в таких продуктах как, допустим, Хром не было бы уязвимостей, связанных с порчей памяти (memory corruption), а на деле там каждый год что-то находят. Ну и в гугле далеко не дебилы работают, засим подобные ошибки в языках типа С и С++, да еще и в огромный кодовых базах, неизбежны, даже если код пишет профессионал высокой квалификации.
241 1661765
>>661756

>Ну и в гугле далеко не дебилы работают


Rob Pike, по опыту, считает иначе:

“The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.”
242 1661769
>>661765
Цитата ни разу не говорит о том, что они некомпетентные, так что к чему ты цитировал Роба Пайка яхз.
Учти, что Хром 24/7 находится под фаззингом, а фаззит его кластер с 15000 процессорами. И все равно независимые исследователи, не связанные с гуглом, находят там дыры в памяти, можно даже открыть CVE, начиная даже с прошлого года, и посмотреть. С++ небезопасный язык и никогда таковым не будет, ибо безопасность влечет за собой потерю перформанса, причем ощутимую, как ни крути. И рыбку съесть, и на хуй сесть - такого не бывает в этой теме. Всегда за что-то платят чем-то.
243 1661779
>>661756
Так напиши контейнер который при доступе по индексу будет чекать границы массива. В чем проблема?
244 1661782
>>661779

> Так напиши контейнер


Уже написано до нас. Вектор чекает, если получать через at() а не operator[]
245 1661788
>>661782
Ну все значит раст ненужон
246 1661862
>>661788
Ну что ты делаешь.
Сейчас этот сектант вернётся и опять будет засирать тред мантрами с конференций полутора землекопов.
247 1661885
>>661782
Лол, не знал. А какая там разница в перформансе? Когда выдрачивают из софта на крестах все соки в плане скорости - избегают? Или для таких целей уже лучше не ебать мозги и писать на чистом Си?
мимо другой анон-крестовик
248 1661901
Привет >>659834 - кун снова выходит на свзяь.

Допустим я хочу использовать библу https://bitbucket.org/tunnuz/json/src/default/ ее нужно качать и скомпилировать? Есть какие-то пакетные менеджеры? У нас в питоне requirements.txt в нем прописывается пакет и версия, или ссылка на гит, если пакет тащится с гита, и pip по большей части сам все резольвит, как дела с этим обостоят в плюсах?
Спасибо за ответыДобра и здоровья в это нелегкое время
249 1661913
>>661901
vcpkg search json
250 1661936
Двач, дайте образец шаблонной функции с шаблонными возвращаемыми значениями, пожалуйста.
Я что-то пытаюсь смотреть и не могу понять, это вообще возможно?
252 1661958
>>661950
И что это за параша? Если бы я мог это прочитать, сюда за примерами бы я не приходил.
253 1662011
>>661936
В общем понял в чём была проблема, шаблоны нельзя разделять на .h и .cpp, но уже C++20, разве ещё не ввели какую-нибудь фичу что-бы это было возможно?
254 1662021
>>662011

>шаблоны нельзя разделять на .h и .cpp,


Тебе Страуструп лично запретил?
255 1662025
>>662021
Мамку твою обоссал и она запретила шаблоны разделять.
256 1662031
>>661958
>>662025
Съеби, долбаеб.
257 1662034
>>659900
А зачем делают либы без документации?
258 1662047
>>662031
Съебал твою твою мать в жопу, пидар тупой.
259 1662168
Есть большой набор строк и есть словарик из неповторяющихся количества строк. Нужно используя словарик сделать новый файл, состоящий из номера строки в словарике или -1, если такой строки в словаре нет. Как оптимально решить такую задачу? Не хочется пилить велосипед.
260 1662176
И еще вопросец. Нужен контейнер, который как вектор и как сет одновременно. Что хуже - std::unique и поиск по вектору или выбор элемента по id в сете?
261 1662205
>>662034
Ну не совсем уж без документации. Обычно есть документация уровня "int sum(int, int); // сложение двух чисел", из которой примерно понятно как это использовать, но иногда появляется по десять перегрузок и хуй пойми какую выбрать, приходится копаться в логах коммитов.
262 1662208
>>662176
boost::flat_set
его вроде бы хотели в c++20 добавить в std
263 1662223
Что происходит, если не аллоцировать память а просто:
std::unique_ptr<Test> test;
test->func();

Я бы думал test создатся на стеке? А почему работает доступ через ->? И какой памятью тогда владеет unique_ptr? Я думал он только кучей владеть может.
264 1662238
>>662223
test создается на стеке и просто указывает на местоположение объекта в куче. Если его не инициализировать то никакой памятью он не владеет и ты просто дерефнеш нулптр вызвав краш.
265 1662284
Почему не работает поиск в векторе из структур?

https://ideone.com/GxcDLD
266 1662293
>>662284
Ты реально еблан? Зачем тебе тут компаратор?
chel.PNG52 Кб, 505x186
267 1662296
>>662284
x == other.Y && y == other.y
268 1662329
>>662168
std::unordered_map
269 1662345
>>662296
ты лучший.

>>662293
по data он плохо сравнивает, не?
270 1662353
>>662238
Ну так то я понимаю, в простом случае
Test* test ;
test->func()
дерефернс разумеется тут же приведет к крашу, но в данном случае unique_ptr работает! Т.е. там не мусор и не NULL. При чем конструктор/деструктор которые я определил не вызываются, что логично. Только почему все равно работает - непонятно.
А вот как только я в func пытаюсь получить значение внутренней переменной класса - тогда segmentation fault. То есть создается какой-то кривой объект, память аллоцируется, но конструктор не вызывается. Не хочется время тратить на этот бред, но все равно интересно, что там по умолчанию в unique_ptr происходит.
271 1662360
>>662353
Когды ты вызываешь функцию класса (невиртуальную) по сути ты вызываешь обычную функцию в которой есть неявный аргумент this.

Соответственно пока ты не обращаешься к полям класса, ничего удивительного что она вызывается нет.
272 1662361
>>662353
Если у тебя func не юзает переменные внутри класса и она не виртуальная тогда все логично. Она просто преобразуется в func(Test* this) и вместо this нулевой указатель, соответственно дереференса не происходит и все нормально. Так же будет и с сырым указателем.
1.png3 Кб, 402x114
273 1662366
Читаю память, получаю строку в char массиве, присваиваю этот массив строке std::string, добавляется какой-то символ (в данном примере -`(`), в чём проблема? Не понимаю...
274 1662375
>>662366
Как именно ты его присваиваешь?
275 1662383
Как скомпилировать программу через Chromium без левых сайтов типо ideon??
276 1662385
>>662366
Нуль-терминатор не забыл?
277 1662388
>>662353
Пару тредов назад был спор по такому поводу и выяснили, что это все же UB.
Не делай так, анон. Нужна функция без определения объекта класса - сделай ее статической, например.
278 1662392
>>662383
Господи, боже мой. Выключи компьютер, и никогда больше не включай. Пожалуйста.
279 1662393
>>662392
Тебе что-то непонятно в вопросе?
Не можешь помочь - промолчи.
280 1662396
>>662393
Не затыкай меня, манюня. Совет выключить компьютер и никогда больше его не включать - это правильный ответ на твой вопрос.
282 1662399
>>662398
Как сделать чтобы было сайтом??
По типу этого ideone.com только чтобы можно было работать без интернета.
15842651120670.jpg10 Кб, 360x270
283 1662440
284 1662444
285 1662538
Что такое статическая глобальная переменная и чем она отличается от простой глобальной переменной?

ну то есть

main.cpp
int Foo = 0;
static int Foo2 = 2;

В чем разница?
286 1662541
>>662538
Влияет на линковку. Это примерно эквивалетно

namespace
{
int Foo2 = 2;
}

Статическая переменная не видна за пределами еденицы трансляции. С нестатической ты можешь сделать вот такую штуку в другом cpp файле:

extern int Foo;

и получить доступ к первой Foo.
287 1662556
Пчелы, а как вы приобрели опыт в сборке проектов? (Make, Cmake, Grandle)
Ввиду того, что пишу на vim'е встал острый вопрос с быстрым получением знаний в этой сфере, раньше молодой был, зеленый и ide все делало за меня, а тепень столкнулся с суровыми реалиями и статьями: "делаем йоба-аллах сборку", где нахуярено миллиард всего и непонятно че как зачем.
Есть какие-нибудь факи проверенные, книжки? Просто советы?
Че лучше юзать? У кого был опыт с Grandle?
288 1662624
>>662556
По статьям на Хабре
289 1662687
>>661726
Чтобы нормально писать на раст системное, нужно сделать его небезопасным, однако менее противным он быть не перестаёт в unsafe.
290 1662690
>>662687
И вообще, ну нафиг этих зумерков со своими жрубями
291 1662703
>>662687
но ведь небезопасен не весь код, а только ансейф блоки. Что увеличивает вероятность не пропустить баш в прод вообще, ибо проверки на безопасность концентрируются в определенных местах в коде
292 1662704
>>662703
баг*
image.png487 Кб, 512x503
293 1662718
294 1662792
>>662353

> Только почему все равно работает - непонятно.


Один из вариантов это то что так как вызов operator-> у неинициализированого каким-то объектом unique_ptr это UB то компилятор в таком случае может делать что хочет, в том числе просто игнорировать этот вызов в рамках оптимизации.
296 1662896
>>662353

>дерефернс разумеется тут же приведет к крашу,


и с обычным птром ptr->hui() сработает, если нет обращения к внутренностям, те дереференса this
298 1662929
>>662922
Там пидоры видимо при компайл тайме чекают в код хуйню какую-то вставляют которая сразу крашит. https://wandbox.org/permlink/XXKOLu9CNT8g9LK8 но я таки смог наебать компилятор и все работает как надо.
299 1663130
Либа, которую я использую, кидает эксепшены в функциях, которые я использую в адаптере между функционалом либы и своим собственным.

Можно ли как-то поймать эксепшен, находясь на уровень выше? То есть не там, где я вызываю функцию, бросающую эксепшен, на на один call выше? Делать re-throw в каждой функции адаптера не хочется
300 1663143
>>663130

> эксепшен, находясь на уровень выше


Должно быть возможно. Обработка ошибки на любом уровне без ручного пробрасывания - единственный профит эксепшенов. Уточни что у тебя за ситуация и почему не получается. Может там какие нюансы у тебя.
Help Aty 301 1663170
. Класс Автомобиль (марка, год выпуска, цвет, пробег, мощность, КПП, тип кузова). Метод класса: вывести информацию, большой пробег у машины или нет. Функция: Вывести машины годом выпуска не старше 2000 года с механической коробкой передач.
302 1663181
Ананасы, вопрос по иде
Собираю примитивную многопоточную программу в консоли и всё ок, выполняется как нужно
Но в qt creator'e почему-то программа падает
От чего может быть такое?
303 1663189
Ананасы, как найти первую работу на ебучих крестах?
Нужно было искать летнюю практику, отправил резюме в пару контор, выслали тестовое.
Кое-как сделал, получил отказ, написали, что слабовато (хз, какие требования для ебучей ЛЕТНЕЙ ПРАКТИКИ в ебучих конторах, писал аккуратно, STL, потоки, классы везде).
Недавно было онлайн-интервью, это был пиздец.
Вопросы задавал чел, у которого был пиздец какой микрофон, постоянно приходилось переспрашивать, потому что слышал только ебучий шорох.
Ответил почти на все вопросы (не ответил на вопрос "как сбалансировать бинарное дерево", хотя и говорил, что можно выбрать в качестве корня другой элемент, но т.к. не прозвучало "поворот дерева", ответ не засчитан), написали, что "не хватает теоретических знаний для них.
Как попасть хоть куда-то?
Я уже и не понимаю, что учить
304 1663190
>>663181
Что падает? Какая ошибка? Хотя бы дебаггером пройдись посмотри, где у тебя SIGSEGV или что там кидается.
.png3 Кб, 363x84
305 1663191
>>663190

> Что падает? Какая ошибка?


Абсолютно ничего не пишет.
Я даже дебаггер не могу запустить
306 1663201
>>663189
Заливай код на рейт
307 1663202
>>663191
Ты в QT собираешь или отдельно сам через cl/mingw? Судя по гуглу первое, и QT требует своих бинарей в зависимостях. Попробуй одно из:
1) Подложить исполняемый файл в папку, где лежат все dll от кутей и запустить оттуда
2) Проверить через depends.exe, какие либы исполняемый файл требует
308 1663206
>>663201
Пока что есть только одно задание.
FTP-сервер.
Вводишь будь директория для хоста, клиенты подключаются, видят список файлов, вводят id и скачивают.
Здесь код для одного клиента, на другом ПК прикручена функция Select.
https://pastebin.com/013akARv
309 1663207
>>663206

>>путь


быстрофикс
.png9 Кб, 496x181
310 1663208
>>663202
Какая-то беда со стандартной либой?
311 1663212
>>663208
А всё ок, кажется

Не знаю в чём была беда, но скопировал dll'ки из папки компилятора к бинарнику и всё ок запустилось
Хотя раньше такого не было, да и из консоли всё запустилось сразу же
312 1663216
>>663189

> Ананасы, как найти первую работу на ебучих крестах?


Я вот тоже пытался, в ДС. Так и не смог найти. Конечно, можно было податься писать десктоп приложения под винду в какое-нибудь НИИ, но я решил для себя, что уж лучше вкачусь в другой стек, все равно пока студент и родители содержат меня.
313 1663218
>>663216
На каком курсе это было?
Я сейчас на предпоследнем, после лета учусь полгода, потом практика, диплом и все.
Летом думаю выучить Django и HTML/CSS))0
314 1663233
>>663218
Я сейчас на втором, вот недавно совсем пытался попасть на плюсы и понял, что
а) Бек разработки на плюсах мало, даже в столицах. Я пытался попасть в яндекс на стажировку, но требования по алгоритмам для стажеров выше, чем для джунов. Но джуны им сейчас не нужны.
б) Я нихуя не умею. Для успешного вката в плюсы нужно знать предметную область. Нужно быть прошаренным в низкоуровневой разработке под железки, хорошо знать как работают оси, знать устройство ядра линукса, уметь прогать под ARM. Либо нужно уметь в компьютерную графику, если хочешь в геймдев. Еще есть датасаенс, но там помимо самих плюсов, нужно хорошо знать питон и все библиотеки для него. Ну и математика само собой.

В железки я не умею, учиться долго и сложно, геймдев абсолютно неинтересен, датасаенс как-то не зашел. Решил вот переквалифицироваться в бекенд макаку, сейчас досдам текущие долги по учебе и примусь за js наверное.
315 1663241
>>663233
Мда, история невеселая, но у тебя хотя бы чуть-чуть времени есть.
316 1663298
>>663170
Скорей бы тебя отчислили.
317 1663335
Аноны, вопрос по блядской студии. Что делать, чтоб потом без проблем переезжать на новые версии? Очень часто вижу, что собирать проект из 2017 надо с лютым пердолингом в 2019 буквально недавно где-то в репах нвидии нашел что-то под 2017 и не смог собрать, миллион ошибок, в ужасе стер с диска эти файлы, такое же говно помню было с 2012->2015. Cmake не хочу по религиозным соображениям использовать спермосектант.
318 1663346
>>663335

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


А придётся.
319 1663348
>>663346
Сложна. Вот как мне 20 стандарт включить? Они ахуели требовать руками конфиги править?
320 1663351
>>663189
Попробуй на завод практикантом, срсли.
>>663216
В НИИ ты наименее вероятно будешь писать десктоп на крестах, вероятнее какой-нибудь клёвый матан или управление на си
321 1663353
>>663348

>Вот как мне 20 стандарт включить?


set(CMAKE_CXX_STANDARD 20)

>Они ахуели требовать руками конфиги править?


Лолчто?
322 1663360
>>663351
А после завода куда?
Или на заводе тоже самое, что и в конторах и меня сразу же возьмут после завода в SPERMASoft?
323 1663396
ЗДАРОВА АНЧОУСЫ
МНЕ 30 ВКАТЫВАЮСЬ В ПЛЮСЫ
ЗЕМЛЯ МНЕ ПУХОМ
ДЕРЖСУ В КУРСЕ
ДАБДАБДАБ
ИЗВИНИТЕ
324 1663410
>>663335
Линк на проект, попробую для интереса на 19 студии
325 1663416
>>663346
Двачую этого.
326 1663432
>>663360
Сужу по своему заводу: студентов берут отлично, особенно если есть связь с институтом. Работа для меня турбоинтересная и уйма возможностей, правда, в основном саморазвитие, нет гуру рядом со мной. В итоге, за 5 лет, я сейчас неплохо (субъективно) знаю кресты, qt, программирование для мк, си, схемоту, немного цос, линал/тервер с питоном и матлабом, даже как-то линуксы собирал.
Почему такой разброс тем? Детская организация работы программистов, никто меня не ебет за сроки и методы, на интересные для меня проекты я вызываюсь сам, в итоге имея неплохой (надеюсь, востребованный) багаж знаний
Aty 327 1663435

>163298


Спасибо, сам разобрался уже:)
328 1663438
>>663335
Открыл солюшн, сделал ретаргет и собрал, попутно решая возникшие ошибки, которые в основном будут связаны с two-phase name lookup, который там наконец-то починили.
329 1663450
>>663335

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


>>663346
ЗОчем? есть premake5, он лучше
330 1663452
>>663432
нихуя как ты дохуя всего знаешь, разве на заводах нужны прогеры? там же производство всякое, нахуй там матлаб с линалом и теорвером?
331 1663457
Господа крестовики, подскажите нахуя в плюсах в свое время присобачили возможность инициализировать переменную с фигурными скобками? В чем соль?
Пример:

int yobaint {};

Это типа чтобы точно быть уверенным, что в инициализированной переменной нет мусора или как?
332 1663462
>>663457
быстрофикс - инициалицированная:
int yobaint {69};

Но можно еще так:
int yobaint {};

В первом случае какая-то ебанутая инициализация, во втором случае - непонятная ебанина, но предположение уже выдвинул сообщением выше
333 1663466
>>663432
А зп на заводе ≈ зп в компании?
334 1663468
>>663457
Uniform initialization
335 1663491
>>663410
Примеры из NVIDIA NGX SDK.
336 1663493
>>663457
Потому что наследие си: то, что может быть декларацией функции - декларация функции, была проблема с дефолтными конструкторами из пустых скобок.
337 1663497
>>660745
Когда ексепшены завезут.
338 1663508
>>663452
Я в конструкторском отделе сижу, поэтому занимаюсь разработкой всяких новых вещей. Матан активно используется в инженерии, представь себе, сколько математики присутствует в какой-нибудь стиральной машине (теория автоматического управления), или в радаре машины (там различная нейросетевая обработка + приемы вычмата + линейная алгебра). И это все нужно разрабатывать, тестировать, моделировать и внедрять. Если делать как-то по-простому, или хз взять либку для ардуины, то вероятно будет работать ненадежно, не говоря про то, что опенсорс проекты далеко не самый топовый матан используют.
>>663466
У меня в среднем за месяц около 70-80, не ДС.
339 1663609
>>663508
70-80 после 5 лет это, конечно, не фонтан.
340 1663640
>>663508
Вот тебе и востребованный багаж знаний.
Мог бы в ДС 500кк/сек зарабатывать веб-программированием.
341 1663649
Насколько сильный оверхэд у исключений? И являются ли они предпочитаемым способом эррор хэндлинга в С++? Или когда важен рантайм - хэндлят ошибки через условия, как в Си?
image.png18 Кб, 767x149
342 1663677
Ёбаное говно, хуже обоссаных мейкфайлов
343 1663682
>>663677
какой блять импорт, слезь с дерева, петонмакака
344 1663688
>>663682
freudian slip
345 1663704
>>663649

> Насколько сильный оверхэд у исключений?


Большой. Зависит от количества исключений которое будет генерироваться. Если пару десятков в секунду то похер. Если сотни/тысячи то скорее всего будет заметное падение производительности - там уже нужно профилировать и смотреть подходит такое или нет. Плюс еще важна глубина на которой ловится исключение. Если на каждом исключении стек раскручивается на несколько десятков вызовов - понятно что быстро это не будет. Просто чтобы приблизительно понимать вот две равноценных программы https://ideone.com/6PmOav https://ideone.com/EzHI0F (одна с исключениями, одна нет). ideone нивкоей мере не подходит для оценки производительности - отличия в скорости между несколькими выполнениями одной и той же программы могут отличатся в разы. Но он позволяет приблизительно оценить порядок отличий - блок с исключениями медленней на два порядка (приблизительно в 100 раз).
Обрати внимание что важен не факт использования исключений, а именно количество выброшеных исключений. https://ideone.com/Cl0BMk - тут ideone уже не позволит оценить производительность. Я примерно чувствую что должно быть падение процентов на 30% в скорости.
346 1663709
>>663649
Бросать эксепшены дорого.
Активное бросание эксепшенов сильно влияет на производительность.
Наличие эксепшенов в коде, который условно никогда не бросает эксепшены - тоже влияет на производительность, так как препятствует code-reordering, а значит и другим оптимизациями
347 1663768
Поясните, нужно ли по умолчанию делать все поля закрытыми и потом некоторые открывать, если необходимо? Зачем нужны такие практики?
348 1663769
>>663508

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


неужто для линейной алгебры, вычмата и нейросетей вы пилите велосипеды, т.к. ваш код качественнее, чем в TensorFlow и lapack?
349 1663863
https://www.ideone.com/3hKLiB

Куда делся объект класса C????
350 1663866
>>663863
PS: я конечно понимаю, что написал хуйню, но блядь... почему оно собралось вообще?
351 1663868
>>663768
О каких полях речь?
353 1663883
>>663882
Почема не выводит 0?
354 1663889
>>663882
У '0' код 0x30, а не 0x00.
355 1663902
>>663882

>xor


Так, ты не питономакака...
356 1663904
>>663889
Каво? Это же не символы. Да и прикол в том что оно не компилируется
357 1663907
>>663902
а крестики так умеют?

> out = 0x100000000000000000000001000000000000000000000000000000 ^ 0xffffffffffffffffffffffffffffffffffffffffffffffffffff


> "%x" % out


'10fffffffffffffffffffffeffffffffffffffffffffffffffffff'
358 1663909
>>663907
Ну, сделаю, добавив пару постфиксов и auto... Ты гордишься синтаксическим сахаром которым никогда не воспользуешься?
359 1663910
>>663907
На сам деле я часто использую питон для кодогенерации, про питономакаку была цитата)
360 1663928
>>663882
Читай про приоритет операций. Да, это неудачная перегрузка оператора << вместо обычного метода.
361 1663934
>>663769
сколковские нанотехнологии
362 1663956
Анон, нормально ли то, что если я вижу Си-подобный код, то мне всё более-менее понятно, но если я, например, не вижу в некоем программном коде фигурных скобок в значении областей видимости, типов данных при объявлении переменных, то я моментально выходу за пределы зоны комфорта? Как это называется?
363 1663990
>>663956

>Как это называется?


Псевдокод? Живучесть си в том что он лёгок для интерпретации, а препроцессор может как сильно сокращать размер кода, так и менять его просто риздец как - никаких скобок может не быть.
364 1664002
>>663769
Например, фильтр Калмана. Годные современные его вариации, которые описаны в статьях, не лежат на гитхабе, и даже в матлабе нет. И мне не нравится твой предвзятый тон, иди нахуй
>>663934
))))
365 1664013
>>664002
тебе раз его предвзятый тон не нравится,иди нахкй на Пикабу
366 1664015
>>663868
о членах класса, public и private
367 1664055
>>657102 (OP)
Посоны, помогите нюфагу-пизданизду-веб-макаке. Хочется пощупать программирование так как оно есть, а не так, как я делаю сейчас на бэкэнде.
Решил вкатиться в плюсы, хотя бы чисто для себя. И обнаружил что у меня дикие пробелы в CS (если можно так назвать). Работа с потоками, памятью, вот это вот всё - не понимаю.
Что почитать для совсем нюфагов? Может даже не про язык, а про то как всё работает
368 1664098
>>663863
Бамп
369 1664141
>>664098
Что бамп-то? std::bind возвращает неизвестно что, в твоем случае он вернул что-то из чего смогла создаться std::function<void(C)>.
370 1664150
>>664098
А если удолитб дефолтный конструктор у С ?
371 1664155
>>664098
Научись делать минимальные примеры. У тебя куча лишних вещей, которые отвлекают.
https://godbolt.org/z/dvs3Ra
372 1664177
>>664141
Ну собственно вопрос так и звучит:

> почему оно собралось вообще?


>>664150
Ничего не поменяется
>>664155
Смысл резать эти 30 строчек в тестовом примере?
373 1664301
>>664177
Колбек вызвался успешно потому что там нет разницы с каким количесвтом агрументов ты его вызываешь, до тех пор пока их хватает - потому чт оагрументы не передаются напрямую в колбек, а вызывается std::invoke (который получается все переданые аргументы) - и из них выбираются нужные в соответсвии с std::placeholders которые ты передал при вызове std::bind. А так как ты ничего не передавал то все агрументы просто игнорируются.
Почему пройден статический контроль неясно. Скорее всего результат std::bind неявно приводится к любому callable. Наверное это из-за того что у результата std::bind нет как таковой сигнатуры - его можно вызывать с любыми аргументами, ошибка будет только если std::invoke не найдет всех нужных агрументов.
374 1664331
>>663769
В библиотеках код общий, а в реальной жизни его нужно затачивать под задачу.
375 1664440
>>663351

>В НИИ ты наименее вероятно будешь писать десктоп на крестах, вероятнее какой-нибудь клёвый матан или управление на си


А как такое искать в ДС? Типа есть какие-то НИИ, которые выставляют вакансии на хх, но то видимо нормальные заведения, куда нужны нормальные кадры
376 1664445
>>664301
Спасибо. Доходчиво объяснил.
377 1664462
>>664331
Дело говоришь. Даже длинную арифметику приходится переписывать под задачу.
378 1664465
>>663769

>TensorFlow


То ещё говно на самом деле.
379 1664611
Проходим в вузике многопоточность, и я в ахуе с этого говна под названием winapi. Почему все так криво и косо?
380 1664660
>>664611
ЕМНИП там треды, семафоры и критические секции вполне нормально сделаны. Что не так?
381 1664745
>>664611
Оно дизайнилось чуть ли не в 90ых на сишечке. Абсолютно вся "красота" современных языков - тупо обертка над этим.
382 1664761
>>664465
альтернативы обычно из разряда: что-то специфическое лучше, но в остальном сосет
Screenshot20200422174748.png57 Кб, 1919x1021
помогите ретарду 383 1664776
я хочу построить библиотеку в С++ для самодельной имплементации множества. Пользуюсь CLion. С чего начать?
384 1664809
>>664776
Напиши код, вынеси его в отдельный неймспейс, протести
385 1664820
>>664611
Скажи им там в этом майкрософте тогда, как надо было сделать! А то хули, сколько десятков лет уже всё криво и косо.
386 1664908
Хочу научиться рисовать на плюсах. Решил выбрать vulkan api. Стоит ли учить его полностью или лучше учить v-ez и прочие обертки?
387 1664910
>>664908
Начни хотя б с opengl, если с графикой не работал.
hellotriangle.png1,9 Мб, 3300x20723
388 1664912
389 1664915
Есть ли вариант вкатиться в инди геймдев на чистых плюсах? Хорошо ли анрил, если речь идет не только о 3д играх?
390 1664952
Очередной проигрыш сосачерных псевдобайтойобов
Анимедебилы спокойно пишут транспиляторы шиндусятской директхуйни на вулкан, пока вы тут ряясложнаете
391 1664955
>>664908
Если ты хочешь научиться - бери либо OpenGL, либо DirectX 11, ни в коем случае не трогай ни вулкан, ни DX12
392 1664956
>>664915
Юнити задрачивай
393 1664990
>>664908
Vulkan это не апи для рисования, это апи для программировани видеокарты. Подумой.
394 1665020
>>664990
>>664955
Но я где то читал, что вулкан это новая версия opengl
395 1665052
>>665020
Вобщем я понял что vulkan не для новичков. Буду opengl учить
396 1665058
>>665052
Лучше читать книги с офф сайта, или туториалы из интернета тоже подойдут?
397 1665059
>>665058
И че там по мате. Надо что нибудь знать для изучения opengl, или математика пригодится только в моих собственных проектах?
398 1665063
>>664990
Ну а ему что надо? Оформил пайплан, засабмитил, во фреймбуфере рисунок, просто!
399 1665084
>>664611
Тогда ещё не знали, как надо правильно программировать. Сейчас тоже не знают, но знают, как не надо.
400 1665093
>>665084

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


Всё верно, программисты остались в 90-х, сейчас макаки которым программирование не надо.
401 1665142
>>664912
Тащемта вулкан лютая хуйня. После него DX12 выглядит как годнота для людей. Писать под вулкан на Винде - себя не уважать. Тем более технологически вулкан всегда в позиции догоняющего. Майки переработанную версию DXR выкатывают, а в вулкане только первую версию трассировки выкатили, на которой только хэллоуворлды есть.
402 1665183
>>665142
DX12 чето пиздец как переусложнен. Тредсейф убрали, контекст убрали, и самый пиздец это то, что теперь ты САМ должен контролировать все дескрипторы ЦПУ и ГПУ т.е. писать свой диспетчер этих дескрипторов.
403 1665226
>>665183
Ну в вулкане ещё хуже. DX12 под многопоточных рендеринг заточен, если разобраться, то ничего сложного. Просто куча шаблонного кода для синхронизации и управления памятью.
.png2 Кб, 391x42
404 1665257
Есть ли разница?
405 1665258
>>665142

>После него DX12 выглядит как годнота для людей.


для макак, которые выучили dx какой-то версии и пишут шинда-only преложухи
406 1665268
>>665063
Там же надо такие литании духу машины сочинять, что охуеешь.

>>665257
Конечно, не видишь что ли - аргументы в разном порядке!
407 1665270
>>665059
Без математики никак. Почитай какие нибудь учебники по линалу и матану. В особенности по линалу, без него никак.
408 1665352
Привет, аноны. Я вкатывающийся ньюфаг, прошел примерно половину курса на stepik, все зашибись. Но прямо сейчас в заданиях стали появляться многочлены, квадратные уравнения, системы уравнений и вот это все. Я вроде не полный гуманитарий и понимаю, что это все на самом деле средняя школа, но у меня подгорает это действительно нужно для изучения языка?
409 1665394
>>665352
>>665352
это общая проблема всех этих говнокурсов. Нет, нахуй все это не нужно для обычной разработки
410 1665399
>>665268
Ты про еблю из-за ассинхронности самого api - ну фенсы там шменсы-барьеры?
411 1665424
>>665352
Если ты изучаешь язык, то конечно нет. Если ты учишься программировать, то конечно нужно.
412 1665691
>>665270
А что там с матаном?
изображение.png11 Кб, 783x225
413 1665780
Почему не закрывается калькулятор?
414 1665785
>>665780
А должен?
415 1665788
>>665785
Ну я же вызываю terminate process
416 1665820
>>665780

>The handle must have the PROCESS_TERMINATE access right. For more information, see Process Security and Access Rights.


Наверняка кто-то доки плохо читает.
417 1665822
>>665820
и уж наверняка среди каких-то из твоих нулей (подсказка нубу: 0=nullptr=false) есть какой-то с access rights флажками.
418 1665843
кресто-бояре может кто пояснит
чому в вакансиях 11/14 стандарт хотя вот вот выкатят 20?
419 1665872
>>665843
Потому что ленивые хуесосы не могут пересесть на 17 стандарт кококо зависимости кудах нам заебись и так
420 1665875
>>665843
Легаси, у меня от 17 до недо 11 например приходится использовать. Причем 17 мои личные.
421 1665890
>>665843
Легасихуйня или бездари девелоперы. Мы перевели у себя все проекты на 19 студию\17стандарт, но потратили время
422 1665918
>>665890
Сколько времени?
спрашиваю для сравнения
423 1665920
>>665918
Где-то месяц суммарно на все проекты одного разраба, но разраб сильный, и проектов немного.
424 1665927
>>665920
В чем переход заключался? Я переводил около двухсот проектов, тоже где-то месяц заняло. Пересобирал штук 15 библиотек, исправлял сборку, выпиливал некрокод (в т.ч. части буста, которые вошли в стандарт), фиксил шаблонные конструкции и всякие ошибки, которые раньше не проявлялись
425 1665937
>>665927
std::experimental::filesystem, хуева гора деприкейтов, новых варнингов и прочего. Ну и бонусом мы там еще меняли CI\CD и еще мелочи.
426 1666069
>>664955
А если нужна графика с 2д примитивами, нарисовать там линии, квадратики, битмап вывести, без сильной динамики. Кроссплатформенное и без qt?
другой анон
427 1666082
>>666069
Можешь вообще руками всё рисовать, ёпта.
428 1666085
select(0,0,0,0, (const struct timeval){.tv_sec = 5, .tv_usec = 0});

>expected an expression



Что не так?
429 1666092
>>666085
Ты тредом ошибся, тебе в си.
image.png20 Кб, 536x203
430 1666093
>>666085
конструктор отваливается ещё хуже
const struct timeval(.tv_sec = FM_MODWORKER_TICK, .tv_usec = 0);
431 1666097
>>666093

>Designated initializers are indeed very useful as you point out, if only they could be used in code-bases that are supposed to be portable. If your code needs to be compiled with the Microsoft C compiler – tough luck! Microsoft still stubbornly refuses to support C99, and as a result, designated initializers as are not supported.


Лямбды есть, а вот этого нет.
432 1666098
Анон, есть ли реальный шанс, что с++ вытеснит си и займет его нишу, в частности микроконтроллеры? Я для них пишу, естественно использую hal производителя, и я не вижу каких-то сильных проблем переноса кода на кресты.
Плюсы: c++ безопаснее, 80% дефайнов меняются на енумы, шаблоны-шаблончики, стл, вектора и карты, и миллиард написанных библиотек.
433 1666099
>>666098

>шаблоны-шаблончики


https://en.wikipedia.org/wiki/FLTK

>It also avoids complex macros, separate code preprocessors, and use of some advanced C++ features: templates, exceptions, and run-time type information (RTTI) or, for FLTK 1.x, namespaces.

434 1666103
>>666099
Для 98 это был плюс. В 2к20 с нормальной иде и цлангом нет проблем работать с шаблонами
435 1666104
>>666103
Нет проблем вообще написать эмбеддед-софт на жабе. Ну почему нет? Посмотри на смартфоны, взлетело же.
436 1666114
>>666098
Для этого ему нужно приблизиться по скорости к Си. Что в свою очередь ведет к отказу от фишечек Си++ так как они ведут к дополнительным тратам ресурсов, т. е. ты на плюсах будешь писать как на сях.
437 1666119
>>666114
Ты просто не умеешь писать на c++
438 1666122
>>666119
Я не умею даже понимать чужой c++ код с тимплейтами.
мимо
439 1666124
>>666119
Сам создатель, который с гим работает всю жизнь, не умеет на нем писать. В этом нет ничего зазорного. А то что ооп это компромисс между производительностью и структурированнностью кода - давно известный факт.
image.png113 Кб, 862x435
440 1666129
>>666122
Хотел попробовать переводить в sleep_for обычное сишное значение, а не std::chrono::seconds. Дожно конструироваться же.
Посмотрел в заголовок и нихуя не понял.
441 1666133
>>666104
Как я понимаю, ява разрабатывалась с идеей создания унивирсального байт-кода для любой платформы с использованием какой-то ебаной ява-машины, но мир на самом деле родил не так уж и много разных аппаратных платформ, арм везде пустил свои щупальца, а гцц/цланг позволяет генерить код под все популярные (и не очень) архитектуры. ИМХО, ява обречена, ее популярность сугубо из-за легаси.
Да и c++ родной с си, без проблем один в другой можно включить, что хорошо для плавного перехода HAL.
>>666114
Многие мои коллеги не компилируют под мк с -O3, типа что-нибудь отвалится, изменятся тайминги и не будет работать. Да, люди игнорируют варнинги.
442 1666145
>>666129

>MSVC


Вот твоя первая проблема
443 1666148
>>666124

> Сам создатель не умеет на нем писать.


Зелень, съеби плиз в свой js-загон.
444 1666149
>>666133

>Да, люди игнорируют варнинги.


Я тоже игнорирую их т.к. приходится просто. Вот взял ты либу какую-нибудь с гитхаба, подключил и сразу получил 100+ варнингов. И что мне блять с этим делать, самому их фиксить? Мне проще вырубить их нахуй и все.
445 1666171
>>666149
Палю годноту
/experimental:external /external:W0 /external:anglebrackets
446 1666182
>>664055
Брукшир информатика и ВТ
image.png26 Кб, 720x78
447 1666188
>>666093
Вряд ли взлетит
448 1666205
>>666148
О, что тут у нас, долбоеб пишущий говнокод, который думает, что этот код крут потому что написан на плюсах? Может перестанешь на бьерна дрочить и собой займешься?
449 1666236
>>666069
SFML ?
450 1666275
451 1666312
>>666205
Скажи, ты тот же ебалдяй, который с пеной у рта доказывал про опасность goto или другой? У вас очень похожий мыслительный процесс, если это словосочетание вообще применимо к вам.
452 1666343
>>666312
Это обычный человек, без мозгов, привыкший подчиняться чужой воле, настолько, что даже когда никто не приказывает, думают что приказ существует. В реальности проявляется так: вот есть в С++ классы, шаблоны, етс. етс., значит НУЖНО это всё юзать, иначе ты лох-пидр бла-бла. Тямы нет осознать, что это не принудиловка спущенная "начальником", а свободный выбор, где только ТЕБЕ ЛИЧНО решать использовать или нет. Потому что сами думать и за себя решать не способны в принципе, на генетичсеском уровне не способны.
453 1666360
реализовал свой собственный класс String. Описание на 1 скрине.
Всё работает, но есть проблема при считывании файла. При создании объекта класса String в функции Get_file_Content содержимое файла успешно считывается туда, но при возвращении ничего не сохраняется. Приходиться передавать объект класса по ссылке - 2 скрин и делать её void. Что я упустил? Написать отдельный метод, чтобы возвращать содержимое в случае return ?
454 1666368
>>666360
Ну какой нахуй собственный класс строки в 2020 году? Без мув конструктора тем более. Вангую, в консрукторе копирования у тебя там string_ = other._string
455 1666381
>>666368
В целях понимания ООП. Мне сразу, что-то сложное что ли брать?
456 1666391
>>666381
Если хочешь ООП ради ООП возьми Qt и педалируй там интерфейсы. Тут тебе и наследование, и инкапсуляция, и полиморфизм, и композиция и ещё куча умных слов
457 1666420
>>666360
Где мув-конструктор блъ?

>>666391
Он не осилил не проебывать единственный указатель при копировании, какой нахуй полиморфизм.
internet-meme-rage-comic-pol-antifa-meme.jpg74 Кб, 800x800
458 1666447
Сап двощ. Когда ебучие макаки разработчики компиляторов (или хотя бы одного) уже запилят полноценно модули? Feature freeze уже год назад произошёл, всё утверждено. И какого хуя вся эта котовасия всё ещё тенется? У кого нибудь есть прогнозы/инсайды/слухи?
459 1666462
>>666447
Они во всех трех компиляторах есть уже. Тот же микрософт в проде уже минимум год использует, например.
460 1666478
>>666462
А можно пример кода с модулями?
другой
461 1666484
>>666447
Бтв раст екзист
462 1666562
>>666312
Зачем доказывать то, о чём тебе Бог-создатель сам рассказал? goto нельзя использовать из-за того что он дает слишком много возможностей.
463 1666578
>>666360
Насколько можно понять из твоего хуевого описания, проблемы в конструкторе копирования, ищи там

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

Если целью не стоит заимплементить именно юзабельный тип, то лучше тренить ооп на чём-нибудь попроще: animal, cat, dog и тд
464 1666588
>>666562
Ясно, значит ты всё-таки тот самый опарыш
465 1666603
>>666478
двачую реквест, ток давайте реальный код
466 1666611
>>666603
что-то мне подсказывает, что люди так и останутся сидеть на хидерах, причём это коснётся как всяких системных бздей, так и прикладных к ним утилит
467 1666626
>>666478
Я не могу тебе взять и достать код из какого-нить внутреннего гита Микрософта. Я подписан на твиттеры челиков из MSVC, они писали, что у них внутрях уже модули во всю используются.

>>666611
Ну, вот тут я не согласен. Как только в IDE появится полноценная поддержка модулей (Вижуал Студия 2021?) - мы на работе переедем в ту же секунду.
468 1666635
хидеры не нужны, весь проэкт пишешь в одном .cpp файле
современные компы и компиляторы спокойно компилят файлики под сотню тысяч строк
469 1666636
Где лучше почитать про параллельное программирование, мьютексы, семафоры и доступ к разделяемым ресурсам? Есть маст хэв книга на эту тему?
470 1666637
>>666578
Ну хз. Вроде здесь конструктор копирования простой (пик 1). И он нормально работает при создании объекта (пик 2).
пример2.PNG10 Кб, 455x301
471 1666639
>>666637
Проблема возникает тут.
472 1666641
>>666636
Книгу Вильямса гугли про параллельное программирование
473 1666649
>>666635
У тебя комплюктер пополам треснет при попытке открыть и отредактировать файл на 1кк строк.

>>666639

>Проблема возникает тут.


Нет, не тут. На 75% уверен что проблема ETO TI в операторе=
Алсо надеюсь тебе не очень нужен завершающий \0, потому что read() его не пишет.
474 1666651
>>666649

>У тебя комплюктер пополам треснет при попытке открыть и отредактировать файл на 1кк строк.


гугли Amalgamation builds
475 1666662
>>666651
Я не про то что не скомпилится, а про то что большинство текстовых редакторов (с подсветкой синтаксиса особенно) едут крышей когда открывают файл >1 Гб. даже швитой ВИМ - по крайней мере в 2014 не вывозил
476 1666666
>>666462

>Они во всех трех компиляторах есть уже.


3(2), причём судя по описаниям везде не full featured. Я готов хоть на ебучий текстовый редактор, дайте модули, сука.
477 1666667
Господа крестовики, приветствую Вас.
Вопрос таков: каков самый быстрый способ (в рамках ОС, без ебанутых хаков с кастомными гипервизорами) наплодить N процессов и в бесконечном цикле кормить их разными вкусняшками? Я линуксоид, поэтому на ум пришло расфоркаться N раз (имеем в итоге одного отца с N дитяток), батя кормилец, а все N детей потребляди.
Попрошу заметить, что каждый из детей вызывает одну и ту же программу через execve, поэтому треды здесь не покатят.
Это часть функционала одной программы, которую я пишу на плюсах вперемешку с Си (кресты нужны из-за ООП в очень многих местах + банально удобнее работать с данными в некоторых моментах).
Что скажете, есть быстрее способ или я вообще хуйню несу?
478 1666668
Господа крестовики, приветствую Вас.
Вопрос таков: каков самый быстрый способ (в рамках ОС, без ебанутых хаков с кастомными гипервизорами) наплодить N процессов и в бесконечном цикле кормить их разными вкусняшками? Я линуксоид, поэтому на ум пришло расфоркаться N раз (имеем в итоге одного отца с N дитяток), батя кормилец, а все N детей потребляди.
Попрошу заметить, что каждый из детей вызывает одну и ту же программу через execve, поэтому треды здесь не покатят.
Это часть функционала одной программы, которую я пишу на плюсах вперемешку с Си (кресты нужны из-за ООП в очень многих местах + банально удобнее работать с данными в некоторых моментах).
Что скажете, есть быстрее способ или я вообще хуйню несу?
479 1666671
>>666662
Вим, имхо, нихуя не показатель быстрого редактора. Да и миллиард разных обвесов не позволяют судить где сам вим а где что-то ещё лагает.
Самый быстрый всё же саблайм.
Алсо, даже в вскод кто-то пытался впихнуть инкрементальный парсер для подсветки кода (https://github.com/microsoft/vscode-go/pull/2555), что как бы намекает что сварганить из готовых инструментов открывалку для гиговых файлов в 2к20. Правда кому это нахуй надо кроме полутора долбоёбов поехавших на перформансе.
480 1666672
>>666667

>в рамках ОС


Тащемта без задней мысли берёш и делоеш. Гуглируешь API создания процессов и IPC для своей любимой ОС и всё.
481 1666674
>>666649

> У тебя комплюктер пополам треснет при попытке открыть и отредактировать файл на 1кк строк.


Кошерные редакторы могут грузить файл по частям. Это не такая уж и сложная фича. Самое сложное в этом - составить карту памяти новых строк, чтобы какое-то подобие классической навигации было.
Ну а вообще я надеюсь что тот анон шутит так.
482 1666685
>>666672
Я объяснил как я это делаю, ты читал вообще сообщение или остановился на "в рамках ОС"?
Я спрашивал есть ли способ БЫСТРЕЕ это делать?
483 1666686
>>666667
Если тебе нужно решить какую-то задачу — не страдай хуйнёй и возьми готовый ивентлуп (libuv/libev/итд) на вкус, если хочешь более хайлевел решение — возьми какую нибудь либу с корутинами и шедулером.
Если в целях образования — то возьми либу по вкусу из совета выше и ковыряй её исходники. Если будешь вслепую писать на найденных апишках — скорее всего просто проебёшь кучу времени и придёшь к тому же результату в конце концов.
484 1666692
>>666674
А не проще хуйнуть всё в memmap и пусть ОС с виртуальной памятью с этим ебётся?
485 1666700
>>666692
Ну можно и хуйнуть. И получишь соответственный результат в половине случаев.
486 1666708

>>1187897

487 1666715
>>666639
С копи конструктором все норм. Но там еще вызывается Resize, и непонятно как именно используется Get_File_Content: инициализируешь новую переменную - вызывается копи конструктор, присваивание к уже существующей - operator=

И раз ты подебажил и понял, что файл действительно успешно читается, то в чем проблема посмотреть что там происходит в месте вызова Get_File_Content?
image.png82 Кб, 1366x768
488 1666875
Почему ошибка обращения к памяти, хотя память Read Write ? Exception thrown: read access violation.
val was 0xDC6E168000. Хотя до этого 2 раза нормально прочел два других региона с state commit, правда protect read
image.png117 Кб, 1366x768
489 1666893
>>666875
Наверное это связано с описанием про read write здесь, но я не собираюсь исполнять этот код. Почему тогда ошибка?
490 1666895
>>666893
Хотя такое же описание у ридонли, но ридонли спокойно читается
491 1666900
>>657102 (OP)
Ананасы, изучаю многопоточку
Дошёл до атомиков и мем_ордер
Как в этих мем_ордерах разобраться-то? Ну кроме дефолтного
image.png21 Кб, 528x341
492 1666905
Охуеть, че можно-то...
Анончики, почто я так бездарно просрал свои студентские годы? Писал свои велосипеды на Си вместо того, чтоб окунуться в кресты. Довыебывался, работаю теперь черти на чем вообще, а ведь мог без задней мысли, рекурсивного захлебывания инфой из толстых книжек и прочего педантизма юзать мощь крестов в свое удовольствие и постигать дзен в бою - давно бы уже крестовиком трудоустроенным стал.
493 1666936
>>666905
Что именно можно?
Если ты про компайл-тайм вычисления, то это просто что то типа встроенного продвинутого калькулятора. Приятно, но в целом хуйня.
Представляю как ты охуеешь, когда дойдешь до темплейтов и узнаешь про всякие metaprogramming штуки
494 1666938
>>666875
Код покажи.
495 1666960
>>665257
Бля, ну ты даешь.
Одна функция заполняет n элементов, а вторая - n байт.
Есть разница?
496 1666962
>>666637
На заметку.
На пике один ты инициализируешь size_, а потом выделяешь в string_ size_ +1 элементов в списке инициализации.
И все это работает только потому что в самом классе ты сначала объявил size_, а потом string_. Было бы наоборот - падал бы твой конструктор и ты бы очень долго искал ошибку.
Потому надо инициализировать члены класса в порядке объявления.
497 1667046
Пчелы, а какой codestyle ваш любимый?
1508014316004-dvach-b-210755668.jpg32 Кб, 650x487
498 1667050
>>667046
Свой собственный
500 1667075
>>665820
Не особо понятно, куда ставить этот флаг. В списке флагов функции createprocess такого нет, а если все же его там выставить, процесс просто не запустится.
Но что самое странное, код успешно работает, если в качестве приложения выбрать например internet explorer, или foxit reader.
Может есть какой то запрет на terminateprocess именно у калькулятора?
501 1667090
>>667046
Самый лучший стиль у линукса
502 1667124
А нахуя нужен WebAssembly, если один хуй надо его обмазывать жсом? Причем там такая ебля в сраку, что проще написать это всё в бэке или на чистом жсе, чем пердолиться с встраиванием васма.
503 1667142
Здравствуйте, у меня в Visual studio появилась проблема,при запуске программы все время идет загрузка символов,можете подсказать,что делать
504 1667143
>>667142
Не пользоваться Visual studio
505 1667148
>>667143
а чем тогда CodeForces&
506 1667165
>>666667

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


Какой-то изначально ебанутый дизайн, если честно. Тебе так в любом случае придётся делать процессы через стандартное АПИ оси, от этого ты никуда не денешься никогда. Вопрос лишь в том, как процессы общаются между собой - через пайпы или Posix Message Queue или shmget или сокеты или что придумаешь.
507 1667166
>>667142
Посмотри настройки VS или переменную среды _NT_SYMBOL_PATH
508 1667167
>>667063
Есть идеи?
509 1667170
Почему qt creator требует для функции из библиотеки wibdows.h аргумент типа строки wchar_t, а в других иде для той же функции нужна строка чаров, и все работает.
510 1667179
>>667170
Короче смотри. В виндобс до недавнего времени юникод был реализован через жопу UTF-16, соответственно все методы из windows.h при наличии макроса UNICODE имеют постфикс W и принимают wchar_t. Если таргетишь Винду версии 1903 и выше, то можно вроде как отказаться от этого макроса и в настройках винды включить utf-8
511 1667269
>>667167
Какой же я тупица. Я все понял
512 1667481
Аноны, помогите плиз. Почему моя прога вылетает, когда я пытаюсь использовать рекурсивную заливку flood fill на большой области? Например, картинка 320х320, я выделяю произвольную область даже меньше четверти всей площади картинки, и прога вылетает. Если выделять малюсенькую область, то красит. Алгоритм заливки такой:

void CustomAreaTool::floodFill(int x, int y)
{
QColor color = selectionMask.pixel(x, y);

if(x >= 0 && x < selectionMask.width() && y >= 0 && y < selectionMask.height() && color == Qt::black && color != Qt::white)
{
selectionMask.setPixelColor(x, y, Qt::white);

QColor colorE = selectionMask.pixel(x + 1, y);
QColor colorW = selectionMask.pixel(x - 1, y);
QColor colorN = selectionMask.pixel(x, y + 1);
QColor colorS = selectionMask.pixel(x, y - 1);

qDebug() << "x = " << x << ";" << "y = " << y;

if (colorE == Qt::black)
{
floodFill(x + 1, y );
}
if (colorW == Qt::black)
{
floodFill(x - 1, y );
}
if (colorN == Qt::black)
{
floodFill(x, y + 1);
}
if (colorS == Qt::black)
{
floodFill(x, y - 1);
}
}

view->setCanvas(QPixmap::fromImage(selectionMask));

}
512 1667481
Аноны, помогите плиз. Почему моя прога вылетает, когда я пытаюсь использовать рекурсивную заливку flood fill на большой области? Например, картинка 320х320, я выделяю произвольную область даже меньше четверти всей площади картинки, и прога вылетает. Если выделять малюсенькую область, то красит. Алгоритм заливки такой:

void CustomAreaTool::floodFill(int x, int y)
{
QColor color = selectionMask.pixel(x, y);

if(x >= 0 && x < selectionMask.width() && y >= 0 && y < selectionMask.height() && color == Qt::black && color != Qt::white)
{
selectionMask.setPixelColor(x, y, Qt::white);

QColor colorE = selectionMask.pixel(x + 1, y);
QColor colorW = selectionMask.pixel(x - 1, y);
QColor colorN = selectionMask.pixel(x, y + 1);
QColor colorS = selectionMask.pixel(x, y - 1);

qDebug() << "x = " << x << ";" << "y = " << y;

if (colorE == Qt::black)
{
floodFill(x + 1, y );
}
if (colorW == Qt::black)
{
floodFill(x - 1, y );
}
if (colorN == Qt::black)
{
floodFill(x, y + 1);
}
if (colorS == Qt::black)
{
floodFill(x, y - 1);
}
}

view->setCanvas(QPixmap::fromImage(selectionMask));

}
15729370418900.png8 Кб, 400x224
513 1667488
>>667481

>рекурсивную


>на большой области


чел...
514 1667493
>>667488
Но ведь челы в уроках как то красят этим алгоритмом. Если рекурсию нельзя, то как красить?
515 1667550
>>667493
Переделать в цикл. Или думаешь у тебя в стек влезет 70к вложенных вызовов?

void floodFill(int x0, int y0)
{
vector<pair<int, int>> store(1, {x0, y0});
int dx[] = {1, 0, -1, 0};
int dy[] = {0, -1, 0, 1};

while (!store.empty())
{
auto pos = store.back();
store.pop_back();

auto col0 = selectionMask.pixel(pos.first, pos.second);

for (int dir = 0; dir < 4; ++dir)
{
int x = pos.first + dx[dir];
int y = pos.second + dy[dir];
if (x < 0 || x >= selectionMask.width() || y < 0 || y >= selectionMask.height())
{
continue;
}

auto col1 = selectionMask.pixel(x, y);
if (col1 != Qt::black) { continue; }

store.push_back({x, y});
selectionMask.setPixelColor(x, y, Qt::white);
}
}
}
515 1667550
>>667493
Переделать в цикл. Или думаешь у тебя в стек влезет 70к вложенных вызовов?

void floodFill(int x0, int y0)
{
vector<pair<int, int>> store(1, {x0, y0});
int dx[] = {1, 0, -1, 0};
int dy[] = {0, -1, 0, 1};

while (!store.empty())
{
auto pos = store.back();
store.pop_back();

auto col0 = selectionMask.pixel(pos.first, pos.second);

for (int dir = 0; dir < 4; ++dir)
{
int x = pos.first + dx[dir];
int y = pos.second + dy[dir];
if (x < 0 || x >= selectionMask.width() || y < 0 || y >= selectionMask.height())
{
continue;
}

auto col1 = selectionMask.pixel(x, y);
if (col1 != Qt::black) { continue; }

store.push_back({x, y});
selectionMask.setPixelColor(x, y, Qt::white);
}
}
}
516 1667559
>>667550
Спс, чел, попробую.
А что тут происходит вообще?
То есть ты создаешь свой стек store с пикселями. Потом достаешь из него по одному пикселю и одновременно суешь еще несколько его соседей. Так ведь?
518 1667576
>>667063
1. Используй тайпдефы из хэдеров (ULONG/PVOID/ULONG_PTR итд)
2. Получи верхнюю и нижнюю границы адресов пользовательского режима, вместо сканирования вслепую с нуля до бесконечности.
3. Исключи из поиска регионы без нужного тебе доступа
4. Проверь доступность страницы в рабочем наборе, сканируй только те страницы, которые присутствуют в физической памяти и помечены системой, как доступные для использования
519 1667579
>>667046
Windows NT style, самый чистый и правильный кодестайл, ноудискасс.
520 1667654
>>667165
Батя кладет данные в расшаренный буфер от mmap, детки хавают это. Проблема producer-consumer решается семафорами.
Почему ебанутый? Запускаешь программу, она плодится на N процессов-детей. Отцовский процесс готовит данные, дети их хавают. В итоге у каждого из N процессов есть разные данные и все они исполняются параллельно (насколько позволяет цпу машины). А учитывая, что IPC через расшаренную память является самым быстрым из всех других видов IPC, то получается вроде как неплохо. Быстрее - только высрать кастомизированный гипервизор со специально спроектированной моделью ввода-вывода.
521 1667699
>>667576
Да я уже понял. Я забыл что адресс не моего процесса, и тупо обращался по адресу другого процесса в своем. Естественно вылетало.

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


От нуля до 7FFFFFFF. Так написано на в доках майкрософта. Дальше процесс распологаться не может.

> 3. Исключи из поиска регионы без нужного тебе доступа


Сделано

> 4. Проверь доступность страницы в рабочем наборе, сканируй только те страницы, которые присутствуют в физической памяти и помечены системой, как доступные для использования


Сделано
Все работает. Причем довольно быстро. Спасибо за ответ
522 1667702
Так я не понял. Vulkan это замена OpenGl или ответвление?
523 1667703
>>667699
Чуток ошибся. For a 32-bit process, the virtual address space is usually the 2-gigabyte range 0x00000000 through 0x7FFFFFFF. For a 64-bit process on 64-bit Windows, virtual address space is the 128-terabyte range 0x000'00000000 through 0x7FFF'FFFFFFFF
524 1667749
>>667699
>>667703

> От нуля до 7FFFFFFF. Так написано на в доках майкрософта.


Никогда не верь докам майкрософт. SYSTEM_BASIC_INFORMATION: MinimumUserModeAddress, MaximumUserModeAddress - реальный диапазон. Там же PageSize, AllocationGranularity.
525 1667755
>>667654
Я HPC не занимался и не знаю как у вас принято, но я просто не вижу смысла городить процессы там, где можно обойтись простым тред пулом. Судя по постам код подконтролен тебе и поэтому я не очень понимаю, зачем так нужен execve. Да, по скорости не должно отличаться если всё правильно сделано хотя кто там знает, как в glibc межпроцессные семафоры реализованы, но плодить лишние тяжеловесные сущности со своими (хоть по большей части и расшаренными) виртуальными пространствами - как-то не то это.

Насчёт второй части оригинального вопроса - о "скорости кормления" - зависит от специфики твоей задачи, и плюсы тут не помогут. Какой размер у единицы работы, как сильно влияет false sharing, много ли ядер одновременно дёргают общие переменные - только ты знаешь. Тут уже не важно, треды или процессы, физически страницы одни и те же. Лично я до таких мелочей никогда не оптимизировал, поэтому подсказать не могу.
526 1667757
День добрый, проблемы с отладкой gdb в qt creator под вин10 распространенная тема (например, шаг с выходом почти всегда работает криво) или нет? Причем в VS работает без проблем.
527 1667781
>>667702
Ответвление. Опенгл может и дальше развиваться независимо от вулкана, как С развивается независимо от С++.
528 1667785
>>667755
Пчел, повторяю, каждый ребенок вызывает ДРУГУЮ программу. Это часть задачи, какие нахуй треды, если из-под них нельзя вызвать другую программу? Execve из треда, а не из отдельного процесса, накроет пиздой весь process image той программы, исполнение которой я хочу поддерживать в бесконечном цикле. Именно поэтому в виду специфики задачи я должен плодить именно ПРОЦЕССЫ, а не треды. Причем не по кд, а высрал N процессов, а потом только подохшие заменяю по мере поступления сигналов к отцу. Сам форк имеет copy-on-write, ощутимый оврехэд есть разве что у execve, ибо он вайпает все виртуальное адресное пространство и заполняет его новыми данными.
529 1667815
Аноны, почему Stack реализован на двунаправленной очереди, а не листе? И зачем очереди доступ по индексу?
530 1667847
>>667781
Спасибо
531 1667848
>>667749
Спасибо
532 1667863
>>667815
Ты еще спроси зачем у вектора есть та самая специализация для булов.
533 1667866
>>667863

>та самая специализация для булов


И зачем? Не знаю о чем ты
Почему при считывснии части данных из сокета остальные данные теряются? 534 1667966
Я читаю часть данных из сокета, обрабатываю, а при следующей попытке считывания прога тупо виснет.
535 1667984
>>667815
stack это адаптер, ни на чем он не реализован, а просто внутри использует один из контейнеров, причем на выбор пользователя.
И да по умолчанию это дек, потому что есть подозрения, что лист со своими оверхедными ссылками хуже по производительности

А возможность доступа по индексу в queue - пиздеж скорее всего, или подгони пример использования
536 1668003
image.png83 Кб, 1366x768
537 1668019
А как узнать установленную opengl версию? Выскакивает ошибка Context profiles are only defined for OpenGL version 3.2 and above, хотя вот что показывает аида. Только я не уверен что это значит. Имеется ввиду что поддерживает opengl 4.3 или что он установлен?
538 1668041
>>668019
Какая видеокарта?
image.png88 Кб, 1366x768
540 1668046
>>668041
Хуита полная
541 1668050
>>668045
Спасибо
542 1668052
Есть ли годная либа под VS 19, для работы с mysql?(кроме Mysql Connector)
543 1668056
>>668046

>wddm 1.3


Так может тебе драйвер обновить надо
544 1668059
>>668056
Вот это да, но тут проблемка воникает. Скачиваю адреналин от амд, обновляю драйвера и комп начинает нихуева лагать. Фризы, мерцания и тд. Сейчас конечно еще попробую, но мне кажется ничего не изменится
545 1668063
>>668003
Так для дека-то ясен хуй что есть, я думал ты про std::queue
546 1668065
>>668052
Mysql++ ?
image.png106 Кб, 1366x768
547 1668066
>>668056
кстати та прога показала 4.3.
548 1668069
>>668066
Во вкладке OpenGL report каждый уровень подробнее расписан
549 1668092
При обновлении opengl32.lib обновится? Мне придется перекомпиировать что то?
550 1668094
Бля, точно надо? Страшновато
image.png215 Кб, 1366x768
551 1668095
552 1668101
>>668094
Отвал жопы будет
553 1668102
>>668101
Хорошо, установка пошла
554 1668104
>>668094
Если страшно, то всегда можно в жопоскрипт перекатиться
555 1668132
Установка завершилась. Появились фризы
556 1668136
>>668132
всех АМДкретинов теперь буду посылать читать эти посты
557 1668137
>>668132
Надо же перекомпилировать? Может я просто не то в проекте настроил?
558 1668144
>>668137
У меня в зависимостях стоит файл opengl32.lib, хотя в папке винды я также нашел OpenGL32.lib . Поменять имя?
559 1668149
>>668132

>Появились фризы


лол
А уровни-то хоть проверил на новом драйвере?
560 1668150
>>668149
Каво? Я просто обновился с помощью адреналина выпил баночку7. Не думал что тут какие то приколы есть
561 1668156
>>668150
Урони openGL какие теперь поддерживает?
562 1668158
>>668156
Сейчас скину. Но смысл? Он и так говорил что 4.3 поддерживается . А мне программа ругалась на то, что у меня версия ниже 3.2
563 1668173
Конечно в этом плане стало намного лучше. Да и wddm 2.1. Круто, но комп фризит пидец и прога так и не запускается.https://habr.com/en/post/311198/
Следовал этим урокам. Может тт не то написано или я криворукий?
image.png133 Кб, 1366x768
564 1668174
>>668173
1 пик не тот
565 1668233
Честно, желание поубавилось. Походу начать программирование на opengl лучше с покупки норм пк
566 1668236
>>668233
попробуй директЫкс 11. Чуть сложнее ОПЕНГЛ (COM-блевотина не лечится), но зато есть полноценные книги (вроде даже с переводом) от Frank D. Luna
567 1668294
>>668236
Падажжи, они в dx11 засунули COM?
568 1668306
Гайс помогите пж с задачей по информатике. Надо написать программу :Задача :"Определить индексы четных элементов вектора К размерности 7 элементов, значения которых равны Т или Е. "

Т=2,Е=4-эти значения должны вводиться с клавиатуры . Вектор состоит из 7 чисел которые вводятся с клавиатуры. Нужно найти сколько раз встречается Т и Е среди чисел в векторе

начал писать код,но че с ним делать не знаю:
#include <iostream>
using namespace std;
int main()
{
double T,E,N;
int i,K[7];

for (i=0;i<8;i++)
cin>>K;

if (i%2==0)
T=K;

}
int i,K[7];
cout<<"Введите 7 значений вектора К "<<endl;
for (i=0;i<8;i++)
cout<< "T="<<T<<endl;
569 1668311
>>668294
DirectX всегда был ком-парашей, насколько я знаю
570 1668318
Пишу свою первую программу на плюсах, и сразу застрял на моменте подключения сторонних библиотек.

Я использую CLion IDE в котором CMake для сборки используется, так что нужно как-то через него это сделать. Нужная либа DuckX для чтения и записи docx файлов.

Проблема в том, что когда просто копирую репозиторий к себе, добавляю в свой CMakeList.txt add_subdirectory(DuckX) и потом дописываю target_link_libraries(project duckx).

Оно вроде как заводится, но когда я начинаю пробую открыть docx какой-то в коде - у депенденси этой библиотеки вылетает какой-то эррор (Assertion failed: (s), function strlength). И я просто из-за отсутствия опыта тупо не могу понять, это либа не работает вообще или я криворукий дебил. Подскажите, пожалуйста, руки опускаются, мне просто нужна возможность открывать док файлы и немного изменять их.

Вот мой CMakeList.txt

cmake_minimum_required(VERSION 3.16)
project(untitled)
set(CMAKE_CXX_STANDARD 14)

add_subdirectory(DuckX)
add_executable(untitled main.cpp)
target_link_libraries(untitled duckx)
571 1668319
>>668318
Прошу прощения за очепятки, у меня стресс, целый день страдаю
image.png24 Кб, 1366x768
572 1668336
НАКОНЕЦ-ТО
573 1668338
>>668336
Хуйня. Ты станешь посвящен только после треугольника
574 1668345
>>668318

>первую программу на плюсах


>парсит ворд



В CMakeLists.txt все верно вроде. Проверь, не выводит ли cmake какие ошибки во время сборки. И раз у тебя есть весь код, тебе религия не позволяет воспользоваться отладкой и посмотреть в чем там дело?

Есть варик отдельно сбилдить эту либу и уже потом подключить нужные файлы в основной проект, хотя это то же самое так то

Ну и комп ребутни ессно

>у меня стресс


Тебе в JS-тред, там тебя приголубят
575 1668363
>>668338
Завтра хотелось бы сделать
576 1668392
>>666667
Попробуй в сторону posix_spawn посмотреть. Говорят быстрее, чем обычный fork+exec
Screen Shot 2020-04-26 at 22.26.54.png994 Кб, 3104x1862
579 1668460
>>668345
Валится оно в pugixml библе. Я так полагаю ему тяжеловато взять strlength от NULL. Такие ошибки в плюсах могут быть из-за неправильного подключения библиотеки?

>Тебе в JS-тред, там тебя приголубят


не, спасибо
580 1668491
>>668345
Ладно, похуй на эту сломанную библу, я понял что док файлы это просто zip архивы, так что просто юзну libzip (распакую и запакую заново). Только странно что там написано что он работает только с zip архивами, как-то это странно. Может есть какой-то более народный инструмент для архивации? Просто реально не хочется опять какие-то ошибки сейчас словить
581 1668509
>>668460
Блять, так поэтому и падает на ассерте. contents я так полагаю - содержимое файла? Если да, то видать эта хуета просто файл не смогла прочесть. Попробуй другой попроще. Либо вообще ищи альтернативную либу
И да, скидывай код твоей проги. У меня закрадываются подозрения, что ты не отлавливаешь ексепшены/ерроркоды
582 1668553
>>668509
Спасибо тебе, из-за этого ответа я понял, что я очень ТУПОЙ. Я неправильно указывал путь к файлу, надо было абсолютный. Программа там уровня Hello World, все заработало. Но как указывать относительные пути к файлам я так и не понял.
583 1668556
>>668509
Как правильно обернуть в try catch, чтобы понимать из-за чего ошибки? Они супер неочевидные, почему оно просто не сказало что не нашло файл например?
584 1668574
Как сделать так, чтобы при вызове объекта класса, некоторая переменная внутри метода класса могла получить адрес, по которому этот метод находится?
585 1668575
>>668574

>Как сделать так, чтобы при вызове объекта класса, некоторая переменная внутри ОБЪЕКТА

класса могла получить адрес, по которому этот ОБЪЕКТ находится?
Ёбанное ООП!
586 1668658
>>668233

>на opengl


Мертвая хуйня
587 1668792
>>668658
Что тогда?
588 1668878
>>668792
Vulcan
589 1668919
>>668658
Если надо не игровой движок собрать, а пару шаров нарисовать, то нахуй он нужен, этот твой вулкан.
590 1668933
>>668919
А на хуй твои шары рисовать?
592 1668945
>>668938
В шары ебешься? Вот легитимный тред >>668432
593 1668959
>>668945
А ебать, сорян тогда
594 1669159
>>668933
Ну, это я гиперболизировал. Может, ему какую-нибудь небольшую визуализацию данных надо сделать, несколько нестандартную. Вулкан ради этого пердолить смысла нету.
595 1669322
>>669159
Кому ему? Пиздуй и делай это на движке
Это так и делают через визуальный редактор
596 1669649
>>669322
Признаю, что мне неохота обсуждать с тобой всё это конструктивно. Отчасти, от тона, не предвещающего продуктивное обсуждение. Поэтому, пожалуй, просто проведу аппеляцию к личности собеседника -- ты долбоёб, иди нахуй.
597 1669816
>>669649
Я рад что ты признал свою неправоту и решил съебать
598 1678036
>>666666
ГЕТ
599 1678039
600 1687643
Прорамач, объясни дураку пожалуйста как создавать qm файлы и как их подрубать к проекту.
Прочитал в справочники Qt о QTranslator и ничего не понял.
Вопрос именно с созданием qm файлов.
Спасибо.
Screenshot20200601-020550.jpg381 Кб, 720x1280
601 1745510
602 1751462
Оп хуй
603 1758367
Хоть один человек зайдет сюда? Ответьте ради прикола
Тред утонул или удален.
Это копия, сохраненная 19 августа 2020 года.

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

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