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

Ответить в тред Ответить в тред
C++ тред #116 /cpp/ Аноним !91w9eFu9dM 23/07/20 Чтв 22:29:25 17588131
1551923747410.png 2Кб, 250x250
250x250
Аноним 23/07/20 Чтв 22:41:21 17588212
38225a.jpg 67Кб, 500x651
500x651
Вкатился
Аноним 23/07/20 Чтв 23:28:56 17588473
Без имени.png 22Кб, 616x396
616x396
Вот есть у метода несколько обязательных аргументов и штук 10 произвольных. Я делаю как на пике. А как надо делать в 2020?
Аноним 24/07/20 Птн 00:29:17 17588864
>>1758847
Можно упороться в variadic templates по приколу, но не стоит усложнять, благо в плюсах есть дефолтные аргументы, которые для таких целей подходят тютелька в тютельку.
Аноним 24/07/20 Птн 00:33:23 17588885
>>1758886
А если у функции полсотни аргументов? Не очень красиво будет.
Аноним 24/07/20 Птн 01:01:35 17588956
>>1758888
Тогда variadic templates, хотя я таких ебанутых функций с полусотней аргументов в жизни не видел.

мимо байтоеб, разраб эмуляторов и гипервизоров
Аноним 24/07/20 Птн 02:19:31 17589137
>>1758847
По нормальному это должны быть pod структуры Point, Rect и т.д
Аноним 24/07/20 Птн 03:00:50 17589368
>>1758888
>>1758913
Эххъ.. Зделотб бы как в ШИНАПИ.
Чтоб перед вызовом функции еще тридцать строк заполнять структуры в структурах.
Аноним 24/07/20 Птн 04:10:30 17589519
>>1758936
У шинапи хоть сишный интерфейс, без всяких хипстерских фишечек крестов.
Аноним 24/07/20 Птн 04:12:11 175895210
>>1758936
Vulkan современный, но там тоже все через структуры. Это не так плохо, как кажется
Аноним 24/07/20 Птн 10:17:19 175904411
Поясните, если я буду работать прогером, то у меня будут задачи, над которыми нужно подумать? Типо как в школе с олимпиадными задачами. Или это почти всегда тупа загуглил, написал.
Аноним 24/07/20 Птн 10:34:25 175905612
Хочу вкатиться на плюсы. До этого писал лабы на чистой сишке и теперь стоит вопрос с выбором технической литературы. Что посоветуете читать из нее? Хочу написать календарь дел для практики, может есть какие-то советы по библиотекам или чему-то?(я нуфаг)
Аноним 24/07/20 Птн 10:52:14 175906913
>>1759044
Будут, конечно. Но не все.
Многие задачи загуглить не выйдет, они обычно связаны с логикой самой программы, а не что-то общее техническое.
Аноним 24/07/20 Птн 11:28:51 175908614
Аноним 24/07/20 Птн 12:23:45 175913015
>>1759056
А как же ты собираешься вкатиться, если ты настолько непробиваемо тупой, что даже не нашёл эту информацию сам?
Аноним 24/07/20 Птн 12:38:59 175914116
>>1759130
>что даже не нашёл эту информацию сам?

А что, спрашивать у живых людей, а не у текста уже нельзя?
Аноним 24/07/20 Птн 12:48:24 175914417
>>1758952

Ну там хотя бы можно понять - задумка была в том что бы дать самый низкий уровень абстракции не раскрывая при этом аппаратную архитектуру видеокарты. Отсюда и пердоль с девайсами очередями очередей и прочим этим.
Аноним 24/07/20 Птн 13:24:07 175916018
Поясните почему константный указатель чар может указывать только на строку, а на единичный символ нет?
Аноним 24/07/20 Птн 13:34:29 175916619
>>1759160
Ты character literal имеешь в виду, например char ⚹c = &('q') ? Потому что это просто промежуточное числовое значение, у него нет адреса. Это то же, что и int ⚹n = &(10).
А строковые литералы обрабатываются компилятором отдельно и сохраняются в памяти в явном виде, то есть адрес у них будет.
Аноним 24/07/20 Птн 14:29:06 175920520
Сап! Интересно я один такой или есть такие же, когда у вас появляется проблема, которую вы должны решить, не пугает вас то что вы не справитесь или еще что-то в этом духе, как боритесь с этим, контролируете себя
Аноним 24/07/20 Птн 14:54:00 175922221
Аноним 24/07/20 Птн 15:02:42 175923022
>>1759205
Никак. Фейлы неизбежны, чел, а твои способности имеют свой предел. Относись ко всему с долей здравого похуизма и решай свою задачу, если тебе это действительно надо
Аноним 24/07/20 Птн 17:18:54 175932123
Безымянный.png 1Кб, 338x53
338x53
>>1759166
Я просто сейчас пытаюсь разобраться с указателями и константами. Вот почему, например, пик работает? Ссылка это же просто замена разыменованного указателя. Можешь подробно рассказать как вообще работают указатели на rvalue?
Аноним 24/07/20 Птн 17:32:17 175932724
Аноним 24/07/20 Птн 17:49:22 175934125
>>1759321
Ссылки - это не просто сахарок для указателей, в них куда больше магии.
Lvalue-ссылке можно присвоить временный объект (rvalue), но при этом ссылка должна быть константная. Например, const int &x = 123 тоже будет работать, будто это обычная константная переменная. Если это не примитив, деструктор не вызовется до окончания области видимости ссылки. А у примитива и деструктора не будет.
Аноним 24/07/20 Птн 18:32:40 175938126
>>1759341
Что такое примитив?
Аноним 24/07/20 Птн 18:44:14 175939027
>>1759381
Уровень твоего развития.
Аноним 24/07/20 Птн 18:45:51 175939228
image.png 29Кб, 1277x230
1277x230
пытаюсь написать обёртку для окон из шинапи

в апи при регистрации класс окна в поле соответствующей структуры записывается указатель на процедуру-обработчик

в своем классе-обертке я попытался в эту структуру скормить лямбду которая захватила this

но стейтфул лямбды к указателю не приводится

какие есть способы достичь желаемого эффекта (доступ к this в обработчике) например через промежуточную функцию или передав указатель на оператор() у лямбды
Аноним 24/07/20 Птн 19:01:40 175940529
>>1759392
> но стейтфул лямбды к указателю не приводится
Потому что лямбда - это не функция. Ты не можешь вызывать лямбду по указателю как функцию. Забудь про лямбды.
> какие есть способы достичь желаемого эффекта (доступ к this в обработчике)
Передавай ссылку на свой экземпляр объекта. А вообще завязывал бы ты с ООП, видно же что не шаришь, пытаешься функциональщину лямбду пришить к жопе классу.
Аноним 24/07/20 Птн 19:03:27 175940730
>>1759381
Самые базовые типы плюсов - char, int, float, long и прочие.
Аноним 24/07/20 Птн 19:12:36 175941031
>>1759392
Windows позволяет сохранить пользователь ский указатель в окне, что то типа setwindowlong . Юзай простую сишную функцию как обработчик, в ней извлекая указатель и дальше форвард вызов в свой класс
Аноним 24/07/20 Птн 19:32:11 175943032
Аноним 24/07/20 Птн 19:36:49 175943333
>>1759392
А на кой хуй, на MSDN есть уже начало реализации и на github тоже.
GUI пилят на QT или шарпах
Аноним 24/07/20 Птн 20:27:24 175946434
>>1759433
> QT или шарпах
Ты бы ещё электрон предложил. Медленный гуй не нужен.
Аноним 24/07/20 Птн 20:52:12 175947435
>>1759464
QT вполне себе нормальный GUI. Да и WinAPI сейчас для GUI мало кто использует.
Аноним 24/07/20 Птн 21:23:48 175948736
Аноним 24/07/20 Птн 21:47:01 175949337
>>1759464
это QT медленный? лул
Аноним 24/07/20 Птн 21:47:29 175949438
Все в предыдущем треде сидят? Этот нелегитимный?

>>1759410
>Windows позволяет сохранить пользователь ский указатель в окне, что то типа setwindowlong.
Вот только на этот long может оказаться несколько желающих. Лучше хэш hWnd => this. Ну как вариант.

Аноним 24/07/20 Птн 21:51:24 175949739
>>1759493
> это QT медленный?
Естественно он медленный. Он даже медленнее WINAPI на GDI+, не говоря уже про нормальный интерфейс на GPU.
Аноним 24/07/20 Птн 22:08:50 175950240
>>1759497
Делал тест, типа недогуй. Единственный layout - табличный grid, единственный widget - rectangle. Под виндой можно вообще когда хочешь эти ректы рисовать, вне события WM_PAINT или WM_ERASEBKGND, вне Begin/EndPaind, все автоматически завязывается с vsync, ничего не бликает. Попытался повторить на XLib и охуел. Сразу тащи OpenGL, ну ок, но синхронизация у него работает натурально через ЖОПАэль. Нужна правильная видюха и драйвер.
Аноним 24/07/20 Птн 22:12:22 175950441
Хули не используете для указателей ✱?
Аноним 24/07/20 Птн 22:16:27 175950742
>>1759392
Такие же, как и для вызова метода инстанса из обработчика прерывания на микрококонтроллерах, очевидно.
Аноним 24/07/20 Птн 22:17:06 175950843
>>1759504
Слишком сложно для ньюфага .
Аноним 24/07/20 Птн 22:17:19 175950944
>>1759464
Куда ты так спешишь, дружище, что Qt тебе медленно?
Аноним 24/07/20 Птн 22:18:47 175951145
>>1759392
Делаешь указатель на this глобальным/пихаешь его в контекст
Перед лямбдой добавляешь плюс
Аноним 24/07/20 Птн 22:26:23 175951846
15948363544220.jpg 54Кб, 500x500
500x500
>>1759508
А ЖЫРНАЯ лучше

Бонусом задачка для смелых. Что за хуйня ниже написана?
int ✱(✱arr(int, char ✱ const (✱const ✱)⟦10⟧))⟦20⟧;
Аноним 24/07/20 Птн 22:40:30 175952747
>>1759518
Это в Си-тред лучше. Массив из 20 указателей на функции, которые возвращают int ✱, а аргументы у них int и еще какие-то ебнутые указатели на указатели на указатели. Кстати, сколько помню, по сишному стандарту, массив в аргументах считается как указатель.
Аноним 24/07/20 Птн 22:42:44 175952948
>>1759527
Вопрос с подвохом, и суть в том, что если ты решил на него ответить, то скорее всего ты хикка-задрот-языков, который ничего не смыслит в программировании
Аноним 24/07/20 Птн 22:43:58 175953249
>>1759494
Не надо хэш, если у тебя планируется меньше тысячи окон, линейный поиск будет быстрее.
Аноним 24/07/20 Птн 22:46:02 175953550
>>1759527
Нет, неправильно.
Ваще не массив. Там ваще нет массивов, только указатели на них.
В данном случае 7.2 вообще ни при чем, он применен не будет.
Аноним 24/07/20 Птн 22:46:57 175953651
>>1759529
Вопрос без подвоха. Т.е. это правильная, корректная строчка, она откомпилируется.
Аноним 24/07/20 Птн 22:48:29 175953852
Аноним # OP 24/07/20 Птн 22:49:49 175953953
Аноним 24/07/20 Птн 22:52:08 175954154
>>1759532
Можно массив (вектор), поиск по 10 окнам будет быстрым.

>>1759535
В крестотреде код пишет меня.
Аноним 24/07/20 Птн 22:53:20 175954255
Аноним 24/07/20 Птн 22:54:10 175954356
>>1759509
С таким подходом и электрон быстрый. Куда спешить, можно нагружать систему по полной всяким говном, таскать с собой комбайн на все случаи жизни и рисовать только на ЦП. Пока не тормозит на ш5 - гуй быстрый.
Аноним 24/07/20 Птн 22:55:39 175954457
>>1759543
Везде нужно искать компромисс.
Аноним 24/07/20 Птн 23:01:00 175955158
Аноним 24/07/20 Птн 23:05:03 175955359
>>1759551
>Pointer sign?
Oh, have you come from England?
Аноним 24/07/20 Птн 23:08:58 175955660
>>1759553
☭☭☭ I from Sovietskaja Rodina! ☭☭☭☭
Аноним 24/07/20 Птн 23:11:28 175955861
*
Аноним 24/07/20 Птн 23:12:37 175955962
int a = nullptr;
int
b = a;
Аноним 24/07/20 Птн 23:23:54 175956263
>>1759559
b = &a;
Скомпилится

b = a;
даст ворнинг в крестах но скомпилится в си89
Аноним 24/07/20 Птн 23:32:08 175957164
>>1759539

Почему Абу не дает нам нормальных указателей? Может, в /d/ обращаться? Не помню, чтобы за пару лет здесь видел применение звездочки для жирноты?
Аноним 24/07/20 Птн 23:36:56 175957665
>>1759571
Двачую. Для math сделали интеграцию с mathjax, а для pr ``` или [code][/code] до сих пор нет

@abu, ti ahuel tam?
Аноним 24/07/20 Птн 23:37:11 175957766
>>1759571
Какие тебе нахуй звездочки, если ты это >>1759518 распарсить не можешь?
Аноним 24/07/20 Птн 23:38:05 175957967
Спасибо, Абу!
Аноним 24/07/20 Птн 23:41:55 175958368
>>1759577
Будет время, распасрсю может быть, че пристал, компилятор ебаыный?
Аноним 24/07/20 Птн 23:45:36 175958769
[code]
int a = 1;
int *b = &a;
[/code]
Аноним 24/07/20 Птн 23:46:34 175958870
>>1759583
Парси строку, парси! Это знать надо, это классика!
Аноним 24/07/20 Птн 23:49:48 175959271
Аноним 24/07/20 Птн 23:53:56 175959572
>>1759588
>это классика
Ебнутый typedef какой-то, примерно как стихи на Perl, лол. ЭТОГО ЗНАТЬ НЕ НУЖНО.
Аноним 24/07/20 Птн 23:54:59 175959773
>>1759592
Нихуя. Это статемент!
Аноним 24/07/20 Птн 23:57:30 175960074
>>1759595
Да тебе неделю чистого времени дай - и ты разве что методом тыка угадаешь. Лол, а еще кудахчут, что силечка - илиминтарна. Простейшую строку не могут распарсить!
Аноним 25/07/20 Суб 00:00:42 175960375
>>1759600
Парсить строки - есть специальный инструмент - парсер. Если ты за него - вот и распарсь эту строку, чтобы я понял, если нет противоположной задачи.
Аноним 25/07/20 Суб 00:08:24 175961076
Аноним 25/07/20 Суб 00:30:42 175962077
>>1759603
Тебя на самом деле про семантику спрашивают, дурачок
Аноним 25/07/20 Суб 00:37:38 175962478
>>1759620
Че там с семантикой, пояснишь дурачку?
Аноним 25/07/20 Суб 00:39:32 175962579
Аноны, condition variable юзается только в unique_lock, насколько я понял. Что делать, если у меня в отдельном потоке функция с бесконечным циклом, где я хочу оставаться, не выходя из нее, и ждать оповещения от другого треда о событии Х, чтобы сделать действие Y и пойти на следующую итерацию бесконечного цикла, опять ударившись в wait? Заранее спасибо.
Аноним 25/07/20 Суб 00:50:29 175962980
>>1759624
Так это от тебя ждут пояснений, что там за семантика у той строки, дурачок.
Аноним 25/07/20 Суб 01:01:05 175963181
>>1759620
Давай выхлоп парсера
Аноним 25/07/20 Суб 01:25:38 175963782
1515931217168.png 34Кб, 706x479
706x479
>>1759625
Тут кроется ответ. Прочитай, будешь всё знать об этой залупе
Аноним 25/07/20 Суб 01:57:52 175963983
8E5D0687-38BF-4[...].png 263Кб, 1366x768
1366x768
Как же горит у тупорылых студентишек и вайтибыдла от простейшей строчки на Си, ору в голос. Ебать сука бля обоссанки тупорылые. Как же вы будете на шаблонах куролесить, маньки )))
Аноним 25/07/20 Суб 02:08:07 175964684
>>1759625
неважно, я жестко тупанул, думал в таких ситуациях unique_lock работает не так, как на самом деле.
Аноним 25/07/20 Суб 08:18:27 175970485
>>1759518
Поскольку такая вещь (✱const ✱) не является объявлением параметра функции (типа то нету), вангую пример на знание того что
(int)smth ≡ int(smth)
Аноним 25/07/20 Суб 08:47:47 175971386
>>1759518
Указатель на массив из 20 указателей на функции, возвращающих int, и принимающих инт и массив из 10 указателей на константный указатель на константный указатель на чар
Аноним 25/07/20 Суб 08:57:55 175971887
Аноним 25/07/20 Суб 09:27:58 175972588
1595658477740.jpg 88Кб, 1440x574
1440x574
Аноним 25/07/20 Суб 09:28:25 175972789
Аноним 25/07/20 Суб 09:34:10 175973090
Аноним 25/07/20 Суб 09:39:40 175973491
1593926626041.png 41Кб, 1195x343
1195x343
1515199162722.png 18Кб, 582x318
582x318
>>1759725
Сейчас бы верить нерабочему васянскому сайту, а не компилятору :3
Аноним 25/07/20 Суб 09:41:17 175973792
>>1759704
А указатель на массив интов-то ты осилишь хоть объявить, иксперд с 1 курса парашевыносительного?
Аноним 25/07/20 Суб 09:46:13 175973993
26B88817-50D5-4[...].jpeg 37Кб, 600x600
600x600
>>1759734
Не подсказывай цыпляткам!
Аноним 25/07/20 Суб 09:48:40 175974094
>>1759737
Конечно дорогой
int arr[];
decltype(arr) *p;
Аноним 25/07/20 Суб 09:51:17 175974195
Аноним 25/07/20 Суб 09:53:33 175974296
1E8FE42E-2CC3-4[...].jpeg 53Кб, 444x444
444x444
>>1759740
>чмоха не может объявить указатель на массив
Аноним 25/07/20 Суб 10:08:56 175974597
>>1759739
Говори уже что это, с подробным объяснением
Аноним 25/07/20 Суб 10:26:14 175975098
>>1759742
Объявил же, ты чего? У нас тут С++, а не С тред.
Аноним 25/07/20 Суб 10:58:45 175975399
>>1759750
Ты бы еще тайпдефами объявил, клоун. Уж указатель на массив-то вполне нормально и напрямую объявлять.
Аноним 25/07/20 Суб 11:21:44 1759758100
>>1759753
Ай мля ты прав. Что то я тупанул.
template<typename T, size_t Size>
using ptr_t = std::unique_ptr<std::array<T, Size>>;
ptr_t<int, 100> p;

Аноним 25/07/20 Суб 11:28:18 1759759101
>>1759758
Подозреваю, что на микрококонтроллерах у тебя такая хуйня не прокатит.
Аноним 25/07/20 Суб 13:03:19 1759785102
⛧ ⛧ ⛧ ⛧ ⛧
Аноним 25/07/20 Суб 14:10:09 1759840103
Аноним 25/07/20 Суб 14:18:05 1759854104
Я задам тупой вопрос но всё таки я это правда не понимаю, я новичок в С++. Есть такая штука "Vcpkg" - кросс-платформенный менеджер пакетов с открытым исходным кодом от Microsoft. Но я не до конца понимаю что он делает, то есть к примеру если я установлю библиотеку через него то у gcc не будет проблем с линоковкой либ?
Аноним 25/07/20 Суб 14:33:29 1759875105
>>1759854
На винде vcpkg вроде как берёт всегда последнюю установленную версию msvc, так что gcc в пролёте
Аноним 25/07/20 Суб 14:38:45 1759891106
>>1759875
:( А есть какой нибудь удобный и понятный способ/гайд по линковке либ для gcc? Пробовал я у gcc -L -l -I как-то вообще игнорит указанный путь. Не хочется IDE ставить, меня возбуждает мысль о писании кода в блокнотах.
Аноним 25/07/20 Суб 14:44:32 1759911107
>>1759891
Ну так напиши ещё makefile в блокноте
Аноним 25/07/20 Суб 14:44:41 1759913108
>>1759891
Не игнорит. Ты не разобрался, у тебя где то ошибка.
Аноним 25/07/20 Суб 14:45:00 1759914109
>>1759854
Заставить vcpkg работать на винде с чем-то, кроме вижуалки, у меня не вышло, при сборке всегда была простыня в духе "undefined reference to X". В самой вижуалке работает охуенно.

>>1759891
Удобного способа подключать либы на C++ не существует. Кроме vcpkg есть ещё conan и ещё десяток менеджеров пакетов, но одни работают криво, а в других не хватает либ. Так что и по сей день самый удобный способ - вручную качать архивы с сайтов либ и подключать, и ещё повезёт, если есть билд хотя бы для x86_32.
Аноним 25/07/20 Суб 14:45:43 1759915110
Аноним 25/07/20 Суб 14:46:40 1759916111
>>1759915
Не хочется разводить срач, но...
Вы реально доверяете всяким васянам упаковку либ?
Аноним 25/07/20 Суб 14:47:32 1759917112
>>1759916
Лучше васянам, чем себе.
Аноним 25/07/20 Суб 14:48:57 1759919113
такао и атаго.jpg 199Кб, 850x600
850x600
>>1759913
Ну это да, надо разбираться.

>>1759911
Он же для СMake? И ещё дебильный вопрос про CMake - это же не компилятор а хрень которая указывает компилятору на либы и как вообще компилировать?

>>1759915
Попробую

>>1759914
Ну у GCC -I -L -l вроде по сути легко.

Спасибо всем, пойду дальше разбираться. Держите девочек.
Аноним 25/07/20 Суб 14:52:41 1759924114
>>1759919
CMake - это генератор файлов для разных систем сборок. Например, make-файлов, проекта visual studio (ms build) и ещё куча никому неизвестных. В теории, создаёшь CMakeLists.txt, пишешь в нём пару десяток строчек с указанием путей до либ, запускаешь, и у тебя получится готовый make-файл на несколько сотен строчек, где уже всё учитывается и прописано. На практике всё так себе.
Аноним 25/07/20 Суб 15:56:25 1759969115
Аноним 25/07/20 Суб 16:00:53 1759970116
>>1759924
>>1759919
Можно без генерации промежуточных файлов собирать через cmake
Аноним 25/07/20 Суб 16:13:41 1759977117
>>1759970
Почему никто никогда так не делает?
Аноним 25/07/20 Суб 16:54:47 1760006118
Что можно почитать об указателях, умею из них делать всякие йобы, по типу списков, двусвязных списков и т.д. Но ведь на этом же их применения 100% не заканчиваются, не понимаю, какое применение есть указателю на функции. В общем, реквестирую хорошую литературу по указателям и работе с памятью.
Аноним 25/07/20 Суб 17:13:23 1760020119
>>1760006
Если ты теорию изучаешь, то читани у праты по указателям неплохо. В реальной работе нинужно, особенно в современных крестах
Аноним 25/07/20 Суб 17:31:49 1760035120
>>1759977
В смысле? Большинство библиотек, что я встречал, собираются так: mkdir build && cd build && cmake ..
Тот же vcpkg так делает.
Аноним 25/07/20 Суб 17:32:14 1760036121
В чьих-то каментах вступил в дискуссию о недостатке программистов в Америке и тут Линкедин подбросил "работу которая может вас заинтересовать", я октрыл только из за идиотского названия компании...

Job Type: Full-time
Salary: $120,000.00 to $130,000.00 /year
Интересно, кого в конце-концов наймут на эту работу?

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

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

> А чо, норм зарплата, для мидвеста )

Это ЛА ... и зависит от Мидуэста, в Чикаго на такую зарплату народ тоже не набежит.

https://kunaifusu.livejournal.com/648138.html
Аноним 25/07/20 Суб 17:39:17 1760043122
Аноним 25/07/20 Суб 17:52:48 1760051123
>>1760035
Ни одной такой либы не видел, везде после этого нужно запускать make или msbuild.
Аноним 25/07/20 Суб 19:00:54 1760079124
Крестоаноны, почему такие собесы стали сложные? Либо сразу берут в какую-нибудь шарагу после базаров за жизнь либо блять часа по два-три бесед по си++ и разным многопоточностям с алгоритмами. Я после последних двух трехчасовых собесов к которым я готовился пару месяцев решил вообще в джаву перекатиться, что-то блять с рынком в ДС не то.
Аноним 25/07/20 Суб 19:02:18 1760080125
>>1760079
Знакомые из джавы тупо на похуй приходят со знаниями Spring сразу на 120к без всяких исключений в списках инициализации и реализаций хеш таблицы на бумажке.
Аноним 25/07/20 Суб 19:45:06 1760096126
>>1760080
>>1760079
Ну так джавистам нужно будет тупо пилить бизнес-логику, забив хуй на перфоманс. Не как в плюсах, где экономить и оптимизировать нужно всегда, когда есть хоть малейшая теоретическая возможность. На то это и плюсы.
Аноним 25/07/20 Суб 20:05:05 1760109127
>>1760051
Можно запускать cmake --build оно само вызовет нужный сборщик.
Аноним 25/07/20 Суб 20:15:39 1760115128
>>1760109
Когда я пробовал так делать, сработало только с msbuild, с mingw-make были странные ошибки. CMAKE_MAKE_PROGRAM указывал.
Аноним 25/07/20 Суб 21:42:38 1760165129
>>1760079 (You)
По стилистике уже понятно, что ты довольно истеричный парень, у тебя проблемы с логикой и восприятием этого мира. Ты типичный пидорахо-бизнесмен, который нихуя не понимает в бизнесе и нормальных отношениях "работодатель-работник". Думаю, программисты, которым ты писал, были того же мнения, поэтому им было похуй, сколько ты предложишь - работать с истеричкой никто не захочет. Мой совет- выкатись нахуй из айти. Продавай щебень, лес, уголь. Но не трогай айти - это явно не твоё.
Аноним 25/07/20 Суб 22:07:58 1760176130
>>1760165
> (You)
Шиз не палится.
Аноним 25/07/20 Суб 22:29:28 1760190131
Аноним 25/07/20 Суб 22:32:59 1760191132
>>1759891
>Пробовал я у gcc -L -l -I
Если указываешь нестандартный путь (например, в папке экзешки) к динамической SO-либе через -L, то экзешка не запустится. Там надо через переменную LD_LIBRARY_PATH указывать эти специальные пути, либо линкеру ld при сборке флагом -rpath.
Аноним 25/07/20 Суб 23:04:15 1760209133
>>1759891
Может быть ты пишешь \ вместо / ? Или у тебя пробелы в названиях папок. Пиши -I"C:/My Include Folder" если на винде.
Кроме того линкеру нужно название либы без префикса. Т.е. если либа называется libSDL2, то линковать надо -lSDL2
Аноним 25/07/20 Суб 23:21:14 1760225134
>>1760165
>>1760176
>>1760190
Откуда это (You), какой-то клиент для мобилок что ли? В оверчане такого нет.
Аноним 25/07/20 Суб 23:23:10 1760227135
>>1760225
> оверчане
О, ещё один шиз, только ещё и недоразвитый.
Аноним 25/07/20 Суб 23:28:03 1760231136
>>1760225
Руками вписал, хотя скорее это готовая паста.
Аноним 25/07/20 Суб 23:36:16 1760236137
>>1760227
Какие есть варианты? Несколько лет назад он первым попался мне на глаза, с тех пор и юзаю, хоть он и глючный. inb4: браузер
Аноним 25/07/20 Суб 23:49:25 1760244138
>>1760231
Я просто раньше где-то уже это видел и подумал, что это где-то автоматически добавляется.
Аноним 25/07/20 Суб 23:53:46 1760246139
1525869774135.png 27Кб, 461x394
461x394
>>1760244
В кукло скрипте. Но, конечно, оно добавляется в ссылку на пост, поэтому будет оранжевым, а не черным.
Аноним 25/07/20 Суб 23:58:11 1760248140
Аноним 26/07/20 Вск 06:34:57 1760402141
Аноны, я ебусь с одной адской хуйней, даже не поверите. Нужно портировать старый код чтобы он на 2019 собирался, у них есть STL map и зачем-то им нужно напрямую манипулировать внутренним представлением map как red/black tree. Они там устанавливают _Myhead = ... и потом _Myhead->_Left, _Myhead->_Parent и тд. Видимо в старых версиях stl этот _Myhead был public, а сейчас его не видно.
Вернее он типа есть но в другом, внутреннем классе _Tree_val. Я вообще не понимаю как эта хуйня устроена так как мне в страшном сне бы не приснилось туда руки сувать. Кто-нибудь знает как при помощи наебок и кастов или итераторов до _Myhead добраться?? Эта вся хуйня в <xtree>
Аноним 26/07/20 Вск 09:15:48 1760416142
>>1760402
Объявить такой же класс_2 но с паблик именами и через конструктор копирования обмануть
Аноним 26/07/20 Вск 09:58:46 1760430143
>>1760096
вообще последние годы я ++ брал только из-за того, что знаю более менее этот язык и можно было делать кроссплатформенное по, которое сразу и на линукс и на винду шлу и на некоторых одноплатниках.
Аноним 26/07/20 Вск 12:26:27 1760476144
Аноним 26/07/20 Вск 15:41:24 1760718145
Как вообще с зависимостями бороться в ебучем cmake? В либе с гитхаба конфиг на 1000 строк и не хочет собираться в статическую либу. Гугл выдает хуйню, которая сыпет ещё больше ошибок. Нихуя не линкуется, cmake до перезапуска IDE начинает видеть несуществующие строки в конфиге. Нахуя эту парашу придумали, если нужен отладчик для конфига этой дрисни чтоб понять что происходит? И ведь самый пиздец что ничего не пишет конкретного, ошибка линковки и соси хуй. Аж трясёт.
Может есть для людей варианты? Чтоб не ебаться со сборщиком дольше чем пишешь код.
Я бы уж на MSBUILD даже залез, если бы эта хуйня выдавала рабочую статическую либу. Генерирую проект под студию, собираю и пиздец - MSBUILD не хочет это говно принимать, тоже высерает ошибки линковки и гадай что ему не нравится.
Аноним 26/07/20 Вск 16:27:03 1760793146
>>1760718
libastral какой версии?
Аноним 26/07/20 Вск 18:27:42 1760910147
Аноны, считается ли говнокодом объявлять мьютекс глобальной переменной (хоть и в специально отведенном неймспейсе)?
Аноним 26/07/20 Вск 20:57:29 1761004148
>>1760910
Да. Делай отдельный класс.
Аноним 26/07/20 Вск 23:13:54 1761097149
>>1760910
тут скорее вопрос о том, зачем тебе глобальный мютекс где-то
Аноним 27/07/20 Пнд 00:42:07 1761145150
>>1761097
столкнулся с ситуацией, где при использовании двух разных мьютексов в двух разных тредах (в связке c unique_lock и condition variable) у меня происходит дедлок. Используя при этом глобальный общий мьютекс, все шло как по маслу (оба метода принадлежали разным классам, если что). Вот и навеяло вопрос...
Аноним 27/07/20 Пнд 00:47:49 1761149151
Есть один .exe и две .dll.
Как написать в одной dll функцию, которая будет грузить ресурсы из другой dll (или exe), с указанием ID этих самых ресурсов?
Основная проблема заключается в том, чтобы получить HINSTANCE одной dll из другой. Была идея сделать параметр по умолчанию, но, например, GetModuleHandle(0) возвращает HINSTANCE exe, а не вызывающей его dll.
Аноним 27/07/20 Пнд 00:49:07 1761153152
>>1761145
Ну хз я бы лучше в контекст это какой-то обернул и снабжал бы им свои классы
Аноним 27/07/20 Пнд 01:59:12 1761169153
>>1761149
> 2020
> РЕСУРСЫ
Пчел, ну ты...
Аноним 27/07/20 Пнд 02:02:49 1761170154
>>1761169
Не так:
> 2020
> Легаси

Я бы и рад от всего этого говна избавиться, но имнип там одних строчек только около 20к
Аноним 27/07/20 Пнд 02:05:09 1761174155
Аноним 27/07/20 Пнд 03:27:18 1761185156
изображение.png 14Кб, 763x452
763x452
Нахуя?
Аноним 27/07/20 Пнд 03:31:23 1761187157
>>1761169
Ресурсы - отличная штука, без них приходится костыли изобретать
Аноним 27/07/20 Пнд 07:59:49 1761232158
>>1761185
Когда не было RAII и прочего, можно было случайно проебать очистку ресурса, сделав return посреди функции. Поэтому некоторое время людей учили, что return должен быть только один, в самом конце.
Аноним 27/07/20 Пнд 09:48:26 1761333159
>>1761232
О, так вот откуда это пошло. Слышал эту рекомендацию, но думал, что только ради читаемости.

мимо
Аноним 27/07/20 Пнд 09:53:22 1761336160
Аноним 27/07/20 Пнд 12:25:01 1761419161
Аноним 27/07/20 Пнд 12:42:07 1761427162
>>1761419
Это ещё херня, тут кто-то писал, что в libpng обработка ошибок вообще через setjmp().
Аноним 27/07/20 Пнд 12:44:58 1761429163
>>1761419
Лесенки if-elsif-else - родовая травма всех алголоподобных языков без оператора return.
Аноним 27/07/20 Пнд 12:54:05 1761435164
>>1761429
Но ведь push x; ret медленнее jmp. При return тебе надо в стек писать. Вызов процедуры - это вообще пиздос какой оверхэд по сравнению с простым переходом.
Аноним 27/07/20 Пнд 13:12:13 1761441165
>>1761435
>Но ведь push x; ret медленнее jmp.
Гомпилятор сгенерирует тебе jmp из ветки if на тот же
эпилог функции, потому что возвращаться-то надо.
Кстати, сейчас clang/gcc умеют делают эпилог на месте каждого return, чтобы обойтись без перехода.
>При return тебе надо в стек писать.
В С не надо, результат возвращается на регистрах.
Аноним 27/07/20 Пнд 13:15:08 1761442166
Аноним 27/07/20 Пнд 13:21:07 1761448167
>>1761442
Проклятый интерфейс двача. Нажал не написав пост, и удалить-то его даже нельзя

>>1761435
>Но ведь push x; ret медленнее jmp. При return тебе надо в стек писать
Тебе в любом случае где-то нужно будет сделать return. Ты либо его делаешь сейчас, либо делаешь джамп на return.

>Вызов процедуры - это вообще пиздос какой оверхэд по сравнению с простым переходом
Если листовые функции, то вообще нет. Да и в других случаях тоже, потому что сегодняшние соглашения о вызовах достаточно вменяемые в этом плане. ЕМНИП в какой-то статье из серии Lambda the Ultimate упоминался пиздец, который творился при вызове функций в древних компиляторах. Оттуда, наверное, и пошло, что вызов функции очень тяжёлая вещь.
Аноним 27/07/20 Пнд 14:33:07 1761490168
>>1761441
> эпилог на месте каждого return
Что за шиза? У тебя всегда выход из функции через ret, в EIP из стека кладётся адрес возврата.
И то что у тебя в регистрах 4 аргумента ещё ничего хорошего не значит, их ещё компилятору надо туда запихать. fastcall от мягких успешно был обоссан и в 32-битном коде до сих пор stdcall или cdecl в либах. На x64 вынуждено перешли на аргументы в регистрах, т.к. только rax жрёт imm64.
>>1761448
> соглашения о вызовах достаточно вменяемые в этом плане
У тебя в любом случае будет пролог, эпилог на мелких функциях компиляторы успешно режут. И call всё ещё медленнее jmp, хотя оба сосут. Если у тебя функция уровня пары арифметических операций, то оверхэд на вызов займет больше времени, чем выполнение полезного кода.
> Оттуда, наверное, и пошло, что вызов функции очень тяжёлая вещь.
Это пошло и продолжается от архитектуры х86, где переход в 5-25 раз медленнее других инструкций. Медленнее перехода только деление. Именно поэтому функциональщина всегда сосёт по производительности у Си-портянок. Так же как и кресты с ООПом сосут у голого Си.
Аноним 27/07/20 Пнд 14:49:53 1761509169
>>1761490
>>1761448


Я надеюсь, что тут в курсе, что то о чем вы спорите (соглашения о вызовах) относится исключительно к библиотечным функциям с явным их экспортом. В рамках того что не экспортируется оптимизатор может спокойно делать всё что угодно, хоть лапшу из джампов, ХОТЬ ИНЛАЙНИТЬ?
Аноним 27/07/20 Пнд 15:02:40 1761517170
>>1761509
> В рамках того что не экспортируется оптимизатор может спокойно делать всё что угодно, хоть лапшу из джампов, ХОТЬ ИНЛАЙНИТЬ?
Это скорее к GCC относится, это там компилятор делает что хочет. А у майков в этом плане всё более строго, надо явно указывать что делать можно, по дефолту он не станет наглеть. Но полностью функциональные кишки всё равно никто не вычищает.
Аноним 27/07/20 Пнд 15:37:45 1761554171
>>1761490
>переход в 5-25 раз медленнее других инструкций
Посмотрел Агнера, по нему долгий только RETF (но мы ведь все в длинном режиме, так что он не нужен). Обычный RET (он же RETN) в процах 1-4 опсов занимает. Судя по https://blog.stuffedcow.net/2018/04/ras-microbenchmarks/ это действительно так.
Аноним 27/07/20 Пнд 15:55:25 1761562172
>>1761554
> Обычный RET (он же RETN) в процах 1-4 опсов занимает
Ну д, выполнение инструкции. А теперь плюсуй запись в стек адреса, чтение адреса из стека, переход после записи по этому адресу. Вот и имеем 20-30 циклов если предсказание совпало, по твоей ссылке столько и есть, примерно. За это время даже пару раз поделить успеем. Или около 50 операций сложения сделать.
А если промахивается, то там пиздец за 100 циклов уходит.
Аноним 27/07/20 Пнд 16:10:03 1761575173
>>1761490
>Что за шиза?
Просто погугли, что такое эпилог функции. Так вот, их в функции может быть несколько при наличии ветвлений.
>у тебя в регистрах 4 аргумента ещё ничего хорошего не значит
Я тоже считаю, что интел = кал.
Аноним 27/07/20 Пнд 16:12:19 1761577174
>>1761562
Я, может, не то прочитал, но по ссылке указывается, что вся машинерия для call+return занимает в среднем 5 циклов (таблица 1, колонка CALL+RET). Не вижу, откуда ты взял 20-30.

>запись в стек адреса, чтение адреса из стека, переход после записи по этому адресу
Return Address Stack так и предназначен, чтобы не читать из стека который в памяти и удачно предсказывать направление перехода. А запись в стек адреса возврата в самой процедуре невидима, потому что не порождает зависимости по данным и последующие инструкции спокойно выполняются out-of-order.
Аноним 27/07/20 Пнд 16:26:51 1761588175
>>1761577
> вся машинерия для call+return занимает в среднем 5 циклов
Внимательнее смотри что там меряют. Это бенчмарк в вакууме. Там только выполнение голых инструкций последовательно.
> удачно предсказывать направление перехода
Это только в таком абстрактном бенчмарке всё так просто. Миллион описаний есть как это работает в реальных условиях, почитай.
> последующие инструкции спокойно выполняются out-of-order
Чел, плиз. Открой в отладчике любую функцию и посмотри чем там занят проц на ближайшие инструкции. Нам запись тут вообще поебать. Важнее как быстро в больших процедурах его забирать обратно.
Аноним 27/07/20 Пнд 16:31:17 1761593176
>>1761490
>Это пошло и продолжается от архитектуры х86
>Именно поэтому функциональщина всегда сосёт по производительности у Си-портянок.
Этому надо читать AIМ-443
Аноним 27/07/20 Пнд 16:32:54 1761594177
Аноним 27/07/20 Пнд 16:44:05 1761602178
Аноним 27/07/20 Пнд 16:46:03 1761605179
>>1761588
>Миллион описаний есть как это работает в реальных условиях, почитай.
Приведи одно-два описение с замерами тогда. Желательно на современном процессоре (хотя бы core 2). И всё-таки, откуда ты взял 20-30 циклов?

>Открой в отладчике любую функцию и посмотри чем там занят проц на ближайшие инструкции
Лолшто. Как ты мне предлагаешь внутренние (не архитектурные) регистры через отладчик посмотреть?

>Важнее как быстро в больших процедурах его забирать обратно.
Совсем нет. Как-нибудь потом загрузка со стека реально выполнится, процессор сверит с предсказанным, скажет "ок" и поедет дальше. Спекулятивное исполнение уже далеко впереди будет.
Аноним 27/07/20 Пнд 18:15:11 1761667180
Вы не забывайте что то что у вас по цифиркам тактов выходит, не то же самое что будет в микрокоде самого процессора.
Не могу найти статью, вроде на хабре была, примерно про то, как в гипертрединге два потока выполнялось медленнее, чем один, потому что конвеерам требовался один и тот же модуль чипа и они начинали тротлить чтобы дождаться его освобождения.
Аноним 27/07/20 Пнд 18:28:52 1761679181
>>1761667
>Вы не забывайте что то что у вас по цифиркам тактов выходит, не то же самое что будет в микрокоде самого процессора.
Надо просто в голове совместить циферки throughput/latency команд и знание микроархитектуры. Сразу будет неплохая оценка производительности. И это не 20-30 циклов. Это около 5 циклов на весь эпилог.
Аноним 27/07/20 Пнд 19:21:55 1761714182
Аноним 27/07/20 Пнд 19:50:03 1761735183
Boost beast сложный для вката? Первый раз беру его, да и вообще boost.
Аноним 27/07/20 Пнд 21:02:41 1761791184
1
Аноним 27/07/20 Пнд 22:01:19 1761843185
Че то нихуя не понимаю по коду в бусте. Че по языку почитать?
Аноним 27/07/20 Пнд 23:01:47 1761885186
>>1761843
код буста понимают только его создатели. Это нормально.

>>1761735
Простой, только не ебись с асинхронщиной первое время.
Аноним 27/07/20 Пнд 23:39:13 1761906187
>>1761843
Никто не умеет понимать код буста. Дело не в умении и не в желании понимать код буста, и вообще ни в чём. Дело лишь в самом запихивании буста во все проекты подряд.
Аноним 27/07/20 Пнд 23:46:49 1761910188
Screenshot20200[...].jpg 236Кб, 1280x720
1280x720
>>1761906
>>1761885
Разве это не причина в будущем писать хуйню тяп-ляп? Правда я иногда просто не понимаю, зачем они на самых первых страницах показывают примерный как я понял код по идее встроенных функций, ну да ладно . В любом случае чтение такого кода как на пикриле для меня пытка и я синтаксически мало его понимаю.
Аноним 28/07/20 Втр 00:02:17 1761921189
>>1761910
Пчел, тебе не надо понимать, как написана библиотека, читая ее код - ты должен понимать библиотеку по документации и примерам. То, что ты пишешь хуйню тяп ляп и то, что ты не можешь читать код буста - это вещи никак не связанные.

У нас вон вообще правило, что буст тягать нельзя ни в один проект, и я, пожалуй, с этим правилом солидарен в текущий момент. Есть небольшие отдельные либы, которые вполне решают нужные проблемы, а не завозят буст. В случае, если бы я писал сетевое что-либо - я бы наверное пошел искать отдельную сетевую либу, а не тянул буст асио (без проблем переживу просадку в перфе кек)
Аноним 28/07/20 Втр 00:14:38 1761928190
>>1761921
> Пчел, тебе не надо понимать, как написана библиотека
Так это в доке написано. Хз чему тогда верить.

> В случае, если бы я писал сетевое что-либо - я бы наверное пошел искать отдельную сетевую либу, а не тянул буст асио (без проблем переживу просадку в перфе кек)
Ну мне посоветовали здесь взять boost beast, ну я и взял.
Аноним 28/07/20 Втр 04:41:29 1761969191
>>1761910
Ну конкретно на твоем скрине ничего такого нет, обычный код. Боюсь представить что будет если ты зайдешь посмотреть их заголовок с препроцессором
Аноним 28/07/20 Втр 07:32:35 1762003192
>>1761969
Поэтому я спрашивал что почитать
Аноним 28/07/20 Втр 08:44:28 1762028193
>>1761921
>Пчел, тебе не надо понимать, как написана библиотека
Не слушай этого слабоумного зумерка. Смотреть код популяреых библиотек, в том числе из стандартного набора, должен каждый уважающий себя программист, только так ты научишься писать грамотный код и делать всё по уму. Это отличная возможность быстро развиваться, а не приходить к этому самому сквозь ошибки через n лет. Можно сравнить с человеком, которого научили сложению, но ничего про умножение не рассказали, да когда то он поймет, что 2+2+2+2+2 можно выражать как 2×5, но дойдет ли он до возведения в степень? Дойдет ли он до умножения столбиком?
Аноним 28/07/20 Втр 08:46:38 1762030194
>>1762028

Как разбираться во всех эти бесконечных дефайнах, шаблонах и прочем говне?
Аноним 28/07/20 Втр 08:57:36 1762038195
>>1762030
Учи принципы проектирования, ооп и солид. Главное не паниковать и не бояться перечитывать код по сто раз, до тех пор пока ней поймешь почему сделали именно так. После осознаеия приходит озарение и ты начинаешь не паниковать, а думать о том как всё хорошо устроено и логично, а также о том почему у тебя изначально понимание этого когда вызвало затруднение .
Аноним 28/07/20 Втр 09:31:45 1762058196
>>1762038

>принципы проектирования, ооп и солид.

>кресты

Аноним 28/07/20 Втр 10:05:35 1762084197
>>1762058
Ты, если с чем-то поспорить хочешь, то и отвечай нормально, а не гринтекстом пукай, не в б же сидим
Аноним 28/07/20 Втр 10:07:28 1762087198
>>1762084

> сренькбабах, в байтоебском языке следование нормам ООП бывает, мааам ну скажи это нифантастика.
Аноним 28/07/20 Втр 10:33:12 1762095199
>>1762087
>язык, единственная цель которого добавить ООП в сишечку
>сам труп страуса постоянно кичится тем, что на с++ можно писать хороший ооп код с зиро оверхед
>неостлятор-корзина с двача: нинужна яскозал, вот на си я всё одним полотном хуячид и на с++ такжи нужна!!!
Проиграл с дебила
Аноним 28/07/20 Втр 11:17:31 1762112200
>>1762095

> неостлятор-корзина с двача: нинужна яскозал, вот на си я всё одним полотном хуячид и на с++ такжи нужна!!!

Так ты как раз себя и своих корефанов-крестоблядей только что описал - в какой проект на гитхабе не зайди, везде си с крестами насрано.
Аноним 28/07/20 Втр 11:44:16 1762142201
>>1761910
Я такой код начал понимать лет через 10-15 знакомства с С++ (но я на нем и не работал практически).
Аноним 28/07/20 Втр 12:48:41 1762185202
>>1762058
хз, лично я не пишу вообще в процедурном стиле на крестах, зачем? Если я хочу упороться в процедурщину (или если хочу написать какой-нибудь драйвер на Линукс), то да, Сишка - лучший вариант.
А если плюсы - чистый ООП. ООП удобен тем, что используя эту парадигму, удобнее: а) Скейлить большие проекты, б) Представлять оверолл архитектуру кода. Плюсы позволяют писать чистый ООП (причем для особо требовательных программ можно схитрить и юзать статический полиморфизм, который не трогает vtables и не замедляет программу в рантайме), грех это не эксплуатировать.
Аноним 28/07/20 Втр 13:28:45 1762207203
>>1762185

Речь про то, что возможность пердолить в процедурном стиле, наследие в виде долгого переходного периода, когда десктопная байтоебля переползала с С на кресты и общий объем легаси-кода вызывает рак кресторазработки, когда с соблюдение бестпрактисов ООП нужно еще днем с огнем поискать, а сеньеры разносят рак со старых проектов в новые.
Аноним 28/07/20 Втр 14:49:34 1762268204
>>1762207
Использую кресты только для совместимости с ООП-говном. Как тебе такое?
Аноним 28/07/20 Втр 14:50:04 1762269205
>>1762207
Новые проекты все реже и реже пишутся на плюсах, я уж не говорю про Си, увы :( Клятый раст отбирает всю систем-левел кормушку. А все из-за ссаного левацкого маркетинга про коко-безопасность. Тьфу им в харю!
Вот и пердолят легаси со всеми вытекающими... Красивые кресты с бестпрактисами ты скорее увидишь в репах у любителей-энтузиастов, но никак не в кодовой базе, которая тянется еще с девяностых.
Аноним 28/07/20 Втр 15:07:34 1762291206
>>1762269
Какая чушь. Никакого раста нигде и в помине нет.
Аноним 28/07/20 Втр 15:47:41 1762338207
>>1762028
Долбоеб не знает разницу между популярными библиотеками и АДОВЫМ БУСТОМ. Буст - это антипаттерн на антипаттерне через пиздец внутри.
Аноним 28/07/20 Втр 16:02:10 1762348208
>>1762291
2 конченные конторы, которые занимаются блокчейном, отказали мне из-за того, что, видите ли, они решили с крестов на раст перейти. Ублюдки ссаные. Я во второй спросил: "И что, многие сейчас на раст переходят?". Они сказали: "В лоу лвле или там, где нужен перформанс, если проект пишется полностью с нуля, то да, Раст предпочтительнее крестов для многих компаний". У меня аж ком в горле встал. Обидно за кресты, хоть и продолжаю писать на нем свои пет-
проекты.
Аноним 28/07/20 Втр 17:12:18 1762404209
Накиньте идею для небольшого проекта в портфолио
Аноним 28/07/20 Втр 17:26:32 1762409210
>>1762348
> 2020
> блохчейн

>>1762404
Двухмерная игра "куб сьел квадрат" на SDL или SFML
Аноним 28/07/20 Втр 17:33:00 1762410211
>>1762409
>Двухмерная игра "куб сьел квадрат" на SDL или SFML
Что-то подобное уже есть, только на pygame, на плюсах смотрю в сторону 3d на openGL, создать что-то вроде простого майнкрафта, но может есть поинтереснее идеи/инструменты(например не opengl а Vulkan)
Аноним 28/07/20 Втр 17:38:58 1762412212
Как при выполнении операции int i = 5; i = ++i + ++i; получается не 13, а 14? А? Ученые, в говне моченые? Если я инкрементну i то в первый раз получится 6 а не 7, у меня не пропадут блядь яблоки все разом нахуй.
Аноним 28/07/20 Втр 17:48:59 1762423213
>>1762412
Потому же, почему "Казнить нельзя помиловать" не парсится в русском.
Аноним 28/07/20 Втр 17:55:30 1762426214
>>1762410
> Vulkan
Это далеко не пет-проект будет. Это целый отдел сеньоров будет ебашить без выходных и сна пару лет.
Аноним 28/07/20 Втр 18:00:18 1762432215
>>1762412
Нахуй ты этот баян раскопал?

О каком первом разе ты говоришь, если, скажем, все инкременты и декременты выполнятся до вычисления выражения, и в обоих разах будет 7, например? А если вспомнить, что это UB, в результате хоть 100 будет, хоть сегфолт, хоть dwarf fortress запустится.
Аноним 28/07/20 Втр 18:04:13 1762434216
>>1762432
> dwarf fortress запустится
Это невозможно
Аноним 28/07/20 Втр 18:05:50 1762435217
>>1758813 (OP)
Мб тут сидят челы шарящие за qml, у меня есть stackview приложение, в хедере сделал label с названием текущей страницы, но проблема в том, что пользователь может пойти по такому пути (главная->настройки->темы) а потом возвращаться обратно, и вот чтобы написать сверху корректное название страницы, мне нужно знать какая именно сейчас страница, есть ли возможность это узнать?
Аноним 28/07/20 Втр 18:09:32 1762438218
>>1762434
Невозможное возможноооо я знаю точнооо ♫♫♫

UB на то и UB.
Аноним 28/07/20 Втр 18:10:31 1762439219
Аноним 28/07/20 Втр 18:12:06 1762440220
>>1762438
>>1762439
Скажите хоть один кейс при котором это возможно
Аноним 28/07/20 Втр 18:17:41 1762447221
Аноним 28/07/20 Втр 18:28:58 1762461222
>>1762338
Буст это как раз паттерн того как можно делать одновременно поддерживаемый и производительный код, как сам отец-создатель завещал.
Аноним 28/07/20 Втр 18:29:52 1762463223
>>1761910
Еще раз вопрос задам. Что прочитать чтобы понимать пикрил?
Аноним 28/07/20 Втр 18:31:50 1762465224
>>1762463
А что там непонятного? Простой ведь код
Аноним 28/07/20 Втр 18:36:47 1762470225
>>1762465
Двачую, всё понятно.

мимо джавист
Аноним 28/07/20 Втр 18:38:54 1762473226
>>1762461
> поддерживаемый
> не каждый член комитета его задекриптит
Аноним 28/07/20 Втр 18:39:48 1762475227
>>1762412
Стыдно должно быть, когда такие вопросы задаешь. Ладно там макако-языки, которые с памятью не работают, но при работе с плюсами ты же должен понимать, что переменная i не продублируется в памяти и обращение всегда идет к одной области, далее достаточно знать приоритет операторов и всё становится ясно - увеличивантся i на 1, получаем i=6, увеличивается i на 1, получаем i=7, складывается значение i с значением i, т.е. 7+7, результат записывается в i
Аноним 28/07/20 Втр 18:42:08 1762482228
std::bitset copy или reference если <=32(64)?
28/07/20 Втр 18:49:30 1762491229
>>1762412
Результат этой операции НЕ ОПРЕДЕЛЕН, довен.
Аноним 28/07/20 Втр 18:50:51 1762495230
>>1762491
а почему не определен? это от компилятора зависит?
Аноним 28/07/20 Втр 18:52:59 1762497231
Аноним 28/07/20 Втр 18:53:44 1762499232
Аноним 28/07/20 Втр 18:55:17 1762502233
>>1762473
>если сыч с двача не понял, значит никто не поймет
>буст поддерживают не при помощи людей, а при помози магии
Аноним 28/07/20 Втр 18:55:54 1762503234
>>1762491
>>1762495
Бля чета ору делаем один инкремент и получаем результат ок а делаем два инкремента и все пиздец UNDEFINED BEHAVIOUR ГДЕ ТЫ Я БЕГУ ЗА ТОБОЮ тупа на отъебись исключение сделали и так пойдет
28/07/20 Втр 18:57:19 1762505235
>>1762495
Ты не можешь полагаться на значение переменной, если в том же выражении ты ее инкрементируешь. Результат зависит от уровня оптимизации и чего угодно еше.
Аноним 28/07/20 Втр 18:58:14 1762507236
>>1762499
Не, я про синтаксис. Книгу какую почитатать?
Аноним 28/07/20 Втр 19:11:32 1762520237
>>1762503
Даже переполнение знакового инта - UB. Сложил два больших числа - и вот у тебя уже UB. Охуенный язык, правда?
Аноним 28/07/20 Втр 19:12:46 1762521238
>>1762507
В любой книге про C++ это объясняется бля
Аноним 28/07/20 Втр 19:15:36 1762522239
Аноним 28/07/20 Втр 19:17:31 1762525240
Аноним 28/07/20 Втр 19:38:03 1762531241
>>1762412
> 14
Всмысле, блять? У тебя (5+1) + ((5+1)+1).
Уже на пальцах даже посчитать не можешь?
Аноним 28/07/20 Втр 19:41:14 1762533242
>>1762531
Нет, блеать, у тебя ((5 + 1) + 1) + ((5 + 1) + 1)
Аноним 28/07/20 Втр 19:45:02 1762534243
>>1762533
> ((5 + 1) + 1)
Откуда второй инкремент? Плюсики перед переменной - инкремент до выполнения операции с ней. Как у тебя инкремент 5 даёт результат 7, шиз?
Аноним 28/07/20 Втр 19:53:44 1762535244
>>1762534
Вычисление не до операции, а до выражения шиз. Компилятор, полагаясь на то, что ты только один раз заинкрементишь, может поменять порядок вычисления. А ты его наебал, заинкресентил дважды, получил предсказуемое UB и жидко обосрался.
Аноним 28/07/20 Втр 20:18:43 1762547245
Аноним 28/07/20 Втр 20:21:07 1762553246
НАПОМНЮ ОДНУ ВАЖНУЮ ВЕЩЬ

СТУДЕНТОДОВНЫ ТАК И НЕ РЕШИЛИ ПРОСТЕЙШУЮ ЗАДАЧКУ: >>1759518
Аноним 28/07/20 Втр 20:27:35 1762560247
Аноним 28/07/20 Втр 20:28:43 1762564248
>>1762553
Массив из 20 указателей на функцию, возвращающих указатель на int, и принимающих инт и массив из 10 указателей на константный указатель на константный указатель на чар
Аноним 28/07/20 Втр 20:30:04 1762565249
Аноним 28/07/20 Втр 21:19:30 1762594250
>>1759759
Zero overhead abstraction гугли. У нас на работе уже все драйвера на С++17 пишут.
Аноним 28/07/20 Втр 21:20:00 1762595251
>>1759518
>Что за хуйня ниже написана?
Говнокод
Аноним 28/07/20 Втр 21:23:44 1762598252
Аноним 28/07/20 Втр 21:40:05 1762605253
>>1762594
И каково писать код в кернел-спейсе без STL? Понятно, что плюсы в лоу лвле дают жесткое преимущество в лице темплейтов, constexpr, ну и ООП, но все же...

И да, дрова же на винду пишите, я так понимаю? На Линукс писать дрова на плюсах - тот еще анальный секс.
Аноним 28/07/20 Втр 21:44:48 1762615254
Аноним 28/07/20 Втр 21:47:56 1762617255
15918210644823.jpg 276Кб, 1024x724
1024x724
>>1762564
Ты ваще деревянный нахуй ? Тебе ебать уже прямым текстом сказали, что ИТА НИ МАССИВ СУКА НИХУЯ ДОВН ТЫ ЕПТА ТУПОРЫЛЫЙ БЛЯ.
хакир я 28/07/20 Втр 22:15:54 1762635256
Кристина Финк.jpg 77Кб, 679x1024
679x1024
int ☭ (☭ arr(int, char ☭ const (☭ const ☭)⟦10⟧)) ⟦20⟧;
int
main()
{
char ☭const (☭ const ☭x)⟦10⟧ = 0;
int ☭(☭p)⟦20⟧ = arr(1, x);
return ☭((☭p)⟦0⟧);
}
Аноним 28/07/20 Втр 22:27:02 1762643257
>>1762535
> Компилятор, полагаясь на то, что ты только один раз заинкрементишь, может поменять порядок вычисления. А ты его наебал, заинкресентил дважды, получил предсказуемое UB и жидко обосрался.
Только если в твоих фантазиях. Мой компилятор работает как надо и видит что там написано. Ты, блять, не в карты с компилятором играешь, чтоб наебать его, вытащив из рукава инкремент.
Аноним 28/07/20 Втр 22:30:24 1762646258
>>1762643
Ладно-ладно, ты меня убедил, можешь запустить этот код и убедиться, что результат, как ты и говоришь, будет 13. Возьми пряник с полки.
Аноним 28/07/20 Втр 22:33:56 1762647259
01.png 61Кб, 376x316
376x316
>>1762412
собственно, вот так
Аноним 28/07/20 Втр 22:39:34 1762650260
>>1762647
А можно делать что-то типа
i = 0;
a[++i] = 666;
и ожидать, что в a[1] окажется 666? Или это зависит ко конпелятора?
Аноним 28/07/20 Втр 22:50:47 1762659261
>>1762650
Можно, конечно. Инкремент только один.
Аноним 28/07/20 Втр 23:04:32 1762677262
>>1762650
да, в этом случае 666 запишется в a[1], здесь нет UB и не зависит от компилятора.
Аноним 28/07/20 Втр 23:27:06 1762695263
15958769847640.jpg 33Кб, 400x400
400x400
>>1762643
>>1762646
>>1762647
>>1762650
>>1762659
>>1762677
Хули вы тут нанаркоманили, довны? Вам заняться больше нехуй, дебилы великовозрастные? Слово "стандарт" не слышали? Всем насрать на ваши пердольки в соснольке, тестовые запуски и дизасм, канают только цитаты из стандарта. Ибо компилятор сегодня так компилит, а завтра хуяк — и новая версия вышла, которая диск форматирует. И то, и другое будет допустимо по стандарту, т.е. правильно, ибо для вашего примера по нему BEHAVIOR IS UNDEFINED.
Аноним 28/07/20 Втр 23:32:08 1762699264
>>1762695
Когда кто-то говорит "UB", всегда подразумевается стандарт. Но тот анон и слышать ничего не хочет и пытается применить логику других языков к плюсам.
Аноним 28/07/20 Втр 23:50:00 1762708265
15956055224490.gif 31Кб, 220x228
220x228
>>1762699
Так а нахуя ты тогда втираешь что-то этому долбоебу, если он тупой? Ему же сказали уже про sequence points.

Кстати, когда кто-то подразумевает стандарт, не приводя цитат и номеров параграфов, можно для простоты смело считать этого умника беспруфным петушком.
Аноним 29/07/20 Срд 00:03:19 1762716266
>>1762708
> нахуя
Прост) Может что и выгорит.

> не приводя цитат и номеров параграфов
Здесь все такие.
Аноним 29/07/20 Срд 01:18:50 1762777267
>>1758888
>А если у функции полсотни аргументов?
делай инициализацию в две ступени
Foo foo = Foo()
.Set()
.Set()
.Set()
.Set();

;-D
(реально так тоже делают)
Аноним 29/07/20 Срд 01:24:51 1762783268
>>1762777
В жабе это был бы какой-нибудь билдер.
Аноним 29/07/20 Срд 01:56:33 1762802269
>>1762783
да, оно и есть, прост забыл
Аноним 29/07/20 Срд 03:46:41 1762836270
Аноним 29/07/20 Срд 04:19:59 1762843271
>>1762598
Нет.

>>1762605
Ты про рантайм? Один раз написал и забыл, обновляем сдк по надобности. Полная поддержка стандартной библиотеки включая исключения С++.
Аноним 29/07/20 Срд 06:23:01 1762875272
Пытаюсь вкатиться на плюсы после обычного си. Но мог не желает воспринимать даже банальное std::cout cout<<"sosi pidor"<<endl; Если endl ещё понятно, то :: << что за хуита типа ассемблера блядь. Это пиздец даже хелловорлд по памяти не могу написать. Это пройдёт или мне не дано?
Аноним 29/07/20 Срд 06:33:16 1762881273
>>1762875
У тебя беды с башкой. Сходил бы к неврологу для начала. Без шуток
Аноним 29/07/20 Срд 06:36:22 1762884274
>>1762881
Какой сходить невролог в пик вируса о чём ты?
Аноним 29/07/20 Срд 08:19:33 1762901275
>>1762836
Дурачок, да ты будешь со своими дноклассниками в падике так базарить. Пруфца у конпилятора спроси (но ты не сумеешь, лол).
>>1762777
Говно из жопы.
Этот >>1762783 дело говорит.
В принципе, конфиг-структурка тоже канает.
Аноним 29/07/20 Срд 08:44:33 1762912276
Как вы готовите HiDPI в Qt?
Аноним 29/07/20 Срд 09:10:18 1762918277
>>1762875
std::endl вообще лучше не используй
Аноним 29/07/20 Срд 09:21:42 1762921278
изображение.png 5Кб, 465x187
465x187
изображение.png 1Кб, 250x27
250x27
Что я делаю не так?
Аноним 29/07/20 Срд 09:33:04 1762923279
>>1762921
Ну дак а симейк-то что говорит?
Аноним 29/07/20 Срд 09:41:49 1762926280
>>1762875
Стандартные потоки говно.
Юзай fmt::print, к примеру -- https://github.com/fmtlib/fmt
вроде оно в стандарт должно скоро войти
Аноним 29/07/20 Срд 09:44:59 1762928281
Аноним 29/07/20 Срд 09:50:23 1762929282
15956600145010.jpg 53Кб, 444x444
444x444
>>1762926
>Стандартные потоки говно.
>Юзай fmt::print, к примеру -- https://github.com/fmtlib/fmt
>вроде оно в стандарт должно скоро войти
А можно просто printf
Аноним 29/07/20 Срд 10:07:26 1762932283
Двачане, через 2 часа собес на джуна cpp. Что повторить чтобы не навалить говна? С меня как обычно Нихуя
Аноним 29/07/20 Срд 10:29:33 1762941284
Аноним 29/07/20 Срд 10:39:00 1762947285
Аноним 29/07/20 Срд 10:40:11 1762950286
Аноним 29/07/20 Срд 10:43:54 1762953287
>>1762928
Если буст нашёлся, а автокомплит и прочее не работает, то это к Intellisense, гугли, хз чё за IDE у тебя.
Ещё проверь, что ты линканул нужные таргеты буста со своим таргетом с помощью target_link_libraries
Аноним 29/07/20 Срд 10:43:59 1762954288
>>1762926
Даже на элементарный вывод костыли нужны, охренеть
Аноним 29/07/20 Срд 10:45:01 1762955289
>>1762954
Не нужны, тебе сказали, что ЛУЧШЕ использовать
Аноним 29/07/20 Срд 10:48:34 1762958290
Аноним 29/07/20 Срд 10:50:13 1762960291
>>1762921
Вообще я такой штукой не пользовался, только vcpkg. Проверь битность, попробуй просто boost написать, будет ли она находить что то.
Аноним 29/07/20 Срд 11:00:57 1762962292
>>1762954
И что? Стд вообще лучше не пользоваться. Там обычно нечто раздутое и пытающееся угодить всем но по чуть чуть. Этакий средний вариант. Узкоспециализированные либы всегда лучше. Это же касается всяких контейнеров, строк и т.д.
Аноним 29/07/20 Срд 11:11:41 1762968293
>>1762962
> Стд вообще лучше не пользоваться
> Это же касается всяких контейнеров, строк и т.д.
Съеби
Аноним 29/07/20 Срд 11:28:40 1762979294
Аноним 29/07/20 Срд 11:29:46 1762980295
>>1762875
Прочитай какого-нибудь Прату из оп поста, туториалами в интернете не обойдёшься.

>>1762926
Зверович, хватит на двачах и в твиттере сидеть
Аноним 29/07/20 Срд 11:31:18 1762981296
>>1762921
target_link_libraries Boost::boost на свой таргет сделал-то?
Аноним 29/07/20 Срд 11:46:27 1762985297
Аноним 29/07/20 Срд 11:50:16 1762991298
>>1762968
Что не так, школьничек? Никто в здравом уме не будет использовать std::string для чего то сложнее laba2.cpp в текстовых редакторах нужны ropestring, в базах данных тоже свое.
Аноним 29/07/20 Срд 12:10:06 1763008299
>>1762991
А имена файлов в редакторах у тебя тоже роупстринги? А текст в менюшках, диалогах и прочем? А строки запросов в поиске и прочем? А в графических редакторах тоже роупы? Или графические — хуйня для школоты? А в играх? Короч хуйни-то не неси, дядь. То, что ты перечислил — узкие области.
Аноним 29/07/20 Срд 12:28:08 1763025300
>>1763008
Есть много других строк. Например в граф редакторе у меня компайл тайм хешируемые строки. std string так не умеет, она не constexpr
Аноним 29/07/20 Срд 12:29:48 1763029301
>>1762985
Проще потом будет перелезть на format из C++20 (там скобочки, а в бусте проценты)
Аноним 29/07/20 Срд 12:39:39 1763055302
>>1762981
Нет, а как его надо сделать?
Аноним 29/07/20 Срд 12:52:15 1763068303
TbJ6GdU4hCY.jpg 113Кб, 1229x593
1229x593
У страуструпа это читать?
Аноним 29/07/20 Срд 12:53:02 1763070304
Ни в clang, ни в gcc до сих пор не завезли С++ 20, серьезно блять?? Какого хуя?!
Аноним 29/07/20 Срд 12:57:51 1763077305
Аноним 29/07/20 Срд 13:06:43 1763087306
>>1763077
Я видел. Не могу понять, что за foo
Аноним 29/07/20 Срд 13:08:03 1763089307
>>1763087
Ну есть foo и есть bar, а еще baz
Аноним 29/07/20 Срд 13:11:47 1763094308
>>1763068
Она же старая очень, не? 10 лет уже. Скажите что читать
Аноним 29/07/20 Срд 13:16:14 1763099309
>>1763087
foo это сокращенно fooнкция
Аноним 29/07/20 Срд 13:19:33 1763102310
Аноним 29/07/20 Срд 13:19:55 1763103311
>>1763099
И какую мне функцию туда вписать? Я не понимать.
Аноним 29/07/20 Срд 13:21:14 1763106312
Аноним 29/07/20 Срд 13:22:40 1763109313
>>1763102
Даже не просто спасибо. ОГРОМНОЕ СПАСИБО
Аноним 29/07/20 Срд 13:23:22 1763111314
>>1763070
А ты чего хотел, чтобы коммунити мгновенно это сделало? Жди года 3.
Аноним 29/07/20 Срд 13:29:05 1763117315
Аноним 29/07/20 Срд 13:36:13 1763126316
ХВАТИТ ТРОЛЛИТЬ ЗЕЛЕНЬ.
Аноним 29/07/20 Срд 13:36:57 1763129317
Аноним 29/07/20 Срд 13:56:51 1763161318
>>1763126
А где тут запятую ставить?
Аноним 29/07/20 Срд 14:00:07 1763171319
>>1763161
Перед первым словом.
Аноним 29/07/20 Срд 14:09:20 1763189320
Аноним 29/07/20 Срд 14:09:37 1763190321
Аноним 29/07/20 Срд 14:29:15 1763220322
>>1763070
В двадцатых дофига больших фич, которые с 11 года варились: рейнджи, модули, корутины, космические корабли, а концепты и того раньше
Аноним 29/07/20 Срд 14:49:07 1763254323
Читаю книгу Страуструпа, нахожусь на главе 12.3, скачал установил fltk все работает , но не могу найти simple_window.h и т.д, на его сайте не нашел, где еще можно найти эти файлы? Подскажите пожалуйста.
Аноним 29/07/20 Срд 14:56:29 1763262324
>>1758847
Знаю, что слоу, но блядь, какого хера пихать объявление структуры в класс? Это же блядь неудобно, когда у тебя есть многоэтажная херня, тем более такая.
Аноним 29/07/20 Срд 14:57:24 1763265325
Как много интересных проектов пишется на плюсах?
Под интересными подразумеваю разные алгоритмы, оптимизацию разную
Или большая часть - это дрочево Qt, winAPI, MFC и прочем байтоебстве?
Аноним 29/07/20 Срд 15:02:56 1763276326
>>1763265
Если хочешь алгоритмы ищешь в нете и бабахаешь деревьвя всякие там.
Аноним 29/07/20 Срд 15:06:18 1763280327
>>1763265
Любая программа это набор алгоритмов и оптимизаций, дурик.
Аноним 29/07/20 Срд 15:08:00 1763282328
>>1763276
Ну деревья бабахаю я и так, просто интересно в каких местах нет дрочева каких-нибудь легаси технологий, под винду, да еще и за низкую зп?

Я сейчас в ДС нахожусь, из интересного видел только хуавей и яндекс. Еще смотрел на разработчиков софта для моделирования, сапры там разные, но работы уж сильно мало.
Аноним 29/07/20 Срд 15:10:49 1763284329
>>1763282
Ща никто свои велосипеды как я понял не пишет, ну разве для себя, остальное на готовом.
Аноним 29/07/20 Срд 15:40:39 1763311330
>>1763254
На гитхабе кто то выкладывал.
Аноним 29/07/20 Срд 16:20:23 1763395331
>>1763190
Ну да, наверное, но сколько лет его еще допиливать будут. У меня на компе не работает.
Аноним 29/07/20 Срд 16:24:48 1763404332
>>1763025
>компайл тайм хешируемые строки
А вот диды считали perfect hash и у них получалось лучше.
Аноним 29/07/20 Срд 16:33:15 1763417333
>>1763070
Сударь, вы не потеряли часом стыд требовать поддержку стандарта, который ещё не приняли?
Так-то в GCC 10 из крупных изменений только модулей не хватает, но серьёзно применять всё это дело лет через пять, дай бог через три можно будет без опаски.
Аноним 29/07/20 Срд 16:56:06 1763462334
Двощек, выручай!

Задали задачку, не смогла решить.
Есть функция на С++. Она принимает параметром указатель на функцию, принимающую параметром void☭ и возвращающую bool.И самая первая функция возвращает bool: true, если функция-параметр возвращает false при передаче ей параметром самой же себя. Вопрос: что вернет самая первая функция, если ей передать параметром саму себя?
Аноним 29/07/20 Срд 16:58:27 1763464335
>>1763462
Инвертированное то, что передаст первая переданная функция по вложенности.
Аноним 29/07/20 Срд 17:11:59 1763476336
>>1763464
Да,я и думаю,что она передаст. Тоесть она вернет инвертированную себя же?
Аноним 29/07/20 Срд 17:15:42 1763481337
>>1763476
Короче false передаст первая функция
Аноним 29/07/20 Срд 17:21:23 1763482338
>>1763265
в сторону машобчика и CV смотри
Аноним 29/07/20 Срд 17:45:51 1763509339
Почему во многих, даже практически во всех, примерах/туториалах не используется "using namespace x", а просто везде пишется x::? Ведь вариант с using namespace удобней же.
Аноним 29/07/20 Срд 17:47:37 1763512340
>>1763481
Сказали что это неправильно
Аноним 29/07/20 Срд 17:53:01 1763513341
>>1763509
Потому что цель примера/туториала научить и показать как можно детальней, а не "удобней и быстрее".
Аноним 29/07/20 Срд 17:54:28 1763514342
f274f0df12df40a[...].jpg 85Кб, 700x477
700x477
>>1763509
Почему бы тебе не спросить это на парах у своего пердподавателя вместо того, чтобы засирать ламповый тредик на двощике? И почему бы тебе вместо того, чтобы считать себя самым умным и задавать "риторические" вопросы космического масштаба и космической же глупости, просто не взять бест практис на вооружение?
Аноним 29/07/20 Срд 17:56:47 1763519343
>>1763509
Если у тебя два одинаковых имени функции или класса, ты охуеешь.
Аноним 29/07/20 Срд 17:57:55 1763520344
>>1763513
Спасиб, я думал может разница какая есть.

>>1763514
Я ничего не засираю. У какого преподавателя? Почему тут все думают если задаю вопросы по программированию то я учусь\работаю в этой сфере. Для меня это просто увлечение. И с чего ты взял что я считаю себя самым умным? Мне просто интересно было. Ёбнутый.
Аноним 29/07/20 Срд 18:10:06 1763532345
>>1763462
Звучит как парадокс, типа ты не сможешь написать такую функцию. сиськи будут?
Аноним 29/07/20 Срд 18:23:41 1763555346
>>1763520
Он решил что это продолжение вчерашнего троллинга. Это рили слишком банальный вопрос.
Аноним 29/07/20 Срд 18:23:47 1763556347
>>1763532
Да там изначальное задание какая-то херня.
Аноним 29/07/20 Срд 19:01:33 1763599348
VrGXs0NZ400x400.jpg 9Кб, 240x240
240x240
>>1763520
Вы стоите на самой низкой ступени развития, вы ещё только формирующееся, слабое в умственном отношении существо, все ваши поступки чисто звериные, и вы в присутствии анонов со знанием стандарта позволяете себе с развязностью совершенно невыносимой подавать какие-то советы космического масштаба и космической же глупости о том, как удобнее неймспейсы использовать. Вам нужно молчать и слушать, что вам говорят. Учиться и стараться стать хоть сколько-нибудь приемлемым членом социального общества.
Аноним 29/07/20 Срд 19:09:46 1763606349
>>1763532
Кстати, я смог написать (чисто ради интереса).
Естественно, без c-style cast там не обошлось.
Может быть, кто-нибудь придумает лучше.

bool f(void ☭vp) {
bool (☭ff)(void ☭) = (bool(☭)(void ☭))vp;
return !ff(vp);
}

int main() {
return f((void ☭)f);
}
Аноним 29/07/20 Срд 19:27:16 1763629350
Объясните как компилировать под линпукс? Что там вместо екзешника?
Аноним 29/07/20 Срд 19:36:29 1763639351
Аноним 29/07/20 Срд 19:37:12 1763641352
Аноним 29/07/20 Срд 19:40:13 1763645353
>>1763641
Я не он, но при запуске ругается на то, что указывает куда-то не туда.
Аноним 29/07/20 Срд 19:40:42 1763646354
Аноним 29/07/20 Срд 19:47:43 1763651355
>>1763629
g++ laba1.cpp -g -o laba1

g++ - надмножество компилятора gcc для компиляции плюсового кода.
laba1.cpp - твоя лаба на плюсах, которую ты хочешь скомпилить, студентик
-g - флаг, который добавляет символы отладки в бинарь, чтобы ты не отлаживал чистый асм в итоге
-o - флаг спецификации имени исполняемого файла
laba1 - имя исполняемого файла твоей лабы.

Запуск - ./laba1

Формат бинарных файлов в Линуксе - ELF (executable and linkable format), погугли его структуру, гораздо менее заебистая и костылированная, нежели у виндовых бинарей.
Аноним 29/07/20 Срд 21:10:41 1763705356
15894600332590.png 30Кб, 656x527
656x527
>>1763641
>>1763645
Хорошо, тогда добавьте вначале эту строчку:

#include <dlfcn.h>

Добивайтесь, чтобы отконпилировалось, тогда все обязано работать, как задумано. И запускайте. Ну и почему сегфолт возникает, как вы думаете?
Аноним 29/07/20 Срд 21:28:00 1763707357
>>1763705
>Ну и почему сегфолт возникает, как вы думаете?
Компьютер видит, что на нем пытаются решить проблему останова.
Аноним 29/07/20 Срд 21:31:27 1763710358
images.jpeg 13Кб, 267x188
267x188
stack overflow
Аноним 29/07/20 Срд 21:31:48 1763711359
>>1763606
Упрощу твою портянку чтоб было очевиднее

bool f() { return !f(); }

int main() { f(); }
Аноним 29/07/20 Срд 21:57:36 1763725360
mini-23.jpg 59Кб, 768x567
768x567
>>1763711
Ты отсылочку проебал, оптимизатор малолетний.
Аноним 29/07/20 Срд 22:18:28 1763744361
>>1763651
> Формат бинарных файлов в Линуксе - ELF (executable and linkable format), погугли его структуру, гораздо менее заебистая и костылированная, нежели у виндовых бинарей.
Красноглазому дауну с комплексом неполноценности лишь бы на винду насрать
Аноним 29/07/20 Срд 23:08:47 1763781362
>>1763651
> менее заебистая и костылированная
Именно поэтому надо под каждый дистр собирать эту дрисню или тащить с собой столько зависимостей, что электрон позавидует? Действительно всё для людей.
Аноним 29/07/20 Срд 23:19:46 1763787363
>>1763651
> g++ - надмножество компилятора gcc для компиляции плюсового кода.
Нет, т.к. плюсы - это не надмножество сишки, а в лучшем случае надмножество некоторого её подмножества. Даже набор UB у них разный.
Аноним 29/07/20 Срд 23:20:01 1763788364
>>1763744
Найс пердак у виндауна улетел)
>>1763781
Под какой каждый дистр, какие еще блять зависимости, шиндо-шиз? Ты Линукс хоть раз юзал или слушал рассказы неосиляторов, пытавшихся в 2000 году поставить дженту на камплютер?
Аноним 29/07/20 Срд 23:20:29 1763789365
>>1763787
речь про компилятор, а не про язык.
Аноним 29/07/20 Срд 23:23:24 1763793366
>>1763789
Да и компилятор тоже.
Аноним 29/07/20 Срд 23:41:19 1763811367
>>1763793
у каждого компилятора есть свои расширения, это уже отдельный вид спорта.


Аноним 29/07/20 Срд 23:47:05 1763818368
Аноним 29/07/20 Срд 23:55:36 1763830369
>>1763744
LH!This post cannot be read in DOS mode.
Аноним 30/07/20 Чтв 00:23:50 1763847370
>>1763788
Подожди, но ведь прыщеось теперь одна из подсистем винды.
Аноним 30/07/20 Чтв 00:40:51 1763854371
>>1763847
Сделано для девелоперов, ибо винда для программиста - анальная боль и мучительные страдания, благо до майков дошло это.
Аноним 30/07/20 Чтв 00:58:42 1763858372
>>1763854
>винда для прыщедауна - анальная боль и мучительные страдания
быстрофикс
Аноним 30/07/20 Чтв 01:00:22 1763861373
>>1763854
Красноглазые дауны пилят полное дерьмо, которое еле еле забороли в пакетах под луниксом, а под винду оно просто дерьмо.

Спасибо микрософту.
Аноним 30/07/20 Чтв 01:01:03 1763862374
Аноним 30/07/20 Чтв 01:33:56 1763867375
>>1763847
Сделано через жопу, кстати. Гуй работает криво, systemd задизейблен, докер устанавливается с бубном, с case insensitive пиздец.
Аноним 30/07/20 Чтв 01:46:21 1763871376
>>1763867
> systemd задизейблен
О, уважуха майкам.
Аноним 30/07/20 Чтв 01:53:16 1763873377
>>1763871
Была бы хоть рабочая альтернатива, хотя бы велосипед от MS. Но хуй.

Вообще, в WSL2 многое обещают переделать.
Аноним 30/07/20 Чтв 02:06:58 1763881378
>>1763861
> "Дерьмо", которое крутится на 90% серверов в мире, на 100% роутеров, на 100% суперкомпьютеров, на всем IoT, Андроид (там Линуксовое LTS ядро и подрубленный SELinux), клауды, вся эмбедщина, вся робототехника, автономные машины, а также все вменяемые RTOS тоже на основе Линукса. Линукс - literally костяк почти всех компьютерных технологий в мире и костяк всего Интернета. Нет Линукса - нет Интернета.
> Винда, которая господствует только на десктоп сегменте благодаря агрессивному маркетингу и своевременному впариванию говна в хлебала потреблядей, проиграв во всех остальных сегментах рынка, жидко обосравшись в рейтузы, ибо они производят зондированное лагающее говно для типичных потреблядей с 1985 года.

Пиши еще, виндаун, ты забавный)
Аноним 30/07/20 Чтв 02:32:14 1763888379
Аноним 30/07/20 Чтв 02:38:58 1763893380
>>1763888
Ты не понимаешь!!! Ядро зашварилось об шинду! Это теперь не настоящий линупс! Вендекапец! Вендекапец!

>>1763881
Игорь тонет.

А серьезно, после введения wsl мне категорически непонятен смысл его существования где-то кроме вышеупомянутых роутеров.
Аноним 30/07/20 Чтв 02:39:39 1763894381
>>1763881
Ебать ты клоун, иди хоть глянь актуальные статы. IoT - 30% винда, Server Os - более 50% винда, Desktop - 90% винда. ~60% тырпрайза за бугром - винда. И это еще даже Windows X не вышла. Через годика два винда будет преобладать вообще везде. Легаси линукс не нужен.
Аноним 30/07/20 Чтв 02:45:52 1763895382
>>1763888
Ядро-то работает, полноценные эльфы запускаются. Проблемы с сервисами в основном.
Аноним 30/07/20 Чтв 02:50:39 1763897383
>>1763881
Дурачок не понимает, для чего нужна каждая операционная система, и искренне считает, что винда всем насильно засунута только благодаря маркетингу. Я в шоке.

Попиши код на роутере, полудурок. А я буду его писать в студии под виндой.
30/07/20 Чтв 02:57:22 1763898384
Какие же вы оба долбоёбы, блять. Надеюсь, вы рофлите так.
Аноним 30/07/20 Чтв 03:10:32 1763900385
Аноним 30/07/20 Чтв 03:14:24 1763902386
>>1763894
> Server Os - более 50% винда
Земля пухом, виндаун. 99%, ага.
Аноним 30/07/20 Чтв 03:15:03 1763903387
>>1763897
Visual studio code и под линупсом работает, дебс. А сама студия в дупу не нужна, да еще и со своим кривым мсбуилд.
Аноним 30/07/20 Чтв 03:31:19 1763907388
>>1763903
щас бы текстовый редактор на электроне равнять с профессиональным инструментом разработки
Аноним 30/07/20 Чтв 03:35:45 1763908389
>>1763900
Я же написал: >>1763867

Для гуя надо отдельную прогу ставить, некоторые проги работают, некоторые срут в консоль и падают, ещё куча варнингов про непрааильную версию mesa. Чтобы починить, нужно хитро переименовывать либы в /usr.
Докер просто так не работает, нужно гуглить "как установить докер на всл" и читать огромные статьи, где пишется, что для установки ещё и докер десктоп нужен.
systemd как таковой есть, но через него ничего не сделать. Сервис не запустить, в автозапуск не добавить.
Ну а с case insensitive ничего не сделать, пока это работает поверх NTFS, а не в виртуалке.
Аноним 30/07/20 Чтв 03:54:48 1763912390
yNBzerXD2xo.jpg 8Кб, 200x200
200x200
>>1763907
> профессиональным инструментом разработки
Аноним 30/07/20 Чтв 04:00:51 1763913391
Аноним 30/07/20 Чтв 07:55:41 1763944392
>>1763907
>щас бы текстовый редактор на электроне равнять с текстовым редактором на сисярпе 20-летней выдержки

Поправил.

Сук, вспоминаю шестерку, летавшую на моем Celeron 300 и плачу в подушку.
Аноним 30/07/20 Чтв 07:57:57 1763948393
изображение.png 51Кб, 860x426
860x426
just trolling Аноним 30/07/20 Чтв 08:03:10 1763949394
++c.png 80Кб, 816x852
816x852
Аноним 30/07/20 Чтв 08:34:04 1763952395
Аноним 30/07/20 Чтв 08:53:11 1763957396
VIM
Аноним 30/07/20 Чтв 09:03:09 1763964397
unnamed (25).jpg 43Кб, 512x341
512x341
>>1763867
>Гуй
Нахуй он на серваке? Запускать фотожоп под вайном? У тебя уже есть охуенный виндовый гуй в самой же винде, хули тебе еще надо?
А ДЕ линуксовые один стыд, что планшетопараша гном, что убогая поебень в духе крысы или, боже упаси, лхде. КДЕ тока более-менее норм, но тоже не дотягивает.
>с case insensitive пиздец
Мак ни разу не видел? Кстати, макось - это, в отличие от прыщеоси, НАСТОЯЩИЙ юникс.
>>1763881
>Винда, которая господствует только на десктоп сегменте благодаря агрессивному маркетингу
Ох лол. Пердольное чмо, которое даже блокнот под три системы или ардуино-хуитку под несколько плат никогда не поддерживало, судит о качестве огромных систем вроде винды. Почему же тогда винда до сих пор не сдохла, если она такая нехорошая, а линукс такой хороший? Я тебе как яблочник могу сказать, что во многих аспектах винда как минимум не хуже яблока, не говоря уже о прыщепарашках (хотя вендо-ноуты и вендо-моники то еще говно. насчет surface не знаю.)
Аноним 30/07/20 Чтв 09:11:08 1763967398
>>1763964
> Нахуй он на серваке?
Какой нахуй сервер на винде? Это ты выше про 50% серверов писал? Можешь не отвечать.

> Мак ни разу не видел? Кстати, макось - это, в отличие от прыщеоси, НАСТОЯЩИЙ юникс.
Это все знают, при чём тут мак вообще? Речь именно про лялех, а не юникс как таковой.
Аноним 30/07/20 Чтв 09:15:39 1763970399
Аноним 30/07/20 Чтв 09:26:15 1763972400
>>1763967
У мака файловая система по умолчанию кейс инсенситив, прыщедаун.
>Какой нахуй сервер на винде?
Ты тупой, блять? Зачем нахуй линуксовый гуй под WSL? Попердольки без перезагрузки устраивать? WSL ради докера пилят в первую очередь, чтобы отказаться от виртуалочки.
Аноним 30/07/20 Чтв 10:16:14 1763998401
>>1763967
>Какой нахуй сервер на винде?

Энтерпрайзный блядь. С Active Directory, Skype и прочими приблудами реального бизнеса, сидящего в офисах.
Аноним 30/07/20 Чтв 10:19:48 1764005402
>>1763912

Скачай пиратский SDK для PS4,

Скачай UE4

Скачай Unity

Во всех трех студия - стандарт для разработки.

не хипстоблокноты с репопомойками плагинов от васянов, не высеры джетбрейнс, не делфи эмбракадеро

И это только геймдев.
Аноним 30/07/20 Чтв 10:20:29 1764008403
>>1764005
>не жирножабные жирновысеры джетбрейнс
Аноним 30/07/20 Чтв 10:24:29 1764014404
>>1764005
> высеры джетбрейнс
Тащемта студия без решарпера - это как ворд без шрифтов или эксель без таблиц
Аноним 30/07/20 Чтв 11:14:18 1764068405
Аноны, подскажите, кто на с++ пишет разные многопоточные сервера, с чего блять вообще начать то? Вот нужно мне написать допустим сервер и как это? Есть какая-нибудь литература? Знаю только в с++ QT, немного STL. Какие разделы надо проработать? По вакансиям все более менее вменяемое в основном это.
Аноним 30/07/20 Чтв 11:23:08 1764081406
>>1764014
>студия без Visual Assist
Поправил тебя, не благодари.
Хотя для шарпов он хреновый, соглашусь
Аноним 30/07/20 Чтв 11:32:30 1764100407
Аноним 30/07/20 Чтв 12:20:14 1764154408
>>1764081
> Visual Assist
Кал говна, который показывает ошибку ещё до того, как ты закончил писать выражение и потом ещё несколько секунд подсвечивает корректный код красным.
Аноним 30/07/20 Чтв 12:39:34 1764174409
>>1764068
Ооо. Я тоже такой целью задался. Начал с ученья плюсов. Мне целых 5 книг посоветовали. Думаю сначала Липпмана прочесть, потом многопоточность на плюсах, и затем буст учить.
Аноним 30/07/20 Чтв 12:47:17 1764185410
>>1764068
Если ты реально ничего не знаешь и хочешь глубинных познаний, то почитай про обычные блокирующие сокеты (connect,bind,recv,send), сделай с ними обычный сервак типа 1 тред = 1 соединение. Туториалов полно. Потом сделай с неблокирующими, используя селект/полл/IOCP с пулом тредов/форками и всеми пирогами. После этого всякие асио, libevent и другие библиотеки станут очевидными и можно перейти к их изучению. Какой-нибудь отдельной книги про всё это не знаю, хотя наверняка такая есть.
Аноним 30/07/20 Чтв 12:48:33 1764186411
>>1764008
Типо дотнетный высер м$ чем-то лучше, лул.
Аноним 30/07/20 Чтв 12:56:15 1764189412
>>1764186

Там хотя бы не заставляют писать бойлерплейт для тамошнего аналога BigDecimal, при том что могли бы основной рабочий тип (для бабла) в примитивы языка добавить, со всеми операторами.
Аноним 30/07/20 Чтв 13:01:25 1764194413
15949332304910.jpg 190Кб, 756x751
756x751
Аноним 30/07/20 Чтв 14:14:32 1764296414
>>1763998
Двачую. Они просто не видели как работает поддержка инфраструктуры в тысячи объектов и десятки тысяч ИТ-устройств. Когда не ты лично следишь за этим, а всякие подрядчики и хуй знает какие ещё дауны. Если нет гуя, то тебе либо сломают все нахуй, либо заебут вопросами.
Аноним 30/07/20 Чтв 15:20:38 1764366415
>Копипастишь примеры из учебников
>Нихуя не работает, куча ошибок
Почему такая ерунда?
Аноним 30/07/20 Чтв 15:32:37 1764373416
>>1764366
Ошибки распознавания текста?
Устаревшая версия чего либо?
Примеры подразумевают что объясняется только какой то один аспект, а все остальное надо дописать самому/взять из предыдущего?
Аноним 30/07/20 Чтв 16:01:05 1764385417
>>1764366
Не копипасти, учись писать код сам.
Аноним 30/07/20 Чтв 16:34:06 1764407418
>>1764385
двачую этого господина
Аноним 30/07/20 Чтв 16:41:26 1764418419
>>1764185
да я в общих чертах писал примитивную хуйню один сервер один клиент, а вот как что-нибудь серьезное сделать, х.з.
Аноним 30/07/20 Чтв 17:38:08 1764473420
Как устранить ошибку " обнаружен многократно определённый символ - один или более" при написании иклуда в более одной вкладке в VS 2019?
Аноним 30/07/20 Чтв 17:41:54 1764475421
>>1763482
хуйня, вакансий ~ нихуя нет
Аноним 30/07/20 Чтв 17:45:11 1764477422
>>1764473
Pragma once или include guards.
Аноним 30/07/20 Чтв 17:53:23 1764480423
>>1764473
Что-нибудь почитать о том, как работает компиляция
Аноним 30/07/20 Чтв 17:57:41 1764482424
>>1764480
Тебе надо что-нибудь почитать про то, как работает мозг, почему человек может думать и откуда берутся мысли, чтобы подумать, что мне, может быть, читать эти твои мануалы нахуй не нужно, а нужно мне просто взять и пользоваться?
Аноним 30/07/20 Чтв 18:02:11 1764488425
>>1764482
Тебе надо почитать о том, как гуглить, твоя проблема встречалась уже тонны раз
Аноним 30/07/20 Чтв 18:14:40 1764493426
>>1764488
Зачем гуглить, если есть яндекс? И решения я таки не нашёл, хотя искал. В решении типа "консольное приложение" проблема сохраняется.
Аноним 30/07/20 Чтв 18:42:28 1764510427
>>1764373
По разному. Часто не переваривает заголовочники функции, иногда ругается на фигурную скобку и сидишь такой тупишь не знаешь что делать
Аноним 30/07/20 Чтв 18:54:08 1764516428
>>1764482
Ну тогда я рекомендую закончить с программированием, раз мануалы читать тебе нахуй не нужно
Аноним 30/07/20 Чтв 19:17:10 1764532429
1577256671466.png 65Кб, 690x419
690x419
>>1764510
Поставь нормальную IDE с плагинами и проблема скобочек исчезнет навсегда.
Аноним 30/07/20 Чтв 19:19:47 1764533430
>>1764510
Ну, хоть покажи этот пример со скобкой.
Аноним 30/07/20 Чтв 21:15:22 1764579431
>>1762112
ЭТА ДРУГОЕ ЛЕГАСИ!!1!1
Аноним 30/07/20 Чтв 21:21:28 1764581432
>>1762112
>одним полотном
Нет, надо 5-строчными методами, которые связаны глобальными переменнымиполями класса.
Аноним 30/07/20 Чтв 21:23:57 1764583433
>>1762087
На каком языке кодишь?
Аноним 31/07/20 Птн 01:26:45 1764667434
Аноним 31/07/20 Птн 02:07:18 1764674435
>>1763102
Где украсть книгу Александреску на 2019 год для нищебода?

А то везде только старье
Аноним 31/07/20 Птн 03:07:56 1764687436
>>1764473
Для начала надо понять, что инклюдить файл -- это то же самое, как если просто взять весь его текст, и вкопипастить в место инклюда.
Аноним 31/07/20 Птн 05:43:23 1764707437
>>1764687
Я кстати считаю это киллерфичей С++. Ведь можно так вставлять нагенерированные куски файлов. В других ЯП так не получится
Аноним 31/07/20 Птн 05:56:56 1764710438
>>1764533
Указывает на скобку но ему не нравится что чего-то не хватает перед ней или перед ней что-то не правильно.
Аноним 31/07/20 Птн 06:02:26 1764712439
>>1764710
Покажи сам код, придурок, тут нету экстрасексов.
Аноним 31/07/20 Птн 11:45:35 1764822440
>>1764710
И скинь заодно скрин кода в книге. Не копию текста, а именно скрин. Вдруг в самой книге хуйня (такое бывает), а не просто криво распозналось.
Аноним 31/07/20 Птн 12:59:06 1764866441
Я ток начал изучать плюсы и хотел бы спросить нахуя нужны указатели?
31/07/20 Птн 13:02:03 1764870442
>>1764866
Чтобы найти дырку твоей мамаши среди жировых складок.
Аноним 31/07/20 Птн 13:53:31 1764925443
>>1764707
Лучше бы нормальную интроспекцию и std::embed завезли
Аноним 31/07/20 Птн 14:35:38 1764952444
fc.jpg 31Кб, 276x471
276x471
Почему в классе можно вызывать функцию до ее объявления?
Аноним 31/07/20 Птн 15:39:35 1765016445
>>1764952
По той же причине, почему можно использовать поля класса до их объявления. Компилятор сначала сканирует все имена в классе и затем только на втором проходе начинает обход по их определениям. А вне класса нельзя, потому что совместимость с сями.
Аноним 31/07/20 Птн 15:48:14 1765021446
>>1765016
> совместимость с сями
А как бы это помешало совместимости с сями? Код, который нельзя было в сях, теперь можно было бы в плюсах. Не запретить же что-то сишное, а только сделать предварительные объявления необязательными.

мимо
Аноним 31/07/20 Птн 16:03:32 1765032447
>>1765021
В сях, вроде, необъявленная функция считается за int fun(void)
Аноним 31/07/20 Птн 16:04:15 1765034448
Аноним 31/07/20 Птн 16:07:50 1765041449
>>1765034
Все равно наврал: f()
Аноним 31/07/20 Птн 16:52:03 1765071450
>>1765032
То есть, совместимость с сями, получается, уже и так сломана?
Аноним 31/07/20 Птн 16:55:13 1765073451
>>1765071
Она сломана давным-давно и с каждым новым стандартом ломается ещё сильнее.
Аноним 31/07/20 Птн 17:04:57 1765077452
>>1765073
Не понятно тогда, чего бы не позволить объявлять функции где угодно в файле.
Аноним 31/07/20 Птн 17:22:25 1765083453
>>1765077
Чтобы хоть какая-то совместимость была. Лишь бы не писать биндинги FFI.
Аноним 31/07/20 Птн 17:26:27 1765087454
>>1765077
Класс все равно нужно парсить целиком перед кодогенерацией, а файл--необязательно. Поэтому правильное поведение на уровне файла не стали делать.
Аноним 31/07/20 Птн 18:01:51 1765115455
Безымянный.png 7Кб, 228x447
228x447
Объясните почему вариант с указателями проходит. Ведь это присваивание указателю производного указатель базового, я что-то упускаю?
Аноним 31/07/20 Птн 18:05:50 1765118456
>>1765115
У тебя оба варианта не будут работать как ты думаешь. Во втором варианте у тебя несоответствие типов.
Аноним 31/07/20 Птн 19:00:43 1765144457
Как перестать запутываться в операциях разыменовывания, взятия адреса и ссылки?
Аноним 31/07/20 Птн 19:28:08 1765174458
>>1765144
перестать говнокодить
Аноним 31/07/20 Птн 20:09:14 1765210459
>>1765144
тебе в обычном коде (не системщина сишная и не qt) - нахуй все это не нужно. Value семантики достаточно
Аноним 31/07/20 Птн 20:16:00 1765217460
>>1765115
В твоих примерах вообще никаких присваиваний нет, о чем ты? А перегрузки по типу возвращаемого значения нет.
Аноним 31/07/20 Птн 20:16:38 1765219461
>>1765144
Делаешь упражнения и перестаешь путаться.
Аноним 31/07/20 Птн 20:31:03 1765235462
>>1765217
Я не так выразился конечно, да. В смысле что происходит переопределение возвращаемого типа функции, и для указателей все почему то работает. Те ну это же разные типы A и B? Почему это все компилируется, а для A и B - уже нет?
Аноним 31/07/20 Птн 21:34:45 1765255463
>>1765235
Почитай про ковариантность
Аноним 31/07/20 Птн 22:30:36 1765266464
Аноним 31/07/20 Птн 22:51:44 1765270465
>>1765144
Через некоторое время привыкнешь.
Аноним 01/08/20 Суб 00:41:22 1765307466
Как кастануть произвольный адрес к адресу функции?
Аноним 01/08/20 Суб 00:49:23 1765310467
Аноним 01/08/20 Суб 00:56:28 1765314468
image.png 9Кб, 739x332
739x332
>>1765310
Ну я хз как тут сделать Я понимаю что это хуйня получится и меня ос нахуй пошлет
Аноним 01/08/20 Суб 00:58:29 1765316469
NtQueryInformationProcess фейлится на защищенном процессе. Только не чекал lasterror, только лишь BasicInfo.PebBaseAddress на NULL.
Есть идеи какие системные процессы могут эту хуйню вызывать, мож в них заинжектиться?
Аноним 01/08/20 Суб 00:59:29 1765317470
>>1765314
Тебе надо раскурить как записывать тип для указателей на функцию.

Посмотри мой пример с годболта и сделай так же.

возвращаемый_тип(*)(типы_аргументов_через_запятую)
Аноним 01/08/20 Суб 00:59:41 1765318471
>>1765310
>>1765314
так, не понял. Че за скобки? Чому так много? Я думал эо делается типо как на моем пике
Аноним 01/08/20 Суб 01:00:22 1765320472
Аноним 01/08/20 Суб 01:01:08 1765321473
>>1765318
потому-что так заведено
Аноним 01/08/20 Суб 01:01:34 1765324474
>>1765307
Не думаю, что это хорошая идея. Звучит чуть ли не как потенциальное UB, хотя не факт.
Вот тут пишут, что на некоторых архитектурах такое вообще не будет работать (наверное, намёк на гарвардскую, где код и данные нельзя смешивать), хотя там про сишку: https://stackoverflow.com/questions/36645660
Аноним 01/08/20 Суб 01:04:13 1765325475
>>1765321
То есть мне надо просто запомнить и никаких объяснений нет?
Аноним 01/08/20 Суб 01:06:03 1765326476
>>1765325
Абсолютно верно. Такой синтаксис записи указателей на функцию. Можно немножко себе помочь, и сделать ченить в духе

using sig = int(⚝)(int, int);
auto func = reinterpret_cast<sig>(pointer);
Аноним 01/08/20 Суб 01:07:05 1765327477
https://godbolt.org/z/G67YxP

Почему я не могу написать это так? Это высосанное из пальца ограничение языка с невозможность агрегировать конструктор, или есть реальная причина, почему мне нужно отказаться от подобного синтаксического сахара и указать имя анонимной структуры?
Аноним 01/08/20 Суб 01:08:21 1765328478
>>1765326
Спасибо большое. Правильно ли я думаю, что такая хуйня могла использоваться для передачи управления в вредоносный код. Да и сейчас по идее можно так сделать, но нужно заранее в бинарник в часть с кодом записать нужный код
Аноним 01/08/20 Суб 01:08:25 1765329479
>>1765327
Про =default просто случайно нашёл, что с ним работает.
Аноним 01/08/20 Суб 01:10:15 1765332480
>>1765316
Learncpp лучше а не сиди тут
Аноним 01/08/20 Суб 06:39:34 1765365481
Прежде чем что-то пробовать, хочу узнать: не будет ли каких-то проблем, если я попытаюсь одновременно одной программой совершать запись в файл, а другой чтение из того же файла?
Аноним 01/08/20 Суб 09:09:06 1765386482
Аноним 01/08/20 Суб 09:43:18 1765396483
>>1765386
Например? Я под проблемами подразумеваю конфликты. У меня задача стоит сделать два таких параллельных процесса, которые создаются родительским процессом.
Аноним 01/08/20 Суб 10:48:11 1765418484
Аноним 01/08/20 Суб 10:53:21 1765420485
>>1765327
Ты обязан проинициализировать значение Union
Аноним 01/08/20 Суб 11:01:11 1765422486
>>1765365
При открытии файла во втором процессе скорее всего будет ошибка доступа. Я так понимаю, тебе нужно подождать, пока кто-то пишет/читает?
Для тебя уже всё придумали:
boost::interprocess::file_lock
QLockFile
Аноним 01/08/20 Суб 11:06:34 1765425487
>>1765422
Не будет ошибки, если не запрещать доступ к файлу при открытии. Можно даже одновременно в один файл писать, главное не закрывать к нему доступ со стороны других процессов.
Аноним 01/08/20 Суб 11:19:42 1765431488
>>1765425
> Можно даже одновременно в один файл писать
А зачем? думаю, это как-то связано с потоками в ФС?
Аноним 01/08/20 Суб 13:58:07 1765502489
Можно ли без десятка строк кода занести в переменную string весь текст из файла при помощи одной команды?
Аноним 01/08/20 Суб 14:04:06 1765504490
Аноним 01/08/20 Суб 14:05:28 1765505491
Аноним 01/08/20 Суб 14:06:20 1765506492
>>1765502
Можно Машку за ляжку, а у нас итт — разрешите
Аноним 01/08/20 Суб 14:08:08 1765508493
Аноним 01/08/20 Суб 14:11:10 1765509494
>>1765508
> Как?
std::string str((std::istreambuf_iterator<char>(std::ifstream t("file.txt"))), std::istreambuf_iterator<char>());
01/08/20 Суб 14:21:57 1765515495
как же я блюю с крестового синтаксиса
комбинация снейк кейса, двойных двоеточий, круглых и угловых скобок это наверное самое мерзкое что можно было придумать
Аноним 01/08/20 Суб 14:23:14 1765517496
Аноним 01/08/20 Суб 14:37:52 1765525497
>>1765509
Использование имени типа не допускается.
Аноним 01/08/20 Суб 14:42:12 1765529498
>>1765515
Самое мерзкое - это форматирование разрывом строки и отступами.
Аноним 01/08/20 Суб 15:07:18 1765538499
>>1765517
Уже сделали, см шарп.
Аноним 01/08/20 Суб 15:26:56 1765545500
>>1765538
Нахуй иди со своим сисярпом.
Аноним 01/08/20 Суб 15:31:08 1765551501
>>1765545
Гнида ебучая, ты ахуела?
Аноним 01/08/20 Суб 15:34:01 1765556502
Аноним 01/08/20 Суб 15:49:28 1765567503
изображение.png 4Кб, 417x102
417x102
Аноним 01/08/20 Суб 15:59:30 1765576504
изображение.png 4Кб, 500x151
500x151
Аноним 01/08/20 Суб 16:00:05 1765578505
Аноним 01/08/20 Суб 16:01:06 1765579506
Аноним 01/08/20 Суб 16:47:01 1765623507
>>1758813 (OP)
[Перекат]

>>1765587 (OP) >>1765587 (OP) >>1765587 (OP) >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587
>>1765587 (OP) >>1765587 >>1765587 >>1765587 >>1765587 (OP) >>1765587 >>1765587 >>1765587 >>1765587 (OP) >>1765587 >>1765587
>>1765587 (OP) >>1765587 >>1765587 >>1765587 (OP) >>1765587 (OP) >>1765587 (OP) >>1765587 >>1765587 (OP) >>1765587 (OP) >>1765587 (OP) >>1765587
>>1765587 (OP) >>1765587 >>1765587 >>1765587 >>1765587 (OP) >>1765587 >>1765587 >>1765587 >>1765587 (OP) >>1765587 >>1765587
>>1765587 (OP) >>1765587 (OP) >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587 >>1765587
Аноним 01/08/20 Суб 17:35:36 1765679508
В чем разница между const int &r и просто int&r?
Аноним 01/08/20 Суб 17:45:05 1765690509
>>1765679
> int&r?
Можно изменять значение того, на что указывает r.

> const int &r
Нельзя, но зато можно присвоить временный объект.
Аноним 01/08/20 Суб 17:52:56 1765695510
Аноним 02/08/20 Вск 00:01:28 1765949511
>>1765690
> > const int &r
>Нельзя
Неграмотное студентобыдло не палится.
Аноним 02/08/20 Вск 00:56:12 1765968512
>>1764174
На кой хуй тебе весь BOOST, все равно не выучить, да и смысла не несет. Все что тебе нужно, это когда тебе будут давать задачу, ты будешь понимать что средства для её решения должны быть в boost, не более.
Аноним 02/08/20 Вск 00:57:27 1765970513
>>1765968
Ну не весь. Конкретно beast.
Аноним 02/08/20 Вск 01:10:53 1765974514
>>1765970
Boost::asio тоже не забывай в таком случае.
Аноним 02/08/20 Вск 01:19:53 1765978515
>>1765974
Я пока просто открыл доку beast. Понял, что знаний не хватает. Выстроил вот такой план >>1764174
Ну я вроде хоть что то по плюсам знал, поэтому липпман пока не сложно идет. 400 страниц за 1.5 дня. Хотя потом наверное тяжелее будет. Но мне кажется что многопоточность из этого всего самая сложная, хотя хз.
Аноним 02/08/20 Вск 15:46:57 1766289516
>>1765978
400 страниц за полтора дня - это ты его так, пролистал нихуя не поняв
Аноним 02/08/20 Вск 16:06:33 1766309517
>>1766289
Я же говорю, с плюсами до этого кое как был знаком. Что то пролистывал, просто глазами сканируя, чтобы нового не пропустить. Где надо, я читал вдумчиво.
Аноним 02/08/20 Вск 17:30:17 1766390518
>>1766309
Кстати там ошибочка вышла. В программе, в которой я читаю, в книге 2000 страниц, вместо 1200. Поэтому мои 400 это 200 нормальных
Аноним 03/08/20 Пнд 04:03:57 1766802519
image.png 13Кб, 383x334
383x334
Анон, у меня вопрос. Почему-то многие умные дядьки (вроде включая Мейерса) пишут что такая вещь как на пикче не нужна и избыточна.

Почему? Ладно, if там точно не нужен, но вот присваивание nullptr после удаления очень даже нужно. Я лично с таким сталкивался в таком виде
delete ptr;
...// много кода
delete ptr; // critial error - попытка удалить чужую память
Аноним 03/08/20 Пнд 04:04:50 1766803520
image.png 37Кб, 511x619
511x619
>>1766802
Собственно вот что происходит если вызвать второй раз delete
Аноним 03/08/20 Пнд 04:18:12 1766804521
>>1766802
Потому что пора переезжать на смартпоинтеры и вектора.
Аноним 03/08/20 Пнд 04:32:27 1766808522
Аноним 03/08/20 Пнд 13:07:29 1767062523
>>1766802
это double free пчел
В некоторых ситуациях можно исполнить произвольный код в программе, где есть подобный баг.
Аноним 03/08/20 Пнд 13:36:39 1767116524
>>1766802
Это прям классический говноС++, от которого все плачут. Используй контейнеры и умные указатели.
Аноним 03/08/20 Пнд 13:42:32 1767128525
Аноним 03/08/20 Пнд 17:49:12 1767505526
>>1766808
Ну typedef в рашке-парашке же запрещен.
Аноним 03/08/20 Пнд 21:19:53 1767697527
>>1767062
Зависит от реализации аллокатора памяти в куче, на это нет однозначного ответа. Ну и митигации вставляют палки в колеса.

Но общий примитив таков: двойное освобождение памяти при определенных обстоятельствах дает возможность получить указатель на ранее выделенный кусок памяти при последующих аллокациях.

Результат - у тебя есть 2 указателя (А и В), которые указывают на один и тот же адрес. Допустим, ты контролируешь указатель В и можешь писать по этому адресу произвольные данные. В самом плохом случае, указатель А, который ты контролируешь через указатель В, используется как указатель на функцию в программе. При перезаписи указателя на функцию ты можешь перенаправить поток исполнения в произвольный исполняемый участок памяти, когда атакуемая программа вызовет функцию по этому модифицированному указателю. Если этот участок памяти указывает на твою заранее подготовленную полезную нагрузку в виде, например, ROP чейна, то происходит произвольное исполнение кода (программа вместо того, чтобы вызвать функцию foo по указателю, прыгает в адрес, контролируемый взломщиком).

При возможности удаленно послать полезную нагрузку в программу можно открыть удаленный шелл и вуаля - ты внутри другой системы.

Но эксплуатация double free очень сильно зависит от аллокатора, которым пользуется программа (и даже от его версии порой), и считается одним из самых сложных багов для эксплуатации.
Аноним 03/08/20 Пнд 22:26:35 1767764528
>>1767697


> Результат - у тебя есть 2 указателя (А и В), которые указывают на один и тот же адрес. Допустим, ты контролируешь указатель В и можешь писать по этому адресу произвольные данные. В самом плохом случае, указатель А, который ты контролируешь через указатель В, используется как указатель на функцию в программе. При перезаписи указателя на функцию ты можешь перенаправить поток исполнения в произвольный исполняемый участок памяти, когда атакуемая программа вызовет функцию по этому модифицированному указателю. Если этот участок памяти указывает на твою заранее подготовленную полезную нагрузку в виде, например, ROP чейна, то происходит произвольное исполнение кода (программа вместо того, чтобы вызвать функцию foo по указателю, прыгает в адрес, контролируемый взломщиком).

Всмыслке? Функции же помечены как исполняемый код. Туда же писать нельзя. Или я что то не понимаю
Аноним 04/08/20 Втр 00:00:38 1767811529
>>1767764
В примере привелся случай, когда в куче есть объект/структура, в которой есть указатель на функцию (что не такая уж и редкость, особенно в крупных программах на С++). В кучу можно писать и оттуда можно читать. В таком случае, в куче может храниться адрес на функцию, который можно переписать, если есть соответствующий баг, который позволяет это провернуть.
Если ты можешь перехватить поток исполнения программы и направить ее в произвольный адрес - это уже минимум пол-победы.

В большинстве ОС по дефолту есть ASLR (рандомизация адресного пространства), но этот механизм можно обойти, если в программе есть баг на произвольное чтение (можно спиздить адрес из кучи/стэка/код сегмента, когда как, все очень зависит от ситуации). В тот момент, когда ты можешь писать данные в произвольные участки памяти и знаешь куда прыгать - можно надежно исполнить произвольный код в 98% случаев.

Так как стэк/куча давно неисполняемы, используются code reuse атаки, именно поэтому я упомянул про ROP chain, а не про тот же шеллкод (хотя в 2к20 и его можно исполнить, но нужно знать OS internals (подсказка для линуксоидов - mprotect syscall, дальше сами думаете)).
05/08/20 Срд 09:56:18 1768707530
Идите в #117, посоны
Аноним 08/08/20 Суб 12:53:04 1771705531
Привет

В тредах уже обсуждался курс от Яндекса практикума?
Хочу после фронта стать нормальным человеком
Аноним 15/08/20 Суб 18:42:23 1778273532
Сап, есть такой эмулятор для второй соньки: https://github.com/PCSX2/pcsx2
Но заточен он под 86 архитектуру, ну и собсно не понял я: а где эта зависимость? Может кто носом тыкнуть? было естественно предположить что где-то ассемблер спрятан, но чет не нашел. Мож либа какая х86 онли?
Аноним 15/08/20 Суб 21:30:33 1778383533
>>1778273
Или либо в 18 плюсовой, либо в сишнный
Аноним 16/08/20 Вск 04:13:35 1778544534
>>1778273
У них там требования - поддержка AVX2
Аноним 24/08/20 Пнд 23:04:22 1787074535
На каком IDE лучше сидеть Qt или codeblocks. Qt конечно легче настроить, но он похоже скурвится совсем, перейдёт полностью в коммерческую версию.
По codeblocks подскажите: если мне надо приложению создать GUI то надо ставить wxWidgets ?
Аноним 25/08/20 Втр 17:11:52 1787821536
>>1787074
Если не хочешь писать на голом WinAPI, ставь wxWidgets. Например по инструкции отсюда:
https://jenyay.net/Programming/Wx

Если поставить SHARED=0, то wxWidgets будет компилироваться в exe-шник, и тогда не надо, как в Qt, таскать dll-ки.

И да - на CodeBlocks+wxWidgets релизы получаются намного меньше по размеру.
Аноним 11/12/20 Птн 22:08:44 1878443537
>>1787821
Cockblocks дерьмо, wxwidgets дерьмо, отличные советы
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов