Двач.hk не отвечает.
Вы видите копию треда, сохраненную 7 марта 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1459909731205.png2 Кб, 250x250
C++ тред #118 /cpp/ 1775527 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

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

Для указателей: ⚹
Прошлый: >>1765587 (OP)
2 1775531
Нахуя нужны адаптеры? Они работают поверх других контейнеров. Так для чего использовать их, если можно контейнеры, на которых они основаны?
38225a.jpg67 Кб, 500x651
3 1775535
По традиции
4 1775549
Зачем так быстро перекатываете? Есть отрезки A и B, определяются своими Aleft, Awidth, и Bleft, Bwidth. Самый быстрый способ определить, пересекаются ли они?
5 1775552
>>75549
Хуйня вопрос. Давай дальше
6 1775560
>>75552
Как м помощью STL определить, что какой-то прямоугольник из множества пересекается с другим?
7 1775562
Не слушайте тех, кто говорит, что перекатывать после 500 рано. Шлите их лесом.
8 1775572
>>75560
Aleft + Awidth > Bleft and bleft +bwidth > aleft
9 1775584
>>75531
Потому-что тебе нужен именно стэк, а не вектор для корректности алгоритма, например
10 1775585
>>75584
push_back вместо push, pop_back вместо pop. И еще че то. Пока не вижу сильных отличий
11 1775599
чек.
12 1775606
>>75562
Да это один какой-то шизик форсил, уже устал видимо
13 1775632
Здравствуйте любители ++, пишет вам любител. Объясните одну вещь, разбирался тут с openGL крестах ваших. Там половина создания объектов это создать непонятно нахуя int neponyantna и затем передать его адрес куда то там в функцию &neponyantna. Зачем? Вот в шарпе все просто, пишешь какой объект тебе надо и все. Зачем тут все время int получают? Для чего? Как это вообще работает? Я понимаю, когда я создаю экземпляр класса говно сходив в туалет, потом к нему и обращаюсь. Так зачем вы, крестачи, все время int создаете некий и кидаете на него ссылку?
14 1775635
>>75632
это API такое. Увы и ах, очень старое и сишное. И оно единственное. Все фэнси библиотеки красивые и шарпы - в глубине дергают все тоже говно с int neponyatna
15 1775636
>>75635
Есть новое. Вулкан.
16 1775637
>>75635
О, аноний, спасибо. А можешь в двух словах пояснить, что там под капотом? Зачем int создавать? Я просто реально не врубаюсь, давай я просто туда 0 буду толкать это же int. Но нет, им нужен именно адрес, но int это 4 байта, а если мой объект, типа говно больше будет? Почему именно int?
17 1775639
>>75637
Это апи - стандартизированный интерфейс для драйвера.

Эти инты - на самом деле идентификаторы ресурсов, и внутри где-то драйвера. Почему используются инты? А хуй его знает, считай что это opaque pointer
18 1775640
>>75636

>Есть новое. Вулкан.


А по нему есть уроки русские и толковые? Я просто по openGL ща читаю, реально начал понимать чо и зачем шейдеры, как видяха работает с этим всем, как текстуры натягиваются, я люблю в игрульки поиграть, но узнать как там внутри все фурычит очень занятно. Самому из пары треугольников создать прямоугольник и натянуть текстуру, да все в шейдерах, блин, интересно. А с вулканом есть почитать чего такого?
19 1775641
>>75640
не в коем случае не мучай вулкан. Для хоббиста в нем нет вообще никакого прока, но хуева гора лоу левел геморрая.
20 1775642
>>75639
Погоди, да как это работает то?

unsigned int vertex;
vertex = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertex, 1, &vShaderCode, NULL);

Ну вот, например, я создаю целый объект, целый вертикальный шейдер, а по сути это int ебаный, который я потом передаю в метода. Да как так? Я в метод 0 или 635 передаю? нахуя? Зачем? Шейдер это вообще целая подпрограмма, почему она в intе тусует? Как это работает вообще?
Сложна сложна нипанятна
21 1775643
>>75642
int это внутренний идентификатор обьекта, который создает OpenGL. Так заведено
22 1775644
>>75632
А в шарпе можно написать симфонию? Создать пустой проект и написать шедевр?
23 1775645
>>75643
То есть по сути int'ом я задаю порядковый номер внутренний или что?
24 1775646
>>75644
Можно, куча библиотек, соси
25 1775647
>>75643
int в данном случае, при передаче просто указывает на определенную ячейку памяти и говорит, что вот отсюда и еще четыре байта это vertex. Чего ты мне рассказываешь, какие идентефикаторы? Либо объясни, если я не так тебя понял
26 1775648
>>75645
Не ты задаешь. Ты просто создаешь инт, и OpenGL записывает при создании чего-либо туда некое значение. Которое для тебя НЕ ИМЕЕТ ВООБЩЕ НИКАКОЕ ЗНАЧЕНИЕ. Это внутренняя информация для драйвера.

Ты просто знаешь, что вот такой вот инт - это такая то текстура, всё. Ты никогда не используешь значение, кроме как для вызывания API
27 1775652
>>75648
о, вот ща доходить стало, только не доконца чуть чуть. А как мне понять, что ему нужен int а не bool например? Вот в щарпе все просто, а тут как?
28 1775653
>>75652
&>>75652
они просто требуют *ебалмамашутвою, а я им из примера &ебипожалуйста
29 1775654
>>75652
В API написано что инт, значит инт.
30 1775657
>>75654
Там нихуя не так написано, там вообще написано, типо *glхуйнямоча
и как я должен из этого понять что ему ссылку на память вообще надо? Это все кресты такие тяжелые или просто опенголый такой замудреный? Я не говорю, что сложный, я вроде все понимаю зачем делается пока. Но вот в некоторых моментах мудрено, при этом я не хейтю кресты, просто интересно
31 1775658
>>75657
Это не кресты, это си. Так на крестах, как требует OpenGL не пишет вообще никто, кроме ебучих стариков из НИИ.

Указатели нужны для записи по адресу, т.е. закидываешь указатель на уже существующую переменную, и в эту переменную записывается нужная опенгл инфа
32 1775659
>>75657
Ну вот, звездочка это указатель. Указатель это адрес в памяти.
33 1775661
>>75658
Почему просто переменную нельзя закинуть?
34 1775662
>>75661
в API передастся копия переменной, значение запишется в копию, исходная переменная не изменится.
35 1775663
>>75659
И почему этот адрес в памяти unsigned int, а не bool, например? ведь по сути тут хранится только начальный адрес, а длина переменной зависит от типа. Но мы же оба знаем, то текстуру ты в 4 байта не уложишь 800*600 так зачем ее хранят типо в int, а не в bool, если, как ты говоришь, динамически память расширяем а тут только начальный адрес хранится?
36 1775664
>>75662
Почему не передавать по ссылке тогда? Ах бля...я тут ступил?
37 1775665
>>75663
еще раз - четыре байта это лишь идентификатор текстуры, вся память и прочая шушера лоулевельная делается за тебя драйвером

>>75664
Ссылок в С нету классическом
38 1775666
Нет, тот анон, ты не прав. опенгл надо инфу записать, я ему по ссылке передаю целую текстуру, а он в нее инт пишет и все, как это работает? Зачем? В чем смысл? Текстура же не может лежать в 4 байтах
39 1775668
>>75665

>еще раз - четыре байта это лишь идентификатор текстуры


Как это работает? Идентификатор текстуры? Я создам инт пустой, в нем будет мусор, как это может быть идентификатором? А если потом у меня в другом инте тоже будет, все, крах и вылет программы?
15444617345220.png649 Кб, 574x768
40 1775670
>>75665

>Ссылок в С нету классическом


То есть это только по этому? А чтобы понять, как это все робит надо лезть в С что ли? Бля, я решил уйти от шарпа, чтобы понять, как работает, перекатился в кресты, а вы мне в С говорите катиться, а там чо, в ассемблер пошлют?
41 1775671
>>75668
Блядь, обьясняю для совсем тугих.

Есть инт, в нем какой-то мусор, мы отдаем указатель на инт в какой-нибудь glGenTextures или как оно там называется, в этом инте окажется число. Может быть это будет число 1, может быть это будет число 1488, не важно.

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

Опенгл это абстракция, понимаешь. Абстракция. Тебе нахуй не нужны все эти внутренные пердольные вещи, тебе нужно рисовать. Вот и рисуй, при помощи АПИ.

Если ты рандомную хуйню попытаешься отправить в API, которое требует созданный обьект (т.е. невалидное число-идентификатор) - тебя просто нахуй пошлют, вот и всё.

На эту тему есть немного приколов из системного программирования, что эта сама схема (некие opaque идентификаторы) - говно. Но це уже оффтоп.
42 1775672
>>75670
Пчелик, ты можешь дергать сишное АПИ из С++, этого тебе достаточно. Просто проблема в том, что когда тебе дают сишное АПИ - то увы, никакие фичи из С++ оно не принимает, типа ссылок.

Тебе вообще никто и ничего не мешает обернуть всю эту сишную дрисню в няшное ООП, или как минимум просто в читаемый С++ с RAII. Вполне вероятно, так и стоит сделать.

Мы, например, на проекте, всю сишную блюву типа CreateFile и тд обернули в красивый С++, и им и пользуемся.
43 1775674
>>75663

>И почему этот адрес в памяти unsigned int, а не bool, например?


Unsigned потому что адресов отрицательных не бывает, поэтому знаковый тип излишен. Почему 4 байта — ну наверное меньше может не хватить для хранения номера адреса.

> Но мы же оба знаем, то текстуру ты в 4 байта не уложишь 800*600 так зачем ее хранят типо в int


Не, в 4 байтах всего лишь адрес памяти, в которой текстура.
44 1775675
>>75671
так и чо тогда выебываться, почему просто текстуру не отправлять как объекте, тем более я там уже в дату все загрузил?
45 1775677
>>75675
Что значит отправить? Скопировать что ли? Мы тут в игрушки играем что ли?
По ссылке передать нельзя, выше написали, что это си, в котором ссылок ещё не было. Поэтому получается передача адреса.
46 1775678
>>75675
что такое "просто текстура"? Текстура с точки зрения это не кусок памяти, это некая структура данных, в которой хранятся размеры, формат, всякие там флажки, мипмапы и прочее. Эта вся информация тебе не нужна, у тебя есть абстракция в виде API.
47 1775679
>>75674
это почему вдруг? я в ту функцию кроме инта, который сам же и создал больше ничего не говорю, там дальше 4 байт мусор хранится, а ты говоришь текстура.Сначала пространство выделяется, которое я запрошу при создании переменной, а потом уже туда чего то записывается. Ну вот создал, записал инт, а ты тут текстуру в дохуя мегобайт суешь, больной? Нахуй пошел, да?
48 1775680
>>75677
Ты не ругайся анон, я же понимать только только начинаю. Давай с кодом, чтобы я точно понял.
int texture;
это 4 байта в них мусор

дальше как я пишу туда такстуру?
49 1775681
>>75680
Господи, у тебя 2 разные операции.

glGenTextures - при помощи нее ты создаешь обьекты внутри драйвера, и получаешь идентификаторы этих обьектов для дальнейшего использования

glBindTexture(GL_TEXTURE_2D, АЙДШНИК ТВОЕЙ ТЕКСТУРЫ); - делаешь свою текстуру... "текущей", "активной", whatever

и дальше при помощи glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data); - бла бла бла - ты в АКТИВНУЮ текстуру записываешь уже свою память.

Это все делается через вот это абстрактное АПИ, а что и как драйвер дрочит память - тебе уже не интересно.
50 1775682
>>75679
После unsigned int adr = glCreateShader(...) у тебя в adr оказывается просто число. Номер ячейки, с которой начинается текстура. Остальное тебя ебать не должно, как говорится. Сама текстура на много байт вообще где-то в другом месте.
51 1775683
>>75681
я программировать сам хотел, а вместо этого просто в апи взвожу флаги и пишу инфу, пиздос
52 1775684
>>75683
Программирование графики еще "ниже" - это кернел драйверы для проприетарного железа. Даже вулкан, который пиздец лоулевелный - это все равно в итоге возведение флажков и пердолькинг АПИ
53 1775685
>>75682

>у тебя в adr оказывается просто число. Номер ячейки, с которой начинается текстура.


В каком виде? Просто 1553? И что это за число? Как в другом месте, если я только что здесь создал? Или в опенгл в каком то массиве записывается, что в яцейке 1553 лежит адрес с которого начинается текстура такая то, так?
54 1775686
>>75685
Еще раз, это бессмысленное число, которое имеет значение только для драйвера. Для тебя это число ничего не означает абсолютно.
55 1775687
>>75686

>ничего не означает абсолютно.


Как программировать тогда? Почему в ссаном шарпе я все всегда толком и четко понимал чего куда и кого, а тут какое то число, а хз чо это и как, странно.
56 1775688
>>75685
Опенгл где-то в памяти создал текстуру и отдал тебе номер ячейки памяти, с которого эта текстура начинается. Вот на картинке внизу справа есть ptrSum, указатель на объект sum. Просто адрес записан 90000000. А вверху слева по этому адресу уже сам объект sum.
MemoryAddressContent(2).png35 Кб, 661x503
57 1775689
>>75685
Картинка
58 1775690
>>75687
Так и программировать, как деды завещали. Используя то апи, которое тебе дали, и играя по его правилам.

Я искренне не понимаю, в чем твоя проблема. Ну идентификатор обьетка и идентификатор обьекта.
59 1775691
>>75688
погоди погоди. То есть я создал int передал его адрес туда, он создал текстуру, записал ее в память, начальный адрес записал в мой инт и теперь я могу к нему обращаться. Я все верно понял? Оо
60 1775692
>>75691
Он не отдает тебе никакой адрес. Если ты сгенерируешь текстуру, то ее айди будет 0 или 1 (точно не помню, давно опенгл не трогал). О каком адресе речь блядь.
61 1775693
>>75691
Да. Ну вон челик говорит, что это на самом деле внутренний идентификатор драйвера, так что я могу ошибаться. Но если createshader возвращает указатель, как ты ранее говорил, то всё так.
62 1775694
>>75692
всмысле первую текстуру за запуск приложения
63 1775695
>>75690
Например, почему нельзя было тогда, еще даже до 90-х сказать, челы идите на хуй со своим говном старым, ща все по новому будет и все. Я понимаю ща хуй перейдешь, но тогда то, только умножать научились и делить, а уже кричать нам нужна обратная совместимость
64 1775696
>>75695
Потому, что все новые версии опенгл являются расширением старых. Т.е. они никогда не убирали или изменяли новое API, Только добавляли новое. Ну и когда у тебя си вместо языка программирования - в выразительности API не разгуляться в любом случае
65 1775697
>>75692

>Если ты сгенерируешь текстуру, то ее айди будет 0 или 1 (точно не помню, давно опенгл не трогал). О каком адресе речь блядь.


Чего, блядь? Я чо, больше двух текстур не могу генерировать, дегенерат что ли?
66 1775698
67 1775700
В итоге у меня в этих интах нихуя не будет хранится, кроме адресов, которые только апи и скармливать, да?
68 1775701
>>75700
кроме идентификаторов, которые в апи скармливать.

Адреса это совсем другое, не мешай терминологию.
69 1775702
>>75700
Ну да. Короче, по ходу там и правда не указатели возвращаются, а значит, и не голые адреса, но принцип схожий.
70 1775703
>>75701
А в чем разница?
71 1775705
>>75703
указатель, который хранит в себе АДРЕС это тип данных в С\С++. Идентификатор ресурса опенгл - это какая то хуйня, в С\С++ являющееся интом.
72 1775706
Бля, а нахуй эти кресты тогда, как лампово в шарпе было, вот тебе ванечка класс текстуры пишешь texture t = new texture();
а дальше сиди задавай хоть до опиздения ее параметры, а сама она там в цикле крутится и в зависимости от твоих изменений модифицируется.
Все удобно, все понятно, тут нахуя каждый раз в память лазать? Говно же сделали? Пусть переделывают
73 1775707
>>75706
Это texture tx = new texture уже написали за тебя другие, в обертках. Можешь так же взять уже готовые обертки, хуй знает, например SFML, и играться. А можешь вообще сразу Юнити взять, и не ебаться с лоулевелом.
74 1775708
>>75706
Там всё то же говно, просто завёрнуто красиво.
75 1775709
>>75707
>>75708
Если все тоже, то почему в шарпе все просто, а тут через жопу?
76 1775710
>>75709
Ну зато шарп медленнее.
77 1775711
>>75709
Ебаный в рот, тебе уже несколько раз обьяснили. Потому-что в Шарпе за тебя уже дохуя всего написали, целый дотнет. Вся эта же блевотина сишная заботливым дядей была пережевана и красиво выплюнута.
78 1775713
>>75711
То есть я сижу и на плюсах пытаюсь написать говно, которое до меня уж 20 раз лучше написали, так как есть фреймворки под шарп? А я тут чо, насрано чо ли, раз пишу все по своему только на крестах?
79 1775714
>>75713

> То есть я сижу и на плюсах пытаюсь написать говно, которое до меня уж 20 раз лучше написали, так как есть фреймворки под шарп?


Ты понял суть программирования, искренне тебя поздравляю.
80 1775715
>>75714
Жестоко
81 1775723
Помогите перевести на нормальный язык программирования, а то меня в школе беполезные псевдокоды для даунов почему-то не заставляли учить. Или онлайн переводчик посоветуйте, а то препод, пидор, методички на этой ебале зачем-то пишет. Лучше бы этот дебил просто словами на Русском описывал алгоритмы.
http://www.cpp.sh/8b2qu
82 1775807
>>75527 (OP)
Сап, плюсач. Ньюфаг в треде. Знакомый препод подсказал учебник Полякова. Вроде норм, потом продолжу Липпмана из шапки. Так вот, мне нужно каким-то образом использовать в visual studio библиотеку graphics.h. Как это сделать? Пробовал скачать graphics.h и запихнуть в папку, где лежит stdio.h. Не заработало. Потом запихнул этот файл в папку с проектом. Теперь #include "graphics.h" не подчёркивается красным, но функции оттуда подчёркиваются. Я так понял, что надо ещё какие-то файлы, кроме заголовочного для работы библиотеки? Можно ли сделать graphics.h встроенной библиотекой, чтобы каждый раз не вставлять в папку с проектом?
83 1775818
>>75807
А зачем тебе эта либа?
84 1775827
>>75636
Вулкан намного сишнее гл. На фоне вулкана гл по сложности кажется чуть ли не питоном по сравнению с плюсами.
85 1775858
Анон, поясни за итераторы. Я хочу передавать в функцию итератор на внешний контейнер, функция по итераторам его изменяет, в том числе его размер, причем заранее не известно на сколько. Это вообще нормальный подход? Такое ведь используется во всяких std::transform, но он точно заранее знает, какой длины будет out.

А есть ли какой-то красивый и нормальный способ передачи в функцию не двух итераторов begin и end, а шаблонного контейнера с шаблонным значением?
image.png59 Кб, 612x555
86 1775860
image.png145 Кб, 317x222
87 1775870
Почему в C++ настолько скудная стандартная библиотека? Почему класса строки нет такого важного метода как Split? В том же шарпе есть штук 10 этих Split'ов. Хочешь поделить строку одним символом? Пожалуйста. Хочешь поделить строку массивом других строк? Пожалуйста.
В C++ нужно руками блять писать отдельный метод который потом еще и не вызвать как член класса. Что мешало авторам стандарта добавить этот метод который бы возвращал вектор разделенных строк? Недостаточно универсально? Хорошо, сделайте метод который будет принимать пользовательскую лямбду которая сама решит куда сохранять разделенные слова.
88 1775882
>>75870
Предлагай сам
https://stdcpp.ru/
89 1775933
>>75860
Это по си учебник? Тогда в си тред иди. Вообще, я не эксперт, но сомневаюсь что эта либа используется где то в норм проектах. Есть ли смысл ее учить? Я бы пропустил.
90 1775938
>>75870
1) Что такое строка? Из чего она состоит? Ты можешь написать этот разделитель так, чтобы она работала со всеми говнами от KOI-8 до UTF-32? Ни в одном языке ещё не сделали нормально, везде свои костыли.
2) Что этот метод должен возвращать? Копировать подстроки в новые строки? Или возвращать указатели на начало подстроки и её длинну?
3) Как и где выделять память под возвращаемые объекты?
4) Как заставить это работать достаточно быстро, чтобы все не начали писать свои строки? Никак
5) А всякую хуйню вроде определения эмодзи в неё включать надо?
6) итд

Короче, плюсы слишком низкоуровенный язык чтобы это нормально решить.
91 1775948
>>75870
В шарпе строки даже изменить нормально нельзя, лол блять
92 1775980
>>75938
1) А сейчас по твоему класс строк работает со всеми говнами типо UTF-8?
2) Как я и говорил если хочется прям супер универсальный метод то можно добавить аргумент, который будет принимать пользовательскую функцию которая будет обрабатывать разделенную строку. Типо string_view word(...); user_callback(word);.
3) При описанном выше подходе выделение памяти не происходит
4) Сам метод split никак не затронит остальные методы так что никто из-за него не начнет писать свои строки
5) Нет не надо, это более высокий уровень
93 1775995
>>75980

>1) А сейчас по твоему класс строк работает со всеми говнами типо UTF-8?


Там этих стрингов просто 2 штуки, лол.

>2)... Типо string_view


Начиная с 11-х плюсов строки не рефкаунтятся, как ты гарантируешь что твой string_view не на мусор ссылается в следующей же строчке? А учитывая современные тенденции — ещё лучше, в соседнем потоке/корутине, которая хуй знает где работает.

>3) При описанном выше подходе выделение памяти не происходит


Происходит, ты массив-то как возвращаешь? Как в шарпе? Сам как нибудь там без аллокаций справится?

>4) Сам метод split никак не затронит остальные методы так что никто из-за него не начнет писать свои строки


Конечно не начнут, у всех и так свои строки везде, лол. А если немного задуматься о перформансе — то внезапно тебе на каждый кейс нужна кастомная логика с сортировкой/структурой данных/чем угодно, чтобы всё делать за минимальное кол-во проходов.
В шарпе ты просто ебашишь в linq-стиле цепочки и тебя это не ебёт, панимаю.
94 1776007
>>75995
Гарантирую тем, что колбек вызывается во время работы функции split, так что string_view будет всегда валидным. Ты наверное не понял про что я говорю, вот пример небольшой.

template<class Callback>
void split(char delimiter, Callback callback)
{
for (...)
{
//some delimiting algorithm
string_view word(...);
callback(word);
}
}
vector<string> vec;
list<string> list;
string zalupa;
zalupa.split(' ', [&](string_view word)
{
//save it like u want
vec.push_back(word);
list.push_back(word);
});
95 1776086
>>75882
Там уже предлагали ввести ключевое слово, которым ты гарантируешь компилятору что не конченый долбаёб?
Что-то вроде #not_pidorust
96 1776100
>>76086
Чювак, если ты что-то хочешь доказать компилятору, то ты уже конечный долбоёб.
97 1776266
>>75870
Это инклюзивный подход. Напиши свой сплит и почувствуй себя соучастником, сотворцом.
98 1776399
>>76100
Но ведь он уже по умолчанию меня за добаеба считает, когда не даёт long к void* кастовать.
99 1776432
>>76399
Неужели лучше как в js, где всё молча кастуется ко всему?
100 1776435
>>76399
r e i n t e r p r e t _ c a s t
e
i
n
t
e
r
p
r
e
t
_
c
a
s
t
101 1776446
>>76399
А зачем тебе это?
102 1776460
>>76399
А как же (void*)? Кастует все и вся.
103 1776463
Делаю вычисления над большими числами.
Перед выходом из функции делаю проверку:
if (A >= B) {
A -= B;
}
return A;

До этой проверки вызывается функция, которая делает много вычислений.
Если я эту проверку (и вычитание) делаю на ассемблере внутри той большой функции, то у меня огромный (20%+) прирост производительности. Основной проект на плюсах.

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

На первом пике — я закомментил кусок со сравнением.
На втором — то, на что заменил.
Не могут же два лишних вызова функции (operator>= и operator-=) иметь такой безумный оверхед?

Компилирую с "-std=c++11 -Ofast"
104 1776473
>>75882
>>75938
>>75948
>>76266
Пиздец, ньюфаги отвечают на платиновый вопрос.
105 1776546
Как delete [] понимает где конец массива?
106 1776547
>>76546
new охраняет эту инфу под капотом.
107 1776549
>>76547
Спасибо
108 1776579
>>76547
А вот если я изменю значение указателя (он будет указывать на другой адрес), потом как мне удалить массив?
109 1776586
>>76579
у т е ч к а п а м я т и
110 1776587
>>76579
Если проебал адрес объекта, то уже никак, у тебя случилась утечка памяти, и освободится память разве что системой при завершении процесса.
111 1776590
>>76586
>>76587
Ну а если я сохраню адресс, тип и колличество элементов?
112 1776593
>>76590
если ты сохранишь адрес - то ты дернешь на него просто delete[].
если ты не сохранишь адрес - то бог тебе в помощь
113 1776596
>>76593
Где хранится инфа, которая о массиве? Просто я искренне не понимаю пока как это работает: как программа понимает где просто указетель на объект, а где на массив объектов.
allocatedchunk.png14 Кб, 561x407
114 1776597
>>76546
Каждая аллокация порождает так называемый чанк в куче, в котором есть хедер, где есть метаданные об этом чанке (chunk - кусок с английского).
То, как выглядит аллоцированный чанк в памяти, я попытался нарисовать в виме, чекай пикрил.
Пысы: освобожденный чанк выглядит по-другому, если тебе это интересно. Там на месте actual chunk data есть указатель на следующий освобожденный чанк в корзине, а сразу после него - указатель на предыдущий освобожденный чанк в корзине.

Все это справедливо для аллокатора ptmalloc3, который есть в glibc. jemalloc или аллокатор в виндовой куче, мб, работают чутка по-другому, но принципы примерно одни и те же. У чанков так или иначе есть метаданные, которые предоставляют разную инфу, в т.ч. и для освобождения памяти.
115 1776598
>>76597
Спасибо большое
116 1776599
>>76596
Короче, есть такое понятие как аллокатор. Оно для тебя полностью абстрактно, но вот тот самый аллокатор хранит где-то всю нужную инфу сам по себе. Т.е. тебе эта информация недоступна по умолчанию.

Это если мы говорим про именно создание\удаление. Если мы говорим про доступ - то такая инфа не доступна, и ты начинаешь читать хуйню, когда переступаешь за границы массива.
117 1776601
>>76597
быстрофикс
первые 3 бита в поле current chunk data - AMP - дабт доп инфу.
Если бит А = 1, то чанк находится в главной арене
Если бит M = 1, то чанк был получен впоследствие системного вызова mmap
Если бит Р = 1, то предыдущий чанк не освобожден (в использовании).

Опять же, это имплементация аллокатора в glibc, разные аллокаторы реализованы по-разному, но между ними есть общие принципы.
118 1776602
>>76597
>>76599
Правильно же я понимаю, что аллокатор для каждой платформы свой, и мне должно быть похуй как оно там работает?
119 1776603
>>76602

>похуй как оно там работает


Ты понял смысл слова абстракция.

Абсолютно верно. Может быть даже несколько разных аллокаторов для одной платформы.
120 1776605
Ебать вы тут жирноту накормили со своим опенжлем, я не верю, что существуют настолько упоротые и тупые создания, как он.
121 1776608
>>76598
кстати, ты можешь выделить 0 байт на куче, но glibc аллокатор вернет тебе указатель на чанк, в котором есть место под 16 байт (на 64битных системах), кек. Поэтому ты даже можешь слегка переполнить небольшой буфер без последствий (допустим, у тебя там выделен массив из 5-ти чаров, а ты записал туда 7 чаров), в данном случае формально случилось переполнение, но оно не загадило другую важную память, так как у тебя есть в этом конкретном случае 16 швабодных байт в чанке, даже если ты выделил, мать его, НОЛЬ байт на куче. Такая вот хуйня =D Но никогда так не делай, ибо это хождение по тонкому льду и просто прикольные хаки.
122 1776609
>>76605
Ты недооцениваешь студентов второго курса, которые освоили сортировку на шарпе, и тут им дают САМЫЙ СОВРЕМЕННЫЙ, САМЫЙ НАВОРОЧЕННЫЙ, ЭТИ ВАШИ LINUX VULKAN СОСУТ КАК ПИРАТКИ У АКТУАЛА, КАК БУДТО КИАНУ РИВЗ ЛИЧНО СТО МИЛЛИОНОВ МИЛЛИАРДОВ ЛЕТ КОДИЛ OOOPEEEENGLL
Сорян просто флешбеки всплыли как мы копались на сайтах начала 2000х чтобы разобраться в этой хуйне
Листал доску увидел ваш тред. Что я тут делаю, я вообще дотнетчик...
123 1776611
Еще вопрос по указателям. Единственная разница между использованием make_shared и его не использованием в колличестве аллокаций? Два против одного?
124 1776616
>>76605
Так-то далеко не все сразу понимают, что такое дескриптор.
125 1776617
>>76611
между make_shader и std::shared_ptr конструированием?
Да, и там еще exception safety какое-то
126 1776620
>>76611
Разница в вероятности обосраться.

> использованием make_shared


10%

> и его не использованием


100%
127 1776621
Есть сишная либа. Она оперирует с некоторой struct. Эту struct я вынужден агрегировать у себя в class, который для нее оберточный. Функции либы возвращают указатели на struct. Как мне из такого указателя определить указатель на объект, в котором структура агрегирована?
128 1776623
>>76621
заведи хэш-мапу какую-нибудь. Но вообще, чето это как-то изначально архитектурно не правильно
129 1776626
Развели тут стековерфлоу какой-то.
130 1776627
>>76620
>>76617
Можно пример, когда make_shared помогает?
Я не понимаю разницы меджу
std::shared_ptr<T> p1 = std::make_shared<T>();
std::shared_ptr<T> p1(new T());
Что так, что так я потом должен работать с p1. То есть новые указатели им инициализировать.
131 1776629
>>76623
Я пока добавил в struct указатель void data и записываю его в конструкторе. Все еще плохой дизайн?
132 1776630
>>76611
при использовании make_shared объект разрушается после того, как счетчик weak ссылок становится равен 0, а при использовании обычных shared_ptr - после того, как счетчик strong ссылок становится равен 0.
133 1776633
>>76630
Пока не понятно. В книге было сказано, что shared_ptr считает колличество ссылок на объект. Как их колличество достигает нуля объект и указатель последний удаляются. Но при этом выделение происходило через make_shared. Ладно. Буду читать дальше, может там уточнят
134 1776636
>>76630
Облажался, надо читать так:

при использовании make_shared объект разрушается после того, как счетчик и strong и weak ссылок становится равен 0, а при использовании обычных shared_ptr - после того, как счетчик strong ссылок становится равен 0.
135 1776638
>>76633
Это описана работа boost::intrusive_ptr.
std::shared_ptr внутри сложнее
136 1776640
>>76629
Ну такое часто встречается, только называется context. Ничего страшного я в этом не вижу
138 1776645
>>76640
А если прям взять унаследовать класс от структуры, то может static_cast сработает? Но этот класс надо еще от другого по архитертуре наследовать. Задолбал тебя, извини, надо все руками пробовать.
139 1776657
>>76645
В таком случае может начаться ебатория с какими-нибудь выравниваниями
140 1776669
>>75723
Бамп.
141 1776670
>>76669
За тебя что ли переводить? Да пашол ты нахуй.
142 1776671
>>76670
Ты пошёл нахуй!
>>75723
Бамп!
143 1776674
>>76671
Ну вот серьезно. В чем вопрос? Тут нужно просто сидеть, читать и вникать в то, что написано. Ну можешь еще посмотреть на паскаль, как там все записывается, потому что тот еблан русский с паскалем намешал
144 1776676
>>75723
Рекомендую поссать на лицо человеку, который этот псевдокод тебе преподает
145 1776680
>>75723
Похоже на паскаль.
146 1776850
>>75535
Я пока на предпоследней стадии. Когда ко мне придут люди и заставят писать на двух килобайтах рома?
147 1776866
>>75858

>Я хочу передавать в функцию итератор на внешний контейнер, функция по итераторам его изменяет, в том числе его размер, причем заранее не известно на сколько. Это вообще нормальный подход?


Это то что делают стандартные алгоритмы стл когда ты передаешь им back inserter.
148 1777688
>>76657
А я все же ебанулся и так и сделал. Все работает и кое-где удобнее стало. Даже в функцию сишной либы this можно отправить - полиморфизм срабатывает.
149 1777707
>>77688
Ну скажи ООП круто
image.png7 Кб, 786x136
150 1777710
Я не понимаю разницы между копированием и перемещением. Я думал, что копирование это когда у функции f(T var) , а перемещение, когда f(T &var) или f(T *var). Но пикрил гоорит другое
image.png118 Кб, 1366x768
151 1777711
И в чем здесь отличие? Результат один и тот же. Ну понятно, что запись разная, а с точки зрения того как это внутри происходит разница какая?
152 1777712
>>77707
ООП дело другое, а кресты рулез, хотя и трудоемкие при кодировании по сравнению со всяким.
image.png118 Кб, 1366x768
153 1777713
>>77711
Отклеилось
154 1777718
>>77713
Блин, не отклеилось
155 1777771
Объясните почему в конструкторе пишут &. Без & не компилируется. Почему?
156 1777774
И почему конструкторы должны быть public? Это же не логично. Он по любому должен выполниться.
SAGE 157 1777781
>>75527 (OP)
Кто придумал такую шикарную аву С++ треда? Да еще и повторяют из треда в тред самую всратую, байтоебы тупые. оп переболеет ковидом столько раз, сколько я раз буду лицезреть эту хуйню в шапке
158 1777809
>>77774
Чтоб можно было создавать объект.
С приватным конструктором создать объект сможет только сам объект (через статический метод) или friend (builder).
159 1777810
>>77771
В каком конструкторе?
У тебя вопросы какие-то разрозненные, сформулируй нормально мысли.
160 1777877
>>77771
Потому что это копирующий конструктор.
161 1777900
>>77710

>Я думал, что копирование это когда у функции f(T var)


Да, но функция, которая так объявлена, она не выполняет это копирование сама по себе, она просто получает уже готовую копию. А эту копию кто-то должен сделать, для этого и нужен конструктор копирования, который для этого использует ссылку на оригинал.
image.png10 Кб, 287x279
Шаблоны 162 1778086
Подскажите, как написать шаблонную ф-ю, которая вернет 1й или 2й аргумент в зависимости от bool в шаблоне? Что-то типа std::enable_if, но для вычисления значения в реалтайме
163 1778102
>>78086
std::conditional

А лучше:
auto foo(...)
{
if constexpr (...)
return MyType1();
else
return MyType2();
}
164 1778104
>>78102
А на c++11?
165 1778110
>>78102
Немного не то, нужно именно выбрать значение из 2х значений одинакового типа
166 1778112
>>78086
template<bool A, typename T>
T foo(T a, T b)
{
return A ? a : b;
}
167 1778113
>>78112
То, что нужно! Благодарю
168 1778156
Как школьники-олимпиадники учат C++? Неужели C++ уже не первый язык программирования в их жизни? Неужели они читают тысячастраничные книги? И C++ это ведь только часть подготовки школьника-олимпиадника, ведь нужно знать и непривязанные к конкретному языку хитрые алгоритмы. Когда и как они всё успевают и с чего начинают?
169 1778157
>>78156
Таких один из тысяч.
170 1778160
>>78156
Так они его знают на уровне циклов и массивов. Олимпиадное программирование про то как решать тысячи наркоманских задач, используя контент первых 50 страниц самоучителя
171 1778162
>>78156

> Неужели они читают тысячастраничные книги?


Тот уровень языка, который нужен на олимпиаде, учится ну максимум за неделю. Переменные типа int и float, арифметика, if/while/for, ввод с клавиатуры и из файла, вывод на экран и в файл. Всё, больше в школололимпиадах вообще ничего нет. Весь код в main() пишется.

> хитрые алгоритмы


Это ты про задачи уровня "Вася часто ездит на автобусе и захотел написать программу для определения, счастливый ли билет" что ли? Очень хитро, прям днями и ночами надо готовиться.
172 1778168
>>78156
Нахуя вообще читать книги? Появилась проблема, загуглил, нашел алгоритм, реализовал и решил проблему. Зачем читать 1000 страниц половина из которых забудется, а другая может никогда не понадобится.
173 1778177
С++ охуенен.

Дискасс.
174 1778180
>>78177
Тут и обсуждать-то нечего.
175 1778186
>>78177

Почему его тогда отовсюду выдавили?
176 1778194
>>78186
Откуда?
177 1778199
>>78194

Ты читать не умеешь? Тебе сказали ОТОВСЮДУ! По сути осталось нищее байтоебство в эмбедеде и хайлоад для задротов в яндексах и гуглах.
178 1778202
>>78168
Я как то раз так попробовал. Делал лабораторную, поиск подстроки в строке и в конце лабораторной была такая безобидная приписка: модифицируйте алгоритм для работы с большим потоком данных и программа-тест генерирующая этот поток данных, которые за один раз в массив не положить. Я долго боролся, но так и не смог и ничего полезного не нагуглил, гуглился только алгоритм поиска который я реализовал, а вот как его адаптировать для потока данных в гигабайты (или десятки гигабайт?) - нет. Вот и всё обучение через практику
179 1778213
>>78199
Интересные вещи рассказываешь. Ещё не забудь сказать, что на десктопе теперь электрон, в геймдеве шарп, а на сервере питон и джава.
180 1778254
>>78213

А это не так?
181 1778279
>>78254
Не так.
На десктопе кутэшного куда больше, чем электронного. Электрон сейчас, по сути, только дискорд и вскод. А кутэ - дефакто стандарт для десктопных приложений, тем более если ты хочешь, чтобы софтина была быстрой и легковесной, а не как говно на электроне.

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

На серверах крупных компаний куча бэкэнд кода на плюсах. Больше, чем ты думаешь, ибо ГОвно со своим сборщиком мусора может внезапно начать сосать хуи в слоумо в самый неподходящий момент.

>нищее байтоебство в эмбедеде


Тут зависит от государства в котором ты живешь. Если ты рабсиянин/уркоинец/еблорус (нужное подчеркнуть), то да, малясь зашкварная отрасль, где требуют относительно много знаний + шарить в железе, а платят меньше, чем ссаной вебмакаке, которая по факту не знает что есть компьютер. В странах типа США, Германии, Израиля (за другие не скажу, за эти просто точно знаю, но думаю, что в Европке оверолл такая ситуация) эмбедщина - элитная айти отрасль и получают они хорошие деньги, порой выше, чем веб-смузихлебы, да и работа у них интересная. Учитывая, что эра IoT находится на заре, равно как и отрасль автономных машин с кучей эмбедщины внутри оных, эмбедщики будут востребованы еще очень долго.
182 1778282
>>78279

++ этого джентльмена.

И да, реально шарящих "крестовиков" - очень мало.

Тем мы, крестовики, ценнее всяких джавистов и прочих PHP-макак.
183 1778285
>>78199
Привет из Нвидии
184 1778286
>>78199

>По сути осталось нищее байтоебство


Ага, поэтому мне предлагают 200к вакансию и 3 релока один из которых в Канаду. Хуй соси еблан.
185 1778287
Гм, а системное прыграмирование тоже считается б-ебством?
186 1778291
Какие годные ребята в треде. Бтв вы высокие, мне кажется, только потому что вам нет замены. Как попасть на Джуниор с++ разраба? Правильно, никак, всем ток мидлы и сеньеры надо
187 1778292
>>78291
Вы вымрете* быстрофикс
188 1778295
>>78279
И это я еще не привел примеры ресурсоемких числодробилок, разных научных симуляций Вселенных, RT, обработки изображений и видеофайлов (вся отрасль CV держится на плюсах, openCV написана на плюсах), медиа-аудио плееры, куча системного софта, драйвера (на винде дрова пишут на крестах, например), вся отрасль компьютерной графики и много чего другого.

Плюсы на пару с Сишкой - оплот и фундамент всего мира компьютерных технологий. Какую технологию ты бы ни взял, в 99.9% случаев ее инфраструктура будет написана на С/С++. Причем именно в случае с плюсами налицо их развитие. Каждые 3 года штампуют стандарты с тонной новых фич, язык явно не станут забрасывать, ибо на это нет никаких, даже косвенных, причин. Можешь считать, что С++ - это рак в терминальной стадии, давший метастазы по всему организму. Убьешь С++ - убьешь мир компьютерных технологий просто К ХУЯМ. Может ли все поменяться когда-либо? Безусловно, теоретически, может, только вот если такое когда-либо и произойдет, то каждый читающий этот пост уже будет давно в земельке.
189 1778296
>>78287
Вполне.
190 1778297
>>78286
Какой стэк, какие проекты делал? В чем надо шарить, чтобы быть востребованным эмбедщиком? Насколько глубоко надо нырять в мир железа? Какую литературу по сабжу лично бы порекомендовал? Здоровья тебе, анон.
191 1778299
>>78295
Мда. Чувствую себя чуть менее греховным, чем плюсеры, ведь я просто пишу на портируемом ассемблере ради максимальной производительности...

мимо сищник
192 1778303
>>78299
Сишка, какой бы старой ни была, все равно бессмертна при нынешней архитектуре железа, лол.

Просто она менее гибкая и намного меньше напоминает швейцарский нож, нежели кресты, поэтому писать на чистой сишке какой-нибудь фотошоп или движок для очень серьезной и большой игры - лишний гемор, учитывая, что разница в скоростях между С и С++ пренебрегаема в подавляющем большинстве случаев, а порой плюсы даже быстрее сишки (если правильно писать код, перекидывая как можно больше вычислений на компайл тайм с помощью темплейтов и constexpr).
193 1778307
>>78199

>Кресты


>хайлоад

194 1778310
>>78307

>джаваскрипт


>веб



Это игра в ассоциации или как?
195 1778311
>>78303

>если правильно писать код, перекидывая как можно больше вычислений на компайл тайм с помощью темплейтов и constexpr


Никогда этого не понимал. Я как программист могу предвычислить всё, что нужно, вынести подвыражения, раскруить циклы, и результат будет лучше (для известных мне архитектур). Компилятору остается подставить static inline и свернуть константы, это с начала 2000-х умеют все.
196 1778318
>>78295
==Плюсы на пару с Сишкой - оплот и фундамент всего мира компьютерных технологий. Какую технологию ты бы ни взял, в 99.9% случаев ее инфраструктура будет написана на С/С++. Причем именно в случае с плюсами налицо их развитие. Каждые 3 года штампуют стандарты с тонной новых фич, язык явно не станут забрасывать, ибо на это нет никаких, даже косвенных, причин==

Прямо вдохновляет. Но как насчёт суровых реалий? Я живу в городе с населением 300 тысяч человек, областной центр и на данный момент на сайте hh.ru нет ни одной вакансии для C++ программиста, подозреваю что никакого "эмбедед" тут тоже просто не существует
197 1778337
>>78318
Страны СНГ - технологически неразвитые страны, и, понятное дело, рынок айти это не обошло стороной. Тут я ничего посоветовать не могу. Дрочи дома плюсы, жестко вкатывайся в инглиш и заводи трактор, если хочешь элитной работы в сфере низкоуровневого программирования. В странах СНГ есть шанс, но я бы не стал. Решать тебе.
198 1778338
>>78337
не, я уже окно возможностей проебал, так прост, интересуюсь. Когда то "гениальный план" разрабытывал, что выучу си, выучу ассемблер, выучу си плюс плюс и на галеру в Воронеж рвану, но встрял уже на первом пункте
199 1778342
>>78338
И сколько ты уже Си учишь? Какие свои пет-проекты написал?
200 1778344
>>78318
Странно, что вакансий на эмбедщину нет, у вас там в рашке нет ведоров железа, которые должны писать кастомные драйвера и прошивки на чипы? Причем эмбедщина есть просто ВЕЗДЕ блять. От микроволновок до истребителей.
sage 201 1778345
>>78342

> свои пет-проекты


Уебал бы.
202 1778347
>>78156

>задачи уровня "Вася часто ездит на автобусе и захотел написать программу для определения, счастливый ли билет"


Наивный, там также сложно как и на олимпиадах по математике и физике. Не каждый студент вуза, даже не каждый препод эти задачи решит. Это я не про городскую олимпиаду мухосранска говорю, естественно.
203 1778348
204 1778350
205 1778355
>>78318
Вот тут двачую, сам с мухосрани 600к, на весь город пара вакансий на плюсах. Вскоре думаю на собес пойду, и если не пройду или сама работа не понравится то походу придется выкатываться и переходить на веб парашу.
206 1778361
>>78342
27 октября 2016 начал, показывать нечего, на гитлабе было немного кода но я аккаунт не помню, вот с этой лабораторной например не справился, а именно с последними двумя строчками: https://sites.google.com/site/pathofdeveloper/home/programmirovanie-na-azyke-vysokogo-urovna/zadaci-pervogo-semestra/poisk-podstroki-metodom-bojera-mura
Вот с этой задачей на олимпиаде почти справился, но доделал уже вечером после: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjW1Zmh453rAhXFs4sKHZ8TA24QFjAAegQIBBAB&url=https://olympic.nsu.ru/files/problems_8.pdf&usg=AOvVaw0dbA4QEfkK6Som77mDTMuZ Вот мой акк на степике: https://stepik.org/users/114171448/courses
207 1778366
>>75531
предоставляют более специализированный интерфейс
208 1778368
>>78361
Уточню, задача на олимпиаде "заяц - топтун" в файле она не одна оказалась
209 1778371
>>78361
>>78202
А в чем сложность то? Там шаблон для поиска всего 16 символов. Берешь сначала реализуешь дефолтный алгоритм поиска подстроки. Далее грузишь допустим первые 1024 байта файла, ищешь в них подстроку, если не нашел читаешь файл по смещению 1024 - длина_шаблона и опять ищешь в этом куске подстроку, повторить пока файл не кончится. И никакие книги для этого не нужны.
210 1778373
>>75858
хех, подход не очень хороший если следовать дизайну стл
ведь стандартные модифицирующие алгоритмы стл никогда не меняют размер контейнера
и тому есть причины
211 1778374
>>78160
Почти так. Могут еще контейнеры изучить. Для олимпиадного програнья школьного много знать не надо
>>78162
Ох лол. Ну открой задания олимпиады 1 степент и всероса и охуей.
212 1778375
>>75858
в новом стандарте можно передавать не пару итераторов а рэндж
213 1778381
>>78371
Ну вот ты умный такой, а я не такой. Два месяца потратил - так и не сделал. Вот кот кстати, я нашёл: https://gitlab.com/Krogan1987/labs/-/blob/master/lab1-0/src/main.c
Близок хоть к цели то был?
int block = 163;
Это размер блока на которые разбивается файл, меняем размер блока - вывод не должен меняться, причём разбиваем не файл генерируемый программой-тестером, там он слишком лёгкий, а заполняем рандомными цифрами. Сначала получаем эталонный вывод используя эту же программу но прописав блок больший длины файла, а затем тестируем прописывая меньшие длины блока
214 1778382
>>78374
Когда я сказал много знать не надо, я имел ввиду в плане синтаксиса языка. И то там изъебываются иногда. Используют модифицированный ввод вывод. Но обычно это не требуется. В основном задачи сделаны так, что можно на любом языке написать, НОО иногда бывают байтоебские задачи. Например обязательное условие писать на си и улажиться в очень строгие ограничения по времени и памяти. Или залачи на перебор, где нужно эффективно перебирать. То есть там используют только плюсы.
215 1778387
>>78310
Он небось на говноланг намекает.
216 1778390
>>78381
Пиздец конечно, все в 1 функции, неинформативные названия переменных. Это читать и понять что происходит просто невозможно. Вынес бы хоть код поиска подстроки в отдельную функцию.
123.png42 Кб, 511x296
217 1778393
Анончики, какие типы проектов можно делать с данной железкой?
218 1778397
>>78390
==Это понять почти невозможно==
Вот я и сам перестал что-либо понимать и любые изменения которые я вносил меняли не только то что я хотел но и то чего не хотел
==код поиска подстроки в отдельную функцию==
Так я не умею для меня функция это то что принимает несколько аргументов и возвращает одно значение, принять массив и вернуть массив - я не знаю как, не прочитал ещё нужную главу в учебнике, ни тогда, ни сейчас
219 1778398
>>78393
Мигание диодами.
220 1778404
>>78397
Но сейчас, то есть несколько месяцев назад я научился писать более понятный код. по крайней мере мне самому, но он и алгоритмически несравнимо проще: https://pastebin.com/wd0LDZCp
221 1778419
>>78381
Ужасно нечитаемый код, особенно в теле цикла. Пиши чище, анон.
Кстати, у тебя, видимо, баг в 6 строчке - fgets неявно вставляет нуль-терминатор после окончания чтения строки. И твой буфер на 20 символов вместит в себя 19 (20ый будет для нуль-терминатора). Если так было и задумано, то пардон, а если нет, то учти.
222 1778420
>>78398
И все? А если притарабанить какой-то условный джойстик, который присоединяется к I2C шине и накатать на него драйвер?
223 1778422
>>78397
пчел, ты вкатился в 2016 году и до сих пор не знаешь как передавать в функцию массивы/возвращать из нее массивы?
Не в обиду, но, возможно, программирование - это не твоё.
224 1778423
>>78419
Это более года назад писалось, я понятия уже не имею что там задумывалось, но скорее всего длина буфера выбрана с запасом
225 1778430
>>78422
Да, именно так. Никак до этих глав не докачусь. Сначала катился по книге Прата, потом начал в школьную математику вкатываться, потом в школьную информатику, потом в вузе год пытался в код, пот ом снова книгу начал читать с самого начала, где то в апреле этого года снова забил прочитав не намного дальше чем в первый раз. Начал в линукс слепую печать и вим уходить, а на сам си как то взял да и забил, ещё и работать начал на заводе, вообще как то вечером не до самообразования
226 1778432
>>78311
Да, всё мы можем. Но оказывается гораздо более удобным перекладывать эту работу на компилятор, код остаётся понятнее, времени на его написание и отладку уходит гораздо меньше. Компиляторы со временем становятся всё умнее, и уже сегодня спокойно уделают тебя в оптимизациях в 95% случаев.
Так-то можно и на ассемблере всё писать, но, очевидно, времени на такую деятельность просто нет.
227 1778435
>>78393
Взять большую сборку светодиодов, написать детектор степени дезориентированности существ в поле зрения камеры и сделать стробоскоп от воров с обратной связью.
228 1778447
>>75870
split делался через stringstream всегда
об этом в каждом учебнике для ньюфагов написано
229 1778449
Доку beast по порядку читать надо? Просто пока очень обрывисто выглядит и в одну картину не собирается. Вообще не понимаю структуры программы сервера.
230 1778454
>>76597
сейчас с новых стандартов в стандартной библиотеке есть возможность работы с кучей
231 1778455
>>78449
Я привык, что сначала идет некое введение. Что нужно для работы сервера. Как сервер принимает соединения, и тд и тп. Там сначала расскаываются буферы, таймауты.
233 1778464
>>78458
Плюсовые заморочки
234 1778466
>>78458
Потому что в шаблоны раскрываются на этапе компиляции, а значит в них можно подставлять только константы времени компиляции.
В "const char hello[]" hello - константа времени выполнения.
&hello, адрес hello - константа времени выполнения.
235 1778467
>>78466
Миссклик, не дописал.
const char* hello - указатель на const char - не константа времени выполнения => в шаблон не подставить.
Строковые литералы просто нельзя передавать в шаблоны, причину не назову.
236 1778468
>>78467
>>78466
Еще и обосрался с названиями... Фикс:
Потому что в шаблоны раскрываются на этапе компиляции, а значит в них можно подставлять только константы времени компиляции.
В "const char hello[]" hello - константа времени компиляции.
&hello, адрес hello - константа времени компиляции.
const char* hello - изменяемая переменная-указатель на const char - не константа времени компиляции => в шаблон не подставить.
Строковые литералы просто нельзя передавать в шаблоны, причину не назову.
237 1778469
>>78467
Примерно та же причина, что и с флоатами. Из-за случаев, когда можно подумать, что параметры шаблона в двух разных местах совпадают, а на самом деле это не так. Тут хелло, там хелло, а указатели разные.
238 1778471
>>78468

>Еще и обосрался с названиями... Фикс:


Благодарность за пояснения, дальше сам разберусь.
239 1778476
>>78318

>Но как насчёт суровых реалий?


Перекат в ДС\ДС2
240 1778575
Есть смысл переводить на русский статьи с cpp reference?
241 1778577
>>78393

>Анончики, какие типы проектов можно делать с данной железкой?


Как же заебали ардуинщики, блядь. Все бегают с этой хуйней и рассказывают, какие они инженегры, блядь. Да лол, все, что может эта хуйня сделать это - прочитать входа, обработать, выплюнуть выхода. Чо вы там все ими выебываетесь? Чо вы на них пишете? Один мне затирал, как систему полива цветочков автоматическую сделал в зависимости от влажности, ууу, бляя. И чо, говорю, ты там такого реализовал? Прочитал значение датчика и далее, если он ниже уставки, то включить насос? А в ответ...эээ, мууу, беее, ну эта.
242 1778578
>>78420
Делать то ты чо хочешь, болезный? Ну прицепишь джостик и дальше чо? Воткни геймпад в комп да обрабатывай его ввод через директХ
243 1778587
>>78458
Немного извратившись, можно будет делать нечто похожее в C++20
https://ctrpeach.io/posts/cpp20-string-literal-template-parameters/
244 1778590
Доку beast по порядку читать надо? Просто пока очень обрывисто выглядит и в одну картину не собирается. Вообще не понимаю структуры программы сервера. Я привык, что сначала идет некое введение. Что нужно для работы сервера. Как сервер принимает соединения, и тд и тп. Там сначала расскаываются буферы, таймауты.
245 1778608
>>78590
Это документация, а не туториал.

>Что нужно для работы сервера. Как сервер принимает соединения, и тд и тп.


Тебе книги обучающие надо читать, а не документации.
246 1778613
>>78608
Капец. Ну и что мне читать? Чтобы это было на уровне абстракций биста
247 1778618
>>78577
А что для тебя верх инженерной мысли? Или если человеку нравится эмбедщина, то это зашквар?
248 1778630
>>78618
Какая эмбедщина, поехавший? Там залупа, уровня вывести хеловорд в консоли. Даже самый отбитый нуфаня таким хвастаться не будет, а ардуинщики хвастаются
249 1778638
>>78630
ну а я говорил про эмбедщину. Высрать какой-то кастомный дрон или что-то наподобие. Ты ответил на предыдущий пост в духе "нахуя пилить хеллоуворлды на микроконтроллерах и кичиться этим", но я изначально и не говорил про хэллоуворлды, а про что-то куда более сложное.
250 1778678
>>78613
Бамп
251 1778701
>>78630>>78577

> прочитать входа, обработать, выплюнуть выхода


> Там залупа, уровня вывести хеловорд в консоли. Даже самый отбитый нуфаня таким хвастаться не будет


Чем твой пример отличается например от обработки данных рсдб-наблюдений? Там тоже "прочитать входа, обработать, выплюнуть выхода" -- а про это написано тысячи статей, и посоны 40 лет ебались с проблемами оцифровки и передачи информации, с корреляцией данных и прочее.
Сейчас эти проблемы не стоят так остро, записать на винчестеры и передать пару сотен гигабайт по инторнету, а потом прокоррелировать на видеокарточках не что-то сложное, когда-то это был знатный геморрой. Приходилось строить суперкомплектары и диски самолетами пересылать.
252 1778715
Не нашёл отдельный загон для Qt, но надеюсь тут кто нибудь есть.У меня в проекте помимо главного класса, с ui, есть вспомогательный, который обсчитывает данные но сам виджеты не обновляет. Мне нужно выводить на экран статистику по выполнению функций вспомогательного класса. Как это можно сделать? Пробовал сделать ui публичным и подключить его ко второму классу, но чёт не вышло. Ещё знаю о существовании сигналов, но они вроде как работают между виджетами, а мой вспомогательный класс не подключён ни к какому виджету.
253 1778721
>>78715

> работают между виджетами


Они между чем угодно, нужно только от QObject отнаследоваться. Как сделать есть разные варианты. В классической MVC ты создаешь модель со статистикой (туда записываются данные которые нужно отображать). Вспомогательный класс обновляет инфу в модели. Контроллер время от времени (или по сигналу от вспомогательного класса что данные обновились) берет инфу из модели и отправляет ее на отображение в виджет (сигналом).
254 1778731
>>78701
Ты издеваешься, блядь, что ли? Ты понимаешь, что ты несравнимое сравниваешь? Абстракционист, хуев. Так и функция любая у тебя прочитать вход, обработать, выплюнуть ретурн.
255 1778733
Чем кресты от шарпа отличаются, кроме указателей?
256 1778743
Как в серверописание вкатиться?
257 1778752
>>78743
Садишься и пишешь свой сервер
258 1778775
>>78733
Тем, что компилятся в относительно компактный нативный код и имеют темплейты (нет, дженерики далеки от темплейтов).

Хорошо написанный код на с++ будет всегда быстрее хорошо написанного кода на сишарпе (тем не менее, суперхуевый код на с++ может быть медленнее кода на шарпе), именно поэтому в хуйлоудах предпочтительнее С++, а не шарп. С++ дает гораздо, ГОРАЗДО больше контроля над программой и над тем, какой машинный код выплюнет компиль.
259 1778791
>>78752
Литературу какую почитать чтобы знать с чего начать?
260 1778792
>>78733
Это блять 2 абсолютно разных по парадигмам и идеям языка.
261 1778795
>>78792
Ой, да не пизди ка давай. То что в шарпе обязательно классы хуячить, а в крестах можно без них это хуйня из под коня.
262 1778809
>>78733

C++
- Сверхпростой интероп с сишкой и сишными либами.

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

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

- нативный машкод вместо байткода.

- нет нормальной рефлексии

> кроме указателей



Кстати я вижу ты знаток шарпа. Да будет тебе известно, там есть указатели.
10661421.jpg74 Кб, 650x493
263 1778835
>>78809

>2020


>сишка и сишные лабы

264 1778836
>>78791
Неужели никто не писал сервер на бусте?
265 1778837
>>78809

>Кстати я вижу ты знаток шарпа. Да будет тебе известно, там есть указатели.


Ни разу не видел, чтобы их кто то где то использовал, тогда как на крестах какой код не возьми, все указателями обмазываются где надо и где не надо
266 1778842
>>78835

>2020


>думать, что есть жизнь за пределами браузера



>>78837
Потому что на шарпе пишут как на жабе. Когда завезут функции, небось тоже никто их юзать не будет.
267 1778846
>>78842

>Когда завезут функции, небось тоже никто их юзать не будет.


Ага, прямо как на ооп в крестах, дали им, дебилам, классы, так они все равно без них хуярят
268 1778848
>>78842
Функции в шарпе с самого первого дня же. Или ты про что?
269 1778850
>>78835

> сишка



Лингва франка системного программирования. Чё не нравится?
270 1778853
>>78848
Я про функции. Не методы, а именно функции. Вне классов.
271 1778856
>>78853
И в чём от них смысл?
272 1778862
>>78856
Не нужно будет создавать классы из одного-двух статик методов. Классы будут использоваться по прямому ООП-назначению, а не в качестве модулей.
Но это тема отдельного срача.
273 1778866
>>78862
А на хуй бы не пошел?
Раз ты пишешь классы из одного двух статик методов, то ты чего то в архитектуре нахуярил из жопы
274 1778867
>>78866
Ясно.
image.png38 Кб, 753x426
275 1778922
Сап. Может тут есть аноны, прошаренные в QtQuick?
Есть изображение, которое генерируется из нескольких картинок. Генерирую я это в QQuickItem::updatePaintNode.
Сейчас нужно в эту же картинку добавить что-то типа DropShadow.
Так вот вопрос, могу ли я в одном updatePaintNode нагенерировать кучу QSGNode,
а потом засунуть в другую ноду, где будет написан мой кастомный материал с нужным мне шейдером?

Чтоб было понятнее, на скрине псевдокод
276 1778999
Хочу заделать для портфолио аналог какого-нибудь спотифая. Какие подводные?
277 1779028
Может кто обьяснить как вкатиться в эту хуйню?
278 1779033
>>79028
Оч сложна
Качаешь пару талмудов и внимательно, методично их читаешь, попутно выполняя все примеры и дохуя гугля. И может через несколько лет что да выйдет.
279 1779047
>>79028
Просто учишь, лол.
И параллельно пишешь код, начиная с говна на уровне хэллоуворлда и lab1.cpp, постепенно повышая уровень.
280 1779078
>>79028
Лушче всего вкатываться после сей. Подсле ЖС сложновато будет.
281 1779083
>>79078

> после сей


Чтобы писать на си с классами.
282 1779084
>>79083
Как что-то плохое
283 1779085
>>79084
Как что-то хорошее
284 1779086
Подскажите программы, которые пригодятся в разработке сервера. Например для того чтобы отправлять пакеты с заголовками записанными.
285 1779087
>>78618
реализация вытесняющей многозадачности в ос общего назначения, например
286 1779088
>>79086
чего блядь

>>79028
Читаешь книги, пишешь код, идешь на собеседование. Что еще ты ожидаешь услышать?

>>78999
Никаких, делай
287 1779089
>>79086
Напиши сам.
288 1779090
>>79088
Например клиент должен серверу отправить запрос на соединение. Там должны быть заполнены заголовки. Я же не буду вручную их заполнять, вычислять и отправлять
289 1779092
>>79090
если ты про http сервер (раз говоришь про заголовки) - их дохуя и больше. Всякие pistache, crow, и тд. Если про клиента - то курл все сделает за тебя. В че вопрос то?
290 1779093
>>79092
Чтобы тестировать сервер нужно ему отправлять всякие запросы. Ну вопрос в программе, которая будет это делать.
291 1779094
Это нормально, что при подключении буста вывалилось 134 предупреждения?
292 1779149
Йоп, анон посоветуй хороший гуй для пэт-проекта ? Раньше сидел на Qt, но сейчас после переката на новое железо просто лень катить его заново, плюс, хотелось бы знать, есть ли вообще что-то готовое и хорошее, по возможности лёгкое ?
Сам поискал, наткнулся на JUCE, переплевался с объявления точки входа в программу, дропнул к чёрту, моя нежная душа не выдержала, сейчас ещё смотрю на Dear ImGui, пока лучшее что нашел
293 1779150
>>79094
Конечно, а что ты хотел ? Оно же на божьей помощи работает
нет
294 1779151
>>79150
но вообще, крутые парни не обращают внимания на варнинги
295 1779165
>>78286
>>78297
Бамп вопросу
296 1779171
>>79149
copperspice
297 1779181
>>79165
Тут на вопрос ответили
>>79171
Спасибо, анон
//Тут кстати, пока искал примеры как оно выглядит, наткнулся вроде-как на адекватную статью, мб кому пригодится, правда уже немного старая
https://philippegroarke.com/posts/2018/c++_ui_solutions/
298 1779183
>>79181
Нет, не ответили.
299 1779184
>>79181
Copperspice - это же переодетый Qt
700.jpg29 Кб, 300x303
300 1779190
псс, парень, я слышал, тебе нужен хороший гуй
301 1779193
>>79149
Что тебе ОБЪЕКТИВНО мешает остаться на QT и не ебать мозги ни себе, ни остальным?

>по возможности лёгкое


У кутей чуть ли не идеальный баланс между навороченностью и легковесностью, хз че ты мнёшься.
302 1779211
>>79190
На винде не сидим, так что... Можно так же, только с gtk ?
>>79193
Хочу посмотреть на что-то новое, да ну и как бэ, понятно, что сейчас куда не пойдёшь, на гуй тянут qt, но всё же животный интерес надо удовлетворять иногда, в общем, просто любопытство по хорошему
303 1779219
>>79211
А, ну раз чисто балду погонять и удовлетворить простой интерес, то тупо любой, здесь уже писали некоторые.

Только вот в итоге все равно QT будешь прикручивать :-)
304 1779225
>>79165

>Какой стэк,


Любой, этож C++, это тебе не JS, где ты отошёл от браузера на миллиметр и сосёшь.

>какие проекты делал?


Гейдев, Эмбедед, микроконтроллеры, 3d графика, openGL, картография, навигация по GPS + Glonass, работа с электроникой типа ардуино итд, базы данных.

Пригласили в фирму для разработки карт.
Канада - разработка игорей.
Вообще не стоит слушать дебилов которые говорят о мёртвости того или иного языка. Я 20 лет в IT и 15 в программировании. И так говорят вообще обо всех языках на свете.
Примеры ниже
PHP - вообще говно которое вот вот загнётся (15 лет слышу).
C - загнулся в 90 (при этом самые ценные вакансии как раз на нём почему-то)
Java - вот вот загнётся (есть же более производительные языки) (слышу об этом лет 15)
Kotlin - Язык одного стартапа джетбрэйнс, проживёт лет 5 максимум (лол)
JS - заменят на %new_lang_name% (меняют лет 13)
Python - тормозное говно без задач, сдохнет везде кроме униварситетов (8 лет читаю как он подохнет)
C++ - помер лет пять назад (почему-то мне сыпятся самые крутые вакансии на нём и сишке лет 10 как, дауны всё кроме стека с микроконтролерами не могут ничего найти)
Даже кобол живой. А вы сосачерам верите, лол.
305 1779228
>>79225

>стека с микроконтролерами


Будто это что-то плохое
306 1779229
>>79225
Вообще у меня довольно крутой бэк по теме картографии, сам разработал прогу которая делает карту местности собирая снимки с дронов. Видимо поэтому меня и пригласили. Хотя это не проект даже, а хобби скорее.

Но да, если ты книжку прочитал да лабу написал, тебя никто в своём уме хантить не будет. В cpp это так не работает.
307 1779230
>>79228
Это плохо, когда ты концентрируешься ТОЛЬКО на одном стеке, забывая обо всём остальном. В результате ты видишь только узкую прослойку вакансий, которая не всегда оплачивается адекватно.
308 1779233
>>79225
>>79229
Как дорасти до твоего уровня? Только без абстракции вроде: читать, практиковаться. Тоже хочу в Канаду, бля. Учу сейчас C, докачаю до продвинутого уровня и перейду на плюсы.
309 1779239
>>79233
Если ты тот пчел, который вкатывается с 2016 года и до сих пор не умеет возвращать массив из функции - сори, бро, никак. Это не твое.

А если ты не тот чел, то просто учи + стругай пет-проекты, чем больше тем лучше, постепенно увеличивая сложность.
310 1779241
>>79230
я вот лоу-лвл червь, люблю прошивки и драйвера. Что скажешь по этому поводу?
Пысы: самый хай-лвл проект, который я разрабатывал, была небольшая виртуальная машина, это чтоб ты понимал степень моей байтоёбности)
311 1779244
>>79239
Вкатываюсь с июля 2020 года. Буду учиться + стругать пет-проекты постепенно увеличивая сложность. Спс.
312 1779246
>>79233
Тут я должен бы какую-нибудь шаблонную фразу кинуть, типа Учись, читай. Но на деле это мало кому помогает. В реальности надо не просто любить язык и хотеть на нём программировать, а любить решение задачи. Тот же проект с дронами нахрен никому был не нужен когда я начинал. И выглядело всё со стороны как какой-то задрот тратит кучу времени на то, что и так имеет аналоги в том же гугле. Потом пришли фирмы чтобы его у себя виспользовать.
Думаю если у тебя возникает какое-то чувство страсти и хоть какого-то удовольствия - ты в любом случае окажешься в Канаде, калифорнии, на пляжу с удалёнкой и коктейлем в руке.
Верю что всё у тебя получится. В этот тред просто так не заходят всё таки.
313 1779248
>>79246
От души, анон. Ушёл развиваться дальше.
314 1779249
>>79248
Удачи.
315 1779259
>>79248
Кстати один интересный совет я всё же могу дать. Светись на форумах, телеге, там где обитают крутые спецы. Задавай вопросы, ищи решения. Меня в основном так и находят.
316 1779275
>>79259
а если я хикка?
317 1779280
>>79259
Тибо стака и реддита(шутка)?
318 1779286
>>79275
хиккам в 2к20 сложно без софт скиллз, даже в погромировании. Тебе будет гораздо сложнее, порой на грани невозможного, добиться успеха, нежели более социализированным собратьям.
319 1779294
>>79286
но я толковый
320 1779319
>>79275
Ковид же. Я уже 6 месяцев коллег не видел, всё по удалёнке. Думаю хиккам самое оно.
321 1779322
>>79286
Не сказал бы. С одной стороны хорошо когда подован вопросы задаёт. С другой стороны зачем мне долбоёб который задал 9000 вопросов и фактически я за него проект сделал, в то время как тот социоблядский мудак неделями на кофебрэйках. Тут нужна середина.
322 1779358
>>79319
Я даже работу успел удачно сменить, в одном офисе был "по удалёнке", теперь в другом.
Пока что так и продолжаем.
323 1779416
>>79225

>Канада - разработка игорей.


Юбисофт? Биотвари?
324 1779451
>>79416
Больше некому
325 1779460
>>78638

>Высрать какой-то кастомный дрон или что-то наподобие



Какой-то кастомный дрон уже лет 10 как высрали:

https://github.com/ArduPilot/ardupilot

https://github.com/iNavFlight/inav

Их писала куча разработчиков, платы для них делались с нуля и ничего общего с хелоуворлда "мама я с одноразового китайского датчика, который через месяц окислится и заржавеет к хуям, писяю в горшок, код спиздил со стековерфлоу я умный".
326 1779461
>>79460
С таким подходом любой пет-проект - это гиблая затея, ибо за тебя уже давно все написали. А если ты и пишешь что-то на уровне стартапа, то это 1 на миллион, и то не факт, что кому-то будет нужно и выстрелит.
Тем не менее, людям серьезные пет-проекты помогают устроиться на работу, и речь далеко не про хэллоуворлды и мигания диодами. Ты троллишь тупостью или как?
327 1779465
>>79461

Всё дело в том, что мода на детские радиоконструкторы из отладочных плат каким-то образом перелезла за пределы школьных радиокружков в область ВО ВОТ СЮДА ВОЙТИ ВАЙТИ и на основе детских радиоконструкторов дебичи всерьез думают делать какие-то стартапы.
328 1779471
>>79465
Блять, да речи не было про хэлоуворлды, алло
Речь была про более серьезные проекты, которые требуют куда более углубленных знаний в программировании и электронике. Хули ты прицепился вообще со своими миганиями диодов, шиз?
329 1779712
Поясните, можно ли скомпилить плюсовой код так, чтобы он без ос работал? Нахуя мне нужна ос, которая жрет кучу ресурсов, если можно просто запустить программу без ос.
330 1779729
>>79712
Всё можно. Погугли, как bootloader-ы элементарные писать, дальше понятно станет.
331 1779746
>>79712
Freestanding код называется
332 1779749
>>79746
>>79729
А можно любую программу без особых усилий такой сделать или как?
333 1779753
>>79749
Ну если у нее не будет dll всяких. Обычно же у программы куча системных вызовов. Можно заставить компилятор скомпилировать под голую железку код?
334 1779755
>>79749
Без усилий - нет. Только разве хэллоуворлды запускать.
ОС дает тебе абстракцию над железом и не дает тебе фривольно пакостить. А дебажить bare-metal код ты вообще ебанешься, особенно если он на обычном настольном компе, где даже UART порта нет.

Мой тебе совет - хочешь заниматься подобной хуйней, покупай любой SoC типа малинки или биглбона или же сразу мкк типа STM32 (для bare-metal лучше второй варик).
335 1779756
>>79753
Ладно. Я так подумал, что ебала еще та. Огромное колличество функций ос, всякие платформозависимые штуки типо аллокации, потоков. + вывод нужен. Было бы это просто было бы круче.
336 1779757
>>79755

> Мой тебе совет - хочешь заниматься подобной хуйней, покупай любой SoC типа малинки или биглбона или же сразу мкк типа STM32 (для bare-metal лучше второй варик).


Да не. Просто вопрос из интереса. Типо можно ли так всякие требовательные программы запускать, чтобы все ресурсы компьютера были нацелены на исполнение программы. А то винда как то много ресурсов потребляет.
337 1779767
>>79757

>винда


Пересядь с зондированного говна на операционную систему (Линукс), например, там ты так закастомизироваться сможешь, что все ядро вместе с гуем на стартапе будут жрать по 100-150 MB вместо 3 GB в винде. Тащемта, все суперкомпьютеры мира на Линуксе и крутятся, чтобы выжимать все соки из железа.

А вот полностью отказываться от ОС - хуевая затея, ибо ее абстракции нужны для того, чтобы оверолл деплой даже простых программ не занимал 3 десятилетия. В 2к20 году даже на кастрированных железках крутится какая-нибудь FreeRTOS, даже в автономных машинах и джетах. Почему? Потому что если у тебя нет ОС, то у тебя нет планировщика, а значит если ты захочешь параллельно запустить 2 процесса - ты соснешь хуйца с проглотом. Гонять электроны по проводам как 60ых не варик, нужна какая-никакая ОС в 99% случаев.
338 1779805
>>79767
Красноглазый даун даже уточнил, какой высер является в его секте операционной системой.
339 1779809
Обновил gcc mingw(версия около 7 на 10.2.0) и перестал работать примерно такой код:

template<bool b___>
struct S1
{
constexpr bool is_some_bool(void){ return b___; };
};

struct S2
{
};

template<typename x___> concept if_and_is_some_bool = requires(x___&& x) { new int [x.is_some_bool() - 1]; };

if_and_is_some_bool<S1<true >> ----> true
if_and_is_some_bool<S1<false>> ----> false
if_and_is_some_bool<S2 > ----> false

То есть, сперва узнавал есть ли вообще метод "is_some_bool", затем узнавал его constexpr значение.
Изменил на такой:

template<typename x___> concept if_and_is_some_bool = ((x___⚹)0)->is_some_bool();.

Но тут разыменование(без доступа к чужой памяти) нуля как макросе offsetof, которое хоть вроде как и работает в
большинстве случаев, но всё же UB. Вопрос, есть ли способ правильнее?
340 1779860
>>79767

> Пересядь с зондированного говна на операционную систему (Линукс), например, там ты так закастомизироваться сможешь, что все ядро вместе с гуем на стартапе будут жрать по 100-150 MB вместо 3 GB в винде.


Найс манямирок. Линупс с голым ядром 5.0+ без гуя жрет минимум 120, без systemd можно до 90 ушакалить.
А ты в курсе сколько жрет Windows Server 2019 Core? 140 мб. С гуем, правда без рабочего стола.
341 1779873
>>79860
Эх, щас бы в 2020 мегабайты озу не в жава треде посчитать...
342 1779878
>>79809
std::declval ?
343 1779887
>>79878
Не это другое.
344 1779897
Посоветуйте чето редкое необычное написать гуй, под вин/Линукс пох но желательно ленупс
346 1779933
Аноны, в компаниях, где производят железо, те, кто производят железо, они и пишут на них прошивки и драйвера? Или для этого есть отдельные софтвер-челики?
347 1779961
Расскажите как происходит разработка для винды под линуксом? Вот допустим прилетает мне на фрилансе задание сделать гуишное приложение на Винду. Как я буду это делать? Только Virtualbox или есть ещё варианты?
348 1779962
>>79933
Драйверисты и железячники - это не пересекающиеся скиллсеты

>>79961
Пишешь на кутях @ кросскомпилируешь.
349 1779968
>>79962

>кросскомпилируешь


Неужто всё так просто? А что по либам виндузятным? И как тестить в любом случае?
350 1779978
>>79968
Ну винда в виртуалбоксе будет нужна, да. Я к тому, что никакого виндо-специфик кода или виндо-специфик хуйни не будет.
image.png4 Кб, 571x63
351 1779989
Че это такое?
352 1780003
>>79961
Просто не используй линуксовый API во время разработки, а если речь о гуе - QT - кроссплатформенная либа, которая абстрагирует от тебя надобность думать на какой ОС ты пишешь код.
Если в коде должны быть winAPI вызовы помимо всего прочего - поднимай виртуалку и дебажь свою софтину там.
353 1780007
Вот смотрю код beast. Конкретно этот пример https://www.boost.org/doc/libs/1_74_0/libs/beast/example/websocket/server/sync/websocket_server_sync.cpp
Там же для каждого соединения свой поток. Так чем это не ассинхронность?
354 1780016
>>80007
тем, что уже на 300 соединениях ты охуеешь
355 1780018
>>80016
Можно подробнее?
356 1780020
>>79978
>>80003
Понял, спасибо.
357 1780022
>>80018
https://ru.wikipedia.org/wiki/Переключение_контекста

Когда у тебя будет дохера тредов - все что ты будешь делать, это 24х7 переключать контексты
358 1780025
>>80022
А асинхронный код буста будет сам этим управлять, не плодя треды? Сам между соединениями переключаться?
359 1780026
>>80018
Тем, что количество потоков, которая твоя машина может исполнять ДЕЙСТВИТЕЛЬНО параллельно, ограничена спекой твоего процессора.
Формула такова: core per socket * threads per core = количество потоков, которые твой процессор может исполнять параллельно. Превышая это число, планировщик начинает активно дрочить заниматься context switch'ем и все клиенты начинают на пару с тобой потихоньку сосать хуи в постоянно усиливающихся лагах.
360 1780029
>>80025
да, у тебя дохера соединений на каждом io_context (или чем-то таком), один контекст на тред, и дальше сам контекст все в рамках одного треда шаманит.
Screenshot20200818-002855.jpg246 Кб, 720x1280
361 1780032
>>80029
>>80026
Спасибо большое. Можете еще пояснить за некоторые различия в серверах. Ну просто синхронный и асинхронный понятно. Быстрый я так понимаю ебейше оптимизирован. Туда я лезть пока не буду. А вот 3 и 4 сверху это че?
362 1780035
>>80032
Это вообще не трогай, это пиздец.

Давай так, делай пока синхронно, как сделаешь идею - начинай переезжать на асинк. Сразу асинк раскуривать не рекомендую, он лютейший. А корутины так и вообще пиздец.
363 1780039
>>80035
Ладно. Спасибо за совет. Так а вообще че это? И сильно ли асинк обычный сосет у быстрого?
364 1780088
>>80035
КОРУТИНЫ СИЛА
СКАЖИ КОРУТИНЫ КРУТО
365 1780090
>>80039
Круто, но я не раскурил их пока
366 1780150
>>79259
Кстати, хороший колл, где социум плюсов искать ? Просто уже сталкивался с тем, что пэт проекты дохнут как мухи на то они и пэты, но хотелось бы знать места, где можно найти челов, с которыми интересно и приятно будет кооперировать, может и пэты так быстро убиваться не будут...
367 1780151
>>79887
Чего другое? Заменяешь свой нолик на declval и вперёд
368 1780152
>>79989
Там вполне себе написано. Ты пытаешься использовать winapi без указания версии винды, для которой собираешь. Обычно студия эти макросы сама определяет в файле targetver.h при создании проекта, но у тебя что-то видимо пошло не так
369 1780180
Джавист, хочу в GD, но нужны плюсы, какую литературу порекомендуете? В университете лабы решал разве что на нем
370 1780189
>>80180

>гд


лучше конечно этого не делать, но дрочи крестовые абстракции - веткоры, дженерики, темплейты. Почитай про компайл-тайм и рантайм специфику крестов. Какие-то популярные части буста. Короче любая книжка по крестам для НЕ начинающих тебе подойдет
371 1780192
>>80151
Можешь написать как? Так не компилируется: .... = std::declval<x___>().is_S();
372 1780206
>>80180
В шапке всё есть, но раз ты такие вопросы задаешь, то сразу огорчу тебя - ты не преодолел минимальный порог входа по IQ для того чтобы освоить С++.
373 1780210
>>80206
Ну, что и ожидалось для джависта
374 1780261
>>80035
Как вообще сервер может работать на корутинах? Корутины же работают в одном потоке. Вот допустим приходит запрос от клиента, в потоке разбора входящих запросов запускается корутина которая обрабатывает конкретный запрос и тем самым блокирует обработку новых запросов? В чем фишка то я не совсем понимаю.
375 1780303
>>80189
почему лучше этого не делать?
376 1780320
>>80261
Я вижу это так. Вот как в потоке разбора входящих запросов получил клиента, отправляешь обработку в отдельный поток, если хочешь, и тут же ожидаешь следующего клиента. Наверное, в примерах просто в один момент времени только один клиент обрабатывается. С корутинами это не связано, корутины это детали реализации.
377 1780338
>>75527 (OP)
Есть ли гайд по компиляции? Makefile-ы вот это вот всё
378 1780344
>>80320
Ну вот мне и интересно на каком этапе там применяются корутины и как они позволяют оптимизировать работу веб-сервера.
379 1780357
>>79962

>Драйверисты и железячники - это не пересекающиеся скиллсеты


К моему большому сожалению мне приходилось видеть код, который пишут железячники.
380 1780484
>>80357
кромешный пиздос?
381 1780835
>>80261
Корутины это кооперативная многозадачность, со всеми её плюсами и минусами. То есть при обработке сессии у тебя будет рассыпана куча точек переключения на другие корутины. Во всяких эрлангах/го они натыканы ВЕЗДЕ. Плюсы: если раньше ты запрос моделировал всякими коллбеками и/или стейт машинами, то с корутинами всё будет просто и линейно, весь стейт компилятор выведет сам. Минусы: если нет точек переключения, то хрен тебе, а не многозадачность.
382 1780848
>>80357
Уверен? Желещячники пишут на всяких vhdl, ну или мы про разных желещячников.
383 1780850
>>80835
Получается что для эффективной работы корутин придется писать конструкции типо таки?
BigDbRequestAsync();
yeild();
ReadFIleAsync();
yeild();
...
yeild();
...
384 1780855
>>80850
Не, как раз этот yield будет внутри каждой асинхронной операции. Пока корутина ожидает результата BigDbRequest, экзекутор выберет другую корутину и начнёт её исполнять. А вот если у тебя что-то только жрущее цпу секунд на двадцать, тогда да, без yield все остальные корутины заглохнут. С вытесняющей многозадачностью это же происходит автоматически.
385 1780944
Qt живой?
386 1781000
>>80835
сопрограммы нужны чтобы красиво решать пару специализированных алгоритмов
но, по видимому нас ждет очередная сильвербуллет фича которой будут решать любые задачи по парралельной обработке данных, пока коммьюнити языка не наиграеться с этими корутинами
387 1781005
>>80944
Это единственное, что живо.
388 1781015
>>81005
Хз, у них там какие-то проблемы с финансами и мутки с лицензиями
389 1781020
>>80944
Если ты угараешь по десктопопараше то рекомендую шарпы раскуривать. С неткором пятым можно будет кроссплатформенный гуй делать.
390 1781029
>>81020

>будет


Вся суть шарпа.

>кроссплатформенный


Здесь почти весь тред - идейные виндобляди, у которых даже сервера на винде, лол.
391 1781051
>>80850
вот вроде норм разбор кратко https://stackoverflow.com/a/30560228
392 1781073
>>81029

> Вся суть шарпа.


Уже в превью есть.

> Здесь почти весь тред - идейные виндобляди, у которых даже сервера на винде, лол.


Ну вдруг тебе зачем-то потребовался гуй под прыщеось вместо божественной САСНОЛЬКИ
393 1781083
>>81000
Что там? ЖС-макаки изобрели корутины, которые были в lua еще в 2003 ?
394 1781087
>>81083

> ЖС макаки изобрели корутины


> 1960-е — 1970-е годы сопрограммы практиковались в некоторых высокоуровневых языках (Клу, Симула, Модула-2)

395 1781089
>>81087
Эх, закрываем computer science, расходимся, всё уже открыто.
396 1781090
>>81089

> Computer Science


> Тред где байты ебут

397 1781095
>>81090
Ты чо, пёс?! Я знаю Венгерский алгоритм поиска максимального паросочетания минимального веса за O(N^3) !
398 1781135
какой же питон всратый пиздец просто я не могу
даже шаблонов не завезли
399 1781141
>>81135
А что хочешь от скриптового языка для имбецилов?
400 1781154
>>81141
безопасного полиморфизма
разве я о многом прошу?
401 1781155
>>81154
Попробуй джаваскрит. Он настолько безопасен, что в нем можно делать вообще что угодно.
402 1781228
Объясните, как скомпилять https://github.com/qxmpp-project/qxmpp/tree/master/examples, если я скомпилировал и установил либу. Пробовал писать qmake, начинал компилировать и срало непонятными для меня ошибками.
403 1781230
>>81135

> динамическая типизация


> шаблоны


нахуя? вся твоя беда в том, что ты пишешь не так, как надо.
404 1781235
>>81135
Вали отсюда нахуй, пёс, со своей скриптопарашей для умственно отсталых школьников
405 1781250
>>81135

>он не знает про typevars и Generic[T]


Хотя хрень полная тайп хинты в питоне, если честно
406 1781292
>>81095
В школе расскажешь.
407 1781304
>>81020

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


Говно, qml после xaml как отдушина, несмотря на жопаскрипт.
408 1781307
>>80848
Вот этот код на ёбаных шарпах примерно на верилог и был похож.
409 1781332
>>80848

>Уверен? Желещячники пишут на всяких vhdl, ну или мы про разных желещячников.



Во первых hdl языки бай дезайн уёбищны как раз в плане писать комбинационную логику, то есть какой-то последовательный алгоритм или конечный автомат на них писать норм, а вот когда отдельные кишочки нужно собирать в единое целое виртуальными проводами, в роли которых выступают буковки и параметры модулей - код уже сам по себе превращается в пиздец.

Именно по этому там где можно прогать провода мышкой в гуе - стараются прогать провода мышкой в гуе.
410 1781346
>>81135
Извинись немедленно.
zlQnc8A4BsQ.jpg73 Кб, 618x618
411 1781470
>>81307

>шарп


>драйвера

412 1781542
>>81470
Где я говорил про драйвера? Там была хрень с COM портом, и железячник решил для себя написать утилиту на шарпах.
413 1781683
Пиздец с этой белорашской войной престолов проебал эпичный срач про опенгл.

Так вот, кто придумал эту блядскую семантику с включающим глобальным glBindHuita?

Почему, если у нас уже есть идентификатор, высраный с помощью glGenHuita не передавать его в последующие функции?

Особенно лоллирует клоунская магия когда что бы копировать из одной хуиты в другую нужно забиндить два буфера с правильными типами а потом такой НУЖНО ТЕПЕРЬ ДУНУТЬ ЕСЛИ НЕ ДУНУТЬ ТО МАГИИ НЕ ПРОИЗОЙДЕТ

glBindBuffer(GL_COPY_READ_BUFFER, vbo1);
glBindBuffer(GL_COPY_WRITE_BUFFER, vbo2);
glCopyBufferSubData(GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, 0, 0, 8 ⚹ sizeof(float));
414 1781688
>>81683

Почему нельзя было сделать glCopyBufferSubData(vbo1, vbo2, 0, 0, 8 ⚹ sizeof(float))?

Ладно хуй с ним, анальная бинд-акробатика святое, нахуя если мы уже указали что первый буфер мы забиндили как рид а второй как врайт а потом типа такие, неее мы передумали, мы терь из врайта в рид будем копировать?

glCopyBufferSubData(GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, 0, 0, 8 ⚹ sizeof(float));
415 1781708
>>81683

Я уже не говорю о главном.

Какого хуя я должен совершить UNDEFINED BEHAVIOUR что бы прихуярить входные параметры вершины к шейдеру?

GLintptr vertex_texcoord_offset = 3 sizeof(float);
GLintptr vertex_normal_offset = 5
sizeof(float);
GLintptr vertex_position_offset = 0 * sizeof(float);

glVertexAttribPointer(texcoord_attrib_index, 2, GL_FLOAT, false, vertex_stride, (GLvoid⚹)vertex_texcoord_offset);
glVertexAttribPointer(normal_attrib_index, 3, GL_FLOAT, false, vertex_stride, (GLvoid⚹)vertex_normal_offset);
glVertexAttribPointer(position_attrib_index, 3, GL_FLOAT, false, vertex_stride, (GLvoid⚹)vertex_position_offset);
416 1781716
>>81708

Алё, кроносы-хуёносы,вы стандарт Си когда свое говноапи высирали, а точнее присерали новые функции поверх имеющихся, вы стандарт языка читали?

Пиздец, любую, АБСОЛЮТНО ЛЮБУЮ ПРОГУ С ОПЕНГЛ И ШЕЙДЕРАМИ ВЕСЕЛЫЙ КОМПИЛЯТОР МОЖЕТ ЗАЩЕКУ ОТХУЕСОСИТЬ.
417 1781741
>>81716
В opengl 4.4, кажется, завезли bindless, ну, чтоб по айдишкам хуярить. Вообще, да, байндить всякую залупу -- такая мерзость шо пиздец. Ещё все вызовы, как я понимаю, завязаны под какой-то контекст, и без него не получится, например, гонять compute shader-ы. Зато после ебли с этим вот всем, vulkan кажется не монструозной перегруженной тварью, а самым логичным, прекрасным, тончайшим инструментом, которого тебе так не хватало.
418 1782007
Суп, продублирую вопрос из треда ньюфагов
Получил фидбэк по заданию, но чота местами не понимаю чего от меня хотят. Помогите разобраться.
https://ideone.com/4dkWRk
-Классы для чтения, классы для парсинга.
Почему не функции?
-Так же хорошо иметь объектную модель данных и ее стерилизовать в XML.
Это как?
419 1782015
Так, дурачок с гуями возвращается, первое, есть ли какой-то адекватный способ перенести в переменные пути переменные Qt ?
//debian, установил Qt c онлайн установщика, qtcreator etc встало, но прик в том, что терминал в ахуе с qmake, то есть, он знает, что оно есть, но где есть хызы
420 1782057
Немного тупой вопрос, но я крайне смущен, что вообще такое спрашиваю, но такой вопрос, есть функция которая говорит о том, что буфер потока ввода данных обновился ?
То есть, допустим, у меня есть определённое поведение, если пользователь ничего не вводит, но только, если чел ввёл в консоль что либо, то тогда поведение меняется. Логично предположить, что данный момент должен выглядеть примерно как
getline(cin, str);
if(str == "") {
default behavior;
} else {
extended behavior;
}
Но все мы понимаем, что в данном случае на каждую итерацию нужно будет прожимать ввод в консоль, чего мы крайне не хотим, собственно, есть ли функция/метод классса istream, который говорит о том, что ввод был нажат, и имеет смысл проверить что там вообще происходит ?
421 1782077
>>82057
Это тебе напрямую к терминалу нужно обращаться
422 1782094
>>82007
Классы для масштабируемости. Дрочи паттерны, функции по уровню дна находятся где-то в камне на дне.
Второй пункт не понял, лол, но наверное он про DOM говорит

мимошел ссылку не открывал
423 1782096
>>82057

>} else {


Сблевал
424 1782101
>>82057
Не доконца ясно что тебе нужно, чекни std::istream::peek
425 1782117
>>81708
Переходи на DX, там блэкджек и COM
426 1782119
>>82057
Попробуйте "conio.h"! Conio.h помогает определять нажатия на клавиатуру с 1986 года. Спасибо что вы с нами.
427 1782121
>>82119
Дешёвой хуйне -- дешёвая реклама.
428 1782124
>>82096
себе на ебало ты сблевал, это код-стайл богов, а ты быдло :-)
429 1782142
>>82057
По твоему другая функция не будет прожимать ввод каждый раз? Если не нужно парсить строку, оставь так.
430 1782331
>>81708

Засовывание числовой константы в указатель это ID. Было бы UB - Си бы пулей из системного проганья вылетел, там все построено на "указатель содержит адрес памяти"
431 1782446
>>81228
Гуру C++, помогите.
432 1782454
>>81228
По идее примеры должны были скомпилироваться вместе с либой. Может ты флаг забыл добавить?
433 1782465
>>82454
Я это понимаю.

Я хочу начать работать с либой, но не понимаю, как ее компилировать. Потому и спрашиваю, как скомпилять примеры с своим Make файлом.
434 1782492
>>82465
Как ты компилировал библиотку? Через корневой cmakelists? Там флаг для сборки примеров включён
435 1782522
>>82492
Я скомпилировал библиотеку и установил. Теперь ее хедеры лежат у меня в /urs/local/include/qxmpp.

Теперь я копирую екземплы с свою директорию (с редактированием #include) и хочу скомпилировать своим make файл, как свой проект. Каким образом мне это сделать?
436 1782526
>>82522
Еще раз, как скомпилировал? Ты использовал cmake? Есди да, то где-то в папке сборки должны лежать примеры собранные, потому что флаг для примеров включен в корневом cmakelists на гитхабе.
437 1782534
>>82522
Изучай cmakelists из папки с примерами.

target_link_libraries(${EXAMPLE_NAME} qxmpp)

Вот подключение qxmpp, используй его в своём cmakelists.
image.png8 Кб, 573x93
438 1782604
Почему так блять? Почему val не становится равным 205?
439 1782621
>>82604
Потому что тебе нужен unsigned char.
440 1782669
>>82096
А как надо?
15556159308800.png103 Кб, 736x736
441 1782674
>>82669
else
{
//...
}
442 1782677
>>82674
Настоящие пацаны пишут без фигурных скобок вообще, в иф/элс блоках должно быть по одному выражению. Если в коде внутри блока больше одного выражения, то код выносится в функцию или лямбду.
443 1782682
>>82677
А функция у тебя тоже без фигурных скобок?
444 1782688
>>82682
Ну тогда придётся прибегнуть к макросам
445 1782737
>>82674
Что кстати странно, читая джаву нормально воспринимаю такую конструкцию, а читая кресты никогда не могу найти этот ебучий елс когда так пишут
446 1782771
>>82621
c это у меня символ строки, дальше его необходимо преобразовать в без знаковый инт. При дебаге нашел вот такую непонятную хуйню. Почему оно так не очевидно кастует типы? Сначала в знаковый инт, и потом в беззнаковый. По моему самое очевидное это сначала кастануть в без знаковый чар и потом уже до инта поднимать...
447 1782776
>>82771

>самое очевидное это сначала кастануть в без знаковый чар и потом уже до инта поднимать


Тогда ты пришел бы с вопросом почему в этом случае x=255.

char c = -1;
int x = c;
448 1782800
>>82776
Так у тебя тут оба типа знаковые, соответственно нужна только одна операция повышения чара до инта(0xFF -> 0xFFFFFFFF). В ситуации когда нужно знаковый перевести в без знаковый с повышением порядок операций почему-то сначала повышение(0xFF -> 0xFFFFFFFF) и только потом каст в без знаковый(0xFFFFFFFF - > 0xFFFFFFFFu). Логичнее было бы сначала кастануть в без знаковый(0xFF -> 0xFFu) и потом повысить до инта(0xFFu -> 0x000000FFu).
449 1782896
Пишу на плюсах в коде на бустере. Иногда когда нажимаю вырубить дебаггер он не выключается и вроде как висит в фоне (на самом деле не висит). Код показывает что дебаггер запущен, но активности нихуя не проявляет. Из-за этого не могу запустить исправленный код и приходится перезапускать прогу. Сталкивался кто с таким мб? Другие советы из интернетов не помогают.
450 1782952
>>82896

>Пишу на плюсах в коде на бустере


што?
451 1783030
>>82952

>на плюсах


C++

>в коде


Visual Studio Code

>на бустере


Debian 10
image.png20 Кб, 456x335
452 1783222
https://pastebin.com/ureFgsWA

В общем, изучая ООП, пробую перегрузить операторы сложения и присваивания, по итогу что-то работает не так и получая Assertation Failed. ЧЯДНТ?
453 1783223
>>83222
Кучу сломал, ищи место, где накосячил. Для начала дебагер подруби и нажми повторить
454 1783228
>>83222

А в нормальном языке програмирвоания занимался бы делом, а не разбирал этот жидкий высер в кучу
455 1783259
>>83228
Неосилятор, плeз.
456 1783322
Кто может мне нормально объяснить что реально не так с книгой "Кресты за 21 день" и откуда столько лулзов с неё? Ну вот прочитаю я её, база у меня уже есть. Дальше только бери задания да учись именно писать код. В чём я не прав?
457 1783366
>>83222
копирующий конструктор напиши
458 1783382
>>83322
Нюансов в крестах так много, что даже самые основы в такую книжку не впихнуть, и неважно, есть база или нет. И эти нюансы порой никакой практикой не покрыть. Можно годами писать лютое UB и даже не подозревать, что идёшь по минному полю, ведь на первый взгляд всё работает.
В других языках за незнание нюансов компилятор даёт тебе линейкой по рукам. Но в крестах компилятор предполагает, что код пишет очень высококвалифицированный сеньор.
459 1783387
>>83382
Ну хорошо, допустим. Сколько тогда времени в среднем и чисти гипотетически уйдёт на вкат до возможности устроиться на работу джуном?
460 1783390
>>81083
эээ.. сопрограммы активно исследовались в ранние 70е.. и от них сознательно отказались, не стали встраивать в яп общего назначения
461 1783392
>>83387
Раз есть база, то где-то полгода-год при условии, что есть дохуя свободного времени, которое готов на это тратить.
462 1783393
>>83390

>не было в двух самых языках, которые на момент выхода уже казались кастрированными и без нормалных фичей (Паскаль и Си)


>сознательно отказались

463 1783407
>>83222
Заруби себе на носу - когда у тебя есть класс, среди класс мемберов которых есть хотя бы ОДИН, сука, указатель - пиши конструктор копирования, который делает, сука, DEEP COPY. Иначе ты копируешь указатели и у тебя после конструктора копирования по умолчанию есть 2 объекта, указател внутри который указывают на одну и ту же память, а это UB и в некоторых случаях эксплуатабельная дыра в безопасности.
464 1783412
>>83392
Ясно, пошёл дрочиться как всё что уж.

>дохуя свободного времени


Это сколько примерно? 5-6 без стагнации часов хватит?
465 1783413
>>83412
В день? С лихвой.
466 1783416
>>83413
Ну заебись. Теперь точно ушёл. Тонну добра тебе.
467 1783476
>>83407
С чего бы UB?
468 1783565
>>83476
У тебя 2 указателя на 1 участок памяти.
Потом ты будешь освобождать память в обоих, вот тебе double free вырисовывается, а это UB.

Или вот другая ситуация - ты освободил память по указателю ptr1, но при этом пишешь в память по указателю ptr2, который еще не освободил. Результат - Use-After-Free, что тоже UB.
469 1783570
>>83565
KLASS::~KLASS() {
IF (PTR) {
DELETE PTR;
PTR = NULL;
}
}

KLASS::ZAPIS() {
IF (!PTR) {
THROW NE_LEZ_DEBIL_BLJAD();
}
}
470 1783572
А нет, PTR только у разрушающегося объекта станет NULL. Не спасёт.
9253189e5241b78ae0fb1da1da5ce3c2.jpg124 Кб, 900x899
471 1783612
>>83570

> IF (PTR)


> DELETE PTR;

sage 472 1784128
>>83612
Да?
KenThompsonandDennisRitchie--1973.jpg19 Кб, 310x201
473 1784298
>>82771

>Почему оно так не очевидно кастует типы?


Integer promotion.
Это артефакт того, что PDP-11 загружала байт командой MOVB, которая всегда выполняла знаковое расширение.
474 1784406
>>82674
Не.
475 1784407
>>84128
Проверка не нужна, delete корректно обрабатывает nullptr.
https://isocpp.org/wiki/faq/freestore-mgmt#delete-handles-null
476 1784477
>>83393
речь о академическом рисерче вокруг алгола, ады, etc
в си и паскале сопрограмм уже небыло по той причине что уже была доказана их узкая применимасть и то что те же задачи можно решить другими конструкциями проектируемого языка
477 1784564
>>84407
Так ведь суть того отрезка кода не только в этом.
478 1784609
>>84564
Там есть проверка на nullptr перед delete, делать этого не нужно, вот и всё.
479 1784712
>>84609
Еще раз объясняю - суть кода не в этом.
480 1784717
>>84712
Представь, что ты говоришь что 2*2==4 и одновременно кидаешься фекалиями, а тебе говорят что кидаться не правильно, тоже ответишь что суть не в этом?
481 1784724
>>84717
Ясно, ты не понимаешь концепцию логических блоков. И будешь писать нечитаемую лапшу, ведь стандарт разрешает.
sage 482 1784742
>>84407
Ты же понимаешь, что выше ПСЕВДОКОД. Значение объяснить?
483 1784785
Товарищи сеньоры, хочу вкатиться в плюсы, за плечами 10 лет пинания хуев и мастурбации. Если не сложно, есть парочка вопросов.
Каков порог вхождения если начинать сразу с плюсов?
Важно ли знание ин.яз в наличии что то около С1 ?
Важно ли знание всяких математических штук все очень плохо
Насколько востребованы плюсы в обозримом?
Тяжело ли найти работу в будущем?
484 1784788
>>84724
Я вообще-то не он, просто раздражают токсичные мудаки.
717й
485 1784789
>>84785

>за плечами 10 лет пинания хуев и мастурбации


Тебе 11?
486 1784830
>>84785

>знание ин.яз


Да. Upper intermediate как минимум, иначе ты сосешь хуй и не нужен, если вдруг есть шанс на сасный релок.

>знание всяких математических штук


Смотря где. В геймдеве - критично.

>Насколько востребованы плюсы в обозримом?


Плюсы если и сдохнут когда-то, то это случится тогда, когда твои внуки будут кормить червей, так что не ссы.

>Тяжело ли найти работу


Тяжело, ибо знать язык недостаточно, нужно уметь решать задачи, в случае с плюсами, в большинстве случаев, далеко нетривиальные. Если у тебя 0 опыта и это твой первый ЯП - земля бетоном, вкат займет не меньше 5-ти лет как бы ты не усирался.
487 1784845
>>84789
Тогда бы было 17.
>>84830
Люблю червей.

>5лет


Ну это так то до звезды. Очень неприятно. Меня жена с потрохами сожрет если я 5 лет буду такой кошку пинать. Но вкатываться то куда-то надо..
488 1784849
Что на плюсах пишут кроме игр? Какие там библиотеки основные? На java там всякие spring, на питоне django, что на плюсах есть? Или это самодостаточный язык?
489 1784857
>>84845
С твоими вводными только в пятерочку или магнит.
490 1784871
>>84849
Boost, Poco, Asio, Opencv, ну вообще скорее принято брать узкоспециализированные либы под задачу.
https://github.com/fffaraz/awesome-cpp
491 1784872
>>84871
Благодарю!
492 1784874
>>84872
Qt еще забыл, ну это скорее как отдельный вариант c++.
493 1784905
>>84724
Нечитаемая лапша в виде лишней проверки как раз там и есть.
494 1784909
>>84849

>Или это самодостаточный язык?


Да. Нет, просто под разные задачи много разных инструментов.
java слишком сильно в бизнес ушла с микросервисами (и сервисами), поэтому spring там повсюду.
С питоном аналогично.
495 1784916
>>84857
Ну туда я всегда успею. В то же м-видео пылесосы бабкам втюхивать. Единственное в чем я действительно плох так это что не знаю языков. Ну ладно поживем увидим, может через пару лет буду норм," в рай попаду, а вы просто сдохните".
496 1784967
>>84845
Вкатывайся в веб, анон.
Тебе все эти 5 лет нужны идальные условия и минимум стресса, а в браке это маловероятно (нахуй вообще жениться в 2к20, ну да ладно, этот тред про другое).

Шансы еще больше уменьшаются. Серьезно, катись в веб, а лучше не в прогеры, а в сисадмины - там еще быстрее сможешь вкатиться и будешь зарабатывать так, чтобы хватало на жизнь.
497 1785013
>>84967
Лучше в сварщики вкатываться.
498 1785014
>>85013
Или в треды в б про погромистов с зп 300к в наносекунду
15892691764981.png220 Кб, 607x1080
499 1785021
>>85014
Охуенная тема!
500 1785026
>>84830

>вкат займет не меньше 5-ти лет как бы ты не усирался.


Всегда было интересно откуда эти цифры берутся. Все разные, у всех по-разному голова работает. Кто-то уже через год-полтора сможет ебашить за 120к, а кто-то и в веб за 5 лет не вкатится.
501 1785027
>>85026
вкатился через полгода на 110к в Москву, какие пять лет блять
502 1785029
>>85027
Пили стори как вкатывался, сколько часов в день и что сейчас пишешь, правда интересно если не троллинг. От подобной херни про 5 лет моя мотивация уже не страдает, но ты можешь её поднять.
503 1785031
>>85027
У тебя наверняка был опыт в программировании, тут челик полный ноль и не знает что такое переменная. Ни о каких 6-ти месяцах и речи быть не может, у него даже КОКОрочки нету, тупо нихуя.
504 1785052
>>85029
>>85031
У меня опыт был только в быдлоадминстве, ну и вообще пеказадротом был.

Взял 2 книжки, по очереди читал, писал код 24х7 после и, иногда вместо основной быдлоработы. Ну вот спустя полгода задротства и перекатился, нарисовав себе год опыта в резюме. Реально задрачивал безумно, второй раз такой подвиг я бы не повторил.

Перекатился на тот момент в контору, занимающуюся около РЖД хуйней, писал там всякую хуиту для поллинга датчиков по ком порту, и так далее.

Кококорочки у меня тоже нет. Из моих охуенных приемуещств была все таки нихуевая база в ойти, всякие виндовсы\шлинуксы на хорошем уровне, и английский разговорный (он дико заролял кстати)
505 1785057
>>85052
Ясно, значит если без задротства это будет год-полтора. Нормально.
506 1785064
int x = 5;
x = ++x + x++;
Так x = 13, в чём соль? В том, что x++ возвращает ссылку на переменную, а не копирует её значение или что происходит?
507 1785068
>>85064
Соль в солонке. А тут все дело в most vexing parse
508 1785092
>>85064
Неопределенное поведение.
Уебывай траллить в другом месте.
15566765944840.png211 Кб, 604x402
509 1785097
>>85068

>most vexing parse

510 1785105
>>85068

> most vexing parse


Значение знаешь?
511 1785106
>>85105
самый досадный разбор
1598123391576.png167 Кб, 1080x1920
512 1785109
513 1785123
Почему в России на столько популярна сишка и кресты? Кого не спроси среди русских программистов - 90% людей учили их в какой-то момент жизни. В то время, как на Западе 90% даже не задумывались, что есть такой язык и нахуй он вообще нужен.
Почему именно в России все так боготворят кресты?
514 1785126
>>85123
Мало стараешься, все еще толсто.
515 1785143
>>85123
В германию и штаты крестовиков пылесосят 24х7 и дают нихуевые ЗП.
516 1785214
>>85064
Ill-formed, no diagnostic required
Пиздуй читать про sequence point-в
517 1785234
>>85143
>>85126
Я не пытаюсь выставить кресты в плохом свете, мне просто интересно, почему в России у большинства погроммиздов первый или максимум второй язык - это сишка или кресты.
518 1785254
>>85234
Зайди на /g форчана в их ежедневный тред программирования и посмотри, что и на чем пишут в свободное время cs-студенты западные.
IMG20200823045113.png287 Кб, 1220x2040
519 1785262
>>85254
Я смотрю, у них там своя атмосфера.
520 1785314
>>85262
Поясните зелени пока ещё не добравшейся до крестов что такое это ваше std::*
521 1785328
Аноны, поясните, пожалуйста, зачем комитет сделал следующее ограничение на aggregate initialization:

> class type (typically, struct or union), that has ... no virtual member functions



Допустим, у меня есть какой-то "интерфейс" serializable, хочу его реализовать для нескольких структур с кучей полей. Так вот, если бы они не наследовались от serializable, тогда я бы мог использовать aggredate initialization или даже desginated initializers, а что сейчас?! Соси хуй, делай бочку говорят они. Есть конструктор, говорят они. Да это уебище лесное ваш конструктор, если мне надо в структуру напихать 20 параметров, что предлагаете делать - создавать экземпляр структуры и заполнять его?! Цука, чому деды-пердуны так сделали, поясните?
522 1785338
>>85328
Гугли crtp чтобы не быть junior
523 1785348
>>85338
Про CRTP я знаю, это к чему здесь?
524 1785351
>>85328
Используй list initialization. Нужно добавить конструктор который принимает std::initializer_list.
525 1785354
>>85351
initializer_list должен состоять из однотипных объектов, разве нет?
Единственное, до чего я додумывался - унаследоваться от serializable и от структуры и принимать эту структуру в качестве аргумента конструктора, но получается уебищно.
526 1785360
>>85328
Есть мнение, что это как-то связано с указателем на vtable. Как - в душе не ебу.
527 1785437
>>75527 (OP)
Я прохожу курс по алгоритмам на плюсах, но там даётся си подмножество. Как мне проще всего перестроиться на какой-то нормальный стандарт и на какой именно лучше всего?
528 1785481
>>85314
гугл сломался?
529 1785487
>>85481
Хз, вроде работает.
530 1785488
Почему Qt занимает столько же места, сколько виндовс, если не больше?
531 1785494
>>85488
WebEngine по сути копия исходников хромиума вместе со всеми зависимостями.
532 1785596
>>85328

>если мне надо в структуру напихать 20 параметров


Ты что-то делаешь нет.
533 1785608
Я правильно понимаю что прогер-геймдев должен неплохо разбираться в геометрии и физике что уметь в сложные вещи?
534 1785622
>>85608
Это один из разделов.
В группе разрабов не всем это нужно.
535 1785629
>>85622
А если я хочу загребать по максимуму занимаясь интересным делом?
536 1785649
>>85608
разраб ААА игр - безусловно. Разраб инди-параш - спорно.
537 1785651
>>85328

>если мне надо заполнить структуру, что предлагаете делать - создавать экземпляр структуры и заполнять его? Цука, чому деды-пердуны так сделали, поясните?



Поехавший
538 1785663
>>85629
Блядь, не каждый разраб в геймдев сидит физику прогает, там дохуя ещё задач нужно решать, чего ты такой тупой?
image.png272 Кб, 546x546
539 1785674
>>85649

>разраб ААА


Вот я эта хуйня. Насколько этот уровень продвинутей школьной математики?
>>85663
Не быкуй, пчел. Я спрашивал про крутого спеца который на работе аки пикрил.
540 1785683
>>85649
Наоборот. В инди, где людей мало, одному человеку есть шанс поработать над многими системами в игре. А в ААА можно одну свою гайку крутить джва года и вообще понятия не иметь, что там в остальной игре творится.
Ну если под инди-парашей не понимать лепку в конструкторе, конечно.
541 1785706
>>85674
>>85683
я имел в виду разабов игровых движков, пардон.
542 1785790
>>85262
Лисп самый мощный язык программирования на свете, анонэ~
543 1785800
>>85608
Ты правильно понимаешь.
544 1785923
Всем привет, сап и cout << "Здравствуйте". Начинаю вкат в эти ваши плюсы, через какое время параллельно этому можно начинать учить немецкий и заводить трактор соответсвенно?
545 1785927
>>85923
Без разницы, у тебя будет как минимум лет пять на изучение
546 1785928
>>85923
Ты собрался в Немецию без коммерческого опыта? Диплом есть?
547 1785931
>>85927
Немецкого я надеюсь?
>>85928
Будет но не профильный.
548 1785935
>>85923
Английский учи сначала
549 1785938
>>85935
Уже, гордый С1.
550 1785942
>>85938
тогда рекомендую забить хуй на немецкий. У меня дружаня в германии живет, с английским нормально
551 1785943
>>85942
Не, немецкий охуенен. Буду учить его.
552 1785966
Где перекат?
553 1786183
Итак, где перекат? Я последний раз спрашиваю, дальше перейду к решительным действиям. Будут последствия. Я ясно выражаюсь?
554 1786190
>>86183
Чего тебе в этом треде не сидится, перекатчик?
555 1786794
>>85938
На С1 тебе английский не нужен...
556 1786795
>>86794
А на сколько нужен?
557 1786930
Учитывая то что самодиагностированный в2 оказывается в лучшем случае МГИМО фишинд, а в худшем совсем не говорит по английски, подозреваю что двачевский с1 не сильно выше уровнем, лучше подтяни на всякий случай
558 1786936
>>86795
Упс, с 1С перепутал.
559 1787023
>>86930

>самодиагностированный


TOEFL, держу в курсе как говорится.
>>86936
Ну ебать ты конечно. Поспи хоть немного, сам же видишь - в глазах всё плывёт.
560 1787041
>>86936
Бля, я не один такой.
561 1787070
Как же сложно писать на крестах без адаптации к скриптам, которая STL.
562 1787107
Тред-то нелегитимный! Почему без стихотворения в шапке?
563 1787230
image.png16x16
564 1787524
>>87070
stl не скрипты! Всем известно, что stl написана на С.
kisspng-code-blocks-integrated-development-environment-c-5a[...].jpg55 Кб, 900x600
565 1787700
На каком IDE лучше сидеть Qt или codeblocks? Qt конечно легче настроить, но он похоже скурвится совсем, перейдёт полностью в коммерческую версию.
По codeblocks подскажите: если мне надо приложению создать GUI то надо ставить wxWidgets ?
mcpp.PNG301 Кб, 339x423
566 1787720

>for (i = 0; i!=n; ++i)


> for (j = 0; j!=m; ++j)


> if (nm[j] == a)



Анон, почему у старуструпе такая странная конструкция? Почему не "i<n", "j<m"? Это же безопаснее?
567 1787724
>>87720
Однохуйственно
568 1787729
>>87720
это он тебя готовит к итераторам
569 1787732
>>87724
Мне после сишечки это пиздец как мешает, какой-то нубский вариант. "Меньше" и "не равно" это совершенно не однохуйственно. Реально в шоке, что такой общепризнанный авторитет в области разработки сложных и боевых программ пишет такой код.
570 1787733
>>87729
А правда что в реальной разработке за использование BOOST ебут в жопу?
И что делают за использование STL?
571 1787735
>>87732
>>87729
это формат перебора итераторов, во времена отсутствия навороченных циклов
572 1787738
>>87732
Раз не однохуйственно, то какая разница?
573 1787741
Нужно ли обмазывать весь код noexcept если я байтоеб?
По идее и стандарту должно же оптимизировать. Но это пиздец во все функции вставлять
574 1787744
>>87741
А разве нельзя просто без эксепшинов собирать?
575 1787745
>>87744
они нужны в некоторых местах. Но не везде. То есть выключить на уровне компилятора всеже нельзя, но и в 90% кода исключения не обрабатываются, вот это думаю пометить noexcept...

Но есть ли смысл...
576 1787753
>>87741
В большинстве случаев достаточно только мув-конструктор и оператор=(хуй&&)
577 1787755
>>87700
vim конечно. Ну ил vs code.
578 1787757
>>87745
Нет.
579 1787760
>>87757
почему?
580 1787761
>>87760
Нет причин делать этого.
Но вот это может быть полезно >>87753
581 1787762
>>87761

>Нет причин делать этого.


Вообще-то оно уменьшает количество асемблерного кода
https://habr.com/ru/post/164221/
582 1787794
>>87741
Можешь завести привычку сначала хуйнуть noexcept, а потом подумать, мол, вдруг бросаешь (ведь почти никогда не бросаешь). Собственно, всё, как с const. Лишним никогда не будет, плюс уточняет намерение. Компилятор, конечно, умный -- если может, везде проставит const и noexcept сам, но это только если он сможет. А может он, только если код не сильно сложный.
583 1787801
Как вкатится в программирование на 3ем курсе универа? Хочу прогать на C++, есть некоторое понимание С ( 1 курс был на нем, про массивы и списки знаю и не больше). Больше всего интересуют сайты по типу теория -> задачки, при этом проходятся все темы из Страуструпа допустим, есть такие?
584 1787811
>>87700
Вон тебе ниже сказали юзать нормальный текстовый редакторvim. Потрать время на освоение cmake. Для гуйни можешь цеплять qt, остальные варианты как-то ну его нахер. Хотя, если тебе что-то несложное надо сделать, прототипчик быстро нашлёпать, или реалтайм гуйню, можешь попробовать imgui, ваще пушка ебать.
Если ты всё-таки собираешь ставить сраную IDE не еш подумой, то выбирай Visual Studio, это хотя бы нормальный инструмент для людей. Ну и ещё, гуйня, которую ты пишешь, от IDE никак не зависит. Шлёпать qt из-под VS, собирая cmake-ом -- стандартная практика.
585 1787943
>>87811
Профилируешь тоже в виме?
586 1787948
>>87943
В емаксе. Вим - просто редактор же
587 1787956
>>87948
в имаксе это тоже редактор вообще-то, там просто куча всего другого, это считай как мини-ОС.

Профилировать можно независимо от вима, равно как и отлаживать программу. Ты же не профилируешь код в сойблайме, верно? Заводишь какой-нибудь gprof и заебись.
588 1787957
>>87956
куча всего другого, помимо редактора*
589 1787962
>>87956

>в имаксе это тоже редактор вообще-то


Ловите нюфага!
590 1787994
>>87956
Ну вот нехуй мне больше делать, кроме как разглядывать циферки в консоли.
591 1788008
>>87962
текстовый редактор, который есть в имаксе, ничем по функционалу не отличается от вима, с разморозкой. Лет 15 назад это было не так, но не сейчас. И оба расширяются плагинами. Напомню, что есть Nvim, который полностью совместим с обычным вимом, где есть поддержка плагинов на Lua и в целом больше полезных и крутых плагинов, чем в обычном виме. Анону 0 смысла нырять в имакс, если ему нужен ТОЛЬКО текстовый редактор, который лучше зумерских сойблаймов и вскодов.

Ах да, я работаю с юникс-лайк ОСями с 2001 года (конкретно с Линуксом - с 2003), так что называть меня ньюфагом - очень сильное заявление :-)
592 1788010
>>87994
В чем разница между рассматриванием циферок в окошке и в консольке? Или для запоминания 10-15 интуитивных команд в виме оперативки в голове не хватает? Во поколение пошло...
593 1788015
>>88010
Да всё, успокойся, никто не трогает твой швитой ебакс. Почему соснольщики всегда так сгорают на ровном месте.
594 1788016
>>87811
Специально для извращенцев в qt creator есть режим fakevim, обманывайтесь ;)
595 1788017
>>88016
зы*
596 1788020
>>88015
я предпочитаю вим вообще-то
597 1788064
Отправлять на сервер человеческий запрос "GetMaps" хорошя идея, или нужно каждой команде поставить в соответствие свой байтовый код?
598 1788070
>>87994
Прогоняешь через callgrind, потом смотришь красивые графики в qcachegrind

vim-бог
599 1788071
Нужно записать вектор в файл. Сначала думал записать его в сыром виде, а потом так и достать. Но может у него там хранятся какие нибудь указатели? Я хз. Или просто не ебать мозги, записать его элементы в файл, потом причтении создать вектор, указать capacity, size и записать. Только вот как быстро записать?
600 1788072
>>88071
Гугли, что такое сериализация
601 1788079
>>88072
Спасибо.
602 1788095
>>88070
Может мне ещё и плату распаять для этого? Не понимаю, зачем это жонглирование велосипедами
603 1788101
Где int 2 байта?
604 1788104
>>88101
Мсдос
605 1788106
На сервере должен храниься список карт. Клиент может отсортировать его по разным параметрам. Правильно ли я хочу сделать: создать для каждого параметра отдельный список. Не сортировать же для каждого запроса исходный.
606 1788114
>>88106
Если только список указателей или индексов
607 1788117
>>88114
Ну так я сэкономлю на памяти значительно , но будет хуже производительность
608 1788120
>>88117
В смысле? Храни один vector<hui>, а остальные vector<hui★>.
На миллионе элементов потребление памяти 4мб на параметр. Если миллиард, то решай сам, что проще - закупить 8гб оперативки или сортировать на лету
609 1788121
>>88120
Спасибо
610 1788125
>>88120
>>88121
Обосрался чуть-чуть, не 4мб, а 8мб
611 1788129
>>88120
Для тех, кто боится намотаться на висящие указатели и инвалидацию итераторов - boost::multi_index
612 1788136
>>88129
А може указатели из стл?
613 1788169
>>88136
Ну смотри, у тебя объект вектор, vector<int> v. Он расположен на стеке.
Как же тогда в него можно затолкать неопределенное количество интов? Просто вектор имеет внутри себя указатель на участок памяти, выделенный уже в куче, и знает размер этого участка (capacity) а также количество элементов хуйни, которое ты в него плолжил (size).

Вот скажем есть вектор с тремя элементами (пикрил-1) и ты сохранил указатель на третий элемент. И элемент по этому указателю нормально доступен. Тут в вектор добавляется четвертый элемент и кладется в конец участка памяти (после третьего) и всё пока в порядке - по *ptr всё ещё можно добыть третий элемент.

Но тут ты добавляешь пятый элемент (пикрил-2). Вектор видит что капасити=4 меньше 5, то есть не лiзiт!, выделяет себе второй кусок примерно в два раза больше текущего, копирует(перемещает) туда все четыре элемента, которые уже есть, и кладет за ними пятый. А старый кусок памяти УДОЛЯЕТ. К хуям.

Ты лезешь получить третий элемент по указателю ptr, а получаешь по ебалу UB. Это в общих чертах и есть инвалидация итераторов, и указателями снаружи её обойти нельзя, потому что каждый контейнер дрочит свою память как хочет.
614 1788173
>>88095
Очень удобно на деле.
615 1788174
>>88169

>ptr


*p
самофикс
616 1788175
>>88169
Нахуй тогда мне этот >>88120 советует указатели?
Я же тут >>88071 как раз о проблеме с указателями и спрашиваю
617 1788177
>>88175
Наверно потому что это довольно просто и прокатит если вектор не увеличивается или заранее сделан reserve нужного размера ШОБ НИДАЙБОХ.
Если опасаешься, можно хранить не указатели а индексы. Но все равно поломается, если сделать хотя бы одну вставку/удаление в середину.
618 1788179
>>88177
Ну может создать искомый вектор всех карт, туда только пушить, а для параметров векторы индексов? Тогда вроде все ок
619 1788180
>>88179
Блин, не искомый, а исходный
620 1788183
>>88179
Вероятнее всего я так и сделаю
621 1788321
>>88177

> Но все равно поломается, если сделать хотя бы одну вставку/удаление в середину.


std::lower_bound
622 1788328
Я хочу создать множество точек, обладающих координатами (x, y, z), весами для взаимодействия, вроде массы, и ещё суммарный вектор сил, действующий на каждую точку.
Итак, вопросы:
1)Стоит ли делать ли это на структурах или классах и почему?
2)Если на структурах, то что лучше: массив структур-точек или структура-множество-точек из массивов?
623 1788472
>>88321
А никто не говорил, что оригинал отсортирован. Алсо повторить lower_bound N раз для запроса ничем не лучше собственно сортировки.
624 1788477
>>88472
NlogN vs logN
Действительно, не вижу разницы
625 1788478
>>88328
1) Классы без трехэтажного виртуального наследования как правило ничего не тормозят.
2) struct-of-arrays вроде как быстрее array-of-structs, и это почти то же самое что хуйнуть три массива флоатов без структуры вообще.
626 1788491
>>88477

>повторить lower_bound N раз


>logN


мхех...
627 1788949
Жил-был СТРАУСТРУП. Шел обычный, скучный день. СТРАУСТРУП занимался рутинными вещами, такими как ебля своей трехсоткиллограмовой матери в зад. Только успев кончить матери в пердак и вынуть измазанный в говне хуй, СТРАУСТРУП услышал стук в дверь. Не заметив, что его мать умерла от сердечного приступа еще 3 дня назад, он пошел открывать дверь и вышел на веранду. На веранде никого не было. СТРАУСТРУП, было, уже начал подозревать СТЕПАНОВА в очередной подъебке, но вдруг, из под крыльца что-то вылетело и понеслось на него. От перевозбуждения СТРАУСТРУП уронил скрепленнеые скотчем очки на пол и смиренно ждал, что будет дальше. ЛЯМБДА, с огромной скоростью пролетела мима СТРАУСТРУПА, квадратной скобкой отпихнула его и заползла в дом, крепко заперев дверь. ЛЯМБДА ясно дала понять, что она приняла дом в качестве аргумента, но отказывается возвращать функцию, которая принимает ПИЗДЮЛИ в качестве аргумента и возвращает дом. ЛЯМБДА заползла на стул перед компьютером и свернувшись в уютный клубок, зашла на ДВАЧ. СТРАУСТРУП знал ЛЯМБДУ. По крайней мере, это слово он точно слышал, но не знал, что оно значит. Он очень удивился, когда недавно узнал, что ЛЯМБДУ включили в НОВЫЙ СТАНДАРТ, принятый полгода назад. СТРАУСТРУП понял, что надо выгнять ЛЯМБДУ из дома, потому что желание в очередной раз залезть на мамочку было слишком велико. Будучи первоклассным инженером, СТРАУСТРУП начал искать решение проблемы. Для разминки он решил повторить таблицу умножения до 12 на 12. Он 2 часа стоял на одном месте и смотрел в никуда, потея как свинья. Пока он боролся с таблицей умножения, из за угла вышел измазанный в говне АНДРЕЙ АЛЕКСАНДРЕСКУ и осмотрелся. Рядом стояли несколько зданий, включая психбольницу для буйнопомешанных и тюрьму. АНДРЕЙ задумался и понял, что в округе нет ни одного настолько больного и гнилого человека, чтобы продать ему свою книгу. Небрежно посвистывая, АНДРЕЙ удалился. СТРАУСТРУП закончил разминку и начал думать, как прогнать ЛЯМБДУ. Вдруг его осенило. Его дом был скомпилирован последней версией GNU G++, которая поддерживает ЛЯМБДУ. Именно поэтому, ЛЯМБДА и смогла проникнуть к нему в дом. СТРАУСТРУП понял, что ему нужна более старая версия G++, которая не поддерживала ЛЯМБДУ и тогда, при попытке компиляции дома, ЛЯМБДУ выкинет вместе с СООБЩЕНИЯМИ ОБ ОШИБКАХ. Но старую версию было негде взять. СТРАУСТРУП нанял ФУНКЦИОНАЛЬЩИКА СО ШТАНГОЙ за 5 тысяч рублей. Так как компьютера у них не было, ФУНКЦИОНАЛЬЩИК вначале написал на бумажке компьютер в 1 строчку НА ХАСКЕЛЕ:

Computer = Computer

ФУНКЦИОНАЛЬЩИК сожрал бумажку и высрал работающий системный блок с ВОДЯНЫМ ОХЛАЖДЕНИЕМ и предустановленой WINDOWS 7. На компьютере уже был установлен АЛАН ВЭЙК и ХАСКЕЛЛ ПЛАТФОРМ. Корпус был красного цвета, с наклейкой ТУРБО на прозрачной боковой крышке. Затем ФУНКЦИОНАЛЬЩИК написал в 2 строчки старую версию G++:

Compiler :: [C++SourceCode] -> [ExecutableFile]

Compiler source =(Link . Compile) source

СТРАУСТРУП взял исходники своего дома и запустил компиляцию. Компилятор начал дристать СООБЩЕНИЯМИ ОБ ОШИБКАХ. СТРАУСТРУП попытался разобрать первую строчку, но увидев такое, дальше лезть не решился(таблица умножения и так вымотала его):

std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::map<std::basic_string<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >

Высрав 10 000 СТРОК СООБЩЕНИЙ ОБ ОШИБКАХ, компилятор скончался от ЛЕНИВЫХ ВЫЧИСЛЕНИЙ ПРЯМОЙ КИШКИ и из монитора вылетела ЛЯМБДА. Придерживая круглые скобки квадратными скобками, ЛЯМБДА в ужасе съеблась под ближайший камень. Ей еще долго не захочется принимать и возвращать значения. Довольный СТРАУСТРУП плюнул в руку, чтобы наслюнявить хуй и уже решился залезать на мамочку, но передумал и решил вначале запостить эту историю на БАЙТОКОВЫРЯЧ.
627 1788949
Жил-был СТРАУСТРУП. Шел обычный, скучный день. СТРАУСТРУП занимался рутинными вещами, такими как ебля своей трехсоткиллограмовой матери в зад. Только успев кончить матери в пердак и вынуть измазанный в говне хуй, СТРАУСТРУП услышал стук в дверь. Не заметив, что его мать умерла от сердечного приступа еще 3 дня назад, он пошел открывать дверь и вышел на веранду. На веранде никого не было. СТРАУСТРУП, было, уже начал подозревать СТЕПАНОВА в очередной подъебке, но вдруг, из под крыльца что-то вылетело и понеслось на него. От перевозбуждения СТРАУСТРУП уронил скрепленнеые скотчем очки на пол и смиренно ждал, что будет дальше. ЛЯМБДА, с огромной скоростью пролетела мима СТРАУСТРУПА, квадратной скобкой отпихнула его и заползла в дом, крепко заперев дверь. ЛЯМБДА ясно дала понять, что она приняла дом в качестве аргумента, но отказывается возвращать функцию, которая принимает ПИЗДЮЛИ в качестве аргумента и возвращает дом. ЛЯМБДА заползла на стул перед компьютером и свернувшись в уютный клубок, зашла на ДВАЧ. СТРАУСТРУП знал ЛЯМБДУ. По крайней мере, это слово он точно слышал, но не знал, что оно значит. Он очень удивился, когда недавно узнал, что ЛЯМБДУ включили в НОВЫЙ СТАНДАРТ, принятый полгода назад. СТРАУСТРУП понял, что надо выгнять ЛЯМБДУ из дома, потому что желание в очередной раз залезть на мамочку было слишком велико. Будучи первоклассным инженером, СТРАУСТРУП начал искать решение проблемы. Для разминки он решил повторить таблицу умножения до 12 на 12. Он 2 часа стоял на одном месте и смотрел в никуда, потея как свинья. Пока он боролся с таблицей умножения, из за угла вышел измазанный в говне АНДРЕЙ АЛЕКСАНДРЕСКУ и осмотрелся. Рядом стояли несколько зданий, включая психбольницу для буйнопомешанных и тюрьму. АНДРЕЙ задумался и понял, что в округе нет ни одного настолько больного и гнилого человека, чтобы продать ему свою книгу. Небрежно посвистывая, АНДРЕЙ удалился. СТРАУСТРУП закончил разминку и начал думать, как прогнать ЛЯМБДУ. Вдруг его осенило. Его дом был скомпилирован последней версией GNU G++, которая поддерживает ЛЯМБДУ. Именно поэтому, ЛЯМБДА и смогла проникнуть к нему в дом. СТРАУСТРУП понял, что ему нужна более старая версия G++, которая не поддерживала ЛЯМБДУ и тогда, при попытке компиляции дома, ЛЯМБДУ выкинет вместе с СООБЩЕНИЯМИ ОБ ОШИБКАХ. Но старую версию было негде взять. СТРАУСТРУП нанял ФУНКЦИОНАЛЬЩИКА СО ШТАНГОЙ за 5 тысяч рублей. Так как компьютера у них не было, ФУНКЦИОНАЛЬЩИК вначале написал на бумажке компьютер в 1 строчку НА ХАСКЕЛЕ:

Computer = Computer

ФУНКЦИОНАЛЬЩИК сожрал бумажку и высрал работающий системный блок с ВОДЯНЫМ ОХЛАЖДЕНИЕМ и предустановленой WINDOWS 7. На компьютере уже был установлен АЛАН ВЭЙК и ХАСКЕЛЛ ПЛАТФОРМ. Корпус был красного цвета, с наклейкой ТУРБО на прозрачной боковой крышке. Затем ФУНКЦИОНАЛЬЩИК написал в 2 строчки старую версию G++:

Compiler :: [C++SourceCode] -> [ExecutableFile]

Compiler source =(Link . Compile) source

СТРАУСТРУП взял исходники своего дома и запустил компиляцию. Компилятор начал дристать СООБЩЕНИЯМИ ОБ ОШИБКАХ. СТРАУСТРУП попытался разобрать первую строчку, но увидев такое, дальше лезть не решился(таблица умножения и так вымотала его):

std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::map<std::basic_string<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >

Высрав 10 000 СТРОК СООБЩЕНИЙ ОБ ОШИБКАХ, компилятор скончался от ЛЕНИВЫХ ВЫЧИСЛЕНИЙ ПРЯМОЙ КИШКИ и из монитора вылетела ЛЯМБДА. Придерживая круглые скобки квадратными скобками, ЛЯМБДА в ужасе съеблась под ближайший камень. Ей еще долго не захочется принимать и возвращать значения. Довольный СТРАУСТРУП плюнул в руку, чтобы наслюнявить хуй и уже решился залезать на мамочку, но передумал и решил вначале запостить эту историю на БАЙТОКОВЫРЯЧ.
628 1788983
>>88949
TL;DR но какая мораль, рыгло?
15565489041310.jpg99 Кб, 1000x563
629 1788984
>>88949
Моя любимая паста
630 1788997
>>88984
Хотя нет, со второй части проигрывал гораздо больше (зная о чем книга MODERN C++ DESIGN)
631 1788999
>>88997
Жил-был АНДРЕЙ АЛЕКСАНДРЕСКУ. У АНДРЕЯ всё всегда было через ЖОПУ. Мать АНДРЕЯ была наркоманкой. Список ее психических расстройств, венерических заболеваний и наркотиков, на которых она сидела, был длиннее типичного ресторанного меню. Когда пришло время рожать, каково-же было удивление врачей, когда АНДРЕЙ вылез из ЖОПЫ и каким-то образом умудрился убить и частично съесть двух медсестер. АНДРЕЙ был трудным ребенком. Когда АНДРЕЙ еще находился на лечении, на пятнадцатом году шоковой терапии и после второй лоботомии, он вдруг направил свое внимание на языки программирования. Большую часть дня, АНДРЕЙ бился головой о стену, пытался откусить кусок своего тела и ел свои экскременты. Но в перерывах между приступами, АНДРЕЙ листал книги и искал... Он прочитал про десятки языков программирования, но они не вызывали у него никакого интереса, потому что, они не были достаточно извращенными для его тонкого вкуса. Внезапно АНДРЕЙ увидел ВЫЧИСЛЕНИЕ ЧИСЕЛ ФИБОНАЧЧИ ВО ВРЕМЯ КОМПИЛЯЦИИ НА C++ и замер. В его уставшей, больной голове что-то щелкнуло - он нашел, что искал. Он начал читать книги по C++. Чем дальше он проникал в тайны C++, тем больше он понимал, что этот язык создан для него. Мерзкие извращения, которые он наблюдал на страницах, глубоко резонировали с его истерзанной и едко ненавидящей все светлое душой. Его глаза наливались кровью от удовольствия и слезы текли по щекам, от осознания, что на свете есть люди, не намного менее больные, чем он. АНДРЕЙ понимал, что скоро ему сделают третью лоботомию и тогда он вряд ли сможет написать книгу. Времени до третьей лоботомии оставалось немного и АНДРЕЙ решил начать писать книгу прямо сейчас. "THE TIME IS NOW, ANDREI", сказал он вслух самому себе на ломаном английском с выблядски кривым акцентом и начал писать. Вначале он не знал, в чем суть того, что он пишет. Но со временем картина стала ясной как день. АНДРЕЙ взял самый гнилой, уродский и омерзительный язык программирования и решил довести его до уровня сумасшествия, до сих пор невиданного в мире людей. Первый (и последний) технический рецензент его книги, сошел с ума и убил всю свою семью, после прочтения нескольких глав. Узнав об этом АНДРЕЙ смеялся, пока не потерял сознание. АНДРЕЙ понимал, что все идет как надо. Сразу после того, как он дописал последнюю главу, ему сделали последнюю лоботомию и писать книги ему больше не хотелось. Представители издателя взяли книгу АНДРЕЯ и, согласившись ее издать, спросили у него, как бы он хотел ее назвать. На ломаном, кривом английском он ответил: "MODERN C++ DESIGN: GENERIC PROGRAMMING AND DESIGN PATTERNS APPLIED BY ANDREI ALEXANDRESCU". Его акцент был настолько уебищен, что представители издателя начали ржать, с такой силой, что моча начала струиться по их ногам. Но, слишком поздно они поняли, что это была моча АНДРЕЯ. Они не знали, что таким образом он помечает своих жертв, перед тем, как их убить. АНДРЕЙ успел убить одного, но другому удалось спастись, хоть он и лишился уха.

Через несколько лет АНДРЕЯ выпустили. 20 лет шоковой терапии и 3 лоботомии, все-таки, смогли немного успокоить его. Он, конечно продолжал убивать, но редко, и в основном мелких грызунов.

Наступил обычный, скучный день. Скучным он мог быть для кого угодно, но не для АНДРЕЯ. Ведь у него диагностировали шизофрению еще на внутриутробной стадии. Книга продавалась не особо хорошо. В мире оказалось не так уж много запредельно больных людей, готовых ее купить. Уже 2 месяца у АНДРЕЯ почти не было денег и он ел блюдо собственного изобретения - ТУАЛЕТНАЯ БУМАГА ПО ФЛОТСКИ. Блюдо представляло собой собачий корм с вареной туалетной бумагой. Роялти с продаж книги капали ему на банковский счет, но очень вяло. АНДРЕЙ уже отошел от третьей лоботомии и решил взять дело в свои руки. Он положил в сумку с десяток экземпляров MODERN C++ DESIGN и пошел на улицу, с надеждой продать хотя бы несколько. Хотя бы один. Если это удастся, то наконец можно будет купить КЕТЧУП. Подумав о КЕТЧУПЕ, АНДРЕЙ улыбнулся, но повернувшись, чтобы открыть дверь, увидел свое отражение в зеркале. Выражение лица, которое получилось из за улыбки, было настолько ужасающим, что АНДРЕЙ отшатнулся. Он вышел на улицу и стал бродить по улицам. АНДРЕЙ увидел здание, в котором было множество компаний по разработке программ и направился к нему. Там АНДРЕЯ уже знали и вызвали охрану раньше, чем он успел войти. АНДРЕЙ удивился, потому что он никогда не был здесь. Из здания вышел человек и сказал АНДРЕЮ, чтобы он убирался. Человек объяснил, что однажды, один из программистов, работавших в здании, купил себе MODERN C++ DESIGN и принес на работу. Прочитав 5 страниц, этот человек обезумел и успел убить трех коллег, до того как натолкал себе в жопу скрепок и повесился в полностью пустом помещении. После этого, запятнанную кровью книгу, подобрал другой разработчик и цепь событий повторилась. Как вирус, книга распространялась по всему зданию. В результате этой бойни, 30 человек погибли ужасными смертями, перед тем, как кто-то сообразил, что нужно уничтожить книгу. АНДРЕЙ понял, почему его не хотят пускать, но решил попытать судьбу и все-же проникнуть в здание. С раззадоренным еблом, он попытался пробежать в дверь, но охранник ударил его дубиной по еблу, выбив несколько зубов, после чего добил по яйцам, пнув достаточно много раз, чтобы наблюдающие сбились со счета. АНДРЕЙ сполз с крыльца и потерял сознание.

Очнулся он уже под вечер. Первый опыт продажи был не очень удачен, но может во второй раз повезет? АНДРЕЙ шел по улице, страстно разговаривая сам с собой и вдруг увидел двух человек. Подсознательно он узнал их, но не мог вспомнить. Трясясь от страха он подошел к ним и предложил купить книгу. ПОЛ ГРЭМ и ПИТЕР НОРВИГ взяли его книгу и стали листать. Они поняли, с кем они имеют дело. АНДРЕЙ смотрел куда-то в сторону и незаметил первого удара, который пришелся по голове. АНДРЕЙ даже в начале не понял, что происходит, потому что били его как никогда сильно. Удары сыпались со всех сторон и, услышав хруст своих ребер, АНДРЕЙ осознал, что вероятно, живым ему не уйти. Это осознание ввергло его в истерику, но он ничего не мог поделать, кроме того, как обосраться и изваляться в собственном говне. Увидев это ПОЛ ГРЭМ и ПИТЕР НОРВИГ побрезговали добивать жалкого РУМЫНСКОГО барана и оставили его в покое. Грязно выругавшись, АНДРЕЙ поднялся и пошел по улице. Завернув за угол, он увидел СТРАУСТРУПА, стоящего на одном месте и напряженно о чем-то думающего. АНДРЕЙ осмотрелся, но не обнаружив потенциальных покупателей, развернулся и пошел домой, насвистывая РУМЫНСКУЮ НАРОДНУЮ ПЕСНЮ.
631 1788999
>>88997
Жил-был АНДРЕЙ АЛЕКСАНДРЕСКУ. У АНДРЕЯ всё всегда было через ЖОПУ. Мать АНДРЕЯ была наркоманкой. Список ее психических расстройств, венерических заболеваний и наркотиков, на которых она сидела, был длиннее типичного ресторанного меню. Когда пришло время рожать, каково-же было удивление врачей, когда АНДРЕЙ вылез из ЖОПЫ и каким-то образом умудрился убить и частично съесть двух медсестер. АНДРЕЙ был трудным ребенком. Когда АНДРЕЙ еще находился на лечении, на пятнадцатом году шоковой терапии и после второй лоботомии, он вдруг направил свое внимание на языки программирования. Большую часть дня, АНДРЕЙ бился головой о стену, пытался откусить кусок своего тела и ел свои экскременты. Но в перерывах между приступами, АНДРЕЙ листал книги и искал... Он прочитал про десятки языков программирования, но они не вызывали у него никакого интереса, потому что, они не были достаточно извращенными для его тонкого вкуса. Внезапно АНДРЕЙ увидел ВЫЧИСЛЕНИЕ ЧИСЕЛ ФИБОНАЧЧИ ВО ВРЕМЯ КОМПИЛЯЦИИ НА C++ и замер. В его уставшей, больной голове что-то щелкнуло - он нашел, что искал. Он начал читать книги по C++. Чем дальше он проникал в тайны C++, тем больше он понимал, что этот язык создан для него. Мерзкие извращения, которые он наблюдал на страницах, глубоко резонировали с его истерзанной и едко ненавидящей все светлое душой. Его глаза наливались кровью от удовольствия и слезы текли по щекам, от осознания, что на свете есть люди, не намного менее больные, чем он. АНДРЕЙ понимал, что скоро ему сделают третью лоботомию и тогда он вряд ли сможет написать книгу. Времени до третьей лоботомии оставалось немного и АНДРЕЙ решил начать писать книгу прямо сейчас. "THE TIME IS NOW, ANDREI", сказал он вслух самому себе на ломаном английском с выблядски кривым акцентом и начал писать. Вначале он не знал, в чем суть того, что он пишет. Но со временем картина стала ясной как день. АНДРЕЙ взял самый гнилой, уродский и омерзительный язык программирования и решил довести его до уровня сумасшествия, до сих пор невиданного в мире людей. Первый (и последний) технический рецензент его книги, сошел с ума и убил всю свою семью, после прочтения нескольких глав. Узнав об этом АНДРЕЙ смеялся, пока не потерял сознание. АНДРЕЙ понимал, что все идет как надо. Сразу после того, как он дописал последнюю главу, ему сделали последнюю лоботомию и писать книги ему больше не хотелось. Представители издателя взяли книгу АНДРЕЯ и, согласившись ее издать, спросили у него, как бы он хотел ее назвать. На ломаном, кривом английском он ответил: "MODERN C++ DESIGN: GENERIC PROGRAMMING AND DESIGN PATTERNS APPLIED BY ANDREI ALEXANDRESCU". Его акцент был настолько уебищен, что представители издателя начали ржать, с такой силой, что моча начала струиться по их ногам. Но, слишком поздно они поняли, что это была моча АНДРЕЯ. Они не знали, что таким образом он помечает своих жертв, перед тем, как их убить. АНДРЕЙ успел убить одного, но другому удалось спастись, хоть он и лишился уха.

Через несколько лет АНДРЕЯ выпустили. 20 лет шоковой терапии и 3 лоботомии, все-таки, смогли немного успокоить его. Он, конечно продолжал убивать, но редко, и в основном мелких грызунов.

Наступил обычный, скучный день. Скучным он мог быть для кого угодно, но не для АНДРЕЯ. Ведь у него диагностировали шизофрению еще на внутриутробной стадии. Книга продавалась не особо хорошо. В мире оказалось не так уж много запредельно больных людей, готовых ее купить. Уже 2 месяца у АНДРЕЯ почти не было денег и он ел блюдо собственного изобретения - ТУАЛЕТНАЯ БУМАГА ПО ФЛОТСКИ. Блюдо представляло собой собачий корм с вареной туалетной бумагой. Роялти с продаж книги капали ему на банковский счет, но очень вяло. АНДРЕЙ уже отошел от третьей лоботомии и решил взять дело в свои руки. Он положил в сумку с десяток экземпляров MODERN C++ DESIGN и пошел на улицу, с надеждой продать хотя бы несколько. Хотя бы один. Если это удастся, то наконец можно будет купить КЕТЧУП. Подумав о КЕТЧУПЕ, АНДРЕЙ улыбнулся, но повернувшись, чтобы открыть дверь, увидел свое отражение в зеркале. Выражение лица, которое получилось из за улыбки, было настолько ужасающим, что АНДРЕЙ отшатнулся. Он вышел на улицу и стал бродить по улицам. АНДРЕЙ увидел здание, в котором было множество компаний по разработке программ и направился к нему. Там АНДРЕЯ уже знали и вызвали охрану раньше, чем он успел войти. АНДРЕЙ удивился, потому что он никогда не был здесь. Из здания вышел человек и сказал АНДРЕЮ, чтобы он убирался. Человек объяснил, что однажды, один из программистов, работавших в здании, купил себе MODERN C++ DESIGN и принес на работу. Прочитав 5 страниц, этот человек обезумел и успел убить трех коллег, до того как натолкал себе в жопу скрепок и повесился в полностью пустом помещении. После этого, запятнанную кровью книгу, подобрал другой разработчик и цепь событий повторилась. Как вирус, книга распространялась по всему зданию. В результате этой бойни, 30 человек погибли ужасными смертями, перед тем, как кто-то сообразил, что нужно уничтожить книгу. АНДРЕЙ понял, почему его не хотят пускать, но решил попытать судьбу и все-же проникнуть в здание. С раззадоренным еблом, он попытался пробежать в дверь, но охранник ударил его дубиной по еблу, выбив несколько зубов, после чего добил по яйцам, пнув достаточно много раз, чтобы наблюдающие сбились со счета. АНДРЕЙ сполз с крыльца и потерял сознание.

Очнулся он уже под вечер. Первый опыт продажи был не очень удачен, но может во второй раз повезет? АНДРЕЙ шел по улице, страстно разговаривая сам с собой и вдруг увидел двух человек. Подсознательно он узнал их, но не мог вспомнить. Трясясь от страха он подошел к ним и предложил купить книгу. ПОЛ ГРЭМ и ПИТЕР НОРВИГ взяли его книгу и стали листать. Они поняли, с кем они имеют дело. АНДРЕЙ смотрел куда-то в сторону и незаметил первого удара, который пришелся по голове. АНДРЕЙ даже в начале не понял, что происходит, потому что били его как никогда сильно. Удары сыпались со всех сторон и, услышав хруст своих ребер, АНДРЕЙ осознал, что вероятно, живым ему не уйти. Это осознание ввергло его в истерику, но он ничего не мог поделать, кроме того, как обосраться и изваляться в собственном говне. Увидев это ПОЛ ГРЭМ и ПИТЕР НОРВИГ побрезговали добивать жалкого РУМЫНСКОГО барана и оставили его в покое. Грязно выругавшись, АНДРЕЙ поднялся и пошел по улице. Завернув за угол, он увидел СТРАУСТРУПА, стоящего на одном месте и напряженно о чем-то думающего. АНДРЕЙ осмотрелся, но не обнаружив потенциальных покупателей, развернулся и пошел домой, насвистывая РУМЫНСКУЮ НАРОДНУЮ ПЕСНЮ.
632 1789030
>>88491
Количество параметров постоянное, константы опустил
633 1789052
>>89030
Во-первых, я так и не понял, каким образом lower_bound может помочь вернуть все записи, отсортированные по параметру..
634 1789056
Анонцы, как найти первую работу и сколько времени на это уйдет? Из знаний пока начальные алгоритмы, ООП, немного синтаксис знаю, с QT знаком. Чего нужно учить вообще для того чтобы первый оффер получить?
635 1789057
>>89056
ну, ты вообще нихуя не знаешь. Учить не учить - надо код писать
636 1789060
>>89057
А чё писать то лол
637 1789064
>>89060
все что угодно. Арканоид напиши, тетрис, танчики с денди, какой-нить говносервер отдающий погоду, главное пиши.
638 1789068
>>89064
Если всё вместе напишу этого для оффера хватит?
639 1789069
>>89064
А то я плюсы пользовал только для спортивного программирования, а там проги максимум строк по 200 кода
640 1789070
>>89056
ты должен закончить вуз по профилю или быть толковым студентом последних курсов
тебе должно быть лет 20—23
ты должен жить в большом городе где есть фирмы с разработкой на с++
это базовый минимум, иначе пошел нахуй или тупо здохни от голода
641 1789073
>>89070
Мск, 3 курс прикладная информатика, 19
642 1789078
>>88106
используешь любую либу in-memory db, сотни их
643 1789082
>>89068
Ну, шансов станет сильно больше
644 1789084
>>89073
тогда найдешь первую работку без проблем, не волнуйся
645 1789097
>>89084
Да вот год уже как не выходит да...
Screenshot at 2020-08-26 21-46-02.png614 Кб, 1920x1080
646 1789099
>>87943
Профилирую в соседней вкладке, perf-ом, или tracy цепляю, если gpu профилировать.
>>88016
Нахуя мне тащить сотни мегабайт какой-то непонятной грязной дряни, которая мне для редактирования кода предлагает треть экрана и всратый фейковим? Как вы вообще работаете, когда нихуя не видно нормально, ни код, ни процесс компиляции? Тот же вим я юзаю не только потому, что удобные хоткеи и без мыши всё можно делать, а ещё потому, что он сука на весь экран! Перешёл на соседнюю вкладку, а там на весь экран ошибки компиляции вываливаются. Перешёл в соседнюю вкладку, и там gdb запустил на весь экран. Вот это удобно, а не сидеть как дурак блять щуриться хуйню всякую разглядывать.
Вот посмотри на пик. 48 строк кода в фуллхд экран влезает (46 если вкладок много), с приятным шрифтом. Моим глазам на такое приятно смотреть, а на кутешную дрянь больно.
647 1789102
>>89097
Студентов младших курсов мало вообще куда берут, ибо им шарага важнее. А вот третий-четвёртый уже можно, и то на моём потоке на третьем не то что бы очень много работало.

>>89099

>ImplementsGeneralMeshInterface


Уже концепты на дворе же
648 1789103
>>89102
Да, концепты есть, а вот компиляторы свежие не у всех стоят. У меня давно руки чешутся туда концепты впендюрить.
649 1789104
>>89070
>>89102
Вы на самом деле хотите сказать что вкат в кресты не имея/не получая ВО не имеет смысла?
sage 650 1789108
>>89099

> аниме


> темный фон


> приятно смотреть

651 1789109
>>89052
Ты ж сам написал:

> Но все равно поломается, если сделать хотя бы одну вставку/удаление в середину


Вот я и отвечаю: можешь вставлять куда угодно, только в остальные векторы вставляй через lower_bound
sage 652 1789111
>>89070

> ты должен закончить вуз по профилю или быть толковым студентом последних курсов


Проиграл.
image.png356 Кб, 2154x598
653 1789112
>>89099
Что за фонт?
Хочу украсть, у меня сейчас так.
654 1789113
>>89099

> а там на весь экран ошибки компиляции вываливаются


Чювак, у меня лог компиляции занимает несколько мегабайт. Я уж лучше на прямоугольники от жыдбрейнсов или инкредибилда буду смотреть
655 1789114
>>89108

> > аниме


хах мам смотри он анеме))0)

А по поводу тёмного фона, на вкус и цвет фломастеры разные. Мне лично светлый фон просто неприятен. Экран с тёмным фоном сильно меньше светит, да банально батарея дольше держится.
656 1789117
>>89112
Пишет, что Monospace Regular 13, не знаю, насколько это правда.
>>89113
Если бы у меня так было, может, и юзал бы жыдбрейнсовскую дрянь. Или ещё какие workaround-ы бы придумал или подсмотрел.
657 1789121
>>89117
Пишут, что это, вроде Liberation.
Пойду попробую.
658 1789124
>>89117
>>89121
Попробуйте Cascadia Code
хоть раз Microsoft что-то нормальное выпустила
659 1789125
>>89117

>Monospace Regular


Он самый
660 1789126
>>89125

>Monospace Regular


Это симлинк в какой-то фонт, скорее всего в дежавю.
661 1789127
>>89109
А, теперь понятно. за мат извени
662 1789128
>>89126
Да, я тоже подумал, что это симлинк.
663 1789130
>>89126
С твоей наводки методом тыка определил, что это DejaVu Sans Mono Book 13. Кажется. пхехехехех
664 1789132
>>89124
Попробовал, какой-то он слишком узорчатый. Неудобно будет, мне кажется. Но красиво.
665 1789136
>>89132
Симпатично, но как-то формы буков, как бы сказать, насыщенные чересчур. Типа узорчатые, да.
666 1789156
>>89099
Обфейспалмился=)
bf313080-6b02-11ea-9cd5-c3dca880736d.png60 Кб, 1280x640
667 1789159
Асло про шрифты, в последнее время зашёл fira code.
7cNZbGzASyY.jpg198 Кб, 960x830
668 1789170
>>89159
✡⚹★☆☀⚛✱✬⛧ ✭ ✮ ✯ ✰ ✡⛥ ⋆ ✢ ✣ ✤ ✥ ❋ ✦ ✧ ✩ ✪ ✫ ★⚹
669 1789176
>>89156
Спасибо, учёл твоё невероятно важное мнение. Было бы совсем замечательно, если бы ещё что-нибудь по факту сказал.
670 1789198
>>89170
Смотри как могу:
*

бампайте блядь https://2ch.hk/d/res/763695.html (М)
image.png81 Кб, 1588x386
671 1789209
>>89159
Ничо так, только не может в мою выпендрежную стрелочку для табов.
image.png175 Кб, 2361x670
672 1789213
>>89209
Поправил, в принципе даже чем-то интереснее получилось, чем Dejavu Sans Mono Book
673 1789534
Вкатился месяц-два назад в жуна жабу, но как то скучно и примитивно. Как перакатиться в срр? Начинал учить срр, знания примерно одни и те же(разве что дополнительно spring и liferay, на жабе), но на жабу взяли, на срр никак не хотят.
МимоШкила без образования
674 1789562
Искусство программирования на современном c++ с coursera имеет смысл проходить?
675 1789616
[code]template <typename T>
T max(T a, T b) {
return a > b ? a : b;
}
template <> box max(box a, box b) {
return a.volume > b.volume ? a : b;
}[/code]

Эти шаблоны чем противоречат друг-дугу? Вроде одна общая, а другая специализированная, но компилятор ругается. box это структура.
676 1789662
>>89616
max<box>
677 1789716
>>89662
В книге говорится что необязательно так указывать, по формальным параметрам и так понятно. Но пробовал указывать, не компилируется.

error: call of overloaded ‘max(box&, box&)’ is ambiguous
Почему в логе показывается аргументы как ссылочные?
678 1789718
>>89213
Ты нахуя на асме пишешь?
679 1789721
У вас же unsafe
680 1789723
>>89716
Закинул код сюда
https://ideone.com/MLI4G0
681 1789724
>>89716
Потому что упоминание переменной идёт как ссылка. Намути у max сигнатуру T max(T const &a, T const &b), заработает.
682 1789730
>>89716

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


Стандарт не уточнён?
683 1789737
>>89721
Всё safe.
684 1789739
>>89724
Тогда работает. Почему так?
685 1789768
>>89730
вроде 98 или 11
686 1789772
>>89724

>Намути у max сигнатуру T max(T const &a, T const &b), заработает.


>>89739
не работает
687 1789778
>>89662
Книга права, я нет, можно без типа после имени.
using namespace std убери, его макс мешает.
688 1789780
Или вызывай ::max
689 1789781
>>89778
Бля, а слона-то я и не приметил. Как-то по инерции не на вопрос ответил, а сказал, как надо делать. Ну хоть анон про ссылки узнал.
690 1789796
>>89778

>using namespace std убери, его макс мешает.


А почему мешает? В стандартной библиотеке же нет перегрузки под тип box. Компилятор должен был использовать мой шаблон и не выпендриваться, не?
691 1789921
C какой книги начать? Там много их
692 1789926
>>89921
Я читал шилдта в качестве азов, а потом липпмана
693 1789927
>>89921
Без разницы, все равно все читать придется
694 1789938
>>89796
Он пытается инстанцировать оба шаблона, и не знает какой выбрать.
695 1789944
>>89926
У Липпмана есть задачи, поэтому начну с него
696 1789958
>>89170
Забавно, что в проге на скрине есть баг. Можно сказать, символично.
697 1789988

> in the definition of a class or class template, if a base class depends on a template-parameter, the base class scope is not examined during unqualified name lookup either at the point of definition of the class template or member or during an instantiation of the class template or member


Кто это говно придумал?
698 1789991
>>89988
Нормально всё.
699 1790080
>>87738
>>87735
>>87729
Анон, поясни за итераторы.
Если я правильно понимаю, то на чистой сишке можно совершенно спокойно добиться того же, но с некоторыми отличиями:
- На си код логичнее и прямее, так как и на с++ нужны указатели
- Итераторы- просто сахарок и абстракция, в данном случае необоснованная
- Городить целый раздел для такой простой концепции перебора, который нужно писать чисто прикладным, а не обобщенным - это аутизм. Это как написать целую функцию HelloWorld, которая вызывается Hello(int k) и печатает HelloWorld k раз. А потом на серьезных щщах рассказывать об этом на конференциях.

Что за хуйня??
700 1790087
>>90080
Когда у тебя будет контейнер сложнее чем непрерывный кусок памяти - вот тут то тебе итераторы и потребуются.
701 1790105
>>90080

>На си код логичнее и прямее


))
702 1790107
>>90080

>Итераторы- просто сахарок и абстракция, в данном случае необоснованная


Конечно обоснованная.
Вот у меня есть big_integer, а у него есть битовые, байтовые, вордовые итераторы, я могу ходить по нужным кускам с очень простым юзер-кодом
703 1790111
>>90087
Плюс унификация взаимодействия с совершенно разными контейнерами
704 1790138
>>90107
Допустим.
Но разве именно в твоем примере не проще и понятнее работать со сдвигом по указателю?
705 1790147
>>90111
На мой взгляд, взаимодействие с совершенно разными контейнерами, реализация которого спрятана под капотом, и не имеющая явных преобразований - являет собой просто цунами трудноуловимых багов.
Я, повторюсь, понимаю концепцию и причину появления "итераторов", но я как видно не достаточно понял реальное приминение.
706 1790149
>>90147
*применение
707 1790157
>>90147
Наоборот - это охуенно. Generic алгоритмы над абстракциями
708 1790334
https://ideone.com/MDRAJ7
Как разобраться, когда использовать строгие и нестрогие условия, пре- и постинкременты? Вдруг я ошибусь и сделаю неверное число итераций?
709 1790343
Посоветуйте интересных либ/фреймворков вкатывальщику на кресты, чтобы какой интересный проектик чисто для себя замутить
710 1790364
>>90157
Извини, но такое ощущение, что C++ это специально для тех, кто хотел бы C#, но любит ебаться стоя в гамаке.
711 1790373
>>90364
У этих языков абсолютно разные задачи и области применения, о чем ты вообще говоришь
712 1790433
>>90147

>цунами трудноуловимых багов


Честно, я даже не очень представляю что ты тут имеешь в виду. Какая разница, сделать std::next(iterator) или условный list_next(current_node). Код всё равно по сути одинаковый будет, и если есть баг в одном месте, то будет и в другом.

>не имеющая явных преобразований


Итераторы жёстко типизированы. Ты с forward_iterator ничего лишнего не сделаешь.
713 1790442
>>89988

>at the point of definition


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

>or during an instantiation


В теории тоже понятно. Переменная не dependent name, и компилятор пытается сразу её зарезолвить, что приводит к фейлу. Используй "using Base<T>::x" или this->x
714 1790470
>>90147
через абстракцию итератора ты можешь писать обобщенные алгоритмы работающие с разними контейнерами
более того, итератор позволяет обрабатывать не все содержимое контейнера, но часть его
более того, итератор может быть и не по контейнеру!, но при этом ты все также его можешь запехнуть в тот обобщенный алгоритм обработки
715 1790472
>>90080
итераторы - прошлый век
щас на конфах с рэнджами развлекаються
716 1790474
>>89944
лучшие задачи - у страуструпа в с++ 4ed special edition
не троллю
717 1790476
>>89921
k&r
не троллю
718 1790479
>>89562
от яндекса который?
719 1790480
>>89111
конечно проиграл
ведь ты под сажей в бамп-лимит треде
720 1790483
>>89104
да, не имеет в основном
иногда бывают исключения конечно же
sage 721 1790508
>>90480
Это тематика. И мы здесь до 1к сидим уже год.
722 1790511
>>89159
Годно, уже сутки с ним работаю, очень приятный, спасибо.
723 1790519
>>90364
Когда ебались мы с сиплюсплюсом (и товарищ степанов придумал STL) - сишарпа еще в проекте не было.
724 1790552
Ну вот например, я собираюсь писать прикладной инженерный софт под винду, с некоторой долей простого графического интерфейса и очень простой визуализации результатов.
Например есть 3д модель и мне надо обсчитать перепады температуры и соответствующие деформации в некоторых точках.
Точек много, очень много.
Питон - не вариант, будет работать несколько дней.
С++ код для этого приложения работает, но прикол в том, что прямо скажем, этот код просто пиздец.
Как результат - переписываем все на чистых сях, со списками и указателями, gdi и winapi. Которые сами по себе сишные сущности, все обертки типа mfc - говно.
Конечно хотелось бы писать на плюсах, но я не вижу преимуществ. В чем преимущество?
С++ для разных нужд различаются между собой почище чем с++ и с89.
Хз короче, я не программист.
725 1790621
Скоро собес в лучшую геймдев компанию в моих ебенях, где бесплатно и без регистрации задрочить всевозможные каверзные вопросы?
726 1790678
Короче из нуфага выпнули к байтоебам, то бишь к вам, может кто посоветует что или подскажет.
Короче, ща сложна будет
Вот сижу я и потихоньку ковыряю openGL под с++. Научился выводить, вращать, масштабировать, перемещать и прочее кубики обтянутые текстурой. Отлично думаю. А чего бы мне не ебануть этакий конструктор, типо, лего? Кубики можно сцеплять друг с другом. И вот чот я придумать не могу, а как это вообще реализовать, с точки зрения архитектуры? Кто и где будет выравнивать один кубик на другом и вот это вот все?
Вроде в голове мысль, что держать трехмерный массив, в который и заталкивать эти кубики, прямо буквально, одна три дэ клетка массива - один сегмент блока. Ну а в opengl уже срать вершинами из этого массива.
Как идея? Хуета? Кто, что получше посоветует?
727 1790864
перекатите тред, господа байтослесари
728 1790903
Здраствуйте господа байтоебы, я вэб-макакий, и меня к вам занесло на волне моего интереса к байтам. Я из интереса пердолюсь с бинарными буферами которые node.js гоняет через сокеты на транспортном уровне. Фигня в том что вуз я окончил давно, а макакинг разжижает мозги. Подскажите что почитать по основам байтоебства, такого научно - популярного.
Например трабла:
есть буфер бинарных данных из 100 байт, есть его длина - хранится в двух байтах, и соответственно мне нужно когда отправляю свой "кастомный пакет" - мне нужно чтио бы сначала в пакете были два байта длины, а потом все оствальное тело. Тоесть нужно склеить бинарник длины тела, и бинарник самого тела. В node есть функци для этого, ноони работают как кривая магия.
Сорр, зза криво сформулированный вопрос - я пока что даже сформировать нормально не могу - не хватает понимания.
729 1790908
>>90903

>В node есть функци для этого, ноони работают как кривая магия.


Функци работают конечно правильно, просто я их юзаю криво, не вдупляя че и зачем.
730 1790931
>>90864
Ты тупой?
731 1791119
Насколько опыт в qt акутален для "чистого" c++?
732 1791138
>>90479
Всё так
733 1791139
>>90552
существует куча прикладного софта, которое делает 3d визуализацию
используй его и все для вывода результатов
скорей всего также есть софт который считает и перепады температур с деформациями
по итогу у тебя будет пара скриптов или плагинов к этим прогам и все
минимум ебли
734 1791142
>>91119
От конкретного опыта зависит, ты может вообще шлепаешь условный фронт на qml и js, а бек на крестах другие делают.
735 1791143
>>90903
k&r, особенно там в конце есть задание по реализации своего malloc, обычно новичкам очень полезно для научения раскладывания байтиков по памяти
736 1791144
>>90678
глянь как спроектированы высокоуровневые обертки над тем же opengl, какие там архитектурные решения применены, общая цель у них одинакова - повысить уровень абстракции что облегчает прикладное использование
737 1791147
>>90678
или любой игровой движок как раз этим и занимается
738 1791205
>>91143

>k&r


Кернигана и Ритчи - "Язык программирования С"?
А я пополам не тресну?
739 1791230
>>91144
>>91147
Чем этим то? Нахуй мне обертки? Я хочу редактор конструктора сделать, берешь блок, кладешь, сверху другой ставишь, чтобы он по пазам попадал, сверху третий, чо лего никогда не видел что ли?
740 1791272
Сап.
На leetcode есть задачка - удалить n-й элемент с конца односвязного списка.
Объясните плес почему не работает второй вариант
741 1791319
Пишу на С++ Builder 2002. Памагити!
А если серьёзно, какие перспективы у современной Эмбракодеровской версии этого IDE? Кто нибудь вообще сейчас в ней работает.
742 1791323
>>91272
Потому что ты не разыменовал указатели.
743 1791331
>>91319
Знакомый формошлёпит на этой хуйне, там вроде недавно даже c++17 завезли, хотя один хуй если пользуешься билдером, то хуй ты когда на c++17 перейдешь
744 1791341
Товарищи байтоёбы, на каких системах сидите и в каких IDE пишете?
Хочу лично для себя разрешить извечный спор - линукс или винда и код/студия/clion.
745 1791350
>>91341
Винда+студия братья навеки
746 1791381
>>91341
arch + vim + zsh + powerline + g++ + gdb + gprof + valgrind
747 1791390
Просто интересно насколько актуальна метка "байтоёб"? Неужели не придумали каких-нибудь обёрток или я даже хз чего что упрощало бы работу с памятью?
748 1791395
>>91390
Только снаружи актуальна, я вот просто "программирую", в том числе очень лоулевельные вещи, не вижу смысла вешать ярлыки.
749 1791401
>>91341
Винда, студия, решарпер.
750 1791426
>>91341
У меня опыт очень маленький, всё время работал в Code::Blocks. Сейчас пересел на Notepad++, g++ и консольку, подтягиваю фундаментальные знания, ибо память очень слабая
751 1791432
>>91323
Благодарю, анон.
В процессе пришел к решению без разыменовывания.
752 1791439
Анончики, что за ошибка на первом пике, не могу понять? На втором пике все методы класса.
753 1791454
>>91439
Поменял storage c QVector<MyClass> на QVector<MyClass*>, и заработало.
754 1791459
>>91341
линукс + вим лично для меня
Мне проганье под Линукс приносит доход + юзер экспириенс мне больше в Линуксе по душе, за многие годы многое сделали для простых смертных, даже в игры на Линуксе стало куда проще играть, порой даже вино не нужно (сам не ГЕЙмер)
755 1791464
>>91390
В С++ есть обертки - та же парадигма RAII. Ну и есть managed языки типа джявы, сисярпа, пездона - там вообще об управлении памяти думать не надо. Но managed языки не для всех задач, поэтому нужда в байтоебах будет вечна, так как существуют уровни абстракций между железом и софтом, и кто-то на нижних слоях абстракций должен мутить мутки, иначе никак, бро.
756 1791467
>>91341
Винда, линух, кюткреатор, студия, кодблокс. Нотепад++ как вспомогательное для бойлерплейта слишком простого для питона.
757 1791487
>>91464

>парадигма RAII


Если честно - ни о чём не говорит ибо только-только вкатываюсь. Просто интересно насколько сейчас всё лучше по сравнению с тем временем когда этот ярлык байтоёба зародился.
758 1791499
>>91487
В смысле? Байтоеб есть байтоеб, что 20 лет назад, что сейчас, что через еще 20 лет. Байтоеб - это кодер, пишущий код на малом кол-ве абстракций над железом, лоу-лвльщик, грубо говоря. В идеале байтоеб должен писать код в пространстве ядра (дрова, например) или же вообще прошивки. Юзер-спейс макаки - это байтоебы-полукровки на самом деле. Ебать байты можно и там, конечно же, но ответственность нулевая, так как в пространстве пользователя тебе по кд подтирает жопу операционная система. В пространстве ядра в случае твоих кривых клешней может и BSOD/kernel panic (смотря что за ОС) вылететь.
759 1791506
>>91499
Ясно-понятно. Значит со временем от похода к проститутке можно будет отказаться. Буду продолжать вкатывать один хер, спасибо.
760 1791511
>>91506

>Значит со временем от похода к проститутке можно будет отказаться


щито

Кстати, если ты живешь в странах бывшего совка - тебе, как байтоебу, придется туговато. Это я так, чисто даю предупреждение на опережение, чтобы ты не терял связь с реальностью. Сразу говорю, что если цель вката - чисто бабки по фасту, не имея особой фанатичной склонности к программированию, то советую вкатываться в веб-макакинг. Подумой, анон.
761 1791540
>>91511

>советую вкатываться в веб-макакинг


На чем интернет-магазин делать, советчик?
762 1791588
>>91540
Если на русской галере то реакт/вуе/рн/электрон

Если на русском фрилансе то ларавел йии вп экспресс

Если на американской галере с Легаси то эликсир/рельса

Если на обычной американской галере то флаттер/реакт/вуе/рн/электрон

Если чистить говно за индусами на англоязычном фрилансе то рельса/джанга на втором питоныче/нода
763 1791622
Помогите нуфане.
Есть структура
struct Hui
{
int x;
int y;
}
Значит создаю я структуру с x = 0, y = 0. Затем передаю эту структуру в функцию по значению
int obrezat (Hui h)
и что бы вы думали? Ставлю бряк на первой строке функции, смотрю чо у меня передалось, а там мусор, вместо нулей, почему?
764 1791633
>>91622
Потому что не тайпдефнул
765 1791648
>>91633
Это что такое?
766 1791692
>>91622
Если ты ничего не утаивал, то похоже на баг в компиляторе, попробуй свой код в онлайн-компиляторе запустить.

А по ссылке нормально?
767 1791694
>>91622
Код в студию
768 1791711
>>91633
это здесь ни при чем
Screenshot20200829110740.png12 Кб, 714x46
769 1791726
>>91622
Ты немного неправильно смотришь, чекай пикрил.

Находясь УЖЕ внутри тела функции obrezat, ПОСЛЕ пролога функции идет обнуление членов структуры (до этих двух инструкций в локальной структуре реально был мусор).
Компиль - g++, но я думаю, что так работает и в остальных.
770 1791773
Почему размер исполняемых файлов разный, если один из них я собираю в g++ -Wall, а второй в IDE с этим же параметром (конфигурация relrase)? Исходный код одинаков
771 1791815
>>91692
Охуели что ли? Какой нахуй баг в компиляторе? Это в лучшем то языке?

>А по ссылке нормально?


По ссылке вроде нормально
>>91694

>Код в студию


Пикрил. На первом я тормознул до передачи в функцию, чтобы показать анонам, что честно-честно передаю структуру с нулевыми значениями. На втором я тормознул уже внутри функции.
>>91726
Пикрил
772 1791828
>>91815
А р как создаётся?
773 1791829
>>91815

> Охуели что ли? Какой нахуй баг в компиляторе? Это в лучшем то языке?


Уноси свое говно C++/CLI туда, откуда принёс. Здесь мужики жабу на кресты не пытаются натянуть, нет, тут другие нравы произрастают.
774 1791833
Ананасы, вопрос про гцц и кланг.
Интересует вопрос не оптимизаций, поддержки стандартов и прочее, а скорее унификация работы.
Ведь кланг есть подо все платформы, а с гцц нужно трахаться для шиндовса хоть я и использую на нём msys.
Может нахуй послать гцц и пользоваться клангом?
775 1791835
>>91833
За шлангом будущее
1.jpg34 Кб, 387x247
776 1791836
>>91828

>А р как создаётся?


Пикрил
>>91829

>Уноси свое говно C++/CLI туда, откуда принёс. Здесь мужики жабу на кресты не пытаются натянуть, нет, тут другие нравы произрастают.


На русский переведи, чо сказать то хотел?
777 1791837
>>91836

> На русский переведи, чо сказать то хотел?


Ты ёбнутый просто.
778 1791838
>>91837
Почему ебнутый? Чо ты взорвался то на ровном месте?
779 1791904
Объясните пожалуйста, как завести этот конвертер под windows, ничего не понял из инструкции http://www.garret.ru/ptoc/Readme.htm
780 1791905
>>91139
Для тебя минимум ебли.
Я не программист и мне чем разбирать каким местом прикручивать плагины гораздо проще написать свое.
781 1791906
782 1792035
string это массив чего? Он работает не с однобайтовыми кодировками?
783 1792049
>>92035
std::string это <char>
784 1792056
Почему говорят что memcpy ub и как мне без него скопировать кусок памяти?
785 1792065
Я не понимаю. Можно ли как то получить указатель на данные flat buffer в beast?
786 1792070
>>92035
Это шаблон на char, и способ хранения зависит от реализации.
787 1792078
>>92056
memcpy МОЖЕТ привести к неопределенному поведению, если у тебя руки из жеппы. Просто контролируй размер буфера куда ты копируешь байты и все будет норм.
788 1792123
>>92078

> memcpy МОЖЕТ привести к неопределенному поведению, если у тебя руки из жеппы.


Лол, половину функций так можно охарактеризовать. Почему тогда я тут по поводу этой функции срачи видел?
789 1792136
>>91633
Это что такое? >>91622

>ряяяя, с++ крута, напрямую с памятью работаешь, байтоебишь, шарп сасадъ


>пук среньк это компилятор глючит или ещё чего, хз короче


охуеть, блядь, почему в шарпе такой срани нет? Какого хуя структура в функцию по значению с мусором передаётся? Как вообще на ваших крестах проблемы решать?
image.png391 Кб, 475x356
790 1792141
>>92136
Начнем с того, что у тебя там не настоящие кресты, а противоестественный гибрид С++ и С# от микрософт. С навернутым поверх гарбадж коллектором и хуй знает чем ещё.
Одному сотоне известно как там что работает, особенно учитывая любовь мелкомягких к соблюдению стандарта (нет). Именно поэтому ты был послан нахуй. Так-то.
791 1792156
>>92141

>Начнем с того, что у тебя там не настоящие кресты, а противоестественный гибрид С++ и С# от микрософт. С навернутым поверх гарбадж коллектором и хуй знает чем ещё.


Ты можешь внятно объяснить, что у меня не так? То что я студию использую? Или что? Я ж тебя уже просил нормально пояснить, тебе чо, трудно что ли?
792 1792181
>>92156
Проверь что в студии ты не создал проект С++/CLI или не поставил флаг /cli компилятора.
Я надеюсь, ты сделал это случайно. Если и правда надо писать именно на нём - да поможет тебе бог.
793 1792203
>>92181

>Проверь что в студии ты не создал проект С++/CLI


Я пустой проект создал.

>не поставил флаг /cli компилятора.


Где это посмотреть?

>Если и правда надо писать именно на нём


Нет, мне похуй в принципе, лишь бы в студии, так как привык к ней с шарпа. А с чего ты вообще взял, что у меня cli это используется? И что это такое, поясни в двух словах, плес
794 1792210
>>92203

>А с чего ты вообще взял, что у меня cli это используется?


В С++ нет ключевого слова for each.
std::for_each ЭТО ДРУГОЕ надо понимать
795 1792223
А отлаживать сетевые приложения не очень круто. Смотрю, вроде на клиенте все данные в порядке. Приходят на сервер, а тут что то не то. Думаю может считал не правильно (приходят байты с нужной инфой, а не строки или числа), да нет. Начало нормальное, а потом хуйня какая то идет.
796 1792240
>>91815

>Охуели что ли? Какой нахуй баг в компиляторе? Это в лучшем то языке?


Постоянно бывают.
797 1792244
>>91622
Ты решил свой вопрос?
798 1792247
>>92181

>Если и правда надо писать именно на нём - да поможет тебе бог.


Проиграл
799 1792253
>>92223
А как работает size у flat buffer? Он почему то равен 64, хотя должен быть 9. Он округляется как то? А я блядь сижу думаю че за хуйня.
800 1792259
>>92253

>flat buffer


Что это?
801 1792262
>>92259
Контейнер в boost beast
802 1792273
>>92240
Почему у шарпа не бывают?
803 1792274
>>92244

>Ты решил свой вопрос?


Конечно нет, как я его решу? Грят компилятор глючит и чо, как мне с этим бороться? Свой компилятор писать или чо?
804 1792286
>>92274
Да ебаный ты почешись! Утебя проект не на том языке, ты бы ещё на вижуал бейсике создал и спрашивал, чо это std::cout не работает - баг в конпеляторе наверно. Мне за тебя что ли загуглить видеоинструкцию как создать с++ проект в студии?
805 1792292
>>92273
Ой блядь зайди на developercommunity и посмотри сам, как не бывает
806 1792293
>>92286
Блядь, какие видео инструкции? Как не на том языке, блядь? Я зашел, выбрал кресты, выбрал пустой проект, создал файл source.cpp, создал нужный мне hui.h и пишу в нем, блядь, чо еще надо то на хуй? На каком языке я пишу, блядь, тогда? Чо за хуйня с вашими крестами вечно? Почему в шарпе я выбрал проект и пишу код и это шарп, блядь, будет всегда, как не выебывайся. У вас это чо? Как может быть не тот язык, если выбраны кресты и пустой проект? Он чо, компилятор от петухона подключает?
Чо за пердолинг на ровном месте? Где посмотреть и переключить на кресты эти ваши?
807 1792311
>>92293
Так блядь, уёбище. Прямо сейчас, сука, заливаешь свой репозиторий на GitHub/gitlab/Bitbucket/на небо с Аллахом. Мы всем крестачём смотрим на твой высер и заодно на то, в какую секунду после 01.01.1970 ты обосрался сам и обосрал свой проект.

только не говори, что твой код не в репозитории
808 1792319
>>92293
тяжело тебе будет (((
809 1792323
>>92319
(нужно нажать пропертис(ну это так))) ))) )) )) )) ) ) ) ))
810 1792324
>>92311
Щас бы хеловорды в репозитории лить, лол. Держи исходник. В main() запускаешь mainLoop() и все

#include <vector>
#include <iostream>

struct Point
{
int x;
int y;
bool isAlive;
};
std::vector<Point> gameBoard;
std::vector<Point> bufferGirlNextDoor;
std::vector<Point> bufferNewBorn;

void checkNumForBorn(Point);
void checkNumForDead(Point&);
void checkGirlNextDoor(Point);
void createGameBoard()
{
gameBoard.push_back(Point{ 0,0,true });
gameBoard.push_back(Point{ 1,0,true });
gameBoard.push_back(Point{ 2,0,true });
}

void mainLoop()
{
createGameBoard();
while (true)
{
bufferNewBorn.clear();
for each (Point p in gameBoard)
{
checkGirlNextDoor(p);
checkNumForBorn(Point{ p.x-1, p.y, true });
checkNumForBorn(Point{ p.x-1, p.y+1, true });
checkNumForBorn(Point{ p.x, p.y+1, true });
checkNumForBorn(Point{ p.x+1, p.y+1, true });
checkNumForBorn(Point{ p.x+1, p.y, true });
checkNumForBorn(Point{ p.x+1, p.y-1, true });
checkNumForBorn(Point{ p.x, p.y-1, true });
checkNumForBorn(Point{ p.x-1, p.y-1, true });
checkNumForDead(p);
}
for each (Point p in gameBoard)
{
if (p.isAlive) bufferNewBorn.push_back(p);
}
gameBoard.clear();
gameBoard = bufferNewBorn;
std::cout << gameBoard.size() << std::endl;
}
}
void checkNumForBorn(Point currentPoint)
{
int num = 0;
bool isGirlNextDoor = false;
for each (Point p in bufferGirlNextDoor)
{
if (p.x == currentPoint.x && p.y == currentPoint.y)
{
isGirlNextDoor = true;
break;
}
}
if (!isGirlNextDoor)
{
for each (Point p in bufferGirlNextDoor)
{
if (p.x > currentPoint.x - 2 && p.x < currentPoint.x + 2 && p.y > currentPoint.y - 2 && p.y < currentPoint.y + 2)
++num;
//добавить после тестов if (num > 2) break;
}
}
if (num > 2) bufferNewBorn.push_back(currentPoint);
}
void checkNumForDead(Point &currentPoint)
{
int num = 0;
for each (Point p in bufferGirlNextDoor)
{
if (p.x > currentPoint.x - 2 && p.x < currentPoint.x + 2 && p.y > currentPoint.y - 2 && p.y < currentPoint.y + 2 && p.x != currentPoint.x && p.y != currentPoint.y)
++num;
//добавить после тестов if (num > 3) break;
}
if (num < 2 || num > 3) currentPoint.isAlive = false;
}
void checkGirlNextDoor(Point currentPoint)
{
bufferGirlNextDoor.clear();
for each(Point p in gameBoard)
{
if (p.x > currentPoint.x - 3 && p.x < currentPoint.x + 3 && p.y > currentPoint.y - 3 && p.y < currentPoint.y + 3 && p.x != currentPoint.x && p.y != currentPoint.y)
bufferGirlNextDoor.push_back(p);
}
}
810 1792324
>>92311
Щас бы хеловорды в репозитории лить, лол. Держи исходник. В main() запускаешь mainLoop() и все

#include <vector>
#include <iostream>

struct Point
{
int x;
int y;
bool isAlive;
};
std::vector<Point> gameBoard;
std::vector<Point> bufferGirlNextDoor;
std::vector<Point> bufferNewBorn;

void checkNumForBorn(Point);
void checkNumForDead(Point&);
void checkGirlNextDoor(Point);
void createGameBoard()
{
gameBoard.push_back(Point{ 0,0,true });
gameBoard.push_back(Point{ 1,0,true });
gameBoard.push_back(Point{ 2,0,true });
}

void mainLoop()
{
createGameBoard();
while (true)
{
bufferNewBorn.clear();
for each (Point p in gameBoard)
{
checkGirlNextDoor(p);
checkNumForBorn(Point{ p.x-1, p.y, true });
checkNumForBorn(Point{ p.x-1, p.y+1, true });
checkNumForBorn(Point{ p.x, p.y+1, true });
checkNumForBorn(Point{ p.x+1, p.y+1, true });
checkNumForBorn(Point{ p.x+1, p.y, true });
checkNumForBorn(Point{ p.x+1, p.y-1, true });
checkNumForBorn(Point{ p.x, p.y-1, true });
checkNumForBorn(Point{ p.x-1, p.y-1, true });
checkNumForDead(p);
}
for each (Point p in gameBoard)
{
if (p.isAlive) bufferNewBorn.push_back(p);
}
gameBoard.clear();
gameBoard = bufferNewBorn;
std::cout << gameBoard.size() << std::endl;
}
}
void checkNumForBorn(Point currentPoint)
{
int num = 0;
bool isGirlNextDoor = false;
for each (Point p in bufferGirlNextDoor)
{
if (p.x == currentPoint.x && p.y == currentPoint.y)
{
isGirlNextDoor = true;
break;
}
}
if (!isGirlNextDoor)
{
for each (Point p in bufferGirlNextDoor)
{
if (p.x > currentPoint.x - 2 && p.x < currentPoint.x + 2 && p.y > currentPoint.y - 2 && p.y < currentPoint.y + 2)
++num;
//добавить после тестов if (num > 2) break;
}
}
if (num > 2) bufferNewBorn.push_back(currentPoint);
}
void checkNumForDead(Point &currentPoint)
{
int num = 0;
for each (Point p in bufferGirlNextDoor)
{
if (p.x > currentPoint.x - 2 && p.x < currentPoint.x + 2 && p.y > currentPoint.y - 2 && p.y < currentPoint.y + 2 && p.x != currentPoint.x && p.y != currentPoint.y)
++num;
//добавить после тестов if (num > 3) break;
}
if (num < 2 || num > 3) currentPoint.isAlive = false;
}
void checkGirlNextDoor(Point currentPoint)
{
bufferGirlNextDoor.clear();
for each(Point p in gameBoard)
{
if (p.x > currentPoint.x - 3 && p.x < currentPoint.x + 3 && p.y > currentPoint.y - 3 && p.y < currentPoint.y + 3 && p.x != currentPoint.x && p.y != currentPoint.y)
bufferGirlNextDoor.push_back(p);
}
}
Безымянный.jpg65 Кб, 645x225
811 1792326
>>92319
Это что ли? Ну, так уже так и стоит
image.png16 Кб, 553x143
812 1792328
image.png32 Кб, 389x756
813 1792331
>>92326
https://docs.microsoft.com/en-us/cpp/dotnet/for-each-in?view=vs-2019
Если бы ты писал на ++, то словил бы ошибок 20 на ровном.
image.png87 Кб, 1055x888
814 1792332
>>92331
ну что-то такое
Безымянный.jpg63 Кб, 693x327
815 1792333
>>92328
Ну нет у меня адвансед, нет
816 1792334
Половина треда в бамплимите, который уже надо перекатывать, засрана попытками помочь тупорылому шарписту-неосилятору с айкью как у табуретки, который даже не понимает на каком язке он пишет код. Охуеть шизоиды.
image.png2 Кб, 337x44
817 1792337
>>92333
1)Блять, правой кнопкой мыши ConsApp1(у тебя офк иначе название)
2)свойства
вообще-то это уже эпик
818 1792338
>>92331
>>92332
Да ебаный рот ваших крестов, блядь! На каком я пишу то тогда? Если создал ебаное приложение пустое на крестах, блядь!!!!! Хули компилятор крестовый не ругается на for_each если это зашквар, блядь? А просто молча структуру с говном в рот сует?
Студия мне предложила сразу, как только я fore написал for each этот еще и заботливо показала, чего в скобках хуярить. Умеет ваша параша в foreach(var l in list)?
819 1792339
>>92338
с++/cli
820 1792340
>>92334

>который даже не понимает на каком язке он пишет код.


Да я откуда знаю, на каком языке ваш компилятор хавает это с довольным ебалом, а потом срет вонюче? На шарпе если пишешь не на шарпе, так и компилятор тебя на хуй пошлет.
821 1792343
>>92337
Я понимаю, ты пытаешься, типо, посмеяться, ыыы, глядите, он тупой, я ему, как ребенку все объясняю, только вот пост, который ты процитировал, если взглянуть на скрин, то там уже и выведено окно свойств и там нет дополнительных
822 1792344
>>92339
короче, кресты в foreach не умеют и надо колхозить for, так? Ну, допустим сделаю, компилиться то все равно хуйня будет, которая структуры по значению с мусором передает в функции
и вообще, cli - нахуй эта хуйня нужна, если она по значению не умеет передавать?
823 1792351
>>92344

>cli - нахуй эта хуйня нужна


Я тоже много раз задавался этим вопросом.
824 1792354
>>92344

>cli - нахуй эта хуйня


Это "кресты" для дотнета, существуют и поддерживаются до сих пор только по велению левой пятки кого-то из майкрософта. У них вообще таких продуктов много, например есть даже джейскрипт дотнетовский и даже Бейсик лол
825 1792358
>>92293
Подготавливаешь минимальный пример, иллюстрирующий проблему, выкладываешь в онлайн-компилятор, сюда кидаешь ссылку, решаем твой вопрос.
826 1792362
>>92358

>выкладываешь в онлайн-компилятор


Куда конкретно, тут же сделаю
827 1792363
>>92354

>Это "кресты" для дотнета


Уже хуйней пахнет, даже для шарписта. Ладно. Допустим я хочу вкатиться в кресты, юзать компилятор для вас православный и при этом студию, мои действия?
828 1792367
>>92363

>Допустим я хочу вкатиться в кресты


Читать книги из шапки?

>юзать компилятор для вас православный


тут для каждого он свой

>юзать студию


https://docs.microsoft.com/en-us/cpp/build/vscpp-step-1-create?view=vs-2019
(тут уже прям на жир)
829 1792368
>>92367

>Читать книги из шапки?


Чтобы хеловорд скомпилировать? Читать книги? тут же явно где то ошибка в одной галочке, блядь. Почему в шарпе не надо книги читать, чтобы хеловорд скомпилировать?
830 1792369
>>92367

>юзать компилятор для вас православный


>при этом студию


floating point exception
831 1792371
>>92368

>Допустим я хочу вкатиться в кресты


>Читать книги из шапки?


>Чтобы хеловорд скомпилировать? Читать книги?


>.

832 1792372
>>92056
правильный способ это представлять кусок сырой памяти как vecror из char, а для работы с ним исполтзовать стандартные алгориьмы std, в частности copy
833 1792373
>>92344

> cli - нахуй эта хуйня нужна


У нее есть достаточно прикольный юзкейс - можно из нативного С++ приложения при помощи CLI-обертки дергать код, написанный на сишарпе. Один раз мне это пригодилось, когда нужная мне либа была только на шарпе.

А так да, говно без задач.
834 1792374
>>91905
если ты не погроммист то тем более проще заюзать готовые решения, чем писать свою прогу
возможно, твою задачу проще рассчитать и визуализировать в чем-то типа mathcad
835 1792377
>>92362
А погуглить?
Сюда сойдёт https://ideone.com/
836 1792379
>>92374
в мафкаде, кста, есть отдельная библиотека по тепловым рассчетам
837 1792380
>>92371

>pepuhon


>print ("helloword")


Мам, тут короче три книги надо, чтобы в кансаль вывести два слова, тут все сложна, указатели надо изучить, для элиты кароча
838 1792395
>>92380
Странно слушать такой высер от человека, который не мог понять самостоятельно на каком языке он пишет программу. Знаю, книга для тебя слишком сложно, моя ошибка(
Мог бы предложить Гугл или что-то такое, но тут сейм проблема - буквы.
Мам, тут проблема категории /яНеМогуОсилить, тут все сложна, программу нужно скомпилировать, пойду ебать /pr.
839 1792413
>>92035
string-у поебать на кодировку, он просто хранит массив char-ов. Можно его как контейнер для utf-8 использовать, так часто делают.
840 1792541
>>92395

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


Скомпилировалось? Скомпилировалось! Какие ко мне претензии?
Блядь, старый анекдот - один в один ситуация, когда один покупатель другому говорит в отделе сантехники - да не верь им, я уж и жопу показывал и туалетную бумагу, все равно унитаз не дали. Так же и тут, я уж исходник выложил, а все равно никто не объяснил в чем проблема. Ну перепишу я этот форич и чо, компилятор по другому скомпилирует что ли? При чем тут это вообще, если компилятор крестов мусорными значениями срет? Блядь, да я б уж давно на шарп все это переписал, если бы мне надо было и все бы работало по ф5. Какого хуя ваша залупа не работает, но компилятор жрет без проблем, вот это хочу выяснить и все.
841 1792555
>>92541
Слушай, за два года в треде ты здесь первый с такой проблемой. Может у тебя в студии дефолтные настройки нестандартные. Попробуй медленно и аккуратно, осознавая сука каждое нажатие на кнопку, создать новый проект console С++ app.
Если ты не тралль, конечно, в чем я уже начинаю сомневаться..
842 1792571
>>92555
Да мне видимо судьба так и грит, обходи стороной кресты, блядь. В нулевых пытался в кресты, даже книгу купил 21 день и что бы вы думали? У меня самая первая программа не компилировалась, хеловорд из книги, знаете почему? Потому что пидор издатель опечатался. Блядь, в самой первой программе, в хеловорде, опечатался.
844 1792592
Тупо ору с этого языка, блядь, программирования
845 1792593
>>92591
Вызывает некоторые подозрения надпись .NET Framework 4.5.2 на первом пике
846 1792594
>>92593
Как от нее избавиться? Я хз, создал новый соснольный проект, я в душе не ибу, почему не работают кресты как надо? На чем ты пишешь, хуй с ней, с студией, поставлю другую парашу тогда
847 1792597
>>92592
Ну извините, тяжкое наследие.
Может когда модули завезут, всё станет по-человечески.
848 1792598
>>92594
На работе пишу в VS code - но там надо изрядно поебаться с настройкой.
Маленькие проекты пинаю в codeblocks, но по СОВЕРШЕННО СЛУЧАЙНОМУ совпадению, сейчас версия под win10 немного сломана.

CodeLite например для хелло ворлда лучше студии (для всего остального - нет)
849 1792617
>>92592
Открой ту книжку которую ты купил в нулевых и прочитай блджад как заинклюдить хедер.
И ещё раз, ты пишешь не на крестах, а на дотнетовской крестожабной абберации под названием C++ with managed extensions. Адекватным компилятором вроде вижуал си++ то что ты кидал никогда бы даже не скомпилилось
850 1792624
>>92592

#include <stdstd.h>

#include "мойАзазаголовокю.h"
851 1792638
>>92617
>>92624
Спасибо,увидело вроде, но все равно срет мусором
Я уже заебался, конечно, но пойду до конца. Как, блядь, в этом вашем цплюсплюс другим компилятором собирать?
852 1792663
Сказал человеку - выложи в ideone, подскажу, где у тебя ошибка. Он продолжает срать скринами среды разработки зачем-то, при этом ругаясь на язык. Просто невероятно.
853 1792665
Андрюша, ты тупой. Пойми это, тогда жизнь станет проще.

открой установщик студии и удали оттуда рабочую нагрузку .net, а заодно поставь английский язык
854 1792668
>>92665
С языка снял прям.
855 1792670
Сап, котаны. Перекатываюсь на линукс (Убунту) и выбираю ИДЕ под С++. Выбор стоит перед VS Code и CodeLite. Прошу совета.
856 1792672
image.png2,3 Мб, 1919x1079
857 1792674
>>92672
Двачаю, удобнее ещё ничего не было.
858 1792676
^
|
Манюед не осилил емакс
859 1792679
>>92676
Манчестер Юнайтед?
860 1792680
>>92679
Извини, я любительскими клубами не интересуюсь, не знаю о чем ты.
861 1792681
>>92680
Ты тоже извини.
862 1792686
>>92592
Какой же ты тупой нахуй, это просто пиздец. С++ это явно не твое, раз ты в элементарных вещах не можешь разобраться, я просто хуею с таких даунов. Тебе максимум фронтэнд-макакингом заниматься, аутяра, и то я сомневаюсь, что у тебя получится.
863 1792714
>>92686

>студия компилирует хуй пойми чем


>ряяя, ты тупой, кресты не для тебя


Я чо, студию эту разрабатывал, на хуй, что ли? Я тут при чем вообще, блядь?
864 1792717
>>92663

>выложи в ideone


https://ideone.com/F6VlMn
865 1792721
>>92714
Да мы уже поняли, что если ты себе молотком по еблу стукнешь, то виноватым окажется молоток.
866 1792725
>>92665

>открой установщик студии и удали оттуда рабочую нагрузку .net


А на нормальном языке программирования шарпе я смогу потом писать?
в 2015 студии нет инсталлера, кстати
867 1792728
>>92725
Хуй его знает но на крестах точно сможешь
868 1792733
>>92721
А зачем мне это делать? Любители крестов так развлекаются или чего? Почему в нормальном языке программирования я открыл студию, создал проект, написал код, нажал ф5 и все работает? Почему, блядь, я тебя спрашиваю? Почему пердолиться не надо, блядь? А просто открыл и пишешь код, потом нажал кнопку и все скомпилировалось. Почему, блядь, здесь пердоля на пердоле и костыли какие то?
869 1792764
>>92717
Я просил минимальный пример, иллюстрирующий проблему.
870 1792777
>>92674
Как дебажить? cout не предлагать.
871 1792778
>>92670
Clion как вариант не расматриваешь?
image.png2,3 Мб, 1919x1079
872 1792783
>>92777
Как и обычно.
873 1792784
>>92733
Ну а почему ты тогда не пишешь на этих божественных языках? Зачем в c++ полез, головешка ты глупая? Тебя не предупреждали что ли?
874 1792786
>>92783
А как дебажить многопоточные приложения?
875 1792789
>>92764
Чо? Я тебе весь исходник выложил, чо еще сделать? Какой пример?
876 1792790
>>92789
Пошёл нахуй короче, дебил.
877 1792791
>>92786
Внимательно и осторожно.
878 1792792
>>92791
Я имел ввиду, есть ли какой-нибудь аналог студийного parallel stacks?
без шуток, хотел бы попробовать труъ-консоле-экспириенсъ
879 1792795
>>92792

> без шуток, хотел бы попробовать труъ-консоле-экспириенсъ


Нахуя? Не слушай даунов с вимом, они борщи хлебают.
880 1792798
>>92795
"Эффективный" программист в студии порвался.
881 1792799
>>92783
Что это и как накатить? Алсо, можно ли там сделать, чтобы содержимое переменных показывалось? И чтобы брейкпоинты запоминались. А то в gdb неудобно всё это.
882 1792803
>>92798
Эффективный программист, зарабатывающий свои 300кк\нс.
883 1792805
>>92803
Тогда моё увожение
884 1792806
>>92799
Надстройка над gdb. https://github.com/cyrus-and/gdb-dashboard
Удобно разносить компоненты на разные терминалы
885 1792808
>>92806
Моё почтение.
886 1792819
Посоветуйте модную обёртку для курлов. В либкурл не нравится сишный стиль
887 1792820
>>92819
vcpkg install curlpp
888 1792851
889 1792895
Когда тренд потонет то?
890 1793127
Какая ide полегче - вижуал код или кодблокс?
891 1793154
>>93127
Пиздец. Ide полегче. Ты собираешься играться в ide или прогать?
892 1793198
>>92670
никого не слушай! выбирай сердцем, какая понравиться
893 1793207
>>93127
откуда вы блядь все берете этот ебанутый кокблокс. Откуда. Нахуя. Кто вам про него сказал. Это мертвое дерьмо мамонта.

Поставь обычную вижуал студию, нахера тебе код.
894 1793256
895 1793260
Есть настроение отвечать на вопросы ньюфагов, а они ничего не пишут.
Неужели научились в гугл?
896 1793377
>>93260
Какая IDE самая хорошая, если пользуешься ими? Если нет, то где пишешь/собираешь?
horsewouldbangbydatspicypeddler-d5ui4ed.jpg54 Кб, 1024x573
897 1793378
Если я немного поковыряю Qt, это баффнет на собеседовании или лучше потратить больше времени на обмазывание алгоритмами / паттернами / устройством системы? Что вообще на собесе по плюсам котируется?
898 1793380
>>93207
Чем code::blocks плох?
899 1793557
>>93154
Ты чё вообще мудак блять? Не можешь своим мелким мозгом версталы додуматься что у кого-то комп может не вывозить студию?
900 1793565
>>93557
Лол. Я вспомнил еблана, который писал на шарпе и подумал, что имеется ввиду полегче в плане работы с ней. Типо не надо настраивать. Ну vs конечно тяжелая для компа.
901 1793665
>>93377
Самой хорошей нет, но студия очень мощная и качественная, стандарт индустрии. Если выбирать именно монолитную IDE, то тут не ошибешься.

Я использую vim в 99% случаев, когда один раз всё настроил и тебе понравилось — назад дороги нет.
902 1793696
>>93380
Он плох тем, что есть вижуал студия. Т.е. нет никакого смысла юзать инфериорный продукт, когда есть нормальный.

А если тебе прям список проблем - то как минимум он нихуя не парсит ничего сложного, и нихуя нового из С++17 (и мб 14, там уже не смотрел).
13889130913848.jpg22 Кб, 500x369
903 1793974
>>93207

>Поставь обычную вижуал студию, нахера тебе код.


Анон выше вон поставил обычную вижуал студию и у него код компилятор хуй знает на каком языке собирает, лол
904 1794057
>>93974
Если ты не умеешь пользоваться инструментом, это не значит, что инструмент хуёвый. Это вполне может значить, что ты долбоёб. Иные и из вима не могут выйти.
905 1794089
>>93127

qt creator
906 1794296
Двачане, очень сильно понравились плюсы в своё время, но времени ими заняться не было от слова совсем... Сейчас появились 6 месяцев относительно свободных. Вопрос такой. За это время возможно найти работу в области c++ за еду? Если да то сколько заниматься и что делать чтобы точно получить оффер за это время? Вроде знаю синтаксис +- за исключением ебанутых конструкций с 20 указателями. Помогите пж. Спасибо за помощь заранее)
907 1794297
>>94296

>За это время возможно найти работу в области c++ за еду?


Нет.
За это время можно найти время заняться ими.
908 1794298
>>94297
Легче тогда вкатиться в какой-то другой яп типо джавы найти и работу и потом уже перекатиться в с++ гении? Или как быть тогда?
909 1794300
>>94298
Или в какой язык тогда вкатывать?
910 1794313
>>94300
Ни в какой.
911 1794314
912 1794328
>>94297
Какой минимум требуется знать чтобы устроиться на работу в Москве?
913 1794330
>>94328
Так не работает, понимаешь?
Нет никакого минимума
Всё уникально и индивидуально
Открываешь какую-нибудь копеечную джуновую вакансию на hh и смотришь. Если примерно о половине перечисленных требований ты можешь что-то рассказать на условном интервью - шлёшь резюмеху.
SAGE 914 1794336
>>92674
A вот и школа после уроков со своими прозрачными терминалами и гавнообоями в тред залетела
915 1794478
>>94057
До до до, и целый раздел не знает, чо в таком случае делать, но долбоеб анон конечно
916 1794485
>>94478
Когда никто не отвечает на вопросы уровня блин зачем ваши укозатели у мя в питоныче их нет и мне норм))) это наверное для тебя тоже значит что никто не понимает или не способен объяснить
917 1794491
>>94485
Ну так ты, раз такой умный и не долбоеб конечно же знаешь, в чем там было дело, да? Но никому не скажешь
918 1794498
>>94491
Все кто больше года работал в студии знают в чем дело. Конкретно в этом треде — это больше 50%
919 1794517
>>94498
Никому не скажу, ага?
920 1794519
>>94517
Нет смысла, потому что до этого в треде уже два разных решения предлагали
921 1794595
Clion - лучшее иде.
922 1794625
Почему в адрес С++ произнесены тонны слов ненависти? Так ли он плох?
923 1794636
>>94625
Нет
924 1794642
>>94625
Потому что он сложный, а тупорылых неосиляторов гораздо больше, чем умных людей.
925 1794676
>>94519
При этом ни одно не сработало
926 1794705
>>94676
Штош. Значит задача нерешаемая, вижуал студия говно, С++ язык для пидоров, а ты хуй.
927 1794713
>>94642
Пердоля, ты? Зачем осваивать кривое и неудобное говно
928 1794737
>>94705
Да это ты говно, которое и слилось ожидаемо. А сколько гонору было, а как спросили, так началось виляние жопой и пук среньк
929 1794739
>>94713
Давай конкретику, что в крестах криво и неудобно?
930 1794756
>>94739
Вот допилят православный v до релиза и раст вместе с крестами пойдут нахуй.
931 1794757
>>94756
Вот как допилят, так и приходите, сударь
932 1794760
>>94757
Так он уже рабочий, просто некоторые фичи пока не реализовали, в 2021 уже точно допилят. По бенчмаркам уже даём пососать пиндоскому расту. И он простой как АК47, сразу видно что наш человек делал. По звёздам уже говно-Nim в два раза обогнали.
933 1794786
>>94756

>v


Почитал, на бумаге выглядит очень интересно.
Пробовать нет времена, к сожалению.
934 1794861
>>94756

>имя типа справа от переменной


Автоматически говноедский язык.
935 1794877
Около года назад начал читать "Принципы и практика с использованием С++" Страуструпа. Сечас дошёл до 12 главы и компилятор что-то ругается на графические библиотеки Graph.h и т.д.. Пишет, что <hash_map> устарел, define что-то там не работает, библиотеки вроде последнй версии. Так и должно быть или лучше поменять книгу?
936 1794881
>>94861
Наоборот хорошо, потому что тип не всегда пишется. А так у тебя будет забор с типом/без. Объективно лучше чтоб имя везде было на первом месте, а опциональный тип после. Тут же за простоту борются, чтоб не писать однотипную лапшу перед каждой переменной. Можно как в питоне ебашить:

> zalupa := "hui"

937 1794897
else if или второй if если тело одинаковое а в условии стоит другая переменная?
938 1794906
>>94881

> Объективно лучше


Понятно
939 1794926
В универе начали изучать плюсы.
Накидайте плез инфы по всяким темлейтам, умным указателям, лямбдам та и вообще всякой хуете, чтобы я ОХУЕЛ от мощи плюсов. Ну или хотя бы писал как на современном языке, а не как на си.
Плюсы не знаю от слова совсем, знаю шарп, хаскель и писал хелловорлд на расте.

только ооп не кидайте, мы типа процедурное программирование изучаем
940 1794965
>>94926
В гугл, мусор.
941 1794986
>>94881

>Наоборот хорошо, потому что тип не всегда пишется.


Пидорам со своим var руки бы на хуй пообрывал. Не всегда тип пишется только у пидорасов, которым при встрече всегда в ебало харкать надо
942 1794987
>>94897
Принцип такой же. Если ты используешь else if, то в самом конце у тебя должно быть всегда else. Если тебе это излишне, то просто новый if
943 1794988
Стоит ли вкатываться в кресты? Сколько времени займет до первой зарплаты?
944 1794990
>>94926

>темлейтам


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

>лямбдам


Чо, лямбды в шарпе не изучал что ли? То же самое все

>указателям


юзается чисто для скорости, чтобы напрямую можно было передать адрес, а не объект пихать целый

>чтобы я ОХУЕЛ от мощи плюсов


Ну как, охуел?
945 1794991
>>94988
Вкатывайся в жс
946 1794992
>>94986
for (std::vector<std::basic_string<char>, MyAllocatorT>::reverse_iterator it = v.rbegin(); it != v.rend(); ++it)
{
std::cout << L"Ты хуй\n";
}
947 1794993
На связи аноний, у которого компилировалась хуй пойми каким компилятором и структура с мусором передавалась.
В общем плюнул сегодня и решил, семь бед - один ответ. Снес к хуям студию и накатил заново. Все заработало, как часы.

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


Ссу в ваши самодовольные ебла и сру вам же в глотки
948 1794994
>>94993

>структура с мусором передавалась.


Не было такого.
Ты объебался там, у тебя наверное copy-constructor не успел вызываться, так как ты на входе в функцию сидел.
3443433443.jpg15 Кб, 201x296
949 1794995
950 1794996
>>94992
И чо? Где будапешт то?
951 1794999
>>94994
Ты, глупый что ли? Я даже скрины постил, что бряк стоял на третьей строке функции, какой вход функции? И как же так вышло, что после переустановки, ровно тот же код заработал, как надо, то есть начал ругаться на for each компилятор и когда на for ( хуй : хуи) заменил, то все скомпилировалось, но передавалась в функцию уже нормальная структура, ведь бряк то я ровно в том же месте ставил
952 1795001
>>94999

>ровно тот же код


>до этого не ругался на for each, то есть использовался другой компилятор для другого языка


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


>ровно тот же код



Пошёл нахуй, дегенерат. Переустанови ещё пару раз.
953 1795009
>>95001
Блядь, какой же ты тупой.
Бряк стоял на строке с for each, то есть до того, как еще он выполнялся, так какое значение имеет for each там был в функции или hui pizda? Проект, блядь, один и тот же. Хули тебе не ясно? Просто до этого не ругалось, а после переустановки начало ругаться, как полагается. Я тут при чем, блядь? Если я проект создавал пустой крестовый. Ты можешь сколько угодно тут умничать и щеки надувать, но факт остается фактом, заработало после переустановки, то есть там у майков чего то поломалось, а не я не туда тыкал, не там бряк ставил, не так код писал.
954 1795012
>>95009

>Проект, блядь, один и тот же.


>компилировалось с for each


>потом перестало


>Проект, блядь, один и тот же.


>Я не тупой, ты тупой

955 1795015
>>95009
Чудес не бывает, Андрюха.
Если бы доразобрались, в чём там дело было, то можно было бы "факты" надувать. А теперь всё.
956 1795016
>>94987
Понял, спасибо.
957 1795017
>>94988
Бампану. Вопрос стоит ли не стоит но через сколько можно вкатиться в ДСе и какие перспективы по зп?
958 1795018
>>95017

> через сколько можно вкатиться в ДСе


Года 2.

> какие перспективы по зп?


Я бы для начала 60-70к платил.
959 1795019
>>95018
Я сомневаюсь, что нубу на плюсах больше 50 дадут.
960 1795022
>>95012

>Проект, блядь, один и тот же.


Представь себе, но проект был ровно тот же самым, что и вчера, без единого изменения. И вот я сегодня переставил студию и о чудо, он перестал компилироваться. Но тупой я конечно, кто же еще
961 1795025
>>95018
А как понять, что можно резюме раскидывать?
962 1795026
>>95017
Как же вы заебали с вопросом СКОЛЬКО НАДО ВКАТИТЬСЯ. Столько, сколько ты готов задрачивать. Кто-то вкатывается за полгода, кто-то за полтора, большая часть - никогда. Все зависит только блядь от тебя, и сколько времени ты реально пишешь код дома.
963 1795027
>>95025
Как будет с десяток проектов на гитхабе с каким-то количеством звёзд.
964 1795028
>>95026
Мы - вкатыши 21 века, привыкай. А если серьёзно то это какую-то мотивацию придаёт. Мне вот программирование само по себе доставляет, а при том что я учу язык на котором в будущем смогу исполнить вообще всё что за хочу ещё лучше. Но вот кулстори от челиков которые вкатились за полгода на норм зп тоже нихуёвый буст дают.
965 1795030
>>95027
Серьёзно? Настолько высокий порог входа? А на стажировочку что? +- Cпасибо за помощь, кстати
966 1795031
>>95030

> А на стажировочку что?


Кому ты нахуй нужен на стажировку. На стажировку могут взять только веб-макаку с опытом макакинга.
967 1795034
>>95031
А почему вы тут такие злые кста? Вкатыши настолько доебали?
968 1795036
>>95034
Код не компилится, хуй не стоит
969 1795037
>>95034

> Вкатыши настолько доебали?


Да. Это как если бы каждый день спрашивали бы как устроится на завод. Работа хоть и черновая, но кодеров много и можно выбирать.
970 1795039
>>94996
Ну хочешь еще пожирнее тип поищу. Ты и правда все итераторы так пишешь? Или тайпдефами обкладываешься в каждом файле как даун?
971 1795050
>>94990

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


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

>юзается чисто для скорости, чтобы напрямую можно было передать адрес, а не объект пихать целый


Да ладно, в 99% языков обьекты передаются по ссылке, так как так намного быстрее. Но вы же не юзаете сырые указатели, как в си? Должен же быть способ, подобный растовскому?
972 1795062
>>92670
1)Перекатывайся на Дыбы
2)CLion
3)На самом деле это всё вкусовщина
973 1795104
>>94713

>кривое и неудобное


ты скОзал, неосилятор с двузначным айкью?
974 1795110
>>94992
Это ты типа (no pun intended) предлагаешь вместо указания типа auto поставить? Но auto - это не тип
975 1795113
>>95110
Авто это автовывод типа, и именно для таких вещей он был сделал
976 1795114
>>94756

> Вот допилят православный v до релиза и раст вместе с крестами пойдут нахуй.


Хуйня для трёхфайлового проекта
хоть и выглядит очень красиво
977 1795116
>>94877
Лучше поменяй
978 1795120
>>95022
Ой да кому ты пиздишь.
Присылают мне пулреквесты всякие джуники и в слаку пишут, мол, там чуть-чуть правок. А на деле как-то умудряются залезть в файлы в отдельном проекте и там что-то поменять. На вопрос почему ответ один - ой, я не заметил
979 1795140
Двачане, появился варик учить плюсы и подрабатывать одновременно на unreal engine. Имеет ли это смысл и поможет ли это выучить cpp или просто трата времени и от cpp там ничего не осталось?
980 1795142
>>95140
Анреал - это свой мирочек, классического С++ там очень мало. А подрабатывать где угодно - это классно
981 1795144
>>95142
Типо как перспектива для дальнейшего переката на чистый cpp сомнительно?
982 1795145
>>95144
Что есть перекат? Если у тебя будет опыт войны c UE4 - то ты сможешь найти другую работу, и если постараешься и задрочишь темы к собесу - то без проблем перекатишься. Да и опыт в резюме будет какой-никакой, хоть как-то релевантный.

Касательно самой работы - я сомневаюсь, что ты будешь трогать С++, делая игру.
983 1795146
>>95114
Двачую, можно воспользуюсь в каком-нибудь трехфайловом.
984 1795250
>>95039

>Ты и правда все итераторы так пишешь?


Я ж не дебил. for (int i = 0; i < myDick; ++i)
985 1795253
>>95050

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


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

>Да ладно, в 99% языков обьекты передаются по ссылке


А здесь по указателю. Ну еще для динамических массивов используются указатели.
986 1795255
>>95120

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


И при чем тут я? Там .h файл один, который я в проект новосозданный добавил и вызвал один из его методов. Куда там чо я залез и поменял по твоему?
987 1795268
>>95255
Ты уже доказал, что ты долбоёб, поэтому твои действия я предугадать не могу.
988 1795280
>>95268
Нет, ты, ибо все твои вангования говном оказались, так что соси
989 1795290
>>94625

>>Почему в адрес С++ произнесены тонны слов ненависти?


Потому что зайди в JS тред. Они основных понятий своего языка не знают. А от слова байт теряют сознание.

Сейчас и правда слой программистов как людей фундаментально понимающих то в чем они работают - очень маленький.
В основе все - операторы фреймворков, и оснавная их цель - формочки пердолить на реакте/ангуларе.
мимо-пхп макака
990 1795313
>>94642

>Потому что он сложный


В чем сложность?

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

Я с 12 лет начал изучать С++. Вообще освоил его по книге С++ за 21 день (которую дочитал до середины, дальше уже и так все понял). Работал фрилансом.

Сейчас перешел на шарп.
991 1795331
>>95290
Какой байт сука что ты несёшь. Какие нахуй формочки на ангуляре? А то что в великом крестотреде большая часть населения вряд-ли даже справится с переводом десимала в хекс на бумажке тебя не смущает? В любом треде одни дауны, не важно какой язык в названии.
992 1795370
>>95331

>>десимала в хекс на бумажке тебя не смущает



В жс треде просто не поймут о чем речь, лол. Максимум что ты услышишь - hex - это фреймворк такой?
993 1795409
>>95313
более чем уверен, что ты педалил код на уровне laba1.cpp

Вкатишься в template metaprogramming - тогда поговорим. И это еще без учета того, что разрабатывая на плюсах, ты должен думать о безопасности, иначе твой код нагнут раком на второй день после релиза, а это требует отдельных знаний.
994 1795410
>>95331

>десимала в хекс


Ты явно недооцениваешь здешний контингент. Я говорю про норм анонов, а не вкатунов, которые только вчера услышали о программировании.
995 1795437
>>95370
Проиграл.
996 1795450
>>95331
а зачем мне уметь программировать на бумажке? Не, только серьезно?

Я прошел в яндекс и 5 часов программировал на охуенно бумажке, но нахуя этот цирк был - я так и не понял
997 1795467
>>95450

>Я прошел в яндекс и 5 часов программировал на охуенно бумажке, но нахуя этот цирк был - я так и не понял


Ахахах, двачую, тоже не понял.
998 1795522
>>75527 (OP)
Что стоит прочесть по многопоточке? А то уже не джун, но большой пробел в этой области, только универские знания.
Также реквестую литературу по профилированию памяти.
С меня как обычно
999 1795532
>>95370
Ты только в общий тред это не пиши, потом от кала не отмоешься.
1000 1795545
>>95370

>десимала в хекс


Без кринжа на пейпере с пеном транслейтну. Дурак бля, почему нельзя по русски?
1001 1795579
>>95545
Из десятичной системы в шест над ца ти рич ну ю
Иди нахуй с таким количеством букв
1002 1795600
>>95579
Число небось еще шестидесятичетырехразрядное
1003 1795602
есть проект, делал в clion полгода назад, сейчас пробую его открыть и cmake файл не подхватывается чет, как безболезненно восстановить работаспособность я нихуя не помню шо тут с вашими плюсами делать надо, проект по сути 10 файлов классов с заголовками, и вроде там какая то ебота с параметрами компиляции была- чет дописывал
1004 1795613
>>95545
Ну после эпичного, когда они в JS тред обсуждали нужно ли понимать среднем разрабу оператору фреймворка как в JS работают замыкания и лексические окружения я думаю сложно уже что то иное ждать.
Ты заходя туда по дефолту в потоке говна. Там естественно есть грамотные товарищи, но в потоке лололоканья их не видно.
1005 1795614
>>95613

>>Ну после эпичного, когда они в JS тред


когда они целый тред обсуждали...
1006 1795620
>>95614
Да ты наш тред-то почитай. Первую половину объясняли одному полуёбку почему индекс в опенжль это инт, потом второму настраивали студию всем двачем. И каждые 50 постов кто-то спрашивает как вкатиться.
1007 1795666
>>95620
А как вкатиться?
А как по твоему должен этот тред в идеале выглядеть?
1008 1795703
Аноны, я сейчас мид и смотрю на рынок труда и у меня встаёт вопрос. Что с зарплатами у C++ прогеров? Почему они ниже чем почти у всех остальных?
1009 1795704
>>95703
На плюсах кодют ГРЕЧНЕВЫЕ МУЖИКИ за ИДЕЮ
1010 1795705
>>95703
200к в Align Tech платят мидлам. А ты сколько хочешь?
1011 1795706
>>95705
А мидлу вебмакаке 250. Вопросы?
1012 1795707
>>95706
Где мидлу вебмакаке платят 250к? Именно мидлу?
Clean Architecture.PNG535 Кб, 601x784
1013 1795724
Добрый вечер уважаемые.
Дочитываю сабж.
Судя по тому, как форсят высеры этого эксперта в профессиональной айти-среде,собственно назревает вопрос:
А действительно 99% разработчиков настолько тупые животные, что азбучные истины надо разжевывать на протяжении 3-х именно столько его книг я прочел книг?
Или обычный средний инженер-механик со средним стажем как я лучше подготовлен?
Охуеть, оказывается большие проекты надо разделять на маленькие, продумывать интерфейсы, отделять движущиеся склонные измениться детали от неподвижных неизменяемых при помощи интерфейсов.
НУ КТО БЫ МОГ ПОДУМАТЬ?!
CLEAN ARCHITECTURE!

Ну что за убожество?
1014 1795739
>>95724

>дядя боб


Да у него всё такое
1015 1795740
>>95724
Средний мидл - редкостный дебил, пишущий говно.
1016 1795751
>>95739
>>95740
Ого, а у меня оказывается АРХИТЕКТУРНОЕ МЫШЛЕНИЕ!
Пипец блядь.
Недавно смотрел видос с Даном Саксом на CPPCON, где речь шла о том, что думающие люди не хотят облизываясь жрать новомодное говно, которое вываливает на них комитет.
И, внезапно, он приходит к мысли, что одна из причин этого - что в серьезном программировании засилье инженеров а не программистов. Да что ты говоришь?! Не может быть, блядь.
Причем в свой спич вставил свои фотки с Обамой - что это за днище блядское? При чем здесь вообще Обама? Это у них круто считается? Мол как я авторитет?
Что вообще происходит? Шизоиды одни.
Александреску один пока как утес над морем говна.
1017 1795752
>>95751

>Александреску один пока как утес над морем говна


Саттер вроде тоже особо волн не поднимает.
1018 1795755
>>95751
и еще учитывай, что обычно шлепают слои говна на слои говна, и получается копролит. Времени на вменямый рефакторинг не дают.

Я как-то 3 недели сидел и рефакторил говнокод (спасибо шефу за это) - в итоге код стал в разы более приятным и читаемым. Да, бизнес ценности +- нуль, зато все программисты стали счастливы.
1019 1795756
>>95752
Упс, точняк, я его лекции тоже смотрю - он малаца.
1020 1795782
>>95755
Ты красавчик, вот реально уважаю таких. Это называется профессионализм. Неприятие говна становится твоей натурой.

Бизнес ценность в том, что легко вносить изменения.

Недавно полностью перепроектировал агрегат, где всего-то надо было заменить материал одной детали. Агрегат спроектирован как монолит, то есть надо разбирать весь. Деталь заменена на алюминевую, но засада в том, что была стальной и выдерживала серьезные нагрузки. А это значит, надо увеличивать размер. Но так как конструкция не модульная, то и заменять надо полностью все.
В результате сконструировали 10 модулей, соединяющихся через "интерфейсы". Минус - деталей больше. Плюс - все модули можно пилить параллельно, и заменять по удаленке. Это если вкратце, на деле есть еще промежуточные модули, чтобы использовать и в старых агрегатах, которые уже куплены.

Почему так изначально не сделали - загадка. Тем более что стандарты интерфейсов известны с 50-х годов, например на пиках.
Но инженеры во-время спохватились.
А если бы были программисты, хуй знает чем бы закончилось.
1021 1795788
>>95751

> думающие люди не хотят облизываясь жрать новомодное говно


> При чем здесь вообще Обама?


У них своя атмосфэра.
1022 1795810
>>95522

> Что стоит прочесть по многопоточке?


Да чё там читать, пока свои шишки не набьёшь - не разберёшься.

> Также реквестую литературу по профилированию памяти.


vcperf

> С меня как обычно


С тебя как обычно
1023 1795812
>>95522

>Что стоит прочесть по многопоточке


Если пользовался мьютексом с семафором, то всякие бложеки про модели памяти в плюсах и затем Concurrency in Action. Если нет - у Таненбаума в книге про оси говорят норм написано про них и стандартные задачи типа producer-consumer
1024 1795828
>>95782
Ты неплох, ты мне нравишься. Продолжай.
1025 1795831
>>95724
Дело говоришь.
Я всегда этому удивлялся.
1026 1795833
В переменных средах есть переменная PATH, при запросе любого файла из командной строки он ищет его из всех папкок указанных в ней, как можно реализовать тоже самое в C++? Сколько искал в интернете выдает какую то херню которая вообще не имеет отношения. Вот кусок кода куда я хочу добавить если что
https://github.com/Netflix/vmaf/blob/0bba4faf68ab89e38314cc596e6908b4fb83984d/libvmaf/src/third_party/ptools/chooseser.h#L385
1027 1795838
>>95828
Я очень редко пишу, у меня просто очень подорвало.
В смысле продолжать? Написать книгу СУПЕР ЧИСТАЯ АРХИТЕКТУРА: превозмогая синдром дауна?
1028 1795842
>>95838

>Написать книгу СУПЕР ЧИСТАЯ АРХИТЕКТУРА: превозмогая синдром дауна?


Проиграл.
1029 1795859
Как сделать functional-stype cast в pointer_type?
1030 1795888
>>95755

> Я как-то 3 недели сидел и рефакторил говнокод (спасибо шефу за это) - в итоге код стал в разы более приятным и читаемым.


Никогда этого не понимал. Сколько работаю всегда было похуй на красоту кода. Главное сделать побыстрее и потребовать зп побольше, на остальное поебать.
изображение.png17 Кб, 1175x264
1031 1796086
>>95409

>более чем уверен, что ты педалил код на уровне laba1.cpp


нихуя не лабы
1032 1796190
>>95888
Просто ты не работал с долгосрочными проектами.

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

Я на днях лечил один баг уровня "в полнолуние, в пять утра, при определенном уровне звезд и движении ветра оно пишет туда формулу призыва ктулху". Полгода от бага страдали. Нашел. Баг оказался всего в одной функции написанной еще двадцать лет назад методом лишь бы работало. И двадцать лет все работало.

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

Так что всеже лучше либо сразу писать хорошо (если есть нормальное TD и хороший лид), либо рефакторить как можно быстрее не запуская
1033 1796269
>>96086
Ну и? Я тоже могу законтрибьютить 500 раз в код уровня laba1.cpp. Ты лучше ссыль на гитхаб пришли.
1034 1796475
1024й пост был. Перекатывайте!
1036 1796736
>>96190

>вместо того чтобы нормально сделать парсер даты, тупо брали два последних символа строки


Например как ты спарсить предлагаешь? 212022080115вав45203072220
На, вот строка тебе, парси хули, что последние джва символа это год
1037 1796752
>>95751

>Александреску


>>95752

>Саттер


Еще Мейерс красаучик.

Труп страуса какой-то левый в этой компании, похоже, больше как популяризатор языка. Его базар не производит впечатление работы над реальными проектами.
И книги галимые по сравнению с Пратой.
1038 1796826
>>96736
юзани регулярку и не еби себе мозги, пчел
1039 1797097
>>96736
А ты подумай. Строка которую ты привел - это мусор, такой мусор отсеется раньше.

В той функции были правильные методы извлечения даты и месяца, но разрабу ее писавшему было лень доделывать код, поэтому он решил что в шестизначной входящей строке, если 4 символа - это день и месяц, то оставшиеся - это год.

Проверки на длину строки там тоже не было, поэтому оно спокойно пропустило строку, в которой было уже не 6 символов, а 12.
1040 1797313
Расскажите в какой момент стоит начинать раскидывать код программы на разные сорс файлы а когда можно обойтись тупо отдельными функциями? Где эта грань?
1041 1797351
>>97313
Если файл стал слишком большой для нафигации, а функцию можно отделить без ущерба для производительности.
1042 1797574
>>97313
У меня обычный .cpp файл занимает от 50 до 500 строк. Обычно 1 класс (и, возможно, несколько вспомогательных классов и структур) в хедере и его имплементация в самом .cpp.
sage 1043 1797700
>>96086
Пруф уровня б.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 7 марта 2021 года.

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

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