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

С++ thread #141 /cpp/

 Аноним 01/03/23 Срд 15:54:55 #1 №2626726 
image.png
image.png
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

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

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

Прошлый тред: >>2574543 (OP)
Аноним 01/03/23 Срд 16:12:13 #2 №2626746 
C++ лучше чем шарп.
Аноним 01/03/23 Срд 19:11:03 #3 №2626886 
auto<auto> &&auto = (&&)auto()[];
Аноним 01/03/23 Срд 19:21:35 #4 №2626904 
1677687694106.jpeg
Анон, как правильно сделать свой сервис на ASIO с внутренним потоком? Идея такая: внутри класса скрыт поток, который делает блокирующие штуки типа poll(), а сам класс, в который передается io_context, уже имеет методы типа async_wait() и cancel.

Идея вроде правильная и в духе asio, но я что-то туплю и не понимаю как корректно общаться между internsl_thread и внешним пользовательским io_context.

inb4 использовать один из сервисов asio, он не работает нихуя с моим кастомным chardev
Аноним 01/03/23 Срд 22:47:49 #5 №2627128 
>>2626746
я бы поспорил
Аноним 02/03/23 Чтв 19:33:08 #6 №2627883 
>>2626746
Спору нет, только работы на плюсах нихуя нет.
Аноним 02/03/23 Чтв 20:59:37 #7 №2627966 
Гайз, много где пишут "Уверенное знание STL".
Что это вообще под собой понимается?
Алсо какие требы для мидла? Стек допустим Qt.
Аноним 02/03/23 Чтв 21:01:03 #8 №2627967 
>>2627966
>Что это вообще под собой понимается?
std::algorithm, unordered_map, stack и какой-нибудь make_heap
Аноним 02/03/23 Чтв 21:04:21 #9 №2627972 
>>2627966
> Уверенное
Можешь объяснить исходники STL. Легко читаешь многомегабайтные высеры компилятора при передаче в темплейт неправильного типа.
Аноним 02/03/23 Чтв 21:05:44 #10 №2627974 
>>2627967
Если я изучу книгу Майерса по STL будет достаточно?
Я ща живу внутри Qt, потому с STL опыт крайне опосредованный. Стек понимаю что такое, пользовался в литкоде, хеш-мап тоже. Из алгоритмов не помню, пользовался всякими найти первый и тд.
Аноним 02/03/23 Чтв 21:07:26 #11 №2627976 
>>2627974
>Если я изучу книгу Майерса по STL будет достаточно?
Если дополнишь парой вечеров дроча cppreference - да.
>Я ща живу внутри Qt
Не пробовал в доме жить? Всяко комфортнее.
>пользовался в литкоде
Вот набей 50-100 мидл задач решённых и будешь вообще молодцом.
Аноним 02/03/23 Чтв 21:12:17 #12 №2627979 
>>2627976
Понял, спасибо, пойду конспектить...
Аноним 02/03/23 Чтв 22:59:54 #13 №2628060 
>>2627966
На личном опыте я тебе могу сказать, что такое не уверенное знание STL.
Я с уверенностью могу сказать, что в принципе в самой по себе STL для меня нет ничего незнакомого.
Тем не менее, при чтении кода мне частенько приходится обращаться к справочнику.
Но самый прикол, когда я пишу что-то сам. Вот я уверенно знаю, даже помню, что на STL оно в пару-тройку строчек пишется. Сажусь писать и понимаю, что в деталях-то оно работает не совсем так, как я полагал. И опять-таки приходится зарываться в cppreference, подымать свои архивы и книжки, которые когда-то читал, или вообще шурудить по стаковерлоу.

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

>>2627974
>Если я изучу книгу Майерса по STL будет достаточно?
Нет.
Во-первых, она 2001 года издания.
Во-вторых, она крайне мала по объему.
В-третьих, уверенное знание одним только чтением книжек не приобретается.
Аноним 02/03/23 Чтв 23:27:16 #14 №2628078 
>>2628060
Я про С++17 STL книгу его.
В целом обычно я сначала за ответами лезу на сппреф в доку класса, уж только потом на СО.
Аноним 03/03/23 Птн 03:59:06 #15 №2628197 
Почему разработчики компиляторов не боятся жестко облапошиться? Компилятор плюсов пишут на плюсах. Компилируют компилятором старой версии. Но вот нашли в компиляторе баг, который корректную программу компилирует неправильно. И что теперь? Это же значит, что возможно он и наш компилятор неправильно скомпилировал. И че делать?
Аноним 03/03/23 Птн 04:00:59 #16 №2628199 
Мне нужно хранить файлы пользователей без сервера. DHT - мой выбор? И что вообще скажете насчет сложности реализации такого?
Аноним 03/03/23 Птн 04:07:45 #17 №2628201 
>>2628199
Сложно реализовать, а инфы мало. Надо разобраться с NAT, да и не сработает, если в сети слишком мало узлов с белым IP.
Аноним 03/03/23 Птн 04:20:20 #18 №2628202 
>>2628201
Можно считать, что у каждого узла есть белый ip. Задача такая. Это мне yggdrasil обеспечит
Аноним 03/03/23 Птн 05:57:05 #19 №2628209 
>>2628078
>Я про С++17 STL книгу его.
У Мейерса разве есть такая?
Аноним 03/03/23 Птн 09:20:08 #20 №2628279 
>>2628199
Поридж пытается изобрести Perfect Dark.
Аноним 03/03/23 Птн 10:14:13 #21 №2628308 
Screenshot2023-03-03-10-13-32-710com.fbreader.jpg
>>2628209
Нет, я долбаеб и автора попутал.
Я про эту.
Аноним 03/03/23 Птн 10:16:30 #22 №2628309 
>>2628308
Сейчас набегут ненавистники пакта.
Аноним 03/03/23 Птн 11:28:50 #23 №2628347 
>>2628197
Компилируют несколько раз, пока бинарники не перестанут различаться.
Если не вышло, откатываются.
Аноним 03/03/23 Птн 14:54:00 #24 №2628539 
>>2628197
>Почему разработчики компиляторов не боятся
Потому что они не макаки, а программисты, код у них под контролем. Если нашли баг, значит исправляют его или обходят. Это работа, страху тут взяться не откуда. Страх, он от неизвестности, когда ты - макака, делаешь сам не зная что, вот и боишься.
Аноним 03/03/23 Птн 15:19:18 #25 №2628578 
>>2628197
Бутстрапинг гугли, ёпта, и вникай как чё делать
>>2628347
Этот шарит.
>>2628539
А этот - нихуя, у него самомнение ебенистическое, а в реальности пук среньк "как же это я не заметил". Все ошибаются. Различие умного и тупого - умный знает где он может ошибиться и придумывает хитрости, чтобы снизить шанс или рано отлавливать ошибку, а тупая скотина будет стрелять себе в ногу каждый день и "whoops" свой ебучий говорить каждый раз и нихуя не делать для того чтобы вупса этого галимого обоссанного в следующий раз не было или он был бы хотя бы не такой болезненный.
Аноним 03/03/23 Птн 17:20:01 #26 №2628715 
>>2628578
>умный знает где он может ошибиться
Заявление уровня тупой скотины, воображающей себе умных, но конечно неправильно.

>нихуя не делать для того чтобы вупса этого галимого обоссанного в следующий раз не было
Например что? Переписать всё с нуля? Заявление уровня тупой скотины.
Есть такое понятие как целесообразность. Только тупая скотина которая ничего не делает, думает что человек всесилен и может творить что захочет, когда в реальности наоборот, надо делать полезную вещь думать о результате, при ограниченных возможностях, а не фантазировать воздушные замки идеала как это любят делать тупые скоты.
Аноним 03/03/23 Птн 17:30:03 #27 №2628728 
> высокомерие, снобизм, презрение к другим
У плюсовиков это норма?
Или в СНГ только такое
Аноним 03/03/23 Птн 17:41:18 #28 №2628734 
heilgate.jpg
>>2628728
Туземцы практически все такие.
Аноним 03/03/23 Птн 17:44:36 #29 №2628736 
>>2628728
> гордыня, жадность, гнев, зависть, прелюбодеяние, чревоугодие и уныние
У плюсовиков это норма?
Или в СНГ только такое
Аноним 03/03/23 Птн 18:10:21 #30 №2628749 
>>2628715
>запланированный разрыв куска дерьма
Ясно
Аноним 03/03/23 Птн 18:11:45 #31 №2628751 
>>2628728
У меня презрение только к тем, кто сам высокомерен и т. д. по списку.
Но я и не плюсовик, может в этом дело.
Аноним 03/03/23 Птн 18:22:00 #32 №2628760 
>>2628749
Но я не разработчик компилятора.

Так что привыкай, чем быстрее признаешь, что ты макака, которая вместо программирования БОИТСЯ, и вдобавок тупая скотина которая ничего никогда не делала, но любит рассуждать об уме и работе, тем быстрее появится шанс на исправление. Ведь исправление всегда начинается с признания наличия проблем.
Аноним 03/03/23 Птн 22:07:29 #33 №2628940 
>>2628197
>Компилятор плюсов пишут на плюсах.
это не так
пожалуй, все компиляторы с++ единственные из мейнстрим-языков, не написанные методом бутстрапинга, даже экспериментальные, лол
все компиляторы с++ написаны на приплюснутой сишке
что конечно же доказывает убожество этого недоязыка
Аноним 03/03/23 Птн 22:15:31 #34 №2628951 
>>2628940
Это же не правда)
Аноним 03/03/23 Птн 22:45:02 #35 №2628993 
>>2628951
как так неправда?
подход с++ предполагает что мы используем кодогенерацию в компайл-тайме, используя метапрограммирование на шаблонах, в том числе и при написании разнообразных парсеров
а, открывая код любого компилятора с++ мы видим вручную захардкоженные таблицы по сути своей привет из 60х великий и ужасный компилятор алгола, код тупо приплюснутая сишка
или типа с++ это ведь ооп язык, да?, ну и в принципе архитектура любого хотя бы современного компилятора должна быть тоже ооп - ну там иерархии классов все дела, а видим мы тупо голенькие классики и кучу свободных функций, хе хе
Аноним 03/03/23 Птн 22:49:59 #36 №2629000 
>>2628993
Ты открывал clang?
Аноним 03/03/23 Птн 23:01:43 #37 №2629010 
>>2628940
>что конечно же доказывает убожество этого недоязыка
Неосилятор порвался.
Аноним 04/03/23 Суб 04:56:12 #38 №2629111 
Есть множество макросов вида
#define ID1 1
#define ID2 4
#define ID3 6
#define ID4 7
...
#define ID1000 1452

Как с ними работать? Допустим, хочу пройтись циклом:
for (int i = 1; i <= 1000; ++i)
{
foo(ID?i); //<-- как их склеить блять
}

Иначе говоря, мне нужно сгенерировать имя макроса, такое вообще возможно?
Аноним 04/03/23 Суб 04:58:35 #39 №2629112 
>>2629111
Боюсь спросить, а чем массивы не устроили?
Аноним 04/03/23 Суб 05:03:53 #40 №2629113 
>>2629111
Не получится. Всё, что ты можешь сделать - сгенерировать как-нибудь код, заполняющий значениями макросов некоторую коллекцию, и дальше уже работать с ней.
Аноним 04/03/23 Суб 05:07:31 #41 №2629114 
>>2629112
Это надо спрашивать у создателя вышеупомянутого перечня макросов если он ещё жив - коду больше 20 лет

>>2629113
>Не получится
=(
Аноним 04/03/23 Суб 07:16:20 #42 №2629133 
>>2629111
>как их склеить
Склеивает макрооператор ##.

НО! Цикл работает во время выполнения программы, а макросы раскрываются еще даже до компиляции.
В итоге ты можешь склеить буквы ID и букву i, но не значение i.
Чтобы получить то, чево хочешь ты, нужно запилить цикл прямо на препроцессоре.

Что-то подобное есть в boost/preprocessor
https://www.boost.org/doc/libs/1_81_0/libs/preprocessor/doc/

Насколько оно там костыльно сделано и какие есть ограничения я не знаю, читай документацию.
Аноним 04/03/23 Суб 07:28:24 #43 №2629136 
>>2629111
Очередная скриптосвинья не понимает что такое компилируемый язык программирования.
Аноним 04/03/23 Суб 08:39:09 #44 №2629148 
Как же хочеца чтобы макросы из раста в плюсы спиздили.... разве я так много прошу...
Аноним 04/03/23 Суб 11:00:09 #45 №2629198 
>>2629136
>на плюсах можна фсё
Аноним 04/03/23 Суб 11:01:31 #46 №2629202 
>>2629148
Dlang же
Аноним 04/03/23 Суб 11:39:31 #47 №2629253 
>>2629148
А чё там за макросы, если коротко?
Аноним 04/03/23 Суб 11:48:26 #48 №2629279 
>>2628728
При отсутствии некоторых важных вещей и сердитой дешевизне других, в стандартной библиотеке с самого первого стандарта реализована такая монструозная хрень, как localization library.

Страустпуп более, чем толерантный человек и был таковым , когда это еще не было мейнстримом.
Аноним 04/03/23 Суб 12:42:15 #49 №2629390 
>>2629253
Как дефайны, только в параметры передаются не просто строки, а символы из АСТ
Аноним 04/03/23 Суб 14:31:57 #50 №2629449 
>>2628279
Во-первых, нет, а во-вторых, почему бы и нет, если интересно?
Аноним 04/03/23 Суб 14:51:58 #51 №2629469 
Чому больше нет журналов про C++? Хочу журналы про C++.

Я люблю запереться в подвальчике,
Почитать кой-какие журнальчики,
Как брунетки ебутся с блондинками,
Обязательно чтобы с картинками,
Аноним 04/03/23 Суб 16:00:51 #52 №2629536 
Либы это норм подход? Мне они запомнились кучей dll которых вечно не хватает и раздутым приложением. Но что, если я использую конкретную либу, где мне пригодятся (почти) все функции? Какие в этом минусы? Хуже ли оптимизации работают? Может вызов функций дольше?
Аноним 04/03/23 Суб 16:15:45 #53 №2629546 
>>2629536
И надо ли требовать, чтобы все было собрано одним компилятором?
Аноним 04/03/23 Суб 16:27:24 #54 №2629550 
image.png
Какой метод вызывают сортированные контейнеры стл для сортировки объектов, если не указываешь кастомный? Вот я стракт или класс объявлю, напихую говна в него и какую сигнатуру метода надо чтобы контейнер автоматом сортанул объекты этого класса?
Что-то типа такого?
struct Piss
{
int shit;
bool operator<(Piss* other) {return this->shit < other->shit;}
...
Аноним 04/03/23 Суб 16:32:45 #55 №2629554 
>>2629550
>сортированные контейнеры стл
Например?

>для сортировки объектов
Зачем сортированному контейнеру еще раз сортироваться. Ты не находишь, что это звучит как хуита?

>Какой метод вызывают
Самый пиздатый - вот какой. По умолчанию Quck Sort, по факту как получится, по стандарту - гугли справочник какое O(n) гарантируется, в народе - колхозник, в магазине - продавец.
Аноним 04/03/23 Суб 16:43:11 #56 №2629559 
Помогите плиз вкатышу. Я пытаюсь решить n-queen, нашел вот такое решение: https://github.com/neetcode-gh/leetcode/blob/main/cpp/0052-n-queens-ii.cpp

Зачем (почему) тут делается int queen[9]; и memset(queen,-1,sizeof(queen)); ?
Аноним 04/03/23 Суб 16:48:44 #57 №2629565 
Что-то рановато мне еще такие задачи решать, ебаные плюсы лучше буду на питоне
Аноним 04/03/23 Суб 16:50:40 #58 №2629567 
>>2629559
Потому что в C++ массивы не инициализируются
Аноним 04/03/23 Суб 16:59:25 #59 №2629573 
.png
>>2629565
Не сдавайся. В программировании успех определяется усидчивостью, а не использованием примитивных инструментов для гуманитариев вроде петухона.
Аноним 04/03/23 Суб 17:00:50 #60 №2629574 
>>2629554
>Например?
std::set
>Зачем сортированному контейнеру еще раз сортироваться.
А каким образом он сортируется? При добавлении он какое-то сравнение производит. Для встроенных типов его объявлять не надо. Но вот у меня свой всратый класс Моча, как его контейнер будет сортировать? По содержимому байтов? Мне надо чтобы он по одному конкретному параметру сортировал, я для этого могу объявить метод для сортировки и оно так и поступит, а вопрос - как сделать чтобы метод не надо было объявлять?
>Самый пиздатый - вот какой. По умолчанию Quck Sort, по факту как получится, по стандарту - гугли справочник какое O(n) гарантируется, в народе - колхозник, в магазине - продавец.
А квиксорт этот каким образом знает какой объект больше а какой меньше?
Аноним 04/03/23 Суб 17:15:08 #61 №2629585 
Как понять все особенности сборки? Я каждый раз в этом путаюсь. Все вот эти cmake, конфигурации в visual studio, make, в каком месте флаги задаются и все все все
Аноним 04/03/23 Суб 17:18:53 #62 №2629593 
>>2629585
Вот в инструкции сказано как с помощью make и cmake собирать, а как блядь указывать компиляторы и все вот это я не ебу
Аноним 04/03/23 Суб 17:21:30 #63 №2629598 
>>2629593
Да это дрочиво согласен. Переходи лучше на питон или js, у нас такой хуйни нет.
Аноним 04/03/23 Суб 17:27:44 #64 №2629609 
ладно, cmake gui помог мне натыкать нужные кнопки и открыть проект в vs studio, где уже и могу конфигурации легко менять и платформы
Аноним 04/03/23 Суб 17:30:01 #65 №2629611 
>>2629609
Правда там по пути вылезли ошибки вида "ignoring unknown option '-O3'"
Аноним 04/03/23 Суб 17:31:31 #66 №2629614 
>>2629585
Никак, все каждый раз с этим ебутся, открывают документацию к компиляторам и сборщикам, 10 страниц stackoverflow, блоги и форумы 2005 года.
Аноним 04/03/23 Суб 17:35:27 #67 №2629620 
>>2629614
Почему нельзя это как то исправить? Сделать какой то единый интерфейс?
Аноним 04/03/23 Суб 17:41:00 #68 №2629630 
>>2629620
Потому что в плюсах зоопарк компиляторов и сборщиков для разных платформ, нет единой реализации от создателей языка, как в других языках, есть только стандарт.
Аноним 04/03/23 Суб 17:42:49 #69 №2629633 
>>2629630
Я понимаю. Но это же пиздец. Хоть вообще либы не используй. Кому хуже станет, если либа будет подтягиваться почти сама?
Аноним 04/03/23 Суб 17:44:11 #70 №2629636 
изображение.png
>>2629574
>А каким образом он сортируется?
Он не сортируется. При вставке элемент добавляется сразу в нужное место. Это не сортировка, это другое семейство алгоритмов.

>А квиксорт этот
А квиксорт - это просто алгоритм сортировки по умолчанию, еще со времен сей.

>каким образом знает какой объект больше а какой меньше?
Да ебана, че ты хочешь-то, ты можешь внятно сказать?
Хочешь - можешь подменить функцию сравнения на свою.

>std::set
У стд::set например она задается параметром шаблона при объявлении экземпляра.
Сам алгоритм упорядочения (в случае с сетом - вставки нужное место) остается на усмотрение разработчика компилятора. Стандарт требует только заданного O(n).
Аноним 04/03/23 Суб 17:45:04 #71 №2629640 
>>2629636
>Хочешь - можешь подменить функцию сравнения на свою.
Это параметр Compare на пикриле.
Аноним 04/03/23 Суб 17:52:33 #72 №2629652 
>>2629633
> Кому хуже станет, если либа будет подтягиваться почти сама?
Либы в плюсах тоже разные. Они могут линковаться динамически и статически, могут быть header-only. Либа, собранная одним компилятором, может не поддерживаться другим. Может быть нарушено ABI. Могут быть разные соглашения о вызовах. На разных платформах либа может требовать разные зависимости, причём набор зависимостей может отличаться от того, как собирали либу. Нет в плюсах такого, чтобы скачал либу, и она бы собиралась и работала везде при любых условиях.
Аноним 04/03/23 Суб 17:57:17 #73 №2629659 
>>2629609
Нет. Я не могу скомпилировать либу для linux
Аноним 04/03/23 Суб 18:01:52 #74 №2629666 
>>2629659
Или может подскажете, он по умолчанию выбрал x64. Так же дает на выбор ARM, ARM64, Win32. А мне надо на линух собрать
Аноним 04/03/23 Суб 18:05:31 #75 №2629674 
>>2629666
Линукс тоже x64, но не win64.
Аноним 04/03/23 Суб 18:05:58 #76 №2629675 
>>2629148
> из схемы
Аноним 04/03/23 Суб 18:08:02 #77 №2629680 
>>2629675
Не получится, не хватает универсального синтаксиса со скобочками.
Аноним 04/03/23 Суб 18:08:18 #78 №2629681 
image.png
>>2629636
Ну я же выше уже приводил пример. Класс "Моча" с хуйнёй внутри. Хочу чтобы сортировалось по мемберу "говно", но не прописывать Compare для каждого контейнера в который моя двачерская душонка соизволит запихнуть эту мочу.
То что ты пишешь я все и так знаю, ты никак почему-то не адресуешь ответ на конкретный вопрос.
Аноним 04/03/23 Суб 18:08:25 #79 №2629682 
>>2629674
То есть либа кроссплатформенная, получается? Мне казалось, что так не бывает... Ладно, сейчас попробую на линуксе с ней собрать
Аноним 04/03/23 Суб 18:20:52 #80 №2629696 
>>2629681
> ты никак почему-то не адресуешь ответ на конкретный вопрос.
>конкретный вопрос.
>ортировалось по мемберу "говно"
>запихнуть эту мочу
Конкретно говну конкретно моче нет более подходящего места, чем отхожее место. Причем у кого-то там конкретного отхожее место вполне может совпадать с конкретным обеденным столом, дамским туалетным столиком, двачом, землей небой, Аллахой и тп..
Аноним 04/03/23 Суб 18:23:58 #81 №2629701 
>>2629696
Не знаешь - так и скажи, зачем попусту воду гонять.
Аноним 04/03/23 Суб 18:26:15 #82 №2629705 
>>2629701
>зачем попусту воду гонять.
Зажмотил постов на дваче? Ониж бесплатные, четы жопишься )

>Не знаешь
Еслиб я все знал, я б сидел не тут.
Аноним 04/03/23 Суб 18:34:31 #83 №2629717 
>>2629681
>не прописывать Compare для каждого контейнера в который моя двачерская душонка соизволит запихнуть эту мочу
В моче определи оператор сравнения. Контейнер его сам разыщет.
Аноним 04/03/23 Суб 18:43:56 #84 №2629732 
Бляяя. Оказывается Visual Studio на линуксе просто gcc использует. Я думал оно умеет прям под линукс компилировать.... Ну так не интересно.... Тогда clion накачу да и все. С него проще будет
Аноним 04/03/23 Суб 18:52:12 #85 №2629740 
>>2629717
как я понимаю, дело не в том, что нет сравнивалки для "мочи", а в том что сет будет вызывать дефолтную сравнивалку для T содержащего мочу.
А Анон не хочет всюду писать свой compare.
Аноним 04/03/23 Суб 18:56:04 #86 №2629742 
>>2629740
А теперь представь, что лично ты разгребаешь наследие после этого Онона.

Что там получится, если он вообще не в состоянии внятно задачу поставить, даже если тянут и подводят к ответу?
Аноним 04/03/23 Суб 18:58:30 #87 №2629746 
>>2629717
>В моче определи оператор сравнения.
>>2629550
>Что-то типа такого?
>struct Piss
>{
>int shit;
>bool operator<(Piss* other) {return this->shit < other->shit;}
>...
Аноним 04/03/23 Суб 18:58:49 #88 №2629748 
>>2629742
Всё я внятно написал, не пизди.
Аноним 04/03/23 Суб 19:06:59 #89 №2629759 
>>2629748
Добавь эту реплику комментом к своему наброску кода.
Код яснее станет? - Не думаю.
Аноним 04/03/23 Суб 19:11:18 #90 №2629765 
>>2629748
Чел, ты просто ебаный эгоцентрист.
Нет, непризнанные геннии случаются время от времени, этого тоже нельзя исключать.

Но дело в том, что все простые и гениальные простые вещи, которые доступны одиночкам, все такие вещи уже давным давно написаны. Нынче программирование - это коллективное занятие со всеми вытикающими.
Аноним 04/03/23 Суб 19:11:25 #91 №2629766 
>>2629732
Думал, в сказку попал? Студия кое-как стала 64-битной и теперь может жрать ещё больше оперативки, куда там до полноценной кросскомпиляции для линукса.
Аноним 04/03/23 Суб 20:45:13 #92 №2629848 
>>2629766
Это же студия 10 лет не могла парсить >> в шаблонах?
Аноним 05/03/23 Вск 02:27:06 #93 №2630120 
image.png
Можно ли студию заставить компилять клангом?
Аноним 05/03/23 Вск 07:27:30 #94 №2630160 
>>2630120
да
Аноним 05/03/23 Вск 14:35:12 #95 №2630379 
image.png
>>2629550
Да, так и надо было, как оказалось.
struct Piss
{
int shit;
bool operator<(const Piss& other) const {return shit < other.shit;}

и можно пихать в контейнер и сортируется как надо.
sage[mailto:sage] Аноним 05/03/23 Вск 17:16:56 #96 №2630632 
>>2630379
Ты троль или совсем нюфаг что бы это открытием считать?
Аноним 05/03/23 Вск 18:10:27 #97 №2630690 
>>2630632
Никто, блядь, не ответил, "олдфаги" хуевы.
Аноним 05/03/23 Вск 18:33:18 #98 №2630728 
Возможно ли встроить shared library в бинарный файл?

Пример: собрана cpr из исходников. Произошла автоматическая установка в /usr/lib или аналогичному пути, который прописан в makefile.
Если выполняю ПО на своём компьютере, то проблем нет. На чужом они есть, т.к. библиотеки нет.
Как принято поступать в данных ситуациях?
Если windows, то как происходит сборка?
Аноним 05/03/23 Вск 20:20:55 #99 №2630863 
>>2630728
ну либо ложишь длл рядом и отправляешь вместе с исходником потребителю
либо статически линкуешься
Аноним 05/03/23 Вск 20:21:23 #100 №2630864 
>>2630863
>исходником
ну то есть с экзекьютаблом
Аноним 05/03/23 Вск 21:50:27 #101 №2630927 
error C2039: 'byte': is not a member of 'std'

#include <ctype.h>
#include <cstddef>
int main(int argc, char *argv[]) {
std::byte bt;
return 0;
}

версия плюсов 17, msvc. ЧЯДНТ?
Аноним 05/03/23 Вск 23:16:15 #102 №2630986 
>>2630927
Используй флаг -std=c++17.
Аноним 06/03/23 Пнд 00:00:02 #103 №2631031 
>>2630986
Я же говорю, выставил в проекте 17 плюсы
Аноним 06/03/23 Пнд 00:10:37 #104 №2631042 
>>2630927
У меня есть тупое предположение, но вдруг сработает. Попробуй заменить <ctype.h> на >cctype>
Аноним 06/03/23 Пнд 00:12:07 #105 №2631043 
изображение.png
>>2630927
У меня работает.

>версия плюсов 17, msvc. ЧЯДНТ?
Проверь, что версия 17 выбрана для всех платформ и для всех конфигураций.
Аноним 06/03/23 Пнд 12:58:36 #106 №2631439 
>>2630927
В порядке телепатии - может быть у тебя .c, а не .cpp файл? Хотя, на std:: должно было бы ругаться.
Аноним 06/03/23 Пнд 16:28:18 #107 №2631657 
>>2631439
1. Настоятельно рекомендуется объективно оценивать уровень знаний при ответе. Если нет четкого понимания, то лучше воздержаться от публикации поста. 2. "Хотя, на std:: должно было бы ругаться". std - это пространство имён из стандартной библиотеки. В заголовочном файле cstddef определенние типов размещены в пространстве std. Если ты экивоком пытался ему сказать, что лучше использовать using namespace std; - лучше не надо. В крупных проектах стараются избежать неоднозначности и не засоряют пространство имён. 3. Его код нормально компилируется, если использовать флаг -std=c++17. Так и должно быть, т.к. "std::byte is an enum class that was first introduced in C++17". Если флага нет, то компилятор у меня выдаёт ошибку, что std::byte нет в std. И правильно делает.
Аноним 06/03/23 Пнд 16:51:01 #108 №2631679 
>>2631657
> Если нет четкого понимания, то лучше воздержаться от публикации поста.
Почему ты не воспользовался своим советом?
>std - это пространство имён из стандартной библиотеки. В заголовочном файле cstddef определенние типов размещены в пространстве std. Если ты экивоком пытался ему сказать, что лучше
Нет, речь шла о том, что компилятор может вести себя по разному, переключаясь между режимами С++ и С
>Его код нормально компилируется, если использовать флаг -std=c++17
Автор вопроса прямым текстом сказал, что он выставил флаг и не компилируется, если бы было как ты говоришь, то вопрос бы не появился изначально за ненадобностью.
Есть определенное количество причин, почему произошла такая ошибка. Например, возможна ошибка пользователя, только думающего, что он установил флаг, но на нее уже указали. Поэтому я привел еще одно возможное решение, потому что он проверяется за секунду переименованием файла. Хотя сразу указал, что оно маловероятно (поскольку в Си не должно быть таких заголовочных файлов - но мало ли, какие баги в компиляторе Майкрософт)
Другие гипотезы проверяются уже не так быстро, потому что скорее всего требуют переустановки компилятора, что может занять полчаса. Майкрософт (по крайней мере, на тот год) известна тем, что опаздывает с добавлением фич из новых стандартов. У анона могла быть установлена версия, где флаг уже есть, а каких-то фич еще нет. Также может быть проблема с неполной установкой, если какие-то заголовочные файлы не видны по ожидаемым путям.
Аноним 06/03/23 Пнд 17:01:28 #109 №2631690 
>>2631043
Да, спасибо. Не везде выставил, как оказалось
Аноним 06/03/23 Пнд 18:26:14 #110 №2631792 
>>2631679
>Майкрософт (по крайней мере, на тот год) известна тем, что опаздывает с добавлением фич из новых стандартов.
уже не актуально

мимо
Аноним 06/03/23 Пнд 18:29:31 #111 №2631794 
Уже больше недели не отвечают на вакансии. Чому так? Моим знакомым если даже отказывали, то за пару дней. У меня в лк компании просто "подано". Че так долго думают?
Аноним 06/03/23 Пнд 18:30:32 #112 №2631798 
>>2631792
Для этого и было написано - на тот год.
Аноним 06/03/23 Пнд 18:31:06 #113 №2631799 
>>2631794
Ждут когда снега растают, ЕВПОЧЯ.
Аноним 06/03/23 Пнд 18:32:18 #114 №2631804 
Можно ли писать определения в h файле? Ничего же не будет, если инклудгуарды. сейчас не касаемся красоты
Аноним 06/03/23 Пнд 19:00:31 #115 №2631839 
>>2631804
Конечно можно, куча header-only либ так делает, ты ее подключаешь типа
#define lib_impl
#include "lib.h"
#undef lib_impl
Аноним 06/03/23 Пнд 20:00:27 #116 №2631898 
>>2631804
> красоты
Код распухнет. Ну т.е. норма для С++
Аноним 06/03/23 Пнд 20:11:59 #117 №2631908 
>>2631839
охуенно придумали. у нас либа конечно хедер онли) заинклюдил и работает))
только если не скопипастил в маин.цпп эти три строчки то иди нахуй - ошибка линковки в хедер онли либе лол
ну хоть с модулями наконец избавимся от этого рака
Аноним 06/03/23 Пнд 20:21:15 #118 №2631915 
>>2631908
А когда модули то. Я уже года три про них слышу.
Аноним 06/03/23 Пнд 20:56:23 #119 №2631966 
Как быстро посчитать код хэмминга?
Аноним 06/03/23 Пнд 21:44:02 #120 №2632022 
Платиновый вопрос: как зделоть гуй?
Нужно что-то легкое и нативное - кроссплатформенность идет нахуй - чтобы не отваливалась жепа от списков на 10к элементов, чтобы потом не было ебки с обработкой событий типа днд и буфера обмена. Ну и возможность рисования в области, типа предпросмотр файла сделать или еще че.
Пока думаю по-старинке - инклюд шиндовс и погнали. Какие еще варианты? кто скажет qt у того мать сдохнет
Аноним 06/03/23 Пнд 21:47:45 #121 №2632028 
>>2632022
GTK
Аноним 06/03/23 Пнд 22:00:39 #122 №2632038 
>>2631657
>Настоятельно рекомендуется объективно оценивать уровень знаний при ответе.
Решительно не согласен.

Моя мотивация писать тут ответы:
1) Систематизировать собственные знания. Записать в явном виде то, что есть в голове.
2) Выявить возможные ошибки и неполноту в своих знаниях. Ответы пишу в расчете на то, что знающие люди поправят, если что не так.

мимо
Аноним 06/03/23 Пнд 22:02:01 #123 №2632039 
>>2632038
>>Настоятельно рекомендуется объективно оценивать уровень знаний при ответе.
>Решительно не согласен.
Ой. С этим я согласен.
Не согласен с этим

>>2631657
>Если нет четкого понимания, то лучше воздержаться от публикации поста
Аноним 06/03/23 Пнд 22:02:49 #124 №2632040 
>>2632038
Ты гений. Надо тоже законом Каннингема пользоваться, а то как дебил пишу вопрос и жду ответа, а надо сразу неправильный ответ давать себе, анонимная борда же.
Аноним 06/03/23 Пнд 22:07:27 #125 №2632046 
image.png
>>2632022
>кто скажет qt у того мать сдохнет
А если не скажет, то бессмертная станет? Иди на хуй.
WinUI
Аноним 06/03/23 Пнд 22:10:20 #126 №2632048 
>>2632022
C++ Builder
Аноним 06/03/23 Пнд 22:11:52 #127 №2632050 
>>2632048
Может, ещё и MFC?
Аноним 06/03/23 Пнд 22:14:09 #128 №2632052 
>>2632050
Да.
Аноним 06/03/23 Пнд 22:14:56 #129 №2632054 
>>2632050
Нет, хочу C++ Builder.
Кто-то же должен тут иметь с ним опыт. Уже заебался ждать. Если его никто не поставит, я сам себе поставлю. Я не шучу.
Аноним 06/03/23 Пнд 22:18:38 #130 №2632056 
>>2632054
Нихуя ж себе, оно еще живое?
У меня есть опыт. На C++ Builder 6. Мжвячно так-то, но это кастрат и тормоз и я быстро на студию перескочил тогда и больше не возвращался. Кроме годика работы на легаси проекте с кодом на билдере
Аноним 06/03/23 Пнд 22:20:05 #131 №2632060 
>>2632054
У меня опыт написания на нём ровно одной лабы на первом курсе. Я ещё охуевал, что там в таблицах перепутаны индексы строк и столбцов, сначала к столбцу обращаешься, а потом к строке.
Аноним 06/03/23 Пнд 22:20:58 #132 №2632062 
>>2632056
Живее всех живых. Есть коммьюнити версия и совместимость с Эпплом.
Аноним 06/03/23 Пнд 22:23:40 #133 №2632067 
image.png
>>2632060
>Я ещё охуевал, что там в таблицах перепутаны индексы строк и столбцов, сначала к столбцу обращаешься, а потом к строке.
Аноним 07/03/23 Втр 07:46:35 #134 №2632270 
>>2632022
>>2632048
>C++ Builder
Да, это единственный вариант, был есть и будет. VCL - нативный, быстрый, легкий в разработке. Дальше только MFC, кривожопое говно, от него можно добиться, но нужно много ебаться, не стоит того. MFC годится только для примитивных диалоговых окошек где всё гвоздями прибито, а дальше начинается боль.

Если нужны списки на тысячи, в VCL есть датагрид, я делал еще под ХР искалку файлов на дисках, спокойно показывала все файлы, хоть миллион.
Аноним 07/03/23 Втр 11:09:59 #135 №2632351 
Неохота велосипед изобретать, может есть либа или исходник что бы имплементировал ostream и писал в файлы с нарезкой по заданному интервалу времени или по размеру?
Аноним 07/03/23 Втр 11:41:58 #136 №2632377 
>>2632351
Бустовый логгер. Но использовать его для этого какой то костыль.
Аноним 07/03/23 Втр 11:44:27 #137 №2632380 
>>2632377
Угу, его возьму. Тем более буст в проекте используется.
Аноним 07/03/23 Втр 22:01:56 #138 №2633108 
Проект в vs studio иногда не собирается, падая с ошибкой "unersolved symbol... multiple defenitions". Собирается через rebuild all с предупреждением warning LNK4042: object specified more than once; extras ignored
Че делат?
Аноним 07/03/23 Втр 22:06:31 #139 №2633114 
>>2633108
В .h, который инклюдится в разных .cpp, завел переменную?
Аноним 07/03/23 Втр 22:08:00 #140 №2633116 
>>2633114
Ага. Понял ошибку. Спасибо
Аноним 07/03/23 Втр 22:08:59 #141 №2633118 
>>2633108
>object specified more than once; extras ignored
Такое еще может быть если смешивать release и debug
Аноним 07/03/23 Втр 22:09:19 #142 №2633120 
>>2633118
Или static и DLL
Аноним 07/03/23 Втр 22:12:02 #143 №2633126 
>>2633114
А где ее лучше заводить? Или нигде? Мне константа в неймспейсе нужна
Аноним 08/03/23 Срд 00:41:19 #144 №2633273 
image.png
>>2632270
>VCL
кто нахуй
Аноним 08/03/23 Срд 00:49:19 #145 №2633279 
изображение.png
изображение.png
Зачем он тут агитирует за заведомо непереносимый способ, когда есть стандартный resize() ?
Аноним 08/03/23 Срд 00:50:23 #146 №2633282 
>>2633273
Visual Component Library.
Аноним 08/03/23 Срд 01:13:19 #147 №2633300 
>>2633279
resize не освобождает лишнюю память, а shrink_to_fit добавили только в c++11
sage[mailto:sage] Аноним 08/03/23 Срд 01:27:13 #148 №2633307 
>>2633126
Дефайн/экстерн/статик,твариантов куча.
Аноним 08/03/23 Срд 01:33:16 #149 №2633308 
>>2633126
static constexpr позволяет наебать odr, но работает очевидно только для констант
в остальных случаях поступаешь как с функциями. объявление в .h определение в .cpp я надеюсь ты знаешь как это делается. хотя в этом треде можно ожидать чего угодно..
Аноним 08/03/23 Срд 01:43:25 #150 №2633310 
>>2633300
Понял принял.
Аноним 08/03/23 Срд 02:05:53 #151 №2633322 
CEvKIfDdL6t8rB0MxbpsOB9vB9AWbU41DUu2j94c7453ljYYR47pcjJnTgv895LVuhKgI-pg5CEnJw0gZDySwQl.jpg
>>2633279
Тоже читаю его, и крякнул с этого
Аноним 08/03/23 Срд 04:28:18 #152 №2633343 
image.png
>>2633322
Аноним 08/03/23 Срд 12:56:46 #153 №2633592 
>>2626726 (OP)
Где вы CRTP используете?
Почему эта черная магия позволена в с++?
Аноним 08/03/23 Срд 13:44:23 #154 №2633644 
>>2633592
В работе нигде, а так баловался при изучении шаблонов. Вроде бы но это не точно используют в качестве замены pimpl.
Аноним 08/03/23 Срд 14:07:23 #155 №2633689 
>>2633592
Я когда-то использовал его, чтобы определять классы с общими операторами и методами, но потом отказался от этих костылей.
Аноним 08/03/23 Срд 17:37:32 #156 №2633948 
Гайз, подкиньте идей, что можно написать для практики? За пару недель по пару часов в день.
Аноним 08/03/23 Срд 18:24:34 #157 №2633985 
>>2633948
Leetcode
Аноним 08/03/23 Срд 18:44:45 #158 №2634006 
>>2633985
И так решаю по одной+ задаче на протяжении месяца, хотелось бы что то чтоб над архитектурой подумать.
Аноним 08/03/23 Срд 19:30:53 #159 №2634060 
>>2634006
Глянь какой-нибудь FOSS проект поменьше.
Аноним 08/03/23 Срд 19:59:03 #160 №2634101 
image.png
image.png
Как вы видете прерспективы языка карбон как замены си++? Они декларируют совместимость с крестами, что бы не нужно было переписывать триллионы строк древнего крестового кода и вместе с тем постепенно внедрять карбон. Но только получается, если в этом старом крестовом коде текла память, так и в крестово-карбоновом проекте она будет течь. И смысл тогда? И не будет ли из за этого груза совместимости с крестами этот карбон каким-то ущербным языком, ну типа как тайпскрипт, ну вроде более-менее язык, но все же чувствуется, что это ЖС на костылях.
Аноним 08/03/23 Срд 20:11:27 #161 №2634120 
>>2634101
>Как вы видете прерспективы языка карбон как замены си++?
Ну наверное новый код будет легче писать, но понятное дело никто ничего переписывать не будет, а из беты он выйдет дай бог через лет 5
> если в этом старом крестовом коде текла память, так и в крестово-карбоновом проекте она будет течь
А у него задачах мемори сейф стоит?
> И смысл тогда?
У тебя кроме памяти проблем в мире нету?

> И не будет ли из за этого груза совместимости с крестами этот карбон каким-то ущербным языком
Зависит от разрабов

> ущербным языком, ну типа как тайпскрипт
хуй знает чем он тебе ущербным показался, когда мне приходилось трогать жс, я сразу на тс пересел и чувствовал себя более чем отлично
или у него конкретные траблы есть?
Аноним 08/03/23 Срд 20:15:53 #162 №2634123 
image.png
а стоп, у них реально такая цель есть
извиняюсь
Аноним 08/03/23 Срд 20:31:54 #163 №2634132 
image.png
>>2634120
>хуй знает чем он тебе ущербным показался
Мне тоже нравится больше чем жс. Но там некоторые решения продиктованы требованием совместимости с говножсом. Например ввели юнион тайпс, но проверка на конкретный тип вышла какой-то неуклюжей. В языке, спроектированном без оглядки на жс, это выглядело бы не так.
Аноним 08/03/23 Срд 20:38:18 #164 №2634135 
>>2634132
Жс без оглядки на жс тоже был бы охуенным.
Аноним 08/03/23 Срд 21:00:34 #165 №2634157 
>>2634123
Имхо если стоит мемори сейф в планах, то от кода на плюсах стоит отходить.
Аноним 08/03/23 Срд 21:19:46 #166 №2634181 
>>2634157
Смысл в том, чтобы сделать мемори сейф, не скатывая его до уровня шарпа или жабы по прожорливости и тормознутости.
Аноним 08/03/23 Срд 23:05:00 #167 №2634270 
не получается вывести русский текст в консоль через setlocale(LC_ALL, "Rus");
Аноним 08/03/23 Срд 23:16:07 #168 №2634277 
>>2634270
Очень жаль это слушать, ты главное не унывай
Аноним 08/03/23 Срд 23:47:46 #169 №2634295 
изображение.png
При попытке задать параметр по умолчанию для string получаю ошибку(Пик 1), при этом саму строку и реализацию не подчеркивает. Сама реализация:
std::string NullString{ "" };
std::string DecryptPassword(std::string& aPassword = NullString);

На stackowerflow пишут, что можно приравнять к std::string()
https://stackoverflow.com/questions/2749471/default-string-arguments
Это выдает такую же ошибку.
По итогу решил это, сделав NullString статической, не понял, как дошел до этого, и не до конца понял, почему у других выходило это делать проще.
Почитал этот тред
https://stackoverflow.com/questions/1059630/default-value-to-a-parameter-while-passing-by-reference-in-c
понятней не особо стало, ну нельзя привязать временное значение к не-константной ссылке, а почему? Просто так решил Страуструп? Окей, ладно. А почему если, если сделать переменную для параметра по умолчанию статической - то все ок ? Поясните, если сможете, или скажите, че читать.
Аноним 09/03/23 Чтв 01:20:30 #170 №2634349 
image.png
>>2634295
Чего ты хочешь добиться своей конструкцией? почему нельзя так сделать?
Аноним 09/03/23 Чтв 01:23:10 #171 №2634350 
>>2634349
Хочу добиться вызова функции с параметром по умолчанию, у тебя просто инициализация одной переменной с помощью другой
Аноним 09/03/23 Чтв 01:24:25 #172 №2634351 
>>2634350
скинь сигнатуру функции
Аноним 09/03/23 Чтв 01:25:03 #173 №2634352 
>>2634350
все, я догнал что это
sage[mailto:sage] Аноним 09/03/23 Чтв 01:30:00 #174 №2634354 
>>2634295
Л я чего то не понимаю или хз, у меня таки конструкции с дефолтным параметром строки, да и вообще чего угодно работают
Аноним 09/03/23 Чтв 02:06:48 #175 №2634361 
>>2634101
Вижу как очередное надгробие на кладбище продуктов гугла.
Аноним 09/03/23 Чтв 02:10:54 #176 №2634363 
>>2634295
Уже 10 лет как советуют передавать по значению, а не по ссылке.
https://stackoverflow.com/questions/10789740/passing-stdstring-by-value-or-reference/10789868
Аноним 09/03/23 Чтв 02:53:43 #177 №2634369 
>>2634101
> карбон
Слышал о нём ровно один раз сразу после анонса, когда кто-то прибежал сюда о нём рассказывать.
Аноним 09/03/23 Чтв 03:19:12 #178 №2634374 
image.png
>>2634270
>не получается вывести русский текст в консоль через setlocale(LC_ALL, "Rus");
Конечно не получается, такой локали/кода нет в NLS API.
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c
Аноним 09/03/23 Чтв 04:12:07 #179 №2634384 
>>2634101
Я не понимаю, почему он должен быть всратый как раст, почему нельзя оставить нормальный синтаксис? Никакая мемори сейфити не добавится, если писать fn, var и : тип после двоеточия.
Аноним 09/03/23 Чтв 04:33:52 #180 №2634387 
>>2634384
Двачую. Если это замена плюсов, то зачем менять еще и синтаксис плюсов?
Аноним 09/03/23 Чтв 05:26:41 #181 №2634398 
>>2634384
> всратый как раст,
Выглядит как будто больше го вдохновлялись
а зачем так делать? Потому что вроде читать такое удобнее, а то что тебе придётся на два символа больше писать, думаю не большая проблема
Аноним 09/03/23 Чтв 08:54:30 #182 №2634437 
ぼっちちゃん [string].png
>>2626726 (OP)
Лучший тред для самого интересного, многофункционального и вечно живого языка в обоих вселенных.
Аноним 09/03/23 Чтв 11:33:16 #183 №2634524 
>>2634181
А так не получится. Или садомазо Раст, или подтормаживающий SML/жабка.
Аноним 09/03/23 Чтв 13:33:36 #184 №2634638 
>>2634437
Тред Си ниже.
Аноним 09/03/23 Чтв 13:38:55 #185 №2634643 
>>2634384
Потому что соевые сжв, их смысл существования - гадить, делать хуже.
Аноним 09/03/23 Чтв 13:40:08 #186 №2634645 
>>2634643
База.
Аноним 09/03/23 Чтв 13:41:27 #187 №2634647 
>>2634638
Си хуита, плюсы пижже.
Аноним 09/03/23 Чтв 14:28:55 #188 №2634687 
>>2634647
и чем же он пизже?
Аноним 09/03/23 Чтв 14:36:04 #189 №2634692 
>>2634687
Всем.
Аноним 09/03/23 Чтв 15:44:35 #190 №2634743 
>>2634687
Си можно рассматривать как частично подмножество плюсов. Но си лучше, потому что можно перегружать функции и использовать классы из коробки.
Аноним 09/03/23 Чтв 16:40:28 #191 №2634787 
>>2634647
В чем то да, но не абсолютно. Например, никто не напишет в одиночку компилятор Си++, а Си написан и неоднократно. Си проще портануть на новую платформу. Си более простой язык, его быстрее изучить. В нем меньше неявных вызовов, не будет такого, что оператор сложения переопределен и лезет в интернет, меньше порятнок из шаблонов.
Аноним 09/03/23 Чтв 17:45:48 #192 №2634845 
>>2634687
Ничем. Си это огрызок от плюсов. Не плюсы хороши, сишка - убога. Плюсы сонечно сами по себе величайший язык, но это не означает что они сравнимы с сишкой как два равноценных языка. Сишка имеет свои узкие применения как кокой-нибудь PowerBASIC, да, для некоторых задач годный инструмант, но не более, до плюсов как до луны раком. Плюсы это универсальный величайший язык покрывающий любые современные задачи, вообще другая вселенная, сравнивают с сишкой только дебилы.
Аноним 09/03/23 Чтв 18:06:53 #193 №2634882 
>>2634845
База.
Аноним 09/03/23 Чтв 19:11:02 #194 №2634927 
>>2634845
> до плюсов как до луны раком
Плюсам до шарпа в таком случае - как до млечного пути.
Аноним 09/03/23 Чтв 19:15:10 #195 №2634932 
>>2634927
Пошёл нахуй.
Аноним 09/03/23 Чтв 19:19:31 #196 №2634941 
>>2634932
Булькнул крестовик с задворков галактики, но его вспук никто не услышал.
Аноним 09/03/23 Чтв 20:26:52 #197 №2635005 
Че с плюсовой работой, много ли вакансий, сколько платят в среднем?
Аноним 09/03/23 Чтв 20:29:52 #198 №2635008 
image.png
>>2634927
Напиши дрова на шарпе, умник.
Аноним 09/03/23 Чтв 20:33:43 #199 №2635011 
>>2635008
Что-то типа такого
https://github.com/NETMF/llilum/blob/dev/Zelig/BoardConfigurations/STM32F091/Board/HardwareModel/Board.cs
Аноним 09/03/23 Чтв 20:37:41 #200 №2635012 
image.png
>>2635011
Ебануться, до чего шиза дошла.
Аноним 09/03/23 Чтв 21:26:04 #201 №2635042 
Посоветуйте студенту ресурсов для вката после курса си. Желательно что-нибудь максимально простым языком, для общего понимания. Тяжело идёт что-то
Аноним 09/03/23 Чтв 21:43:32 #202 №2635055 
>>2635042
Пиши на сях с покерфейсом будто так и надо. Компиляется же, чё.
Аноним 09/03/23 Чтв 21:46:20 #203 №2635057 
image.png
Это норм вакуха, в рынке для мидла средней руки? не следил за рынком лет пять
Аноним 09/03/23 Чтв 21:48:01 #204 №2635059 
>>2635057
на js больше получают, если тебя этот факт устраивает, то норм
Аноним 09/03/23 Чтв 21:48:51 #205 №2635060 
>>2635059
Ну а какой сейчас рынок для плюсеров, есть ли понимание?
Аноним 09/03/23 Чтв 21:49:32 #206 №2635062 
>>2635057
Бустовые сигналы похожи на кутяшные?
Аноним 09/03/23 Чтв 21:58:17 #207 №2635065 
image.png
>>2635057
Маловато будет. Жабаскриптные макаки нихуя не умеющие больше зашибают.
Аноним 09/03/23 Чтв 23:20:44 #208 №2635138 
>>2635057
Для мидла вполне.
Если брать рынок РФ и обычного работягу разраба, то примерно такие расценки я замечал:
До 160 джун/джун+ 160-180 начинающий мидл. 180-210 мидл. 210-250 мидл + 250+ начинающий сеньор. 300+ сеньор.
Если говорим про щабугор, то начинающий сеньор где-то от 400к деревянных. Про мидлов, Где-то от 300.
Но ты ещё должен учитывать, чему ты научишься на текущем месте и сколько это позволит заработать потом.

Тебе уже на отвечали развной хуеты про ЖС и живу, ну как бы всегда( почти) найти ЖС и жаве за выше чем в какой-то вакансии.
Попробуй прососбеситмя и если всё ок будет, может ещё бабок накинут.
И ещё, ты написал, что 5 лет не следил, типа у тебя 5+ лет опыта?
Аноним 09/03/23 Чтв 23:28:25 #209 №2635147 
>>2634927
Скрипт с языком программирования несравним. Это еще тупее, чем сравнивать кресты с сишкой. Другой подход к написанию кода, другой менталитет, другая экосистема.

Если сравнение с сишкой может быть по наивности и недостатку знаний, то тащить на сравнение шарпоскрипт это тупосерь чистой воды. Ты же залетный даун, не больше, просто быдло в интернете считающее своим долгом везде залезть куда не просят и насрать потому что безнаказанно.
Аноним 09/03/23 Чтв 23:30:17 #210 №2635150 
>>2635147
>скрипт
Про JIT не слышал, ребенок?
Аноним 09/03/23 Чтв 23:32:12 #211 №2635153 
Как быстро посчитать xor четных битов?
Аноним 09/03/23 Чтв 23:36:19 #212 №2635159 
>>2635150
Скриптомакака не знает и не может знать отличия скрипта от языка программирования, потому что знает только первое. В итоге получается подобное тупое блеяние. Просто съеби на свою скриптопарашу, тут тред крестов, не для тебя сделан. Сказал же - тупая срущая залетуха, нахуй пошел, что еще не ясно-то?
Аноним 10/03/23 Птн 00:03:59 #213 №2635196 
>>2635159
А, понял, ты AngelScript кодерок, случайно зашедший в тред к настоящим программистам. Ну ничего, вот и просветишься.
Аноним 10/03/23 Птн 01:12:50 #214 №2635233 
Я что то увлекся ФП и теперь в кажется, что плюсам не хватает лаконичности. Есть парсер команд. Есть исполнитель. Как красиво запустить программу, так, чтобы она распарсила команды, а потом дернула нужную функцию у исполнителя. Писать кучу ифов очень не хочу
Аноним 10/03/23 Птн 01:24:55 #215 №2635242 
>>2635233
Вот и пиши на функциональных языках, а не на плюсах.
Аноним 10/03/23 Птн 01:28:03 #216 №2635244 
>>2635233
>Писать кучу ифов очень не хочу
Классы либо шаблоны.
Аноним 10/03/23 Птн 02:07:12 #217 №2635259 
Почему
auto p = parser::parser(argc, argv);
работает, но
parser::parser p(argc, argv);
нет?
Аноним 10/03/23 Птн 02:13:40 #218 №2635261 
>>2635259
У меня работает.
Аноним 10/03/23 Птн 02:37:41 #219 №2635265 
Как быстро посчитать код хэмминга? Моя тупая версия работает ооочень долго даже на файлах в пару мб
Аноним 10/03/23 Птн 02:41:40 #220 №2635266 
image.png
>>2635042
Аноним 10/03/23 Птн 02:50:42 #221 №2635270 
>>2635265
А мне надо несколько гб считать
Аноним 10/03/23 Птн 07:16:54 #222 №2635300 
>>2635150
Чтобы выполнить байт-код, его нужно интерпретировать, условно по такой схеме:
> if (x == 0x69) { ... } else if (x == 0x42) ...
Принципиальное отличие от интерпретируемых языков только в том, что не приходится парсить код каждый раз и искать ошибки. Но если JIT не равно скрипт, тогда получается, что и питон вовсе не интерпретируемый язык.
Аноним 10/03/23 Птн 08:37:01 #223 №2635328 
1561092207600.png
>>2635300
Ясно, значит про JIT ты не слышал.
Аноним 10/03/23 Птн 08:57:07 #224 №2635354 
>>2635300
Ты ничего не понимаешь дело совсем не в этом. Тупо одноклеточно в смысле того, что программирование это написание управляющих команд для некоей машины, и скрипт и язык программирования одно и то же. Но такая характеристика бесполезная хуета, толку от неё нет.

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

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

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

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

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

И вот взять простого человека, с детства натасканного на джаваскрипт, питон и тому подобные скрипты. Этот скриптовый менталитет въедается в мозги, и всё, получается урод, который даже не поймет что такое писать на си например, а будет так же говношлепить скрипты наугад и на си как всегда привык.
Аноним 10/03/23 Птн 08:59:54 #225 №2635357 
>>2635300
Что с тобой будет, когда ты узнаешь, что LLVM компилирует C++ в IR байткод...
Аноним 10/03/23 Птн 09:00:31 #226 №2635359 
>>2635354
Все это прекрасно, только C# - компилируемый язык, а не скрипт.
Аноним 10/03/23 Птн 09:01:47 #227 №2635360 
>>2635359
Если бы он был компилируемым, виртуалка дотнета была бы не нужна. Компиляция для виртуалки это интерпретация.
Аноним 10/03/23 Птн 09:02:45 #228 №2635363 
>>2635354
>Например, взять объект создать, а потом для скорости передавать его по ссылке, или по значению где он по десять раз будет пересоздаваться каждый раз
Скриптомакака (плюсовик) даже не знает, что уже 10 лет как в C++ надо передавать по значению, потому что это лучше оптимизируется компилятором: >>2634363
Не удивительно, ведь скриптомакака (плюсовик) застрял в 90-х, не развивается, и магическим мышлением повторяет заклинания, прочитанные им в дидовских книжках, не понимая как работает компьютер.
Аноним 10/03/23 Птн 09:03:16 #229 №2635366 
>>2635360 -> >>2635328 , >>2635357
Аноним 10/03/23 Птн 09:12:29 #230 №2635379 
image.png
>>2635354
>Программирование это программирование компьютера, железа. Свойство компьютера в том, что он документирован, фиксирован, открыт, так что программист им управляет посредством программы. А скрипт это виртуальная машина, закрытый черный ящик, про который писатель скриптов ничего не знает, и пишет скрипты наугад, потому что производитель скрипта так сказал, вслепую верит на слово и пишет методом тыка - от обратного чем программы.
[Смеётся по undefined behavior-ски]
Аноним 10/03/23 Птн 09:12:32 #231 №2635380 
>>2635366
Это лишь оптимизация виртуалки. Скорость виртуалки не отменяет что это виртуалка, все проблемы скриптоговна >>2635354 остаются, потому что скрипт это скрипт, хоть с медленной скоростью, хоть с более быстрой скоростью, это ничего не меняети к делу не относится. Потому что , как я уже написал >>2635354 проблемы скриптов в их фундаментальной природе обратной программам, из за чего отношение писателя скрипта к тому что он пишет диаметрально противоположно отношению программиста к нормальному программированиею.
Аноним 10/03/23 Птн 10:34:29 #232 №2635454 
image.png
>>2635153
Аноним 10/03/23 Птн 11:43:58 #233 №2635548 
>>2635354
Смешная С++ макака думает, что понимает, как работает компьютер и что его код выполняется ровно так, как он написал. Типичный плюсовик с повреждением мозга - потом такие начинают писать многопоточный код с этой парадигмой и закономерно обсираются.

Очнись, маня, современные компиляторы, процессоры и системы памяти настолько сложны и настолько преобразуют твой исходный код, что заявлять о "понимании того, как работает компьютер патаму чта я пишу на С++" может лишь полный некомпетентный идиот, коим ты и являешься.
Аноним 10/03/23 Птн 11:48:50 #234 №2635553 
>>2635354
Это было бы отчасти справедливо, если бы мы сидели в Си треде. Но крестомакаки в этом плане ничем не отличаются, они точно так же трясут ящик, переставляют параметры в шаблонах в надежде что ассемблерный выхлоп как-то поменяется. Это если он вообще хотя бы смотрит, что у него выходит.
Аноним 10/03/23 Птн 13:42:45 #235 №2635683 
>>2635548
Он вообще не об этом писал, а о концептуальном отличии подходов труъ-программистов и скриптомакак, но ты, как полагается поверхностой скриптомакаке, даже такую простую мысль уловить не смог.
Аноним 10/03/23 Птн 14:01:22 #236 №2635701 
>>2635553
Да, в этом есть рациональное зерно. Современные кресты больше похожи на жабаскрипт с этими шаблонами и функциональными портянками. Кто такое лепит действительно макаки, ибо это и есть скриптопомои добавленные в угоду современной моде на скрипты. Кресты же не монолит, они так или иначе развиваются и попадают под влияние вебпараши, их превращают потихоньку в подобное. Но это неизбежно ни для кого, и не отменяет всего предыдущего, что скриптами не является. Тут уже просто показатель мультипарадигменности крестов, позволяющих писать и так и так по желанию.
Аноним 10/03/23 Птн 14:06:58 #237 №2635712 
>>2635683
Ну да, теперь байтобы ассемблерщики у нас тру только.
Аноним 10/03/23 Птн 14:23:21 #238 №2635727 
>>2634692
мб ты просто чел что не понимает как это можно работать без ООП?
Аноним 10/03/23 Птн 14:25:59 #239 №2635733 
>>2634845
именно по этому Линус Торвальдс выбрал С а не ++? 98.5% кода на С и 0% на ++
Аноним 10/03/23 Птн 14:28:21 #240 №2635736 
>>2635712
Ну они самые трушные труъ-программисты, трушнее никак.
Аноним 10/03/23 Птн 14:29:29 #241 №2635737 
>>2635727
Понимаю, писал такое. Но такое сгодиться для чего-то простенького, сложнее утилитки или шмапа делать без ООП это изврат.
Аноним 10/03/23 Птн 14:32:34 #242 №2635739 
>>2635733
Так а хули ему на пятилетнем языке писать было, он же не хипстор как современные растоёбы и карбонодебилы, выбрал почти 20-летний проверенный временем язык как полагается и придерживается его.
А лучшая ОС для ПК, самая надежная и распространенная и работающая без пердолинга написана на крестах, потому что может себе позволить.
Аноним 10/03/23 Птн 15:03:48 #243 №2635766 
>>2635739
лучшая система написана на си и это линукс , и в чем проблема сейчас упдейтить код на ++ для линукса?
проблема в том что кресты это перегруженный язык , где так много ненужного кала что майкрософт обратила на него внимания и выкатила дерьмище под названием "КАЛdows" где даже по умолчанию калькулятор за который ты должен платить деньги (потому что виндовс платный, а ты хуй который спиратил) работает так убого что роняется от отрисовки школьного графики "tan(x) * 10"
Аноним 10/03/23 Птн 15:55:42 #244 №2635797 
>>2635766
Вы не заебались теплое с мягким сравнивать?
У языков разные задачи и сферы применения.
Аноним 10/03/23 Птн 16:39:50 #245 №2635837 
>>2635797
просто порвало с того что чел написал что ++ лучше чем си xD
Аноним 10/03/23 Птн 16:53:25 #246 №2635860 
> хипстор
> тру программисты
> смузихлебы
> скриптомакаки

Когда этот программист ЧПУ уже успокоится
Начать что-ли по словам посты скрывать
Аноним 10/03/23 Птн 17:06:48 #247 №2635873 
>>2635357
Это буквально ни о чем не говорит. C++ это стандарт, заточенный под абстрактную машину. Естественно его можно компилировать хоть в байт-код JVM, хоть в байт-код питона, во что угодно. Нормальные компиляторы компилируют код на плюсах в исполняемый файл, который можно запустить на реальном железе. C#, Java и прочие JIT-компилируемые языки этого не могут в принципе.

>>2635328
Процесс компиляции предполагает интерпретацию входного файла. Будь это исходный код или байт-код для виртуальной машины. JIT-компиляция она на то и Just In Time, что ее приходится производить каждый раз, когда ты запускаешь программу. Да, есть кэширование, но сути это не меняет. Более того, как-то так вышло, что никакая виртуальная машина не обходится одной лишь JIT-компиляцией. Часть байт-кода всё равно будет исполнять интерпретатор. Хз, может ты знаешь почему так. Машинный код, с другой стороны, можно передать процессору без лишних заморочек - и никакой интерпретатор или JIT-компилятор не нужен - он уже готов работать.
Аноним 10/03/23 Птн 17:10:28 #248 №2635881 
>>2635873
>C#, Java и прочие JIT-компилируемые языки этого не могут в принципе.
Что с тобой будет, когда ты узнаешь про AOT-компиляцию...
Аноним 10/03/23 Птн 17:17:55 #249 №2635890 
>>2635881
AOT-компиляция это обычная компиляция. За этим добро пожаловать в C/C++, AOT-компиляция сразу в машинный код, без промежуточных этапов. Поясню на схеме:

Исходный код Java --(AOT)--> байт-код JVM --(JIT)--> машинный код

Исходный код C --(AOT)--> машинный код
Аноним 10/03/23 Птн 17:18:08 #250 №2635891 
>>2635873
> C#, Java и прочие JIT-компилируемые языки этого не могут в принципе.

Ммм, типичный плюсовик-придурок, нихуя не знает и рассуждает с ебалом знатока. Ебальники людей, лет 5 использующих AOT в проде представили?
Аноним 10/03/23 Птн 17:20:19 #251 №2635893 
>>2635890
>Исходный код Java --(AOT)--> байт-код JVM
Придурок, ты хоть доки GraalVM почитай. Компиляция идёт сразу в натив.
Аноним 10/03/23 Птн 17:24:19 #252 №2635901 
>>2635893
Это замечательно, я рад что зумеры догадались, что виртуальная машина - хуета, и изобрели предаварительную компиляцию в машинный код (через костыли, как и всегда). Спрашивается, нахуй тогда нужны ваши джавы, сисярпы и прочий кал, когда есть нормальные человеческие языки, которые умеют в нативную компиляцию с рождения?
Аноним 10/03/23 Птн 17:26:45 #253 №2635903 
Привет всем, как скомпилить Плюсы под джавовскую вм?
Аноним 10/03/23 Птн 17:27:53 #254 №2635904 
>>2635901
Т.е. ты только что насрал себе в штаны и объявил победу. Достойно для С++ макаки
Аноним 10/03/23 Птн 17:32:31 #255 №2635910 
>>2635904
Я только что продемонстрировал, что Java, в её исходном виде, и есть "скрипт", в связи с чем и пришлось допиливать костыль в виде AOT-компилятора для Java. Повторюсь, зумеры изобрели нативную компиляцию. Так зачем нужен ваш JIT, напомни?
Аноним 10/03/23 Птн 17:36:58 #256 №2635912 
>>2635903
К сожалению, никому не упал компилятор C++ для JVM. Зато ты можешь скопилировать плюсы под CLR, майкрософт об этом позаботились. Но не растраивайся, ты можешь написать свой компилятор C++ для JVM. Кстати, как думаешь, на каком языке его следует писать?
Аноним 10/03/23 Птн 17:38:17 #257 №2635914 
>>2635912
На расте? На питоне?
Аноним 10/03/23 Птн 17:44:35 #258 №2635921 
>>2635766
>лучшая система написана на си и это линукс
Неверно. Дальше не читал, ты дебил и будешь писать хуйню.
Аноним 10/03/23 Птн 18:02:16 #259 №2635932 
>>2635901
>нормальные человеческие языки
>C++ c рандомными UB из-за нарушения правила 7.6.3.7.2.14.88 швятого штандарта языка (и очередных багов в GCC/шланге)

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

...но С++-макакен не ищет легких путей, ему надо тащить свой крест до конца.
Аноним 10/03/23 Птн 18:23:07 #260 №2635944 
>>2635901
Так JIT лучше для серверов и вообще программ, которые запускаются несколько раз. VM собирает статистику использования и оптимизирует неиспользуемые части. Тогда как в C++ у тебя что скомпилировано, то всегда выполняется даже если часто не нужно, и шатает кэш проца.
Аноним 10/03/23 Птн 18:29:27 #261 №2635950 
>>2635944
> Тогда как в C++ у тебя что скомпилировано, то всегда выполняется даже если часто не нужно, и шатает кэш проца.
Што
Аноним 10/03/23 Птн 18:36:31 #262 №2635956 
>>2635944
А массивы для векторизации он тоже в памяти передвигает?
Аноним 10/03/23 Птн 18:41:47 #263 №2635958 
>>2635944
>в C++ у тебя что скомпилировано, то всегда выполняется даже если часто не нужно, и шатает кэш проца.
Что с тобой будет, когда ты узнаешь про PGO-компиляцию...
Аноним 10/03/23 Птн 18:43:15 #264 №2635960 
>>2635950
А то. Например, выкинуть какую-нибудь проверку на NPE, которая никогда не случается (с возможностью восстановления, если она все же случится) и прочие трюки.

JIT вполне может оказаться быстрее AOT компилияции. В мире hft C++ люди глазами смотрят на получающийся листинг, профилируют код и расставляют хинты для компилятора вручную (т.е. такой ручной JIT)
Аноним 10/03/23 Птн 18:46:54 #265 №2635962 
кстати где-то читал что в конпелятор крестов хотят добавить jit а то че-то шаблоны долго разворачиваются))
Аноним 10/03/23 Птн 18:49:21 #266 №2635964 
>>2635950
Бинарный код занимает место. Представь себе, что у тебя три функции вызывается. В случае, если ты оптимизированно скомпилируешь только их, они допустим будут всегда в одной странице памяти. Если же ты запускаешь обычный экзешник, они могут быть на большом расстоянии друг от друга, и у тебя будет при каждом вызове выбивать страницу памяти и грузить другую.
Аноним 10/03/23 Птн 18:51:37 #267 №2635965 
>>2635958
Справедливо, я про нее и не знал и никогда не видел такого флага на практике, а за прошлый год собрал не меньше полсотни проектов включая всякие тяжелые от гугла. Так что, верю что где-то в стране радужных коней кто-то секретно ее использует.
Аноним 10/03/23 Птн 19:17:36 #268 №2636004 
image.png
>>2635962
Аноним 10/03/23 Птн 19:26:06 #269 №2636017 
>>2636004
ну типа все принялись хуярить метапрограммы на шаблонах. а в компайл тайме это по сути интерпретация кода на псевдофункциональном псевдоязыке. для ее ускорения и собирались прикручивать жит. но хз может их попустило уже
Аноним 10/03/23 Птн 20:00:28 #270 №2636068 
>>2636017
Не похую ли? Разворачивание шаблонов это просто время конпеляции, на конечный продукт не влияет, то о чем ты пишешь якобы должно его уменьшать или что?
Аноним 10/03/23 Птн 20:08:33 #271 №2636079 
>>2636068
больше комплексных шаблонов --- больше время компиляции
Аноним 10/03/23 Птн 20:16:04 #272 №2636085 
>>2636017
Так это не JIT, оно не должно компилироваться во время работы программы. Это просто прекомпиляция шаблонов, по сути дополнительный этап сборки между препроцессором и компилятором.
Аноним 10/03/23 Птн 20:34:55 #273 №2636100 
>>2635950
Да даже архитектура проца. У тебя или собрано под древний проц чтобы везде работало, но медленнее, либо под новейший и на старом не запустится. Не помню чтобы в с++ либах была часто распространенв практика загружать нужную дллку/so с реализацией под твою.
Аноним 10/03/23 Птн 20:38:55 #274 №2636105 
>>2636079
В таких случаях разбивка на подпроекты идет и не надо перекомпилировать вообще все подряд каждый раз. Хуй знает, может актуально для каких-нибудь мастодонтных энтерпрайзов где коду 30 лет и даже с реорганизацией и разбивкой конпеляция конское время занимает, но на крупных проектах где я бывал компилировался только тот проект в пределах которого ты фаршмачишь (и те которые обновились после обновления с репы) и это было быстро на обывчном компе без прибегания к распределению.
Кароч по-моему это не-проблема для большинства кодеров.
Аноним 10/03/23 Птн 20:41:39 #275 №2636110 
>>2636085
Может ли быть такое, что компилятор не может определить, какие именно комбинации шаблонов используются, это выяснится только в рантайме, и вынужден сгенерить все? Пример не смогу показать, слишком сложна.
Аноним 10/03/23 Птн 20:53:34 #276 №2636123 
>>2636110
Не может. И что значит все, перебрать все типы в программе начиная от char? Тогда от void zalupa(auto, auto, auto) уже все обмякнет.
Аноним 10/03/23 Птн 21:26:41 #277 №2636136 
>>2636110
Так не бывает по определению
Аноним 10/03/23 Птн 21:39:05 #278 №2636142 
>>2636110
Тупо ошибка компиляции будет.
Аноним 10/03/23 Птн 21:57:56 #279 №2636164 
>>2636136
>>2636142
Ну придется придумывать пример.
template<T,U> class Base { ... };
И потом где-нибудь
auto ptr = get_object();
И допустим в программе используется только одно сочетание, <int, float>
А компилировать придется все
Аноним 10/03/23 Птн 21:59:02 #280 №2636168 
>>2636123
> Тогда от void zalupa(auto, auto, auto) уже все обмякнет.
Еще в 93 году sml не обмякал. Там аннотации типов были исключением, а не правилом.
Аноним 11/03/23 Суб 11:02:06 #281 №2636568 
>>2636164
Ничего не понятно, где в твоём примере нужно компилировать всё?
Аноним 11/03/23 Суб 11:07:23 #282 №2636570 
>>2636568
Ну допустим есть классы для
Base<int, int>
Base<int, float>
Base<float, float>
Base<float, int>
В проге используется только один <int, float>, но прога может быть достаточно сложна, чтобы компилятор это соптимизировал. Ну и комбинаций и параметров может быть больше, что приводит к экспоненциальному росту вроде.
Аноним 11/03/23 Суб 13:38:11 #283 №2636670 
>>2636570
Если используется только Base<int, float>, то будет скомпилирован только Base<int, float>.
> Ну допустим есть классы для
> Base<int, int>
> Base<int, float>
> Base<float, float>
> Base<float, int>
В каком смысле они "есть"? Если они есть в коде, все четыре будут скомпилированы.
Аноним 11/03/23 Суб 13:51:42 #284 №2636676 
>>2636670
Ну допустим написана реализация для всех этих комбинаций, но реально используется только одна.
Аноним 11/03/23 Суб 16:58:55 #285 №2636896 
>>2636676
Если ты имеешь ввиду что-то типа
> void f<class T>() {...}
> int n;
> std::cin >> n;
> if(n) f<int>(); else f<float>();

То скомпилированы будут оба экземпляра. Но ты написал
>>2636570
> В проге используется только один <int, float>, но прога может быть достаточно сложна, чтобы компилятор это соптимизировал
Это невозможно. Компилятор должен чётко знать, какие параметры ты подставил. Это нельзя перенести в рантайм. Примеры с auto тоже мимо. Тип переменной объявленной через auto тоже определяется при компиляции.
Аноним 11/03/23 Суб 17:06:02 #286 №2636905 
>>2636896
Нет, скорее я имею в виду такое:
f<int>() {...}
f<float>() {...}

#ifdef I
f<int>();
#elifdef F
f<float>();
#endif
Можно и не на уровне макросов, а чего-то с наследованием.
Тут бы явно JIT помог, т.е. не надо компилировать f<int> если она не используется.
Аноним 11/03/23 Суб 17:27:55 #287 №2636944 
>>2636905
> Нет, скорее я имею в виду такое:
> f<int>() {...}
> f<float>() {...}

> #ifdef I
> f<int>();
> #elifdef F
> f<float>();
> #endif
> Можно и не на уровне макросов, а чего-то с наследованием.
> Тут бы явно JIT помог, т.е. не надо компилировать f<int> если она не используется.
Конкретно в твоем примере с макросами - да, оба не скомпилируются, максимум один из них.
Аноним 11/03/23 Суб 17:41:15 #288 №2636979 
>>2636944
Я хреново объясняю и мне трудно придумать наглядный пример.
Допустим так
funcA() { f<int>(); }
funcB() { f<float>(); }
int main() { funcA(); }
Разве компилятор может скипнуть компиляцию funcB() и f<float>?
Аноним 11/03/23 Суб 17:47:02 #289 №2636996 
>>2636979
Gosbolt для кого придуман?
Аноним 11/03/23 Суб 17:48:25 #290 №2637000 
>>2636996
А причем тут он? Я про стандарт или что-то такое. К тому же это упрощенный пример, речь о программах в 100 раз сложнее и перепутаннее, когда оптимизатор крякает и машет рукой.
Аноним 11/03/23 Суб 19:23:26 #291 №2637183 
>>2636979
Может, но не факт, что станет. А может и факт, надо курить стандарт.
Аноним 11/03/23 Суб 19:24:54 #292 №2637184 
>>2636979
Во всяком случае, JIT здесь ни к селу, ни к городу.
Аноним 11/03/23 Суб 23:12:39 #293 №2637410 
>>2637000
Так стандарт или компилятор?
Тебя чей вывод интересует?
Аноним 11/03/23 Суб 23:20:09 #294 №2637416 
>>2637410
Можно выбрать только одно? Компиляторы соблюдающие стандарт не?

Я не очень знаю шаблоны.
Я знаю что компилятор не скомпилирует
void foo1() { куегкт; }
void foo2() { return; }
int main() { foo2(); }
Но вроде бы в случае шаблонов это не всегда так и он не обязан убедиться что весь код компилируется?
SFINAE всякие
Аноним 11/03/23 Суб 23:32:53 #295 №2637427 
>>2636979
Компилятор соберёт все, а потом линкер, исходя из опций, может дропнуть ненужное.
Аноним 11/03/23 Суб 23:51:36 #296 №2637449 
>>2637416
Не думаю что стандарт вообще что то гарантирует в этом направлении.
Сфинае просто не дропнет компиляцию на этом типе и начнет подставлять другие, насколько я ее понимаю.
Компилятор может выкинуть твою функцию, а может и не выкинуть. Но если функция некорректна с точки зрения языка, компилятор все равно ругнется. Даже если она нахер не нужна.
Аноним 12/03/23 Вск 03:10:08 #297 №2637522 
Screenshot20230312030807.png
Впрыгнул. Редко тут бываю. Что ни зайдёшь, либо лабы, либо какая-то полуфилософская заумь.

qt-быдлокодер
Аноним 12/03/23 Вск 04:12:14 #298 №2637534 
Посоветуйте какой-нибудь краткий гайд к cmake
Аноним 12/03/23 Вск 04:20:37 #299 №2637535 
.png
>>2637534
Кратким гайдом ты не отделаешься.
Аноним 12/03/23 Вск 05:05:18 #300 №2637542 
>>2637540
>cmake это такой кромешный ужаc
autotools ты видимо не пользовался?
Аноним 12/03/23 Вск 12:14:16 #301 №2637711 
>>2637540
> Традиции
this

>>2637534
К сожалению только через кровь и пот, мне вот это выступление оч помогло понять как писать MORE MODERN CMAKE
https://www.youtube.com/watch?v=y7ndUhdQuU8&ab_channel=MeetingCpp
Аноним 12/03/23 Вск 13:26:50 #302 №2637782 
изображение.png
Это что правда, что указатель на функцию добавляет уровень косвенности, или он опять гонит?
Функция сама по себе разве не указатель?
Аноним 12/03/23 Вск 13:42:58 #303 №2637802 
>>2637782
Указатель это отдельная переменная. Имя функции это не переменная. Ты путаешь указатель с адресом, это разные вещи. Вызов функции это переход по адресу. Вызов через указатель, это переход по адресу находящемуся в переменной указателя, тут добавляется извлечение адреса из переменной перед тем как переходить.
Аноним 12/03/23 Вск 14:07:55 #304 №2637833 
>>2637802
>Вызов через указатель, это переход по адресу находящемуся в переменной указателя
Ну так указатель не обязательно должен содержать адрес имени функции. Что ему мешает содержать точно тот же адрес перехода, что и само имя функции?

Аналогия. Можно объявить указатель на указатель, это добавит уровень косвенности. Но можно сделать копию указателя и уровней косвенности не прибавится.
Аноним 12/03/23 Вск 14:16:50 #305 №2637844 
>>2637782
На примере условного ассемблера.
В процессоре есть регистр IP, указывающий на адрес выполняемой инструкции.
При вызове функции, в IP загружается адрес, на который прыгнуть (а в стек сохраняется адрес текущей инструкции) точнее, следующей за ней
IP = 0xE301
При вызове по указателю, мы прыгаем не на адрес переменной, а на адрес, хранящийся в переменной.
То есть сначала надо прочитать память по адресу переменной, а потом прыгнуть на адрес, хранящийся в ней.
Это и есть 1 уровень косвенности.
TMP = 0xD020
IP = [TMP] //напр., 0xE47F

Алсо, описание inline в старых книжках устарело.
Краткая история Inline примерно такая:
Разрабы компилятора: добавляем inline, чтобы тело функции включалось в место использования, наподобие макроса.
Разрабы программ: о, хренак, добавим везде inline, быстрее будет же еба
Реальность: теперь везде стало медленнее, потому что компилятору ничего не получается оптимизировать
Разрабы компилятора: отключим инлайн, теперь он необязательный, но добавим флаг force inline
Разрабы программ: о, хренак, включим везде этот флаг, быстрее будет же еба
Реальность: стало еще хуже.
Разрабы компилятора: ... отключаем inline нафиг.

В современном С++ inline не означает подстановку функции. Компилятор может сам оптимизировать подставив функцию, даже не inline, а может не подставлять inline функцию, а вызывать ее обычно.
В первую очередь inline теперь означает, что у функции может быть несколько определений в нескольких файлах, а не только одно, как обычно. Впрочем, они обязаны быть идентичными, иначе это Undefined Behavior.
https://en.cppreference.com/w/cpp/language/inline
Аноним 12/03/23 Вск 14:41:10 #306 №2637872 
>>2637833
>адрес имени функции
Бессмыслица. Имя функции не существует, поэтому адреса имени быть не может. Имя это и есть сам адрес - число. Имя словом нужно только в исходном коде, потому что слова проще воспринимать, чем числа, но в реальности это число, адрес.

Таким образом, указатель (переменная) и так содержит адрес функции, больше в указателе и нет никакого смысла. Можно конечно туда заносить другие числа и переход случится уже не туда, но это не важно. Важно, что без указателя нет переменной, есть только адрес - число. Везде где в исходнике написано имя функции, в коде получаются числа, один и тот же адрес натыкан везде:
>код 123 код код 123 код 123 код 123
А переменная это переменная, ячейка памяти со своим содержимым, для использования которого нужно выделить память и иметь код который к ней обращается и извлекает сожержимое. Без переменной (указателя) нет никакой ячейки памяти и нет кода обращения к переменной, происхотят прямое обращение, а с переменной непрямое, а только через переменную-посредника.
Аноним 12/03/23 Вск 14:57:05 #307 №2637880 
>>2637833
>Но можно сделать копию указателя и уровней косвенности не прибавится.
Дело в том, что у тебя уже есть указатель и 1 уровень косвенности.
В случае вызова функции, у тебя нет косвенности, уровень 0-й.
Аноним 12/03/23 Вск 18:06:29 #308 №2638145 
Вы все так сложно написали, вообще не вкурил сначала.
Другой анон
Аноним 13/03/23 Пнд 01:35:47 #309 №2638534 
>>2637782
>Функция сама по себе разве не указатель?
нет. Так как тут речь о инлайне - то функция - это кусок памяти где-то в пердях бинарника, у этого куска памяти есть адрес. Прямое Обращение по адресу (то есть вызов функции) - это просто джамп в те перди. При этом все джампы компилятор раставит, процессор уже знает куда прыгать. У него просто такая инструкция - перескочить вон туда.

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

То есть два дополнительных действия.

Кстати именно поэтому полиморфизм влияет на производительность - так как это тоже указатели на функции.
Аноним 13/03/23 Пнд 01:50:10 #310 №2638539 
>>2638145
Да не забивай себе голову... в с++ дохулион всяких нюансов. не просто так же говорят что его можно изучать 20 лет и нифига не узнать. А самый прикол что многие нюансы еще и успевают потерять актуальность, или обрастают новыми костылями

Просто держи в памяти что указатель на функцию чуть медленее вызова. Но это мизер на который должно быть пофиг в 99% задачах.
Аноним 13/03/23 Пнд 02:38:43 #311 №2638548 
>>2638539
>в с++ дохулион всяких нюансов
Это база которую обязан знать, а вовсе не какой-то левый нюанс. И 20 лет ни при чём, ты это должен знать в самом начале, иначе ты сам не понимаешь что пишешь, на этом весь язык основан.
Аноним 13/03/23 Пнд 02:47:14 #312 №2638557 
В с++ дохулион всяких UB.
Аноним 13/03/23 Пнд 13:33:37 #313 №2638836 
>>2638557
дохулион платформ - дохулион UB
Аноним 13/03/23 Пнд 14:12:47 #314 №2638882 
.
Аноним 13/03/23 Пнд 14:18:27 #315 №2638889 
поясните тупому за noexcept, нахуя он нужен?
если в методе с ним кинуть ексепшен дебаг абрт ловлю, даже не смотря на трай.
Аноним 13/03/23 Пнд 14:45:48 #316 №2638914 
>>2638889
это значит что пока ты в этой функции ты не имеешь право кидать эксепшен
если же ты решил его кинуть, моментальный аборт

поэтому ты даже попытаться внутри неё что то словить не имеешь права
Аноним 13/03/23 Пнд 14:47:30 #317 №2638916 
>>2638889
На самое главное то не ответил
>нахуя он нужен
Потому что так быстрее, компилятор может более круче за оптимизировать твой код
Плюс облегчает некоторое написание кода, когда ты например точно знаешь что мув конструктор никогда не кинет эксепшен
Аноним 13/03/23 Пнд 14:50:57 #318 №2638922 
а вобще в цпп референсе всё понятно написано
иди изучать
Аноним 13/03/23 Пнд 14:52:15 #319 №2638925 
>>2638889
Потому что эксепшены НЕ НУ Ж НЫ, но гомогеи их пропихнули, но олды оставили флаг что б собирать без ентого говна.
Аноним 13/03/23 Пнд 15:11:04 #320 №2638963 
>>2638836
UB не от платформы происходит, а от грамматики языка.
Аноним 13/03/23 Пнд 15:11:39 #321 №2638965 
image.png
>>2638925
Использую эксепшены вместо ифов, и что ты мне зделоеш?
Аноним 13/03/23 Пнд 15:18:27 #322 №2638973 
>>2638963
какое отношение граматика языка к UB имеет?
Аноним 13/03/23 Пнд 15:20:29 #323 №2638977 
>>2638973
Семантика.
Аноним 13/03/23 Пнд 15:59:24 #324 №2639006 
>>2638925
Посмотрел бы я на тебя, когда тебе надо с файлами работать и кучу операций делать. Использовать исключения - хуйня. Оборачивать каждую строчку в иф и раздувать код в 2 раза - отличная идея
Аноним 13/03/23 Пнд 16:22:42 #325 №2639020 
>>2639006
Эх, вот бы можно было написать zero-cost объект-обертку с optional<result, error>...
Аноним 13/03/23 Пнд 17:32:21 #326 №2639091 
Кристач, поясните даунитосу из шарпача за ссылки. Я правильно понимаю, що при использовании ссылок нормальные люди называют переменную таким образом, чтобы из названия было явно понятно, что это именно ссылка?
Аноним 13/03/23 Пнд 17:38:21 #327 №2639099 
>>2639091
Нет.
Аноним 13/03/23 Пнд 18:02:58 #328 №2639126 
>>2639020
А почему нельзя?
Мимо
Аноним 13/03/23 Пнд 18:04:24 #329 №2639127 
>>2639091
Названию нельзя доверять.
Аноним 13/03/23 Пнд 19:20:34 #330 №2639246 
>>2638963
Язык такой, чтобы он мог одинаково работать на любой платформе. За это приходится платить пресловутыми уб. Замени все уб в стандарте на что-то конкретное, и потеряешь в эффективности, так как отдельные реализации языка будут вынуждены соответствовать этим дополнительным требованиям, даже если это особо никому не нужно, и у компилятора будет меньше возможностей оптимизировать код.
Аноним 13/03/23 Пнд 21:13:55 #331 №2639336 
>>2639127
Справедливо.
Аноним 13/03/23 Пнд 21:43:40 #332 №2639349 
>>2638965
Ничего
>>2639006
Я таким не занимпюсь, возможно ты прав, посмотрю ради интереса что там. Что эксепшены быстрее чем кейс по енамам? Но работа с файлами как ты описал сама по себе медленная так что хз.
Аноним 13/03/23 Пнд 23:08:55 #333 №2639405 
изображение.png
>>2638534
>Так как тут речь о инлайне
С инлайном понятно.
У него (у Мейерса) сравнивается передача в алгоритм указателя на функцию VS функциональный объект. Кроме трабблов с инлайном, я цветом выделил еще один тейк, что якобы указатель на функцию дает больше уровней косвенности, чем функциональный объект.

Я себе это представляю как ленту, поток инструкций.

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

И там и сям один джамп, если указатель указывает на адрес тела функции, а не на адрес, содержащий вызов функции. В общем случае и не обязательно такое место даже есть в программе. Вот допустим функция foo() вызывается только по указателю, но нигде не вызывается "прямо". Куда в таком случае указывает указатель? Только сразу на тело функции он и может указывать. Или что, компилятор отдельно где-то в коде генерит операцию тру-вызова функции и указатель направляет на операцию вызова, но не сразу на тело.

Что мне не понятно.
Зачем делать через жопу, как все тут настаивают, когда есть очевидный способ сделать не через жопу?
Аноним 13/03/23 Пнд 23:09:46 #334 №2639406 
>В С++ структуры и классы эквивалентны, кроме доступа по умолчанию.

А в чем тогда смысл? Если по чистому коду модификатор доступа все равно надо прописывать?
Аноним 13/03/23 Пнд 23:13:03 #335 №2639412 
>>2639406
А нет его, смысла.
Просто делай как все и используй стракты для чего попроще и классы для чего посложнее.
Аноним 13/03/23 Пнд 23:15:26 #336 №2639416 
>>2639406
Смысл в совместимости с сишкой.
Аноним 13/03/23 Пнд 23:25:59 #337 №2639427 
>>2639406
>по чистому коду модификатор доступа все равно надо прописывать?
В Комитете засела нечистая сила, вот и лоббирует всякое.
Аноним 13/03/23 Пнд 23:39:58 #338 №2639435 
.png
>>2639427
> В Комитете засела нечистая сила
Многие давно подозревают.
Аноним 14/03/23 Втр 09:02:32 #339 №2639527 
>>2639435
В каком-то подвале собрались. Не могли нормальное помещение арендовать?
Бичёвский комитет для бичёвского языка.
Аноним 14/03/23 Втр 11:53:29 #340 №2639620 
>>2639246
>Язык такой, чтобы он мог одинаково работать на любой платформе.
Только тут адово противоречие, из-за уб он никогда не будет работать одинаково на любой платформе.
Аноним 14/03/23 Втр 12:08:14 #341 №2639636 
Безымянный.jpg
А есть компиляторы, в которых на нормальном языке объяснят, что делает метод? Я из всей этой ебалды только понял, что он принимает параметром кейвалью. Возврат поидее булевый, но где об этом написано?
Аноним 14/03/23 Втр 12:20:18 #342 №2639648 
>>2639636
Походу хуелевое возвращает. Возвращает просто размер найденного по ключу объекта деленный на размер объекта? Чи да?
Аноним 14/03/23 Втр 12:23:13 #343 №2639651 
>>2639527
>Бичёвский
>бичёвского
Это слово реально через "ё" пишется?
Аноним 14/03/23 Втр 12:24:44 #344 №2639655 
>>2639636
Вернёт количество объектов по ключу.
Аноним 14/03/23 Втр 12:24:54 #345 №2639656 
>>2639636
>А есть компиляторы, в которых на нормальном языке объяснят, что делает метод?
Тебе чтоб шаблончики разворачивало и разжевывало?
ИДЕшки вроде даже бесшаблонные функции только по самому минимуму показывают, тут от аффтаров зависит если каменты завезли, тогда видно и понятно что к чему.
К СДЛ каментоф нет, четай РТФМ (вроде cppreference.com)
Аноним 14/03/23 Втр 12:25:23 #346 №2639658 
>>2639656
>СДЛ
Лол, к СДЛ как раз есть, я про СТЛ.

быстрофикс
Аноним 14/03/23 Втр 12:28:13 #347 №2639660 
>>2639656
Ясно, спасибо. Здесь вам не тут конечно.
Аноним 14/03/23 Втр 13:53:16 #348 №2639758 
>>2639620
Если не допускать уб в коде, он гарантированно будет работать на любой платформе. С поправкой на средства, которые заявлены в стандарте как implementation defined. Например, платформа не обязана поддерживать intX_t типы.

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

Алсо реквестирую самый ебанутый и неочевидный по вашему мнению пример уб.
Аноним 14/03/23 Втр 14:30:15 #349 №2639801 
>>2639758
>самый ебанутый и неочевидный по вашему мнению пример уб.
Добавляешь такой без задней мысли конструктор из std::initializer_list и {}-инициализация в казалось бы хорошо протестированном коде начинает играть новыми красками, которых никто не предвидел.

Формально не ub, но хрен редьки не слаще.
Аноним 14/03/23 Втр 14:43:17 #350 №2639823 
>>2639801
Ну, честно говоря, это как написать
2 + 2 × 2
и удивляться, почему получилось 6, а не 8. Не в том смысле, что это глупая ошибка, а в смысле что претензия необоснованная.
> не ub
Вот именно.
Аноним 14/03/23 Втр 14:44:35 #351 №2639826 
>>2639801
Чёт не понял, в чем проблема?
В том что {} интерпретируется как лист инициализации, а не вызов конструктора?
Аноним 14/03/23 Втр 14:55:29 #352 №2639838 
>>2639826
В том, что такой конструктор на хую вертел правила разрешения перегрузки.
Когда он есть - это одно, когда его нет - другое. Но в обоих случаях компилятор молча компилировает.
Это все можно отладить, когда он изначально предусмотрен. А если добавлять в существующую кодовую базу - пойди перелопать весь код, где твой класс использовался.

>>2639823
Мое почтение, если для тебя это как 2 + 2.
Аноним 14/03/23 Втр 15:11:02 #353 №2639863 
>>2639838
Если тебе он нужен, но переписывать всю кодовую базу не хочешь, почему не сделать так:
T::from_init_list()?
Аноним 14/03/23 Втр 15:12:12 #354 №2639865 
>>2639838
> Мое почтение, если для тебя это как 2 + 2.
Я и говорю, что дело не в сложности, а в том, что принцип тот же. Язык сложный, кто ж спорит.

> В том, что такой конструктор на хую вертел правила разрешения перегрузки.
На самом деле там просто у initializer_list приоритет выше.
Аноним 14/03/23 Втр 15:15:47 #355 №2639868 
>>2639838
> А если добавлять в существующую кодовую базу - пойди перелопать весь код, где твой класс использовался.
Вот это, кстати, по делу, универсальная инициализация это такое себе решение.
Аноним 14/03/23 Втр 17:19:54 #356 №2640015 
>>2639801
>>2639823
>>2639826
>std::initializer_list
Поясните про этот момент, пожалуйста, что там может пойти не так?
Аноним 14/03/23 Втр 17:30:03 #357 №2640021 
А.mp4
> CONAN 2.0
Они на фулл ебале все рецепты просто поломали?
Find{PackageName}.cmake просто нигде не работает
Ни бусты, ни фмт, ни гтест

И что, пару лет ждать пока дяди захотят в своих проектах сборку переписать?
Аноним 14/03/23 Втр 17:43:43 #358 №2640040 
>>2640021
Vcpkg
Аноним 14/03/23 Втр 18:39:26 #359 №2640103 
>>2640015
С некоторых пор инициализацию можно производить с помощью {}. Например вот так:
int x{666};
Для чего это нужно? Компилятор путал T x() с объявлением функции в .h, насколько я понимаю.
Вроде все хорошо. Но теперь рассмотрим вектор:
vector<int> x(10,2);
vector<int> x{10,2};
Что мы хотим? Вызвать конструктор, который создаст 10 элементов и заполнит их значением 2.
В первом варианте так и будет.
Но во втором конструктор списка инициализации возьмёт верх и создастся вектор[ 10,2].
Вот и вся проблема. Про это нужно просто знать.
Поправьте если не прав.
Аноним 14/03/23 Втр 19:12:28 #360 №2640158 
image.png
>>2640103
Ох, лол, даже не подумал бы. Спасибо за объяснение, мне просто в голову бы не пришло второй вариант с такой мыслью использовать.
Аноним 14/03/23 Втр 19:51:49 #361 №2640231 
>>2640103
>Вызвать конструктор, который создаст 10 элементов и заполнит их значением 2.
Нет, не хотим. Это API одно из самых больших ошибок в истории с++.
Аноним 14/03/23 Втр 19:59:29 #362 №2640240 
>>2640231
Я хочу.
Аноним 14/03/23 Втр 20:05:55 #363 №2640253 
>>2639758
>Алсо реквестирую самый ебанутый и неочевидный по вашему мнению пример уб.

a + b

Как все уже поняли, недостаточно просто написать

sum = a + b;

Ведь при переполнении это UB.
Понятно, но наверное можно же проверить?

sum = a + b;
if(a + b > INT_MAX) error();

Стоп. Так условие же никогда не выполнится из-за переполнения.
Да и это уже целых 2 UB

sum = a + b;
if(sum < a) error();

Ну не, так не выйдет, ведь UB уже произошло, компилятор имеет право выкинуть всю проверку.
Ладно, шутки в сторону, давайте проверим заранее. Так, а что писать?
(a + b < INT_MAX) мы уже пробовали. (Ахаха, подловил. Надо писать не меньше, а меньше или равно) А, точно.

if(a <= INT_MAX - b)
sum = a + b;
else error();

Так, пагадите!
Что-то тут не так.
Допустим у нас a < 0 и b = 0
И мы только что (наберите воздуха в грудь), во время сравнения
Вычли с underflow.
Минус сколько-то минус макс_инт меньше чем влезает в инт.
Переполнение в другую сторону, тоже UB
Переписываем нахуй

if((b > 0 && a <= INT_MAX - b) ||
(b < 0 && a >= INT_MAX - b))
sum = a + b;
else error();

Скобочки посчитали? && и || не перепутали?
Вот теперь заебись!
И это крестобоги должны писать вместо каждого сложения в программе.
Ассемблерный выхлоп показывать не буду. Чтобы ночных кошмаров не было.

P.S. Бонусный трек
#include <climits>
#include <iostream>
int main() {
std::cout << INT_MIN << '\n';
std::cout << INT_MIN / -1;
}
Что там за знак должен быть у второго числа, ну ка?
Аноним 14/03/23 Втр 20:09:42 #364 №2640256 
>>2640253
В какой раз здесь это постят? Раза три точно было.
Аноним 14/03/23 Втр 20:15:31 #365 №2640264 
>>2640231
А как ты это делаешь? В фор-лупе пушбечишь значения?
Аноним 14/03/23 Втр 20:18:18 #366 №2640266 
1641390153720.png
>>2640264
memset
Аноним 14/03/23 Втр 20:23:35 #367 №2640270 
>>2640231
Идея в использовании некоторого конструктора, принимающего n T, который можно "спутать" со списком n[ ].
Аноним 14/03/23 Втр 20:27:07 #368 №2640273 
>>2640253
А крестовики-то оказывается складывать не умеют!
Аноним 14/03/23 Втр 20:32:35 #369 №2640278 
>>2640240
Это тебе в питон какой нибудь. Там любят let arr = [2] * 10
Аноним 14/03/23 Втр 20:42:01 #370 №2640288 
>>2640278
Наверное есть еще более питоническое выражение. Я когда пытался скриптовать мелочи по работе, чтоб плюсы не елозить каждый раз, быстренько питонить начал, так я и охуел от того сколько там "питонических путей", не сочетающихся с плюсовым прямым текстом.
Аноним 14/03/23 Втр 20:44:45 #371 №2640290 
>>2640266
С типами сложнее инта не сработает
Аноним 14/03/23 Втр 20:46:52 #372 №2640292 
>>2640290
Плохо себе представляю, зачем это может понадобиться. Со своими типами - просто делаешь дефолтный конструктор.
Аноним 14/03/23 Втр 20:48:12 #373 №2640293 
>>2640292
Ну потому что ты можешь захотеть значениями заполнить отличными от дефолтных
Аноним 14/03/23 Втр 20:49:23 #374 №2640295 
>>2640293
Ну отнаследуйся.
Аноним 14/03/23 Втр 20:51:25 #375 №2640298 
>>2640295
Наследование это антипатерн
Аноним 14/03/23 Втр 20:52:09 #376 №2640299 
>>2640298
Да все кресты это антипатерн.
Аноним 14/03/23 Втр 20:55:14 #377 №2640303 
>>2640298
>>2640299
>c++ тредж
Туда ли вы зашли, питончики?
Аноним 14/03/23 Втр 21:07:10 #378 №2640313 
>>2640253
Ок, справедливо. Но даже если бы переполнение гарантированно работало по принципу кольца, всё равно проверка на переполнение будет неудобной и неочевидной, по аналогичным причинам.

Выглядеть будет примерно так (поправьте меня, если я ошибаюсь):

int c = a + b;
if (a < 0 && b < 0 && a + b >= 0 || a > 0 && b > 0 && a + b < 0) ...

Спасает от этого, если уж нам так нужна проверка на переполнение знакового целого, только флаг переполнения, который есть в x86 архитектуре, например. Но я как-то не слышал, чтобы такого рода проверки были доступны хоть в каком-то высокоуровневом языке программирования. Вроде бы в некоторых языках при переполнении выбрасываются исключения. Но это уже минус эффективность, и в большинстве случаев не нужно, потому что зачастую можно изначально предусмотреть ограничения для входных значений, в зависимости от задачи. Конечно, это ответ в духе НИНУЖНА, но всё-таки.

З.ы.: переполнение беззнаковых целых это well-defined behavior, кстати.
Аноним 14/03/23 Втр 21:13:00 #379 №2640321 
>>2640313
Мне кажется переполнение не должно работать по кольцу. Должно устанавливаться максимальное/минимальное значение.
Или вообще вводить для int подобие nan.
Но это усложнение ради усложнения. Хз где это реально нужно.
Аноним 14/03/23 Втр 21:14:18 #380 №2640323 
>>2640290
Я больше скажу, с типом сложнее char не сработает. С интом - если только нулями заполнить, потому что memset побайтовый. То есть тебе нужно, условно, это:
02 00 00 00 02 00 00 00 02 00 00 00 ...
А с мемсет ты получишь это:
02 02 02 02 02 02 02 02 02 02 02 02 ...
Аноним 14/03/23 Втр 21:15:05 #381 №2640325 
>>2640321
Извращенец...
Аноним 14/03/23 Втр 21:22:51 #382 №2640334 
>>2640313
>a > 0 && b > 0 && a + b < 0)
По моему, UB позволяет выкинуть компилятору эту проверку, потому что "так не бывает и не может быть никогда".
Аноним 14/03/23 Втр 21:25:17 #383 №2640340 
>>2640321
Это называется saturation и вполне много где используется, например в шейдерах, в GPU, и даже в FPU.
Например, если ты складываешь два цвета, у тебя компоненты RGB не должны быть больше 255 и т.д.
Аноним 14/03/23 Втр 21:28:41 #384 №2640341 
>>2640334
Это я к тому, как пришлось бы писать проверку, если бы переполнение не было УБ. А конкретно, если бы была гарантия, аналогично той, которая есть для беззнаковых:
INT_MAX + 1 == INT_MIN
INT_MIN - 1 == INT_MAX
Аноним 14/03/23 Втр 21:31:39 #385 №2640344 
>>2640340
Так?
250 + 42 == 255
Аноним 14/03/23 Втр 21:44:50 #386 №2640352 
В новом стандарте c++34 добавят std::is_overflow_flag_set<T> и std::is_underflow_flag_set<T>. Также добавят новый класс std::check_integer<T>:

std::check_integer<int> a = INT_MAX;
try {
a += 10;
} catch (const std::check_integer<int>::overflow_exception &e) {
std::cout << "std is simple :)" << std::endl;
}
Аноним 14/03/23 Втр 21:47:06 #387 №2640354 
>>2640352
Не добавят, ведь на какой-нибудь никому не всравшейся архитектуре с шестиразрядным байтом это будет сложно запилить.
Аноним 14/03/23 Втр 21:55:11 #388 №2640372 
>>2640352
Но к сожалению он окажется несовместимым с unordered_map и rangev5b1, так что придется писать свои контейнеры.
Аноним 14/03/23 Втр 21:57:25 #389 №2640377 
>>2640352
Так уже либы есть, если с таким пердолишься, то их будешь юзать.
Аноним 14/03/23 Втр 21:59:48 #390 №2640378 
>>2640377
В плюсы уже как-то добавляли фичи из boost, так что не проблема
Аноним 14/03/23 Втр 23:57:04 #391 №2640481 
>>2640352
>В новом стандарте c++34 добавят
В C++37 добавят
std::is_overflow_flag_set_besplatno<T>

А в C++40 переделают на
std::some_fucking_template<std::bez_sms>(std::is_overflow_flag_set_besplatno<T>)
Аноним 14/03/23 Втр 23:58:21 #392 №2640485 
>>2640481
Лучше пусть добавят std::exception_besplatno
Аноним 15/03/23 Срд 00:00:12 #393 №2640486 
>>2640485
Вроде работа кипит в этом направлении?
Аноним 15/03/23 Срд 00:04:15 #394 №2640488 
>>2640486
Давно кипит, может и выкатят в c++49
Аноним 15/03/23 Срд 00:04:29 #395 №2640489 
>>2640488
Я про этот доклад, но не знаю какой прогресс с того времени
https://www.youtube.com/watch?v=ARYP83yNAWk
Аноним 15/03/23 Срд 00:06:41 #396 №2640493 
>>2640489
Еще есть такой прошлогодний, но я его не смотрел еще
https://www.youtube.com/watch?v=ELeZAKCN4tY
Аноним 15/03/23 Срд 00:12:04 #397 №2640496 
1664524861810.png
>>2640493
Больше : : богу ::, ведь их так мало в с++
Алсо опять этот растоблевотный синтакс.
Аноним 15/03/23 Срд 00:13:31 #398 №2640497 
1560999289793.png
Пхаха, вот сколько лет говорили что using namespace std плоха, а в cpp2 это будет по дефолту, ебала?
Аноним 15/03/23 Срд 00:23:01 #399 №2640505 
1581462733647.png
Ниче такой питончик выходит
Аноним 15/03/23 Срд 00:23:13 #400 №2640506 
>>2640497
Ух сколько легаси переписывать придётся.
Аноним 15/03/23 Срд 00:23:14 #401 №2640507 
>>2640497
Для олдфагов похую, т.к. легася дальше одиннадцатых плюсов выкатится к концу века, для ньюфагов заебись, т.к. они и так этот юзинг всегда писали.
Ну а че, стандартная библиотека, давно пора было уже, в чем проблема?
Аноним 15/03/23 Срд 00:24:26 #402 №2640510 
>>2640506
Ну так, надо чтобы у крестовиков всегда работка была.
Аноним 15/03/23 Срд 00:24:43 #403 №2640511 
>>2640506
Никогда такого не было и вот опять.
Аноним 15/03/23 Срд 00:28:12 #404 №2640516 
1668735717654.png
Не будет сырых указателей (зато, кажется, вижу garbage collector?)
Аноним 15/03/23 Срд 00:30:53 #405 №2640518 
1647675735428.png
>>2640516
https://github.com/hsutter/gcpp
Аноним 15/03/23 Срд 00:31:23 #406 №2640519 
image.png
>>2640516
Аноним 15/03/23 Срд 01:08:58 #407 №2640545 
>>2640516
>зато, кажется, вижу garbage collector?
В C++11 появились какие-то там средства для поддержки самостоятельной реализации сборщиков мусора. Но позже, толи в 17, толи в 20 их выпилили, т. к. никто ими не пользовался.
Аноним 15/03/23 Срд 01:32:28 #408 №2640560 
>>2640516
Это же мем
Аноним 15/03/23 Срд 01:37:18 #409 №2640562 
>>2640560
Ну вот пока ты думал что это мем, Херб Саттер просто разъебал всех своим Cpp2
Аноним 15/03/23 Срд 02:39:25 #410 №2640591 
>>2640496
>>2640497
>>2640505
репорт за шок контент
Аноним 15/03/23 Срд 03:09:43 #411 №2640594 
1678592556724.png
>>2640591
Справедливо
Аноним 15/03/23 Срд 05:01:57 #412 №2640609 
image.png
image.png
Вот у меня есть класс. И есть функция которая обращается ко всем его элементам, например тут оператор сравнения.

Вопрос: что если я добавлю новые элементы - как сделать чтобы компилятор сразу завизжал что срочно надо вносить изменения?

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

должен же быть какой-то механизм? А то это же буквально выстрел в колено уровня голых указателей.

Пока что делаю так static_assert(sizeof(Foo) == 8, "Foo changed!!!");
Но это говно (особенно из-за размера указателей, лонгов и т.д.), так как оно мне говорит что я изменил класс Foo, но оно мне не говорит - куда я теперь должен бежать в коде чтобы внести правки. И я-то вспомню что я должен тут сделать. А джун Вася просто напишет 12.
Аноним 15/03/23 Срд 05:25:03 #413 №2640613 
>>2640609
В чем проблема написать это static_assert(sizeof(Foo) == 8, "Foo changed!!!"); внутри operator==?
И почему не говорит куда? Есть же какой-то макрос писать текущую строку.
А комментарий писать пробовал? Что при измененнии надо не забыть исправить то и то.

Но вообще ты хочешь что-то вроде рефлексии в компайл тайме и посчитать поля, Да еще и посчитать чтобы каждое из них было сравнено.
Даже не представляю как это может выглядеть на плюсах
https://stackoverflow.com/questions/45820379/get-the-number-of-fields-in-a-class
Может быть кто-то может написать такую многостраничную конструкцию, возможно с использованием буста и рефлексии, чтобы получить все поля как tuple и обращаться к ним по порядку... Кажется в расте есть макросы для чего то подобного...
Я бы наверное сдался и может быть максимум сделал кодогенерацию, чтобы operator== генерился по описанию структуры.

У тебя только тривиальные типы? Вот еще нагуглил что-то про c++20 дефолтные операторы сравнения, может можно просто написать что то вроде
bool operator<=>(const Foo& left, const Foo& right) = default;
https://en.cppreference.com/w/cpp/language/default_comparisons
Аноним 15/03/23 Срд 07:02:23 #414 №2640633 
>>2640609
>>2640613
Вот интересная простыня про рефлексию:
https://stackoverflow.com/questions/38217459/accessing-list-of-fields-and-types-in-a-class-in-c
Аноним 15/03/23 Срд 07:04:45 #415 №2640635 
>>2640633
> рефлексия
> в рантайме
Не думаю что это то чего он хотел
Аноним 15/03/23 Срд 07:16:44 #416 №2640638 
>>2640635
Disregard that I suck cocks, это вообще не то что он хотел.
Аноним 15/03/23 Срд 08:05:22 #417 №2640648 
Подскажите бесплатные библиотеки для C++, которые могут :
- работать с docx файлами(Microsoft Word). DuckX не подходит - проект заброшен и редактировать текст очень сложно
-склонять слова по падежам(Морфер платный)
Аноним 15/03/23 Срд 08:37:46 #418 №2640659 
image.png
Почему STL'овский Queue не имеет метода который извлекает первый элемент? Почему надо вызывать метод доступа к нему (front) и затем его убирать (pop), почему нельзя сразу взять и убрать в одно движение помимо упомянутого способа?
Тут какой-то сакральный смысл который я не выкупаю?
Аноним 15/03/23 Срд 09:02:15 #419 №2640676 
>>2640659
Тут вроде норм расписано. Если делать pop возвращающий ссылку, то она будет вести вникуда, объект то выкинули, плюс может быть исключение.
https://stackoverflow.com/questions/25035691/why-doesnt-stdqueuepop-return-value
Аноним 15/03/23 Срд 09:15:48 #420 №2640683 
>>2640659
Девиз Страуструпа - "сделай сам!".
Минимальный интерфейс для воплощения твоей фантазии есть.

>взять и убрать в одно движение помимо упомянутого способа
Такой поп требует копирования, не всем оно надо.
Аноним 15/03/23 Срд 09:20:39 #421 №2640685 
>>2640676
>>2640683
Кажется я пони. Но почему бы не заиметь метод popCopy() который будет сразу возвращать копию? Кому надо - тому одна строчка
>auto c = q.popCopy();
вместо
>auto c = q.front();
>q.pop()
У меня сильно чаще бывает что я использую то что попнул. А если не надо то те могут использовать старый добрый поп.
инб4 зделой сам
Аноним 15/03/23 Срд 09:23:14 #422 №2640686 
>>2640683
а фронт+поп типа не требует лол
выше правильно пояснили что основная причина - безопасность исклбчений. теоретически для типов с ноексепт мув конструкткором можно было специализироваьт. хотя это кринж хуже вектора булов когда у очередей для разных типов разные наборы методрв
Аноним 15/03/23 Срд 09:29:07 #423 №2640688 
>>2640686
>а фронт+поп типа не требует лол
Фронт + поп - это две разных операции.
Если не оставить "чистый" поп, то появятся вопросы "где чистый поп, нахой?!".
Если фронтПоп сделать рядом с имеющимися фронтом и попом, то получается дублирование функционала, что тоже не очень.
Аноним 15/03/23 Срд 09:35:08 #424 №2640690 
>>2640688
>Если не оставить "чистый" поп, то появятся вопросы "где чистый поп, нахой?!".
Оставить. Никто не предлагал его удалять.
>Если фронтПоп сделать рядом с имеющимися фронтом и попом, то получается дублирование функционала, что тоже не очень.
Когда это кого-то останавливало?
>push_back
>emplace_back
Аноним 15/03/23 Срд 09:38:10 #425 №2640692 
>>2640686
>основная причина - безопасность исклбчений
STL проектировали когда еще исключений-то толком не было.
Это побочный эффект, а не причина.

>для типов с ноексепт мув конструкткором можно было специализироваьт
Перемещение не со всякой реализацией очереди совместимо. Бывают очереди, которые одну и ту же память гоняют по кругу пока ее хватает, т. е. даже после попа эта память все еще лежит на совести очереди.
Аноним 15/03/23 Срд 09:43:15 #426 №2640694 
>>2640692
>STL проектировали когда еще исключений-то толком не было
а не пиздишь ли ты мне?

какая нах разница че на чьей совести лежит. во время попа так и так вызывается деструктор. и для мувед-фром объекта это тоже валидная операция
Аноним 15/03/23 Срд 10:03:41 #427 №2640699 
>>2640694
>а не пиздишь ли ты мне?
Я всегда и всем пиздю, ты не исключение. В этом посте я тоже пиздю.
Аноним 15/03/23 Срд 10:37:06 #428 №2640714 
>>2640545
А нахуя гарбаж коллекторы то нужны? Смарт птр не доставляют?
Аноним 15/03/23 Срд 10:38:20 #429 №2640718 
>>2640609
auto operator<=>(const T&) = defalut;
Аноним 15/03/23 Срд 10:39:45 #430 №2640720 
>>2640648
Ой бля, копал в ту степь, имхо проще скрипты на питоне написать и биндинг сделать.
Аноним 15/03/23 Срд 10:41:19 #431 №2640724 
>>2640690
Дружище, пуш и эмплейс разные вещи.
Аноним 15/03/23 Срд 11:06:31 #432 №2640747 
>>2640694
А если это очередь указателей?
Аноним 15/03/23 Срд 11:40:27 #433 №2640778 
>>2640747
пчел только не говори что не понимаешь разницы между вызовом деструктора и освобождением памяти..
очереди абсолютно похую лежат в ней указатели или инт64, она не владеет ресурсом по указателю. или хз может ты имел в виду умные указатели. хотя тогда все равно неебу в чем ты тут видишь проблему
Аноним 15/03/23 Срд 12:12:36 #434 №2640801 
>>2640724
>добавляют элемент в конец контейнера
>разные вещи
Аноним 15/03/23 Срд 12:13:27 #435 №2640805 
>>2640778
Ни в чем, я спросонья не разобрался и реально задал вопрос о том, что будет.
В случае если Т, то д-тор будет вызван. Если Т*, то не будет.
Аноним 15/03/23 Срд 12:25:42 #436 №2640813 
d8KLUakrAEY.jpg
>>2640801
Немного по-разному, как я понимаю.
Аноним 15/03/23 Срд 12:27:37 #437 №2640814 
>>2640805
> Если Т*, то не будет
будет но деструктор не Т а Т⚹
только он ничего не делает с объектом на который указывает
Аноним 15/03/23 Срд 12:52:25 #438 №2640834 
>>2640686
> а фронт+поп типа не требует [копирования] лол
Нет, фронт возвращает ссылку, поп ссылку возвращать не может.
Аноним 15/03/23 Срд 14:37:02 #439 №2640942 
>>2640718
По-моему оно даже не скомпилируется. Как оно будет сравнивать меньше-больше? Вот дефолтный operator==, даже без явного default, в этом случае будет работать.
Аноним 15/03/23 Срд 15:26:12 #440 №2641009 
2JPVGdQGP2E.jpg
>>2640942
Так компилится и работает.
Но офк лучше самому прописывать. Это чудо будет ВСЕ подобъекты сравнивать.
> Как оно будет сравнивать меньше-больше?
Трёхстороннее сравнение, из него любой оператор выводится.
Аноним 15/03/23 Срд 15:44:50 #441 №2641021 
>>2641009
Ты не понял, по какому принципу оно будет возвращать "меньше" и "больше", если там два инта? У тебя в коде operator<=> не используется, кстати.
Аноним 15/03/23 Срд 15:53:30 #442 №2641031 
>>2641021
>У тебя в коде operator<=> не используется, кстати.
Грубо говоря, <=> преобразуется в любую операцию сравнения.
Аноним 15/03/23 Срд 15:59:51 #443 №2641042 
>>2641031
Опять не понял. Что вернёт это?
K{1, 2} <=> K{2, 1}
"Меньше" или "больше"? Сам бы проверил, но пока нет возможности)
Аноним 15/03/23 Срд 16:02:11 #444 №2641047 
>>2641009
А, я не заметил там <, сорян. Всё еще не понимаю, как оно по дефолту работает.
Аноним 15/03/23 Срд 16:03:18 #445 №2641048 
>>2641042
std::strong_ordering оно вернёт.
Используй не <=>, а < или >.
Аноним 15/03/23 Срд 16:13:51 #446 №2641061 
>>2641048
Вопрос был не об этом. Как оно сравнивает? Сначала первый инт, потом второй, или как?
Аноним 15/03/23 Срд 16:19:38 #447 №2641068 
Ладно, без вас разобрался, оно сравнивает поля по очереди, в порядке вызова конструкторов.
Аноним 15/03/23 Срд 16:31:40 #448 №2641090 
>>2641068
Обращайся ещё.
Аноним 15/03/23 Срд 16:48:02 #449 №2641131 
>>2641068
Я пока пример писал сам запутался и сидел тестил.
Аноним 15/03/23 Срд 16:53:38 #450 №2641147 
>>2641068
Спасибо.
Аноним 15/03/23 Срд 17:51:26 #451 №2641268 
Почему msvc не умеет собирать под linux? Кажется, что портирование на другую ос не такая сложная задача в сравнении с остальными задачами компилятора.
Аноним 15/03/23 Срд 18:04:37 #452 №2641293 
>>2641268
Умел через костыльное дополнение.
Сейчас поднимаешь подсистему луникса на локалхосте и конпеляешь "удаленно" через свою же студию.
Аноним 15/03/23 Срд 18:05:07 #453 №2641294 
>>2641268
>>2641293
https://learn.microsoft.com/en-us/cpp/linux/connect-to-your-remote-linux-computer?view=msvc-170&viewFallbackFrom=vs-2019
Аноним 15/03/23 Срд 18:17:00 #454 №2641310 
>>2641061
Это важно вообще? Для оптимизации или что?
Аноним 15/03/23 Срд 18:23:33 #455 №2641320 
>>2626726 (OP)
Анончик, миленький, помоги, пожалуйста.

Как вытащить стринг из lParam в сообщении WM_SETTEXT?
У меня вытаскиваются вопросы только, видимо что-то с кодировкой или хз.

Хэлп, плиз, с меня тонны нефти.
Аноним 15/03/23 Срд 18:56:30 #456 №2641399 
>>2641320
>У меня вытаскиваются вопросы только
Кодировка, очевидно.
Кури маны по касту из чарпойнтера в вайд стринги (скорее всего оно) либо анси.
Аноним 15/03/23 Срд 18:58:49 #457 №2641404 
>>2641320
Там вряд ли вопросы. Посмотри в отладчике или напечатай конкретные байты. А вопросики у тебя появляются когда ты уже пытаешься выводить где-то , например в консоли.
Аноним 15/03/23 Срд 19:34:19 #458 №2641432 
>>2641399
>Кури маны по касту из чарпойнтера в вайд стринги
Винда уже 20 лет как юникодная (вайд стринг), так что кастить в вайд не надо, там и так всё в нём. Кастить надо как раз наоборот в анси чар, только вопрос - нахуя?
Аноним 15/03/23 Срд 19:41:29 #459 №2641440 
>>2641432
>Винда уже 20 лет как юникодная (вайд стринг), так что кастить в вайд не надо, там и так всё в нём.
Это если тот кто месседж шлет его в вайде присылает. Никто не мешает и в анси заслать, да хоть в кои-7р. Неясно же что там задававший вопрос дебажит.
У меня просто профдеформация с легасями, потому о такой хуйне думаю, скорее всего ты прав.
Аноним 15/03/23 Срд 21:24:18 #460 №2641520 
>>2641440
>Это если тот кто месседж шлет его в вайде присылает. Никто не мешает и в анси заслать, да хоть в кои-7р
Еще раз, WM_SETTEXT это сообщение winapi, там уже 20 лет всё нативно юникодное, иначе не бывает, винда так написана.

>легасями
Какая разница легаси-хуегаси. Программа может быть говнокодом c char, но винапи всё равно юникодное, char вызовы конвертируются в юникод под капотом, потому что винда работает только с юникодом. Я хуею, 20 лет юникод, а до сих пор не знают, это какой то сюр.
Аноним 15/03/23 Срд 22:08:14 #461 №2641578 
>>2641520
>Еще раз, WM_SETTEXT это сообщение winapi, там уже 20 лет всё нативно юникодное, иначе не бывает, винда так написана.
Лел. Я сам могу этот WM_SETTEXT послать и заполнить его кракозябрами с бнопнёй. Я не спорю что если у него что-то современное и нормально написанное, то там юникод.
>Программа может быть говнокодом c char, но винапи всё равно юникодное, char вызовы конвертируются в юникод под капотом, потому что винда работает только с юникодом
Ничего она не конвертирует, что послал, то и получил. Я буквально сейчас это для лулзов проверил, в сендмесседже в лПарам скармливаешь чарпоинтер с чем хочешь и имеешь результат, оно ничего с ним не сделает. Все зависит исключительно от того что за код.
Да, винда работает с юникодом, а вот говнокод легасёвый с чем угодно.
Давай прекращать этот бессмысленный срач, ты не неправ и я согласен с тем что ты говоришь потому что в основном оно как ты говоришь и работает.
Аноним 15/03/23 Срд 22:54:00 #462 №2641619 
>>2640720
да я сделал уже на питоне склонение по падежам, только не нравится, что нужно питон ставить на ПК конечному юзеру
Аноним 15/03/23 Срд 23:06:13 #463 №2641627 
>>2641310
Ну ёпта, поведение от этого зависит, алло
Аноним 15/03/23 Срд 23:12:20 #464 №2641635 
>>2641627
Каким образом? Ты как бы все равно должен сравнить все со всеми.
Аноним 15/03/23 Срд 23:13:27 #465 №2641636 
>>2641635
Это если тебе нужно равно/не-равно, а я говорю про меньше/больше
Аноним 15/03/23 Срд 23:17:35 #466 №2641639 
>>2641635
Ну и, кстати, для оптимизации тоже, даже если меньше/больше не нужны. Например, если в структуре два поля, одно из которых примитивное, а у другого операция сравнения затратная, то имеет смысл сравнивать их начиная с первого, потому что тогда второе придется сравнивать только если первое прошло проверку.
Аноним 15/03/23 Срд 23:20:28 #467 №2641642 
>>2641639
А ты не тестил случаем, как спейсшип <=> указатели сравнивает?
Аноним 15/03/23 Срд 23:20:59 #468 №2641645 
>>2641636
Ладно, наверное я про какие то сложные случаи не подумал, типа сравнение месяца раньше чем сравнение дня.
Аноним 15/03/23 Срд 23:25:37 #469 №2641652 
>>2641642
Нет, я документацию открыл.
Аноним 15/03/23 Срд 23:26:12 #470 №2641653 
>>2641642
И чем по-твоему указатели отличаются от любых других объектов?
Аноним 15/03/23 Срд 23:26:35 #471 №2641654 
>>2641652
И что там написано про указатели?
Аноним 15/03/23 Срд 23:30:22 #472 №2641656 
>>2641653
Оно сравнит объекты по указателям или два указателя?
Аноним 15/03/23 Срд 23:30:45 #473 №2641658 
>>2641654
К чему ты ведешь? К тому, что сравнение независимых указателей это уб или что?
Аноним 15/03/23 Срд 23:31:07 #474 №2641661 
>>2641656
Два указателя.
Аноним 15/03/23 Срд 23:33:43 #475 №2641665 
>>2641658
Ни к чему.
Просто буду держать в голове, используя этот оператор, что с указателями могут случиться приколы.
Аноним 15/03/23 Срд 23:35:27 #476 №2641669 
>>2641665
Опять же какая разница? Он просто разворачивается в обычные < и >, разве нет?
Аноним 15/03/23 Срд 23:37:47 #477 №2641673 
>>2641665
Нет никаких приколов, указатель это переменная с адресом ячейки в памяти. Операторы сравнения сравнивают адреса. Сам объект нужно доставать явно через * или ->
Аноним 15/03/23 Срд 23:40:51 #478 №2641677 
>>2641673
>>2641669
В этом и суть. В общем случае при < > сравнивать АДРЕСА некорректно, надо сравнивать объекты по ним, а это значит что = default нельзя писать.
Верно ведь?
Аноним 15/03/23 Срд 23:42:17 #479 №2641678 
>>2641677
Зависит от того, что тебе нужно. Default далеко не всегда нужен, конечно.
Аноним 15/03/23 Срд 23:43:37 #480 №2641679 
>>2641678
Вот я это просто для себя и выводил, без наездов на кого либо.
Аноним 15/03/23 Срд 23:45:30 #481 №2641682 
>>2641679
Сорян, неправильно понял. На дваче только наездов и ожидаю :)
Аноним 15/03/23 Срд 23:45:58 #482 №2641684 
>>2641677
Наверное у меня из за магнитных бурь сегодня голова плохо варит. Ты в обоих случаях сравниваешь указатели по <, просто в одном случае определил сам оператор <, а во втором <=> который сам определил <
Аноним 15/03/23 Срд 23:51:01 #483 №2641688 
>>2641684
Да, но обычно хочется сравнить то что находится по указателю.
Я почему-то сначала подумал, что раз это всё такое умное, куча кода генерируется, может оно и с указателями что то придумает, но нет. Это противоречило бы философии языка.
Аноним 15/03/23 Срд 23:53:08 #484 №2641690 
image.png
>>2641682
А, ну раз ожидаешь, то ты дальновидный здравомыслящий человек, желаю чтобы говно пореже встречалось и пусть тебе улыбается этот колобок, понял?
Аноним 16/03/23 Чтв 10:46:00 #485 №2641859 
Безымянный.jpg
Почему в классе GameBoard работает cout? Типо заголовки действуют на весь проект чтоли? А если есть прагма уанс, то будет работать только один заголовок, если указаны одинаковые в разных файлах, чи да?
Аноним 16/03/23 Чтв 10:53:52 #486 №2641866 
>>2641859
> Почему в классе GameBoard работает cout?
Потому что ты вызываешь функцию дебаг что то там
> Типо заголовки действуют на весь проект чтоли?
Нет, только там где заинклудил их
> А если есть прагма уанс, то будет работать только один заголовок, если указаны одинаковые в разных файлах, чи да?
Не уверен что правильно понял вопрос, но да
Аноним 16/03/23 Чтв 11:02:02 #487 №2641873 
>>2641866
>Нет, только там где заинклудил их
у меня нет iostream в gameboard, почему там тогда работает cout?
Аноним 16/03/23 Чтв 11:10:15 #488 №2641881 
>>2641873
Потому что ты заинклудил его в хэдер

Ты знаешь как инклуды работает? Он тупо берет контент ил хедера и вставляет полностью в cpp файл
Аноним 16/03/23 Чтв 11:19:35 #489 №2641893 
Безымянный.jpg
>>2641881
Но файл заголовка не имеет инклюдов.
Аноним 16/03/23 Чтв 11:24:26 #490 №2641897 
>>2641893
Скорее всего потому что у тебя нет разделения объявление - определение, и когда ты инклюдишь gameboard.h в main все нормально, ведь iostream уже подключен.
Аноним 16/03/23 Чтв 11:25:03 #491 №2641898 
>>2641859
Попробуй поменять местами инклюды.
Аноним 16/03/23 Чтв 11:28:49 #492 №2641901 
>>2641898
Случилось много ошибок.
>>2641897
Скорее всего потому что у тебя нет разделения объявление - определение

ясно понятно, спасибо.
Аноним 16/03/23 Чтв 16:35:40 #493 №2642185 
>>2632022
SDL неиронично.

Правда самому придётся пейсать
Аноним 16/03/23 Чтв 16:42:16 #494 №2642193 
>>2632022
Что не так с qt?
Аноним 16/03/23 Чтв 16:43:21 #495 №2642195 
>>2642193
Тоже интересует.
кьют полубог
Аноним 16/03/23 Чтв 16:45:56 #496 №2642197 
>>2640686
>ноексепт мув конструкткором
Пиздец, что это за монстр?

мимо Сишный скуф
Аноним 16/03/23 Чтв 16:46:41 #497 №2642199 
>>2642193
>Что не так с qt?
Л И Ц Е Н З И Я
И
Ц
Е
Н
З
И
Я
Аноним 16/03/23 Чтв 16:49:11 #498 №2642201 
>>2642199
Абсолютно бесплатно, не надо открывать исходники, можно продавать, лишь бы линковался динамически.
Аноним 16/03/23 Чтв 16:52:16 #499 №2642204 
>>2642201
> линковался динамически
хуйня без задач.
Аноним 16/03/23 Чтв 16:52:39 #500 №2642205 
>>2642204
Пидора ответ.
Аноним 16/03/23 Чтв 16:53:18 #501 №2642206 
>>2642201
Я, например, нетолько под винду прогаю. Что теперь? Нет, хуета ваш Qt, потому что не опенсорс и лицензия хуеввая.

Как уже выше писал, лучше SDL нет ничего. Но надо ручками поработать и самому написать для интересующей платформы
Аноним 16/03/23 Чтв 16:55:08 #502 №2642208 
>>2642206
Есть же фри форк кути.
Аноним 16/03/23 Чтв 16:56:22 #503 №2642213 
Лицензия правда хуевая, но если пишешь для себя то можно и забить на нее, а если корпорат - купить же можно.
Аноним 16/03/23 Чтв 17:01:14 #504 №2642215 
>>2642206
> потому что не опенсорс
Ебанутый?
Аноним 16/03/23 Чтв 17:09:29 #505 №2642219 
1620846307831.png
1650095899780.png
1568773838965.png
>>2642206
Зачем SDL? Есть же именно гуй-либы в таком случае.
Nuklear, ImGui, RmlUI (реинкарнация libRocket)
Можешь еще тут покопаться, может что то подберешь
Конечно под твои требования они может и не попадают, в смысле там предпросмотр придется самому прикручивать, как и просмотр 100к записей.

https://philippegroarke.com/posts/2018/c++_ui_solutions/
Аноним 16/03/23 Чтв 17:09:58 #506 №2642222 
>>2642215
Ты то? Возможно.
Аноним 16/03/23 Чтв 17:37:38 #507 №2642244 
>>2642197
Штука которая тебе позволяет намного легче гарантировать эксепшен сейфти в тех же контейнерах
скуычик, рвэлью семантика уже с 11 года в плюсах, просыпаемся
Аноним 16/03/23 Чтв 18:45:32 #508 №2642334 
изображение.png
Чё за хуйня? юзаю c++20, но виртуальные constexpr функции не работают, на скрине обычный базовый класс
Аноним 16/03/23 Чтв 18:54:06 #509 №2642341 
>>2642334
> vurtual constexpr
Его идеи
Блядь что это
Аноним 16/03/23 Чтв 18:58:58 #510 №2642347 
изображение.png
изображение.png
>>2642341
Аноним 16/03/23 Чтв 19:02:29 #511 №2642350 
изображение.png
изображение.png
>>2642341
суть в том, что потом этот метод будет в наследниках переопределяться, для получения нужного размера массива, выделяемого на стеке, соответственно всё должно быть вычислено на этапе компиляции
Аноним 16/03/23 Чтв 19:18:20 #512 №2642363 
>>2642350
Звучит как говнокод.
Аноним 16/03/23 Чтв 19:29:33 #513 №2642379 
>>2642219
Хороший псто, лойс.
>ImGui
Рикаминдую.
Аноним 16/03/23 Чтв 19:31:09 #514 №2642380 
image.png
>>2642334
>>2642350
>русек студии
Аноним 16/03/23 Чтв 19:33:36 #515 №2642381 
>>2642350
Зачем она тебе во время компиляции?
Аноним 16/03/23 Чтв 20:03:15 #516 №2642412 
>>2633592
При наследовании от std::enable_shared_from_this<> получается этот мем.
Аноним 16/03/23 Чтв 20:11:43 #517 №2642422 
>>2642412
>enable_shared_from_this
Нельзя вечером такие страшилки рассказывать.
Аноним 16/03/23 Чтв 20:21:04 #518 №2642431 
>>2633592
Так это вроде аналог virtual только компайл-тайм.
Аноним 16/03/23 Чтв 20:22:12 #519 №2642433 
std::shared_ptr_besplatno
Аноним 16/03/23 Чтв 20:26:50 #520 №2642438 
>>2642350
Чёт я не догоняю, как это должно работать. Он же не может в компайл-тайме знать, какую функцию надо вызвать, а значит и длину массива он может узнать только в рантайме. Как это должно работать?
Аноним 16/03/23 Чтв 20:31:47 #521 №2642444 
>>2642438
схуяли не может, он во время компиляции не знает что компилирует? после составлении таблиц виртуальных методов, он не может обратиться к ней и разрешить свои вопросы? то что функция виртуальная не означает того, что компилятор не знает её определение, это значит только то, что он не знает её определения до определённого этапа сборки
Аноним 16/03/23 Чтв 20:33:30 #522 №2642447 
>>2642350
Ты создаешь массив векторов? Ты точно понимаешь, что ты пишешь? Возможно, вы имели в виду vector.push_back()?
Аноним 16/03/23 Чтв 20:42:01 #523 №2642452 
>>2642433
using std::shared_ptr_besplatno<T> = T⚹;
Аноним 16/03/23 Чтв 20:58:04 #524 №2642460 
>>2642433
>>2642452
Вот вы шуткуете, а че бы не зделоть поинтеры такими же простыми в написании как создание на стеке?
Аноним 16/03/23 Чтв 21:22:24 #525 №2642485 
>>2641520
>char вызовы конвертируются в юникод под капотом, потому что винда работает только с юникодом.
Как оказалось, не только. Можно создать окно, которое поддерживает юникод. И которое не поддерживает. Признак поддержки можно проверить с помощью IsWindowUnicode. Мое окно не поддерживало, а строка шла в юникоде в сообщении. И винда сама подставлял вопросы. От такая хуйня.
Аноним 16/03/23 Чтв 21:28:28 #526 №2642492 
>>2634524
>А так не получится

Континуум-гипотеза уровня /pr/
Аноним 16/03/23 Чтв 22:20:48 #527 №2642550 
image.png
image.png
>>2642485
Можно, но это не натив. Неюникодные приблуды это костыли поверх юникода винды, легаси-совсместимость с Win9x, 20+ летней давности.

>И винда сама подставлял вопросы.
Если юникодные символы не соответвуют кодировке локали установленной в винде, естественно будут вопросы, ибо это невалидные символы в анси.
Заебали со своей виндой и указатклями [mailto:[email protected]Анек 16/03/23 Чтв 23:31:00 #528 №2642586 
Читали бы книги лучше
Аноним 17/03/23 Птн 00:00:22 #529 №2642619 
>>2642447
да, понимаю, нет, не имел
Аноним 17/03/23 Птн 00:02:03 #530 №2642622 
>>2642381
чтобы не делать вектор векторов, когда количество векторов известно заранее - это количество элементов в перечислении конкретного наследника
Аноним 17/03/23 Птн 00:38:59 #531 №2642638 
>>2642586
ты кто наху
Аноним 17/03/23 Птн 02:51:34 #532 №2642689 
>>2642460
new, delete, куда уж проще. Сложности только отследить когда ты уже удалил, а когда еще нет, но это уже не проблемы шерифа.
Аноним 17/03/23 Птн 05:46:15 #533 №2642738 
>>2642689
>Сложности только отследить когда ты уже удалил, а когда еще нет, но это уже не проблемы шерифа.
Чел… Именно для этого и сделаны смартпойнтеры.
Указатели [mailto:[email protected]Анек 17/03/23 Птн 07:19:42 #534 №2642752 
>>2642638
Поясняю. Вот есть плашка памяти на 4гб. Ядром она мэпится в 64разрядное виртуальное адресное пространства. Вот и получаем 64битные адреса. Так как значение любого конкретного типа на стеке занимает sizeof(T), void * вообще нельзя сложить с инетом, а указатель на defined тип при инкремента (на 1) увеличивает адрес на тот же sizeof (T)
Вот название типа или тайпдефа [mailto:[email protected]Анек 17/03/23 Птн 07:25:54 #535 №2642754 
Который типа целое число, но по сайзъофу равен принтеру, оно существует, но я его не помню. Следовательно, это не нужно. В эмбеддеде принято писать ровно то, что ты имеешь ввиду, и инт легко может быть 4 байта, а поинтер 8, и за сомнительные касты руки оторвут
Аноним 17/03/23 Птн 07:27:39 #536 №2642755 
Ньюфаг в треде
Аноним 17/03/23 Птн 07:37:40 #537 №2642758 
>>2642752
>>2642754
не ну я рад конечно что ты все это знаешь но какой пост итт тебя побудил поделиться именно этой информацией?
[mailto:[email protected]Анек 17/03/23 Птн 07:53:05 #538 №2642760 
А если вспоминать времена мсдоса, когда и 98го стандарта ещё не было, там были Инты и адреса по слову в два байта, даже с приходом 32битности бывала необходимость в указании сегмента памяти (cs, ds, es, fs), которые сейчас по сути просто лоадером выставляются как надо, а вот когда трава была совсем зелёная, было два типа принтеров на тип -- NEAR и FAR
[mailto:[email protected]Анек 17/03/23 Птн 07:57:00 #539 №2642761 
>>2642758
Я обнаружил, что дашчан у меня не забанен, а даже когда клаудфлёр меня пропускает, капчи тупо нет, и пасскод видимо заблокирован, в шизотреде поорал немного, и короче я может прошлый тред смотрел, но у меня сложилось впечатление, что в крестотреде любят Винду и указатели обсуждать, так что решил разогнать несанкционированный митинг
[mailto:[email protected]Анек 17/03/23 Птн 08:02:15 #540 №2642762 
-5233354948404692946121.jpg
Кстати, на домене моего емейла поднят движок, вот кусок странички
[mailto:[email protected]Анек 17/03/23 Птн 08:15:06 #541 №2642764 
))2642638
Оборудование Пермского Государственного университета
Аноним 17/03/23 Птн 08:23:50 #542 №2642767 
>>2642444
Он не знает динамический тип объекта в компайл-тайме. Допустим у тебя в Base виртуальный constexpr метод GetParametersCount, в Derived он переопределён. Функция виртуальная, поэтому то, какая из функций вызывается, будет известно только в рантайме. Как компилятор вычислит длину массива во время компиляции? Я так понял, код по типу:

struct X {
virtual constexpr int foo() const {
return 5;
}};
constexpr X x;
static_assert(x.foo() > 3);

будет работать. Но схуяли это (по твоему примеру):

struct X {
virtual constexpr int foo() const {
return 5;
void bar() {
static_assert(foo() > 3);
}
}};

должно работать?
Аноним 17/03/23 Птн 08:29:50 #543 №2642771 
image
>>2642215
А нахуя нужны НЕ опенсорс либы, ебло? Их нельзя портировать куда хочешь и модифицировать как хочешь. Хуйня без задач вообщем.
А внутре [mailto:[email protected]Анек 17/03/23 Птн 08:35:40 #544 №2642773 
Там нейронка
Аноним 17/03/23 Птн 08:43:10 #545 №2642776 
>>2642771
Конечно не нужны, ебло. Поэтому нужен Qt.
Аноним 17/03/23 Птн 09:12:12 #546 №2642788 
смысл поста?
Аноним 17/03/23 Птн 09:15:38 #547 №2642789 
>>2642788
Смысл выебать твою мамашу.
Ницше [mailto:[email protected]Анек 17/03/23 Птн 14:39:43 #548 №2643031 
Так и не научился рефакторить код по GoF
Аноним 17/03/23 Птн 14:44:04 #549 №2643041 
Мне нужно в Linux с помощью cmake скомпилировать файл. Что нужно делать? Может у кого справка есть?
Аноним 17/03/23 Птн 15:22:07 #550 №2643088 
1655151701350.png
>>2643041
У cmake, конечно, есть справка.
Аноним 17/03/23 Птн 15:23:56 #551 №2643092 
>>2642206
ныа
https: //www.qt.io/offline-installers
https: //github.com/qt/qtbase
он опенсурс
если ищешь что то кросплатформенное то можешь чекнуть lazarus это паскаль / делфи , его изи компилить с СИ/++ кодом , а если прям так важно СИ/++ то glfw / sdl2 + какойто api для создания гуи , ну или можешь сам на байтоебтить гуи , но я сомневаюсь что он будет не всратый
Аноним 17/03/23 Птн 15:32:13 #552 №2643101 
>>2643092
Нах ему отвечать, он же троллит тупостью.
Аноним 17/03/23 Птн 15:35:31 #553 №2643104 
>>2642206
Если обсуждать нестандартные варианты, то можно взять Годот 3. Он кроссплатформенный, на опенжл, не очень тяжеловесный, ~40 Мб (можно ужать если скомпилировать без 3д - некоторые используют для утилит, например визуализации деталей на станке), но в нем можно собрать неплохой гуй, есть свой скриптовый язык в духе питона, а поскольку сам движок написан на с++, то интеграция с с/с++ нормальная. Можно дергать с++ либы, дллки и так далее, а можно наоборот, из с++ кода вызывать API движка.
(4 версию брать не надо, она сырая и на вулкане, не везде работает)
Аноним 17/03/23 Птн 16:19:45 #554 №2643152 
>>2643088
Спасибо. Уже сделал. Можешь возращаться под шконарь соевик.
Аноним 17/03/23 Птн 21:48:42 #555 №2643534 
>>2642767
так компилятор для каждого конкретного наследника может вычислить virtual constexpr функции в компайл-тайме, затем для базового класса в его базовые функции подставлять вычисленные ранее виртуальные константные, и сделать несколько дубликатов базовых функций под все варианты вычисленных, а при вызове в рантайме смотреть на реальный тип объекта, и вызывать соответствующую ему базовую функцию. Для этого понадобиться, чтобы базовые функции, использующие внутри себя virtual constexpr функции также были virtual, но впринципе это возможно.
Аноним 17/03/23 Птн 23:00:23 #556 №2643624 
>>2642341
надо дождаться с++23 чтоб полирнуть сверху еще deducing this и вообще охуеть заживо
Аноним 17/03/23 Птн 23:33:58 #557 №2643720 
>>2643715
>но... прочитайте пожалуйста
Иди на хуй.
Аноним 17/03/23 Птн 23:35:11 #558 №2643721 
>>2643715
Сделай доброе дело, дай спокойно котику отъехать в кошачий рай и возьми из кошачного приюта беспризорного котенка.
На корм хватает - хватит и на палиативные уколы.
Аноним 17/03/23 Птн 23:55:33 #559 №2643743 
>>2643624
Только сегодня читал.
Жесть какая-то. Причем как оно работает так и не понял. Типо можно сгенерировать автоматически для всех cv-ref функции?
Аноним 18/03/23 Суб 03:18:57 #560 №2643871 
>>2643743
Я так понял, можно те же cv-ref квалификаторы указать явно в параметре с this, либо написать шаблон функции, который сам будет определять cv-ref объекта:
template <typename T> void f(this T &&self)
Аноним 18/03/23 Суб 03:31:18 #561 №2643874 
>>2643534
Окей, я понял, как это работает, но теперь я не понимаю, почему
> Для этого понадобиться, чтобы базовые функции, использующие внутри себя virtual constexpr функции также были virtual
Что мешает аналогично сделать дубликаты невиртуального метода?
Аноним 18/03/23 Суб 07:43:50 #562 №2643924 
>>2643874
ну вроде как если метод невиртуальный, то у него однозначно задан указатель, однозначный указатель не вяжется с неявными дубликатами, которые сгенерит компилятор
Аноним 18/03/23 Суб 07:45:12 #563 №2643925 
>>2643924
>указатель
*адрес
Аноним 18/03/23 Суб 11:34:07 #564 №2644005 
>>2643924
А, понятно. Видимо эффект от этого ровно такой же, как если бы я вручную перегрузил эту виртуальную функцию в каждом наследнике с нужными поправками. Да, всё логично.
Аноним 18/03/23 Суб 18:14:21 #565 №2644487 
Derived(Derived&& rhs)
: Base(std::move(rhs)) // good, calls Base(Base&& rhs)
{
// Derived-specific stuff
}

А что, так можно чтоли?
rhs ведь в первую очередь перемещается, как тогда инициализировать Derived-часть, если rhs уже в измененном состоянии?
Аноним 18/03/23 Суб 18:32:08 #566 №2644507 
изображение.png
Твари, походу нашли сотрудника
Аноним 18/03/23 Суб 19:48:04 #567 №2644590 
>>2644487
Мне кажется, Base(Base &&rhs) затронет только ту часть rhs, которая относится к Base. Если только ты сам не выстрелишь себе в ногу. Так или иначе, то, как изменяется состояние перемещаемого объекта зависит от твоей реализации. В принципе, может и не поменяться. А если нужно обратиться к данным, которые ты уже переместил, то можно через this.
Аноним 18/03/23 Суб 20:46:57 #568 №2644651 
Кто вам кажется более перспективным - Carbon или CppFront?
Аноним 18/03/23 Суб 21:16:14 #569 №2644674 
>>2644651
Сложно сказать. Какой распиарят. Cpp2 напрямую конвертится в с++, мне это по нраву, значит можно работать с кодом дальше, что там в карбоне не знаю.
Аноним 18/03/23 Суб 21:22:31 #570 №2644676 
>>2644651
D
Аноним 18/03/23 Суб 21:26:28 #571 №2644683 
>>2644676
Ты хочешь сказать, что они такие же мертвые как D, или считаешь, что D восстанет?
Аноним 18/03/23 Суб 21:32:47 #572 №2644693 
image.png
>>2644683
True.
Аноним 18/03/23 Суб 21:47:15 #573 №2644714 
.png
>>2644693
В человеческих языках подразумевается другой гейт. Когда нужно логическое "или", пишут "и/или".

мимо душнила
Аноним 18/03/23 Суб 22:14:06 #574 №2644742 
image.png
>>2644714
Не знаю, мне такая путаница с кодом не нравится. Я предпочитаю считать с нуля, использовать "или" как дизъюнкцию и быть буквальным.
Предлагаю не менять "или" и оставить его дизъюнкцией, а для "исключающего или" использовать "либо".
Аноним 18/03/23 Суб 23:25:46 #575 №2644804 
Сап, анончики. Может подскажете какие-нибудь годные книжки по QtQuick/QML?
Аноним 19/03/23 Вск 00:09:35 #576 №2644823 
пепыч.png
>>2626726 (OP)
Меня заебали указатели.

На этом все.
Аноним 19/03/23 Вск 00:30:34 #577 №2644832 
>>2644823
А зачем они тебе? Это же не Си.
Аноним 19/03/23 Вск 02:28:52 #578 №2644863 
>>2644832
>зачем
Чтобы препод был доволен, очевидно же.
Аноним 19/03/23 Вск 06:30:03 #579 №2644875 
image.png
>>2644823
Кодь на стеке.
Аноним 19/03/23 Вск 10:57:29 #580 №2644969 
Правильно ли я понимаю, что ifndef и ifdef нахуй не нужны, можно Pragma once шлепать и кайовать?
Аноним 19/03/23 Вск 11:09:09 #581 №2644973 
>>2644969
Pragma once не стандарт. И хотя она работает, наверное, уже везде, это все же не абсолютно портируемый код, хотя и тривиально заменяемый.
Я бы, наверное, писал так:
#pragma once
#ifndef HEADER_GUARD...
#endif
Тогда те компиляторы, в которых реализована #pragma once, оптимизируют сборку и не будут подгружать файл лишний раз, но и любой кастомный компилятор, который точно соблюдает стандарт, сработает правильно, проигнорировав незнакомую прагму, но исполнив указание препроцессора. Конечно, он скорее всего будет работать чуть медленнее, по честному подключая и анализируя файл.
Аноним 19/03/23 Вск 11:10:12 #582 №2644974 
>>2644969

https://ru.stackoverflow.com/questions/630573/ifndef-define-vs-pragma-once
Аноним 19/03/23 Вск 11:10:50 #583 №2644975 
>>2644973
Спасибо.
Аноним 19/03/23 Вск 12:51:19 #584 №2645018 
image.png
https://pastebin.com/3fg8Z9vJ
Что не так с вашим языком? Внимание на 18 строчку. Если вместо (tmp.size() - k <= 0) написать (tmp.size() <= k), то будут просто разные, сука, ответы. Оба неправильные, кстати, очевидно из-за этой же проблемы, потому что C++ считает, что 5 (длина "three") меньше либо равно чем -1 . Менял на length - без разницы. Чего это говно от меня хочет-то?
Аноним 19/03/23 Вск 12:56:51 #585 №2645022 
>>2645018
И я там сознательно сначала строчку считываю, а потом M. Потому что там ещё одну свинью подложил мне этот язык замечательный, с которой мне лень разбираться на этапе самостоятельного тестирования программы.
Аноним 19/03/23 Вск 12:58:46 #586 №2645023 
>>2645018
size() беззнакового типа, поэтому нельзя его сравнивать с отрицательным. Кастуй в знаковое целое.
Аноним 19/03/23 Вск 13:00:32 #587 №2645024 
>>2645018
tmp.size() <= k так-то должно работать, если k >= 0. Значит ты где-то накосячил.
Аноним 19/03/23 Вск 13:01:11 #588 №2645026 
>>2645018
че за упражнения такие?
Аноним 19/03/23 Вск 13:07:45 #589 №2645028 
>>2645024
Так мне и не надо, чтобы она всегда положительной была.
>>2645023
Ну понятно, сделал (инты) и действительно заработало, в общем.
Аноним 19/03/23 Вск 13:19:27 #590 №2645038 
А почему перед плюсами рекомендуют в Си вкатиться на энтри-левеле хотя бы?
Аноним 19/03/23 Вск 13:20:38 #591 №2645040 
>>2645038
Долбоебы
Аноним 19/03/23 Вск 13:23:56 #592 №2645046 
>>2645038
Кто рекомендует? Может имеют в виду что при вкатывании в плюсы ты узнаешь и си на энтри левеле? Тогда правильно. Иначе хуета какая-то получается. Знание Си тебе может дурную службу сослужить, особенно сейчас если вкатываться в кресты.
Аноним 19/03/23 Вск 13:24:43 #593 №2645048 
1558387594826.png
>>2645018
Во-первых, ты ошибся тредом, на С++ не пишут как в Си.
Во-вторых, пользуйся инструментами, которые покажут тебе ошибки.
Аноним 19/03/23 Вск 13:24:54 #594 №2645049 
>>2645038
Потому что в плюсах используется тоже что и в си
Желательно и ассемблер знать на базовом уровне
Аноним 19/03/23 Вск 13:25:23 #595 №2645050 
>>2645038
Наоборот, Страуструп НЕ рекомендует. Потому что ты потом так и будешь строки по байтам перебирать кривыми циклами.
Аноним 19/03/23 Вск 13:26:45 #596 №2645052 
image.png
>>2645049
Аноним 19/03/23 Вск 13:29:00 #597 №2645057 
>>2645048
>на С++ не пишут как в Си
На С++ пишут как позволяет С++, это мультипарадигменный язык, позволяет писать по разному, и естественно сишная парадигма имеется.
Аноним 19/03/23 Вск 13:30:48 #598 №2645059 
>>2645057
А можно встать на стол и насрать на него, но в приличных местах так не принято, хотя возможность имеется.
Аноним 19/03/23 Вск 13:33:14 #599 №2645061 
>>2645059
>возможность имеется.
Нет возможности, я слишком жирный и стол сломается под моим весом.
Аноним 19/03/23 Вск 13:35:09 #600 №2645064 
>>2645061
Ты же программист, думай! Ты можешь сначала перевернуть стол вверх ножками.
Аноним 19/03/23 Вск 15:12:33 #601 №2645142 
>>2645038
Потому что иначе потом будешь жаловаться, что не понимаешь указатели. Как минимум, чтобы понять, чем ссылки отличаются от указателей, нужно понимать, что такое указатель. А чтобы их понять, фактически придётся писать на Си.
Аноним 19/03/23 Вск 15:30:27 #602 №2645166 
>>2645142
Типо знать, что это объект, который содержит адрес в памяти другого объекта - недостаточно?
Аноним 19/03/23 Вск 16:09:15 #603 №2645226 
>>2645166
Ну по факту люди очень часто пишут, что не понимают указатели, это уже мем. Если начинать изучение плюсов с самих плюсов, очень легко запутаться. Потому что параллельно с указателями ты будешь учить ссылки, причём любые курсы по плюсам затрагивают эту тебе поверхностно, потому что это легаси и нинужна.
Аноним 19/03/23 Вск 16:17:24 #604 №2645233 
>>2645049
двачую
еще формальную логику в общих чертах, и электронику немного, ну и квантмех хотя бы раздел про полупроводники и металлы
Аноним 19/03/23 Вск 16:33:11 #605 №2645254 
image.png
>>2645226
В учебнике плюсов от Стивена Праты вполне подробно разжевываются указатели и ссылки, кроме него я учебников не читал, да и не нужно, т.к. есть cppreference, стековерфлоу и двач, инфы навалом чтобы узнать как положено.
Аноним 19/03/23 Вск 16:36:26 #606 №2645263 
>>2645233
Защитил докторские по квантмеху и математике, можно приступать к плюсам, или рано еще?
Аноним 19/03/23 Вск 16:56:23 #607 №2645291 
>>2645233
> еще формальную логику
Не, нахуй надо
Аноним 19/03/23 Вск 17:14:10 #608 №2645334 
>>2645233
Только если это твои прикладные области

блять неужели в 2023 базовые знания ассемблера это что то удивительно
Аноним 19/03/23 Вск 17:26:16 #609 №2645369 
>>2645233
Это, только неиронично.
>>2645334
Более того, надо знать несколько ассемблеров, как минимум x86 и ARM, но неплохо бы и за новинками следить. RISC-V, Эльбрус. Ну и ретро для души, 6502 ван лав, для кого то это 68000.
Аноним 19/03/23 Вск 17:49:55 #610 №2645406 
>>2645254
У него C++11 рассматривается отдельным небольшим приложением в самом конце книжки. Та же фигня и со стандартной библиотекой.
Всю книгу он по сути рассказывает про си с классами.
Аноним 19/03/23 Вск 17:54:56 #611 №2645409 
>>2645406
Ну сейчас уже книга не актуальна наверное, я читал когда еще С++03 был.
Аноним 19/03/23 Вск 18:22:21 #612 №2645457 
>>2645369
> базово
Аноним 19/03/23 Вск 19:29:31 #613 №2645598 
Безымянный.jpg
Как расшифровать эту хуйню? откуда здесь следует, что первым аргументом идет количество, а вторым значение?
Аноним 19/03/23 Вск 19:34:23 #614 №2645608 
>>2645598
Никак, ты определение не того конструктора смотришь
Аноним 19/03/23 Вск 19:36:27 #615 №2645613 
>>2645608
лол? нормально студия подсирает.
Аноним 19/03/23 Вск 19:50:32 #616 №2645642 
>>2645598
Она как бы намекает тебе, не пользуйся этим дырявым апи...
[mailto:[email protected]Анек 20/03/23 Пнд 01:23:22 #617 №2646096 
ИДЕ подсказывает всегда криво.
Пользуйтесь простыми советскими текстовыми редакторами с подсветкой синтаксиса.
И cppreference.com
Аноним 20/03/23 Пнд 01:44:22 #618 №2646102 
>>2646096
ты долбоеб? IDE подсказывает ровно то, что в коде написано.
Аноним 20/03/23 Пнд 03:16:45 #619 №2646126 
>>2646096
VIM
Аноним 20/03/23 Пнд 04:23:12 #620 №2646147 
>>2646126
Не кочайте посоны у меня брат запустил эту дрянья и до сих пор выйтить не может.
Аноним 20/03/23 Пнд 04:52:41 #621 №2646160 
image.png
>>2646126
> VIM
Рекомендую перфокарты еще попробовать
Аноним 20/03/23 Пнд 05:51:08 #622 №2646172 
>>2646096
EMACS + lsp + tree sitter
Аноним 20/03/23 Пнд 10:47:01 #623 №2646308 
>>2645613
она и не такое умеет
Аноним 20/03/23 Пнд 11:01:24 #624 №2646326 
>>2645613
В студии не работал, но в QtCreator стрелочками можно все определения конструкторов/функций посмотреть, мне кажется анон сам не то выбрал.
Аноним 20/03/23 Пнд 11:19:19 #625 №2646349 
>>2646326
В студии тоже, но нихуя, это именно студия мне открыла на варианте номер 5. Причем в шарпе я такой хуйни не встречал.
Аноним 20/03/23 Пнд 11:47:05 #626 №2646377 
Безымянный.jpg
После шарпа конечно в шокиславе от подобного.
Аноним 20/03/23 Пнд 11:48:06 #627 №2646378 
>>2646377
А зачем
Аноним 20/03/23 Пнд 12:14:33 #628 №2646405 
ПОКУПАЕШЬ ТАБУРЕТКУ
@
ПЕРЕВОРАЧИВАЕШЬ
@
САДИШЬСЯ
@
БОЛЬНО
@
> После сидения на полу конечно в шокиславе от подобного.
Аноним 20/03/23 Пнд 12:23:41 #629 №2646416 
изображение.png
>>2646377
Аноним 20/03/23 Пнд 13:01:43 #630 №2646463 
>>2646416
Нунинада нунитраль
Аноним 20/03/23 Пнд 13:01:56 #631 №2646464 
image.png
>>2646377
Моар подобных шутеек.
Аноним 20/03/23 Пнд 14:07:29 #632 №2646526 
>>2646464
assert(2["pizda"] == 'z')
Аноним 20/03/23 Пнд 14:20:35 #633 №2646541 
1656530675465.png
>>2646464
Вот такое попадалось
Аноним 20/03/23 Пнд 14:45:52 #634 №2646554 
image.png
>>2646464
Аноним 20/03/23 Пнд 14:53:06 #635 №2646561 
>>2646541
Ну это уже джаваскрипт какой-то пошел.

>>2646554
А с этого взлольнул.
Аноним 20/03/23 Пнд 14:59:19 #636 №2646571 
>>2646561
>Ну это уже джаваскрипт какой-то пошел.
Ну, глядя на этот код, я бы все же ожидал 1,2->2,1.
Но я уверен, что есть ботан, который сможет пояснить, что tie сработал правильно, и по стандарту и должно быть 2,2.
Аноним 20/03/23 Пнд 15:04:29 #637 №2646578 
1549457976695.png
>>2646554
Аноним 20/03/23 Пнд 15:23:00 #638 №2646594 
>>2646172
lsp тормозное говно. Переходи на eglot.
Аноним 20/03/23 Пнд 15:26:50 #639 №2646598 
>>2646541
А это не unspecified/undefined behavior, случайно?
Аноним 20/03/23 Пнд 15:56:04 #640 №2646619 
>>2646598
Не знаю. Как проверить?
В самих tie и tuple, вроде бы, не написано ничего про undef/unspec. Что еще может быть? Точка следования? Вроде не.
Какой тип у {b,a} я не могу понять. Это вроде не initializer list.
Если переписать через std::tuple то пишет нормально 2,1

Вот интересно я сейчас смотрю в годболт, он пишет что если через std::tie(a, b) = std::tuple{b, a};
std::tuple<int, int>::tuple<int&, int&, true>(int&, int&)
std::tuple<int&, int&> std::tie<int, int>(int&, int&)
std::enable_if<(__assignable<int, int>)(), std::tuple<int&, int&>&>::type std::tuple<int&, int&>::operator=<int, int>(std::tuple<int, int>&&)

А если в первом случае через std::tie(a, b) = {b, a}; то
std::tuple<int&, int&>::tuple<true, true>(int&, int&)
std::tuple<int&, int&> std::tie<int, int>(int&, int&)
std::tuple<int&, int&>::operator=(std::tuple<int&, int&>&&)

Что это значит tuple<true,true> чет не вкуриваю.
Аноним 20/03/23 Пнд 16:10:25 #641 №2646630 
>>2646554
Duffs device
Страшно вырубай
Аноним 20/03/23 Пнд 16:17:24 #642 №2646636 
>>2646619
> Не знаю. Как проверить?
Только курить документацию на миллион страниц(
> В самих tie и tuple, вроде бы, не написано ничего про undef/unspec.
Это не обязательно должно быть указано явно. Насколько я понимаю, порядок присваивания не уточняется, поэтому с тем же успехом могло получиться "1, 1".
> Какой тип у {b,a} я не могу понять. Это вроде не initializer list.
Скорее всего, того же типа, что и левый операнд, то есть std::tuple<int&, int&>
> Если переписать через std::tuple то пишет нормально 2,1
С неявными параметрами получится std::tuple<int, int>, это не то же самое.
Аноним 20/03/23 Пнд 16:45:57 #643 №2646672 
Как говорится, явное лучше неявного. Другие языки такие >>2646541 проблемы решают анальными ограничениями на стиль написания кода. Так что только выиграли! :)
Аноним 20/03/23 Пнд 16:48:36 #644 №2646673 
1618349235693.png
1641189197987.png
1583063352245.png
>>2646636
Я пробовал и std::tuple<int,int>, и std::tuple<int&, int&>, оба выводят нормально 1,2
> порядок присваивания не уточняется
ты имеешь в виду, что получается что-то вроде
⚹a = b
⚹b = a //но мы уже проебали значение, поэтому у нас тут уже a == b

Я еще попробовал с несколькими, но понятнее не стало.
Аноним 20/03/23 Пнд 16:52:40 #645 №2646677 
>>2646578
Нах так делать, в чем сакральный смысл? Я не понел.
Аноним 20/03/23 Пнд 16:55:07 #646 №2646679 
>>2646677
Если ты попал в case 1, то if(0) пропустит case 2.
Аноним 20/03/23 Пнд 16:55:53 #647 №2646681 
>>2646677
При этом в case 2 ты спокойно попадешь, if(0) тут не повлияет.
Аноним 20/03/23 Пнд 16:57:03 #648 №2646683 
>>2646679
А там не будет выход из скоупа котгда у тебя кейс 2?
Аноним 20/03/23 Пнд 17:08:54 #649 №2646698 
1532390868507.png
1648973715666.png
1638898515782.png
>>2646683
Ну выход из скоупа будет, но это ни на что не виляет. Ну типа ты не можешь обратиться к переменной, если бы ты объявил ее внутри скоупа.
Также нельзя обрщаться в необъявленной переменной. Но если state объявлена вне свитча, то все ок.
По сути это такой goto на метку.
Аноним 20/03/23 Пнд 17:10:28 #650 №2646701 
1679321426517.jpg
>>2646673
> Я пробовал и std::tuple<int,int>, и std::tuple<int&, int&>, оба выводят нормально 1,2
В смысле 2,1? То есть местами меняют? Лично у меня пикрил. Если у тебя не так же, то получается, что это как минимум implementation-defined.

> > порядок присваивания не уточняется
> ты имеешь в виду, что получается что-то вроде
> ⚹a = b
> ⚹b = a //но мы уже проебали значение, поэтому у нас тут уже a == b
Да, а если точнее:
⚹(&a) = ⚹(&b); ⚹(&b) = ⚹(&a);
либо
⚹(&b) = ⚹(&a); ⚹(&a) = ⚹(&b);
Аноним 20/03/23 Пнд 17:11:54 #651 №2646703 
>>2646677
> Нах так делать, в чем сакральный смысл? Я не понел.
Как зачем? Узнать, насколько глубока кроличья нора :)
Аноним 20/03/23 Пнд 17:15:36 #652 №2646709 
>>2646701
Вот что я нарыл

template< class... UTypes >
tuple& operator=( const tuple<UTypes...>& other );

(3) For all i, assigns std::get<i>(other) to std::get<i>(*this).

Ну т.е. я так понимаю что с точки зрения стандарта поведение полностью defined, просто ты как бы написал цикл где перезаписал значение предыдущим.
Аноним 20/03/23 Пнд 17:17:00 #653 №2646713 
>>2646677
>>2646703
Чтобы не писать дублирующийся код для разных case.
Иначе было бы
case 1:
state = 'a'
do_abc(state)
break;
case 2:
state = 'b'
do_abc(state)
break;
case 3:
state = 'c'
do_abc(state)
break;
Аноним 20/03/23 Пнд 17:17:02 #654 №2646714 
>>2646709
Да, охуенно. И в каком порядке оно assigns? От порядка и зависит, будет "1, 1" или "2, 2" в пресловутом примере.
Аноним 20/03/23 Пнд 17:21:02 #655 №2646719 
>>2646714
В порядке переменных в левом аргументе, судя по всему.
С тестом отсюда сходится >>2646673
a = (e==5) = 5
b = (f==6) = 6
c = (c==3) = 3
d = (d==4) = 4
e = (a, теперь 5
f = (b, теперь 6
Аноним 20/03/23 Пнд 17:21:24 #656 №2646720 
>>2646713
Чёт с if-ами только хуже стало, по-моему, уж лучше бы дублировал. Хотя, с большим объёмом кода может быть и по-другому. А так-то оба варианта говно, есть способы написать то же самое получше.
Аноним 20/03/23 Пнд 17:23:22 #657 №2646721 
>>2646719
> В порядке переменных в левом аргументе, судя по всему.
Не следует из документации.
> С тестом отсюда сходится >>2646673
Тесты не гарантируют, что это well-defined. Даже если вообще все компиляторы выдают одинаковый результат. Язык это стандарт, а не компиляторы.
Аноним 20/03/23 Пнд 17:23:47 #658 №2646723 
>>2646721
Согласен, но другого ответа я все равно не нашел.
Аноним 20/03/23 Пнд 17:27:14 #659 №2646729 
>>2646698
Почему 2 пикча не работает а 3 работает? Я в глаза ебусь, видимо, но разницы не вижу.
Аноним 20/03/23 Пнд 17:29:07 #660 №2646731 
>>2646721
Может быть есть какое-то правило, которое говорит, что если речь идет об "for all i", то это перебор от 0 до max.
Аноним 20/03/23 Пнд 17:29:35 #661 №2646733 
>>2646729
Объявление внутри switch или до него.
Аноним 20/03/23 Пнд 17:30:23 #662 №2646735 
>>2646733
Внатуре, тоже чуть мозг себе не сломал
Аноним 20/03/23 Пнд 17:34:51 #663 №2646743 
image.png
>>2646578
>>2646713
Аноним 20/03/23 Пнд 17:35:35 #664 №2646745 
>>2646743
Чел, ты понимаешь что такое упрощенный пример? Например, там будет 'a', 'b', d', и 1, 13, 17.
Аноним 20/03/23 Пнд 17:36:29 #665 №2646748 
>>2646745
Не говоря о том, что там в реальности будут какие нибудь TCPPacket, UDPPacket, и т.д.
Аноним 20/03/23 Пнд 17:38:14 #666 №2646750 
image.png
>>2646745
Аноним 20/03/23 Пнд 17:38:56 #667 №2646751 
>>2646745
>>2646748
Тогда тем более нельзя такой балаган городить, читабельность даже в упрощённом примере в пизду ушла.
Аноним 20/03/23 Пнд 18:57:41 #668 №2646843 
Стикер
>>2646751
На С++ пишут как позволяет С++, это мультипарадигменный язык, позволяет писать по разному, и естественно сишная парадигма имеется.
Аноним 20/03/23 Пнд 20:29:00 #669 №2646971 
1. Что нужно знать/уметь чтобы вкатиться на джуна?
2. Можно ли вкатиться джуном на удалёнку?
3. На какую ЗП можно рассчитывать? А если искать работу на запад?
4. Имею 3+ года опыта работы на жс и почти 400 решённых задачек на литкоде (все на плюсах). Это же хоть немного баллов мне добавляет?
Аноним 20/03/23 Пнд 20:37:15 #670 №2646980 
>>2646971
Из жс сразу в плюсы?
Решил прям кардинально изменить путь?
Аноним 20/03/23 Пнд 20:38:55 #671 №2646984 
>>2646971
ты лучше 90% червей в этом треде, успокойся, зарабатывай свои 3к$ на чиле правя скриптики js
Аноним 20/03/23 Пнд 20:39:03 #672 №2646985 
>>2646980
Да не, плюсы я ещё с универа полюбил, а до этого ещё в школе сишку трогал. Так сложилось просто, что в веб проще вкатиться было. Но на плюсы никогда не забивал особо, то Мейерса почитал, то про многопоток, то про шаблоны, то Qt c пингвином трогал. И сейчас как раз с проекта попёрли и кажется что пришло время что-то менять.
Аноним 20/03/23 Пнд 20:39:33 #673 №2646986 
>>2646984
Надоели уже эти жсоны. Хочется чем-то более серьёзным и надеюсь что интересным заниматься.
Аноним 20/03/23 Пнд 20:40:07 #674 №2646987 
>>2646971
Не стоит, JS будет прибыльнее и работы больше. На крестах удаленки впринципе практически нет.
Аноним 20/03/23 Пнд 20:41:12 #675 №2646988 
>>2646986
Просто пили опен сорс пет проектик.
Аноним 20/03/23 Пнд 20:41:17 #676 №2646989 
>>2646971
>Что нужно знать/уметь чтобы вкатиться на джуна
Пройди пару собесов и охуеешь с того насколько мало нужно знать
>На какую ЗП можно рассчитывать? А если искать работу на запад
Сильно зависит от фирмы. В дс думаю 70-150к
>Имею 3+ года опыта работы на жс и почти 400 решённых задачек на литкоде (все на плюсах). Это же хоть немного баллов мне добавляет?
Бля как можно в 3 годами идти на джуна. У меня всего 2 года опыта, я себе еще 2 в резюме накинул и пошел отсобесился на сеньора. До сеньора не дотянул но выбил что-то среднее между мидлом и сеньором, при том что сам я тупень пиздец. Сейчас зп ~280к
Аноним 20/03/23 Пнд 20:47:55 #677 №2646997 
>>2646987
Зато в крестах душа есть
>>2646988
Их есть у меня. Даже 2.
>>2646989
>Бля как можно в 3 годами идти на джуна
Хз, плюсы всё таки посложнее жса будут.
Аноним 20/03/23 Пнд 20:49:41 #678 №2646998 
>>2646989
>Бля как можно в 3 годами идти на джуна. У меня всего 2 года опыта, я себе еще 2 в резюме накинул и пошел отсобесился на сеньора. До сеньора не дотянул но выбил что-то среднее между мидлом и сеньором, при том что сам я тупень пиздец. Сейчас зп ~280к
А потом удивляемся говнокоду и спагетти, когда такие сеньорят.
Аноним 20/03/23 Пнд 20:51:45 #679 №2647003 
>>2646997
>посложнее
Ладно, попробуй отсобеситься. В РФ вакансий на плюсы достаточно, можешь просто парочку самых неинтересных отобрать и сходить туда. Я тут репортил свои приключения с собеседований, вопросы на джуна, мидла и сеньора отличаются слишком незначительно. Честно у меня скорее складывается ощущение что по этой специализации есть недостаток кадров, поэтому требования снизились
>>2646998
Бля да кому не похуй, я через год пойду еще пособеседуюсь. Главное что продукт я делаю, доставляю в сроки, и с командой общаюсь хорошо, а на всякие там метрики кода мне похуй по большей части, за это не платят
Аноним 20/03/23 Пнд 20:54:32 #680 №2647005 
>>2647003
>Я тут репортил свои приключения с собеседований, вопросы на джуна, мидла и сеньора отличаются слишком незначительно
Кинь линку что ли, почитаю для общего развития.
>>2646971
На первый вопрос мне пока никто дельного ответа не дал/
Аноним 20/03/23 Пнд 20:55:53 #681 №2647008 
>>2647005
>Кинь линку что ли, почитаю для общего развития.
>>2577701 →
Аноним 20/03/23 Пнд 21:52:59 #682 №2647067 
>>2645038
да хотя бы потому что в коммерческой разработке с++ не используется, все пишут на приплюснутой сишке, то есть делают вид что у них типа с++, особо наглые заявляют шо у них 14 17 20 стандарт (подставь нужное), а на самом деле в кишках все таже дрисня из циклов и ифов прямиком из 60х в стиле алгола (не алгола 68, а первой версии)
открой исходный код любого компилятора с++ и убедись что никаким с++ там и не пахнет
Аноним 20/03/23 Пнд 22:08:29 #683 №2647087 
>>2647067
Зачем заглядывать в код компилятора, который начат писаться давно, когда можно заглянуть в любую современную либу которая на 14/17/20? Естественно никто не бросатся сразу переписывать вообще все.
Аноним 20/03/23 Пнд 22:10:08 #684 №2647088 
>>2647067
ПИШЕШЬ КОМПИЛЯТОР С++
@
НА САМЫХ КАНОНИЧНЫХ С++
@
ВСЕ ЧЕРЕЗ ШАБЛОНЫ, МЕТАПРОГРАММИРОВАНИЕ И КОНСТЭКСПР
@
ВО ВРЕМЯ КОМПИЛЯЦИИ ИНСТАНЦИРУЕТСЯ ДАЖЕ НЕБО, ДАЖЕ АЛЛАХ
@
В ИСХОДНИКАХ ЗАРОДИЛСЯ СИЛЬНЫЙ ИИ
Аноним 20/03/23 Пнд 22:59:50 #685 №2647135 
https://gist.github.com/Intey/789e9954e4220a2957d823e7c6e1992c
Чё то будто на сениора, или это я свабый?
Аноним 20/03/23 Пнд 23:06:16 #686 №2647136 
>>2647135
>знает что такое интерфейс void myfunc() = 0;
Мы вам перезвоним.
Аноним 20/03/23 Пнд 23:08:55 #687 №2647139 
>>2647135
На сениора. Но времена сейчас такие, сам понимаешь. Зарплата джуновская надеюсь?
Аноним 20/03/23 Пнд 23:18:26 #688 №2647155 
>>2647139
Я хочу мидлом пойти куда нить. Зп да, у меня уже 3года джуновская=(
Аноним 21/03/23 Втр 04:09:10 #689 №2647232 
>>2647155
>Зп да, у меня уже 3года джуновская
И щас окажется что "джуновская зарплата" это 250 тысяч, а я как лошара мидлом с десятилетним стажем зарабатываю втрое меньше почему-то.
Аноним 21/03/23 Втр 05:29:15 #690 №2647240 
>>2647232
я не верю, что человек с 10летним стажем в ОЙТИ может зарабатывать 83к рублей.

Когда у меня было 10 лет (2 года назад) - я под 700-800к в месяц на руки получал.
Аноним 21/03/23 Втр 05:31:56 #691 №2647241 
>>2647240
Откуда? Как? Я таких зарплат даже близко в вакансиях не видел, ты я не верю твоим словам.
Мне больше не предлагают, вот за такое и работаю. Есть кодеры получше, получают побольше. Знакомый йоба-кодер сеньор получает 250, в это я верю, но и то это звучит как уже с напрягом.
Почти миллион ничья работа не может стоит, это звучит как пиздёж.
Аноним 21/03/23 Втр 05:45:11 #692 №2647242 
>>2647240
Нвидия кун?
Аноним 21/03/23 Втр 06:54:43 #693 №2647255 
>>2647232
62к чел
Аноним 21/03/23 Втр 07:02:33 #694 №2647256 
>>2647255
Ну это реально. Да, ты можешь на побольше претендовать.
Аноним 21/03/23 Втр 08:57:52 #695 №2647292 
>>2647087
>когда можно заглянуть в любую современную либу которая на 14/17/20
Так там то же самое. В лучше случае, одна фича уровна auto. Про шаблоны вообще молчу.
Аноним 21/03/23 Втр 09:00:42 #696 №2647294 
>>2647135
>- понимает ООП, использует принципы SOLID (обязательно), KISS, YAGNI
На позера-смузихлёба.
Аноним 21/03/23 Втр 09:17:22 #697 №2647298 
Пусть есть джва класса

template<size_t _N>
class ZalupaBase
{
public:
using int_type = uint32_t;

private:
int_type _array[_N];
};

И я хочу, не меняя ZalupaBase, сделать так, чтобы в child-классе(ZalupaFinal) можно было изменить int_type, который используется в ZalupaBase...

template<size_t _N>
class ZalupaFinal : ZalupaBase<_N>
{
public:
using ZalupaBase<_N> = uint64_t;
};

И это не работает
Аноним 21/03/23 Втр 09:18:28 #698 №2647299 
>>2647298
>using ZalupaBase<_N> = uint64_t;
using ZalupaBase<_N>::int_type = uint64_t;

я имел ввиду это. Т.е. поменять int_type base class-a
Аноним 21/03/23 Втр 09:23:30 #699 №2647304 
>>2647298
Как ты его хочешь менять, если он у тебя в шаблоне гвоздями прибит? мимо шарпист, который не ебет в шаблоны.
Аноним 21/03/23 Втр 09:26:04 #700 №2647310 
>>2647304
Блять, да причем тут шаблоны?
Если убрать шаблон ничего не поменяется, я все еще не могу поменять вот этот int_type для baseclass-a.
Аноним 21/03/23 Втр 09:26:36 #701 №2647311 
>>2647298
>>2647299
Тебе надо писать typename N и подставлять потом в <> нужный тип
Аноним 21/03/23 Втр 09:36:08 #702 №2647320 
Как настроить QtCreator с системой сборки qbs для сборки проектов под arm32, используя arm-none-eabi-gcc, gdb и т.п.?
Аноним 21/03/23 Втр 09:43:33 #703 №2647326 
>>2647310
>Блять, да причем тут шаблоны?

template<size_t _N>
ZalupaBase<_N>

если тупой, так хоть не хами.
Аноним 21/03/23 Втр 09:46:54 #704 №2647330 
>>2647298
>как изменить тип не меняя тип
ну ты уже определись
если я правильно понял че ты делаешь то int_type надо занести в шаблон
Аноним 21/03/23 Втр 09:48:30 #705 №2647331 
>>2647326
ХОРОШО, смотри...
Я уберу шаблоны, ок?

теперь _N будет внутри ZalupaBase определено как const size_t _N = 32;

Охуеть, да? Но я все еще не могу менять int_type как я хочу для baseclass-a

>>2647330
Чел, проблема в том что я от STL кода наследуемый класс пишу.
Аноним 21/03/23 Втр 09:51:33 #706 №2647332 
>>2647331
тип в принципе нельзя менять
можно только создать новый. руками или инстанциацией шаблона
Аноним 21/03/23 Втр 09:52:55 #707 №2647333 
алсо если у этого stl класса не виртуальный деструктор тебе пизда в любом случае
Аноним 21/03/23 Втр 09:58:04 #708 №2647335 
>>2647331
>Я уберу шаблоны, ок?
причина тряски в чем заключается?
Аноним 21/03/23 Втр 10:41:04 #709 №2647353 
>>2647332
Ну пиздос.
Аноним 21/03/23 Втр 11:29:03 #710 №2647392 
>>2647353
То есть ты говоришь то, что в статически типизируемом языке нельзя поменять тип переменной после её определения это пиздос?
Ну пиздос.
Аноним 21/03/23 Втр 14:52:12 #711 №2647591 
>>2642206
>Как уже выше писал, лучше SDL нет ничего.
До того, как выкатят SFML под другие платформы.
Аноним 21/03/23 Втр 15:05:06 #712 №2647616 
Сап. Тяжело будет вкатиться в кресты с 5 летним сеньорским комм. опытом микросервисных ковыряний в кафке и перекладывания жсонов на ноде и гохе? Делать все то как написано в шапке или что то можно скипать?

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

Хочу как минимум освоить для себя, в идеале - сменить стек и компанию и делать чот на плюсах. Подводные?
Аноним 21/03/23 Втр 16:42:10 #713 №2647737 
>>2647616
>Подводные?
Отсутствуют. Сам перекатился из макакинга в CV-шника в обсерваторию в Гейропку. 0 сожалений.
Аноним 21/03/23 Втр 16:52:17 #714 №2647752 
Это какой то троллинг в треде или зачем люди с несколькими годами опыта в Вобще несмежную сферу переходят на джунов?
Или чат гпт стал рынок так шатать
Аноним 21/03/23 Втр 16:58:19 #715 №2647763 
>>2647616
>тяжело ли
Если для себя, то уровень тяжести ты сам себе подбираешь.

>сразу с Майерса
Не, никак. Это не учебники по языку, это советы для практикующих и хохмы для теоретизирующих. Толк от Майерса будет, если у тебя под рукой есть свой проект, где ты мог бы его советы сразу применять на натуре. А просто так Майерса читать - это..., ну это типа за все хорошее и против всего плохого.
Но можешь сам попробовать, благо книжки у него небольшие по объему.

>Подводные
Работа у тебя программирование и хобби тоже программирование будет.
Аноним 21/03/23 Втр 17:03:26 #716 №2647768 
>>2647752
>Это какой то троллинг
Тех писак, которые спустя n лет сформировались как полноценные программисты, а не как вротендеры-самозванцы тянет к истокам. Не вижу ничего плохого.
Аноним 21/03/23 Втр 17:13:08 #717 №2647773 
>>2647737
Как смотрят на то, что на крестах нет коммерческого опыта, когда стек меняешь, какие есть пути? Вроде писали, что условный ЯНДЕХ берет условных джавистов/etc, лишь бы шарил в алгосах и компутер сайенс, а с плюсами на месте разбираешься.

Вижу такое:
1) Устроиться в парашу ради коммерческого попыта крестов, чтоб потом съебать в топы.
2) Устроиться в топ на свой стек и внутри мувнуться на кресты
3) Устроиться в топ на кресты с понижением(на джуна, лал)
4) Без задней мысли найти компанию которая готова взять на сеньора с учетом что ты готов запотеть и быстро вкатиться в нью стек.

>>2647763
То есть без анального Шилдта/Праты никак.. пойду штаны подтягивать и доставать с полки, хуле.
Аноним 21/03/23 Втр 17:16:53 #718 №2647777 
>>2647773
5) Освоить базовые и менйстримные вещи, написать 0-2 пета, вылизать их, нарисовать 1.5 года опыта и вкатываться на мидла.
Аноним 21/03/23 Втр 18:14:38 #719 №2647837 
>>2647777
Да какие блять два пета... Я и один придумать не могу.
Аноним 21/03/23 Втр 18:56:20 #720 №2647902 
>>2647837
Не тупи, сделай змейку или сапёра
Аноним 21/03/23 Втр 19:23:38 #721 №2647922 
>>2646989
>Пройди пару собесов и охуеешь с того насколько мало нужно знать
Ну напиши список того, насколько мало нужно знать. Чтоб перед собесом хоть немного морально готовым быть.
Аноним 21/03/23 Втр 19:33:26 #722 №2647929 
>>2647902
Мне на мидла пет(
Аноним 21/03/23 Втр 19:42:37 #723 №2647936 
>>2647616
чел, у тебя интересный, относительно востребованный стек, не стоит его менять на подыхающие кресты, не губи себе карьеру и жизнь
Аноним 21/03/23 Втр 19:46:35 #724 №2647939 
>>2647752
ну знаешь как в джунглях есть цветок который воняет гнилым мясом и батиными носками, но для мух это самый сладкий аромат на свете, они летят туда, прилипают к цветку, а потом он их сжирает
так и с++ (в виде последних стандартов) сегодня стал такой привлекательной эзотерической альтернативой хаскелю и служит для сжигания мозгов слишком любопытных программистишков
с++ - не более чем средство уничтожения, прореживаня слишком умненьких в популяции
Аноним 21/03/23 Втр 19:51:07 #725 №2647940 
>>2647773
яндекс вообще никого со стороны не берет, нахуй это ему не надо, у него несколько прикормленных кафедр в москве и одна в сибири, там блядь выбирают из специально выращенных зомбей, которых натаскивают щас чуть ли не с начальной школы, лол
Аноним 21/03/23 Втр 20:23:53 #726 №2647969 
Я правильно понимаю, что мы после модулей продолжим писать include в стандартной библиотеке?
Аноним 21/03/23 Втр 20:32:50 #727 №2647983 
>>2647940
Прохладно.
Аноним 21/03/23 Втр 20:34:19 #728 №2647988 
>>2647969
Стандартная библиотека модулями в С++23 вроде должна быть принята, в студии какая-то тестовая имплементация была еще год назад, но тогда модули вообще не работали

>>2647242
Да не только. У меня кореш в озоне был с 500-600 (в зависимости от бонуса). в Яндексе был чувак 500-550 (с бонусом так же), в Хуавей хайрили знакомого на 600 гросс + 2 зп в год бонусом (а то и 4, если заебись работаешь)
Аноним 21/03/23 Втр 20:53:35 #729 №2648025 
image.png
>>2647988
Я эти маняцифры только на дваче видел, ИРЛ никто о таких зарплатах не говорил.
Аноним 21/03/23 Втр 20:55:42 #730 №2648026 
>>2647988
Озон плюсы использует?
Какие то внутренние приколы чтоли?
Аноним 21/03/23 Втр 21:21:35 #731 №2648056 
>>2648026
Нет, он ГОвноед был. Я к тому - что такие зарплаты были в Москве не только в NV далеко.

>>2648025
Бля чел, если ты этого не видел - это не значит, что этого нет.
Аноним 21/03/23 Втр 22:02:59 #732 №2648100 
>>2648056
>Бля чел, если ты этого не видел - это не значит, что этого нет.
Значит. У меня хороший круг знакомых в отрасли и я ему доверяю больше чем словам двачеров.
Аноним 21/03/23 Втр 22:04:09 #733 №2648102 
>>2648100
Ну, у тебя круг бездарей каких-то.
Аноним 21/03/23 Втр 22:05:31 #734 №2648104 
>>2648102
Точно нет, шансы крайне малы что с таким разбросом и опытом они все умудрились оказаться на днище. А вот шансы того что на дваче пиздоболы пиздят - крайне велик.
Аноним 21/03/23 Втр 22:07:33 #735 №2648109 
>>2648104
Ну днище - это сколько? если это ты тот чел, который писал про "втрое меньше 250к" - то нет, ты не просто на днище, ты на днище ебаном, как и весь твой круг вообще.
Аноним 21/03/23 Втр 22:18:51 #736 №2648119 
>>2648109
>есть наблюдаемая объективная реальность где толковые люди получают нормальные деньги, цифры совпадают с тем что предлагают в вакансиях
вс.
>двощер заливает про баснословные деньги которые они никак не могли бы приносить и ни одна компания не стала бы разбазаривать; с целью потроллить окружающих невероятными "успехами"
Гм, действительно, кому бы поверить. Да, пожалуй поверю тебе, Аноним, ведь зачем тебе врать, верно? А мои наблюдения и опыт это хуйня, я просто дебил как и вообще все с кем я общался, вот так мне лично повезло.
Аноним 21/03/23 Втр 22:20:55 #737 №2648126 
>>2647988
Может у них в обязанностях был массаж гендиру.
Аноним 21/03/23 Втр 22:23:45 #738 №2648129 
>>2648119
>А мои наблюдения и опыт это хуйня, я просто дебил как и вообще все с кем я общался, вот так мне лично повезло.
Пчел, если ты и твои кореша работают в каком-нибудь ООО ГОВНОСОФТ в Ростове-на-Дону - то да, там 120к у всех твоих друзей, и даже 200к кажется чем-то недосягаемым.

Из моего круга общения - минимум который я знаю, это у друга 160к в питере, который выпустился пару лет назад из вузика, и 2 раза сменил работу. Следующее снизу - это 5500 баксов на удаленке.

Переедь в ДС, попробуй устроиться в сбербанк\прости-господи-яндекс (который вместо акций теперь кэшем платит) - посмотришь на ЗП
Аноним 21/03/23 Втр 22:31:49 #739 №2648136 
>>2648129
Интересно, чего ты своей пиздоболией пытаешься добиться? Чтобы я имел завышенные требования и не находил работу или что? Я знаю сколько платят на самом деле и оцениваю все адекватно, ты мне не создашь манямирок чтобы я попал впросак. Ты так ньюфагов отсеиваешь что ли?
Вот серьезно, забей на минутку на свой троллинг и поясни мотивацию этого пиздежа, искренне любопытно.
Аноним 21/03/23 Втр 22:32:22 #740 №2648139 
>>2648136
Т.е. ты даже теоретически не можешь представить, что это не пиздеж, да?
Аноним 21/03/23 Втр 22:39:10 #741 №2648147 
>>2648139
Могу. Вероятность этого настолько мала, что я не вижу смысла развлекать эту идею.
То есть ты так и будешь продолжать свою шараду? Ладно, может кто-то другой ответит.
Аноним 21/03/23 Втр 22:41:19 #742 №2648152 
>>2648147
Скажи для интереса, какой бы пруф ты принял?

Так, чтобы не было воплей про фотошоп, афтереффекс, давинчи резолв и прочее.
Аноним 21/03/23 Втр 22:44:53 #743 №2648156 
>>2648152
Пруф чего? Что какой-то кум кабанчика умудряется квадриллион в наносек за нихуя получать? Я знаю что такое бывает.
Пруфануть что в индустрии такие зарплаты норма ты не сможешь, потому что это объективно не так, так что прекращай танцевать вокруг да около и скажи какой смысл тебе пытаться продолжать мне вешать лапшу на уши?
Аноним 21/03/23 Втр 22:49:23 #744 №2648158 
>>2648156
>Пруф чего?
Что доход в 500к+ в месяц в Москве хорошим программистом - реален. А 200+ - это впринципе уже давно мидловская зарплата.

> Пруфануть что в индустрии такие зарплаты норма ты не сможешь, потому что это объективно не так, так что прекращай танцевать вокруг да около и скажи какой смысл тебе пытаться продолжать мне вешать лапшу на уши?
В моих словах нет ни слова лжи.
Аноним 21/03/23 Втр 22:54:47 #745 №2648166 
>>2648158
Меня во всей этой истории занимает только один вопрос. Какой может быть причина того, что, со своих слов, 100000к наносек, тратит свое время, чтобы доказать долбичу с двача, что бывают какие-то зарплаты.

причем дебич с двача, очевидно, никогда не признает свое поражение.

Мимо другой анон.
Аноним 21/03/23 Втр 22:55:43 #746 №2648169 
>>2648158
Как скажешь.
Аноним 21/03/23 Втр 22:55:53 #747 №2648170 
>>2648166
Мне правда нехуй делать. Какая еще может быть причина?
Аноним 21/03/23 Втр 22:57:01 #748 №2648174 
>>2648166
Не я тут дебич, а тот который нереальные зарплаты выдает как что-то реальное. Потом вон ворота сдвинул, теперь 200к это норма стала, а не 800к.
Пиздит зачем-то, а потом юлит когда на лжи поймали. Я не дебич, я как раз умный потому что раскусил лжеца.
Аноним 21/03/23 Втр 22:58:14 #749 №2648176 
>>2648174
>. Потом вон ворота сдвинул, теперь 200к это норма стала, а не 800к.

Вот это внимательно прочитай. Я нигде ничего не сдвигал, просто еще один референс поинт привел.
> Что доход в 500к+ в месяц в Москве хорошим программистом - реален. А 200+ - это впринципе уже давно мидловская зарплата.
Аноним 21/03/23 Втр 23:03:07 #750 №2648183 
>>2648170
Справедливо.
Аноним 21/03/23 Втр 23:05:48 #751 №2648189 
>>2648158
Мы в с++ треде, а не просто абстрактным "программистом"
Аноним 21/03/23 Втр 23:09:23 #752 №2648193 
>>2648189
Во всем крупняке - зарплата зависит от бизнес юнита (не всегда), от грейда (всегда), от jobtitle (всегда) и от локации (всегда).

От языка она не зависит. Если ты L5 программист в гугл калифорния - то твоя зарплата будет +- такая же как у остальных L5 программист ов в гугл калифорния, будь ты крестовиком, жаваскриптером, питонистом или хаскеллистом.

Теперь замени L5 гугл калифорния на G17 Яндекс Москва - получишь тоже самое. Юнит\проект тоже иногда решает, но не везде далеко.

Про мелочевку смысла нет говорить, не думаю, что тут кто-то мечтает всю жизнь работать на заводе пилить SCADA на MFC.
Аноним 21/03/23 Втр 23:20:38 #753 №2648202 
>>2648193
>работать на заводе пилить SCADA на MFC
Что-то на самом деле полезное в отличие от смузихлебского аппа на гейфон.
Аноним 22/03/23 Срд 02:42:06 #754 №2648284 
image.png
А можно сделать шаблон так, чтобы он был и для float и для double?

А то сейчас это тупо копипаст, когда приходится писать одно и тоже для двух классов. То есть мне надо писать один и тот же код два раза - для float и для double. Но ведь логика там идентична

Хочется сделать шаблон так чтобы для вещественных была своя спецификация, для целых своя (для произвольных своя).


То есть хочу написать как-то так:
template<> class Foo<2, float or double>{};

И чтобы этот шаблон использовался для обоиъх

Без макросов. С++20
Аноним 22/03/23 Срд 03:13:55 #755 №2648292 
>>2648284
template<class T> requires is_same_v<T, float> || is_same_v<T, double>
class F {};
Аноним 22/03/23 Срд 03:15:44 #756 №2648293 
>>2648292
точнее require is_floating_point_v<T>
Аноним 22/03/23 Срд 05:59:41 #757 №2648331 
>>2648025
На хх видел вакансию на кресто-архитектора от 2гиса. То ли 600 то ли 800 было.
Аноним 22/03/23 Срд 06:31:13 #758 №2648341 
>>2648331
Как стать архитектором?
Аноним 22/03/23 Срд 06:31:51 #759 №2648342 
>>2648331
> То ли 600 то ли 800 было
куда можно тратить столько денег?
Аноним 22/03/23 Срд 06:33:55 #760 №2648343 
>>2648342
Я тоже что-то не представляю. Купил бы йоба-пеку чтобы не играть на ней, а остальное хз куда. Портфель акций, наверное, золота, налички, и капчевать двачи спустя лет пять на пенсии без всяких нужд.
Аноним 22/03/23 Срд 06:46:21 #761 №2648345 
>>2648343
Я хз... это полтора-два года поработаешь, и потом можно 30 лет нихуя не делать, при этом имея 40к расходов в месяц (большинству рагсиян такое или не светит, или надо въебывать на трех работах).

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

А обычный кодо-работяга...
Даже в 500к не верю....
У меня начальник отвечающий за электроэнергию города получает в среднем 150к. Плюс у него премия один раз в год в один лям - это по сумме в три раза меньше этого архитектора
Аноним 22/03/23 Срд 07:35:25 #762 №2648357 
>>2648342
>>2648343
Семью заведите и узнаете
Аноним 22/03/23 Срд 08:10:48 #763 №2648371 
>>2648357
Как это делается? Заебали нормисы со своими "заведи девушку", я что, блядь, не завел бы если бы знал как это делается?
Аноним 22/03/23 Срд 08:52:15 #764 №2648384 
>>2648371
Шизойд, ну и не заводи если не хочешь\не умеешь
Тогда и зпшка тебе такая не нужна
Аноним 22/03/23 Срд 10:25:55 #765 №2648420 
>>2648384
С хуя ли я шизоид? Писать научись, быдло.
Аноним 22/03/23 Срд 11:12:30 #766 №2648446 
>>2648357
>Семью заведите и узнаете
Ну как-то вся страна живет за 40к на семью...

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

В моем понимании профи программирования в принципе не может владеть социальными навыками быдла - просто потому что либо шляешься по клубам и ебешь тянок, либо сутками дрочишь математику и паттерны. В сутках всего 24 часа
Аноним 22/03/23 Срд 11:19:31 #767 №2648455 
особенно архитектора с++ - про этих даже мемы есть.

тут один только стандарт 20 лет учить чтобы не ловить все UB
Аноним 22/03/23 Срд 11:19:47 #768 №2648456 
>>2648446
>В моем понимании профи программирования в принципе не может владеть социальными навыками быдла
Еще один шизойд
Аноним 22/03/23 Срд 11:33:09 #769 №2648466 
>>2648446
Архитектору и не надо за пиздами бегать, все в округе с помощью слухов и так знают, что он заряжен, и всячески пытаются на него вешаться.
>В моем понимании профи программирования в принципе не может владеть социальными навыками быдла
Не факт, у меня знакомый такой, голова на плечах толковая, быстро соображает, но еще и не обременен аутизмом и способен в общение, потому как-то тянок цепляет регулярно. В общем, полная моя противоположность.

>>2648456
Писать научись, быдло.
Аноним 22/03/23 Срд 11:39:40 #770 №2648477 
изображение.png
>>2648456
с++ - это не тот язык в который можно вкатится за десять минут в день
Если глянуть вон фотку коммитета стандартизации - то там дофига челов в грязных свитерах (ну да, там и кабанчики мелькают - но так в коммитет и менеджеры ходят)

>>2648466
> все в округе с помощью слухов и так знают
Да все это фигня и миф. Современные пезды немножко тупы и скорее повешаются на очередного самса-безработника (зато с ним весело)

>>2648466
>Не факт, у меня знакомый такой, голова на плечах толковая, быстро соображает
дело не в том - быстро или не быстро

Ты аллокатор свой писал? Свои строки? Это все не пять минут вникания.
Вот архитектор должен это все знать, потому что с++ такой язык, в котором стандартная либа не покрывает все задачи. Погугли видео по проблемам строк - вроде бы что там - тсроки и строки, во всяких питонах и джавах даже не заморачиваются.. А в С++ только о проблемах могут часы выступлений проводить..

Плюс если нужен архитектор С++ - то там скорее всего идет дрочь на оптимизации (а значит стандарт либы под запретом)
Аноним 22/03/23 Срд 12:05:32 #771 №2648502 
> ноулайфаер + инцел
> студент
> чсв
> считает программирование на с++ чем то сакральным

бинго?
Аноним 22/03/23 Срд 12:07:48 #772 №2648505 
image.png
>>2648477
>Да все это фигня и миф. Современные пезды немножко тупы и скорее повешаются на очередного самса-безработника (зато с ним весело)
Ну тебе виднее, я в пиздах не разбираюсь совершенно.
>>Не факт, у меня знакомый такой, голова на плечах толковая, быстро соображает
>дело не в том - быстро или не быстро
Не то слово выбрал.
>Ты аллокатор свой писал? Свои строки? Это все не пять минут вникания.
Я нет. Он - да. Парсер хмля для каштомного гуя заебенил там где я потом работал.
>Вот архитектор должен это все знать, потому что с++ такой язык, в котором стандартная либа не покрывает все задачи. Погугли видео по проблемам строк - вроде бы что там - тсроки и строки, во всяких питонах и джавах даже не заморачиваются.. А в С++ только о проблемах могут часы выступлений проводить..
Я обычно базовый string для задачек использую, wstring для обычных виндовых прожектов и какой там стринг на текущем проекте принято использую на текущем проекте. Только один раз на проекте с нуля был, там обжективный стринг был уже, т.к. не мультиплатформа.
>Плюс если нужен архитектор С++ - то там скорее всего идет дрочь на оптимизации (а значит стандарт либы под запретом)
Дроч без мягкого знака.
Да, в таких местах своя "стандартная" либа без исключений.
Аноним 22/03/23 Срд 12:10:17 #773 №2648508 
Сап аноны, нужна помощь.
Есть функция

BOOL SetWindowText(

HWND hWnd, // дескриптор окна или элемента управления
LPCTSTR lpString // адрес строчки

);


Я не понимаю, откуда отосрать 2-й аргумент? Да, я пытался гуглить LPCTSTR и всякие всратные LPWSTR и тд. Нихуя непонятно, а главное что с этим делать и как мне блять передать какую-нибудь строчку в функцию? Что бы я не передавал, выдает ошибку cannot convert ... Памагите.
Аноним 22/03/23 Срд 12:18:24 #774 №2648514 
image.png
>>2648508
Кастуй широкую строку, самое простое.
Аноним 22/03/23 Срд 12:21:24 #775 №2648516 
image.png
image.png
>>2648508
>LPCTSTR
LP - long pointer
C - const
T - for a wide character or char
STR - string
https://stackoverflow.com/questions/321413/lpcstr-lpctstr-and-lptstr
Указатель на строку вобщем

А вобще просто посмотри на что этот тип затайп дефайнен и что реально под ним лежит

>Я не понимаю, откуда отосрать 2-й аргумент?
Type: LPCTSTR
The new title or control text.
https://learn.microsoft.com/ru-ru/windows/win32/api/winuser/nf-winuser-setwindowtexta

>как мне блять передать какую-нибудь строчку в функцию
https://stackoverflow.com/questions/6541068/need-help-passing-some-lpctstrs-to-a-function-in-c

ну вобщем учись гуглить, или chatGPT пользоваться
Аноним 22/03/23 Срд 12:34:48 #776 №2648529 
>>2648156
Ну ты реально че то не то делаешь. Даже ебучий яндекс, куда проще всего попасть очень быстро при хорошей работе дает 200к. Мрему другу 200 дали сразу после стажки, хотя до этого он не работал нигде
Аноним 22/03/23 Срд 12:38:24 #777 №2648536 
>>2648446
>В моем понимании профи программирования в принципе не может владеть социальными навыками быдла
Всё так. В 2023 нужны только навыки общения с чатгпт + доставщиками еды и мастерами, блять, чистоты. Одна проблема - из-за константной депрессухи тяжко работу искать.
Аноним 22/03/23 Срд 12:39:34 #778 №2648539 
какие 200к у нас в треде чел системы ЧПУ за 30ку пилит
Аноним 22/03/23 Срд 12:44:11 #779 №2648544 
image.png
>>2648529
>яндекс, куда проще всего попасть
А что не гугл или эппл сразу?
Аноним 22/03/23 Срд 12:48:47 #780 №2648550 
>>2648544
Бля, дегенераты. Помню в прошлом году решал с аноном по приколу контест в яндекс. Решали мы отдельно, но потом обсуждали. Не помню сколько он решил, но он спросил со мной и говорил, что я не мог решить 4 задачи за 3 часа. Прям доказывал мне, что я не мог
Аноним 22/03/23 Срд 12:51:42 #781 №2648554 
>>2648550
Если ты про тот простенький контест где три изичные и две медиум задачки (по уровням литкода), то твой анон ОСНЕ СЛАБЫЙ.
Но если яндексу нужны такие кодомакаки на плюсах которые тупо медиум алгоритмические задачки решают, то с хуя ли им платить 200 кусков? Деньги девать некуда? Такие и за сотку удавятся. Головой-то подумай.
Аноним 22/03/23 Срд 12:55:13 #782 №2648556 
>>2648554
Ты где работаешь? Если для тебя 200 невообразимая цифра, то попробуй в яндекс попасть, сам все увидишь
Аноним 22/03/23 Срд 12:55:53 #783 №2648557 
>>2648556
Не говорю, что тебе сразу будут платить. Может тебя попрут через месяц, но с людьми зато пообщаешься
Аноним 22/03/23 Срд 13:03:16 #784 №2648564 
image.png
>>2648556
>попробуй в яндекс попасть
Так они и возьмут такого имбецила как я.
Аноним 22/03/23 Срд 14:13:23 #785 №2648656 
>>2648514
А что такое L?
Аноним 22/03/23 Срд 15:27:02 #786 №2648740 
>>2648342
На такие деньги даже квартиру в центре не купишь.
Аноним 22/03/23 Срд 15:40:38 #787 №2648750 
>>2648342
прикинь, деньги не обязательно тратить.
Аноним 22/03/23 Срд 15:55:22 #788 №2648766 
>>2648750
Поймал анальника!
Аноним 22/03/23 Срд 15:56:13 #789 №2648767 
1570617268950.png
Как это может быть? Баг в либах винды?
Аноним 22/03/23 Срд 15:58:24 #790 №2648768 
>>2648767
Сортировки нет, порядок захардкоден, разраб ошибся при добавлении.
Аноним 22/03/23 Срд 16:36:34 #791 №2648810 
изображение.png
изображение.png
изображение.png
изображение.png
>>2648446
Аноним 22/03/23 Срд 16:38:00 #792 №2648812 
>>2648810
Толстовато.
Аноним 22/03/23 Срд 16:42:07 #793 №2648814 
sGIJ4TwtqzA.jpg
На что ссылается vv?
Сначала подумал, что время жизни анонимного Х продлилось - нихера. До вывода. Или продлилось время жизни ТОЛЬКО ff?
Аноним 22/03/23 Срд 16:48:25 #794 №2648826 
>>2648564
Пробовал их Фаст трек, решил одну полностью, в другой обосрался. Две даже не трогал, какой то тихий ужас.
Никакие там не мид литкода.
Аноним 22/03/23 Срд 16:56:51 #795 №2648834 
>>2648814
Разобрался. Висит она. Но почему такая конструкция(получение & от &&) вообще возможна?
Аноним 22/03/23 Срд 17:45:14 #796 №2648885 
image.png
>>2648656
Префикс для строки. Означает что это строка не из обычных чаров на 8 бит, а из wchar_t, и запихивается в широкую строку.
Аноним 22/03/23 Срд 17:46:00 #797 №2648887 
>>2648826
Можешь показать здесь, любопытно стало?
Аноним 22/03/23 Срд 17:56:10 #798 №2648897 
>>2648887
Показать не могу, не сохранил.
Решил я самую простую: стек с запоминанием максимального числа в стеке.
Вторая: есть две компании с радиовышками. Радиовышка имеет параметры [x,y] и радиус R общий для всех вышек. Есть город Q с центром [0,0].
Надо определить победителя по критериям близости к центру и допом вывести сколько вышек ближе чем у противника.
Чтоб идти в зачет, вышка должна покрывать хотя бы одну целочисленную координату города.
Я очень обосрался с алгоритмом нахождения этих координат.
Но это ладно. Я думал что будет как на литкоде:
Есть класс, внутри него описываешь решение. Ни Ху я. Твоя прога будет вызываться и в stdin кидаться аргументы. Я 1/2 времени потратил тупо на парсинг этих ебучих аргументов, потому что cin трогал последний раз на первом курсе вуза.
Но возможно это просто я тупой и Яндекс мне не светит.
Аноним 22/03/23 Срд 18:12:24 #799 №2648936 
>>2648897
>самую простую
Ну это ладно.
>Вторая: есть две компании с радиовышками. Радиовышка имеет параметры [x,y] и радиус R общий для всех вышек. Есть город Q с центром [0,0].
Чем-то напомнило https://leetcode.com/problems/detonate-the-maximum-bombs/ - оно? Я тут жиденько обосрался когда решал, надо перерешать.
>Но это ладно. Я думал что будет как на литкоде:
>Есть класс, внутри него описываешь решение. Ни Ху я. Твоя прога будет вызываться и в stdin кидаться аргументы. Я 1/2 времени потратил тупо на парсинг этих ебучих аргументов, потому что cin трогал последний раз на первом курсе вуза.
Ну это какбе ничего не говорит ни о тебе, ни о задачах.
Правда, стдин это очень просто, этот фастрек это что вообще, раз ты загуглить цин не мог?
Аноним 22/03/23 Срд 18:18:38 #800 №2648949 
>>2648936
Да, задача явно похожа, пойду прорешаю.
Я просто на этот парсинг убил много времени. Разобраться то с ним смог, никаких запретов на юз Гугла не было.
Аноним 22/03/23 Срд 18:22:16 #801 №2648959 
>>2648539
в КФЦ и макдаке в мухосрани столько платят. И бесплатные обеды, и карьерный рост до тренера.
Аноним 22/03/23 Срд 18:28:00 #802 №2648973 
>>2648959
Так это потеть на кухне надо.
Аноним 22/03/23 Срд 18:32:32 #803 №2648983 
>>2648936
Эта вроде сильно легче, здесь же просто чек на пересечение окружностей.
Аноним 22/03/23 Срд 19:48:52 #804 №2649103 
Какую фичу вы больше всего хотите в плюсах?
Может какую то из уже разрабатываемых очень ждете?
Аноним 22/03/23 Срд 19:53:34 #805 №2649112 
конпеляторщики модули третий год из ся выдавить не могут
какие нах еще новые фичи
Аноним 22/03/23 Срд 19:55:33 #806 №2649114 
>>2649103
>Какую фичу вы больше всего хотите в плюсах?
Рефлексию.
Аноним 22/03/23 Срд 20:01:12 #807 №2649119 
>>2649103
Сокеты в стандартной либе.
Аноним 22/03/23 Срд 20:27:22 #808 №2649145 
>>2649103
Рефлексию, единый формат описания 3рдпати пакетов, Смерть CMAKE, Вижуал студию полностью кроссплатформенную, хотя-бы компилятор
Аноним 22/03/23 Срд 20:30:57 #809 №2649151 
Как же хочется вижуалстудию в стандарте.
Аноним 22/03/23 Срд 20:52:21 #810 №2649162 
>>2649114
Не нужно.
Аноним 22/03/23 Срд 21:02:05 #811 №2649168 
image.png
>>2649162
Аноним 22/03/23 Срд 21:03:34 #812 №2649170 
>>2649145
>Вижуал студию полностью кроссплатформенную, хотя-бы компилятор
А почему бы студию не приручить к другим конпеляторам? Хочешь - гцц компиляешь, хочешь - кланг.
Аноним 22/03/23 Срд 21:10:20 #813 №2649178 
>>2649170
кланг вроде так и делает
Аноним 22/03/23 Срд 21:10:45 #814 №2649180 
>>2649145
>Вижуал студию полностью кроссплатформенную, хотя-бы компилятор
Зачем и кому это может понадобиться?
Аноним 22/03/23 Срд 21:17:18 #815 №2649186 
>>2649170
Это сейчас именно так и работает с прослойкой в виде CMAKE и WSL (мы проект так кросскомпилируем под линукс).

Но, это во-первых - сблев сифилисной обезьяны, под названием CMAKE. Во-вторых - это всякие разные вещи, которые есть только в одном компиляторе (расширения например), всякие компайлер свитчи и прочее прочее прочее.

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

>>2649180
Любому разработчику с кроссплатформенным проектом, который не любит жрать говно
Аноним 22/03/23 Срд 21:20:35 #816 №2649190 
>>2649168
То, что ты хочешь, скорее всего не рефлексия, а компайл тайм определение типов, но с этим вроде и так сейчас уже хорошо.
А рефлексия это большое зло, я тебе как поработавший с джавой говорю.
То проблемы с безопасностью, когда тебе прислали объект по сети и ты обращаешься к нему так как будто бы в нем что-то есть. То не получается собрать под какую то платформу, потому что на ней нет рефлексии (ну скажем код должен весь в ROM лежать) и весь проект зависит от этой либы.
Аноним 22/03/23 Срд 21:21:00 #817 №2649192 
>>2649186
>который не любит жрать говно
>студия
Мда.
Аноним 22/03/23 Срд 21:21:46 #818 №2649195 
>>2649192
У тебя еще лаба2.срр не написана, зачем ты на дваче постишь
Аноним 22/03/23 Срд 21:22:00 #819 №2649196 
>>2649186
> Хочется именно нативный экспириенс студийный, поставил - и все работает без хуйни и говна.
С такими запросами тебе только язык менять
Аноним 22/03/23 Срд 21:23:54 #820 №2649200 
>>2649195
>лаба2.cpp
Да, для этого тебе точно нужна студия, для нормальных людей есть clang.
Аноним 22/03/23 Срд 21:24:05 #821 №2649201 
>>2649190
Я не он, но думаю когда говорят про рефлексию в плюсах имеют ввиду компайл тайм рефлексию
Аноним 22/03/23 Срд 21:24:09 #822 №2649202 
>>2649190
Рефлексия бывает статическая и динамическая.
Сейчас плюсы идут по пути статической.
Есть подобие динамической в Qt.
Аноним 22/03/23 Срд 21:24:54 #823 №2649204 
>>2649200
> Сравнивает IDE и компилятор
Сорян про лабу2.срр, вы походу только начали курс ПРОГРАММИРОВАНИЯ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ.
Аноним 22/03/23 Срд 21:27:48 #824 №2649208 
>>2649204
Ты так и не назвал ни одной причины, почему майкракософтовским компилятором кто-то вообще захочет собирать хоть под одну платформу.
Аноним 22/03/23 Срд 21:31:29 #825 №2649213 
>>2649208
Ну хуй знает. Может спросим пацанов из Unreal, почему они UE компиляют студией под винду? Может спросим у Гугла, почему они собирают хромиум вижуал студией? Может ты еще в штаны перестанешь срать. Я понимаю, ты КРУТОЙ ПРОГРАММИСТ, АЖ НА ВТОРОМ КУРСЕ ВУЗИКА, ВСЕ ЗНАЕШЬ И УМЕЕШЬ, НЕ ТО ЧТО ДИДЫ.

Но пока ты только срать в штаны умеешь.
Аноним 22/03/23 Срд 21:34:32 #826 №2649218 
>>2649186
>Хочется именно нативный экспириенс студийный, поставил - и все работает без хуйни и говна.
Двачую.
Аноним 22/03/23 Срд 21:46:06 #827 №2649235 
>>2649186
>поставил - и все работает без хуйни и говна
Эх, анончик, если бы только можно было совместить это с кроссплатформенностью
Аноним 22/03/23 Срд 22:39:52 #828 №2649301 
>>2649213
Потому что под проблемную прошивку сложно собрать чем-то кроме как проблемными же костылями. Вендорлок называется.
Аноним 22/03/23 Срд 22:40:47 #829 №2649306 
>>2649301
Можешь какой-нибудь хуйней поделишься, что тебе голоса в голове рассказали?
Аноним 22/03/23 Срд 22:41:40 #830 №2649310 
>>2626726 (OP)
аноны, как вкатиться в цпп на вакансию джуна?
Решаю неплохо задачки на алгоритмы, знаю ответы на базовые вопросы про ООП. Плюсы знаю средне, но думаю с практикой всё придёт. Проблема в том что этой практики у меня нет, т.к нет работы
На собесы меня вообще не зовут, только один раз хрюшка перезвонила, но как я понял это для галочки и она всем кандидатам перезванивала.
Понимаю что я многое не знаю и при желании можно легко найти к чему приебаться, но всё же я хочу вкатиться на вакансию джуна, а не тимлида
Аноним 22/03/23 Срд 22:43:20 #831 №2649312 
>>2649310
Раскидывать свое хуевое резюме на все возможные вакансии, попутно ежевечерне читая умные книги и хуяря код (опционально на гитхаб).

Других вариантов особо нет.
Аноним 22/03/23 Срд 22:51:45 #832 №2649327 
>>2649306
Съеби наркоман.
Аноним 22/03/23 Срд 22:56:54 #833 №2649334 
>>2649327
> называет кого-то наркоманом
> несет мало того, что бред шизофреника, так еще и откровенно лживый
Почему С++ притягивает именно вот эту категорию людей? В тредах по другим языкам тож самое?
Аноним 22/03/23 Срд 23:06:12 #834 №2649344 
>>2649312
>на все возможные вакансии
Да и так раскидываю, но вакансий джуна не так много, а часто вообще в требованиях 3-4 года опыта.
Аноним 22/03/23 Срд 23:07:42 #835 №2649347 
>>2649344
Попытай удачи в москву\питер еще, если не в них.

Вообще, есть конечно ебланский путь, типа устроиться в контору кем-нибудь принеси-подай типа, куа\админа\техпода, а потом внутри перейти в разработку через годик. Но я не уверен, что тебе это надо делать.
Аноним 22/03/23 Срд 23:49:26 #836 №2649423 
>>2649347
Спасибо, анон
Аноним 22/03/23 Срд 23:53:09 #837 №2649428 
>>2649334
> > называет кого-то наркоманом
> > несет мало того, что бред шизофреника, так еще и откровенно лживый
> Почему ДВАЧ притягивает именно вот эту категорию людей?
Аноним 22/03/23 Срд 23:56:55 #838 №2649435 
>>2649334
То есть, бред, но ты его решил анализировать и даже нашел там истину. Вот это откровения.
Аноним 23/03/23 Чтв 00:02:47 #839 №2649441 
>>2647936
Да почему губить-то. Я же дропать основной стек не собираюсь, и увольняться тоже.
В идеале да, хочу полноценно вкатиться в кресты, потом походить по собесам и понять, получится ли вообще переквалифицироваться не падая до уровня джуниора за еду.

Может идея ебнутая, но я помню как еще в 15 лет я только вкатывался в программирование, и первый язык был как раз плюсы. Хватило меня на месяца 2, и в итоге я съебал сначала в питон, от туда в ноду, а сейчас еще и го добавился.

А щас хочется будто и гештальт закрыть, и возможно стать тем самым крутым инженером который работает над интересной и сложной залупой, работая в условных фаангах или чём-то похожем. Джейсоны заебало перекладывать, короче.
Аноним 23/03/23 Чтв 13:25:49 #840 №2649919 
>>2626726 (OP)
для дескопного приложения стоит ли заморачиваться с qt? или взять любую другую библиотеку?
просто слышал что в случае qt придётся устанавливать их редактор, регистрироваться на их сайте...
Аноним 23/03/23 Чтв 13:31:35 #841 №2649925 
>>2649441
>Джейсоны заебало перекладывать, короче
Будешь перекладывать жеэсоны на плюсах. Если ты думаешь что С++ = интересные и сложные задачи то ничего подобного. Безусловно такие вакансии есть, есть перфтимы в гуглах, есть хуавей, есть некоторые команды в Яндексе, но средняя вакансия на крестовика это что-то из этого:
1) Перекладывание всратых жсонов на железках с 1кб памяти. Нобрейн работа где единственная сложность это впихнуть код в уебищную железку, потому что на железку подороже у заказчика нет денег
2) Перекладывание всратых скриптов для игр в роли геймплей программера
3) Создание эндпоинтов в бэкэнде
При этом сразу готовься что кодобаза будет как минимум совершеннолетняя, а скорее всего примерно твоего возраста. Лучше жизнью займись а не этой дрочью
Аноним 23/03/23 Чтв 13:44:56 #842 №2649941 
>>2649925
А как можно рыспрыгаться с плюсов на другие стеки, не снижая грейд?
Аноним 23/03/23 Чтв 13:47:59 #843 №2649950 
>>2649919
> для дескопного приложения стоит ли заморачиваться с qt? или взять любую другую библиотеку?
> просто слышал что в случае qt придётся устанавливать их редактор, регистрироваться на их сайте...
Не обязательно. Офлайн инсталлер качай, регаться там вроде не надо. А их редактор удобен для создания гуя.
Вроде есть способы натянуть кутю на студию, но зачем?
Я трогал только супер древний wxWidgets и Qt, вторая нравится больше, меньше пердолинга. Алсо все твое "заморачиваться" - это два часа времени максимум.
Аноним 23/03/23 Чтв 14:03:06 #844 №2649974 
>>2649925
Даже если взять пункт 1) и пункт 3) как релевантные для меня на моем текущем стеке задачи - я бы сказал, что делать это на ноде/гохе вот именно что нобрейн.

В плюсах ты хотя бы на пару минут подумаешь про память, про структуры данных и алгоритмы.

В ноде ты напишешь в контроллере return {pizda: "jopa"} и в сервисе await kafkaInstance.produce(req.body) и хуй забьешь на остальное. А если начнутся проблемы с производительностью то добавишь еще пару подов. И так почти везде.

>Безусловно такие вакансии есть, есть перфтимы в гуглах, есть хуавей, есть некоторые команды в Яндексе

Я бы сказал, что таких вакух больше все равно, потому что смысл перекладывать жсон на плюсах когда это быстрее и дешевле на любой скрипт-хуете, поэтому на плюсах в ТЕОРИИ должно быть больше пространства для чего-то посерьезнее перетасовывания полей.
Аноним 23/03/23 Чтв 18:05:05 #845 №2650330 
>>2649925
>Перекладывание всратых скриптов для игр в роли геймплей программера
Охуенно же.
Аноним 23/03/23 Чтв 19:54:40 #846 №2650459 
Есть тут кто с графикой работает?
Понемногу начинаю с openGL на vulkan переходить, увидел что у вулкана есть биндинги к плюсам vulkan-hpp
Стоит в них лезть вообще, или лучше с си интерфейсом работать?

как то попытался прочитать отзывы на это всё, многие бухтят на vulkan-hpp, но не очень понятно почему, да и как вижу все опенсорсные приколы на гитхабе не пользуются этой плюсовой оберткой
Аноним 23/03/23 Чтв 20:07:09 #847 №2650461 
>>2650459
Ты игры хочешь делать? Если да - то нахуй тебе вообще вулкан\опенгл? Берешь юнити и делаешь игру.

Ты хочешь быть рендеринг инженером? Тогда лучше вообще DX12 с рейтрейсингом, вулкан актуален в 2.5 конторах.
Аноним 23/03/23 Чтв 20:24:21 #848 №2650479 
>>2650461
>юнити и делаешь игру
в с++ треде
Аноним 23/03/23 Чтв 20:28:36 #849 №2650483 
>>2650479
Игра - это не про код и не про язык программирования, и не про графон. А про идею и геймдизайн.

Собственно - одно из самых больших заблуждений в кодинге как раз о том, что С++ и геймдев связаны. Под геймдевом все всегда имеют ввиду написание сюжетов\персонажей\механик, а не дрочку на физику шин или задрачивание коллизий в опенворлде (вот тут как раз С++ и нужен только)
Аноним 23/03/23 Чтв 20:30:57 #850 №2650486 
>>2650461
>тред пильщиков
>хочу запилить дверь, как это лучше сделать?
>закажи готовую с алика
Узнаю родимый двач.
Анрыл или флакс посоветовал бы хотя бы.

>>2650483
>Игра - это не про код и не про язык программирования, и не про графон. А про идею и геймдизайн.
Игра это про что угодно. Если хочет графон ебать - пусть ебёт, зачем ты его учишь своему мировоззрению?
Аноним 23/03/23 Чтв 20:33:42 #851 №2650490 
>>2650486
Анрыл тоже норм, только сложнее юнити сильно.

> Игра это про что угодно. Если хочет графон ебать - пусть ебёт, зачем ты его учишь своему мировоззрению?
Игра - это про игру. Я к тому, что если чел хочет делать игры - то опенгл это трата времени на хуйню, когда надо читать учебники по геймдизайну и\или ваще по КАК СТАТЬ ПЕЙСАТЕЛЕМ.
Аноним 23/03/23 Чтв 20:35:18 #852 №2650491 
>>2650461
> Ты хочешь быть рендеринг инженером?
this, по крайней мере мне это пока что больше интересно

>Тогда лучше вообще DX12 с рейтрейсингом
И его есть в планах глянуть, но потом

я же студент еще, я не собираюсь за вулкан на года 3 садиться и всю жизнь тратить, а так пока что банальный рендерер запилить, с какими нибудь приколами на пару месяцев
так что сначала хочу вулкан потыкать
Аноним 23/03/23 Чтв 20:38:06 #853 №2650496 
>>2650491
Если ты студент и тебе по фану - я бы не советовал трогать вообще Вулкан, наверное. Опенгл пайплайн сильно проще, а результаты будут одинаковые для твоих студентопроектов. в Вулкане\ДХ12 есть смысл тогда, когда ты реально дрочишь на то, чтобы попасть там в id Software или в ту же нвидию прости господи. Но ни туда ни туда не возьмут, пока у тебя не будет опыта в этом всем промышленного несколько лет.
Аноним 23/03/23 Чтв 20:44:30 #854 №2650503 
>>2650490
Нет, ты прав про то что если хочет именно делать игры, то не надо сосредотачиваться на пикселях вулкана. Но он не говорил что именно хочет делать игру, может из спортивного интереса графическое апи ковыряет.
Аноним 23/03/23 Чтв 20:51:44 #855 №2650513 
>>2650483
Неспособен осмыслить три слова в контексте. Выкакаю совет на целый абзац. Классика.
Аноним 23/03/23 Чтв 23:31:15 #856 №2650709 
>>2650483
Это не заблуждение и не ошибка - геймдев действительно плотно и тесно связан с с++. Это и вскякие игровые движки, как годот и анрил, и всякие либы на нем.
>>2650496
Вулкан уже практически везде, и в годоте, и в беви. Опенгл будет использоваться все меньше и меньше.
Аноним 24/03/23 Птн 00:13:07 #857 №2650753 
>>2650709
сейчас на Расте начинают уже проекты
Аноним 24/03/23 Птн 00:27:43 #858 №2650769 
>>2650753
дураки
Аноним 24/03/23 Птн 00:33:37 #859 №2650771 
>>2650769
почему? ты сторонник Столярова?
Аноним 24/03/23 Птн 00:35:03 #860 №2650773 
>>2650709
> Это не заблуждение и не ошибка - геймдев действительно плотно и тесно связан с с++. Это и вскякие игровые движки, как годот и анрил, и всякие либы на нем.
Блять, чел. Прочитай что я написал. Когда кто-то хочет делать игру - он хочет именно делать игру, сюжет, геймплей, дизайн, а не ебать лучи.

Для ДЕЛАНЬЯ ИГР - с++ нахуй не сдался. А вот для ковыряния в движках и прочем - конеш нужен. Только это байтоебство опять, а не гейдев
Аноним 24/03/23 Птн 11:59:11 #861 №2651035 
>>2650773
Хуйню несешь.
Аноним 24/03/23 Птн 12:00:31 #862 №2651039 
Безымянный.jpg
Это подъебка, или разница есть?
Аноним 24/03/23 Птн 14:23:27 #863 №2651159 
image.png
>>2650773
>Для ДЕЛАНЬЯ ИГР - с++ нахуй не сдался.
Вот и имеем с таким подходом йобы с графоном уровня третьей плойки которые отжирают более 8 гектар памяти и весь проц. А сверху дерьмувой намазано, чтоб неповадно было.
А есть толковые ребята вроде Вубе которые на плюсах заебашили игрень оперирующую буквально миллионами предметов без тормозов.
Надо знать пределы просто, и не замахиваться на йобы когда один хуячишь на плюсах, соло на плюсах вполне можно потянуть индюшку.
Если что-то покрупнее то уже бригадой надо, но там и на юнитазе особо один бы не потащил, так что это ни к чему сказано.
>А вот для ковыряния в движках и прочем - конеш нужен. Только это байтоебство опять, а не гейдев
Так может быть нужно.
Аноним 24/03/23 Птн 14:29:37 #864 №2651164 
>>2651159
>Надо знать пределы просто, и не замахиваться на йобы когда один хуячишь на плюсах, соло на плюсах вполне можно потянуть индюшку.
Двачую. Шизики берут какой-то юнити или анриал и делают на нем майнкрафт. То что эти движки не расчитаны на такие типы игр их мало волнуют, ребята просто ебашат тысячу динамических источников света в виде лавы и фпс дропается до нуля, но на эти небольшие проблемы можно не обращать внимания если твою игру покупают за 3$ в стиме и лайкают на реддите
Аноним 24/03/23 Птн 16:10:34 #865 №2651288 
>>2650773
Ознакомься перед тем как писать всякие глупости
https://www.youtube.com/watch?v=HEb2akswCcw
Аноним 24/03/23 Птн 16:32:09 #866 №2651313 
Вопрос по pack expansion. Вот пример с cppref
f(h(args...) + args...); // Nested pack expansion:
// inner pack expansion is "args...", it is expanded first
// outer pack expansion is h(E1, E2, E3) + args..., it is expanded
// second (as h(E1, E2, E3) + E1, h(E1, E2, E3) + E2, h(E1, E2, E3) + E3)
Если я хочу, чтобы это развернулось в h(E1, E2, E3) + E1, E2, E3, то как это должно выглядеть?
Аноним 24/03/23 Птн 16:50:47 #867 №2651338 
>>2651313
h(args...) + ... + args
ну и мем в том что второе ... как и положено в крестах значит совсем не то что первое
Аноним 24/03/23 Птн 16:53:17 #868 №2651343 
>>2651288
Я сделаю игру на УЕ чисто на блюпринтах красивее на пару порядков и без единой строки кода на С++
Аноним 24/03/23 Птн 16:58:50 #869 №2651351 
>>2651343
Во-первых не сделаешь.
Во-вторых у тебя получится другое, ты просто не шаришь.
Аноним 24/03/23 Птн 16:59:22 #870 №2651352 
>>2651338
Так args... вроде и нельзя записать в виде args ... ?
Аноним 24/03/23 Птн 17:09:40 #871 №2651378 
>>2651338
Бля, что значит просто …? Ебаный синтаксис какой-то
Аноним 24/03/23 Птн 17:15:40 #872 №2651394 
>>2651378
ето fold expression
но я проебался немного. если ты хочешь именно h(E1, E2, E3) + E1, E2, E3 а не h(E1, E2, E3) + E1 + E2 + E3 то надо разделять пак на первый элемент и остальные, и еще потом попердолиться
Аноним 24/03/23 Птн 17:47:28 #873 №2651446 
>>2651394
А (... , args) раскроется в аргументы через запятую?
Аноним 25/03/23 Суб 02:32:40 #874 №2651876 
>>2644651
А есть же еще Val и Circle
Аноним 25/03/23 Суб 06:26:56 #875 №2651927 
Как же заебал, нахуй, этот петухон ебучий.

Эта хуета форсится везде и всюду.

Почему нельзя писать на Rust/C/C++/Go?, т.е. на языках программирования с адекватной производительностью.
Аноним 25/03/23 Суб 06:58:35 #876 №2651933 
>>2651927
Агрессивный студентик, очки подросткового максимализма снимай и начинай смотреть на мир не однобока
Аноним 25/03/23 Суб 07:02:32 #877 №2651936 
петун это современный бейсик
Аноним 25/03/23 Суб 17:00:22 #878 №2652468 
std::valarray для чего?
Аноним 25/03/23 Суб 17:25:26 #879 №2652514 
Где почитать подробно про приведение типов. Когда можно, когда нельзя, когда ub и как во всех случаях работает.
Аноним 25/03/23 Суб 17:37:33 #880 №2652533 
>>2652514
В книгах.
Аноним 25/03/23 Суб 19:47:24 #881 №2652702 
Когда комитет байтодебилов сделает рефлексию в с++.
заебало жить с костылями.
Аноним 25/03/23 Суб 19:49:33 #882 №2652704 
>>2652702
26ой оптимистично, 29ый - реально.

>>2651927
Ты, конечно, в чем-то прав. Но как же я проиграл, с того, что ты на C собрался чето в 23ьем писать. На языке, в котором даже строки сложить без гомоебли невозможно. Не говоря о чем-нибудь типа ассоциативных массивов.
Аноним 25/03/23 Суб 19:51:38 #883 №2652708 
image
Тут есть аноны, которые пользовались CodeWarrior? Сегодня ковырялся в старых эмуляторах, прослезился.
Аноним 25/03/23 Суб 20:16:38 #884 №2652740 
image.png
>>2652704
>Но как же я проиграл, с того, что ты на C собрался чето в 23ьем писать. На языке, в котором даже строки сложить без гомоебли невозможно.
Ну ты отсталый. Сейчас ты и не будешь сам писать на сях, только корректировать выдачу нейросетки.
Аноним 25/03/23 Суб 20:17:07 #885 №2652742 
>>2652708
Какой ламповый гуй, аж олдскулы свело.
Аноним 25/03/23 Суб 22:05:17 #886 №2652837 
>>2651927
Ну смотри, мне больше 40, и я со школы пишу на с/с++, и до сих пор узнаю какой нибудь новый способ словить UB.
Вот вчера мне надо было решить задачу, обработать пдфку и перевести ее, ну я постепенно написал питон скрипт на 120 строчек, просто добавляя по паре строчек обрабатывая нужные мне условия. На крестах я хз, наверное к концу дня только бы закончил собирать нужные либы, если бы нашел.
В геймдеве такая же история, я могу писать на с++, или на скриптовом языке, конечно с++ быстрее и лучше когда какие-то вычисления, там, многоугольник разрезать лучами, но писать логику тупо быстрее на скриптах, быстрее итерация между написал-запустил.
Аноним 25/03/23 Суб 23:06:56 #887 №2652883 
>>2652468
чтоб все охуели как ты можешь
Аноним 25/03/23 Суб 23:57:56 #888 №2652930 
>>2652514
Везде.

Одна из "прелестей" C++ как раз в том, что такие казалось бы простые вещи размазаны по всему языку.
Человек, который пишет учебник по C++ или читает курс лекций, не может просто так взять и заявить "теперь мы дошли до темы приведения типов, давайте вскроем эту тему". Не выйдет, потому что приведение затрагивает буквально все от азов Си до наследования, шаблонов и RTTI.
Аноним 26/03/23 Вск 04:49:28 #889 №2653041 
>>2652837
Никто не запрещает тебе прототипировать на пуфоне, это годная затея так-то.
Аноним 26/03/23 Вск 10:01:31 #890 №2653122 
>>2653041
Мне ничего не запрещает и всю программу сделать на нем, такие дела.
Аноним 26/03/23 Вск 10:30:05 #891 №2653131 
image.png
>>2653122
Я запрещаю, не делай.
Аноним 26/03/23 Вск 14:14:18 #892 №2653343 
>>2652740
>Сейчас ты и не будешь сам писать на сях, только корректировать выдачу нейросетки
РАБОТАЕШЬ С ДАННЫМИ ЮЗЕРОВ
@
ПРОЧИТАЛ ГДЕ-ТО В ИНТЕРНЕТЕ ЧТО ЗЛЫЕ КАКИРЫ МОГУТ СЧИТАТЬ ПАРОЛИ ПРЯМО ИЗ ПАМЯТИ ПРОГРАММЫ
@
ПОПРОСИЛ НЕЙРОСЕТЬ СТЕРЕТЬ ДАННЫЕ ИЗ ПАМЯТИ
@
memset(password.c_str(), 0, password.size())
Аноним 26/03/23 Вск 14:30:40 #893 №2653357 
>>2653343
Не все поймут, не многие вспомнят
Аноним 26/03/23 Вск 15:16:51 #894 №2653403 
>>2653343
Хороший язык, и загадки интересные.
Аноним 26/03/23 Вск 23:13:33 #895 №2653823 
>>2653343
Спасибо что сайз, а то вед и его другого затереть можно
Аноним 26/03/23 Вск 23:20:15 #896 №2653828 
>>2653823
Вроде там шутка в том, что это не сработает и ничего не затрется.
Аноним 27/03/23 Пнд 00:13:40 #897 №2653848 
>>2653828
Из-за оптимизации или из-за того, что там c_str вместо data?
Аноним 27/03/23 Пнд 00:35:48 #898 №2653850 
>>2653828
Это даже не скомпилируется, c_str const.
Аноним 27/03/23 Пнд 00:36:24 #899 №2653851 
>>2653848
Из-за UB.
Аноним 27/03/23 Пнд 01:05:07 #900 №2653859 
Маководы есть?
В чем код пишете, XCode/VS/что то другое?
Аноним 27/03/23 Пнд 01:17:06 #901 №2653866 
>>2653851
Я почему-то думал, что string::data гарантирует выдачу внутреннего буфера, через который можно безопасно редактировать строку. Оказалось, что это то же самое, что и string::c_str, и всегда возвращало const char*.
Аноним 27/03/23 Пнд 02:11:40 #902 №2653883 
>>2653343
Объясните
Аноним 27/03/23 Пнд 02:14:11 #903 №2653884 
>>2653883
"pwd"[0] = 0;
Аноним 27/03/23 Пнд 02:19:39 #904 №2653889 
>>2653343
могло быть хуже, что-то типа
std::string string_to_clear = password
memset(string_to_clear, 0, string_to_clear.size())
Аноним 27/03/23 Пнд 06:13:07 #905 №2653914 
>>2653850
Конст_кастни эту суку!
Аноним 27/03/23 Пнд 10:25:11 #906 №2654002 
>>2653883
https://pvs-studio.com/en/docs/warnings/v597/
Аноним 27/03/23 Пнд 13:13:12 #907 №2654158 
>>2653914
Так получится, что кожаный мешок написал UB, а обвинять будет ИИ.
Аноним 27/03/23 Пнд 13:42:14 #908 №2654197 
>>2654158
Вот говорю же, ИИ это охуенно, нечего его бояться, не только удобный инструмент для говнокодинга в промышленных масштабах, а еще и козел отпущения!
Аноним 27/03/23 Пнд 14:06:19 #909 №2654218 
>>2653883
Даже если это очистит строку(заполнит его нулями), это его не освободит. Будет утечка памяти
Аноним 27/03/23 Пнд 14:14:32 #910 №2654224 
1735x03a8-300x300.png
>>2654002
КОМПИЛЯТОР НЕ СОПТИМИЗИРОВАЛ
@
НЕДОВОЛЬНО УРЧИШЬ

КОМПИЛЯТОР CОПТИМИЗИРОВАЛ
@
ДИКО ОРЕШЬ
Аноним 27/03/23 Пнд 14:42:24 #911 №2654255 
>>2654224
Нехуй на сях писать не разбираясь. Давно много чего понаписали про небезопасные функции, переходи на безопасные, не хочу развиваться, хочу ебашить код из девяностых.
Аноним 27/03/23 Пнд 15:40:32 #912 №2654320 
>>2653883
Насколько я знаю, даже если бы это сработало, это бы не решило проблемы приватности данных.
Даже если бы там был правильный мемсет, он мог быть убран оптимизацией компилятора, т.к. он посчитал бы что это ненужная операция, ведь потом данные не используются https://cplusplus.com/articles/ETqpX9L8/
Как минимум, надо вызывать memset_s, а не memset
А еще есть всякое кэширование, да в конце концов оперативники могут вытащить плашку из компьютера и считать прямо из памяти магнитный заряд.
Нужны специализированные решения. В идеале которые еще и не хранят данные плейнтекстом, а расшифровывают.
Так что это в любом случае не задача, которая решается однострочником, а тянет на отдельный подпроект.
Аноним 27/03/23 Пнд 19:33:28 #913 №2654648 
>>2654320
>специализированные решения
>тянет на отдельный подпроект
какая-то шиза уровня баяна про хакера в столовой
еще двухфакторную авторизацию с отпечатком пальца забыл
теперь твоя лаба4 под угрозой
Аноним 27/03/23 Пнд 19:59:54 #914 №2654662 
>>2654648
> лаба4.срр
Доставьте пасту про код на листочке и компиляцию в голове препода
Аноним 27/03/23 Пнд 23:16:39 #915 №2654809 
Что скажете про Metanit? По сравнению с ебаным Шилдтом/Страусом в разы понятнее материал написан. Или один хуй надо книжки читать?
Аноним 28/03/23 Втр 00:10:17 #916 №2654824 
>>2654809
Метанит слабоват, имхо.
Аноним 28/03/23 Втр 10:15:21 #917 №2654949 
IMG20230328101317.jpg
IMG20230328100131.jpg
Почему звёздочка стоит не там, и как это мешает программировать детям.
Аноним 28/03/23 Втр 10:30:36 #918 №2654953 
>>2654949
Звёздочка стоит там где нужно. Её совать к переменной надо если ты несколько поинтеров в строку зачем-то объявляешь, что чревато ошибками и не стоит так делать.
Упоминание детей нерелевантно к посту, это просто наблюдение связанное с тем что современные дети "программируют" на жабоскрипте копипиздя код со стековерфлоу и в итоге мы имеем сайты-визитки отжирающие сто метров памяти и траффика имея килобайт полезной инфы.
Аноним 28/03/23 Втр 14:39:05 #919 №2655194 
Книга по С++ целиком посвященная инициализации: https://www.cppstories.com/2023/init-story-print/
К сожалению только на ангельском. 295 печатных страниц. Вот что сам автор пишет, перевел с английского:
История создания этой книги началась в 2001 году с поста на форуме какому-то еблану как инициализировать переменные в С++. Я исправлял неточности и дополнял различными примерами. За 20 лет эта тема стала слишком большой для одного поста, и мне пришлось оформить ее в книгу. Данная книга на протяжении 14 глав подробно охватывает все 19 видов инициализаций в современном С++, изменения вносимые новыми стандартами С++11, С++14, С++17, и С++20, а так же разбирает различные тонкости и идиомы. Книга будет полезна как продвинутым разработчикам, так и самым распоследним вкатутосям, поскольку разобраться как работает инициализация в С++ обычному человеку невозможно.
Аноним 28/03/23 Втр 15:36:37 #920 №2655281 
1592372284364.png
>>2654949
Есть два варианта как можно написать - звездочка относится либо к типу, либо к переменной. Технически это одно и то же, разница в голове.
Type⚹ ptr - переменная типа "указатель на тип"
Type ⚹ptr - "переменная-указатель" на тип.
Мнения за и против можешь почитать здесь https://stackoverflow.com/questions/398395/why-is-the-asterisk-before-the-variable-name-rather-than-after-the-type

Как написал анон выше, подвох будет в объявлении нескольких переменных.
Type⚹ a, b;
Может показаться, что это две переменных Type⚹. Но на самом деле это
Type⚹ a; Type b;

Что же касается твита, то это автор игры Braid с отмоткой времени, который считает себя крутым программистом и даже пилит свой язык JAI (убийцу Раста) и настроен негативно в сторону C++.
А его высказывание можно понять так, что дети насмотревшись на такое автоисправление, не научатся писать как он считает правильным.

Париться по этому поводу не нужно, это просто древний холивар, в любом случае в си бардак с объявлениями, поэтому в современных языках и стараются это как-то упорядочить.
Аноним 28/03/23 Втр 15:37:19 #921 №2655283 
>>2655194
Кул cpp сториес.
Аноним 28/03/23 Втр 15:54:46 #922 №2655311 
>>2655281
>пилит свой язык JAI (убийцу Раста)
Почему раста? Это же язык для геймдева, а там раста то практически и нет. Это он скорее на C++ покушается.
Аноним 28/03/23 Втр 15:56:16 #923 №2655312 
>>2655311
Ну, написано что он начал его пилить, потому что ему не понравился Раст как убийца C++.
Аноним 28/03/23 Втр 15:58:17 #924 №2655316 
>>2654949
> джонатан блоу
Опинион режнктед
Аноним 28/03/23 Втр 16:13:10 #925 №2655334 
>>2655316
>Jonathan Blow
>Blow Jonathan
>Blow Jon
>Blowjon
>Blowjob
Понятно все с ним.
Аноним 28/03/23 Втр 16:41:15 #926 №2655364 
>>2655334
Ебать ты смешной.
Аноним 28/03/23 Втр 18:12:53 #927 №2655482 
>>2655334
Хорошего человека отсосом не назовут!
Аноним 29/03/23 Срд 05:13:17 #928 №2655792 
>>2655281
>звездочка относится либо к типу, либо к переменной
В контексте объявления переменной звездочка - это declaration operator, относится к части объявления, называемой declarator и она модифицирует одну переменную, ближайшую справа от себя. К части объявления base type звездочка не относится.

Нужно понимать, что например, float[5] и float[7] - это разные типы. И что эти типы не являются базовыми (встроенными). Встроенным является только тип float, [] - это вообще не тип, а снова declaration operator, а тип float[N] создается исходя из конкретного объявления.

А вот, например, когда ты объявляешь псевдоним типа, то звездочка уже "реально" модифицирует базовый тип, т. к. кроме типов там ничего не фигурирует.

Нет способа всегда приклеивать звездочку в каком-то одном месте.
Аноним 29/03/23 Срд 07:46:10 #929 №2655819 
Че почитать по шаблонам. Скоро будет собес на котором час буду спрашивать шаблоны
Аноним 29/03/23 Срд 07:46:31 #930 №2655820 
>>2655819
*будут
Аноним 29/03/23 Срд 07:59:43 #931 №2655824 
>>2655819
Это что за собес такой страшный?
Аноним 29/03/23 Срд 08:24:02 #932 №2655828 
>>2655194
Где скачать? Я не то что бы имею хоть какую-то возможность приобрести книгу.
>К сожалению только на ангельском.
Почему к сожалению? Ты не настоящий программист, если не знаешь английский.
Аноним 29/03/23 Срд 08:24:37 #933 №2655829 
>>2655819
Александреску.
Аноним 29/03/23 Срд 09:37:55 #934 №2655862 
как при отладке дебагер узнает значения со стека? например, есть в функции локальная переменная, функция вызывается, на стеке создаётся эта переменная, но как дальше в дебаге дебагер берет её значение? её не получить через таблицу символов, а как ещё может ходить отладчик я не знаю
Аноним 29/03/23 Срд 09:42:33 #935 №2655863 
>>2655862
Смотрит на стек напрямую.
Аноним 29/03/23 Срд 09:55:54 #936 №2655871 
>>2655828
> не имею возможности приобрести книгу
Просто купи электронную версию
Аноним 29/03/23 Срд 09:56:22 #937 №2655874 
For arguments of class type (including union), the set consists of
a) The class itself
b) All of its direct and indirect base classes
c) If the class is a member of another class, the class of which it is a member
d) The innermost enclosing namespaces of the classes added to the set
Я что то не понял это. Можете, пожалуйста, пример привести? То есть функцмя не должна быть членом класса, иначе толку нет от этого правила. Тогда статик? Статик у меня не нашелся. Только friend. Почему?
Аноним 29/03/23 Срд 10:34:17 #938 №2655895 
>>2655871
Не имею возможности приобрести книгу в любом варианте. Свифт до сих пор не вернули.
Аноним 29/03/23 Срд 10:38:56 #939 №2655901 
UTorrentLogo.png
>>2655895
Аноним 29/03/23 Срд 10:41:22 #940 №2655909 
>>2655895
Миллиарды способов есть обхода
Включай прогерскую смекалочку, задача легче литкодовской
Аноним 29/03/23 Срд 10:48:08 #941 №2655924 
>>2655909
>>2655901
Ну да, только этот вариант и остаётся. Магнит есть?
Аноним 29/03/23 Срд 11:48:39 #942 №2656006 
>>2655895
Могу принять платеж на карту рф и скинуть в тред электронную версиб
Аноним 29/03/23 Срд 11:54:49 #943 №2656010 
>>2655828
libgen.is
Аноним 29/03/23 Срд 12:00:01 #944 №2656020 
image.png
>>2656010
Спасибо большое, ты очень помог.
Аноним 30/03/23 Чтв 02:23:16 #945 №2656849 
Как устроиться на работу в компанию уровня Nvidia?
Что надо знать помимо плюсов?
Аноним 30/03/23 Чтв 02:37:34 #946 №2656859 
>>2656849
1. Менеджмент
2. Английский
3. Батники
4. Эксель
Аноним 30/03/23 Чтв 03:31:46 #947 №2656872 
>>2655829
Словил психологическую травму с этой хуеты. Впервые пришёл прахраммировать и дали проект, написанный под большим впечатлением от этой книжонки. Ехали шаблоны через шаблоны, имя метода в дебаггере длиной под тысячу символов.
При этом, никаких технологических причин хуярить шаблоны не было, проект представлял собой программу-сервис, которая опрашивает железо, складывает в случае событий всякое в БД, ну и предоставляет информацию о происходящем подключающимся клиентам. Ещё оно было написано на С++03, т.н. ещё до std::thread.

Я уже написал более продвинутую версию этого софта и никакие шаблоны мне для этого не понадобились (ладно, полтора вспомогательных шаблонных класа есть), хватает наследования.
Аноним 30/03/23 Чтв 04:52:22 #948 №2656888 
>>2656859
1. Свободный разговорный английский (не обсуждается, никаких СО СЛОВАРЕМ или НАЧИНАЮ УЧИТЬ).
2. Знать нужный язык программирования в вакансии (никто не требует быть спикером конференций, но бля, будь добр, хотя-бы Скотта Майерса осиль и осознай, и хоть чуть-чуть интересуйся тем, что завезли хотя-бы в С++17, 6 лет прошло).
3. Соответствуй требованиям. Если в вакансии знание CUDA допустим, то без знания CUDA не выйдет.
4. Опыт. Многие вкатуны, почему-то считают, что они охуеть какие умные, просто этого никто не видит, а тупые эйчарки не пускают к тех специалистам. Вот я бы их сениорам УХХ показал. Короче - нет, нужен опыт. Минимум года 3-4, и, в идеале, качественного, а не "улучшал систему логгирования в файл", "формочки на куте шлепал" или "какую-то хуйню писал, до прода так и не дошло".
5. Хотеть жить в Ереване

Вообще, если хочешь работать в топе-околотопе, то рецепт очень простой. Даже на мне сработал.

Пойми, что это все - марафон. Если ты, допустим, вкатишься в 25 лет (старик), в 27 устроишься в яндекс недомидлом, в 29 тебя нахуй пошлют на собесе в Нвидии, в 30 тоже, а в 31 устроишься - до пенсии еще 34 года ты будешь работать в лучшем месте, и у тебя будет охуенное резюме на будущее.

Планировать надо на несколько лет вперед вот так - и все получится. Бонусом - у меня друг к собесу в гугл готовился полгода, дрочил литкод и прочие все эти задачки. С треском его провалил, дрочил еще полгода - на второй раз прошел на L4 (мидл).

Он не ныл, что все вокруг пидорасы, что таких зарплат не бывает, что гугл с улицы не нанимает, что бычок насрал ему в рюкзак. Он сидел и дротил ебаные задачки. Делай так же (задачки, С++, лидерство на текущей работе) - и все получится рано или поздно
Аноним 30/03/23 Чтв 06:15:19 #949 №2656898 
>>2656872
>Словил психологическую травму с этой хуеты.
Так и должно быть, это ж Александреску.
>Впервые пришёл прахраммировать и дали проект, написанный под большим впечатлением от этой книжонки. Ехали шаблоны через шаблоны
А это вполне может быть валидно с эджайлом под слабо обрисованные спеки. Шаблонишь универсальную ебаторию и потом специализируешь.
Когда понятно четко что и как нужно, то можно и без шаблонов, зачастую они излишни, и такая универсальность только мешает.
У меня тоже на одной работе первый проект сеньор за пару дней нашаблонил, а я дорисовывал, было... гм... интересно.
Аноним 30/03/23 Чтв 10:46:14 #950 №2657005 
>>2656888
>вкатишься в 25 лет
в 39.
>в 27 устроишься в яндекс недомидлом
ну хуй знает.
Аноним 30/03/23 Чтв 10:48:14 #951 №2657008 
>>2656888
>вкатишься в 25 лет (старик)
А 35 летнему формошлепу на qt из НИИХУЯ есть смысл куда-то выкатываться или уже все, гроб, кладбище... Хотя до пенсии тоже ещё далеко.
Аноним 30/03/23 Чтв 10:48:39 #952 №2657010 
>>2656888
>вкатишься в 25 лет (старик)
А 35 летнему формошлепу на qt из НИИХУЯ есть смысл куда-то выкатываться или уже все, гроб, кладбище... Хотя до пенсии тоже ещё далеко.
Аноним 30/03/23 Чтв 10:51:28 #953 №2657016 
>>2657008
Я 23 у.о формошлеп, 3 года формошлепаю в том же НИИЗАЛУП, ощущение будто проебал все полимеры.
Аноним 30/03/23 Чтв 11:08:32 #954 №2657033 
>>2656888
>1.
Соглы.

>2.
>(никто не требует быть спикером конференций, но бля, будь добр..

А много у вас таких "линейных" разрабов без имени в индустрии? Сам-то ты ведь не на рандоме залетел, а выступал с докладами на конференциях, т.е. уже довольно выделяешься среди толп.

>3.
Вот как его можно знать, если он буквально используется либо вами, либо парочкой ниизалуп? Нет, я могу это знать на уровне "писал свои проекты и что то там считал на гпу" но на собесах же будут ожидать более высокой компетенции?

>4.
Соглы
Аноним 30/03/23 Чтв 15:11:50 #955 №2657253 
>>2657033
> Вот как его можно знать, если он буквально используется либо вами, либо парочкой ниизалуп? Нет, я могу это знать на уровне "писал свои проекты и что то там считал на гпу" но на собесах же будут ожидать более высокой компетенции?
Искать другие вакансии - их дохуя было открыто до кризиса.

> А много у вас таких "линейных" разрабов без имени в индустрии? Сам-то ты ведь не на рандоме залетел, а выступал с докладами на конференциях, т.е. уже довольно выделяешься среди толп.
Почти все у нас обычные, я на конференциях не выступал, хз с чего ты это взял. Только ходил тусить пару раз зрителем.

>>2657010
В яндекс на пару лет, а потом искать дальше.
Аноним 30/03/23 Чтв 15:19:19 #956 №2657259 
>>2657253
Еще добавлю, что в случае того же гугла, например - достаточно только языка, задачек и систем дизайна (на сениора) не просто так, т.к. почти все инструменты внутренние, и их невозможно знать с улицы.
Аноним 30/03/23 Чтв 15:24:01 #957 №2657263 
>>2657253
>Почти все у нас обычные, я на конференциях не выступал, хз с чего ты это взял. Только ходил тусить пару раз зрителем.

Если я тебя ни с кем не перепутал, то ты нвидиа-кун тот самый.
Хз, я видел 2-3 доклада некоего чувака из нвидии на ютабе, чекнул его резюме и там информация совпадает один к одному с тем что писал про себя нвидиа кун.
Аноним 30/03/23 Чтв 15:34:29 #958 №2657270 
>>2657263
Я понял о ком ты, нет, это коллега, который вместе со мной переехал.
Аноним 30/03/23 Чтв 17:14:21 #959 №2657348 
Безымянный.jpg
Аноны, на пути в гугл и нвидиа встретил препятствие.

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

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

Вопрос. Можно ли определив этот конструктор внутри класса использовать в нем Read, который объявлен вне класса и определен в файле исходного кода?

Что меня смущает, мне ридер предлагает read от другого заголовка, а этот не видит вообще.
Аноним 30/03/23 Чтв 17:17:02 #960 №2657354 
>>2657348
Ну и как я полагаю, заголовочный файл тоже является файлом исходного кода. Но думаю меня все поняли.
Аноним 30/03/23 Чтв 17:37:08 #961 №2657373 
>>2657348
Во-первых разберись с терминологией, что такое определение, а что такое объявление.
Во-вторых, пойми как работает компиляция в принципе. Можно сказать, что #include это просто копипаст заголовочного файла, потом идет компиляция разных cpp файлов, а потом полученные объектные файлы линкуются. На момент использования, функция должна быть объявлена.
Соответственно, есть One Definition Rule. Это значит, что во всех .h файлах может быть объявлена одна и та же функция Read, но определена (иметь тело, сам код) она должна быть только 1 раз, в одном .cpp файле.
Например
//mycpp.cpp
Read(istream&, SalesData&) { readfile();... }
//myheader.h
SalesData() { Read(); } //wtf is read?

Значит надо писать
Read(istream&, SalesData&);
SalesData() { Read(); }

Но в этот момент у тебя может возникнуть WTF is SalesData?
Таким образом ты получил циклическую зависимость (SalesData нужно Read, а Read нужно SalesData)
Но ты можешь объявить класс, не определяя его, таким образом компилятор будет знать просто что такой класс где то существует
struct Sales;
Read(istream&, SalesData&);
SalesData() { Read(); }

Так, я еще писал про линковку, представь себе что у тебя есть
//header.h
Read(istream&, SalesData&);
//file1.cpp
#inlude "header.h"
main() { Read(file, data); //тут компилятор не знает, а что же реально в коде Read - он только знает из объявления в header.h что такая функция есть
//file2.cpp
Read(istream&, SalesData&) { readActualFile(); }

Итого после компиляции у тебя остается
file1.o который суть header.h+file1.cpp, в котором есть вызов некой неопределенной функции Read()
file2.o в котором есть определение функции Read()
И линковщик их объединяет в один исполняемый файл, указав что из file1 вызывается Read предоставленный file2
Аноним 30/03/23 Чтв 18:02:26 #962 №2657403 
Безымянный.jpg
>>2657373
ООо недогнал, что можно просто название класса объявить. Теперь получилось. Спасибо.
Аноним 30/03/23 Чтв 18:03:31 #963 №2657404 
>>2657373
inline же позволяет обходить ODR или я поплыл?
Аноним 30/03/23 Чтв 18:08:33 #964 №2657409 
>>2657404
Я не стал заостряться на исключениях.
Аноним 30/03/23 Чтв 22:59:51 #965 №2657753 
>>2626746
как шарпист со стажем могу сказать и "да" и "нет".

На шарпе можно хуярить приложения просто с огромной скоростью, ты оперируешь более высокого порядка вещами ( там ебошишь и крутишь коллекции , делаешь выборки , транслируешь в линк, создаешь и обходишь классы на лету ). Но крестах есть какая-то хардкорность , прокачка мозга, некоторая красота ( header и cpp - это красиво, хотя похожая хрень partial есть и в шарпе, но никто не пользуется) .КОроче хуй его знает .
Аноним 30/03/23 Чтв 23:01:49 #966 №2657755 
>>2627972
люблю обмазываться портянками с говном , да .. :)
Аноним 31/03/23 Птн 00:21:07 #967 №2657830 
Хочу написать простенькую 2д игру, что для этого лучше использовать: SDL2 или SFML?
Аноним 31/03/23 Птн 00:43:03 #968 №2657853 
>>2657830
Похуй, главное пиши
Аноним 31/03/23 Птн 02:08:14 #969 №2657882 
>>2657830
Да.
Аноним 31/03/23 Птн 06:01:59 #970 №2657921 
>>2657830
Что угодно из этого
Либо игровой движок
Аноним 31/03/23 Птн 06:15:45 #971 №2657924 
>>2657830
SDL2 охуенен.
Но вообще можешь хоть на чистом графическом АПИ писать, для простенького не требует больших усилий.

писал простенькую хуйню на директе и опенгле
Аноним 31/03/23 Птн 08:31:44 #972 №2657955 
>>2657924
Поясните, что за фокусы sdl2 с мейнами творит?
Аноним 31/03/23 Птн 10:05:52 #973 №2657991 
>>2657830
Сдл это си, сфмл использовай.
Аноним 31/03/23 Птн 11:58:18 #974 №2658050 
>>2657991
https://github.com/NathanSWard/SDL2pp
https://github.com/libSDL2pp/libSDL2pp
Аноним 31/03/23 Птн 12:29:07 #975 №2658072 
>>2658050
Васянские обёртки с малварью от хуй знает кого.
Аноним 31/03/23 Птн 12:33:08 #976 №2658079 
>>2658072
>опен сорс
>малварь
Ясно
Аноним 31/03/23 Птн 12:35:09 #977 №2658084 
>>2657991
>Сдл это си
Как что-то плохое?
С плюсами полностью совместим, каких-то профитов не теряет, в чем проблема?
Вот если бы на дотнете или жабе было бы, тогда да.
Аноним 31/03/23 Птн 12:44:22 #978 №2658100 
>>2658072
Тебе никто не мешает написать самому такую же за пол дня, подсмотрев апи.
Аноним 31/03/23 Птн 14:14:45 #979 №2658216 
>>2658100
Свою васянскую обёртку? Не, лучше буду SFML.
Аноним 31/03/23 Птн 14:22:14 #980 №2658228 
>>2658084
>в чем проблема?
Я вангую, что чел хочет написать игрушку чтобы набраться опыта в C++.
С сдл'ом опыт не тот будет.
Аноним 31/03/23 Птн 14:33:39 #981 №2658240 
>>2658228
Почему не тот? Ты тупо дергаешь методы либы, просто без пердолинга с низким уровнем. Если по-твоему надо низкий уровень ебашить, то ему никакая либа не нужна, если наоборот, абстрагироваться от графена, то любая либа подойдет.
Если ты про то что сишные методы сдл-а не очень дружат с стл-ом, то всегда можно обмазаться врапперами, для новичка полезно.
Аноним 31/03/23 Птн 14:36:23 #982 №2658244 
image.png
image.png
image.png
>>2626726 (OP)
Почему в этом вашем таком охуенном и современном языке нет нуль-коляски?
Аноним 31/03/23 Птн 14:42:55 #983 №2658255 
>>2658244
Если у тебя null то у тебя скорее всего какая то ошибка.
Аноним 31/03/23 Птн 14:46:01 #984 №2658259 
>>2626726 (OP)
Есть ли какой-нибудь способ получить общий листинг всех файлов в один в VS 2019? Т.е. допустим есть main.cpp, common.cpp и нужно получить один файл в котором #include "common.h" заменится на сам файл
Аноним 31/03/23 Птн 14:51:32 #985 №2658268 
>>2658259
Любой компилятор умеет выдавать препроцессированный файл, в случае с msvc это cl.exe /p
https://learn.microsoft.com/en-us/cpp/build/reference/p-preprocess-to-a-file?view=msvc-170
Аноним 31/03/23 Птн 15:10:12 #986 №2658279 
>>2658268
Не очень помогло, куча стандартной библиотеки мешает. У меня ошибка то что к одном модуле он не видит класс Item:
C2079"item" использует не имеющую определения структуру class "Item"
Несколько модулей связаны между собой по принципу каждый к каждому, как найти место где нужно объявить class Item;
Аноним 31/03/23 Птн 16:03:04 #987 №2658346 
image.png
https://www.youtube.com/live/fPFBwN8aS5M?feature=share
Посмотрел интервью Константина Владимирова. Он говорит, что ядро Линукс надо переписать на C++, но Торвальдс сопротивляется прогрессу, потому что он фанатик. В то же время когда его спросили, если бы он был в комитете стандартизации, что бы он добавил в новый стандарт, он ответил, что не добавлял бы, а наоборот блокировал бы все нововведения потому что мы на самом деле еще C++11 не переварили. То есть что мы имеем, человек десятка три лет программирует на крестах, наконец изучил все тонкости, подводные камни, UB, тайные тропы, ему наконец стало комфортно на нем писать, но он говорит - все, АСТАНАВИТЕСЬ, хватит, кресты не резиновые. Такой ли уж Торвальдс фанатик после этого?
Аноним 31/03/23 Птн 16:46:26 #988 №2658417 
>>2658255
Не обязательно. Просто переназначение указателя, например.
Аноним 31/03/23 Птн 16:48:56 #989 №2658423 
>>2658346
Это база. Кресты конечно ван лав, но обьективно в них куча ненужного говна, без которого было бы еще лучше.
Аноним 31/03/23 Птн 16:52:11 #990 №2658430 
>>2658417
Просто на крестах так не пишут. Зачем туда вообще передавали null? Сразу конструируй нужный объект.
Аноним 31/03/23 Птн 16:53:56 #991 №2658432 
image.png
вот бы пробраться в стандарт и поубирать из плюсов лишний кал
Аноним 31/03/23 Птн 16:54:52 #992 №2658435 
>>2658244
есть optional, жри что дают
Аноним 31/03/23 Птн 16:57:30 #993 №2658446 
>>2658432
Так все думают, а когда попадают туда - начинают срать с новой силой.
Сам бы всеми силами продвигал рефлексию.
Аноним 31/03/23 Птн 16:57:53 #994 №2658448 
>>2658435
А ещё есть expected
Аноним 31/03/23 Птн 17:01:57 #995 №2658458 
>>2658430
одна из крутейших фич в том что на крестах таки пишут как угодно
Аноним 31/03/23 Птн 17:02:37 #996 №2658460 
>>2658244
https://stackoverflow.com/questions/1785426/c-sharp-null-coalescing-operator-equivalent-for-c
Аноним 31/03/23 Птн 17:03:12 #997 №2658462 
>>2658458
Это не крутейшая фича, это обычное свойство тьюринг-полных ЯП.
Аноним 31/03/23 Птн 17:27:46 #998 №2658493 
image.png
>>2658446
>Сам бы всеми силами продвигал рефлексию.
Ты бы и сборщик мусора для классических указателей продвигал.
Аноним 31/03/23 Птн 17:32:20 #999 №2658503 
Список вещей которые я бы убрал из плюсов будь я в стандарте:
- Референсы
- Темплейты
- Старых дедов
- Конструкторы
Аноним 31/03/23 Птн 17:34:34 #1000 №2658506 
>>2658493
Ты сейчас будешь смеяться очень громко, но тут изобрели чип, который следит за правильностью выделения памяти в С/С++. Правда, программу придется перекомпилировать.
https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/
Аноним 31/03/23 Птн 17:35:05 #1001 №2658507 
>>2658503
Ты только что Си (без классов)
Аноним 31/03/23 Птн 17:36:16 #1002 №2658512 
>>2658507
Классы так и быть оставлю
Аноним 31/03/23 Птн 17:36:53 #1003 №2658513 
>>2658512
Без конструкторов?
Аноним 31/03/23 Птн 17:37:19 #1004 №2658514 
image.png
>>2658503
Содомитю
Аноним 31/03/23 Птн 17:38:52 #1005 №2658519 
>>2658513
Миллион различных проблем уберёт
Можно будет потом явное клонирование задать

Только представь, ты пишешь a = b и в 100% случев уверен что у тебя всё скопируется правильно
Это ли не мечта?
Аноним 31/03/23 Птн 17:42:10 #1006 №2658528 
>>2658519
Что скопируется? У тебя ничего нет, не сконструировал.
Аноним 31/03/23 Птн 17:43:39 #1007 №2658534 
>>2658493
Не, сборщик мусора не особо понимаю нахуя нужен.
Или в смартпоинтеры веры нет?
Аноним 31/03/23 Птн 17:44:08 #1008 №2658536 
>>2658528
>Что скопируется?
b в a
а чтобы склонировать будем писать a = b.clone()

> не сконструировал
ну а конструирование у всех будет происходить стандартным способом Type{field:value...}
Аноним 31/03/23 Птн 17:44:16 #1009 №2658537 
>>2658503
Попробуй Lua
Аноним 31/03/23 Птн 17:45:18 #1010 №2658540 
>>2658536
Как освобождать ресурсы собираешься? Как будешь копировать ссылки/указатели?
Аноним 31/03/23 Птн 17:47:35 #1011 №2658544 
>>2658540
> Как освобождать ресурсы собираешься?
Деструктором, его же я не убрал еще
> Как будешь копировать ссылки/указатели?
А ссылки убрал, а указатели по значению, хочешь дип копи? Явно копируй
Аноним 31/03/23 Птн 17:47:38 #1012 №2658545 
>>2658536
Так в b ничего нет. У тебя нет конструкторов.
Аноним 31/03/23 Птн 17:49:15 #1013 №2658547 
>>2658545
Ну бля, выше ты их как то инициализировал
Аноним 31/03/23 Птн 17:56:35 #1014 №2658560 
>>2658547
Покажи как? У тебя же язык без конструктора.
Аноним 31/03/23 Птн 18:02:59 #1015 №2658570 
>>2658560
Type construct() { return Type{field: value};}

Type a{field1: value1, field2:value2};
Type b = construct();
a = b;

Вот тебе пример двух инициализаций, тебе может показаться что я обосрался с construct и Type будет копироваться лишний раз, но компилятор как нибудь соптимизирует наверное
Аноним 31/03/23 Птн 18:10:25 #1016 №2658574 
>>2658534
Проблема смартпоинтеров в том что ими не пользуются. Сделай обычные пойнтеры умными шоб все охуели!
Аноним 31/03/23 Птн 18:13:59 #1017 №2658580 
>>2658570
Type{field: value} это кто создаст, если конструктора нет?
Аноним 31/03/23 Птн 18:18:29 #1018 №2658593 
>>2658580
Компилятор
Аноним 31/03/23 Птн 18:39:27 #1019 №2658628 
>>2658570
Ты реально только что С
Аноним 31/03/23 Птн 19:44:48 #1020 №2658681 
>>2658593
Бурбулятор.
Аноним 31/03/23 Птн 22:03:24 #1021 №2658810 
Фух, написал крестики нолики консольные на крестах этих ваших. Жопа вспотела я ебу. Держу в курсе.
Аноним 31/03/23 Птн 22:04:53 #1022 №2658813 
>>2658810
Теперь пиши на шаблонах времени компиляции.
Аноним 01/04/23 Суб 03:46:41 #1023 №2658972 
>>2658813
Звучит как саркастическая шутка, наверное, но на самом деле годное упражнение.
Аноним 01/04/23 Суб 07:00:46 #1024 №2658988 
1578220750315.png
Ого
Аноним 01/04/23 Суб 07:09:29 #1025 №2658991 
>>2658988
А зачем, а для чего
Аноним 01/04/23 Суб 10:26:45 #1026 №2659071 
>>2658972
Я воспринял серьезно, только мне до шаблонов там еще читать и читать.
Аноним 01/04/23 Суб 10:39:56 #1027 №2659081 
>>2659071
Попробуй так, обмазавшись стековерфлоу и сппреференсом, может сможешь.
Аноним 01/04/23 Суб 10:59:53 #1028 №2659092 
>>2658991
Это плюсы, тут новые фичи не для, а потому что.
Аноним 01/04/23 Суб 12:48:45 #1029 №2659175 
Аноны, ридер советует данные члены называть с подчеркиванием на конце. Но я такого чет нигде вообще не видел. Кто как красоту вообще наводит?
Аноним 01/04/23 Суб 14:31:18 #1030 №2659258 
>>2659175
Как в проекте заведено - так и наводишь.
Аноним 01/04/23 Суб 22:53:10 #1031 №2659888 
Безымянный.jpg
Аноны. Нужна помощь. Тема неявное преобразование типов классов. Книга говорит, что допустимо не более одного преобразования. Тут насколько я понимаю получается нужно 2 и это ошибка. Но ошибка какая-то жиденькая больно. Желтенькая и это смущает. Прав я или обосрался?
Аноним 01/04/23 Суб 22:58:17 #1032 №2659896 
>>2659888
А тут константности вообще дело лол. Чет у меня по штанам потекло щас.
Аноним 01/04/23 Суб 23:14:19 #1033 №2659911 
>>2659896
Я могу ошибаться, но по моему тут речь о том, что создается временный объект, на который ты берешь ссылку, но это нельзя делать, потому что объект уничтожится.
Вот если бы ты написал
auto temp = Govno(mocha);
auto g = govno.Combine(temp);
Тогда, вроде бы, сработало бы.

Ну а если ты напишешь
auto temp = mocha;
auto g = govno.Combine(temp);
То опять не сработает, уже потому что как ты сказал надо 2 преобразования.
Аноним 01/04/23 Суб 23:19:42 #1034 №2659917 
>>2659911
Работает все кроме средней перегрузки. И в ней проблема в отсутствии константности аргумента. У меня реально ступор на этот счет.
Аноним 01/04/23 Суб 23:20:12 #1035 №2659918 
>>2659917
Параметра, точнее
Аноним 01/04/23 Суб 23:49:41 #1036 №2659955 
>>2659917
Ну я написал что по моему мнению происходит.
Компилятор видит Combine(mocha)
mocha это string. String передать в Combine нельзя.
Значит он пытается вызвать Combine(Govno&)
Для этого ему надо сконструировать объект.
Combine(& Govno(mocha) )
Но проблема тут в том что объект временный.
Сразу после последней скобки он будет уничтожен.
Об этом пытается сказать компилятор.
Не ссылку, а константную ссылку было бы можно, тут я не помню. Может быть это продлевает время жизни объекта.
Аноним 02/04/23 Вск 00:12:48 #1037 №2659971 
>>2659955
Ты прав.
Аноним 02/04/23 Вск 00:41:17 #1038 №2660017 
изображение.png
изображение.png
>>2659175
Так и навожу, хороший совет.

Избавляет от конфликта имен в конструкторе.
Иначе для параметров конструктора придется выдумывать синонимичные имена. И кроме того, что необходимо на пустом месте что-то выдумывать, это еще и мудизм, когда одно и то же называется по разному.
Можно конечно делать как на пикрил 2, но это стремно как-то.
Аноним 02/04/23 Вск 01:35:00 #1039 №2660071 
Странный вопрос возник. А как правильно
return std::move(x) + 2;
или
return std::move(x + 2);
Нигде что-то не получилось найти ответ.
Аноним 02/04/23 Вск 02:30:24 #1040 №2660125 
>>2660071
Первый вариант перемещает х в никуда.
В случае с int перемещение не имеет смысла, как и для других базов типов.
Если у тебя х такой тип, что он может складываться с int, и при этом у него определены операции перемещения, то пиши как во втором варианте.

Алсо, случай с return - специальный. Скорее всего тебе вообще там не нужен вызов std::move(), т. к. компилятор все сам оптимизирует, а ты ему только мешаешь. Гугли RVO.
Аноним 02/04/23 Вск 02:52:47 #1041 №2660143 
>>2660125
Справедливо.
Аноним 02/04/23 Вск 05:10:26 #1042 №2660161 
>>2660017
>на пикрил 2, но это стремно как-то.
Почему? Единственное, где можно наебаться - это если забудешь написать в конструкторе this.someMember = someMember. Зато в остальном везде будет чистый код - и внутри методов, когда будешь непосредственно обращаться к полям, и аргументы нормально называются.
Аноним 02/04/23 Вск 06:37:13 #1043 №2660173 
>>2660017
>Избавляет от конфликта имен в конструкторе.
Но его нет, если ты используешь список инициализации.
И можно наоборот - для входящих параметров пометку типа in_ или вроде того, а мемберы остаются без помарок.
Аноним 02/04/23 Вск 09:11:13 #1044 №2660219 
>>2660161
>Единственное, где можно наебаться - это если забудешь написать в конструкторе this.someMember
Ну вот ты уже забыл, что надо не this.member, а this->member.

>Почему?
Больше помнить, больше думать - зачем?
Я вообще совсем недавно и чисто случайно узнал, что так можно. И не уверен даже на 100%, что это стандартное поведение, т. к. лень проверять. Вроде работает, но не встречал, чтобы так писали.
+ есть правило в core guidelines, говорящее "P.1: Express ideas directly in code".

>>2660173
>если
Решение, которое работает всегда, лучше, чем решение, которое работает "если". Так мне кажется.

>И можно наоборот - для входящих параметров пометку типа in_ или вроде того, а мемберы остаются без помарок.
Технически Ok, но имена параметров - это часть интерфейса, они читаются клиентом (через подсказки IDE, например). Клиент всегда имеет дело только с параметрами и не имеет доступа к приватным полям. Для него эти пометки лишние.
Аноним 02/04/23 Вск 09:30:08 #1045 №2660229 
>>2660161
Ты хотел сказать this->somemember или (*this).somemember? Кстати липман пишет, что так стараются не делатт.
Аноним 02/04/23 Вск 12:44:52 #1046 №2660355 
>>2660219
>надо не this.member, а this->member.
В конструкторе? С чего бы?
Аноним 02/04/23 Вск 12:53:41 #1047 №2660367 
>>2626726 (OP)
Что сейчас есть актуального для вката по стандарту С++23?
Аноним 02/04/23 Вск 13:14:18 #1048 №2660391 
>>2660367
Мужчина, через 10 лет такие вопросы задавать будете.
Аноним 02/04/23 Вск 13:17:05 #1049 №2660398 
>>2660355
Конструктор как-то отменяет, что this - указатель?
Аноним 02/04/23 Вск 13:20:34 #1050 №2660406 
>>2660391
Не, мне сейчас нужно. Не хочу вкатываться по дедовским методичкам и осознать потом что выучил старье.
Аноним 02/04/23 Вск 13:22:05 #1051 №2660410 
>>2660406
Ничем не могу помочь, сам только 17ый ковыряю
Аноним 02/04/23 Вск 13:26:00 #1052 №2660415 
>>2660367
Ничего. Это не стандарт для вката.
Аноним 02/04/23 Вск 13:31:13 #1053 №2660422 
>>2660367
Вкатываешься в C++11/14, вся основная модернизация произошла там.
Потом читаешь в статейках что добавили/поменяли в C++17/20/23. Там уже будет не так много и в основном это фичи типа о, мы там в 14 недодумали, а теперь эта конструкция будет работать и в таких случаях.
Аноним 02/04/23 Вск 13:59:18 #1054 №2660466 
1525407682160.png
1627313200372.png
1593123526043.png
1602683646327.png
>>2660406
Так тебе на работе все равно говно легаси вычищать придется, а как ты в нем разберешься не выучив старье? Тут проблема то как раз в том, что надо не только свежий стандарт знать, но и все предыдущие и в чем разница.
Аноним 02/04/23 Вск 16:02:29 #1055 №2660576 
>>2660466
А в чем прикол постоянно ломать совместимость?
Аноним 02/04/23 Вск 16:30:31 #1056 №2660589 
>>2660576
Так это они еще стараются не ломать. Просто из за того что много конструкций, их комбинаций еще больше.
Аноним 02/04/23 Вск 16:31:08 #1057 №2660590 
аноны, есть роадмап по реверс инженерингу?
Аноним 02/04/23 Вск 16:37:31 #1058 №2660595 
image.png
image.png
Решал задачку на двоичный поиск. Отправил код, оказался на последнем месте по скорости. Посмотрел код у лидеров - алгоритм примерно такой же. Заметил, что в моем коде одна переменная типа size_t. Это я изначально все индексы такого типа планировал, но потом понял, что могут быть отрицательные значения, заменил на int, а в одном месте поменять забыл. Исправил чисто для красоты, попал на первое место. Как такое может быть?
Аноним 02/04/23 Вск 16:52:25 #1059 №2660619 
>>2660595
Нет идей. Посмотрел в компайл эксплорере, ассемблер одинаковый. Попробуй отправить еще раз, может тупо баг какой то вылез.
Аноним 02/04/23 Вск 16:59:12 #1060 №2660624 
>>2660595
Хотя, нашел одну лишнюю инструкцию в варианте с size_t, и вызывается она внутри цикла
cdqe
Если собирать БЕЗ оптимизаций (-O0)
Может быть там сделано так чтобы все были в равных условиях и сравнивался алгоритм программиста, а не оптимизации компилятора?
Бенчмаркать мне лень честно говоря. По идее это быстрая инструкция.
Аноним 02/04/23 Вск 17:53:40 #1061 №2660721 
>>2660595
Позапускай несколько раз и увидишь что компьют тайм меняется. Этой хуйне от литкода верить нельзя.
Аноним 02/04/23 Вск 18:32:26 #1062 №2660771 
Подскажите, какой пет сделать на плюсах? Хочу заниматься беком и сделать какой-нибудь первый проектик. Из идей пока чат на вебсокетах
Аноним 02/04/23 Вск 18:52:41 #1063 №2660783 
>>2660771
Сделай компилятор с++ на с++, вот тут все охуеют.
Аноним 02/04/23 Вск 19:04:29 #1064 №2660797 
image.png
>>2660771
Обычно игоры пишут, чому игру не хочешь?
Аноним 02/04/23 Вск 19:17:24 #1065 №2660811 
>>2660771
Напиши реалтайм борду
Там же кста userver заопенсорсили, на нем яндексе бэк пишут
Аноним 02/04/23 Вск 19:21:31 #1066 №2660818 
>>2660811
О спасибо, посмотрю про userver
>Напиши реалтайм борду
Может знаешь какие-нибудь примеры?

>>2660797
Игру это слишком серьезное что-то. Не хочется еще с графончиком ебаться
Аноним 02/04/23 Вск 19:50:01 #1067 №2660844 
>>2660818
NetHack написан на Си и выводит символы в терминал.
Аноним 02/04/23 Вск 20:01:29 #1068 №2660850 
>>2660818
>Игру это слишком серьезное что-то.
Я тебя умоляю. Не шибко сложнее сетей.
>Не хочется еще с графончиком ебаться
Ну на крестах тут не так элементарно как на юнитазе, но ты можешь и аски-арт ебануть, или какую-нибудь либу вроде сдл подрубить, накидать копипастную рисовалку за полдня и ебашить логику. Графен что-то сложное если ты напрямую на каком-нибудь опенгле хуячишь, и то там больше просто затраты времени на копипаст.
Аноним 02/04/23 Вск 21:13:51 #1069 №2660900 
>>2660818
Есть пример, но там на расте и фронт и бэк
https://github.com/meowmin/meguca
Аноним 02/04/23 Вск 21:20:22 #1070 №2660905 
https://github.com/bakape/shamichan
Не то скинул
Аноним 02/04/23 Вск 21:38:19 #1071 №2660924 
1528325010525.png
>>2660900
>meguca
Ух какие олды.
Аноним 03/04/23 Пнд 02:12:26 #1072 №2661104 
PPP2frontNback.jpg
Если я прочитаю пикрелейтед, можно будет сразу получить работу в Intel?
Аноним 03/04/23 Пнд 06:10:28 #1073 №2661170 
>>2661104
Нет, этого мала
Аноним 03/04/23 Пнд 11:32:41 #1074 №2661389 
Страуструп не умеет писать книги, лучше навернуть дейтелов.
Аноним 03/04/23 Пнд 12:50:44 #1075 №2661501 
Почему _stdcall такая ебанутая конвенция? Почему аргументы пушатся справа налево и не может быть переменное число параметров? Кто и зачем такую парашу придумал?
Аноним 03/04/23 Пнд 15:22:41 #1076 №2661746 
>>2661104
Лол. Поешь говна просто.
1. Давайте использовать кастомный заголовочный файл так чтобы было непонятно откуда реально берутся те или иные функции и как работает консольный ввод-вывод.
2 Так короче тип double длинее int. Операторы посмотрите в кривой схемке, щас бы вам даунам еще за них пояснять. И вообще простые типы данных это скучно, давайте просто не будем о них.
Отлично, вот теперь у нас есть время поговорить о важном: самолетах, кораблях и медицине.
3. ООП я вам поясню на основе велосипедной либы которую вы никогда не будете больше использовать.
4 Вместо пояснения ООП целый раздел поясняет эту самую либу на уровне линий, точек и кружочков, периодически использует поинтеры и коллбеки не заморачиваясь с тем что нигде это не объяснял
Аноним 03/04/23 Пнд 15:50:29 #1077 №2661781 
>>2661746
Сразу приучает к тому, с чем ты столкнешься в легаси.
Аноним 03/04/23 Пнд 17:11:02 #1078 №2661847 
>>2661746
Мне кстати вообще не зашла его книга. Хуже только яндекс практикум.
Аноним 03/04/23 Пнд 17:27:53 #1079 №2661856 
1673092910260.png
>>2661389
>Страуструп не умеет писать книги
Да и с языком не задалось
Аноним 03/04/23 Пнд 17:34:20 #1080 №2661861 
>>2661746
Походу книга создавалась как и язык.
Красава, не изменяет привычкам.
Аноним 03/04/23 Пнд 17:39:42 #1081 №2661867 
image.png
>>2661856
Да и страус помер.
Аноним 03/04/23 Пнд 21:11:36 #1082 №2662065 
>>2661746
А что тогда взять для вката по плюсам? В шапке старье.
Аноним 03/04/23 Пнд 21:23:23 #1083 №2662071 
image.png
>>2662065
Александреску, разумеется.
Для вката читай Прату. У Стивена Праты именно буквально учебник по плюсам, просто читаешь, выполняешь упражнения и так осваиваешь без особой мозгоебли, там все понятно и просто.
Про Александреску я пошутил, если ты не понял.
Аноним 03/04/23 Пнд 22:20:41 #1084 №2662090 
плюсаны поясните за хедер онли реальзацию против хед и сурс
Аноним 03/04/23 Пнд 22:24:48 #1085 №2662092 
>>2662090
В хедере нельзя сделать все что угодно. Например без ебли завести глобальную переменную (один раз).
Второй момент - нельзя сделать статическую либу с которой линковаться. У тебя каждый раз будет инклюдиться хедер и удлиннять время компиляции.
Аноним 03/04/23 Пнд 22:29:17 #1086 №2662097 
>>2662071
А если я уже достаточно взрослый, чтобы смотреть на большие мужские шаблоны?
Аноним 03/04/23 Пнд 22:29:39 #1087 №2662098 
>>2662092
а есть еще что? это я в принципе и так знал, а глобалs заводятся без проблем с constepr
Аноним 03/04/23 Пнд 22:31:04 #1088 №2662099 
>>2662098
Я имел в виду такую ситуацию условно

header.h:
static int i = 0;

laba1.cpp:
#include "header.h"
i = 1;

laba2.cpp:
#include "header.h"
i = 2;
Аноним 03/04/23 Пнд 22:34:26 #1089 №2662102 
>>2662099
это же маразм, ясное дло так писат ьсымсла нету
Аноним 03/04/23 Пнд 22:36:54 #1090 №2662107 
>>2662102
Почему маразм? В библиотеке может быть какой-то стейт или синглтон.
В случае с cpp, все будет работать
lib.h
extern int state;

lib.cpp
static int state = 0;

laba1.cpp
#include "lib.h"
state = 1;

laba2.cpp
#include "lib.h"
state = 2;
Аноним 03/04/23 Пнд 22:54:49 #1091 №2662117 
сталкикался кто то что клангд показывает хедеры кланга вместо гцц, хотя собирает гцц все правильно, но глаза мозолит?
Аноним 03/04/23 Пнд 23:13:07 #1092 №2662132 
>>2662117
Compile_commands.json чекни, может в нем проблемы
Аноним 03/04/23 Пнд 23:20:04 #1093 №2662137 
Ну вот я прочитал, что посчитал нужным для подготовки к собесу. Какие варианты проверки знаний можете порекомендовать кроме ответов на stackoverflow и тут?
Аноним 03/04/23 Пнд 23:20:53 #1094 №2662138 
>>2662137
Сходить на собесы
Аноним 03/04/23 Пнд 23:21:48 #1095 №2662139 
>>2662138
До самого нужного не успею на другие сходить
Аноним 03/04/23 Пнд 23:27:30 #1096 №2662143 
>>2662132
чекнул спс, как там стоят пути кланга вперед пути гцц, знаешь где прописать что гцц первее искалось?
опять же собирает гцц правильно, это только глангд ошибается.
Аноним 03/04/23 Пнд 23:55:59 #1097 №2662167 
>>2662071
>Александреску, разумеется.
Двачую, топовая книжка для вката.
Аноним 04/04/23 Втр 01:54:54 #1098 №2662204 
>>2662065
Липпмана читай.

>В шапке старье
На русский ничего и не переводилось с тех пор. Страуструпа "The С++ Programming language" 4-го издания вроде бы перевели, но это не для вката.
Аноним 04/04/23 Втр 02:40:46 #1099 №2662215 
>>2662137
Литкод мне помог. Решал задачки, в каментах/решениях видел алгоритмы/концепции о которых спрашивают.
Раньше почему-то плавал в сложностях, немного порешал и заметил что сложности пишут и сразу запросто запомнил что линейно, что логарифмично, а потом как раз и спрашивали, и я сразу отвечал, а не как раньше "ээ мээ хузнаит квадратично наверна" - тупо не запоминал.
Аноним 04/04/23 Втр 03:59:49 #1100 №2662218 
>>2662065
Я когда-нибудь напишу свою книгу по вкату в плюсы, обещаю
Аноним 04/04/23 Втр 04:17:04 #1101 №2662227 
>>2662218
Я уже написал.
А. Ноним. "Как вкатиться в плюсы".
Там одна страница, на ней написано "Никак".
Это продолжение бестселлера "Стоит ли вкатываться в плюсы", в котором одна страница на которой написано "Нет".
Аноним 04/04/23 Втр 06:27:08 #1102 №2662238 
>>2662143
Это как то систему сборки фиксить надо
Аноним 04/04/23 Втр 15:26:24 #1103 №2662532 
1597739074485.png
1567184283665.gif
>>2662227
Вот топовая книжка по вкату в плюсы.
300 страниц, посвященная способам инициализировать переменную.
Аноним 04/04/23 Втр 16:44:54 #1104 №2662594 
1663697330351.png
>>2660367
Вот такую интересную книжечку нашел, еще и опенсорсную и бесплатную.
https://github.com/changkun/modern-cpp-tutorial
Она конечно больше для переучивания сишников и си-с-классами на современный лад, и сам 23 стандарт еще не затрагивает, но полистал вроде норм и по делу.
Аноним 04/04/23 Втр 18:05:32 #1105 №2662693 
>>2662215
Мне чисто плюсы проверить надо
Аноним 04/04/23 Втр 23:45:21 #1106 №2662996 
1638421948420.png
1619653187367.png
1663895122361.png
1584885714098.png
>>2660406
Не надо еще забывать что фичи стандарта добавляются одна по одной и не всегда целиком.
23 еще мало доделан, 20 получше, даже в 17 еще не все готово, и даже в 14 можно найти частично недоделанные фичи.
Аноним 05/04/23 Срд 00:01:55 #1107 №2663009 
>>2662996
о, как в жеэсе - спецификации новые я дам, еще нужна их поддержка везде, поддержку я не дам
Аноним 05/04/23 Срд 01:19:34 #1108 №2663056 
1579387264002.png
Охуенно. Для тех, кому мало UB, может вызвать UB гарантированно.
Аноним 05/04/23 Срд 01:37:44 #1109 №2663061 
>>2663056
void unreachable()
{
int i = 5;
i = ++i + ++i;
}
Аноним 05/04/23 Срд 01:46:29 #1110 №2663063 
image.png
>>2663056
Да, нахуй надо! И ассерты тоже в топку! И трайкетчи! Падения, ошибки и эксепшены должны быть неотлавливаемы и выпадать только в продакшене!
Аноним 05/04/23 Срд 02:44:01 #1111 №2663075 
Объясните про флоаты... какое максимальное число я туда могу въебать? Ну вот макс флоат - 3.402823466e+38
Это что? Не понимаю.
Вот например инту я могу присвоить 2147483647 - это его максимум.

А флоату что?

Смутно думаю что чем больше целых, тем меньше будет дробной части.

Хорошо, тогда так:
xxx..xx.yyy

Вот допустим мне хватит тысячной дроби yyy. Тогда какое максимальное целое там будет?
Как это самому посчитать?

Просто у меня расстояние в метрах хранится в флоатах, а я даже не могу понять какое максимальное расстояние я туда могу записать. 100 метров? тысяча метров? десять тысяч? Сколько?
Аноним 05/04/23 Срд 02:50:42 #1112 №2663077 
image.png
>>2659175
у меня так
Публичные методы с большой буквы.
Публичное поле с маленькой (это чтобы не конфликтовать с каким-нибудь векторами/матрицами/цветами - где уже привычно x/y/z с маленько)

Приватный метод также с маленькой чтобы их различать
Приватное поле с m_

p.s. тем кто против префикстов у полей, типа IDE умная, и нахуй это не надо - я много раз себе колено простреливал на этом - кода заносил данные не в поле класса, а в локальную переменную внутри блока - очень весело такую херню потом отлаживать
Аноним 05/04/23 Срд 03:16:15 #1113 №2663085 
>>2663075
Сколько в мантиссу влезает цифр - столько и можно независимо от того, где разделение целой и дробной частей. Для флоата где-то 7-8 цифр, для дабла около 15.
Есть стандарт IEEE 754, где под мантиссу флоата выделено 23 бита, а для дабла - 52 бита. log10(2^23) ~= 6.92, log10(2^52) ~= 15.65. Загвоздка в том, что стандарт C++ не указывает, что реализации должны юзать именно IEEE 754, так что как повезёт.
Аноним 05/04/23 Срд 03:29:26 #1114 №2663089 
>>2663075
Твой вопрос напомнил о шатающихся вертексах в ранних триде играх.
Аноним 05/04/23 Срд 11:18:22 #1115 №2663239 
>>2662594
>100 страниц
Ну такое. Больше похоже на справочник, причем по каким-то отдельным вопросам.
Аноним 05/04/23 Срд 22:16:09 #1116 №2663712 
1637786015042.png
>>2663063
Там еще assume завезут. Способ расставлять UB ковровыми бомбардировками.
Аноним 05/04/23 Срд 22:32:45 #1117 №2663723 
>>2663712
получается, что с помощью цэ++ можно прострелить себе ногу, это просто возможность, но идейная дорога
Аноним 05/04/23 Срд 22:33:12 #1118 №2663724 
>>2663723
не просто возможность*
Аноним 05/04/23 Срд 22:58:01 #1119 №2663742 
1570888747459.png
>>2663723
Это уже похоже на какой то саботаж.
Итого C++23 вместо убирания UB ввело еще и ТРЕТИЙ (кроме std::unreachable, [[assume]]) способ его получить.
Добавили std::expected для обработки ошибок.
Нюанс в том, что если ты забыл проверить result.has_value(), и обратился к value = *result но у тебя ошибка, или к result.error() но ошибки не было, то ты ловишь UB.
Аноним 05/04/23 Срд 23:21:09 #1120 №2663763 
>>2663742
Все правильно сделали.
ИИшечки теперь нескоро вкатятся в плюсы.
старое пародийное интервью со Страуструпом.txt
Аноним 06/04/23 Чтв 03:10:46 #1121 №2663859 
>>2663056
> прострелить ногу
Ну хуй знает, насколько нужно быть гением чтобы тут ошибиться
Очевидно эта штука звучит как какая то штучка для микрооптимизации
Аноним 06/04/23 Чтв 03:20:13 #1122 №2663861 
1610552458095.png
>>2663859
>Possible output: Segmentation fault
Хорошая микрооптимизация. Нра.
Аноним 06/04/23 Чтв 03:22:34 #1123 №2663862 
>>2663861
> Possible ouput: your cat dies
Впервые уб видишь?
Аноним 06/04/23 Чтв 03:35:23 #1124 №2663864 
>>2663862
Чел, это несерьезно. Увидев такой код, я ожидаю ассерт в рантайме, и вообще хорошо бы ошибку типов в компайл тайме. А не сегфолт. Пример совершенно угребищный, но это скорее всего потому что этой хуйне и не придумать нормального примера, потому что она нахуй не нужна.
Аноним 06/04/23 Чтв 03:40:24 #1125 №2663866 
>>2663864
> я ожидаю
Ну молодец что ожидаешь, но схуяли это должно быть так?
Нужен ассерт, пиши ассерт
Нужна ебля с микрооптимизации пишешь анричебел
> не нужна
Тебе не нужна - не используй
Аноним 06/04/23 Чтв 04:00:43 #1126 №2663867 
>>2663866
Предложи пример, где такая оптимизация имеет смысл. В switch-е же нет обязательного default, значит там ничего и не подавляется, могли просто не писать default.
Аноним 06/04/23 Чтв 04:05:26 #1127 №2663868 
>>2663867
Понятия не умею
Это у любителей в годболте часами посидеть надо спрашивать
Аноним 06/04/23 Чтв 04:08:02 #1128 №2663869 
>>2663867
Но вообще советую в таких случаях пэперы напрямую читать
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0627r6.pdf
Аноним 06/04/23 Чтв 04:28:25 #1129 №2663870 
>>2663861
Пишешь документацию к generate_texture, где поясняешь, что невалидный xy приведёт к UB. Проблемы? Смысл-то от этой штуки очевидно есть, оптимизация сработает. В данном случае просто станет на одну ветку меньше в свитч-кейсе. Что в этом плохого?
Аноним 06/04/23 Чтв 04:31:50 #1130 №2663871 
>>2663870
Это особенно полезно, если ты пишешь реализацию стандарта какой-то библиотеки, например MPI. Там, где стандарт говорит, что будет UB - оптимизируешь.
Аноним 06/04/23 Чтв 04:34:09 #1131 №2663872 
>>2663871
Да, охуенно такое еще в либы пихать, чтобы вся программа юзающая либу становилась UB.
Аноним 06/04/23 Чтв 04:38:39 #1132 №2663874 
>>2663871
Нормальный способ - это писать концепт, шаблон, или хотя бы enum class, а не словами где-то предупреждать и вводить в 23-м году UB.
Аноним 06/04/23 Чтв 04:39:56 #1133 №2663875 
>>2663872
Не будет никакого уб, пока ты не сделаешь то, что вызывает уб. Или как ты себе это представляешь, код законтачился от std::unreachable, и теперь его трогать нельзя?
Если ты написал бред в духе деления на ноль, то кто ж тут виноват?
Аноним 06/04/23 Чтв 04:40:37 #1134 №2663877 
>>2663874
Зависит от ситуации, не надо цепляться к конкретному примеру.
Аноним 06/04/23 Чтв 04:49:20 #1135 №2663878 
>>2663875
Обосрется сам автор либы, сделав всю программу UB.
Аноним 06/04/23 Чтв 04:49:51 #1136 №2663879 
>>2663877
Это блин пример, которым мотивировали добавление фичи в стандарт. Более нормальных примеров и нет.
Аноним 06/04/23 Чтв 05:56:26 #1137 №2663888 
>>2663878
Или нет, лол
Аноним 06/04/23 Чтв 07:00:47 #1138 №2663891 
>>2663056
А что будет если я ее в constexpr функции вызову?
Аноним 06/04/23 Чтв 15:38:02 #1139 №2664168 
16612983126190.png
>>2663891
Аноним 06/04/23 Чтв 21:21:03 #1140 №2664557 
image.png
Всем привет. Хочу в качестве хобби выучить с++ для геймдева(работаю 2-дшником в геймдеве). Пока что чисто как хобби.
Есть какой-то роад мап? Сегодня вечером начал читать 'beginning c++ through game programming 3th edition '(4ый не нашёл, если есть ссылка - кидайте).
Всё правильно делаю?
Аноним 06/04/23 Чтв 21:22:45 #1141 №2664561 
>>2664557
>4ый не нашёл, если есть ссылка - кидайте
хотя отбой, плохо искал просто.
Аноним 06/04/23 Чтв 21:28:39 #1142 №2664569 
>>2664557
Для геймдева вкатывайся лучше в С#
Аноним 06/04/23 Чтв 21:32:11 #1143 №2664575 
>>2664569
Может мне ещё в C вкатываться?))00
Аноним 06/04/23 Чтв 21:34:55 #1144 №2664579 
>>2664569
И вообще, я же сказал - хобби. Игры можно на каждом втором языке делать. Какая нахуй разница, что я учить буду?
Аноним 06/04/23 Чтв 21:38:30 #1145 №2664585 
>>2664569
Годот, анрил, юнити, библиотеки, перформанс, апи. И вообще, хули ты меня из спп треда своим с шарпом гонишь?
Аноним 06/04/23 Чтв 21:40:41 #1146 №2664586 
>>2664557
Хорошее начинание. Книгу не читал, но осуждаю потому не могу ничего о ней сказать. Раз для новичков, то почему бы и нет. Готовься много гуглить и лазить по всяким cppreference.com, stackoverflow.com и прочим двачам. Задавай свои ответы и охуевай вместе со всеми.
Аноним 06/04/23 Чтв 21:42:02 #1147 №2664588 
>>2664586
>Готовься много гуглить и лазить по всяким cppreference.com, stackoverflow.com и прочим двачам. Задавай свои ответы и охуевай вместе со всеми.
Да у меня были когда-то знания в веб-верстке но все улетучились уже давно, мне это даже нравилось.
Аноним 06/04/23 Чтв 21:43:11 #1148 №2664591 
>>2664588
> веб-верстке
не дальше js'а, если что.
Аноним 06/04/23 Чтв 21:44:21 #1149 №2664592 
>>2664588
>>2664591
Соболезную. Надеюсь, урон не непоправимый.
Аноним 06/04/23 Чтв 22:04:56 #1150 №2664606 
>>2664557
Это весьма хорошая книжка, но к геймдеву она относится почти никак.

Читал ее сразу после Липпмана, прочитал за неделю. Хороша она тем, что дает законченные проектики с какой-никакой иерархией классов, в которых можно поковыряться нубу.

>Есть какой-то роад мап?
Отложи эту книжку, бери Липпмана. Приходи годика через пол.
Аноним 06/04/23 Чтв 22:11:22 #1151 №2664611 
>>2664569
C/C++ тупо лингва-франка гейдева: библиотеки, книжки, лекции, исходники игр, движки, практически все на C/C++.
С# ограничивается комьюнитями Unity.
Аноним 06/04/23 Чтв 22:24:26 #1152 №2664618 
image.png
>>2664592
>>2664606
>Липпмана
Аноним 06/04/23 Чтв 22:29:08 #1153 №2664620 
>>2664557
Зацени канал The Cherno на ютьюбе, очень толково поясняет.
Аноним 06/04/23 Чтв 22:35:51 #1154 №2664625 
>>2664611
>C/C++ тупо лингва-франка гейдева
Только вот реальные инди игры доведенные хотя бы до бетки это в 99 процентов случаев будет Юнити.
Аноним 06/04/23 Чтв 22:47:01 #1155 №2664635 
так и что по итогу? учить плюсы или нет? стоят того?
Аноним 06/04/23 Чтв 22:51:18 #1156 №2664639 
>>2664635
Тут больше вопрос в том чего ты стоишь, а не стоят ли того плюсы.
Аноним 06/04/23 Чтв 22:52:38 #1157 №2664641 
>>2664620
https://www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb
Это?
Аноним 06/04/23 Чтв 22:53:09 #1158 №2664642 
>>2664635
тебе - не стоит.
Аноним 06/04/23 Чтв 23:09:51 #1159 №2664650 
>>2664642
ты чего такой злой
Аноним 07/04/23 Птн 00:06:17 #1160 №2664673 
>>2664650
Потому что если бы ты хотел - то уже начал учить. И не важно что, а не вопросы глупые задавал. Как можно ответить на вопрос 'стоят ли или нет'. Бля, конечно стоят, как и любой другой язык программирования.
Аноним 07/04/23 Птн 04:43:03 #1161 №2664728 
>>2664641
Это. Быстро и доступно разжевывает, дальше уже с каким-никаким пониманием вопроса можешь копать.
Аноним 07/04/23 Птн 06:18:53 #1162 №2664734 
>>2664673
> как и любой другой язык программирования
Такие как брейнфак или эпл бэйсик?
Не любые. Эзотерику не стоит. Легаси не стоит (первым языком) учить. Бестиповые не стоит
Аноним 07/04/23 Птн 09:15:43 #1163 №2664746 
>>2664625
Юнити-поделки - это отдельный жанр.

>99 процентов
Во-первых, ты преувеличиваешь;
во-вторых, нет смысла лезть в эту нишу с такой конкуренцией.

Единственный плюс у C# в том, что если мечты взять штурмом гейдев не сбудутся, то будет проще найти работу с таким багажом.
Аноним 07/04/23 Птн 11:44:01 #1164 №2664797 
>>2664734
Я обобщил. Говно в учёт не брал.
Аноним 07/04/23 Птн 11:58:44 #1165 №2664809 
petrosyanevgenijvaganovich.jpg
>>2664734
>Легаси не стоит (первым языком) учить.
Т.е. С++ все-таки лучше не выбирать?
Аноним 07/04/23 Птн 15:50:29 #1166 №2665111 
>>2664746
>Юнити-поделки - это отдельный жанр
Это абсолютное большинство всех игр на стиме. Исключение только AAA игры c сотней разработчиков.
Аноним 07/04/23 Птн 15:55:24 #1167 №2665115 
>>2665111
а геншин - это ААА игра?
Аноним 07/04/23 Птн 15:55:33 #1168 №2665116 
>>2664734
>Такие как брейнфак
Не является языком общего назначения. Не имеет выхода на функции ОС.
>эпл бэйсик
Хз о чем ты, но на Visual Basic .NET можно пилить абсолютно тоже что и на любом другом языке.
Аноним 07/04/23 Птн 16:00:48 #1169 №2665121 
>>2665115
>команда из 120 человек
Очевидно что да. Топовый уровень не обязательно значит топовый графон, огромные затраты на маркетинг тоже показатель.
Аноним 07/04/23 Птн 16:09:39 #1170 №2665131 
>>2664809
>Т.е. С++ все-таки лучше не выбирать?
Ты плюсики зря пририсовал. Да, си лучше не выбирать.
Аноним 07/04/23 Птн 16:37:45 #1171 №2665144 
>>2665131
Плюсы это буквально монструозная надстройка над Ссями.
Для того чтобы выучить плюсы нужно выучить большую часть того же что и для Си, а потом еще и специфичную для плюсов кашу из темплейтов.
Хз какие ты тут нашел бонусы в качестве первого языка.
Аноним 07/04/23 Птн 17:32:55 #1172 №2665218 
>>2665144
>Плюсы это буквально монструозная надстройка над Ссями.
Ох лол кек.
Аноним 07/04/23 Птн 17:33:45 #1173 №2665222 
image.png
>>2665144
>>2665218
А джаваскрипт это надстройка над джавой, да?
Такое спиздануть мог только тот кто не знаком с обоими языками.
Аноним 07/04/23 Птн 17:40:34 #1174 №2665233 
>>2665111
Вот стим и превратился в помойку.
А для инди-проектов без бюджета на рекламу это кладбище.

>>2665115
> ААА
Все эти а/б характеризуют только бюджет, а не технологичность или качество. Бюджет можно всрать, например, на голливудских актеров.
Аноним 07/04/23 Птн 17:42:46 #1175 №2665235 
А инди - это сокращение от independent, но не от individual.
Инди пилит не сыч, а команда, не зависящая от издателя. На собственные средства то бишь.
Аноним 07/04/23 Птн 17:54:02 #1176 №2665248 
>>2665218
>>2665222
Чел... ты хоть что-то на Си писал? Это ничем не отличается от плюсов без классов
Аноним 07/04/23 Птн 18:03:30 #1177 №2665268 
>>2665248
Доооо, точно так же, если пишешь канкуляхтур или поиск палиндрома для универа.
Всем уже понятно, что ты не писал на этих языках в какой бы то ни было достаточной степени, не позорься дальше.
Аноним 07/04/23 Птн 18:12:25 #1178 №2665282 
>>2665268
Ну то есть на Си ты не написал и десяти строк, но умничаешь.
Ясно, можешь быть свободен.
Аноним 07/04/23 Птн 18:23:53 #1179 №2665298 
>>2665233
>Вот стим и превратился в помойку.
Это называется малобюджетные игры. Т.е. именно то что будет делать любой анон если вкатиться. И да, продавать такие игры тоже надо уметь.
Аноним 07/04/23 Птн 18:32:47 #1180 №2665303 
>>2664635
>так и что по итогу? учить плюсы или нет? стоят того?
Если хочешь делать именно игры - учи С#и 3D
Если хочешь пилить движки и библиотеки для игр - бери C++
Аноним 07/04/23 Птн 19:09:27 #1181 №2665354 
>>2664728
Специфическая подача, тараторит быстро и многое поверхностно объясняет. Копать после его роликов надо много. Но с другой стороны важные ключевые моменты затрагивает, в толстых книгах эта инфа была бы размазана очень тонким слоем.
Аноним 07/04/23 Птн 19:28:59 #1182 №2665378 
>>2665235
>Инди пилит не сыч, а команда
Два сыча - уже команда
Аноним 07/04/23 Птн 19:39:08 #1183 №2665405 
>>2665282
Это ты не писал, только тот кто не знаком с обоими языками может такую хуйню спороть (или кодил на них в девяностых).
Аноним 07/04/23 Птн 19:40:44 #1184 №2665406 
>>2665405
Нет ты не писал
Аноним 07/04/23 Птн 19:41:16 #1185 №2665410 
>>2665406
Нет, ты!
Аноним 07/04/23 Птн 19:42:34 #1186 №2665413 
>>2665410
Нет ТЫ
Аноним 07/04/23 Птн 19:50:24 #1187 №2665429 
изображение.png
изображение.png
>>2665378
После 12 лет работы в одиночестве, работы в команде в шестерьмя мужчинами, повторного уменьшения до команды из четырех мужчин, и страданий из-за ужасной катастрофы поиска пути для обновления в 2015… мы продолжаем идти до конца и,наконец, дошли до версии 1.0.
Аноним 07/04/23 Птн 20:00:29 #1188 №2665453 
Minecraftcover.png
>>2665429
Но бывает и так
Аноним 07/04/23 Птн 20:08:48 #1189 №2665469 
>>2665429
>LO-FI GAMES
for studying and relaxing?
Аноним 07/04/23 Птн 20:15:49 #1190 №2665486 
>>2665453
Dwarf Fortres между анонсом в стиме и релизом прошло года два. На момент анонсы игра была уже давным давно готова.
Dwarf Fortres писана на сях.

Тут как посмотреть. С одной стороны какие-то невменяемые сроки. С другой стороны, инди-бояре могут себе такое позволить.
Аноним 07/04/23 Птн 20:21:25 #1191 №2665497 
>>2665469
Не, это у него название студии из шестерьмя мужчин такое.
Аноним 07/04/23 Птн 20:23:06 #1192 №2665499 
>>2665144
Чел прав, за джавоговно не скажу, но про си по факту. Боьшее отлисие плюсов и си это компилятор. Все что в плюсах, вообще все базируется на сишных фичах. Даже те же темплейты, ужастно убого но реальзуются сишными макросами.
Аноним 07/04/23 Птн 22:18:35 #1193 №2665611 
>>2626726 (OP)
Есть ли такая книга по плюсам чтобы тебя вкатывали в классы, наследование и темплейты на основе создания реального проекта под какую-то бизнес задачу? Ну или онлайн уроки какие-то?
Аноним 07/04/23 Птн 22:52:32 #1194 №2665639 
>>2665222
Ну справедливости ради С++ до 11 стандарта действительно в значительной степени был расширением сишки.
Аноним 08/04/23 Суб 00:01:26 #1195 №2665668 
>>2665303
>учи С#
Нафиг не нужен.
GDscript больше чем достаточно.
Аноним 08/04/23 Суб 01:19:08 #1196 №2665700 
>>2665611
ну, пролистав несколько десятков книг по с++, скажу что такой книги не существует
но самые лучшие комплексные задачки в конце глав, имхо, у самого страуструпа в книжке "Язык программирования C++. Специальное издание"
Аноним 08/04/23 Суб 01:23:58 #1197 №2665702 
>>2664618
липман отлично разжевывает, лучее изложение материала о самом языке с++ по сравнению с остальными учебниками
но большой минус - слабые и простенькие упражнения в конце глав не позволяют закрепить усвоеный материал
Аноним 08/04/23 Суб 01:24:53 #1198 №2665703 
>>2664611
проблема в том что геймдев в россии мертв, его не существует
но если ты в других странах то окей
Аноним 08/04/23 Суб 01:33:45 #1199 №2665704 
>>2665700
>лучшие комплексные задачки
Да ну, задачки без ответов это пустая трата времени. Проще уже что-то самому начать кодить.
Аноним 08/04/23 Суб 01:40:59 #1200 №2665709 
>>2661104
ну до сво пока интел не свалил с россиюшки, работу там получали совершенно конкретные ребятки с известных кафедр известных вузов, дурачкам со стороны там было делать нечего
Аноним 08/04/23 Суб 05:52:53 #1201 №2665749 
>>2665639
"Был" - ключевое слово.
Аноним 08/04/23 Суб 10:43:27 #1202 №2665816 
>>2665749
++98 стандарт никуда не делся, на нем все также можно писать программы в современных компиляторах. Просто указываешь -std=c++98 и все работает.
Аноним 08/04/23 Суб 13:38:59 #1203 №2666061 
>>2665611
У меня есть пара подобных по SFML с примером разработки игры. Правда, главы там выстроены по фичам SFML, а не фичам C++.

Есть также 1 книжка по структурам данных и алгоритмам. Вот там выстроено по фичам C++ - классы, шаблоны, наследование. По собственно языку там краткие сведения, просто чтобы вспомнить. В принципе, можно рассматривать как один эволюционирующий проект, т. к. ранее написанный код активно рефакторится и используется.
Насколько можно ее рекомендовать, я хз. Она написана еще до 98 Стандарта, диска с исходным кодом кодом в интернетах нет, содержит опечатки, ошибки и антипаттерны. Но мне она, как ни странно, именно этим и зашла. Ты не просто списываешь примерчики, а думоешь и рефакторишь. Для моих знаний получился околоидеальный баланс между самостоятельной работой и повторением за авторами.

Но все эти книги не заменяют базовых учебников по плюсам.
Аноним 08/04/23 Суб 14:08:54 #1204 №2666109 
>>2666061
>Есть также 1 книжка по структурам данных и алгоритмам. Вот там выстроено по фичам C++ - классы, шаблоны, наследование.
Что за книга, анон? Первый раз слышу, хотя скачал уже наверно кучу разных книг по алгосам от Вирта до Седжвика.
Спали хоть название.
>98 Стандарта
Да пофиг, классы с тех пор остались классами.
Аноним 08/04/23 Суб 14:39:39 #1205 №2666154 
>>2666061
>Вот там выстроено по фичам C++ - классы, шаблоны, наследование.
Лол, ты про Александреску штоле?
Аноним 08/04/23 Суб 15:33:04 #1206 №2666194 
изображение.png
>>2666109
Аноним 08/04/23 Суб 15:58:12 #1207 №2666206 
aa24ba0c4e90ff8d4fcee33f26845f8b-d.jpg
>>2666194
Спасибо!
Пикрелейтед вроде посвежее в плане стандарта от того же автора.
Аноним 08/04/23 Суб 16:09:10 #1208 №2666218 
>>2666206
А я так и не нашел, где ее скачать. Исходники нашел, содержание нашел, а саму книгу нет.
Она сильно отличается от первого издания. Например, исходники от нее вообще ничем не помогли. Охват материала +/- тот же, но в остальном все по-другому.
Аноним 08/04/23 Суб 16:18:34 #1209 №2666224 
image.png
>>2665702
Понял. тогда гляну после этой книги. А что-то промежуточное есть между липпманом и Beginning C++ Through Game Programming? Я в основном во время практики обучаюсь, а не во время чтения, т.е. мне необходимы какие-то задачи, а сам задачу придумать - чё-т фантазии не хватает, либо она оказывается слишком сложной/слишком лёгкой. Причём спрашивать в треде задачи - такая же тема, либо слишком сложно и приходиться что-то гуглить (в итоге находится полноценное решение - и какой смысл от решения задачи тогда в кач-ве обучения?), либо слишком просто и нет прогресса (хотя в этом случае хотя бы запомнить что-то можно).

Может какие-то подходы можете посоветовать определённые помимо книг? Ну к задачам и их решению. Чтоб не оказываться в двух противоположенных концах
Аноним 08/04/23 Суб 16:20:25 #1210 №2666228 
Вообще, в целом, творческой подход мне больше нравится. Я сам из геймдева, ток в другой отрасли.
>>2666224
Аноним 08/04/23 Суб 16:53:00 #1211 №2666248 
>>2665816
А еще можно писать съ дореволюціонной орѳографіей. Объ актуальномъ языкѣ это ничего не говоритъ. C++ сейчасъ сильно отошелъ отъ своихъ корней, объ этомъ рѣчь.
Аноним 08/04/23 Суб 17:45:30 #1212 №2666290 
image.png
Планирую вкатится в плюсы по этим книгам, какие подводные?
Аноним 08/04/23 Суб 17:49:17 #1213 №2666292 
image.png
>>2666290
Судя по иллюстрациям, аффтар шарит в говнокодинге. Я думаю, ему бы лучше по жабоскрипу писать книги, там актуальнее такому учить.
Аноним 08/04/23 Суб 18:40:08 #1214 №2666359 
>>2666218
Ну анонче, Библиотека Гены же ну)))
Аноним 08/04/23 Суб 19:19:33 #1215 №2666418 
>>2666292
имхо кресты в этом плане жощще. в жепаскрпте всего лишь говноед-комбо из динамикопараши и неявного приведения типов (а чо такое тип? я жсмакака))0) +еще пара граблей
цпп же берет количеством говна которое хрен выучишь и гарантирует что рано или поздно ты таки оторвешь себе обе ноги по самые яйца
Аноним 08/04/23 Суб 23:47:30 #1216 №2666835 
>>2666248
Лол.
У меня есть книга объ искусствѣ игры въ преферансъ, написанная въ такой орѳографіи.
Аноним 09/04/23 Вск 01:41:28 #1217 №2666882 
>>2665704
имелось в виду задания на программирование, типа реализовать хешмпап c stl-интерфейсом и подобные у него программиские задачи
Аноним 09/04/23 Вск 03:25:55 #1218 №2666901 
>>2666290
>какие подводные
БОльшая часть этих книг не про плюсы.
Аноним 09/04/23 Вск 03:28:38 #1219 №2666902 
>>2666061
>У меня есть пара подобных по SFML с примером разработки игры.

А годнота там есть в твоем списке, что-то не из серии Packt?
Аноним 09/04/23 Вск 05:10:37 #1220 №2666906 
image.png
>>2666418
Нет, плюсы четко себя ведут, если не нарываться на УБ, там какая-никакая логика есть, а вот чтобы на жс кодить надо отринуть логику и принять безумство.
Аноним 09/04/23 Вск 13:26:17 #1221 №2667022 
>>2666902
Что не так с пактом?
Аноним 09/04/23 Вск 16:22:16 #1222 №2667174 
>>2667022
Издают ноунеймов штампующих книги по вопросам в которых не разбираюся?
Аноним 09/04/23 Вск 17:01:03 #1223 №2667202 
>>2664635
Use Qt, я вот на нём говнокодю. Понятия не имею, как на плюсах написать что-то асинхронное, а тут просто сигналы-слоты дрочулькай.
Аноним 09/04/23 Вск 17:05:29 #1224 №2667207 
>>2666290
Оно не про плюсы. Прочитал все книги несколько лет назад и могу вспомнить из них практически нихуя.

Qt-говнокодер
Аноним 09/04/23 Вск 17:46:26 #1225 №2667261 
>>2667207
Лол, а десктоп направление на плюсах еще живо? Что ты делаешь на Qt?
Аноним 09/04/23 Вск 18:36:03 #1226 №2667348 
>>2667261
>десктоп направление на плюсах еще живо

Так оно только на плюсах и живо.
Аноним 09/04/23 Вск 21:46:33 #1227 №2667623 
>>2667348
Ох лол
Аноним 09/04/23 Вск 21:55:38 #1228 №2667631 
>>2667623
Ну давай расскажи мне как там бурно развивается десктопный дотнет, на который уже сами майки забили.
Аноним 09/04/23 Вск 23:03:15 #1229 №2667682 
>>2667631
Э л Е к Т р О н
Аноним 09/04/23 Вск 23:58:08 #1230 №2667706 
>>2667261
>Что ты делаешь на Qt?
Пилю клиент-серверную приложуху. Сервер по сетке работает с железками, кладёт данные в БДшку. Клиент к нему подключается и может смотреть, чё там с железом и с БДшки запрашивать всякие данные.
Аноним 09/04/23 Вск 23:59:45 #1231 №2667708 
Да вот кстати недавно по учёбе понадобилось поработать с программой drawio. Вроде ничего так, симпатичная приложуха. Полез смотреть, на чём сделано, а оно на этом вашем жабаскрипте. Под десктопный линукс.
Аноним 10/04/23 Пнд 00:12:04 #1232 №2667719 
>>2667708
Всегда думал, что draw.io существует только в виде сайта. Сайт, понятное дело, на жопаскрипте.
Аноним 10/04/23 Пнд 01:00:54 #1233 №2667745 
>>2667719
Дык десктопная приложуха поди и есть тот же сайт, только локально. Ну, мож с какими подкрутками-добавками.
Аноним 10/04/23 Пнд 06:53:09 #1234 №2667779 
>>2667745
Ебаный стыд.
Аноним 10/04/23 Пнд 12:08:23 #1235 №2667937 
>>2667682
>Весь код приложухи можно просто посмотреть в блокноте
>Конкурент плюсам

ЛОЛ
Аноним 10/04/23 Пнд 13:16:17 #1236 №2668010 
>>2667937
>>Весь код приложухи можно просто посмотреть в блокноте

Ну неси тогда сюда код десктопного дискорда, даун ебаный.
Аноним 10/04/23 Пнд 13:22:30 #1237 №2668017 
>>2668010
>не знает что код электрона это просто скрипты

Это ты походу даун безмозглый.

Принес тебе за щеку, проверяй.
Аноним 10/04/23 Пнд 13:25:42 #1238 №2668022 
>>2668017
Пиздабол, неси сюда код дискорда который на электроне написал или уебывай с треда к хуям.

>код электрона это просто скрипты
И что что это джаваскрипт, ебанутый? Мобильные приложения на реакт нейтив это тоже жс, может и их код тоже заодно посмотришь, клоун блядский.
Аноним 10/04/23 Пнд 13:28:13 #1239 №2668024 
>>2668022
Пиздец ты ебанутый дегенерат.
Поссал на тебя дебила.
Аноним 10/04/23 Пнд 13:30:37 #1240 №2668026 
>>2668024
>>Весь код приложухи можно просто посмотреть в блокноте
>Ну иди посмотри
>Кода так и не увидели

Что и требовалось доказать что сын тупой шлюхи способен только пиздаболить и не разбирается даже в базе

Иди нахуй, обоссаный
Аноним 10/04/23 Пнд 13:33:47 #1241 №2668030 
>>2668026
>тупой дегенерат не в состоянии сам посмотреть код.

Нахуй иди, обсосанная тупая мразь.
Аноним 10/04/23 Пнд 13:40:04 #1242 №2668036 
>>2668030
>ебанутый сын шлюхи собрался смотреть код через блокнот у discord.exe

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

Просто ебучий урод, пошел нахуй.
Аноним 10/04/23 Пнд 13:46:41 #1243 №2668042 
r6ljlq.jpg
>>2668036
Аноним 10/04/23 Пнд 13:49:31 #1244 №2668046 
>>2668042
Ебал твою дохлую мать у тебя на глазах
Аноним 10/04/23 Пнд 13:51:21 #1245 №2668049 
zakryvaet-lico83844865orig.png
>>2668046
Аноним 10/04/23 Пнд 13:55:44 #1246 №2668051 
>>2668049
>risovach.ru
Представил твое тупорылое ебало ирл, взламыватель электрона
Аноним 10/04/23 Пнд 13:57:40 #1247 №2668052 
>>2668046
Глаза от мочи промой.
То что ты там трахаешь это твоя дохлая жизнь.
Аноним 10/04/23 Пнд 14:04:24 #1248 №2668055 
>>2668052
>немытый хач-пиздабол опять пошел в оправдания
Лол
Аноним 10/04/23 Пнд 14:10:04 #1249 №2668058 
neobyasnimo-no-fakt144568473orig.jpg
>>2668055
Аноним 10/04/23 Пнд 15:11:33 #1250 №2668092 
>>2667937
>Весь код приложухи можно просто посмотреть в блокноте
Нельзя. Во первых - даже если можно то это нарушение копирайта и тебя выебут
Во вторых - практически любой известный мне скриптовый язык можно скомпилировать в байткод для VM, и в таком виде он компактнее, быстрее загружается и в добавок для того чтобы его спиздить его нужно декомпилировать, а декомпиляторы для таких вм пишут гораздо реже чем для условных С/С++ если ты не на шарпах и джаве пишешь конечно
В любом случае если ты можешь его спиздить - то точно так же можно проверить что ты его спиздил и штрафануть твое тупое ебало на пару лямов
Аноним 10/04/23 Пнд 17:46:35 #1251 №2668242 
ебать че тут происходит наху
мне уже расчехлять пасты из дотатреда или еще постов 20 подождать?
Аноним 10/04/23 Пнд 17:48:24 #1252 №2668247 
>>2668242
Расчехляй. Только перепиши их под контекст.
Аноним 10/04/23 Пнд 18:03:46 #1253 №2668269 
16450153374160.jpg
А ты случаем не то чмо, которое я три года назад заебался банить в МВП-тредах? Такой же омега-униженец, те же посты, тот же бугурт от жизни психически здоровых мужчин. Ах да, ты даже не мужчина, кстати.
Аноним 10/04/23 Пнд 18:07:04 #1254 №2668272 
16808764764740.png
Я не понимаю, как такой человек как ты, может вообще жить.
Уебище, подобное тебе, должно еще на этапе зиготы самым жестоким образом уничтожаться.
Что ты пытаешься доказать, прилюдно спустив штаны и навалив огромную кучу дерьма.
Иди нахуй отсюда.
Аноним 10/04/23 Пнд 18:12:58 #1255 №2668277 
16450153374170.jpg
>>2668058
>>2668055
Как-то очень неуверенно ты это говоришь. Так вижу трясущиеся руки, спешащие расстегнуть ширинку, и не успевающие. Темное пятно расползается по одной из штанин и в нелепой попытке сохранить лицо ты выдавливаешь ломающимся голосом: "иди нахуй))". Даже любопытно, что ты дальше будешь делать.
Аноним 10/04/23 Пнд 18:13:34 #1256 №2668280 
ну ладно хватит пока
я в бан и спать
Аноним 10/04/23 Пнд 19:08:49 #1257 №2668350 
>>2668280
Счастливо. Спасибо за пасты, приятно отдохнуть.
Аноним 11/04/23 Втр 06:59:03 #1258 №2668669 
>>2664557
https://github.com/miloyip/game-programmer
Аноним 11/04/23 Втр 14:23:00 #1259 №2668978 
>>2668669
Посиб, сохранил. Очень много, страшно. Заценю после книги. Там прям всё идеально подходит, что под сабжем c++ и геймдева?
Аноним 11/04/23 Втр 14:23:24 #1260 №2668980 
>>2668669
Если есть какие-то советы - готовы выслушать.
Аноним 11/04/23 Втр 15:10:42 #1261 №2669038 
image.png
С хуяли, блядь? Даже в книге в примере этого ; нет.
Аноним 11/04/23 Втр 15:15:52 #1262 №2669047 
image.png
image.png
image.png
>>2669038

всё. разобрался. я думал что не надо в main() заворачивать. Получается всегда надо функцию делать?

Пиздец. Какой урод капчу придумал новую...
Аноним 11/04/23 Втр 17:36:54 #1263 №2669199 
>>2669047
>>2669038
и вот с этим вот мы сидим в одном треде.....
Аноним 11/04/23 Втр 19:11:49 #1264 №2669324 
>>2669199
Так я ток вкатился. Ещё и на автомате Do с большой написал.
Аноним 11/04/23 Втр 20:16:30 #1265 №2669432 
Что такое std::mt19937::state_size ?
Аноним 12/04/23 Срд 01:36:33 #1266 №2669697 
Комитет ISO C++ запретил использование ChatGPT. "В нашем сообществе нет места интеллекту, искусственному или нет" - заявил представитель комитета.
Аноним 12/04/23 Срд 14:23:24 #1267 №2670054 
Плюсач, помоги советом вкатуну. Делаю игру на плюсах. В ней система фитов персонажей. Соответственно есть базовый абстрактный фит от которого уже наследуют другие.

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

Я вот думаю, может в заголовке базового класса прописать заголовки всех наследников и просто его пропихивать каждый раз в инклюды?
Аноним 12/04/23 Срд 14:30:25 #1268 №2670060 
>>2670054
Тогда еще надо будет в нем делать объявление наследников тоже. Правильно я понимаю?
Аноним 12/04/23 Срд 15:25:38 #1269 №2670167 
>>2670054
Забейте, анриал уже послал меня нахуй.
Аноним 12/04/23 Срд 16:19:55 #1270 №2670262 
image.png
Я зумер с СДВГ, есть ли на ютьюбе кто-нибудь (преферабельно на инглише плиз) зачитывающий книгу по плюсам с примерами чтобы я мог смотреть на третьем экране пока играю в роблокс и смотрю стрим?
Аноним 12/04/23 Срд 16:41:45 #1271 №2670289 
>>2670262
Ты так нихуя не запомнишь, вкидывайся успокоительным и читай внимательно.
Аноним 13/04/23 Чтв 01:43:21 #1272 №2670796 
>>2670054
Можно придумать механизм создания "фита" из некоего набора параметров. Наборы хранить в БДшке или ещё каком внешнем ресурсе и оттуда читать при наступлении этих твоих событий (оно тоже один из параметров фита).
Аноним 13/04/23 Чтв 02:29:57 #1273 №2670800 
>>2667708
>жопаскрипт повсюду, как аллах
што поделать
рак кожи тоже начинается с маленькой красной родинки, а заканчивается пиздецом по всему телу
Аноним 13/04/23 Чтв 02:31:01 #1274 №2670801 
>>2667706
хорошо тебе, приятная работа, можно не думать
кайф на самом деле
Аноним 13/04/23 Чтв 04:18:38 #1275 №2670810 
>>2670801
>приятная работа, можно не думать
Думать надо, но над "архитектурой", т.е. над тем, как облегчить самому себе жизнь путём организации объектов, их взаимодействия между ними, структур данных, БДшки и прочей хрени, чтобы не путаться и "фичи" добавлять было не сильно сложно. В общем, думание (и велосипединг) происходит по собственной инициативе.

Платят соответственно (мало), сотку с копейками. Вроде и надо стремиться к большему заработку, но это ж придётся не своё говно на расслабоне пилить, а какое-нибудь легаси, ещё и наверняка в более жёстких условиях (делай вот так, приходи-уходи вовремя, вот тебе задачи на неделю, отчитаешься о выполнении и прочая паибень).
Аноним 13/04/23 Чтв 07:04:08 #1276 №2670822 
>>2670810
Блять, такое ощущение что я знаю проект над которым ты работаешь.
Но могу ошибаться, таких производств тысячи.
Расскажешь что нить ещё о проекте?
Аноним 13/04/23 Чтв 12:09:08 #1277 №2670990 
Если заголовки закольцевались, насколько я понимаю лучше подумать об изменении подхода, нежели об объявлении одного класса в заголовке другого?
Аноним 13/04/23 Чтв 14:13:34 #1278 №2671099 
>>2670990
Да, тебе нужен dependancy inversion.
Аноним 13/04/23 Чтв 20:45:09 #1279 №2671523 
Какие подводные в том чтобы везде вместо референсы использовать референс враппер?
Аноним 13/04/23 Чтв 21:01:16 #1280 №2671548 
>>2671523
На самом деле есть только адреса. И обычно они не отличаются от целых чисел.
Покайтесь.
Аноним 13/04/23 Чтв 21:10:37 #1281 №2671554 
>>2671548
Это значит да или нет?
Аноним 13/04/23 Чтв 22:28:27 #1282 №2671629 
А тут есть перекат, а то уже вывались за пределы памяти
Аноним 13/04/23 Чтв 22:53:30 #1283 №2671653 
>>2671629
Нет здесь перекатов.
Аноним 13/04/23 Чтв 23:40:39 #1284 №2671674 
>>2671629
А нахуя
Аноним 13/04/23 Чтв 23:57:21 #1285 №2671680 
>>2671674
У мобилобляди щяоми тормозит.
Аноним 14/04/23 Птн 00:07:39 #1286 №2671688 
>>2671680
Я мобилоблядь с щяоми 5 летней давности, лагов не обнаружено
Аноним 14/04/23 Птн 10:05:47 #1287 №2671834 
>>2671674
ну просто интересно было
типо номер треда 141 и он не бесконечный, поэтому думал может всем просто лень что ли
Аноним 14/04/23 Птн 21:17:53 #1288 №2672454 
image.png
ЯННП многомерные массивы.
Он нахуя x и о записал туда? Это же просто картинка выйдет, а не крестики-нолики.
Аноним 14/04/23 Птн 21:18:49 #1289 №2672455 
image.png
>>2672454
https://www.w3schools.com/cpp/cpp_arrays_multi.asp
тут вроде понял на примере корабликов. А нахуя он делает то, что делает? Вот продолжение. Он просто картинку решил сделать?
Аноним 14/04/23 Птн 21:32:47 #1290 №2672469 
>>2672454
А какая разница? Он туда мог и 0, 1, 2 записывать, и 'p', '}' и '»', и похую, надо три разных значения, так что булом не обойтись, а если сразу "Х", "О" и " " писать, то вывод становится тривиальным.
Аноним 14/04/23 Птн 21:44:24 #1291 №2672493 
>>2672469
Так он просто картинку делает, получается? А нахуя? Чтоб показать просто?

Ладно, хуй с ним. Другой вопрос. При создание второго cpp в исходных файлах в проекте появляется ошибка fatal error LNK1169: one or more multiply defined symbols found

Как делать больше одного спп файла, чтоб не создавать каждый раз новый проект? И чтоб их можно было запускать. Или это слишком сложно будет для меня на данном этапе?
Аноним 14/04/23 Птн 21:46:00 #1292 №2672498 
>>2672493
Если просто функцию мейн переименовать, то он всё равно первый файл запускает. Может можно как-то выбрать какой компилить
Аноним 14/04/23 Птн 21:50:24 #1293 №2672510 
>>2672493
>Так он просто картинку делает, получается? А нахуя? Чтоб показать просто?
Например. Его спрашивать надо.
>Ладно, хуй с ним. Другой вопрос. При создание второго cpp в исходных файлах в проекте появляется ошибка fatal error LNK1169: one or more multiply defined symbols found
>
>Как делать больше одного спп файла, чтоб не создавать каждый раз новый проект? И чтоб их можно было запускать. Или это слишком сложно будет для меня на данном этапе?
В студии? Можешь удалять спп из проекта (не удаляя файл), потом добавить который надо.
Вариантов куча, на самом деле.
Аноним 14/04/23 Птн 21:52:28 #1294 №2672515 
>>2672510
>В студии? Можешь удалять спп из проекта (не удаляя файл), потом добавить который надо.
>Вариантов куча, на самом деле.
Пон. Спс.
Аноним 15/04/23 Суб 07:15:17 #1295 №2672704 
https://leetcode.com/problems/maximum-value-of-k-coins-from-piles/description/
Как подходить к такой задаче? Пишут про меморизацию а я не знаю об этом, не научился так думать.
Аноним 15/04/23 Суб 07:36:02 #1296 №2672708 
>>2672704
> Как подходить
Как и обычно, сначала пытаешься решить самым тупым способом, в этом случае перебором
> меморизация
Не представляю даже что это
Аноним 15/04/23 Суб 10:24:45 #1297 №2672769 
>>2672704
Мемоизация - сохранение результатов вызова функции для аргументов.
Задачу не смотрел, но видимо там будут повторяющиеся рассчеты, их можно хранить в ассоциативном массиве.
Аноним 15/04/23 Суб 10:28:18 #1298 №2672778 
>>2672704
Прочитал. Гугли префиксные суммы. Видимо для каждой стопки нужна своя, потом искать сумму по ней.
Аноним 15/04/23 Суб 19:51:30 #1299 №2673167 
>>2626726 (OP)
Аноны, я почти сделал небольшой проект который генерирует хуйню. В основном старался использовать стандартную библиотеку.
Что дальше? Прикрутить к этому сервер? Сделать тг бот? Приделать гуи?
я вкатыш, не судите строго
Аноним 15/04/23 Суб 20:16:23 #1300 №2673198 
>>2673167
Бот звучит заманчиво. Гуй не надо, это тебя засосет в парашу.
Аноним 15/04/23 Суб 20:19:55 #1301 №2673204 
>>2673167
Гуи - это дохуя ебатни и мороки. Пили его, гуишников мало, опыт бесполезный.
Аноним 15/04/23 Суб 23:09:55 #1302 №2673311 
>>2673204
>>2673198
Гуй прикручу потом, есть кое какие идеи для него
А вообще стоит заморочиться с паттернами, классами или хуячить как получается? Пока это скорее набор функций в одном файле...
Аноним 15/04/23 Суб 23:29:16 #1303 №2673317 
>>2673311
Да, может иметь смысл. Для чего-то очень простого вроде банальной утилиты у которой нет потанцевала для расширения - может и не надо, а вот если расширяешь, особенно раз с гуи чесаться будешь, имеет смысл, особенно в качестве практики.
Алсо, если не пихаешь в гит - начинай, тоже полезная практика. Бранч для гуя, бранч для хуйни, бранч для малафьи, коммит коммит коммит, сразу видно что да как развивается. Даже для мелкохуйни гит норм тема. Необлизательно на гитхаб пихать, можешь локально репу иметь.
Аноним 16/04/23 Вск 01:38:31 #1304 №2673404 
>>2673317
Понял, спасибо. Буду думать над ООП и паттернами.
Аноним 16/04/23 Вск 23:07:01 #1305 №2674217 
Возникла интересная для меня идея приложения. Но интересна она мне будет только в случае, если я смогу на десктоп и телебон ее запрогать. Вкат в телебоны муторный? Или с Qt все просто идет?
Аноним 16/04/23 Вск 23:11:02 #1306 №2674221 
>>2674217
Очень муторный, особенно муторный с Qt. Проще сделать нативное приложение для мобилки, чем заставить Qt одинаково работать везде. Но придётся учить говножабу/говнокотлин.
Аноним 16/04/23 Вск 23:14:32 #1307 №2674225 
>>2674221
Может быть тогда можно связать жабу и плюсы? Чтобы я написал ядро на плюсах, а дальше дергал это из жабы. Есть такой вариант?
Аноним 16/04/23 Вск 23:16:12 #1308 №2674226 
>>2674225
Типо пусть ядро крутится отдельным тредом/процессом, а гуй его дерагет. И гуй уже везде свой
Аноним 17/04/23 Пнд 00:09:43 #1309 №2674246 
>>2674225
Можно, в случае с Андроидом пишешь отдельную динамическую либу и подгружаешь её в приложение на жабе.
Это если приложение умное и всё делает само. Но если у тебя там обычный клиент-сервер, ядро лучше крутить на сервере и обращаться к нему через сеть.
Аноним 17/04/23 Пнд 00:41:30 #1310 №2674255 
>>2674221
Что не так с Qt на мобилке?
Аноним 17/04/23 Пнд 04:51:35 #1311 №2674295 
>>2674221
Одно время на выжил-студии вроде был ксамарин или как его там, для мобильной разработки, это нерилейтед?
Аноним 17/04/23 Пнд 11:21:50 #1312 №2674451 
>>2674295
замарин шарповый фреймворк
Аноним 17/04/23 Пнд 18:32:25 #1313 №2674794 
>>2628060
Я не понимаю, неужели GPT ничего не может тебе толкового сказать?
Этот нейроублюдок половину кода за меня пишет на питоне
Аноним 17/04/23 Пнд 20:12:44 #1314 №2674865 
image.png
Почему пишет undeclared identificator?
Где я его задекларировать должен был? :hmm:
Аноним 17/04/23 Пнд 20:14:47 #1315 №2674867 
>>2674865
# define
Аноним 17/04/23 Пнд 20:15:10 #1316 №2674868 
image.png
>>2674865
бля я тупой. понял. сори
Аноним 17/04/23 Пнд 21:17:04 #1317 №2674932 
image.png
https://0bin.net/paste/SU3qyL3i#xA1s7-pdN9SzVwnXoBanUyJRBKz57+52cSpWyLbXY2A

А можно ли как-то упрощать лупы и прочую хуйню. Ну может их записывать как-то логически, чтоб не теряться? А то я всё никак не могу правильно этот луп сделать.
Аноним 17/04/23 Пнд 21:17:54 #1318 №2674934 
>>2674932
Либо я БАЗУ, ФУНДАМЕНТ забыл касательно лупов, т.к. два дня ниче не делал.
Аноним 17/04/23 Пнд 21:30:29 #1319 №2674943 
image.png
>>2674932
Не понимаю как quit вызвать. Я тупой, видимо.
Аноним 17/04/23 Пнд 21:38:29 #1320 №2674951 
image.png
>>2674943
Аноним 17/04/23 Пнд 21:49:17 #1321 №2674956 
>>2674951
Спасибо огромное, бро!
Получается, что:
>когда выбор не равен слову И выбор не равен выходу
>тогда если напишем хинт - получим подсказу, иначе - извини, не понимаю.
>Предлагаем ввести снова.

А если:
>когда выбор не равен слову или выбор не равен выходу
то мы из лупа не выходим? Или как это понять?
Можете не объяснять, если лень, я завтра на свежую голову ещё подумаю.
Аноним 17/04/23 Пнд 21:52:33 #1322 №2674959 
А ещё лучше - скажите чё почитать, чтоб с логикой этой разобраться. Скорее всего о последовательности и приоритетах?
>>2674956
Аноним 17/04/23 Пнд 22:37:50 #1323 №2674979 
image.png
image.png
>>2674956
В том случае у тебя выход будет только если у тебя загадано слово выход.
Чтобы такое наловчиться понимать рисуй таблицу истинности.
Аноним 18/04/23 Втр 10:21:04 #1324 №2675192 
>>2674979
СПАСИБО!
Аноним 18/04/23 Втр 10:22:49 #1325 №2675194 
Кстати, а что нажать надо в визул студио, что б, например...
1. ctrl+f
2. ищу слово
3. Выделяю слово
4. ???
5. Все схожие слова выделились тоже и я могу их переписать с клавиатуры.
Аноним 18/04/23 Втр 12:03:39 #1326 №2675266 
>>2675194
Чтобы схожие выделились тыкаешь мышкой на них.
Не понял что значит "переписать с клавиатуры". Переименовать эту переменную? Правой кнопкой - Rename, или когда курсор на ней жмешь Ctrl+R Ctrl+R (да, дважды, контрол можно не отпускать).
Аноним 18/04/23 Втр 14:58:54 #1327 №2675420 
Сегодня библиотека не собралась после того как я прописал vcpkg install. Теперь я не знаю, что делать...
Аноним 18/04/23 Втр 15:00:15 #1328 №2675421 
>>2675420
баг забить в гитхаб вцпкг
Аноним 18/04/23 Втр 15:25:49 #1329 №2675438 
image.png
>>2675266
смотри, есть у меня tries. я хочу единовременно все tries на attempt переписать, например. Как это сделать?
Аноним 18/04/23 Втр 15:27:33 #1330 №2675439 
image.png
прим. в саблайме можно нажать find all и он их все выделит и их можно будет переписать
Аноним 18/04/23 Втр 15:41:07 #1331 №2675445 
image.png
>>2675438
>>2675266
>Правой кнопкой - Rename, или когда курсор на ней жмешь Ctrl+R Ctrl+R (да, дважды, контрол можно не отпускать).
Аноним 18/04/23 Втр 15:41:53 #1332 №2675446 
image.png
>>2674979
А как правильно писать a!=b в таком форме? Не после ровно ставить или до или как?
Аноним 18/04/23 Втр 15:42:33 #1333 №2675447 
>>2675445
Всё, пон. Спасибо. ктр+р сначала не работал, пока не перезапустил вскод.
Аноним 18/04/23 Втр 15:44:22 #1334 №2675448 
image.png
>>2675447
>вскод
Я тебе про выжил-студию писал, думал что ты в ней.
Аноним 18/04/23 Втр 15:47:21 #1335 №2675451 
>>2675194
:/search_key
)))
Аноним 18/04/23 Втр 15:49:26 #1336 №2675452 
image.png
>>2675446
Равенство не надо. Когда ты сравниваешь стринги у тебя два варианта - равно или нет. Сама операция сравнения стрингов это булевый результат. Потому сравнения записывай как булевы переменные.
Можешь их отдельно для прстоты вынести.
Аноним 18/04/23 Втр 15:50:43 #1337 №2675453 
>>2675448
вскод это же Визуал Студио? или код!=стандартная?
Аноним 18/04/23 Втр 15:52:47 #1338 №2675454 
>>2675452
Понял. Спасибо ещё раз!
Мне пока что пиздец всё нравится, ток сложно бывает и ошибки какие-то постоянно лезут, я 80% времени ошибки выдаваемые визуал студио фикшу, а не пишу что-то. Надеюсь не заброшу через месяц и будет так же приносить удовольствие, а то у меня АБВГД
Аноним 18/04/23 Втр 16:30:11 #1339 №2675476 
image.png
image.png
>>2675452
Уже минут 30 пытаюсь осмыслить и перенести всё в текст.
Тут получается "a ∧ b", как я понял.
А в каком случае получится " !=a ∧ !=b"? Когда мне надо инвертировать для удобства ПОНИМАНИЯ рез-тат?

UPD: после 10-го переписывания одного и того же куска кода оно таки заработало правильно. Что я изменил - в душе не ебу. Но вроде всё понял после переписывания происходящего в текст.
Аноним 18/04/23 Втр 16:30:55 #1340 №2675478 
> Что я изменил - в душе не ебу. Но вроде всё понял после переписывания происходящего в текст.
Причём заработало оно в момент разбора этого в тексте, так что видимо я к чему-то таки пришел с помощью этого разбора. Понять бы ещё к чему. КЕК
Аноним 18/04/23 Втр 16:32:38 #1341 №2675482 
А ещё я открыл воспоминание из школы, как я ебал в рот всю эту логику, потому что проспал пол урока и потом уже ничего не понимал.
Аноним 18/04/23 Втр 16:36:02 #1342 №2675485 
>>2675421
https://github.com/arvidn/libtorrent/issues/3878
Это пиздец... Я думал vcpkg должно решить все мои проблемы. А нихуя.
Аноним 18/04/23 Втр 16:42:12 #1343 №2675490 
image.png
image.png
>>2675453
Есть IDE под названием Visual Studio https://en.wikipedia.org/wiki/Visual_Studio которая существует с 97 года.
Есть редактор кода под названием Visual Studio Code https://en.wikipedia.org/wiki/Visual_Studio_Code который существует с 2015 кода года.
Это разные вещи.

>>2675454
>Мне пока что пиздец всё нравится, ток сложно бывает
Преодоление сложностей приносит удовольствие.
>и ошибки какие-то постоянно лезут,
С опытом не проходит, просто ошибки другие, лол.
>я 80% времени ошибки выдаваемые визуал студио фикшу, а не пишу что-то.
Не знаю, поможет тебе или нет, но попробуй сменить парадигму, это не вскод выдает ошибки, а ты. Если не будешь смотреть "а где я ошибся", вместо "че этому блокноту от меня надо", то шансов развиваться маловато.
>Надеюсь не заброшу через месяц и будет так же приносить удовольствие, а то у меня АБВГД
Смотри гайды, читай книги, и ты пока не наработал логику и тебе это надо подтянуть.

>>2675476
Разбивай все на атомарные куски пока что.
Вот для выхода, например, из цикла заведи булеву переменную. Потом отдельно булевы подо все. Пока не придет понимание и не будешь тернарники с приведениями писать, попробуй так, потом "усложняй" убирая булы.
Вот твой код, например, для выхода пусть имеет bool shouldContinue = true; который проверяется и меняется в цикле. Хотел shouldExit написать, но лучше положительные булы иметь, так более читабельно.
Аноним 18/04/23 Втр 17:01:01 #1344 №2675506 
Как писать бесконечные циклы? Это ub. Но если они мне нужны?
Аноним 18/04/23 Втр 17:07:41 #1345 №2675516 
Как в clangd указать флаги компиляции для хэдер файла?
Я как понимаю в compile_commands.json хранятся только флаги для cpp файлов, а потом исходя из того откуда ты заинклудил хэдер для него выводятся
Но у меня это в большинстве случаев ломается, например хэдер неожидано забывает на каком стандарте плюсов я пишу, забывает где ему хэдера смотреть и тд

Как чинить????

>>2675506
Бесконечные циклы это не уб, пустые бесконечные циклы - уб
Аноним 18/04/23 Втр 17:20:54 #1346 №2675527 
>>2675516
> Бесконечные циклы это не уб, пустые бесконечные циклы - уб
Не правда. Даже на cpp reference есть пример не пустой
Аноним 18/04/23 Втр 17:29:45 #1347 №2675536 
>>2675516
>пустые бесконечные циклы - уб
Что в пустом цикле может быть неопределенного?
Аноним 18/04/23 Втр 17:31:00 #1348 №2675538 
>>2675536
Что делать компилятору в твоем цикле?
>>2675527
> cpp reference есть пример не пустой
Покажи, может я что то путаю
Аноним 18/04/23 Втр 17:33:49 #1349 №2675542 
>>2675538
https://en.cppreference.com/w/cpp/language/ub
Аноним 18/04/23 Втр 17:43:44 #1350 №2675554 
Если у меня огромная шаблонная функция и в нец лишь кусок зависит от параметров шаблона, то компилятор догадается разбить функцию и не генерировать один и тот же код несколько раз ?
Аноним 18/04/23 Втр 17:45:14 #1351 №2675557 
>>2675490
>Вот твой код, например, для выхода пусть имеет bool shouldContinue = true; который проверяется и меняется в цикле. Хотел shouldExit написать, но лучше положительные булы иметь, так более читабельно.
Понял, спасибо за наглядный пример. А это не будет работать в худшую сторону, что я не привыкаю к нормальному построению/не ищу ошибки? Или это как раз таки наоборот улучшит понимание?
А то я ведь могу налопатить дерьмовые циклы, который будет только на этому булине построены, которые идёт не пойми как и не пойми где.
Аноним 18/04/23 Втр 18:03:41 #1352 №2675580 
image.png
>>2675557
Перефразируй что ты хотел сказать, я что-то недопонимаю.
> я не привыкаю к нормальному построению/не ищу ошибки
Разве твой постинг в этом треде это не поиск ошибок?
>А то я ведь могу налопатить дерьмовые циклы, который будет только на этому булине построены, которые идёт не пойми как и не пойми где.
Можешь, наверное? Надо конкретные случаи рассматривать. Я сделал грубо говоря то же самое что и ты, но вынес проверки из условия цикла, потому что мне показалось что так нагляднее и правильнее для процесса.
Аноним 18/04/23 Втр 18:16:26 #1353 №2675591 
image.png
image.png
>>2675580
>Разве твой постинг в этом треде это не поиск ошибок?


Хорошо, тогда новый вопрос:
Как вернуться к началу цикла из конца после вопрос о продолжение игры? Обернуть ещё в один цикл?
Вызовы main() не подходит, т.к. мне надо учитывать счёт во время игры. С другой стороны я 100% могу вынести счёт за пределы int main(); делать return score, но это пока что слишком сложно и не понятно.
мой уровень интеллекта на ответе в капче
Аноним 18/04/23 Втр 18:17:01 #1354 №2675592 
>>2675591
>Как вернуться к началу цикла из конца после вопрос о продолжение игры? Обернуть ещё в один цикл?
Если чё - не прошу ничего расписывать. Просто кратко, чтоб я сам всё написал.
Аноним 18/04/23 Втр 18:19:24 #1355 №2675593 
>>2675591
БЛЯ ОТБОЙ. НЕ НАДО
Я же могу загуглить:
"как вернуться в начало функции"
Аноним 18/04/23 Втр 18:19:46 #1356 №2675594 
>>2675593
ой, цикла
Аноним 18/04/23 Втр 18:39:45 #1357 №2675615 
image.png
image.png
image.png
>>2675591
>Как вернуться к началу цикла из конца после вопрос о продолжение игры?
Много способов разной степени ужасности.
Пик 1 пример как делать не надо.
>Обернуть ещё в один цикл?
Возможно. А лучше чуть перестроить логику. Пик 2 как сделал бы я.
>Вызовы main() не подходит, т.к. мне надо учитывать счёт во время игры. С другой стороны я 100% могу вынести счёт за пределы int main(); делать return score, но это пока что слишком сложно и не понятно.
Мейн дергать не нужно. Можешь вынести в функцию, но цикл тебе обязателен для повторной игры.
В цикле должна быть инициализация и проверка на повторение, далее вложенность это уже вопрос того хочешь ли ты вкладывать еще один цикл.
В целом не лучшая затея циклы в циклах иметь, большие уровни вложенности негативно сказываются на читабельности.

>>2675592
Извини, я это заметил только после того как расписал. Так что не подглядывай на картинки, если не хочешь.

>>2675593
>>2675594
Вернуться в начало цикла можно... не выходя из него.
Аноним 18/04/23 Втр 18:58:07 #1358 №2675617 
>>2675615
Да это так-то понятно более менее, просто мне ещё надо скор считать, и вот тут я встрял.

Если я определяю интеджер внутри цикла или проверки if/else - то он только внутри цикла будет существовать? И достать его от туда нельзя?

Т.е. мне надо всё, что внутри функции - обернуть в цикл while(cont == true), предварительно создав "int score = 0" и " int finalScore = 0" и "bool = true" вне while.
В while надо создать if( cont == true), где будет весь существующий код. В коде надо получить score из length и за правильное слово к finalScore - добавлять score, а для hint - делать score -= (score/2).
в конце предложить продолжить игру или прекратить, а так же cin >> cont
И вот тогда, после, создать else(т.е. если конт будет не тру), написать 'спасибо за игру' + 'финал скор'.

Звучит, вроде, логично... Но я уверен что я опять какой-нибудь андейфайнд словлю.
Аноним 18/04/23 Втр 19:04:33 #1359 №2675621 
>>2675617
>Если я определяю интеджер внутри цикла или проверки if/else - то он только внутри цикла будет существовать? И достать его от туда нельзя?
Верно.
>В while надо создать if( cont == true), где будет весь существующий код
Необязательно. Как я говорил - большая вложенность плохо влияет на читабельность. Если "иф" больше того что в него не входит, то лучше обернуть то что в него не входит.
while(...)
{
if (cont)
{ / dohuya coda /}
else {/ final words/}
}
->
while(...)
{
if (!cont)
{ /final words/
break;
}
}

Ключевое слово "break" выходит из цикла.
Аноним 18/04/23 Втр 19:05:48 #1360 №2675622 
>>2675617
>>2675621
Уф, нет, в глаза проебался, у тебя уже проверка в самом цикле на cont идет. Тебе ничего дописывать не надо, просто ставишь cont = false когда надо выйти и выходишь, никаких ифов внутри не нужно.
Аноним 18/04/23 Втр 19:22:23 #1361 №2675633 
>>2675527
Сам не пизди и читай стандарт. Volatile переменную дергай.
Аноним 18/04/23 Втр 19:30:20 #1362 №2675643 
>>2675633
О, я понял! Если в программе объявить ВСЕ переменные volatile, UB вообще никогда не будет!
Аноним 18/04/23 Втр 19:33:29 #1363 №2675647 
>>2675643
И оптимизацию выруби от греха, дебажный билд в продакшен хуячь.
Аноним 18/04/23 Втр 19:34:41 #1364 №2675648 
>>2675643
Нет, останется же еще сложение чисел >>2640253

Но если без троллинга, тебе надо всего одна volatile внутри бесконечного цикла, и он уже не UB.
Аноним 18/04/23 Втр 19:52:49 #1365 №2675666 
>>2675538
>Что делать компилятору в твоем цикле?
Крутить цикл и не задавать вопросов.
Аноним 18/04/23 Втр 19:58:29 #1366 №2675671 
Пустой if тоже UB? А пустая функция? А пустой try-catch?
Аноним 18/04/23 Втр 20:45:44 #1367 №2675706 
std::invoke(std::forward<F>(callableObj), std::forward<Args>(args)...);

Какой смысл передавать выделенное через std::forward<>()?
Аноним 18/04/23 Втр 21:00:12 #1368 №2675718 
>>2675706
Не знаю.
Аноним 18/04/23 Втр 21:05:28 #1369 №2675723 
>>2675633
В каком месте я напиздел?
Аноним 18/04/23 Втр 21:19:25 #1370 №2675733 
>>2675621
>>2675622
Спасибо, анон, что помогаешь. Ты меня очень возбуждаешь и побуждаешь
Аноним 19/04/23 Срд 00:18:58 #1371 №2675840 
Двач помоги
Два вопроса:
-При каких условиях getFileSize https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize запишет -1 вместо размера?
-При каких условиях readFile вместо содержимого запишет 0 в буфер?

При этом файл должен существовать.В тырнетах ничего найти не смог.
Аноним 19/04/23 Срд 03:20:00 #1372 №2675886 
>>2675840
>-При каких условиях getFileSize https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfilesize запишет -1 вместо размера?
If the function fails and lpFileSizeHigh is non-NULL, the return value is INVALID_FILE_SIZE and GetLastError will return a value other than NO_ERROR.
Аноним 19/04/23 Срд 13:45:13 #1373 №2676180 
>>2675485
Вот скажите мне, залетному, в чем проблема настроить либу так, чтобы она нормально компилировалась? Это же даже не какая то экзотическая платформа, где надо писать свои дефайны, чтобы нужные функции дергать и дегко накосячить. А ебучий виндовс. Почему нельзя настроить сборку на винду, сука?
Аноним 19/04/23 Срд 15:10:04 #1374 №2676251 
>>2676180
Очевидно потому что вцпкговно и прочее не нужное дерьмо.
Бери сорс собирай на здоровье сам, очевидно же.
Даже не поленился в новую капчу.
Аноним 19/04/23 Срд 15:37:48 #1375 №2676273 
>>2675886
Вопрос не про случаи возврата -1, а про то как такого добиться.
Аноним 19/04/23 Срд 15:39:16 #1376 №2676274 
>>2676251
Студентик, для laba2.cpp да, не надо.

Устроишься на работу первый раз - увидишь, что все дохуя как надо
Аноним 19/04/23 Срд 16:01:03 #1377 №2676285 
Анансы, привет. Я в C++ не разбираюсь, мне нужно только скомпилировать hook, который я нашел на просторах интернета. Но проблема в том, что он использует библиотеку deutours, честно я по разному пытался ее собрать и линкал ее visual studio, он не видит этой библеотеки, когда я ссылаюсь к include <deutours.h>, помАГите плез
Аноним 19/04/23 Срд 17:04:59 #1378 №2676318 
image.png
image.png
>>2675622
Короче при таком коде - когда я что либо ввожу - программа офается.
По идеи у меня следующее:
контр = тру
whike cont true = делать следующий код
if cont true = делать основной код
спросить cin >> cont в самом конце if
Он запускает код по кругу и проверяет, если я пишу фолс - конт уже не тру, и он сразу переходит к else. Но на деле он просто офает код. Даже если тру напишу или любойдругой ввод.
Аноним 19/04/23 Срд 17:06:21 #1379 №2676319 
>>2676318
Убрал вообще елс. он его тупо не выполнял даже.
Получается како-то не так cin >> cont взаимодействует?
Аноним 19/04/23 Срд 17:07:06 #1380 №2676321 
>>2676319
Убрал син конт - начал пускать код по кругу. Чяднт?
Аноним 19/04/23 Срд 17:09:23 #1381 №2676322 
>>2676321
А ещё у меня все cout начали подсвечиваться. Грешу на это и не понимаю как пофиксить. Появилось после добавления int tempScore = 0, если его удалить - то он всё равно подчёркивает ошибку
Аноним 19/04/23 Срд 17:22:15 #1382 №2676332 
>>2676322
Блядь, дурдом. Удалил бул+инт+инт+инт в мейне и луп вайл-иф, после чего нажал ctrl+z и каут перестал подсвечиваться...
Аноним 19/04/23 Срд 17:29:27 #1383 №2676337 
Я уже полностью облегчил код и начал проблемы по одной разбирать, а не писать всё сразу и потом разбираться - но и это не помогает. Уххх.


А cin надо постоянно cin.clear делать после каждого ввода? в коде другого чела увидел...
Аноним 19/04/23 Срд 17:37:14 #1384 №2676344 
Woodpecker.mp4
>>2675706
Бамп.
Я требую объяснений!
Аноним 19/04/23 Срд 17:41:12 #1385 №2676349 
>>2676337
https://0bin.net/paste/+GSi2gWC#K8zNLRpyPhJuiE9UIOJC60skuJpJ-74NpRZbBbXk5Dq
Вот так вот сейчас код выглядит. Всё выглядит элементарно, как по мне. Но почему-то син не меняет тру на фолс и не хочет воспроизводить элс. Совершенно не могу понять, почему.

>>2676344
Я бы помог, если бы понимал что ты пишешь.
Аноним 19/04/23 Срд 17:45:18 #1386 №2676354 
А когда такие вот затупы происходят - что стоит делать?
1. Например гугл не очень помог, я сравнил и понял только то, что стоит под себя код переписать.
2. Стоит ли дальше в нём копаться и разбираться? Может стоит то же самое, но с нуля написать?
3. Стоит ли переписать его под себя? Потому что за основу взят код из книги и вот основной блок игры с циклами - мне не нравится, например, из-за тех же условий, например.
>>2676349
Аноним 19/04/23 Срд 18:30:24 #1387 №2676401 
>>2675706
Почему каждый раз встреча с этой частью языка вызывает у меня тошноту?
Поправляйте:
void f(T&& callable){
invoke(forward<T>(callable));
}
Как я понял, без форвард мы передадим лвалуе. Что может быть важным, если у функции есть cv-quals.
Аноним 19/04/23 Срд 18:30:26 #1388 №2676402 
>>2676349
>если бы понимал что ты пишешь
Зачем форвардить вызываемый объект в контексте std::invoke() ?
Есть вообще такой сценарий, когда это имеет смысл?

Насколько я разумею, std::forward() нужен для того, чтобы перемещение сработало там, где это ожидается.
А у вызываемых объектов в принципе есть чего перемещать?
Аноним 19/04/23 Срд 18:45:14 #1389 №2676417 
>>2676402
>>если бы понимал что ты пишешь
>
Бро, если бы понимал что ты пишешь - в целом о программинге, я ж порофлил. Я вообще нихуя не знаю и профан. KEK
Аноним 19/04/23 Срд 18:46:22 #1390 №2676419 
>>2676402
Сразу понятно, что мой говнокод не посмотрел. сэд
>>2676417
Аноним 19/04/23 Срд 19:18:56 #1391 №2676442 
Сука, да почему этот cin >> cont в любом случае оффает программу. Я уже код переписал, но он всё равно никак не взаимодействует с основным циклом while и if...

Короче пойду какую-нибудь лёгкую программу на лупах писать, чтоб разобраться, что не так...
Аноним 19/04/23 Срд 19:39:22 #1392 №2676449 
>>2676442
Лучше сразу на питонах.
Аноним 19/04/23 Срд 19:44:21 #1393 №2676451 
>>2675840
Бамп

Пробовал и права менять и создавать пустой файл большого размера, все равно не то
Аноним 19/04/23 Срд 19:50:51 #1394 №2676454 
image.png
>>2676442
Бля. Нихуя не понимаю.
Может кто какой-то сайт посоветовать, где я могу в залупах потренироваться/последовательности и пр. пр. и изучить всё это. Пока что мне это явно не даётся...
Аноним 19/04/23 Срд 19:53:37 #1395 №2676456 
>>2676454
А ты вводишь то что?
Аноним 19/04/23 Срд 19:56:12 #1396 №2676457 
image.png
>>2676454
Аноним 19/04/23 Срд 19:59:46 #1397 №2676460 
>>2676456
Да что угодно. Я пытаюсь понять, в какой момент мне вставлять cin > cont1, в какой момент мне просить 'выберите cont1 true or fales', и как при случае true - возобновить цикл while (cont1), потому что куда бы я эту хуйню с син конт1 не вставил - он её продолжать не хочет, а выходит из лупа самого первого и офает программу.

Почему когда я делаю cont1 = true - он её офает? Он же дожен рептить её. Я сто проц куда-то не туда вставляю что-то и не понимаю последовательности.

>>2676457
Так у меня тоже самое ведь, пока конт = тру цикл работает. Только вот если я меняю конт1 на true повторно - то он выходит из цикла. Я вот этого не понимаю, почему он не продолжает работьать.
Аноним 19/04/23 Срд 20:02:51 #1398 №2676462 
image.png
Он же лупиться должен, когда я true ввожу, а не из цикла выходит out of while(1)
>>2676460
Аноним 19/04/23 Срд 20:11:03 #1399 №2676472 
>>2676460
>Я пытаюсь понять, в какой момент мне вставлять cin > cont1
В любой внутри вайла, но чисто логически лучше вставить в конец.
>я меняю конт1 на true повторно
Ты еблан и вводишь true скорее всего. Если бы ты внимательнее смотрел на мой скрин, то увидел бы, что я ввожу 1.

Вкатуны 2023. Итоги.
Аноним 19/04/23 Срд 20:28:56 #1400 №2676491 
>>2676472
Пиздеееееец. Конечно я ввожу тру и фолс. я думал он их как тру и фолс может воспринимать, а, точно, он же тру и фолс как текст воспринимает.
бляяяяяяяяяяяяя
я с этим весь день ебался.
спасибо огромное.
Аноним 19/04/23 Срд 20:30:01 #1401 №2676492 
>>2676472
>Вкатуны 2023. Итоги.
Да это чисто хобби новое, в индустрию вряд ли пойду, потому что я слишком тупой. я творческий рисовальщик, хотя хуй знает, что из этого может выйти
Аноним 19/04/23 Срд 20:34:25 #1402 №2676496 
image.png
>>2676318
Это бесполезный дубликат, потому что у тебя while уже проверяет cont и если ты в цикле поменяешь его, вайл просто не запустится и ты сразу выйдешь из цикла. То что в else не будет выполнено никогда в принципе. Иф первый лишний, элс, соответственно, тоже. Можно второй иф оставить.
>>2676319
Нет, цин тут ни при чем.
>>2676321
Перестал менять условие которое позволяло бы выйти из цикла.
>>2676322
Смотреть надо.
>>2676349
У меня не открывается, картинкой можешь закидывать.
>>2676354
>А когда такие вот затупы происходят - что стоит делать?
Метод резиновой уточки: попытайся подетально объяснить что делает каждая часть твоего кода воображаемому собеседнику, представь что объясняешь младшекласснику или тебя учитель попросил объяснить, или еще что угодно, лишь бы тебя разговорило.
>>2676442
>>2676454
>>2676460
>>2676462
Я не пробовал, но по-моему в бул считывать инпут приведет к тому что любой инпут будет тру. Считывай инпут в стрингу или чар и сравнивай буковку, например.

>>2676472
А hui оно засчитало как false что ли? Никогда не пробовал в булы цином писать, занимательно.
Аноним 19/04/23 Срд 20:44:48 #1403 №2676512 
>>2676496
>Метод резиновой уточки: попытайся подетально объяснить что делает каждая часть твоего кода воображаемому собеседнику,
Да, так и начал делать, сам до этого допердел. Вон >>2676454 Но почему оно не работает, я так и не понял, пока анон не сказал совершенно очевидную хуйню >>2676472



Короче пиздец я ебалн.
Аноним 19/04/23 Срд 20:45:47 #1404 №2676515 
>>2676496
Насколько я знаю, все кроме единицы это false.

Ты свиду умный, в этом шаришь?
>>2675840
>>2676451
Аноним 19/04/23 Срд 21:10:10 #1405 №2676541 
.png
Где здесь C++, guest?!
Аноним 19/04/23 Срд 21:36:36 #1406 №2676581 
>>2676515
>>2675840
Судя по прочитанному - когда файл больше четырех гигабайт, если ты не имел в виду Ex версии этих функций.
Не нашел каких-то заметных способов фейлить их. Тебе зачем в целом, дебажишь что-то?
Аноним 19/04/23 Срд 21:38:04 #1407 №2676585 
>>2676581
>больше четырех гигабайт
Пробовал и 4.5 и 9 гб создавать через fsutil, все равно нет.

>дебажишь что-то
Ну типа.
Аноним 19/04/23 Срд 21:40:09 #1408 №2676589 
>>2676585
Я тупанул, имел в виду ровно четыре гигабайта. Точнее 0xFFFFFFFF байт. Тогда выдача размера совпадет с константой INVALID_FILE_SIZE
Аноним 19/04/23 Срд 21:42:12 #1409 №2676592 
image.png
>>2676589
Т.е. в fsutil размер со скрина выставить?
Аноним 19/04/23 Срд 21:44:43 #1410 №2676599 
>>2676592
Все равно не то :(
Аноним 19/04/23 Срд 21:48:36 #1411 №2676608 
>>2676599
Ничего конкретно про поломку гетфайлсайза не могу найти, функция, видимо, работает весьма прямолинейно. Пока не пойму суть задачи - не знаю куда еще копать.
Аноним 19/04/23 Срд 21:57:00 #1412 №2676622 
>>2676608
Суть - программа выводит одно если 0, другое если 1. Как получить 1 описано на скрине, т.е. должен выполниться тот if. А вот как этого добиться я пытаюсь понять.
Аноним 19/04/23 Срд 22:09:14 #1413 №2676634 
telegram-cloud-photo-size-2-5332369174531524113-y.jpg
>>2676608
Решил воссоздать этот код сам. Читаю через
HANDLE file = CreateFile("filename.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
Получаю размер через
DWORD file_size = GetFileSize(file, NULL);

Диагноз - неверно получает размер файла, но таки выводит (тестировал на 8.38гб), содержимое судя по всему тоже выводит ибо он забит пустотой при создании.
Аноним 19/04/23 Срд 22:17:17 #1414 №2676644 
>>2676622
На каком скрине?
Аноним 19/04/23 Срд 22:17:37 #1415 №2676645 
>>2675840
Что будет, если в другом процессе заблокировать файл через LockFile()?
Аноним 19/04/23 Срд 22:55:34 #1416 №2676663 
image.png
>>2676644
>>2676645
Можно как для обезьяны разъяснить? В пайпе создать новый процесс и там LockFile выполнить?
Аноним 19/04/23 Срд 23:07:04 #1417 №2676666 
>>2676663
Нет, просто напиши отдельную программу, которая будет блокировать этот файл, а из основной программы вызови GetFileSize() и посмотри, что она вернёт. Вдруг как раз -1
Аноним 19/04/23 Срд 23:15:32 #1418 №2676670 
>>2676666
Я же могу сделать то же самое убрав права на чтение.
Аноним 19/04/23 Срд 23:28:40 #1419 №2676680 
telegram-cloud-photo-size-2-5332369174531524195-y.jpg
>>2676670
Отключил права чтения, ситуация пикрил.
Аноним 20/04/23 Чтв 03:44:52 #1420 №2676726 
image.png
>>2676663
>этот внешний вид кода
Ты на Борланде пишешь что ли?
Аноним 20/04/23 Чтв 12:58:53 #1421 №2676967 
>>2676726
На Visual C++ был такой же внешний вид, скорее всего это он и есть на борланде он бы кодил mouse.click:=true
Аноним 20/04/23 Чтв 14:22:40 #1422 №2677040 
image
>>2676726
Джун, спокуха. Это же IDA Pro
Аноним 20/04/23 Чтв 15:03:36 #1423 №2677086 
>>2677040
Джунам и не только в реверсе шарить не обязательно имхо.

Короче я вернулся с новым пониманием проблемы. Мне нужно где-то найти код функций либы windows.h. Или хотя бы адекватную доку а не те полторы строчки, которые есть на сайте майкрософта
Аноним 20/04/23 Чтв 15:07:31 #1424 №2677094 
>>2677040
На пике дама выглядит будто у нее какая-то генетическая умственная болезнь, будто череп малформирован
Аноним 20/04/23 Чтв 15:41:42 #1425 №2677132 
>>2677094
Так люди и выглядели в 1600-1700 годы, как Мантенон
Аноним 20/04/23 Чтв 18:01:05 #1426 №2677258 
image.png
Опять пол дня в стенку долблюсь.
Я правильно понимаю, что цикл работает сверху вниз и даже если у тебя 10 if else if etc то они будут поочередно выполняться?
Как в таком случае сделать так, чтобы ЕСЛИ был использован хинт, - при введение word давал /2 очков? Куда и какую конструкцию вставлять? Добавить в if ещё один cin и if? Тогда как-то хуй пойми как оно работает. Хз короче, совсем запутавася.
Аноним 20/04/23 Чтв 18:03:46 #1427 №2677259 
ЕБАТЬ Я ГЕНИЙ. Я придумал
Я долбавлю счётчик для хинта и сделаю две проверки ворда, если счетчик будет n, то даст /2 а если n1 то фулл скор.

Но нормальное ли это решение?..
>>2677258
Аноним 20/04/23 Чтв 18:11:11 #1428 №2677274 
image.png
>>2677259
Во ебать, хуя я себя сейчас хорошо ощущаю. Прям как будто дофаминчика через шприц в мозг ввели.
Аноним 20/04/23 Чтв 18:27:03 #1429 №2677305 
>>2677274
Чувак... У тебя верстка, то есть отступы
Сбиты
Так легко не заметить, что уровни вложенности не такие, как ты предполагаешь
Проверь control flow
Аноним 20/04/23 Чтв 19:02:57 #1430 №2677340 
>>2677305
Мне не нравится когда вот так
if ()
{
blabla
}
else
{

Мне хочется так, а он автоматом первый вариант делает или хуй пойм как:
if asdfasd {
}else {
}
Аноним 20/04/23 Чтв 19:04:13 #1431 №2677344 
>>2677305
На самом деле мне похуй как - просто он постоянно как попало всё это делает из-за того, что я то интер удалю, то таб, то фигурную скобку не туда впендюрю...
Аноним 20/04/23 Чтв 19:12:58 #1432 №2677361 
>>2677344
Я так пишу:
для функций/классов открывающая{ на отдельной строке
для лямбд/ифов/вайлов -- на той же
вложенный блок, даже если это одна строка без {}
-- всегда на отдельной строке с отступом
все {} блоки -- тоже, что в фигурных скобках -- на один таб больше
хорошо, когда есть автоформатирование, которое так делает, если хирургией кода занимался
особенно заебись, когда at will хуячишь всему файлу автоформат,
и на большую часть кода это никакого действия не оказывает
PS в виме форматирование это =
== действует на строку
=5j на пять строк вниз
Аноним 20/04/23 Чтв 19:29:18 #1433 №2677392 
>>2677340
Первое лучше.
Аноним 20/04/23 Чтв 20:27:57 #1434 №2677448 
>>2677340
>Мне хочется
Tools->Optios->Text editor
Аноним 20/04/23 Чтв 20:31:17 #1435 №2677453 
>>2677340
>он автоматом первый вариант делает
На копипасту или на ввод ';' он автоматом форматирует по заданным правилам форматирования. Можно этот автомат отключить.
Аноним 20/04/23 Чтв 20:39:03 #1436 №2677461 
>>2677448
Он в вскоде а не в студии.
>>2677340
Ctrl+,
Аноним 20/04/23 Чтв 22:41:47 #1437 №2677552 
image.png
короч прогу уже сто раз переписал, сейчас хотя бы цикл нормально работает, но проблема в том, что во второй части while, где if(guess==word&&hintCount==1) и его else - почему-то финалсейвдскор постоянно 0 выдаёт. без разница += или =+ или = - результат один - ноль очков.
Аноним 20/04/23 Чтв 22:42:26 #1438 №2677553 
при этом в хинте - всё нормально отображается >>2677552
Аноним 20/04/23 Чтв 22:50:09 #1439 №2677562 
>>2677552
А, я кажется понял. Мне выдаёт тот, что в конце, а не тот, что в if? а почему в if cout не работает?
Аноним 20/04/23 Чтв 22:52:13 #1440 №2677568 
image.png
>>2677552
после хинта guess the word - работает
Аноним 20/04/23 Чтв 22:57:48 #1441 №2677578 
>>2677568
кажется начинаю понимать. Это как-то с хинт каунтом связано... но если честно - не до конца.
Аноним 20/04/23 Чтв 23:09:50 #1442 №2677589 
>>2677568
=+ азаза
Аноним 20/04/23 Чтв 23:11:19 #1443 №2677591 
>>2677589
у тебя вызывается унарный оператор плюс, который, как правило, просто возвращает свой аргумент
Аноним 20/04/23 Чтв 23:23:52 #1444 №2677600 
>>2677568
>wanto to continue
Ты из этих чтоли, из эсперантистов?
Аноним 20/04/23 Чтв 23:34:19 #1445 №2677607 
16447388290790.jpeg
>>2676634
>>2675840

Бамп

Переформулирую вопрос. Какой файл подать на чтение, чтобы createfile вернул нормальный хендл (т.е. открыл файл), но getfilesize вернул invalid_file_size (т.е. -1)? Весь тырнет уже перерыл и миллион способов попробовал.
Аноним 20/04/23 Чтв 23:49:06 #1446 №2677612 
Если я в коде беру ссылку на переменную, то она в регистр не попадет, что ли?
Аноним 21/04/23 Птн 04:15:05 #1447 №2677661 
>>2677612
Язык c++ никакие регистры не регламентирует. Это не макроассемблер
Аноним 21/04/23 Птн 04:23:49 #1448 №2677663 
>>2677607
Ну там какой-нибудь неймд пайп или хэндл драйвера, или назвать файл "__SIZELESS_PLEASE__"
Аноним 21/04/23 Птн 04:37:56 #1449 №2677664 
Кто/что нормально объясняет проблему рюкзака? Я нихуя не могу принять это построение таблицы, вроде каждый раз читаю объяснение и для каждой конкретной проблемы вроде бы как бы понятно как, но самого понимания нет. Другие алгоритмы норм понял и использую, а эту хуйню не могу.
Аноним 21/04/23 Птн 09:34:29 #1450 №2677750 
>>2677661
Вот мне интересно как компилятор это в итогеикомпилиоует
Аноним 21/04/23 Птн 09:35:10 #1451 №2677751 
>>2677750
Как захочет
Аноним 21/04/23 Птн 10:58:00 #1452 №2677776 
>>2677591
Так, частично понял, а более информативно рассказать можешь? Т.е. у меня возвращается значение плюса? Или что? ну += тоже не работает. Надо просто finalScore = finalScore + score написать?
Аноним 21/04/23 Птн 11:01:21 #1453 №2677779 
Не, так тоже не работает.
Я не понимаю.
>>2677776
Аноним 21/04/23 Птн 11:07:20 #1454 №2677780 
>>2677776
то, что ты написал, это для стандартных типов эквивалентно
значит, ошибка в другом месте
Аноним 21/04/23 Птн 11:30:12 #1455 №2677792 
image.png
>>2677780
Так в каком? У меня даже рабочий вариант есть, который я для упрощения писал - а разницу хоть убей не вижу...
Аноним 21/04/23 Птн 12:01:40 #1456 №2677812 
>>2677792
не могу сказать, код контринтуитивныц
Аноним 21/04/23 Птн 12:24:53 #1457 №2677822 
>>2677812
> контринтуитивный
шо
Аноним 21/04/23 Птн 13:04:02 #1458 №2677845 
>>2677822
hint это подсказка а не ответ answer;
угадать guess а не choose
делишь умножаешь нихуя не поняно
Аноним 21/04/23 Птн 13:30:40 #1459 №2677863 
>>2677845
Чиво...
guess == hint
если guess (cin это - ввод) == hint { do something}
choose - вы выбрали слово и получили половину очков. Ну тут я просто на рандоме написал, т.к. в упрощённом варианте был не guess, а choose a word
Аноним 21/04/23 Птн 13:36:49 #1460 №2677868 
image.png
image.png
image.png
>>2677792
Я тебе помогал и даже я уже не понимаю что твой код должен делать.
Распиши конкретно по кускам что за что отвечает, проследи за потоком и возможными вариантами ветвления (именно это всегда делать надо), проследи за переменными какая за что отвечает.
Вот мой вариант того как я понял твой код мог бы выглядеть.

Что особенно запутывает это вложенность твоего кода, кстати.
Аноним 21/04/23 Птн 13:38:54 #1461 №2677869 
>>2677868
хмм, у тебя много того, чего я не знаю. Мне гуглить всё это?
Аноним 21/04/23 Птн 13:39:25 #1462 №2677871 
>>2677869
прим auto&
и что-то с векторами связанное.
Аноним 21/04/23 Птн 13:40:47 #1463 №2677872 
>>2677868
ну короче спасибо. ща анализировать буду.
Вообще мой код работает в упрощенном виде, просто когда я его перенёс - что-то забыл, видимо, и теперь не могу это найти.
Аноним 21/04/23 Птн 13:49:13 #1464 №2677876 
>>2677871
>>2677869
Это я так инициализирую загаданное слово/хинт, ты делай как делал, я не знаю как ты инициализируешь.
>>2677872
Вот как я расписал попробуй сделать, сам и заметишь что не так. А если нет - выкладывай.
Аноним 21/04/23 Птн 14:01:56 #1465 №2677882 
image.png
Решил, в общем, переписать рабочий код с нерабочего и понял, что просто случайно if guess == theWord - в вайл положил, а не вне него.
(слева рабочий, справа - нет)
Аноним 21/04/23 Птн 14:07:49 #1466 №2677886 
Можно ли привязать текстовое значение к тру или фолс? Как это можно сделать? Например, bool continue = true, но при этом я мог написать в инпуте "stay" или в случае с false - 'leave', и чтоб он регистрировал их как тру и фолс. Как это реализовать?
Аноним 21/04/23 Птн 14:10:53 #1467 №2677890 
>>2677882
И ещё, почему он иногда начинает cout подчёркивать? При этом всё работает. Обычно это происходит, когда я ctrl+c ctrl+v делаю или условие в цикл вписываю и он подчеркивает, пока я его не сотру и заново не напишу идентичное...
Аноним 21/04/23 Птн 14:13:23 #1468 №2677892 
>>2677552
Слушай, а ты прям новичок в программировании или уже чем-то занимался?
Аноним 21/04/23 Птн 14:16:40 #1469 №2677894 
image.png
>>2677882
Да, вот же на третьей >>2677868
показано что у тебя мешанина со вложенностями.
Используй "форматировать документ" хотя бы.
Не помню как в коде, в студии Ctrl+K, Ctrl+D
>>2677886
>bool continue;
>...
>continue = input == "stay";
Разберем:
>input == "stay"
либо верно, либо нет. И это значение ты записываешь в бул.
Тебе не надо проверять на второй стринг потому что у тебя не может быть третьего значения, бул только два хранит, и эти два могут быть либо твоя строка совпадает с одной загаданной нужной, либо нет, так что проверяешь на одну.
Если надо две строки проверять то два була.
>>2677890
Бывает когда интеллисенс тупит. В ошибках не светится - продолжаешь как ни в чем ни бывало.
>>2677892
Я думаю, что по коду ответ очевиден.
Аноним 21/04/23 Птн 14:21:53 #1470 №2677899 
>>2677892
Пол года js где-то, ну и html+css до этого.
Но в какой-то момент js стал выглядеть убогим и трудночитаемым, с каким-то совершенно дикими условиями, где в ряд написано большое кол-во символов, в пермешку с дичью из css, из-за чего я начал путаться и сдался. Совсем не моё.
При этом когда копался в чужом коде по с# (просто ради интереса) - там такого не было и было всё более-менее понятно, даже без знания языка.

>>2677894
>Да, вот же на третьей >>2677868
А, блин. Не обратил внимания. Для меня это совсем не очевидно было.
>Не помню как в коде, в студии Ctrl+K, Ctrl+D
Сработало, спасибо.
Аноним 21/04/23 Птн 14:22:55 #1471 №2677901 
>>2677899
>где в ряд написано большое кол-во символов, в пермешку с дичью из css, из-за чего я начал путаться и сдалс
например слайдер с картинками на сайте каком-нибудь. Как же эта ебала страшна выглядит.
А мне хотелось именно ПОНЯТЬ, а не к бутстрапу прибегать и пр. говну или как это называется.
Аноним 21/04/23 Птн 14:28:27 #1472 №2677902 
>>2677901
Но я не про совсем обычный слайдер, если что. Не тот, который на анимациях затухания, а тот, который перелистывает длинную картинку и репит делает.
Аноним 21/04/23 Птн 14:32:23 #1473 №2677905 
>>2677899
Что по C++ читаешь?

Не обижайся, но твои вопросы прям очень дилетантские, я бы посоветовал тебе без рофла зарегаться на чатгпт и спрашивать у него, аля упрощенный гугл. Оно тебе и объяснит лучше, и примеры кода напечатает.
Аноним 21/04/23 Птн 15:07:05 #1474 №2677928 
Блин застрали херью какой то
Аноним 21/04/23 Птн 15:08:18 #1475 №2677929 
>>2677928
Да вообще, ньюфагу какому-то плюсы помогают освоить, лучше бы спорили что УБ а что не УБ, да?
Аноним 21/04/23 Птн 15:22:47 #1476 №2677944 
>>2677905
> рофла зарегаться на чатгпт
так и делаю. только не у чатгпт, т.к. он в бане
Аноним 21/04/23 Птн 15:52:28 #1477 №2677979 
>>2677944
Чем этот ваш чат гпт лучше стэковефлоу того же? Он хоть ссылки на источники дает?
Как верифицировать-то плоды его фантазии?

Я вот даже если в книжке вижу ответ на свой вопрос, все равно не уверен на 100%, что этот ответ правильный. Даже если это книжка Страуструпа.
Аноним 21/04/23 Птн 17:03:51 #1478 №2678032 
>>2677979
Чатгпт ускоряет написание простого говнокода, который тебе в падлу писать самому. Очевидно, что на сложных вопросах он не вывозит.
Аноним 21/04/23 Птн 17:27:41 #1479 №2678044 
Так, вы тут этот чатгпт упоминаете, а как им пользоваться-то? Я нагуглил сайт, а он не работает.
Аноним 21/04/23 Птн 17:29:22 #1480 №2678045 
>>2678044
Теперь нагугли как пользоваться. Давай ура ура ты справишься
Аноним 21/04/23 Птн 17:34:52 #1481 №2678048 
>>2678045
Так там везде говорится зайти на опенаи, а там не работает, акцес денайд почему-то.
Аноним 21/04/23 Птн 17:43:53 #1482 №2678052 
image.png
image.png
>>2678048
Аноним 21/04/23 Птн 18:11:05 #1483 №2678072 
>>2678052
А че я сделал? Мне-то за что запретили, пидоры? Только за то что я здесь живу? Вот они мудаки.
Аноним 21/04/23 Птн 19:02:54 #1484 №2678125 
>>2677929
Да.
Аноним 21/04/23 Птн 19:03:50 #1485 №2678127 
>>2678125
Ну давай.
Когда оператор ++ даст УБ?
Аноним 21/04/23 Птн 19:07:10 #1486 №2678130 
>>2678127
До C++17.
Аноним 22/04/23 Суб 00:55:08 #1487 №2678346 
image.png
Двач, есть ли способы заставить ReadFile читать максимальный размер DWORD? Выдает ошибку, хотя принимает на вход переменную типа DWORD.
Аноним 22/04/23 Суб 10:27:56 #1488 №2678421 
>>2678346
а буфер ты ему на 4Гб выделил чтоб читать?
Аноним 22/04/23 Суб 10:43:27 #1489 №2678426 
Давайте какой-нибудь аналог чатгпт или что-нибудь типа того. Мне пока что чаракетр АИ помогает, там персонаж-программист, но он иногда тупит жутко.
Аноним 22/04/23 Суб 12:07:56 #1490 №2678479 
>>2678426
Зачем тебе анолог чатгпт, зачем тебе чатгпт
у меня и обычный гпт иногда такую херь пишет
Аноним 22/04/23 Суб 13:00:41 #1491 №2678521 
Какие есть программы для анализа кода? Например я хочу открыть сурсы с гитхаба и чтобы программа мне показывала при наведении на функцию откуда она взялась, где упоминается в других файлах и т.д. Гугл высирается простынями о безопасности типов когда пытаешься гуглить code analyze.
Аноним 22/04/23 Суб 13:12:58 #1492 №2678534 
>>2678521
это ide называется
самый простой способ - vs studio
не самый простой - LSP самый популярный щас clangd
для самых умных - grep
Аноним 22/04/23 Суб 13:16:11 #1493 №2678538 
>>2678534
>vs studio
Visual Studio Studio?
Аноним 22/04/23 Суб 14:01:01 #1494 №2678574 
>>2678538
да нет
Аноним 22/04/23 Суб 14:51:52 #1495 №2678617 
>>2678534
>это ide называется
>самый простой способ - vs studio
Хммм, а разве ИДЕ не будет уметь такое только в своих собственных проектах? Если я открою с помощью vs studio рандомные сишные исходники с гитхаба - он в них разберется?
Аноним 22/04/23 Суб 15:41:41 #1496 №2678654 
>>2678617
>а разве ИДЕ не будет уметь такое только в своих собственных проектах?
Еще умеет в CMake проекты, а всё остальное через боль и превозмогание
Аноним 22/04/23 Суб 16:17:41 #1497 №2678696 
>>2675840
Была такая хуйня, что допустим файл имеет размер в 3 инта, а мой массив в 4 инта. В итоге readFile возвращал пустой массив.

Вот какое решение данной проблемы мне предложил чатГПТ:

Если ваш файл меньше размера массива, то читать его можно следующим образом:

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

2. Затем вы можете скопировать содержимое временного буфера в ваш массив чисел.

Например, если ваш массив чисел имеет тип long long (64 бита), то вы можете выполнить следующий код:

```
#include <fstream>
#include <iostream>

int main()
{
const std::string filename = "file.bin";
const size_t array_size = 64;
long long array[array_size] = {};

std::ifstream file(filename, std::ios::binary);
if (file.good())
{
// Определить размер файла
file.seekg(0, std::ios::end);
const size_t file_size = static_cast<size_t>(file.tellg());
file.seekg(0, std::ios::beg);

// Выделить временный буфер для чтения файла
char buffer = new char[file_size];
file.read(buffer, file_size);

// Скопировать данные из временного буфера в массив чисел
const size_t elements_to_copy = std::min(file_size, array_size
sizeof(long long));
std::memcpy(array, buffer, elements_to_copy);

delete[] buffer;
}
else
{
std::cerr << "Failed to read file " << filename << std::endl;
}

// Вывести содержимое массива чисел для проверки
for (size_t i = 0; i < array_size; ++i)
{
std::cout << array << std::endl;
}

return 0;
}
```

Этот код считывает содержимое файла "file.bin" во временный буфер, затем копирует данные из временного буфера в массив чисел, используя функцию memcpy(). В конце программа выводит содержимое массива на экран.

Обратите внимание, что функция memcpy() копирует данные в байтах, поэтому мы умножаем размер массива на sizeof(long long), чтобы скопировать нужное количество байтов из временного буфера. Если размер файла меньше, чем размер массива, то скопируется только нужное количество байтов.
книги Аноним 22/04/23 Суб 17:39:30 #1498 №2678734 
Народ, тред не читал, но в шапке нету. Посоветуйте для вкатуна в программирование. Начал читать какое-то старье Липмана, где не поддерживаются какие-то пространства имен. Есть годный свежак?
Хочу переделать под себя проект c++
Аноним 22/04/23 Суб 19:43:12 #1499 №2678809 
>>2678734
Боюсь тебе не стоит вкатываться, раз ты шапку осилить не смог.
первая ссылка в шапке
Аноним 22/04/23 Суб 23:27:28 #1500 №2678910 
>>2678809
Я думал на гитхабе код выкладывают, а там еще и такое. Большое спасибо.
Аноним 23/04/23 Вск 10:41:56 #1501 №2679052 
image
Посоны, как называется алгоритм(вроде даже есть в std), когда у тебя есть джва массива, и ты перемещаешь во второй массив только те элементы, которые соответствуют предикату, а первый массив "гравитационно падает"?
Аноним 23/04/23 Вск 10:46:43 #1502 №2679057 
>>2679052
Не оч понял, но мб remove_copy_if?
Аноним 23/04/23 Вск 10:50:18 #1503 №2679060 
>>2679057
>remove_copy_if
Не, не то.
Короче проходимся по каждому элементу arr1, если predicate возвращает true, то перемещаем его в arr2. На месте где был этот элемент в arr1 будет пропуск. После того как прошлись по массиву arr1, все эти пропуски нужно убрать, просто перемещая "гравитационно"(хз как по другому назвать) элементы сверху вниз.
Аноним 23/04/23 Вск 10:54:01 #1504 №2679062 
>>2679052
>>2679057
>>2679060
Все, забейте, нашёл.
https://en.cppreference.com/w/cpp/algorithm/partition_copy
Аноним 23/04/23 Вск 11:19:44 #1505 №2679077 
>>2679062
Блжад, это с 11 стандарта было и я этого не знал, ну что за биздедз. Есть какое-нибудь удобное овервью стандартов часика на четыре на каждый?
Аноним 23/04/23 Вск 13:53:09 #1506 №2679177 
А эти вот всякие гитхаб копайлоты и прочая ебанистика - они же платные? Нет бесплатной хуйни гигов на писят которую себе на комп ставишь и она локально высирает тебе шиткод?
Аноним 23/04/23 Вск 14:23:39 #1507 №2679200 
>>2679077
Да это ненужное же. Этот стл полюзуют только в туториалах, в проде все для себя свое пишут.
Аноним 23/04/23 Вск 14:25:52 #1508 №2679201 
>>2679177
Копилот по умолчанию гтвно потому как рпботает удаленно.
Аноним 23/04/23 Вск 22:04:17 #1509 №2679612 
>>2679177
Poe .com
Аноним 24/04/23 Пнд 17:23:24 #1510 №2680123 
Есть какой-нибудь адекватный гайд как работают std::streambuf-ы и как писать наследуемые классы?
Аноним 24/04/23 Пнд 17:27:37 #1511 №2680134 
https://www.libtorrent.org/
Хуйня ебаная. Дропаю. Не смог собрать. Мб я тупенький. Найду что то другое
Аноним 24/04/23 Пнд 17:32:23 #1512 №2680140 
>>2680134
Почему нельзя просто добавить эту хуйню хоть в conan, хоть в vcpkg.
Аноним 24/04/23 Пнд 17:44:45 #1513 №2680160 
изображение.png
изображение.png
>>2680140
Делал по этой инструкции https://libtorrent.org/building.html
Проделал эти шаги (пик 1,2)
Команда была такая : BOOST_ROOT="" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_COMPILER=clang++-15 -DCMAKE_CC_COMPILER=clang-15 -G Ninja ..
Сборка закончилась словами Creating library symlink libtorrent-rasterbar.so.2.0 libtorrent-rasterbar.so

В Cmake прописал
INCLUDE_DIRECTORIES(/home/username/programming/libs/libtorrent/include/)
add_library(libtorrent SHARED IMPORTED)
set_property(TARGET libtorrent PROPERTY
IMPORTED_LOCATION "/home/username/programming/libs/libtorrent/build/libtorrent-rasterbar.so.2.0.8")
Проект не собирается с ошибками undefined reference to ...
Аноним 24/04/23 Пнд 18:14:13 #1514 №2680196 
ЕБАТЬ. Я СОБРАЛ. ВСе
Аноним 24/04/23 Пнд 18:15:41 #1515 №2680199 
изображение.png
А это мне типо в каждый файл запихать надо что ли? Ебать
Аноним 24/04/23 Пнд 18:16:45 #1516 №2680201 
Только Clion не видит ничего и ругается, хотя собирает
Аноним 24/04/23 Пнд 21:15:05 #1517 №2680384 
>>2680199
В симейке пропиши
Аноним 24/04/23 Пнд 21:22:14 #1518 №2680389 
>>2626726 (OP)
Какие можете посоветовать хорошие книги по современным плюсам? Последние три почти четыре года работал на полузагнившем госпредприятии, где писали на диком гибриде С и древних плюсов и о вещах типа STL, auto или буста даже не слышали. Теперь я снова на рынке труда и осознаю, что мои знания и опыт в общем-то и нахуй не нужны никому, ибо устарели. Что читать, чтобы идти в ногу со временем?
Аноним 24/04/23 Пнд 21:29:25 #1519 №2680396 
>>2680389
Майерс, Саттер, Александреску + несколько докладов с cppCon посмотреть от ГЛЫБ и ГИГАНТОВ айтишечки.
Аноним 25/04/23 Втр 01:51:58 #1520 №2680495 
>>2680396
>Александреску
И что же читать у сего титана? Блевотину 15-летней давности про шаблоны?

мимо баттхертнуты от этого пидараса
Аноним 25/04/23 Втр 02:01:16 #1521 №2680497 
>>2680495
Принципиально не читаешь книги, написанные до твоего рождения?
Аноним 25/04/23 Втр 02:22:15 #1522 №2680503 
>>2680497
>>2656872
Аноним 25/04/23 Втр 06:40:21 #1523 №2680519 
>>2680495
>аряряяяяя шаблны сложнаааа мам скожи че они шаблоны пишууут((((((
Иди на пуфоне кодь, плебс.
Аноним 25/04/23 Втр 13:57:04 #1524 №2680799 
>>2680519
Шизоид, напихивающий шаблоны из-за болезней головы, а не для решения конкретных задач, ты?
Аноним 25/04/23 Втр 14:24:21 #1525 №2680815 
>>2680799
>мам ну скажи им че ани сложна кодют хачу штоб проста была!!!
В веб срыгнись, скриптомакака.
Аноним 25/04/23 Втр 15:04:03 #1526 №2680861 
>>2680815
латентный функциональщик спокнись
сколько полиморфных лямбд сегодня написал?
Аноним 25/04/23 Втр 15:57:18 #1527 №2680939 
>>2680861
>слооожнааа нипаняяятнааа пусть пишут прощииии мам скажи им!!1
Угомонись уже, скрипторебенок, что ты разнылся? Джуном даже не берут?
Аноним 25/04/23 Втр 16:01:01 #1528 №2680943 
>>2680939
а сам-то что на двачах делаешь посреди рабочего дня? или дрочишь пока твои метапирамиды третий час конпелируются?
Аноним 25/04/23 Втр 16:20:56 #1529 №2680967 
image.png
>>2680943
Да. За меня код пишет компилятор, пока ты изливаешь свои неосиляторские бугурты, скриптодикарь.
Аноним 25/04/23 Втр 16:28:39 #1530 №2680982 
image.png
А почему сначала rows а затем columns?
ровс - ряды. колумнс - колонки.

В первую очередь появляется массив 1 потом массив 2?
т.е. в моём случае
= {}
= {{'1'}}
= {{'1','0'...}
= {{...}{...}}

А то я чё-т запутався.
Аноним 25/04/23 Втр 16:55:01 #1531 №2681005 
>>2680982
Поместим по байту в каждую клетку доски 100х100 (международные шашки).
одномерный стобайтный массив это int8_t value[columns]
так как принято смежные байты читать слева направо
двумерный 100х100 это int8_t value[rows][columns]
так как
typedef int8_t row[columns];
typedef row board[rows];
Аноним 25/04/23 Втр 16:57:14 #1532 №2681009 
>>2680982
Как повернешь так и будет, главное чтоб никто не путался.
>А то я чё-т запутався.
Ох, щи-
Контейнер первого порядка у тебя пишется в строку, контейнер в котором он лежит выводишь на каждой новой строке, ряд за рядом, и номер элемента в нем - номер ряда содержащего контейнер первого порядка.
Аноним 25/04/23 Втр 16:58:44 #1533 №2681012 
>>2681005
суть в том что квадратные скобки это оператор индексации, а никак не умножения структуры данных

char value[rows][columns]
первый раз индексируешь value -- получаешь row
второй -- char
Аноним 25/04/23 Втр 18:19:44 #1534 №2681108 
Я не очень хорошо понимаю, что дает создание объекта класса через new и зачем оно нужно. new возвращает ссылку на объект,но зачем она нам нужна? Чем вариант обычного создания MyClass Obj хуже?
Аноним 25/04/23 Втр 18:23:50 #1535 №2681109 
>>2681108
>new возвращает ссылку на объект
нет, возвращает поинтер на объект
> Чем вариант обычного создания MyClass Obj хуже?
тем что оно в конце скоупа умрёт
Аноним 25/04/23 Втр 18:26:37 #1536 №2681110 
>>2681109
>нет, возвращает поинтер на объект
Черт,это я тут описку сделал,честно-честно. Конечно же поинтер,а не ссылку

Спасибо за пояснение.
Аноним 25/04/23 Втр 18:34:48 #1537 №2681114 
>>2681109
Можно какой-нибудь пример ,в котором нам нужен объект,который не должен уничтожаться после выхода из скоупа?
Аноним 25/04/23 Втр 18:42:32 #1538 №2681120 
>>2681109
Тебя спросили чем оно хуже, а не чем оно лучше.

>>2681114
Можно.
Аноним 25/04/23 Втр 19:20:51 #1539 №2681153 
>>2681109
>тем что оно в конце скоупа умрёт

Так это наоборот заебись. А если ты забудешь сделать delete для new объекта(что немаловероятно), то потом заебешься искать где у тебя утечка.
Аноним 25/04/23 Втр 20:14:07 #1540 №2681208 
>>2681153
Ну без указателей ты больше хелрувордов писать не будешь, и даже если ты нахерачишь ретернов ьебе это не поможет.
Аноним 25/04/23 Втр 20:36:47 #1541 №2681230 
>>2681005
Пон. Всё, я просто тупанул жёстко. Спасибо
Аноним 25/04/23 Втр 21:20:51 #1542 №2681263 
>>2680389
>>2662594
Аноним 25/04/23 Втр 21:22:57 #1543 №2681265 
>>2680519
>>2680815
Шаблоны - это недоразумение, вызванное тем, что consteval пилили 10 лет да и то только со второй попытки после constexpr.
Аноним 25/04/23 Втр 21:25:25 #1544 №2681267 
>>2681114
Любая функция типа createWindow() createWidget() и так далее результат которых ты будешь передавать в другие функции типа renderMahWindow(window)
Аноним 25/04/23 Втр 22:15:51 #1545 №2681297 
>>2681265
Как consteval заменит шаблоны? Как по-твоему должны работать контейнеры без шаблонов? И что с тобой не так?
Аноним 25/04/23 Втр 22:41:55 #1546 №2681311 
>>2681297
да как в любом современном языке, например Zig.

Что нибудь типа
auto get(auto t) {
if(consteval isFloat(t)) { return 1.0; }
else if(consteval isInt(t)) { return 2; }
}
конечно еще лет 9 придется подождать нормальной рефлексии...
Аноним 25/04/23 Втр 23:04:32 #1547 №2681330 
image.png
>>2681311
Аноним 25/04/23 Втр 23:10:56 #1548 №2681333 
>>2681208
Чего блять? Причем тут указатели и ретерны?
Я пишу что если ты забудешь удалить new объект из скоупа(а это частая ошибка) - то это хуево, даже в книгах пишут что всегда оптимальнее юзать Obj obj; без явного указания создания объекта.
Аноним 25/04/23 Втр 23:20:24 #1549 №2681340 
>>2681153
Для этого есть смартпоинтеры.
>>2681108
Удачи создавать все объекты на стеке, ограниченном одним мегабайтом. Даже пару картинок в память не загрузишь.
Аноним 25/04/23 Втр 23:21:30 #1550 №2681341 
>>2681333
Такое ощущение, что ты вообще на плюсах никогда не писал.
Аноним 26/04/23 Срд 00:41:04 #1551 №2681401 
>>2681297
Так же как в правславном си, через макросы.
на кторых плюсы и написаны
Аноним 26/04/23 Срд 01:13:19 #1552 №2681424 
image.png
Как этот пиздец осилить? Я уже со второй главы поплыл. Блять вот так всегда нахуй, не понимаю и дропаю, наверное мне дано и я просто тупой(
Аноним 26/04/23 Срд 07:28:23 #1553 №2681499 
>>2681311
> > Как consteval заменит шаблоны?
> да как в любом современном языке
> Что нибудь типа
> auto get(auto t) {
> if(consteval isFloat(t)) { return 1.0; }
> else if(consteval isInt(t)) { return 2; }
> }
Ну да, все же знают, что ничего сложнее хеловорлд и физзбазза нормальный программист не пишет, это несовременно.
Аноним 26/04/23 Срд 07:56:35 #1554 №2681502 
>>2681340
> Удачи создавать все объекты на стеке, ограниченном одним мегабайтом. Даже пару картинок в память не загрузишь.
Он может возразить, что для этих целей нужно просто использовать библиотеку, который предоставит обёртку под это. Какой-нибудь PngImage, который в стеке займёт байтов 40, например, а в кучу полезет сам, чтобы тебе не пришлось. Так же и динамический массив используют в обёртке std::vector. И получается, что new нечасто приходится использовать, если ты программируешь на высоком уровне. А уже на "среднем" (даже не на низком) уровне, когда тебе нужен собственный контейнер или пресловутый PngImage, выгружающий картинку в память, тут без new никак. От себя добавлю, что QT, например, из-за своей изъёбистости, может просто принудить тебя создавать новые объекты через new, когда окажется, что контейнеры не способны хранить QObject.
Аноним 26/04/23 Срд 10:16:35 #1555 №2681573 
>>2681341
Конечно не писал. И авторы книг, которые рекомендуют использовать new минимально и 10 раз подумать об этом тоже не писали. Зато нонейм с двачей писал

>>2681340
Да, смартпоинтеры как 1 из вариантов хороши.
Аноним 26/04/23 Срд 10:44:57 #1556 №2681602 
image.png
это для удобства так делают?
объявлено как
#define JS_PUBLIC_API
#define ..
.....
Аноним 26/04/23 Срд 13:35:20 #1557 №2681755 
>>2681330
Че за isFloat. Они обычно все через шаблоны пишутся, а не перегрузки
Аноним 26/04/23 Срд 13:39:22 #1558 №2681759 
Господа, в чем разница между Visual Studio Community, Pro и Enterprise? Насколько сильно Community урезан?
Аноним 26/04/23 Срд 13:57:54 #1559 №2681771 
>>2681602
Это может быть нужно для генерации кода или документации сторонней утилитой. То есть в с++ ничего не происходит, но в какой нибудь либе в экспорте помечены доступными только они.
Аноним 26/04/23 Срд 14:18:30 #1560 №2681786 
>>2681759
Комунити полноценный уже давно, лет пять наверное.
Про и ынтерпразь отличаются подключенными тим-хуйнями и интеграциями с мелкософтовыми сервисами, ничего из того что тебе как одиночке когда бы то ни было могло бы пригодиться за редкими исключениями.
Аноним 26/04/23 Срд 14:19:24 #1561 №2681787 
>>2681786
>>2681759
А, и еще аддоны вроде к коммунити нельзя было прикручивать, так что хуй тебе а не решарпер какой-нибудь, вот что может быть важно. Может можно уже, но решарпер платный (был когда в последний раз смотрел)
Аноним 26/04/23 Срд 16:03:38 #1562 №2681940 
>>2681755
у того полуебка спроси
заодно поинтересуйся знает ли он значение ключевого слова consteval
хотя по его посту и так все ясно
Аноним 26/04/23 Срд 16:23:39 #1563 №2681957 
>>2681602
#ifdef ZDELOTb_DLL
#define JS_PUBLIC_API __dll_export
#else
#define JS_PUBLIC_API
Аноним 27/04/23 Чтв 09:28:28 #1564 №2682319 
>>2681787
>А, и еще аддоны вроде к коммунити нельзя было прикручивать
У меня на комунити стоит 1 простенький плагин.
А, и PVS Studio тоже как плагин подрубается.

>>2681759
>Насколько сильно Community урезан?
Из того, с чем я сталкивался в 2019 версии: 1) в режиме отладки нельзя шагать назад; 2) недоступны фичи по метрикам кода, в частности нельзя узнать сколько строчек кода ты наговнокодил.
Аноним 27/04/23 Чтв 09:32:11 #1565 №2682322 
>>2682319
Еще вспомнил. Нельзя сменить встроенный браузер. Там гвоздями прибит IE, который больше не работает.
Аноним 27/04/23 Чтв 18:25:50 #1566 №2682889 
>>2681759
на рабочем ноуте стоит Профессионал честно купленная, на пеке домашней коммунити - а мой взгляд разницы вообще никакой нету.

>>2681787
Нельзя аддоны было ставить на Express, Экспресс уже давно мертв.
Аноним 28/04/23 Птн 19:27:59 #1567 №2683762 
Гайз, изучаю щас ооп по Head First Design Patterns и задаюсь вопросом:
А как собсно говнокодить БЕЗ raw указателей? Шейред птр превращает нейминг это учитывая что я всюду тайпдефаю в залупу.
Ссылки не везде прокатывают.
Есть ещё какие нибудь варианты?
Аноним 28/04/23 Птн 19:33:12 #1568 №2683765 
Создан итератор, почему надо писать
cout << "\nThe item name ’" << myIterator << "’ has ";
cout << (
myIterator).size() << " letters in it.\n";

(*myIterator) в скобках? Что будет, если я напишу не в скобках?

Типа myIterator - это объект и я показываю имя объекта. А во втором случае я обращаюсь к дереференсу(eh?) и считаю его сайз, но зачем там скобки? Почему я не могу без скобок написать дереференс?
Хотя не, дереференс это же просто цифра... нихуя не понял...
Аноним 28/04/23 Птн 19:41:14 #1569 №2683773 
>>2683765
Аааа... Понял.
Дереференсет - имеется ввиду из референса передаёт вэлью. А если сайз вызвать обычному, без круглых скобок, то он выдаст сайз элемента?

Хотя нахуя там скобки я всё равно не понял...
Аноним 28/04/23 Птн 19:42:37 #1570 №2683775 
>>2683765
Я смешарик в итераторах, но
it.size() - вызов метода у итератора
(*it).size() - вызов метода у объекта, кмк
Аноним 28/04/23 Птн 19:47:54 #1571 №2683779 
>>2683775
Понял. Звучит логично. Пойду гуглить, спасибо.
Аноним 28/04/23 Птн 19:50:39 #1572 №2683782 
>>2683779
нихуя не нагугли. Ну и хуй с ним.
>>2683775
В первом случае же - вызов метода и итератора - вот как я выше написал, он выведет size самого итератора? Т.е. он всегда будет равен количеству символов в номере итератора?
Аноним 28/04/23 Птн 19:54:27 #1573 №2683786 
>>2683782
Ну у меня ругается на ноу мембер сайз ин истрим итератор, что как бы намекает
Аноним 28/04/23 Птн 19:55:31 #1574 №2683788 
>>2683786
Для меня это как пук в воду. Интересно, но не понятно. Т.е. функция сайз не работает с итераторами?
Аноним 28/04/23 Птн 19:57:40 #1575 №2683794 
>>2683788
Какая функция size()?
Такого метода у итераторов(я конкретно про istream_iterator) нет.
Ты про sizeof?
Аноним 28/04/23 Птн 20:06:09 #1576 №2683802 
>>2683794
>Такого метода у итераторов(я конкретно про istream_iterator) нет.
всё, пон, спс.

А почему у *it.size() такой функции нет, почему её не сделали? Зачем эти злоебучие скобки? Я просто не очень понимаю, нахуя они нужны, если можно было бы просто функцию size() для .it сделать.

Может просто правило какое-то есть или ещё что...
Аноним 28/04/23 Птн 20:07:04 #1577 №2683805 
Не, я типа понял, что так надо писать, а не иначе, но зачем для обращения к объекту надо скобки ставить. Или так во всех дефолтных библиотеках или как это называется с++?
>>2683802
Аноним 28/04/23 Птн 20:10:23 #1578 №2683811 
>>2683802
У * приоритет ниже, чем у вызова функции.
Аноним 28/04/23 Птн 20:34:28 #1579 №2683851 
А, во, мне далее в книге пояснили, что можно ещё так:
myIterator->size()
Как я понял исходя из этого >>2683811 это уровень вложенности или что-то типа того?
Аноним 28/04/23 Птн 20:37:37 #1580 №2683853 
>>2683851
Думаю что
->
Просто возвращает (*it)
Аноним 28/04/23 Птн 20:43:26 #1581 №2683858 
Только я не очень понимаю, как это читается. Вот в случае со struct - я понял.
struct MyStruct {
int member1;
double member2;
};
MyStruct *myStructPtr = new MyStruct();
myStructPtr->member1 = 42;

А вот в случае с гумозным it->size() - не очень. Тут наверное надо глубоко залазить в дебри кода и понимать, как оно работает, чтоб воспринимать это на 'человеческом языке'.
Т.е. даже если так подумать, итератор это контейнер, который лежит где-то и имеет вэлью. Т.е. мы из этого контейнера перемещаемся к вэлью на уровень ниже?
>>2683851
Аноним 28/04/23 Птн 20:44:58 #1582 №2683860 
>>2683858
Хотя стоп. Это же одно и то же...
Аноним 28/04/23 Птн 20:55:43 #1583 №2683871 
>>2683853
для указателя ptr->x это (⚹ptr).x
для инстанса класса, допустим, итератора:
iter->x это (iter::operator ->())->x
Аноним 28/04/23 Птн 20:56:20 #1584 №2683872 
Какие +- у статической и динамической линковки?
Аноним 28/04/23 Птн 20:59:22 #1585 №2683875 
>>2683871
(iter.operator ->()) я имел в виду, ну это понятно
для стлевских итераторов возвращает iterator::pointer_type
если написать operator -> возвращающим объект, скажем, shared_ptr, то и для него будет вызван operator ->, пока компилятор не доберется до указателя настоящего
Аноним 28/04/23 Птн 21:00:58 #1586 №2683876 
изображение.png
Че думаете насчет такого кода?
Аноним 28/04/23 Птн 21:01:46 #1587 №2683877 
>>2683765
Гугли приоритеты операторов
Аноним 28/04/23 Птн 21:03:09 #1588 №2683878 
>>2683876
не скомпилируется
в main() все четко
Аноним 28/04/23 Птн 21:04:07 #1589 №2683879 
>>2683878
Сухяли не скомпилируется?
Аноним 28/04/23 Птн 21:04:45 #1590 №2683881 
изображение.png
ладно, давайте для душних скрин лучше сделаю
Аноним 28/04/23 Птн 21:05:19 #1591 №2683884 
>>2683879
а что, компилируется? круто
просто непонятно, что делает код полезного, и у меня включились игры разума
Аноним 28/04/23 Птн 21:06:23 #1592 №2683885 
>>2683881
может, ты s очищать хотел?
Аноним 28/04/23 Птн 21:06:42 #1593 №2683886 
>>2683885
Не. Все на скрине правильно
Аноним 28/04/23 Птн 21:06:56 #1594 №2683887 
>>2683765
У оператора выбора члена приоритет выше, чем у оператора разыменования. Поэтому ★iterator.size() равносильно ★(iterator.size()), а тебе нужно именно (★iterator).size(). Хотя для итераторов, как и для указателей, работает стрелочка: iterator->size().
Аноним 28/04/23 Птн 21:08:19 #1595 №2683889 
>>2683886
это ты играешь в аллокаторы?
Аноним 28/04/23 Птн 21:10:06 #1596 №2683890 
>>2683889
проебал каламбур
>играть в пул-аллокаторы
Аноним 28/04/23 Птн 21:59:25 #1597 №2683921 
image.png
>>2683875
сложна...
А поясните вот эту приколюху.
Мы создаём строку софар(слово выбранное выше, '-') - типа, чё это за хуйня в скобках? Я могу СТРОКАМ передавать ПАРАМЕТРЫ? О_О Как это вообще работает? Я либо чё-т забыл, либо мне это не объяснили по книге.
Или я что-то не так понял?..
Аноним 28/04/23 Птн 22:04:19 #1598 №2683925 
>>2683921
А. Всё. Я понял. Бот пояснил. Короче стрингу с названием можно передать 1. длину. 2. символы. Забыл, видимо.
Аноним 28/04/23 Птн 23:29:49 #1599 №2684041 
image.png
Чё я не так делаю? Пытаюсь каким-либо образом введенное слово перевести в апперкейс. (Это вообще адекватный способ?)

И заранее спрошу(я ещё до этого не дошёл): можно же код выше вынести в отдельную функцию, чтобы постоянно её не писать каждый раз после cin >> guess
Прим.:
cin >> guess
upperFunction(param1); // (param1 = guess)
Функция, которая в свою очередь повторяет код с пика. Как в таком случае добавить параметр в функцию, чтоб я мог ввести guess в качестве param1 (предполагаю, что int upperFunction(param1) и далее его в коде функции использовать) и что писать в return(явно не ноль, а как-то выводить конечный результат).

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

Спасибо. Прочитаю уже завтра
Аноним 28/04/23 Птн 23:33:18 #1600 №2684045 
>>2684041
char - зарезервировано под тип данных.
Назови c
Два: убери конст. Ты же меняешь ее.
Аноним 28/04/23 Птн 23:34:48 #1601 №2684047 
>>2684041
Вот раз ты не понимаешь что пишешь const auto &, то не используй пока это.
Сделай через обычный цикл.
Аноним 28/04/23 Птн 23:46:22 #1602 №2684053 
lina-tv.png
Какой язык программирования лучше всего подходит для написания производительных веб-серверов? Конечно, C++!
Мы спросили уважаемого Вонни, члена ISO C++ Committee:
-- Чем вы обрабатываете HTTP-запросы?
-- С помощью Boost.Beast
Мы спросили сеньора Потчка:
-- Как вы роутите разные пути и методы запросов?
-- С помощью <variant> и std::visit. Парсинг пути -- в зависимости от проекта, Boost.Spirit либо руками.
И мы спросили миддла Болка:
-- Вы нам не пиздите?
-- Код я еще не написал, но выглядит разумно.

https://lina-tv.ru/
Аноним 29/04/23 Суб 11:01:39 #1603 №2684189 
>>2684047
Да я, вроде, почитал объяснения, не не до конца понял, как оно работает.
Аноним 29/04/23 Суб 14:01:41 #1604 №2684339 
>>2684189
Напиши просто через обычный цикл, все станет понятно.
А потом исследуй, как можно это упростить.
Аноним 29/04/23 Суб 16:16:05 #1605 №2684449 
image.png
>>2684339
Ну обычный цикл не сложно написать...
Аноним 29/04/23 Суб 16:36:46 #1606 №2684466 
image.png
Не могу только нагуглить, как вывести в ретурн именно g. У меня он её подчеркивает. Только что спросил у бота - он показал пикрелейтед 2, т.е. тоже самое.
IDE жалуется на конверсию из стринга в инт. Я так полагаю, в ретурн можно передавать только цифровые значения. Получается надо как-то конверить строку в инт?
Аноним 29/04/23 Суб 16:37:32 #1607 №2684467 
image.png
>>2684466
>пикрелейтед 2
отвалился.
Аноним 29/04/23 Суб 16:38:33 #1608 №2684470 
>>2684467
>>2684466
бляяяя, я тупой. отбой.
Аноним 29/04/23 Суб 16:47:03 #1609 №2684478 
>>2684466
>When a variable is passed by reference, changes made to it inside the function are reflected in the original variable. This is in contrast to passing by value, where a copy of the variable is created and changes made inside the function do not affect the original variable.
Т.е. когда мы используем референс, мы работаем напрямую с вэлью оригинальным. Таким образом & создаёт временный референс для каждой буквы в оригинальном guess
А в случае, когда мы этого не делаем, то вэлью менется только внутри функции.
Правильно понял? Т.е. буквально мы ссылаемся на внешний вэлью(вне функции)?
Аноним 29/04/23 Суб 17:32:51 #1610 №2684510 
Почему лучше писать в конструкторе передачу по значению, а потом мувать, чем писать константную ссылку, а потом копировать?
Аноним 29/04/23 Суб 19:51:26 #1611 №2684572 
>>2684510
Очевидно что тебе не приходится копировать объект при "муве".
Бля если ты тот же анон, что выше ковыряет язык - забудь про этот аспект языка, он тебе пока нахуй не нужен и только сломает моск.
Аноним 29/04/23 Суб 19:59:12 #1612 №2684576 
>>2684510
Потому что приссылуе тебе придется функцию перегружать два раза, для лвэлью ссылки, и для рвэлью ссылки
Ну а если по значению брать, то там всего на один мув конструктор больше, а он должен быть дешёвым

на самом деле про перегрузку два раза не совсем правда, можно всякими приколами это обойти, но код такие финты только загромоздят
Аноним 29/04/23 Суб 20:09:28 #1613 №2684578 
>>2684576
А можно специально ради этого сделать шаблонную функцию, чтобы perfect forwarding заработал?
Аноним 29/04/23 Суб 20:11:47 #1614 №2684579 
И почему тут нет костыля как в perfect return? Или есть
Аноним 29/04/23 Суб 20:16:39 #1615 №2684582 
>>2684578
Можно, но сам понимаешь что запарно, собственно я под приколом это и имел ввиду
что то вроде подобного
func(auto&& arg) requres decltype(arg) == my_type {}
псевдокод
Аноним 29/04/23 Суб 20:22:28 #1616 №2684586 
>>2675538
> Что делать компилятору в твоем цикле?
Не выполнять следующие за циклом операторы.
Аноним 29/04/23 Суб 20:26:28 #1617 №2684588 
>>2684586
компилятор никаких операторов не выполняет
компилятор компилирует твой код в ассемблер, как ты видишь код с бесконечным пустым циклом в ассемблерном эквиваленте?
Аноним 29/04/23 Суб 20:27:39 #1618 №2684589 
>>2684588
Jmp на самого себя
Аноним 29/04/23 Суб 21:42:17 #1619 №2684639 
изображение.png
>>2684589
если Ты Сын Божий, бросься вниз Jmp на самого себя, ибо написано: Ангелам Своим заповедает о Тебе, и на руках понесут Тебя, да не преткнёшься о камень ногою Твоею
Аноним 29/04/23 Суб 21:50:12 #1620 №2684648 
>>2684576
А когда нам может быть проблематично отсутствие перегрузки для rvalue? Разве не всегда эту ссылочность можно убрать?
Аноним 29/04/23 Суб 22:58:30 #1621 №2684702 
изображение.png
Сколько копирований в таком коде?
Аноним 29/04/23 Суб 23:27:14 #1622 №2684717 
Все, я все понял с конструкторами
Аноним 30/04/23 Вск 00:09:22 #1623 №2684738 
Хочу написать класс, который будет заниматься хранением файлов. То есть дает возможность писать в файл, читать. Но это все должно быть буфферезированно. То есть хочу, чтобы он выделил себе в оперативке память, сначала туда хитрым образом писал, а потом, когда она кончится, сбрасывал все на диск. Для этого у меня есть абстрактный класс block у которого два наследника. Для памяти и для диска. Потом мне надо будет понимать где лежит блок. В памяти или оперативке. Как это лучше делать? динамик кастом или override функции?
Аноним 30/04/23 Вск 00:15:41 #1624 №2684742 
Понимаю, что не туда спрашиваю, куда нужно, но всё же.
Всем привет, я долбоёб!
Имеется два проекта на плюсах, один представляет из себя либу, которую постоянно пишу, а второй - основной проект, в котором либу использую. Пока что они у меня лежат в соседних папках, по необходимости пушатся в гит. При этом использую cmake + git submodules. Т.е. либа прописана в основном приложении как сабмодуль (соответственно, либа сразу в двух местах на диске - по соседству с основным приложением и внутри него же, но как сабмодуль). Подход походу дурацкий, потому что я заебался обновлять сабмодуль с либой руками. Не понимаю, как правильно реализовать подключение зависимости, которая разрабатыватся параллельно с основным кодом? Гит сабтри решит проблему? Может, сделать ход конём и поместить либу внутрь основного проекта, при этом прописать папку либы в гитигнор? Но как тогда в гите зависимость прописать? Уууу сука, уже третий день жопа горит от своей тупости и не знания методик.
Аноним 30/04/23 Вск 00:19:12 #1625 №2684743 
>>2684738
Или проще вообще nmap сделать и пусть ОС ебется как хочет?
Аноним 30/04/23 Вск 01:02:44 #1626 №2684785 
>>2684742
>>2684742
>по соседству с основным приложением
нахуя?
Аноним 30/04/23 Вск 01:09:56 #1627 №2684791 
>>2684785
>нахуя?
Ну либа отдельно, приложение, использующее её - отдельно, в чём проблема? Либа достаточно большая, заслуживает отдельного репозитория.
Аноним 30/04/23 Вск 01:13:23 #1628 №2684792 
>>2684742
Что мешает ссобирать либу как шаред и просто лигковать к основному проекту?
Я так делаю уже оооочень давно для этапа оазработки, разумеется просто все что можно выносишь в отдельные шаред либы и конкретно текущий модуль легко править.
Аноним 30/04/23 Вск 01:23:16 #1629 №2684797 
>>2684792
Желание предоставлять в каждом коммите рабочую сборку, а для этого мне надо же каким-то образом предоставлять зависимости вместе с основным проектом, делаю это сабмодулем. В пакетник какой-то засовывать пока не хочу, средствами смейка решать типа fetchcontent - тоже хуйня какая-то. Ну и сабмодуль позволяет собирать одной кнопкой всё, без сборки либы + сборки проекта в два этапа. Одно только плохо - обновлять руками сабмодуль приходится, поэтому стало интересно, какие здоровые подходы есть для подобной нонстоп разработки
Аноним 30/04/23 Вск 02:50:22 #1630 №2684814 
>>2684791
так зачем тебе вообще вторая копия, если можно сделать cd в субмодуль во втором терминале?
Аноним 30/04/23 Вск 03:11:42 #1631 №2684823 
>>2684814
>так зачем тебе вообще вторая копия
основной проект - гит репозитарий. Либа - гит репозитарий. Оба отслеживаются и коммитятся регулярно. Добавить репозитарий в другой репозитарий и отслеживать оба как два отдельных проекта нельзя, или я чего-то не знаю?

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

Мотивация такая: у проекта есть зависимость от либы. Необходимо эту зависимость автоматом подтягивать к пользователям. Каким инструментом можно это сделать? Я пока решаю это так, что внутри основного проекта есть папка с зависимостями, где сабмодули и лежат, в т.ч. сабмодуль с либой.
Аноним 30/04/23 Вск 03:51:34 #1632 №2684834 
>>2684823
так у тебя субмодуль уже гит репозиторий
зачем тебе вторая его копия на том же уровне что проект
Аноним 30/04/23 Вск 13:07:33 #1633 №2684935 
>>2684478
Бамп. Я всё правильно понял?

А вообще понимания таких сложных вещей - со временем лучше становится? Или это всё чисто дрочь и запоминание и понимание терминологии?
Аноним 30/04/23 Вск 13:14:28 #1634 №2684942 
И ещё такой вопрос: учить лучше на английском, русском или на обоих языках? Просто вот я понимаю, что такое member, и перевод слова знаю, но вот что на русском под этим подразумевается - я понятия не имею. Ток гугл ответил - члены хе-хе, а я автоматом в голове как участники воспринимал и не очень звучало
>>2684935
Аноним 30/04/23 Вск 15:32:05 #1635 №2685052 
>>2684588
b .
Аноним 30/04/23 Вск 15:52:30 #1636 №2685063 
>>2684588
Имелось ввиду игнорировать операторы, которые идут после бесконечного цикла. Компилятор имеет право так сделать, и это действительно уб.
Аноним 30/04/23 Вск 19:54:08 #1637 №2685256 
>>2684942
Большая часть этих слов имеет русский перевод. Читать надо уметь на обоих языках, при наличии оригинала - в оригинале.

Твой капитан
Аноним 01/05/23 Пнд 11:17:43 #1638 №2685562 
сап наносеки
как понять ебанные массивы?
понимаю практически все ооп,функции и т.д.
но написания кода с помощью массива и цикла даются невероятно тяжело.
даже вот сегодня час потратил на задание по сумму всех элементов массива и получилось, слава богу
может мне неправильно о них рассказали и т.д.
есть какие-то источники по этой теме, который раскрывает полностью массивы
с меня нихуя
спасибо
Аноним 01/05/23 Пнд 15:00:42 #1639 №2685733 
>>2685562
>невероятно тяжело
Когда мамка даёт пронумерованный список продуктов и отправляет в магазин, тоже зависаешь?
Аноним 01/05/23 Пнд 16:06:14 #1640 №2685763 
>>2685562
Пальчики загибай когда массив индексируешь.
Аноним 01/05/23 Пнд 17:13:33 #1641 №2685807 
>>2685562
Что за задание?
Аноним 01/05/23 Пнд 19:42:16 #1642 №2685959 
>>2685256
Я спрашиваю нужно ли знать перевод слов на русский, если понимаешь на английском, потому что в программирование совсем не прямой перевод слова, а адаптация под русскоязычные понятия.
Аноним 01/05/23 Пнд 22:16:52 #1643 №2686071 
>>2685959
Я бы сказал, что если тебе встречается понятие в процессе разработки, ты должен уметь его назвать на хотя бы одном языке, то есть треугольник: 0) мир идей 1) русский 2) ангельский
ну и в процессе левелапов у тебя все больше нейронных связей
Аноним 02/05/23 Втр 14:41:36 #1644 №2686478 
аноны есть еще какие-то сайты с задачками?
кроме leetcode
Аноним 02/05/23 Втр 15:27:54 #1645 №2686523 
>>2686478
Кодварс.
Аноним 02/05/23 Втр 21:56:17 #1646 №2686849 
Есть либа которая очень просто устанавливается на linux, но сама она кроссплатформенная. Что легче - установить ее на винду или собрать с линукса на винду?
Аноним 02/05/23 Втр 22:20:58 #1647 №2686864 
>>2686478
acmp.ru
Аноним 02/05/23 Втр 22:41:16 #1648 №2686875 
Кто нибудь работал с vlclib? Задача. У меня есть файл битый в многих местах (известно какие участки доступны, а какие нет). И надо уметь воспроизводить файл через vlc работая с битыми участками. То есть как то понимать какой участкок нужен и пропускать его. Я поигрался, vlc умеет воспроизводить файлы, если кусок просто пропущен, но на куске падает.
Аноним 03/05/23 Срд 10:47:12 #1649 №2687064 
09-36-53.png
Аноним 03/05/23 Срд 11:04:56 #1650 №2687075 
>>2687064
Ещё мой дед смеялся над этим мемом.
Аноним 03/05/23 Срд 21:25:20 #1651 №2687691 
image.png
const не мувается (╯‵□′)╯︵┻━┻
Аноним 03/05/23 Срд 21:38:49 #1652 №2687702 
Вопрос от вкатуна:

А мув вобще бывает дорогой? Почему бы мне везде где только можно принимать по значению, а не писать две перегрузки функции
Ну вызовется на 1 мув конструктор\оператор= больше, ну и похуй, это же дешево должно быть
Может плюсы это даже соптимизировать смогут?
Аноним 03/05/23 Срд 22:30:01 #1653 №2687739 
>>2687702
Так можно, если тебе норм, что объект, который ты передаёшь, перестанет существовать сразу после вызова функции. А это далеко не всегда норм.
Аноним 05/05/23 Птн 01:18:58 #1654 №2688704 
Хочу изучить как второй язык С++. Ваши мысли ?
Аноним 05/05/23 Птн 09:39:53 #1655 №2688787 
>>2688704

Для чего?
Аноним 05/05/23 Птн 14:17:24 #1656 №2688982 
>>2688787
Да.
Аноним 05/05/23 Птн 15:25:14 #1657 №2689045 
>>2688982

не нужен
Аноним 05/05/23 Птн 16:46:24 #1658 №2689159 
>>2687691
template<class T>
T&& move_sukablyat(T const& t) { return move(const_cast<T&>(t)); }
Аноним 05/05/23 Птн 17:20:38 #1659 №2689203 
>>2689159
- возвращаешь провисающий референс
- будешь мувать просто все константное, даже если это не рвэлью
Аноним 05/05/23 Птн 19:57:46 #1660 №2689391 
>>2689203
То есть мне не показалось, что в таком коде ссылка сдохла?
я смешарик в мув семантике
Аноним 05/05/23 Птн 20:19:13 #1661 №2689418 
Что делать с путями? Кроссплатформенный проект, симейк, кьюти. Хочу чтобы при первом запуске создавался бинарный файл со структурой с настройками, но нужно чтобы он создавался всегда в одном и том же месте, в папке билда, независимо от того откуда вызван бинарник
Как мне к этому подходить? Симейком прокидывать как-то байнари директори основного симейклиста в код?
Аноним 05/05/23 Птн 21:58:27 #1662 №2689506 
Доброго вечера. Тут есть люди занимающиеся машобом? Часто в требованиях вижу помимо питона просят знания C++. В чём разница между этими языками в этой области?
Аноним 05/05/23 Птн 22:09:12 #1663 №2689510 
>>2689506
На питоне быстрее напишешь, красивее визуализируешь в нотбуке
На плюсах быстрее, ну и соответственно все кишочки питоновских либ написаны на плюсах

Ну и вообще где важна скорость там скорее всего плюсы
А где надо наиболее быстро принести заказчику вэлью - питон
Аноним 05/05/23 Птн 22:55:39 #1664 №2689541 
>>2689418
Кладу бинарник в каталог, куда пользователь без прав админа/суперюзера не может ничего записывать, и запускаю под этим пользователем. Твои действия?
Аноним 06/05/23 Суб 00:41:59 #1665 №2689606 
>>2689541
из-за таких мудаков теперь файлы лежат в "C:/Users/Pidor/AppData/LocalLow/Govno_inc/zalupa/Profiles/User/UserProfiles/saves/cache/data/data/data/config.ini"
"Documents/hui/pizda/345fc02b08734efff/ne_vlezai_ubyot/"
"D:/Games/C++"
но сука не в папке с программой
Аноним 06/05/23 Суб 01:54:39 #1666 №2689645 
>>2689418
Ге пойму в чем проблнма. Симейк же может с относительнымии путями работать.
Аноним 06/05/23 Суб 02:12:04 #1667 №2689648 
>>2689506
>Часто в требованиях вижу помимо питона просят знания C++. В чём разница между этими языками в этой области?
Потому что питон используется как язык "клей" для склеивания библиотек на си/цпп. Ну знаешь там байты переложить, текстом пукнуть в консольку и т.д. А вся вычислительная часть и числодробилки пишутся как раз на си/цпп.
Аноним 06/05/23 Суб 04:02:26 #1668 №2689675 
>>2687691
А как иначе?
Перемещение - это передача владения ресурсом, т. е. состояние перемещаемого объекта необходимо изменяется.

>>2689159
Такой конст-каст UB.
Объект не перестает быть константой. Вообще, касты никогда не изменяют объект, касты всегда возвращают вновь созданный объект (или ссылку).

>>2689391
std::move() ничего никуда не перемещает.
Она просто преобразует тип в &&-ссылку и все. А уже на основании этого типа по общим правилам разрешения перегрузки выбирается соответствующий конструктор или оператор присваивания.
Аноним 06/05/23 Суб 08:02:49 #1669 №2689711 
>>2689541
Выдаю ошибку что файл с настройками не может быть создан, предлагаю выбрать другой путь
>>2689645
Ну симейк то да, но мне надо как-то в плюсовый код подать путь этот из него и там все пути писать относительно этого поданного
Аноним 06/05/23 Суб 08:51:45 #1670 №2689716 
>>2689675
>А как иначе?
С мувом никак
Но очевидно нужно придумать новый кейворд const_move() который бы говорил что замувленный конст больше не будет сущетсвовать и перемещает его с помощью нового конст мув коснструктора, который будет на метамагии запрещать менять состояние обьекто муваемого

всё для того чтобы просто скопировать конст вэлью
Аноним 06/05/23 Суб 09:22:57 #1671 №2689735 
>>2689675
Если мы возвращаем && на объект созданный внутри функции это будет повисшая ссылка? Я вот это спрашивал.
Аноним 06/05/23 Суб 11:18:12 #1672 №2689791 
>>2689711
О х лол ты что совсем нюфаг? Симейк так же позволяет задавать любой дефайн, те ты можешь легко передать в код любое строку/число.
Аноним 06/05/23 Суб 12:13:05 #1673 №2689819 
>>2689711
> Выдаю ошибку что файл с настройками не может быть создан, предлагаю выбрать другой путь
При каждом запуске надо заново выбирать? Или путь сохраняется в каком-то другом месте?
Аноним 06/05/23 Суб 12:25:42 #1674 №2689829 
>>2689735
Ну я понял как, выглядит просто непонятно, как именно правильно принято работать с этими путями
>>2689791
Пиздец реально, хоть где-то в программе должен быть вычисленный на компиляции путь, по которому можно что-то записывать
Аноним 06/05/23 Суб 15:59:15 #1675 №2689986 
>>2689735
В том куске кода не создается объект, там создается новая ссылка.

>Если мы возвращаем && на объект созданный внутри функции это будет повисшая ссылка?
Если & ссылка, то будет висячая.
Если && ссылка, то по идее должно сработать перемещение. Но так делать все равно не надо, потому что RVO.
Аноним 06/05/23 Суб 18:47:02 #1676 №2690171 
Подскажите пожалуйста, что ещё можно писать на с++ кроме desktop'a ?
Аноним 06/05/23 Суб 18:50:40 #1677 №2690179 
>>2690171
Все для микроконтроллеров.
Но там от плюсов будут только С.
Аноним 06/05/23 Суб 20:02:11 #1678 №2690255 
>>2690171
Матрицу, серверы, хрень всякую суперкомпьютерную.
Аноним 06/05/23 Суб 20:02:20 #1679 №2690256 
>>2689819
Вы же под виндовсом, так юзайте свой реестр
Аноним 06/05/23 Суб 20:22:48 #1680 №2690291 
>>2690255
>>2690179
А под андроид ?
Аноним 06/05/23 Суб 20:28:28 #1681 №2690297 
>>2690171
На си и плюсах можно писать все
Аноним 06/05/23 Суб 20:32:20 #1682 №2690300 
>>2690256
В оригинальном посте чказано, что проект кроссплатформенный.
Аноним 06/05/23 Суб 20:32:34 #1683 №2690301 
>>2690297
Нельзя под андроид писать. С костылями только, основа на java/kotlin, а остальное на C++.
Аноним 06/05/23 Суб 21:27:24 #1684 №2690345 
>>2690300
как аргумент пусть приниает путь к конфигу
Аноним 06/05/23 Суб 21:46:20 #1685 №2690361 
Да чел с симейком троль или овощ. Там чсе изи делается.
Аноним 06/05/23 Суб 22:24:50 #1686 №2690384 
>>2690291
можно и под андройд, гугленул бы хотя бы для начала android c++ прежде чем тупые вопросы задавать
Аноним 06/05/23 Суб 22:42:21 #1687 №2690394 
>>2690384
Да, там Qt используют.
Аноним 06/05/23 Суб 23:01:56 #1688 №2690403 
>>2690394

JUCE еще есть тоже
Аноним 07/05/23 Вск 12:08:31 #1689 №2690599 
>>2689606
На каталог с программой у юзера может не быть прав на запись. Поэтому настройки-конфиги и кладут в его домашний каталог.
Аноним 07/05/23 Вск 12:24:51 #1690 №2690613 
Есть ли смысл учить C++ сегодня или уже маловостребованный язык? Мои знания в чем угодно на уровне привет мир
Аноним 07/05/23 Вск 12:52:24 #1691 №2690641 
>>2690613
Да нет
Аноним 07/05/23 Вск 13:01:18 #1692 №2690653 
>>2690641
Что именно "да нет". Мол этот язык уже не актуален сегодня/ближайшие годы или это язык будет актуален ещё долго?
Аноним 07/05/23 Вск 13:15:57 #1693 №2690665 
>>2690653
Нет да
Аноним 07/05/23 Вск 16:24:37 #1694 №2690921 
>>2690653
Что значит актуален?
Востребован? Да
Пишут ли на нём новое? Да
В мете ли он? Нет
Легко ли залететь? Нет
Аноним 07/05/23 Вск 18:55:17 #1695 №2691129 
Хочу воспроизвести аудиофайл. Вот есть для моих целей некие декодеры, которые читают,например mp3, а выдают что то свое. И вот куда пихать их выход?
Аноним 07/05/23 Вск 18:56:50 #1696 №2691133 
>>2690613
Нет, если есть выбор.

>уже маловостребованный язык?
Востребованный, но ты озябнешь учить до уровня востребованного специалиста.
Аноним 07/05/23 Вск 20:37:38 #1697 №2691268 
>>2691133
>но ты озябнешь учить
А если в геймдев идти? Тоже ёбнешься пока учить всё будет? Или для вката в анрил какой-нибудь всё не так уж и плохо?
Аноним 07/05/23 Вск 20:40:36 #1698 №2691275 
>>2691268
>будет
будешь*
Аноним 07/05/23 Вск 20:57:47 #1699 №2691321 
>>2691133
>озябнешь учить до уровня востребованного специалиста.

А если я уже знаю другой язык ? Всё равно, озябну ?
Аноним 07/05/23 Вск 21:51:25 #1700 №2691366 
>>2690921
>Что значит актуален?
Значит порешали ли специалист от новичков до гуру всякие чат гпт и прочие нейросети? Появилась ли альтернатива C++ и разрабатывается ли?
Аноним 07/05/23 Вск 23:56:50 #1701 №2691491 
>>2691366
Нет и не порешают. Говнокода и Легаси на плюсах столько, что ещё на пару поколений работы хватит. если не введут смертную казнь за использование крестов
А в чем? На плюсах можно делать вообще что угодно. Можно писать круды, можно писать движки для игр, можно писать софт для стиральной машины.
Плюсы универсальный инструмент, проигрывающий более специплизированным. Тебе он нахера нужен?
Аноним 08/05/23 Пнд 00:01:20 #1702 №2691494 
>>2691491
Что мамка хвасталась что я умный дабы развить свой интеллект, не все же быть великовозрастным долбоебом
Аноним 08/05/23 Пнд 00:03:47 #1703 №2691496 
>>2691494
Тогда тебе в хаскель/агду.
Заодно матан изучить придется.
Аноним 08/05/23 Пнд 00:41:12 #1704 №2691530 
>>2691496
Там работы нет
Аноним 08/05/23 Пнд 00:45:03 #1705 №2691532 
>>2691530
Тебе работать или объемом моска хвастать?
Аноним 08/05/23 Пнд 01:30:25 #1706 №2691552 
>>2691532
Про работу не я писал, а другой анон. Матан знаю на удивление неплохо
Аноним 08/05/23 Пнд 05:32:58 #1707 №2691595 
>>2634101
Петушиные языки, в которых есть явные названия для методов и функций (вот, вижу тут есть fn как в петухлине fun) сразу в топку.
Аноним 08/05/23 Пнд 05:39:32 #1708 №2691596 
>>2691595
А про auto fun() -> int; что скажешь?
Аноним 08/05/23 Пнд 05:42:21 #1709 №2691597 
>>2691596
Ничего не скажу, так как не знаю, что это такое. Я вообще жабоёб, решил побаловаться педалями вчера, чтобы быть ТруЪ погромистом.
Аноним 08/05/23 Пнд 06:10:10 #1710 №2691602 
>>2691597
Так вот почему ты такой обиженный
Аноним 08/05/23 Пнд 06:12:25 #1711 №2691603 
>>2691602
Чего?
Аноним 08/05/23 Пнд 06:32:00 #1712 №2691610 
>>2691268
>Или для вката в анрил какой-нибудь всё не так уж и плохо?
Когда ты уже будешь знать плюсы и арил, то задним умом, возможно, сможешь разделить свои знания на полезные для анрила и бесполезные. Но как ты это определишь еще не зная ни того, ни другого?

>>2691494
> развить свой интеллект
Кроссворды порешай.
Сложность C++ не имеет ничего общего с челленджем для интеллекта, скорее наоборот насилие над здравым смыслом.

>>2691321
>А если я уже знаю другой язык ?
Если ты уже знаешь ООП, алгоритмы, паттерны и умеешь лепить из этого всего программы, то это будет хорошим подспорьем.
Перекат Аноним 08/05/23 Пнд 09:52:08 #1713 №2691677 
>>2691676 (OP)
>>2691676 (OP)
>>2691676 (OP)
Аноним 08/05/23 Пнд 11:31:00 #1714 №2691766 
>>2691677
А нахуя?
Пацаны сидим здесь!
comments powered by Disqus

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