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

Ответить в тред Ответить в тред
Check this out!
C++ тред #121 /cpp/ Аноним 19/11/20 Чтв 22:32:18 18605001
16028038704860.png 59Кб, 1280x1439
1280x1439
llvm.png 287Кб, 1024x1006
1024x1006
msvc.jpg 17Кб, 300x300
300x300
gcc.png 158Кб, 1200x1416
1200x1416
Аноним 19/11/20 Чтв 22:34:18 18605022
Какой сааааамый минималистичный плюсовой компилятор? И сколько он весит?
Winsock2 Аноним4826239 19/11/20 Чтв 22:34:25 18605033
image.png 41Кб, 1024x194
1024x194
Есть одна игра, мне нужно сделать так чтобы я имел возможность отклонять неугодные мне данные, как входящие так и исходящие. Пытался сделать это при помощи return 0 в hook'нутой функции WSASend, но оно продолжало спамить этими данными до тех пор пока они не отправятся. Пробовал шаманить с lpCompletionRoutine но ничего не получилось. С WSARecv вообще дичь, при return 0 разрывает соединение с игрой. Как я понял, самым хорошим и разумным решением будет поднятие такого-же сервера (или как это называется я не знаю) в том же процессе и переадресация данных на него, а он уже будет фильтровать и отправлять только то что угодно мне. Только проблема в том что я не знаю как это делается. Пожалуйста, помогите.
19/11/20 Чтв 22:35:13 18605064
>>1860488 →
Лучше бы помог, я всё ещё пердолюсь. Всё началось после установки превью-версии студии, естественно удалил нахуй сразу её. Даже пустой проект не собирается и требует 14.0. Сейчас второй раз начисто всё удалил, почистил все папки вилкой и поставил заново студию - нихуя не помогло. Если делаю ретаргет, то он пишет типа после этого нельзя будет собрать проект в 2015 студии, для сборки под ней выберите в параметрах таргет 14.0. Но у меня нет 2015 студии, а установка 14.0 ничего не даёт. Какого хуя, блять? Алло, индусы!
>>1860496 →
Чистый тоже не работает. Вообще нихуя не работает.

А ещё теперь постоянно такое ещё пишет:
> error : Designtime build failed for project 'C:\Users\Admin\source\repos\App10\App10\App10.vcxproj' configuration 'Debug|Win32'. IntelliSense might be unavailable.
> Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
Он мне тут предлагает заниматься расследованием почему эта хуита не работает из коробки и не собирает пустой проект!
Аноним 19/11/20 Чтв 22:43:31 18605085
>>1860503
ПОЖАЛУЙСТА ПОМОГИТЕ(((
Аноним 19/11/20 Чтв 22:56:52 18605196
>>1860503
Вычисляй как игра палит, что пакет не отправился. А фильтр по идее и делается хуками на функции send/recv. Хз почему не работает, может там не только винсокеты.
Аноним 19/11/20 Чтв 23:08:38 18605257
>>1860503
Никто тебе не поможет с таким.
Аноним 19/11/20 Чтв 23:09:44 18605278
Аноним 19/11/20 Чтв 23:10:23 18605289
>>1860519
Не важно как палит игра, мне нужно лишь понять как поднять свой такой же сервер в том же процессе а дальше я уже сам
Аноним 19/11/20 Чтв 23:12:18 186052910
>>1860503
Шёл бы ты в сишный тред, френдо
Аноним 19/11/20 Чтв 23:16:52 186053111
Аноним 19/11/20 Чтв 23:19:19 186053312
>>1860528
Чому обычная тцп прокся не подойдёт?
Аноним 19/11/20 Чтв 23:24:54 186053513
>>1860531
>LPWSAOVERLAPPED_COMPLETION_ROUTINE
>Хуюки
>C++
Винсок написан на чистом С, хуки - достаточно низкоуровневая вещь.
Аноним 19/11/20 Чтв 23:26:07 186053614
>>1860535
ХУК Я УЖЕ САМ СДЕЛАЛ МНЕ ЛИШЬ СЕРВЕР ПОДНЯТЬ НАДО ОСТАЛЬНОЕ Я УЖЕ САМ
Аноним 20/11/20 Птн 00:09:25 186056415
>>1860535
>>LPWSAOVERLAPPED_COMPLETION_ROUTINE
XD
Аноним 20/11/20 Птн 00:10:05 186056616
Аноним 20/11/20 Птн 00:16:44 186057117
изображение.png 49Кб, 1906x693
1906x693
>>1860339 →
Чёт я психанул, полез в ассемблер смотреть.

Строки 5,6,7 берём h, добавляем единичку через lea, возвращаем на место. Это выполнение команды h++. В eax - 0 в edx - 1 в h - 1.
Строка 8,9 Увеличиваем h на 1 и копируем её в edx. edx - 2 в h - 2.
Строка 10 складываем EAX и EDX. eax равен 0 edx 2. результат 2
Строка 11 результат копируем в z

12 строка - обнуляем h

Строка 13, 14 увеличиваем h на 1 и копируем в eax. h = 1, eax = 1
Строка 15 в edx записываем сумму eax+1. edx = 2
Строка 16, 17 записываем результат из edx в h и затем загружаем h в edx. h = 2
Строка 18 складываем eax (равно 1) и edx (равно 2). eax = 3
Строка 19 пишем в z результат из eax.

Ну вроде правильно. Только какого хуя она на приоритет операций забила? В первом случаи мы вызываем h++ и получаем копию h, а сам h увеличиваем на 1. После увеличиваем h ещё на 1 и складываем.
во втором случаи мы увеличиваем h на 1 и уже после сохраняем, то есть выполняем ++h. Затем увеличиваем h на 1, и пишем результат в переменную. Не сохраняя её в промежуточном регистре. Блядь в сон клонит. Но какого чёрта!
Аноним 20/11/20 Птн 00:34:20 186059118
>>1860571
Просто даже отвечать на такие примеры это иди нахуй долбаёб.
Аноним 20/11/20 Птн 00:43:31 186059819
asciiwar003-full.jpg 217Кб, 1365x736
1365x736
Кто-нибудь имел дело с FlatBuffers? Я что-то не очень понимаю. Вот я генерю класс Monster. Это тот самый класс который мне и нужно использовать в программе, или он чисто для сериализации? Просто немного смущает то, что по дефолту объект получается константным, а чтобы получить мутабельный нужно генерить хедер с особыми параметрами типа --gen-mutable или --gen-object-api.
Может нужно создать нормальный класс Monster и сгенерить класс MonsterData. Соответственно, первый будет использоваться внутри программы, у него будут меняться поля нормальным образом при необходимости, а когда нужно будет его сериализовать/десериализовать будет использовать класс MonsterData в который будут копироваться поля сохраняемого объекта/из полей которого будет создаваться новый объект класса Monster?
Аноним 20/11/20 Птн 00:57:07 186061320
Аноним 20/11/20 Птн 01:39:12 186064121
Аноним 20/11/20 Птн 03:38:56 186069322
>>1860506
Почему вы до сих пор сидите в студии, если есть VSCode?
20/11/20 Птн 03:41:26 186069423
>>1860693
Зачем до сих пор используют высокоуровневые языки, если есть ассемблер?
Аноним 20/11/20 Птн 03:47:33 186069524
>>1860694
Не, ну я пойму, если кто-то пердолится в Eclipse. Там есть всякие эксклюзивные йобы (от той же NVidia для удалённого профайлинга GPU кода). Ну ладно там VIM на каком-нибудь дохлом embed. Но студия то уже ничем не выделяется на фоне её преемника vscode.
Аноним 20/11/20 Птн 03:53:25 186069625
>>1860694
Студия не является более высокоуровневой чем vscode с плагинами. Зато вот чем студия является так это монолитным куском говна, где при поломке одного компонента ломается все нахуй, и под все зачастую имеется в виду операционка.
Аноним 20/11/20 Птн 04:54:30 186071426
>>1860695
Интересно, что чувствуют разрабы студии. Какие-то четкие пацанчики пришли и сделали все с нуля и получилось лучше, чем они десятилетиями пердолили.
Аноним 20/11/20 Птн 04:56:34 186071627
>>1860714
Чувствуют как заебись стригли кучу бабла не напрягаясь.
20/11/20 Птн 08:46:00 186076028
Аноним 20/11/20 Птн 09:31:25 186078029
>>1860695
щас бы текстовый редактор и ide сравнивать
Аноним 20/11/20 Птн 09:50:40 186078830
Аноним 20/11/20 Птн 09:53:08 186079031
>>1860695
Чтобы писать на C++ в студии ты просто скачиваешь и там все есть изкаробки. В vscode надо пердолится с плагинами чтоб все заработало.
Аноним 20/11/20 Птн 09:58:17 186079532
>>1860571
Зачем ты это все пишешь? Это такой троллинг тупостью?
Вбросы в С/C++ про ++i + i++ это то же самое что вбросы в /b про дроби и деление.
Просвещайся: https://www.viva64.com/ru/t/0065/

Аноним 20/11/20 Птн 09:59:05 186079633
>>1860790
>Чтобы писать на C++ в студии ты просто скачиваешь и там все есть изкаробки.
Прокомментируй вот это >>1860427 →
Аноним 20/11/20 Птн 10:28:11 186081434
>>1860796
Что тут можно сказать... Ты криворучка.
При этом ни одного скрина так и не приложил
Аноним 20/11/20 Птн 10:35:08 186081735
>>1860796
Дурак и стеклянный хуй сломает. У меня не было проблем со студией в течении 7 лет ее использования. Причем стабильно последних версий.

Ну ладно, пару Internal Compiler Error'ов я им забил в в developercommunity, но этим все мажорные компиляторы грешат
Аноним 20/11/20 Птн 10:47:26 186082136
>>1860814
У анона не работает индусоподелие, а криворучка я. Интересненько.
>>1860817
Угу настолько нет проблем со студией, что у них была специальная утилита которая должна была по замыслу вычищать остатки из системы, после деинсталляции. Естественно даже она не могла вычистить, поэтому в тех поддержке просто разводили руками и говорили что пришло время переустанавливать шиндоус.
Аноним 20/11/20 Птн 10:49:49 186082437
>>1860821
Пчел, у меня сейчас одновременно стоит 15.9.29, 16.8.2 и превью 16.9. Все идеально работает. Я не знаю, что тебе еще сказать.
Аноним 20/11/20 Птн 10:52:32 186082538
>>1860795
Спасибо, прочитал. Нам такого в вузе не рассказывали. Как я понимаю, это всё усложняется на порядок, когда речь заходит о многопотоке?
Аноним 20/11/20 Птн 10:54:23 186082839
S01119-11260499[...].jpg 146Кб, 1080x626
1080x626
такая тема, я студент сис. админ первокур, до этого программирование не учил и не интересовался, и в универе начали учить кодингу на с++. этот язык вообще не сложен
/приемлен как первый язык для учения кодингу? и еще меня заебало тупить на парах и не уметь решать простые задачи, хочу сам научиться, с чего мне щас лучше начать? пока книгу для новичков из шапку курить? ещё я 0 в математике, его надо учить для си плас пласа?
Аноним 20/11/20 Птн 10:55:33 186083040
>>1860828
>начали учить кодингу на с++. этот язык вообще не сложен
>/приемлен как первый язык для учения кодингу? и еще меня заебало тупить на парах и не уметь решать простые задачи, хочу сам научиться
Курсы от яндекса на курсеры
Аноним 20/11/20 Птн 10:56:56 186083241
>>1860825
Да. Нет, блджад причем тут многопоток? Если это семантика языка. Если у тебя UB, а это скорее всего ошибка программиста, то она и в многопотоке ошибка
Аноним 20/11/20 Птн 11:01:13 186083742
>>1860828
Это один из сложнейших языков, но его можно брать начальным. Просто иногда будешь застревать в затыках, выглядящих как магия, придется спрашивать у знающих.
Математика это прикладная область. Для языка она не нужна, но работа на с++ часто связана с математикой - это или для 3д синусы косинусы всякие, или видеокодеки со своими рассчетами, или управление моторчиками на заводе с рассчетами скоростей, частот.
Аноним 20/11/20 Птн 11:07:07 186084243
20/11/20 Птн 11:35:34 186089344
1551770718751.webm 7526Кб, 1920x1080, 00:01:03
1920x1080
>>1860817
>>1860824
Если такой умный, то скажи как чинить теперь это. Осталось только переустановить Шиндовс.
Любая комбинация SDK не работает, выключение всех родных расширений от индусов не помогает, чистка профиля не помогает, переустановка студии не помогает, запуск от админа и копирование 14.0 в любые места не помогают, ребуты не помогают, кнопка repair не помогает, переустановка библиотек рантайма VC++ не помогает, гугл по этой ошибке на 25 страниц прочитан - ставил все нагугленные VCLibs вручную и не помогло.
Напоминаю, что это началось после установки превью версии, всё что я сделал - нажал кнопку Install, запустил пустой проект в превью-студии и получил это говно. За 15 минут до установки превью всё работало.

Перед тем как начнётся РРРЯЯЯЯ UWP НИНУЖНО хочу напомнить, что это основной гуй в дриснятке.
Аноним 20/11/20 Птн 11:37:52 186089645
>>1860828
>этот язык вообще не сложен
>/приемлен как первый язык для учения кодингу?
Кодингу — нет, программированию — да.

>с чего мне щас лучше начать?
С учебника поновее.

>ещё я 0 в математике
Соболезную, особенно если это связано с отсутствием нужного для математики мышления, а не просто каких-то знаний.
Аноним 20/11/20 Птн 11:43:46 186090546
>>1860502
Turbo C++, TCC.EXE весит 465680 байт.
Аноним 20/11/20 Птн 11:44:19 186090647
>>1860893
C#-то установил для своей дрисни?

> BTW, I know you mentioned C#, but for anyone wanting to use C++, be sure to enable that as well--this is also not installed by default. See Setup Changes in Visual Studio 2015 Affecting C++ Developers and Developing for Windows 10 with Visual C++ 2015.
Аноним 20/11/20 Птн 11:47:18 186090848
>>1860905
> 465680 байт
Нихуя себе, досу там нормально было такое запускать?

мимо
Аноним 20/11/20 Птн 11:47:57 186091049
>>1860830
это бесплатно?
>>1860837
>>1860896
чето пацаны вас начитался и теперь лень стало учить с++, может нуй его нахуй, все равно нет интереса к программированию
20/11/20 Птн 11:48:13 186091150
>>1860906
Естественно, в шарпе всё собирается и работает. Но он же на VCLibs пиздит, C# и дотнет тут вообще никаким боком.
Аноним 20/11/20 Птн 11:49:05 186091251
>>1860893
> бесплатно?
Нет, но там есть какая программа помощи. Знакомый хиккан бесплатно уже второй курс проходит.
Аноним 20/11/20 Птн 11:55:40 186091652
>>1860910
>чето пацаны вас начитался и теперь лень стало учить с++, может нуй его нахуй, все равно нет интереса к программированию

C++ надо учить итеративно. Освоил базовый синтаксис, поковырялся, уже можешь что-то написать. Посидел, отдохнул.

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

Смотришь, как итераторы какие-нибудь работают, лямбды. Посидел, отдохнул.

Начинаешь разбираться с классами, шаблонами. Ну и т. д.

Весь ты его всё равно не осилишь. Никто не осилит. Самое главное, понимать, какие возможности предоставляет тебе язык и стандартная библиотека, чтобы огороды не городить, а при случае разобраться и написать по-человечески.
20/11/20 Птн 11:59:19 186091953
1455410779166.webm 7146Кб, 1920x1080, 00:00:44
1920x1080
>>1860906
А погодь, я уже ёбнулся немного, не то записал. C# тоже не работает теперь. Впрочем на крестах аналогично. В пизду в общем, я уже заебался второй день пердолить это говно индусов.
Аноним 20/11/20 Птн 12:04:44 186092454
>>1860919
попробуй всякие net core SDK установить. Хуйня какая-то
Аноним 20/11/20 Птн 12:05:11 186092555
>>1860908
Он оверлейный был.
И в том С++ не было даже исключений.
Аноним 20/11/20 Птн 12:07:30 186092856
>>1860919
Соболезную, что тебе приходится такой дриснёй пользоваться. Я обычно код пишу в текстовом редакторе. Ну почисть свою дриснятку, откатись там или… что в таком случае на дриснятке делают?
Аноним 20/11/20 Птн 12:12:56 186093257
>>1860893
Дебила блядь, напиши им в саппорт, нахуй ты на дваче высираешься?
Аноним 20/11/20 Птн 13:12:37 186095258
Аноним 20/11/20 Птн 13:24:19 186096459
>>1860500 (OP)
>Вектор делает мув только когда мув-конструктор элементов noexcept
>Всё потому что в случае неудачи оригинальный вектор должен остаться валидным
>Поэтому во всех нетривиальных мув-конструкторах нужно вручную писать noexcept
Я не понимаю, почему комитет сам себе создаёт такие сложности?
Аноним 20/11/20 Птн 13:28:57 186096960
>>1860952
Самое печальное что CLion ещё хуже. Там вообще раз в пару месяцев фиксят баги. Уже пол года не могут тиринг пофиксить на десятке, например. А как эта параша на джаве быстро и стабильно работает - вообще отдельная история. Жаль нельзя без ебли писать под зумерские фреймворки и платформы на VS Code, давно бы уже укатился.
Аноним 20/11/20 Птн 13:30:32 186097161
>>1860964
Strong exception safety guarantee, вполне возможно нахуй не нужный в данном случае.
Аноним 20/11/20 Птн 13:37:56 186097362
>>1860952
Я зарепортил баг в 16.7, починили в 16.9. Считаю успехом.
Аноним 20/11/20 Птн 15:19:10 186109163
--189.jpg 103Кб, 720x480
720x480
Аноним 20/11/20 Птн 17:12:50 186118564
image.png 17Кб, 615x188
615x188
image.png 4Кб, 313x83
313x83
Осваиваю указатели, не понимаю почему при соединении двух соседних шортинтов в один инт, единица оказывается на посередине а с краю?
https://pastebin.com/vyVciVA5
Аноним 20/11/20 Птн 17:20:41 186119965
>>1861185
little-endian

p.s. strict-aliasing violation
Аноним 20/11/20 Птн 17:23:48 186120266
>>1861185
Нет такого понятия "соседние шортинты", это Undefined Behaviour.
Что же касается ответа "почему" - как сказал анон https://en.wikipedia.org/wiki/Endianness
У тебя так, а на каком нибудь андроидфоне с ARMпроцессором может быть наоборот.
Аноним 20/11/20 Птн 17:31:58 186120567
Аноним 20/11/20 Птн 17:34:00 186120768
>>1861185
> Осваиваю указатели
Если у тебя 64-битная система, то всегда используй uint64_t и сдвиги или char*. А ещё с релокациями ознакомься, чтоб не спрашивать почему адрес из 3 байт или поменялся.
Аноним 20/11/20 Птн 17:34:35 186120969
>>1861202
>>1861202
Спасибо за объяснение, соседними назвал потому что у них адреса в памяти друг за другом идут.
Аноним 20/11/20 Птн 17:36:00 186121070
>>1861207
>uint64_t
uint_fast64_t или uint_least64_t. uint64_t - опциональный тип который может отсутствовать в компиляторе под платформу.
Аноним 20/11/20 Птн 17:36:18 186121171
>>1861209
Они не обязаны идти друг за другом.
Аноним 20/11/20 Птн 17:39:45 186121372
Где-то читал, что не просто разыменование, а сам факт вычисления невалидного указателя - UB.
Аноним 20/11/20 Птн 17:49:03 186122773
>>1861213
Насколько я понимаю, да. Указатель может указывать только на объект такого же типа как и он сам (то есть никаких (int)&float, никаких "соседних адресов"), в случае массива - на элемент этого массива, либо, единственное исключение, на несуществующий элемент сразу за концом массива. Все остальное что не описано, является UB.
Аноним 20/11/20 Птн 17:54:00 186123574
>>1861213
Но при этом вычислять невалидное значение указателя с помощью типа, не являющегос я указателем, можно.
Например, через uintptr.
Аноним 20/11/20 Птн 17:54:41 186123875
>>1861235
Его же можно использовать для определения вхождения указателя в диапазон, не вызывая при этом ub.
Аноним 20/11/20 Птн 18:15:56 186125276
>>1861205
На счёт obj.mutate_hp(228) в туториале написано, что такое уродское название выбранно специально, чтобы показать, что эти объекты изменять не стоит, но если очень хочется, то можно.

Алсо, на стековерфлоу пишут, что
FlatBuffers has very efficient in-place mutation of scalars, but mutating things like vectors in-place requires the use of reflection, which currently is slower and clumsier, thus not recommended for use as game state that is frequently modified.
И рекомендуется использовать --gen-object-api.

Как я понял, если скомпилить с параметрами --gen-object-api --gen-mutable сгенерится класс MonsterT, в котором уже можно писать не obj.mutate_hp(123), obj.hp = 123. Если я правильно понимаю, MonsterT уже нормальный С++ класс, примерно такой, как если писать его руками. Но при этом написано следующее:
For times when efficiency is less important a more convenient object based API can be used (through --gen-object-api) that is able to unpack & pack a FlatBuffer into objects and standard STL containers, allowing for convenient construction, access and mutation.
Так же, в процессе экспериментов выяснилось, MonsterT генерируется вроде как только если класс объявлен как table. Если как struct, то ничего не меняется и всё равно надо писать obj.mutate_mana(359). Почему так — непонятно.

Кроме того, не понятно, как обстоит дело с полями по умолчанию при такой генерации. Если генерировать обычным способом и сериализовать объект, у которого поле mana, не будет явно задано (будет равно дефолтному значению), тогда obj.mutae_mana(322) ничего не мутирует и вернёт false, что, по всей видимости, надо будет каждый раз проверять. Интересно, как при генерации с API с этим обстоит дело.

Ну, я попробую, конечно, с этими генерируемыми классами написать что-то, но как-то сомнительно это выглядит. С другой стороны, переписывать дважды каждый POD не хочется, и по эффективности это будет не лучше наверняка.
Аноним 20/11/20 Птн 18:18:41 186125377
Аноним 20/11/20 Птн 18:29:37 186125978
>>1861253
Вполне логично всё.
Аноним 20/11/20 Птн 18:38:30 186126879
>>1861259
Логичным это стало, когда разгадку уже прочитал.
Аноним 20/11/20 Птн 18:43:19 186127580
>>1861268
Загадка от комитета по стандартизации языка С++. На размышление даётся 30 секунд.
Аноним 20/11/20 Птн 18:46:53 186128281
>>1861253
Скорее это просто неумение читать. auto же не должен определять вермишели указателей, он всё верно делает - выводит тип. А то что вложенные типы могут быть вермишелями, так это надо спросить у говнокодеров стандартной библиотеки. Такая же хуйня про [] вместо std::array. Можешь сколько захочешь стрелять себе в ноги скобками. Хотя уже везде в свежих стандартах пишут не использовать их.
Аноним 20/11/20 Птн 18:50:33 186129282
Аноним 20/11/20 Птн 18:51:47 186129683
>>1861282
>Хотя уже везде в свежих стандартах пишут не использовать их.
Если ты тупой, то лучше вообще ничего не используешь, всё равно прострелишь жопу.
Аноним 20/11/20 Птн 18:52:44 186129784
>>1861296
Вижу тебе уже прострелил.
Аноним 20/11/20 Птн 18:53:50 186130185
>>1861297
Ну я-то не тупой и пишу нормальный код.
Аноним 20/11/20 Птн 18:55:26 186130386
>>1861301
Со скобками в 2020 году на С++20? Это явно не нормальный код. Тебе даже компилятор скажет об этом.
Аноним 20/11/20 Птн 19:16:39 186132887
>>1861253
А я всегда говорил, что ссылки ++С примерно такое же опасное и ненужное говно, как var-параметры в паскале.
Аноним 20/11/20 Птн 19:22:09 186133288
>>1861275
Ответ один: если не знаешь - голосуй SF
Аноним 20/11/20 Птн 19:32:57 186134089
image.jpg 68Кб, 464x463
464x463
>>1860919
А ведь на этой итт доске стабильно доказывают что мс смогли в идеальный кросплатформ всего и вся, сярп лучший язык, а до порабощения мира точканетом осталось пару лет
Аноним 20/11/20 Птн 20:24:57 186137990
Аноним 20/11/20 Птн 20:58:23 186142191
>>1860828
>этот язык вообще не сложен
сложный (если конечно писать не helloworldы)
Аноним 20/11/20 Птн 22:31:58 186147692
>>1861210
Ты чё, ебобо? Перечитай стандарт
Аноним 20/11/20 Птн 23:33:23 186151193
.png 206Кб, 474x562
474x562
.png 52Кб, 400x400
400x400
Помогите дебилоиду. Товарисч выполняет лабы в VS Community.

Прикол в чем, если он компилит с x86, то ему выдает ошибку с std::badalloc на создание и работу с матрицамив данном случае перемножение, заданными двумерными динамическими массивами аблов размерностью n=10000 или более, с распараллеливанием через omp, но при этом нормально работает с меньшим n. Если компилять x64, то ошибка по памяти не вылетает, но он то ли считает, то ли нет, так до конца и не проверили он спать ушел, но что самое интересно распараллеливание в данном случае не происходит.

Я же у себя на линупсе компиляю g++ с флагами -fopenmp -O3, и у меня всё прекрасно работает. у него поддержка omp тоже включена если что
В чем, собственно, может быть прикол данного прикола?
Аноним 20/11/20 Птн 23:34:04 186151294
Аноним 20/11/20 Птн 23:39:20 186151595
>>1861511
> аблов
даблов*
Написал, кста, неверно. В первом случае компиляется, но программа не выполняется, а вываливается с ошибкой с std::badalloc().

>>1861512
У него был немного другой и гораздо более опрятный, но он и с моим говнецом пробовал.

https://pastebin.com/rh3ZCnjr

нечасто на этой доске бываю, тут для выделения кода в сообщении возможность есть?
Аноним 21/11/20 Суб 00:13:41 186152996
>>1861515
Так-то 10000 х 10000 х 3 х sizeof(double) это больше 2 Гб. Нормальная причина проблем с выделением памяти, особенно на 2ядра-2гига ведре для очобы.
Аноним 21/11/20 Суб 00:18:36 186153297
>>1861529
Не, с этим я понял, там с x86, проблемы были, больше 2х гигов оно не вывозит, так в доках у майков написано, но когда он компилит x64 у него не работает распараллеливание, что странно.
У него 16 гигов оперативы и зивон на 12 ядер.
Аноним 21/11/20 Суб 00:39:17 186154598
1605908356400.png 460Кб, 1080x1920
1080x1920
Аноним 21/11/20 Суб 02:02:59 186157799
привет, аноны, решил вкатиться в с++
есть опыт работы на питоне, шарпе, чистом си
вопрос не про материалы для изучения - спасибо шапке. Интересует, скорее, совет. Каким бы пет-проектом заняться, и на что в нем следует обратить внимание (типа обязательно многопоточен и тд), чтобы я был интересен работодателю? Просто опыт работы уже 4 года, и идти на дикого джуна за 40к совершенно не але, а в с++ ой как хочется
спасибо)
Аноним 21/11/20 Суб 03:06:12 1861592100
>>1861577
Денег ты на c++ особо не заработаешь. Дальше читать не стоит.
Большая часть вакансий во всякие говНИИ, на реально интересный проект попасть довольно сложно.
Основные ниши для с++ связаны с матаном, железом, надёжностью и производительностью. Из этих тем состоит 75% вопросов на собесе, если ты идёшь не на ждуна (от ждуна хотят того же, но в виде профильного образования без практики).
Часто бывает так: вот у нас есть код - как его улучшить (оптимизация, баги, портируемость)? Хотят услышать не только про ++i, i++, но и всякие математические изъёбы, распараллеливание, интринсики, балансировку нагрузки между железками (CPU-GPU, host-client).
Сейчас актуальна обработка медиа данных, так что можешь чё-нить на эту тему написать: кодек из А в В, поиск чего-то на картинке или повышение качества картинки, получение медиапотока с устройства (в идеале с embed, но и вёбка сгодится).
Аноним 21/11/20 Суб 10:24:48 1861731101
>>1861545
Пиздец. Есть инфа, на каких платформах и компиляторах нет этих тайпдефов?
Аноним 21/11/20 Суб 10:49:02 1861748102
>>1861592
дык математические изъебы не зависят от языка, распараллелить и на питоне можно
Аноним 21/11/20 Суб 10:51:58 1861750103
>>1861592
>> денег ты на с++ особо не заработаешь
да ладно тебе, ты типа так вкатыша отпугиваешь? понятно, что джава ебет по зпхе, но свои 120 можешь получать. Что, в целом то, похоже на зарплаты питоне
https://habr.com/ru/article/511700/
Аноним 21/11/20 Суб 12:40:48 1861817104
>>1861750
Он конечно дохуя приукрасил, да и такой жести от ждуна (и даже от мидла если это не какая нибудь топовая компания) никто ждать не будет, но с точки зрения именно зарабатывания денег плюсы реально не лучший выбор.

В перспективе на 5-7 лет конечно з/п будет не сильно ниже аналогичных позиций на других технологиях (по крайней мере в рамках компании, и если это не оверхайп технология с супер нулевой конкуренцией среди соискателей, как сейчас с го/элексиром/скалой), но вот в краткосроке на любой хайповой технологии на этот же уровень можно выйти за 3 года или даже быстрее, просто потому что рынок шире, и можно хоть каждые пол года делать по x1,5.

>Что, в целом то, похоже на зарплаты питоне
Очень хуёвое сравнение, полистай эти питоновские вакансии на хх, там за 30-40к работать предлагают да и уровень там требуется соответствующий. Даже при этом у него медиана выше плюсов, что как бы кек.
Аноним 21/11/20 Суб 13:00:40 1861831105
>>1861817
>> и даже от мидла если это не какая нибудь топовая компания
а что от мидла требуют? реально сразу на мидла скакнуть с си шарпа? или на входе онли джун?

по поводу второго абзаца: ну тут да, я согласен, что с точки зрения денег лучше бы остаться с существующим стеком (шапр + питон), но иногда кажется, что тру программистом можно стать только изучив с++, такое конечно препдоложение, но почему-то к ним душа лежит прям
да и в целом у меня позиция с обработкой данных с сенсоров и тд, и это охуеть вообще какая случайность, что получилось питон подтянуть, вот к крестам и стремлюсь. Пусть даже если работа с ними будет связана с классическим проганьем
>> Даже при этом у него медиана выше плюсов, что как бы кек.
смотрю на ссылку в закрепе - и не сильно там выше. В целом на +- 10к похуй
Аноним 21/11/20 Суб 14:00:28 1861864106
>>1860893
Ну да, ну да, говнософт как всегда. На работе весь день на етом говне пишу. Так заебался, что на домашней пекарне установил arch BTW, ламповий вим+лсп+силанг и пилю свой петпроджект, алсо билд система на мейке, больше не нужно.
Аноним 21/11/20 Суб 15:43:11 1861944107
>>1861748
В крупных конторах делается так: математики пишут код на питоне (такой себе прототип), потом его портируют на с++ другие специалисты (распараллеливание на CPU, перенос вычислений на GPU - CUDA/OpenCL, использование инструкций SSE через ассемблерные вставки).
Я напомню, что сейчас наиболее актуальны системы реального времени - самодвижущиеся повозки, дроны, видеонаблюдение и трекинг с нейросеточками. Там очень жёсткие требования к производительности. Да те же игры систему жрут беспощадно.
Аноним 21/11/20 Суб 15:46:29 1861947108
>>1861831
>а что от мидла требуют?
Зависит от компании. У всех свои требования, поэтому обычно все просто сходятся на том, что мидл это челик с 1-3 годами опыта.

>реально сразу на мидла скакнуть с си шарпа?
Если в точно ту же прикладную область в которой у тебя уже есть опыт — можно наверно.
У буржуев точно можно было бы, всё равно на собесах 80% дрочки алгоритмов, 15% дрочки на софт скиллы и ещё 5 на конкретный стек, у нас же всё наоборот. В любом другом случае — сначала надо где-то получить хоть какой-то опыт в плюсах — так что иди и напиши хотя бы парочку пет прожектов, чтобы было хоть о чём написать в резюме и открыть рот на собесе, потом уже и думай хочешь ли.

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

>смотрю на ссылку в закрепе - и не сильно там выше. В целом на +- 10к похуй
Пчел, это медиана. Учитывая, насколько нижняя планка зп в питоне ниже — настолько и верхняя выше, если вытягивает медиану выше плюсов.
Аноним 21/11/20 Суб 15:55:53 1861951109
>>1861831
>а что от мидла требуют? реально сразу на мидла скакнуть с си шарпа? или на входе онли джун?
На 80-90к можешь пойти, если месяц потратишь на подготовку к собесу. Просто сейчас с++ не самодостаточный язык, а скорее вспомогательный. Я например варюсь в embed дрочильне с нейросетками и у нас на проекте: железо - C, матан - ASM, C++, CUDA, бек и микросервисы C++, C#, фронт - JS с реактом, тесты скрипты и прочая залупа - Python. Контора у нас маленькая и я пердолюсь на всём вот этом сразу.
Аноним 21/11/20 Суб 16:11:19 1861970110
>>1861817
>можно хоть каждые пол года делать по x1,5.
Пришёл, разобрался в как тут у них всё, запилил пару фич, сменил работу?
Аноним 21/11/20 Суб 16:14:44 1861977111
>>1861970
По другому и не бывает роста.
Аноним 21/11/20 Суб 16:21:12 1861986112
>>1861977
Я просто как раз полгода проработал на новом месте, запилил им за это время мажорную фичу, а дальше уже хочу утечь в другое место, лол.
Аноним 21/11/20 Суб 17:06:12 1862040113
>>1861944
> игры
Шарп в юнити - это уже очень низкоуровнево. Сейчас в геймдеве никто не пишет на крестах. Двигло собирается из конструктора, а дальше любая макака пишет код любого качества лишь бы работало. Если ААА пилят чуть ли не на блюпринтах, то что уж говорить про рашку и мобильную разработку.
Алсо, системщину и ембендед разве китайцы не перетянули давно уже? Судя по гитхабу русские ваньки уже не нужны.
Аноним 21/11/20 Суб 17:08:13 1862044114
>>1862040
> Если ААА пилят чуть ли не на блюпринтах, то что уж говорить про рашку и мобильную разработку.
Мы Вам перезвоним.
Аноним 21/11/20 Суб 17:09:40 1862047115
>>1862044
Прямиком из Юбисофта, да? Спасибо, не надо, сами пишите на питоне и визуальных скриптах.
Аноним 21/11/20 Суб 17:11:20 1862049116
>>1862040
Проиграл с маняфантазий.
Аноним 21/11/20 Суб 17:13:53 1862054117
>>1862047
> Прямиком из Юбисофта, да?
Тебе то откуда знать как пишут движки?
Аноним 21/11/20 Суб 17:20:06 1862060118
Аноним 21/11/20 Суб 17:27:45 1862073119
>>1862049
Пока ты проигрываешь издатели считают бабло, а разрабы годами патчат свой говнокод после релиза. В том же уе4е абсолютная норма комбинировать кресты и блюпринты, все так делают. Если помотришь на индюшатину, то там в большинстве случаев либо готовое двигло, либо контруктор из 25 опенсорс-проектов.
>>1862054
Ну недавний Легион уже сливали. Сам код хоть и вырезали, но pdb лежат и можешь сам посмотреть на этот конструктор из сотни сторонних компонентов. То что там пользовались визуальном скриптингом тоже не секрет, жирухи же не будут писать на крестах. Там же есть исходники шейдеров.
Аноним 21/11/20 Суб 17:38:23 1862078120
>>1862040
Манька, полистай на досуге вакансии Wargaming, Gaijin или аутсорс контор типа Saber, Sperasoft и прочих залуп.
Про эмбед и китайцев - китайцы скупают наши конторы и разрабов. Тот же Huawei сделал несколько крупных покупок пару лет назад (системы распознавание лиц). Даже на РБК по этому поводу бугурт напечатали. И сейчас они ханттят разрабов поштучно.
Аноним 21/11/20 Суб 21:39:38 1862259121
>>1861970
Да, смена работы — самый быстрый способ увеличить количество нефти. Правда, нужно уметь красиво пиздеть про причины (закончили проект/срезали косты из-за короны/перевели на другой проект с древним стеком/итд), все прекрасно понимают что ты хочешь бабла, но если услышат то нанимать тебя точно не захотят, лол.

>>1861977
Бывает, но:
а) Внутри компаний зп всегда растут медленнее чем на рынке в целом, просто потому что рынку мало и мало (а когда ты съебёшь за отказ взять и повысить зп, новых людей эта компания будет тоже нанимать по рыночным ценам, которых ты и хотел, такой вот кекус);
б) Тебе за каждые +20к к зарплате будут стараться довесить кодревью/менторинг джунов/подработку девопсом/помощь пму с декомпозицией/и прочие задачи, за которые никто не хочет браться (и которые надо будет ещё и совмещать с основной деятельностью, лол).
Так что самый просто способ это таки смена работы.
Аноним 21/11/20 Суб 21:50:19 1862271122
>>1862040
>Сейчас в геймдеве никто не пишет на крестах.
Смотря что под этим понимать. В контексте твоего сообщения "геймдев" — это именно программирование геймплея, там уже давно никто на плюсах не пишет, ибо нахуя. Написать код "если персонаж находится в фрейме (0, 100, 250, 120) то ебать его" может и макака, только это даже не 1/5 от всей программистской деятельности связанной с геймдевом но наверно вся деятельнось какого нибудь /гд, лол.

>Двигло собирается из конструктора
Самописные движки так же собираются из конструкторов, там точно так же тянутся сторонние либы для абстракций над ос (ввод/фс/окна/процессы/треды), физика, всякие парсеры моделек, звук, и так со всем — разве что обычно рендеринг +- свой был.

>а дальше любая макака пишет код любого качества лишь бы работало
Пчел, почти все игры которые выходили в опенсорс/сливались состояли из нагромождений говен примерно _всегда_. Геймдев — это всегда про взять и нахуярить, а не сделать поддерживаемую систему, потратив кучу времени на архитектуру/рефакторинги/итд.
Аноним 21/11/20 Суб 21:52:00 1862273123
>>1862271
>собираются
и собирались
Аноним 21/11/20 Суб 23:43:05 1862343124
Вопросик по std::queue.
Если я создаю очередь без параметров, то у нее уже есть какая-то по дефолту выделенная память?
И еще, если удалю все элементы через .front() + .pop(), то выделенная память останется или вернется в кучу(?)
Аноним 22/11/20 Вск 00:13:41 1862353125
Аноним 22/11/20 Вск 00:39:50 1862375126
Что делать в такой ситуации?
Foo.h:
class Foo
{
Foo(){Bar bar();}
};
Bar.h:
class Bar
{
Bar(Foo const& foo){}
}
Аноним 22/11/20 Вск 01:14:34 1862403127
>>1861944
а где можно что-нибудь почитать о проектировании таких систем?
Аноним 22/11/20 Вск 01:16:00 1862404128
>>1861951
погоди, че? матан assembler?????? чиво вообще
Аноним 22/11/20 Вск 01:20:12 1862409129
>>1862375
class Foo;
class Bar { Bar(Foo const& foo){}

А вапще, менять архитектуру/дизайн.
Аноним 22/11/20 Вск 01:54:28 1862434130
>>1862375
Использовать forward declaration, если нужно именно обойти circular include.

А дальше в .cpp можно вполне себе инклудить то, что нужно, чтоб иметь полные типы.

>Bar bar();
Дополнительно. Этот код объявляет функцию, а не создает объект класса Bar.
Аноним 22/11/20 Вск 02:07:30 1862439131
>>1862404
Самый простой пример это вычисление оператора Собеля с помощью SSE инструкций процессора (пишется на ASM). Используется для поиска границ на снимках с камеры, радара, рентгена и проч. (а по границам можно понять какие объекты есть на картинке). Короче edge detection.
https://core.ac.uk/download/pdf/83041628.pdf
В принципе, если ты залезешь в исходники OpenCV, то там ещё много подобного добра увидишь. Причём OCV можно даже собирать с поддержкой SIMD NEON для ARM процессоров.
Аноним 22/11/20 Вск 02:19:38 1862442132
>>1862439
нахуя писать это на чистом асме, если есть интринсики?
Аноним 22/11/20 Вск 02:24:04 1862444133
>>1862439
С другой стороны у OpenCV есть бинды для питона. Поэтому цепляем к проекту OCV, numpy и пишем наш проект на питоне. Рубим бабло и насмехаемся над красноглазыми (никакого матана, железок и байтоебли).
Аноним 22/11/20 Вск 02:31:49 1862446134
>>1862442
Набор интринсиков определяется компилятором. Набор SIMD определяется процессором.
Аноним 22/11/20 Вск 02:37:19 1862451135
>>1862446
У меня в плюсовом проекте был модуль на асме на 2к loc.

Я смотрел в сторону интринсиков, но, если честно, сделать две реализации модуля (портируемый с++ и специализированный асм) со статическим (на этапе компиляции) и динамическоим (проверка, поддерживаются ли нужные инструкции в рантайме) выбором нужной имплементации мне было намного проще, чем пытаться добиться того же эффекта с помощью интринсиков.
Аноним 22/11/20 Вск 11:54:06 1862591136
>>1860828
Язык не сложный (на самом деле это три языка в плаще), но тулинг просто говно дерьма, будешь репу чесать почему все не работает и куда нажать чтобы заработало. Будешь репу чесать когда захочешь библиотеку использовать и симейк будет мозга ебать. Комьюнити отбитое, будет рассказывать тебе про историю компьютерной техники вместо того чтобы ответить на простой вопрос почему не получается вывести "привет мир" в консоли не кракозябрами.
Я бы рекомендовал начинать с чего-нибудь дружелюбного типа питона жаваскрипта или вижуалбейсика иначе никакого кайфа не получишь и бросишь это дело.
А так - добро пожаловать в наш клуб любителей потеребить память руками.
Аноним 22/11/20 Вск 11:56:40 1862594137
>>1860952
Блидинг эдж петушиной технологии, конечно там двигают всё туды-сюды и ломают
Аноним 22/11/20 Вск 12:04:16 1862598138
>>1862591
Ещё бы альтернативы хоть какие-то. Интерпретируемые языки и JIT не нужны. Go без либ ненужен. Раст так и не поднялся с колен. Zig ещё пару лет ждать пока релизнется. ФП-параша по определению говно. Что там остаётся? Всякие анальные извращения вроде Nim?
Аноним 22/11/20 Вск 12:06:25 1862600139
>>1862598
Чем тебе JIT то не угодил? Тот же шарп помедленнее, но писать в разы проще
Аноним 22/11/20 Вск 12:14:16 1862605140
>>1862598
> Интерпретируемые языки и JIT не нужны
хотел написать пост про программы которые работают, решают проблемы реального мира и приносят прибыль но любителю экономить компьютерные ресурсы это никак не поможет, сорь, не выходи из хайлоада не делай ошибку
Аноним 22/11/20 Вск 12:16:31 1862607141
>>1862605
inb4 щас бы писать программы которые работают, а не access violation память не может быть read или segmentation fault core dumped
Аноним 22/11/20 Вск 12:20:52 1862610142
>>1862600
В первую очередь потреблением памяти, во вторую производительностью. Нормальный JIT только под Lua есть. Тот же Шарп и Жаба жрут памяти чуть ли в десятки раз больше чем сишка в некоторых случаях, а ещё это время запуска местных фреймворков. Как же кринжанул с дотнетовского гуя на XAML, с которым пустое окно запускается почти секунду, а в доках рекомендуют использовать сплэшскрин если совсем уже неприемлемо долго. Браузер быстрее запускается, чем это говно, лол. Кто-то жалуется на Электрон, но ведь дотнет ещё хуже.
>>1862605
> любителю экономить компьютерные ресурсы
Прям трясёт, когда можно сделать быстро, но мне мешают и заставляют жрать говно.
Аноним 22/11/20 Вск 12:26:10 1862614143
>>1862610
Кто тебе мешает, болезный, бери и делай
Аноним 22/11/20 Вск 12:38:53 1862635144
>>1862610
>Прям трясёт, когда можно сделать быстро, но мне мешают и заставляют жрать говно.
Как же ты работать на работе то будешь, горюшко...
Аноним 22/11/20 Вск 12:43:49 1862645145
>>1862614
Ну а как победить жор памяти в шарпе, если это фича такая у них? Я бы с радостью использовал его, но вот у меня есть сотни машин с 1 гб ОЗУ из 2010 года и я не могу больше 100 мб использовать. В шарпе создаёшь пустое окно на винформс и уже минус 20 мб, против 1.7 на крестах с wxwidgets. И так в любом месте жрёт больше в 2-10 раз.
>>1862635
Не работаю кодером и не собираюсь. Это она из причин почему. Тем более профитов в ЗП нет никаких, чтоб укатываться из админства.
Аноним 22/11/20 Вск 12:51:41 1862654146
image.png 30Кб, 791x150
791x150
Поясните за пикрил объявление. Оно так делается потому что это билтины и привычное T value_type; здесь не проканает?
Аноним 22/11/20 Вск 12:59:27 1862661147
>>1862645
>но вот у меня есть сотни машин с 1 гб ОЗУ из 2010 года
У меня в 2010 было по 2-4 гб.
Зачем тебе 100 машин?

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

Не, ну ты можешь найти где-нибудь 386 компьютер и писать что-нибудь под ДОС вообще. Писали же когда-то.
Аноним 22/11/20 Вск 13:04:48 1862667148
>>1862654
Так - это как? Что ты там такого необычного на картинке приметил?
Аноним 22/11/20 Вск 13:16:42 1862682149
>>1862645
битмап 192010804 весит 8Мб, чтобы фликера не было надо два штуки, чтобы антиаляйсинг был нужно в четыре раза больше, сделай на своих крестах непустое окно и будет те же 20Мб

20Мб это 0.2% от 8Гб оперативы, можешь хоть в несколько рядов наспавнить себе
Аноним 22/11/20 Вск 13:18:44 1862683150
>>1862645
Ферма из паспберипай полезнее чем твоя сотня машин с такими констрейнами
Аноним 22/11/20 Вск 13:23:03 1862688151
>>1862661
> Зачем тебе 100 машин?
Ну это условно, их намного больше. Хотя да, сейчас это всё же меньшинство и везде есть по 2-4 гб. Но эти пару сотен тоже надо как-то поддерживать.
> которые уже тогда были отстойными
Тогда там стояли Windows Embedded POSReady 2009. Летали вполне хорошо.
> Зачем тебе учить инструменты разработки
Да мне-то и не особо есть зачем. Я же не кодер, только автоматизации делаю, в основном для даунов-инженеров, чтоб они могли пару кнопок нажать и не ебать мозг другим.
> под ДОС вообще. Писали же когда-то.
И сейчас пишут, внезапно. У нас и такое говно есть. Ладно ещё выбили переход на 10 IOT где есть хотя бы 1 гб ОЗУ, но железо никто не станет менять, работает же. Да и самое главное - нам это тоже не сильно надо, когда можно сидеть и попёрдывать, придумывая новые костыли. А как уж оно работает - это проблемы юзеров.
Аноним 22/11/20 Вск 13:24:04 1862690152
>>1862667
Необычного ничего. Мне просто интересно узнать есть ли разница между объявлением алаяса на темплейтный тип как в книге и дефолтным объявлением переменной. Как я это вижу - раз тут юзаются билтины то обычное объявление не сработает и будет ошибка.
Аноним 22/11/20 Вск 13:37:21 1862699153
>>1862690
Какие билтины, ты чё, поехавший?
Аноним 22/11/20 Вск 13:51:27 1862702154
>>1862699
Сам уже разобрался. В любом случае спасибо, неадекват.
Аноним 22/11/20 Вск 14:04:24 1862716155
screenshot800x6[...].png 133Кб, 800x600
800x600
Аноним 22/11/20 Вск 14:17:50 1862720156
Аноним 22/11/20 Вск 14:20:22 1862721157
>>1862716
Даже VIM выглядит лучше.
Аноним 22/11/20 Вск 14:23:50 1862724158
>>1862720
Говноподелие на паскале
Аноним 22/11/20 Вск 14:28:58 1862726159
>>1862645
>Тем более профитов в ЗП нет никаких, чтоб укатываться из админства.
Лольнул с эникйщика. Хотя если перекатываться именно в плюсы, мб и не будет, кек.
Аноним 22/11/20 Вск 14:30:32 1862727160
>>1862682
Буферы же в видеопамяти создаются, не? Ну разве что у тебя память разделяемая, если видео интегрировано в cpu.
Аноним 22/11/20 Вск 14:34:08 1862732161
>>1862682
>на своих крестах непустое окно
А ещё можно непустое окно на шарпе/жаве сделать, и оно будет жрать 200мб.
Аноним 22/11/20 Вск 14:43:05 1862734162
>>1862726
Да судя по средним ЗП с хабра и вакансиям на 120к - только в модные GOвна есть смысл перекатываться. Что в админстве, что в кодинге требуют одного - знания. Но при этом в админстве не требуют писать код, платя столько же.
Аноним 22/11/20 Вск 14:47:48 1862739163
>>1862734
А как же таскать компы, ходить по офису целый день, залезать под столы, ковыряться в грязи?
Аноним 22/11/20 Вск 15:10:08 1862756164
>>1862739
Для этого эникеи и инженеры. Обычно там дольше 2-3 лет не работают.
Аноним 22/11/20 Вск 15:13:10 1862758165
>>1862720
>>1862721
>>1862724

Сами тут советовали новичкам в dev-cpp говно
кодить учиться, а теперь изошли на говно.

уебаны с помойки as is
Аноним 22/11/20 Вск 15:14:13 1862760166
>>1862690
>обычное объявление не сработает
Обычное объявление — это какое?
Аноним 22/11/20 Вск 15:24:23 1862764167
>>1862758
Люди в здравом уме советуют либо visual studio, либо компилировать ручками из консоли и писать код в vim/emacs/вставьте-свой-любимый-текстовый-редактор. Остальное всё хуй знает вообще зачем существует.
Аноним 22/11/20 Вск 15:30:56 1862765168
>>1862734
Лучше писать код на плюсах, чем на баше.
Аноним 22/11/20 Вск 15:31:36 1862766169
Аноним 22/11/20 Вск 15:32:28 1862767170
>>1862756
Но ты ведь с этого и начинал. Наверное до сих пор не можешь забыть чем пахло под столом у главного бухгалтера Анжелы Олеговны.
Аноним 22/11/20 Вск 15:34:07 1862768171
>>1862767
Оставленными дешёвыми поношенными туфлями.
Аноним 22/11/20 Вск 15:49:42 1862774172
>>1862716
чего-то они совсем над ней поиздевались.
со шифтами проблемы, окошко мерцает, прога вылетает...
хоть самому переписывай на чем нибудь, кроме delphi xe
Аноним 22/11/20 Вск 16:08:38 1862781173
>>1862683
>>1862661
Чет орнул со школьников, если он обслуживает скажем парк платежных терминалов, он за свой счет будет что ли везде сотни плашек памяти или малинки покупать?
Аноним 22/11/20 Вск 16:50:10 1862803174
>>1862716
Помню, как эту хуйню рекомендовали на первом курсе на лабах вместе с Borland C++ Builder. Я в это говно лезть не стал, ибо знал про вижуалку, qt creator и vim. Но одногруппники, которое влезли, потом у меня 100500 раз спрашивали, почему ОШИБКА НЕ РАБОТАЕТ КАК ПОЧИНИТЬ.
Аноним 22/11/20 Вск 17:00:47 1862811175
>>1862781
Если у него будет коммерческая работа в этом направлении, или хотя бы реально осмысленная учебная - то будет изучать годные инструменты. Надо будет, и под 286 будет кодить, со всеми этими "char far".

Но только цель другая, обучаться программированию
>>1860828

Если автор хочет сразу себя ставить в стек устаревших технологий, то пожалуйста.
Аноним 22/11/20 Вск 17:24:13 1862832176
image.png 11Кб, 386x258
386x258
>>1860500 (OP)
помогите мне пожалуйста разобраться, почему падает программа. Мне надо перевернуть строку, но моя программа падает когда доходит до 91 строки и я не понимаю почему. Что я делаю не так?
Аноним 22/11/20 Вск 17:29:01 1862839177
>>1862832
Может быть ты передаешь туда константную строку?
Аноним 22/11/20 Вск 17:31:43 1862842178
>>1862832
Чел, попробуй хоть в столбик на бумажке поделить. А потом посмотри что компилятор выдаёт.
Аноним 22/11/20 Вск 17:48:06 1862860179
Вопрос по переменной в цикле
Допустим есть такой цикл:
for( auto &&val : container )
values.push_back( val )


Нужно ли мувать переменную val в другой контейтер в вектор?
Аноним 22/11/20 Вск 17:49:40 1862862180
image.png 2Кб, 356x50
356x50
>>1862839
да, я сначала делал как на 121 строке, и у меня падала программа, но когда я сделал как на 122 строке, все заработало. Спасибо!
Аноним 22/11/20 Вск 17:50:29 1862863181
image.png 9Кб, 454x202
454x202
Наверное тупой вопрос, но уже который день не могу придумать как решить. Нужно проверить есть ли 3 или больше одинаковых элемента в массиве. Делаю простым способом через count и вроде считает хорошо, но если массив будет например (1, 1, 2, 2, 3, 3) он зафакапит и выведет True, а другого способа я не знаю.
Аноним 22/11/20 Вск 17:54:57 1862868182
>>1862863
Вообще не понял что ты там делаешь
Васянорешение с O(n) заполнением ассоциативного массива чому не подходит?
Аноним 22/11/20 Вск 18:03:23 1862874183
>>1862860
Что значит "нужно"? Тебе нужно? Тогда да.
Аноним 22/11/20 Вск 18:04:29 1862877184
Аноним 22/11/20 Вск 18:06:03 1862882185
>>1862877
Построение вопроса у тебя ёбнутое.
Хочешь копию — копируешь.
Хочешь мув — муваешь.
Аноним 22/11/20 Вск 18:12:39 1862888186
>>1862863
Ну, очевидно, тебе надо запоминать не только count, но и собственно какое именно значение ты учел.
Аноним 22/11/20 Вск 18:14:17 1862889187
>>1862868
Во-первых N logN, а не N.
Тогда уж проще отсортировать и пройтись потом по отсортированному массиву, это можно и на обычном Си сделать.

Правда перерасход памяти.
Аноним 22/11/20 Вск 18:16:40 1862891188
>>1862888
Скорее надо не забыть во втором цикле сбрасывать count перед началом,
for (int j = i+1, count=1; j<n, j++){
}
а после сделать проверку на count, то есть она внутри внешнего цикла будет
Аноним 22/11/20 Вск 18:17:22 1862892189
>>1862862
>>1862832

Кто может пояснить почему если написать
char* mamku="ebal";

указатель будет всё равно смотреть в non-writeable место в памяти, несмотря на то что тип явно задан без const?
Аноним 22/11/20 Вск 18:18:47 1862894190
>>1862892
Язык какой?

"ebal" это const char, его присвоение к char — это не совсем корректный код, нормальный компилятор выдаст warning.
Аноним 22/11/20 Вск 18:19:05 1862895191
>>1862894
Это если говорить про C++.
Аноним 22/11/20 Вск 18:19:31 1862896192
Аноним 22/11/20 Вск 18:19:46 1862897193
>>1862889
Нужно 3 подряд?
Научись формулировать задачи, лол
Аноним 22/11/20 Вск 18:22:10 1862902194
>>1861831
>тру программистом можно стать только изучив
haskell
Аноним 22/11/20 Вск 18:25:28 1862905195
>>1862894
char ptr[]="DVACH";
тут тоже const char литерал, однако всё работает.

Что ты на это скажешь?
Аноним 22/11/20 Вск 18:28:53 1862910196
>>1862905
Тут объявление массива (в стиле C), а там указателя?
Аноним 22/11/20 Вск 18:29:13 1862912197
>>1862892
> writeable
Вот только если попробовать изменить, будет UB.
Аноним 22/11/20 Вск 18:31:55 1862916198
Аноним 22/11/20 Вск 18:33:02 1862920199
>>1862892
Потому что все "ebal" где то должны храниться на момент старта программы.
А поскольку в Си все должно делаться явно, а копию статических данных в оперативку ты не делал, то все так и есть.
Аноним 22/11/20 Вск 18:41:00 1862936200
>>1862905
А тут не литерал, а сахар для { 'D','V' ... }
Аноним 22/11/20 Вск 18:41:50 1862938201
Аноним 22/11/20 Вск 18:45:08 1862946202
>>1862409
Объявляет функцию в теле конструктора?
Аноним 22/11/20 Вск 18:52:03 1862953203
>>1862905
char str[] = "lalala" это массив, у которого компилятор выводит размер по инициализации, а выделение памяти и инициализация происходят в рантайме (современный аналог std::array).

char ptr = "lalala" это указатель на константу, которая хранится в статической памяти, выделяемой при старте проги (это const char).

Когда происходит вызов func(char ), то str неявно приводится к типу char, но сам str не является указателем изначально.

Это типичное легаси в с++ от которого можно избавиться только разогнав нахуй весь комитет по стандарту и твёрдо решительно сократить язык до смысла выкинув нахуй вот эти вот все [].
Аноним 22/11/20 Вск 18:53:47 1862955204
>>1862953
Хорошо, что ты не комитет.
Аноним 22/11/20 Вск 19:05:48 1862975205
Эту вашу хуиту стоит осваивать или лучше в раст идти? Хочу новые горизонты для себя открыть.
Аноним 22/11/20 Вск 19:10:06 1862980206
>>1862975
Но раст хуита на постном масле же
Аноним 22/11/20 Вск 19:13:10 1862984207
>>1862975
Нет, не стоит. У c++ нет будущего. Про Rsut в вакухах пишут, что он "приветствуется". Ну ты понел.
Аноним 22/11/20 Вск 19:14:00 1862986208
Аноним 22/11/20 Вск 19:14:37 1862987209
>>1862975
Для открытия новых горизонтов купи дилдак. А раст мертворождён. Пиши на человеческом языке, а для байтоебли в Zig уходи. Как раз к релизу освоишь.
Аноним 22/11/20 Вск 19:15:00 1862988210
22/11/20 Вск 19:15:10 1862990211
>>1862975
Если ты так ставишь вопрос, то, безусловно, нужно идти в раст.

>>1862986
C++.
Аноним 22/11/20 Вск 19:19:29 1862994212
1583198863676.jpg 55Кб, 512x384
512x384
>>1862975
Раст это локальный мем. Если "с++" исчезающий, то "раст" это исчезающий на исчезающем фоне.
Аноним 22/11/20 Вск 19:35:36 1862999213
>>1862892
Там вроде из-за оптимизации компилятора. Если у тебя в коде в одном месте char a = "HuiPizda" в другом месте char b = "Hui" а в третьем char c* = "Pizda", то компилятор в памяти создаст только строку "HuiPizda", а указатели a, b, c получат соответствующие адреса в этой общей строке.
Аноним 22/11/20 Вск 19:40:05 1863006214
Аноним 22/11/20 Вск 19:41:53 1863009215
аноны, пилю видеотрекинг
что почитать про оптимизацию/распаралелливание/прочую нужную хуиту?
Аноним 22/11/20 Вск 19:43:02 1863010216
>>1863009
Зачем читать, если можно писать на питоне?
Аноним 22/11/20 Вск 19:43:28 1863011217
>>1863010
на питоне написано, нужно оптимизировать
Аноним 22/11/20 Вск 19:50:02 1863016218
>>1863011
Пиши на питоне с торчем.
Аноним 22/11/20 Вск 19:50:51 1863019219
>>1863016
сам ты торч бля, я только чуть чуть дунул
Аноним 22/11/20 Вск 19:51:35 1863023220
>>1863016
у меня нет нейронок(((((((((((
Аноним 22/11/20 Вск 19:52:05 1863024221
>>1863016
вообще ты пиздец душный, я спросил что почитать по СИ ПЛЮС ПЛЮС а не твои охуеные советы про питон блять
Аноним 22/11/20 Вск 19:54:59 1863029222
>>1863023
Так торчать можно и без нейронок. Он и в обработку видео может.
>>1863024
Документацию читай, клован.
Аноним 22/11/20 Вск 20:48:30 1863081223
>>1862999
Подумай ещё раз. Вспомни про 0.
Аноним 22/11/20 Вск 21:21:44 1863119224
1567446417130.jpg 37Кб, 480x480
480x480
Так скажите, плюсаны, будущего у языка нет? Мне предлагали проект на Java, но я все равно решил съебать на другой проект на крестах. И вроде всё неплохо, но грызет изнутри, что я проебался и в долгой перспективе пососу хуёв.
Аноним 22/11/20 Вск 21:23:29 1863122225
>>1863119
>будущего у языка нет
Все так, давно уже нет. 20 лет хороним.
Аноним 22/11/20 Вск 21:25:59 1863126226
>>1863119
> Java
Шарписты её активно хоронят вместе с крестами, js, питоном и Go.
Аноним 22/11/20 Вск 22:06:32 1863163227
Разбудите меня, когда executors+networking допилят
Аноним 22/11/20 Вск 22:08:23 1863166228
>>1863119
Если у тебя опыт (и в общем-то нравится язык) то все должно быть в шеколаде в обозримом будущем. Это вкатунам биба.
Аноним 22/11/20 Вск 22:30:09 1863194229
>>1863126
>Живые шарписты
Хуя манямир
Аноним 22/11/20 Вск 22:34:32 1863199230
>>1863194
Ну да, живые, в госконторах.
Аноним 22/11/20 Вск 22:52:48 1863211231
>>1863199
>живые
>в госконторах
Аноним 22/11/20 Вск 23:10:45 1863225232
>Не софтосрач
Визуалка или терминал + g++ + gdb?
Аноним 22/11/20 Вск 23:21:33 1863230233
>>1863225
Если хеллоувород, то вижуалка, а так конечно терминал.
Аноним 22/11/20 Вск 23:23:33 1863232234
>>1863230
А если обычная РАБота на дядю + собственные проекты на энтузиастычах без пердолинга? Сегодня часа 2 ставил автокомплит на спейсмаксы ибо нет ни одного человеческого конфига.
Аноним 22/11/20 Вск 23:26:44 1863234235
>>1863232
> пердолинг в студии раз в пару месяцев
> пердолинг каждый новый проект с конструктором и консолькой
Я бы ни один из этих вариантов не стал бы выбирать.
Аноним 22/11/20 Вск 23:28:47 1863236236
>>1863234
Не, ну становиться гей или веб шлюхой для меня тоже не вариант. Да и кресты прям реально секс, хуй я их на что променяю.
Аноним 22/11/20 Вск 23:40:12 1863256237
Аноним 22/11/20 Вск 23:52:40 1863272238
image.png 84Кб, 1920x966
1920x966
Аноним 23/11/20 Пнд 00:12:30 1863291239
Аноним 23/11/20 Пнд 00:14:51 1863294240
>>1863236
ну тут в зпхе же прогирышь
Да и хз придет ли джава и прочнее подобное говно в нишу с++
Да и сейчас IOT ебашит, роботы, дроны и тд. Джаве и шарпу там нехуй делать
Аноним 23/11/20 Пнд 00:15:08 1863296241
>>1863236
а кем кст работаешь? что делаешь?
Аноним 23/11/20 Пнд 00:20:06 1863302242
>>1863294
>IOT ебашит, роботы, дроны
Вот я эта хуйня хотеть. Но больше всего интересуют нейронки.
>>1863296
Вообще арбитраж + трейдинг. Плюсы я только-только учу, лол. Чуть меньше 2 месяцев, только вчера шаблоны прошёл.
Аноним 23/11/20 Пнд 00:36:07 1863312243
>>1863225
Вижуал студия всегда. Терминал это для студентиков-даунов
Аноним 23/11/20 Пнд 00:52:40 1863323244
Аноним 23/11/20 Пнд 00:53:47 1863324245
1505222111547.mp4 1338Кб, 1920x1080, 00:00:34
1920x1080
>>1863225
Какие тут вообще могут быть срачи в 2021 веке когда выбор очевиден?
Аноним 23/11/20 Пнд 00:54:38 1863325246
>>1863225
На вкус и цвет. Все остальные кукаретики.
Аноним 23/11/20 Пнд 01:01:34 1863329247
>>1863312
>Вижуал студия всегда
Дедуль как оно в 2003? Давно VS Code + плагины для терминала изобрели.
Аноним 23/11/20 Пнд 01:02:22 1863330248
image.png 87Кб, 1920x966
1920x966
Аноним 23/11/20 Пнд 01:07:12 1863333249
>>1863302
ну ты как я короче, плюсовый куколд
здрасте
а на чем сейчас пишешь?
Аноним 23/11/20 Пнд 01:13:00 1863335250
>>1863333
На крестах и пишу. Мой первый язык, до этого программированием только на паскале и vbs в школе + универе маялся.
Аноним 23/11/20 Пнд 01:42:34 1863351251
Аноним 23/11/20 Пнд 01:47:32 1863354252
>>1863081
А чё думать. Убираем строку "Hui" из моего примера и всё ок.
Аноним 23/11/20 Пнд 02:07:38 1863358253
>>1863351
Если память не изменяет с 17 стандарта таким говном компилятор не удивить. Это то что я знаю. Докажи обратное.
Аноним 23/11/20 Пнд 02:16:13 1863366254
>>1863324
Как называется плагин?
Аноним 23/11/20 Пнд 02:24:41 1863369255
>>1863225
И то и другое. IDE (но не та, что зовётся visual studio) вроде кажется победителем. Но настройка кросскомпиляции, telnet/ssh, синхронизации сырков, удалённого дебага бывает крайне заёбистой.
Аноним 23/11/20 Пнд 02:46:21 1863384256
>>1863119
В СНГ основную кассу делают аутсорс компании. А это энтерпрайз и всякое легаси говно. Будешь сидеть на Java - будешь при деньгах. Ну а кресты это либо гейдев либо легаси говно либо что-то при производстве (которое почти ничего не производит и не зарабатывает). В гейдеве неплохие зарплаты, но скотские условия труда. Легаси унылое, но ты последняя надежда и тебе заплптят (возможно и валютой).
23/11/20 Пнд 07:41:29 1863443257
Аноним 23/11/20 Пнд 08:59:16 1863466258
Аноним 23/11/20 Пнд 10:05:49 1863486259
>>1863329
> сравнивает полнофункциональную IDE и текстовый редактор на электроне с плагинами
23/11/20 Пнд 10:18:24 1863490260
>>1863486
Верно, тут и сравнивать нечего. Плагины > монолитный кал который потом хер вычистишь из системы.
Аноним 23/11/20 Пнд 10:40:34 1863495261
>>1863490
попробуй выпуститься из вузика, потом через несколько лет поговорим
Аноним 23/11/20 Пнд 10:54:32 1863497262
>>1863495
Кстати, это очень смешно, но полнофункциональную IDE только преподы в универах и котируют по какой-то причине.
После выпуска ни разу еще не видел это замечательное творение.
Аноним 23/11/20 Пнд 10:56:39 1863499263
>>1863497
работать не пробовал еще, да?
Аноним 23/11/20 Пнд 10:58:34 1863500264
Аноним 23/11/20 Пнд 11:00:55 1863502265
>>1863500
ну ваще да, на удаленке разожрался, есть такая тема.
23/11/20 Пнд 11:24:29 1863518266
>>1863495
Попробовал, 15 лет назад выпустился, тебе желаю поступить, школьник.
Аноним 23/11/20 Пнд 11:35:01 1863531267
>>1863518
и как попробовалось? Хуи в НИИ за 30к грызешь?
Аноним 23/11/20 Пнд 13:23:23 1863615268
Аноны, qml использует кто? У меня проблема с реализацией интерфейса, поможете?
Аноним 23/11/20 Пнд 13:57:08 1863632269
>>1863615
Там все просто, главное смотри хелп именно на ту версию что у тебя.
Аноним 23/11/20 Пнд 14:08:18 1863638270
>>1863632
Я прочитал часть документации, которая мне нужна. Но не могу допереть как правильно фичу свою реализовать, она багованная выходит
Аноним 23/11/20 Пнд 14:53:00 1863680271
>>1863638
Так и запиши в релиз ноте: не баг, а фича
Аноним 23/11/20 Пнд 15:16:37 1863712272
>>1863638
Я не телепат, но с большой вероятностью ошибка в твоём жс.
Аноним 23/11/20 Пнд 17:13:49 1863826273
>>1863497
В ВУЗе был препод, у которого стояла вижуал студио в виртуалке на ноуте, потому что по программе её надо, а он говорит, что она всё засрет и потом вилкой чистить, неудобно.
Аноним 23/11/20 Пнд 17:14:27 1863830274
>>1863826
по-этому он и препод, а не программист
Аноним 23/11/20 Пнд 17:32:51 1863845275
>>1863830
Многие преподы совмещают с нормальной работой, особенно молодые, он тоже.
Аноним 23/11/20 Пнд 18:12:54 1863904276
>>1863826
> всё засрет
Это во времена ХР было, надеюсь?
Аноним 23/11/20 Пнд 18:14:18 1863906277
>>1863904
Ой, и сейчас всё засрёт.
Аноним 23/11/20 Пнд 18:16:18 1863910278
>>1863904
С преподов не убудет юзать Visual Studio 2005
Аноним 23/11/20 Пнд 18:17:38 1863911279
>>1863906
В 2020 году разве не похуй что у тебя лишние 5000 файлов на диске или в реестре мусор?
Аноним 23/11/20 Пнд 18:20:09 1863914280
>>1863911
Мне похуй, у меня винда в виртуалке.
Аноним 23/11/20 Пнд 19:06:04 1863947281
Аноним 23/11/20 Пнд 20:14:38 1863973282
>>1863911
Не похуй. Студия подменяет некоторые системные файлы отладочными, и эта шляпа будет понижать быстродействие при обычном использовании компа.
Аноним 23/11/20 Пнд 20:37:56 1863990283
>>1863973
лолшто? Какие файлы она подменяет?
Аноним 23/11/20 Пнд 20:47:35 1864000284
>>1863973
Ты шиз? Это тебе не gcc, не умеющий в отладку без запарывания бинарников говняком.
Аноним 23/11/20 Пнд 20:49:54 1864002285
> студия
Ящитаю, профессионал не будет пользоваться "инструментом" с закрытым исходным кодом. Тем более, когда он бесплатный или ворованный.
23/11/20 Пнд 20:53:11 1864007286
>>1864002
Что, много исходников опенсорсных инструментов прочитал перед использованием? Все, кто этого не делает - не профессионалы?
Аноним 23/11/20 Пнд 20:57:18 1864010287
>>1864007
>много исходников опенсорсных инструментов прочитал перед использованием?
Все, мань.
>Все, кто этого не делает - не профессионалы?
Высокая вероятность такого.
23/11/20 Пнд 20:59:38 1864013288
>>1864010
Ясно, шиз. Как и все vscode-дауны.
Аноним 23/11/20 Пнд 21:01:43 1864017289
>>1864002
Я щитаю, что адовое дрочево на опенсорс и штольмана - психическое расстройство. Мне за работу платят, а не за идеологию.
Аноним 23/11/20 Пнд 21:09:17 1864026290
>>1864013
>пук студиекультиста
Аноним 23/11/20 Пнд 21:10:05 1864027291
>>1864017
Весело наверное потом свои емейлы и пароли находить в слитых базах данных, да, работяга?
Аноним 23/11/20 Пнд 21:38:26 1864043292
>>1864027
Что ты несешь вообще? Какие емейлы и пароли?
Аноним 23/11/20 Пнд 21:49:25 1864056293
>>1864007
Я вот почитываю исходники, когда возникают непонятки. Да даже если бы и не читал, полно других глаз.
Аноним 23/11/20 Пнд 22:05:32 1864075294
>>1864043
Студия не работает без логина по емейлу.
Аноним 23/11/20 Пнд 22:21:54 1864095295
Аноним 23/11/20 Пнд 22:27:09 1864102296
>>1862892
Потому что это строковый литерал, пчел. Хотя есть компили, которые позволяют править строковые литералы. Clang и gcc точно не разрешают, msvc хз, ибо говном не пользуюсь.
Аноним 23/11/20 Пнд 22:31:31 1864104297
>>1864102
быстрофиск
возможно, я пизжу и это зависит от ОС/формата исполняемого файла, ибо вспомнил, как один уважаемый скомпилил на шинде код, где была попытка записать символ в строковый литерал, и у него прога не крашнулась и позволила это сделать (мб я ебанутый, хз).
В лялексе, короче, это сегфолт с вертухи сразу.
Аноним 23/11/20 Пнд 22:55:22 1864128298
>>1864104
В каком-нибудь эмбеде при загрузке бинаря эта область памяти может быть ДЕЙСТВИТЕЛЬНО READ-ONLY, но редактирование этого — ub в любом случае.
Аноним 23/11/20 Пнд 22:57:02 1864129299
>>1864002
Ты на Борланд не гони
Аноним 23/11/20 Пнд 23:04:09 1864131300
>>1863291
Потому что язык сложный, да и в индустрии с помощью плюсов решают, как правило, более сложные проблемы, нежели веб-макакерство и крудошлепство. Поэтому как таковых джунов на кресты нету, только если у тебя не блат ну или тебе просто ебически повезло яхз.
Аноним 23/11/20 Пнд 23:33:58 1864150301
Как сделать pascal -> c++? Похуй на читаемость. Главное промто перевести с одного на другой язык
Аноним 24/11/20 Втр 00:26:41 1864180302
>>1864075
Шизоид, ты правда думаешь, что MS пароли в плейнтексте хранит?
Аноним 24/11/20 Втр 00:59:12 1864188303
>>1864180
Дебич, как ты узнаешь как она хранит, без открытых сорцов?
Аноним 24/11/20 Втр 01:10:24 1864192304
>>1864188
Как минимум по всяким PCI DSS аудитам
Аноним 24/11/20 Втр 02:01:05 1864212305
>>1864128
Зачем ты сам с собой разговариваешь?
Аноним 24/11/20 Втр 02:03:10 1864214306
>>1864131
Ой да не гони. Всякие гос. конторы берут молодняк по 30к за штуку.
Аноним 24/11/20 Втр 02:55:20 1864226307
image.png 48Кб, 1510x306
1510x306
Аноним 24/11/20 Втр 04:13:41 1864249308
Мне нужен список, который может хранить сразу три параметра. Я могу реализовать это так:
- сделать свой список, который сможет принимать не больше и не меньше трёх параметров;
- использовать list из STL, и присваивать узлам списка как параметр ссылку на объект;
- использовать list из STL, и присваивать узлам как параметр массив из трёх ячеек.
Что из этого лучше с точки зрения байтоёбства?
Аноним 24/11/20 Втр 04:26:59 1864252309
>>1864249
Что такое параметр?
Аноним 24/11/20 Втр 04:27:38 1864253310
Аноним 24/11/20 Втр 04:28:31 1864254311
Аноним 24/11/20 Втр 04:29:26 1864255312
>>1864249
struct N {
T a;
U b;
V c;
};

list<N>
Аноним 24/11/20 Втр 04:29:33 1864256313
Аноним 24/11/20 Втр 07:18:26 1864288314
>>1864252
>>1864254
Ну, ладно. Параметр в программировании — это принимаемое функцией значение. Вот здесь, например,
http://www.cpp.sh/5bnzy
функция принимает массив как параметр. Ну, или указатель на массив, я ваще не ебу. А как весь массив вывести я тем более хуй знает, подходящего для этого способа в std:list как будто и нету.
Аноним 24/11/20 Втр 12:06:01 1864369315
>>1864288
А, блять, по ссылке ж у меня массив списков. Как тогда создать список массивов?
Аноним 24/11/20 Втр 14:47:47 1864485316
Аноним 24/11/20 Втр 16:04:19 1864568317
>>1864485
> без скобок
Питонист что ли? Давай нормально переделай.
Аноним 24/11/20 Втр 16:22:56 1864590318
>>1864002
Шиз, какой операционкой пользуешься?
Аноним 24/11/20 Втр 16:27:43 1864599319
>>1864590
Он небось не регается в социалочках и мессенджерах, деньги хранит наличкой, а на двачи ходит через впн, зареганный на 10-минутнвю почту, и взломанный соседский wifi. И работает без трудового договора.
Аноним 24/11/20 Втр 16:35:39 1864608320
>>1864599
> на двачи ходит через впн, зареганный на 10-минутнвю почту, и взломанный соседский wifi
Кто-то ещё до сих пор не делает так после пары посадок двачеров?
Аноним 24/11/20 Втр 16:42:30 1864625321
>>1864608
Так стоит делать разве что для постинга чего-нибудь сомнительного в б или пораше. Вряд ли посадят за помощь с laba1.cpp.
Аноним 24/11/20 Втр 16:44:47 1864631322
>>1864608
Будешь так ходить, будешь как красная тряпка при анализе логов.
Аноним 24/11/20 Втр 16:59:42 1864639323
>>1864631
С чего бы это? Если про геолокацию и ISP, то у меня IP близко к рашке и не палится в базах ДЦ.
Аноним 24/11/20 Втр 17:08:33 1864648324
>>1864599
А что какие то дауны так еще не делают? Нечегоскрывать, ты?
Аноним 24/11/20 Втр 17:23:04 1864659325
Аноним 24/11/20 Втр 20:34:05 1864767326
1565604569082.PNG 16Кб, 618x205
618x205
1537948522862.PNG 2Кб, 319x318
319x318
Почему QPainter::drawPolygon() закрашивает многоугольник? Как без закрашивания нарисовать?
Аноним 24/11/20 Втр 20:39:25 1864777327
В visual studio 19 года возникла проблема. Код собирается и работает только после пересборки всего решения. Иначе срёт ошибкой линковщика 2019. Это у меня где-то ub затесалось?
Аноним 24/11/20 Втр 20:41:35 1864779328
>>1864767
В документации все описано.
Аноним 24/11/20 Втр 20:42:25 1864780329
>>1864777
>линковщика
>ub
Платиновый трипл
Аноним 24/11/20 Втр 20:45:10 1864782330
a069312841110.jpg 443Кб, 1200x1200
1200x1200
Я вот понять не могу, нафига размер всяких int и double — это имплементейшен дефайнд? Это же жесткий удар по переносимости.
Аноним 24/11/20 Втр 20:46:20 1864785331
>>1864779
> The first point is implicitly connected to the last point, and the polygon is filled with the current brush().
Я даже brush не устанавливал, он pen-ом что ли красит? Нахуя?
Попробовал QBrush с Qt::transparent ему скормить, один хуй закрашивает.
Аноним 24/11/20 Втр 20:47:19 1864788332
>>1864785
Блин ну я хз, рисуй drawpolyline-ом, только конечную точку продублируй.
Аноним 24/11/20 Втр 20:48:31 1864789333
>>1864788
drawpolyline тоже пробовал, та же хуета.
Аноним 24/11/20 Втр 20:49:10 1864790334
>>1864780
Я долбаёб не спорю, но почему он в первый раз находит необходимые переменные, а последующие - шлёт нахуй?
Аноним 24/11/20 Втр 20:50:19 1864791335
>>1864790
Попробуй пересоздать проект с нуля. Может у тебя настройки сбились или закешировалось что то. Это ж говностудия.
Аноним 24/11/20 Втр 20:50:44 1864792336
>>1864782
Наоборот, если жёстко пропишешь в стандарте, что инт - 32 бита, то потом хуй запустишь такой код на процессоре с двухбайтной шиной данных и байтом, не равным 8 бит.
Аноним 24/11/20 Втр 20:52:02 1864795337
>>1864767
Перефразирую вопрос, чем в Qt можно нарисовать произвольный замкнутый контур? Чтобы его пунктирной линией можно было отрисовать?
Аноним 24/11/20 Втр 20:54:59 1864798338
>>1864792
Да, конечно лучше, чтобы код запустился и в какой-то момент отстрелил тебе ногу, когда переменная переполнится.

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

В любом случае, получается, что сейчас лучшей практикой является использовать int32_t, если тебе не нужно, чтобы код запускался на всяких извращённых платформах с не 8-битным байтом?
Аноним 24/11/20 Втр 21:00:20 1864803339
>>1864789
Как это вообще возможно
Аноним 24/11/20 Втр 21:00:32 1864805340
>>1864782
тебе дали алиасы типа uint32_t
Аноним 24/11/20 Втр 21:01:59 1864806341
>>1864803
Я сам не понял, поэтому сюда пришел за помощью.
Аноним 24/11/20 Втр 21:03:54 1864808342
>>1864798
> Да, конечно лучше, чтобы код запустился и в какой-то момент отстрелил тебе ногу, когда переменная переполнится.
Суть кроссплатформенности в том, чтобы использовать не больше, чем гарантируется стандартом, и не полагаться на имплементацию. Если так и делать, то ничего никогда не переполнится. Для этого и лучше юзать всякие int32_t, когда нет уверенности, на чём это попробуют запустить.
Аноним 24/11/20 Втр 21:06:42 1864809343
>>1864798
>получается, что сейчас лучшей практикой является использовать int32_t

Нет. Эти типы данных ты используешь для и только для:

> Бинарные форматы

> Бинарные протоколы

> Аппаратные регистры в памяти.

В остальных случаях ты используешь стандартные int short char и прочие.
Аноним 24/11/20 Втр 21:12:45 1864813344
>>1864808
А зачем вообще такое говно нужно в низкоуровневом компилируемом языке? Это же банальная лень, когда вместо платформозависимого кода пишешь универсальное говно. Почему бы просто не скармливать отдельно особенности платформы компилятору, один хуй компилятор под каждую платформу свой пишется, а он уже в свою очередь не давал бы стрелять себе по ногам с UB? Это же глупо звучит, чтоб копипастный код можно было компилить под извращенные микроконтроллеры и под х86 без изменений. Нахуя такая анальная клоунада? Вроде не питонисты, разобрались бы с чтением платформозависимых стандартов.

мимокрок
Аноним 24/11/20 Втр 21:18:23 1864820345
>>1864791
К слову, есть гайды, о том как расшифровывать выданные линковщиком ошибки? Не номер ошибки, а то чем он после себя срёт.

Аноним 24/11/20 Втр 21:19:42 1864821346
>>1864808
int32_t не гарантируется стандартом. Сколько раз еще в треде повторить? >>1861545
Аноним 24/11/20 Втр 21:27:51 1864826347
>>1864813
> А зачем вообще такое говно нужно в низкоуровневом компилируемом языке?
> Вроде не питонисты, разобрались бы с чтением платформозависимых стандартов.
Если у тебя сишка и ассемблер, то будешь читать эти стандарты. Но у тебя C++, который пытается и совместимость с сишкой сохранить (нельзя же просто выкинуть все либы для неё), и высокоуровневым при этом считаться.
Аноним 24/11/20 Втр 21:29:24 1864828348
>>1864821
Окей, не int32_t, а int_least32_t, например.
Аноним 24/11/20 Втр 21:38:57 1864833349
>>1864821
Я не пишу под платформы, где его нет.
Аноним 24/11/20 Втр 21:40:20 1864836350
>>1864826
> пытается
Почему тогда у новомодных низкоуровневых языков есть нативная совместимость с сишкой, но там додумались не плодить тонну UB? Тем более один хуй комитет уже давно сломал обратную совместимость с кодом старых стандартов. Есть, например, практика в других языках помечать всё ненужное говно мамонта как deprecated и настойчиво предупреждать если используешь это.
Аноним 24/11/20 Втр 21:43:47 1864840351
>>1864836
> Почему тогда у новомодных низкоуровневых языков есть нативная совместимость с сишкой
Потому что в них она на уровне линковки, а не на уровне # include <код_на_сишке.h>
> Тем более один хуй комитет уже давно сломал обратную совместимость с кодом старых стандартов
Не так уж сильно она сломана, чтобы прям дохуя было переписывать. Обычно сишный код работает без дополнительного допиливания.
Аноним 24/11/20 Втр 21:48:28 1864843352
>>1864840
> на уровне # include <код_на_сишке.h>
Так в чём проблема встраивать компилятор сишки для такого и линковать со своим? В GOвне ты тоже можешь написать
#include<код_на_сишке.h>
Аноним 24/11/20 Втр 21:48:51 1864845353
image.png 5Кб, 568x116
568x116
Патсаны хелп
Короче такая задача:

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

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

Чтобы можно было использовать типа как пикрил
Аноним 24/11/20 Втр 21:51:22 1864850354
>>1864820
Ищи по слову name mangling
Аноним 24/11/20 Втр 21:53:36 1864851355
>>1864840
>Обычно сишный код работает без дополнительного допиливания.
не, нихуя, ты неправ
Аноним 24/11/20 Втр 21:54:20 1864853356
Аноним 24/11/20 Втр 21:55:52 1864856357
>>1864851
Ты про какое то говно мамонта типа объявления параметров в стиле K&R?
int foo(a) int a; { ... }
Аноним 24/11/20 Втр 21:58:37 1864858358
>>1864856
не, я про объявления типа такого
GLubyte data[size][size][3];
типа сайз не конст и хуё-моё
Аноним 24/11/20 Втр 21:59:57 1864859359
>>1864845
бля никто не может решить короче
погромисты вы где
может встроеная хуйня какая-нибудь есть для такого?
Аноним 24/11/20 Втр 22:00:47 1864860360
>>1864843
> В GOвне ты тоже можешь написать
Ага, и обмазываться всякими unsafe.Pointer() и биндингами. Даже в C++ интероп с сишкой не безшовный, что там про Go говорить.
Аноним 24/11/20 Втр 22:04:39 1864863361
>>1864845
Просто берёшь и без задней мысли выделяешь память под 10 указателей, в каждый из них выделяшь память под 10 указателей, в каждый из них выделяшь память под 3 инта.
Аноним 24/11/20 Втр 22:06:35 1864865362
>>1864863
> Просто берёшь и без задней мысли выделяешь память под 10 указателей на указатели, в каждый из них выделяшь память под 10 указателей, в каждый из них выделяшь память под 3 инта.
Аноним 24/11/20 Втр 22:08:57 1864866363
>>1864863
бля буду выделять надо один раз на всю хуйню
Аноним 24/11/20 Втр 22:11:50 1864868364
>>1864866
Тогда никак, наверн. Можно выделить 10103 сразу, но тогда доступ будет не через скобочки, а через хитровыебаное умножение.
Аноним 24/11/20 Втр 22:13:23 1864870365
>>1864858
Круто, передашь слишком большое значение size - и стек переполнится, когда с кучей такой проблемы ещё долго не будет. И много сишного кода использует это?
Аноним 24/11/20 Втр 22:15:13 1864874366
>>1864870
а ты не передавай слишком большое значение

хуй знает много или нет, на плюсах такая хуйня не компилится теперь
Аноним 24/11/20 Втр 22:16:06 1864876367
>>1864868
да можно, там типа просто надо разложить указатели рекурсивно
Аноним 24/11/20 Втр 22:59:00 1864891368
>>1864858
VLA зло, его даже из кернеля емнип выпилили пару лет назад.
Аноним 24/11/20 Втр 23:10:26 1864897369
>>1864845
Можно через malloc это сделать, но выглядит это как грязный хак говна и, вероятно, это приведёт к UB и так писать нельзя.

В тред призываются эксперты по С, которые пояснят за этот момент.
Аноним 24/11/20 Втр 23:12:49 1864899370
>>1864897
схуяли нельзя
нешто один раз вызвать малок на всю хуйню хуже чем вызвать его миллион раз для каждого указателя
Аноним 24/11/20 Втр 23:19:14 1864903371
>>1864845
Выдели одномерный массив и потом по оффсетам ищи нужную себе хуйню
Аноним 24/11/20 Втр 23:22:28 1864905372
Аноним 24/11/20 Втр 23:23:58 1864907373
>>1864899
Хуже, потому что есть ощущение, что он не предназначен для этого и хуй знает что там с памятью происходит, и с типами, и как доступ к элементам осуществляется. Но я не шарю в С, так что могу ошибаться.
Короче, нормально делай, нормально и будет.
И лучше использовать смарт поинтеры, вместо обычных указателей.
А ещё лучше стд вектор просто возьми и всё.
Аноним 24/11/20 Втр 23:27:49 1864909374
>>1864907
И как ты засунешь в std::vector 5-мерный массив вида
A[3][2][4][4][3] ?
Аноним 24/11/20 Втр 23:28:46 1864911375
>>1864907
А, вместо маллока, понятно.
Аноним 24/11/20 Втр 23:30:13 1864913376
>>1864909
std::vector<std::vector<std::vector<std::vector<std::vector<std::vector>>>>>
Аноним 24/11/20 Втр 23:30:31 1864914377
>>1864845
Ебани через emplace new, подсунув ему память.
Аноним 24/11/20 Втр 23:30:39 1864915378
>>1864909
std::vector<std::vector<int>> arr;
Аноним 24/11/20 Втр 23:30:55 1864916379
>>1864913
А теперь в общем виде
Аноним 24/11/20 Втр 23:31:22 1864917380
>>1864915
Это двумерный массив
Аноним 24/11/20 Втр 23:32:17 1864919381
image.png 4547Кб, 1365x2048
1365x2048
Аноним 24/11/20 Втр 23:33:45 1864920382
>>1864916
Какой-нибудь variadic template, наподобие template<typename T, typename... Ts> class Type : public Type<Ts> { }, лол.
Аноним 24/11/20 Втр 23:34:48 1864921383
>>1864920
Только не typename, а int.
Аноним 24/11/20 Втр 23:43:16 1864925384
>>1864920
А если количество измерений неизвестно в compile time?
Аноним 24/11/20 Втр 23:46:47 1864929385
Сап, байтоёбская братва. Если вдруг кому скучно живётся прошу дать оценку кодстайла и указать на ошибки в коде:
https://dropmefiles.com/dztjN (я быдло без гита, сори).
Делал по заданию 3 тут: https://ravesli.com/glava-11-itogovyj-test/
Сегодня ровно 2 месяца как вкатываюсь в кресты.
Аноним 24/11/20 Втр 23:47:04 1864930386
>>1864913
а как ты это динамически сделаешь?
Аноним 24/11/20 Втр 23:51:24 1864932387
>>1864925
Тогда и с обычными указателями многомерные массивы не получатся, олько одномерный, у которого будешь вместо компилятора вычислять настоящий индекс по N размерам.
А преобразование обычного указателя в указатель на указатель на указатель на указатель пахнет нарушением strict aliasing rules, хотя хуй знает.
Аноним 25/11/20 Срд 00:00:12 1864937388
Аноним 25/11/20 Срд 00:01:54 1864939389
>>1864909
Хранишь в одном контейнере линейно и вычисляешь нужный индекс.
Даже двухмерные массивы пахнут говнокодов, выше — не имеею юзкейса.
Аноним 25/11/20 Срд 00:02:24 1864940390
>>1864929
>(я быдло без гита, сори).
Нахуй уходишь тогда.
Аноним 25/11/20 Срд 00:11:00 1864945391
Аноним 25/11/20 Срд 00:11:52 1864947392
>>1864940
До данного момента для него у меня было примерно 0 юзкейсов. Да и сам иди нахуй, быдло.
Аноним 25/11/20 Срд 00:39:09 1864968393
>>1864947
Быдло здесь ты, если на полном серьезе предлагаешь нам скачать твои лабы с файлообменника.
Аноним 25/11/20 Срд 01:04:25 1864979394
>>1864939
Ктати а почему так? Куда не посмотрю везде матрицы линейно хранят.
Аноним 25/11/20 Срд 01:07:35 1864982395
>>1864979
К Э Ш П Р О Ц Е С С О Р А
Аноним 25/11/20 Срд 01:09:26 1864984396
>>1864979
1 аллокация лучше N
1 free лучше N
1 проверка на nullptr лучше N
>>1864982
this
Аноним 25/11/20 Срд 01:09:34 1864985397
>>1864982
А разве двумерные массивы физически не хранятся линейно?
Аноним 25/11/20 Срд 01:11:36 1864987398
>>1864985
на стэке - да. При гомоебле в виде аллокаций указателей на указателей на указатели как пчел выше пытался делать - нет конечно.
Аноним 25/11/20 Срд 01:11:36 1864988399
>>1864985
Двумерный массив - это буквально одномерный массив указателей на (относительно) рандомные участки памяти
Аноним 25/11/20 Срд 01:12:56 1864989400
Аноним 25/11/20 Срд 01:13:35 1864990401
>>1864987
хули нет
куда положишь указатели там они и будут лежать
положи линейно и будет тебе линейно

>>1864989
да не слушай даунов
Аноним 25/11/20 Срд 01:14:32 1864992402
>>1864990
Читать научись, чучело. О каком укладывании указателях речь, если мы АЛЛОЦИРУЕМ каждый массив?
Аноним 25/11/20 Срд 01:18:11 1864994403
>>1864992
даун, какой "каждый" массив? он один всего
алоцируй себе в очке один раз буфер и запихни туда всю хуйню
нахуй тебе сто раз алоцировать ты даун что ли какой-то?

Аноним 25/11/20 Срд 01:20:13 1864998404
>>1864994
Мы тут всем тредом это и обьясняем, если что.
Аноним 25/11/20 Срд 01:24:07 1865004405
Аноним 25/11/20 Срд 01:26:00 1865006406
>>1864968
Имею право как человек успевший застать эру фо.
Аноним 25/11/20 Срд 01:29:32 1865011407
>>1864929
Пчел ладно гит, но про онлайн компиляторы то должен был слышать.
Аноним 25/11/20 Срд 01:31:17 1865012408
>>1864994
Каждый массив на который указывает массив указателей.
Аноним 25/11/20 Срд 01:35:51 1865016409
>>1865012
зачем "массиву который указывает" быть где-то в другом месте
пусть лежат себе все рядышком, линейно
Аноним 25/11/20 Срд 01:46:13 1865022410
>>1865011
> онлайн компиляторы
А может у него там больше одного файла.
Аноним 25/11/20 Срд 02:05:46 1865034411
>>1865016
А разве ты можешь это контролировать? Какая нибудь фрагментация и перемещение.
Аноним 25/11/20 Срд 02:10:31 1865037412
>>1865034
ты не можешь контролировать где лежит указатель?
Аноним 25/11/20 Срд 09:08:02 1865142413
Разве в вашем недоязыке нельзя три раза переопределить оператор индексации?
Аноним 25/11/20 Срд 09:10:11 1865144414
>>1864945
Обычно на гпу используются, т.е. не нужно получать доступ к n элементу, весь тензор целиком уезжает. А при заполнении можно всякие юнионы использовать, если так хочется
Аноним 25/11/20 Срд 09:28:21 1865159415
C++ тред в 2020: двумерные массивы, указатели, malloc
Аноним 25/11/20 Срд 10:26:25 1865183416
>>1864782
Си было во времена, когда ещё делались 36-битные и 48-битные компьютеры. Сейчас да, нафиг никому не нужно, но комитет просто так не убедишь. Поэтому и получается, что в GCC long то-ли 4 байта (при компиляции на x86), то-ли 8 байт (x64).
Аноним 25/11/20 Срд 10:34:13 1865189417
>>1865159
Сейчас бы сидеть на двачах и удивляться аутистам лол.
Аноним 25/11/20 Срд 10:59:41 1865203418
Какой конпиль по умолчанию юзает студия и какой вообще считается лучшим?
Аноним 25/11/20 Срд 11:03:27 1865206419
Аноним 25/11/20 Срд 11:08:38 1865209420
Раз уж речь зашла о контейнерах, поинтересуюсь мнением анонов о deque. Как я понял, это набор линейных массивов связанных между собой как списки.
Возможно я тупой, и не умею читать, но как определить длину одного линейного массива в ней?
Аноним 25/11/20 Срд 11:15:40 1865213421
>>1865209
Исходник смотри, но зачем тебе это надо?
Аноним 25/11/20 Срд 11:16:48 1865215422
>>1865209
> как определить длину одного линейного массива в ней?
Тебя это ебать не должно.
Аноним 25/11/20 Срд 11:19:05 1865219423
Аноним 25/11/20 Срд 11:22:29 1865220424
>>1865219
GCC - это общее название и GCC (лол), и G++, и gfortran, и gccgo, и прочая, и прочая.
Аноним 25/11/20 Срд 11:58:20 1865237425
>>1865209
Там (как и везде) дополнительная внутри метадата хранится
Аноним 25/11/20 Срд 11:58:56 1865240426
>>1865206
> винда
> GCC
Откуда вы лезите? Зачем добровольно жрать говно и низкую производительность?
Аноним 25/11/20 Срд 12:00:22 1865243427
>>1865206
Студия не умеет в GCC, только через кросскомпиляцию на никсах. А умеет она в Шланг в кач-ве фронтенда (clang-cl)
Аноним 25/11/20 Срд 12:46:06 1865282428
Аноним 25/11/20 Срд 13:07:59 1865302429
Аноним 25/11/20 Срд 14:09:48 1865369430
>>1865159
Не стоит забывать про вечный IDE-срач (хотя даже долбоебу должно быть понятно что если таски уровнем выше laba2, VS не контрится ничем)
Аноним 25/11/20 Срд 14:14:42 1865373431
image.png 23Кб, 666x371
666x371
>>1865159
Надо обсуждать UB, темплейты, интрисинки и отказ от юзания фич, которые якобы zero cost, а на самом деле медленнее на 0.00000000000001%, а также лабы студентов и работу в НИИ.
Аноним 25/11/20 Срд 14:19:35 1865376432
>>1865369
Перешёл на линукс с имаксами спустя 2 года кодинга во всратом вс, сейчас за 5 часов делаю то что раньше делал за 9.
Аноним 25/11/20 Срд 14:20:20 1865377433
>>1865376
Что используешь? Spacemacs?
Аноним 25/11/20 Срд 14:21:31 1865378434
>>1865376
Может ты хоть немного программировать за 2 года научился? Ну и да, я не могу представить себе, как в 2 раза чистую производительность можно улучшить, учитывая, что я большую часть времени читаю код, а не пишу. А для чтения VS божественна.
Аноним 25/11/20 Срд 14:29:24 1865383435
>>1865159
>>1865189
Сейчас бы весь тред грести в одну гребенку с ньюфагами, задающими вопросы.
Аноним 25/11/20 Срд 14:34:05 1865387436
Аноним 25/11/20 Срд 14:43:24 1865392437
Аноним 25/11/20 Срд 14:47:29 1865395438
>>1865392
Казуал — это ты. Я на бумажке пишу.
Аноним 25/11/20 Срд 14:47:58 1865396439
>>1865378
Попробуй на работу устроиться, тогда и начнешь писать что-то.
Аноним 25/11/20 Срд 15:11:15 1865406440
>>1865377
Да
>>1865378
Безусловно. И с ростом скилла вырос как объём работ так и сложность.
Разумеется если ты ретроград и >я большую часть времени читаю код; то тебе и нативный нотпад подойдёт.
Аноним 25/11/20 Срд 15:20:13 1865413441
>>1865396
Смешные проекции человека, который никогда в прод не контрибутил. Иначе бы знал, что чтения в разы больше, чем написания в больших проектах.

>>1865406
>Разумеется если ты ретроград и >я большую часть времени читаю код; то тебе и нативный нотпад подойдёт.
Просто кекнул с этого


Аноним 25/11/20 Срд 15:25:33 1865416442
>>1865413
>кекнул
Ты же понимаешь, что за аргумент это не сойдёт?
Аноним 25/11/20 Срд 15:26:07 1865417443
>>1865416
я понимаю, что чтение кода в нотепаде это такая хуйня, что это даже как-то аргументировать смысла нет.
Аноним 25/11/20 Срд 15:28:35 1865418444
>>1865417
А что так? Без подсветки синтаксиса совсем невмоготу, да?
Аноним 25/11/20 Срд 15:33:33 1865421445
>>1865373
>Надо обсуждать темплейты
typename или class?
Аноним 25/11/20 Срд 15:35:14 1865425446
>>1865421
class, очевидно, так букв писать меньше
Аноним 25/11/20 Срд 15:35:19 1865426447
Аноним 25/11/20 Срд 15:35:28 1865427448
>>1865418
Без Find all references, без кликанья на функции - да. И хорошо настроенная подсветка вполне помогает усвоению кода.
Аноним 25/11/20 Срд 15:43:14 1865430449
Аноним 25/11/20 Срд 15:43:22 1865431450
>>1865427
Это все есть в vs code.
Аноним 25/11/20 Срд 15:48:25 1865432451
>>1865418
> Без подсветки синтаксиса
Ты не гофер случайно?
Аноним 25/11/20 Срд 15:48:57 1865433452
Аноним 25/11/20 Срд 15:52:20 1865436453
Подсветка синтаксиса - зло которая только мешает понимать истинные процессы происходящие в языке, посколько ты не пропускаешь код через свою голову.
Аноним 25/11/20 Срд 15:53:12 1865437454
>>1865427
Сам же упомянул чтение кода. Теперь всё встало на свои места.
>>1865432
Смотря кто спрашивает.
Аноним 25/11/20 Срд 16:06:19 1865446455
>>1865437
>Теперь всё встало на свои места
Хуй знает, что у тебя там встало на свои места. Но сомневаюсь, что ты мне что-то новое расскажешь
Аноним 25/11/20 Срд 16:14:34 1865451456
>>1865446
Только думал тебя похвалить, мол ты не только чтец но и в анализе кода что-то сечёшь так ты в позу встаёшь. Не надо так.
Аноним 25/11/20 Срд 16:36:45 1865474457
>>1865421
typename, если значение может быть типом, class — если только классом.
Аноним 25/11/20 Срд 17:25:57 1865516458
Что значит вердикт IL в тестирующей системе?
Аноним 25/11/20 Срд 17:26:23 1865518459
произошел форс мажор, поэтому нужен человек, разбирающийся в с++ (для курсовой работы). об оплате договоримся.
почта: dawnfads@yandex.ru потом тг
извините, просто некуда обратиться даже
Аноним 25/11/20 Срд 17:37:10 1865529460
>>1865518
> произошел форс мажор
Не-а, просто ты ленивый мудак который нихуя делать не хочет
Аноним 25/11/20 Срд 17:37:57 1865530461
Аноним 25/11/20 Срд 17:44:18 1865536462
изображение.png 15Кб, 937x103
937x103
>>1860500 (OP)
Вот к этому коду прилагается:
The constructor uses an initializer list to set the class constant members. The variable before the curly braces is the class member, while the pieces inside are the values assigned to it. These are often constructor arguments. It is acceptable to use the same name for both the class member and the argument.
Есть класс World, его объект World() со своими полями. Что ещё за члены класса и аргументы конструктора, где они в коде?
Аноним 25/11/20 Срд 17:46:21 1865537463
Аноним 25/11/20 Срд 17:48:13 1865539464
Аноним 25/11/20 Срд 17:49:01 1865540465
>>1865536
Поля это же и есть члены класса.
Конструктор это сорт оф функция, что в нее передается то и есть аргументы.
Аноним 25/11/20 Срд 17:50:16 1865541466
>>1865536
Конкретно на твоем пике definition конструктора.
ni{ni} примерно эквивалентно если бы внутри тела было написано { this.ni = ni }
Аноним 25/11/20 Срд 19:01:56 1865595467
Зачем вы отвечаете челику неспособному в 5 минут гугления?
Аноним 25/11/20 Срд 19:06:20 1865598468
>>1865595
Почти весь /pr/ - это ответы на вопросы тех, кто не умеет гуглить.
Аноним 25/11/20 Срд 19:08:13 1865600469
>>1865595
Ради рофлов же. Ты думаешь тут хоть 50% ответов по делу?
Аноним 25/11/20 Срд 19:20:10 1865607470
>>1865598
>>1865600
А ведь вы могли бы потратить это время с пользой. Скажем на саморазвитие и получение новых знаний и как следствие повышение своей ценности как специалистов и как результат улучшение уровня жизни.
Аноним 25/11/20 Срд 19:22:13 1865608471
Аноним 25/11/20 Срд 19:24:17 1865611472
>>1865607
>саморазвитие
Я аниме в фоне смотрю
Аноним 25/11/20 Срд 19:26:41 1865612473
>>1865608
>деб
Система для куколдов
Аноним 25/11/20 Срд 19:26:59 1865613474
>>1865607
Для саморазвития нужен определенный настрой души, а пока его нет, остаётся только подъёбывать зелень на двачах.
Аноним 25/11/20 Срд 19:27:22 1865614475
Аноним 25/11/20 Срд 19:35:04 1865616476
>>1865613
Это всё отмазки. С таким подходом никогда настроя не будет.
>>1865614
А может быть ты?
Аноним 25/11/20 Срд 19:52:05 1865629477
>>1865616
> Это всё отмазки. С таким подходом никогда настроя не будет.
Таки бывает. Когда не слишком сильно заебался на работе, и ещё есть силы на кодинг для души.
Аноним 25/11/20 Срд 19:56:39 1865636478
Аноним 25/11/20 Срд 20:22:25 1865654479
tumblro90wa9Kl4[...].jpg 59Кб, 873x1066
873x1066
Начинал учить питон по книжке "Укус питона". Понравилась она тем, что все задания к каждой главе идут с использованием знаний предыдущих глав. Есть ли подобная книжка по плюсам? Сейчас прошел 60% курса на udemy https://www.udemy.com/course/beginning-c-plus-plus-programming, но хочется больше практики по ООП также последовательно-нарастающих.
Аноним 25/11/20 Срд 20:24:49 1865655480
>>1865654
Липпман, Прата, Шилдт
Уёбывай
Аноним 25/11/20 Срд 20:30:49 1865662481
Аноним 25/11/20 Срд 20:39:58 1865665482
>>1865655
>>1865662
Спасибо. Остановился все-таки на Прате. Страус тяжко заходит.
Аноним 25/11/20 Срд 20:44:35 1865667483
>>1865654
c++ primer
карьера программизда
Аноним 25/11/20 Срд 21:13:12 1865684484
>>1865665
Очень, очень глупое решение. Прата не описывает многие тонкие моменты которые имеются у Струпа. Потом на гугление потратишь больше времени чем на разбор сейчас.
Аноним 25/11/20 Срд 21:24:36 1865692485
>>1865684
Да какие тонкие моменты, ты о чём?
Язык бы, для начала освоить, на базовом уровне. Ознакомиться со стандартной библиотекой и тд, а уж дальше в нюансы ёбаная тётя погружаться.
Аноним 25/11/20 Срд 21:53:47 1865702486
>>1865692
Ты чё, ёпта. Сначала пишем код - потом думаем что он делает.
Аноним 25/11/20 Срд 22:45:17 1865734487
>>1865692
За базовым уровнем - на равесли до ООП. Дальше не выёбываешься и берёшь Страуса. Уже заебали капать на мою седую голову с визгами типа "Как это нельзя писать using namespace ...;? Как это переписывай 40 файлов?"
Аноним 25/11/20 Срд 22:48:36 1865736488
>>1865734
>Страуса
Это тот типчик у которого чтобы примеры из книги заработали надо искать какую то васянскую либу include_me_hello_world причем нужной версии?
Аноним 25/11/20 Срд 22:53:15 1865738489
>>1865736
Только если ты настолько аутист что даже не сумеешь понять как самостоятельно подключать либы.
Аноним 25/11/20 Срд 22:54:43 1865739490
>>1865738
Дедуль, а либы тебе на сиди-диске к книге приложили? Сейчас это немного не так работает.
Аноним 25/11/20 Срд 23:02:21 1865743491
>>1865739
Какие ещё либы, ебанько? У тебя всё со студией из коробки идёт, всё как вы любите.
Аноним 25/11/20 Срд 23:05:42 1865744492
>>1865743
Ясно, ты книгу даже не открывал. У меня в студии никаких std_lib_facilities нет.
Аноним 25/11/20 Срд 23:09:48 1865745493
image.png 65Кб, 1044x409
1044x409
>>1865736
Это смотря какую из двух книг читать, в нормальной книге такой хуйни нет.
Аноним 25/11/20 Срд 23:12:06 1865746494
>>1865744
>#include<iostream>
>#include<iomanip>
>#include<fstream>
>#include<sstream>
>#include<cmath>
>#include<cstdlib>
>#include<string>
>#include<list>
>#include <forward_list>
>#include<vector>
>#include<unordered_map>
>#include<algorithm>
>#include <array>
>#include <regex>
>#include<random>
>#include<stdexcept>

Ты тащищь всё это говно в каждое своё поделие и ещё смеешь залупаться на меня?
Аноним 25/11/20 Срд 23:13:20 1865747495
Аноним 25/11/20 Срд 23:13:42 1865748496
>>1865746
Привет, дед. Когда последний раз инклюдил это в студии?
Аноним 25/11/20 Срд 23:15:39 1865750497
>>1865746
Там дальше ещё using namespace std; лол.
Аноним 25/11/20 Срд 23:16:40 1865751498
image.png 187Кб, 986x688
986x688
>>1865747
А я о чём? 39 страница, всё описано. Дебилам файлик подавай.
>>1865748
Я тебя понял шиз, просто съеби.
Аноним 25/11/20 Срд 23:17:22 1865754499
image.png 341Кб, 507x420
507x420
>>1865750
Мда, ироничный прокол.
Аноним 25/11/20 Срд 23:25:42 1865758500
>>1865751
Я и без книжки понимаю, что такое неймспейс и почему хуево его инклюдить везде без весомой причины. Какие еще ньюансы в струссусусупе описаны?
Аноним 26/11/20 Чтв 01:42:02 1865800501
daun.png 7Кб, 798x377
798x377
Аноним 26/11/20 Чтв 01:43:32 1865802502
>>1864845
погромисты с двача не в силах решить простую задачу
Аноним 26/11/20 Чтв 02:23:05 1865807503
>>1860500 (OP)
Привет анончики.
https://youtu.be/zrOIQEN3Wkk?t=299
Наткнулся на видео (есть таймкод), там оч странный код на с++, похожий на хаскел. Гуглил rv and hs namespaces c++ - ничего. Загуглил functional programming c++20, есть примеры кода, но не поясняется, что это и как с этим работать.

Тыкните, пж, куда читать об этом.
Аноним 26/11/20 Чтв 03:14:15 1865817504
>>1860427 →
VCLibs 14.0 версии, я так полагаю, нужно для MSVC 140, что соответствует Visual Studio Express 2015

Мб ты открываешь проект, сделанный в 15-ой студии, или у тебя вместо vc142 стоит vc140, я хз.
Аноним 26/11/20 Чтв 03:23:52 1865818505
>>1860462 →
А как на винде полноценно работать с gcc?(я спрашиваю именно про винду, потому что gcc предлагается как альтернатива при проблемах с визуалкой)

Я на днях трахался с бустом и gcc от mingw и mingw64, он простто не работает с библиотеками буста, хотя они вроде как успешно им были собраны. Файлы, в которых просто main и #include <boost/thread.hpp> <boost/asio.hpp> не собираются с ошибками, которым я нашёл массу решений, не подошедшие в моём случае.

Я знаю, что ещё есть tdm-gcc, но у меня уже не было моральных сил ещё и с ним пытаться.
Аноним 26/11/20 Чтв 04:19:21 1865832506
>>1865807
а чё странного именно там
Аноним 26/11/20 Чтв 07:42:43 1865861507
Аноним 26/11/20 Чтв 09:09:26 1865879508
Можно ли в VS2019 поставить брекпоинт на данные? Допустим есть глобалная структура и надо узнать в каком месте происходит изменение переменной.
Аноним 26/11/20 Чтв 09:20:05 1865883509
>>1865818
Забудь вообще про gcc. Используй clang
Аноним 26/11/20 Чтв 09:21:19 1865885510
>>1865879
Можно поставить на поля этой структуры до восьми байт. В дебаггере пкм по переменной -> break when value changes
Аноним 26/11/20 Чтв 09:29:15 1865889511
break1.PNG 5Кб, 369x139
369x139
break2.PNG 11Кб, 917x244
917x244
>>1865885
Не работает что-то, написал цикл поставил условие нажал F5 и всё равно деление на ноль
Аноним 26/11/20 Чтв 09:37:53 1865892512
Как в std::list добавить новый узел справа либо слева от итератора?
Аноним 26/11/20 Чтв 09:38:01 1865893513
>>1865818
cygwin можешь ещё попробовать.
Аноним 26/11/20 Чтв 09:41:02 1865895514
>>1865818
Ещё, как вариант, ты можешь из vscode использовать тулчейн от студии, если он у тебя нормально установился.
Аноним 26/11/20 Чтв 09:45:32 1865899515
Аноним 26/11/20 Чтв 09:58:33 1865906516
>>1865889
Блядь. Ты проект собрал? Брейкпойнт туда хоть поставил? Зачем тебе выполнять ещё какое-то действие?
Аноним 26/11/20 Чтв 10:01:06 1865910517
>>1865899
мойЛист.insert (it, новыйУзел)? Так, что-ли? А с какой стороны окажется узел, который был в it? И как мне этот момент проконтролировать?
Аноним 26/11/20 Чтв 10:07:59 1865912518
>>1865906
Проект собрал, мне нужно понять почему у меня не срабатывает бряк при изменении переменной/массива/etc, ранее у меня была переменная которая изменяла значения хотя в неё ничего не писал. Ясно дело где-то переполнение буфера. Сейчас похожая ситуация и я пытаюсь найти место где в неё данные неправильные записываются.
Аноним 26/11/20 Чтв 10:23:36 1865923519
Аноним 26/11/20 Чтв 10:26:17 1865924520
>>1865923
>вирусная ссылка на говносайт с кучей текста на англюсике, вместо того, чтобы написать на человеческом языке, что инсерт вставляет новый узел * от итератора, что я уже сам и проверил
Нахуй иди, чмоха.
Аноним 26/11/20 Чтв 10:30:53 1865926521
Аноним 26/11/20 Чтв 10:35:32 1865931522
>>1865926
Дай угадаю: это исповедь питониста о том, какой С/С++ страшный и ужасный?
Аноним 26/11/20 Чтв 10:52:40 1865940523
Аноним 26/11/20 Чтв 10:55:36 1865947524
>>1865912
Если бряк не работает, значит не удовлетворяется условие, по которому этот бряк должен происходит. Отлаживай программу пошагово.
Аноним 26/11/20 Чтв 11:02:16 1865952525
>>1865883
Я, честно признаться, особо не разбираюсь в различиях компиляторов, просто по gcc и его использованию в консоли примеров много, и msvc почему-то визуалкой как-то по-странному запрятан и доступен только из специальной консоли разработчика, и то посредством devenv.exe и прочего. Поэтому решил, что для консоли удобнее всего будет гцц

>>1865893
Нет, спасибо, достаточно жопоболи.

>>1865895
Да, я думал об этом. Сегодня буду разбираться, как это провернуть. Визуалка жутко тугая, что-то меня от неё аж трясёт. Я уже молчу о том, что там даже подсветку синтаксиса нормально кастомайзить нельзя.
Аноним 26/11/20 Чтв 11:18:37 1865960526
>>1865931
Нет. Исповедь С++-пацанчика о том, какая дохуя математика на шаблонах в STL, и как STL охуенно компилируется в ниибацца оптимальный бля буду код. Паттерны и SOLID в мире С++ у него не работают, кстати, нада прощи быть.
Аноним 26/11/20 Чтв 11:19:23 1865961527
>>1865924
Ты наверное привык, что тебя мамка с ложечки кормит, рассказывает тебе что к чему и жопку вытирает. Пора взрослеть и делать всё самостоятельно.
А документация - она вся на английском, привыкай.
Аноним 26/11/20 Чтв 11:24:10 1865965528
>>1865926
Помотал немного, кекнул с его причин почему кресты лучше сишки и всего остального - деструкторы и шаблоны, лол. Первое уже обоссано растами всякими, второе так или иначе есть даже у гоферов. Боюсь представить что случится с его психикой, если он увидит compiletime-магию из Zig. Так же он там напиздел что либа номер один - буст.
>>1865931
Скорее джависта, который после своего говна увидел кресты и начал ссать кипятком, но в итоге пригорел из-за своего слабоумия.
Аноним 26/11/20 Чтв 11:24:30 1865966529
NrjVd0VOiE.jpg 73Кб, 400x400
400x400
>>1865924
>на англюсике
>вместо того, чтобы написать на человеческом языке
>человеческом
Псина, съебись на живодерню
Аноним 26/11/20 Чтв 11:26:14 1865970530
>>1865965
>либа номер один - буст
Так падажжи, а какая же? стл не считаем
>Zig
>раст
Все бы хорошо, но есть ли работа по ним?
Аноним 26/11/20 Чтв 11:27:33 1865972531
>>1865818
Просто поставь линупс и всё заведётся.
Аноним 26/11/20 Чтв 11:28:02 1865973532
>>1865961
>я буду говорить с тобой на англюсеке, хотя мог бы и на человеческом, а понимаешь ты меня или нет твои проблемы, я русофоб и горжусь этим кококо кудах
Аноним 26/11/20 Чтв 11:32:56 1865978533
>>1865973
Przepraszam, бат шпрехаем мы here на русском, донт гори
Аноним 26/11/20 Чтв 11:33:22 1865980534
>>1865973
Сударь, вы тредом ошиблись. Вам не в С++, а в 1С. Там всё как вы изволите.
Аноним 26/11/20 Чтв 11:35:38 1865982535
>>1865965
>compiletime-магию из Zig
Для compiletime в c++ уже есть constexpr.
Аноним 26/11/20 Чтв 11:36:54 1865984536
>>1865982
Да темплейты сразу были
Аноним 26/11/20 Чтв 11:37:27 1865986537
>>1865982
constexpr не гарантирует компайл тайм.
Аноним 26/11/20 Чтв 11:38:02 1865987538
>>1865970
> а какая же?
Под конкретную задачу есть либы лучше буста. Этот комбайн из антапаттернов явно не может быть лучшим. Выбор правильного инструмента - это очень важный навык. А он там сказал про буст с посылом что ньюфагам надо его выдрачивать полностью и писать всё на нём, ещё приведя аргумент что буст написан очень сложно и оптимизированно богами крестов.
> есть ли работа по ним?
Нет. Я написал это к тому что деструкторы очень сомнительное преимущество и от обсеров мало спасают, а раст как раз показывает пример что можно на хуй сесть и рыбку съесть писать быстрый и безопасный код.
Аноним 26/11/20 Чтв 11:45:01 1865999539
>>1865965
А вот в 3 разных языках есть всё что в плюсах и даже лучше... Так и представил, как ты всё это вместе в проекте склеишь.
Аноним 26/11/20 Чтв 11:46:55 1866000540
>>1865986
Да, он универсальный.
Аноним 26/11/20 Чтв 11:49:39 1866002541
>>1865987
Да там просто чел однобокий, ковыряется только в своей нише. То с чем реально у него проблемы, это то, что он в английский не может.
Аноним 26/11/20 Чтв 11:50:09 1866003542
Аноны, пишу проект на CLR WinForms на С++, у меня весь код получился в хэдэре (.h) это нормально? Ну просто конструктор с ним хорошо работал. Ну в хэдэрэ прописано появление всех окон, обработка событий при нажатий на кнопки и т.д. и т.п.

Стоит ли это перетаскивать в .cpp?
Аноним 26/11/20 Чтв 11:51:18 1866005543
Ботинки.завязать(левая_рука, правая_рука, шнурки);
Сука, ору. Понятно, почему у пидорах ни паттерны, ни солид не работают.

>>1865987
Тогда соглашусь по поводу буста. Я думал, он просто привел ее в качестве самой популярной либы, про которую нужно знать (опять я недооценил степень маразма в пидорашкокодинге).
Аноним 26/11/20 Чтв 11:52:52 1866007544
>>1866002
Он блять SOLID-диссидент, алло.
Аноним 26/11/20 Чтв 11:55:46 1866008545
>>1865982
Ну это совсем не то. В крестах это очень ограниченно и в виде нестыкуемых друг с другом вещей. А в Zig функционал compiletime для всего один. Как для вычисления типов, так и для выражений. В итоге тебя не ограничивают шаблонами и ты, например, можешь типами в коде жонглировать без лапши в скобках -> >>1865800. Или то что недавно упоминали - работать нормально с массивами через скобки без константного размера или явно использовать переменный размер инта для разных платформ, а не жрать что дают.
Аноним 26/11/20 Чтв 12:05:08 1866012546
>>1865159
Нужен отдельныц тред для экспириенсд-господ
Аноним 26/11/20 Чтв 12:29:06 1866021547
Объясните на пальцах, где и когда может понадобиться динамическое выделение памяти? Правильно ли я понимаю, что это актуально в том случае, если мне нужно создать какое-то количество объектов (например, я сделал запрос и получил 10000 постов с двача) и после их обработки мне нужно их выкинуть из памяти, так как они больше мне не нужны?

Если бы они остались в памяти, то приложуха бы просто жрала ее каждый раз как делает запрос?
Аноним 26/11/20 Чтв 12:44:01 1866024548
>>1866021
Мы тебе няньки, что ли, дурачок, на такие элементарные вопросы отвечать? Книжки читай, там все прекрасно объяснено. Желательно на английском.
Аноним 26/11/20 Чтв 12:46:37 1866025549
>>1866000
Интересный синоним к слову "косячный".
Аноним 26/11/20 Чтв 12:47:18 1866027550
>>1866005
>Ботинки.завязать(левая_рука, правая_рука, шнурки);
Предложи свой вариант.
Аноним 26/11/20 Чтв 12:47:48 1866029551
>>1866008
В Zig нет ООП, это аналог Си, а не крестов.
Аноним 26/11/20 Чтв 13:00:40 1866033552
>>1866021
В софте выше уровня хэллоу ворлда у тебя будет ебическое количество ситуаций, когда размер выделяемой памяти будет неизвестен во время компиляции. В таком случае нужно выделять память в куче в рантайме, разумеется.

Дополнительная причина - куча, в отличие от стэка, ограничена только ОЗУ самого камплюхтера, поэтому если тебе надо выделить ебическое количество памяти (гиг+, допустим), тебе надо использовать кучу вне зависимости от того известен ли тебе размер выделяемой памяти заблаговременно или нет, потому что стэк статичен и маленький, гиг ты там не выделишь, прога просто крашнется из-за переполнения стэка.
Аноним 26/11/20 Чтв 13:33:31 1866051553
>>1866033
Что ты несешь, наркоман, стек это та же ОЗУ. Точно так же выделяются новые виртуальные страницы при pagefault
Аноним 26/11/20 Чтв 13:41:29 1866058554
Стек моей мечты: С\С++, ASM x86/x65, WinApi

Аноним 26/11/20 Чтв 13:43:38 1866060555
>>1866027
>сперва добейся
Лол. Сам не можешь эту хуйню исправить?
Аноним 26/11/20 Чтв 13:55:15 1866064556
>>1866033
>стэк статичен
Стек автоматичен.
> и маленький
Не маленький и не большой. Он автоматический.
Аноним 26/11/20 Чтв 13:56:29 1866065557
>>1866060
МенеджерМира.послать_сообщение(СервисЛокатор.получить_свободные_руки(), БотинкиСоШнуркамиИлиНуль())
Аноним 26/11/20 Чтв 14:02:20 1866070558
>>1866065
А где же фабрика фабрик, смешной ты петушок? Садись, неуд.
Аноним 26/11/20 Чтв 14:05:17 1866072559
>>1866070
Поленился. Еще и само сообщение забыл: "сасай лалка" )))
Аноним 26/11/20 Чтв 14:13:13 1866081560
>>1866029
> это аналог Си
Скорее Go/Rust, чем сишка. В Zig можно сделать пародию на ООП средствами языка, разве что наследование не запилить. Zig же и начали пилить потому что в расте пытались сделать заебись, а получилось говно с костылями.
Аноним 26/11/20 Чтв 14:20:29 1866084561
>>1866060
фабрика = сервис_локатор.найти(интерфейс_абстрактной_фабрики_рук)
...
фабрика.зарегистрировать(интерфейс_левой_руки, реализация_левой_руки)
фабрика.зарегистрировать(интерфейс_правой_руки, реализация_правой_руки)
...
если человек = сервис_локатор.найти(интерфейс_человека) тогда
__если человек.руки == нет тогда
____если левая_рука = фабрика.создать(интерфейс_левой_руки) и правая_рука = фабрика.создать(интерфейс_правой_руки) тогда
______человек.руки = левая_рука, правая_рука
____или
______кинуть_ошибку(ошибка(1488, "человек не может завязать шнурки, неудалось создать и заинжектить руки"))
____ой_всё
__ой_всё
__если человек.имеет(ботинки) тогда
____если человек.может(завязать_шнурки) тогда
______человек.отправить_команду(завязать_шнурки)
____или
______кинуть_ошибку(ошибка(228, "человек не умеет завязывать шнурки"))
____ой_всё
__или
____кинуть_ошибку(ошибка(1337, "это столлман, ему нинада)0"))
__ой_всё
ой_всё

Уже достаточно солидно, или какой-то принцип нарушен?
Аноним 26/11/20 Чтв 14:30:27 1866090562
>>1866084
> Уже достаточно солидно
В каком месте? У тебя в функции завязывания шнурков создаются руки! Алло, йоба!
Это пока что только S. Дальше ещё хуже. Давай заново.
Аноним 26/11/20 Чтв 14:32:46 1866093563
15913218189200.jpg 58Кб, 600x600
600x600
>>1866084
Процедурная пидорашка порвалась, лол.
Аноним 26/11/20 Чтв 14:42:21 1866100564
>>1866093
Структурное программирование сила, функциональщикам могила.
Аноним 26/11/20 Чтв 14:49:52 1866104565
16059020546120.jpg 283Кб, 1080x1080
1080x1080
>>1866100
Структурное программирование - сила
ООП - самый топчик
фыпешникам - мамкин борщик :з
Аноним 26/11/20 Чтв 14:51:28 1866106566
>>1866104
Истинный ООП только в JS, на прототипах и любых сообщениях любому объекту.
Аноним 26/11/20 Чтв 14:51:31 1866107567
>>1866104
Мультипарадигма, используемая там, где нужно - топчик. Сектанты не нужны
Аноним 26/11/20 Чтв 14:52:56 1866108568
>>1866107
Тащить все подряд в язык в виде недоделок - это еще не мультипарадигма.
Аноним 26/11/20 Чтв 15:00:09 1866113569
>>1866107
Имелись в виду преобладающие парадигмы.
Аноним 26/11/20 Чтв 15:04:08 1866117570
>>1866051
Сам ты наркоман. Ты не можешь поменять размер стэка в рантайме, об этом идет речь. Размер стэка известен до запуска программы и не меняется (и не может меняться) во время исполнения программы.
Аноним 26/11/20 Чтв 15:05:44 1866118571
>>1866090
>У тебя в функции завязывания шнурков создаются руки!
класс фабрика_человеков(сервис_локатор):
__создать_человека:
____если сервис_локатор == нет тогда
______кинуть_ошибку(ошибка(123, "локатора нема"))
____ой_всё
____если билдер_человека = сервис_локатор.найти(интерфейс_билдера_человека) тогда
______билдер_человека.собрать(&человек)
____или
______кинуть_ошибку(ошибка(d3adb33f, "рук не найдено"))
____ой_всё

>У тебя в функции завязывания шнурков создаются руки!
null safety не завезли же, аджайл порешал и человек собирается по пути, кек
Аноним 26/11/20 Чтв 15:07:11 1866119572
>>1866093
Я вообще другой анон, но карго культ вокруг солида выглядит хуже, лол.
Аноним 26/11/20 Чтв 15:10:33 1866120573
>>1866064
>Стек автоматичен.
Ебланичен. Единственное, что меняется в рантайме, связанное со стэком, это значение указателя на верхушку стэка (ESP/RSP регистр в x86/x86_64 соответственно). Но у стэка есть финальная величина. Именно поэтому ты не можешь выделить гиг памяти на стэке и именно поэтому у тебя крашится программа, если у тебя, допустим, бесконечная рекурсия (которая не может быть бесконечной как цикл, ибо каждый рекурсивный вызов - это стэковый фрейм на стэке, а стэк, повторюсь, имеет конечную величину, которая не меняется в рантайме).
Аноним 26/11/20 Чтв 15:34:04 1866129574
Че пацаны, аниме?
Аноним 26/11/20 Чтв 15:37:30 1866131575
index.jpeg 3Кб, 259x194
259x194
>>1866120
>Но у стэка есть финальная величина.
"Финальная величина" есть и у хипа. ШОК.
>именно поэтому у тебя крашится программа
Нет. Программа падает оттого, что нехватку памяти для стека нельзя отловить стандартно.
Аноним 26/11/20 Чтв 16:03:57 1866146576
>>1866119
Хоп, а вот и еще один неосилятор базовых вещей.
Расскажи мне, какие у тебя проблемы с солидом возникают, что именно в нем НИНУЖНО.
Аноним 26/11/20 Чтв 16:07:02 1866149577
>>1860500 (OP)
Аноны, подскажите, как стримить видео с вебки на другой компьютер с минимальной задержкой.

Самое банальное и тупое решение: дёргать отдельные кадры (opencv) и передавать их через TCP сокет, но работает это с очень большой задержкой.

Ещё читал про всякие rtp, sip и прочее, но с трудом понимаю, как это реализовать или какие библиотеки нужно использовать.

Короче, если у кого-то есть опыт в таких вещах, очень хочется услышать ваше решение.
Аноним 26/11/20 Чтв 16:09:08 1866150578
1505876748196.png 375Кб, 1712x1301
1712x1301
Аноним 26/11/20 Чтв 16:09:40 1866151579
Аноним 26/11/20 Чтв 16:12:13 1866153580
>>1866117
Можешь менять в рантайме, разрешаю.

#include <sys/resource.h>
...
struct rlimit rl;
rl.rlim_cur = 16 1024 1024;
setrlimit(RLIMIT_STACK, &rl);

Аноним 26/11/20 Чтв 16:13:57 1866155581
>>1866120
1. Стек не имеет конечную величину и меняется в рантайме.
2. Ты можешь выделить гиг памяти на стеке, все что произойдет - ты попадешь в guard page, выкинется pagefault, система его отловит и подложит в виртуальную память еще страничек.
Аноним 26/11/20 Чтв 16:15:49 1866157582
>>1866149
Для rtp полно либ, я пробовал разные но чет так и не получилось быстро, не зря за софт видеоконференций все же деньги дерут. Можешь еще webrtc глянуть.
Аноним 26/11/20 Чтв 16:25:59 1866160583
>>1866150
>пук
Ты на вопрос отвечай.
Аноним 26/11/20 Чтв 16:43:20 1866167584
>>1866157
>не получилось быстро
То есть всё равно была задержка? Какой величины примерно?

>Можешь еще webrtc глянуть.
Про него тоже читаю.

Может, тупо резать видео на пакеты и слать их по UDP? Или это совсем зашквар будет?
Аноним 26/11/20 Чтв 16:44:13 1866169585
>>1866167
> Или это совсем зашквар будет?
Нет.
Аноним 26/11/20 Чтв 17:01:38 1866192586
>>1866167
>Может, тупо резать видео на пакеты и слать их по UDP?
Так и надо делать
Аноним 26/11/20 Чтв 17:03:20 1866193587
>>1866146
>Хоп, а вот и еще один неосилятор базовых вещей.
У которого опыта явно больше чем у студентика, всё ещё верящего в волшебный солид.

>что именно в нем НИНУЖНО
А где я писал что оно нинужна, поехавший? Я написал что солид и вся свистопляска вокруг него — когда вокруг обычных советов пытаются строить архитектуру и вообще все процессы разработки а не исходят из конкретных нужд — это ебаный карго культ, который надувают долбоёбы вроде тебя.

Какой нибудь SRP из хорошего совета руками религиозных идиотов догматично дробящих всё на объекты с 1 целью и желательно с функциями по 4 строки)0 превращает отладку в ад, просто потому что вся логика размазана по 5-7 строчек размазана на 6 модулей (3 из которых тупо проксируют вызовы туда-сюда и ещё 1 нужен просто чтобы это всё говно слинковать друг с дружкой, лол), если там есть асинхронщина — это вообще время на отладку x10 просто ради того, чтобы хотя бы 1 раз пройти весь этот граф в отладчике, потому что отладка чужого кода всегда начинается снизу логической цепочки. Добавляем туда L/ISP — у нас ещё все общаются по протоколам/интерфейсам/итд, сразу куча бойлерплейта (причём в большинстве случаев неиспользуемого, т.к. подмена имплементаций и тесты вообще есть у пары модулей из сотни, да и делается она элементарно даже если автор хотя бы слышал про DI но не делал интерфейсы вперед), проблемы с перформансом, временем компиляции (просто из-за кучи бойлерплейта), необходимостью несколько часов изучать что и как работает ради добавления, блять, кнопки итд. Добавляем OCP и получаем необходимость форкать нахуй каждую либу когда оказалось что нужно какое-то поле или ждать неделю до следующего спринта пока команда делающая либу дойдёт до этого таска, лол, спасибо.

Разве что про Dependency Inversion сказать ничего не могу, единственный однозначно полезный совет, лол.

>>1866160
>пук
Так это другой ананас, шизоид ты ебаный.
Аноним 26/11/20 Чтв 17:05:35 1866196588
>>1866169
>>1866192
Какие минусы у такого подхода в сравнении с rtp, sip и прочими протоколами/стандартами? Не зря же их придумали.
Аноним 26/11/20 Чтв 17:13:06 1866199589
>>1866196
Посмотри RFC.
RTP is primarily designed to satisfy the needs of multi-
participant multimedia conferences
Аноним 26/11/20 Чтв 17:36:57 1866218590
>>1866149
А почему ты решил, что у тебя задержка из-за транспорта?
Аноним 26/11/20 Чтв 17:41:42 1866222591
>>1866199
Сделал через udp, но, во-первых, также отправляю отдельные кадры (jpeg), а, во-вторых, пока не тестил толком.

Могут ли возникнуть проблемы из-за udp, если отправлять закодированное (например, h264) видео?

>>1866218
На локалхосте никаких задержек нет. По wi-fi задержка уже около 3-х секунд.
Аноним 26/11/20 Чтв 17:43:14 1866224592
Аноним 26/11/20 Чтв 17:44:38 1866226593
>>1866222
>проблемы из-за udp
Все остальное внесет бóльшую задержку.
Аноним 26/11/20 Чтв 18:11:11 1866250594
>>1866226
Потестил с udp и покадровой передачей. Очень много глитчей и артефактов, но задержки практически нет. Интересно, будет ли лучше, если передавать закодированное видео?
Аноним 26/11/20 Чтв 18:21:43 1866264595
>>1866250
Это зависит. Оцени потери и задержки пакетов, чтобы понимать, откуда глитчи.
Аноним 26/11/20 Чтв 18:31:43 1866287596
>>1866264
Спасибо за совет, я попробую. А как вообще можно оценить потери и задержки пакетов с udp? Это же не tcp.
Аноним 26/11/20 Чтв 18:36:17 1866291597
>>1866287
Ещё надо попробовать поиграть с размерами пакетов. Наверно, это должно оказывать влияние.
Аноним 26/11/20 Чтв 18:49:14 1866296598
>>1866287
Ты же отсылаешь фиксированное количество пакетов за 1 времени. А на приемной стороне ведешь лог, сколько получил за единицу времени.
Вместо задержек можешь в каждый пакет добавить метку времени, а на приемной стороне смотреть разность меток, т.е. вариацию задержки.
Аноним 26/11/20 Чтв 18:51:15 1866298599
>>1866131
>"Финальная величина" есть и у хипа
Которая ограничена размером оперативной памяти. В случае со стэком, выделяется ограниченное количество памяти под него, которое в рантайме не расширяется.
>Нет. Программа падает оттого, что нехватку памяти для стека нельзя отловить стандартно.
Сынок, сразу видно, что ты в ассемблере не бум-бум. Ты знаешь вообще как рекурсия работает и что есть стэковый фрейм? Пиздуй учить матчасть, короче.
Аноним 26/11/20 Чтв 18:55:40 1866303600
>>1866153
если мы говорим про лялекс, то там размер стэка ограничен ulimit'ом так или иначе. Позволить ему быть размером с ОЗУ ты не сможешь, в отличие от хипа (грубо говоря, так как есть еще данные в процессе, занимающие память, но на хипе можно выделять память, пока весь ОЗУ не кончится).
Аноним 26/11/20 Чтв 19:07:40 1866310601
желтый колобок.jpg 10Кб, 225x225
225x225
>>1866298
> Которая ограничена размером оперативной памяти.
Про виртуальную память и пределы а ля юникс не слышал?
> В случае со стэком, выделяется ограниченное количество памяти под него, которое в рантайме не расширяется.
Это ограничение качественно ничем не отличается от ограничения на размер кучи. Количество только другое.
> Сынок, сразу видно, что ты в ассемблере не бум-бум.
Юноша бабахнул.
Аноним 26/11/20 Чтв 19:19:55 1866320602
>>1866250
Я когда-то давно немного занимался стримингом видео. Не знаю, чем именно ты декодируешь, но я точно помню, что ffmpeg не любил, когда я ему подсовывал половину кадра h264. Приходилось нарезать поток самому исходя из старт кодов ровно по границе NAL юнитов.
Аноним 26/11/20 Чтв 19:23:13 1866325603
>>1866310
>пук среньк баивые картиначки
Ограничение отличается тем, что размер стэка ограничен ulimit'ом (в Линуксе), а размер кучи - количеством ОЗУ. Или для тебя программное ограничение == аппаратное ограничение, шиз?

Дизассемблируй программу с бесконечной рекурсией и ты поймешь почему такая программа крашится, если тебе, конечно, известны вообще такие слова.
Аноним 26/11/20 Чтв 19:23:53 1866326604
>>1866058
Жаль, что работу с таким стеком найти практически нереально...
Аноним 26/11/20 Чтв 19:26:19 1866328605
>>1866058
>WinApi
Обожаю BadlyNamedFunctionEx2W(LPVOID structure, DWORD flags, LPDWORD reserved)
Аноним 26/11/20 Чтв 19:34:49 1866338606
>>1866325
>Ограничение отличается тем, что размер стэка ограничен ulimit'ом (в Линуксе), а размер кучи - количеством ОЗУ.
Для тебя man setrlimit:
RLIMIT_DATA
This is the maximum size of the process's data seg‐
ment (initialized data, uninitialized data, and
heap). The limit is specified in bytes, and is
rounded down to the system page size. This limit
affects calls to brk(2), sbrk(2), and (since Linux
4.7) mmap(2), which fail with the error ENOMEM upon
encountering the soft limit of this resource.

RLIMIT_STACK
This is the maximum size of the process stack, in
bytes. Upon reaching this limit, a SIGSEGV signal
is generated. To handle this signal, a process
must employ an alternate signal stack (sigalt‐
stack(2)).

> программу с бесконечной рекурсией и ты поймешь почему такая программа крашится
И даже с конечной, но большой ))))))
О чем и писал: нет стандартного способа обнаружить исчерпание предела стека. А malloc можно проверить на NULL. Вот и фся разница.
Аноним 26/11/20 Чтв 19:45:38 1866344607
>>1866303
Лялех - опенсорс, просто берешь и убираешь лимит.
Аноним 26/11/20 Чтв 19:47:08 1866346608
>>1866296
Понял, спасибо.

>>1866320
Я написал клиент и сервер. Клиент посылает пакеты серверу, сервер их собирает. Пока что передаю MJPEG (это же как раз отдельные кадры в jpeg закодированные?).

>Приходилось нарезать поток самому исходя из старт кодов ровно по границе NAL юнитов.
Если не впадлу, расскажи поподробнее про это и в целом про задачу, которую решал. ffmpeg умеет только принимать поток или передавать тоже умеет (например, на заданный ip и порт)?
Аноним 26/11/20 Чтв 19:53:18 1866353609
>>1866320
>>1866346
>расскажи поподробнее
Особенно интересно, как ты границы nal юнитов определял.
Аноним 26/11/20 Чтв 21:34:01 1866439610
>>1866326
в антивирусных компаниях очень даже реально на какого-нибудь kernel developer
Аноним 26/11/20 Чтв 21:38:33 1866443611
На сколько сильно стоит обмазываться умными указателями, контейнерами и прочим stl вещами? Стараться делать всё - некоторые вещи проще и понятнее сделать в си стиле. Другие, безопаснее с использованием stl. Как искать баланс? И как на это смотрят в коллективах?
Аноним 26/11/20 Чтв 21:40:02 1866444612
>>1866443
умный указатель это со сборщиком чтоли?
Аноним 26/11/20 Чтв 21:43:23 1866447613
>>1866444
Да, отслеживает кол-во ссылок, и если все их удаляют, удаляет сам объект.
Аноним 26/11/20 Чтв 21:43:42 1866448614
>>1866443
Если речь идёт о c++, то нужно пользоваться его благами, а не избегать их. Stl -- это пример отлично написанного нереально крутого кода. Без этого никуда. Более того, не стоит использовать на плюсах сишные библиотеки. Это считается дурным тоном. В крайнем случае пишется плюсовый биндинг к сишной библиотеки. Ну вообще думай головой, чел. Это путь сиплюсплюс.
Аноним 26/11/20 Чтв 21:52:43 1866456615
>>1866193
Тебе об этом и говорят, дурачок.
Что SOLID сам за тебя хуйню не спроектирует.
Чтобы он работал, надо правильно выделять абстракции. Дебилы этого не умеют делать, создавая какие-нибудь классы открывалки файла, огребают и начинают верещать, что это все солид неработающий уиноуат, и процыдуркыми хуяк-хуяк прощи делыть.

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

>тесты вообще есть у пары модулей из сотни
Ну дак и причем тут солид? Давай тдд еще обосри.

>проблемы с перформансом, временем компиляции
Ты как бы платишь этим за гибкость реализации.
Нету гибкости? Значит, проектировал долбоеб. Он и процидурку мог с ошибками написать, какая разница?

>форкать нахуй каждую либу
А нада как?
Аноним 26/11/20 Чтв 21:55:17 1866458616
>>1866448
Ну вот к примеру, симуляция игры жизнь. Поле - двумерный вектор. Задача - найти соседей клетки икс. Если мы работаем через стандартные итераторы, то у нас возникает ебля с их правильным расположением. Точнее необходимость изобретать костыли из-за замкнутости карты (сосед последней точки - начальная) по условию задачи.
Как я понимаю наиболее правильный способ в идеях си дважды сплюснутого - это создать наследника от базового итератора, который корректно будет обрабатывать эту ситуацию
Аноним 26/11/20 Чтв 22:12:18 1866467617
Аноним 26/11/20 Чтв 22:15:58 1866470618
>>1866458
> наследника итератора
Нуу так-то да, хотя максимальной скорости так не достичь.
Аноним 26/11/20 Чтв 22:18:42 1866472619
>>1866470
Нам неважна скорость -- нам важно быстродействие.
Аноним 26/11/20 Чтв 22:21:08 1866475620
интересно, а что Бьёрн Страуструп думает про прыщи? Как он к пердолям относится? В его книгах все примеры делаются строго в виндовой среде...
Аноним 26/11/20 Чтв 22:22:37 1866476621
>>1866475
Именно поэтому он не смог написать компилятор для своего языка: знаний малёхо не хватило.
Аноним 26/11/20 Чтв 22:23:52 1866477622
Аноним 26/11/20 Чтв 22:26:06 1866480623
>>1866476
а чё не существует компилятора который бы написал Бьёрн Страуструп? Серьёзно?
Аноним 26/11/20 Чтв 22:26:46 1866481624
Бьёрн Страуструп всегда пишет что между пердолями и программированием лучше выбрать второе...
Аноним 26/11/20 Чтв 22:27:43 1866482625
>>1866475
Правильно: пишешь код
Неправильно: ебешься в вимом, сборкой, соснолькой пердолькой. А писать код даже не начинал.
Аноним 26/11/20 Чтв 22:32:02 1866485626
>>1866482
Вот этого двачую. Я при владении асмами, крестами и сями вообще ни разу почти не притрагивался к юниксу. Некоторые когда узнают это глаза круглые делают мол раз я такой задрот что асмы освоил почему это я в пердоли не вкатился. А ответ прост: я хочу создавать, а не разбираться по гайдам в чужих и отваливающихся программах.

Потому что линукс это: нужно что-то сделать -> ищешь гайд -> выполняешь гайд -> выскакивает ошибка хотя в гайде всё заебись -> гуглишь ошибку -> фиксишь ошибку -> не помогает\вылазит другая ошибка

и это жутко бесит и на нервы действует, на винде ничего такого не было ни разу в жизни. Если владеть реестром то переустанвливать шиндовс не придётся никогда.
Аноним 26/11/20 Чтв 22:33:09 1866489627
>>1866475
он сказал что линукс хуйня
Аноним 26/11/20 Чтв 22:34:29 1866491628
>>1866482
Начинал и даже заканчивал. Чо сказать-то хотел?
Аноним 26/11/20 Чтв 22:35:41 1866494629
>>1866491
в том, что ты проебал время на хуйню, когда остальные сразу начали писать код
Аноним 26/11/20 Чтв 22:35:52 1866495630
>>1866476
> не смог
Cfront - препроцессор в обычную сишку.
Аноним 26/11/20 Чтв 22:36:18 1866496631
Аноним 26/11/20 Чтв 22:37:39 1866501632
>>1866477
Я понимаю, что он мой друг, и им достаточно быстро и просто решить задачу но, как на это будут выглядеть, не в моём мелком проекте, а в каком нибудь большом?
Аноним 26/11/20 Чтв 22:37:53 1866503633
>>1866485
Дурачок по гайдам с лялехом работает, вместо того чтобы включить мозг -- спешите видеть !!!
Аноним 26/11/20 Чтв 22:38:11 1866505634
>>1866346
В старых версиях ffmpeg был стример, но сейчас его оттуда выпилили. Если не хочешь писать свой, то можешь перекатиться на gstreamer (или live555).

Я не он.
Аноним 26/11/20 Чтв 22:38:34 1866506635
>>1866503
>руки не те!!!!!
>драйверов нет так это железо не то!!!!!!
>дистрибутив не тот!!!!!!
классикал пердоля.
Аноним 26/11/20 Чтв 22:39:22 1866508636
>>1866495
Вот я и говорю, а компилятор написать так и не смог...
Аноним 26/11/20 Чтв 22:43:53 1866514637
>>1866506
Блин , чел, ну включи мозг. Я, например , с виндой ебался гораздо больше. Мне легче в конфиг залезть, чем искать , где какую галочку поставить. Легче работать в консоле , а не в громоздких приложениях.
Аноним 26/11/20 Чтв 22:46:37 1866520638
>>1866346
>ffmpeg умеет только принимать поток или передавать тоже умеет (например, на заданный ip и порт)?
По идее и то, и то. Ещё и gstreamer может, он более на это нацелен. Но в моём я не мог так просто всё сделать. Я по протоколу, который мне достался "сверху", получал тупо битовый стрим h264, и нужно было его воспроизвести внутри окна другой программы. Была бы моя воля - использовал бы специально предназначенный для потоковой передачи MPEG-TS, но не судьба. Вручную программно кормил ffmpeg и получал оттуда кадры.
>как ты границы nal юнитов определял
Обычный start code: ищешь 00 00 01 или 00 00 00 01 в потоке - это и означает начало следующего юнита.

А, и вот ещё что: если ты используешь UDP, то у тебя пакеты в теории могут приходить в разном порядке. Возможно из-за этого тоже могут быть у тебя артефакты. Для этого, как тебе выше ответили, тебе нужно писать свою синхронизацию.
Аноним 26/11/20 Чтв 22:47:23 1866524639
>>1866508
Ну и нахуй нужен компилятор этот. Главное - получить из плюсового кода экзешник любыми способами. Сразу и поддержка всех платформ, для которых есть компилятор сишки.
Аноним 26/11/20 Чтв 22:48:57 1866527640
Аноним 26/11/20 Чтв 22:50:28 1866529641
actually.png 20Кб, 700x700
700x700
>>1866527
Вообще-то формально счётчик ссылок - тоже вид сборки мусора. Смотри Objective C, COM и прочее.
Аноним 26/11/20 Чтв 22:51:06 1866530642
>>1866514
Вот не ебался с виндой никогда, она просто работает. А скрин тиринги в браузере в линуксе, когда 2 года под ним работал, забороть так и не смог. Спасибо, что нынче я пишу только под винду.
Аноним 26/11/20 Чтв 22:54:00 1866537643
>>1866530
Просто у нас с тобой разные дороги в этом мире, брат. Мир, брат. Любовь, брат.
Аноним 26/11/20 Чтв 22:56:50 1866540644
>>1866524
Потому что он хотел родить ребёнка, а получил урода корявого. А всё почему? Потому что он не задумывался о сложностях написания компиляторов. Вот тебе и одна из причин плохого дизайна языка.
Аноним 26/11/20 Чтв 22:59:06 1866542645
>>1866540
Норм язык, ставлю класс.
Аноним 26/11/20 Чтв 23:01:04 1866544646
>>1866542
Я бы даже сказал не норм, а Мазахистически Удовлетворительно.
Аноним 26/11/20 Чтв 23:03:58 1866545647
если уж так нарвится ебаться с чужими программами и копаться в них 1с изучите полезнее будет и работы больше да и высокооплачиваемей она или фотошоп какой-нить или 3дмакс, но впизду эту линь
Аноним 26/11/20 Чтв 23:05:28 1866546648
>>1866545
Ты гонишь, чел. Не гони, чел.
Аноним 26/11/20 Чтв 23:07:15 1866547649
16060617045590.jpg 26Кб, 400x400
400x400
Аноним 26/11/20 Чтв 23:09:37 1866549650
>>1866547
Ты ошибаешься, чел...
Аноним 26/11/20 Чтв 23:12:46 1866552651
>>1866545
Не надо ебаться, надо использовать с умом.
Аноним 26/11/20 Чтв 23:12:53 1866553652
>>1866485
Когда MacOS откроешь уже для себя, виндоблядь?
Аноним 26/11/20 Чтв 23:17:00 1866554653
>>1866553
>>1866553
Когда для себя линь откроешь, макоблядь?
Аноним 26/11/20 Чтв 23:18:24 1866556654
>>1866554
Мой путь с винды лежал через прыщи к МакОси. Боги миловали и уже 10 лет не приходится возвращаться на поделие мелкомягких.
Аноним 26/11/20 Чтв 23:20:40 1866558655
>>1866529
Не смотри COM - ослепнешь.
Аноним 26/11/20 Чтв 23:20:50 1866559656
>>1866556
Чем линь тебе не угодил? Поставь хотя бы дулбутом, чтобы коллеги видели твою компетентность, что бы это ни значило.
Аноним 26/11/20 Чтв 23:22:06 1866560657
>>1866559
Зачем мне на макбук ставить прыщи, если все, что мне нужно от прыщей есть в макоси?
Аноним 26/11/20 Чтв 23:25:00 1866562658
>>1866560
Я же тебе написал зачем. Тебя мак совсем разучил читать? Экранным диктором и голосовым управлением пользуешься?
Аноним 26/11/20 Чтв 23:25:41 1866563659
>>1866559
Линь был показателем компетентности в 2010 максимум. Сейчас его знают все, и большая часть понимает, что это кусок говна, а не десктопная операционная система.

На серверах то понятное дело ок.
Аноним 26/11/20 Чтв 23:26:43 1866564660
Аноним 26/11/20 Чтв 23:29:18 1866565661
>>1866563
Тем не менее люди пользуются им годами как десктопной системой. Потому что хотят получить полностью управляемую систему. Гибкую. Интересную. Не без недостатков, конечно.
Аноним 26/11/20 Чтв 23:34:05 1866567662
>>1866565
проиграл с ИНТЕРЕСНОЙ операционной системы. да, латать нерабочее говно, кращущееся КДЕ и прочую хуйню васянскими патчами это охуеть как интересно. Но платят на работе за другое.
Аноним 26/11/20 Чтв 23:37:33 1866570663
>>1866567
> Но платят на работе за другое

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

Не забываем еще о том, что на работе есть свои секьюрити полиси, под которые не попадают все доступные линуксовые дистрибутивы, а какая-то ебучая Убунта.
Аноним 26/11/20 Чтв 23:39:30 1866572664
>>1866567
Винда тебе такого не предложит тем не менее... Линукс богаче, круче, брутальнее. Алфач одним словом. Я по нему теку как по реке очень быстрой
Аноним 26/11/20 Чтв 23:49:54 1866576665
>>1866572
Так мне это нахуй даром не надо. Тратить свое время на придуманные проблемы, которые в других местах уже решены. Я не давным давно не студентик, у которого дохуя свободного времени, чтобы тратить его на хуйню.

Мне платят только за написание кода. Все. И именно этим я буду заниматься с максимальным усердием, чтобы потом получить лычку ебаного принципал инженера, а не тратить свое время бессмысленно.
Аноним 26/11/20 Чтв 23:52:46 1866578666
>>1866576
Ты сильный человек, хоть и закомплексованный немножко.
Аноним 27/11/20 Птн 00:01:27 1866587667
>>1866576
Ты слабый человек, хоть и скрываешь это за внешней брутальностью и похуизмом.
Аноним 27/11/20 Птн 00:03:52 1866588668
Аноним 27/11/20 Птн 00:05:10 1866589669
>>1866587
А я думал, что сильный, потому что не бегу от проблем. Жаль, что ты такого мнения обо мне.
Аноним 27/11/20 Птн 00:07:08 1866592670
Аноним 27/11/20 Птн 00:33:34 1866609671
Правильно ли в плюсах определять константы в директивах препроцессора как в Си или это уже считается мешаниной языков?
Аноним 27/11/20 Птн 00:36:59 1866611672
>>1866609
#define используется только для кроссплатформенной или кросскомпиляторной сборки. Всё.
Аноним 27/11/20 Птн 00:37:38 1866612673
>>1866609
Это пиздец. Используй перечисления.
Аноним 27/11/20 Птн 00:47:55 1866616674
Аноним 27/11/20 Птн 01:08:26 1866623675
>>1866485
Как тебе там в 2000 году, дедуль? Лялекс из коробки уже давно менее пердольный, чем дриснятка. Офк каждому своё, универсальной ОС под все возможные задачи нет и вряд ли будет, но со своим высером ты конечно загнул пиздец.
Аноним 27/11/20 Птн 01:09:59 1866624676
>>1866623
О, врети подъехало.
Аноним 27/11/20 Птн 06:37:33 1866664677
>>1866611
А условной компиляция у вас нет? Для любой отличающейся версии под ту же платформу и компилятор свою ветку делаете?
Аноним 27/11/20 Птн 10:19:50 1866699678
Мой коллега огорчался, что не может сидеть в божественной Студии так долго, как хочет, потому что проклятая Венда самостоятельно перезагружает его Коплюктер для апдейта. Как хорошо, что на моей ОС это невозможно.
Аноним 27/11/20 Птн 10:33:57 1866704679
>>1866699
> проклятая Венда самостоятельно перезагружает его Коплюктер для апдейта
Привет. Как там в 2017? Ядро 5.0 ещё не запилили?
Аноним 27/11/20 Птн 12:04:59 1866765680
Указатели на функции используются в функциях высшего порядка? Я могу с помощью них написать условный map, filter, reduce? Как часто они используются в реально жизни? Этот ебаный синтаксис никак не могу запомнить.
Аноним 27/11/20 Птн 12:08:01 1866769681
>>1866765
const double ((pd)[3])(const double , int) = &ра;

Блядь, нахуй так жить?
Аноним 27/11/20 Птн 12:11:22 1866774682
Сап, есть вопрос по архитектуре. Есть класс (назовем его рендерер) который создает и разрушает текстуры, т.е. не должно быть такой ситуации, что текстура осталась, а рендерер уничтожился. Так вот как это лучше всего реализовать? Пока придумал 2 варианта. Первый - внутри рендерера завести массив shared_ptr с текстурами и при создании возвращать weak_ptr на текстуру. Второй - в конструктор текстуры передавать shared_ptr рендерера, но это как-то хуево помоему т.к. сам рендерер не может знать, что он внутри shared_ptr.
Аноним 27/11/20 Птн 12:24:44 1866781683
>>1866664
Тебе же сказано, что для этого дифайн в плюсах только и используется.
Аноним 27/11/20 Птн 12:28:32 1866783684
>>1866611
>>1866781
А как же всякие отладочные конструкции в дебаг версии? Типо #define LOG(...) printf(__VA_ARGS__ ) который в релизной версии превращается в пустую строку, тот же assert тоже является макросом.
Аноним 27/11/20 Птн 12:29:52 1866784685
>>1866774
Пиздос, что за каша у тебя в голове?
Аноним 27/11/20 Птн 12:30:36 1866785686
>>1866783
> который в релизной версии превращается в пустую строку
Не в пустую строку, а в empty statement
Аноним 27/11/20 Птн 12:41:31 1866789687
>>1866783
Если ассерты еще туда-сюда, и то спорно. То вот подобные дебаг-онли логи - хуйня без задач, как показывает практика.

Лучше сделать конфигурируемые логлевелы, и при необходимости включать их на проде (мы так несколько багов поймали).
Аноним 27/11/20 Птн 13:02:13 1866799688
Аноним 27/11/20 Птн 13:02:40 1866801689
>>1866784
Что непонятного? Ладно упрощу пример. Есть класс кучи которая выделяет и освобождает память. Т.е. если была уничтожена куча то и вся выделенная ею память должна стать невалидной, при этом если где-то остались экземпляры памяти выделенной этой кучей, они должны автоматически занулится. Т.е. вот как-то так должно работать https://godbolt.org/z/EYWf1E
Аноним 27/11/20 Птн 13:59:21 1866860690
>>1866801
У тебя что-то не так с архитектурой
Аноним 27/11/20 Птн 14:06:25 1866872691
>>1866860
А что не так? По сути виндоусовская куча так и работает, т.е. при RtlDestroyHeap у тебя освобождается вся память выделенная этой кучей, только при этом остаются висячие указатели. Вот мне бы хотелось как-то с использованием фишек C++ сделать это безопасным без висячих указателей.
Аноним 27/11/20 Птн 14:16:32 1866883692
>>1866872
Долбаёбина, заканчивай с этой шизой.
Используй VirtualFree и не еби нам мозг.
Аноним 27/11/20 Птн 14:19:49 1866887693
>>1866774
Текстуры могут держать в себе shared_ptr >>1866774
>сам рендерер не может знать, что он внутри shared_ptr
enable_shared_from_this специально для этого и сделан, правда там аккуратно нужно создавать объект.
Ну а вообще, у тебя часто пересоздание твоего Рендерера? Потому что если он по сути один на всю программу, то это оверкилл.
Аноним 27/11/20 Птн 14:20:34 1866890694
>>1866887
Чёрт, пост поехал. Ну понятно, что я имел ввиду.
Аноним 27/11/20 Птн 14:21:30 1866891695
тупой пост от студента
Есть ли смысл учить Qt, если хочется работать на плюсах? Или надо иметь низкоуровневые фундаментальные знания, чтобы взяли на работу? Если да, то какие? Где вы работаете на плюсах? Есть вакансия (не претендую), там написано - знание C++ и WinAPI. А суть работы в чём? Что там с WinAPI делают, чего нельзя на более высоком уровне?
Аноним 27/11/20 Птн 14:32:24 1866906696
>>1866887
Спасибо, не знал, что такое есть. Это скорее не для рендерера, а для кучи которая выделяет выделяет ресурсы под текстуры и тд. В dx12 там пиздец с этим и нужно самому управлять таблицей дескрипторов.
Аноним 27/11/20 Птн 14:32:31 1866907697
>>1866781
Text comprehension выше всяких похвал.
Аноним 27/11/20 Птн 14:47:30 1866915698
>>1866891
Ответь себе на вопрос, стоит ли учить де-факто единственный gui-фреймворк?
Если в вакансии указан WinAPI, то там вполне себе может попасться MFC
Аноним 27/11/20 Птн 14:51:53 1866925699
>>1866915
Гуи на С++ это, все таки, больно. На что я крестомакака, но гуй я бы пилил на AvaloniaUI, например.
Аноним 27/11/20 Птн 15:18:38 1866941700
>>1866887
>enable_shared_from_this
Это костыль ебаный, который позволяет делать то, что делать не нужно.
Аноним 27/11/20 Птн 15:29:54 1866946701
>>1866704
Пчел, буквально вчера дриснятка обновилась до новой сборочки. Там был только вариант отложить на день, и этот день прошел.
Аноним 27/11/20 Птн 15:36:08 1866949702
>>1866612
Зочем?

constexpr int m() { return 42; }

class C {
public: static const int a = m();
};
Аноним 27/11/20 Птн 15:37:53 1866951703
>>1866946
>Там был только вариант отложить на день
У меня кнопка "отложить на неделю" работает неограниченное количество раз. Даже стакается.
Аноним 27/11/20 Птн 15:38:16 1866952704
Привет, крестач
Вопрос к эмбедщикам (вроде как в сипипи треде должны быть такие) - насколько часто юзают Keil uvision в качестве IDE? Правда ли, что в последнее время предпочитают использовать плюсы вместо сишки в разработке прошивок и в целом в эмбедщине? Можно ли самостоятельно учиться этому, не имея физически рядом железки типа STM? (в теории ведь можно обмазаться эмулятором, если есть, плюс даташитом, но как оно на практике?)
Аноним 27/11/20 Птн 15:53:48 1866964705
>>1866925
>Гуи на С++ это, все таки, больно
А кто тебя заставляет? Qt гуи удобнее на qml клепать, кресты там на беке только будут, всякие модельки и безнес логика.
Аноним 27/11/20 Птн 16:05:26 1866980706
>>1866906
Я в графоне максимум лет 6 рендерил картинки на DX9, но как я понял из MSDN по сути ты пишешь аллокаторы для цпу/гпу. Разве такие вещи создаются посередине программы? Другими словами, как может возникнуть ситуация, когда ты внезапно удалишь таблицу дескрипторов пока есть активные текстуры?
Аноним 27/11/20 Птн 16:07:02 1866982707
>>1866980
>лет 6 назад
Быстрофикс
Аноним 27/11/20 Птн 16:10:56 1866986708
>>1866783
> А как же всякие отладочные конструкции в дебаг версии?
Можно изъебаться со сборкой и скармливать компилятору разные файлы в зависимости от версии программы.
Аноним 27/11/20 Птн 16:13:09 1866988709
>>1866946
Кому ты пиздишь. Переключаешь в режим отложенных обновлений и обновляешься когда захочешь.
Аноним 27/11/20 Птн 17:30:59 1867056710
Аноним 27/11/20 Птн 17:45:16 1867073711
>>1866891
GUI в проектах с крестами пишется вообще на всём подряд. Qt, WPF, MFC, всякий WEB. Приходится постоянно перекатываться и регенерировать.
Qt хорош для понимания того, как на плюсах можно писать крупные SDK (в плане исходников и общего устройства).

В общем потыкай в него, напиши какой-нибудь paint или текстовый редактор.

В глубины глубин не лезь, потому что он может тебе никогда и не пригодится.
Аноним 27/11/20 Птн 18:00:26 1867087712
>>1866964
в данный момент, спасибо, никто. Но на прошлой работе было, и было больно.
Аноним 27/11/20 Птн 18:20:05 1867102713
>>1866952
Тенденции перехода на плюсы есть. Зачем писать в стиле "C с классами", если можно получить всё это из коробки?
Аноним 27/11/20 Птн 18:58:45 1867143714
>>1866891
>Что там с WinAPI делают
Хуйнёй страдают)

>WinAPI
Беги оттуда, дурачок! Там линукс не знают, а значит, и плюсов не знают…
Аноним 27/11/20 Птн 19:00:51 1867146715
>>1867143
>Там линукс не знают, а значит, и плюсов не знают…
Орнул с этого знателя
Аноним 27/11/20 Птн 19:04:51 1867149716
>>1866925
Не осилятор. Я вот вебсайты на плюсах разрабатываю, от сервера до генерации html или тонкого управления всем устройством на основе ГУИ технологии. Умею открывать порты, поднимать сокеты, увеличивать быстродействие (НЕ СКОРОСТЬ!).
Аноним 27/11/20 Птн 19:05:43 1867152717
>>1866949
Согласен. Так гораздо симпатичнее.
Аноним 27/11/20 Птн 19:22:49 1867164718
>>1867149
>быстродействие (НЕ СКОРОСТЬ!).
Это типа latency и throughput?
Аноним 27/11/20 Птн 19:28:07 1867170719
TsarBombawolk1.jpg 102Кб, 612x454
612x454
>>1867164
Ты сообразительный)
Аноним 27/11/20 Птн 20:16:58 1867205720
>>1866915
Ответь себе на вопрос почему он единственный.
Аноним 27/11/20 Птн 20:17:37 1867207721
Спалите сайт\справочник с навигацией по stl
Аноним 27/11/20 Птн 20:30:09 1867222722
Аноним 27/11/20 Птн 20:40:22 1867229723
>>1867205
Потому что не нужен, очевидно.
Аноним 27/11/20 Птн 21:10:51 1867249724
1504058081079.png 6Кб, 724x51
724x51
Аноним 27/11/20 Птн 21:19:09 1867258725
>>1867249
Компилируется без ошибок.
Аноним 27/11/20 Птн 21:20:39 1867261726
>>1867258
На всех платформах уже скомпилировал?
Аноним 27/11/20 Птн 21:31:03 1867272727
>>1867261
Конечно, на всей единственной существующей платформе win_x64.
Аноним 27/11/20 Птн 22:06:20 1867303728
>>1866980
Да directx с каждой версией становится все более низкоуровневым. Если раньше для создания текстуры ты просто вызывал CreateTexture2D то теперь тебе нужно создать таблицу GPU и CPU дескрипторов и самому управлять индексами в этих таблицах (назначать индексы ресурсам и освобождать их).
Аноним 27/11/20 Птн 22:15:15 1867310729
>>1867303
> directx с каждой версией становится все более низкоуровневым
Вот поэтому он и отсасывает у Вулкана. Как по производительности, так и по удобству кодинга.
В Вулкане, конечно, тоже такое надо делать, но там хоть для людей продуманный сишный интерфейс, а не ебля в сраку с СОМ-объектами у индусов.
Аноним 27/11/20 Птн 22:36:17 1867324730
Что читаю после Страуса?
Аноним 27/11/20 Птн 22:42:34 1867328731
Достаточно хорошо знаю пистон. Учу плюсы, чтобы расширить кругозор и вкатиться в Rust. Все правильно делаю?
Аноним 27/11/20 Птн 22:45:53 1867331732
>>1867328
> Учу плюсы
Этого достаточно.
Аноним 27/11/20 Птн 22:48:31 1867333733
>>1867331
Охуеваю от указатель на указатель на указатель функции, но пока очень нравится. Надеюсь, понимание приходит со временем.
Аноним 27/11/20 Птн 22:50:19 1867335734
>>1867333
>указатель на указатель на указатель функции
Имеет примерно 0 юзкейсов на практике.
Аноним 27/11/20 Птн 22:51:41 1867337735
>>1867335
Сейчас читаю про ООП и максимально кайфую. Примерно также я кайфовал, когда учил английский язык. С того, насколько все логично.
Аноним 27/11/20 Птн 22:51:41 1867338736
>>1867328
> вкатиться в Rust
> Все правильно делаю?
Нет. У питона вторым языком для байтоёбства должен быть Си. Вместо пидораста лучше Го взять, если хочешь безопасный кодинг и производительность.
Алсо, про Раст можешь почитать такие ахуительные истории питонистов, даже для не питониста выглядящие дико:
https://compileandrun.com/struggles-with-rust/
Аноним 27/11/20 Птн 22:53:06 1867339737
>>1867338
> У питона вторым языком для байтоёбства должен быть Си.
Ну сишку я базовый курс прошел на юдеми. Сразу за ним начал плюсы учить. Сишка помогла, конечно, разобраться с памятью и байтоебством и помогла также в понимании плюсов. Это как ступеньки, понимаешь?
Аноним 27/11/20 Птн 22:54:26 1867340738
>>1867337
Если кайфуешь - это хорошо. Сам кайфовал в самом начале когда другие ныли какие кресты сложные а я всё на лету схватывал.
Аноним 27/11/20 Птн 22:54:34 1867341739
>>1867339
> Это как ступеньки, понимаешь?
Только ты в обратную сторону идёшь, от сложного к простому. Хуйня какая-то.
Аноним 27/11/20 Птн 22:58:34 1867345740
>>1867333
Я про то что раст нинужно.
Аноним 27/11/20 Птн 22:59:09 1867347741
>>1867341
Ну по поводу раста я погорячился, конечно. Сейчас на работе у нас бек на пистоне, а я хочу съебать с этой злоебучей змеи в что-то более человеческое и продуктивное.

Раст сейчас на хайпе, то это больше из интереса. А для бека выбор небольшой - ГО или Джава.

А Си и плюсы для того, чтобы понимать, как это все работает. Потому что все-таки считаю, что нужно было начинать именно с си и плюсов, а не въебать 5 лет в питон.
Аноним 27/11/20 Птн 23:00:43 1867350742
>>1867347
> Раст сейчас на хайпе
Только в голове у сойбоев разве что. Хайп такой, что работу в рашке невозможно найти.
Аноним 27/11/20 Птн 23:01:19 1867351743
>>1867350
Я с Украины, с ДС, тут есть небольшое кококомьюнити. Довольно ламповое.
Аноним 27/11/20 Птн 23:05:20 1867354744
>>1867351
> Довольно ламповое.
С тем же успехом можешь найти себе парня и лампово пороться в сраку. Кодинг-то тут причём? Или ты из этих, опенсорс-шизов, переписывающих либы с сишки на раст, только потому что нормальный биндинг без ансейфа не сделать.
Аноним 27/11/20 Птн 23:06:36 1867355745
>>1867354
Братиш, я ж тебе написал, что чисто из интереса, потому что на хайпе. Остальное мне похуй. Сишка и плюсы - вечное. То, на чем стоит делать акцент всегда.
Аноним 27/11/20 Птн 23:11:54 1867369746
А перекат сегодня выйдет?
Аноним 27/11/20 Птн 23:12:46 1867370747
>>1867369
еще 250 постов мимо перекатываю уже 3 треда подряд
Аноним 27/11/20 Птн 23:15:23 1867374748
>>1867370
На главной тред не видно.
Аноним 27/11/20 Птн 23:15:24 1867375749
Аноним 27/11/20 Птн 23:16:59 1867379750
>>1867375
После Страуса ты уже должен писать код, а не читать.
Аноним 27/11/20 Птн 23:19:51 1867387751
>>1867379
Я уже пишу код. Но что-то мне подсказывает что одной книги недостаточно чтобы меня взяли на работу.
Аноним 27/11/20 Птн 23:21:35 1867390752
>>1867387
Тебя на работе не пересказ книжек спрашивать будут, а попросят показать, что ты написал за последние полгода.
Аноним 27/11/20 Птн 23:21:51 1867393753
>>1867337
Попробуй хаскель. Охуеешь.
Аноним 27/11/20 Птн 23:23:18 1867395754
>>1867393
ФП нахуй нинужно. Уебывай.
Аноним 27/11/20 Птн 23:26:30 1867397755
>>1867387
Почитай про хаскель и его диалекты. Рекомендую.
Аноним 27/11/20 Птн 23:26:52 1867399756
>>1867390
Ну блять, знания то откуда-то надо брать. Страус то явно не все аспекты языка охватывает.
Аноним 27/11/20 Птн 23:27:01 1867401757
>>1867395
Комитет с тобой не согласен, дурачок
Аноним 27/11/20 Птн 23:27:12 1867402758
>>1867397
>ФП нахуй нинужно. Уебывай.
Аноним 27/11/20 Птн 23:28:31 1867404759
>>1867401
Я пишу в смешанно стиле. Мешаю хаскель и ассемблер. Так что уёбывай ты, клоун
Аноним 27/11/20 Птн 23:28:33 1867405760
>>1867397
долбоебина, завязывай с этой шизой
Аноним 27/11/20 Птн 23:30:00 1867408761
>>1867405
Как скажешь. Удачи тебе, брат.
Аноним 27/11/20 Птн 23:46:09 1867425762
>>1867397
Хаскель это только борщик хлебать. Полезно про него почитать только уберзадротам, которые кресты знают как свои пять пальцев.

А про функциональщину в C++ могу лишь сказать, что ranges выглядит круто, но юзать их почти никто не будет, инфа сотан.
Аноним 28/11/20 Суб 00:10:50 1867445763
>>1867397
Читал, невнятный невыразительный язык.
Аноним 28/11/20 Суб 00:55:26 1867475764
>>1867347
>я хочу съебать с этой злоебучей змеи в что-то более человеческое и продуктивное
Иди сразу в embed. Именно там самые низкие зарплаты, а продуктивность просто зашкаливает.
Аноним 28/11/20 Суб 02:16:44 1867483765
>>1867347
>что-то более человеческое и продуктивное.
Го учи, хуле.
Аноним 28/11/20 Суб 03:40:03 1867495766
Аноны, подскажите, доступ к массиву сильно снижает производительность моего кода (примерно на 250%). Работа с массивом очень простая: в объект поступает индекс, объект что-нибудь записывает в массив по этому индексу; другой объект читает из массива по индексу. Эти объекты находятся с сотней других объектов в цепочке: код идет по порядку по каждому из них и выполняет его функционал.
Если убрать строчки чтения/записи в массив в этих двух объектах - все работает гладко и быстро. Код в других объектах гораздо нагруженнее. Что не так с массивами?
Уверен, что с массивом в единицу времени работает только один поток.
Аноним 28/11/20 Суб 03:48:00 1867496767
>>1867495
Либо кэш проца либо блокировки потока
Аноним 28/11/20 Суб 06:40:14 1867532768
>>1860795
>Просвещайся: https://www.viva64.com/ru/t/0065/
Анончики, где ещё почитать про такие нюансы концептуальные? Всякие термины сложные и т.д. Не знаю даже, как такое гуглить.
Аноним 28/11/20 Суб 06:48:46 1867533769
>>1860760
Сага опускает тред в списке тредов доски, кретин. Это не его личный тред, чтобы его сагать.
Аноним 28/11/20 Суб 07:06:37 1867536770
>>1867425
>А про функциональщину в C++ могу лишь сказать, что ranges выглядит круто, но юзать их почти никто не будет, инфа сотан.
Стл алгоритмы вполне себе фп и были уже в первом стандарте.
Аноним 28/11/20 Суб 08:57:15 1867553771
>>1867495
Ты сборку-то в релиз перевёл, ёба? В студии, например, в дебаге по умолчанию включен operator debugging и bounds checker, которые довольно сильно тормозят код
28/11/20 Суб 09:07:03 1867556772
>>1867533
Сажа не подымает, долбоящер.
28/11/20 Суб 09:08:06 1867558773
Аноним 28/11/20 Суб 09:08:47 1867559774
>>1867556
Из этого следует, что долбоёщер ты, потому что произвёл бесполезное действие. В чём тогда, по-твоему, смысл отвечать кому-либо с сагой, не неся никакого месседжа?
Аноним 28/11/20 Суб 09:19:33 1867563775
Аноним 28/11/20 Суб 10:29:56 1867600776
>>1867425
>Полезно про него почитать только уберзадротам, которые кресты знают как свои пять пальцев.
Ровно наоборот. Его нужно изучать, пока у тебя мозг не закостенел, чтобы потом не выдавать фразу по типу:
>Хаскель это только борщик хлебать.

>А про функциональщину в C++ могу лишь сказать, что ranges выглядит круто
Всё, на этом функциональщина в плюсах для тебя закончилась?
Аноним 28/11/20 Суб 11:06:50 1867611777
>>1867533
Сейчас бы переживать о треде, утонувшем 250 постов назад
Аноним 28/11/20 Суб 15:59:29 1867741778
Хороший тред, бамплимит за 6 дней.
Аноним 28/11/20 Суб 16:27:01 1867752779
>>1867741
Из-за линупсо-вендового срача
Аноним 28/11/20 Суб 16:34:20 1867757780
Аноним 28/11/20 Суб 16:36:44 1867758781
>>1867752
Но линь же чистых сях написан, какое отношение он имеет к этому треду? Пусть пиздуют в си тред.
Аноним 28/11/20 Суб 16:39:31 1867760782
>>1867758
> Но линь же чистых сях написан
на грязных, с использованием десятков нестандартных расширений компилятора.
Аноним 28/11/20 Суб 17:00:25 1867773783
>>1867758
Под линем всё чаще подразумевают дистрибутив, про ядро уже начали говорить "ядро линукса". А дистрибутивы состоят из софта, написанного на десятках языков.
Аноним 28/11/20 Суб 17:36:16 1867794784
>>1867758
А какое отношение этот тред имеет к этому треду? Пиздуй в свой тред.
Аноним 28/11/20 Суб 17:37:20 1867795785
>>1867758
> чистых сях
Ты заглядывал в исходники хоть? Там такой говнокод, что пиздец. То форматирование в одном файле в разных стилях, то макросы повсюду и хуй поймешь что за магия там, то какая-то хуйня с нулевой читаемостью как после обфускации.
Аноним 28/11/20 Суб 18:33:04 1867811786
>>1867795
Типичные чистые си, чего ты
Аноним 28/11/20 Суб 18:39:06 1867813787
>>1867811
Большинство из следующих используемых в ядре конструкций отсутствуют в языке Си

Вывод типов - typeof(x)
Ассемблерные вставки - asm volatile("pxor %xmm5,%xmm5");
Диапазоны в свитче - case 1 ... 7:
Массивы нулевой длины - some_variable_len data[0];
Адрес вызывающего - ptr = __builtin_return_address(0)
Определение константности выражения - if __builtin_constant_p(c)
Различные атрибуты функций - __attribute__((always_inline))
Подставляемые функции - inline void fun()
Имя текущей функции - my_func_name = __func__
Инструкции-выражения - ({ int a = b + 1; a; })
Переменное число параметров в макросах - __VA_ARGS__
Арифметика с указателями на void - ++void_ptr
Неконстантные инициализаторы - int arr[2] = { x, y }
Аноним 28/11/20 Суб 18:53:05 1867816788
>>1867813
Я и говорю, типичные
Аноним 28/11/20 Суб 18:59:56 1867817789
>>1867816
Нет, ты говорил чистые.
Аноним 28/11/20 Суб 19:04:21 1867818790
28/11/20 Суб 19:47:17 1867842791
>>1867813
С инлайном не прав ты.
Аноним 28/11/20 Суб 20:13:46 1867864792
>>1867842
Я прав, потому что написал "Большинство из следующих", потому что мне реально лень проверять список на то что таки соизволили занести в стандарт, а еще так выглядит внушительнее.
Аноним 28/11/20 Суб 20:15:35 1867868793
>>1867842
Но ведь там действительно повсюду дефайны, под которыми инлайны и прочая магия. Иногда и по два дефайна перед функцией и гадай что это такое...
Аноним 28/11/20 Суб 20:17:01 1867869794
>>1867868
Представляю, что с тобой случится, когда где-нибудь X-macros увидишь
Аноним 28/11/20 Суб 20:19:50 1867870795
Много вакансий сейчас в ДС для нейронок и машобчика на крестах?
Аноним 28/11/20 Суб 20:23:27 1867873796
>>1867870
Только в филиале моей фирмы 2. Ну при условии что ты не еблан.
Аноним 28/11/20 Суб 20:25:01 1867874797
1401285361145.jpg 134Кб, 667x1000
667x1000
Допустим, у меня в проге есть ивенты. Я хочу их передавать туда-сюда, хранить их, чтобы можно было в нужном порядке их исполнять и т.п. Я представляю себе это в виде команд. Типа "send src_id dest_id 'data'". Ивенты могут приходить от пользователя или генерироваться внутри программы. Кроме самой команды и аргументов у неё ещё есть приоритет. Как это хранить? Думаю сделать структуру, где будет std:map<const char, const char> с аргументами и int для приоритета. Эти структуры будут запихиваться в std::priority_queue и доставиться оттуда для исполнения. Аргументы будут перегоняться из строк в енумы, инты и айди и т.п. уже во время исполнения команды. Всё правильно делаю?
Алсо, есть ощущение, что std::priority_queue не самое быстродейственное решение, но пока это не принципиально.
Аноним 28/11/20 Суб 20:28:27 1867879798
>>1867869
Я и говорю, сплошной говнокодинг костылей.
Аноним 28/11/20 Суб 21:00:00 1867893799
Аноним 28/11/20 Суб 21:07:29 1867899800
>>1867869
Он-то прост и понятен, к тому же альтернатив нет либо они ещё хуже. Но бывпет и хуже.
Аноним 28/11/20 Суб 21:29:24 1867924801
Есть класс Vector, у которого перегружен метод operator+. Метод возвращает новый объект этого класса.

Почему не вызывается деструктор в таком коде для vec1 и vec2 при создании vec3? Или он и не должен вызываться при возврате нового объекта?

Vector vec1 {10, 20};
Vector vec2 {20, 30};
Vector vec3 = vec1 + vec2;
std::cout << "test" << std::endl;


аутпут:
test
Destructor is called for (30, 50)
Destructor is called for (20, 30)
Destructor is called for (10, 20)
Аноним 28/11/20 Суб 21:32:46 1867932802
>>1867924
А почему он должен вызываться при создании vec3? vec1 и vec2 живы все это время
Аноним 28/11/20 Суб 21:33:37 1867936803
>>1867932
Согласен, перечитал свой вопрос и ответ пришел. Запутался немного.
Аноним 28/11/20 Суб 21:38:59 1867943804
>>1867874
Cat echo man bash <-- сперва освой это, а потом приходи! Пшёл!
Аноним 28/11/20 Суб 21:42:23 1867945805
Ладно стой останься у меня есть секрет для тебя только пообещай никому не рассказывать
Аноним 28/11/20 Суб 21:46:26 1867954806
>>1867924
У тебя разве что может вызываться дополнительный деструктор для временного объекта (результата сложения) в некоторых случаях.
Аноним 28/11/20 Суб 22:30:16 1867998807
Помоги исправить код, чтобы работало. Это пример кода из лабы. Наверное, очень древний, раз мой компилятор его не переваривает.
Аноним 28/11/20 Суб 22:30:34 1867999808
Аноним 28/11/20 Суб 22:33:46 1868000809
>>1867998
Тебе в С-тред. Но даже там пошлют нахуй.
Аноним 28/11/20 Суб 22:34:08 1868002810
>>1868000
С хуя ли меня там пошлют нахуй?
Аноним 28/11/20 Суб 22:36:51 1868005811
>>1868002
Помойку скинул потому что. Никому это не интересно.
Аноним 28/11/20 Суб 22:38:32 1868008812
>>1868005
>Никому
>Я скозал. И у каждого в треде лично подпись получил, что ему тоже похуй.
Аноним 28/11/20 Суб 22:39:40 1868010813
>>1868002
Это залупа времён Win98. За такое только обоссать могут. Никому такое не интересно в 2020, все на десятке сидят.
Аноним 28/11/20 Суб 23:16:38 1868035814
>>1867869
Дед, шаблоны давно изобрели.
Аноним 28/11/20 Суб 23:17:45 1868038815
>>1868008
Подтверждаю. Никому.
Аноним 28/11/20 Суб 23:41:33 1868067816
>>1868035
xmacro решают проблемы, которые никак больше нельзя решить. В С++26 только если завезут рефлексию + компайл-тайм иньекцию кода. А до этого, только xmacro. Сам в проде накостылил охуенных xmacro, и новый параметр наших говноконфигов теперь одной строкой добавляется с автовыводом типа.

>>1868010
Судя по коду - это обычный IPC через пайпы, который используется и в 10ке, лол. Другое дело, что нахуя руками, но это ладно
Аноним 28/11/20 Суб 23:48:52 1868074817
Как теперь на C/C++ организовывать обмен данными между процесссами через безымянные каналы, если не как во времена Win98?
Аноним 28/11/20 Суб 23:49:56 1868076818
Аноним 28/11/20 Суб 23:52:33 1868079819
>>1868076
Это WinAPI? Можешь продемонстрировать на простом примере?
Аноним 28/11/20 Суб 23:55:30 1868081820
>>1868079
Это сеть, юзай любую либу
Аноним 28/11/20 Суб 23:57:43 1868082821
>>1868081
Нахуй мне сеть, если речь о двух разных процессах внутри одной операционной системы на одной ЭВМ?
Аноним 28/11/20 Суб 23:58:02 1868086822
>>1868074
я бы смотрел в сторону а-ля чего-нить такого https://github.com/cwzx/nngpp

Мы правда в не в 98, чтобы весь это какичь руками писать
Аноним 29/11/20 Вск 00:08:52 1868102823
>>1868074
Через любой механизм IPC. Хз че там в мастдае, в лялексе есть дохуя - message queue, pipe, named pipe, shared memory (там мьютекс нужен офк), unix socket, уверен, что часть из них реализована и в winapi
Аноним 29/11/20 Вск 00:29:51 1868140824
>>1868082
Ты принципиально не хочешь юзать сеть, даже если это просто, решает твою проблему и кроссплатформенно? Или у тебя есть нормальные причины?
Аноним 29/11/20 Вск 03:29:25 1868212825
Пятый день ебусь с этим бустом. Аноны, подскажите, как мне собрать из сырцов boost 1.69 с iostreams, чтобы не получить ошибки компоновки zlib / undefined reference boost::iostreams::zlib::...? Собираю как есть - boost build не видит системный zlib, и потом компоновка взрывается. Собираю с указанием внешнего zlib - boost build видит, а потом cannot find -lz. Собираю и устанавливаю внешний zlib в префикс, симлинки от либы zlib пробрасываю куда-нибудь в /usr/local - опять undefined reference к boost::iostreams::zlib::.... Пиздец просто.
Аноним 29/11/20 Вск 04:09:14 1868216826
>>1868212
Поставь пакетным менеджером zlib (нужен zlib-dev, не перепутай). Потом ldconfig. Потом проверь что lz работает. После этого собирай буст.
Аноним 29/11/20 Вск 05:26:35 1868221827
Аноны, подскажите. У меня есть класс матриц, который я написал. Я хочу использовать его в другом классе KF. Подключив его как Matrix.h и Matrix.cрр, я почему-то не могу в классе КF инициализировать матрицу Matrix Test(3,3), так как компилятор пишет expected identifier before numeric constant. Eсли же я пишу Matrix Test; Test(3,3); , то пишет то же самое. Как исправить?
Аноним 29/11/20 Вск 08:35:22 1868243828
>>1868221
Замени скобки на фигурные.
Аноним 29/11/20 Вск 10:21:19 1868276829
>>1867874
> map с аргументами
Тебе в педон или луа.
Аноним 29/11/20 Вск 10:37:34 1868282830
>>1868276
Это да, но как делать это ин э си плас плас вей? Как в одном поле хранить список из енумов, интов, строк и моих классов?
То, что выше анон кинул, я посмотрел, но там какая-то магия. Я, вроде, примерно понял что-то, но скорее всего нихуя не понял. В любом случае, мне бы какой-то более простой, может, менее общий, способ, но менее васянский чем у меня.

Аноним 29/11/20 Вск 10:43:41 1868284831
>>1868212
>>1868216
Что-то орнул с красноглазых
vcpkg install boost, невежды
Аноним 29/11/20 Вск 11:21:02 1868298832
>>1868282
>То, что выше анон кинул, я посмотрел, но там какая-то магия
Тогда велосипедь с ноля. Делай приорити кью указателей на базовый класс эвента с приоритетом, храни производные от него эвенты с нужными под каждый случай данными. Для быстроты возможно стоит хранить не айди объектов а просто указатели на них, они и так должны быть уникальны.
Аноним 29/11/20 Вск 11:48:52 1868321833
>>1868298
> производные от него эвенты с нужными под каждый случай данными
У меня получается, что нужно слишком много классов под это создавать, т.к. есть, например, ивент определённого типа, он может в качестве параметра иметь один из 20 подтипов и в зависимости от подтипа варьируется набор оставшихся параметров. Получается, нужно создать 20 классов. Звучит как-то немного жижно, особенно учитывая, что есть случаи, где предполагается вариация не в 20, в 200 случаях. И у них ещё могут варьирываться оставшиеся параметры. Или лучше тут ничего не наговнокодить, если прям сильно не закапываться с этим?
Как я понял, чтобы по-нормальному это сделать, нужно отдельно упорядоченно хранить типы аргументов, а сами аргументы можно в тупо в бинарном виде записать в один кусок памяти. А при необходимости обратиться к ним, их нужно десериализовывать и приводить к нужному типу. Но я чувствую, что чтобы сделать это нормально у меня уйдёт джва года, при том что я не очень разбираюсь в темплейтах и всём таком.

> Для быстроты возможно стоит хранить не айди объектов а просто указатели на них
Это хорошая идея. Но вообще, айди я просто для примера написал, у оно в другом куске программы для других целей используется. Но если там всё состыкуется, то почему бы и не заменить.
Аноним 29/11/20 Вск 12:44:50 1868352834
>>1868321
>Как я понял, чтобы по-нормальному это сделать, нужно отдельно упорядоченно хранить типы аргументов, а сами аргументы можно в тупо в бинарном виде записать в один кусок памяти.
Можно так, особенно если структуры данных эвентов не будут меняется после старта программы.
При большом объеме структур имеет смысл их описывать на дсл, и в бинарном виде создавать уже в рантайме, виде дерева объектов умеющих распаковать данные из твоего куска памяти. Хотя возможно в твоём случае это оверкилл (я прост имею отношение к авиационным протоколам, там может быть нужно управлять/де/сериализовывать по 10к+ параметров, делать это руками в коде - натуральное безумие).
Если структура данных каждого эвента индивидуальна, придется ее слать вместе с ним, или можно вообще все вместе в виде JSON как в вебе, но тут уже производительность сядет.
Аноним 29/11/20 Вск 12:53:57 1868359835
>>1868352
Ладно, спасибо за советы, попробую поковыряться с этим.
Аноним 29/11/20 Вск 15:33:35 1868478836
>>1868352
Этот изобрел xdr, все в сокет!
Аноним 29/11/20 Вск 15:46:35 1868490837
Аноним 29/11/20 Вск 16:33:53 1868540838
>>1868140
>просто, решает твою проблему и кроссплатформенно
Не должно быть причиной использовать что-либо всерьёз. Если что-то потребляет больше ресурсов компьютера, но проще в реализации, то это что-то не имеет права на существование.
Аноним 29/11/20 Вск 16:37:38 1868546839
>>1868540
Тем не менее, веб продолжает развиваться деградировать
Аноним 29/11/20 Вск 17:18:17 1868568840
>>1860500 (OP)
Привет. Вот я хочу, например, написать прогу на с/с++, которая считает crc для файлика. Каким образом я могу через cmd или баш-скрипт или пистон хендлить результат подсчётов этой функции? Мейн ведь возвращает лишь код, который сигнализирует об ошибке.
Аноним 29/11/20 Вск 17:24:05 1868570841
>>1868540
>то это что-то не имеет права на существование.
Охуительные истории.
Аноним 29/11/20 Вск 17:24:50 1868572842
Аноним 29/11/20 Вск 17:26:56 1868574843
image.png 33Кб, 801x570
801x570
Почему не работает? Почему она выходит из if вообще? 1 раз всего проходит и всё какое бы небыло значение. Это программа для нахождение наибольшего делителя.
Аноним 29/11/20 Вск 17:34:21 1868578844
image.png 17Кб, 429x455
429x455
>>1868574
а бля я ж if написал вместо while ))) вот исправил всё, но оно доходит только до 100 и потом обрывается, как будто не хочет заного идти в while. Это почему? Типо оборвал goto и цикл сломался?
Аноним 29/11/20 Вск 17:35:57 1868580845
>>1868578
Во-первых, что тебе не позволяет кинуть код текстом через паст ебин или какой-нибудь онлайн-компилятор?
Аноним 29/11/20 Вск 17:37:16 1868582846
>>1868284
Сидеть на одной платформе всегда зашквар, понимаешь?
Аноним 29/11/20 Вск 17:40:16 1868583847
image.png 16Кб, 441x447
441x447
>>1868580
Ничего, но я уже всё сам сделал да... надо было просто не прибавлять арифметическую прогрессию по 1 к ddd и вывести не его а delitel))))
Аноним 29/11/20 Вск 17:40:26 1868584848
1606660825348.jpg 705Кб, 1440x2560
1440x2560
>>1868582
Да, сидеть только на линуксе - зашквар.
Аноним 29/11/20 Вск 17:42:06 1868585849
>>1868578
Во-вторых, дай нормальные название всем переменных. В-третьих, дай комментарии хотя бы к циклам. По-твоему другим людям больше делать нечего кроме того как вникать в твой гениальный алгоритм?
В-четвёртых, бля лол, почему у тебя переменные объявлены между вводом и приглашением к вводу, и в несколько строчек? Можно в одну.
В-пятых, зачем goto? Это условие задачи?
Аноним 29/11/20 Вск 17:47:25 1868590850
>>1868585
Прости анончик в следущий раз всё буду коментить? Не это не условие. А что все так goto хейтят? Классная же штука. Вот в моём примере нужен был бы дополнительный цикл и continue, что по сути и есть goto.
Аноним 29/11/20 Вск 17:50:06 1868593851
>>1868590
Я не знаю, почему другие его хейтят, но лично просто не понимаю суть его использования, когда есть нормальные циклы. goto это аналог джампа в ассемблере, но в ассемблере понятно, зачем нужны джампы - там, блядь, ничего другого нет. Зачем в высокоуровневом ЯП нужны джампы я хз.
Аноним 29/11/20 Вск 17:53:48 1868595852
>>1868593
Ну так я и сказал, что без применения goto нужен был бы огромный во весь код цикл с началом в метке, и continue в месте goto. Это же просто усложнение. Его не стоит использовать много, потому что из за табуляции легче циклы читать, но так вполне полезен.
Аноним 29/11/20 Вск 18:05:02 1868605853
>>1868590
Потому что goto позволяет тебе запутать программу до охуения, а так же отстрелить себе всё что можно. Даже в твоей микролабе goto сильно ухудшает читаемость. Вообще, считается, что если у тебя возникла необходимость воспользоваться goto, значит у тебя тотальный косяк в архитектуре программы. Короче, я запрещаю тебе использовать goto в современном С++.

goto приносит столько проблем, что даже в древние времена в С было два и только два случая, когда можно было использовать этот оператор и не быть обоссаным: джамп к одной точке выхода из функции, если в ней требуется освобождать ресурсы перед выходом, и выпрыгивание из сильно вложенных циклов, вместо написания пяти break'ов. И то, последний юзкейс довольно сомнителен.
Аноним 29/11/20 Вск 18:21:06 1868625854
>>1868243
Компилятор пишет non static data member initializers only available with -std=c++11. Ничего страшного?
Аноним 29/11/20 Вск 18:28:41 1868642855
>>1868584
Вот ты и попался. Если нужен универсальный пакетник, то это snap. А штатный пакетник всяк лучше, чем установленный с его помощью vcpkg или кто там ещё.
29/11/20 Вск 18:42:05 1868659856
Лабы идут нахуй.
Аноним 29/11/20 Вск 18:43:02 1868660857
Аноним 29/11/20 Вск 18:43:32 1868661858
>>1868642
> Вот ты и попался. Если нужен универсальный пакетник, то это snap. А штатный пакетник всяк лучше, чем установленный с его помощью vcpkg или кто там ещё.
Я пытался понять, что ты тут написал, но не получилось.

Что это за snap? В поиске только какая-то херня
Аноним 29/11/20 Вск 18:44:29 1868664859
image.png 3093Кб, 1238x1200
1238x1200
Аноним 29/11/20 Вск 18:46:09 1868670860
image.png 184Кб, 350x256
350x256
Аноним 29/11/20 Вск 18:47:39 1868673861
image.png 35Кб, 1187x652
1187x652
Аноним 29/11/20 Вск 18:52:26 1868685862
>>1868659
Ага, все идут нахуй, давайте оставим в треде только срач по поводу visual studio и пакетников
Аноним 29/11/20 Вск 18:56:51 1868689863
>>1868661
> Что это за snap?
Это извращенная параша из мира красноглазых пердолей, где вместе с пакетом идут все его зависимости. Как если бы в Винде к каждому приложению прикладывали свой дистрибутив directx, либ vc++ и системных библиотек. У пердоликса настолько ущербная система зависимостей, что приходится жрать говно не с лопаты, а прям с земли.
Аноним 29/11/20 Вск 19:04:40 1868695864
Аноним 29/11/20 Вск 19:18:41 1868723865
>>1868689
Ждём менеджер пакетов на основе докера, чтобы тащить не только зависимости, но и нужный дистрибутив линукса.
Аноним 29/11/20 Вск 19:26:11 1868732866
>>1868605
Пусть он бьет меня, но я люблю его!
x:
Ты только прочитай
goto x
Аноним 29/11/20 Вск 19:26:53 1868734867
enum class Month {
jan = 1, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
};

Month operator++(Month& m) {
m = (m == Month::dec) ? Month::jan : Month(int(m) + 1);
return m;
}

const vector<string> month_tbl{ "", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" };

class Date {
public:
class Invalid {};
Date(int y, Month m, int d);
void add_day(int n);
Month month() { return m; }
int day() { return d; }
int year() { return y; }
private:
int y;
Month m;
int d;
bool is_valid();
};

ostream& operator<< (ostream& os, Month& m)
{
return os << month_tbl[int(m)];
}

ostream& operator<< (ostream& os, Date& d)
{
return os << '(' << d.year()
<< ',' << d.month()
<< ',' << d.day() << ')';
}

Date::Date(int yy, Month mm, int dd)
: y{ yy }, m{ mm }, d{ dd }
{
if (!is_valid()) throw Invalid{};
}

bool Date::is_valid() {
//if (m < 1 || 12 < m) return false;
if (d < 1 || 31 < d) return false;
return true;
}

Какого хуя выдаёт ошибку в функции d.month()? Ошибка C2679 бинарный "<<": не найден оператор, принимающий правый операнд типа "Month" (или приемлемое преобразование отсутствует). Если просто написать
Month biba = Month::jul;
cout << biba;
То всё выводится.
Аноним 29/11/20 Вск 19:36:02 1868744868
>>1868734
У тебя метод << принимает неконстантную ссылку, а ты туда передаешь временный объект. Короче напиши ostream& operator<< (ostream& os, const Month& m) и тогда заработает наверное.
Аноним 29/11/20 Вск 19:37:20 1868747869
Аноним 29/11/20 Вск 20:00:34 1868766870
>>1868625
>only available with -std=c++11. Ничего страшного?
У меня такое было наверное только когда заставляли в 12й студии писать.
Потому что винда хр внезапно у всех до сих пор.
Аноним 29/11/20 Вск 20:10:57 1868786871
>>1868689
> Как если бы в Винде к каждому приложению прикладывали свой дистрибутив directx, либ vc++ и системных библиотек.
Но ведь всё так и происходит... Даже М$ теперь всё своё складирует в одну кучу. И это в целом нормально.
Но vcpkg и snap, имхо, ортогональные штуковины.
Аноним 29/11/20 Вск 20:12:44 1868789872
>>1868284
Спасибо анон, что несешь этим долбоебам свет здравого смысла.
Аноним 29/11/20 Вск 20:23:11 1868804873
Аноны, кто с WinApi работает, скажите на чём предпочтительнее писать с ним на Си или на плюсах? Вроде слышал, что WinApi под си чистый адаптирован.
Аноним 29/11/20 Вск 20:24:14 1868806874
>>1868789
Но ведь его спросили как собрать буст из исходников, а он высрал как его поставить пакетами?
Аноним 29/11/20 Вск 20:26:18 1868808875
>>1868804
С нужен только там, где нет компилятора С++. В 100% остальных случаях - С++.

>>1868806
Зачем пердолиться. когда можно воспользоваться уже готовым?
Аноним 29/11/20 Вск 20:30:02 1868817876
>>1868808
> Зачем пердолиться. когда можно воспользоваться уже готовым?
Можно потрениться пердолиться чтобы в случае чего быть готовым и разгрести говно
Аноним 29/11/20 Вск 20:30:24 1868818877
>>1868806
А что vcpkg по-твоему делает? Выкачивает саму библиотеку и все её зависимости, а потом их собирает прямо у тебя на компьютере. При желании можно даже флаги компилятора подкрутить
Аноним 29/11/20 Вск 20:31:36 1868821878
>>1868817
ну вот только если потрениться, не более
Аноним 29/11/20 Вск 20:43:08 1868834879
Аноним 29/11/20 Вск 20:43:20 1868835880
>>1868808
>>1868818
Потому что не нужен весь буст, а только некоторые либы. Это как ставить студию по умолчанию с кучей ненужного говна.



Аноним 29/11/20 Вск 20:53:49 1868855881
chel.PNG 30Кб, 505x186
505x186
>>1868835
Пчел...
vcpkg install boost[iostreams]
29/11/20 Вск 20:57:01 1868862882
Аноним 29/11/20 Вск 21:54:36 1868907883
>>1868855
vcpkg install boost-iostreams

Слоуфикс этому джентельмену
Аноним 29/11/20 Вск 21:58:18 1868910884
>>1868766
Я пишу в Dev с++. Не знаю, какой там стандарт. Советуешь перейти на другой?
Аноним 29/11/20 Вск 22:13:14 1868919885
>>1868910
Советую поставить вижуал студию 2019 и делать все по человечески
Аноним 29/11/20 Вск 22:17:01 1868924886
Заготовил хорошие картинки на перекат.

Мимо-перекатывал-3-последних-треда
Аноним 29/11/20 Вск 23:09:46 1868982887
>>1868808
Насколько сложнее сделать c++ компилятор? Где его вообще нет, хотя бы старой версии, такие вещи разве существуют?
Аноним 29/11/20 Вск 23:16:51 1868990888
>>1868982
есть всякие некроконтроллеры адовые, под которых С++ нет вообще. И всякие RTOS специализированные.
Аноним 29/11/20 Вск 23:33:55 1868999889
>>1868982
Сильно сложнее, чем С компилятор.
Аноним 29/11/20 Вск 23:35:53 1869001890
>>1868982
Намного сложнее, чем компиляторы всех остальных мейнстримных языков вместе взятых.
Аноним 30/11/20 Пнд 00:42:20 1869020891
>>1868074
в Qt есть кросплатформенная абстракция IPC с интерфейсом сокета, есть в примерах fortuneclient fortuneserver
Аноним 30/11/20 Пнд 14:14:13 1869210892
Насколько зашкварно активно юзать std::optional для условного возврата переменной/объекта из функции?
Аноним 30/11/20 Пнд 14:46:49 1869225893
Аноним 30/11/20 Пнд 14:55:16 1869235894
>>1869225
А если возвращается хуйня типо unique_ptr которую можно проверить на nullptr, тоже лучше в optional оборачивать?
Аноним 30/11/20 Пнд 15:01:01 1869237895
>>1869235
Имхо это уже масло масляное, при условии, что нуллпоинтер это ошибка.
Аноним 30/11/20 Пнд 18:10:08 1869355896
>>1869235
Либо unique_ptr, либо std::optional. Предпочтительнее второе, если логика программы позволяет.
Аноним 30/11/20 Пнд 18:20:04 1869358897
Почему C++? Может лучше +C+? или --C--? или C----?
Аноним 30/11/20 Пнд 18:20:16 1869359898
>>1868590
>А что все так goto хейтят?
Хейтят, потому что боятся, потому что не осилили. Во многих проектах на c/c++ goto используется. Правда его нужно научиться правильно использовать.
Аноним 30/11/20 Пнд 18:22:26 1869360899
>>1869358
Потому что C++ - это постинкремент C, а других операций нет.
Аноним 30/11/20 Пнд 18:23:23 1869361900
>>1869360
C---- тоже будет ++ вообще-то.
Аноним 30/11/20 Пнд 18:27:12 1869364901
>>1869361
Такое не скомпилится.
Аноним 30/11/20 Пнд 18:28:10 1869365902
>>1869364
В c21 хотят добавить
Аноним 30/11/20 Пнд 18:30:36 1869367903
>>1869365
Бля, когда уже туда классы и темплейты добавят.
Аноним 30/11/20 Пнд 18:32:31 1869370904
>>1869367
щас штаны подтянут
Аноним 30/11/20 Пнд 18:44:02 1869383905
>>1869359
> Во многих проектах на c/c++ goto используется.
Потому-что обоссаных профнепригодных даунов в НИИ набрали, вот и во многих проектах goto используется.
Аноним 30/11/20 Пнд 18:51:33 1869393906
>>1869359
Смотри, краткий курс по осиливанию goto: не используй goto.
Аноним 30/11/20 Пнд 18:51:51 1869394907
Поясните, пожалуйста, за перспективы С/С++ в научно-технических приложениях. Сам я - НИИшник-металлофизик, на работе пользуюсь Пайтоном, вольфрамовской Математикой и различными МКЭ-системами, но вот решил вкатиться в что-то более низкоуровневое. Больше тяготею к С, так как он проще, а у меня и так есть чем ебать мозги помимо программирования, но не хотелось бы заскочить в поезд, который уже никуда не идет (поэтому Фортран и не рассматриваю). В общем, какие я пока что вижу варианты варианты:
1) С
2) С++
3) не ебать мозги совсем, ознакомиться с Cython и дальше изучать Матлаб.

>>1869383
Кек.
Аноним 30/11/20 Пнд 19:08:13 1869415908
>>1869394
Вариант 3 лучший. С++ реально сейчас нужен либо в около-легаси в гигантских конторах, либо в каком-нибудь супер хайлоад дистрибудет перформанс залупе, в которую без релевантного опыта не пробиться.

Не смотря на то, что я пишу на крестах больше 7 лет - вкатываться в них я бы не советовал В свободное время пишу на сишарпе и мне он нравится ощутимо больше, хотя я его практически не знаю
Аноним 30/11/20 Пнд 19:11:44 1869422909
>>1869394
Если ты хочешь написать какую то быструю числодробилку, то да, выучи с++ и ассемблер, потом пиши распараллеленные алгоритмы на видяху.
Аноним 30/11/20 Пнд 19:27:26 1869444910
>>1869415
> С++ реально сейчас нужен
Вот, например, на рисерчгейт сонм ответов о С/С++
https://www.researchgate.net/post/How_can_I_choose_the_right_programming_language_for_a_computational_physics_project
https://www.researchgate.net/post/What-is-the-most-useful-programming-language-for-a-materials-scientist-and-a-physicst

>вкатываться в них я бы не советовал
Есть какие-то мысли о перспективных научно-технических языках, во что стоит вкатываться? Или все же вариант 3: продолжать дрочить Пайтон со всех сторон, параллельно посматривая на коммерческие инженерные и научные системы?
Аноним 30/11/20 Пнд 20:19:20 1869492911
>>1869358
Это ж постинкремент. Т.е. типа улучшили, но возвращается предыдущее значение - С. Поэтому многие до сих пор пишут на си с классами.
Аноним 30/11/20 Пнд 20:20:01 1869494912
>>1869492
Главное, что UB на месте.
Аноним 30/11/20 Пнд 21:13:26 1869566913
>>1869394
Ну тут всё просто. Если ты научный деятель, то для тебя инструменты высокого уровня: Python, Matlab.Ты реализуешь концепт своей идеи и отдаёшь его инженерам.
Если ты инженер-работяга и не любишь/не можешь в матан, то для тебя c/c++ с погружением в железо. Фортран в некоторых задачах удобнее, но оно того не стоит.
Математики на с/с++ обычно пишут лютый говнокод.

Для примера МКЭ системы пишутся на C++. Там по традиции массовый параллелизм и gpu (расчёты и визуализация). Почти все языки для gpu это диалекты или расширения C/C++ (cuda, opencl, hlsl, glsl и прочие).
Аноним 30/11/20 Пнд 21:24:36 1869576914
>>1869444
вся математика написана за тебя в питоне на С, руками ты очень врятли ее писать будешь когда-либо. Я бы все таки думал, собстно, о питоне.
Аноним 30/11/20 Пнд 21:40:32 1869582915
>>1869566
>Если ты инженер-работяга и не любишь/не можешь в матан, то для тебя c/c++ с погружением в железо.
>Математики на с/с++ обычно пишут лютый говнокод.
Странно, я почему-то думал, что все наоборот. Пайтон-то - простой язык, который и запоминать особо не надо, а вот в С++ вроде бы надо включать голову, ебаться с логическим построением кода и т.д.
Просто я думал, что в конце-то концов у более низкоуровневых языков должны быть какие-то преимущества в научно-технических задачах, помимо быстродействия. У языка С ведь наверняка есть целая отрасль технических приложений, в датчиках там, программировании научного и инженерного hardware и т.д.

>>1869576
>Я бы все таки думал, собстно, о питоне.
Ладно, наверное так и поступлю. Лучше выучу четвертый иностранный и наконец-то сяду за алгебраическую топологию, все-таки у меня это и лучше выходит, и удовольствия в процессе получается больше. А там может когда-то.
Аноним 30/11/20 Пнд 21:49:39 1869585916
>>1869393
>>1869383
Избегать goto там, где он улучшит читаемость кода, -- такой же фанатизм, как и избегать ООП/функциональщину/проччую идеологию.
Аноним 30/11/20 Пнд 21:51:33 1869586917
>>1869394
Судя по твоему набору, рекомендую haskell. Это локомотив программирования.
Аноним 30/11/20 Пнд 22:02:53 1869594918
Аноним 30/11/20 Пнд 22:13:22 1869605919
>>1869594
Прикладное -- это слишком общее понятие. Чего ты ожидал? Книг про то, как на хаскеле программируют самолёты? Или о чём речь?

https://wiki.haskell.org/Books
Аноним 30/11/20 Пнд 22:20:18 1869609920
>>1869605
Численные методы, например. По твоей ссылке я увидел только 2 книги по анализу данных, каждая менее чем на 200 стр.
Аноним 30/11/20 Пнд 22:39:33 1869619921
>>1869609
Ну и хуй с ним. Кому нужны эти книги? Берёшь и пишешь свои численные методы, если не нашёл подходящей библиотеки. Да и численные методы не привязаны не то, что к какому-то конкретному языку, а вообще к программированию. Чтобы уметь в численные методы, нужна математика, а не программирование.
Аноним 30/11/20 Пнд 22:50:49 1869623922
>>1869619
Это все верно, но зачем мне ебаться с этим, если есть обобщенный опыт одного человека, который с этим достаточно наебался и написал соответствующую книгу? Я лучше потрачу свое время на что-то другое, а по численным методам просто возьму эту книгу, почитаю, поделаю упражнения по ней и сверюсь в ответами, приобретя упорядоченный опыт.

>Да и численные методы не привязаны не то, что к какому-то конкретному языку, а вообще к программированию. Чтобы уметь в численные методы, нужна математика, а не программирование.
Ну, если я не знаю как в данном языке вводится дифференциальный или интегральный оператор, например, то даже знание математики мне не сильно поможет.
Аноним 30/11/20 Пнд 23:51:57 1869639923
Аноним 01/12/20 Втр 00:04:22 1869648924
>>1869623
На самом деле многие алгоритмы очень интересно реализовывать в функциональном стиле. Даже более, многие численные алгоритмы очень хорошо ложатся в функциональную парадигму. Аж глаз радуется! Если ты хорошо шаришь в mathematica, то, возможно, и сам это заметил, хотя mathematica немного в другую сторону заточена, но она гораздо ближе к хаскелю, чем плюсы.

Решать в любом случае тебе, брат. Знаю, брат, ты не ошибёшься.
Аноним 01/12/20 Втр 00:12:31 1869656925
>>1869623
>Ну, если я не знаю как в данном языке вводится дифференциальный или интегральный оператор, например, то даже знание математики мне не сильно поможет
Даже если ты захочешь решать системы линейных уравнений, то тебе придётся начать с реализации матриц и векторов, а также всех операций над ними, ибо в c/c++ ничего этого нету из коробки (в фортране есть).
Аноним 01/12/20 Втр 00:33:36 1869674926
>>1869585
>Избегать goto там, где он улучшит читаемость кода
Нигде, так что все верно.
Аноним 01/12/20 Втр 00:35:36 1869678927
>>1869656
>тебе придётся начать с реализации матриц и векторов, а также всех операций над ними, ибо в c/c++ ничего этого нету из коробки
Это и не нужно из коробки.
Но и реализовывать не придется все уже давно есть
https://github.com/fffaraz/awesome-cpp#math
Аноним 01/12/20 Втр 00:37:35 1869682928
>>1869674
Очередной сектант с промытыми мозгами.
Аноним 01/12/20 Втр 00:42:04 1869684929
>>1869682
Приведи 3 примера на С++ (именно С++, не С), где GOTO лучше, чем остальные средства языка
Аноним 01/12/20 Втр 00:44:51 1869687930
>>1869682
Ну продемонстрируй где goto по твоему мнению улучшает читаемость, хоть поржем.
Аноним 01/12/20 Втр 00:48:29 1869690931
>>1869648
> На самом деле многие алгоритмы очень интересно реализовывать в функциональном стиле.
Пытался помнится как-то поучить хаскелл, а там в книжке realWorldHaskell была задача на алгоритм Грэхема, так я сидел, пыхтел, пытался, но в голову приходила не функциональщина, в результате я такого говна наляпал там, страшно вспоминать да я уже и не помню нихуя. Возможно не стоило это им в начальные главы пихать, а уж лучше после всех функторов и монад, наверное. к тому же хачкиль вроде не совсем оптимизрованный/быстрый выходит по сравнению с питоном наверняка лучше, но с многими другими языками не думаю
Аноним 01/12/20 Втр 00:53:27 1869698932
>>1869684
А в С++ таких случаев и нет (но в С есть).
Даже double break решается лучше без goto, чем с.
Аноним 01/12/20 Втр 00:57:12 1869701933
>>1869678
Ну там далеко не везде блочное умножение матриц, неэффективно реализовано умножение разреженных матриц, алгоритмы однопоточные. А всё это должно работать на абстрактной машине с массовым параллелизмом и распределённой файловой системой (фс lustre, а сама машина это пару сотен gpu или cpu или вообще несколько разных). Машина такая одна, а расчётных задач много (одна задача может считаться по несколько дней и если будут баги то всем будет атата).
В общем c++ нужен прежде всего для решения тяжких инженерных задач.
Аноним 01/12/20 Втр 01:00:33 1869703934
>>1869698
>А в С++ таких случаев и нет
Си тред два блоке в низ
Аноним 01/12/20 Втр 01:27:08 1869711935
Аноны, а вот какой тип мне указать перед функцией, если в результате у меня возможно 2 типа. Пример, функция перемножения матриц. После перемножения матриц 1х2 и 2х1 я получаю матрицу 1х1. Я бы хотел использовать такую матрицу, как число. Легальна ли такая операция? Если да, то какой мне задать тип?
Аноним 01/12/20 Втр 01:44:24 1869715936
>>1869698
>Даже double break решается лучше без goto, чем с
Для этого, как я понимаю, нужно завести булев флаг и проверять его на истинность в обоих циклах. Ну и чем это лучше компактного и эффективного GOTO сразу на метку после цикла?
Аноним 01/12/20 Втр 01:45:07 1869717937
>>1869715
Тем, что ты дед старый, а double break решается лямбдами давно
Аноним 01/12/20 Втр 02:49:57 1869734938
>>1869711
Матрица на матрицу = матрица и ниипёт. Если размер матрицы задаёшь шаблонными параметрами, то можешь для случая 1х1 добавить оператор приведения к числу
Аноним 01/12/20 Втр 02:54:04 1869736939
>>1869703
А я плюсовик, а не сишник.
Аноним 01/12/20 Втр 02:55:05 1869737940
Даров чуваки. Подскажите, существует ли альтернатива GetFileAttributesA для девайсов \\.\PhysicalDisk в винапи? В архиваторе такая проверка стоит для последующего открытия файла, а мне ленту открыть надо.
Аноним 01/12/20 Втр 04:14:48 1869751941
Аноним 01/12/20 Втр 06:09:47 1869768942
>>1869734
>Матрица на матрицу = матрица и ниипёт.
Какая матрица получится после умножения матриц 2x3 и 4x5?
Аноним 01/12/20 Втр 09:03:10 1869786943
Аноним 01/12/20 Втр 09:16:18 1869791944
>>1869768
>умножения матриц 2x3 и 4x5
Нет такой функции
Аноним 01/12/20 Втр 09:20:04 1869792945
>>1869791
Может у тебя еще и на ноль делить нельзя?
Аноним 01/12/20 Втр 09:25:24 1869795946
>>1869792
Такая функция есть, но нельзя
Аноним 01/12/20 Втр 09:40:02 1869799947
Аноним 01/12/20 Втр 11:32:18 1869865948
>>1869701
>Ну там далеко не везде блочное умножение матриц, неэффективно реализовано умножение разреженных матриц, алгоритмы однопоточные
Разве всякие бласы и лапаки не поддерживают автоматическую параллелизацию?
Аноним 01/12/20 Втр 11:40:08 1869871949
>>1869711
Вариантный тип (матрица, число, пусто).
И в монадку обернуть желательно.
Аноним 01/12/20 Втр 11:45:56 1869876950
>>1869795
Вообще можно, но не удивляйся, если черти из носа полезут.
Аноним 01/12/20 Втр 11:49:05 1869880951
>>1869871
В императивных языках все уже обернуто в монаду. Сам блок main = контекст.
Аноним 01/12/20 Втр 12:06:27 1869899952
>>1869876
>если черти из носа полезут.
Как у вас всё страшно с UB
Аноним 01/12/20 Втр 12:07:23 1869900953
>>1869880
А если супергерои все... То никто не супергерой.
Аноним 01/12/20 Втр 15:05:39 1870022954
Му-дрые боги вы-думали но-но-ноги
Глу-пые боги вы-думали костыли ёбаные сукааааааа
Аноним 01/12/20 Втр 15:12:11 1870025955
>>1869880
>В императивных языках все уже обернуто в монаду.
Да ладно? Вот тебе выражение х % 5; Сайд эффектов нет, описания алгоритма расчета остатка от деления нет, ты просто сообщил что ты хочешь рассчитать, а не как. Все признаки декларативного программирования.
Аноним 01/12/20 Втр 15:17:46 1870026956
>>1870025
... operator%(...) { system("rm -rf"); }
Аноним 01/12/20 Втр 15:56:59 1870062957
>>1870025
a + b
Если результат не влезет в знаковый тип, у тебя включится UB.

мимо
Аноним 01/12/20 Втр 16:52:06 1870091958
>>1869865
Я не сильно в теме, но там вроде целый зоопарк из либ, которые по-своему уникальны (под масштабируемые системы, под gpu, под разные cpu).
Аноним 01/12/20 Втр 17:00:09 1870093959
>>1869799
Почему? Размер результата определяется в рантайме.
Аноним 01/12/20 Втр 18:23:22 1870205960
>>1869865
Параллелизм он тоже разный. Бытовой параллелизм это когда у тебя один процессор с несколькими ядрами. Научный это когда у тебя SMP система из десятка одинаковых процессоров, разделяющих общую память.
Аноним 01/12/20 Втр 18:24:20 1870207961
>>1870093
То есть результат в другое умножение матриц уже не воткнешь? Там же шаблоны
Аноним 01/12/20 Втр 18:51:36 1870239962
тест
Аноним 01/12/20 Втр 19:24:20 1870305963
>>1870207
Ну если что-то типа такого, то работать будет:
template<int M, int N, class T = float>
struct matrix {
template<int L>
matrix<M, L> operator⚹(const matrix<N, L, T>& mx) {
return matrix<M, L>{};
};
};

void main() {
matrix<2, 3> mx1;
matrix<3, 4> mx2;
auto result = mx1 ⚹ mx2;
}
Аноним 01/12/20 Втр 20:04:44 1870362964
>>1870305
Да и тогда ты можешь добавить шаблонную специализацию приведения типа для матрицы 1x1 и работать с матрицами как с числами.
strcut matrix {
operator float(); // без реализации
};
template<> matrix<1, 1>::operator float() {
return 0.0;
}
а потом писать типа такого:
matrix<1, 1> mx;
float val = 10.0 ⚹ mx;
Аноним 01/12/20 Втр 20:17:42 1870369965
>>1870305
И где же тут
> Размер результата определяется в рантайме
?
Аноним 01/12/20 Втр 20:25:23 1870377966
>>1870369
Ну я написал пример как могло бы быть. А как оно в оригинале никто и не видел. Данный пример сгодится, если ожидается малое количество разных матриц. В общем случае лучше рантайм.
Аноним 01/12/20 Втр 21:12:09 1870399967
Хочу в гейдев, сейчас только-только дочитываю Страуструпа. Посоветуйте литры.
Аноним 01/12/20 Втр 21:21:56 1870403968
Аноним 01/12/20 Втр 21:38:35 1870409969
>>1870399
the gaydev thread is two blocks down
Аноним 01/12/20 Втр 21:47:44 1870412970
>>1870403
>Сапдвачсегодняменяотшилашлюха,сказалачтоядушныйтеперьятннгдемойшебмфаптред.png
>>1870409
Тот тред пахнет хуем + я успешный C++ дев в будущем и не хочу копаться в говне вида унити и уе4.
Аноним 01/12/20 Втр 22:04:05 1870426971
>>1870412
Учитывая, что бОльшая часть всего гейдева - это УЕ4 и юнити, то удачки тебе
Аноним 01/12/20 Втр 22:06:39 1870429972
>>1870412
Пиши свой движок, станешь миллионером.
Аноним 01/12/20 Втр 22:11:03 1870430973
>>1870426
Напомни-ка мне хоть одну 3А игру сделанную на них.
>>1870429
>станешь миллионером
Это вряд ли.
Аноним 01/12/20 Втр 22:11:38 1870431974
>>1870429
Долларовым миллиардером как Тим Суини. Или Unigine холопом за 100 рублей.
Аноним 01/12/20 Втр 22:11:57 1870433975
Аноним 01/12/20 Втр 22:12:29 1870435976
>>1870430
>Напомни-ка мне хоть одну 3А игру сделанную на них.
Последние джедайчики, например
Аноним 01/12/20 Втр 22:15:30 1870436977
>>1870433
Вырвиглазный список, 0 мотивации искать что-нибудь знакомое.
>>1870435
Не играл, не знал.
Аноним 01/12/20 Втр 22:27:05 1870442978
>>1870436
Всем похуй что там у тебя с мотивацией.
Аноним 01/12/20 Втр 22:33:53 1870452979
>>1870442
А мне похуй на тебя. И что сделаешь теперь?
Аноним 01/12/20 Втр 22:35:58 1870455980
>>1870429
> Пиши свой движок
Это же золотое правило гейдева - тот кто пишет движки никогда не делает игр. Проверено на тысячах писателей двтжков своей мечты. Игр от них мы так и не увидели. Как впрочем и законченного движка.
А тем временем игры на Юнити обходят по продажам ААА и работают на любом тостере, имея хороший графон.
Аноним 01/12/20 Втр 22:42:29 1870462981
video.mp4 1367Кб, 1280x544, 00:00:09
1280x544
>>1870455
>А тем временем игры на Юнити обходят по продажам ААА и работают на любом тостере, имея хороший графон.
Аноним 01/12/20 Втр 22:53:00 1870477982
>>1870462
Что конкретно тебе показалось смешным?
То что Геншин за месяц заработал больше денег чем большинство ААА этого года или то что в нём графон лучше чем в клоне Геншина от Юбисофта с движком от Ассасина?
Аноним 01/12/20 Втр 22:54:18 1870479983
>>1870477
> 1 игра
> Которой непонятно как перелопатили внутри движок
Аноним 01/12/20 Втр 22:58:03 1870482984
image.png 300Кб, 456x698
456x698
image.png 3780Кб, 1920x1080
1920x1080
video.mp4 1367Кб, 1280x544, 00:00:09
1280x544
>>1870477
>Геншин
>2021 через месяц
Аноним 01/12/20 Втр 23:02:06 1870490985
>>1870479
Чел, там же с первого взгляда видно родной рендер юнити. А присутствие оптимизаций никакого отношения к движку не имеет, говноделы где угодно слайдшоу сделают. Это пример того что написание своего движка - удел долбаёбов или профессионалов. Что ты успешно игнорируешь, сидя в манямирке, как и тысячи таких же вкатывальщиков в геймдев после учебника по крестам.
Аноним 01/12/20 Втр 23:05:13 1870495986
Аноним 01/12/20 Втр 23:11:16 1870498987
video.mp4 1367Кб, 1280x544, 00:00:09
1280x544
>>1870495
>Платформер
>2021 через месяц
Аноним 01/12/20 Втр 23:13:03 1870500988
>>1870498
ясно, шизоид. Вперед, пиши убийцу CryEngine
Аноним 01/12/20 Втр 23:15:18 1870501989
video.mp4 1367Кб, 1280x544, 00:00:09
1280x544
>>1870500
>CryEngine
>Единственная ААА игра - Варфейс
Аноним 02/12/20 Срд 00:59:17 1870562990
>>1870490
>Чел, там же с первого взгляда видно родной рендер юнити.
Чего?? Там все кастомное, от травы до деревьев до камней.
Аноним 02/12/20 Срд 01:00:18 1870563991
>>1870452
Пчел, ты сказал что не знаешь ААА игр на УЕ4, тебе привели список и ты слился сказав что у тебя нет мотивации читать потому что он большой. Ты понимаешь как ты выглядишь?
Аноним 02/12/20 Срд 01:00:50 1870564992
>>1870455
Так я и не предлагал ему игры делать. Я предлагал именно движок.
Аноним 02/12/20 Срд 03:29:09 1870595993
У меня есть пачка полиморфных объектов, которые я держу в одном векторе, потом в цикле для каждого из них вызываю один и тот же виртуальный метод.
Можно ли как-то закэшировать указатели на методы, чтобы, пока вектор не изменился, не проходить снова и снова по виртуальной таблице?
Аноним 02/12/20 Срд 03:53:44 1870596994
Аноним 02/12/20 Срд 03:56:55 1870597995
>>1870596
В find_all_value_if где emplace_back должно быть ⚹it
Это пропустил
Аноним 02/12/20 Срд 04:06:32 1870599996
>>1870595
>Можно ли как-то закэшировать указатели на методы, чтобы, пока вектор не изменился, не проходить снова и снова по виртуальной таблице?
ИМЕННО ТАК, как описал это ты - вроде бы нет.
>закэшировать
Если нужна скорость и отсутствие вирт. вызовов и не важен порядок вызова вирт. метода для объектов в цикле, то делаешь vector для каждого derived class-а (вроде был какой-то видос на youtube или переведённый пост на хабре, что-то связанное с графикой в проекте использующем chromium - там описывалось что-то в этом духе), проходишь в цикле по каждому vector-у и вызываешь derived метод.
Аноним 02/12/20 Срд 14:21:34 1870824997
>>1870599
Спасибо, идея простая и понятная и без видоса. К сожалению, мне важен порядок.
Аноним 02/12/20 Срд 14:26:43 1870828998
>>1870595
А что мешает? В c++ нельзя получить прямой указатель на метод класса?
Аноним 02/12/20 Срд 14:28:44 1870829999
>>1870828
А, хотя это бессмысленно - ведь внутри метода ты наверняка хочешь дергать поля объекта, а this у тебя нет.
Аноним 02/12/20 Срд 14:43:23 18708451000
>>1870828
Можно на статические. На обычные можно сделать бинд с указанием объекта. Или обернуть вызов в лямбду. Но мне кажется это все будет медленнее чем обычный вызов виртуальной функции.
Аноним 02/12/20 Срд 14:57:48 18708581001
Перекат.
Аноним 02/12/20 Срд 15:24:14 18708791002
>>1870858                  ♠
Перекат     ♣      ↓↓↓↓↓ O_O↓↓↓↓↓↓      .   .   .   .   .   .
 ___________________________________   .   .   .   .   .
 I https://2ch.hk/b/res/234499302.html I      ♦       <<<<000
 I https://2ch.hk/b/res/234499302.html I         <<<<<<0000      ♣
 I__________________________________I              <<<0000
               ♦            .   .   .   .               ♦                 <<<<000
Перекат
Аноним 02/12/20 Срд 15:25:04 18708801003
Аноним 02/12/20 Срд 15:36:16 18708841004
>>1870595
В теории можно делать то, что делают JIT-компиляторы и самому девиртуализировать вызовы (из прыжков по памяти перейти к сравнению указателей): https://godbolt.org/z/Ks558v . Вроде как, когда классов 1-2, может в теории дать выигрыш.
Но точно ли такое тебе нужно? Виртуальные вызовы реально мешают, только когда у тебя они в критическом цикле, но тогда спрашивается на какой фиг у тебя в критическом цикле виртуальные функции и мешанина из вызовов? Может просто сделаешь энум и свитч? И то, если у тебя там какой-нибудь порядок в векторе есть, то branch target predictor верно предскажет, какой у тебя класс, и ты просто не заметишь задержек от беганья по указателям в виртуальной таблице.
Аноним 02/12/20 Срд 16:09:01 18709081005
>>1870595
> закэшировать
Ты хотел сказать не использовать полиморфизм.
Аноним 02/12/20 Срд 16:12:41 18709141006
>>1870884
>Может просто сделаешь энум и свитч?
Лучше тогда енум и вектор функций.
Аноним 02/12/20 Срд 16:15:29 18709161007
>>1870914
Ну тут ты либо Branch Predictor (энум и безусловный вызов на известный указатель), либо Branch Target Predictor (загрузка динамического адреса функции и переход на него) будешь насиловать. Обычно первый всё же помощнее.
Аноним 02/12/20 Срд 16:32:41 18709301008
Можно ли наебать систему и удалить из std очереди последний элемент (как в стеке).
Да, я ебанутый.
Аноним 02/12/20 Срд 16:40:39 18709391009
>>1870930
Последний — это какой? В любом случае, std::deque для тебя.
Аноним 02/12/20 Срд 16:41:02 18709411010
Есть софтина, где много очередей.

Куча очередей на входе данных
Данные перекладываются в обработчики (из одних очередей в другие), потом обработчики, обработв данные, перекладывают их в выходные очереди

pop/push, соответственно, синхронизируемые.
Софтина большая, где-то lock-free очередь используется, где-то mutex внутри, и т.д.

Что если обработчик не будет последовательно в цикле делать pop из очереди до тех пор пока она не пуста, а вместо этого будет создавать у себя локально новую пустую очередь и делать swap с той, которую надо обработать.
Таким образом contention будет всегда только в момент swap (который просто pointer-swap) независимо от количества элементов в очереди.
Есть профит?
Аноним 02/12/20 Срд 16:41:25 18709421011
Аноним 02/12/20 Срд 16:42:26 18709451012
>>1870941
На so вообще нашёл это:
'It looks like std::queue when swapped does the equivalent of while()/pop().'
Тогда прям анлаки как-то.
Аноним 02/12/20 Срд 16:44:57 18709511013
>>1870939
который не через .front()
>>1870942
Это я знаю, просто у меня уже есть обычные очереди. Хотел сэкономить на создании нового контейнера.
Аноним 02/12/20 Срд 16:47:05 18709581014
>>1870951
>который не через .front()
Ну .back() ещё есть, только саму ноду так не удалить, .pop_back()-то нет.
Аноним 02/12/20 Срд 16:49:31 18709611015
>>1870945
>Тогда прям анлаки как-то.
Можешь заменять указатели на очереди, а не сами очереди. Зато, если условия подходящие, можно вообще без мьютексов обходиться, на чистых compare_exchange_strong.
Аноним 02/12/20 Срд 16:53:26 18709681016
>>1870941
Это выгоднее, если очередь в среднем содержит больше одного елемента.
Есть гарантия синхронизации между push & swap?
Аноним 02/12/20 Срд 17:00:50 18709761017
>>1870968
>Это выгоднее, если очередь в среднем содержит больше одного елемента.
Вот я тоже об этом подумал.
Но при этом если очередь будет всегда содержать только один элемент, то по идее никакого ухудшения не произойдет (как и профитов), просто будет то же самое, что и с while() { pop }
Аноним 02/12/20 Срд 17:01:54 18709791018
>>1870961
>Можешь заменять указатели на очереди, а не сами очереди.
А, лол. Точно.
Аноним 02/12/20 Срд 19:38:11 18711841019
Аноним 02/12/20 Срд 19:38:31 18711851020
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов