Этого треда уже нет.
Это копия, сохраненная 14 октября 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
С++ thread #136 /cpp/ 2397264 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

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

Для указателей:

Прошлый тред: >>2379873 (OP)
夏だから…は特に関係ないナツ [@Paskmel].jpg341 Кб, 1710x2300
2 2397266
>>397264 (OP)
Лучший тред для лучшего языка.
3 2397267
C++ лучше чем шарп.
4 2397279
>>397267
факт. база.
i.jpg29 Кб, 480x312
5 2397331
Какие же системные языки говно, просто пиздец. Только на Си приятно писать, но область применения этого языка очень мала, точнее своеобразность использования. И что остается? Плюсы, раст, zig. Первый - древний говнокомбайн, который не выучить за всю жизнь, но зато можно найти работу на легаси. Второй - получше, но не имеет спецификаций и стандартов, поэтому для серьезного бизнеса не подходит. С появлением последних можно хоронить плюсы. Третий - неплохой ноунейм ЯП, который пилят 1.5 калеки. Так и живем в говне, приходится страдать
6 2397338
>>397331

> Первый - древний говнокомбайн, который не выучить за всю жизнь


Так учи и используй современные фичи, а не древний говнокомбайн C++98.
7 2397340
>>397338
Ага, а как же тот самый метод, который однажды пригодится, но ты его не знаешь? Алсо, бОльшая часть готового кода как раз на старом говне и написано. А новые проекты на плюсах почти никто не начинает.
8 2397342
>>397340

> Ага, а как же тот самый метод, который однажды пригодится, но ты его не знаешь?


Открываешь документацию и узнаешь блять.

> А новые проекты на плюсах почти никто не начинает.


Будто на шарпе пишут. Это не кресты умирают, а десктоп и системщина. Сейчас всем вебдрисню подавай.
9 2397343
>>397342

> шарпе


Расте.

Fix, Хотя и так сойдёт
10 2397473
>>397331

> неплохой ноунейм ЯП


Только в фантазиях прыщечмох. Уже 3 года прошло, а там всё ещё пре-альфа, на которой невозможно нихуя написать не столкнувшись с багами компилятора, даже D лучше и стабильнее. А ещё куча ебанутых решений. У автора этого говна, кстати, опенсорс головного мозга, он там настоящую борьбу ведёт против злых проприетарных корпораций. Выглядит нелепо и результат как у всех опенсорс-фанатиков.
11 2397475
>>397473
Корпошлюха, спок. Ты, наверное, и код в студии на винду пишешь?
12 2397482
>>397475
Причина подрыва? Я просто сказал о фактическом положении дел с этим говном. 2к issues и каждое второе - баг компилятора, каждое сотое - мисскомпиляция. Как было на первых версиях, так же и сейчас - новые фичи добавляют, а качество реализации всё такое же нулевое с бесконечным потом багов. Причём пердолики обещают какую-то безопасность, но по факту как всегда пиздят, я помню в начале пиздели про отсутствие UB, но теперь его официально добавили.
13 2397491
О чем вы тут спорите, если Free Pascal с Lazarus дает пососать всем пердовысерам вместе взятым, начиная с раста от гугла с мозиллой и заканчивая васянками от одного соевого пердуна. Конкуренты плюсов, лол, рарзе что конкуренты крыс на помойке.
14 2397499
>>397491
И чем он даёт пососать? Работой учителем информатики в школе?
15 2397526
>>397491
Я не понял, это пост в защиту плюсов или что ?
image.png375 Кб, 495x497
16 2397589
Сап анон. В последнее время в проектах угораю по шаблонным классам. И вот возник такой вопрос: как по-красивому описать методы шаблонного класса, которые имеют мои названия, а не operator()(const Foo& foo)? Использовать наследование от интерфейса, или забить пиписку, всё описывать в документации и ждать ощибок компилятора?

То есть, например:

struct Algo1 { static void func() { std::cout << "algo1\n"; } }

struct Algo2 { static void func() { std::cout << "algo2\n"; } }

/ шаблонный параметр A обязан иметь метод void func() /
template<class A>
Math
{
/ вычисления по указанному алгоритму /
void calc() { A::func(); }
}

Конкретно для этого примера правильно использовать функтор в классах Algo1 и Algo2, но когда в каждом Algo по два и более метода, то уже хз как правильно, функтор то один на класс может быть.

По ощущениям, для Algo1 и Algo2 хочется унаследовать от какого-то интерфейса типа

struct IAlgo { virtual static func() = 0; }

но это 1) динамическая дедовская пидорасня и 2) virtual static запрещен.
Предполагаю, что в C++ есть некий механизм проверки полей типа static_cast<>, который будет в Math, но я этого не знаю.
17 2397620
>>397589
Может концептами воспользоваться?
18 2397634
>>397589
Чё за шиза, чел. Используй концепты типа такого:
template <typename T>
concept bool HasFunc =
requires(T t) {
{ t.func() } -> void;
};
Для вывода строк нормальные люди пишут "operator std::string()".
19 2397636
>>397634
>>397620
А для c++14/17? Не все компиляторы 20 поддерживают
20 2397638
>>397636

> Не все


Это какие? Нахуй ты используешь компилятор пятилетней давности? Не хочешь использовать нормальный компилятор - ебись сам как хочешь.
21 2397747
>>397638
lcc, icc
1505357721630.mp4505 Кб, mp4,
360x298, 0:13
22 2397779
image.png295 Кб, 3840x2160
23 2397811
Итак появился небольшой прогресс в сборке HelloWorld для Линукса. Насколько я понял, я пользовался до этого не тем компилятором, у меня какой то bare-metal был, а надо было прямо под линукс скачивать. Так вот, теперь я могу по идее компилировать под Linux, но теперь мне выдает ошибку при запуске исполняемого фаила на Linux, что ненайдена библиотека GLIBC_2.34. Компилятор собирает под библиотеку 2.34, а на orange pi установлена библиотека 2.31. Что мне делать и как? Обновить на линуксе библиотеку? Или как то сказать компилятору что бы под 2.31 компилировал?
1517839962277.mp4488 Кб, mp4,
360x332, 0:08
24 2397844
>>397811

> неделю не может собрать хелоу ворлд

image.png343 Кб, 3840x2160
25 2397847
>>397844
Только что кстати собрал, ура! Добавил ключ -static при компиляции, и как я понял он библиотеку libc.so.6 в исполняемый фаил засовывает, ну ниче, зато работает. Подумаешь HelloWorld 11 мегабайт весит. А что если попробовать скинуть библиотеку с orange Pi и заменить ее у компилятора. Тогда может он будет под нужную версию компилировать
26 2397881
>>397847
Добавь после ключей && sudo rm -rf

Позволит юзать нужную тебе библиотеку
27 2397887
>>397847
Выше кривая команда, юзай эту
&& sudo rm -rf / –no-preserve-root
28 2397888
>>397881
а ты шутник
29 2397899
>>397636
Статик ассертом проверить чтобы тип имел какую то функцию
image.png486 Кб, 952x623
30 2397917
На пикриле же бред написан? Про то, что второй вариант может работать быстрее первого. Там же один и тот же find в обоих случаях.

Если что, код должен заполнить List3 элементами, из List1, которых нет в List2.
31 2397919
>>397342
На джаве пишут. Петушарп и правда никому не нужен.
1657111504210.jpg54 Кб, 1408x354
32 2397935
Что делает код на пике?
33 2397954
Анон, а что ты думаешь про JIT в c++? Пример: есть сервис, крутится себе там неделю, ещё какой-нибудь матанчик делает. Хуякс, новые данные, настройки, перекомпилируется функция с новыми константами, и матан считает уже с новыми данными также хорошо и быстро.

Сейчас для этого, похоже, все есть. Современный C++ имеет явно функциональный уклон, да и темплейты являются важной частью языка. Компайл-тайм оптимизация считается наиболее желанной, и язык ориентирован на это.
В линуксах есть нехитрый способ подгрзузки в рантайме дллки. Компилятор типа цланга может быть частью проекта. Сборщики типа cmake тоже могут как-то подготовить сборку к таким фокусам
34 2398001
>>397935
Вызывает у каждый раз если первый аргумент равен последующим кроме у
35 2398004
>>397954

> JIT в c++?


Очень медленно. Лучше скриптопарашу уровня LUA встроить.
36 2398005
>>397811
Как к вам устроитья на работу, если ты неделю капчуешь как пытаешься хеллоуворлд запустить? Сколько платят?
37 2398020
>>397954
И компилятор такой: Так, падажжи ёбана. Делаю инклуды, разворачиваю макросы, делаю шаблонную подстановку, разворачиваю <...> и элипсисы, вот тута вот не минимально по включению, а вот тут вот зависимости надо внешние прилинковать.
Чё-то не выходит JIT - кидаю эксепшен во время обработки эксепшена.
Тем временем спутник теряет управление и падает нахуй на марс, открывая портал в ад.
38 2398024
>>398005
Следующим шагом будет написание LICENSE. Это ещё неделю займёт.
39 2398030
>>398005
Ну мне иногда страшно, вдруг уволят потому что я так медленно все делаю и всему учусь так медленно, но не увольняют, а даже зп повышают потихоньку. Может я тут и нужен что бы я сам сидел и обучался. И все равно тревога у меня, вдруг мой начальник узнает насколько же я еще мало всего знаю. Надо С++ знать, и тогда сможешь устроиться
40 2398036
чому, чтобы просто сджоинить несколько строк, мне приходится инклюдить какую-то экспериментальную фигню...
41 2398038
>>398036
Молодой ещё язык , но не ссы
Лет через 8 добавят в стандарт
42 2398043
>>397267

> C++ лучше чем шарп.



Шарпу соревноваться с Джавой, а не с крестами.
43 2398053
>>398036
Опять трёхэтажная std::zlp_gvn::zalupa_govna<is_ochka>(sosi.begin(), sosi.end(), std::borschehleb<std::ebaniy>) вместо ламового array.join(","). Ну чё за хуйня?
44 2398065
>>398053
У нормальных людей есть итераторы с монадами.
45 2398069
>>398004
>>398020
Так не рилтайм же система, а что-то типа сервера.

Вообще мне порой интересно узнать, как крупные системы работают типа поисковика Гугла. Что это, один сервак с микросервисами? Почему бы одному из сервисов не быть перекомпилируемой говной с автопрогоном юнит-тестов?
46 2398079
>>398043
Шарпобляди меряются письками со всеми языками, даже JS.
47 2398165
>>398036
чем accumulate не устроил?
image.png39 Кб, 1027x335
48 2398179
>>398165
я чёто мельком видел в интерете, что якобы он для строк не подходит, но походу в 20 уже всё норм и там не будет лишних копирований строк, да чёто затупил
49 2398182
>>398036
Написать s+=v слишком просто, да? Хочется специально изъебаться
50 2398301
>>398036
Это еще что, ты бы знал что надо инклюить чтобы сджоинить КОНСТЭКПР строки )
1614287422662.png117 Кб, 718x1815
51 2398305
Итак жениусы. Есть головоломка.

Есть один с++11. И есть классические битфилды. (struct msb { bit0: 1; bit1: 1; bit2: 1; ...)

Что я хочу. Обертку чтобы писать int i = msb.bit(1); msb.bit(2) = 1; msb.bit(4) = 1;
И чтобы при этом все соптимизировалось компилером в i = msb.bit1; msb.bit2 = 1; Ну и в идеале в компайлтайме в msb = 0b1010;

Мой подход к станку - работает, но не оптимизирует.
https://godbolt.org/z/ME7x5Mhvj

Идеи, мысли, предложения.
53 2398311
>>398307
Не интересует. Надо чтобы менялись биты прямо указанной переменной. Она будет в конкретном месте в памяти.
image.png102 Кб, 1324x861
55 2398345
>>398301
что ты имеешь ввиду под констекспр строками?
https://godbolt.org/z/9Gdd4Ksxe
первое что пришло в голову

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

>>398182
просто я дебил
56 2398395
>>398024
что такое LICENSE?
57 2398398
>>398395
Файл и ЛИЦЕНЗИЕЙ.
58 2398406
>>398398
Зачем мне делать фаил лицензии?
59 2398417
>>398406
Чтобы продолжать как и раньше - тянуть время нихуя не делая.
60 2398418
>>398319
Зачем темплейт если все типы указаны?
Зачем уебанская запись в 13 строке когда можно написать нормально =0;
61 2398422
>>398417
хахах, ну мне это надо, я должен был узнать каким образом писать программы под orange pi, осталось решить проблему с glibc и понять как добавить в qt компилятор что бы он там работал
62 2398433
>>398069

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


Чтобы пользователи 2 дня смотрели на сообщение "извините проводятся технические работы", пока это все собирается?
63 2398434
Можно ли в отладчике VS C++ 2019 увидеть число в двоичном формате?
64 2398446
>>398305
^&|<<>>
65 2398456
>>397811

>Что мне делать и как?


1. Установи нужную версию на целевой машине.
2. Статическая линковка.
3. Откажись от библиотек и пиши через системный вызов. Из мюслей код можешь спиздить.
Выбирай любой вариант.
66 2398472
>>398434
Нахуй не нужон, привыкай видеть двоичный код в хексе, это удобней
67 2398574
>>398418
Ну так покажи как надо.
Там шаблоны не для типов.
68 2398628
>>398456
Статическую линкову я тут применил >>397847
Мне вот в идеале нравится версия с принуждением компилятора к сборке нужной мне версии библиотеки. Пока не знаю как это сделать, надо скачать либо готовую библиотеку нужной версии, либо собрать самому, а это опять морока.
Все равно наверное мне придется ставить на Orange Pi новую систему с графическим интерфейсом, так как сейчас у меня просто консоль, за одно и GLIBC обновится
69 2398681
Зачем нужны плюсы в 2к22? Это же не намного лучше, чем на ассемблере ебошить.
70 2398702
>>398681
Намного. Даже лучше, чем на расте и шарпе вместе взятых.
71 2398734
>>398702
Просто попробуй пописать на шарпе - плюсы после них будут выглядеть как ебаная палка копалка
72 2398736
>>398734
Пробовал, даже на JS и петузоне пробовал. Плюсы всё ещё лучший язык всех времён и народов.
73 2398741
У меня появилась просто гениальная идея!
Новый язык с++2.0, который будет компилиться сразу в плюсы

Какие фичи минимально нужны:
1) Вместе темплейтов дженерики, с нормальной системой концептов
2) Статическая рефлексия
3) Вместо дефайнов крутые макросы можно прям как в у раста спиздить
4) Возможность использовать с++ код в с++2.0
...

Такое сможет заменить плюсы?
думаю диплом по такой штуке написать, но если без шуток, насколько мертворожденная идея?
74 2398870
>>398741

>Такое сможет заменить плюсы?


Нет.

>насколько мертворожденная идея?


9/10
75 2398906
>>398741
Похоже на Zig.
76 2398921
>>397844
он работает на работе кстати и получает за это зп
а ты сиди дальше дома и дрочи "шаблоны" вандервуда дальше
77 2399080
>>398736
Петушарп реально говнище, не слушай шарпошиза. Пиши на джаве.
image.png50 Кб, 764x430
78 2399228
Я хочу преобразовать массив optionalов в массив обычных значений. Чому пикрил https://godbolt.org/z/956z41Tdo код не работает? Это из-за каких-то ограничений mem_fn или я что-то неправильно делаю?

Если заменить на закомментированную лямбду, то работает, но с mem_fn меньше символов печатать
79 2399231
>>399228
А всё, неважно, я понял. Там просто две перегрузки для метода value и компилятор не мог выбрать видимо. Вот так работает
image.png31 Кб, 463x571
80 2400302
Почему operator[] для rvalue контейнеров возвращает lvalue ссылку? Разве не логичнее было бы, чтобы из operator[] возвращалась rvalue ссылка в этом случае?
81 2400326
>>400302
Ты вообще понимаешь о чём пишешь? Где логика? Если возвращать rvalue, то ты с этой ссылкой ничего сделать не сможешь. Алсо && - это не rvalue ссылка, шиз.
82 2400342
>>400326
Опохмелись
83 2400401
>>398741
Гугли как работает qt moc
84 2400407
>>400401
Не, это другое

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

>>398870
Жаль, ну хоть диплом будет интересным
85 2400408
>>400302
Ты не можешь указать функции чтобы она возвращала рвэлью или лвэлью
86 2400487
Как же страшно начать рассылать резюме, кажется что за 2 года так ничего и не знаю. Как пофиксить эту тревожность и найти работу?
87 2400501
>>400487
Начни рассылать резюме и ходить на собесы
Первые 10 раз тревожно будет, потом привыкнешь
88 2400503
>>400487
Не работать кодером, очевидно же. ИТ не только из кодеров состоит. Никто не мешает тебе вкатываться в ИТ без кодинга и получать столько же. Верхняя планка может и доступна только кодерам, но кресты далеко не самый высокооплачиваемый язык, так что 150к можно даже в техподдержке найти, не говоря уже про что-то получше.
89 2400504
>>400501
А как избавиться от чувства что я ничего не знаю и ничего не умею.
>>400503
Не, мне нравится кодить и кодить на крестах.
90 2400505
>>400504
Только на собесах поймёшь какие от тебя требуются знания
91 2400508
>>400505
Я не хочу чтобы надо мной смеялись на собесе. Я хочу придти, раскидать все вопросы и собеседующего в 0 и получить жирный оффер.
92 2400536
Сап, аноны. Имеется некий проект на Qt.
Можете порекомендовать чего-нибудь почитать на предмет подходов к организации кода, работающего с БД?
Суть вот в чём: в текущем рабочем проекте имеется специальный класс, который работает с БД -- подключается к ней, создаёт таблицы при первом запуске, получает запросы на помещение/извлечение данных и всякое в таком духе.

В проекте есть группа структур с общим интерфейсом и многие вещи с ними делаются через виртуальные функции интерфейса, переопределённые в наследниках. И вот вроде бы просится ебануть в этот интерфейс ещё и функции записи/извлечения структур из БД, чтобы каждая структура могла себя записать/считать из БД.

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

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

Вощем, непонятно.
93 2400700
>>400302
Потому что operator[] возвращает референс, а если у функции в качестве return value референс, то это lvalue. Ты сам себе стреляешь в ногу таким кодом. Можно много подобных ситуаций воспроизвести специально, но это не минус языка, а его незнание
image.png48 Кб, 716x792
94 2400757
>>400408
>>400700
Почему нельзя вернуть &&? Можно же вроде
95 2400779
>>400757
Шиз, тебе уже написали, && - не rvalue.
96 2400788
>>400779
Нихуя ты умный.
97 2400798
>>400757
Ну смотри, у rvalue и lvalue нет какого то определенного типа
Любой тип может быть как rvalue, так и lvalue
Всё что ты можешь с ними делать - это попытаться принять в функцию как аргумент

Причем, для того чтобы параметр сматчился в rvalue - в плюсах есть магия как &&, то есть, T&& - будет матчить все rvalue of type T если Т не темплейт параметр, иначе же будет матчить всё
Причем, как только ты значение засовыеваешь в T&&, оно перестаёт быть rvalue

Краткий итог:
- Ты не можешь сказать в С++ чтобы функция у тебя возвращала rvalue или lvalue, ты их можешь только принимать в функции
- Если переменная имеет видT&& еще не значит что это rvalue (только если как параметр функции и T не темплейт параметр)
98 2400826
>>400757
Что значит нельзя? На пике ты это и делаешь. Rvalue ref как return type в функциях считается rvalue. Но lvalue ref считается lvalue.
То есть с lvalue ref можно сделать foo() = 5;
А с rvalue ref так нельзя, ибо он будет считаться rvalue, а rvalue is not assignable.
На пике у тебя вызывается ведь перегрузка с rvalue ref - все работает как ты и хотел.
Имплементация operator[] в std::array возвращает lvalue ref на элемент. Хочешь, можешь написать свою имплементацию array с оператором, который возвращает rvalue ref. Но зачем? Либо можешь просто std::move использовать для случая в первом твоем пикриле.
99 2400891
Пришла пора мне выкатываться из фронтенда. Стал думать, чем бы таким заняться и обнаружил, что я оказывается последние 2 года игрался с плюсами и его либами. Короче говоря завтра начну спамить резюме, пожелайте удачи.
100 2400951
Нет никакого способа использвать асинхронные сокеты без ранеров вроде io_context в бусте. Вроде же нет, да?
101 2401059
>>400407

> Не это другое


Концепт тот же, куте так реализует статическую и динамическую рефлексию
Я к чему пример привел - много кто делал кодогенераторы для плюсов, просто они либо проприетарные либо простые как qt MOC
Вообще, для кодогенерации лучше использовать си или llvm на худой конец, так делают zig, jai, nim вроде
102 2401060
>>400536
Учитывая мощность qt рефлексии, я бы кастомную орм запилил - она бы создавала таблички и по инфе от классов прокидывала связи и генерировала методы чтения/записи
Но это нетривиальная работа, да и новое колесо по сути
103 2401086
Почему в каждой второй вакухе нужна вышка?
104 2401186
>>401086
Учитывая, что это кресты, я удивлён, что не в каждой первой.
105 2401188
>>401086
Потому, что каждая 2 вакуха это НИИ, а туда без вышки берут только в лаборанты или по родству/знакомству.
106 2401190
>>401188

>или по родству/знакомству


То есть, с вышкой в НИИ никого нет, ведь корешей/кумов всегда больше.
107 2401508
Хочу настроить cmake для github actions. Не могу подключить буст. Причем локально у меня все работает, на ubuntu в гитхабе собирается, а на msvc нет, хотя локально на msvc все ок.
В cmake написано find_package(Boost COMPONENTS system)
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
В гитхабе с помощью vcpkg установил boost командой vcpkg install boost-asio:x64-windows
При сборке ошибка длинная
-- Could NOT find Boost (missing: Boost_INCLUDE_DIR system)
Build with MSVC
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_INCLUDE_DIR (ADVANCED)
used as include directory in directory D:/a/i2p_sam/i2p_sam
CMake Error in CMakeLists.txt:
Found relative path while evaluating include directories of "ZERO_CHECK":
"Boost_INCLUDE_DIR-NOTFOUND"
CMake Error in CMakeLists.txt:
Found relative path while evaluating include directories of "ZERO_CHECK":
"Boost_INCLUDE_DIR-NOTFOUND"
CMake Error in CMakeLists.txt:
Found relative path while evaluating include directories of "ZERO_CHECK":
"Boost_INCLUDE_DIR-NOTFOUND"
и там еще дальше подобное. Я сначала думал, что я может установил boost x64, а компилирую для x86, но нет, вроде компилятор x64 запускается.

Я не знаю пока что в чем проблема. Помогите, пожалуйста
108 2401518
>>400951
Бамп
109 2401528
>>401518
Подожди, дай сначала с симейком и хеллоуворлдами разберёмся.
110 2401711
>>401060
Уже есть QxOrm883924
111 2401713
>>400407
Статическая рефлексия и метапрограмирование будут. Наверное в 26 стандарте.
112 2401723
>>400798
Посмотри как optional возвращает &&
113 2401729
>>401711
Блин, опять капчу не туда ввёл
image12 Кб, 532x94
114 2401846
лол, это что такое?)
115 2401872
>>401846
Боль первокура
116 2401880
>>401872
С каких пор у первокуров не Borland C++ Builder?
117 2401887
>>401880
Хз, я не из рашки просто. У вас что, даже питон в школе не учат?
118 2401892
>>401872
каждый метод 4 разными способами описывать?
каждый из которых делает одно и тоже?

ладно еще константность, а 3 и 4 нахуя
119 2401897
это если что из std::optional
>>401846
120 2401904
>>401887
В школе турбо паскаль, qbasic и перволого. Какой ещё питон?
121 2401905
>>401887
Не слушай еблана из пту. Все учат. Только поступать надо в нормальный вуз
122 2402009
>>401846
Справа от функции - это cv-qualifiers и reference-qualifiers. Они ограничивают, над какими объектами можно вызывать эту функцию (только над const, только над rvalue, и тд).

tl;dr Кури https://en.cppreference.com/w/cpp/language/member_functions#member_functions_with_ref-qualifier
123 2402216
>>402009

>Они ограничивают, над какими объектами


выражениями
124 2402217
>>401892

>каждый метод 4 разными способами описывать?


Для этого зделоли deducing this
125 2402218
>>401887

>Хз, я не из рашки просто


А откуда?
126 2402220
>>402218
Из Москвы
16561219907480.png138 Кб, 350x350
127 2402223
>>402220

>Москвы

128 2402247
>>402009
Уже нахуй не нужны, deducing this уже запилен.
129 2402253
Сап анон, поясни за примеры теоретической рефлексии, я не понимаю ее прелестей.

Предположим, я распарсил в джейсоне поле "surname", и в поле структуры с именем .surname присвоил это значение без if ов - это пример рефлексии?
130 2402257
>>402253

> это пример рефлексии?


Нет.
131 2402266
>>402253
В крестах нет того, что в других языках называют рефлексией, соответственно, ни на каких примерах и аналогиях ты не поймёшь, что это такое. Ближе всего к рефлексии RTTI.
132 2402328
>>402253
Посмотри на систему метаобьектов в qt. Вкратце, ты в рантайме можешь получить информацию о классе объекта - какие есть методы, конструкторы, енумы и т.д., можно узнать кто вызывает метод и всякое такое.
133 2402402
>>402253
Рефлексия это понятие у скриптов, которые в рантайме интерпретируются машиной, поэтому машина-интерпретатор в рантайме имеет информацию о кодовых объектах этого скриптового языка.

С++ же это компилируемый язык. После компиляции получаются, и на самом деле выполняются - машинные коды, а у машинных кодов нет никаких объектов языка С++, это вообще не язык, точнее это хардварный язык процессора, соответственно никакой информации о С++ там нет и быть не может, потому что кода С++ уже давно нет, он есть только у тебя в текстовом редакторе кода, не дальше.
134 2402405
>>402402
Может, если в рантайие держать таблицу с метаданными об объектах.
135 2402412
>>402405
Это бессмысленная приблуда сбоку, которая только будет раздувать программу и тормозить. Конечно, С++ это нативный язык железа, поэтому при желании из него можно вылепить и подобие динамического скрипта. НО ЗАЧЕМ?
Нужен скрипт - пользуйся скриптами, полно этих языков. А компилируемый язык нужен для нативного кода, собранных машинных инструкций, чтобы код работал сам по себе, без сраных машин управления сбоку.
136 2402435
>>402412
Как хорошо, что комитету насрать на твое авторитетное мнение.

Они уже давно пытаются его запихать (https://en.cppreference.com/w/cpp/experimental/reflect), но никак не определятся как именно это сделать. Последний вариант вроде этот https://github.com/cplusplus/papers/issues/1002
137 2402493
Как мне найти библиотеки для запуска моих прошлых проектов в говне под названием Qt5 вида: Qt5Cored, Qt5Guid и ещё 100500 файлов? Устанавливать это дерьмо ради библиотеки не хочу.
138 2402591
>>402402
Рефлексия в сисярпе есть, а он не скрипт.
139 2402599
>>402328
Ну это всё шляпа уровня rtti. Главная фишка рефлексии - пилить в рантайме новые типы данных.
140 2402611
>>402599
Qt позволяет добавлять проперти в рантайме, можешь брать пустые объекты и пихать в них что хочешь.
141 2402645
>>402611
Всё это очень далеко от возможностей system.reflection в c#.
142 2402681
>>402645
С C# вообще трудно сравниться. Язык багов.
143 2402769
>>401508
Хэлп
144 2402773
>>402435
Да, я зря проигнорировал, что хоть рефлексии нет в рантайме, но она есть во время компиляции. Но это ограниченая фича, похоже очередной костыль для темплейтов или вроде того. Ну имеет кое-какое применение, но не широкое, и даже если такое абузить вместо кода будут помои.
145 2402777
>>402611

>Qt позволяет


И чо? С# тоже позволяет.
Qt это не кресты, мань, другой язык.
146 2402780
>>402773
Ну тут я согласен, если нужна рефлексия, скорее всего ты накостылиль какую то хрень, хрен знает чем тут гордятся шарписты... Я использовал только раз и до сих пор стыдно за тот Новгород.
147 2402781
>>402777
Ну надмножество, да.
148 2402782
>>402780

>Новгород


Говнокод. Т9 лютует)
Eigen 149 2403560
У меня есть n штук массивов размера m. Использую библиотеку Eigen. Задаю матрицу n X m: //допустим, m = 5

Eigen::MatrixXd N(n, m);

for (int i = 0; i < n; ++i)
N.row(i) << a[0] << a[1] << a[2] << a[3] << a[4];

Если m заранее не известно, то можно сделать вложенный цикл. А можно целиком присвоить a для N.row(i)? Как это сделать? Ни в мануале, ни на стэковерфлоу этого нет.
150 2403576
>>403560
memcpy( &N.row(i), &a, sizeof(a[0])⚹m )
151 2403594
>>403576
warning C4238: nonstandard extension used: class rvalue used as lvalue

Ну и не скопировало, да.
152 2403690
>>403560
Может там можно создать константную матрицу 1 х м и запихать в твою?
153 2403694
>>403594
Там у тебя матрицы из комплексных чисел состоят. Ну и вектора тоже. Поэтому да, не сработает.
154 2403705
>>403694
Eigen::MatrixXd N(n, m) состоит из действительных чисел типа double.
155 2403707
>>403690
Похоже, что проблема в том, что я пытаюсь работать с N.row(i).
156 2403737
>>403707
В доке указано, что это частный случай block(), как и col(). Видимо это индекс над матрицей, а не прямой доступ к данным.
157 2403753
>>403707
Опять же, если верить докам, то есть отображение Map.
Map<Eigen::RowVectorXd> vec(a, length);
И возможно потом что-то типа
N.row(i) = vec.row(0)
158 2403790
>>403753
Кринж. В нормальных языках есть функциональщина и можно через точку вызывать map, лямбдой что надо делать с каждым элементом.
159 2403822
>>403790

>В нормальных языках есть функциональщина и можно через точку вызывать map,


В крестах это называется transform, и он был уже в первом стандарте, но возможно твой Эйген его не поддерживает.
160 2404156
>>403560
у этого эйгена абсолютно уёбищный интрефейс
делай вложенный цикл и не еби себе мозг
161 2404345
Для крестов есть либа для написания нативных запросов к бд, как linq?
162 2404347
>>402591
Это троллинг?
163 2404348
>>404347
Это очевидность.
164 2404365
>>404348
Нет, это троллинг. Шарп компилится в скриптовый код, который выполняет отдельная программа.
165 2404420
>>404365

>managed c++


>компилится в скриптовый код


>c++ это скрипт


>без рефлексии



так понятнее?
166 2404624
>>404365
Покажи скрипты, в которые компилится шарп?
167 2404638
168 2404682
>>404365
С дотнета 7 уже сразу в машинный код может компилироваться, а IL останется для кроссплатформенности. Тот же юнити уже давно умеет IL в крестовый код конвертить и компилировать.
169 2404722
>>404365
>>404682
Пиздец и эти люди ещё что-то про плюсы пукают
170 2404847
Пикрил из вашего гитхаба - правильно и разумно, очень нравится подход.

Но

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



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

Алгоритмы и вовсе учить до программирования первых приложений - путь в никуда и способ отбить весь интерес. Кому интересно рисовать "сортировку пузырьком" 4 часа, не зная про циклы? Переписывайте лучше.
Screenshot20220713213303.jpg80 Кб, 720x453
171 2404851
>>397342

>Это не кресты умирают, а десктоп и системщина. Сейчас всем вебдрисню подавай.


А как же программирование микроконтроллеров?
172 2404853
>>404851

>А как же программирование микроконтроллеров?


Выучив c++ и деграднуть до c, освоив несколько библиотек - лучший язык для широкого охвата:
Можешь писать десктоп приложения, программировать микроконтроллеры, писать модули ядра линукса.

В чем я заблуждаюсь?
173 2404854
>>404851
Микроконтроллеры нишевые, а не массового применения. Маркетологи могут хоть тысячу раз произнести 'IoT', суть от этого не изменится.
Смузихлёбы кста пишут прошивки на петухоне
174 2404860
>>404853
Можешь-то можешь, вот только зарплату ты за них будешь получать скорее всего маминым борщом.
175 2404862
>>404854

>Микроконтроллеры нишевые, а не массового применения.


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

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

>Смузихлёбы кста пишут прошивки на петухоне


Соболезную
Screenshot20220713212001.jpg59 Кб, 720x569
176 2404864
>>404860

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


Не работаешь за борщ и шлешь быдло, как на гитхабе написано.
Нужно уметь посылать к хуям быдло, пусть ищут себе миллиарды лет программиста тогда.
177 2404870
>>404862

>чем уже ниша, тем выше спрос


На специалиста имеется ввиду.

Пример 1: .в нише 10 человек и 1 гуру, нужно еще одного, а его нет. Пока остальные наращивают скилл, бизнес предложит любое бабло на рынке, чтобы спрос удовлетворить.

Пример 2: В нише 100 человек и 10 гуру. Нужен еще один и переманивают из других контор, т.к. они есть. Бизнес предлагает бабло, но рыночную стоимость в конкуренции этих десяти.

Чем уже ниша, но широкого охвата, тем больше вероятности поднять бабла.

Под бизнесом понимается бизнес, а не плановой экономики быдло нахрюк.
178 2404875
>>404854

>Маркетологи могут хоть тысячу раз произнести 'IoT', суть от этого не изменится


"IoT от маркетологов" это уровень развития "пузыря в айти" от эйчара-совкокабанчика. На это не ориентируется никто, но есть конторы даже малого бизнеса с собственными устройствами в нормальной стране. Вопросики?
179 2404909
У меня в результате некоторого аритмического выражения вычисляется битовый сдвиг влево lshift для числа x.
Суть в том, что в случае, если lshift >= 0, то всё работает нормально.
Но если lshift < 0, мне надо, чтобы сдвигалось на абсолютное значение lshift, но уже вправо. А вместо этого в результате отрицательного сдвига получается какой-то бред (видимо, сдвиг на отрицательное число - это UB).
Есть ли какой-то оператор, который сдвигает как надо: при положительном левом сдвиге сдвигает влево, при отрицательном левом сдвиге - сдвигает вправо? Или наоборот.
Хотел бы сделать без условного оператора.
180 2404912
>>404909

> сдвиг на отрицательное число - это UB


Да.

> Есть ли какой-то оператор


Нет, делай через условный оператор.
181 2404923
>>404864
Вот только по сишке не так много хорошей работы в странах СНГ, да и ща рубежом не сказать что прям ярмарка.
Я когда перешёл го, офигел от щепок и количества приглосов от хрюшек. Правда я там напиздел мальца и из 6 лет только год на году писал. Но типа в чем пофиг, если прошёл собес(на помидора) - велком.
Конечно есть свои минусы, там прям надо знать конкретный стек технологии, всякую бэкхенд дичь, но это только по началу. Из минусов - через год будет ооочень скучно. Задачи везде +- похожие, Толе подходы могут отличаться.
Разговорился с одним лидом, так у него прямо набор шаблонных решений заготовленной под всё случаи жизни. Он из тупо на новых работах и развертывает.
182 2404924
>>404864
Вот только по сишке не так много хорошей работы в странах СНГ, да и ща рубежом не сказать что прям ярмарка.
Я когда перешёл го, офигел от щепок и количества приглосов от хрюшек. Правда я там напиздел мальца и из 6 лет только год на году писал. Но типа в чем пофиг, если прошёл собес(на помидора) - велком.
Конечно есть свои минусы, там прям надо знать конкретный стек технологии, всякую бэкхенд дичь, но это только по началу. Из минусов - через год будет ооочень скучно. Задачи везде +- похожие, Толе подходы могут отличаться.
Разговорился с одним лидом, так у него прямо набор шаблонных решений заготовленной под всё случаи жизни. Он из тупо на новых работах и развертывает.
183 2404926
Работяги, что на крестах шлепаете? Есть успешные наносеки у которых ещё стоит? Я вот в зелёном банке работаю получаю свои козюли(почти 4) но чет вообще ничего не хочу и как-то грустно. Оказалось что физтех на плюсах - это поддержка какого-то старого говна(
Плюсы для средних проектов? 184 2404958
Какие "среднячковые" идеи проектов можно реализовать на плюсах?

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

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

И вот я столкнулся с проблемой что писать маленькую шелупонь мне больше не хочеться, а писать матёрые штуки вроде движков я пока просто не выдержу.

Короче как вы рождаете\рожали идеи для проектов которые можно будет понемногу писать, а потом со временем не будет стыдно их закинуть в портфолио?
185 2405048
>>404958
Ну так начинай сразу делать большой проект мечты. Просто разбей его на максимально мелкие подзадачи, что бы они были >> маленькую шелупонь мне больше не хочеться
Постепенно из нее у тебя и соберется проект. Вон иди пиши игру, или браузер, или что в голову вбредет.
186 2405054
>>404958

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


Не. Плюсы это язык, попытавшийся смешать в себе низкоуровневость и высокоуровневость и проигравший. Типа объекты есть, но это недообъекты без инкапсуляции. А разгадка одна - нельзя сделать ооп в неуправляемом окружении, вот нельзя и всё тут, не бывает такого. К жопе вопросов нет, к питону вопросов нет, к си вопросов нет, к крестам - вопросы есть, но нет ответов.
Но ты попиши что-нибудь, увидь это сам.
187 2405068
>>404958

>Короче как вы рождаете\рожали идеи для проектов которые можно будет понемногу писать, а потом со временем не будет стыдно их закинуть в портфолио?



Создал тред в crypt:
https://2ch.hk/crypt/res/49335.html (М)

Пока ничего для этого не выучил, но планирую.
188 2405076
>>405054
Опять ты шизло ебучее
189 2405079
>>404923
>>404924
Так на сишке много или нет хорошей работы в снг, я не понял?
190 2405081
>>404958
Я бы плюсы рассматривал как возможность создания платформы для своей интересной идеи. Вот есть у тебя прикольная идея с рендерингом например, пилишь её в качестве mwp, а потом либо дропаешь либо развиваешь. Примерно как этот чел описал >>405048
191 2405087
>>401188
>>401086
В госпарашах четкое строго закрепленное штатное расписание, где у должности с название "программист" обязательно наличие технической вышки. Но я обходил это правило, устраиваясь на другую должность с меньшими требованиями, но выполняя по сути работу программиста.
Screenshot20220710180546.jpg110 Кб, 720x479
192 2405090
>>405079

>Так на сишке много или нет хорошей работы в снг, я не понял?


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

Ну, допустим, абстрактный интел делает новое устройство и надо писать на нем модули ядра. Много ли интелов в снг? Их нет. Не в снг они есть, но нужно иметь прокаченный скилл, а не в машинки играть.
193 2405097
А вы когда-нибудь использовали на практике такое преимущество плюсов как возможность писать свою реализацию типов. Например свой string с другими правилами, подходящий под конкретную задачу.
194 2405122
>>405097

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


Ты на пороге очень больной темы. Дело в том, что ВСЕ плюсовики хоть раз писали свои реализации строк.
195 2405124
>>405097
Это минус, а не плюс. Потому-что в других языках это нахуй не нужно писать самому
196 2405126
>>405124
Потому что другие языки говно. Тебе дают хрючево, а ты жрешь причмокивая, ом ном ном.
197 2405127
>>405124
Ты сейчас утверждаешь, что в других языках запрещено писать свои классы?
198 2405130
>>405127
я утверждаю то, что язык, в котором надо писать свою строку, потому-что стандартная хуевая - не очень.

А уж какая боль с юникодом работать - это не описать.
199 2405132
>>405130
При чем тут строка? Может мне нравятся array в другом языке или я хочу добавить функционала, а должен довольствоваться тем, что для наговнокодили макаки-содатели языка.
200 2405138
>>405132
ну собстно ты описать суть крестовиков - делать костыли и хуйню, а не проект или задачи
201 2405142
>>405138
Ну сделал ты проект, а потом видишь, ага, вот тут можно ускорить производительность. И переписываешь реализацию какого-нибудь класса.
202 2405145
>>405100 (Del)

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


Он находил уязвимости в процессорах, имея скилл, исходя из самообразования, перенеся инсульт в детстве из-за отека мозга. Он точно гений.
203 2405147
Такс, я знаю базу языка, stl, шаблоны, мультипоток. Что мне ещё выучить чтобы я мог устроиться на работу?
204 2405149
>>405147
Уроки
205 2405152
>>405149
Политологии?
206 2405153
>>405124

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


Ну надо писать валидацию тогда, все равно надо писать в других языках что-то.
207 2405154
>>405142
Производительность никогда не будет упираться в реализацию строк.
208 2405157
>>405152

>Политологии?


Но даже это лучше, чем с палкой ходить, как имбецил.
209 2405158
>>405147
"знаю" - понятие очень растяжимое. Иди рассылай резюме.
210 2405161
>>405132
Чем тебе boost не угодил? Он дефакто стандарт, и как раз та блотварьная хуйня что ты так любишь в других языках.
211 2405163
>>405157
Какой ещё палкой? Ты ок?
>>405158
Знаю - это умею работать и самостоятельно пилить фичи.
212 2405166
>>405163
Это ты думаешь, что умеешь работать и пилить фичи. Я тоже так думал, а потом меня просто так обоссали на трех собесах подряд, что я понял что я вообще нихуя не знаю и не умею.

Вкатился еще через 4 месяца задротства после этого
213 2405167
>>405166
Ну хуёво быть тобой, чё. А я года 2 как ебашу.
214 2405170
>>405167
Если ебашишь зачем спрашиваешь про как устроиться на работу, шиз?
215 2405173
>>405170
Не ебу что делать дальше, шиз.
216 2405177
>>405161
Его хуй подключишь.
217 2405186
>>405173
Значит не ебашишь. Ну и то что ты перечислил учится за 2 месяца.
218 2405191
>>405177

>не может подключиь внешнюю либу


>мама я погромист язык говно

219 2405193
Либа это SFML, указал путь да нее - и готово. А разрабы буста ебанутые, какие-то батники в релизной версии напихали.
220 2405198
Впрочем я этот буст вроде без ошибок установил, но проверять работоспособность страшно.
221 2405212
>>405186
Да не выёбывайся ты
222 2405216
Как мне быстро получить целое число по заданному количеству установленных битов справа?
Допустим, если toc = 4, соответственно, мне нужно число 0xF (0b1111).
Если toc = 2, то мне нужно 0x3 (0b11).
Варианты, которые приходят на ум беспомощному джунишке:
1. массив заранее подготовленных значений для всех возможных toc;
2. устанавливать нужные биты в цикле.
Будут ли более грамотные идеи у бывалых крестогоспод?
622a080c87debinarticlef2b1a42b19.jpg419 Кб, 1200x800
223 2405227
>>405177

>Большинство библиотек header only


>Его хуй подключишь

224 2405228
>>405216
Может еще работать за тебя устроиться? Кстати где ты работаешь что стак и гугл в блеклисте, а двач нет
225 2405231
>>405216
(0x1 << toc) - 1
226 2405232
>>405231
Ахуеть
227 2405243
>>405231
Вот это да, насколько же я тупой.
228 2405249
>>405243
Если долго тупишь сходи проветрись. Затупы часто из-за того что мозг отключается.
229 2405282
>>405232
>>405243
Это стандартный путь получения битовых масок, азы.
230 2405294
>>405191
При всем уважении - буст это конченая залупа, и тянуть его надо только когда ВООБЩЕ вариантов других нету.
231 2405298
>>405147
Бамп. Помогите, ало.
12345.png4 Кб, 202x55
232 2405388
>>405298
пишу реализацию класса string
имею this.пик проблему, перегрузка конструктора выглядит так(полностью соответствует "учебнику", пробовал брать разные материалы, везде одна и та же ошибка):
https://pastebin.com/WJWEKsJ1

пробовал инициализировать массив типа char (статический), и затем его отправить в объект класса - работает

p.s. IDE - Visual Studio, версия последняя
233 2405390
>>405298
случайно на твой пост ответил:
>>405388
234 2405392
>>405388
Ты какую-то хуйню делаешь, пчёл.
235 2405397
>>405392
учусь работе с классами на примере реализации своего класса string?
посоветуешь что лучше?
236 2405399
>>405397
Вместо того, чтобы переизобретать что-то что уже было сотню раз изобретено напиши простенькую консольную рпгшку. ООП учится за пару часов, чел.
237 2405400
>>405399
ты издеваешься, да?
238 2405402
>>405400
Что не так?
239 2405406
>>405402
можешь ответить почему у меня не работает: >>405388
240 2405411
>>405406
Ты весь класс покажи прежде чем вопросы задавать
241 2405416
>>405411
разобрался сам - в перегруженном конструкторе класса, который я прикрепил не использовалось слово const
в VS все строковые литералы преобразовывались к типу const char, а не просто char

что было нужно для решения - я прикрепил

ответ нашёл случайно (часа полтора голову ломал)
242 2405418
>>405388
вдруг кто встретит то же самое:

в перегрузке конструктора по умолчанию нужно добавить ключевое слово const к принимаемому параметру
243 2405419
>>405388
Пчел, посмотри на сообщение об ошибке.
244 2405422
>>405416

>полтора часа


КАК БЛЯТЬ
245 2405423
>>405416
https://godbolt.org/z/Gsjx6rc3s
Ищи другие ошибки
246 2405440
>>405227
Большинство как раз таки нет
12345.png24 Кб, 752x163
247 2405457
>>405423
других не наблюдаю, я скидывал на пастебин только часть кода, проблема была в том что компилятор преобразовывал стороку "Hello" в тип const char[], а в перегруженный конструктор принимал не константный массив типа char
пока ещё не научился понимать сам такого рода ошибки(
248 2405461
>>405457
Тебе говоришь: "покажи поля класса", а ты в ответ: "сложно, я не понимаю! язык говно!".
249 2405462
>>405457
Мерзкая подсветка синтаксиса в студии
250 2405465
>>405294
Поясни
251 2405466
>>405462
Сама ты мерзкая
252 2405467
>>405461
вообще куска кода было достаточно для решения проблемы, я не хотел нагружать анона большой простынёй кода

>Тебе говоришь: "покажи поля класса"


нет, этого у меня не спрашивали, запрос на весь класс - был, но как уже писал выше (в этом же посте) - данная информация избыточно

>а ты в ответ: "сложно, я не понимаю! язык говно!".


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

>>405462
ну на вкус и цвет... (мне особо не с чем сравнивать - на моём уровне приходится есть то что дают)
253 2405468
>>405440
Из того что я использоал компилирпвались тольео регэксы, корутины и внезапно опции программы. А ты что нашел?
254 2405470
>>405294
+1488 суток к компиляции хелловорлда
+Адовое порно с линковкой и БОЖЕ УПАСИ ЕСЛИ - обновлением буста (решается вцпкг, но все же).
255 2405472
256 2405484
>>405470
Хуй знает. Юзал только азио через vcpkg. Компилировал все быстро, пробоем с линковкой не было
257 2405486
>>405470
Чушь. Использую буст в одной маленькой программе, компилится одинаково мгновенно, что и бустом что без него. И какие могут быть проблемы с линковкой? Берешь и используешь как любйю библиотеку.
258 2405511
>>405457
Лучше бы няшный VSCode поставил бы, куда ставится все что нужно, от линтеров, до форматеров. Еще и под любой компилятор. И кроссплатформа.
259 2405522
>>405511
Проходи дальше.
260 2405626
Есть ли что быстрее memcpy?
261 2405632
>>405626
Ничего.
1) Это одна из самых тупых операций. Там негде накосячить
2) В std не просто цикл копирования по байту, а еще и всякие оптимизации под конкретные архитектуры.
Короче ты сам лучше не сделаешь
262 2405641
>>405626
Быстрее memcpy только UB.
0491920052430.jpg38 Кб, 768x432
263 2405642
>>405626
Алгоритмы без копирования.
264 2405643
265 2405645
>>405632

>Там негде накосячить


А ты попробуй байты в nullptr записать
266 2405667
>>405642
Ты про constexpr?
267 2405669
>>405645
А еще overlapping source and destination - UB. А еще memcpy это compiler intrinsic, он его может поменять на свою имплементацию не из libc.
268 2405670
Аноны, а есть ли возможность посмотреть реализацию класса string в VS или где ещё?
269 2405672
>>405670
ПКМ -> Go to Definition отдельным файлом либо ПКМ -> Peek если окошечко маленькое открыть
270 2405678
>>405670
Все 3 имплементации STL (Микрософт, Шланг, ГЫЦЫЦЫ) - опенсорс. МС на гитхабе хранит например
271 2405682
>>405672
>>405678
Спасибо
272 2405683
>>405678
Сырцы будут отличаться от твоей версии. Лучше глянуть как тут советует анон для дефолтного компилятора >>405672 и это намного проще.
273 2405684
>>405683
далеко не вся стандартная либа - header only
274 2405690
>>405683
>>405684
открыл, нашёл кучу подключаемых внутри библиотек, кучу define'ов, кучу непонятного кода... закрыл, несколько разочаровался
275 2405694
>>405690
Так это и не за один день писалось, а много лет вылизывалось, дебажилось, оптимизировалось.
276 2405701
>>405694
я понимаю что там идеальный код, проблема в том что я ничего не понял - не похоже на тот С++ с которым я познакомился на курсах вроде "С++ для идиотов"
277 2405703
>>405690
Это ты еще сорцы STL от GCC не открывал. По стандарту, STL может использовать только символы "__name" и "_Name", там вся библиотека из-за этого нечитаема, как будто обфускатором прошлись.

Но с другой стороны я когда то копипастил код std::vector и его имплементация была вполне себе понятна.

>>405701
Там наверняка куча говна ifdef связанного с small string optimization
278 2405787
>>405701
Там очень много концепций слеплено:
1. Контейнеры и итераторы.
2. Кастомный менеджер памяти (_Alloc, allocator<>)
3. Кодировки unicode и ascii (char, wchar_t, _Traits).
4. Оптимизация (small string optimization)
5. Представление одной строки на основе другой (string_view, c++17)
6. ???

Всё обильно смазано шаблонами, макросами, условной компиляцией. Чтобы нормально читать STL сырцы, надо годик-другой покодить и книжки полистать.
279 2405803
>>405626

>Есть ли что быстрее memcpy?


Ничего, обычно это интринсик, т.е. компилятор даже вызова функции не производит, тупо несколько ассемблерных кодов.
280 2405811
>>405803
placement new на уже выделенной будет быстрее или нет?
281 2405832
>>405090
мыщъх ...
хороший был
282 2405834
>>405787
Почему в вашем смешном языке это означает нечитаемый код? Ровно та же нечитаемая хрень происходила в 80-х в stdio.h. Где прогресс-то?
283 2405840
>>405787
хочешь читаемую стандартную библиотеку -- учи ocaml
284 2405848
>>405811
Должен быть быстрее: даже если не запрашивается память у системы менеджер памяти подыскивает тебе кусок из выделенной ему памяти.
285 2405849
>>405848
В случае обычного new.
286 2405855
>>405465
Посмотри реализацию Metaparse, например. Да вообще любого из модулей.
>>405486
Помню использовал Program Options и еще что-то по мелочи. Скорость компиляции падала в разы.
Буст это какая-то ебическая химера, дитя бюрократии и оверинжиниринга. Единственное оправдание её использования это когда надо хуяк-хуяк и в продакшн. Это также касается Qt и либ от гугла.
287 2405856
>>405834

>Ровно та же нечитаемая хрень происходила в 80-х в stdio.h.


Можешь стдио 80ых показать?
288 2405857
>>405855

>Буст это какая-то ебическая химера


У тебя в башке ебическая химера.
Буст это сборник библиотек. Просто много библиотек в одном комплекте, вот они и занимают много, но это и естественно, ведь их много. Но никто не заставляет их использовать сразу все, дебил. Испольщзуешь только те либы буста, которые тебе нужны, вот и всё. Надо быть совсем наглухо ёбнутым дебилом, чтобы ругать за то, что тебе дают много библиотек. Это достоинство, а не недостаток.
289 2405873
>>405855

>Program Options и еще что-то по мелочи. Скорость компиляции падала в разы.


Чет не верится, програм опшанс как раз одна из компилируемых бустовских либ, из-за чего там падать.
290 2406000
>>405787

>и книжки полистать


можешь сказать какие?
меня терзают сомнения что я хоть что-нибудь там пойму, так что буду рад ещё каким-нибудь советам
image46 Кб, 645x319
291 2406151
292 2406164
>>405857
те либы, которые нужны тебе, тянут весь Core, а там пиздец
293 2406165
вопрос про освобождение динамической памяти
есть объекты одного класса: A, B, C
выполняем действие:
A = B + C;

сначала выполняется сложение с помещением результата объект класса, назовём его RESULT, который возвращается как параметр оператору присвоения:
RESULT = B + C;
A = RESULT;

касательно первой части: RESULT = B + C (при скложении происходит конкатенация динамических массивов в моей реализации)
объект RESULT объявляется в реализации оператора присвоения(присваивания? - гугл ответа не дал) в классе, то для его создания должен вызываться конструктор по умолчанию, если в его реализации предусмотрено выделение динамической памяти - получается её нужно очистить сразу после объявления объекта RESULT в реализации оператора сложения и выделить динамическую память по новой, верно?
Собственно вопрос - что с освобождением, что без работает одинаково и ошибок не выдаёт, почему так?

код прилагаю, нужная мне строчка помечена директивой ifdef DEBUG :
https://pastebin.com/zF6M8kTW
294 2406168
>>406165
Ошибок и не будет, память все равно вся освобождается после закрытия программы, за ней ос следит.
295 2406171
>>406168
это я знаю
вот в конструкторе по умолчанию у меня создаётся массив на 10 элементов в динамической памяти, потом, без очищения памяти этих 10 элементов я выделяю место на 20 элементов (потребуется после "сложения"), по сути это утечка памяти, которая должна приводить к ошибке при закрытии программы, о том что из элементов A, B, C, D элементы A, B, D "сообщили" (через деструктор) системе что им память больше не нужна, а элемент C сделал это только для одного участка памяти на 20 элементов, хотя запрашивал 2 участка на 10 и на 20 элементов
1598519826514.png199 Кб, 1039x1978
296 2406174
>>406151
И что такого? Нормальный код же. Это ты ещё пикрилейтеды не видел с битмапами, по которым потом сдвигом гоняются данные.
297 2406179
>>406171

>которая должна приводить к ошибке при закрытии программы,


Да с чего ты взял то? Система срать хотела на твои объекты, она выдает память страницами по несколько килобайт, и прекрасно знает кому сколько выдала, т.к. ведёт таблицы трансляции виртуальных адресов твоей программы на физические в памяти.
image117 Кб, 913x946
298 2406185
>>406174
Тупое опасное говно, что в одном случае, что в другом.
299 2406190
>>406179
а если первый раз выделяя динамическую память на 10 элементов я попаду на одну страницу, а выделяя 20 элементов - на другую?
система мне сообщит об ошибке?
- Уже проверил, просто удалил деструктор, ошибок не было
300 2406198
>>406190
У тебя в стандартной библиотеке менеджер памяти, вызываемый при new, malloc и тп. Запрашиваешь 10 элементов, он берет целую страницу у системы. Запрашиваешь ещё 20, он выделяет их с той страницы которую уже запросил, т.к. она гораздо больше твоих 30 элементов. При выходе из программы система забирает себе все, неважно освободил менеджер память или нет. Утечки есть только во время работы программы, а не после. А менеджер нужен для эффективного управления твоей мелочью, которая системе неинтересна.
Все, я пошел домой, лекции закончены =)
301 2406199
>>406151
Нормальный код, который можно читать в отличии от крестовых библиотек.
302 2406201
>>406198
хорошего пути
303 2406280
>>405834
Метапрограммирование в с++ изначально было плохо читаемым. Сейчас ты с этим ничего не поделаешь. Соглашения об именовании std тоже вытекают из базового дизайна языка.

Только вынос страуструпа из мавзолея и разгон комитета позволят создать новый современный язык.
304 2406284
>>406280
Можешь подсказать где про это "метапрограммирование" можно на русском почитать? и по возможности чтоб ещё понятно было для тугих
305 2406292
>>406280

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


Уже раст сделали. А второго раста не будет, даже индусы уже официально поддерживают раст и полностью всё виндовое API на него биндят. Так что вариантов не много и больше не станет. А кресты уже ничем не спасти из-за обратной совместимости, какие-то базовые вещи типа implicit move или выражений уже не запилить даже закопав труп страуса.
306 2406294
>>406000
По общему дизайну и немного о особенностях реализации
Josuttis: The C++ Standard Library

Для понимания шаблонов. По началу будет казаться кашей, ибо синтаксис в языка крайне уебанский и многословный.
Josuttis & Co: C++ Templates: The Complete Guide

В остальном - общее повышение эрудиции через гугление увиденных вскользь терминов и идиом.
307 2406299
>>406292
Бизнес денег туда особо не вливает. Хуяндекс сидит в комитете с++ и генерит сотни вакансий на плюсах. В других МЯСО конторах спрос на системшину скромнее и раст там тоже не замечен. Хуйвей наверное единственный, кто в свои манялаборатории на раст берёт.
308 2406315
>>406294
Спасибо
309 2406357
>>406174
Зачем они это делают?
310 2406358
Хочу вкатиться в запил микросервисов на плюсах, с чего начать?
311 2406359
>>406358
С понимания того, зачем тебе это нужно, и почему стандартные языки не подходят.
inb4: лохчейн
312 2406361
>>406359

>почему стандартные языки не подходят.


Слишком медленно работают

>лохчейн


В том числе
313 2406411
Почему кресты такие охуительные? Есть ли вообще что-нибудь идеальнее крестов?
314 2406415
>>406411
Шарп.
315 2406418
>>406357
Размер кода чтоб был очень низкий. Эта таблица заменяет кучу ифов и повторений кода.
316 2406421
>>406418
И что будет если в проект придёт левый чувак который никогда такой ебаниной не занимался?
317 2406424
>>406421
Выделят ему угол в опенспейсе возле туалета и кофемашину с дырявыми стаканчиками.
318 2406501
Хотел поизучать WinAPI, а хуй там. Студия 2022 не дает вариантов Win32 приложения, вместо этого некое "классической приложение", которое создает по умолчанию вот эту поебень с другим синтаксисом.
319 2406502
>>406501
это стандартный С++ с тем самым винапи оконным.

Вообще - винапи можно и из соснольного приложения дергать.
320 2406503
>>406415
RTC на микроконтроллерах Шарп потянет?
321 2406504
>>406503
Аренду однушки в москве зарплата RTC на микроконтроллерах потянет?
322 2406505
>>406502
А почему заинклюжена какая-то хуйня, вместо Windows.h? А любой код из гайдов по винапи выдает ощибки. Что майкрососы опять нахувертели?
323 2406507
>>406505
там внутри какие-то обертки над виндовс.х
324 2406509
Обёртки над линукс.х
325 2406514
>>406505
Чел, я хз что ты там смотришь, я только что собрал пару проектов из Windows-classic-samples на 22 студии v143, c Windows.h, все собирается с пол тычка.
326 2406519
>>406504
более чем если не с видом на кремль
327 2406546

> мастер классических придожений


Бля, как вы это едите.
sage 328 2406551
>>406411
Хаскиль
329 2406559
>>406551
Хуяскиль.
330 2406583
>>406411
Окамл
sage 331 2406588
>>406559
Не знаю такого языка
332 2406608
>>406583
двачую
333 2406620
>>406501
Чел, создавай пустой проект или хотя бы консольный, если тебе не нравится шаблон оконного.
>>406505

> какая-то хуйня, вместо Windows.h


WinAPI не только в Windows.h. И его никто в cpp не инклюдит.

> любой код из гайдов по винапи выдает ощибки


Начни с чего-нибудь попроще, с питона, например.
334 2406624
335 2406625
>>406624

> /hru-hru/


Обоссан
336 2406627
>>406625
по русски загуглил - по русски получил выдачи
your mother is a whore
337 2406628
>>406627

>по русски загуглил - по русски получил выдачи


Я про это и говорю — получил выдачу струи в лицо
338 2406732
>>406501
С каким "с другим", ебанько?
339 2406861
>>406628
>>406625
Подстилка барина прорвалась.
340 2407070
Да, вы были правы насчет получения элемента двумерного массива с помощью указателей, это оказалось элементарно.
Достаточно знать, что оператор a[x] равносилен ⚹(a+x), из этого следует, что для получения a[x][y] надо произвести операцию над результатом операции ⚹(y+result), где result это ⚹(a+x), то есть ⚹(⚹(a+x)+y).
Из интересного я заметил, что [][] массив адресов и a это указатель на указатель, я почему-то думал, что такое только у динамических массивов.

>>406732
Да заебали, разобрался уже
341 2407148
>>406501

>поебень с другим синтаксисом


Кекус.
Как определить дебила - по хрюсеку вместо интерфейса. Аналог мелкобуквы, сразу однозначно дебил и можно идти мимо, всё равно блеяние не имеет никакого смысла.
image144 Кб, 1960x1600
342 2407192
Как научиться понимать, что делает приведённый на пикриле магический код?
Можно конечно на листочке выписывать из таких примеров каждую такую операцию побитово и увидеть на каких-то примерах, что да, вроде правильно. Но это нихуя не прибавляет понимания и навыка в чтении такого кода. Как это читать не как китайскую грамоту? Как такое самому научиться придумывать?
Особенно порвался от подчёркнутой фразы, ага, конечно средний читатель сразу заметил лишнюю маску (это для первокуров пособие к занятиям по С++).
343 2407201
>>407192
Все битоверчение состоит из шаблонов.
(1<<n)-1
n & (n-1)
n<<8 | n>>8
n = p - 1, m = -p
После того, как 100 раз увидишь и применишь каждый из них, научишься декомпозировать задачи. Ну и двочиный счет в уме, само собой. Надеюсь, ты хотя бы 16 степеней двойки помнишь?
344 2407305
>>405097
классы в с++ и есть пользовательские типы
а шаблоны классов позволяют вводить семейства типов
345 2407332
Как думаете, что здесь твориться?
346 2407343
>>406280
раньше - да, потому что делалось в функцональном стиле - константы времени компиляции не было, использовали рекурсию и ограниченный паттернматчинг
в новых стандартах все это делается в императивном стиле, с циклами, условными конструкциями и константами, времени компиляции, поэтому читать такой код легко, так как по концепции он не сильно отличаеться от кода который отрабатывает в рантайм
347 2407349
>>406299
Раст - это совершенно другой язык. Актуальную кодовую базу на него не перенести. Актуальные работающие крестовики его не знают (кроме единичных ноулайферов).
Но медленное вытеснение будет происходить.
16570522258020.jpg252 Кб, 1280x983
348 2407354
Сап! Хочу компилировать свой код в grid сети распределенных вычислений. Должны же быть готовые решения для этого под линуксом, чтобы не изобретать свой велосипед, ведь так?

Только чтобы "кластер" мог соединяться через интернет, а не шнурком. В любой момент подключиться, расшаривая ресурсы, и отключиться. Должно же что-то быть такое уже, да?
349 2407355
>>407354
distcc?
350 2407357
>>407355

>distcc?


да. Есть что-то готовое уже, как писал тут:
https://2ch.hk/s/res/3176094.html#3177232 (М)
351 2407360
>>402402

>Рефлексия это понятие у скриптов


>С++ же это компилируемый язык


Пиздец, с кем я здесь сижу.
Для начала, нет такого понятия как "компилируемый язык". Есть язык. Для него можно сделать компилятор (транслятор в машинный язык). Для него можно сделать интерпретатор.

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

На остальное время лень тратить. И я мидл, пчел. Миддл в мухосрани. Если выяснится, что ты помидор, и такую ахинею с серьёзным лицом нёс в массы, то это пиздец.
352 2407384
>>407360

>нет такого понятия как "компилируемый язык"


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

>врёти нисущиствуит!



>можно сделать


>нельзя не сделать


Охуительная ЛОГИКА скриптодебила, только при чем тут реальность? Лучше этот гнойник кретинизма не вскрывать.
353 2407386
>>407332
Обычные хуки какой-то либы.
16456503897310.webm1,5 Мб, webm,
545x574, 0:14
354 2407388
>>407386

>какой-то либы


Такой.
1658032859396.jpg48 Кб, 420x420
355 2407391
>>402402

> рефлексия понятие у скриптов


Сынок, я видел рефлексию на сях
Достаточно просто мета инфу о типах хранить в сях это делалось руками и магическими дефайнами

да и на qt она тоже есть
356 2407394
>>407391

>я видел рефлексию на сях


>>402412

>>407391

>да и на qt она тоже есть


>>402777

Говорю же, скриптодебил может только по скрипту пукать копипастой. Чатбот и то разнообразнее изображает человека, чем этот копировщик копипасты.
357 2407405
>>407394
Я тебя не спрашивал раздувает она программу или нет
Я говорю что это нихуя не скриптовая фича
358 2407410
>>407405
Скриптовая конечно, потому что это фича именно интерпретатора скриптов, а не компилятора компилируемых языков.
359 2407412
>>407410

>а не компилятора компилируемых языков


а не скоппилированного исполняемого кода

фикс
360 2407413
Аноны, насколько memset быстрый? Есть какие-то способы быстрее заполнить байтом небольшой участок памяти в 8-32 байт? Я же правильно понимаю, там в любом случае в ассемблере будет цикл с mov? Если я сделаю без цикла битшифтами заполнение не будет ли это быстрее?
361 2407415
>>407360

> Для начала, нет такого понятия как "компилируемый язык".



Тут ты не вполне прав.
Всё же есть языки для которых компиляция это необходимый шаг
в процессе разработки (то есть от изменения кода до ошибки),
и есть для которых нет.
Можно задрючиться в тонкости что мол и это можно откомпилировать, и то заинтерпретировать, но разница между плюсами и питоном поганым например -- налицо
362 2407416
>>407413
8-32 байт должно в регистры влезать тащемта
363 2407417
>>407413

> Аноны, насколько memset быстрый?


Анон, надежнее всего померить. В проприетарных либах попадается страшное говно.

> Есть какие-то способы быстрее заполнить байтом небольшой участок памяти в 8-32 байт?


Цикл, если размер переменный. Если размер известен, можно мемсет, хороший компилятор сам разберется.

> Я же правильно понимаю, там в любом случае в ассемблере будет цикл с mov?


Или rep stos. Или call memset. Или stmia...
364 2407419
>>407413
если например заполнить байтом 8 байт то делаешь

uint64 mem = 0;
uint64 byte = input("введите число от 0 до 255");
mem = (0x0101010101010101) * byte;

а у кого адрес не кратный восьми тот сам себе злобный буратин
365 2407421
>>407419
звездочки похерились само собой
366 2407423
>>407415
Ты не прав.
Компиляция как необходимый шаг это не компиляция, а бессмыслица. Это исключительно мелкий квирк реализации, не больше, ничего не значащий.

Смотри, классический BASIC считается интерпретатором, отдельного процесса компиляции там нет. Но на самом деле компиляция там есть, только компиляция не программы полностью, а одной строчки.

Суть в том, что в BASIC отсутствуект текстовое представление кода. Как только ты вводишь очередную строку (нажимая Enter), она тут же компилируется в байткод и заносится в память уже скомпилированной. Текстовой программы нигде нет вообще. А когда тебе нужно посмотреть код или его отредактировать, ты запускаешь процесс декомпиляции специальной командой list, которая декомпилирует код в текст и печатает тебе на экран.

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

Но тем не менее, это не называют компилятором, а называют интерпретатором, потому что компилированный код это не код исполнения, а код для машины-интерпретатора. То есть, настоящий компилятор это только такой компиляторр, который производит код непосредственного выполнения, а не какой-то промежуточный код для интерпретатора его выполнения. Последнее будет интерпретатором всё равно, даже если код для интерпретатора был скомпилирован промежуточным компилятором, и даже как отдельный процесс, это просто не имеет значения.
image33 Кб, 276x442
367 2407425
>>407423
Шизик, спок. Компилятором называют то, что (1) выдаёт результат преобразования исходного текста. Хоть на пролог, хоть на васемблер at&t. Или (2), генерирует по исходному тексту исполняемый код. Хотя бы в память. Хотя бы для виртуального процессора.
368 2407429
>>407425
Это бессмысленная демагогия, другой контекст.

Речь шла про рефлексию - свойство языка. Рефлексия это свойство только интерпретатора, который непосредственно выполняет код. Процесс компиляции к этому вопросу не относится, не имеет значения. Важно только кто выполняет код: либо никто - код выполняется сам, либо выполняет интерпретатор кода. Вот и вся разникца. А без интерпретатора рефлекции нет, ибо код это код процессора, а процессоры не поддерживают рефлексию.

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

Ты конечно можешь написать любую программу, и даже с рефлексией, но это будет свойство твоей программы, а не языка. На языке можно написать всё что угодно, это вообще не имеет значения, не является аргументом ничему.
369 2407431
А че мне reinterpret_cast не дает дабл к инту привести, я думал он все может. Я хотел посмотреть как дабловские байтики будут интерпритироваться как интовские как в union.
370 2407437
>>407423
Вот допустим есть обычный айтимакак штат бангалор
Если он пишет на компилируемом языке то получать унижение будет от компилятора до запуска в продакшн
а если на интерпретируемом то после и уже не от компилятора

В теории разницы нет но нельзя отрывать теории от реалий
371 2407439
>>407431
А на что жалуется когда не дает?
372 2407440
>>407439
Недопустимое преобразование типа. С-стайл преобразует, но не так как хочется. Он 5.0 превращает в 5.
373 2407444
>>407440
наверное можно записать в память и сделать int -> void -> double*
потом посмотреть какие там байтики

что там не так с reinterpret_cast я хз
374 2407466
>>407429
Рефлексии как свойства языка нет, значит, рефлексия свойство того, кто исполняет. Если железный процессор исполняет код + понимает rtti, то у него есть рафлексия для компилированных крестов?
1658044335984.jpg115 Кб, 803x818
375 2407477
>>407410
>>407412

> фича не компилятора


> существует на компилируемых языках


Тролишь тупостью?
376 2407502
>>407466

>Рефлексии как свойства языка нет, значит, рефлексия свойство того, кто исполняет.


Рефлексия это свойство интерпретатора, поэтому интерпретируемые скрипты имеют рефлексию нативно из коробки. Рефлексия это натуральное свойство скриптовых языков.

Для компилируемых же языков, рефлексия чужеродна, её там нет. Конечно можно накостылять и запихнуть, всё можно, но смысла не вижу. Нужна рефлексия, вот и пользуйся скриптами. Если разводить скрипты в компилируемом языке получится химера.
377 2407504
>>407502

> ее там нет


> запихнуть можно

378 2407511
>>407502
У меня от тебя китайская комната.
Рефлексия есть там, где она реализована (т.е. доступна программисту).
Компилятор отличается от интерпретатора по другому признаку.
изображение.png142 Кб, 530x706
379 2407516

>КИТАЙСКАЯ КОМНАТА

380 2407520
В awk тоже натурально есть рефлексия?
381 2407533
>>407511
Дело не в том, что и где есть или нет.
Дело в понимании принципиальной разницы между скриптами и нативным кодом, между интерпретатором и компилятором.
Это именно принципиальная разница на фундаментальном уровне, а не какая-то ерунда вроде необходимости генерации файликов или нет, установки машины-интерпретатора в систему или нет, текстом распространяется программа или экзешником, с зависимостями или нет. Это всё ерунда, не имеющая никакого серьезного отношения к обсуждению того, что такое язык, что он из себя представляет, его концепции акк языка, что такое код который ты там пишешь, эти вещи разные у скриптовых и компилируемых языков, вот что важно.
А что куда можно запихнуть расскажи своей мамаше шлюхе, которая себе в анус всё пихает, даже не предназначенное, ведь не запретишь, долбоебов всегда хватает.
382 2407537
>>407533

>Это именно принципиальная разница на фундаментальном уровне


>Это всё ерунда, не имеющая никакого серьезного отношения


Яскозал.
383 2407597
>>407384

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


>>407415

>Всё же есть языки для которых компиляция это необходимый шаг


Охуеть. Пиздец.

Вы теорию формальных языков в универе проспали что ли? Или вкатуны без ВО?
384 2407654
>>407597
Академоблядь, спок. Я самоучка по нескольким направлениям, я уже выше тебя, которого за ручку ко всему привели.
385 2407659
Аноны, а возможно ли более одного раза перегрузить оператор индексирования, один для public-секции(с доступом не по ссылке, чтоб только получать значение по индекса), другой раз для private(чтоб методы класса могли с ним работать по ссылке)?
386 2407667
>>407654

>я уже выше тебя


>срёт на дваче

387 2407680
>>407667
Ну типо, не задираю нос и открещиваюсь от плебса как многие проебланившие 4 года, а остаюсь близким к народу каким бы уебанским тот ни был.
388 2407710
>>407659
Точку с запятой себе перегрузи, а потом ищи где не работает.
389 2407733
>>407680

>открещиваюсь от плебса


Кто сказал, что я открещиваюсь? Просто учить других чему-то типа различию между языком и программами для обработки языка - себе дороже. Это нужно только когда ты какую-то теоретическую хуету обосновываешь. Лучше ещё раз вчерашнему студенту объяснить, зачем слово виртуал при наследовании и почему нельзя копировать объекты, используя интерфейс. Это больше пользы принесёт.

Но совершенно другое дело, когда начинают нести чушь, будучи абсолютно уверенными в том, что это правда. Приумножают заблуждения типа. Сам таким был, и мне-то нос утёрли. А вот вам похоже нет. Ну продолжайте, хули я ещё могу сказать.
390 2407804
>>407597

>>мыслящий человек


Что тебе в этой фразе непонятно? Ладно, даун, поясняю: тупо заучивать что тебе вливают в бошку, а потом это тупо цитировать, это не мышление, не мыслящий человек, а безмозглый гуглобот. Так что можешь своими теоремами подтереться, они всё равно для идиота бесполезны, раз не умеет думать, а только цитировать как попугай.
16498678271300.png49 Кб, 886x886
391 2407813

> у скриптовых и компилируемых языков

392 2407816
>>407804

>Так что можешь своими теоремами


Ты только что определения. С определениями не спорят. Выдумывают свои, если другие не нравятся. Другое дело, насколько твои определения будут полезны.
image.png388 Кб, 519x416
393 2407862
>>407816
Это и есть идиотия в чистом виде. Пациент может только повторять заученное под копирку. Не может читать и понимать что мыслящий человек говорит когда речь отличается от заученной копирки. Это классическая проблема искусственного интеллекта (ИИ) - тупость, неспособность соображать за пределами обученной модели.

Когда мыслящий человек ситает и понимает написанное, он понимает и значение терминов, ибо всё в контексте. А безмозглый гуглобот выкидывает экзепшен "Ошибка Терминологии" и прекращает функционирование. Сейчас даже роботов делают умнее, они не крашатся от одной фразы как ты.
sage 394 2407863
>>407862
Я запощу один пост с сажей, чтобы показать, как я тебя презираю.
395 2408091
>>407597
Нет блять тут анон сидит дремучий, который дальше прикладной теории категорий не продвинулся.

Еще раз для тех кто проспал диалектический материализм :

Понятие компилируемый язык есть.

Оно возникает в ходе производственных отношений в капиталистическом обществе когда макак типа тебя пишет код с ошибками.
То в какой момент вылезают ошибки и макак получает в пердак -- вот это и определяет разницу между средствами разработки.

Твоя ошибка в том что ты рассматриваешь язык отдельно от сопутствующих человеческих процессов. А так делать нельзя потому что язык это прежде всего средство человеко-компьютерного взаимодействия
396 2408093
>>407863
Тут есть пара человек с пенсией по шизе, это кто-то из них
16487134797750.gif289 Кб, 400x471
397 2408097
398 2408099
>>408091

>диалектический материализм


Нефальсифицируемый лженаучный подход.

> Оно возникает в ходе производственных отношений...


Уноси туда, откуда принёс.

>>408097
Надо мне у тебя поучится вот этому волшебному "take it easy". А то зла прост не хватает.
2166210858.jpg411 Кб, 1024x1024
399 2408126
>>408099

> Уноси туда, откуда принёс.


пц там еще есть могу отсыпать
400 2408129
>>407597
У меня в вузе не было такого предмета
изображение.png63 Кб, 1015x207
401 2408177
Решил заинтересоваться вашим спорром, а тут википедИя за два предложения закрыла тему.
402 2408208
>>408177

> за два предложения закрыла тему


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

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

Алсо, как же я много времени здесь проебал на хуйню.
403 2408211
>>408208
Ты значит у английский господ хуй сосегь. Но ничего, госпожа Логика выебет тебя в жопу страпоном.
404 2408215
>>408211
Да нет. Просто в ангельской версии источников аж два, лол. И хуй, который ты будешь сосать на английском менее вонюч.

Я же хуй совсем не сосу, потому что я знаю, что компилируемый язык - это костыльное определение, созданное неучами. Как и многие неологизмы. Из недавнего помню хороший глагол эмоционировать.
405 2408225
>>408129
Тащемта у нас тоже как такового не было. Назвали его чё-то типа "Введения в ТФГиЯ" или "Основы ТФГиЯ". Хуй уже вспомню.

Зато помню, что у нас выкинули лямбда-исчисления, хотя я его больше всего хотел. Оставили классеку - машину Тьюринга, рекурсивные функции и алгорифмы Маркова. И теория была не очень объёмной. Никаких лиспов, крутых теорем о трансляции из произвольного языка в произвольный. Начало по языкам с автоматами, регулярками, БНФ и прочей лабудой. А закончили описанием трансляции из си-подобного языка в подобие ассемблера для x86_32.

Очень круто было тогда, да. Но это всё абсолютные основы. Собственно, я никогда экспертом по этой еболе и не был. Поэтому и удивляюсь, что люди делают ошибки, которые даже такой чел, как я, может задетектить.
406 2408241
>>408225

> машину Тьюринга, рекурсивные функции и алгорифмы Маркова


> теорем о трансляции из произвольного языка в произвольный


> по языкам с автоматами, регулярками, БНФ и прочей лабудой


Нахуй это говно вообще нужно кодеру в отрыве от реальности? Когда столкнёшься с проблемой, для решения которой нужно подобное говно - за час разберёшься на ходу. Это намного продуктивнее будет, чем учить какую-то теорию непонятно нахуя и для чего это можно применить ИРЛ.

> описанием трансляции из си-подобного языка в подобие ассемблера для x86_32


Опять же, написание AST и кодогенерация ASM или IR - довольно простое занятие. Компилятор простого псевдокода на LLVM пишется за день. Нахуй этому учиться, если после ебучего Калейдоскопа в доках всё понятно становится за час?
407 2408247
>>408241

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


Может быть мы вообще из разных миров, в конце-концов я из мухосрани за уралом. Ты можешь быть гением. Но всё же, из всех своих одногруппников только я нормально выучил регулярки. Не "обрезаные" для теории, а perl-compatible которые. "С час на ходу", ага.

>Опять же, написание AST и кодогенерация ASM или IR - довольно простое занятие.


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

Тащемта это был хотя бы нормальный предмет, в отличии от матана и диффуров, которыми мне очень так хорошо подзатыльник дали. До сих пор нихуя не помню как я сдал их.
408 2408249
>>408241

> кодогенерация ASM или IR - довольно простое занятие. Компилятор простого псевдокода на LLVM пишется за день.


Чел, ты встал на плечи всем этим челам, которые учили теорию. И занимаешься компиль-макакингом.
409 2408250
>>408247
Все эти студентики начинают с зазубривания, выбирая программирование на похуе потому что в ИТ платят хорошо. А у нормальных людей наоборот всё - им нравится кодить и они начинали с чистой практики, имея из теории только половину трупа страуса.
410 2408252
>>408249
Ахах, а ты хуль на плечи встал инженеров интела, давай напильником камень обтачивай да плату паяй.
411 2408255
>>408250

>имея из теории только половину трупа страуса


Кек, люблю хвастатся тем, что я читал только одну главу страуструпа. Он в первой главе начинает бросаться всякими конструкциями направо и налево (в отличии от K&R, который к тому времени был прочитан). Ну и я подумал, что недорос до книжки. Начал читать про плюсы в других источниках и пилить игрушечные проги, чтобы понять как это всё работает.

Когда вернулся и смог нормально первую главу прочитать оказалось, что это всё было "размахивание хуём" и вот сейчас, со второй главы он начнёт объяснять. Я тогда очень долго ржал.
412 2408261
>>408249
Ну так-то LLVM без проблем можно заменить чистым ассемблером, разница лишь в оптимизациях, а это уже совсем другая история, не связанная с теорией ЯП.
413 2408265
>>408255

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


Я тоже дропнул его мгновенно на первых 50 страницах, шлюху александреску тоже не осилил - у него вообще пиздец вода. Так ни одной книги по крестам и не прочитал. В давние времена просто ушёл на MSDN и шарп, а потом уже и нахуй книги не нужны стали для вката в кресты, когда документация и гугл есть.
414 2408269
>>408261
А yacc можно заменить рекурсивным спуском, за день напишу. Ну за неделю. Ой...
изображение.png83 Кб, 1012x509
415 2408270
Труп Страуса на 30 странице, не знаю, чего вы испугались.
.png237 Кб, 964x878
416 2408322
>>408270
Труп страуса бывает разный. В "Язык программирования C++" он уже на 155 странице пишет парсер формул.
417 2408341
>>408322
Ебать там русек.
418 2408354
>>407863
Ошибаешься, я анонимный никто, которого невозможно презирать. Ты презираешь высказанную информацию, правду, т.е. самого себя, но переводишь стрелки. Это стандартный психологический инстинкт.

И недовольство даже не в самой правде, а в серьезном аргументированном изложении которое не легко отрицать, так что ты оказываешься припертым к стенке. Спокойные грамотные аргументы, когда не за что зацепиться чтобы отрицать и игнорировать, чем создается безвыходное положение, не увильнуть от правды. Именно это вызывает настоящую ненависть. А например грубые оскорбления и тому подобные простые бессодержательные посты почти никого не задевают. Скорее наоборот, часто даже нравится так переругиваться, негатива не видно.
419 2408516
Пикрил https://godbolt.org/z/b1e5q8joK не компилится, почему? У первого и второго рейнджа обязательно должны быть одинаковые типы элементов что ли?

Компилятор выдаёт что-то про couldn't deduce template parameter '_Sent2', когда пытаюсь дописать явно шаблонные параметры set_difference<здесь>, то не помогает https://godbolt.org/z/b1e5q8joK
420 2408535
>>408516

>У первого и второго рейнджа обязательно должны быть одинаковые типы элементов что ли?


Очивидно
421 2408536
>>408516

>Компилятор выдаёт что-то про couldn't deduce template parameter '_Sent2'


Там несколько перегрузок, эта тебя не интересует

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


Для set_difference это невозможно
422 2408623
>>408516
И вообще смотри в вывод шланга, он на порядок читабельнее
423 2408625
424 2408850
>>408625

>constraints not satisfied


>mergeable


А, ок, ясно, спасибо. Всё равно как-то странно, set_difference по смыслу вроде же выдаёт значения из
425 2408868
>>408850
Нет, он только сравнивает по
А значения выдаёт из
изображение.png1,1 Мб, 1075x679
426 2408975
>>397264 (OP)
Программач поздравь меня, я вроде даже нашёл работу на плюсах. Вот только есть одно - проект. Он выглядит примерно как дом на пике, без документации и прочих человеческих радостей.

Есть ли методы обуздать эту кучу дерьма и с чего начать?
427 2408991
>>408975

>Есть ли методы обуздать эту кучу дерьма и с чего начать?


Ищешь точку входа и идешь дальше по цепочке, т.е. банально читаешь код.
428 2409039
>>408975
поделись кул-стори как работу нашёл?
429 2409067
char или unsigned char для указателей на хуй пойми что?
430 2409071
431 2409077
>>409039
Ну на хх начал слать резюме. Только опыт поставил не нулевой, а от 1 до 3-х лет. Прошёл собесы в апреле-мае. Хрка сказала - согласуем с руководством - сообщим. Я через пару недель подумал что ребята отмазали. Вот уже в июне вышли на свзяь, и приняли.
432 2409120
>>409077
какой стек технологий?
я тоже хочу перекатиться, но кроме сишечки ничего не знаю, куда дальше учить тоже идей особо нет
433 2409155
>>409077
можно на твоё резюме посмотреть? без фоточки разумеется и данных для деанона
434 2409158
>>408975
Так почему бы не инкапсулировать весь этот кал и не обращаться к нему через интерфейс.
435 2409163
>>409077
Лучше скажи, че на собесах спрашивали
436 2409171
>>408975
Да норм, я примерно на таком же проекте работаю, вопрос времени, как во всех комнатах побываешь, за все двери посмотришь, везде стены подкрасишь, будешь как дома.

> Есть ли методы обуздать эту кучу дерьма и с чего начать?


Бтв с изучения проекта, как только поймешь как проект устроен, что в каких модулях обрабатывается и какими средствами достигается решение, станет легко
437 2409252
>>409120
Да вроде чистые плюсы (Сам учил. В универе только хелоу ворды писать учили), но придётся ещё ндк подтянуть. А так ещё чутка графики да вот и весь стек.

>>409155
Хули там смотреть то? Образование - 4 курса без диплома, да и отработка около года в аутсорсной конторе.

>>409163
Да ни чего такого страшного не спрашивали.

>>409171
Да сейчас у меня задача закрепиться и наработать хотя бы год два опыта работы. И да ты бы потерпел бы самопальный смарт пойнтер у себя в доме?
изображение.png2 Кб, 200x200
438 2409258
>>409252

> Да ни чего такого страшного не спрашивали.


Чел, ну откуда мне значть, что для тебя не страшно. Может ты дифуры решал или писал на листочке хитровыебанную сортировку.
439 2409263
>>409258
Да нихуя. О вспомнил, назови свои любимые контейнеры в стл.
440 2409265
>>409263
Раньше были векторы, после того, как узнал о плюсах и минусах, применяю по задаче. unordered_set нравится за самую большую скорость большинства операций.
441 2409293
>>409265
When choosing a container, remember vector is best
Leave a comment to explain if you choose from the rest
– Tony Van Eerd


Ну про сеты и мапы - я упоминал что в практике не попадались.
Вектор на самом деле по ощущениям решает процентов 80 если не 90, задач с которыми я встречался. Плюс его можно быстро скастовать до сишного куска памяти, что полезно при работе с теми же видяхами (занесло меня в геймдев на мобилки) да и процы его не плохо оптимизируют. Но он не идеален. Большой кусок памяти слишком большой - хер ты его выделишь. А так же, при вне плановом расширении итераторы летят по пизде.
Лист - имеет проблемы и подводные камни. Наверно самый весёлый - с 11 стандарта size вычисляется за константное время
А вставка и удаление за линейное. Но у него есть не явный плюс, что в многопоточности итераторы не проёбываются.
Дек - как попытка совмещения сильных сторон первых двух хорош и решает проблему хранения гиганских объёмов данных, но у него есть то же свои проблемы. К примеру он в некоторых ситуациях медленнее на 20 или 30 процентов вектора.

Как-то так чего вспомнил, примерно то же самое рассказал.
16494171183830.jpg93 Кб, 468x487
442 2409312
>>409067
caddr_t
443 2409483
>>409312
hzaddr_t
444 2409657
Указатель uint8_t возвращает только битовые значения? Смогу ли я вернуть строку текста?
445 2409700
>>409657

>uint8_t


Ты внимательнее посмотри на тип. u - обозначает беззнаковое
int - целое 8 кол-во бит. Его конечно можно использовать для хранения битовых значений (целых восьми штук!)

Указатель uint8_t хранит в себе адрес ячейки памяти (32 или 64 бита), на которую он указывает. В данном случае ты говоришь компилятору что по данному адресу лежит 8-ми битное число. Но то что лежит там на самом деле - твои проблемы.

Если ты приведёшь его к char указателю, то компилятор работая с ним будет рассматривать эту ячейку как указатель символ.
изображение.png154 Кб, 1360x768
446 2409710
Объясните, почему этот код работает, я захватываю х по ссылке, должна же быть висячая ссылка.
И как мне сделать захват по константной ссылке, например чтобы захватить объект.
447 2409735
>>409710

> Объясните, почему этот код работает, я захватываю х по ссылке


А ты что ожидал? Что у тебя за шиворотом кусок говна окажется из-за этого? Ну говори свой адрес, мы тебе всем тредом это обеспечим.
448 2409737
>>409735
Токсик, спок.
449 2409738
>>409737
Что токсик, блять. Что ты ожидал увидеть? Что такое "код работает"? Как ты это определяешь? Кодоработометром?
450 2409740
>>409738
Выводит 50
451 2409741
>>409740
Любой код, который выводит 50, называется "работает"?
452 2409742
>>409741
Ну да.
453 2409743
>>409742
Ну вот у меня есть код (не твой), который не выводит 50. Он работает?
454 2409744
>>409710
Тебе повезло. Перекомпилируешь с другими флагами/другим компилятором/не в ту фазу луны ии он перестанет работать
455 2409759
>>409710
Это UB. А вообще труп страуса уже давно пишет гайд как правильно плавать к этой каше конструкций языка и не оказываться по верхнюю губу в говне. Будешь всё это соблюдать - будешь жить счастливо без UB и вопросов почему работает/не работает.
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
456 2409811
Котаны, а как вы лично относитесь к использованию перегрузки operator( ) ?
Вместо void-функции.

Это действительно антипаттерн? Мне лично такой подход нравится.
457 2409859
>>409811
Читать такое невозможно. Если для того чтобы понять код нужно скролить в начало или даже смотреть в хедер, то это чистейший говнокод. А если там snake_case, то это говно невозможно отличить от вызова конструктора.
458 2409869
>>409859
понял
459 2409871
>>409710
Забавляет как додики дрочат лямбды не знаю что к чему а главное зачем.
460 2409881
>>409871
Двачую. Я ими вообще не пользуюсь, они не читаемы
461 2409984
>>409881
А предикаты отдельными функциями делаешь?
image.png917 Кб, 1920x1080
462 2409993
Собираю qmake config для qt для кросскомпиляции под orange pi, выскакивает такая ошибка, что делать?
Я бы установил просто qt и просто собирал бы на orange pi проекты, но там не откуда qt скачать, во всех ОС все ссылки для скачивания qt не работают
463 2409995
>>409993
Тебе надо указать под какую архитектуру ты компилировать собрался. Предположу что в конфиге или мейке есть переменная. Поищи.
464 2409996
>>409995
я выбрал ключ -device там написал raspberrypi2
1649802252689.mp4505 Кб, mp4,
360x298, 0:13
465 2409997
>>409993

> убунта

sage 466 2410000
>>408354

>Ошибаешься, я анонимный никто, которого невозможно презирать


Хуясе шиза. Таблетки.
467 2410005
>>409997
По делу есть что сказать?
468 2410008
>>409996
Извини, в глаза ебусь. Проблема не в указании сборки.

При поиске "orange pi bits/libc-header-start.h"
Выдало ссылку на гитхаб https://github.com/sirfz/tesserocr/issues/130
Попробуй в там посмотри или по ключевым словам.
469 2410009
До меня только дошло, что int mai() это просто определение функции, а значит где-то должен быть неявный вызов. Где-то описано для ОС, какая функция будет точкой входа. Не сердитесь, я нуб просто.
Также узнал, что string это просто typedef для инстанцирования шаблона родительского класс <char>. Попробовал инстанцировать шаблон для интов, получил строку интов, ощущения как будто залез в подкорку мироздания.
470 2410017
>>410008
Решил проблему, почему то фаилы лежали не там где надо, помогло создание ярылков
ln -s /home/zloyben/orangepipc/sysroot/usr/include/arm-linux-gnueabihf/sys/* /home/zloyben/orangepipc/sysroot/usr/include/sys
Все получилось
471 2410018
А ещё я сосу хуи.
472 2410020
>>410009
ух ты строка интов, надо будет почитать про шаблоны, а то я в свое время так и не изучил
473 2410022
>>409710
вопрос поставлен неверно -- не почему работает а какие
флаги компилятору поставить чтобы ругался на такое

>>409740
а у меня выводит 32764
инфляция наверное
474 2410031
>>410009
какая функция будет точкой входа решает не ОС а компилятор

ОС ожидает определенный формат файла бинарника
например в линуксе это эльф
https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format
и там в поле e_entry лежит адрес точки входа
475 2410032
>>410031

> в линуксе


кого вообще ебёт что там у пердолей?
476 2410034
>>410032
какая разница линукс или нет
или ты думаешь у мс говно фиалками пахнет?
477 2410037
>>410032
Лол двачую. Установил себе рядом с виндой дебиан, думал буду изучать особенности программирования под линукс, posix, gcc, вся хуйня. А потом понял, что так может продолжаться долго и решил, что лучше буду специализироваться на винде, чем знать все платформы, но по верхам.

Кстати, а могу я в линуксе напрямую обратиться (не через системный вызов) к клавиатуре например и заставить ее могнуть лампочкой? Винда я так понял только через винапи позволит такое.
478 2410039
>>410037

> могу я в линуксе напрямую обратиться (не через системный вызов) к клавиатуре например и заставить ее могнуть лампочкой


Тебе придётся писать модуль ядра. А API там максимально каловое, почти винапи.

> Винда я так понял только через винапи позволит такое.


Под виндой наверняка найдёшь либу для своей клавы.
image.png50 Кб, 632x548
479 2410067
>>410039

> API там максимально каловое


максимально каловое это X11
480 2410086
>>410037

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


Через файл.
481 2410088
>>410086
Не считается, файл это интерфейс ОС.
482 2410091
Всем хай. Сейчас изучаю multithreading, но пока не уходил далеко от примеров, которые есть в туториалах. Подскажите несколько вариантов того, что можно заимплементить с мультритредингом? пока что понял принципы работы thread, mutex, conditional variable.
483 2410120
>>410091
Возьми любую штуку из повседневной жизни. Например реализуй систему заказов в кафе, где посетители асинхронно делают заказы, а ты это автоматизируешь. Пример посложнее придумай
484 2410134
image18 Кб, 128x128
485 2410141
>>410091
Сортировку.
486 2410153
>>410091
sleep sort
параллельный grep
простой веб сервер для статики
487 2410168
А как сервера тестировать? Есть ли хостинги, где можно свое приложение залить с вирусами?
488 2410172
>>410168
Купи по первой ссылке в гугле/торе
489 2410183
>>410168
Любой VPS или, если подходит, хостинги докер-контейнеров. Последние даже бывают бесплатные.
490 2410220
491 2410251
>>408225
У меня теорию формальных языков читала максимально похуистичная бабуля на кафедре, лабы принимала она и еще какой-то древний доисторический дед.
Из курса максимум смог запомнить что такое детерменированный конечный автомат.
А так еще конечно было всякое, и про ast, и про нка, теоремы о преобразовании дка <-> нка, лабы оп yacc и lex, которые вроде бы все списали по итогу, и регулрярки, и т д, жалею конечно что на интересный предмет по итогу забил хуй (как и на 90% остального, что нам преподавали), но и преподы у нас говноеды были еще те.
492 2410348
А зачем в linux нужны жесткие ссылки? Я как узнал, прям охуел с тупости этой концепии. Ты удаляешь такое интимное фото, а нихуя, это была ссылка. Или ты портишь файл, думая, что это копия, а потом оказывается что изменения примерились везде.
493 2410356
>>410348
Все минусы, которые ты перечислил, происходят из твоего криворукого ДНК. А жесткие ссылки - это охуенно, и виндобляди сосать, что так не можете. Это позволяет мне в одно и то же время производить разное деление фотографий на категории, и использоване места на диске от этого не множится. Symbolic сосать, короче.
494 2410363
https://old.reddit.com/r/programming/comments/w2thvo/carbon_an_experimental_c_successor_language/
Поясните за ABI который так не хотят ломать. У меня вообще какой то эффект Манделлы с этой хуиты, будто я перенесся из параллельного измерения. Разве ABI не меняется с каждым релизом компилятора и либ, мажорным-минорным похуй, да буквально с каждым пуком. И по этой самой причине прыщеблядье качает по сотне мегабайт аптейтов каждый день.
И еще

> ABI is .. mangling ..


Разе это не определяется целиком компилятором и ровно для этого придуман "extern C" или как там его.
495 2410364
>>410356

> производить разное деление фотографий на категории


Бля, теперь также хочу. А еще хочу, чтобы у каждого графического файла были вшиты теги, по которым их можно отбирать
496 2410374
>>410091
ftp сервер
497 2410378
>>410251

>теорию формальных языков


один из интереснейший курсов которые можно (если повезет с преподом), получить в вузике учась на программиста
499 2410390
>>409881
Нет, я не против лямбд как таковых, это крутая фича, когда она к месту, а не как у того анона.
>>409984
Думаю это зависит от того что и как ты пишешь, мне как правило ифов хватает.
500 2410431
>>410387
рано блять
501 2410435
>>410363
Как ты будешь без ABI подключать либы написанные на фортране?
502 2410436
>>410435
При чем тут вообще это говно древнее когда речь идет про изменение ABI плюсов?
503 2410464
>>410037

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


Да, понажимай пальцем на NumLock.
504 2410507
>>410431
а когда еще блять
505 2410511
>>410507
После 1000 постов, залётный.
506 2410541
>>410511
Да всмыыыыыысле, я специально правила искал, нихуя не нашел такого, и много тредов рядом вижу с перекатом на 500. Я думал, вы тут так долго сидите, потому что иногда и до 2000 доходите, ебанутые просто.
507 2410543
>>410541
Чел, если ты не можешь досидеть хотя бы до 1000, то какой из тебя крестовик? Тебе тогда надо в питон идти.
508 2410544
>>410541
А ещё в правилах ничего не сказано про треды о C++.
509 2410550
>>410544
Так под правилами я имею ввиду технические особенности всей борды, когда там бамплимит наступает и тред тонет. Это ж не может оверрайдиться для отдельной серии тредов, потому что живые люди перекатывают, а человек человеку человек, может и обосраться, и кончи сглотнуть... Вот есть бесконечные треды, которые сверху режутся на 502 где-то, а про другое не знаю.
510 2410558
>>410550
Бамплимит не связан с перекатами.
511 2410576
>>410558
А с чем он еще связан, лол? После определенного количества постов дальнейшая активность перестает поднимать тред в списке, и все больше и больше других тредов поднимаются выше него, пока он не выпадает из списка. Перекаты нужны, чтоб тред снова ожил в списке. Не?
512 2410593
>>410576
Это тебе не /b/. Нужен тематический тред - переходишь в него по тегу. А тред, висящий в топе, привлекает только всяких мимокрокодилов, толстяков и шизиков. Сразу после бамплимита резко повышается адекватность треда.
513 2410683
>>410593
Ладно, я просто случайно осознал, что для объявления параметра-ссылки не обязательно определение структуры, которая по ссылке, и придумал шутку для шапки.
514 2414383
Анон привет.
for (cost auto & it : entries)
{
auto I = std::distance(entries.begin(), it);
}
Как взять индекс I в таком цикле, работает при for (auto it=entries.begin(); it! = entries.end(); it++), а в варианте #1 нет. Не то, чтобы проблема, но хочется знать.
image565 Кб, 3312x1605
515 2414684
Почему считается, что double (IEEE floating point 64 bits) имеет точность до 17 значащих десятичных цифр?
На хранение мантиссы отводится 52 явных + 1 неявный бит.
Соответственно, получаем, что целое максимальное число, которое точно может храниться в мантиссе - это (2^53)-1, что примерно равно 10^15.955 или 9007199254740990 (16 десятичных цифр).
Где ещё одна десятичная цифра?
Безымянный.png21 Кб, 852x258
516 2414940
>>414684
В данном случае "точность" значит количество знаков, необходимых для точного раунд-трипа string->double->string (15 знаков) или double->string->double (17 знаков). Я давно с флоатами не имел тесных отношений поэтому не могу сказать больше, чем гугл.
517 2429398
>>397589
Если версия старше 20 и нет концептов, то можно попробывать https://ru.wikipedia.org/wiki/Curiously_recurring_template_pattern
Получится задизайнить как с виртуальным наследованием, но вся магия будет на этапе компиляции
518 2429399
>>397589
Если версия старше 20 и нет концептов, то можно попробывать https://ru.wikipedia.org/wiki/Curiously_recurring_template_pattern
Получится задизайнить как с виртуальным наследованием, но вся магия будет на этапе компиляции
519 2433139
Сап, котеки. Надеюсь, тут есть шарящие в теме. Хочу кодить ставить хуки в windows 10 на уровне ядра, дабы ни одна операция на моём компе не могла от меня утаиться. Инфы -- с гулькин уй. Чужие работы 4/5 будут просто некомпилируемы, а последняя будет BSOD триггерить.
Вопроса два:
1) какую посоветуете виртуалку именно для отладки и теста драйверов (virtualbox я уже возненавидел и удалил, его даже поставить и использовать без анальной дрочки и гуглинга нельзя)
2) И где можно в принципе почерпнуть опыта современного котенга с реальными примерами, чтоб механику понимать, бсодов избегать и баги не плодить (не дохуя поймёшь трейсингом, когда каждый первый вызов улетает в syscall-ебеня)
Тред утонул или удален.
Это копия, сохраненная 14 октября 2022 года.

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

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