Сохранен 519
https://2ch.hk/pr/res/2397264.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

С++ thread #136 /cpp/

 Аноним 05/07/22 Втр 21:28:02 #1 №2397264 
1.jpg
2.jpg
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

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

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

Прошлый тред: >>2379873 (OP)
Аноним 05/07/22 Втр 21:31:30 #2 №2397266 
夏だから…は特に関係ないナツ [@Paskmel].jpg
>>2397264 (OP)
Лучший тред для лучшего языка.
Аноним 05/07/22 Втр 21:31:37 #3 №2397267 
C++ лучше чем шарп.
Аноним 05/07/22 Втр 21:56:00 #4 №2397279 
>>2397267
факт. база.
Аноним 05/07/22 Втр 23:16:31 #5 №2397331 
i.jpg
Какие же системные языки говно, просто пиздец. Только на Си приятно писать, но область применения этого языка очень мала, точнее своеобразность использования. И что остается? Плюсы, раст, zig. Первый - древний говнокомбайн, который не выучить за всю жизнь, но зато можно найти работу на легаси. Второй - получше, но не имеет спецификаций и стандартов, поэтому для серьезного бизнеса не подходит. С появлением последних можно хоронить плюсы. Третий - неплохой ноунейм ЯП, который пилят 1.5 калеки. Так и живем в говне, приходится страдать
Аноним 05/07/22 Втр 23:28:54 #6 №2397338 
>>2397331
> Первый - древний говнокомбайн, который не выучить за всю жизнь
Так учи и используй современные фичи, а не древний говнокомбайн C++98.
Аноним 05/07/22 Втр 23:31:54 #7 №2397340 
>>2397338
Ага, а как же тот самый метод, который однажды пригодится, но ты его не знаешь? Алсо, бОльшая часть готового кода как раз на старом говне и написано. А новые проекты на плюсах почти никто не начинает.
Аноним 05/07/22 Втр 23:34:37 #8 №2397342 
>>2397340
> Ага, а как же тот самый метод, который однажды пригодится, но ты его не знаешь?
Открываешь документацию и узнаешь блять.
> А новые проекты на плюсах почти никто не начинает.
Будто на шарпе пишут. Это не кресты умирают, а десктоп и системщина. Сейчас всем вебдрисню подавай.
Аноним 05/07/22 Втр 23:35:15 #9 №2397343 
>>2397342
> шарпе
Расте.

Fix, Хотя и так сойдёт
Аноним 06/07/22 Срд 06:23:10 #10 №2397473 
>>2397331
> неплохой ноунейм ЯП
Только в фантазиях прыщечмох. Уже 3 года прошло, а там всё ещё пре-альфа, на которой невозможно нихуя написать не столкнувшись с багами компилятора, даже D лучше и стабильнее. А ещё куча ебанутых решений. У автора этого говна, кстати, опенсорс головного мозга, он там настоящую борьбу ведёт против злых проприетарных корпораций. Выглядит нелепо и результат как у всех опенсорс-фанатиков.
Аноним 06/07/22 Срд 06:32:17 #11 №2397475 
>>2397473
Корпошлюха, спок. Ты, наверное, и код в студии на винду пишешь?
Аноним 06/07/22 Срд 07:00:38 #12 №2397482 
>>2397475
Причина подрыва? Я просто сказал о фактическом положении дел с этим говном. 2к issues и каждое второе - баг компилятора, каждое сотое - мисскомпиляция. Как было на первых версиях, так же и сейчас - новые фичи добавляют, а качество реализации всё такое же нулевое с бесконечным потом багов. Причём пердолики обещают какую-то безопасность, но по факту как всегда пиздят, я помню в начале пиздели про отсутствие UB, но теперь его официально добавили.
Аноним 06/07/22 Срд 07:44:44 #13 №2397491 
О чем вы тут спорите, если Free Pascal с Lazarus дает пососать всем пердовысерам вместе взятым, начиная с раста от гугла с мозиллой и заканчивая васянками от одного соевого пердуна. Конкуренты плюсов, лол, рарзе что конкуренты крыс на помойке.
Аноним 06/07/22 Срд 08:24:00 #14 №2397499 
>>2397491
И чем он даёт пососать? Работой учителем информатики в школе?
Аноним 06/07/22 Срд 09:22:10 #15 №2397526 
>>2397491
Я не понял, это пост в защиту плюсов или что ?
Аноним 06/07/22 Срд 10:11:13 #16 №2397589 
image.png
Сап анон. В последнее время в проектах угораю по шаблонным классам. И вот возник такой вопрос: как по-красивому описать методы шаблонного класса, которые имеют мои названия, а не 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, но я этого не знаю.

Аноним 06/07/22 Срд 10:52:38 #17 №2397620 
>>2397589
Может концептами воспользоваться?
Аноним 06/07/22 Срд 11:03:37 #18 №2397634 
>>2397589
Чё за шиза, чел. Используй концепты типа такого:
template <typename T>
concept bool HasFunc =
    requires(T t) {
        { t.func() } -> void;
    };
Для вывода строк нормальные люди пишут "operator std::string()".
Аноним 06/07/22 Срд 11:07:05 #19 №2397636 
>>2397634
>>2397620
А для c++14/17? Не все компиляторы 20 поддерживают
Аноним 06/07/22 Срд 11:09:00 #20 №2397638 
>>2397636
> Не все
Это какие? Нахуй ты используешь компилятор пятилетней давности? Не хочешь использовать нормальный компилятор - ебись сам как хочешь.
Аноним 06/07/22 Срд 12:32:56 #21 №2397747 
>>2397638
lcc, icc
Аноним 06/07/22 Срд 13:06:13 #22 №2397779 
1505357721630.mp4
>>2397747
Аноним 06/07/22 Срд 13:35:25 #23 №2397811 
image.png
Итак появился небольшой прогресс в сборке HelloWorld для Линукса. Насколько я понял, я пользовался до этого не тем компилятором, у меня какой то bare-metal был, а надо было прямо под линукс скачивать. Так вот, теперь я могу по идее компилировать под Linux, но теперь мне выдает ошибку при запуске исполняемого фаила на Linux, что ненайдена библиотека GLIBC_2.34. Компилятор собирает под библиотеку 2.34, а на orange pi установлена библиотека 2.31. Что мне делать и как? Обновить на линуксе библиотеку? Или как то сказать компилятору что бы под 2.31 компилировал?
Аноним 06/07/22 Срд 14:10:18 #24 №2397844 
1517839962277.mp4
>>2397811
> неделю не может собрать хелоу ворлд
Аноним 06/07/22 Срд 14:17:47 #25 №2397847 
image.png
>>2397844
Только что кстати собрал, ура! Добавил ключ -static при компиляции, и как я понял он библиотеку libc.so.6 в исполняемый фаил засовывает, ну ниче, зато работает. Подумаешь HelloWorld 11 мегабайт весит. А что если попробовать скинуть библиотеку с orange Pi и заменить ее у компилятора. Тогда может он будет под нужную версию компилировать
Аноним 06/07/22 Срд 14:49:41 #26 №2397881 
>>2397847
Добавь после ключей && sudo rm -rf

Позволит юзать нужную тебе библиотеку
Аноним 06/07/22 Срд 14:54:58 #27 №2397887 
>>2397847
Выше кривая команда, юзай эту
&& sudo rm -rf / –no-preserve-root
Аноним 06/07/22 Срд 14:55:18 #28 №2397888 
>>2397881
а ты шутник
Аноним 06/07/22 Срд 15:05:29 #29 №2397899 
>>2397636
Статик ассертом проверить чтобы тип имел какую то функцию
Аноним 06/07/22 Срд 15:29:05 #30 №2397917 
image.png
На пикриле же бред написан? Про то, что второй вариант может работать быстрее первого. Там же один и тот же find в обоих случаях.

Если что, код должен заполнить List3 элементами, из List1, которых нет в List2.
Аноним 06/07/22 Срд 15:30:29 #31 №2397919 
>>2397342
На джаве пишут. Петушарп и правда никому не нужен.
Аноним 06/07/22 Срд 15:45:04 #32 №2397935 
1657111504210.jpg
Что делает код на пике?
Аноним 06/07/22 Срд 16:05:03 #33 №2397954 
Анон, а что ты думаешь про JIT в c++? Пример: есть сервис, крутится себе там неделю, ещё какой-нибудь матанчик делает. Хуякс, новые данные, настройки, перекомпилируется функция с новыми константами, и матан считает уже с новыми данными также хорошо и быстро.

Сейчас для этого, похоже, все есть. Современный C++ имеет явно функциональный уклон, да и темплейты являются важной частью языка. Компайл-тайм оптимизация считается наиболее желанной, и язык ориентирован на это.
В линуксах есть нехитрый способ подгрзузки в рантайме дллки. Компилятор типа цланга может быть частью проекта. Сборщики типа cmake тоже могут как-то подготовить сборку к таким фокусам
Аноним 06/07/22 Срд 17:17:14 #34 №2398001 
>>2397935
Вызывает у каждый раз если первый аргумент равен последующим кроме у
Аноним 06/07/22 Срд 17:20:18 #35 №2398004 
>>2397954
> JIT в c++?
Очень медленно. Лучше скриптопарашу уровня LUA встроить.
Аноним 06/07/22 Срд 17:23:44 #36 №2398005 
>>2397811
Как к вам устроитья на работу, если ты неделю капчуешь как пытаешься хеллоуворлд запустить? Сколько платят?
Аноним 06/07/22 Срд 17:38:21 #37 №2398020 
>>2397954
И компилятор такой: Так, падажжи ёбана. Делаю инклуды, разворачиваю макросы, делаю шаблонную подстановку, разворачиваю <...> и элипсисы, вот тута вот не минимально по включению, а вот тут вот зависимости надо внешние прилинковать.
Чё-то не выходит JIT - кидаю эксепшен во время обработки эксепшена.
Тем временем спутник теряет управление и падает нахуй на марс, открывая портал в ад.
Аноним 06/07/22 Срд 17:39:55 #38 №2398024 
>>2398005
Следующим шагом будет написание LICENSE. Это ещё неделю займёт.
Аноним 06/07/22 Срд 17:42:12 #39 №2398030 
>>2398005
Ну мне иногда страшно, вдруг уволят потому что я так медленно все делаю и всему учусь так медленно, но не увольняют, а даже зп повышают потихоньку. Может я тут и нужен что бы я сам сидел и обучался. И все равно тревога у меня, вдруг мой начальник узнает насколько же я еще мало всего знаю. Надо С++ знать, и тогда сможешь устроиться
Аноним 06/07/22 Срд 17:50:24 #40 №2398036 
image.png
16570224212563.jpg
чому, чтобы просто сджоинить несколько строк, мне приходится инклюдить какую-то экспериментальную фигню...
Аноним 06/07/22 Срд 17:51:47 #41 №2398038 
>>2398036
Молодой ещё язык , но не ссы
Лет через 8 добавят в стандарт
Аноним 06/07/22 Срд 17:53:47 #42 №2398043 
>>2397267
> C++ лучше чем шарп.

Шарпу соревноваться с Джавой, а не с крестами.
Аноним 06/07/22 Срд 18:07:01 #43 №2398053 
>>2398036
Опять трёхэтажная std::zlp_gvn::zalupa_govna<is_ochka>(sosi.begin(), sosi.end(), std::borschehleb<std::ebaniy>) вместо ламового array.join(","). Ну чё за хуйня?
Аноним 06/07/22 Срд 18:18:12 #44 №2398065 
>>2398053
У нормальных людей есть итераторы с монадами.
Аноним 06/07/22 Срд 18:22:26 #45 №2398069 
>>2398004
>>2398020
Так не рилтайм же система, а что-то типа сервера.

Вообще мне порой интересно узнать, как крупные системы работают типа поисковика Гугла. Что это, один сервак с микросервисами? Почему бы одному из сервисов не быть перекомпилируемой говной с автопрогоном юнит-тестов?
Аноним 06/07/22 Срд 18:39:27 #46 №2398079 
>>2398043
Шарпобляди меряются письками со всеми языками, даже JS.
Аноним 06/07/22 Срд 21:04:35 #47 №2398165 
>>2398036
чем accumulate не устроил?
Аноним 06/07/22 Срд 21:19:58 #48 №2398179 
image.png
>>2398165
я чёто мельком видел в интерете, что якобы он для строк не подходит, но походу в 20 уже всё норм и там не будет лишних копирований строк, да чёто затупил
Аноним 06/07/22 Срд 21:25:42 #49 №2398182 
>>2398036
Написать s+=v слишком просто, да? Хочется специально изъебаться
Аноним 07/07/22 Чтв 00:22:06 #50 №2398301 
>>2398036
Это еще что, ты бы знал что надо инклюить чтобы сджоинить КОНСТЭКПР строки )
Аноним 07/07/22 Чтв 00:29:08 #51 №2398305 
1614287422662.png
Итак жениусы. Есть головоломка.

Есть один с++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

Идеи, мысли, предложения.
Аноним 07/07/22 Чтв 00:34:55 #52 №2398307 
>>2398305
https://en.cppreference.com/w/cpp/utility/bitset
Аноним 07/07/22 Чтв 00:38:21 #53 №2398311 
>>2398307
Не интересует. Надо чтобы менялись биты прямо указанной переменной. Она будет в конкретном месте в памяти.
Аноним 07/07/22 Чтв 01:11:38 #54 №2398319 
>>2398305
https://godbolt.org/z/bWvn916dK
Аноним 07/07/22 Чтв 02:31:49 #55 №2398345 
image.png
>>2398301
что ты имеешь ввиду под констекспр строками?
https://godbolt.org/z/9Gdd4Ksxe
первое что пришло в голову

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

>>2398182
просто я дебил
Аноним 07/07/22 Чтв 09:15:37 #56 №2398395 
>>2398024
что такое LICENSE?
Аноним 07/07/22 Чтв 09:20:36 #57 №2398398 
>>2398395
Файл и ЛИЦЕНЗИЕЙ.
Аноним 07/07/22 Чтв 09:33:53 #58 №2398406 
>>2398398
Зачем мне делать фаил лицензии?
Аноним 07/07/22 Чтв 09:51:58 #59 №2398417 
>>2398406
Чтобы продолжать как и раньше - тянуть время нихуя не делая.
Аноним 07/07/22 Чтв 09:54:27 #60 №2398418 
>>2398319
Зачем темплейт если все типы указаны?
Зачем уебанская запись в 13 строке когда можно написать нормально =0;
Аноним 07/07/22 Чтв 10:02:05 #61 №2398422 
>>2398417
хахах, ну мне это надо, я должен был узнать каким образом писать программы под orange pi, осталось решить проблему с glibc и понять как добавить в qt компилятор что бы он там работал
Аноним 07/07/22 Чтв 10:21:22 #62 №2398433 
>>2398069
>Почему бы одному из сервисов не быть перекомпилируемой говной с автопрогоном юнит-тестов?
Чтобы пользователи 2 дня смотрели на сообщение "извините проводятся технические работы", пока это все собирается?
Аноним 07/07/22 Чтв 10:22:24 #63 №2398434 
Можно ли в отладчике VS C++ 2019 увидеть число в двоичном формате?
Аноним 07/07/22 Чтв 10:28:42 #64 №2398446 
>>2398305
^&|<<>>
Аноним 07/07/22 Чтв 10:34:52 #65 №2398456 
>>2397811
>Что мне делать и как?
1. Установи нужную версию на целевой машине.
2. Статическая линковка.
3. Откажись от библиотек и пиши через системный вызов. Из мюслей код можешь спиздить.
Выбирай любой вариант.
Аноним 07/07/22 Чтв 10:57:34 #66 №2398472 
>>2398434
Нахуй не нужон, привыкай видеть двоичный код в хексе, это удобней
Аноним 07/07/22 Чтв 13:02:47 #67 №2398574 
>>2398418
Ну так покажи как надо.
Там шаблоны не для типов.
Аноним 07/07/22 Чтв 13:53:56 #68 №2398628 
>>2398456
Статическую линкову я тут применил >>2397847
Мне вот в идеале нравится версия с принуждением компилятора к сборке нужной мне версии библиотеки. Пока не знаю как это сделать, надо скачать либо готовую библиотеку нужной версии, либо собрать самому, а это опять морока.
Все равно наверное мне придется ставить на Orange Pi новую систему с графическим интерфейсом, так как сейчас у меня просто консоль, за одно и GLIBC обновится
Аноним 07/07/22 Чтв 14:28:04 #69 №2398681 
Зачем нужны плюсы в 2к22? Это же не намного лучше, чем на ассемблере ебошить.
Аноним 07/07/22 Чтв 14:43:11 #70 №2398702 
>>2398681
Намного. Даже лучше, чем на расте и шарпе вместе взятых.
Аноним 07/07/22 Чтв 15:31:33 #71 №2398734 
>>2398702
Просто попробуй пописать на шарпе - плюсы после них будут выглядеть как ебаная палка копалка
Аноним 07/07/22 Чтв 15:35:12 #72 №2398736 
>>2398734
Пробовал, даже на JS и петузоне пробовал. Плюсы всё ещё лучший язык всех времён и народов.
Аноним 07/07/22 Чтв 15:49:37 #73 №2398741 
У меня появилась просто гениальная идея!
Новый язык с++2.0, который будет компилиться сразу в плюсы

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

Такое сможет заменить плюсы?
думаю диплом по такой штуке написать, но если без шуток, насколько мертворожденная идея?
Аноним 07/07/22 Чтв 18:16:12 #74 №2398870 
>>2398741
>Такое сможет заменить плюсы?
Нет.
>насколько мертворожденная идея?
9/10
Аноним 07/07/22 Чтв 18:55:57 #75 №2398906 
>>2398741
Похоже на Zig.
Аноним 07/07/22 Чтв 19:09:46 #76 №2398921 
>>2397844
он работает на работе кстати и получает за это зп
а ты сиди дальше дома и дрочи "шаблоны" вандервуда дальше
Аноним 07/07/22 Чтв 22:11:31 #77 №2399080 
>>2398736
Петушарп реально говнище, не слушай шарпошиза. Пиши на джаве.
Аноним 08/07/22 Птн 02:36:05 #78 №2399228 
image.png
Я хочу преобразовать массив optionalов в массив обычных значений. Чому пикрил https://godbolt.org/z/956z41Tdo код не работает? Это из-за каких-то ограничений mem_fn или я что-то неправильно делаю?

Если заменить на закомментированную лямбду, то работает, но с mem_fn меньше символов печатать
Аноним 08/07/22 Птн 02:57:43 #79 №2399231 
image.png
image.png
>>2399228
А всё, неважно, я понял. Там просто две перегрузки для метода value и компилятор не мог выбрать видимо. Вот так работает
Аноним 09/07/22 Суб 03:53:17 #80 №2400302 
image.png
Почему operator[] для rvalue контейнеров возвращает lvalue ссылку? Разве не логичнее было бы, чтобы из operator[] возвращалась rvalue ссылка в этом случае?
Аноним 09/07/22 Суб 06:39:51 #81 №2400326 
>>2400302
Ты вообще понимаешь о чём пишешь? Где логика? Если возвращать rvalue, то ты с этой ссылкой ничего сделать не сможешь. Алсо && - это не rvalue ссылка, шиз.
Аноним 09/07/22 Суб 07:21:19 #82 №2400342 
>>2400326
Опохмелись
Аноним 09/07/22 Суб 10:54:16 #83 №2400401 
>>2398741
Гугли как работает qt moc
Аноним 09/07/22 Суб 11:30:35 #84 №2400407 
>>2400401
Не, это другое

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

>>2398870
Жаль, ну хоть диплом будет интересным
Аноним 09/07/22 Суб 11:32:28 #85 №2400408 
>>2400302
Ты не можешь указать функции чтобы она возвращала рвэлью или лвэлью
Аноним 09/07/22 Суб 14:09:08 #86 №2400487 
Как же страшно начать рассылать резюме, кажется что за 2 года так ничего и не знаю. Как пофиксить эту тревожность и найти работу?
Аноним 09/07/22 Суб 14:27:05 #87 №2400501 
>>2400487
Начни рассылать резюме и ходить на собесы
Первые 10 раз тревожно будет, потом привыкнешь
Аноним 09/07/22 Суб 14:28:09 #88 №2400503 
>>2400487
Не работать кодером, очевидно же. ИТ не только из кодеров состоит. Никто не мешает тебе вкатываться в ИТ без кодинга и получать столько же. Верхняя планка может и доступна только кодерам, но кресты далеко не самый высокооплачиваемый язык, так что 150к можно даже в техподдержке найти, не говоря уже про что-то получше.
Аноним 09/07/22 Суб 14:29:07 #89 №2400504 
>>2400501
А как избавиться от чувства что я ничего не знаю и ничего не умею.
>>2400503
Не, мне нравится кодить и кодить на крестах.
Аноним 09/07/22 Суб 14:30:33 #90 №2400505 
>>2400504
Только на собесах поймёшь какие от тебя требуются знания
Аноним 09/07/22 Суб 14:35:43 #91 №2400508 
>>2400505
Я не хочу чтобы надо мной смеялись на собесе. Я хочу придти, раскидать все вопросы и собеседующего в 0 и получить жирный оффер.
Аноним 09/07/22 Суб 14:57:11 #92 №2400536 
Сап, аноны. Имеется некий проект на Qt.
Можете порекомендовать чего-нибудь почитать на предмет подходов к организации кода, работающего с БД?
Суть вот в чём: в текущем рабочем проекте имеется специальный класс, который работает с БД -- подключается к ней, создаёт таблицы при первом запуске, получает запросы на помещение/извлечение данных и всякое в таком духе.

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

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

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

Вощем, непонятно.
Аноним 09/07/22 Суб 16:35:51 #93 №2400700 
>>2400302
Потому что operator[] возвращает референс, а если у функции в качестве return value референс, то это lvalue. Ты сам себе стреляешь в ногу таким кодом. Можно много подобных ситуаций воспроизвести специально, но это не минус языка, а его незнание
Аноним 09/07/22 Суб 17:04:34 #94 №2400757 
image.png
>>2400408
>>2400700
Почему нельзя вернуть &&? Можно же вроде
Аноним 09/07/22 Суб 17:34:32 #95 №2400779 
>>2400757
Шиз, тебе уже написали, && - не rvalue.
Аноним 09/07/22 Суб 17:43:45 #96 №2400788 
>>2400779
Нихуя ты умный.
Аноним 09/07/22 Суб 17:53:03 #97 №2400798 
>>2400757
Ну смотри, у rvalue и lvalue нет какого то определенного типа
Любой тип может быть как rvalue, так и lvalue
Всё что ты можешь с ними делать - это попытаться принять в функцию как аргумент

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

Краткий итог:
- Ты не можешь сказать в С++ чтобы функция у тебя возвращала rvalue или lvalue, ты их можешь только принимать в функции
- Если переменная имеет видT&& еще не значит что это rvalue (только если как параметр функции и T не темплейт параметр)
Аноним 09/07/22 Суб 18:29:13 #98 №2400826 
>>2400757
Что значит нельзя? На пике ты это и делаешь. 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 использовать для случая в первом твоем пикриле.
Аноним 09/07/22 Суб 19:31:31 #99 №2400891 
Пришла пора мне выкатываться из фронтенда. Стал думать, чем бы таким заняться и обнаружил, что я оказывается последние 2 года игрался с плюсами и его либами. Короче говоря завтра начну спамить резюме, пожелайте удачи.
Аноним 09/07/22 Суб 21:08:45 #100 №2400951 
Нет никакого способа использвать асинхронные сокеты без ранеров вроде io_context в бусте. Вроде же нет, да?
Аноним 09/07/22 Суб 23:28:55 #101 №2401059 
>>2400407
> Не это другое
Концепт тот же, куте так реализует статическую и динамическую рефлексию
Я к чему пример привел - много кто делал кодогенераторы для плюсов, просто они либо проприетарные либо простые как qt MOC
Вообще, для кодогенерации лучше использовать си или llvm на худой конец, так делают zig, jai, nim вроде
Аноним 09/07/22 Суб 23:31:54 #102 №2401060 
>>2400536
Учитывая мощность qt рефлексии, я бы кастомную орм запилил - она бы создавала таблички и по инфе от классов прокидывала связи и генерировала методы чтения/записи
Но это нетривиальная работа, да и новое колесо по сути
Аноним 10/07/22 Вск 00:00:37 #103 №2401086 
Почему в каждой второй вакухе нужна вышка?
Аноним 10/07/22 Вск 03:37:18 #104 №2401186 
>>2401086
Учитывая, что это кресты, я удивлён, что не в каждой первой.
Аноним 10/07/22 Вск 04:51:05 #105 №2401188 
>>2401086
Потому, что каждая 2 вакуха это НИИ, а туда без вышки берут только в лаборанты или по родству/знакомству.
Аноним 10/07/22 Вск 06:18:54 #106 №2401190 
>>2401188
>или по родству/знакомству
То есть, с вышкой в НИИ никого нет, ведь корешей/кумов всегда больше.
Аноним 10/07/22 Вск 15:45:47 #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 запускается.

Я не знаю пока что в чем проблема. Помогите, пожалуйста
Аноним 10/07/22 Вск 15:53:48 #108 №2401518 
>>2400951
Бамп
Аноним 10/07/22 Вск 15:59:03 #109 №2401528 
>>2401518
Подожди, дай сначала с симейком и хеллоуворлдами разберёмся.
Аноним 10/07/22 Вск 17:55:48 #110 №2401711 
>>2401060
Уже есть QxOrm883924
Аноним 10/07/22 Вск 17:57:05 #111 №2401713 
>>2400407
Статическая рефлексия и метапрограмирование будут. Наверное в 26 стандарте.
Аноним 10/07/22 Вск 17:59:55 #112 №2401723 
>>2400798
Посмотри как optional возвращает &&
Аноним 10/07/22 Вск 18:02:34 #113 №2401729 
>>2401711
Блин, опять капчу не туда ввёл
Аноним 10/07/22 Вск 19:02:46 #114 №2401846 
image
лол, это что такое?)
Аноним 10/07/22 Вск 19:19:58 #115 №2401872 
>>2401846
Боль первокура
Аноним 10/07/22 Вск 19:26:20 #116 №2401880 
>>2401872
С каких пор у первокуров не Borland C++ Builder?
Аноним 10/07/22 Вск 19:31:17 #117 №2401887 
>>2401880
Хз, я не из рашки просто. У вас что, даже питон в школе не учат?
Аноним 10/07/22 Вск 19:36:29 #118 №2401892 
>>2401872
каждый метод 4 разными способами описывать?
каждый из которых делает одно и тоже?

ладно еще константность, а 3 и 4 нахуя
Аноним 10/07/22 Вск 19:40:28 #119 №2401897 
это если что из std::optional
>>2401846
Аноним 10/07/22 Вск 19:45:51 #120 №2401904 
>>2401887
В школе турбо паскаль, qbasic и перволого. Какой ещё питон?
Аноним 10/07/22 Вск 19:48:57 #121 №2401905 
>>2401887
Не слушай еблана из пту. Все учат. Только поступать надо в нормальный вуз
Аноним 10/07/22 Вск 22:11:53 #122 №2402009 
>>2401846
Справа от функции - это cv-qualifiers и reference-qualifiers. Они ограничивают, над какими объектами можно вызывать эту функцию (только над const, только над rvalue, и тд).

tl;dr Кури https://en.cppreference.com/w/cpp/language/member_functions#member_functions_with_ref-qualifier
Аноним 11/07/22 Пнд 05:31:46 #123 №2402216 
>>2402009
>Они ограничивают, над какими объектами
выражениями
Аноним 11/07/22 Пнд 05:36:00 #124 №2402217 
>>2401892
>каждый метод 4 разными способами описывать?
Для этого зделоли deducing this
Аноним 11/07/22 Пнд 05:36:02 #125 №2402218 
>>2401887
>Хз, я не из рашки просто
А откуда?
Аноним 11/07/22 Пнд 05:50:13 #126 №2402220 
>>2402218
Из Москвы
Аноним 11/07/22 Пнд 06:01:06 #127 №2402223 
16561219907480.png
>>2402220
>Москвы
Аноним 11/07/22 Пнд 08:41:14 #128 №2402247 
>>2402009
Уже нахуй не нужны, deducing this уже запилен.
Аноним 11/07/22 Пнд 08:58:02 #129 №2402253 
Сап анон, поясни за примеры теоретической рефлексии, я не понимаю ее прелестей.

Предположим, я распарсил в джейсоне поле "surname", и в поле структуры с именем .surname присвоил это значение без if ов - это пример рефлексии?
Аноним 11/07/22 Пнд 09:04:48 #130 №2402257 
>>2402253
> это пример рефлексии?
Нет.
Аноним 11/07/22 Пнд 09:21:27 #131 №2402266 
>>2402253
В крестах нет того, что в других языках называют рефлексией, соответственно, ни на каких примерах и аналогиях ты не поймёшь, что это такое. Ближе всего к рефлексии RTTI.
Аноним 11/07/22 Пнд 10:40:33 #132 №2402328 
>>2402253
Посмотри на систему метаобьектов в qt. Вкратце, ты в рантайме можешь получить информацию о классе объекта - какие есть методы, конструкторы, енумы и т.д., можно узнать кто вызывает метод и всякое такое.
Аноним 11/07/22 Пнд 12:12:55 #133 №2402402 
>>2402253
Рефлексия это понятие у скриптов, которые в рантайме интерпретируются машиной, поэтому машина-интерпретатор в рантайме имеет информацию о кодовых объектах этого скриптового языка.

С++ же это компилируемый язык. После компиляции получаются, и на самом деле выполняются - машинные коды, а у машинных кодов нет никаких объектов языка С++, это вообще не язык, точнее это хардварный язык процессора, соответственно никакой информации о С++ там нет и быть не может, потому что кода С++ уже давно нет, он есть только у тебя в текстовом редакторе кода, не дальше.
Аноним 11/07/22 Пнд 12:15:55 #134 №2402405 
>>2402402
Может, если в рантайие держать таблицу с метаданными об объектах.
Аноним 11/07/22 Пнд 12:22:45 #135 №2402412 
>>2402405
Это бессмысленная приблуда сбоку, которая только будет раздувать программу и тормозить. Конечно, С++ это нативный язык железа, поэтому при желании из него можно вылепить и подобие динамического скрипта. НО ЗАЧЕМ?
Нужен скрипт - пользуйся скриптами, полно этих языков. А компилируемый язык нужен для нативного кода, собранных машинных инструкций, чтобы код работал сам по себе, без сраных машин управления сбоку.
Аноним 11/07/22 Пнд 12:48:23 #136 №2402435 
>>2402412
Как хорошо, что комитету насрать на твое авторитетное мнение.

Они уже давно пытаются его запихать (https://en.cppreference.com/w/cpp/experimental/reflect), но никак не определятся как именно это сделать. Последний вариант вроде этот https://github.com/cplusplus/papers/issues/1002
Аноним 11/07/22 Пнд 13:38:21 #137 №2402493 
Как мне найти библиотеки для запуска моих прошлых проектов в говне под названием Qt5 вида: Qt5Cored, Qt5Guid и ещё 100500 файлов? Устанавливать это дерьмо ради библиотеки не хочу.
Аноним 11/07/22 Пнд 15:08:34 #138 №2402591 
>>2402402
Рефлексия в сисярпе есть, а он не скрипт.
Аноним 11/07/22 Пнд 15:12:41 #139 №2402599 
>>2402328
Ну это всё шляпа уровня rtti. Главная фишка рефлексии - пилить в рантайме новые типы данных.
Аноним 11/07/22 Пнд 15:25:20 #140 №2402611 
>>2402599
Qt позволяет добавлять проперти в рантайме, можешь брать пустые объекты и пихать в них что хочешь.
Аноним 11/07/22 Пнд 16:08:18 #141 №2402645 
>>2402611
Всё это очень далеко от возможностей system.reflection в c#.
Аноним 11/07/22 Пнд 16:45:52 #142 №2402681 
>>2402645
С C# вообще трудно сравниться. Язык багов.
Аноним 11/07/22 Пнд 18:44:22 #143 №2402769 
>>2401508
Хэлп
Аноним 11/07/22 Пнд 18:48:48 #144 №2402773 
>>2402435
Да, я зря проигнорировал, что хоть рефлексии нет в рантайме, но она есть во время компиляции. Но это ограниченая фича, похоже очередной костыль для темплейтов или вроде того. Ну имеет кое-какое применение, но не широкое, и даже если такое абузить вместо кода будут помои.
Аноним 11/07/22 Пнд 18:51:41 #145 №2402777 
>>2402611
>Qt позволяет
И чо? С# тоже позволяет.
Qt это не кресты, мань, другой язык.
Аноним 11/07/22 Пнд 18:56:04 #146 №2402780 
>>2402773
Ну тут я согласен, если нужна рефлексия, скорее всего ты накостылиль какую то хрень, хрен знает чем тут гордятся шарписты... Я использовал только раз и до сих пор стыдно за тот Новгород.
Аноним 11/07/22 Пнд 18:57:06 #147 №2402781 
>>2402777
Ну надмножество, да.
Аноним 11/07/22 Пнд 18:57:51 #148 №2402782 
>>2402780
>Новгород
Говнокод. Т9 лютует)
Eigen Аноним 12/07/22 Втр 16:16:57 #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)? Как это сделать? Ни в мануале, ни на стэковерфлоу этого нет.
Аноним 12/07/22 Втр 16:34:52 #150 №2403576 
>>2403560
memcpy( &N.row(i), &a, sizeof(a[0])⚹m )
Аноним 12/07/22 Втр 16:51:38 #151 №2403594 
>>2403576
warning C4238: nonstandard extension used: class rvalue used as lvalue

Ну и не скопировало, да.
Аноним 12/07/22 Втр 18:01:35 #152 №2403690 
>>2403560
Может там можно создать константную матрицу 1 х м и запихать в твою?
Аноним 12/07/22 Втр 18:03:17 #153 №2403694 
>>2403594
Там у тебя матрицы из комплексных чисел состоят. Ну и вектора тоже. Поэтому да, не сработает.
Аноним 12/07/22 Втр 18:09:16 #154 №2403705 
>>2403694
Eigen::MatrixXd N(n, m) состоит из действительных чисел типа double.
Аноним 12/07/22 Втр 18:10:31 #155 №2403707 
>>2403690
Похоже, что проблема в том, что я пытаюсь работать с N.row(i).
Аноним 12/07/22 Втр 18:25:56 #156 №2403737 
>>2403707
В доке указано, что это частный случай block(), как и col(). Видимо это индекс над матрицей, а не прямой доступ к данным.
Аноним 12/07/22 Втр 18:35:47 #157 №2403753 
>>2403707
Опять же, если верить докам, то есть отображение Map.
Map<Eigen::RowVectorXd> vec(a, length);
И возможно потом что-то типа
N.row(i) = vec.row(0)
Аноним 12/07/22 Втр 18:52:02 #158 №2403790 
>>2403753
Кринж. В нормальных языках есть функциональщина и можно через точку вызывать map, лямбдой что надо делать с каждым элементом.
Аноним 12/07/22 Втр 19:14:17 #159 №2403822 
>>2403790
>В нормальных языках есть функциональщина и можно через точку вызывать map,
В крестах это называется transform, и он был уже в первом стандарте, но возможно твой Эйген его не поддерживает.
Аноним 13/07/22 Срд 05:42:15 #160 №2404156 
>>2403560
у этого эйгена абсолютно уёбищный интрефейс
делай вложенный цикл и не еби себе мозг
Аноним 13/07/22 Срд 13:19:26 #161 №2404345 
Для крестов есть либа для написания нативных запросов к бд, как linq?
Аноним 13/07/22 Срд 13:22:49 #162 №2404347 
>>2402591
Это троллинг?
Аноним 13/07/22 Срд 13:24:02 #163 №2404348 
>>2404347
Это очевидность.
Аноним 13/07/22 Срд 13:42:56 #164 №2404365 
>>2404348
Нет, это троллинг. Шарп компилится в скриптовый код, который выполняет отдельная программа.
Аноним 13/07/22 Срд 14:26:46 #165 №2404420 
>>2404365
>managed c++
>компилится в скриптовый код
>c++ это скрипт
>без рефлексии

так понятнее?
Аноним 13/07/22 Срд 16:37:49 #166 №2404624 
>>2404365
Покажи скрипты, в которые компилится шарп?
Аноним 13/07/22 Срд 16:44:51 #167 №2404638 
>>2404624
IL
Аноним 13/07/22 Срд 17:18:28 #168 №2404682 
>>2404365
С дотнета 7 уже сразу в машинный код может компилироваться, а IL останется для кроссплатформенности. Тот же юнити уже давно умеет IL в крестовый код конвертить и компилировать.
Аноним 13/07/22 Срд 17:46:49 #169 №2404722 
>>2404365
>>2404682
Пиздец и эти люди ещё что-то про плюсы пукают
Аноним 13/07/22 Срд 21:25:51 #170 №2404847 
Screenshot20220713212001.jpg
Screenshot20220712181518.jpg
Пикрил из вашего гитхаба - правильно и разумно, очень нравится подход.

Но

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

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

Алгоритмы и вовсе учить до программирования первых приложений - путь в никуда и способ отбить весь интерес. Кому интересно рисовать "сортировку пузырьком" 4 часа, не зная про циклы? Переписывайте лучше.
Аноним 13/07/22 Срд 21:34:54 #171 №2404851 
Screenshot20220713213303.jpg
>>2397342
>Это не кресты умирают, а десктоп и системщина. Сейчас всем вебдрисню подавай.
А как же программирование микроконтроллеров?
Аноним 13/07/22 Срд 21:39:12 #172 №2404853 
>>2404851
>А как же программирование микроконтроллеров?
Выучив c++ и деграднуть до c, освоив несколько библиотек - лучший язык для широкого охвата:
Можешь писать десктоп приложения, программировать микроконтроллеры, писать модули ядра линукса.

В чем я заблуждаюсь?
Аноним 13/07/22 Срд 21:41:19 #173 №2404854 
>>2404851
Микроконтроллеры нишевые, а не массового применения. Маркетологи могут хоть тысячу раз произнести 'IoT', суть от этого не изменится.
Смузихлёбы кста пишут прошивки на петухоне
Аноним 13/07/22 Срд 21:50:17 #174 №2404860 
>>2404853
Можешь-то можешь, вот только зарплату ты за них будешь получать скорее всего маминым борщом.
Аноним 13/07/22 Срд 21:50:48 #175 №2404862 
>>2404854
>Микроконтроллеры нишевые, а не массового применения.
Так в этом же и фишка, чем уже ниша, тем выше спрос, а значит и больше денег. Конечно, если речь не идет об очень узких нишах и редких вещах уровня хаскеля из трех человек.

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

>Смузихлёбы кста пишут прошивки на петухоне
Соболезную
Аноним 13/07/22 Срд 21:52:40 #176 №2404864 
Screenshot20220713212001.jpg
>>2404860
>вот только зарплату ты за них будешь получать скорее всего маминым борщом
Не работаешь за борщ и шлешь быдло, как на гитхабе написано.
Нужно уметь посылать к хуям быдло, пусть ищут себе миллиарды лет программиста тогда.
Аноним 13/07/22 Срд 22:09:25 #177 №2404870 
>>2404862
>чем уже ниша, тем выше спрос
На специалиста имеется ввиду.

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

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

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

Под бизнесом понимается бизнес, а не плановой экономики быдло нахрюк.
Аноним 13/07/22 Срд 22:15:32 #178 №2404875 
>>2404854
>Маркетологи могут хоть тысячу раз произнести 'IoT', суть от этого не изменится
"IoT от маркетологов" это уровень развития "пузыря в айти" от эйчара-совкокабанчика. На это не ориентируется никто, но есть конторы даже малого бизнеса с собственными устройствами в нормальной стране. Вопросики?
Аноним 14/07/22 Чтв 01:06:45 #179 №2404909 
У меня в результате некоторого аритмического выражения вычисляется битовый сдвиг влево lshift для числа x.
Суть в том, что в случае, если lshift >= 0, то всё работает нормально.
Но если lshift < 0, мне надо, чтобы сдвигалось на абсолютное значение lshift, но уже вправо. А вместо этого в результате отрицательного сдвига получается какой-то бред (видимо, сдвиг на отрицательное число - это UB).
Есть ли какой-то оператор, который сдвигает как надо: при положительном левом сдвиге сдвигает влево, при отрицательном левом сдвиге - сдвигает вправо? Или наоборот.
Хотел бы сделать без условного оператора.
Аноним 14/07/22 Чтв 01:16:48 #180 №2404912 
>>2404909
> сдвиг на отрицательное число - это UB
Да.
> Есть ли какой-то оператор
Нет, делай через условный оператор.
Аноним 14/07/22 Чтв 03:00:40 #181 №2404923 
>>2404864
Вот только по сишке не так много хорошей работы в странах СНГ, да и ща рубежом не сказать что прям ярмарка.
Я когда перешёл го, офигел от щепок и количества приглосов от хрюшек. Правда я там напиздел мальца и из 6 лет только год на году писал. Но типа в чем пофиг, если прошёл собес(на помидора) - велком.
Конечно есть свои минусы, там прям надо знать конкретный стек технологии, всякую бэкхенд дичь, но это только по началу. Из минусов - через год будет ооочень скучно. Задачи везде +- похожие, Толе подходы могут отличаться.
Разговорился с одним лидом, так у него прямо набор шаблонных решений заготовленной под всё случаи жизни. Он из тупо на новых работах и развертывает.
Аноним 14/07/22 Чтв 03:07:30 #182 №2404924 
>>2404864
Вот только по сишке не так много хорошей работы в странах СНГ, да и ща рубежом не сказать что прям ярмарка.
Я когда перешёл го, офигел от щепок и количества приглосов от хрюшек. Правда я там напиздел мальца и из 6 лет только год на году писал. Но типа в чем пофиг, если прошёл собес(на помидора) - велком.
Конечно есть свои минусы, там прям надо знать конкретный стек технологии, всякую бэкхенд дичь, но это только по началу. Из минусов - через год будет ооочень скучно. Задачи везде +- похожие, Толе подходы могут отличаться.
Разговорился с одним лидом, так у него прямо набор шаблонных решений заготовленной под всё случаи жизни. Он из тупо на новых работах и развертывает.
Аноним 14/07/22 Чтв 03:09:52 #183 №2404926 
Работяги, что на крестах шлепаете? Есть успешные наносеки у которых ещё стоит? Я вот в зелёном банке работаю получаю свои козюли(почти 4) но чет вообще ничего не хочу и как-то грустно. Оказалось что физтех на плюсах - это поддержка какого-то старого говна(
Плюсы для средних проектов? Аноним 14/07/22 Чтв 09:03:09 #184 №2404958 
Какие "среднячковые" идеи проектов можно реализовать на плюсах?

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

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

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

Короче как вы рождаете\рожали идеи для проектов которые можно будет понемногу писать, а потом со временем не будет стыдно их закинуть в портфолио?
Аноним 14/07/22 Чтв 12:47:20 #185 №2405048 
>>2404958
Ну так начинай сразу делать большой проект мечты. Просто разбей его на максимально мелкие подзадачи, что бы они были >> маленькую шелупонь мне больше не хочеться
Постепенно из нее у тебя и соберется проект. Вон иди пиши игру, или браузер, или что в голову вбредет.
Аноним 14/07/22 Чтв 12:53:03 #186 №2405054 
>>2404958
>С другой же стороны, плюсы идеальный язык для систем, движков, серверов и всего великого и могучего в этом мире.
Не. Плюсы это язык, попытавшийся смешать в себе низкоуровневость и высокоуровневость и проигравший. Типа объекты есть, но это недообъекты без инкапсуляции. А разгадка одна - нельзя сделать ооп в неуправляемом окружении, вот нельзя и всё тут, не бывает такого. К жопе вопросов нет, к питону вопросов нет, к си вопросов нет, к крестам - вопросы есть, но нет ответов.
Но ты попиши что-нибудь, увидь это сам.
Аноним 14/07/22 Чтв 13:00:41 #187 №2405068 
>>2404958
>Короче как вы рождаете\рожали идеи для проектов которые можно будет понемногу писать, а потом со временем не будет стыдно их закинуть в портфолио?

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

Пока ничего для этого не выучил, но планирую.
Аноним 14/07/22 Чтв 13:08:48 #188 №2405076 
>>2405054
Опять ты шизло ебучее
Аноним 14/07/22 Чтв 13:09:54 #189 №2405079 
>>2404923
>>2404924
Так на сишке много или нет хорошей работы в снг, я не понял?
Аноним 14/07/22 Чтв 13:10:42 #190 №2405081 
>>2404958
Я бы плюсы рассматривал как возможность создания платформы для своей интересной идеи. Вот есть у тебя прикольная идея с рендерингом например, пилишь её в качестве mwp, а потом либо дропаешь либо развиваешь. Примерно как этот чел описал >>2405048
Аноним 14/07/22 Чтв 13:15:16 #191 №2405087 
>>2401188
>>2401086
В госпарашах четкое строго закрепленное штатное расписание, где у должности с название "программист" обязательно наличие технической вышки. Но я обходил это правило, устраиваясь на другую должность с меньшими требованиями, но выполняя по сути работу программиста.
Аноним 14/07/22 Чтв 13:17:16 #192 №2405090 
Screenshot20220710180546.jpg
>>2405079
>Так на сишке много или нет хорошей работы в снг, я не понял?
Думаю, что в снг нет.
Но если ты дойдешь до уровня гуру, то можно уехать, и вот тогда уже зарабатывать много денег в нишевом сегменте широкого охвата, лол.

Ну, допустим, абстрактный интел делает новое устройство и надо писать на нем модули ядра. Много ли интелов в снг? Их нет. Не в снг они есть, но нужно иметь прокаченный скилл, а не в машинки играть.
Аноним 14/07/22 Чтв 13:24:00 #193 №2405097 
А вы когда-нибудь использовали на практике такое преимущество плюсов как возможность писать свою реализацию типов. Например свой string с другими правилами, подходящий под конкретную задачу.
Аноним 14/07/22 Чтв 13:56:53 #194 №2405122 
>>2405097
> свой string с другими правилами, подходящий под конкретную задачу.
Ты на пороге очень больной темы. Дело в том, что ВСЕ плюсовики хоть раз писали свои реализации строк.
Аноним 14/07/22 Чтв 14:04:45 #195 №2405124 
>>2405097
Это минус, а не плюс. Потому-что в других языках это нахуй не нужно писать самому
Аноним 14/07/22 Чтв 14:06:26 #196 №2405126 
>>2405124
Потому что другие языки говно. Тебе дают хрючево, а ты жрешь причмокивая, ом ном ном.
Аноним 14/07/22 Чтв 14:10:12 #197 №2405127 
>>2405124
Ты сейчас утверждаешь, что в других языках запрещено писать свои классы?
Аноним 14/07/22 Чтв 14:12:28 #198 №2405130 
>>2405127
я утверждаю то, что язык, в котором надо писать свою строку, потому-что стандартная хуевая - не очень.

А уж какая боль с юникодом работать - это не описать.
Аноним 14/07/22 Чтв 14:16:11 #199 №2405132 
>>2405130
При чем тут строка? Может мне нравятся array в другом языке или я хочу добавить функционала, а должен довольствоваться тем, что для наговнокодили макаки-содатели языка.
Аноним 14/07/22 Чтв 14:23:40 #200 №2405138 
>>2405132
ну собстно ты описать суть крестовиков - делать костыли и хуйню, а не проект или задачи
Аноним 14/07/22 Чтв 14:26:26 #201 №2405142 
>>2405138
Ну сделал ты проект, а потом видишь, ага, вот тут можно ускорить производительность. И переписываешь реализацию какого-нибудь класса.
Аноним 14/07/22 Чтв 14:31:14 #202 №2405145 
>>2405100
> в его случае больше раскрутки как дохуя гения,
Он находил уязвимости в процессорах, имея скилл, исходя из самообразования, перенеся инсульт в детстве из-за отека мозга. Он точно гений.
Аноним 14/07/22 Чтв 14:31:26 #203 №2405147 
Такс, я знаю базу языка, stl, шаблоны, мультипоток. Что мне ещё выучить чтобы я мог устроиться на работу?
Аноним 14/07/22 Чтв 14:33:48 #204 №2405149 
>>2405147
Уроки
Аноним 14/07/22 Чтв 14:36:47 #205 №2405152 
>>2405149
Политологии?
Аноним 14/07/22 Чтв 14:37:09 #206 №2405153 
>>2405124
>Это минус, а не плюс. Потому-что в других языках это нахуй не нужно писать самому
Ну надо писать валидацию тогда, все равно надо писать в других языках что-то.
Аноним 14/07/22 Чтв 14:37:35 #207 №2405154 
>>2405142
Производительность никогда не будет упираться в реализацию строк.
Аноним 14/07/22 Чтв 14:41:55 #208 №2405157 
>>2405152
>Политологии?
Но даже это лучше, чем с палкой ходить, как имбецил.
Аноним 14/07/22 Чтв 14:42:28 #209 №2405158 
>>2405147
"знаю" - понятие очень растяжимое. Иди рассылай резюме.
Аноним 14/07/22 Чтв 14:43:51 #210 №2405161 
>>2405132
Чем тебе boost не угодил? Он дефакто стандарт, и как раз та блотварьная хуйня что ты так любишь в других языках.
Аноним 14/07/22 Чтв 14:51:45 #211 №2405163 
>>2405157
Какой ещё палкой? Ты ок?
>>2405158
Знаю - это умею работать и самостоятельно пилить фичи.
Аноним 14/07/22 Чтв 14:54:46 #212 №2405166 
>>2405163
Это ты думаешь, что умеешь работать и пилить фичи. Я тоже так думал, а потом меня просто так обоссали на трех собесах подряд, что я понял что я вообще нихуя не знаю и не умею.

Вкатился еще через 4 месяца задротства после этого
Аноним 14/07/22 Чтв 14:56:08 #213 №2405167 
>>2405166
Ну хуёво быть тобой, чё. А я года 2 как ебашу.
Аноним 14/07/22 Чтв 15:01:08 #214 №2405170 
>>2405167
Если ебашишь зачем спрашиваешь про как устроиться на работу, шиз?
Аноним 14/07/22 Чтв 15:03:56 #215 №2405173 
>>2405170
Не ебу что делать дальше, шиз.
Аноним 14/07/22 Чтв 15:06:06 #216 №2405177 
>>2405161
Его хуй подключишь.
Аноним 14/07/22 Чтв 15:10:05 #217 №2405186 
>>2405173
Значит не ебашишь. Ну и то что ты перечислил учится за 2 месяца.
Аноним 14/07/22 Чтв 15:11:26 #218 №2405191 
>>2405177
>не может подключиь внешнюю либу
>мама я погромист язык говно
Аноним 14/07/22 Чтв 15:12:51 #219 №2405193 
Либа это SFML, указал путь да нее - и готово. А разрабы буста ебанутые, какие-то батники в релизной версии напихали.
Аноним 14/07/22 Чтв 15:13:32 #220 №2405198 
Впрочем я этот буст вроде без ошибок установил, но проверять работоспособность страшно.
Аноним 14/07/22 Чтв 15:19:25 #221 №2405212 
>>2405186
Да не выёбывайся ты
Аноним 14/07/22 Чтв 15:20:11 #222 №2405216 
Как мне быстро получить целое число по заданному количеству установленных битов справа?
Допустим, если toc = 4, соответственно, мне нужно число 0xF (0b1111).
Если toc = 2, то мне нужно 0x3 (0b11).
Варианты, которые приходят на ум беспомощному джунишке:
1. массив заранее подготовленных значений для всех возможных toc;
2. устанавливать нужные биты в цикле.
Будут ли более грамотные идеи у бывалых крестогоспод?
Аноним 14/07/22 Чтв 15:24:12 #223 №2405227 
622a080c87debinarticlef2b1a42b19.jpg
>>2405177
>Большинство библиотек header only
>Его хуй подключишь
Аноним 14/07/22 Чтв 15:24:30 #224 №2405228 
>>2405216
Может еще работать за тебя устроиться? Кстати где ты работаешь что стак и гугл в блеклисте, а двач нет
Аноним 14/07/22 Чтв 15:26:06 #225 №2405231 
>>2405216
(0x1 << toc) - 1
Аноним 14/07/22 Чтв 15:26:57 #226 №2405232 
>>2405231
Ахуеть
Аноним 14/07/22 Чтв 15:34:37 #227 №2405243 
>>2405231
Вот это да, насколько же я тупой.
Аноним 14/07/22 Чтв 15:37:28 #228 №2405249 
>>2405243
Если долго тупишь сходи проветрись. Затупы часто из-за того что мозг отключается.
Аноним 14/07/22 Чтв 15:58:28 #229 №2405282 
>>2405232
>>2405243
Это стандартный путь получения битовых масок, азы.
Аноним 14/07/22 Чтв 16:05:19 #230 №2405294 
>>2405191
При всем уважении - буст это конченая залупа, и тянуть его надо только когда ВООБЩЕ вариантов других нету.

Аноним 14/07/22 Чтв 16:11:37 #231 №2405298 
>>2405147
Бамп. Помогите, ало.
Аноним 14/07/22 Чтв 17:51:27 #232 №2405388 
12345.png
>>2405298
пишу реализацию класса string
имею this.пик проблему, перегрузка конструктора выглядит так(полностью соответствует "учебнику", пробовал брать разные материалы, везде одна и та же ошибка):
https://pastebin.com/WJWEKsJ1

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

p.s. IDE - Visual Studio, версия последняя
Аноним 14/07/22 Чтв 17:54:22 #233 №2405390 
>>2405298
случайно на твой пост ответил:
>>2405388
Аноним 14/07/22 Чтв 17:55:43 #234 №2405392 
>>2405388
Ты какую-то хуйню делаешь, пчёл.
Аноним 14/07/22 Чтв 17:59:21 #235 №2405397 
>>2405392
учусь работе с классами на примере реализации своего класса string?
посоветуешь что лучше?
Аноним 14/07/22 Чтв 18:03:13 #236 №2405399 
>>2405397
Вместо того, чтобы переизобретать что-то что уже было сотню раз изобретено напиши простенькую консольную рпгшку. ООП учится за пару часов, чел.
Аноним 14/07/22 Чтв 18:04:54 #237 №2405400 
>>2405399
ты издеваешься, да?
Аноним 14/07/22 Чтв 18:05:59 #238 №2405402 
>>2405400
Что не так?
Аноним 14/07/22 Чтв 18:11:03 #239 №2405406 
>>2405402
можешь ответить почему у меня не работает: >>2405388
Аноним 14/07/22 Чтв 18:13:46 #240 №2405411 
>>2405406
Ты весь класс покажи прежде чем вопросы задавать
Аноним 14/07/22 Чтв 18:17:25 #241 №2405416 
>>2405411
разобрался сам - в перегруженном конструкторе класса, который я прикрепил не использовалось слово const
в VS все строковые литералы преобразовывались к типу const char, а не просто char

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

ответ нашёл случайно (часа полтора голову ломал)
Аноним 14/07/22 Чтв 18:18:29 #242 №2405418 
>>2405388
вдруг кто встретит то же самое:

в перегрузке конструктора по умолчанию нужно добавить ключевое слово const к принимаемому параметру
Аноним 14/07/22 Чтв 18:19:43 #243 №2405419 
>>2405388
Пчел, посмотри на сообщение об ошибке.
Аноним 14/07/22 Чтв 18:20:51 #244 №2405422 
>>2405416
>полтора часа
КАК БЛЯТЬ
Аноним 14/07/22 Чтв 18:21:03 #245 №2405423 
>>2405416
https://godbolt.org/z/Gsjx6rc3s
Ищи другие ошибки
Аноним 14/07/22 Чтв 18:43:26 #246 №2405440 
>>2405227
Большинство как раз таки нет
Аноним 14/07/22 Чтв 19:21:04 #247 №2405457 
12345.png
>>2405423
других не наблюдаю, я скидывал на пастебин только часть кода, проблема была в том что компилятор преобразовывал стороку "Hello" в тип const char[], а в перегруженный конструктор принимал не константный массив типа char
пока ещё не научился понимать сам такого рода ошибки(
Аноним 14/07/22 Чтв 19:24:17 #248 №2405461 
>>2405457
Тебе говоришь: "покажи поля класса", а ты в ответ: "сложно, я не понимаю! язык говно!".
Аноним 14/07/22 Чтв 19:24:56 #249 №2405462 
>>2405457
Мерзкая подсветка синтаксиса в студии
Аноним 14/07/22 Чтв 19:29:37 #250 №2405465 
>>2405294
Поясни
Аноним 14/07/22 Чтв 19:30:06 #251 №2405466 
>>2405462
Сама ты мерзкая
Аноним 14/07/22 Чтв 19:30:25 #252 №2405467 
>>2405461
вообще куска кода было достаточно для решения проблемы, я не хотел нагружать анона большой простынёй кода
>Тебе говоришь: "покажи поля класса"
нет, этого у меня не спрашивали, запрос на весь класс - был, но как уже писал выше (в этом же посте) - данная информация избыточно
>а ты в ответ: "сложно, я не понимаю! язык говно!".
язык как язык, такого, что ты мне приписываешь, я не писал

>>2405462
ну на вкус и цвет... (мне особо не с чем сравнивать - на моём уровне приходится есть то что дают)
Аноним 14/07/22 Чтв 19:30:50 #253 №2405468 
>>2405440
Из того что я использоал компилирпвались тольео регэксы, корутины и внезапно опции программы. А ты что нашел?
Аноним 14/07/22 Чтв 19:35:32 #254 №2405470 
>>2405294
+1488 суток к компиляции хелловорлда
+Адовое порно с линковкой и БОЖЕ УПАСИ ЕСЛИ - обновлением буста (решается вцпкг, но все же).
Аноним 14/07/22 Чтв 19:38:57 #255 №2405472 
>>2405470
>>2405465
Аноним 14/07/22 Чтв 20:03:43 #256 №2405484 
>>2405470
Хуй знает. Юзал только азио через vcpkg. Компилировал все быстро, пробоем с линковкой не было
Аноним 14/07/22 Чтв 20:09:46 #257 №2405486 
>>2405470
Чушь. Использую буст в одной маленькой программе, компилится одинаково мгновенно, что и бустом что без него. И какие могут быть проблемы с линковкой? Берешь и используешь как любйю библиотеку.
Аноним 14/07/22 Чтв 20:49:41 #258 №2405511 
>>2405457
Лучше бы няшный VSCode поставил бы, куда ставится все что нужно, от линтеров, до форматеров. Еще и под любой компилятор. И кроссплатформа.
Аноним 14/07/22 Чтв 21:15:12 #259 №2405522 
>>2405511
Проходи дальше.
Аноним 14/07/22 Чтв 23:13:20 #260 №2405626 
Есть ли что быстрее memcpy?
Аноним 14/07/22 Чтв 23:24:03 #261 №2405632 
>>2405626
Ничего.
1) Это одна из самых тупых операций. Там негде накосячить
2) В std не просто цикл копирования по байту, а еще и всякие оптимизации под конкретные архитектуры.
Короче ты сам лучше не сделаешь
Аноним 14/07/22 Чтв 23:29:17 #262 №2405641 
>>2405626
Быстрее memcpy только UB.
Аноним 14/07/22 Чтв 23:30:10 #263 №2405642 
0491920052430.jpg
>>2405626
Алгоритмы без копирования.
Аноним 14/07/22 Чтв 23:30:41 #264 №2405643 
>>2405641
ER?
Аноним 14/07/22 Чтв 23:33:15 #265 №2405645 
>>2405632
>Там негде накосячить
А ты попробуй байты в nullptr записать
Аноним 15/07/22 Птн 00:25:23 #266 №2405667 
>>2405642
Ты про constexpr?
Аноним 15/07/22 Птн 00:26:51 #267 №2405669 
>>2405645
А еще overlapping source and destination - UB. А еще memcpy это compiler intrinsic, он его может поменять на свою имплементацию не из libc.
Аноним 15/07/22 Птн 00:28:52 #268 №2405670 
Аноны, а есть ли возможность посмотреть реализацию класса string в VS или где ещё?
Аноним 15/07/22 Птн 00:31:03 #269 №2405672 
>>2405670
ПКМ -> Go to Definition отдельным файлом либо ПКМ -> Peek если окошечко маленькое открыть
Аноним 15/07/22 Птн 00:36:04 #270 №2405678 
>>2405670
Все 3 имплементации STL (Микрософт, Шланг, ГЫЦЫЦЫ) - опенсорс. МС на гитхабе хранит например
Аноним 15/07/22 Птн 00:39:35 #271 №2405682 
>>2405672
>>2405678
Спасибо
Аноним 15/07/22 Птн 00:39:43 #272 №2405683 
>>2405678
Сырцы будут отличаться от твоей версии. Лучше глянуть как тут советует анон для дефолтного компилятора >>2405672 и это намного проще.
Аноним 15/07/22 Птн 00:42:17 #273 №2405684 
>>2405683
далеко не вся стандартная либа - header only
Аноним 15/07/22 Птн 00:49:45 #274 №2405690 
>>2405683
>>2405684
открыл, нашёл кучу подключаемых внутри библиотек, кучу define'ов, кучу непонятного кода... закрыл, несколько разочаровался
Аноним 15/07/22 Птн 00:53:07 #275 №2405694 
>>2405690
Так это и не за один день писалось, а много лет вылизывалось, дебажилось, оптимизировалось.
Аноним 15/07/22 Птн 00:55:48 #276 №2405701 
>>2405694
я понимаю что там идеальный код, проблема в том что я ничего не понял - не похоже на тот С++ с которым я познакомился на курсах вроде "С++ для идиотов"
Аноним 15/07/22 Птн 00:57:49 #277 №2405703 
>>2405690
Это ты еще сорцы STL от GCC не открывал. По стандарту, STL может использовать только символы "__name" и "_Name", там вся библиотека из-за этого нечитаема, как будто обфускатором прошлись.

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

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

Всё обильно смазано шаблонами, макросами, условной компиляцией. Чтобы нормально читать STL сырцы, надо годик-другой покодить и книжки полистать.
Аноним 15/07/22 Птн 03:52:20 #279 №2405803 
>>2405626
>Есть ли что быстрее memcpy?
Ничего, обычно это интринсик, т.е. компилятор даже вызова функции не производит, тупо несколько ассемблерных кодов.
Аноним 15/07/22 Птн 05:58:22 #280 №2405811 
>>2405803
placement new на уже выделенной будет быстрее или нет?
Аноним 15/07/22 Птн 07:23:47 #281 №2405832 
>>2405090
мыщъх ...
хороший был
Аноним 15/07/22 Птн 07:27:25 #282 №2405834 
>>2405787
Почему в вашем смешном языке это означает нечитаемый код? Ровно та же нечитаемая хрень происходила в 80-х в stdio.h. Где прогресс-то?
Аноним 15/07/22 Птн 07:38:38 #283 №2405840 
>>2405787
хочешь читаемую стандартную библиотеку -- учи ocaml
Аноним 15/07/22 Птн 07:59:26 #284 №2405848 
>>2405811
Должен быть быстрее: даже если не запрашивается память у системы менеджер памяти подыскивает тебе кусок из выделенной ему памяти.
Аноним 15/07/22 Птн 08:00:27 #285 №2405849 
>>2405848
В случае обычного new.
Аноним 15/07/22 Птн 08:16:01 #286 №2405855 
>>2405465
Посмотри реализацию Metaparse, например. Да вообще любого из модулей.
>>2405486
Помню использовал Program Options и еще что-то по мелочи. Скорость компиляции падала в разы.
Буст это какая-то ебическая химера, дитя бюрократии и оверинжиниринга. Единственное оправдание её использования это когда надо хуяк-хуяк и в продакшн. Это также касается Qt и либ от гугла.
Аноним 15/07/22 Птн 08:19:39 #287 №2405856 
>>2405834
>Ровно та же нечитаемая хрень происходила в 80-х в stdio.h.
Можешь стдио 80ых показать?
Аноним 15/07/22 Птн 08:21:25 #288 №2405857 
>>2405855
>Буст это какая-то ебическая химера
У тебя в башке ебическая химера.
Буст это сборник библиотек. Просто много библиотек в одном комплекте, вот они и занимают много, но это и естественно, ведь их много. Но никто не заставляет их использовать сразу все, дебил. Испольщзуешь только те либы буста, которые тебе нужны, вот и всё. Надо быть совсем наглухо ёбнутым дебилом, чтобы ругать за то, что тебе дают много библиотек. Это достоинство, а не недостаток.
Аноним 15/07/22 Птн 08:52:44 #289 №2405873 
>>2405855
>Program Options и еще что-то по мелочи. Скорость компиляции падала в разы.
Чет не верится, програм опшанс как раз одна из компилируемых бустовских либ, из-за чего там падать.
Аноним 15/07/22 Птн 12:03:37 #290 №2406000 
>>2405787
>и книжки полистать
можешь сказать какие?
меня терзают сомнения что я хоть что-нибудь там пойму, так что буду рад ещё каким-нибудь советам
Аноним 15/07/22 Птн 14:33:31 #291 №2406151 
image
>>2405856
Аноним 15/07/22 Птн 14:55:58 #292 №2406164 
>>2405857
те либы, которые нужны тебе, тянут весь Core, а там пиздец
Аноним 15/07/22 Птн 14:56:34 #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
Аноним 15/07/22 Птн 15:08:23 #294 №2406168 
>>2406165
Ошибок и не будет, память все равно вся освобождается после закрытия программы, за ней ос следит.
Аноним 15/07/22 Птн 15:13:24 #295 №2406171 
>>2406168
это я знаю
вот в конструкторе по умолчанию у меня создаётся массив на 10 элементов в динамической памяти, потом, без очищения памяти этих 10 элементов я выделяю место на 20 элементов (потребуется после "сложения"), по сути это утечка памяти, которая должна приводить к ошибке при закрытии программы, о том что из элементов A, B, C, D элементы A, B, D "сообщили" (через деструктор) системе что им память больше не нужна, а элемент C сделал это только для одного участка памяти на 20 элементов, хотя запрашивал 2 участка на 10 и на 20 элементов
Аноним 15/07/22 Птн 15:19:24 #296 №2406174 
1598519826514.png
>>2406151
И что такого? Нормальный код же. Это ты ещё пикрилейтеды не видел с битмапами, по которым потом сдвигом гоняются данные.
Аноним 15/07/22 Птн 15:31:22 #297 №2406179 
>>2406171
>которая должна приводить к ошибке при закрытии программы,
Да с чего ты взял то? Система срать хотела на твои объекты, она выдает память страницами по несколько килобайт, и прекрасно знает кому сколько выдала, т.к. ведёт таблицы трансляции виртуальных адресов твоей программы на физические в памяти.
Аноним 15/07/22 Птн 15:37:06 #298 №2406185 
image
>>2406174
Тупое опасное говно, что в одном случае, что в другом.
Аноним 15/07/22 Птн 15:45:50 #299 №2406190 
>>2406179
а если первый раз выделяя динамическую память на 10 элементов я попаду на одну страницу, а выделяя 20 элементов - на другую?
система мне сообщит об ошибке?
- Уже проверил, просто удалил деструктор, ошибок не было
Аноним 15/07/22 Птн 15:55:50 #300 №2406198 
>>2406190
У тебя в стандартной библиотеке менеджер памяти, вызываемый при new, malloc и тп. Запрашиваешь 10 элементов, он берет целую страницу у системы. Запрашиваешь ещё 20, он выделяет их с той страницы которую уже запросил, т.к. она гораздо больше твоих 30 элементов. При выходе из программы система забирает себе все, неважно освободил менеджер память или нет. Утечки есть только во время работы программы, а не после. А менеджер нужен для эффективного управления твоей мелочью, которая системе неинтересна.
Все, я пошел домой, лекции закончены =)
Аноним 15/07/22 Птн 15:56:02 #301 №2406199 
>>2406151
Нормальный код, который можно читать в отличии от крестовых библиотек.
Аноним 15/07/22 Птн 15:57:55 #302 №2406201 
>>2406198
хорошего пути
Аноним 15/07/22 Птн 17:27:07 #303 №2406280 
>>2405834
Метапрограммирование в с++ изначально было плохо читаемым. Сейчас ты с этим ничего не поделаешь. Соглашения об именовании std тоже вытекают из базового дизайна языка.

Только вынос страуструпа из мавзолея и разгон комитета позволят создать новый современный язык.
Аноним 15/07/22 Птн 17:30:27 #304 №2406284 
>>2406280
Можешь подсказать где про это "метапрограммирование" можно на русском почитать? и по возможности чтоб ещё понятно было для тугих
Аноним 15/07/22 Птн 17:43:06 #305 №2406292 
>>2406280
> позволят создать новый современный язык
Уже раст сделали. А второго раста не будет, даже индусы уже официально поддерживают раст и полностью всё виндовое API на него биндят. Так что вариантов не много и больше не станет. А кресты уже ничем не спасти из-за обратной совместимости, какие-то базовые вещи типа implicit move или выражений уже не запилить даже закопав труп страуса.
Аноним 15/07/22 Птн 17:44:24 #306 №2406294 
>>2406000
По общему дизайну и немного о особенностях реализации
Josuttis: The C++ Standard Library

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

В остальном - общее повышение эрудиции через гугление увиденных вскользь терминов и идиом.
Аноним 15/07/22 Птн 17:52:17 #307 №2406299 
>>2406292
Бизнес денег туда особо не вливает. Хуяндекс сидит в комитете с++ и генерит сотни вакансий на плюсах. В других МЯСО конторах спрос на системшину скромнее и раст там тоже не замечен. Хуйвей наверное единственный, кто в свои манялаборатории на раст берёт.
Аноним 15/07/22 Птн 18:08:18 #308 №2406315 
>>2406294
Спасибо
Аноним 15/07/22 Птн 18:59:50 #309 №2406357 
>>2406174
Зачем они это делают?
Аноним 15/07/22 Птн 19:01:11 #310 №2406358 
Хочу вкатиться в запил микросервисов на плюсах, с чего начать?
Аноним 15/07/22 Птн 19:06:00 #311 №2406359 
>>2406358
С понимания того, зачем тебе это нужно, и почему стандартные языки не подходят.
inb4: лохчейн
Аноним 15/07/22 Птн 19:08:14 #312 №2406361 
>>2406359
>почему стандартные языки не подходят.
Слишком медленно работают
>лохчейн
В том числе
Аноним 15/07/22 Птн 20:26:53 #313 №2406411 
Почему кресты такие охуительные? Есть ли вообще что-нибудь идеальнее крестов?
Аноним 15/07/22 Птн 20:36:20 #314 №2406415 
>>2406411
Шарп.
Аноним 15/07/22 Птн 20:40:06 #315 №2406418 
>>2406357
Размер кода чтоб был очень низкий. Эта таблица заменяет кучу ифов и повторений кода.
Аноним 15/07/22 Птн 20:46:53 #316 №2406421 
>>2406418
И что будет если в проект придёт левый чувак который никогда такой ебаниной не занимался?
Аноним 15/07/22 Птн 20:50:46 #317 №2406424 
>>2406421
Выделят ему угол в опенспейсе возле туалета и кофемашину с дырявыми стаканчиками.
Аноним 15/07/22 Птн 22:27:25 #318 №2406501 
изображение.png
изображение.png
Хотел поизучать WinAPI, а хуй там. Студия 2022 не дает вариантов Win32 приложения, вместо этого некое "классической приложение", которое создает по умолчанию вот эту поебень с другим синтаксисом.
Аноним 15/07/22 Птн 22:29:08 #319 №2406502 
>>2406501
это стандартный С++ с тем самым винапи оконным.

Вообще - винапи можно и из соснольного приложения дергать.
Аноним 15/07/22 Птн 22:30:45 #320 №2406503 
>>2406415
RTC на микроконтроллерах Шарп потянет?
Аноним 15/07/22 Птн 22:31:21 #321 №2406504 
>>2406503
Аренду однушки в москве зарплата RTC на микроконтроллерах потянет?
Аноним 15/07/22 Птн 22:31:46 #322 №2406505 
>>2406502
А почему заинклюжена какая-то хуйня, вместо Windows.h? А любой код из гайдов по винапи выдает ощибки. Что майкрососы опять нахувертели?
Аноним 15/07/22 Птн 22:35:47 #323 №2406507 
>>2406505
там внутри какие-то обертки над виндовс.х
Аноним 15/07/22 Птн 22:38:47 #324 №2406509 
Обёртки над линукс.х
Аноним 15/07/22 Птн 22:47:17 #325 №2406514 
>>2406505
Чел, я хз что ты там смотришь, я только что собрал пару проектов из Windows-classic-samples на 22 студии v143, c Windows.h, все собирается с пол тычка.
Аноним 15/07/22 Птн 23:00:23 #326 №2406519 
>>2406504
более чем если не с видом на кремль
Аноним 15/07/22 Птн 23:49:40 #327 №2406546 
> мастер классических придожений
Бля, как вы это едите.
sage[mailto:sage] Аноним 15/07/22 Птн 23:54:38 #328 №2406551 
>>2406411
Хаскиль
Аноним 16/07/22 Суб 00:10:55 #329 №2406559 
>>2406551
Хуяскиль.
Аноним 16/07/22 Суб 01:08:11 #330 №2406583 
>>2406411
Окамл
sage[mailto:sage] Аноним 16/07/22 Суб 01:37:10 #331 №2406588 
>>2406559
Не знаю такого языка
Аноним 16/07/22 Суб 04:25:41 #332 №2406608 
>>2406583
двачую
Аноним 16/07/22 Суб 06:33:59 #333 №2406620 
>>2406501
Чел, создавай пустой проект или хотя бы консольный, если тебе не нравится шаблон оконного.
>>2406505
> какая-то хуйня, вместо Windows.h
WinAPI не только в Windows.h. И его никто в cpp не инклюдит.
> любой код из гайдов по винапи выдает ощибки
Начни с чего-нибудь попроще, с питона, например.
Аноним 16/07/22 Суб 07:34:20 #334 №2406624 
>>2406501
может это может помочь:
https://docs.microsoft.com/ru-ru/windows/win32/learnwin32/learn-to-program-for-windows?view=msvc-170
сам не пробовал
Аноним 16/07/22 Суб 07:41:19 #335 №2406625 
>>2406624
> /hru-hru/
Обоссан
Аноним 16/07/22 Суб 08:25:51 #336 №2406627 
>>2406625
по русски загуглил - по русски получил выдачи
your mother is a whore
Аноним 16/07/22 Суб 08:27:30 #337 №2406628 
>>2406627
>по русски загуглил - по русски получил выдачи
Я про это и говорю — получил выдачу струи в лицо
Аноним 16/07/22 Суб 12:50:14 #338 №2406732 
>>2406501
С каким "с другим", ебанько?
Аноним 16/07/22 Суб 15:14:55 #339 №2406861 
>>2406628
>>2406625
Подстилка барина прорвалась.
Аноним 16/07/22 Суб 19:20:10 #340 №2407070 
Да, вы были правы насчет получения элемента двумерного массива с помощью указателей, это оказалось элементарно.
Достаточно знать, что оператор a[x] равносилен ⚹(a+x), из этого следует, что для получения a[x][y] надо произвести операцию над результатом операции ⚹(y+result), где result это ⚹(a+x), то есть ⚹(⚹(a+x)+y).
Из интересного я заметил, что [][] массив адресов и a это указатель на указатель, я почему-то думал, что такое только у динамических массивов.

>>2406732
Да заебали, разобрался уже
Аноним 16/07/22 Суб 21:14:25 #341 №2407148 
>>2406501
>поебень с другим синтаксисом
Кекус.
Как определить дебила - по хрюсеку вместо интерфейса. Аналог мелкобуквы, сразу однозначно дебил и можно идти мимо, всё равно блеяние не имеет никакого смысла.
Аноним 16/07/22 Суб 21:32:43 #342 №2407192 
image
Как научиться понимать, что делает приведённый на пикриле магический код?
Можно конечно на листочке выписывать из таких примеров каждую такую операцию побитово и увидеть на каких-то примерах, что да, вроде правильно. Но это нихуя не прибавляет понимания и навыка в чтении такого кода. Как это читать не как китайскую грамоту? Как такое самому научиться придумывать?
Особенно порвался от подчёркнутой фразы, ага, конечно средний читатель сразу заметил лишнюю маску (это для первокуров пособие к занятиям по С++).
Аноним 16/07/22 Суб 21:39:52 #343 №2407201 
>>2407192
Все битоверчение состоит из шаблонов.
(1<<n)-1
n & (n-1)
n<<8 | n>>8
n = p - 1, m = -p
После того, как 100 раз увидишь и применишь каждый из них, научишься декомпозировать задачи. Ну и двочиный счет в уме, само собой. Надеюсь, ты хотя бы 16 степеней двойки помнишь?
Аноним 16/07/22 Суб 23:36:50 #344 №2407305 
>>2405097
классы в с++ и есть пользовательские типы
а шаблоны классов позволяют вводить семейства типов

Аноним 17/07/22 Вск 00:29:56 #345 №2407332 
изображение.png
изображение.png
изображение.png
изображение.png
Как думаете, что здесь твориться?
Аноним 17/07/22 Вск 01:34:57 #346 №2407343 
>>2406280
раньше - да, потому что делалось в функцональном стиле - константы времени компиляции не было, использовали рекурсию и ограниченный паттернматчинг
в новых стандартах все это делается в императивном стиле, с циклами, условными конструкциями и константами, времени компиляции, поэтому читать такой код легко, так как по концепции он не сильно отличаеться от кода который отрабатывает в рантайм
Аноним 17/07/22 Вск 01:52:30 #347 №2407349 
>>2406299
Раст - это совершенно другой язык. Актуальную кодовую базу на него не перенести. Актуальные работающие крестовики его не знают (кроме единичных ноулайферов).
Но медленное вытеснение будет происходить.
Аноним 17/07/22 Вск 02:05:16 #348 №2407354 
16570522258020.jpg
Сап! Хочу компилировать свой код в grid сети распределенных вычислений. Должны же быть готовые решения для этого под линуксом, чтобы не изобретать свой велосипед, ведь так?

Только чтобы "кластер" мог соединяться через интернет, а не шнурком. В любой момент подключиться, расшаривая ресурсы, и отключиться. Должно же что-то быть такое уже, да?
Аноним 17/07/22 Вск 02:08:59 #349 №2407355 
>>2407354
distcc?
Аноним 17/07/22 Вск 02:16:27 #350 №2407357 
>>2407355
>distcc?
да. Есть что-то готовое уже, как писал тут:
https://2ch.hk/s/res/3176094.html#3177232
Аноним 17/07/22 Вск 02:28:32 #351 №2407360 
>>2402402
>Рефлексия это понятие у скриптов
>С++ же это компилируемый язык
Пиздец, с кем я здесь сижу.
Для начала, нет такого понятия как "компилируемый язык". Есть язык. Для него можно сделать компилятор (транслятор в машинный язык). Для него можно сделать интерпретатор.

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

На остальное время лень тратить. И я мидл, пчел. Миддл в мухосрани. Если выяснится, что ты помидор, и такую ахинею с серьёзным лицом нёс в массы, то это пиздец.
Аноним 17/07/22 Вск 07:24:38 #352 №2407384 
>>2407360
>нет такого понятия как "компилируемый язык"
Есть такое понятие - отсутствие мозгов. Дебилодрон может попугаить только по предварительно заученному.
В то время как любой мыслящий человек прекрасно понимает, что компилируемый язык - который компилируется, а некомпилируемый - который интерпретируется. Как же сложно для понимания, ебать пиздец, но скриптодебилу и в самом деле сложно, у него
>врёти нисущиствуит!

>можно сделать
>нельзя не сделать
Охуительная ЛОГИКА скриптодебила, только при чем тут реальность? Лучше этот гнойник кретинизма не вскрывать.
Аноним 17/07/22 Вск 07:28:31 #353 №2407386 
>>2407332
Обычные хуки какой-то либы.
Аноним 17/07/22 Вск 07:35:32 #354 №2407388 
16456503897310.webm
>>2407386
>какой-то либы
Такой.
Аноним 17/07/22 Вск 07:41:00 #355 №2407391 
1658032859396.jpg
>>2402402
> рефлексия понятие у скриптов
Сынок, я видел рефлексию на сях
Достаточно просто мета инфу о типах хранить в сях это делалось руками и магическими дефайнами

да и на qt она тоже есть
Аноним 17/07/22 Вск 07:51:15 #356 №2407394 
>>2407391
>я видел рефлексию на сях
>>2402412

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

Говорю же, скриптодебил может только по скрипту пукать копипастой. Чатбот и то разнообразнее изображает человека, чем этот копировщик копипасты.
Аноним 17/07/22 Вск 08:44:01 #357 №2407405 
>>2407394
Я тебя не спрашивал раздувает она программу или нет
Я говорю что это нихуя не скриптовая фича
Аноним 17/07/22 Вск 09:02:13 #358 №2407410 
>>2407405
Скриптовая конечно, потому что это фича именно интерпретатора скриптов, а не компилятора компилируемых языков.
Аноним 17/07/22 Вск 09:04:45 #359 №2407412 
>>2407410
>а не компилятора компилируемых языков
а не скоппилированного исполняемого кода

фикс
Аноним 17/07/22 Вск 09:08:28 #360 №2407413 
Аноны, насколько memset быстрый? Есть какие-то способы быстрее заполнить байтом небольшой участок памяти в 8-32 байт? Я же правильно понимаю, там в любом случае в ассемблере будет цикл с mov? Если я сделаю без цикла битшифтами заполнение не будет ли это быстрее?
Аноним 17/07/22 Вск 09:11:25 #361 №2407415 
>>2407360
> Для начала, нет такого понятия как "компилируемый язык".

Тут ты не вполне прав.
Всё же есть языки для которых компиляция это необходимый шаг
в процессе разработки (то есть от изменения кода до ошибки),
и есть для которых нет.
Можно задрючиться в тонкости что мол и это можно откомпилировать, и то заинтерпретировать, но разница между плюсами и питоном поганым например -- налицо
Аноним 17/07/22 Вск 09:12:13 #362 №2407416 
>>2407413
8-32 байт должно в регистры влезать тащемта
Аноним 17/07/22 Вск 09:15:31 #363 №2407417 
>>2407413
> Аноны, насколько memset быстрый?
Анон, надежнее всего померить. В проприетарных либах попадается страшное говно.
> Есть какие-то способы быстрее заполнить байтом небольшой участок памяти в 8-32 байт?
Цикл, если размер переменный. Если размер известен, можно мемсет, хороший компилятор сам разберется.
> Я же правильно понимаю, там в любом случае в ассемблере будет цикл с mov?
Или rep stos. Или call memset. Или stmia...
Аноним 17/07/22 Вск 09:19:05 #364 №2407419 
>>2407413
если например заполнить байтом 8 байт то делаешь

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

а у кого адрес не кратный восьми тот сам себе злобный буратин
Аноним 17/07/22 Вск 09:23:26 #365 №2407421 
>>2407419
звездочки похерились само собой
Аноним 17/07/22 Вск 09:29:12 #366 №2407423 
>>2407415
Ты не прав.
Компиляция как необходимый шаг это не компиляция, а бессмыслица. Это исключительно мелкий квирк реализации, не больше, ничего не значащий.

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

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

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

Но тем не менее, это не называют компилятором, а называют интерпретатором, потому что компилированный код это не код исполнения, а код для машины-интерпретатора. То есть, настоящий компилятор это только такой компиляторр, который производит код непосредственного выполнения, а не какой-то промежуточный код для интерпретатора его выполнения. Последнее будет интерпретатором всё равно, даже если код для интерпретатора был скомпилирован промежуточным компилятором, и даже как отдельный процесс, это просто не имеет значения.
Аноним 17/07/22 Вск 09:42:50 #367 №2407425 
image
>>2407423
Шизик, спок. Компилятором называют то, что (1) выдаёт результат преобразования исходного текста. Хоть на пролог, хоть на васемблер at&t. Или (2), генерирует по исходному тексту исполняемый код. Хотя бы в память. Хотя бы для виртуального процессора.
Аноним 17/07/22 Вск 09:54:22 #368 №2407429 
>>2407425
Это бессмысленная демагогия, другой контекст.

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

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

Ты конечно можешь написать любую программу, и даже с рефлексией, но это будет свойство твоей программы, а не языка. На языке можно написать всё что угодно, это вообще не имеет значения, не является аргументом ничему.
Аноним 17/07/22 Вск 09:58:07 #369 №2407431 
А че мне reinterpret_cast не дает дабл к инту привести, я думал он все может. Я хотел посмотреть как дабловские байтики будут интерпритироваться как интовские как в union.
Аноним 17/07/22 Вск 10:18:23 #370 №2407437 
>>2407423
Вот допустим есть обычный айтимакак штат бангалор
Если он пишет на компилируемом языке то получать унижение будет от компилятора до запуска в продакшн
а если на интерпретируемом то после и уже не от компилятора

В теории разницы нет но нельзя отрывать теории от реалий
Аноним 17/07/22 Вск 10:24:24 #371 №2407439 
>>2407431
А на что жалуется когда не дает?
Аноним 17/07/22 Вск 10:25:51 #372 №2407440 
>>2407439
Недопустимое преобразование типа. С-стайл преобразует, но не так как хочется. Он 5.0 превращает в 5.
Аноним 17/07/22 Вск 10:29:01 #373 №2407444 
>>2407440
наверное можно записать в память и сделать int -> void -> double*
потом посмотреть какие там байтики

что там не так с reinterpret_cast я хз
Аноним 17/07/22 Вск 10:43:29 #374 №2407466 
>>2407429
Рефлексии как свойства языка нет, значит, рефлексия свойство того, кто исполняет. Если железный процессор исполняет код + понимает rtti, то у него есть рафлексия для компилированных крестов?
Аноним 17/07/22 Вск 10:52:17 #375 №2407477 
1658044335984.jpg
>>2407410
>>2407412
> фича не компилятора
> существует на компилируемых языках
Тролишь тупостью?
Аноним 17/07/22 Вск 11:08:32 #376 №2407502 
>>2407466
>Рефлексии как свойства языка нет, значит, рефлексия свойство того, кто исполняет.
Рефлексия это свойство интерпретатора, поэтому интерпретируемые скрипты имеют рефлексию нативно из коробки. Рефлексия это натуральное свойство скриптовых языков.

Для компилируемых же языков, рефлексия чужеродна, её там нет. Конечно можно накостылять и запихнуть, всё можно, но смысла не вижу. Нужна рефлексия, вот и пользуйся скриптами. Если разводить скрипты в компилируемом языке получится химера.
Аноним 17/07/22 Вск 11:09:17 #377 №2407504 
>>2407502
> ее там нет
> запихнуть можно
Аноним 17/07/22 Вск 11:18:39 #378 №2407511 
>>2407502
У меня от тебя китайская комната.
Рефлексия есть там, где она реализована (т.е. доступна программисту).
Компилятор отличается от интерпретатора по другому признаку.
Аноним 17/07/22 Вск 11:21:47 #379 №2407516 
изображение.png
>КИТАЙСКАЯ КОМНАТА
Аноним 17/07/22 Вск 11:25:32 #380 №2407520 
В awk тоже натурально есть рефлексия?
Аноним 17/07/22 Вск 11:38:59 #381 №2407533 
>>2407511
Дело не в том, что и где есть или нет.
Дело в понимании принципиальной разницы между скриптами и нативным кодом, между интерпретатором и компилятором.
Это именно принципиальная разница на фундаментальном уровне, а не какая-то ерунда вроде необходимости генерации файликов или нет, установки машины-интерпретатора в систему или нет, текстом распространяется программа или экзешником, с зависимостями или нет. Это всё ерунда, не имеющая никакого серьезного отношения к обсуждению того, что такое язык, что он из себя представляет, его концепции акк языка, что такое код который ты там пишешь, эти вещи разные у скриптовых и компилируемых языков, вот что важно.
А что куда можно запихнуть расскажи своей мамаше шлюхе, которая себе в анус всё пихает, даже не предназначенное, ведь не запретишь, долбоебов всегда хватает.
Аноним 17/07/22 Вск 11:47:28 #382 №2407537 
>>2407533
>Это именно принципиальная разница на фундаментальном уровне
>Это всё ерунда, не имеющая никакого серьезного отношения
Яскозал.
Аноним 17/07/22 Вск 12:42:40 #383 №2407597 
>>2407384
>В то время как любой мыслящий человек прекрасно понимает, что компилируемый язык - который компилируется
>>2407415
>Всё же есть языки для которых компиляция это необходимый шаг
Охуеть. Пиздец.

Вы теорию формальных языков в универе проспали что ли? Или вкатуны без ВО?
Аноним 17/07/22 Вск 13:14:23 #384 №2407654 
>>2407597
Академоблядь, спок. Я самоучка по нескольким направлениям, я уже выше тебя, которого за ручку ко всему привели.
Аноним 17/07/22 Вск 13:16:45 #385 №2407659 
Аноны, а возможно ли более одного раза перегрузить оператор индексирования, один для public-секции(с доступом не по ссылке, чтоб только получать значение по индекса), другой раз для private(чтоб методы класса могли с ним работать по ссылке)?
Аноним 17/07/22 Вск 13:22:10 #386 №2407667 
>>2407654
>я уже выше тебя
>срёт на дваче
Аноним 17/07/22 Вск 13:28:43 #387 №2407680 
>>2407667
Ну типо, не задираю нос и открещиваюсь от плебса как многие проебланившие 4 года, а остаюсь близким к народу каким бы уебанским тот ни был.
Аноним 17/07/22 Вск 13:42:56 #388 №2407710 
>>2407659
Точку с запятой себе перегрузи, а потом ищи где не работает.
Аноним 17/07/22 Вск 13:59:44 #389 №2407733 
>>2407680
>открещиваюсь от плебса
Кто сказал, что я открещиваюсь? Просто учить других чему-то типа различию между языком и программами для обработки языка - себе дороже. Это нужно только когда ты какую-то теоретическую хуету обосновываешь. Лучше ещё раз вчерашнему студенту объяснить, зачем слово виртуал при наследовании и почему нельзя копировать объекты, используя интерфейс. Это больше пользы принесёт.

Но совершенно другое дело, когда начинают нести чушь, будучи абсолютно уверенными в том, что это правда. Приумножают заблуждения типа. Сам таким был, и мне-то нос утёрли. А вот вам похоже нет. Ну продолжайте, хули я ещё могу сказать.
Аноним 17/07/22 Вск 14:41:01 #390 №2407804 
>>2407597
>>мыслящий человек
Что тебе в этой фразе непонятно? Ладно, даун, поясняю: тупо заучивать что тебе вливают в бошку, а потом это тупо цитировать, это не мышление, не мыслящий человек, а безмозглый гуглобот. Так что можешь своими теоремами подтереться, они всё равно для идиота бесполезны, раз не умеет думать, а только цитировать как попугай.
Аноним 17/07/22 Вск 14:47:45 #391 №2407813 
16498678271300.png
> у скриптовых и компилируемых языков
Аноним 17/07/22 Вск 14:48:09 #392 №2407816 
>>2407804
>Так что можешь своими теоремами
Ты только что определения. С определениями не спорят. Выдумывают свои, если другие не нравятся. Другое дело, насколько твои определения будут полезны.
Аноним 17/07/22 Вск 15:28:46 #393 №2407862 
image.png
>>2407816
Это и есть идиотия в чистом виде. Пациент может только повторять заученное под копирку. Не может читать и понимать что мыслящий человек говорит когда речь отличается от заученной копирки. Это классическая проблема искусственного интеллекта (ИИ) - тупость, неспособность соображать за пределами обученной модели.

Когда мыслящий человек ситает и понимает написанное, он понимает и значение терминов, ибо всё в контексте. А безмозглый гуглобот выкидывает экзепшен "Ошибка Терминологии" и прекращает функционирование. Сейчас даже роботов делают умнее, они не крашатся от одной фразы как ты.
sage[mailto:sage] Аноним 17/07/22 Вск 15:30:18 #394 №2407863 
>>2407862
Я запощу один пост с сажей, чтобы показать, как я тебя презираю.
Аноним 17/07/22 Вск 19:19:19 #395 №2408091 
>>2407597
Нет блять тут анон сидит дремучий, который дальше прикладной теории категорий не продвинулся.

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

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

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

Твоя ошибка в том что ты рассматриваешь язык отдельно от сопутствующих человеческих процессов. А так делать нельзя потому что язык это прежде всего средство человеко-компьютерного взаимодействия
Аноним 17/07/22 Вск 19:22:45 #396 №2408093 
>>2407863
Тут есть пара человек с пенсией по шизе, это кто-то из них
Аноним 17/07/22 Вск 19:28:42 #397 №2408097 
16487134797750.gif
>>2408091
Аноним 17/07/22 Вск 19:30:22 #398 №2408099 
>>2408091
>диалектический материализм
Нефальсифицируемый лженаучный подход.

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

>>2408097
Надо мне у тебя поучится вот этому волшебному "take it easy". А то зла прост не хватает.
Аноним 17/07/22 Вск 19:59:01 #399 №2408126 
2166210858.jpg
>>2408099
> Уноси туда, откуда принёс.
пц там еще есть могу отсыпать
Аноним 17/07/22 Вск 20:00:13 #400 №2408129 
>>2407597
У меня в вузе не было такого предмета
Аноним 17/07/22 Вск 20:38:54 #401 №2408177 
изображение.png
Решил заинтересоваться вашим спорром, а тут википедИя за два предложения закрыла тему.
Аноним 17/07/22 Вск 20:59:37 #402 №2408208 
>>2408177
> за два предложения закрыла тему
Как и ожидалось от человека, что вовсю потакает своей предвзятости подтверждения, второй абзац ты даже не читал.
Алсо, как выше анон отписал, формальные языки - это академическая область, а не хуй собачий.

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

Алсо, как же я много времени здесь проебал на хуйню.
Аноним 17/07/22 Вск 21:01:05 #403 №2408211 
>>2408208
Ты значит у английский господ хуй сосегь. Но ничего, госпожа Логика выебет тебя в жопу страпоном.
Аноним 17/07/22 Вск 21:03:09 #404 №2408215 
>>2408211
Да нет. Просто в ангельской версии источников аж два, лол. И хуй, который ты будешь сосать на английском менее вонюч.

Я же хуй совсем не сосу, потому что я знаю, что компилируемый язык - это костыльное определение, созданное неучами. Как и многие неологизмы. Из недавнего помню хороший глагол эмоционировать.
Аноним 17/07/22 Вск 21:14:24 #405 №2408225 
>>2408129
Тащемта у нас тоже как такового не было. Назвали его чё-то типа "Введения в ТФГиЯ" или "Основы ТФГиЯ". Хуй уже вспомню.

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

Очень круто было тогда, да. Но это всё абсолютные основы. Собственно, я никогда экспертом по этой еболе и не был. Поэтому и удивляюсь, что люди делают ошибки, которые даже такой чел, как я, может задетектить.
Аноним 17/07/22 Вск 21:32:43 #406 №2408241 
>>2408225
> машину Тьюринга, рекурсивные функции и алгорифмы Маркова
> теорем о трансляции из произвольного языка в произвольный
> по языкам с автоматами, регулярками, БНФ и прочей лабудой
Нахуй это говно вообще нужно кодеру в отрыве от реальности? Когда столкнёшься с проблемой, для решения которой нужно подобное говно - за час разберёшься на ходу. Это намного продуктивнее будет, чем учить какую-то теорию непонятно нахуя и для чего это можно применить ИРЛ.
> описанием трансляции из си-подобного языка в подобие ассемблера для x86_32
Опять же, написание AST и кодогенерация ASM или IR - довольно простое занятие. Компилятор простого псевдокода на LLVM пишется за день. Нахуй этому учиться, если после ебучего Калейдоскопа в доках всё понятно становится за час?
Аноним 17/07/22 Вск 21:38:21 #407 №2408247 
>>2408241
>Когда столкнёшься с проблемой, для решения которой нужно подобное говно - за час разберёшься на ходу.
Может быть мы вообще из разных миров, в конце-концов я из мухосрани за уралом. Ты можешь быть гением. Но всё же, из всех своих одногруппников только я нормально выучил регулярки. Не "обрезаные" для теории, а perl-compatible которые. "С час на ходу", ага.

>Опять же, написание AST и кодогенерация ASM или IR - довольно простое занятие.
Не для всех же. Не ровняй вчерашнего школьника, который лишь года два как пересел на линукс с собой нынешним.

Тащемта это был хотя бы нормальный предмет, в отличии от матана и диффуров, которыми мне очень так хорошо подзатыльник дали. До сих пор нихуя не помню как я сдал их.
Аноним 17/07/22 Вск 21:45:07 #408 №2408249 
>>2408241
> кодогенерация ASM или IR - довольно простое занятие. Компилятор простого псевдокода на LLVM пишется за день.
Чел, ты встал на плечи всем этим челам, которые учили теорию. И занимаешься компиль-макакингом.
Аноним 17/07/22 Вск 21:46:36 #409 №2408250 
>>2408247
Все эти студентики начинают с зазубривания, выбирая программирование на похуе потому что в ИТ платят хорошо. А у нормальных людей наоборот всё - им нравится кодить и они начинали с чистой практики, имея из теории только половину трупа страуса.
Аноним 17/07/22 Вск 21:47:18 #410 №2408252 
>>2408249
Ахах, а ты хуль на плечи встал инженеров интела, давай напильником камень обтачивай да плату паяй.
Аноним 17/07/22 Вск 21:51:16 #411 №2408255 
>>2408250
>имея из теории только половину трупа страуса
Кек, люблю хвастатся тем, что я читал только одну главу страуструпа. Он в первой главе начинает бросаться всякими конструкциями направо и налево (в отличии от K&R, который к тому времени был прочитан). Ну и я подумал, что недорос до книжки. Начал читать про плюсы в других источниках и пилить игрушечные проги, чтобы понять как это всё работает.

Когда вернулся и смог нормально первую главу прочитать оказалось, что это всё было "размахивание хуём" и вот сейчас, со второй главы он начнёт объяснять. Я тогда очень долго ржал.
Аноним 17/07/22 Вск 21:54:44 #412 №2408261 
>>2408249
Ну так-то LLVM без проблем можно заменить чистым ассемблером, разница лишь в оптимизациях, а это уже совсем другая история, не связанная с теорией ЯП.
Аноним 17/07/22 Вск 21:57:49 #413 №2408265 
>>2408255
> люблю хвастатся тем, что я читал только одну главу страуструпа
Я тоже дропнул его мгновенно на первых 50 страницах, шлюху александреску тоже не осилил - у него вообще пиздец вода. Так ни одной книги по крестам и не прочитал. В давние времена просто ушёл на MSDN и шарп, а потом уже и нахуй книги не нужны стали для вката в кресты, когда документация и гугл есть.
Аноним 17/07/22 Вск 22:01:09 #414 №2408269 
>>2408261
А yacc можно заменить рекурсивным спуском, за день напишу. Ну за неделю. Ой...
Аноним 17/07/22 Вск 22:01:38 #415 №2408270 
изображение.png
Труп Страуса на 30 странице, не знаю, чего вы испугались.
Аноним 17/07/22 Вск 22:45:36 #416 №2408322 
.png
>>2408270
Труп страуса бывает разный. В "Язык программирования C++" он уже на 155 странице пишет парсер формул.
Аноним 17/07/22 Вск 23:04:07 #417 №2408341 
>>2408322
Ебать там русек.
Аноним 17/07/22 Вск 23:16:20 #418 №2408354 
>>2407863
Ошибаешься, я анонимный никто, которого невозможно презирать. Ты презираешь высказанную информацию, правду, т.е. самого себя, но переводишь стрелки. Это стандартный психологический инстинкт.

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

Компилятор выдаёт что-то про couldn't deduce template parameter '_Sent2', когда пытаюсь дописать явно шаблонные параметры set_difference<здесь>, то не помогает https://godbolt.org/z/b1e5q8joK
Аноним 18/07/22 Пнд 04:09:16 #420 №2408535 
>>2408516
>У первого и второго рейнджа обязательно должны быть одинаковые типы элементов что ли?
Очивидно
Аноним 18/07/22 Пнд 04:11:13 #421 №2408536 
>>2408516
>Компилятор выдаёт что-то про couldn't deduce template parameter '_Sent2'
Там несколько перегрузок, эта тебя не интересует
> пытаюсь дописать явно шаблонные параметры
Для set_difference это невозможно
Аноним 18/07/22 Пнд 10:25:47 #422 №2408623 
>>2408516
И вообще смотри в вывод шланга, он на порядок читабельнее
Аноним 18/07/22 Пнд 10:28:49 #423 №2408625 
>>2408623
https://godbolt.org/z/z6rde3Pzq отклеилось
Аноним 18/07/22 Пнд 14:56:15 #424 №2408850 
>>2408625
>constraints not satisfied
>mergeable
А, ок, ясно, спасибо. Всё равно как-то странно, set_difference по смыслу вроде же выдаёт значения из
Аноним 18/07/22 Пнд 15:26:03 #425 №2408868 
>>2408850
Нет, он только сравнивает по
А значения выдаёт из
Аноним 18/07/22 Пнд 16:22:39 #426 №2408975 
изображение.png
>>2397264 (OP)
Программач поздравь меня, я вроде даже нашёл работу на плюсах. Вот только есть одно - проект. Он выглядит примерно как дом на пике, без документации и прочих человеческих радостей.

Есть ли методы обуздать эту кучу дерьма и с чего начать?
Аноним 18/07/22 Пнд 16:32:45 #427 №2408991 
>>2408975
>Есть ли методы обуздать эту кучу дерьма и с чего начать?
Ищешь точку входа и идешь дальше по цепочке, т.е. банально читаешь код.
Аноним 18/07/22 Пнд 17:24:26 #428 №2409039 
>>2408975
поделись кул-стори как работу нашёл?
Аноним 18/07/22 Пнд 18:04:02 #429 №2409067 
char или unsigned char для указателей на хуй пойми что?
Аноним 18/07/22 Пнд 18:06:47 #430 №2409071 
>>2409067
void*
Аноним 18/07/22 Пнд 18:20:09 #431 №2409077 
>>2409039
Ну на хх начал слать резюме. Только опыт поставил не нулевой, а от 1 до 3-х лет. Прошёл собесы в апреле-мае. Хрка сказала - согласуем с руководством - сообщим. Я через пару недель подумал что ребята отмазали. Вот уже в июне вышли на свзяь, и приняли.
Аноним 18/07/22 Пнд 19:37:18 #432 №2409120 
>>2409077
какой стек технологий?
я тоже хочу перекатиться, но кроме сишечки ничего не знаю, куда дальше учить тоже идей особо нет
Аноним 18/07/22 Пнд 20:14:53 #433 №2409155 
>>2409077
можно на твоё резюме посмотреть? без фоточки разумеется и данных для деанона
Аноним 18/07/22 Пнд 20:18:16 #434 №2409158 
>>2408975
Так почему бы не инкапсулировать весь этот кал и не обращаться к нему через интерфейс.
Аноним 18/07/22 Пнд 20:21:06 #435 №2409163 
>>2409077
Лучше скажи, че на собесах спрашивали
Аноним 18/07/22 Пнд 20:31:49 #436 №2409171 
>>2408975
Да норм, я примерно на таком же проекте работаю, вопрос времени, как во всех комнатах побываешь, за все двери посмотришь, везде стены подкрасишь, будешь как дома.
> Есть ли методы обуздать эту кучу дерьма и с чего начать?
Бтв с изучения проекта, как только поймешь как проект устроен, что в каких модулях обрабатывается и какими средствами достигается решение, станет легко
Аноним 18/07/22 Пнд 21:35:57 #437 №2409252 
>>2409120
Да вроде чистые плюсы (Сам учил. В универе только хелоу ворды писать учили), но придётся ещё ндк подтянуть. А так ещё чутка графики да вот и весь стек.

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

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

>>2409171
Да сейчас у меня задача закрепиться и наработать хотя бы год два опыта работы. И да ты бы потерпел бы самопальный смарт пойнтер у себя в доме?
Аноним 18/07/22 Пнд 21:38:05 #438 №2409258 
изображение.png
>>2409252
> Да ни чего такого страшного не спрашивали.
Чел, ну откуда мне значть, что для тебя не страшно. Может ты дифуры решал или писал на листочке хитровыебанную сортировку.
Аноним 18/07/22 Пнд 21:41:50 #439 №2409263 
>>2409258
Да нихуя. О вспомнил, назови свои любимые контейнеры в стл.
Аноним 18/07/22 Пнд 21:44:20 #440 №2409265 
>>2409263
Раньше были векторы, после того, как узнал о плюсах и минусах, применяю по задаче. unordered_set нравится за самую большую скорость большинства операций.
Аноним 18/07/22 Пнд 22:05:33 #441 №2409293 
>>2409265
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 процентов вектора.

Как-то так чего вспомнил, примерно то же самое рассказал.
Аноним 18/07/22 Пнд 22:23:24 #442 №2409312 
16494171183830.jpg
>>2409067
caddr_t
Аноним 19/07/22 Втр 05:49:06 #443 №2409483 
>>2409312
hzaddr_t
Аноним 19/07/22 Втр 11:53:04 #444 №2409657 
Указатель uint8_t возвращает только битовые значения? Смогу ли я вернуть строку текста?
Аноним 19/07/22 Втр 12:54:41 #445 №2409700 
>>2409657
>uint8_t
Ты внимательнее посмотри на тип. u - обозначает беззнаковое
int - целое 8 кол-во бит. Его конечно можно использовать для хранения битовых значений (целых восьми штук!)

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

Если ты приведёшь его к char указателю, то компилятор работая с ним будет рассматривать эту ячейку как указатель символ.
Аноним 19/07/22 Втр 12:58:47 #446 №2409710 
изображение.png
Объясните, почему этот код работает, я захватываю х по ссылке, должна же быть висячая ссылка.
И как мне сделать захват по константной ссылке, например чтобы захватить объект.
Аноним 19/07/22 Втр 13:31:08 #447 №2409735 
>>2409710
> Объясните, почему этот код работает, я захватываю х по ссылке
А ты что ожидал? Что у тебя за шиворотом кусок говна окажется из-за этого? Ну говори свой адрес, мы тебе всем тредом это обеспечим.
Аноним 19/07/22 Втр 13:32:30 #448 №2409737 
>>2409735
Токсик, спок.
Аноним 19/07/22 Втр 13:33:49 #449 №2409738 
>>2409737
Что токсик, блять. Что ты ожидал увидеть? Что такое "код работает"? Как ты это определяешь? Кодоработометром?
Аноним 19/07/22 Втр 13:34:06 #450 №2409740 
>>2409738
Выводит 50
Аноним 19/07/22 Втр 13:35:14 #451 №2409741 
>>2409740
Любой код, который выводит 50, называется "работает"?
Аноним 19/07/22 Втр 13:38:27 #452 №2409742 
>>2409741
Ну да.
Аноним 19/07/22 Втр 13:39:50 #453 №2409743 
>>2409742
Ну вот у меня есть код (не твой), который не выводит 50. Он работает?
Аноним 19/07/22 Втр 13:41:15 #454 №2409744 
>>2409710
Тебе повезло. Перекомпилируешь с другими флагами/другим компилятором/не в ту фазу луны ии он перестанет работать
Аноним 19/07/22 Втр 14:01:33 #455 №2409759 
>>2409710
Это UB. А вообще труп страуса уже давно пишет гайд как правильно плавать к этой каше конструкций языка и не оказываться по верхнюю губу в говне. Будешь всё это соблюдать - будешь жить счастливо без UB и вопросов почему работает/не работает.
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
Аноним 19/07/22 Втр 14:40:07 #456 №2409811 
Котаны, а как вы лично относитесь к использованию перегрузки operator( ) ?
Вместо void-функции.

Это действительно антипаттерн? Мне лично такой подход нравится.
Аноним 19/07/22 Втр 15:12:44 #457 №2409859 
>>2409811
Читать такое невозможно. Если для того чтобы понять код нужно скролить в начало или даже смотреть в хедер, то это чистейший говнокод. А если там snake_case, то это говно невозможно отличить от вызова конструктора.
Аноним 19/07/22 Втр 15:19:34 #458 №2409869 
>>2409859
понял
Аноним 19/07/22 Втр 15:21:19 #459 №2409871 
>>2409710
Забавляет как додики дрочат лямбды не знаю что к чему а главное зачем.
Аноним 19/07/22 Втр 15:33:33 #460 №2409881 
>>2409871
Двачую. Я ими вообще не пользуюсь, они не читаемы
Аноним 19/07/22 Втр 17:01:46 #461 №2409984 
>>2409881
А предикаты отдельными функциями делаешь?
Аноним 19/07/22 Втр 17:10:49 #462 №2409993 
image.png
Собираю qmake config для qt для кросскомпиляции под orange pi, выскакивает такая ошибка, что делать?
Я бы установил просто qt и просто собирал бы на orange pi проекты, но там не откуда qt скачать, во всех ОС все ссылки для скачивания qt не работают
Аноним 19/07/22 Втр 17:14:37 #463 №2409995 
>>2409993
Тебе надо указать под какую архитектуру ты компилировать собрался. Предположу что в конфиге или мейке есть переменная. Поищи.
Аноним 19/07/22 Втр 17:15:55 #464 №2409996 
>>2409995
я выбрал ключ -device там написал raspberrypi2
Аноним 19/07/22 Втр 17:15:59 #465 №2409997 
1649802252689.mp4
>>2409993
> убунта
sage[mailto:sage] Аноним 19/07/22 Втр 17:17:36 #466 №2410000 
>>2408354
>Ошибаешься, я анонимный никто, которого невозможно презирать
Хуясе шиза. Таблетки.
Аноним 19/07/22 Втр 17:22:22 #467 №2410005 
>>2409997
По делу есть что сказать?
Аноним 19/07/22 Втр 17:24:56 #468 №2410008 
>>2409996
Извини, в глаза ебусь. Проблема не в указании сборки.

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

>>2409740
а у меня выводит 32764
инфляция наверное
Аноним 19/07/22 Втр 17:48:19 #474 №2410031 
>>2410009
какая функция будет точкой входа решает не ОС а компилятор

ОС ожидает определенный формат файла бинарника
например в линуксе это эльф
https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format
и там в поле e_entry лежит адрес точки входа
Аноним 19/07/22 Втр 17:54:38 #475 №2410032 
>>2410031
> в линуксе
кого вообще ебёт что там у пердолей?
Аноним 19/07/22 Втр 17:58:51 #476 №2410034 
>>2410032
какая разница линукс или нет
или ты думаешь у мс говно фиалками пахнет?
Аноним 19/07/22 Втр 18:02:40 #477 №2410037 
>>2410032
Лол двачую. Установил себе рядом с виндой дебиан, думал буду изучать особенности программирования под линукс, posix, gcc, вся хуйня. А потом понял, что так может продолжаться долго и решил, что лучше буду специализироваться на винде, чем знать все платформы, но по верхам.

Кстати, а могу я в линуксе напрямую обратиться (не через системный вызов) к клавиатуре например и заставить ее могнуть лампочкой? Винда я так понял только через винапи позволит такое.
Аноним 19/07/22 Втр 18:05:38 #478 №2410039 
>>2410037
> могу я в линуксе напрямую обратиться (не через системный вызов) к клавиатуре например и заставить ее могнуть лампочкой
Тебе придётся писать модуль ядра. А API там максимально каловое, почти винапи.
> Винда я так понял только через винапи позволит такое.
Под виндой наверняка найдёшь либу для своей клавы.
Аноним 19/07/22 Втр 18:38:59 #479 №2410067 
image.png
>>2410039
> API там максимально каловое
максимально каловое это X11
Аноним 19/07/22 Втр 18:57:12 #480 №2410086 
>>2410037
>Кстати, а могу я в линуксе напрямую обратиться (не через системный вызов) к клавиатуре
Через файл.
Аноним 19/07/22 Втр 18:58:27 #481 №2410088 
>>2410086
Не считается, файл это интерфейс ОС.
Аноним 19/07/22 Втр 19:00:44 #482 №2410091 
Всем хай. Сейчас изучаю multithreading, но пока не уходил далеко от примеров, которые есть в туториалах. Подскажите несколько вариантов того, что можно заимплементить с мультритредингом? пока что понял принципы работы thread, mutex, conditional variable.
Аноним 19/07/22 Втр 19:20:00 #483 №2410120 
>>2410091
Возьми любую штуку из повседневной жизни. Например реализуй систему заказов в кафе, где посетители асинхронно делают заказы, а ты это автоматизируешь. Пример посложнее придумай
Аноним 19/07/22 Втр 19:39:16 #484 №2410134 
>>2410067
+++
Аноним 19/07/22 Втр 19:42:12 #485 №2410141 
image
>>2410091
Сортировку.
Аноним 19/07/22 Втр 19:47:59 #486 №2410153 
>>2410091
sleep sort
параллельный grep
простой веб сервер для статики
Аноним 19/07/22 Втр 20:03:48 #487 №2410168 
А как сервера тестировать? Есть ли хостинги, где можно свое приложение залить с вирусами?
Аноним 19/07/22 Втр 20:07:02 #488 №2410172 
>>2410168
Купи по первой ссылке в гугле/торе
Аноним 19/07/22 Втр 20:12:01 #489 №2410183 
>>2410168
Любой VPS или, если подходит, хостинги докер-контейнеров. Последние даже бывают бесплатные.
Аноним 19/07/22 Втр 21:02:45 #490 №2410220 
>>2409993
>qt не грузится
https://github.com/miurahr/aqtinstall
Аноним 19/07/22 Втр 22:08:44 #491 №2410251 
>>2408225
У меня теорию формальных языков читала максимально похуистичная бабуля на кафедре, лабы принимала она и еще какой-то древний доисторический дед.
Из курса максимум смог запомнить что такое детерменированный конечный автомат.
А так еще конечно было всякое, и про ast, и про нка, теоремы о преобразовании дка <-> нка, лабы оп yacc и lex, которые вроде бы все списали по итогу, и регулрярки, и т д, жалею конечно что на интересный предмет по итогу забил хуй (как и на 90% остального, что нам преподавали), но и преподы у нас говноеды были еще те.
Аноним 19/07/22 Втр 23:48:21 #492 №2410348 
А зачем в linux нужны жесткие ссылки? Я как узнал, прям охуел с тупости этой концепии. Ты удаляешь такое интимное фото, а нихуя, это была ссылка. Или ты портишь файл, думая, что это копия, а потом оказывается что изменения примерились везде.
Аноним 19/07/22 Втр 23:57:49 #493 №2410356 
>>2410348
Все минусы, которые ты перечислил, происходят из твоего криворукого ДНК. А жесткие ссылки - это охуенно, и виндобляди сосать, что так не можете. Это позволяет мне в одно и то же время производить разное деление фотографий на категории, и использоване места на диске от этого не множится. Symbolic сосать, короче.
Аноним 20/07/22 Срд 00:00:44 #494 №2410363 
https://old.reddit.com/r/programming/comments/w2thvo/carbon_an_experimental_c_successor_language/
Поясните за ABI который так не хотят ломать. У меня вообще какой то эффект Манделлы с этой хуиты, будто я перенесся из параллельного измерения. Разве ABI не меняется с каждым релизом компилятора и либ, мажорным-минорным похуй, да буквально с каждым пуком. И по этой самой причине прыщеблядье качает по сотне мегабайт аптейтов каждый день.
И еще
> ABI is .. mangling ..
Разе это не определяется целиком компилятором и ровно для этого придуман "extern C" или как там его.
Аноним 20/07/22 Срд 00:01:07 #495 №2410364 
>>2410356
> производить разное деление фотографий на категории
Бля, теперь также хочу. А еще хочу, чтобы у каждого графического файла были вшиты теги, по которым их можно отбирать
Аноним 20/07/22 Срд 00:16:06 #496 №2410374 
>>2410091
ftp сервер
Аноним 20/07/22 Срд 00:18:36 #497 №2410378 
>>2410251
>теорию формальных языков
один из интереснейший курсов которые можно (если повезет с преподом), получить в вузике учась на программиста
перекат Аноним 20/07/22 Срд 00:34:13 #498 №2410387 
https://2ch.hk/pr/res/2410386.html
https://2ch.hk/pr/res/2410386.html
https://2ch.hk/pr/res/2410386.html
Аноним 20/07/22 Срд 00:39:13 #499 №2410390 
>>2409881
Нет, я не против лямбд как таковых, это крутая фича, когда она к месту, а не как у того анона.
>>2409984
Думаю это зависит от того что и как ты пишешь, мне как правило ифов хватает.
Аноним 20/07/22 Срд 02:23:26 #500 №2410431 
>>2410387
рано блять
Аноним 20/07/22 Срд 03:08:09 #501 №2410435 
>>2410363
Как ты будешь без ABI подключать либы написанные на фортране?
Аноним 20/07/22 Срд 03:11:31 #502 №2410436 
>>2410435
При чем тут вообще это говно древнее когда речь идет про изменение ABI плюсов?
Аноним 20/07/22 Срд 05:55:06 #503 №2410464 
>>2410037
>Кстати, а могу я в линуксе напрямую обратиться (не через системный вызов) к клавиатуре например и заставить ее могнуть лампочкой?
Да, понажимай пальцем на NumLock.
Аноним 20/07/22 Срд 09:08:09 #504 №2410507 
>>2410431
а когда еще блять
Аноним 20/07/22 Срд 09:11:59 #505 №2410511 
>>2410507
После 1000 постов, залётный.
Аноним 20/07/22 Срд 10:03:21 #506 №2410541 
>>2410511
Да всмыыыыыысле, я специально правила искал, нихуя не нашел такого, и много тредов рядом вижу с перекатом на 500. Я думал, вы тут так долго сидите, потому что иногда и до 2000 доходите, ебанутые просто.
Аноним 20/07/22 Срд 10:05:18 #507 №2410543 
>>2410541
Чел, если ты не можешь досидеть хотя бы до 1000, то какой из тебя крестовик? Тебе тогда надо в питон идти.
Аноним 20/07/22 Срд 10:09:34 #508 №2410544 
>>2410541
А ещё в правилах ничего не сказано про треды о C++.
Аноним 20/07/22 Срд 10:16:57 #509 №2410550 
>>2410544
Так под правилами я имею ввиду технические особенности всей борды, когда там бамплимит наступает и тред тонет. Это ж не может оверрайдиться для отдельной серии тредов, потому что живые люди перекатывают, а человек человеку человек, может и обосраться, и кончи сглотнуть... Вот есть бесконечные треды, которые сверху режутся на 502 где-то, а про другое не знаю.
Аноним 20/07/22 Срд 10:20:57 #510 №2410558 
>>2410550
Бамплимит не связан с перекатами.
Аноним 20/07/22 Срд 10:40:10 #511 №2410576 
>>2410558
А с чем он еще связан, лол? После определенного количества постов дальнейшая активность перестает поднимать тред в списке, и все больше и больше других тредов поднимаются выше него, пока он не выпадает из списка. Перекаты нужны, чтоб тред снова ожил в списке. Не?
Аноним 20/07/22 Срд 11:06:36 #512 №2410593 
>>2410576
Это тебе не /b/. Нужен тематический тред - переходишь в него по тегу. А тред, висящий в топе, привлекает только всяких мимокрокодилов, толстяков и шизиков. Сразу после бамплимита резко повышается адекватность треда.
Аноним 20/07/22 Срд 12:19:03 #513 №2410683 
>>2410593
Ладно, я просто случайно осознал, что для объявления параметра-ссылки не обязательно определение структуры, которая по ссылке, и придумал шутку для шапки.
Аноним 24/07/22 Вск 00:28:36 #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 нет. Не то, чтобы проблема, но хочется знать.
Аноним 24/07/22 Вск 13:25:44 #515 №2414684 
image
Почему считается, что double (IEEE floating point 64 bits) имеет точность до 17 значащих десятичных цифр?
На хранение мантиссы отводится 52 явных + 1 неявный бит.
Соответственно, получаем, что целое максимальное число, которое точно может храниться в мантиссе - это (2^53)-1, что примерно равно 10^15.955 или 9007199254740990 (16 десятичных цифр).
Где ещё одна десятичная цифра?
Аноним 24/07/22 Вск 16:54:45 #516 №2414940 
Безымянный.png
>>2414684
В данном случае "точность" значит количество знаков, необходимых для точного раунд-трипа string->double->string (15 знаков) или double->string->double (17 знаков). Я давно с флоатами не имел тесных отношений поэтому не могу сказать больше, чем гугл.
Аноним 10/08/22 Срд 02:42:13 #517 №2429398 
>>2397589
Если версия старше 20 и нет концептов, то можно попробывать https://ru.wikipedia.org/wiki/Curiously_recurring_template_pattern
Получится задизайнить как с виртуальным наследованием, но вся магия будет на этапе компиляции
Аноним 10/08/22 Срд 02:43:55 #518 №2429399 
>>2397589
Если версия старше 20 и нет концептов, то можно попробывать https://ru.wikipedia.org/wiki/Curiously_recurring_template_pattern
Получится задизайнить как с виртуальным наследованием, но вся магия будет на этапе компиляции
Аноним 14/08/22 Вск 01:59:12 #519 №2433139 
Сап, котеки. Надеюсь, тут есть шарящие в теме. Хочу кодить ставить хуки в windows 10 на уровне ядра, дабы ни одна операция на моём компе не могла от меня утаиться. Инфы -- с гулькин уй. Чужие работы 4/5 будут просто некомпилируемы, а последняя будет BSOD триггерить.
Вопроса два:
1) какую посоветуете виртуалку именно для отладки и теста драйверов (virtualbox я уже возненавидел и удалил, его даже поставить и использовать без анальной дрочки и гуглинга нельзя)
2) И где можно в принципе почерпнуть опыта современного котенга с реальными примерами, чтоб механику понимать, бсодов избегать и баги не плодить (не дохуя поймёшь трейсингом, когда каждый первый вызов улетает в syscall-ебеня)
comments powered by Disqus

Отзывы и предложения