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

Ответить в тред Ответить в тред
C++ тред #120 /cpp/ Аноним 16/10/20 Птн 02:17:48 18316511
cpp1.png 59Кб, 1280x1439
1280x1439
s3.jpg 83Кб, 1230x1016
1230x1016
s2.png 94Кб, 817x454
817x454
s1.png 139Кб, 826x616
826x616
Аноним 16/10/20 Птн 02:29:10 18316542
38225a.jpg 67Кб, 500x651
500x651
Первый, как обычно.
Аноним 16/10/20 Птн 03:50:50 18316613
Вкатился на указателе
Аноним 16/10/20 Птн 05:09:24 18316754
image-dvach-b-2[...].jpeg 167Кб, 853x1280
853x1280
Вкатился с лучшей девочкой
Аноним 16/10/20 Птн 09:36:32 18317015
Пачаны какую ide кто использует на линуксе? Желательно не сильно продорливую.
По возможностям интересует:
Адекватное автодополнение, как стандартной библиотеки, так файлов проекта.
Ну понятно дебаггер, желательно, чтоб можно было выставлять условия для брейкпоинта. Да и очень хотелось бы иметь возможность пробежаться по стеку вызваных функций.
Подсказка типа переменной, например когда используешь auto либо просто встретил по коду, чтоб не лезть в объявление.
Возможность работы с cmake.
Какие-нибудь более-менее удобные средства работы с гит.
Ну в принципи и все основное наверное.
Аноним 16/10/20 Птн 09:44:33 18317046
>>1831675
У этой девочки мужская писька?
Аноним 16/10/20 Птн 11:00:56 18317397
Аноним 16/10/20 Птн 11:09:42 18317458
>>1831701
NeoVim + Coc + NvimGdb + GitGutter
Аноним 16/10/20 Птн 12:10:19 18317809
>>1831701
Vs code - без пердолинга, полет нормальный и по всем твоим пунктам подходит
Аноним 16/10/20 Птн 12:10:51 183178310
>>1831651 (OP)
Короче, немного подосвоил теорию по simple code и ravesli, но понял что это всё быстро забывается и нужно чтобы каждая тема сопровождалась практической задачей, с повторением предыдущей темы. Учебники в шапке для этого я так понимаю не подходят. Как быть? денех на курсы нет
Аноним 16/10/20 Птн 13:59:44 183190611
>>1831745
>GitGutter
Спасибо, украл.
Аноним 16/10/20 Птн 14:05:21 183191412
Аноним 16/10/20 Птн 15:43:32 183202913
>>1831914
А задачи по пройденным темам?
Аноним 16/10/20 Птн 17:09:08 183210614
Как стать джуном в Беларуси? Вакансий 0, планирую ебать питон
Аноним 16/10/20 Птн 18:10:55 183215415
>>1831745
Cock тебе за щеку, консолеблядь
Аноним 16/10/20 Птн 18:55:38 183219116
Чекнул гайд, решил попробовать вкатиться (один хуй в унике это преподают посредственно, решил изучать сам). Подойти хочу основательно, в гайде рекомендуют почитать про "алгоритмы, архитектура пк, операционные системы", посоветуйте книжек на темы выше.
Аноним 16/10/20 Птн 19:06:07 183220217
>>1832191
если ты прямо серьезно хочешь вкатиться - то пиши код. Читателей тут полный двач, а код надо уметь писать.

И только попутно, совсем немного времени - стоит посвящать чтению. От себя скажу, что читал танненбаума и windows internals - имхо, хуйня. Гораздо лучше сделать самому какой-нибудь проект который тарабанит операционку, и разбираться с этим
Аноним 16/10/20 Птн 19:10:02 183220418
>>1832202
Код я так или иначе простенький пишу, но все равно сам осознаю, что знаний в алгоритмизации не хватает.
Аноним 16/10/20 Птн 19:32:10 183221919
>>1832191
Просто вбиваешь в гугле: книги по теме_нейм
Тебе в первом же сайте огромную подборку даст


Аноним 16/10/20 Птн 19:32:10 183222020
>>1832191
> алгоритмы
Вот дофига же в Вики, с картинками и псевдокодом. А гугуль прям заваливает слайдами про деревья и прочее. Берешь и пишешь свою библятеку
Аноним 16/10/20 Птн 21:45:41 183230821
Аноним 17/10/20 Суб 11:42:49 183254622
15826630450630.png 27Кб, 546x565
546x565
>>1831780
>запускать отдельный хром для редактирования кода
Аноним 17/10/20 Суб 12:41:37 183256623
Можно же в qt потом добавить набор в проект? То есть при создании указать винду, а потом установить и добавить андроид?
Аноним 17/10/20 Суб 13:39:02 183259424
И что бы обновиться с 14 на 15 qt мне надо полностью 15 скачивать?
Аноним 17/10/20 Суб 14:07:42 183260125
Аноним 17/10/20 Суб 14:45:14 183262426
Посоветуйте проектов на гите которые стоит почитать вкатышу после 1 книги Страуса. Чисто почекать решения и реализации алгоритмов и неймспейсов других людей. + Ещё каких-нибудь старых игр с рандомной генерацией карт.
Аноним 17/10/20 Суб 14:52:55 183262627
Итак, у меня тут случилась БОЛЬ. Пишу не первый год, но попал в тупик.
Сначала вводные:
1. Компилятор MSVC, тулсет v141, стандарт С++17
2. Платформа - Windows, соответcвенно sizeof(wchar_t) == 2

Есть txt файл в кодировке UTF-16LE, BOM присутствует, концы строк - \r\n (\r и \n конечно тоже по два байта) . Могут присутствовать суррогатные пары utf-16 (когда один unicode codepoint кодируется не 16 битами а парой 16 битных значений из оговорённого диапазона)

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

wifstream inFile(L"file.txt"); //опционально с ios::binary
wstring line;
std::readline(inFile, line);

- не подходит - поток без codecvt facet читает по одному байту и конвертит каждый байт в wchar_t и получается фигня, кроме того останавливается посередине L'\n' начиная следующую строку с \0.
codecvt_utf16<wchar_t> помог бы, но во-первых он deprecated, во-вторых он не корректно конвертит суррогатные пары - потому что потоки могут только в преобразование N:1, и поэтому этот facet читает 4 байта, получает правильный codepoint и обрезает его по границе 16 бит (размер wchar_t)
Помог бы codecvt_utf16<char32_t> (тоже естественно deprecated), но MS его поломали - не сделали где-то dllexport и хер забили чинить (да и специализации потока для char32_t тоже нет).

Велосипедить разбор файла самому через IS_HIGH_SURROGATE и прочее крайне не хочется - можно легко проебаться.

Куда ещё посмотреть? Бустовские io потоки? (никогда их не использовал, и хотелось бы тут обойтись по возможности без буста) Pure C stdio? Может в Winapi что-то есть а я неправильно ищу?
Аноним 17/10/20 Суб 16:06:47 183272228
qmake или cmake для qt?
Аноним 17/10/20 Суб 16:48:03 183279329
Аноним 17/10/20 Суб 19:31:39 183293130
Еду тут в метроу и в мозг стукнула идея алгоритма для сверки строк. Короче, читаем нужное число строк, и в цикле читаем посимвольно переводя символ в инт и добавляя в соответствующую переменную. Потом тупо сверяем все интовые переменные и радуемся. Нормально чи не нормально? Как по скорости выйдет?
Без рофлов, я учусь 2 недели.
Аноним 17/10/20 Суб 19:49:17 183295331
Аноним 17/10/20 Суб 19:54:07 183295832
>>1832953
А если нужно сравнить пару файлов в несколько кб весом?
Аноним 17/10/20 Суб 20:08:57 183296933
>>1832953
Он не про единую переменную для строки, он - долбоёб.
Аноним 17/10/20 Суб 20:19:33 183298534
>>1832969
Нет ты, что не так то?
Аноним 17/10/20 Суб 20:21:42 183299035
>>1832931
винрар, который мы заслужили
Аноним 17/10/20 Суб 20:23:54 183299236
>>1832931
Ты знаешь как вообще данные в компе хранятся? Ему похуй символ это или целое число. В конце концов он все равно циферки сверяет. Так зачем сначала эти циферки в число загонять, если можно просто символы сравнить сразу?
Аноним 17/10/20 Суб 20:31:32 183300237
>>1832626
Считай весь файл в память и сконвертируй в массив 32 бит символов сам

>дин unicode codepoint кодируется не 16 битами а парой 16 битных значений из оговорённого диапазона
Это определяется первыми битами, несложно обработать.
Аноним 17/10/20 Суб 20:33:22 183300538
>>1832931
А если строки в разной кодировке? А если перевод строки в одном случае виндовский в другом линуксовый?
Аноним 17/10/20 Суб 21:36:20 183309739
Есть какие нить книги для тех кто из мира жавы хочет почитать про с++?
Аноним 17/10/20 Суб 23:28:40 183316440
>>1831701
Из всего на чем работал QT creator лучшая, ИМХО
Аноним 17/10/20 Суб 23:52:36 183317441
>>1833005
Ты ещё скажи "а если юникод в разной степени нормализации"
Аноним 18/10/20 Вск 00:50:01 183320242
>>1833002
Я конечно могу так сделать (а точнее, уже попробовал перед тем как задавать вопрос и мне не понравилось), но

>Велосипедить разбор файла самому через IS_HIGH_SURROGATE и прочее крайне не хочется - можно легко проебаться.
Аноним 18/10/20 Вск 00:54:49 183320643
Аноним 18/10/20 Вск 01:11:08 183321644
>>1831704
Ты что, Тоню не знаешь?
Аноним 18/10/20 Вск 01:14:14 183322445
>>1831651 (OP)
На каком году изучения крестов надо понимать этот код?
Аноним 18/10/20 Вск 01:16:09 183322646
>>1833224
можно быть принципалом в FAANG, и не понимать этот код. Это адовая эзотерика, которую даже какой-нибудь Полухин не сразу распарсит
Аноним 18/10/20 Вск 01:30:16 183324547
>>1833226
Ну первое как-то ещё легко воспринимается, остальное специфично конечно.
Аноним 18/10/20 Вск 03:07:43 183328048
Аноним 18/10/20 Вск 03:11:33 183328349
>>1832106

Сначала становишься рядовым программистом. Потом сержантом. А уж потом младшим лейтенантом.
Аноним 18/10/20 Вск 03:17:42 183328550
>>1833224
Первое, что тебе нужно понять на нулевом дне обучения, это то, что код должен быть всегда отформатирован, а не как на оп-пиках.
Аноним 18/10/20 Вск 04:59:56 183330051
image.png 11Кб, 459x207
459x207
Сап, пытаюсь сгенерировать GLFW файлы цмейком. Но компилируются почему-то под 32 разрядную винду. Пишет что упустило какой-то pthread и doxygen. Не генерируется либа glfw3.lib. Гугл ничего толкового не выдаёт.
Аноним 18/10/20 Вск 11:48:52 183337452
>>1831651 (OP)
Сап, тут есть аноны имевшие опыт с qml? Пишу приложение мобильное на нём, почти написал весь ui, и готов но остались некоторые вопросы.
Аноним 18/10/20 Вск 12:26:52 183338653
>>1833374
js-тред два блока ниже
Аноним 18/10/20 Вск 15:11:30 183352954
>>1833386
да ёпта, зашёл в андроид спросил, направили сюда, отсюда в жс, поликлиника ебучая
Аноним 18/10/20 Вск 15:41:33 183354655
>>1833300
Ну и?
Ты дальше продолжал сборку?
Аноним 18/10/20 Вск 19:30:55 183375656
>>1833374
скайп/вайбер, яндекс деньги, 700р час, устроит?

Аноним 18/10/20 Вск 19:32:53 183375957
>>1833280
имхо, он выглядит как 100% гетеросексуал
я понимаю что анонимныц ресурс и можно оскорблять как угодно, но..
Аноним 18/10/20 Вск 19:39:58 183377058
>>1833759
И мало того, он женат. Пересекался на конфах.
Аноним 18/10/20 Вск 20:33:09 183387859
Аноним 18/10/20 Вск 21:17:02 183393460
Аноним 18/10/20 Вск 21:17:30 183393561
>>1833756
вебкам уже и сюда добрался?
Аноним 18/10/20 Вск 21:41:54 183396362
Шапке можно верить или лучше загуглить роадмап самому?
Аноним 18/10/20 Вск 21:47:06 183396863
>>1833224
просто вгрызаешься в
шаблоны вандервуда
и
последнюю книгу майерса
часов 300 усиленной дрочки и все
читать и понимать будешь

если по 10 часов в день ебашить, то месяц
+10 часов спишь в полной темноте, 2 часа жрать, срать, дрочить
Аноним 18/10/20 Вск 23:17:16 183401364
>>1833963
шапке миллиард лет
Аноним 18/10/20 Вск 23:45:19 183403765
>>1833968
>если по 10 часов в день ебашить
то сдохнешь через месяц.
я не понимаю зачем люди пытаются впихнуть невпихуемое, типа вызубрить жабакор хортсмана за неделю, меня через час потянуло сжечь его, или записатся на курсы чтобы отдать дохуя денег и получить выгорание, ненависть к програмированию в целом и проблемы со здоровьем от переутомления, вместо того чтобы изучать язык в своем темпе, сорт мазохизма что ли такой.
Аноним 19/10/20 Пнд 00:05:48 183405466
>>1831651 (OP)
Проиграл с оппиков.
Никогда раньше не встречал вариадик темплейты, даже не задумывался об их существовании
Аноним 19/10/20 Пнд 01:40:12 183408567
>>1834037
написал же, спишь 10 часов при этом
помимо еды и сранья, еще останеться 2 часа на чередование прогулки и силовой зарядки
в таком режиме можно год прожить
итого 3к+ часов в год
за три года 10к часов, а обычно 10к часов растягивают на 10 лет
10к часов это минимум, необходимый в том чтобы детально разобраться в некой сложной сфере деятельности, стать мастером
Аноним 19/10/20 Пнд 02:38:04 183410168
>>1834085
Про 10к часов правда - а вот про месяц неправда, мозг не сможет, там тупо не выстроятся связи. Да еще ему надо делать это в фоне, когда ты не думаешь о теме активно. Да еще кривая забывания, чтобы повторять первые темы. Так что ты быстро упираешься в предел понимания, пока какая то предыдущая тема не усвоится, ты с какой то сложности будешь видеть тупо буквы, не понимая что происходит. Да еще тебя на второй неделе блевать потянет от однообразия, что ты потом месяцами программирование видеть не захочешь. Кроме того узкий специалист подобен флюсу, так что надо еще какие то предметные области осваивать и вообще саморазвиваться. Вот так и выходит 5 лет.
Аноним 19/10/20 Пнд 09:20:30 183420669
>>1834101
простая физиология мозг в момент концентрации потребляет до 25% всей энергии организма и долго в таком напряжении работать не будет.
Аноним 19/10/20 Пнд 09:37:15 183422670
>>1834101

>Кроме того узкий специалист подобен флюсу

А других специалистов не бывает - либо он узкий, либо не специалист,а, в лучшем случае, мамкин эрудит по верхам.
Аноним 19/10/20 Пнд 09:39:13 183422971
>>1834206
>простая физиология мозг в момент концентрации потребляет до 25% всей энергии организма и долго в таком напряжении работать не будет.

Потому что мозг надо с детства было развивать, книжки там читать, головоломки решать всё свободное время, а не к быдлодрузяшкам во двор бегать в сифу и прятки играть.

Взрослый мозг ясен хуй уже не разовьешь, тут судьба только охранником в пяторочку, только хардкор.
Аноним 19/10/20 Пнд 10:31:00 183425972
>>1834229
и он все равно будет потреблять столько же и не хотеть работать, неважно как ты его развивал, а будешь заставлять его реально пахать по 10 часов в день через пару недель получишь нервное истощение, тревожность, бессонницу и депрессию, я говорю по своему опыту прошедшему через кранчи.
с такой аргументацией пройди в мвп тред, там такое любят.
Аноним 19/10/20 Пнд 11:01:34 183428673
А может вы лучше найдёте то, что вам нравится? ¯\_(ツ)_/¯
Аноним 19/10/20 Пнд 11:28:16 183432274
>>1834286

Проблема в том что

НРАВИТСЯ != МНОГАДЕНЕГ.

МНОГАДЕНЕГ = ВОРОВАТЬ OR ВЬЕБЫВАТЬ, УМЕНЬШАЯ ПРОДОЛЖИТЕЛЬНОСТЬ ЖИЗНИ, ПРИЧЕМ БЕЗ ВАРИКА ИХ ПОТРАТИТЬ НА ТО ЧТО НРАВИТСЯ ПО ПРИЧИНЕ ОТСУСТВИЯ ВРЕМЕНИ НА СОБСТВЕННО ЖИЗНЬ
Аноним 19/10/20 Пнд 11:29:41 183432375
>>1834322

Именно по этой причине у звезд шоубизнеса пьянство разврат и наркотики - потому что жизнь есть только в трейлере в поездках от гига к гигу.
Аноним 19/10/20 Пнд 11:48:02 183434376
Есть набор фактов вроде
"BAD_WEATHER", "TIRED"
и набор правил вида
"BAD_WEATHER & TIRED -> BAD_MOOD"
, результат которых - новый факт. Факты и правила задаются из файла в рантайме. Результат работы программы - набор фактов

Вот над подобной задачей туплю, как это архитектурно реализовать красиво?
Аноним 19/10/20 Пнд 12:08:01 183436677
>>1834343
Поддвачну вопрос, я похожее реализовывал через битовые флаги
Аноним 19/10/20 Пнд 12:24:52 183437578
Аноним 19/10/20 Пнд 13:20:43 183445579
>>1834343
клаузы Хорна второго порядка
Аноним 19/10/20 Пнд 13:34:46 183446480
>>1831745
>>1833934
могли бы поделиться вашими конфигами для них? с emacs я правда дел не имел, а вот вим обычный одно время использовал, правда в рамках typescript, ну честно заставить корректно работать автодополнение у меня не получилось, подсвечивал кучу слов нет носящихся к интерфейсам слов. Но пердолить конфиг до нормального состояния, это хз сколько времени удить нужно. А так бы попробовал зайдет или нет.
Аноним 19/10/20 Пнд 13:43:48 183446781
>>1834343
Просто FSM не подойдет?
Аноним 19/10/20 Пнд 14:16:29 183448982
Страуструповские графлибы на fltk сейчас актульны вообще или всё qt вытеснил?
Аноним 19/10/20 Пнд 14:58:48 183452083
>>1834489
гуй надо писать на шарповой Авалонии
Аноним 19/10/20 Пнд 15:03:28 183452484
>>1834520
А что не на электроне? Нахуа вообще нужен шарп если знаешь плюсы?
Аноним 19/10/20 Пнд 16:10:59 183457785
>>1834524
Я не он, но отвечу.
Как мне кажется, из-за отсутствия событий и делгатов, сборщика мусора и рефлексии, при написании сколько-нибудь сложных гуёв приходится сооружать совершенно монструозные велосипеды или использовать чужие - MFC с его message map, Qt с signal/slot, что-то там ещё в UWP (не сталкивался лично, может не прав и там всё норм - а может похоже на шарп).
Зачем же вообще писать гуй на плюсах? Ну, бывает что по ряду причин шарп не подходит. Например, недопустим managed код (рантайм), или гуй связан с байтоеблёй, WinAPI, драйверами, COM и создание биндингов неуместно/неудобно.
Аноним 19/10/20 Пнд 18:02:02 183469986
>>1834577
Не, ну учить язык чтобы пилить красивые гуишки без вспомогательных средств это сильно. Такое реально достойно уважения + затраченного времени.
Аноним 19/10/20 Пнд 18:06:33 183470887
>>1834577
> Зачем же вообще писать гуй на плюсах?
Да, лучше взять очередное говно на электроне которое будет для примитивнейших программ жрать память как целая ОС.
Аноним 19/10/20 Пнд 20:53:03 183484888
>>1834708
Дак яи не спорю. А электрон (там же js?) чтобы побыстрее хуяк хуяк и в продакшн.
Аноним 19/10/20 Пнд 22:21:18 183489689
gui c++.PNG 53Кб, 1425x860
1425x860
>>1834577
Пишу в свободное время свой ГУИ на плюсах, с использованием SFML правда, но потом заменю на опенГЛ или другую хуйню. Можете оценить зачатки моего говна
Аноним 19/10/20 Пнд 22:38:24 183490490
>>1834896
Мда, тебе бы основы дизайна пройти
Кстати, возможно ли сделать гуи одного приложения на Линукс который максимально повторяет все кнопки приложения на винде? Такой же крестик, шрифты, и т.д. На винде обратное видел - гтк выглядит прям как линуксовый
Аноним 19/10/20 Пнд 22:44:31 183490991
image.png 108Кб, 1366x768
1366x768
Как грамотно распарсить пикрил. Нужно только 2 столбца и всех этих. Просто getline, потом делать cin пока до нужного столбца не дойду?
Аноним 19/10/20 Пнд 22:45:31 183491092
image.png 108Кб, 1366x768
1366x768
Аноним 19/10/20 Пнд 22:59:18 183491893
>>1834909
берешь getline и парсишь строку по символу '\t' судя по всему
Аноним 19/10/20 Пнд 23:16:59 183492994
>>1834909
Скопировать в эксель..
Аноним 19/10/20 Пнд 23:40:31 183495095
>>1834896
Симпатично
Тоже тыкаю sfml
Аноним 19/10/20 Пнд 23:41:07 183495196
Аноним 19/10/20 Пнд 23:52:51 183496097
Памагити, начал изучать синтаксис с++, вначале я был полон сил, сейчас дальнейшее изучение туманно, так как не вижу денежной выгоды, кто в этом вертится подскажите актуальность языка на ближайшие 10 лет
Аноним 19/10/20 Пнд 23:57:26 183496798
>>1834960
Актуальна любая технология, на которой ты можешь приносить пользу. Даже С++.
Аноним 20/10/20 Втр 00:03:11 183497499
>>1834960
>кто в этом вертится подскажите актуальность языка на ближайшие 10 лет
В ближайшие 10 лет он никуда не денется.
Вообще актуальна версия, что чем дольше язык живёт, тем дольше он будет умирать. Сейчас плюсы очень активно развиваются (быстрее чем когда-либо) и уходить не собираются.

Другое дело, что вкатываться в них долго и сложно. Особенно сложно искать первую работу.
Аноним 20/10/20 Втр 00:08:18 1834977100
>>1834974
и последующие, провел 5 лет на с++ и Qt, везде оказалось нужно STL я иду на хуй, на двух собесах дропнули, на третьем взяли на 90 т.р. и то им нужны были тупо любые программеры которые не слишком тупо излагали
Аноним 20/10/20 Втр 00:11:05 1834982101
>>1834974
>плюсы очень активно развиваются
Почему так, анон? С 90-x и 00-х то их популярность явно упала.
Аноним 20/10/20 Втр 00:12:29 1834985102
Нужно познать основы с++ для начеркания софтин типа списков, для домашнего использования. Образование не ИТ, скилы в коде заканчиваются ХТМЛ и немного цсс. Буду идти по гайдам на ютубе наверное. Какой посоветуете ide на окна, чтобы с компилятором, блекджеком и шлюхами?
От мелкософта не хочу ставить, ботнет
Аноним 20/10/20 Втр 00:16:59 1834991103
>>1834977
5 лет писать и не знать СТЛ? Серьезно?
Аноним 20/10/20 Втр 00:17:28 1834993104
>>1834985
от мелкософта - ИДЕ стандарт индустрии
Аноним 20/10/20 Втр 00:19:06 1834994105
>>1834982
С популярностью вопрос спорный.
Индустрия развивается, появляются новые ниши, старые перераспределяются.
Для некоторых задач появились более подходящие инструменты (а иногда эти инструменты специально развиваются в каком-то более профильном направлении).

За пределами отдельно взятой сферы про их технологии можно и не слышать вовсе. Если быть "в курсе", то в плюсовом мире постоянно что-то происходит, msvc бешеными темпами подпиливает фичи, чтоб соответствовать стандарту, иногда даже gcc с clang'ом не поспевают, комитет тоже трудится, на выступлениях много всего интересного обсуждается.

Ну то есть происходит всё то же самое, что и в любой сфере.

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

>>1834991
У них там в Qt свой мир со своей парадигмой, стандартной библиотекой и макросами

>>1834985
>Какой посоветуете
Посоветую не плюсы, они под твои критерии не подходят.
Возьми шарп.
Аноним 20/10/20 Втр 00:21:01 1834998106
>>1834993
Я понимаю, но пытаюсь по возможности избегать софта проприетарного. Но если так, подожду еще ответов и наверное его накачу.

>>1834994
а меж языками С разница большая в синтаксисе и в общем плане? Слышал что не проблема выучить сразу несколько родовых.
Аноним 20/10/20 Втр 00:31:09 1835011107
>>1834998
В синтаксисе есть общие элементы, но в целом языки достаточно сильно отличаются друг от друга.

>Не проблема
Если знаешь один, то разобраться в другом будет легче, но не более.
Концепции и модели использования всё равно будут отличаться, так что придётся получать опыт.
Я вообще два новых языка учу сейчас в добавку к имеющимся, но это занимает много времени. "Не проблема" - неоднозначное понятие.
Аноним 20/10/20 Втр 00:31:51 1835012108
>>1834982
Было стадо языков на которых можно писать быстро но некачественно. Плюсы сделали выводы и позаимствовали много концепций, позволяющих писать по современному, но чтобы все осталось прлизводительным.
Аноним 20/10/20 Втр 00:33:16 1835013109
>>1834994
>>1835012
Короче когда другие уйдут плюсы всё ещё будут живы?
Аноним 20/10/20 Втр 00:33:18 1835014110
Аноним 20/10/20 Втр 00:33:48 1835015111
>>1834998
>Я понимаю, но пытаюсь по возможности избегать софта проприетарного
Не будь шизоидом. Либо ты сидишь под соснолькой в ОпенБЗД, либо не парься. Весь мир, весь энтерпрайз, все правительства, все военки сидят под виндой. Но ты боишься, что товарищ майор запалит, что ты прон с конями смотришь.
Аноним 20/10/20 Втр 00:35:47 1835019112
>>1835013
Другие — это кто? Шарп никуда не уходит, джава никуда не уходит. Даже Си никуда не уходит.
Аноним 20/10/20 Втр 00:39:23 1835021113
>>1835019
Ну вот в каком-нибудь 2077 какой прок будет от жопаскрипта, питона, сукасярпа, явы?
Аноним 20/10/20 Втр 00:41:42 1835022114
>>1835014
А там разве есть компилятор?
Аноним 20/10/20 Втр 00:58:52 1835027115
>>1835022
Clang возьми или тот же gcc
Настроишь за день и навсегда
Аноним 20/10/20 Втр 01:09:01 1835030116
>>1835021
Не знаю. И тебе не надо знать про 2077.
Аноним 20/10/20 Втр 01:36:12 1835038117
Есть шаблон

template<typename T>
void BufferObject::allocate(const std::vector<T>& data, DrawMode mode) { ... }

А после навалено это

// explicit template definitions for common OpenGL types

template void BufferObject::allocate<GLboolean> (const std::vector<GLboolean>& data, DrawMode mode);
template void BufferObject::allocate<GLbitfield>(const std::vector<GLbitfield>& data, DrawMode mode);
template void BufferObject::allocate<GLbyte> (const std::vector<GLbyte>& data, DrawMode mode);

и т.д. для, походу, всех всех/большинства стандартных OpenGLовых typedefов. g++ ругается:

error: duplicate explicit instantiation of 'void zrv::BufferObject::allocate(const std::vector<T>&, zrv::BufferObject::DrawMode) [with T = int]' [-fpermissive]
template void BufferObject::allocate<GLsizei> (const std::vector<GLsizei>& data, DrawMode mode);

и т.д. для 10 из 14 типов. Я правильно понял, что причина в том, что некоторые тайпдефы пересекаются? Что таки делать?
Аноним 20/10/20 Втр 01:39:19 1835039118
Аноним 20/10/20 Втр 01:39:37 1835040119
>>1835038
Смотри, где предыдущее объявление.
Если код не библиотечный, смотри кто написал и спрашивай у него, зачем он это написал.
Аноним 20/10/20 Втр 01:48:51 1835042120
>>1835040
Нет предыдущего объявления, похоже, что проблема в том, что

typedef int GLint
typedef int GLsizei

поэтому нет проблем с

template void BufferObject::allocate<GLint> (const std::vector<GLint>& data, DrawMode mode);

но на

template void BufferObject::allocate<GLsizei> (const std::vector<GLsizei>& data, DrawMode mode);

происходит то, что происходит
Аноним 20/10/20 Втр 02:23:00 1835054121
>>1835042
Удаляй лишнее тогда. или используй то, что тебе коноплятор предложил, -fpermissive, но где-то будет грустить один некочан
Аноним 20/10/20 Втр 09:02:48 1835119122
>>1834929
А Эксель перевод строки внутри поля воспримет?
Аноним 20/10/20 Втр 09:36:22 1835132123
>>1831651 (OP)
Можете показать нормальные примеры натягивания Си-каши на современные кресты? Пердолю Вулкан и это пиздец. Всё зависит от всего, для нормальной инкапсуляции в классах надо везде лепить костыли, уже вчера словил цикличную зависимость в этом пиздеце и дебажил час. Как вообще работать с этим не в Си-стиле? В туториалах к Вулкану вообще в один класс сваливают портянки из 2к строк, выглядит как пиздец.
Аноним 20/10/20 Втр 10:12:55 1835142124
Аноним 20/10/20 Втр 11:05:13 1835161125
>>1835132
Я вот так примерно делал.
https://gcc.godbolt.org/z/oPMTqz
Если хочется как-то обернуть, придётся смириться с избыточным хранением хэндлов где попало.
Я оборачивал так, чтобы во-первых, не уйти сильно далеко от вулкана мои хэндлы напрямую кидаются в функции вулкановские из-за возможности неявно кастовать, во-вторых, чтоб деструкторы были, и чтобы всю многословность вулкана с кучей опциональных параметров скрыть куда-нибудь к хуям.
Аноним 20/10/20 Втр 11:19:51 1835166126
>>1835161
Неплохо, но...
Почему сишный интерфейс, а не официальный vulkan.hpp из SDK?
Почему не С++20?
Производительность не сосёт с таким?
Аноним 20/10/20 Втр 11:30:00 1835179127
>>1835166
Почему не .hpp? Хуй знает, наверное, я о его существовании даже не знал. Или знал, но почему-то выбрал сишку. Не помню.
Не с++20 потому, что писалось, когда ещё не с++20. Ну и рановато пока, я в следующем году буду всякое своё говно на двадцатые плюсы переносить.
Производительность -- это ты про исключения? В Release конфиге у меня на все функции навешивается noexcept, и проброс исключения заменяется std::terminate. Но я задумываюсь о том, чтобы это убрать, потому что вроде и с исключениями не сосёт.
Аноним 20/10/20 Втр 12:08:48 1835209128
>>1835166
А этот их vulkan.hpp хорош, зараза. Спасибо за инфу.
Аноним 20/10/20 Втр 12:12:47 1835211129
>>1835166
Я, оказывается, сделал то же самое, что и они. У меня в моей велосипедной либе это даже называется точно так же. Только чуть иначе работает.

UniqueHandle for automatic resource management

Vulkan-Hpp provides a vk::UniqueHandle<Type, Deleter> interface. For each Vulkan handle type vk::Type there is a unique handle vk::UniqueType which will delete the underlying Vulkan resource upon destruction, e.g. vk::UniqueBuffer is the unique handle for vk::Buffer.

For each function which constructs a Vulkan handle of type vk::Type Vulkan-Hpp provides a second version which returns a vk::UniqueType. E.g. for vk::Device::createBuffer there is vk::Device::createBufferUnique and for vk::allocateCommandBuffers there is vk::allocateCommandBuffersUnique.

Note that using vk::UniqueHandle comes at a cost since most deleters have to store the vk::AllocationCallbacks and parent handle used for construction because they are required for automatic destruction.
Аноним 20/10/20 Втр 13:26:13 1835260130
Что происходит с переменной x в данном коде? Когда объект удаляется? В каждое итерации цикла?

for(...) { int x = 1; }
Аноним 20/10/20 Втр 13:45:18 1835268131
>>1835260
> Что происходит с переменной x в данном коде?
Становится равна единице. Совсем тупой что ли?
Аноним 20/10/20 Втр 13:50:59 1835274132
>>1835260
>Когда объект удаляется? В каждое итерации цикла?
Без оптимизации - да, если с оптимизацией, то компилятор скорее всего вообще уберет x
Аноним 20/10/20 Втр 14:26:23 1835311133
>>1835260
Если б это был бы настоящий объект с конструктором и деструктором - то да, он каждую бы итерацию создавался и уничтожался.
Ты мог бы сам написать тестовую прогу и выяснить это.
А так, наверное компилятор тупо зарезервирует память под переменную (может даже регистр) на весь цикл, и будет записывать туда единицу каждую итерацию.
Никакого "удаления" не будет. У int нет деструктора. По окончании итерации, эта память попросту объявляется ненужным мусором, поверх которого можно записать всё что угодно.
Аноним 20/10/20 Втр 14:32:45 1835319134
>>1835274
>>1835311
То есть на самом деле объект как бы "выносится" за пределы цикла? И компилятор уничтожит ее после того как цикл завершится?
Аноним 20/10/20 Втр 14:44:04 1835326135
>>1835319
"Объект" в C++ - это эфемерное понятие. Есть память, все объекты живут где-то в каких-то её местах. У них можно взять адрес (т.е. узнать, где именно в памяти они находятся). Как там распределяется память на стеке под автоматические переменные функции - это интимный вопрос компилятора. Язык C++ это никак не регламентирует.
Создание и удаление объектов - это условность. Сегодня мы считаем, что на этом участке памяти объект существует, а завтра его уже нет.
По правилам C++, создание объектов предваряется конструктором, а удаление завершается деструктором. Но вполне можно сделать трюк, начав считать некий участок памяти уже существующим объектом, без вызова конструктора. И попросту освободить память или переписать её, без вызова деструктора.
Ты просто кастуешь нужный указатель на void к желаемому типу указателя на объект, и обращаешься по этому указателю как ни в чём ни бывало.
Аноним 20/10/20 Втр 14:45:03 1835328136
>>1835319
В таком простом примере обсуждать оптимизации бессмысленно.
Если это весь код, то переменной вообще может не быть, как и цикла.
Аноним 20/10/20 Втр 14:49:59 1835333137
>>1835319
Лучше всего тебе ознакомиться с генерируемым ассемблерным кодом. Моя гипотеза в том, что возможно, в stack frame твоей функции, резервируется место под переменную i. Когда исполнение программы доходит до цикла, в эту переменную начинается записываться единица. После окончания цикла - про переменную все попросту напрочь забывают. Деструктора же нет, формальное уничтожение даже не требуется.
Но оптимизатор, ежели не выкинет переменную, может её разместить прямо в регистре процессора. Тем более, никто её адрес не берёт.
Аноним 20/10/20 Втр 14:50:50 1835334138
Аноним 20/10/20 Втр 14:52:41 1835337139
>>1835319
Нет, не выносится, для компьютера будет выглядеть как-то так

loop:
новая переменная х
присвоить х 1
если (условие выполняется goto loop)
Аноним 20/10/20 Втр 15:00:41 1835342140
>>1835326
>Создание и удаление объектов - это условность. Сегодня мы считаем, что на этом участке памяти объект существует, а завтра его уже нет.
Поясню ещё. Вот есть создание объектов на куче, через new. Этот new выделяет участок памяти, размером ровно в твой объект, где он может быть размещён. Затем, если нужно, вызывает конструктор. После этого, считается (условно!), что на этом участке памяти объект существует. На самом же деле, тут никаких грома и молнии с небес не раздаётся, и ничего в компьютере внешне не меняется. Как была та память, так она и остаётся. В конечном итоге ничего может и не случиться - и даже значения байтов памяти на том участке могут остаться прежними.
Единственно что, гарантируется что до удаления объекта через delete, память на этом участке уже не будет повторно выделена кому-либо ещё. Т.е. объекты не будут пересекаться в памяти.
Аноним 20/10/20 Втр 15:01:38 1835344141
>>1835337
В ассемблерном виде код
for (; ; )
{
int i = 1;
}

Выглядит так
$LN4@main:
mov DWORD PTR _i$1[ebp], 1
jmp SHORT $LN4@main

То есть заносим 1 и начинаем цикл заново
Аноним 20/10/20 Втр 15:03:11 1835345142
Аноним 20/10/20 Втр 15:08:28 1835354143
>>1835337
Это очень туманные объяснения "на пальцах". Что скрывается за "новая переменная x"?
С точки зрения C++, да действительно, в цикле объявлена новая переменная x. Только вот, как это будет выглядеть внутри компьютера, и в ассемблерном коде, генерируемом компилятором?
Где в памяти она будет размещена? И в памяти ли вообще?
Аноним 20/10/20 Втр 15:26:34 1835373144
>>1835354
Я ж вбросил чуть ниже - сохраняется в стек фрейме, если я правильно понял ассемблер.
Аноним 20/10/20 Втр 16:20:59 1835443145
Кто использовал doctest? Я пол-дня уже читаю доки, не могу понять - вот я хочу добавить тесты в мою небольшую программу, это не библиотека, у меня есть main с моей логикой. Предлагаемый вариант писать тесты прямо рядом с прод кодом предполагает, что запуск тестов будет производиться вместе с моим main'ом и будет менеджиться при помощи cli? Как мне разделить всё это дело? Или может в сторону чего-то другого лучше посмотреть? Первый раз за тесты взялся.
Аноним 20/10/20 Втр 16:31:03 1835458146
>>1835337
Выносится, это же не скриптовая дрисня. Тут компилятор сначала сканирует всю функцию на создание переменных. И условно говоря выносит объявления переменных в начало.
Кстати не исключено что в каком нибудь случае типа
{ int x = 1; ...}
{ int y = 2; ... }
Он может использовать одну и ту же область памяти под обе, ведь их время жизни не пересекается.
Аноним 20/10/20 Втр 16:40:55 1835465147
>>1835443
Любые тесты подразумевают что при запуске программы запустится не ее main, а main теста. Поэтому в их примере запуск экзешника печатает не факториал, а отчет по тестам.
Судя по докам, все что там требуется задать дефайн и сделать один инклюд.
В принципе это уже твое дело, ты можешь этот дефайн хоть в коде указывать, хоть в cli, хоть в cmake. Главное что main должен остаться либо твой либо их. (Ну или твой тестовый)
В принципе можешь и разделить по файлам, типа один файл с main настоящим, он подключает все остальные твои файлы, а второй файл с main тестовым, он тоже подключает все файлы, а собираешь ты либо тот, либо этот.
Аноним 20/10/20 Втр 16:49:14 1835471148
334215330.jpg 26Кб, 604x340
604x340
>>1835458
Упустил этот момент
Аноним 20/10/20 Втр 17:22:40 1835505149
image.png 115Кб, 1366x768
1366x768
Что я делаю не так? Не могу строки прочитать из файла
Аноним 20/10/20 Втр 17:52:21 1835533150
>>1835465
Стало понятнее, спасибо, друг!
Аноним 20/10/20 Втр 18:39:23 1835558151
.png 151Кб, 978x1056
978x1056
Аноним 20/10/20 Втр 18:39:39 1835560152
>>1835505
проверяй на is_open, fstreamы не кидают эксепшены без конфигурации специальной
Аноним 20/10/20 Втр 18:43:54 1835561153
>>1835560
>>1835558
Хорошо. А как понять почему он не открывается? Сейчас все заработало кста. У меня файл для открытия лежал в папке, где права админа нужны, поэтому не работало
Аноним 20/10/20 Втр 20:32:41 1835624154
>>1835561
Я process monitor расчехляю в таких случаях (серьезно, не шучу). Нормального эррор репортинга у фстримов нету просто
Аноним 20/10/20 Втр 20:37:54 1835631155
>>1835624
Прикольно. А вот что делать человеку, который совсем не программист, но хочет программой попользоваться для работы с файлами, а программа файл не открывает? Как он поймет что не так? Должно же быть решение адекватное. Ок, пусть не адекватное, но хотя бы работающее
Аноним 20/10/20 Втр 20:40:00 1835638156
>>1835631
пользоваться системным API (CreateFile) и отдавать нормальные ошибки
Аноним 20/10/20 Втр 21:00:01 1835665157
>>1835561
if (!fstr) {...}
+
std::strerror(errno)
Аноним 20/10/20 Втр 21:12:30 1835677158
>>1835558
Ляяя это специальный сервис для таких фотокарточек?
Аноним 20/10/20 Втр 21:19:34 1835681159
>>1835260
Он удаляется перед } (закрытие области видимости). Не слушай клоунов-пердоликов на ассемблере.
Аноним 20/10/20 Втр 21:21:42 1835684160
>>1835560
Лол бля, турбо паскаль наоборот.
Аноним 20/10/20 Втр 21:21:49 1835685161
>>1835681
И как же он "удаляется", расскажи, нам очень интересно
Аноним 20/10/20 Втр 21:24:42 1835687162
>>1835354
А почему ты не посмотришь на ассемблер?
cc++ -OSo - foo.c
Аноним 20/10/20 Втр 21:26:18 1835689163
>>1835685
Концептуально. Это может быть пустая операция, а может и не. Стандарт ++С данный момент не фиксирует.
Аноним 20/10/20 Втр 21:40:48 1835704164
>>1835685
Тот анон неправильно выразился. У переменной int x в конце каждой итерации деаллоцируется место хранения (automatic storage в данном случае): https://en.cppreference.com/w/cpp/language/storage_duration
>automatic storage duration. The storage for the object is allocated at the beginning of the enclosing code block and deallocated at the end. All local objects have this storage duration, except those declared static, extern or thread_local.
В результате этого у объекта закончится время жизни: https://en.cppreference.com/w/cpp/language/lifetime
>The lifetime of an object ends when: <...> the storage which the object occupies is released
В результате окончания времени жизни вызывается деструктор: https://en.cppreference.com/w/cpp/language/destructor
>A destructor is a special member function that is called when the lifetime of an object ends
Так как int тривиально разрушим, программа не обязана вызывать деструктор при его уничтожении: https://en.cppreference.com/w/cpp/language/lifetime
>A program is not required to call the destructor of an object to end its lifetime if the object is trivially-destructible or if the program does not rely on the side effects of the destructor.
Аноним 20/10/20 Втр 21:46:58 1835715165
>>1835561
Как проверять тебе уже ответили - через is_open. А вот как понять почему не открывается я хз, можно ли вообще. С помощью winapi функций вроде можно.
>>1835677
https://carbon.now.sh/
Аноним 20/10/20 Втр 21:50:37 1835723166
>>1835311
на самом деле, у int есть деструктор
кхе кхе
мимо безработная хуйня
Аноним 20/10/20 Втр 21:55:41 1835732167
>>1835723
по-этому ты и безработный
Аноним 20/10/20 Втр 22:03:16 1835741168
>>1835723
У баб тоже хуй есть, но он тоже тривиальный)))))
Аноним 20/10/20 Втр 22:06:49 1835745169
>>1835732
Нет, он, на самом деле прав
Аноним 20/10/20 Втр 23:07:02 1835796170
Аноним 20/10/20 Втр 23:35:50 1835813171
>>1835681
>>1835689
> ну он там удаляется где то просто в уме пук среньк
И чем же ты лучше клоунов пердоликов на ассемблере?
Аноним 21/10/20 Срд 07:42:21 1835909172
cppAlreadyBugd.jpg 109Кб, 1281x904
1281x904
Подскажите, хочу обучиться с++ и такая проблема:
1 - создаю пустой C++ проект
2 - пкм - Properties
3 - почему у меня нету настроек C++?
Во всех гайдах и постах он есть, а у меня нет. Что делать?
Аноним 21/10/20 Срд 08:27:45 1835928173
>>1835909
Создать файл .cpp с кодом.
Аноним 21/10/20 Срд 12:05:02 1836005174
>>1835909
Насколько я помню в студии разное меню если пкм на солюшне или на проекте.
Аноним 21/10/20 Срд 12:08:24 1836010175
>>1835928
Правда нужно было файл создать и попробовать собрать проект, без этого этой настройки небыло, спасибо
Аноним 21/10/20 Срд 13:24:59 1836082176
16031329977090.png 181Кб, 472x505
472x505
ХОЧЕШЬ КОРУТИНЫ C++20 С ASIO
@
error: сосать, в asio ошибки с концептами, еще какая-то непоправимая хуйня
@
НАХОДИШЬ ИСПРАВЛЯЮЩИЙ КОММИТ ВЫПУЩЕННЫЙ РОВНО ЧЕРЕЗ ДЕНЬ ПОСЛЕ РЕЛИЗА
@
КАЧАЕШЬ МАСТЕР И СОБИРАЕШЬ
@
error: ваша версия gcc говно
@
КАЧАЕШЬ HEAD GCC И ЕБЕШЬСЯ С КОНФИГУРАЦИЕЙ AUTOTOOLS, ПОИСКОМ НУЖНЫХ ЗАВИСИМОСТЕЙ И ИХ ЗАВИСИМОСТЕЙ LIBBISON LIBFLEX LIBHYUSON, БУТСТРАПИШЬ КОМПИЛЯТОР ПО ГАЙДУ ИЗ ИНТЕРНЕТА
@
НЕ ПОФИКСИЛИ


Типичный C++xx в 20xx году. А столько же мучился, чтобы рабочий <filesystem> на винде в 2017 получить.
Аноним 21/10/20 Срд 15:18:14 1836159177
>>1836082
>rolling release, нажал одну кнопку — получаешь всегда свежий gcc
Аноним 21/10/20 Срд 15:23:06 1836167178
ebatspermoblyad.jpg 46Кб, 700x502
700x502
>>1836082
>использовать что-то кроме Gentoo или Nix для разработки на bleeding edge версиях

А теперь представь, сколько спермоблядям надо пердолиться.
Аноним 21/10/20 Срд 16:11:00 1836196179
image.png 18Кб, 725x316
725x316
image.png 247Кб, 1366x768
1366x768
Сап, дали в шараге нам изучать С++. Лекции не читают, кидают только методы и делайте лабы сами. Есть простенькая задачка по вычислению площади треугольника формулой герона. После того как вводишь значения сторон, нужно чтобы они были больше нуля и когда сумма любых двух его сторон больше третьей(существование треугольника).
Короче в if я задал несколько условий, но они не выполняются, ни одно. Че я сделал не так, помогите пожалуйста.
Аноним 21/10/20 Срд 16:13:16 1836197180
>>1836196
Я такой хуйней в 7 классе занимался. Где ты учишься?
Аноним 21/10/20 Срд 16:14:50 1836198181
>>1836197
Та я такой хуйней по сути и не должен заниматься, так что не так с условиями в иф?
Аноним 21/10/20 Срд 16:28:28 1836202182
Аноним 21/10/20 Срд 16:59:26 1836232183
>>1836082
Качаешь вижуал студию
@
все, чего нету - ненужно
Аноним 21/10/20 Срд 17:01:06 1836233184
>>1836196
Ебать нахуй, гото разве не выпилен из языка в прошлом веке?
21/10/20 Срд 17:29:17 1836254185
Аноним 21/10/20 Срд 17:34:29 1836262186
>>1836082
сейм. я из этой хуйни делал франкенштейна, откатив часть азио на старую реализацию без концептов
Аноним 21/10/20 Срд 19:02:31 1836333187
image.png 158Кб, 1366x768
1366x768
Как фиксить? До этого dll просило, я все скопировал в папку с программой. Потом мне надо будет прогу другому человеку скинуть. Мне ему со всей этой швалью кидать или можно как то все в exe одно ужать? Ну это сейчас не важно.Важно что я программу запустить не могу
Аноним 21/10/20 Срд 19:12:55 1836344188
>>1836333
>можно как то все в exe одно ужать
Использовать статические библиотеки, а не динамические
Аноним 21/10/20 Срд 19:26:35 1836360189
>>1836344
А с пикрилом че делать?
Аноним 21/10/20 Срд 20:02:40 1836390190
Аноним 21/10/20 Срд 20:07:36 1836394191
>>1836233
С чего бы ему? Если что-то есть в сях и это не designated initializer или VLA - то это есть и в плюсах.
Аноним 21/10/20 Срд 20:20:32 1836401192
Аноны, а модели в Qt вообще сами обновляются, если я данные меняю, или нужно самому обновлять как то. Нихуя не могу понять.
Вот у меня QTableModel с контейнером QImage внутри. Когда я меняю один из QImage в модели, он же должен автоматом на QTableView меняться, не?
Аноним 21/10/20 Срд 20:51:24 1836413193
>>1836344
Это мне в vs или в qt копаться?
Аноним 21/10/20 Срд 21:15:07 1836424194
>>1836360
>>1836413
В душе не ебу, из всего твоего я только понимаю, что где-то ошибка выскочила, а что там у тебя где в студии или еще где - не видно отсюда
Аноним 21/10/20 Срд 21:32:02 1836427195
>>1836333
Нужно ещё копировать plugins/platforms/qwindows.dll
Аноним 21/10/20 Срд 21:32:50 1836428196
>>1836401
emit dataChanged, вьюшки сами обновятся
Аноним 21/10/20 Срд 21:34:34 1836429197
>>1836196
меня поражает логика совкового образования. Для такой хуйни плюсы использовать. Пайтон для этого в разы проще
Аноним 21/10/20 Срд 21:45:20 1836433198
setlocale(0, "") очень умилительно смотрится по соседству с namespace std. Да, таков он, ++С.
Аноним 21/10/20 Срд 22:31:37 1836473199
>>1836433
пояснительную бригаду. Типа всё должно быть определено в пространстве стандартных имён?
Аноним 21/10/20 Срд 22:39:51 1836477200
>>1836196
> printf("zbs")
Вот вы так пишите, а потом удивляетесь тому, что растошиза процветает.
Аноним 21/10/20 Срд 22:43:43 1836481201
>>1836473
Нет, setlocale давно должен умереть. Это интерфейс из ада на уровне си восьмидесятых. А неймспесы ваши нормальная вещь, слизаны из sml.
Аноним 21/10/20 Срд 22:46:33 1836483202
>>1836433
>>1836481
Предлагаете комитету добавить в стандарт такое понятие, как консоль? Или объясните, как вы собираетесь выводить в консоль utf-8, если у вас cp886?
Аноним 21/10/20 Срд 23:00:02 1836497203
>>1836483
Ты так заблудился, молодой падаван... У тебя есть ПОТОКИ ввода и вывода. У потоков есть операторы. Должен быть оператор, задающий желаемую кодировку для ПОТОКА. Прочего быть не должно.
Аноним 21/10/20 Срд 23:05:29 1836503204
Есть ли фриланс на плюсах? И если да то в чём он?
Аноним 21/10/20 Срд 23:07:00 1836506205
image.jpeg 24Кб, 270x400
270x400
Сап крестаны, я нечеловек фул прости господи стек на жс. Лет где-то 20 назад когда был школотроном занимался коданьем на Visual C++6 всякой 2д игройобы по книжке Ламота (пикрелейтед). Доставляло неимоверно. Ну кароч я великовозрастный долбаёб решил что грести на галерах до пенсии опасно для психики. Хочу медленно обратно вкатится в плюсы и нет, не геймдев, а скорее в проекты уровня Годота. Ну то есть как бы в качестве хобби делать тухлы, контрибьютить в открытие проекты, может быть написать рогалик. Так получилось что мой работодатель оплатил мне годовую подписку на электронную библиотеку О’Рилли. Собственно я себе составил план прочитать за год несколько книг и написать кода разного уровня сложности. Шапку читал, часть списка взял оттуда, часть нашёл на Амазоне по рейтингу. Кароч анон, закотируй мой список:

1. C++ Crash Course
2. Effective Modern C++
3. C++ Concurrency in Action
4. Game Programming Patterns (эта внешняя)
5. C++ Game Programming
6. SFML Game Development

Вот думаю всё это осилить, параллельно кодать классику на бесплатным арте: тетрис, понг, астероидс и так далее.
Великолепный план? Точный как швейцарские часы?
Аноним 21/10/20 Срд 23:07:01 1836507206
>>1836503
в деланьи лабах для долбоебов.

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

Удаленная работа полноценная - это совсем другое, но там набор от сениоров начинается.
Аноним 21/10/20 Срд 23:09:22 1836511207
>>1836506
Про краш курс нихуя не знаю. Я бы посоветовал страуструпа, но тут его не любят.

У Майерса есть смысл читать вообще все, не только Modern C++ in Action. Я бы даже сказал, что старые книги полезнее, там прям азы и кайф.

Concurrency in action тебе нахуй не надо.

Остальное - пересказ документаций скорее всего.
Аноним 21/10/20 Срд 23:09:57 1836512208
Аноним 21/10/20 Срд 23:12:08 1836516209
>>1836507
Почему джунов на удалёнку не берут? Бтв ещё идея - пилить годноту на гитхаб и везде писать свой палпал, будут профиты чи не?
Аноним 21/10/20 Срд 23:15:03 1836522210
>>1836516
Может где-то и берут, но неохотно. Слишком они нуждаются в помощи и надзоре, чуть что потом заебешься разгребать
Аноним 21/10/20 Срд 23:16:26 1836524211
>>1836516
Потому-что в мирочке С++ от джуна больше вреда, чем пользы. Если в каком-нить жопаскрипте или питоне худшее, что может быть это эксепшен, который ты поймаешь.

То в С++ ты можешь наворотить такого дерьма, которое будет репродюситься раз в пару тысяч попыток, и отлаживать это можно только анализом краш дампов.
Аноним 21/10/20 Срд 23:17:33 1836527212
>>1836511
Майерс есть весь, понял, спасибо за совет. А по поводу конкаренси не раскроешь мысль? Чому не? Я даже в жс использую воркеры для того что можно параллелить. Думал в современных плюсах это классика, это знать надо, не? Ну там если захочу свой физический движок написать или какую-то хитрую систему ИИ.
Аноним 21/10/20 Срд 23:19:42 1836530213
>>1836527
Это тебе потребуется через очень нихуевое количество времени. Я говорю о годах. Пиши в 1 поток и не парься.
Аноним 21/10/20 Срд 23:22:49 1836533214
>>1836522
>>1836524
Ясно, хуета этот ваш С++, пошла на панель, во фронтенд, спидранить до синьора, чё.
Аноним 21/10/20 Срд 23:24:44 1836536215
>>1836533
Фронтэнд это правильное решение, вкатываться в С++ в 2021 году это надо иметь либо очень большое желание и мотивацию, либо охуенного ментора.
Аноним 21/10/20 Срд 23:32:07 1836541216
>>1836536
Да ну нахуй. Я с малых лет в компах и электронике в целом, а с недавних пор ещё и в науке. Для меня этим макакингом заниматься - зашквар. Так что буду ловить балдёж на байтоёбстве.
Аноним 22/10/20 Чтв 00:23:11 1836558217
>>1836082

>>1836427
Либо потрахаться и собрать Qt в статике, и прогу тоже собирать в статике, да ещё и ровно с теми же параметрами, что Qt. Оно того не стоит, лучше dll рядом таскай
Аноним 22/10/20 Чтв 00:26:30 1836560218
>>1836497
Потоки и кодировки это путь боли. Смотри мою простыню ближе к началу треда.
Аноним 22/10/20 Чтв 00:29:10 1836563219
>>1836558
Гм, первому случайно ответил.
Аноним 22/10/20 Чтв 01:12:09 1836577220
Аноним 22/10/20 Чтв 01:13:52 1836579221
Аноним 22/10/20 Чтв 03:08:46 1836599222
Аноним 22/10/20 Чтв 04:10:11 1836606223
>>1836541
>>1836536
Вот это вот наверное нужно всем желающим вкатиться объяснять, мб даже в шапке написать. Устроиться на работу сложнее, чем в других областях. Там, где используют С++ (если мы не про гуи), обычно также нужно знать вузовскую математику, да и сам язык с устоявшейся инфраструктурой а-ля буст, симейк и т. п. Хочется денег - проще сразу реакт учить. Иначе велик шанс заработать синдром самозванца и ушатать нервы.
Аноним 22/10/20 Чтв 06:49:09 1836623224
>>1836606
>Хочется денег - проще сразу реакт учить

За счет этого с С++ приятнее работается, меньше случайных людей, суеты.
Аноним 22/10/20 Чтв 07:09:03 1836624225
Пока не проебешь не преисполнишься

Если бы дрочил плюсы прследние гесть лет, то думаю, 100к имел бы(в мск побольше). Изучал бы сейчас предметную область с математикой и рос как инженер.

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

По итогу четыре года в жопу. И еще два юнити разрабом, есть то что-то надо.

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

Какие опции есть в 2020? Плюсы довольно универсальны, но работы ноль. Изучать их пять лет, чтобы пойти работать за 50к, и то тебя выебут и высушат на собесах как проститутку конченную.

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

Либо раз c# косвенно немного познал, то идти в веб. Но там этот веб настолько непостояннен, что хз. Даже если .net брать тат уже за четыре последних лет все изменилось. Завтра наберется критическая масса индусов в майкрософт и они похерят абсолютно все, как и винду. Хотя в .net все вроде збс последнее время. Кроме пожалуй, мобильной разработки.

Также с реактами, хуяктами и иже с ними на js. Какая-то насмешка над миром программирования. Сюр

Что там остается? Java/kotlin. От первого в гугле отказываются на андроиде, второй только благодаря андроиду и живет. Дальше еще никуда не выходил, как я понял. Писать на Java сейчас, когда есть .net, говорят что это такое-себе. Плюс как с андроида уйдет, так никому кроме легаси в банках он не нужен будет.

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

Резюмируя, не думал что когда буду программистом (хотя бы частично), что такая каша тут происходит. Я, наверное, скоро курить начну. А потом пойду на завод работать аппаратчиком, там до мастера недолго работать. Хоть 100к будет. На ипотеку хватит. А что с программированием делать, куда двигаться дальше?

Сори за простыню
Аноним 22/10/20 Чтв 07:14:54 1836625226
>>1836624
Как же я тебя понимаю

мимо походу через недельку приму оффер в рога и копыта (но зато наконец на плюсах), потому что для других мест я до сих пор мало знаю, а от всего другого тошнит
Аноним 22/10/20 Чтв 10:58:19 1836713227
Поясните за инстанс шаблона: почему в std-шные контейнеры можно передать любой тип и, самое главное, размер, а мой
template<class T, size_t N>
class CustomArray;
выдаёт undefined reference, если явно не написать
template CustomArray<int,1>;
Аноним 22/10/20 Чтв 13:48:33 1836879228
>>1836713
Небось реализация в .срр отдельно написана.
Аноним 22/10/20 Чтв 14:52:55 1836933229
>>1836879
Т.е шаблонные сущности приходится писавть в заголовке, в ущерб читаемости?
Аноним 22/10/20 Чтв 14:53:51 1836935230
>>1836933
Добро пожаловать в С++
Аноним 22/10/20 Чтв 15:53:33 1836977231
Аноним 22/10/20 Чтв 15:53:59 1836978232
>>1836933
Выноси в отдельный хедер и инклудь из основного.
Аноним 22/10/20 Чтв 19:49:25 1837196233
Покидайте годных сайтов типа https://ravesli.com/
Вообще хз на кой читать книги на 1к страниц если всё доступно и просто расписано в 100+ статьях.
Аноним 22/10/20 Чтв 21:00:41 1837227234
image.png 343Кб, 614x614
614x614
Аноним 22/10/20 Чтв 21:14:21 1837233235
>>1834896
Объясни, как ты собираешься маскировать переполняющийся текст за границами поля? Я охуел, SFML слишком игрушечный фреймворк.
У меня были идеи с GL_STENCIL_BUFFER и GL_SCISSORS, но это дохуя вмешательств в OpenGL и в кишки sfml, так что предстоит веселье.
Аноним 22/10/20 Чтв 21:31:05 1837240236
>>1836497
>>1836497
Чел, есть <locale>, есть std::cout.imbue(std::locale("")). А вообще, сейчас достаточно использовать std::wcout с выводом в юникод.

Перестань учиться по говно-материалам 30-летней давности и прочим Borland Turbo C++ из 90-х годов.
Аноним 22/10/20 Чтв 21:44:50 1837248237
>>1837227
Пиши сразу нормально.
Аноним 22/10/20 Чтв 22:19:16 1837265238
Аноним 22/10/20 Чтв 23:15:56 1837323239
Сап, могу ли я использовать в DLL thread'ы и работать с файлами?
Аноним 22/10/20 Чтв 23:22:25 1837327240
Аноним 23/10/20 Птн 01:44:30 1837400241
>>1837265
Проиграл
Это нормальная популярная практика
Аноним 23/10/20 Птн 03:08:55 1837428242
Хотел написать локальную легковесную прогу для капчевания на дваче.
Все бы было легко. Если бы не ебучая капча. Она по определению работает только в браузерах. Меня бы даже устроило если бы она всегда показывала картиночки, а я на них кликал (она все равно мне всегда показывает после десятка сообщений). Но такой вариант видимо был бы слишком легким. Поэтому в гугле написали виртуальную машину на JS, которая там чет шифрует как денува, меняет свои опкоды, загружает говно с серверов.
Поэтому вопрос - какой есть самый минимальный встраиваемый браузер? Очевидно нужен html + css + js. Блджад, ну не CEF же тащить только ради капчи. Webkit предлагает на винде через Edge. Так это тот же хром будет в памяти висеть. Ну не писец ли? Нет чего помельче? Хотя подозреваю, что если соберу просто из какой нибудь либы рендера и либы жса, гугл меня просто нахуй пошлет за нестандартность.
Аноним 23/10/20 Птн 03:23:18 1837432243
>>1837400
Это потому, что долбоёбов на планете много. На пустом месте геморрой с инклюдом якобы имплементации, геморрой с переключением между файлами, геморрой с навигацией по символам и т.д.
Если уж совсем невмоготу, можно в конец файла реализацию выносить.
Аноним 23/10/20 Птн 05:13:48 1837448244
>>1837432
>геморрой
Хз, как-то ни разу не почувствовал проблем.
Аноним 23/10/20 Птн 16:39:39 1837784245
Аноним 23/10/20 Птн 17:12:50 1837807246
>>1837784
>uroki
>на английском
Прыснула.
Аноним 23/10/20 Птн 17:25:51 1837824247
image.png 18Кб, 1286x221
1286x221
>>1837807
Тупые бабы, пиздос.
Аноним 24/10/20 Суб 00:29:07 1838173248
>>1837240
Вывод ещё ладно. Ты мне про ввод >>1832626 расскажи.
Аноним 24/10/20 Суб 00:38:10 1838180249
>>1836599
Не использую vcpkg, так как с ним геморно держать несколько версий либы. Например, есть 50 проектов, 20 солюшенов, состоящих из некоторого сочетания проектов, и у каждого солюшена - где то 5 вариантов checkout по версиям, не считая 100500 тегов. И собирается это не только у каждого разраба, но и на едином билд сервере. Vcpkg тут похоже бессилен, только ручные props, только хардкор.
Аноним 24/10/20 Суб 00:45:17 1838184250
>>1838180
Призови в тред нвидию-куна, у них там натянули версионность на vcpkg.
Алсо, у MS вроде в дорожной карте по vcpkg есть пункт по поводу поддержки версионности.
Аноним 24/10/20 Суб 02:26:35 1838229251
>>1838184
Интересно, надо почитать. Было бы круто вместе с публичным либами и свои так опакечивать (с префиксом например). А то иногда случаются версионные казусы, когда две своих либы используют третью, разных версий
Аноним 24/10/20 Суб 03:54:44 1838257252
void __CRTDECL operator delete(void⚹ const block) noexcept

Как хрена у майкрософта в delete указано const?
У меня из-за этого по виндой пару аллокация-деаллокация распидорасило, потому что мой delete не вызывался.
Что за шутки такие?
Причём нигде это не указано, он должен быть void⚹, а не void⚹ const.
Аноним 24/10/20 Суб 05:04:34 1838265253
>>1838180
Микрософт в этом месяце обещали выкатить версионирование (но хз, успеют ли уже, я бдю их репо)
Аноним 24/10/20 Суб 09:58:42 1838328254
>>1837807
сельди не умеют даже в транслит
Аноним 24/10/20 Суб 11:01:19 1838376255
>>1838257
Нахуя в принципе параметры функции нессылочных типов объявлять константными? Они ж и так, блять, копируются.
Аноним 24/10/20 Суб 11:14:29 1838390256
>>1838229
Свои либы можно подружить с vcpkg 100%, у них в документации есть гайд
Аноним 24/10/20 Суб 11:17:43 1838393257
>>1838257
Этот const ни на что не влияет, у тебя проблема в друго месте. А нужен он затем, чтобы внутри функции нельзя было случайно изменить тот указатель, что тебе пришёл
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов