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

Ответить в тред Ответить в тред
C++ тред #109 /cpp/ Аноним 26/04/20 Вск 21:52:17 16684301
image.png 2Кб, 250x250
250x250
Аноним 26/04/20 Вск 23:46:59 16685302
Найс перекатили
Аноним 26/04/20 Вск 23:53:12 16685353
Мьютексы в крестах могут шариться между родительским и дочерним процессами? Или нужно явно выделять расшаренную память через mmap?
Аноним 26/04/20 Вск 23:55:00 16685384
>>1668535
речь именно про процессы, про треды речи не идет.
Аноним 26/04/20 Вск 23:57:31 16685395
>>1668535
В плюсах вообще не определено понятие процесса. Всё, что с ними связано, делается только через апи платформы.
Аноним 27/04/20 Пнд 00:06:59 16685446
>>1668535
Это будет по разному в каждой реализации. В линуксе наверно да (если форкать), в виндоусе вряд ли.

По хорошему, лучше на это не расчитывать и делать самому через системное АПИ.

Аноним 27/04/20 Пнд 03:01:35 16686217
Как часто юзают кресты для системного программирования на Линуксе? Драйвера, офк, пишут скорее на чистых сях (если ОЧЕНЬ изъебнуться, то можно и на ломанных крестах, но зачем?), а как насчет юзерспейс лоулвл софта?
Аноним 27/04/20 Пнд 03:30:38 16686268
>>1668621
Даже богомерзкая сустемд написана на С
Аноним 27/04/20 Пнд 03:33:02 16686279
>>1668626
немудрено, но почему богомерзкая? Как по мне, удобнее инита в разы. Сисадмины явно не согласятся с твоим высказыванием (я не сисадмин, если что)
Аноним 27/04/20 Пнд 08:57:05 166871410
Где можно найти хороший учебник? Я учил основы в школе и не хочу тратить полчаса на прочтение описания концепции переменной.
Где можно удобно, без лишних тонн текста изучить синтаксис языка?
Аноним 27/04/20 Пнд 09:08:12 166871711
>>1668621
Хуй знает как на этом говнолинуксе, на винде спокойно дрова пишу на плюсах. Офк с некоторыми ограничениями(нет исключений). Даже гипервизоры можно писать на плюсах.
Аноним 27/04/20 Пнд 09:09:41 166871812
>>1668714
Страуструпп вроде сразу на первых страницах весь синтаксис вываливает. Я правда название не помню. У него есть одна книга для новичков - тебе другую.
Аноним 27/04/20 Пнд 10:23:40 166877013
Объясните мне, тупоголовому, как лучше именовать приватные переменные в классе. Для себя подчеркнул два основных способа: префикс its и постфикс _. Приятнее офк выглядит itsVar, нежели чем var_. Но мб всё таки есть какой то излюбленный способ у большинства программистов, чтобы изначально выработать "правильную" привычку?
Аноним 27/04/20 Пнд 10:26:32 166877114
Аноним 27/04/20 Пнд 10:37:34 166878515
>>1668770
Одного способа нет, есть несколько расхожих вариантов, выбери один и используй везде.
Аноним 27/04/20 Пнд 11:21:02 166883316
Аноним 27/04/20 Пнд 12:15:01 166888217
Как сделать так, чтобы при вызове объекта класса, некоторая переменная внутри объекта класса могла получить адрес, по которому этот объект находится?
Аноним 27/04/20 Пнд 12:16:41 166888518
Ку крестач
Почему сейчас нет ни одной более или менее известной ОС, ядро которой написано полностью (или хотя бы частично) на плюсах?
Вообще, если мне хочется в образовательных целях написать ядро ОСи на крестах - это норм или хуйня затея?
Аноним 27/04/20 Пнд 12:26:04 166889719
Аноним 27/04/20 Пнд 12:52:00 166891820
Как сделать небольшое приложение на qt? Скомпилированный экзешник требует dll которые больше сотни мб весят. А мне бы ограничится хотя бы 1 мб. Уж о кб, как у приложений на шарпе я молчу.
Аноним 27/04/20 Пнд 12:59:12 166892421
Аноним 27/04/20 Пнд 13:02:07 166893022
>>1668918
Твой бинарь зависит от кутэшных либ, линковка с которыми может быть динамической (твои длл) или статической(не будет длл, но сам экзешник будет весить столько же). Без них никак.
Аноним 27/04/20 Пнд 13:21:56 166896523
бамп
Аноним 27/04/20 Пнд 13:34:15 166898024
А почему мое пустое окошко на opengl жоет 20 мб и чутка процессора?
Аноним 27/04/20 Пнд 14:00:17 166900025
Аноны, как называется то состояние, когда хочется читать книжку и теорию без конца, а делать ничего не хочется?
Аноним 27/04/20 Пнд 14:16:24 166902426
>>1669000
Мне б такое на месяцок, пишу говно, не заучив теорию
Аноним 27/04/20 Пнд 14:26:50 166904427
>>1669000
Anxiety? Я тоже прочитал книгу но писать ничего не могу.

Аноним 27/04/20 Пнд 14:32:01 166905728
>>1668918
>>1668930
Во, у меня тоже не запускается экзешник из папки проекта. Выходит, запуская в qt creator программу он динамически подключает либу? И надо в qmake менять это, чтобы отдельно работал экзешник без иде?
Аноним 27/04/20 Пнд 14:38:29 166907029
Метод find, связанный с контейнером std::set, имеет под капотом бинарный поиск? Просто сет - это перманентно отсортированный массив без повторяющихся элементов, использовать в такой структуре данных обычный линейный поиск - дикий проеб ресурсов.
Аноним 27/04/20 Пнд 14:56:30 166911330
Аноним 27/04/20 Пнд 14:56:49 166911431
Аноним 27/04/20 Пнд 15:03:07 166913032
>>1669070
Сет это дерево поиска. Там не бинарный поиск используется, а обход дерева.
Аноним 27/04/20 Пнд 15:15:00 166916033
>>1668885
Сколько тебе лет?
Если больше 10, что врядли, то ты просто не успеешь доделать
Аноним 27/04/20 Пнд 15:26:09 166918234
>>1668621
Могу линкер gold припомнить.
Аноним 27/04/20 Пнд 15:50:18 166920635
Аноним 27/04/20 Пнд 16:09:29 166922236
Аноним 27/04/20 Пнд 16:23:02 166923537
>>1668918
> больше сотни мб весят
Скорее всего ты взял дебаг версии библиотек, собранные для mingw. У меня релизные core+gui+widgets для msvc весят совсем хуйню
Аноним 27/04/20 Пнд 16:24:02 166923638
>>1669235
>mingw
Это плохо? В книге советовали выбрать этот компилятор.
Аноним 27/04/20 Пнд 16:28:41 166924039
>>1669236
Может и не плохо, но де-факто стандартный компилятор под Винду - это msvc. В QT просто по какой-то причине не могут вырезать символы в отдельный файл, как это происходит с pdb под msvc. Наверное, чтобы не ебать ньюфагам мозг со склеиванием библиотеки и символов, хотя я не уверен
Аноним 27/04/20 Пнд 16:30:37 166924440
>>1669236
При всей моей безумной любви к микрософту - пока ты ньюфаг и хочешь пердолить куте - пердоль кутекреатор + мингв. Оно попроще.
Аноним 27/04/20 Пнд 16:34:29 166924741
>>1668897
> m_pszName
Никто ж тебя не заставляет всю венгерскую нотацию тащить с собой. Ну и по поводу ИДэЕ - если набрать "m_", то автодополнение выведет только члены класса, а если набирать имя, у которого в конце "_", то оно тебе весь скоуп выплюнет, так что тут плюс в сторону "m_". Ну и субъективно ревьювить легче такой код, периферическое зрение видит приставку и ты уже заранее знаешь, что тут идёт обращение к члену класса.
Аноним 27/04/20 Пнд 18:51:19 166937342
Двач, как удалить все символы в std::string после '\0'?
my_string.substr(0, my_string.find('\0', 0));
Не работает
Аноним 27/04/20 Пнд 18:52:29 166937643
>>1669373
substr не удаляет ничего, она возвращает новую строку. Читай доки.
Аноним 27/04/20 Пнд 18:54:16 166937844
>>1669376
Ах, да, спасибо, просто спиздил не совсем рабочий пример не подумав.
Аноним 27/04/20 Пнд 18:55:50 166938045
>>1669160
Есть стример на твиче, который пишет полноценный гипервизор за 3 12-ти часовых стрима что за хуйню ты высрал про всю жизнь, пчел? Цель не написать конкурента винде или Линуксу.
Аноним 27/04/20 Пнд 20:37:47 166950446
>>1669380
Так гипервизор просто хостит ОС, ему не нужно дохуя разных фишек для работы там с файлами или пользователем. По факту для простейшего гипервизора нужно просто реализовать несколько затычек под vmexit'ы и все. Если это гипервизор 2 типо то можно сразу под виндой запусктать и юзать уже готовые функции винды. Если же первого типа то да, тут сильнее потеть придется.
Аноним 27/04/20 Пнд 20:42:37 166950847
Двач, у меня на windows юникод не выводится, подскажите что-нибудь.

std::string a = "Phöenix";
std::cout << a << std::endl;

std::string a = u8"Phöenix";
std::cout << a << std::endl;

std::wstring a = L"Phöenix";
std::wcout << a << std::endl;
Аноним 27/04/20 Пнд 21:12:17 166953548
>>1668885
Потому что это никому не нужно. Кто сейчас вообще ОС пишет?
Ну ты можешь потратить время какое нибудь микроядро написать, если скучно. в миниксе вроде около 10к строк кода, как раз тебе на пару лет работы
Аноним 27/04/20 Пнд 21:12:56 166953849
Big Boss pachin[...].jpg 85Кб, 1166x739
1166x739
>>1669508
Ещё один пал в неравном бою с консолью венды.
Аноним 27/04/20 Пнд 21:25:29 166956250
Аноним 27/04/20 Пнд 21:29:43 166956851
>>1669562
Потому что это скрин игры пакман.
Аноним 27/04/20 Пнд 21:34:03 166957552
>>1669562
Потому что шрифт без серифов.
Аноним 27/04/20 Пнд 21:37:53 166958253
>>1669504
для гипервизора первого типа нужно писать отдельное ядро, ибо гипервизор первого типа не запускается в контексте ОС, он имеет прямой, неабстрагированный доступ к железу. Да, можно пропустить овердохуя фич обычной ОС, конечно же, но основы разработки ядра ОС лежат в основе разработки гипервизора первого типа. Что можешь посоветовать почитать про них?
Аноним 27/04/20 Пнд 21:38:23 166958554
Осилил учебник Страуструпа, интересует QT. Хватит ли у меня после его учебника знаний, чтоб осилить данный фреймворк?
Аноним 27/04/20 Пнд 21:42:00 166959155
>>1669585
У меня и без книжки хватило
Аноним 27/04/20 Пнд 22:17:13 166961656
>>1669585
Надо читать документацию к нему, а еще лучше отдельную книгу.
Аноним 27/04/20 Пнд 22:21:31 166962357
>>1669582
По первому типу не скажу, я их не трогал никогда, но из функционала ОС во втором типе дергается обычно только выделение памяти и переключение между процессорами. В теории нужно просто реализовать свой аллокатор + переключение процессоров и все.
Аноним 27/04/20 Пнд 22:30:16 166962758
изображение.png 773Кб, 643x820
643x820
сап. Встала задача написать на qt скрипт который задавал нужный запрос в яндекс, переходил по нужному сайту и увеличивал переходы на данный сайт. Но проблема в том, что у яндекса наверняка стоит защита от ботов, возможно путём отправления дополнительного запроса, пока что выяснить какой именно запрос нужно отослать, чтобы яндекс подумал что это человек не удалось, чекал несколько сайтов через live http headers, но так и не нашёл нужный, сейчас пытаюсь разобраться как юзать headless браузер, чтобы не грузило дополнительные картинки и тд., а только нужные запросы, но хз удастся ли найти нужный запрос. Так вот суть вопроса: может у кого есть идеи как обойти защиту яндекса и получить посещение на страницу, как я понимаю по сути мне нужно будет сделать аналог headless браузера, чтобы он адаптировался к изменению кода выдачи яндекса, потому как при первом же изменении кода от яндекса, мои регулярки к хуям полетят и даже если я пойму как обойти защиту, программа перестанет работать, поэтому нужен хелп от опытны анонов, что лучше в данной ситуации сделать.
Аноним 27/04/20 Пнд 22:50:26 166964859
>>1669222
>>1668544
>>1668535

Ты долбоеб? Ты хочешь использовать std::mutex для IPC? Sockets для кого сделали?
Аноним 27/04/20 Пнд 22:53:39 166965360
>>1668621
Часто. Весь userspace где нужна скорость.
Аноним 27/04/20 Пнд 23:00:14 166966361
Аноним 27/04/20 Пнд 23:51:55 166969762
Что означает буква f при записи координат вершин в opengl?
Аноним 27/04/20 Пнд 23:54:34 166969863
>>1669697
Я понимаю, что это сокращение от float, но смысл? Я же до этого указываю тип.
Аноним 28/04/20 Втр 00:09:35 166970764
>>1668918
1. Нужные твои зависимости - те иодули, что прописаны в .pro в CONFIG += qt widgets network.
2. Компиль релизную версию, нажав слева с молоточком.
3. Берешь дллки - свой экзешник кладешь рядом с длл qt, которые копируешь из папки, типа qt/msvc2017/, путь точно не помню. Там лежат все-все-все дллки, которые могут использоваться. Тебе нужны qtcore, qtwidgets без "d" (это дебажные длл), и типа того. Можешь запускать экзешник до победного, ошибка скажет, чего не хватает. Простейший проект будет весить мегабайта два. А, ещё c++ либы для винды нужны, это которые ставятся вместе с играми, если кому-то свою программу отдашь.

2.1. В qt есть специальная утилита для сборки проекта - windeployqt, лежит где-то в папке с qt
3.1. Есть вариант статической сборки, чтобы вышел только один exe файл без зависимостей. Для этого нужно скачать исходники qt и начать собирать, указав ключ типа -статик, как-то так
Аноним 28/04/20 Втр 00:12:26 166970865
А не страшно, если я читаю главу про треугольник, пропущу абзацы про шейдеры? Они ведь в следующих уроках подробно рассмотрятся.
Аноним 28/04/20 Втр 00:13:18 166970966
>>1669708
Читай все. И не по одному разу.
Аноним 28/04/20 Втр 00:16:50 166971067
>>1669709
Я прочитал. Но там просто половина не объяснена. Я понял зачем шейдеры, но как их писать пока нет. Там следующая глава сразу про шейдеры. Поэтому думаю не страшно, если сейчас просто прочитаю, не пытачсь понять всё
Аноним 28/04/20 Втр 01:18:33 166972568
изображение.png 29Кб, 559x328
559x328
Означает ли эта самая "инкапсуляция" методов в класс Operations, что методы должны вызываться откуда-то из другого класса от объекта класса Operations, а реализация "инкапсулируемых" методов должна быть protected или private?

Если кому интересно, то это третья задача отсюда
https://vk.com/doc261868807_514613880?hash=21df42b17a0d8f40f9&dl=ac75643e6c2b21ee6f
Аноним 28/04/20 Втр 09:45:01 166988669
Какой IDE будет самым удобным для обучения языку? Где можно просто открыть окно и писать код. Как в Python, например.
Аноним 28/04/20 Втр 09:50:24 166989170
Аноним 28/04/20 Втр 10:08:28 166990371
>>1669725
> Означает ли
Нихуя не означает, просто ввернули хипстерское словцо. Возможно на английском это звучало чуть более казульно - они просто хотели сказать что функции реализуются как методамы класса, а не просто оставляешь их неприкаянными в глобальном неймспейсе.
Аноним 28/04/20 Втр 10:13:07 166990572
Аноним 28/04/20 Втр 12:27:09 167004673
>>1669725
Контруктор класса Operations должен принимать в себя объект реализующий интерфейс IComparer.

Реализуешь этот интерфейс у класса ShapeComparer с необходимыми методами, которые будут принимать объекты класса Shape и возвращать булевое значение.

Класс Operations будет иметь три перечисленных метода, которые возвращают булево значение, принимают объекты IOperable (нужно реализовать его у класса Shape), и вызывают методы переданного через конструктор объекта реализующего интерфейс IComparer.

В итоге создаешь класс Operations, передаешь ему класс ShapeComparer, и вызываешь метод передавая ему два объекта реализующих интерфейс IOperable, в данном случае два класса Shape.
Аноним 28/04/20 Втр 12:52:03 167006574
>>1669903
> а не просто оставляешь их неприкаянными в глобальном неймспейсе
Так сделай неймспейк, дурик.
Аноним 28/04/20 Втр 12:54:22 167007175
>>1670065
Переложить из одного глобального пространства в другое? А ты не очень умный, да?
Аноним 28/04/20 Втр 13:17:34 167009876
Кто-нибудь писал на крестах/сях в VS Code? На учебе не удобно держать сотню IDE под все ЯП, а так удобно, что VS Code могу и для жса, и для питона, и для подстветки АСМа, и для сей/крестов.
Аноним 28/04/20 Втр 13:21:44 167010477
Ребзя, кто может помочь с задачкой на бинарные файлы?

Аноним 28/04/20 Втр 13:46:05 167015978
>>1670071
>неймспейс
>глобальное
А ты очень тупой и толстый. Если что, это и есть инкапсуляция.
Аноним 28/04/20 Втр 13:50:54 167016279
>>1670159
Вот это >>1670046 инкапсуляция, а твой высер про неймспейс - это неумелый троллинг сельского дурачка.
Аноним 28/04/20 Втр 13:51:13 167016380
>>1670104
А что, есть какие-то другие файлы?
Аноним 28/04/20 Втр 14:12:59 167019781
>>1670163
Да не, просто вроде написал прогу для решения задачи, в итоге не работает, не понимаю почему. Поможешь, анон?
Аноним 28/04/20 Втр 14:15:13 167020382
Аноним 28/04/20 Втр 14:18:38 167021483
Аноним 28/04/20 Втр 14:37:00 167023784
>>1670163
"Текстовые", хотя они тоже бинарные по сути.
>>1670197
Да запости, от ссылки хуже не будет. Может такой же студент что-то посоветует.
Аноним 28/04/20 Втр 14:47:15 167025085
>>1670098
Работаю в vs code, очень удобно.
Аноним 28/04/20 Втр 15:07:18 167027886
>>1670237
>хотя они тоже бинарные по сути.
Я про что и говорю.
Аноним 28/04/20 Втр 15:12:37 167028787
>>1670259
Ну и в чем проблема то? Читаешь построчно, сплитиш по пробелам, заполняешь массив структур хозяйств и работаешь с ним.
Аноним 28/04/20 Втр 15:19:11 167029088
>>1670287
Я вот только что кидал код,какого то хера удалили, я вроде все прошерстил, и до сих пор не понимаю, что не так. Проблемы с выводом, и программа не доходит до сортировки.
Аноним 28/04/20 Втр 17:06:24 167044789
image.png 84Кб, 1366x768
1366x768
Вот мой треугольничек.
Аноним 28/04/20 Втр 17:12:46 167045890
>>1670447
Что за обоина? Black Sabbath? Yes? JoJo?
Аноним 28/04/20 Втр 17:15:50 167046691
Аноним 28/04/20 Втр 17:45:13 167052392
Аноним 28/04/20 Втр 19:26:58 167064093
image.png 83Кб, 1366x768
1366x768
А я точно делаю все правильно?
Аноним 28/04/20 Втр 19:31:14 167064494
изображение.png 19Кб, 502x365
502x365
>>1669903
А я думал, имелось в виду сокрытие реализации.
Аноним 28/04/20 Втр 19:50:32 167067895
>>1670046
>ShapeComparer
Нихуя не понял. Зачем создавать ShapeComparer? Об этом не говорится в моей методичке.
Аноним 28/04/20 Втр 19:52:04 167068396
>>1670046
>интерфейс IComparer
И что ещё за "интерфейс"? В той же методичке это слово фигурирует несколько дальше этой лабы с инкостыляциями.
Аноним 28/04/20 Втр 20:02:31 167070097
>>1670644
Ты этим ничего не скрыл. Если уж скрывать реализацию то наворачивают pimpl
Аноним 28/04/20 Втр 20:20:47 167072398
Это нужно фиксить?
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
glew32s.lib(glew.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'glew32s.lib(glew.obj)' or at 'C:\Users...\vc120.pdb'; linking object as if no debug info
Аноним 28/04/20 Втр 20:20:55 167072599
>>1670700
Тогда под инкапсуляцией имелось в виду просто нахождение методов в классе и только. Они даже могут быть public.
Аноним 28/04/20 Втр 20:21:30 1670728100
Сегодня в очередной раз унизил великовозрастный скам. Выпиздованный с галеры с++ синьер претендовал на 130к. Сеньера размотали с трех вопросах
1. Обход дерева (там кода 10 строчек) - всрался.
2. Вопрос по битовые выравнивания структур - всрался.
Тут уже начали угорать и спросили его виртуальный конструктор и это мудило попалось, лол. ВИРТУАЛЬНЫЙ КОНСТРУКТОР
Эта порвань просто дропнула разговор.
Аноним 28/04/20 Втр 20:22:20 1670733101
>>1670728
Вы бы слышали как этот СИНЬЕР рассказывал про виртуальнаый конструктор, ахахах, вот это даунитос блять.
Аноним 28/04/20 Втр 20:27:09 1670751102
>>1669725
Инкапсуляция означает сокрытие деталей реализации за интерфейсом. Т.е. пользователи класса дергают методы и не парятся по поводу того что у него там внутре.
Аноним 28/04/20 Втр 20:28:48 1670756103
>>1670728
1. Рекурсивно вызвать функцию обхода для левого и правого сына?
2. Хуй знает что за битовые выравнивания, знаю только про байтовые через alignas. Если это про битовые поля, то очевидно что если количество бит не хватает до целого байта то оно выравнивается к ближайшему байту.

Я теперь сеньор?
Аноним 28/04/20 Втр 20:37:44 1670767104
interrogation m[...].png 177Кб, 500x500
500x500
Аноним 28/04/20 Втр 20:42:31 1670773105
Аноним 28/04/20 Втр 20:46:41 1670775106
>>1670728
Сеньеор 270к итт, не ебу за твои задачки для студентиков.
Аноним 28/04/20 Втр 20:54:11 1670788107
>>1670775
ну у нас шарага с разработками на гос-во, мы не яндекс конечно, но
синьерам платят от 130. Многие думаю если гос-шляпа можно вообще нихуя ни делать и не знать. Один был сильный кандидат, был в резюме дойче, так он так и сказал, что планирует отдохнуть годик
Аноним 28/04/20 Втр 20:59:24 1670795108
Почему в статье написано,то glUseProgram(ShaderProgram) нужно писать в цикле? Почему не написать это перед ним? Зачем каждый раз вызывать?
Аноним 28/04/20 Втр 21:22:56 1670838109
Аноним 28/04/20 Втр 21:24:27 1670841110
Аноны, почему не могу файл в 2 гб прочитать в вектор?
Все на хуй рушится.
Аноним 28/04/20 Втр 21:26:06 1670846111
>>1670841
Может быть, что не хватает непрерывного участка в оперативной памяти, попробуй list вместо vector
Аноним 28/04/20 Втр 21:29:15 1670853112
>>1670728
> Сениор
> 130к
Ты слабого мидла унижал
Аноним 28/04/20 Втр 21:30:41 1670858113
>>1670728
У меня почти тоже самое спрашивали на собеседовании на вакансию джуна
проебался, ага
Аноним 28/04/20 Втр 21:32:20 1670860114
>>1670846
у меня где-то 50 лямов строк, каждая по 100 байт
все на хуй зависает непонятно где, пробовал лист, такая же хуйня, 14 лямов читает.
Аноним 28/04/20 Втр 21:34:53 1670862115
>>1670860
У тебя какая платформа стоит?
У 32 бит ограничение на память больших размеров
Аноним 28/04/20 Втр 21:39:43 1670867116
>>1670858
в госконтору джунами берут только когда толстожопая дирекция какого-нибудь пиздюка пристроит. К нам джуны если и приходят то если не дауничи через год съебывают куда получше.
Аноним 28/04/20 Втр 21:41:12 1670868117
>>1670867
У меня баттхерт по другому поводу был
Почему кто-то такие вопросы сеньорам задаёт, а кто-то ебаному студенту на место джуна?
Аноним 28/04/20 Втр 21:44:20 1670876118
>>1670862
x64, код простой
readline
push_back
не пойму где лажает>>1670862
Аноним 28/04/20 Втр 21:46:44 1670877119
>>1670868
потому что в одном случае ты устраиваешься в норм. контору, а во втором в госпарашу. Через 5 лет в госконторе ты деградируешь в край и пузырьком не сможешь отсортировать. У нас синьеры иногда ходят, их никуда не берут, в одном месте спрашивали НА СИНЬЕРА НА 110 т.р.. Держитесь за стулья ВЫВЕСТИ ВСЕ ЧИСЛА КОТОРЫЕ ДЕЛЯТСЯ НА 5 и 3 ИЗ МАССИВА ЧИСЕЛ ОТ 1 ДО 100
Аноним 28/04/20 Втр 21:46:59 1670878120
>>1670876
Если зависает в цикле - проверь условие
Хотя я сам не так давно хотел считать файл в байтовый вектор, на маленьких файлах нормально работало все
На файлах под 2 гб - вылетало с ошибкой
Пофиксил разбиением файла на части размером const BUFFER_SIZE
По-другому не знаю как
Аноним 28/04/20 Втр 21:47:30 1670879121
>>1670877
И говорят две третьих кандидатов не могу на бумажке написать этот алгоритм БЕЗ ОШИБОК.
Аноним 28/04/20 Втр 21:47:46 1670880122
>>1670877
Пизда, что за место такое ахуенно?
Аноним 28/04/20 Втр 21:48:03 1670881123
Аноним 28/04/20 Втр 21:48:59 1670884124
>>1670878
мне главное не задачу решить, а понять че за хуйня. Как вообще в си++ определить что push_back в лист не пройдет?
Аноним 28/04/20 Втр 21:49:38 1670885125
>>1670881
бля) не ЕПАМ, но контора одна из топовых госшараг, там еще финальное собеседование с директором этой шараги.
Аноним 28/04/20 Втр 21:49:58 1670886126
>>1670884
Словить исключение бля
Аноним 28/04/20 Втр 21:51:03 1670887127
>>1670886
я не умею исключениями пользоваться, раньше писал код для критических систем, там были только коды возврата. Как-нибудь без исключений можно и какое исключение генерит push_back и генерит ли вообще его?
Аноним 28/04/20 Втр 21:53:46 1670893128
>>1670877
>НА СИНЬЕРА НА 110
Мухосранск?
Аноним 28/04/20 Втр 21:57:12 1670902129
Ох этот сладкий вой отчаяния крестобляди
https://habr.com/ru/post/497114/
Крестоблядь думала, что весь ее опыт как на костылях и в муках писать какую-нибудь хуйню и затем месяцами ее отлаживать это нечто сродни священным знаниям, а оказалось рыночку это на хуй не нужно и проще на какой-нибудь джаве заебашить и тупо кол-во нод нарастить чем дрочить си++ с бустами и всякими сетевыми заморочками. Си++ блядь осознало, что 17 лет чистила говно вилкой в то время когда парни посмекалистей пилилили все на джавах и весело проводили время с тянами. Уже и страуструп начал подвывать и майерс перекатился в столяры, а порвань разная все на си++ в России пытается самоутвердиться. Помню на рсдн был эпичный тред как интел вышвырнуло РэндД пинком под зад и разработчики компиляторов пошли осваивать ДжиЭС
Аноним 28/04/20 Втр 21:58:48 1670904130
>>1670893
ДС) епта братюнь, тут вообще параллельная реальность, в одну контору берут после джава раша на 100 т.р. джунов с годом работы и тут же набирают с++ на 120 с 5 годами.
Аноним 28/04/20 Втр 21:59:58 1670908131
>>1670904
Я не верю, что есть СЕНИОРЫ с 110к.

Я перекатился в ДС на хуевого мидла на 120к 5 лет назад с полугодами опыта. А тут СЕНИОР 110к.
Аноним 28/04/20 Втр 22:00:37 1670911132
>>1670887
Еб твою мать, ты что, не можешь восемь строчек написать? Четыре из них - кривые скобки.
> какое исключение генерит push_back
Ну пиздец, дожили. Про cppreference не слышал? В шапке ссылка есть.
Аноним 28/04/20 Втр 22:06:28 1670918133
кьют.png 323Кб, 743x758
743x758
>>1669585
Читаю принципы и практика страуструпа.
Ебать пишет он вроде годные вещи, но примеры просто дебилизм.
Жаль, Стефан Кочан не родил учебника по С++

По твоей теме поищи пикрил или Макса Шлее или Жасмин Бланшет.(но она боян)
Плюс есть видеоуроки.
Аноним 28/04/20 Втр 22:09:47 1670923134
mac vs pc.jpg 16Кб, 480x360
480x360
Аноним 28/04/20 Втр 22:12:18 1670926135
>>1670918
По-моему все нормальные С/C++ книги рассчитаны на уже пропердоленных опытом юзверов
Аноним 28/04/20 Втр 22:18:52 1670931136
>>1670918
Освоил ку тэ вообще до си++. Выкидывай его на хуй, ща если и нужно что то это STL + Boost
Аноним 28/04/20 Втр 22:23:06 1670937137
>>1669886
любой. можно Qt, можно кодеблокс можно dev-Cpp можно Geany
>>1670728
1. используете в продакшене?

2. редкая возможность
https://tproger.ru/translations/art-of-structure-packing/
3.https://www.geeksforgeeks.org/advanced-c-virtual-constructor/

>>1670926
ну как сказать, не всегда. есть совсем для маленьких, а есть разной степени упоротости учебники. вот есть Айвор хортон С++ 17 вполне себе нормальный учебник. или Липпман базовый курс или на худой конец Прата.
>>1670931
Может, ты и прав. Но мне надо поддерживать код на кьюте, потому пока его учу. а так, да, буду изучать их.
Аноним 28/04/20 Втр 22:24:31 1670941138
Аноним 28/04/20 Втр 22:32:11 1670954139
>>1670877

> Через 5 лет в госконторе ты деградируешь в край и пузырьком не сможешь отсортировать

Не суди по себе
Аноним 28/04/20 Втр 22:32:35 1670956140
>>1670937
да там нечего особо учить, сигналы-слоты. Вот и вся концепция. Еще модели разные навороченная тема (MVC). Хотя я Qt уже лет 10 использую, очень удобно, жаль мало кому нужно.
Аноним 28/04/20 Втр 22:36:17 1670961141
>>1670956
я только вкатываюсь
Имею опыт на питоне всякие консольные хуевины писать для автоматизации рутинной работы.
А сейчас надо поддерживать приложухи.
Вспоминаю короч С++, учил его в универе и забыл.
Вот решил короче ту зеленую книгу читать, гусей-лебедей страуструпа и по мелочи разное.
Я хз. может, есть смысл свитчнуться на более умные книги.
в универе препод советовал следующий набор для С++
1. Дейтел и Дейтел
2. Гради Буч - объектно-ориентированный анализ
3. Алгоритмы + структуры данных = программы. Вирта
НУ и высший пилотаж - трехтомник Кнута.
Еще Лафоре ООП на С++ и Павловскую.
Аноним 28/04/20 Втр 22:46:07 1670980142
>>1670961
Все книги говно.
Кнут - говно, совершенно непонятно, что и как использовать.
Гради Буч - говно оторванное от жизни, гладко было на бумаге.
Дейтел - х.з. чето для нубасов, не читал.
Вирт - читал что-то, вирт предвосхитил всех петушей, очень грамотные с системной точки зрения книга.

Я бы рекомендовал
1. Эккель - 1 том. Сложная хуйня, однозначно книга ДЛЯ ПРОГРАММИСТОВ, а не вкатышей. После нее поймешь зачем нужны шаблоны и будешь их любить(что важно).
2. Аммерааль - познакомишься с STL, поймешь почему это действительно удобно и стоит этим пользоваться.
Что бы на работу устроиться эти книги совершенно не помогут, если нужно вкатиться то это
Майерс, Саттер.
Аноним 28/04/20 Втр 22:47:00 1670982143
>>1670980
вообще если ты кун, может быть давай договоримся, ты шли мне фото попки и члена,а я тебе буду давать уроки си++.
Аноним 28/04/20 Втр 22:52:34 1670986144
>>1670937
> 2. редкая возможность
Я сейчас правильно понял, ты фабрику назвал виртуальным конструктором?
Аноним 28/04/20 Втр 22:58:57 1670990145
>>1670980
Благодарю за Аммерааля и Эккеля.
Я Эккеля скачал оба тома, однако не читал.
Знач, буду её читать.
>>1670986
не, не правильно.
Там же в статье вроде написано:

Can we make a class constructor virtual in C++ to create polymorphic objects? No. C++ being static typed (the purpose of RTTI is different) language, it is meaningless to the C++ compiler to create an object polymorphically. The compiler must be aware of the class type to create the object.
Ну а дальше вроде фабрика описывается.

я про выравнивание структур.
Аноним 28/04/20 Втр 23:09:57 1670996146
>>1670980
>. Аммерааль - познакомишься с STL
Гугл говорит, что это книжка 1999 года. STL 1999 года - это серьёзно?
Аноним 28/04/20 Втр 23:20:49 1671003147
>>1670996
почему нет?
Ну можно и яцека галовица почитать. тоже есть интернетах.
ми
Аноним 28/04/20 Втр 23:45:41 1671020148
>>1670683
Это лицо объекта, один из инструментов полиморфизма. На полиморфизме основывается принцип подстановки лисков.
Аноним 28/04/20 Втр 23:49:53 1671024149
>>1670751
Нет, инкапсуляция значит сокрытие чего-либо в чём то. Атрибуты вида private, например, тоже часть инкапсуляции. Если у тебя конструктор класса принимает другой класс и работает с его методами, то это тоже называется инкапсуляцией. А интерфейс это просто инструмент для реализации протокола.
Аноним 28/04/20 Втр 23:56:50 1671032150
>>1670996
Да похуй. Она учит как нужно использовать итеараторы, алгоритмы, функторы. Я проходил супер современные курсы по си++ и то хуево все понял из СТЛ, а тут все по местам ставит. Смотри, вирт написал про модульность, переменные состояния и т.д., хуй знает сколько лет назад и занешь сколько программистов из моего окружения осознали это? Никто. Зато гонятся за всеми новомодными фишками стандарта. Я тебе скажу больше, теории автоматов вообще сто лет в обед, а кто умеет ее использовать, что бы справиться с какой-нибудь злоебучей асинхронщиной? Только в топовых компаниях единицы и так блять везде.
Аноним 29/04/20 Срд 00:00:45 1671036151
>>1671032
Хотя я тут наверное пропизделся, вроде есть микросервисная архитектура, может это и есть то что вирт имел в виду под модулями. В программисты вообще часто идут туповатые самонадеянные люди у кого не сложилось с наукой или специальность невостребованна в России. Тут со вкатышами даже проще, вкатыши не считают себя умней других и с легкостью усваивают сложные концепции, в то время как какой-нибудь пидор из эмбедеда который и паять может и в радиоволнах рубит и прошивку может для трех семейств микроконтроллеров написать не может полгода гит освоить и даже не врубается зачем он нужен, или как препод из уровня вуза типа МФЮА по программированию не может в срок ПО написать.
Аноним 29/04/20 Срд 00:17:13 1671049152
>>1671032
>Да похуй. Она учит как нужно использовать итеараторы, алгоритмы, функторы.
Да это во многих языках есть, вся теория одинаковая. Все структуры данных, все эти итераторы, всё есть. Зачем ещё раз учить? А вот специфика реализации везде разная.
Аноним 29/04/20 Срд 00:33:03 1671056153
>>1671049
не все знают глубоко несколько языков, я вот на Php писал пару лет и похуй было и на итераторы и на функторы
Аноним 29/04/20 Срд 00:44:10 1671062154
>>1671056
Я вот и слова такого, "функтуры", практически не знаю, хотя callable-объектами активно пользуюсь. По-моему этот термин просто не прижился и не используется.

Мне кажется, что для современных динамических языков все эти конструкции уже давно норма, всё уже давно в массах. Конечно, это не про тех, кто изучает первый язык программирования.

А вот именно STL довольно уникальна и специфична именно для C++, хочется какой-нибудь материал, чтобы въехать в STL из других языков. Не чтобы на C++ уходить, а чтобы просто уметь.
Аноним 29/04/20 Срд 05:37:52 1671105155
Вы программируете в не рабочее время? Изучаете какие нибудь новые материалы, кроме тех, что касаются нового стандарта?
Аноним 29/04/20 Срд 05:49:59 1671110156
>>1671105
Лол. Если ты не программируешь хотя бы два часа после работы, то ты сам себя заносишь в списки на сокращение
Аноним 29/04/20 Срд 06:00:07 1671113157
ананас, а вот посоветуй что-нибудь почитать углубленно по С++. А то хелловорды уже пишу, а на собеседованиях заваливаюсь на том что не знаю каких-то нюансов языка

например на вот таких
i = 1;
printf("%d,%d", i++, i++);
Что выведет?(такую задачу у меня не спрашивали - это с хабра одной компании их вопрос на собесе)

или уже из реального:
- почему нельзя использовать memset?
- че блядь? всегда писал
- Да? мы вам перезвоним

на https://en.cppreference.com/w/ и https://www.cplusplus.com/reference/ больше практического, нюансов я там пока не увидел

Пробовал в черновик стандарта С++... но это такой шлак (и любителям потешить чсв - даже сам коммитет заявляет что стандарт не для чтения и тем более не для обучения. это юридический документ для спецов делающих компиляторы)
Аноним 29/04/20 Срд 06:00:11 1671114158
>>1671110
Хорошо вас там надрессировали.
Аноним 29/04/20 Срд 06:00:36 1671115159
Аноним 29/04/20 Срд 06:01:37 1671116160
>>1671113
> почему нельзя использовать memset?
Потому что есть безопасный аналог std:fill
Аноним 29/04/20 Срд 06:02:16 1671117161
>>1671113
А так читай Скотта Майерса.
Аноним 29/04/20 Срд 06:16:24 1671122162
Аноним 29/04/20 Срд 06:19:46 1671123163
>>1671122
В большинстве случаев не медленнее memset, так как сам его вызывает.
Аноним 29/04/20 Срд 06:20:11 1671124164
>>1671113
>printf("%d,%d", i++, i++);
>Что выведет?
Неизвестно

>- почему нельзя использовать memset?
Связано с временем жизни объектов, всякими заморочками в стандарте. Компилятор может решить что то, что ты заполнил мемсетом, на самом деле не существует (потому что нормальным образом эти переменные не присваивались), и соптимизировать их нахуй.
Аноним 29/04/20 Срд 06:22:29 1671125165
>>1671123
Обычная ситуация - есть массив векторов (геометрических, тех которые xyz), тебе нужно его обнулить.

С fill у тебя будет вызываться конструктор для каждого вектора. Оно конечно заинлайнится и соптимизируется, но будет в несколько раз медленнее мемсета, я проверял.
Аноним 29/04/20 Срд 06:50:14 1671135166
>>1670162
>врёти
Мирок сельского дурачка порвался.
Инкапсуляыция это изоляция функций и переменных, именно это делают неймспейсы.
Аноним 29/04/20 Срд 07:45:58 1671149167
>>1671135
Внутрт неймспейсов нельзя объявлять переменные и функции, дурачок.
Аноним 29/04/20 Срд 08:30:59 1671160168
>>1670071
скажу тебе по секрету - существуют анонимные неймспейсы, они локальные, в пределах одного юнита
Аноним 29/04/20 Срд 08:49:20 1671166169
>>1671160
Хорошо, теперь буду для каждой переменной неймспейс создавать.
Аноним 29/04/20 Срд 08:58:52 1671172170
>>1671166
Это уже школьный максимализм
Аноним 29/04/20 Срд 09:53:31 1671197171
>>1671149
Дебил обосрался и решил включить дебила для маскировки. Маскировка/10
Аноним 29/04/20 Срд 10:38:58 1671207172
>>1671062
Ну братюнь, вольному воля, попробуй курс Кэйт Грегори с Pluralsight .com называется Beautifull stl alghoritms Как-то так. Аккаунт там стоит 30$ в месяц, но оно того стоит, действительно клево.
Аноним 29/04/20 Срд 10:42:13 1671210173
>>1671113
это мартышкин труд через такое говно к собесам прорываться, на мой взгляд это вообще унижает настоящего инженера, изучать непонятную шизу.
В твоем примере это классический с++ прием для унижения нубла. Так делать нельзя, а именно в одном выражении дважды выполнять переменной присваивание.
А почему ты использовал memset? Кстати. Я вот с утра проснулся не очень соображаю, расскажи, что была за задача и почему memset&
Аноним 29/04/20 Срд 10:43:03 1671211174
>>1671207
он лежит на торрентах, првада нет английских субтитров. Без субтитров совсем мне сложно было.
Аноним 29/04/20 Срд 10:45:26 1671213175
>>1670926
Ага. Я тоже все время с этой хуйни ору. Начинают что-то объяснять тут хуяк и к устройству стека или какую-нибудь ассемблерную вставку влепят, а книга типа для новичков.
Аноним 29/04/20 Срд 10:47:03 1671214176
>>1670918
> Макса Шлее
Худший высер, что я читал. Это не книга а перевод справочника.
Аноним 29/04/20 Срд 10:54:08 1671219177
>>1670728
> . Вопрос по битовые выравнивания структур - всрался.
Прочел 2 толстенные книги и про это слышу впервые. Ну теперь хоть знать буду.
Аноним 29/04/20 Срд 10:56:53 1671221178
>>1670937
> Липпман базовый курс
Вот это к слову охуенный учебник. Очень все хорошо рассказано, и рассмотрено почти все, что может понадобиться джуну. Но нет многопоточности, что удивило. Только задачи там легкие, надо искать в других местах.
Аноним 29/04/20 Срд 12:08:30 1671273179
>>1671210
> настоящего инженера, изучать непонятную шизу.

Почему тогда программисты продолжают изучать С++?
Аноним 29/04/20 Срд 12:10:32 1671278180
>>1671273
инженеры ничего не решают, есть легаси на ++, есть менеджеры
Аноним 29/04/20 Срд 18:22:23 1671687181
>>1671273
Далеко не везде питоны и жаваскрипты
Аноним 29/04/20 Срд 18:35:02 1671692182
>>1671273
Стабильность. Можно выучить язык, устроиться на работу и больше нихуя не изучать. кроме тонн библиотек, но это хуйня
Аноним 29/04/20 Срд 19:43:41 1671738183
1588178623504.PNG 61Кб, 652x740
652x740
Есть код:

void CustomAreaTool::floodFill(QPoint p)
{
QVector<QPoint> stack;
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, -1, 0, 1};

stack.prepend(p);

while(!stack.isEmpty())
{
QPoint p0 = stack.takeFirst();
QColor c0 = selectionMask.pixel(p0.x(), p0.y());

if (c0 == Qt::black)
{
QPen pen(Qt::white);
QPainter painter(&selectionMask);
painter.setPen(pen);
painter.drawPoint(p0);
}

for (int i = 0; i < 4; i ++)
{
QPoint p1 = QPoint(p0.x() + dx, p0.y() + dy);
QColor c1 = selectionMask.pixel(p1.x(), p1.y());
if (p1.x() > 0 && p1.x() <= selectionMask.width() && p1.y() > 0 && p1.y() <= selectionMask.height() && c1 != Qt::white)
{
stack.prepend(p1);
}
}
}

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


Когда запускаю, в выводе пишет пикрил.

Вопрос: хули он от меня хочет, и почему в другом месте такой же код с таким же применением QPainter спокойно работает?
Аноним 29/04/20 Срд 20:08:38 1671760184
Ку крестач.
Собсна назрел вопрос. Вчера в рекомендах на ютубе вылез стрим(лекция) Тимофея Хирьянова про алгоритмы и структуры данных на плюсах. Кто нибудь пытался смотреть и если да, то насколько это юзфул?
Экшели сам смотреть пытался, вроде чел как лектор довольно харизматичный, по крайней мере не скучно слушать.
Аноним 29/04/20 Срд 20:10:26 1671762185
>>1671738
Какое слово в тексте ошибки тебе не понятно?
Аноним 29/04/20 Срд 20:24:34 1671778186
>>1671762
Мне смысл слов понятен, мне непонятно, нахуй он эти слова мне говорит? В другом месте в коде для другого метода все то же самое работает.
Аноним 29/04/20 Срд 20:50:47 1671802187
>>1671778
Может у тебя, доходя до этого места, код в другом месте продолжает работать и использвовать пейнт девайс.
Аноним 29/04/20 Срд 20:54:38 1671807188
>>1671802
Да не, не может быть. Код в другом месте - это другой cpp-файл.
Вот например код для кистика.

void BrushTool::paint(QPointF point)
{
QImage image = view->getCanvas()->pixmap().toImage();
QPainter *painter = new QPainter(&image);
QPen pen = QPen(view->getCurrentColor());
painter->setPen(pen);
QPointF shiftedPoint = QPointF(point.x() - brushRadius, point.y() - brushRadius);
QPointF p;
QColor resultColor;
QColor currentColor = view->getCurrentColor();
Pixel pixel;
for (int i = 0; i < brushTemplate->size(); i++)
{
pixel = brushTemplate->at(i);
p = QPoint(shiftedPoint.x() + pixel.getX(), shiftedPoint.y() + pixel.getY());
resultColor = currentColor;
resultColor.setAlpha(pixel.getColor());
pen.setColor(resultColor);
painter->setPen(pen);
painter->drawPoint(p);
}
delete painter;
view->setCanvas(QPixmap::fromImage(image));
}


Не обращай внимание, что здесь указатель на painter, и что он инициализируется не внутри цикла. Пробовал и так, и сяк, не работает нихрена.
Аноним 29/04/20 Срд 21:19:34 1671835189
>>1671692
я еще думаю крестовик (если он на крестах ебашит) настолько должен загружать свой мозг всякой хуйней, что у него тупо ресурса не хватает другие технологии осваивать. Сейчас на собеседования спрашивают три темы
1. Знание синтаксиса с++ и всяких его новомодных фишек.
2. Знание библиотек (STL, BOOST)
3. Различные алгоритмические задачки
это просто везде где я был, вот эти три пункта только первый этап на час, потом идет второй.
Крестовик тратит все время на изучения с++ т.к. там бездна просто. Не думаю что какому-нибудь джависту надо знать как там че в ассемблер превращается на уровне машинных кодов, а с++ что бы понимать, что это за хуйня происходит желательно должен понимать всякие стеки, хуеки, как таблицы методов в памяти расположены, когда через регистры передются параметры, а когда через стек и потом хуяк - тебя бросает к бусту, хуяк к стл.
Аноним 29/04/20 Срд 22:09:38 1671877190
Как научиться писать тесты? Просто у меня обычно идет бодрый процесс написания кода и потом нудно нудно пишутся тесты и покрытие выходит херовое. Смотрел кот у профи, так у них все будто робот за них дописывает сразу на каждый чих.
Аноним 29/04/20 Срд 22:10:22 1671878191
>>1671835
>джависту надо
Там тоже дохера всего специфичного для языка, что надо поддерживать в актуальном состоянии, и что меняется с новой версией языка раз в три года. Больше правда по библиотекам основным.

Беда с этими энтерпрайз-языками, люди тонут в том, чтобы учить стандарты языка, вместо самого программирования логики.
Аноним 29/04/20 Срд 22:29:31 1671891192
>>1671877
Профи пишут сначала тест, а потом код который его проходит. Потом ты пишешь новый тест и новый код, который его проходит. Конечно, не нужно писать тест для того чтобы проверить, что твоя программа выполняет правильно тривиальную операцию сложения двух целых чисел, но и мудрить тоже сильно не нужно. У тебя должен быть небольшой план из базового функционала, который нужно реализовать. Сначала ты реализуешь его, а уже потом приступаешь к деталям.
В итоге у тебя получается много тестов и качественный код, который эти тесты проходит. Если же хуячить сначала код, а потом пытаться написать тесты, то ты придёшь к тому, что какой-то починив какой-то функционал, ты ломаешь другой, починив другой, ты ломаешь тот что починил раньше, не очень приятная ситуация в общем. Поэтому сначала пиши тесты, потом пиши код, никак иначе.
Аноним 29/04/20 Срд 22:51:19 1671916193
>>1671877
Скидывай ссылки на репы

Ща разьебу их за говнокод
Аноним 29/04/20 Срд 23:23:42 1671941194
>>1671891
>>1671877
И да, забыл добавить, что ты на ранних этапах должен принять решение о том, какие паттерны проектирования ты будешь применять и вести свой код в сторону этих паттернов.
Аноним 30/04/20 Чтв 01:01:32 1672027195
>>1669000
Не знаю. Вот я недавно вкатился в трудоустройство, уже норм ориентируюсь в проекте, и вроде мечта, самостоятельность, деньги даже откладываю кое-какие, планы строю, но все не то. Никакое потребление контента на досуге не дает стабильного ощущения уюта. Единственное, что воскрешает во мне чувство ламповости бытия, это пытаться что-то учить. SICP, как же охуенно, хосспаде..
Аноним 30/04/20 Чтв 02:50:34 1672063196
>>1671210
> Так делать нельзя, а именно в одном выражении дважды выполнять переменной присваивание.
этот вопрос на знание стандарта

>>1671210
>Я вот с утра проснулся не очень соображаю, расскажи, что была за задача и почему memset
ну например в вулкане все структуры обнуляют мемсетом

Аноним 30/04/20 Чтв 03:01:24 1672065197
>>1671891
Это ты в книжке по TDD прочитал? Ни разу не видел чтобы кто-то так делал.
Аноним 30/04/20 Чтв 06:32:47 1672107198
>>1672065
Охуеть, ну раз ты ни разу не видел, значит точно не нужно! А как делать ты конечно не скажешь, потому что в твоём ооо рога и копыта всё делают руководствуясь "я так видел, я так чувствую".
Аноним 30/04/20 Чтв 07:52:45 1672117199
>>1672063
В вулканах и опенглях на мой взгляд си-лайк подход, с мемсетами и маппиннгом структур на память. А для цпп лайк подхода это считается небезопасным говном, так как ты нигде никак не описываешь ни байтордер, ни модель памяти. Может у тебя там, я хуй знает, один байт 10 битами описывается.

Та же хрень того токсичного анона с собеседованием, пункт про "битовое" выравнивание структур. Во-первых байтовое, во-вторых это не стандарт, а директивы компилятора через #pragma pack. В третьих, такой подход ожидаемо использовать для супербыстрого парсинга данных: ты описываешь структурой протокол (это поле 2 битика, это 6, тут поле 32 байта), прагмой-пак указываешь, что твою структуру надо выровнять в памяти по байту, затем тебе приходит пакет, лежит в памяти, и ты кастуешь этот кусочек памяти как указатель на твою структуру-протокол. Просто? Да. Быстро? Очень. Но не с++, не абстрактно нихуя, это сишная залупа, когда ты знаешь, как у тебя рабоает память на твоём железном говне. В c++ будь добр парсить как дед по старинке, вычитывая сериализованные данные.
В с++ тем более надо по мудацки кастовать либо через reintrept_cast (лучше говна поесть), либо static_cast<mystuct★>(static_cast<void★>(&buf)), а эта залупа тоже выглядит просто чудовищно.
Аноним 30/04/20 Чтв 11:57:16 1672229200
Есть какой-то общепринятый и не уебанский способ обрабатывать ошибки без использования исключений? Они дают такой удар по перформансу, что ну их нахуй.
Или просто обмазаться ифами, как в чистой сишке?
Аноним 30/04/20 Чтв 12:01:40 1672230201
>>1671835
Ну, именно поэтому на крестах не пишут бизнес логику (привет сисярпу и джаве) и не пишут веб, так как там нужен подход аля "хуяк хуяк и в продакшн", что с крестами строго не прокатывает.
С++ это язык для интересной низкоуровневой разработки, для воистину чудовищного хайлоуда, для научно-исследовательских целей, для системных утилит, браузеров, антивирусов, разработки ААА игр и т.п.
Аноним 30/04/20 Чтв 12:43:23 1672247202
>>1672229
Ассерт. Есть ошибки, которые возникают внутри проги изаз криворукости, их в дебаге отыскиваешь ассертами, а в релизе объявляется макрос NDEBUG (вроде), который ассерты все отключает.
Конечно же, если есть какой-то внешний ввод инфы, то ее уже приходится проверять динамически, ифами или ексепшенами.
Я эксепшены ставлю только на запуске программы и например на парсинга файла, в других местах частенько возвращаю еррор_коды, в простейшем случае bool, и ифами анализирую
Аноним 30/04/20 Чтв 12:44:28 1672248203
>>1672229
Если совсем без исключений, то тут только либо монадическая обработка ошибок (optional, variant), либо коды возврата. Но если тебе исключения мешают там, где их вообще не кидается ты ведь не на каждый чих делаешь throw?, то попробуй LTO и обильно подлить noexcept в проблемные места.
Аноним 30/04/20 Чтв 12:54:12 1672251204
>>1672230
Даже пример с стд::вектор - есть метод.at(), а есть оператор[], который нихрна не проверит диапазон, и прога люто крашанется со свистом за выход массива. И это правильно. Если ты строчкой выше инициализовал этот вектор, и цикл делаешь до вектор.сайз(), то зачем что-то усложнять, проверять?
Я пришел к тому, что не стоит весь функционал, особенно скрытый, выдрачивать на проверки, совершенно лишнее. Сделать разовый контроль входных данных, а внутреннюю логику проверить на граничные условия юнит-тестами, и норм
Аноним 30/04/20 Чтв 12:55:50 1672254205
>>1672251
>люто крашанется
Если повезёт.
Аноним 30/04/20 Чтв 13:45:55 1672317206
>>1668430 (OP)
Настал наконец час когда я высру своё первое десктопное приложение на windows с gui. У меня только 1 вопрос. Что сперва сделать? Написать программу на с++ в консольном виде и потом перенсти её в winforms? winapi смотрел там вообще ничего непонятно, годных туториалов не наскрёб, не понятно откуда что там берётся, так что в ну его, начну с простейшего
Аноним 30/04/20 Чтв 13:46:31 1672319207
>>1672229
Ты просто не понимаешь эксепшены.
Аноним 30/04/20 Чтв 16:43:33 1672480208
>>1672317
Начни с гуя, повесь затычки и потихоньку их реализуй
Аноним 30/04/20 Чтв 17:37:32 1672578209
>>1670876
Молодец, теперь переделай на emplace_back, только не проебись.
std::vector::reserve не забыл?
Аноним 30/04/20 Чтв 18:08:23 1672633210
> DWORD WINAPI ThreadFunc(PVOID pvParam)
Поясните с точки зрения языка, как возможно 2 слова перед функцией? Я такого еще не видел
Аноним 30/04/20 Чтв 18:11:06 1672637211
>>1672633
Может быть пустой макрос или calling conversion типо __fastcall там.
Аноним 30/04/20 Чтв 18:22:01 1672661212
>>1672633
DWORD - typedef на uint32, WINAPI - __cdecl по-моему
Аноним 30/04/20 Чтв 18:29:25 1672675213
Напомните, в 20 стандарте наконец добавят сеть?
Аноним 30/04/20 Чтв 19:13:51 1672739214
Аноним 30/04/20 Чтв 20:05:07 1672790215
>>1672675
у тебя есть богоподобный Asio, причем вне буста. Я юзал, охуенная либа.
Аноним 30/04/20 Чтв 20:28:54 1672831216
Как отобразить простенький html с минимальными затратами? Что-то пиздец как не хочется тащить 50мб либу QtWebEngine, есть альтернативы?
Аноним 30/04/20 Чтв 20:30:02 1672834217
>>1672790
>Asio
Это же для аудио
Аноним 30/04/20 Чтв 21:28:38 1672904218
Сап, почему очередь с приоритетами херит указатели?
У меня есть бинарное дерево, я пытаюсь из него сделать дерево Хоффмана, но когда вызываю метод top, то указатель right начинает ссылаться сам на себя
Если писать вручную, то все нормально.
https://pastebin.com/JDAmjFNg
Аноним 30/04/20 Чтв 21:45:35 1672918219
image.png 15Кб, 527x176
527x176
image.png 21Кб, 504x188
504x188
>>1672904
До/После top().
Почему-то меняется значение у указателя right и из-за этого рекурсия бесконечная.
ЧЯДНТ?
Аноним 30/04/20 Чтв 22:04:46 1672941220
Аноним 30/04/20 Чтв 23:02:03 1672991221
Поясните за C++ от Embarcardero. На работе целая конюшня привязана к их RAD Studio. На сколько это пиздецово по сравнению с C++ VS?
Аноним 01/05/20 Птн 00:01:46 1673062222
>>1672675
Ты посрать-то хоть можешь сходить, или ждёшь, пока это в стандарт добавят?
Аноним 01/05/20 Птн 00:03:21 1673066223
>>1672117
>В с++ тем более надо по мудацки кастовать либо через reintrept_cast (лучше говна поесть), либо static_cast<mystuct★>(static_cast<void★>(&buf)), а эта залупа тоже выглядит просто чудовищно.
Я тибе больше скажу. reintrept_cast<mystuct★>(&bif) это по определению static_cast<mystuct★>(static_cast<void★>(&buf))
Аноним 01/05/20 Птн 00:09:12 1673079224
>>1672991
Это странный некродиалект, который нигде почти не используется, т.к. десктоп уже давно шлепается на шарпе или электроне. Ну, или qt.
Аноним 01/05/20 Птн 00:29:50 1673119225
>>1673079
>Это странный некродиалект, который нигде почти не используется
docwiki.embarcadero.com/RADStudio/Rio/en/Modern_C%2B%2B_Language_Features_Compliance_Status
Аноним 01/05/20 Птн 11:40:57 1673418226
блять, как фиксить ошибку undefined reference to? гугл говорит, что где-то опечатка, но я уже вторые сутки не могу ничего найти.
в ньюфаг-треде не помогли
https://repl.it/repls/ShrillFarflungInitializationfile
Аноним 01/05/20 Птн 11:42:41 1673419227
Поясните, допустим я создам 2 приложения, и в каждом по мьютексу с одинаковым именем. Как винда выберет, к какому именно я захочу обратиться?
Аноним 01/05/20 Птн 11:58:35 1673429228
Аноним 01/05/20 Птн 12:07:24 1673433229
>>1673419
Это будет один и тот же мьютекс, не?
Аноним 01/05/20 Птн 13:30:47 1673493230
for(int i = 0; i < 10; i++){
Sleep(500);
ui->label->setText(ui->label->text() + '\n' + QString::number(i));
}

Почему все числа выводятся сразу, после 5 секунд ожидания?
Аноним 01/05/20 Птн 13:39:16 1673502231
>>1673493
Потому что кутэ оптимизтрует запросы на перерисовку интерфейса.
Аноним 01/05/20 Птн 13:40:13 1673503232
>>1673502
И как мне сделать, чтобы числа выводились каждые полсекунды?
Аноним 01/05/20 Птн 13:42:09 1673509233
>>1673503
Заставлять его перерисовывать уи каждые 500 мс, очевидно.
Аноним 01/05/20 Птн 13:44:46 1673514234
>>1673509
Как? Ты можешь обойтись без недомолвок?
Аноним 01/05/20 Птн 13:51:51 1673521235
>>1673514
Ну хуй его знает чувак... может... ЗАГУГЛИТЬ и узнать? Тебе дали наводку, тебе мало? Может тогда присмотришься к жопаскрипту?
Аноним 01/05/20 Птн 15:27:36 1673603236
Ананасики, подскажите насколько оптимизирован буст? У него есть сасная сублиба Interprocess, которая может шарить STL-контейнеры между процессами, равно как и мьютексы с condition variables, как раз то, что мне нужно для моего пет-проекта. Беда в том, что проект довольно чувствителен к рантайму (даже отказался от использования динамического полиморфизма и дрочу вприсядку, реализуя его через шаблоны). Офк жизни людей от этого не зависят и прямо максимально реальный пердолинг перформанса мб и не нужен, но и проседать в рантайме тоже не варик. Что скажете?
Аноним 01/05/20 Птн 15:29:15 1673606237
>>1673603
Преждевременная оптимизация - корень всех зол
Аноним 01/05/20 Птн 15:33:40 1673608238
Аноны, как посплитить строку по фене std. У меня слова разделены двоеточие. На джаве я просто split делаю, а тут открыл, какой-то блять split1, или еще параша с итераторами. Пиздец.
Аноним 01/05/20 Птн 15:40:08 1673614239
>>1673608
Гугли строковые итераторы. Там можно задать разделитель.
Аноним 01/05/20 Птн 15:57:18 1673632240
>>1673493
Используй QTimer. Я вообще хз откуда ты этот Sleep взял
Аноним 01/05/20 Птн 17:57:43 1673796241
Ку крестач.
Вкатываюсь в плюсы. Прочёл книгу "с++ за 21 день" чисто для старта. Что можно прочесть потом? Есть ли смысл читать "язык программирования с++" страуструпа там вроде как те же азы, но чуть более подробно и больше информации даётся. Или же не стоит пережевывать одно и то же и сразу валиться вперёд?
Аноним 01/05/20 Птн 17:58:35 1673797242
Аноны, молю о помощи
У меня мутипроцессная прога, между родительским и дочерним процессами есть расшаренный deque (спасибо бусту за возможность шарить контейнеры). Как мне получить файловый дескриптор от верхнего элемента deque? Дочерний процесс вызывает другую программу через execve и я хочу заставить эту программу читать данные из вершины очереди. Я думал использовать для этого сисколл dup2, чтобы связать файловый дескриптор верхнего элемента очереди с stdin и при запуске целевой программы заставить ее читать из stdin (читая из stdin - она будет читать данные из контейнера в виду дубликации файлового дескриптора).
Аноним 01/05/20 Птн 18:46:52 1673838243
>>1673796
шапка треда. там вские скоты мейрсы, саттеры, александрески.

Я тот анон, которому посоветовали брюса эккеля. кстати, весмьа нплохо чем гуси-лебеди страуструпа.
Страуструп может и мощный программист но как пистель учебных книг он не оч.
Аноним 01/05/20 Птн 19:53:58 1673875244
image.png 13Кб, 644x218
644x218
Аноны, у меня проблемы. В чём суть: цикл while должен продолжать делать свои дела, пока какая-то из переменных (x или y) не станет равна. И при мне одна из переменных становится равна нуля после итерации цикла и цикл идёт ещё на один заход, игнорируя условие выхода. В чём может быть проблема?
Аноним 01/05/20 Птн 19:58:53 1673881245
>>1673875
Надо или || поменять на и &&
Аноним 01/05/20 Птн 20:02:27 1673884246
>>1673875
Твоя двойная защита не спасёт, если х и у будут вместе равны нулю или х=-у
Аноним 01/05/20 Птн 20:04:17 1673887247
>>1673875
>и цикл идёт ещё на один заход, игнорируя условие выхода
чет проиграл с этого охуевшего цикла, напомнило одного обнуленного президента
Аноним 01/05/20 Птн 20:30:45 1673903248
Пишу на си, с++ планируютолько выучить. Сейчас внезапно пишу одну программу и мне нужна одна либа край для неё, а она только с++ поддерживает. Можно ли писать с++ так будто я пишу на с? Я смотрел вроде синтаксис у языков крайне идентичен
Аноним 01/05/20 Птн 20:45:45 1673914249
Аноним 01/05/20 Птн 20:49:37 1673919250
Аноним 01/05/20 Птн 20:52:08 1673923251
>>1673903
Вроде в iostream есть всё, что есть в stdio.h
Аноним 01/05/20 Птн 20:55:53 1673927252
>>1673923
да спасибо, я уже видел этот header.
Аноним 01/05/20 Птн 21:08:32 1673945253
>>1670756
>1. Рекурсивно вызвать функцию обхода для левого и правого сына?
ето не бинарное дерево, ты обосрался
Аноним 01/05/20 Птн 21:32:13 1673975254
>>1673881
Спасибо, анон! Блять, как же тупо я обосрался
Аноним 01/05/20 Птн 21:32:59 1673977255
>>1673884
Я как чел, который ограничил эти ёбаные функции ответственно заявляю, что только одна станет нулём. Но спасибо за замечание, уже переделал
Аноним 01/05/20 Птн 21:33:19 1673978256
>>1673887
Трави стори, мне стало интересно :3
Аноним 02/05/20 Суб 00:20:53 1674064257
Как можно отсортировать set, содержащий указатели на мой класс?
Если в качестве компаратора указать greater<CLASS>, компилируется, но сравнивается неправильно (видимо, вижла сравнивает указатели сама)
Как я могу указать способ сортировки?

Аноним 02/05/20 Суб 00:45:35 1674072258
>>1674064
Напиши компаратор сам, причем тут студия.
Аноним 02/05/20 Суб 00:50:48 1674075259
>>1674072
Я не разобрался с синтаксисом указания компаратора, но теперь все в порядке.
set<T, function<bool (T,T)>> name(funcName)
Аноним 02/05/20 Суб 05:21:12 1674124260
>>1672229
Просто любопытно, что нужно делать, чтобы исключения как-то заметно повлияли на производительность?
Аноним 02/05/20 Суб 07:56:48 1674164261
>>1674064
std::greater без параметров - это transparent компаратор, будет сравнивать любую сравнимую хуйню, главное, чтобы нужный компаратор был на месте. Удобно, когда есть std::map<FatKey, int> и нужно что-то найти по ключу, который сложно/долго/етц создавать, поэтому пишут SlimKey и по нему ищут. Если в шаблоне компаратора указать FatKey, то он больше не будет прозрачным и такая хуйня не прокатит.
По твоему вопросу - у тебя указатели, так что пиши свой компаратор, в котором их будешь разыменовывать.
Аноним 02/05/20 Суб 09:31:16 1674183262
>>1674124
Просто использовать эксепшоны "для всего", как рекомендует Страуструп. Эксепшоны - это медленно.
Аноним 02/05/20 Суб 09:31:37 1674184263
>>1674124
Просто использовать эксепшоны "для всего", как рекомендует Страуструп. Эксепшоны - это медленно.
Аноним 02/05/20 Суб 14:18:04 1674360264
>>1674183
Прямо так и сказал, "для всего"?
Аноним 02/05/20 Суб 14:21:50 1674369265
Untitled-2.png 6Кб, 640x299
640x299
this_thread::get_id() показывает номер потока. Что показывает this_thread::get_id без скобок?
Гугл молчит. Компилировал в MVS.
Аноним 02/05/20 Суб 14:23:36 1674371266
>>1674183
Экзепшены уже используются везде, ты не можешь их избежать, ведь пишешь не собственную программу в сферическом вакууме, а лишь встроенную в уже существующий фреймворк ОС и прочего.
Аноним 02/05/20 Суб 14:27:59 1674375267
>>1674369
Без скобок адрес функции же.
Аноним 02/05/20 Суб 14:38:26 1674387268
>>1674375
А ну да, точн. Ну я на самом деле нуб.
Аноним 02/05/20 Суб 14:49:49 1674396269
>>1674371
В гугле запрещают юзать эксепшены при написании крестового кода тащемта, ибо у гугла весь крестовый софт сверхчувствителен к перформансу (кресты сейчас в других индустриях и не существуют, только в пердолинг-хуйлоудах и жестком рилтайме) не то, чтобы это что-то плохое, скорее даже наоборот, но как факт
Аноним 02/05/20 Суб 14:51:44 1674399270
Эксепшоны нужны только при вводе чего либо пользователем.
Аноним 02/05/20 Суб 15:08:56 1674413271
>>1674396
На гигантов равняться не стоит, у них очень специфичные проблемы.
Аноним 02/05/20 Суб 15:11:01 1674414272
>>1674399
А если программа работает со сторонними данными, то они не нужны?
Аноним 02/05/20 Суб 15:18:34 1674420273
>>1674396
в гугле запрещены эксепшены не из-за перформанса, а из-за того что у них весь код легасидрисня, который будет течь на каждый эксепшен.
Аноним 02/05/20 Суб 15:18:34 1674421274
>>1674396
> кресты сейчас в других индустриях и не существуют, только в пердолинг-хуйлоудах и жестком рилтайме
Ты хуйлоадщик из гугла? нет? Что тогда тут забыл?
Сам себе противоречишь, друг.
Аноним 02/05/20 Суб 16:36:06 1674489275
Сколько раз уже вижу эти высеры про экспешены и того как они на производительность влияют. А по факту кто-нибудь может объяснить в чем реальный оверхед экспешенов? Типо раскрутка стека когда выкидываешь его это дорого? А если делать без эксепшенов то тогда надо просто инт какой-то возвращать с кодом ошибки и проверять его после вызова функции, это как минимум +1 кондишнл джамп. А как раскрутка стека заимплеменчена? Или в другом чем то проблема?
Аноним 02/05/20 Суб 16:42:10 1674496276
>>1674421
я хуйлоудщик, но не из гугла :3
В смысле что забыл? Я пишу на плюсах.
Где противоречие?
Аноним 02/05/20 Суб 16:43:20 1674499277
>>1674489
условный прыжок это пук по сравнению с раскруткой стэка. Это все равно что сравнивать циклы и рекурсию по производительности. Не тупи, пчел.
Аноним 02/05/20 Суб 16:50:51 1674508278
Где почитать про все эти раскрутки стека и условные прыжки? В книгах этого нет.
Аноним 02/05/20 Суб 17:10:37 1674520279
>>1674489
Компилятор лучше оптимизирует код без эксепшонов.
Аноним 02/05/20 Суб 17:44:00 1674541280
Аноним 02/05/20 Суб 18:54:23 1674613281
>>1668430 (OP)
Разъясните по хардкору за московскую нвидию. Стоит пробовать вкатиться C++ мидолу?
Аноним 02/05/20 Суб 18:56:54 1674617282
>>1674613
Тут один полупокер в ней работает.
Аноним 02/05/20 Суб 19:04:23 1674626283
Аноним 02/05/20 Суб 19:30:05 1674669284
>>1674613
попробуй

Мимо полупокер из нвидии, которому завидует весь тред
Аноним 02/05/20 Суб 19:33:08 1674676285
>>1674669
Что там на собесе? Деревья вертеть надо?
Аноним 02/05/20 Суб 19:39:05 1674690286
Я осознал, что раст охуенен, и действительно почти во всём лучше крестов. Будь в России вакансии, перебрался бы на него. Я серьезно, не наброса ради.
Аноним 02/05/20 Суб 19:46:11 1674704287
>>1674669
А надо графоний, куду знать?
Аноним 02/05/20 Суб 19:49:56 1674710288
>>1674690
Но справедливости ради синтаксис раста выглядит уебищно, по крайне мере на первый взгляд
Аноним 02/05/20 Суб 19:50:41 1674711289
>>1674676
Общие знания по программированию + специфик пер команда. Там про дебаггеры в Тегру или еще чо.

>>1674704
Графония очень мало в Москве, КУДЫ тоже нету (она в штатах, ее Брюс Лелбак пердолит из комитета)
Аноним 02/05/20 Суб 19:56:28 1674718290
>>1674711
Понятно, пасибо. Я собственно Лелбака интервью тут слушал и вспомнил, что в мск нвидия есть.

>дебагеры в Тегру
Ага, то есть по вакухе смотреть чо нужно конкретно. Я бы тулинг какой-нибудь с удовольствие пописал.

Раз уж ты ответил, то скажи еще нужно видимо ждать окончания ковид событий, чтобы пробовать? Как обстанова то вообще?
Аноним 02/05/20 Суб 20:03:47 1674727291
>>1674690
>действительно почти во всём лучше крестов.
Кроме одного маленького момента: Раста не существует. В корпоративном мире that is.
Аноним 02/05/20 Суб 20:10:42 1674737292
>>1674727
В рахе пока не существует. Но это пока.
Аноним 02/05/20 Суб 20:13:21 1674740293
>>1674718
> Раз уж ты ответил, то скажи еще нужно видимо ждать окончания ковид событий, чтобы пробовать? Как обстанова то вообще?
Хайринг зафризен из-за ковида полностью. Обстанова ок сидим из дома работаем все.
Аноним 02/05/20 Суб 23:10:46 1674909294
И всё таки анон для чего хорош с++? Какую сферу кресты монополизировали?
Аноним 02/05/20 Суб 23:20:38 1674931295
>>1674909
сферу легаси и олимпиадного программирования
Аноним 02/05/20 Суб 23:22:25 1674940296
>>1674710
справедливости ради синтаксис крестов выглядит как смесь ежа с ужом, за счет родства с сишечкой. Выглядит как си, работает как UB.
Аноним 02/05/20 Суб 23:25:18 1674947297
>>1674909
Читы на видео игрушки для дебилов
Аноним 02/05/20 Суб 23:49:16 1674983298
image.png 195Кб, 908x498
908x498
>>1674909
Для всего? Браузеры, десктопные приложения, игры, сервера, офисы, фотошопы, редакторы, финтех, тысячи их же.
Аноним 03/05/20 Вск 00:17:11 1675022299
>>1674983
Насчет серверов ты погорячился, анон. Сервера на плюсах не пишут уже, он уступил это другим языкам (даже той блевотной джаве, да и на ноде начинают макаки пилить серваки, и индустрия хавает).
Вопрос в другом - обоссыт ли в итоге раст плюсы или нет. Язык еще молодой, а уже хайпанул пиздец как, плюс безопасность памяти. Хз-хз..
Аноним 03/05/20 Вск 00:37:19 1675046300
>>1674909
Например, бэкэнд в финансовой индустрии. Огромное количество внутренних приложений гоняющих всякие тяжелые расчеты.
Аноним 03/05/20 Вск 00:37:48 1675048301
>>1675022
Пишут-пишут, у фейсбука большая часть бэкэнда на плюсах.
Аноним 03/05/20 Вск 00:52:14 1675064302
>>1675022
Чому это не пишут? Хоть GWS и IIS, фейсбук и яндекс, хоть сервера League Of Legends или World Of Tanks.

Вообще удивительная ситуация сложилась. С одной стороны буквально полмира держится на С++, все с продуктами языка сталкиваются каждый день: от Windows до Word, 1C, очередной игры или компа в автомобиле. С другой стороны я регулярно вижу удивленные взгляды друзей или родственников "Ебать ты динозавр, никогда не встречал С++ погромистов, сейчас же все жаве пишут лолбля".

Какая-то странная картина мира сложилась в медиа где в основном разговаривают о каком-то го, жс, питоне и прочих мемах.
Аноним 03/05/20 Вск 02:17:14 1675115303
>>1675064
Ну, ОСи на чистом Си все же пишут, а не на плюсах (что мне не совсем понятно, буду рад, если объяснят, а то сложилось так, что все ядра нынче популярных ОСей написаны на Си).
Джава реально популярнее плюсов, но от этого она менее блевотной не становится. Это просто потому, что пластиковый мир победил и кровавый тырпрайз требует своих, наркоманских инструментов, где джава выстрелила пздц как (хотя тот же сидиез мне импонирует больше джавы, который, увы, сосет хуй, ибо анально огорожен мелкософтом, но все равно лично я предпочитаю кресты, ибо я байтоёб).
Аноним 03/05/20 Вск 02:28:31 1675124304
Крестовички, всем привет.
Я грызу Boost.Process и пока не могу понять как я могу асинхронно хэндлить N дочерних процессов. Цель - у меня есть родительский процесс, который кидает данные в расшаренный буфер, а N детей хавают оттуда (я в курсе про состояния гонки, вопрос не про это). Как этого достичь, юзая буст? Заранее спасибо.
Аноним 03/05/20 Вск 10:52:55 1675221305
Делаю свою реализацию строки интереса ради. Поместил класс в неймпейс, и в классе обявил дружественную функцию. Но из функции почему то не могу обращаться к приватным переменным. Почему?
Аноним 03/05/20 Вск 10:56:29 1675223306
>>1674909
унижения на собеседования. Идешь на с# в какой-нибудь дойче, а тебя еще унижают на си++ два часа перед вопросами по шарпу.
Аноним 03/05/20 Вск 11:03:58 1675226307
>>1675064
Ничего нового не пишут, имеется в виду. То есть когда решают на чем писать какой-то новый продукт, не выбирают кресты. Бэк Яндекс Такси, кстати, на крестах написан просто в целях экономии на программистах — Gett написан на го и никаких проблем.
Аноним 03/05/20 Вск 11:09:15 1675229308
>>1674737
Надо только потерпеть? Там всё схвачено?
Аноним 03/05/20 Вск 11:18:45 1675231309
Аноны, я бумер, привык с книгой работать, есть что по буст почитать?
Аноним 03/05/20 Вск 11:20:31 1675233310
>>1675226
Убер тоже не на C++, коре там на джава и го. Дискорду не хватило скорости го и они перешли на Раст.
Аноним 03/05/20 Вск 11:33:09 1675239311
у меня знакомый в одной компании крупной работает, там прогеры на ++ и на джаве, ++ апи, java десктоп. Так вот у них джава-пидорам надо окошки писать, а крестоблядям серверную логику, причем джава пидорам платят на 20% больше.
Аноним 03/05/20 Вск 11:54:46 1675252312
>>1675239
давно известно, что у джавистов и макакаскриптеров самые высокие зп из девов, крестовикам и сишникам платят в разы меньше, так рыночек устроен, увы. Но кресты - это прежде всего душа. Я как представлю что мне надо будет писать что-то на джава - сразу рвотные позывы начинаются, никакая надбавка в 20% к зп не поможет.
Аноним 03/05/20 Вск 11:56:22 1675256313
>>1675252
А в чем проблема собственно? Синтаксис очень похожий, велосипеды те же писать приходится
Аноним 03/05/20 Вск 11:57:51 1675258314
image.png 173Кб, 797x891
797x891
Аноним 03/05/20 Вск 12:19:35 1675271315
>>1675256
>А в чем проблема собственно?
В манямирке аутичного инфантила.
Аноним 03/05/20 Вск 12:51:40 1675289316
>>1675252
анон, тоже тебя не понимаю, алгоритм есть алгоритм, на чем его не напииши, вот последний жопоразрыватель у меня был, это то что в питухоне нет свич-кэйс
Аноним 03/05/20 Вск 13:46:32 1675344317
>>1675252
Но потолок все же у плюсов выше в тир1 конторах чем у макаки.
Аноним 03/05/20 Вск 13:50:11 1675347318
Зачем нужен с++ когда есть раст?
Аноним 03/05/20 Вск 13:53:45 1675349319
>>1675347
Чтобы поддерживать существующую инфраструктуру. Понятно, что с нуля лучше писать на расте, но гуглопоиск не перепишешь.
Аноним 03/05/20 Вск 13:56:17 1675353320
>>1675344
Откуда тебе это известно?
Аноним 03/05/20 Вск 14:02:11 1675366321
>>1675353
Глупый вопрос, но я отвечу. Я умею гуглить.
Аноним 03/05/20 Вск 14:21:23 1675380322
.png 17Кб, 640x582
640x582
.png 30Кб, 641x936
641x936
Нормально получается, или говно?
Аноним 03/05/20 Вск 14:41:16 1675412323
.png 3Кб, 382x157
382x157

>>1675380
Хотя с конструктором перемещения протупил
Аноним 03/05/20 Вск 14:41:16 1675413324
>>1675380
проиграл с char✹ capacity
Аноним 03/05/20 Вск 14:45:19 1675421325
>>1675347
Язык без эксепшенов? Я ебал.
Коды ошибок не просто так в своё время были признаны порочной практикой. Но если зумерам хочется топтать грабли и потом снова переизобретать эксепшены, то ради бога.
Аноним 03/05/20 Вск 14:45:51 1675424326
>>1675421
> Коды ошибок не просто так в своё время были признаны порочной практикой
Почему?
Аноним 03/05/20 Вск 15:05:54 1675443327
>>1675349
Зачем нужен раст, когда современный С++ безопасен по памяти? Офк С++ позволяет наговнокодить и позволяет писать код с переполнениями буферов и дикими указателями, но как бы есть умные указатели + в контейнерах есть проверка границ буферов (если юзает метод at для доступа к элементу массива, а не аутичные сишные [], где нет проверок), что исключает переполнения. Нахуй тогда тот раст всрался, если современные кресты с использованием смарт поинтеров и STL безопасны? Плюс кресты как язык мощнее по фичам, чем раст, как ни крути. И метапрограммирование - вещь ОЧЕНЬ мощная.
Аноним 03/05/20 Вск 15:20:46 1675468328
>>1675424
Засирают код проверками и перекидываниями этих ошибок на уровень выше. Читать неудобно, писать заебывает, поддерживать муторно. Расширяемость плохая — добавил новую ошибку, надо править весь вызывающий код по цепочке. На один и тот же код вещают кучу разных ошибок, а юзеры библиотеки потом не могут понять, почему функция возвращает ERROR_GENERIC_FAILURE.
Аноним 03/05/20 Вск 15:20:59 1675469329
>>1675443
Когда в крестах нельзя будет выйти за пределы массива, тогда поговорим.
Аноним 03/05/20 Вск 15:21:41 1675470330
>>1675421
слышь, беспредельщик, ты за предъяву свою гнилую ответишь? Чем тебе коды ошибок не угодили?
Аноним 03/05/20 Вск 15:23:41 1675471331
>>1675469
а ты не выходи, наличие хуя у твоего спящего товарища не повод этот хуй начать сосать
Аноним 03/05/20 Вск 15:24:52 1675473332
>>1675468
А с экспешенами тебе надо все заворачивать в RAII и писать код с мыслью что в любой момент может произойти бздых и выполнение пойдет по другому пути.

С кодами ошибок у тебя хотя бы код исполнятеся предсказуемо.

Два стула, в общем.
Аноним 03/05/20 Вск 15:25:38 1675475333
>>1675469
Используй vector.at и не выйдешь. Будешь тормозить только.
Аноним 03/05/20 Вск 15:26:11 1675477334
>>1675473
эксепшен для полупокеров, в любой момент все может ебу дать и не факт! что очистится. Если через коды ошибок работать, контроль в разы лучше, но код становится на вид как говно.
Аноним 03/05/20 Вск 15:31:31 1675482335
>>1675471
>а ты не выходи, наличие хуя у твоего спящего товарища не повод этот хуй начать сосать
А что, так можно было?

мимо Robin Seggelmann
Аноним 03/05/20 Вск 15:58:58 1675518336
>>1675473
В RAII один раз завернул, и оно лежит себе в углу и не мешает. А думать об эксепшенах надо в основном только в том плане, что надо научиться пользоваться современными возможностями, которые позволяют писать безопасно.

> С кодами ошибок у тебя хотя бы код исполнятеся предсказуемо.
Он всегда исполняется предсказуемо. А когда нет, то это называется UB.
Аноним 03/05/20 Вск 16:53:31 1675549337
Ребята, как вкатиться в буст? И есть ли нечто бустоподобное хотя бы? Это говно даже не компилится нормально, вылетает простыня ошибок, где миллион вложенных шаблонов, гугл молчит, даже скомпилировать нихуя не получается. Документация у него не ахти. Памагити!!
Аноним 03/05/20 Вск 16:55:31 1675552338
>>1675549
>как вкатиться в буст
буст не един. нужно ставить вопрос "как вкатиться в boost.libname", они все разные и для разного.

две недели назад собирал буст, собралось вообще без проблем. даже удивился. А у тебя в чом беда?
Аноним 03/05/20 Вск 17:00:22 1675558339
>>1675552
boost.interprocess, брат
Очко горит уже второй день, помогите кто-нибудь, пожалуйста! Доки реально тухлые какие-то
Аноним 03/05/20 Вск 17:08:37 1675565340
>>1675223
>на собеседовании
>"а как реализована фича X в языке?"
>"ну так-то так-то"
>"Да, верно"
>поговорили минут 10 про неё
>прихожу домой, чекаю cppreference
>мы оба несли полнейшую хуйню
Так случалось наверное раза 3 уже. Главное - говорить так, как будто так оно и есть
Аноним 03/05/20 Вск 17:14:00 1675573341
>>1675558
Через vcpkg не вариант?
Аноним 03/05/20 Вск 17:34:58 1675599342
>>1675573
Я на Линуксе.
По идее должно компилиться через флаги -lpthread -lrt, оно-то компилится, но при попытке исполнить бинарь:

terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
what(): boost::interprocess_exception::library_error
[1] 48688 abort (core dumped) ./testboost
Аноним 03/05/20 Вск 17:35:22 1675601343
>>1675549
set BOOST_BUILD_USER_CONFIG=tools/build/user-config.jam

b2 address-model=x64 toolset=msvc threading=multi --with-interprocess variant=debug,release link=static runtime-link=shared --stagedir=stage/x64

Это по памяти. Если не разберёшься, иди нахуй.
Аноним 03/05/20 Вск 17:37:32 1675604344
>>1675599
Тащемта vcpkg на Линуксе тоже работает.

> 48688 abort
Ну еб твою бабушку, возьми дебаггер и посмотри, где падает. Потом почитай, почему падает
Аноним 03/05/20 Вск 17:40:01 1675608345
>>1675601
>toolset=msvc
Пошел нахуй, я на Линуксе
Аноним 03/05/20 Вск 17:40:43 1675612346
>>1675608
> Пошел нахуй, я на Линуксе
Ну и страдай теперь, красноглазик.

> Тащемта vcpkg на Линуксе тоже работает.
Аноним 03/05/20 Вск 19:27:36 1675689347
Чем определение нового аллокатора в бусте отличается от дефолтного определения аллкатора? Допустим, я хочу расшаренный std::deque<std::string> между родительским и дочерним процессами. Буст позволяет шарить STL-контейнеры через shared memory обертки, но как завернут имено декью строк я пока хз, выходит хуета. Может кто-то подсказать/направить на матчасть, нужную для понимания сей ебанины?
Аноним 03/05/20 Вск 19:56:25 1675708348
Как реализовать реверсивные итераторы? Я не понимаю
Аноним 03/05/20 Вск 22:09:07 1675815349
подскажите набор ворнингов, которых нет в wall, но очень полезны.
Аноним 03/05/20 Вск 22:37:37 1675848350
Чота я охуел, чё за каша

char
wchar_t
std:string
System::String

int
__int32
uint32_t

нахуй столько?

Что используют нормальные люди из этого месива?
Аноним 03/05/20 Вск 23:18:12 1675866351
>>1675848
>char
Простой 7-битный аски
>wchar_t
Платформозависимая хрень, с которой приходится жить.
>std::string
Строка из стандарта
>System::String
Дотнетовская строка из C++/CLI, это вообще отдельная тема

Насчёт интов - в стандарте не указаны конкретные их размеры, поэтому в компиляторах сделали собственные типы вроде __int32. Начиная с C++11 и C99 ввели стандартные типы для целых фиксированного раздела: https://en.cppreference.com/w/cpp/types/integer. Кури стандарт, в общем.
Аноним 04/05/20 Пнд 00:01:05 1675881352
>>1675866
>Простой 7-битный аски
8-ми битный.
Аноним 04/05/20 Пнд 01:38:51 1675896353
Аноним 04/05/20 Пнд 01:56:25 1675904354
>>1675881
пчел, char это байт (по крайней мере на всех самых распространенных архитектурах), в байте 8 бит, где ты еще один бит потерял?
Аноним 04/05/20 Пнд 03:45:41 1675920355
>>1675848
char/std::string - восьмибитовые строки, можно хранить текст в ASCII, в 8-битных кодировках (cp1251 и прочие), в utf-8
wchar_t/std::wstring - пытались увеличить размер символа, но не определились, насколько именно. Годятся чтобы хранить строки в utf-16 на винде (где на них всё апи), а на линуксах оно практически юзелесс (там все живут в utf-8).
Всё, что начинается на подчеркивания - какая-то внутренняя кухня компилятора, без веских причин не используй.
int - обычное повседневное целое число.
uint32_t и прочие _t - числа фиксированных размеров в байтах. Если ты в каком-то месте закладываешься, что int будет именно 4 байта, и не байтом больше, то там надо писать uint32_t
Аноним 04/05/20 Пнд 10:26:45 1675979356
image.png 76Кб, 1200x474
1200x474
>>1675904
А ну ка, посчитай сколько символов в таблице, и сколько бит на это надо.
Другое дело, что аски по-разному дополняют всякой региональной залупой не к ночи будь помянут КОИ-8. Однако по стандарту сам ASCII таки 7-битный.
Аноним 04/05/20 Пнд 10:37:53 1675980357
>>1675979
Зачем ты приравниваешь кодировку к символу?
Аноним 04/05/20 Пнд 11:10:59 1676002358
>>1675979
>>1675980
Давайте только без срачей

> The committee considered an eight-bit code, since eight bits (octets) would allow two four-bit patterns to efficiently encode two digits with binary-coded decimal. However, it would require all data transmission to send eight bits when seven could suffice. The committee voted to use a seven-bit code to minimize costs associated with data transmission. Since perforated tape at the time could record eight bits in one position, it also allowed for a parity bit for error checking if desired. Eight-bit machines (with octets as the native data type) that did not use parity checking typically set the eighth bit to 0.
Аноним 04/05/20 Пнд 12:02:54 1676034359
че пацаны, как работать в ожидании UB?
Аноним 04/05/20 Пнд 12:10:09 1676041360
>>1675979
Пчел, таблица ASCII имеет 256 символов (от 0 до 255, спец символы после 127 - это тоже часть таблицы ASCII, прикинь!). 256 = 2^8. Вот тебе и 8 бит. Не спорь плиз, ты реально глупо выглядишь, говоря по сути, что char имеет размер 7 бит вместо 8, лол. У тебя тогда sizeof(char) никак не мог бы выдавать размер в 1 байт.
Аноним 04/05/20 Пнд 12:12:38 1676046361
>>1676034
Хуево. Именно поэтому новые проекты пилят на расте, а старого легаси на сишечке и плюсах настолько много, что ни у кого нет ни денег, ни сил, ни времени, ни желания все это переписывать, а поддерживать все это как-то надо.
Аноним 04/05/20 Пнд 12:42:22 1676070362
>>1676041
>спец символы после 127 - это тоже часть таблицы ASCII, прикинь
Не неси чушь, а почитай историю. Кодовые страницы - не часть аски.
> У тебя тогда sizeof(char) никак не мог бы выдавать размер в 1 байт.
Ты исходишь из того, что байт=октет, что в зоопарке 70-х было не так. Многие компьютеры тогда вообще имели размер слова кратный шести, потому что использовали BCDIC.
Аноним 04/05/20 Пнд 12:54:21 1676072363
>>1676070
>Ты исходишь из того, что байт=октет, что в зоопарке 70-х было не так. Многие компьютеры тогда вообще имели размер слова кратный шести, потому что использовали BCDIC.
Какая разница что было в 70-ых? В 2к20 байт=октет.
>Кодовые страницы - не часть аски.
И именно поэтому у спец символов есть специально отведенная кодировка (читай, числовое значение) в самой таблице? Пруфани, что в данный момент это не часть таблицы ASCII.
Аноним 04/05/20 Пнд 12:59:10 1676077364
Screenshot2020-[...].png 68Кб, 1482x404
1482x404
>>1676041
Вот и выросло поколение, не видевшее ничего, кроме юникода. ASCII это 7 бит, в восьмибитных кодировках это нижняя половина таблицы, а верхняя уже зависела от региона, системы и левой пятки программиста. В рашке восьмибитные кодировки были cp866 (dos), windows-1251 и koi8r.
При чем кои8 символы располагались не по алфавиту, а так, чтобы при откусывании 8 бита текст становился читаемым транслитом. Сортирвать наверное было в кайф такое
Аноним 04/05/20 Пнд 13:03:47 1676082365
>>1675866
>Простой 7-битный аски
А, я понял, почему этот разговор начался. Шизик решил выебнуться
Аноним 04/05/20 Пнд 13:14:42 1676088366
ascii.png 61Кб, 984x576
984x576
>>1676072
>Пруфани, что в данный момент это не часть таблицы ASCII.
Пожалуйста - последняя ревизия ASCII от 1986 года.
Аноним 04/05/20 Пнд 13:37:20 1676105367
>>1676046
Ты же понимаешь, что даже если будут деньги и желания, никто уже например ядро линукса не перепишет на расте
Аноним 04/05/20 Пнд 13:53:05 1676114368
>>1676105
Ну так я и говорю - легаси как было С/С++, так и останется, ты ж читай что я написал. Понятное дело, что 30 млн. строк кода в ядре Линя точно не будут переписывать.
Новые проекты пишутся уже на расте, ибо нужно быть полоумным шизиком, чтобы пилить новые проекты на дырявых япах с UB в 2к20.
Аноним 04/05/20 Пнд 14:04:48 1676122369
>>1676114
upd:
Мелкософты год назад начали переписывать много софта с С на раст, между прочим. Так что мб к 2030 году будет безопасная винда без возможности совершить эскалацию привилегий или удаленное исполнение кода из-за дыры в ОС (в 99% случаев такие жесткие хаки возможны только из-за проблем с памятью, логические же баги, которые бессмертные, как правило, очень ограничивают простор для хацкеров).
Но линь как был дырявым, так и останется, ибо Торвальдс не позволит никому переписывать ядро Линя. Он даже плюсы хейтит, какой там раст...
Аноним 04/05/20 Пнд 14:10:53 1676131370
>>1674690
Хуй знает чем вам современный С++ не угодил. Меня лично все в нем устраивает кроме отсутствия адекватной работы с метаданными. Почему я не могу блять на ЭТАПЕ КОМПИЛЯЦИИ пройтись по всем полям класса, получая их имена? Так же блять нельзя и по всем именам + значениям енумов пройтись. Почему создали стандарта такие пидорасы, что за 20 лет не прикрутили настолько нужные вещи? Интересно как с этим в расте обстоят дела?
Аноним 04/05/20 Пнд 14:33:54 1676174371
Кто-нибудь имел дело с OpenCV? Мне нужно заменить у исходного PNG файла с индексированными цветами один из цветов палитры (их 256) на прозрачный, а после, сохранить в том же формате, не удаляя палитру цветов. Никакой инфы о работе с палитрой найти я не смог. Читал спецификацию к PNG, там сказано, что это возможно, а также потребуется чанк tRNS. Да и в фотошопе у меня получилось сделать задуманное, но как это сделать с помощью OpenCV - хз. На данный момент у меня есть следующий код, который добавляет прозрачность, но он это делает без использования палитры, что увеличивает размер конечного PNG в 3-4 раза, а мне это не нужно.

https://pastebin.com/4ME6LEQd

п.с. В будущем мне эта библиотека понадобится для объединения нескольких изображений в одно, для этого у нее весьма удобный интерфейс, поэтому и выбрал. Но если не получится сделать задуманное, буду пробовать с libpng. Хотя, OpenCV ИСПОЛЬЗУЕТ модуль libpng для работы своих процедур. Странно, что завезли кучу конвертаций цветов изображения, несколько видов компрессии, а банальную работу с палитрой нет. Или просто я не вижу...
Аноним 04/05/20 Пнд 14:40:06 1676187372
>>1676174
Это далеко от задач компьютерного зрения и вряд ли у тебя что-то выйдет
Аноним 04/05/20 Пнд 16:58:19 1676385373
>>1675115
>требует своих, наркоманских инструментов, где джава выстрелила пздц как

Ну справедливости ради скажу, что экосистема джавы, а именно инструменты для отладки, системы сборки, профилировщики, менеджеры пакетов - все куда лучше, чем в С++ на данный момент. И пользоваться этими инструментами куда приятнее.

Аналогично могу сказать про язык, джава - довольно простой язык, с понятным синтаксисом. Здесь библиотечные функции названы понятными именами, а не каким-нибудь нечитаемым говном в духе си и posix. Модель памяти в джаве описана куда более понятным языком, чем в плюсах.

Не вижу ничего плохого в том, чтобы использовать джаву.
Аноним 04/05/20 Пнд 17:00:38 1676388374
>>1675064
>С одной стороны буквально полмира держится на С++
Браузеры, графика, какой-нибудь околосистемный софт, высоконагруженные сервера гугла и яндекса - написаны на плюсах.
>Ебать ты динозавр, никогда не встречал С++ погромистов, сейчас же все жаве пишут лолбля
Потому что все вышеперечисленное пишется сейчас в довольно малых объемах, как правило за рубежом, и очень небольшими командами разработчиков. Действительно, жс и джавы в современном мире нужно куда больше.
Аноним 04/05/20 Пнд 17:02:46 1676393375
>>1676187
Если верить википедии, opencv решает не только задачи компьютерного зрения:
>OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения

Алсо, я уже решил проблему байтоебством, а хотел без него..
Аноним 04/05/20 Пнд 17:02:57 1676395376
>>1676388
>Ну справедливости ради скажу, что экосистема джавы, а именно инструменты для отладки, системы сборки, профилировщики, менеджеры пакетов - все куда лучше, чем в С++ на данный момент.
Какая-то энтерпрайз поебота с XML и гигабайтами оперативки требований
>Здесь библиотечные функции названы понятными именами, а не каким-нибудь нечитаемым говном в духе си и posix
Нечитаемое говно отлично и быстро читается, если ты не ньюфаг. А вот джава многословность вредна всем, и ньюфагам, и олдфагам
Аноним 04/05/20 Пнд 17:04:34 1676397377
>>1676393
Твоя задача ни к чему из этого не относится. OpenCV это такая замена матлабу неплохая - матрицы там, фурье-хурье, картинку нормализовать и т. п., но не байтоебство.
Аноним 04/05/20 Пнд 17:16:34 1676402378
>>1674983
Тут как бы много всего перечислено, но все это пишется в очень маленьких масштабах.
В РФ и СНГ наверное это менее 10% всего рынка разработки будет.
И попасть ну очень сложно в такие места, в которых пишутся вот эти браузеры и высоконагруженные сервисы. Наверное потому что такая компания одна на все полушарие. А вторая находится на другом полушарии.
Аноним 04/05/20 Пнд 17:17:04 1676404379
>>1674983
>финтех
Анально оккупирован джава разрабами и аналитиками с питонами.
Аноним 04/05/20 Пнд 17:26:05 1676414380
>>1676395
>Какая-то энтерпрайз поебота с XML и гигабайтами оперативки требований
Но несмотря на минусы, работать удобнее именно с этой энтерпрайз поеботой. Кстати добавлю, что хоть IDEA и CLion по сути написаны на одном движке, если можно так выразиться, то количество разных фишек у идеи куда больше, чем в плюсах. Но связано это также и с тем, что идея постарше будет, но все же.

>Нечитаемое говно отлично и быстро читается, если ты не ньюфаг
Ну если со стандартной библиотекой проблем действительно нет, то вот со сторонними уже проблемы. Начиная от каких-то магических макросов и заканчивая очень непонятными именами функций. Помню, как пришлось впервые использовать в джаве библиотеку для парсинга хтмл, так я охуел от того, насколько же могут быть нормальными именами у функций, которые сразу дают тебе некоторое представление о том, что именно будет происходить. А еще поддержка javadoc в ide, где ты можешь сразу посмотреть документацию. В плюсах такого к сожалению практически нет.
Аноним 04/05/20 Пнд 17:45:44 1676429381
Как вынести функцию в отдельный файл?
//A.cpp
int func(vector<int> &vec_name)
{
...
}
//B.cpp
extern int func(vector<int> &vec_name)

int main()
{
...
func(vector<int> vec)
}
не разрешенный внешний символ
тоже самое если вынести в .h
Аноним 04/05/20 Пнд 17:47:43 1676430382
>>1676429
ты по заветам дебилов пишешь в виме и в консольке компиляешь?
Аноним 04/05/20 Пнд 17:49:17 1676431383
>>1676429
точку с запятой забыл
Аноним 04/05/20 Пнд 17:49:37 1676432384
Аноним 04/05/20 Пнд 17:51:34 1676433385
Аноним 04/05/20 Пнд 18:40:22 1676476386
Аноны, я тут подумал, что в 21 веке название языка давно следовало бы объюникодить. Как думаете, какой вариант имеет больше шансов быть протолкнутым в RFC?

C☦☦
C††
C✝✝
C࿕࿕
C࿖࿖
Аноним 04/05/20 Пнд 18:49:34 1676484387
>>1675421
Зачем коды ошибок, если есть типы-суммы?
Аноним 04/05/20 Пнд 18:50:27 1676487388
>>1675366
Твой гугл какой-то другой.
Аноним 04/05/20 Пнд 18:54:47 1676492389
external-conten[...].jpeg 14Кб, 474x355
474x355
>>1676484
В расте нет эксепшенов и они предлагают пробрасывать Either как в хачкеле?
Аноним 04/05/20 Пнд 19:11:03 1676508390
>>1676429
>>1676433
Ну как передать вектор в функцию в другом файле?
Аноним 04/05/20 Пнд 19:14:09 1676509391
>>1676492
Можно просто паникануть с кастомным текстом.
Можно пробросить с преобразованием
let hui = a.get("hui")?; - для случая, когда есть трейт From для проеобразования типов ошибок
Можно преобразовать на месте, если нет
let hui = a.get("hui").map_err(|e| F::new(e.to_string()));
А можно вообще все возможные ошибки в енум завернуть и пробрасывать наверх без преобразования
Аноним 04/05/20 Пнд 19:29:46 1676528392
1.jpg 14Кб, 297x197
297x197
2.jpg 14Кб, 297x167
297x167
3.jpg 19Кб, 1032x44
1032x44
Аноним 04/05/20 Пнд 19:33:10 1676532393
>>1676528
extern убери. И проверь, что у тебя оба .cpp файла в одном проекте
Аноним 04/05/20 Пнд 19:40:18 1676546394
>>1676532
Спасибо, почему то CPP файл как заголовок подключился.
Аноним 04/05/20 Пнд 19:46:13 1676558395
>>1676546

Убогие, как же вам тяжко. У нас-то в расте просто ебошишь
mod {
  pub(crate) fn sum(a: i32, b: i32)->i32 {a+b}
}
прямо в майне своём. А потом по хинту в иде уносишь в отдельный файл. Инклюды эти, блять. Подключить внешнюю либу? Сударь, извольте поебаться от души.
Аноним 04/05/20 Пнд 19:47:23 1676562396
>>1676558
Растообиженка идет срать в С++ тред.
Аноним 04/05/20 Пнд 19:49:56 1676568397
>>1676558
Ну да, используем модель компиляции Си, щито поделать.
Аноним 04/05/20 Пнд 20:07:19 1676614398
>>1676558
Блядь, вот это показательно, растоман не сидит в своём треде, потому что там 0 анонов, примерно такая же картина ирл.
Аноним 04/05/20 Пнд 20:31:43 1676641399
Двач, подскажите, имею вектор векторов как проверить этот контейнер на присутствие в нём вектора?
Аноним 04/05/20 Пнд 20:48:55 1676661400
>>1676641
проитерируй вектор. Если хоть одна из ячеек == nullptr, то вектор векторов неполон, возвращаешь false, иначе - true.
Аноним 04/05/20 Пнд 20:49:25 1676662401
>>1676641
проитерируй вектор. Если хоть одна из ячеек == nullptr, то вектор векторов неполон, возвращаешь false, иначе - true.
Аноним 04/05/20 Пнд 20:50:41 1676665402
изображение.png 261Кб, 649x433
649x433
двач выручай
есть мышь с доп кнопками, как за отследить нажатие этих кнопок ?
стандартный софт дико накаляет, хочу альтернативу для него.
нагуглить что-либо вменяемое не получилось
Аноним 04/05/20 Пнд 20:53:05 1676669403
>>1676661
Нет, в смысле мне нужно найти в векторе вектор, без итерирования, как-нибудь по простому это можно сделать?.
Аноним 04/05/20 Пнд 20:56:09 1676671404
Аноним 04/05/20 Пнд 21:08:49 1676674405
>>1676669
без итерирования по-простому вряд ли получится. А почему ты не можешь просто циклом по нему пройтись, в чем проблема-то?
Аноним 04/05/20 Пнд 21:12:32 1676676406
>>1676674
Да заебало писать циклы на всю хуйню, почему нельзя реализовать нечто подобное std::find(vector.begin(), vector.end(), {1, 2, 3, 4, 5});
Аноним 04/05/20 Пнд 21:13:14 1676678407
>>1676671
не понимаю, ни о чем мне не говорит и все что я нашел, по этому запросу, это чей-то кусок кода
Аноним 04/05/20 Пнд 21:14:52 1676680408
>>1676669
это задача поиска строки в подстроке - гугли всяких БОЙЕРОВ МУРОВ и прочую такую парашу. Всякие find это про другое немного
Аноним 04/05/20 Пнд 21:24:28 1676690409
Аноним 04/05/20 Пнд 21:26:35 1676692410
>>1676680
Какая-же питон годнота относительно этого говна.
[1, 2, 3, 4, 5] in vector
Вот что может быть проще?
Аноним 04/05/20 Пнд 21:28:36 1676696411
Аноним 04/05/20 Пнд 21:44:20 1676714412
>>1676696
Ну выглядит тем что надо, даже понял про боеров муров которых я не хотел сначала гуглить.
Правда проверить пока не получается т.к. я сейчас на windows, а тут на mingw 7.3 и msvc 2017 такие новшества видимо ещё не поддерживаются.
Аноним 04/05/20 Пнд 21:58:19 1676726413
>>1676676
Ну тащемта ты почти угадал, нужно только перед {} дописать std::vector э и <int>, если нет c++17
Аноним 04/05/20 Пнд 22:00:07 1676729414
>>1676714
Да хоть на палме, эта функция везде должна быть
Аноним 04/05/20 Пнд 22:13:01 1676745415
Аноним 04/05/20 Пнд 22:24:30 1676748416
Ананасычи, насколько зашкварно рьяно мешать чистый С код с плюсовым? У меня пет-проект, который требует много системного программирования с дрочением системного API, которое все написано на Сишечке. Но хочется подрубить плюсы из-за STL и классов. Зашквар или это приемлимо?
Аноним 04/05/20 Пнд 22:30:23 1676752417
>>1676748
Какие ты видишь альтернативы?
Аноним 04/05/20 Пнд 22:32:11 1676754418
>>1676748
Это не зашквар - а жизненная необходимость. Мы всё используемое винапи обернули в нормальные крестофункции, и с этим работать в разы удобнее.
Аноним 04/05/20 Пнд 22:38:35 1676760419
>>1676752
>>1676754
Да хз, просто спросил. Яхз что там в плане конвенций, вот и спросил. План был написать самый лоу-лвл системный код на Си, инкапсулировать это в классы и дергать через публичные методы что надо в мейне уже.
Аноним 05/05/20 Втр 00:45:23 1676891420
image.png 663Кб, 500x500
500x500
Аноним 05/05/20 Втр 01:08:33 1676914421
Аноним 05/05/20 Втр 01:15:02 1676927422
15705293033750.jpg 120Кб, 720x960
720x960
>>1676476
Лучше бы мимокрокам пояснили за 17/20 стандарт в шапке, дауны ёбаные.

за 23 тоже можно было бы
Аноним 05/05/20 Втр 01:29:46 1676947423
>>1676927
Что пояснить про 17\20 стандарт?
Аноним 05/05/20 Втр 01:30:12 1676949424
>>1676484
Математиков надо нахуй гнать из программирования, они всегда всё портят.
Аноним 05/05/20 Втр 01:48:29 1676960425
>>1676484
>Зачем коды ошибок
>Зачем дискрминант для эльфийских енумов
>>1676949
Математики тебе всё это придумали, даун, ты просто себе подобному ответил.
Аноним 05/05/20 Втр 01:49:44 1676962426
>>1676947
Что нового с 14 хотя бы.
Аноним 05/05/20 Втр 01:56:08 1676966427
Аноним 05/05/20 Втр 02:54:47 1676978428
Аноны, а как насчет обновить шапку нашего всеми любимого треда?
Аноним 05/05/20 Втр 03:05:34 1676980429
>>1676978
Что ты хочешь в ней увидеть? Я бы с удовольствием обновил.
Аноним 05/05/20 Втр 09:43:29 1677086430
>>1676980
Тогда нужно создать на pastebin док и пилить потихоньку шапку.
Ну, наверное немного актуальной инфы добавить и сделать шапку как у тех же питонистов или жс.
Вынести книги в нее, чтобы меньше в треде спрашивали про что читать первым. Вынести про то, как постить код и так, по мелочи, типа того же буста о том как его учить (напримере того, что тут пчел задавал вопрос о том, как учить буст, но не дал конкретики какой именно).
Аноним 05/05/20 Втр 09:47:09 1677089431
>>1677086
Шапка у пхп и свифта хорошо оформлена кстати для примера.
Аноним 05/05/20 Втр 12:57:43 1677255432
rage yoba.jpg 54Кб, 479x479
479x479
ТРИВИАЛЬНЕЙШАЯ ФУНКЦИЯ В СТАНДАРТНОЙ БИБЛИОТЕКЕ
@
НЕ КОНСТЕКСПР
@
ИДИ ВЕЛОСИПЕДЬ


Я твой дом труба шатал, комитет!
Аноним 05/05/20 Втр 13:10:29 1677275433
Screenshot from[...].png 62Кб, 803x520
803x520
>>1672063

Это вопрос из игры "Не смотри на петуха". Ни один нормальный человек не будет разбираться в этой хуйне.

Аноним 05/05/20 Втр 14:01:14 1677386434
>>1676690
перехватывает только стандартные кнопки =(
Аноним 05/05/20 Втр 14:18:09 1677423435
1588677489176.jpg 60Кб, 800x450
800x450
>>1677275
>c18
Нихуясе я не шарю
Аноним 05/05/20 Втр 14:39:31 1677483436
gdwnbor2.png 127Кб, 421x404
421x404
>>1677255
ЮЗЕР-ДЕФИНЕД ЛИТЕРАЛС
@
БУКВАЛЬНО ПРИМЕНЯЮТСЯ ТОЛЬКО К ЗАХАРДКОЖЕННЫМ ЛИТЕРАЛАМ
@
НЕ КОНСТЕКСПР
@
НЕВОЗМОЖНО НАПИСАТЬ ЧТОБ БЫЛО КОНСТЕКСПР
Аноним 05/05/20 Втр 15:23:02 1677584437
Аноны, хочу стать прогером-универсалом. Тобишь работать и с лоулевелом и на уровне программ мутить мутки. Вкатывать в С++ норм тема? Нужно ли перед этим хотя бы ознакомиться с С? Какие подводные? Сколько времени у меня займёт достижения уровня скиллового прогера. До этого 2 года писал на питоне. Сейчас времени валом, денег тоже, в сутки могу по 10-14 часов спокойно уделять (вряд ли ибо чувствую мозг закипит).
Аноним 05/05/20 Втр 15:26:08 1677591438
>>1677584

Ты будешь копаться в легасиговне, 80% времени тратя на еблю с языком и его инфраструктурой если эту смердящую кучу говна размером с Эверест можно назвать инфраструктурой До серьезных/интересных вещей о которых ты мечтаешь тебя не допустят.
Аноним 05/05/20 Втр 15:30:07 1677597439
>>1677591
А я не копания ради, а чтобы самому уметь делать какие-нибудь охуенные проекты.
Аноним 05/05/20 Втр 15:32:25 1677601440
>>1677597

Ты не будешь делать какие-нибудь охуенные проекты. Потому что кто делает какие-нибудь охуенные проекты заинтересован в них. И он их просто берет и делает. А ты будешь вечным посетителем "посоны, что бы написать"-тредов.
Аноним 05/05/20 Втр 15:34:35 1677605441
>>1677601
Ты прав, всё так и будет. Что там по моим вопросам?
Аноним 05/05/20 Втр 15:39:06 1677610442
>>1677584
Анон, не стОит. С++ - мертвый язык для нормисов. Он не мертвый в целом, но на нем пишется в основном слишком крутой софт (известные браузеры, ААА игры, например), к которому допускаются инженеры высшей категории с десятилетиями опыта работы (или гении). Тебе нужно серьезно ебануться головушкой и помешаться на крестах + потратить на это +- 10 лет, чтобы ты на уровне продакшена писал годноту. Во всех остальных 99.9% случаев, если повезет, будешь мейнтенить бесполезное говно мамонта, написанное на крестах стандарта 98 года. Подумай трижды прежде, чем врываться. В 99% случаев оно того не стоит, особенно если ты не гик-шизик как я
Удачи и береги себя, бро.
Аноним 05/05/20 Втр 15:43:24 1677616443
>>1677610
Хорошо, тогда какую альтернативу выбрать? Чтобы можно было на языке реализовать вообще всё. Ну за исключением фронтенда и ещё пары возможностей мб.
Аноним 05/05/20 Втр 15:57:37 1677632444
>>1677616
Это неправильный критерий выбора. Теоретически, ты можешь на нулях и единицах реализовать все, что угодно. Но стоит ли оно того? У каждого языка программирования есть какая-то своя цель. В индустрии С++ не юзают для хай-лвл программирования, на этом языке пишут сложную кор-логику. Вместе с тем, есть языки, которые вне веба практически не используются - пыха, руби, js. И таких примеров куча. Если у тебя нет четкой цели или нет понятия какой технологический стэк ты хочешь изучать, то советую сначала разобраться в этом. Потом ты сможешь выбрать для себя подходящие языки программирования.
Аноним 05/05/20 Втр 16:01:10 1677638445
>>1677616
>Ну за исключением фронтенда
Qt может компилироваться в веб ассембли, так что...
Аноним 05/05/20 Втр 16:04:10 1677641446
>>1677616
> Чтобы можно было на языке реализовать вообще всё.

Вот он, максимализм. Тебе для ЧЕГО? Следует разделить два вида деятельности: зарабатывание денег и хобби. Для зарабатывания денег на плюсах тебе уже сказали. А какой-нибудь сайд-проект пилить ты можешь на чем угодно, хоть на плюсах, хоть на расте, хоть на го, хоть на хаскелле -- для этого необязательно десятки лет задрачивания стандарта плюсов.
Аноним 05/05/20 Втр 16:05:05 1677642447
>>1677638
все равно, выбирать плюсы для чего-либо, связанного с вебом, это маразм. Край - бэкэнд, и то если ты прогаешь сервак, который должен выдерживать траффик где-то на уровне фейсбука. Во всех других случаях это лишний оверкилл и кровавый анальный ангст.
Аноним 05/05/20 Втр 16:09:29 1677648448
>>1677632
Критерий - умение создавать сложные лоу левел структуры с нуля+писать под всё это и не только под это дело софт.
>>1677638
А на лоулевеле что делать?
>>1677641
Не вижу ничего плохого. Цель выше.
Аноним 05/05/20 Втр 16:12:38 1677651449
>>1677648
> Цель выше.

Это не цель, а залупа. Цель -- это написать конкретную программу с определенными характеристиками.
Аноним 05/05/20 Втр 16:21:28 1677659450
>>1677642
>Край - бэкэнд, и то если ты прогаешь сервак, который должен выдерживать траффик где-то на уровне фейсбука.
На правах кулстори - пишу на крестах больше пяти лет, надо было ВЕБ БЭКЕНД небольшой написать. Так вот - нашлепать на АспнетКоре было проще (с нуля, я чуть чуть шарп знаю, Асп вообще никак), чем написать это на крестах.
Аноним 05/05/20 Втр 16:59:51 1677728451
>>1677651
В каком смысле не цель? Или ты из числа тех, кто при написании любой новой проги бежит читать основы языка и стандартных модулей?
Аноним 05/05/20 Втр 17:19:18 1677784452
>>1677659
Ну, логично. С++ бы создан для байтоебства, равно как и С (не говорю, что это плохо, я сам тащемта байтоеб), на этих языках не зашквар только лоу-лвл софт разрабатывать, все что выше уровня сугубо системного программирования - в 98% случаев маразм и лучше выбрать другой язык.
Аноним 05/05/20 Втр 18:02:42 1677890453
На вход приезжает некоторый generic-объект, перекладывается в unique_ptr<GenericObject> и уезжает в очередь, дальше я его жизнь не контролирую
Соответственно, где-то там дальше его из очереди вынут и скастуют в нужный дочерний тип.

Проблема: начал использовать unique_ptr с custom deleter и пулом объектов, теперь, разобрав тело объекта, я не могу привести его к unique_ptr<GenericObject, Deleter<GenericObject>>, потому что у него другой, свой deleter - unique_ptr<ChildObject, Deleter<ChildObject>>

Как это можно решить?
Аноним 05/05/20 Втр 18:04:30 1677892454
>>1677890
Пока что в голову пришло только использование shared вместо unique, так как в этом случае deleter будет отделён от типа
Аноним 05/05/20 Втр 21:19:55 1678161455
Аноним 05/05/20 Втр 23:02:02 1678266456
Хочу написать программу, которая будет визуализировать столкновение одного объекта с другим. Сколько по времени это может занять, если раньше подобным не занимался? Планирую использовать openglдля отображения. Остальное писать.
Аноним 05/05/20 Втр 23:39:22 1678295457
>>1677890
Deleter должен быть универсальный, иначе это отстрел ноги
Аноним 06/05/20 Срд 00:15:35 1678341458
Аноним 06/05/20 Срд 04:34:24 1678406459
Аноним 06/05/20 Срд 04:45:13 1678409460
>>1676402
>В РФ и СНГ наверное это менее 10% всего рынка разработки будет.
Ну так в РФ и СНГ и нет ничего кроме веба считай.
Аноним 06/05/20 Срд 15:10:34 1678734461
>>1678295
Я хотел в deleter'е возвращать объекты в пул (темплейтеный), поэтому хотелось бы знать тип, для которого вызывается deleter
Аноним 06/05/20 Срд 15:22:57 1678749462
>>1677890
Логику удаления помещай в метод класса. А делитер (как анон выше говорил) универсальный который будет просто вызывать этот метод.
Аноним 06/05/20 Срд 15:26:37 1678753463
Ну и если делаешь пул то возможно стоит просто перегрузить операторы new и delete.
Аноним 06/05/20 Срд 16:51:57 1678848464
>>1678749
Не совсем понимаю, не будет же он сам в себя в пул возвращать, пока он ещё жив, лол
Аноним 06/05/20 Срд 16:56:15 1678851465
>>1678848
Понятно что он не будет. Он будет просить пул объектов принять его назад.
Аноним 06/05/20 Срд 16:59:59 1678855466
>>1678851
В своём собственном методе? Каким образом?
Аноним 06/05/20 Срд 17:02:25 1678857467
>>1678855
Дергать метод пула передав себя(this). У тебя как делитеры были реализованы?
Аноним 06/05/20 Срд 17:04:35 1678859468
>>1678857
Объект уедет в другое место за время выполнения своего метода. Насколько это легально? А если в пуле вызовется деструктор объекта, а я всё ещё в его методе (а именно так и получится)?
Аноним 06/05/20 Срд 17:13:23 1678870469
>>1678859
Куда уедет? А с деструктором да, нужно осторожно. После вызова метода пула нельзя обращаться к членам объекта. Следить за автоматическими переменными.
Аноним 06/05/20 Срд 17:15:33 1678876470
>>1678870
Ну то есть в идеале после вызова метода пула вообще ничего не делать внутри метода объекта. Но всё равно выглядит жутко и нелегально, лол
Аноним 06/05/20 Срд 17:16:28 1678880471
>>1678876
С другой стороны -- это хотя бы должно работать, плюс без лишнего оверхеда в виде хранения указателя на функцию
Аноним 06/05/20 Срд 17:17:22 1678883472
>>1678876
>>1678880
Хотя необходимость в данном случае реализовывать данный метод у каждого объекта мне не особо нравится
Аноним 06/05/20 Срд 18:33:56 1678948473
image.png 33Кб, 644x532
644x532
Почему я обязан реализацию подчеркнутого конструктора записывать прямо тут и не могу вынести в cpp файл (на скрине h)?
Аноним 06/05/20 Срд 18:52:40 1678971474
>>1678948
Убери = 0 из деструкторов рофл. Чистый виртуальный деструктор у него.
Аноним 06/05/20 Срд 18:56:08 1678975475
>>1678971
Стековерфлоу разрешает. Да и мне в любом случае в начале иерархии нужен абстрактный класс, других идей не нашлось.
Аноним 06/05/20 Срд 18:57:23 1678977476
>>1677890
Попробуй ещё в сторону других указателей посмотреть, например boost::intrusive_ptr
Аноним 06/05/20 Срд 18:57:42 1678978477
>>1678975
какая ошибка компиляции бтв?
Аноним 06/05/20 Срд 19:07:47 1678989478
image.png 72Кб, 1417x647
1417x647
>>1678978
Вот. Тупо ожидалось '{'. Ну и дальше видимо парсер поехал и находит ошибки на ровном месте.
Аноним 06/05/20 Срд 19:14:23 1679000479
>>1678749
А как он узнает, метод какого объекта вызывать, если deleter будет универсальным? Во что кастовать? А если deleter тимплейтный, то узнает, но будет та же проблема, что и сейчас -- несовместимые указатели
Аноним 06/05/20 Срд 19:18:56 1679007480
chel.PNG 30Кб, 505x186
505x186
>>1678989
> Не хватает скобочек
> Двачь что нужно этому ебучему компилятору? Пишет, что не хватает скобочек
Аноним 06/05/20 Срд 19:19:51 1679008481
>>1679000
Double dispatching. Алсо, выше анон предложил оператор delete перегрузить
Аноним 06/05/20 Срд 19:21:32 1679010482
image.png 163Кб, 1920x1039
1920x1039
image.png 171Кб, 1920x1039
1920x1039
>>1679007
Ну так если они есть - я не могу реализовать конструктор в другом файле.
Аноним 06/05/20 Срд 19:24:25 1679011483
image.png 191Кб, 1920x1039
1920x1039
Аноним 06/05/20 Срд 19:44:58 1679031484
>>1679010
>>1679011
Ебануктий блядь, не можешь нагуглить как конструктор в cpp перенести?
Подсказка
> : Object(name);
что такое?
Аноним 06/05/20 Срд 20:12:16 1679063485
>>1679031
Конструктор родительского класса, как я понимаю. И что? Почему я не могу тело конструктора производного класса в cpp перенести-то?
Аноним 06/05/20 Срд 20:13:26 1679065486
>>1679063
у тебя конструктор либо в одном месте, либо в другом. Ты хочешь полконструктора в хедере, полконструктора в срршнике, так не бывает.
Аноним 06/05/20 Срд 22:46:09 1679139487
>>1679011
У тебя ещё и наследование приватное
Ебанёт же
Аноним 06/05/20 Срд 22:50:39 1679143488
Ребят, тыкните меня носом в документацию libevent где речь иде о куках ихо созданиии времени жизни, потомучто я в браузере вижу что они создаются и обратно их через header могуполучить. Убей не могу найти вдокеничего об этом. Спасибо.
Аноним 06/05/20 Срд 23:14:48 1679151489
image.png 45Кб, 1012x533
1012x533
Как запилить пикрелейтед контейнер? Помогите.

https://stackoverflow.com/questions/2620218/fastest-container-or-algorithm-for-unique-reusable-ids-in-c
и
https://codereview.stackexchange.com/questions/108584/container-of-objects-with-unique-ids
читал. Мне не понравились ответы, особенно использование тяжелого математического boost intervals для такой задачи. Хочу послушать вас.
Аноним 06/05/20 Срд 23:18:50 1679153490
>>1679151
Офк не обязательно "запилить" с нуля, можно ссылочки на уже готовые решения/библиотеки :3

Я просто не понимаю как такое гуглить.
Аноним 06/05/20 Срд 23:22:50 1679155491
>>1679153
а в чем проблема? Это похоже на flat_map
Аноним 06/05/20 Срд 23:55:59 1679175492
>>1679155
> похоже на flat_map
Вряд ли. Здесь ключ это автоматический числовой индекс, который выдает сам контейнер.
Аноним 06/05/20 Срд 23:57:29 1679176493
>>1679151
Да по первой ссылке этот интервал только как пара чисел используется без логики. Сделай сам.
В принципе, если самому сделать бинарное дерево свободных индексов вместо std::set, можно за счёт более тонких оптимизаций также получить выигрыш при удалении и мерже интервалов индексов. Но я сомневаюсь, что у тебя настолько нагруженная система.
Аноним 07/05/20 Чтв 00:02:58 1679181494
>>1679176
Хорошо, буду копать в эту сторону. Благодарю.
Аноним 07/05/20 Чтв 02:31:51 1679232495
>>1678409
А в каких странах есть много чего помимо веба?
В РФ и СНГ довольно большой айти рынок, как мне всегда казалось, обусловлено это большим количеством технических вузов, в которых можно бесплатно учиться.
Аноним 07/05/20 Чтв 02:59:06 1679239496
>>1679181
Не нужны тут никакие деревья. Складывай это всё в обычный вектор, плюс рядом храни массив доступных индексов (как стек). Insert = достать из стека индекс, потом по нему сконструировать объект, Remove = вызвать деструктор по индексу, положить индекс в стек. Если захочется итераторы докинуть, где-нибудь надо хранить ещё какое-нибудь битовое поле жив/мёртв. Я сам такое писал, пользуюсь, вещь очень полезная, непонятно, почему не является стандартной структурой данных.
Аноним 07/05/20 Чтв 03:51:27 1679252497
>>1679239
Нашлёпал по-быстрому proof of concept
https://gcc.godbolt.org/z/_B3qp9
По-хорошему, стандартные контейнеры надо выкинуть, памятью рулить вручную. Стек перевернуть, конструкторы/деструкторы вызывать по месту.
Аноним 07/05/20 Чтв 07:30:55 1679277498
Bjarne-stroustr[...].jpg 14Кб, 220x332
220x332
Сап Аноны, программирую на С++ относительно недавно и вот наконец-то дошли руки до многопоточности, уроков и etc. про это всё нашёл достаточно, но меня интересует именно многопоточность в линунксе, а там это всё реализуется насколько я знаю по другому. Посоветуйте молодому и шутливому сайты или что-то такое, где я могу вкурить в мп под линукс. С меня чай.
Аноним 07/05/20 Чтв 08:25:48 1679325499
>>1679277
Тебе, ебануктию, в стандарте многопоточность отвязали от ОС
Аноним 07/05/20 Чтв 08:29:27 1679329500
Есть какие то преимущества многопоточности через винапи, перед стандартной либой?
Аноним 07/05/20 Чтв 09:40:38 1679356501
>>1679329
в винапи есть больше, чем в стандартной библиотеки. Но в среднем - тебе хватит.
Аноним 07/05/20 Чтв 10:14:33 1679369502
>>1679143
я все еще выхожу на связь
Аноним 07/05/20 Чтв 11:16:44 1679414503
Тут есть так называемый нвидия кун. Можешь ли ты сказать о том, где сам учился? Выпускники каких универов там преобладают?
Аноним 07/05/20 Чтв 11:36:00 1679436504
>>1679414
> Выпускники
В макдаке они преобладают. Нормальные работодатели смотрят на опыт и умение работать с нужными им технологиями
Аноним 07/05/20 Чтв 12:00:54 1679467505
>>1679436
Как это отменяет его вопрос? Статистика есть статистика, а твоё мнение -- это твоё мнение.
Аноним 07/05/20 Чтв 12:15:20 1679485506
Анон, debug-билд моей библиотеки очень медленный. Я выкидывал куски, проверял, как работают отдельные детали, и сильное снижение производительности дает проход по std::vector. Гугл подкинул, что в MSVC действительно крайне медленная реализация вектора и лучше брать кастомные решения. Я взял, и ничего не изменилось.
Отлаживать библиотеку просто невозможно. Она активно дергается другим приложением, и дебажный билд тормозит это приложение раз в 100. Даже всего лишь один проход.
Что делать? Есть ли смысл переписывать вектор в сишный массив? Вектор же вроде итак всего лишь обертка вокруг массива.
Аноним 07/05/20 Чтв 12:19:19 1679490507
Аноним 07/05/20 Чтв 13:24:55 1679563508
аноны, помогите, я нуб. у меня есть ф-ция myFunc1 из класса MyClass1 и ф-ция myFunc из класса MyClass2, как мне передать myFunc1 в функцию myFunc2 в качестве параметра?
Аноним 07/05/20 Чтв 13:27:49 1679567509
Screenshot20200[...].jpg 134Кб, 720x1280
720x1280
Screenshot20200[...].jpg 158Кб, 720x1280
720x1280
Screenshot20200[...].jpg 163Кб, 720x1280
720x1280
Почему пик на 28 итерации начинает выводить хуйню? Для сравнения 3 на питоне правильный
Аноним 07/05/20 Чтв 13:41:33 1679588510
123.png 62Кб, 1298x601
1298x601
>>1679563
Один из многих способов.
Аноним 07/05/20 Чтв 13:43:11 1679594511
>>1679588
upd:
19-ая строчка лишняя, необязательно создавать объект класса MyClass1, сорян
Аноним 07/05/20 Чтв 13:54:13 1679613512
>>1679567
Минимальное значение для переменной типа LongLong: -9 223 372 036 854 775 807-1
Аноним 07/05/20 Чтв 13:56:59 1679616513
>>1679567
Смотреть как нубы наматываются на IEEE-754 можно вечно.

алсо, ты что на телефоне кодишь, поехавший
Аноним 07/05/20 Чтв 14:02:39 1679626514
>>1679567
у тебя underflow, макакен :-)
Аноним 07/05/20 Чтв 14:54:48 1679684515
.png 251Кб, 2335x2163
2335x2163
Ебать, я тупой походу... Все делаю по гайду https://www.cs.bu.edu/teaching/cpp/writing-makefiles/ Даже дебилограмму нарисовал для себя. При попытке выполнить мейкфайл, начинает срать непонятной хуйней про какое-то множественное определение массива строк MessageException. Я понимаю суть ошибки, но я не понимаю от куда она В МОЕМ КОНТЕКСТЕ приложения. Все наглядно есть в пике.

Кстати, там еще у меня вопрос насчет codes_exception.h Не совсем понятно, нужно ли его в данном случае упоминать вообще в мейкфайле, но подозреваю, что нет, ибо от него ни один .cpp/.c файл не зависит, а значит и не нужно собирать еще один .o файл.
Аноним 07/05/20 Чтв 15:14:23 1679714516
>>1679684
В чем смысл делать коды эксепшенов? В этом же вроде и есть приемущества эксепшенов, что не нужно создавать 100500 кодов ошибок для всего.
Аноним 07/05/20 Чтв 15:17:01 1679721517
>>1679714
Коды для - идентификации, мой велосипед - для удобства вызова нужного исключения.
Аноним 07/05/20 Чтв 15:24:17 1679737518
>>1679684
Ты объявил глобальную переменную (MessageException) в заголовке. Её надо перенести в cpp, а в заголовке оставить только extern-ссылку на неё (если нужно).
Аноним 07/05/20 Чтв 15:33:09 1679747519
>>1679737
Почему тогда на enum не жалуется? И как вообще правильней будет поступать в таком случае? Как ты сказал? Или есть вариант лучше?

Пока писал, решил на обум добавить const перед string и ошибка пропала. Т.е. константы define и const <type> можно без externов и выноса в src файлы использовать? И, видимо, enum тоже является "константой" в этом смысле. Или я не правильно все предположил?
Аноним 07/05/20 Чтв 17:44:03 1679922520
>>1679747
Да, const тоже пойдет.

На enum не жалуется, потому что это объявление типа -- оно никак не "вытекает" из cpp-файла. Для языка нормально, что одни и те же объявления типов копипастятся в каждый cpp. Макросы define тоже действуют только на тот модуль, где они объявлены.
А вот глобальные переменные и функции экспортятся из cpp, поэтому на них линкер ругается, если находит дубликаты.
Аноним 07/05/20 Чтв 17:52:24 1679934521
suuuqaaaAAAA-fs8.png 49Кб, 820x989
820x989
3563465-fs8.png 63Кб, 986x1002
986x1002
Анон знакомый с Qt (и ООП в плюсах), выручай

Что вот этой блядине надо? Накопал уже инструкцию, свежую 2020г степ-бай-степ для тупых долбоебов все как я люблю https://extenly.com/2020/01/29/integrating-qt-to-qml-step-by-step-beginner-guide/

Ииии..... Нихуя оно одним и тем же мне ебет мозги

Алсо, знаком с ООП в разных языках и в плюсах в принципе писал что то на классах без наследования но вот здесь уже ебала какая то, и на плюсы это даже не похоже, чисто сишная запутаная поебень.
Аноним 07/05/20 Чтв 17:56:57 1679942522
>>1679934
Как минимум в конструкторе надо сделать так
: QObject(*parent)
Аноним 07/05/20 Чтв 18:09:01 1679951523
Аноним 07/05/20 Чтв 18:09:44 1679954524
А игры магу делать на с++? На анрил, мне полностью язык учить или можна лишь часть?
Аноним 07/05/20 Чтв 18:11:14 1679955525
>>1679942
Хотя ты сделал, я не увидел.
Аноним 07/05/20 Чтв 18:17:13 1679962526
5462523.png 248Кб, 969x1038
969x1038
>>1679942
Таааак уже интересней (или нет, хз).
Я уже такое получал с другой правда хуйней, на стаке пишут копию нельзя чего то блять там
https://stackoverflow.com/questions/1779438/error-with-qobject-subclass-and-copy-constructor-qobjectqobjectconst-qobj
Какую копию, чево блять, у нас же скелет класса в заголовочном файле типа и мы ему просто методы определяем уже в программе не?

Нихуя сука вообще не понимаю чего делаю.
Аноним 07/05/20 Чтв 18:18:52 1679964527
>>1679951
Пробовал но помоему оно приводит к такой же хуйне как >>1679962
Тоже вызов удаленного хуй пойми че к чему
Аноним 07/05/20 Чтв 18:20:33 1679967528
Аноним 07/05/20 Чтв 22:06:49 1680256529
>>1679467
Вопрос изначально тупой
Ноудискач
Аноним 07/05/20 Чтв 22:10:00 1680262530
>>1679490
оно тебя сожрёт нахуй
Анон, если хочешь так сделать, придется все библиотеки в проекте пересобирать с этим флагом. И всем пользователям твоей библиотеки тоже.
Аноним 07/05/20 Чтв 22:47:56 1680305531
>>1680262
И нихуя не сделать. Либо дебаг билды вот такие, либо адово медленные.
Аноним 14/05/20 Чтв 13:29:51 1687645532
Прорамач, объясни дураку пожалуйста как создавать qm файлы и как их подрубать к проекту.
Прочитал в справочники Qt о QTranslator и ничего не понял.
Вопрос именно с созданием qm файлов.
Спасибо.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов