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

Ответить в тред Ответить в тред
Check this out!
C++ тред #119 /cpp/ Аноним 03/09/20 Чтв 19:59:22 17966051
cpp3.jpg 82Кб, 500x500
500x500
cpp1.png 73Кб, 1280x1439
1280x1439
cpp2.png 238Кб, 434x311
434x311
cpp4.png 519Кб, 1200x800
1200x800
Аноним 03/09/20 Чтв 20:09:13 17966192
Есть ли какой-то аналог команды where или which в c++? Чтобы вывести полный доступ к файлу
Аноним 03/09/20 Чтв 20:10:54 17966253
>>1796619
Нужно сильно больше контекста.
Аноним 03/09/20 Чтв 20:15:14 17966314
>>1796625
В переменной среды PATH добавлена папка. Из командной строки я могу их любой папки написав название файла запустить любую программу лежащую в ней. Хочу тоже самое в коде, чтобы он мог найти файл лежащий в этой папке
Аноним 03/09/20 Чтв 20:20:42 17966385
>>1796631
>папка. Из командной строки я могу
ну так забери PATH из энв варов и вперед проверять. Операционка делает именно так, С++ тут не причем.
Аноним 03/09/20 Чтв 20:32:00 17966536
>>1796638
Не слишком костыльно? Разве нет для этого специальной библиотеки или функции?
Аноним 03/09/20 Чтв 20:39:23 17966757
>>1796653
в стандартной библиотеке о таких не знаю.
Аноним 03/09/20 Чтв 20:43:59 17966848
>>1796675
в ШИНАПИ наверняка есть
Аноним 03/09/20 Чтв 21:10:31 17967289
Аноны через 2 года кончается уник. Сидел в основном на плюсах хуйнёй страдал. Пара проектиков есть. Сделал торрент клиент криововатый на qt форм нашлепав и ещё говна поменьше. Достаточно для стажировки/джуновки? Или ещё нахуярить что-нибудь? Ибо я в основном на всяких спортивных программированиях хуярюсь
Аноним 03/09/20 Чтв 21:12:05 179673110
>>1796728
Хуярь конечно, почему бы и нет.

мимокрокодилнепрограммист
Аноним 03/09/20 Чтв 21:22:35 179673811
>>1796190 →
>вместо того чтобы нормально сделать парсер даты, тупо брали два последних символа строки
Например как ты спарсить предлагаешь? 212022080115вав45203072220
На, вот строка тебе, парси хули, что последние джва символа это год
Аноним 03/09/20 Чтв 21:43:10 179675412
>>1795751 →
>Александреску
>>1795752 →
>Саттер
Еще Мейерс красаучик.

Труп страуса какой-то левый в этой компании, похоже, больше как популяризатор языка. Его базар не производит впечатление работы над реальными проектами.
И книги галимые по сравнению с Пратой.
Аноним 03/09/20 Чтв 21:45:12 179675513
>>1796754
Ну, буду перекатывать в следующий раз - запостю Мейерса, акей
Аноним 03/09/20 Чтв 23:22:19 179682814
>>1796738
юзани регулярку и не еби себе мозги, пчел
Аноним 04/09/20 Птн 01:08:24 179690015
Стикер 127Кб, 512x512
512x512
>>1796605 (OP)
Посоны, как сконпелировать это: https://github.com/satorigold/SatoriGold
чтоб оно на винде не крошилось?
А то крошится, падла, crush, crush, crush, crush...

ПАМАГИТИ, кароч. АААААААААААА!!!!
Аноним 04/09/20 Птн 01:13:34 179690216
Какую билд систему вы используете для C++?

На плюсах не писал уже 6 лет, как закончил универ. За свою карьеру перепробовал кучу экосистем с различного рода менеджерами пакетов: go get, mvn, sbt, pip, nvm — всё вот это дерьмо.

Есть ли что-то подобное для крестов, чтобы можно было просто объявить нужную зависимость, и чтобы билд система сама стянула всё, что нужно?
Аноним 04/09/20 Птн 01:28:31 179690817
>>1796902
Сейчас conan популярен, но это чисто пакетный менеджер. Из билд систем с ним хорошо cmake интегрируется.
Аноним 04/09/20 Птн 01:29:42 179690918
>>1796902
Нет, ничего нормального нет.
Индустрия как сидела на cmake, так и сидит.
Можешь покопать в сторону meson.

Из пакетных менеджеров vcpkg вроде относительно неплох.

Но сильно вкусно в любом случае не будет, билды/пакеты — не сильная сторона плюсов.
Аноним 04/09/20 Птн 01:51:33 179691419
Добрый вечер, пользуется ли кто clion'ом под никсами? Глянул на рутрекере, а там только виндовые сборки, сижу вот думаю где его взять
Аноним 04/09/20 Птн 02:29:08 179692720
Аноним 04/09/20 Птн 02:56:50 179693521
>>1796914
а как же швабодка петухи коококо? Винду крякнуть скачать смс без регистрации мокрые писечки?

Будь последовательным - ебись с вимом
Аноним 04/09/20 Птн 08:44:07 179697722
>>1796914
Поставь wine, да и запускай с-под него. А что?
Аноним 04/09/20 Птн 11:23:14 179704223
>>1796927
Ага, понял

>>1796935
Дядь, что за наезд? Зачем ты мне предъявляешь за свободу? Где в моем посте хоть что-то про винду?

У меня есть чужой плюсовый проект с достаточно большим количеством LOC. Мне нужно этот проект отрефачить а затем накидать туда нового функционала. При этом cpp - не мой основной язык. По предыдущему опыту я знаю, что при работе с подобными проектами CodeBlocks (для меня) удобнее консоли, но сейчас заметил, что IDE от Intellij значительно удобнее CB.

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

>>1796977
Ай, блэт. И правда. Совсем забыл про вайн. Спасиб тебе.
Аноним 04/09/20 Птн 14:36:00 179721124
>>1797042
>Дядь, что за наезд?
Я таблетки забыл выпить, прости
Аноним 04/09/20 Птн 16:16:56 179733025
Блять сука как первую работу найти без опыта заебало уже, на хх даже отказ не ставят просто смотрят и все сука. Уже скоро вуз закончу, а опыта так и нет аааа
Аноним 04/09/20 Птн 16:33:38 179733526
943632493632190[...].jpg 30Кб, 604x453
604x453
Хлопцы, подскажите, в какой IDE когда нажимаешь F4 для переключения между хедером/сорсом предлагает его создать, если такого нет.

Я точно помню что такая фича была где-то, просто сейчас не смог найти сходу.
Аноним 04/09/20 Птн 20:47:36 179754927
Эта божественная вайпалка ещё и на c++ написана
Аноним 04/09/20 Птн 22:39:44 179763028
Сап плюсачи. А всплывала ли где-нибудь проблема с переполнением стека в деструкторе мапы при использовании MSVC-компилятора?

Вкратце суть такова: если пилить оч.длинную конструкцию типа map<char, map<char, map<...>>> и заполнить её, то при удалении вылезает stackoverflow/segfault/еще какая дрянь.

Чтобы не быть голословным - вот очень простой код (25 строк, без выебонов): https://rextester.com/NBCLT14094
Если скопипастить его для clang/gcc, то всё отрабатывает без запинки, а вот с vc++ беда.

Проверил на своей VS19 (16.7.2) - то же самое. Есть ли идеи как с этим бороться?
Аноним 04/09/20 Птн 22:43:51 179763329
>>1797630
Когда-то встречался с подобным, там мапа заполнялась макросом, который разворачивался в тысячу вызовов insert.

Решил заменой на try_emplace, хотя хз чем это тебе поможет
Аноним 04/09/20 Птн 22:49:03 179764730
>>1797630
Если совсем худо будет, можешь увеличить размер стека. Видел такое в эмуляторе ps3
Аноним 05/09/20 Суб 09:29:42 179784231
>>1797630
Наследоваться от std-контейнеров это уже занятие для рисковых пацанов. А уж если сверху полирнуть CRTP...
Аноним 05/09/20 Суб 09:43:05 179784432
>>1797630
У тебя там деструктор не виртуальный.
Аноним 05/09/20 Суб 10:20:43 179784833
>>1797335
По f4 переключается у кют креатора, но такой фичи не помню, мож плагин? Или версия новее моей, я все ещё в 5.12.
Аноним 05/09/20 Суб 13:05:07 179793034
Эсс.png 17Кб, 775x289
775x289
Почему с одномерным массивом прокатывает, А с двухмерным не хочет, как решить?
Аноним 05/09/20 Суб 13:09:37 179793535
>>1797930
Ты не можешь так принимать двумерные массивы в функцию.

Пиши : int ⚹⚹arr
Аноним 05/09/20 Суб 13:11:15 179793736
Аноним 05/09/20 Суб 13:24:48 179794937
>>1797930
> массивом
Пиздуй в си-тред. Тут мужики для такого либо std::array используют, либо std::vector
Аноним 05/09/20 Суб 13:38:55 179795938
Как описать тип ссылки на массив фиксированного размера?
using arr_t = int[3];
arr_t& foo() {...}
Так вот как описать этот тип без using? int[3]& foo() выдает ошибку.
Аноним 05/09/20 Суб 13:48:41 179796639
>>1797959
Определи структуру с массивом внутри.
Аноним 05/09/20 Суб 13:50:57 179796840
>>1797966
Да это понятно, мне просто интересно во что раскрывается arr_t&.
Аноним 05/09/20 Суб 14:50:04 179799641
Зачем учить C когда есть C++?
Аноним 05/09/20 Суб 14:51:12 179799742
Зачем учить C когда есть C++?
Аноним 05/09/20 Суб 15:06:08 179800443
Аноним 05/09/20 Суб 15:13:30 179800744
Аноним 05/09/20 Суб 15:26:02 179801445
>>1798004
Бля почему через auto -> можно а просто написать int(&)[3] foo() нельзя?
Аноним 05/09/20 Суб 15:44:32 179801746
>>1798014
Нажми на стрелку уже, или на Ctrl+Enter
Аноним 05/09/20 Суб 20:45:00 179822947
C++20 DIS заапрувили (в 2:38 MSK письмо прилетело)
Аноним 06/09/20 Вск 02:17:44 179845448
Можно ли везде писать auto вместо int, float, и т.д.?
Аноним 06/09/20 Вск 02:42:29 179845749
Сложно ли переделать код с swift на нормальный язык?
Аноним 06/09/20 Вск 02:47:11 179845950
C4525B1B-ADD4-4[...].png 553Кб, 720x720
720x720
Вот вы все про форматирование, а есть ли вероятность стать пидором в результате UB?
Аноним 06/09/20 Вск 02:49:53 179846051
>>1798454
Если правая часть выражения без труда позволяет определить тип, то можно, иначе лучше указать тип явно.
Аноним 06/09/20 Вск 02:53:18 179846152
>>1797330
Первую работу на плюсах находят только краснодипломники-олимпиадники.
Аноним 06/09/20 Вск 02:58:17 179846253
74476FAE-6BF2-4[...].jpeg 324Кб, 1200x1195
1200x1195
>>1798454
Да, даже нужно. Если не выводится, можно поставить сишное преобразование к желаемому типу перед выражением. Можно даже всегда его ставить для порядка, так сказать, альтернативный интересный синтаксис.
Аноним 06/09/20 Вск 04:21:33 179846654
>>1797930
Надо во вторую скобку размер дописать, например int arr[][10]
Аноним 06/09/20 Вск 11:35:48 179855255
>>1798461
Не пизди. Двум краснодипломникам месяц назад отказали, зато взяли паренька с неоконченным высшим. Он оказался гораздо сообразительнее первых двух.
Аноним 06/09/20 Вск 17:28:18 179882756
Как delete [] p; понимает, когда кончается массив?
Аноним 06/09/20 Вск 18:05:55 179887357
>>1798827
Среда выполнения знает, сколько было выделено
Аноним 06/09/20 Вск 18:20:04 179889258
>>1798827
Для каждого блока памяти с++ тайно сохраняет размер.
Аноним 06/09/20 Вск 18:56:44 179892859
>>1798892
>тайно
Хуяйно, зачем анону мозги пудришь? То, что ты написал, работает только в STL контейнерах (например, когда у тебя есть std::vector, там в классе есть метод size, который возвращает размер вектора, все метаданные о векторе хранятся в объекте класса std::vector).

Но если идет работа с сырыми указателями прямо как в Си, а он имел в виду именно это, то размер куска памяти в куче хранится в хедере метаданных удаляемого куска, а это целиком и полностью работа аллокатора памяти (ptmalloc3, jemalloc и т.п., есть дохуя реализаций), который к твоему коду не имеет никакого отношения, это отдельная подпрограмма, которая управляется отдельно операционной системой. Для простоты понимая - glibc в Линуксе, там среди всего прочего есть аллокатор памяти ptmalloc3, в нем ресурсы такого плана и находятся под управлением.
Аноним 06/09/20 Вск 19:29:26 179895960
>>1798928
>размер куска памяти в куче хранится в хедере метаданных удаляемого куска, а это целиком и полностью работа аллокатора памяти
Именно это я и имел ввиду
Аноним 06/09/20 Вск 19:38:18 179896161
Аноним 06/09/20 Вск 22:39:45 179909762
Почему Node в классе Stack подчёркивается красным, если не добавлять шаблон перед каждым классом?
Аноним 07/09/20 Пнд 00:55:05 179915463
>>1797630
Что делает код с 110 по 16 строчку?
Аноним 07/09/20 Пнд 03:04:10 179917664
изображение.png 12Кб, 318x487
318x487
>>1799097
Блять, я же кидал картинку, ну абу, какого хуя то, а?!!!!!
Аноним 07/09/20 Пнд 03:05:17 179917765
>>1799176
Потому что это шаблонный класс.
Аноним 07/09/20 Пнд 03:20:54 179917966
>>1799177
Я T ещё нигде не использовал. Какого хуя?
Аноним 07/09/20 Пнд 05:44:54 179919167
Спросил в МВП, продублирую сюда.
Какая сейчас средняя рыночная зарплата на руки в ДС для C++ миддла? От чего вообще отталкиваться чтобы не продешевить? Опыт есть.
Аноним 07/09/20 Пнд 09:31:53 179923268
>>1799179
Так убери тогда шаблон если не использовал
Аноним 07/09/20 Пнд 13:52:02 179946169
Аноним 07/09/20 Пнд 17:39:45 179969270
В java в хэшсете используется функция hashCode(), в которой я могу выбрать значимое поле объекта, в std есть что-либо похожее, либо надо лепить свою реализацию?
Аноним 07/09/20 Пнд 18:02:58 179970471
Аноним 08/09/20 Втр 01:14:53 180011872
>>1799154
Вставляет "ребра" из диапазона в дерево значений. Каждая итерация цикла внутри увеличивает "глубину" структуру на единицу.
>>1797844
Виртуальность тут ни причем, я ж не наследуюсь ни от чего. Сделал виртуальным - ничо не поменялось
>>1797633>>1797647
Увеличение стека чуть помогло, но мне на вход по идее может придти строка хоть из мильона символов, а там необходимый размер должен уходить в небеса. Мне такую самодеятельность не зааппрувят. Похуй, поставлю ограничение на входящий размер строки.

Вообще основной вопрос был в том, почему другие компиляторы спокойно прожевали этот кусок, а msvc соснул. Раньше они бывало выдавали разные результаты для хитровыебанных случаев, но эксклюзивных крашей не было. Видимо надо перекатываться на clang.
Аноним 08/09/20 Втр 01:21:21 180011973
Аноним 08/09/20 Втр 01:24:18 180012074
Аноним 08/09/20 Втр 01:51:20 180012275
>>1800119
Благодарю, примерная картина ясна.
Аноним 08/09/20 Втр 02:43:34 180014076
Народ, можете объяснить как вкатиться в Qt? Там ебать много всяких тулов, без пол литра не разберешься. Я понял есть версия для бомжей и для бояр. Можете скинуть ссылку на гайд по старту с бесплатной версией? Т.е. какой софт качать чтобы начать. С меня тонны нефти.
Аноним 08/09/20 Втр 02:44:57 180014277
1022581661.jpg 75Кб, 353x500
353x500
Аноним 08/09/20 Втр 02:50:20 180014578
>>1800140
зачем вкатываться в qt в 2020?
Аноним 08/09/20 Втр 02:58:20 180014679
>>1800145
А во что нужно вкатываться в 2020? Есть что-то столь же развитое в плане разработке оконных приложений?
Аноним 08/09/20 Втр 03:10:00 180014980
>>1800146
Оконные приложения на С++ немного мертвы. Лишь 3.5 немца ебут труп. Если ты хочешь пилить - скорее вкатывайся либо в шарпы, либо в электрон
Аноним 08/09/20 Втр 04:43:23 180015981
>>1800149
Лол, ты qml вообще видел? Современный интерфейс qt это не про кресты. Шарп/ксамль - говно, электрон похоже тоже, только мельком смотрел.
кро
Аноним 08/09/20 Втр 05:08:25 180016182
Аноним 08/09/20 Втр 09:37:02 180027983
>>1800142
Копипаст документации, нинужно
Аноним 08/09/20 Втр 09:39:34 180028284
>>1798457
Легче чем с пайтон,тяжелее чем с Шарпа
Аноним 08/09/20 Втр 09:58:52 180030085
>>1800118
Если в разных компиляторах разный результат, значит где-то стоит хитрый флаг или твой код UB или баг в конпеляторе

>я ж не наследуюсь ни от чего
А это что, блядь?
class ValueTreeTest : public std::map<T1, ValueTreeTest<T1, T2>>

И вообще, пожалуйста объясни, чего ты хотел добиться этой строчкой, я непонел.
Аноним 08/09/20 Втр 10:58:00 180034986
>>1800140
Там хороший хелп, с туториалами и прочим, я на нем одном вкотился.
Аноним 08/09/20 Втр 11:25:18 180038387
>>1800300
Ну понятно что наследование от мапы, но никаких приблуд при наследовании от stl-контейнеров сроду не вводил, всё работало.

>class ValueTreeTest : public std::map<T1, ValueTreeTest<T1, T2>>
>И вообще, пожалуйста объясни, чего ты хотел добиться этой строчкой, я непонел.
Шаблонный класс "m-ary tree" для поиска слов по дереву, ребра (T1) - char/wchar, значения (T2) - какие-нибудь инты. Поиск и прочую ерунду убрал, отставил только инициализацию (insert).

>где-то стоит хитрый флаг или твой код UB или баг в конпеляторе
Вот я и пытаюсь понять что за флаг там нужно поставить чтоб всё работало. Никакого UB нет, код рабочий на небольшом входе лет 10. Сейчас просто дошли руки до тестов на экстремальный вход и получилось вот такое.
Аноним 08/09/20 Втр 11:33:35 180040088
>>1800383
> никакого UB
> код рабочий уже много лет
Аххахахахаха.
Аноним 08/09/20 Втр 12:15:01 180043689
>>1800383
Посмотри в исходник либы и на ассемблер. Делов-то

мимо сищник
Аноним 08/09/20 Втр 12:25:13 180045190
yoba.png 5Кб, 129x129
129x129
А, у тебя insert рекурсирует. Ну ты так не делай
Аноним 08/09/20 Втр 13:54:06 180057691
Аноним 08/09/20 Втр 14:37:27 180064192
Ананасы, недавно слышал о такой штуке применительно к многопоточному программированию.
Вместо использования примитивов синхронизации можно посылать на loopback (каждый поток слушает порт свой) пакеты. Какую-то я такую мысль читал.
Может кто-то подробнее этим интересовался?
Аноним 08/09/20 Втр 15:29:39 180072493
>>1800641
Если у тебя есть шаредные данные - то тебе все равно нужна синхронизация
Аноним 08/09/20 Втр 15:56:19 180078394
>>1800641
Блокироваться на мьютексе или блокироваться на чтении из сокета (хоть и локального)? Такое чувство, что второе будет намного оверхеднее.
Аноним 08/09/20 Втр 19:19:14 180100595
Суп, подскажите, есть ли ресурс с перечнем каких-нибудь проектов, которые можно пописать в качестве тренировки, да и более углубленного изучения языка.
Аноним 08/09/20 Втр 20:24:26 180106496
>>1801005
Трассировщик лучей.
Интерпретатор языка Х.
Текстовый редактор.
Шахматы и змейки.
Клиент и сервер хуйни.
Эмулятор 6502.
Аноним 08/09/20 Втр 20:29:15 180106997
>>1801064
яростно двачую насчет эмулятора, это один из лучших байтоебских проектов, по крайней мере в пространстве пользователя, не спускаясь в священное ядро, который только можно сделать.
Аноним 08/09/20 Втр 22:19:40 180115998
>>1801064
>Трассировщик лучей
Если я полный нуб в линейной алгебре, есть ли смысл начинать с книжек вроде "3D Math Primer for Graphics and Game Development"?
Аноним 08/09/20 Втр 23:01:21 180121299
>>1801159
На хабре была серия статей про самописный трассировщик на 200 строк кода
Аноним 08/09/20 Втр 23:05:37 1801219100
Есть конпелятор gcc 4.6.3 и собранная им же библиотека без исходников. Есть библиотека, которой для сборки нужен c++14. В наличии только компилятор с поддержкой c++11 gcc 4.8.3.
Как это всё подружить между собой?
Аноним 08/09/20 Втр 23:16:40 1801232101
Анон, можно как-то для std::partition указать максимальное количество элементов слева? Типа есть рандомный вектор чисел, я хочу разделить на те, что меньше 10, но чтобы их было не больше четырех штук
Аноним 08/09/20 Втр 23:26:30 1801237102
>>1801219
> Есть библиотека, которой для сборки нужен c++14.
Переписать фрагменты 14 стандарта на 11?
Аноним 08/09/20 Втр 23:32:24 1801244103
>>1801237
Это может быть не всегда возможно, ты же понимаешь?
Аноним 08/09/20 Втр 23:56:11 1801260104
>>1801219
Я сейчас собрал библиотеку, которая наполовину C90, частично С++11, а в нижних слоях два ассемблера (yasm и jwasm). Полёт нормальный, тесты прошли, ещё и модуль ядра соберу потом.

Правда, у меня все исходники были и версии gcc/g++ соответствуют, но, я думаю, в плане совместимости ты можешь это всё попытаться подружить.

(кроме сборки c++14 компилятором, не поддерживающим с++14).

Аноним 09/09/20 Срд 00:40:09 1801270105
>>1801244
Не понимаю, объясни
Аноним 09/09/20 Срд 06:22:26 1801339106
>>1800641
Фаерфолы и антивирусы могут начать возбуждаться на твою прогу, когда увидят открытый порт.
Аноним 09/09/20 Срд 06:35:53 1801340107
>>1801260
Вряд ли у меня получится слинковаться с проектом без исходников, собранным с c++98, если я начну собирать свой проект с c++11. Может быть написать обёртку над второй либой, обернуть там всё в extern "c" и продолжить писать на c++98? Есть у кого-нибудь опыт написания такого?
Аноним 09/09/20 Срд 08:17:32 1801350108
Аноним 09/09/20 Срд 08:50:16 1801358109
>>1801159
Вполне.
Есть старая pdf-ка, ищи по имени автора Roman Kuchkuda, там пошагово пишется простой трассировщик на си.
Аноним 09/09/20 Срд 15:33:45 1801642110
Есть ли смысл в noexcept specifier при сборке с -fno-exceptions?
Аноним 09/09/20 Срд 16:54:57 1801729111
Аноны, помогите прошу, умоляю. В пятницу собес на стажёра C++. Как подготовиться? Что зубрить, что учить? Прошу помощи...
Аноним 09/09/20 Срд 17:16:05 1801748112
>>1801729
А хуё ево знает. Чем контора то занимается?
Стандарты пошерсти. Наверное будут вопросы про наследования и перегрузки функции при них.
Про структуры данных могу спросить: все эти списки, дек, очередь и тд. Может быть что-то про сложность алгоритмов.
Про универсальные ссылки и вообще move семантику.
Сложно так сразу сказать.
Аноним 09/09/20 Срд 17:16:52 1801750113
>>1801748
Информационной безопасностью занимается
Аноним 09/09/20 Срд 17:21:59 1801757114
Аноним 09/09/20 Срд 17:37:26 1801785115
Аноним 09/09/20 Срд 17:42:05 1801790116
>>1801069
>>1801064
>Эмулятор 6502.

Если есть желание копать до глубин - пиши симулятор 6502.
Аноним 09/09/20 Срд 20:11:18 1802003117
Аноним 09/09/20 Срд 20:25:25 1802012118
>>1801729
Надень полосатые чулки
Аноним 09/09/20 Срд 20:26:32 1802015119
>>1802003
Потактовая точность в чимуляторе
Аноним 09/09/20 Срд 22:26:48 1802159120
>>1801642
Напиши тест:
Класс с конструктором копирования и конструктором перемещения. Запихни его в вектор. Перемести вектор. Если вызовется конструктор перемещения, то можешь не париться
Аноним 10/09/20 Чтв 01:25:44 1802291121
>>1802159
Про это читал. На этом нюансы заканчиваются?
Сейчас работаю над библиотекой, которая всё равно собирается с -nostdlib.
Аноним 10/09/20 Чтв 02:04:41 1802313122
>>1802291
Я не знаю. Пример привел потому, что это первый пришедший в голову способ проверить, что там по умолчанию задано. Полагаю, если noexcept == true, то и в остальных случаях тоже.
Аноним 10/09/20 Чтв 14:46:14 1802597123
>>1802003
Симулятор - детально моделирует внутреннее устройство.
Эмулятор - только воспроизводит внешнюю работу АПИ, типа черный ящик.
Пример из жизни (писал эмуляторы 6502 по работе):
В старых играх программисты использовали разные трюки железа чтобы выжать производительность.
Эти особенности железа не всегда были описаны в документации, и зачастую открывались случайно экспериментальным образом.
В нескольких играх на эмуляторе не работала мигающая анимация заднего фона при атаках, взрывах.
Оказалось, что в эмуляторе, как по документации, выводилась строка пикселей целиком. В реальности же, программисты меняли содержимое строки во время ее вывода на экран, прямо пока бежал луч по кинескопу.
Для того, чтобы вывести правильный эффект, надо точно рассчитать, в какой именно момент произойдет смена пикселей в оперативной памяти. Тут бы помог симулятор, который обрабатывает команды по тактам и точно знает что происходило в чипах. Но считать все по тактам и пикселям очень долго, неприямлимо для реал-тайм эмуляции на 50-60фпс.
Подобные трюки были использовались и со звуковыми чипами. По документации один канал использовал рандом для шума. В эмуляторе это и будет просто рандом. Но в реале программисты изучили и поняли устройство чипа, на самом деле там счетчик со сдвигом, и научились "дергать" его в определенный момент времени, чтобы получить конкретный шумовой эффект для ударных. Без знания устройства эмулировать это не получится.
Для создания симулятора процессора, в частности, спилили крышечку чипа и он рассматривали его в микроскоп, чтобы воспроизвести детальную работу логических элементов. В частности, таким образом через 30 лет разгадали загадку, почему одна недокументированная команда процессора работала на некоторых партиях компьютеров, а на других зависала. (а на третьих зависила от того, насколько компьютер прогрелся, буквально). После чего, даже разобрались, по каким адресам памяти ее можно располагать, чтобы она работала стабильно. В эмуляторе, без этих симуляторных знаний, у тебя были бы только документированные команды, а для недокументированных у тебя была бы просто заглушка, которая могла, к примеру, выводить ошибку, или игнорироваться.
Аноним 10/09/20 Чтв 14:59:37 1802618124
>>1797330
На завод или в оборонной КБ или НИИ попробуй. Будешь всякое технологическое говно писать сначала, там же и диплом сделаешь.
Аноним 10/09/20 Чтв 15:51:57 1802690125
>>1801729
Базовый вопрос, который меня спрашивали НА КАЖДОМ собесе на миддла по плюсам: чем std::map отличается от std::unordered_map, начиная от реализации и заканчивая сложность поиска, удаления и вставки. Заучи так, чтобы проснувшись посреди ночи мог на него сразу ответить!
А так должны спросить по сортировки и их сложность, стандартные контейнеры вроде вектора/листа, основы ООП перечислить, скорее всего будет пара базовых вопросов по темплейтам и виртуальным функциям, статическим переменным и их особенностям, аллокация на стеке/куче и прочие заковыристые места языка (но сношать тебя по ним не должны, тут скорее просто знаю-не знаю). Может задачку с литкода дадут или SQL запрос небольшой попросят написать, у всех по разному. Но map спрашивали вообще везде, так что первым делом учи STL контейнеры.
Аноним 10/09/20 Чтв 16:29:38 1802722126
for(;;) или while()?
Аноним 10/09/20 Чтв 16:36:31 1802732127
Аноним 10/09/20 Чтв 17:28:19 1802776128
>>1802722
Первое бесконечный цикл, второе ошибка компиляции.
Аноним 10/09/20 Чтв 18:16:16 1802821129
Аноним 10/09/20 Чтв 19:13:55 1802894130
>>1796605 (OP)
посоветуйте книгу по c++ и stl. до этого я как-то без этого обходился но на собеседование оч нужно, в шапке непонятно
Аноним 11/09/20 Птн 00:01:13 1803187131
>>1802894
По C++ Страуструп, по STL Николай Джосаттис (или ещё Джосьютис).
Аноним 11/09/20 Птн 00:15:37 1803211132
>>1797996
Всё просто. Язык C есть везде, на всех платформах, под все процессоры и ОС. Он одинаков, прост, быстро работает.
С++ же не столь универсален. Не все фичи везде доступны, где-то даже компилятора не найти.
В общем, подлинно портируемые программы стараются писать на C. Тогда они заработают на любом утюге.
Аноним 11/09/20 Птн 00:20:38 1803218133
Здорова пацаны! А давайте поговорим на тему вакансий программистов под C++.
Правда ли, что язык сдувается? Что вакансий всё меньше, а зарплаты уступают разработчикам на других языках?
Не лучше ли вместо всех премудростей плюсов, просто проштудировать Java и идти грести бабло?
Аноним 11/09/20 Птн 00:22:49 1803221134
>>1803218
Как может сдуться то на чём вертятся все современные архитектуры?
Аноним 11/09/20 Птн 00:29:06 1803227135
>>1802597
>Для создания симулятора процессора, в частности, спилили крышечку чипа и он рассматривали его в микроскоп, чтобы воспроизвести детальную работу логических элементов.

Какие-то сказки венского леса. Интересно, сколько они положили сил, времени и денег на это "спиливание крышечки и изучение"?
Ради чего такие заморочки? Ради парочки глючных игр? Да ещё 30 лет спустя. Кому это понадобилось?
Аноним 11/09/20 Птн 00:33:35 1803231136
>>1802597
И да. Засунь свою доморощенную терминологию в задницу. Меня как-то не ипёт это твоё деление на "симуляторы" и "эмуляторы".
Откуда ты это притащил? Каждый гандон будет изобретать термины и тонкий их смысл, а все остальные должны послушно всё это жрать.
Аноним 11/09/20 Птн 00:39:40 1803237137
>>1802597
Если что, могу ещё сообщить шта эмулировать ньюансы работы электроники - это не хуй собачий. Имею скромный опыт разработки цифровой схемы. На симуляторе её логики (на уровне вентилей) она ведёт себя не вполне так, как вживую в железе.
В симуляторе все относительно прямо и просто. А в железе вылезают косяки. Воспроизвести это программно совсем не просто.
Аноним 11/09/20 Птн 00:47:44 1803242138
>>1803221
Относительно других языков - вполне. Говорят, сейчас на плюсах нужно работать в нишевых областях, где требуется высокая квалификация, дабы прилично зарабатывать.
Плюсы сдали поляну языкам, на которых писать код проще и быстрее (не код быстрее, а производительность программиста выше).
Посмотрите -- даже в геймдеве, традиционной поляне C++, Unity использует C#.
Что на чём вертится не так важно, эти фундаментальные вещи не занимают большой доли рынка.
Впрочем я не говорю про примитивные задачи, которыми занимаются толпы кодомакак. Клепание сайтиков на PHP каком-нибудь.
Я про языки и области применения с оптимальным соотношением профит/усилия_на_изучение.
Аноним 11/09/20 Птн 00:52:18 1803245139
>>1801064
Можно ещё софтвер-рендерер или 3D игру, вместо трассировщика.
Впрочем, если это не по зубам, можно и 2D игру. Изометрическую какую-нибудь. Стратегию, например.
Аноним 11/09/20 Птн 01:02:00 1803249140
>>1798928
>сырыми указателями
Сыро только у твоей мамки в трусах, анон. Raw pointers переводится как "голые указатели".
Аноним 11/09/20 Птн 01:13:58 1803259141
>>1803231
Это общепринятые термины, маня. Можешь погуглить.
Аноним 11/09/20 Птн 01:33:05 1803274142
>>1803227
Это сделали демосценеры, потому что охуевали с мистики почему у одного работает а у другого нет, а компов у них и так навалом. А фанатов у 6502 полно, комьюнити огромное, очень уж удачный проц был. До сих пор под него игры каждый год выходят.
Аноним 11/09/20 Птн 07:39:07 1803345143
>>1803242
>производительность программиста выше
Там где нужна производительность и в плане скорости работы программы и в плане скорости написания програм возьму реального профессионала.
Но ладно, не отрицаю что зачастую прототипы програм пишут на других языках, тру.
>даже в геймдеве
Ни один ААА проект не станет использовать юнити и шарп в качестве инструментов. Даже при современных идиотских стандартах.
>эти фундаментальные вещи не занимают большой доли рынка
Архитектуры x64 и arm самые распространённые в мире на сегодняшний день. Весь лоулевельный софт для взаимодействия остальной системы с ними написан на чистом С или порой на С++. Это львиная доля рынка и пока не будет готов полностью рабочий квантовый компьютер тут и говорить нечего.
>с оптимальным соотношением профит/усилия_на_изучение
JS макаки радуются 120к в месяц в лучшем случае, люди с реальными знаниями и страстью к технологиям уезжают в Германию/Калифорнию/Канаду.
Аноним 11/09/20 Птн 07:58:15 1803353144
>>1803218
Плюсы начали сдуваться в начале 200х, сейчас их положение стабильно, они остались там, где нужны и заменить их нечем.
Аноним 11/09/20 Птн 10:20:15 1803396145
>>1803242
Экстремальное байтоёбство сейчас на Zig модно писать. Это по сути обёртка на LLVM с кучей сахара. Крестовики обзавидуются местным чудесам синтаксиса.
Аноним 11/09/20 Птн 11:51:29 1803470146
пчелы, норм ли для в качестве работы для диплома написать текстовый редактор ? (со шрифтами, поиском редактированием). Вначале хотел сделать что-то типа экселя, но понял, что не справлюсь с таким объёмом работ.
Аноним 11/09/20 Птн 11:59:26 1803474147
>>1803470
Ну если ты на программиста учился чтобы по итогу текстовые редакторы делать - то да, вполне.
Аноним 11/09/20 Птн 12:04:11 1803478148
>>1803470
Разве это дохуя сложно? Разве это показывает все, чему ты за 5 лет научился?
Аноним 11/09/20 Птн 12:12:25 1803482149
>>1803478
Вообще то это дохуя.
Аноним 11/09/20 Птн 12:16:20 1803483150
>>1803482
Человеку с 4 годами опыта (если там опыт какой-то есть конечно) программирования это задача на 2 вечера.
Аноним 11/09/20 Птн 12:22:12 1803485151
>>1803483
Шрифты и поиск? Ахаха, удачи. Ну естественно если речь не идет о вставить готовый компонент типа RichEdit.
Аноним 11/09/20 Птн 12:23:00 1803486152
>>1803474
А для чего учатся программисты си? Ты для чего учился? Мигать светодиодом?
Аноним 11/09/20 Птн 12:25:13 1803487153
>>1803483
Если использовать готовые либы то да, за 2 вечера можно взять какой-нибудь imgui и юзать просто textbox. С нуля даже просто отрисовку текста пиздец как сложно сделать.
>>1803470
Сомневаюсь, что тебе в вузе разрешат такое брать на диплом. Я вот тоже хотел на плюсах что-то низкоуровневое на дипломе писать, так меня нахуй послали и сказали "А КАК ЭТА МОЖНА ИСПОЛЬЗАВАТЬ В БИЗНЕСЕ??7" ну и пошел делать сайт на шарпе...
Аноним 11/09/20 Птн 12:31:04 1803492154
>>1803249
У меня на работе один чувак называет их "лысыми указателями"
Аноним 11/09/20 Птн 12:34:49 1803494155
>>1803485
>>1803487
Извините, парни. Совсем забыл где посчу.
>>1803486
Сочетаю образование физика с образованием софтварного инженера и работаю в лабе по изучению виртуальных частиц. Светодиодами мигать тоже умею.
Аноним 11/09/20 Птн 12:38:55 1803497156
>>1803494
Ничего страшного, малыш. Если попробуешь отрендерить шрифт со всеми нюансами выключки, скейлинга, кернинга, трекинга, сглаживания, прокрутки без глюков, немного собьешь спесь, может за полгодика научишься рисовать что-то более менее сносное.
Аноним 11/09/20 Птн 12:39:38 1803499157
>>1803494
Ну понятно, то есть ты в общем то и не программист, а так, readByte()
Аноним 11/09/20 Птн 12:45:07 1803509158
>>1803497
Дедуль, чтобы получать свои 13к евро в месяц мне не нужно дрочить никакие шрифты, это прерогатива людей уровень развития которых остался на уровне текстовых редакторов в качестве дипломки.
>>1803499
>с образованием софтварного инженера
Даже близко не он, сижу код за другими комментирую.
Аноним 11/09/20 Птн 12:45:59 1803512159
>>1803509
>13к евро
Извините СТО гугла не признал вас.
Аноним 11/09/20 Птн 12:48:47 1803514160
>>1803509
Ну то есть написать редактор текста ты не сможешь, так и запишем.
Аноним 11/09/20 Птн 13:13:17 1803537161
>>1803514
Я тебе уже всё сказал - суметь скопировать нотпад это тир 5 навык. С таким подходом ты один хуй через полгода-год перекатишься в веб.
Аноним 11/09/20 Птн 13:18:04 1803543162
>>1803537
А что тогда тир 1? Написание "умных" штучек с нейронками на питоне в 6 строчек?
Аноним 11/09/20 Птн 13:23:26 1803547163
>>1803537
Ну ок, для такого маэстро как ты не составит труда показать легкость тир5, сейчас как выходные будут, значит сможешь сделать такую легкую вещь как копия нотпада за вечер, верно? Ты же не пустозвонный тролль.
Аноним 11/09/20 Птн 13:24:53 1803550164
>>1803483
Какая связь между временем на реализацию, и временем на то, сколько нужно учить компьютерные науки, чтобы уметь это написать?
А главное, причем тут опыт (который нарабатывается в коммерческих компаниях) и академическое обучение?
Аноним 11/09/20 Птн 13:33:28 1803553165
>>1803550
Забей, это троль(малолетний дебил) категории /math.
Аноним 11/09/20 Птн 13:39:24 1803561166
>>1803543
Точно не изобретение жигуля и претензия на то, что это ауди.
>>1803547
Обязательно. Ты ещё методичку скинь, я тебе и диплом с 0 напишу. О, и адрес, адрес тоже. Я тебе свою тян пришлю, поебёшься на халяву.
>>1803550
В условиях постсоветского ущербного образования - связи никакой. В то время как в Европе и Северной Америке 4 года обучения выдают абсолютно готовых к комерческой деятельности спецов методички Священной в лучшем случае к 4 курсу высрут человека способного выёбываться умением в рендеринг текста. Плюсом идёт всеобщее ебланство, но об этом даже говорить не приходится.
Аноним 11/09/20 Птн 13:40:10 1803562167
Имеется следующий класс
class Alpha {
Alpha(const Alpha& a){/.../}
};
Какие члены класса в данном случае будут автоматически определены при создании класса?

Ответьте пожалуйста.
Я тупой бака.
Аноним 11/09/20 Птн 13:53:46 1803568168
Хееееелп.
Аноним 11/09/20 Птн 13:57:50 1803575169
>>1803561
>4 года обучения выдают абсолютно готовых к комерческой деятельности спецов
Ну то есть это уровень ПТУ, а не Вузов, которые должны давать научные знания, понятно.
Аноним 11/09/20 Птн 13:59:18 1803576170
>>1803561
Ясно, и тян у тебя есть, угу, и $13к, совсем не тролль. А блокнот написать не можешь. Вся суть выебывальшиков-наебщиков.
Аноним 11/09/20 Птн 14:01:20 1803577171
>>1803561
>>1803470
Вот тебе пример тем дипломов из моей шараги. Мб что-то подойдет

«Разработка стохастического метода оптимизации на основе механической аналогии»
«Анализ вариабельности сердечного ритма»
«Модификация комплекса ПА9»
«Создание платформы для локального развертывания клиентской части веб-приложений»
«Разработка клиентской части информационной системы по организации гоночных такси»
«Модельно-ориентированное проектирование в основе программирования логических интегральных схем»
«Исследование многосеточных методов решения систем линейных алгебраических уравнений»
«Разработка модуля экспорта для системы проектирования калибров для профилегибочного производства»
«Разработка витрины интеллектуального анализа данных биржевых операций»
«Исследование режимов максимальной и минимальной диссипации механической энергии в простейших силовых сетях методами математического моделирования»
«Динамический и прочностной анализ робота-манипулятора»
«Разработка программной реализации удаленного запуска графоориентированных решателей систем инженерного анализа»
«Разработка хранилища данных для анализа биржевых операций»
«Разработка приложения для организации бизнес-процессов проектирования ПО»
«Оптимизация хранения медицинских данных на основе использования технологии блокчейн»
«Численное моделирование движения многосекционного бурильного инструмента внутри скважины»
«Разработка системы детектирования дороги для мобильного робота»
«Разработка информационной системы автоматизированного доступа к онлайн-сервису товаров и услуг»
«Разработка безопасного генератора случайных чисел в блокчейне»
«Разработка серверной части информационной системы для заказа скоростного такси»
«Разработка мобильной части программно-аппаратной системы голосового управления транспортным средством»
«Модельно-ориентированное проектирование в основе программирования микроконтроллеров»
«Разработка NX приложения для редактирования размерных цепей в ТУ»
«Использование концепций создания пользовательского интерфейса для кроссплатформенных приложений на основе UX-исследований»
«Разработка Web-ориентированных CASE инструментариев для автоматизации генерации объектов на основе шаблонов»
«Разработка пользовательского интерфейса инвестиционной игры с использованием Unreal Engine 4»
«Исследование масштабируемости работы серверного программного обеспечения в «облачной» инфраструктуре»
«Разработка редактора нейтрального слоя профилей для системы проектирования калибров профилегибочного производства»
«Разработка подсистемы структурного анализа сложных изделий»
«Разработка аналитической подсистемы для исследования банковских операций юридических лиц»
«Разработка web-ориентированных CASE инструментариев автоматизации построения исходных кодов графоориентированных решателей»
«Разработка нейросетевого ансамбля для прогнозирования банкротства ресурсоснабжающих предприятий»
«Разработка автоматизированной системы поддержки трейдинга»
«Разработка WEB-аналитической подсистемы исследования цифровых биологических сигналов»
«Разработка редактора профиля для системы проектирования калибров профилегибочного производства»
«Разработка подсистемы визуализации для системы проектирования калибров для профилегибочного производства»
(хвост по КП за прошлый семестр) «Разработка математической модели амортизатора самолета для комплекса ПА9»
«Разработка системы автоматизированного проектирования приложений среды ROS»
«Исследование распределения статического заряда по поверхности проводящего тела»
«Разработка программного комплекса для линеаризации избыточных механических структур»
«Разработка архитектуры и реализация программного комплекса оптимизации робототехнических приложений»
«Разработка веб-приложения для визуализации многомерных данных»
«Анализ конечно-элементной сетки в приповерхностном слое изделия, усиленного «наклепом»
«Динамический и прочностной анализ элементов механизма перекоса винта вертолета»
«Машинное обучение на основе непрерывных динамичечких систем»
«Реконструкция эффективных кривых деформирования ПКМ на основе аппроксимации кривых деформирования отдельных компонентов ПКМ»
«Разработка информационной системы балансирующего рынка электроэнергии»
«Разработка модели деформации листовой заготовки при формовке роликами в системе LS DYNA»
«Разработка web-приложения для визуализации многомерных дан-ных»
«Исследование динамики контактных сил в неконсервативных упругих системах»
«Разработка эффективного алгоритма поиска с возвратом на основе эвристик»
«Разработка распределенного комплекса дистрибуции программного обеспечения»
Аноним 11/09/20 Птн 14:01:45 1803578172
>>1803562
Вроде бы деструктор всегда, копи конструктор потому что класс простой, все остальное отключено явным конкструктором копирования. Могу ошибаться, я не эксперд в стандарте.
Аноним 11/09/20 Птн 14:04:03 1803579173
>>1803578
Так какие члены классов? Что преподу сказать?
Аноним 11/09/20 Птн 14:04:52 1803581174
>>1803579
Я ж назвал. Но это не точно.
Аноним 11/09/20 Птн 14:06:08 1803583175
>>1803581
Деструктор и конструктор?
Аноним 11/09/20 Птн 14:08:45 1803587176
>>1803583
Ой, блин, я имел в виду деструктор и оператор копирования.
Аноним 11/09/20 Птн 14:11:35 1803589177
>>1803577
Не вижу здесь ничего смежного с "Текстовым редактором".
Аноним 11/09/20 Птн 14:18:47 1803594178
>>1803589
> «Разработка редактора профиля для системы проектирования калибров профилегибочного производства»
А вообще одна хуйня типа посчитать говно по формуле. Вообще не программирование. Зато лохчейны порадовали, но вот там реально на 2 вечера работы.
Аноним 11/09/20 Птн 14:44:15 1803610179
>>1803594
>«Разработка редактора профиля для системы проектирования калибров профилегибочного производства»
Так при чём тут текстовый редактор со шрифтами, поиском редактированием?
Аноним 11/09/20 Птн 14:52:26 1803615180
а блокнот и не надо на крестах писать
на как не нужно - "движок" то все равно придется на си или крестах писать
но нужен быстродействующий высокоуровневый скриптовый язык, он должен лежать в основе любого редактора
что больше всего бесит в емаксе и виме? - это емакслисп и вимскрипт
бесит просто до зубовного скрежета
но коммьюнити вложило в эти редакторы миллионы человеко-часов, и все продолжают стонать и писать на этих хуевых скриптовых расширениях

Аноним 11/09/20 Птн 14:57:44 1803618181
>>1803615
>стонать и писать на этих хуевых скриптовых расширениях
Для авторов может и да, а у меня они просто работают, стонать не приходится.
(не отрицаю их хуёвость).
Аноним 11/09/20 Птн 15:00:05 1803620182
>>1803610
>смежного
Действительно, ты же аутист.
А это тоже не смежное?
>Использование концепций создания пользовательского интерфейса для кроссплатформенных приложений на основе UX-исследований
>Разработка web-приложения для визуализации многомерных дан-ных
Это еще в разы проще.
Аноним 11/09/20 Птн 15:08:55 1803628183
>>1803620
Это становится всё менее смешным. Если 1 ещё можно хоть как-то притянуть то каким образом здесь клеится веб приложение с визуализацией?
Аноним 11/09/20 Птн 15:19:30 1803641184
Можно ли в VS2019 увидеть где в коде ещё используется переменная как в Notepad++, там при двойном клике на слове оно выделяется везде где встречается в том числе и на прокрутке, в VS только в текущем окне.
Аноним 11/09/20 Птн 15:24:05 1803650185
>>1796605 (OP)
Что учить после шаблонов и контейнеров?
Аноним 11/09/20 Птн 15:25:05 1803653186
>>1796605 (OP)
Что учить после шаблонов и контейнеров?
Хочу на джуна пойти 19 годиков 0 опыта.
Аноним 11/09/20 Птн 15:25:21 1803654187
Аноним 11/09/20 Птн 15:30:15 1803661188
>>1803654
Задачки которые в унике дают делаю. А если делать свой проект то на матан времени не хватит. Думаю забить хуй на задачки уника и делать что-то своё, тупа списывая у одногруппов дз
Аноним 11/09/20 Птн 15:32:05 1803664189
>>1803661
В реальной работе матан нахуй никому не нужен, кроме машинлернеров и дата сатанистов. Даже обидно, что на него тратить время надо.

Но тем не менее - читай книги по всякому С++20 и старайся писать код
Аноним 11/09/20 Птн 15:33:11 1803665190
>>1803664
Матан не нужен прикладному математику?!
Спасибо за ответ, удачи анон.
Аноним 11/09/20 Птн 15:33:16 1803666191
>>1803628
То есть шрифт - это не визуализация? Ок.
Аноним 11/09/20 Птн 15:41:57 1803676192
>>1803666
Я тебя понял. Отвечаю последний раз и ухожу на работу а ты продолжаешь троллить своей тупостью других.

>визуализации
Не принта, а именно визуализации
>многомерных дан-ных
Это могут быть данные любого вида. Что подразумевает что текстового вывода здесь может вовсе не быть

В подобного рода проектах тебе нужно будет реализовать оптимизацию быстродействия и защиту от битых данных/устранение шумов etc. а не ебаться со шрифтами.
Аноним 11/09/20 Птн 15:44:00 1803677193
>>1803665
Я хуй знает на кого ты учишься. Я системный программист, опыта пошел 7ой год. Никакая математика не пригождалась ниразу.
Аноним 11/09/20 Птн 16:18:35 1803713194
>>1803497
>отрендерить шрифт со всеми нюансами выключки, скейлинга, кернинга, трекинга, сглаживания, прокрутки без глюков
ага, а потом понимаешь что это все костыли-костылики
а идеал это растровый шрифт + система с выстовленным ppi==dpi (и да, винда тут уже не подходит)
Аноним 11/09/20 Птн 16:22:17 1803716195
>>1803713
С растровым шрифтом это никуда не денется.
Аноним 11/09/20 Птн 16:25:15 1803720196
>>1803676
Ты считаешь что в шрифтах не надо ебаться с быстродействием? Лол, я понимаю если бы мы сидели в js треде, но в с++ такие перлы выдавать это конечно лол.
Аноним 11/09/20 Птн 16:37:49 1803731197
>>1803716
чому?
с растровым шрифтом нужно только воткнуть картинку этого шрифта и все
Аноним 11/09/20 Птн 17:13:49 1803770198
>>1803470
Я бы на защите спросил а зачем миру ещё один редактор ?
А команды TECO вы знаете, молодой человек?
Аноним 11/09/20 Птн 17:50:22 1803790199
>>1803654
И оглядывайся на примеры (хорошего) кода. Почитай, как другие люди пишут. Передирай у них удачные моменты. Как они оформляют код, как его организуют, как устроены и работают программы.

Вот можно поковырять исходники:
- Библиотека xerces-c. Это XML парсер. Очень чисто написана.
- Стандартная библиотека, которая прилагается к твоему компилятору. Поковыряй, как там написаны контейнеры, например.
- Исходники игр, игровых движков. Doom 2, Doom 3, Unreal
- Исходники всякого софта, вроде Linux, FreeBSD, Libre Office, Apache, Chromium Browser

Разработай свой собственный styleguide для того кода, что ты сам пишешь.
Аноним 11/09/20 Птн 17:53:44 1803796200
>>1796605 (OP)
Как же меня рожа этого Александреску на первой картинке бесит. Так и хочется в неё кирпичом запульнуть. Ну почему программисты сплошь и рядом выглядят не как фотомодели?
Аноним 11/09/20 Птн 18:08:42 1803804201
>>1803790
>примеры (хорошего) кода
>Стандартная библиотека, которая прилагается к твоему компилятору
Ебанутый?
Там же тысячи строк #ifdef __CXX_EXPERIMENTAL_CXX0X__ костылей под разные версии крестов/архитектуры/ОС с __gnu_debug_std::__М_такими_именами_переменных___ и мудацким форматированием пробелами пополам с табами.
Аноним 11/09/20 Птн 18:13:16 1803810202
>>1803770
Но ведь все существующие говно.
Аноним 11/09/20 Птн 18:33:38 1803816203
>>1803731
Потому что большая часть перечисленного касается больше расстановки буковок, какими бы они не были (растер/вектор). А если масштабировать шрифт (растр то у тебя под 1 размер будет), то и со сглаживанием тоже возиться.
Аноним 11/09/20 Птн 18:34:16 1803818204
>>1803796
Это ты еще ролевиков-настольщиков не видел.
Аноним 11/09/20 Птн 18:41:16 1803824205
>>1803796
The third picture is pretty badass, though.
Аноним 11/09/20 Птн 19:00:41 1803831206
>>1803824
хз, саттер еблом похож на шимпанзе
Аноним 11/09/20 Птн 19:17:52 1803842207
Напомните как специализироватб функции.

Вот есть типа определение
template<class...> void foo();

вот специализации для пустого и непустого списка типов
template<> void foo<>() { cout << ".\n"; }

template<class T, class... Ts>
void foo<T, Ts...>()
{
cout << typeid(T).name() << " ";
foo<Ts...>();
}

Но оно во-первых не компилится, а во-вторых определяется как перегрузки, а не специализации. Где я проебался?
Аноним 11/09/20 Птн 19:21:22 1803848208
Аноним 11/09/20 Птн 19:26:17 1803852209
>>1803848
Само собой. Я, конечно же, говорил о работающих в не-текстовых режимах.
Аноним 11/09/20 Птн 19:29:44 1803854210
>>1803842
Вроде бы template void foo<T, TS...>()
Аноним 11/09/20 Птн 19:48:45 1803860211
>>1803804
Нуу. Пусть это не хороший код, но тоже экспириенс на тему "вот так тоже бывает". Разве не интересно, как устроены и работают вот эти самые контейнеры, про которых столько говорилось?
Аноним 11/09/20 Птн 19:55:36 1803862212
>>1803831
У нас опенспейс, и мне приходится буквально целыми днями просиживать, вперясь в ебло соседа-программиста. И кодить-кодить-кодить. Не видя ничего кроме компа и офиса.

Уже не уверен, правильно ли я выбрал профессию. Вон - адвокаты. Постоянно какая-то драма, люди всякие, интересные случаи, поездки, трепаться надо. А тут што?
Аноним 11/09/20 Птн 20:16:38 1803874213
>>1803862
Потому что кодить надо для души и себя, а работы в ИТ кроме кодинга полно. Я вот хожу на работу, пью чай, скролю двачи и попутно запускаю скрипты на PowerShell, которые делают почти всю работу за меня. А платят как местным макакам, которые по 12 часов сидят за мониторами и не могут даже пернуть. Ещё и ходят на работу по СКУДу, повинуясь бездушной машине, считающей их часы и опоздания.
Аноним 11/09/20 Птн 20:41:43 1803891214
>>1803537
>суметь скопировать нотпад это тир 5 навык.
Лолват. Тир 5 пять это window gdi, функции отрисовки которого дёргает нотепад.
Аноним 11/09/20 Птн 21:44:57 1803952215
>>1803874
Ещё одна трабла - преимущественно мужской коллектив. Что в инсте одни мужики, что на работе. Где-б няшных тяночек найти? Меня от мужиков уже воротит.
Особенно на работе. В инсте все молодые, а тут какой-то мрак.
Аноним 11/09/20 Птн 22:09:51 1803971216
>>1803790
> Исходники всякого софта, вроде Linux, FreeBSD

Хочется почитать исходники разного ПО, но вот без навигации по вызовам функции, подсветка используемых переменных и прочего крайне не просто.
Какой редактор может просто "сожрать" папку с исходниками по которым хоть как-то можно будет перемещаться?
Аноним 11/09/20 Птн 22:18:56 1803976217
>>1803562
Закинь в cpp insights и посмотри
Аноним 11/09/20 Птн 22:21:54 1803981218
>>1803860
Да хуй ты там разберёшься без 0.5
Аноним 11/09/20 Птн 22:24:19 1803984219
>>1803577
Не знал, что здесь кто-то с РК6 сидит...
На плюсах пишешь что-то?
Аноним 11/09/20 Птн 22:34:17 1803994220
>>1803984
кто-то сидит -_-
кто-то пишет.
Аноним 11/09/20 Птн 23:19:55 1804029221
Куда вкатиться на плюсы в москве джуном? Около часа листал хх, обнаружил штук 10-15 вакансий на весь город. Так и должно быть?
На джаве в разы больше почему-то.
Аноним 11/09/20 Птн 23:32:01 1804038222
>>1804029
Недавно листал, довольно много вакансий.
Правда, я не джунов листал.
А хуле ты хотел?
На джаве больше вакансий по всему спектру скилла, да.
Аноним 12/09/20 Суб 01:50:47 1804108223
>>1803816
не, я так подогнал чтобы без масштабирования были, чтобы чисто точка в пиксель горела



Аноним 12/09/20 Суб 08:39:55 1804170224
Парни, завтра собеседовать челов на джунов. Первый раз такое да. Хз что спрашивать даже. Что вообще джуны знать должны? А то боюсь планку завысить
Аноним 12/09/20 Суб 10:37:53 1804230225
>>1804170
Пару задачек на логику придумай, спроси про современне фишки языка - чтобы не шарахались от твоего проекта. Указатели умные; попросить записать из двух потоков в один ресурс; виртуальный деструктор; мув-семантика; crtp, специализация шаблонов;
Спроси, читал ли он/она какие-нибудь книги и что оттуда вынесли.
Ну и правило номер ноль: если от кандидата воняет, то с собеседованием нужно не затягивать.
Аноним 12/09/20 Суб 14:21:59 1804382226
Вопрос по поводу архитектуры сервера. Сначала идет команда, потом данные. Даннве и команду отправить в одном запросе или сначала отправляю команду, а в следущем запросе данные что мне кажется более плохим вариантом. Тогда мне лучше придумать для каждой команды свой код, чтобы размер команды был одинаковый для любой команды?
Аноним 12/09/20 Суб 15:03:08 1804395227
>>1804382
Эти два сообщения в любом случае попадут в один буфер сокета. Даже если ты как-нибудь сумеешь разделить их при отправке, со стороны приема всё в один буфер улетит.

Можешь сначала посылать пару байтов, сигнализирующих, что это команда либо данные. Потом размер команды\данных. А после уже данные согласно размеру.
Аноним 12/09/20 Суб 15:11:31 1804398228
>>1804395
Спасибо. Раньше никогда не писал чего то большого. Обычно задачи какие нибудь решал или редко что то для себя. Там обычно так: есть идея, чуть обдумал, может на листике че то написал и записал на компе. Тут блин нужно сначала продумать заранее как оно все будет работать, а потом писать, иначе хуйня получится
Аноним 12/09/20 Суб 15:12:14 1804399229
>>1804382
я бы выбрал уже существующий протокол обмена (бинарный или текстовый) и использовал его
либо бы готовую реализацию, либо, если бы захотелось велосипедостроения, то сделал бы сам по существующим спекам
но даже второе не советую
а "проектировать" свой протокол это надо очень умным и опытным быть
раз ты задаешь такие вопросы, ты явно не из тех ребят
Аноним 12/09/20 Суб 15:14:48 1804402230
>>1804395
> Эти два сообщения в любом случае попадут в один буфер сокета.
Как будет время я это на компе проверю . Да и вообще уточню как boost данные обрабатывает, но вопрос тогда. Раз сообщения с любом случае попадут в один буфер, то как тогда данные скачивают большие. Программы не хранят же в буфере 10гб игры. Скачали кусок, очистили буфер. Как я понимаю. Ну я по идее тоже так смогу. Ну и так буду разделять сообщения
Аноним 12/09/20 Суб 15:16:16 1804403231
>>1804399
Ну не будет же в интернете конкретного протокола под мои цели.
Аноним 12/09/20 Суб 15:36:48 1804413232
Аноним 12/09/20 Суб 16:21:28 1804443233
>>1804382
В заголовке сообщения передаешь метаданные (ID команды, бла-бла), затем в теле сообщения сами данные. Отправляешь как единое целое.
Аноним 12/09/20 Суб 16:32:21 1804449234
посоны, поступил в вузик, будет с++, сказали будем работать по книге "всеволод иванов прикладное программирование на с/с++ с нуля"
по отзывам - книга максимальная хуета, или для сойдёт?
Аноним 12/09/20 Суб 16:34:11 1804451235
image.png 83Кб, 933x770
933x770
>>1804449
Проорал с ТУРБО СИ.
Аноним 12/09/20 Суб 16:39:31 1804454236
>>1804451
>не учат boost ряяяяя
Сейчас бы "учить" библиотеку
Аноним 12/09/20 Суб 16:40:55 1804455237
>>1804454
Ну изучатели буста это отдельная секта, солидарен. Но ТУРБО мать его СИ. Серьезно. Даже в 2010 это был лол кек чебурек. А уже в 2020 подавно.
Аноним 12/09/20 Суб 16:43:21 1804456238
>>1804449
На самом деле не важно.
Ну, то есть, понятное дело, что книга говно. Как и Turbo C.

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

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

>>1804455
Да, к остальному не придираюсь, очень смешно.
Аноним 12/09/20 Суб 16:44:24 1804458239
>>1804451
>>1804455
что делать тогда? шилдт или страуструп?
Аноним 12/09/20 Суб 16:46:00 1804459240
>>1804456
ебаться самому и придётся, да, похуй, чего не сделаешь ради вылеза из говен не спиться бы в общаге, лол
Аноним 12/09/20 Суб 16:53:03 1804464241
>>1804458
Я по страуструпу в свое время выучил со статьями по отдельным непонятным темам. Вроде даже хорошо получилось.
Аноним 12/09/20 Суб 16:57:52 1804468242
>>1804458
Му Липман, Лажойе, C++ Prime

Мне зашло, 150 стр до конца осталось
Аноним 12/09/20 Суб 17:14:02 1804475243
>>1804402
Ты вызов read() видел? Ты ему задашь считать 10ГБ, а функция вернет что считал, например, 1 Мб. По хорошему ты её в цикле вызываешь, до тех пор, пока все данные не будут считаны. Параллельно, при достижении определенного размера буфера, пишешь в файл, чтобы не держать всё в оперативке.
Аноним 12/09/20 Суб 17:15:06 1804477244
[code]
std::test
[/code]
Аноним 12/09/20 Суб 17:19:25 1804480245
>>1804458
Так себе С или С++?
Для С есть другой тред, в конце концов бери Кернигана и Ричи. Тоненькая книжечка просто и лаконично описывает язык.
Для С++ Липпман и Прата, Шилд ещё (синенькая такая кажется, в чём-то устарела наверняка, но для примитивного уровня достаточно)
Аноним 12/09/20 Суб 17:30:34 1804492246
>>1804480
c++ именно
спасибо за советы
Аноним 12/09/20 Суб 18:07:08 1804532247
>>1804382
Собираешь в достаточно большом буфере команду фиксированной длины, длину данных и данные, сколько влезет. Пишешь в сокет. Продолжаешь писать остаток данных.
Аноним 12/09/20 Суб 20:44:48 1804675248
Аноны, спрошу тут. На работе есть большая прога, ~3 МБ исходников, написана 50/50 в С/С++ -стиле В ней проблемы с памятью, работает в 95% при компиляции в VS2008 в релизе, в дебаге падает с рандомными ошибками assess violation и т.д, в VS2015 работает неправильно и иногда падает.

Прошу советов как это можно дебажить.
Есть ли какая-нибудь прога чтоб туда логи сырой памяти структуры вставить и ее описание и посмотреть как со временем значения в этой структуре менялись? (околориалтайм и взаимодействие с несколькими железками, брейкпоинт в студии только 1 раз поставить можно, после всё собьётся и перезапуск и всё чуть по другому будет)
Аноним 12/09/20 Суб 21:30:22 1804731249
>>1804675
Для начала пройдись статическими анализаторами, например clang-tidy.
Потом прикрути формирование дампов, узнаешь хоть, где вылет происходит.

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


> большая прога
> ~3 МБ исходников
Лол

Аноним 12/09/20 Суб 21:41:22 1804737250
>>1804731
Скомпилируй шлангом и натрави дохуя всех санитайзеров
Аноним 12/09/20 Суб 21:50:54 1804745251
Стоит ли вкатываться в Qt если собираюсь делать приложения только под винду? Вообще считаю что Unix подобные системы должны сдохнуть, это тупиковый путь развития
Аноним 12/09/20 Суб 21:58:54 1804752252
По моей задумке пользователь в браузере должен сгененрировать карту и потом сохранить ее на сервер. При этом нужно исключить момент, когда два человека случайно создали одну карту. Карт может быть, много, хоть и весят они мало. Сравнивать все созданные карты с только что созданной выглядит долго. Заранее создать пул со всеми возможными картами тоже кажется не идеальным решением. Потому что размеры могут быть любыми. Конечно можно сначала создать пул сначала с размерами до 100x100 например , а потом его расширять, но тогда будет много не используемых карт, но место занимающих. Вероятнее всего, проблема не нова, и уже есть какое то оптимальное решение.
Аноним 12/09/20 Суб 22:06:14 1804761253
>>1804752
Хотя можно наверное и оставлять дублткаты. Возможно ничего страшного не случится, если будут созданы 2 одинковые карты. Единственный мнус в том, что когда пользователь будет потом искать карты, он может найти две одинаковых. хотя можно будет вручную такое отслеживать переодически, в моменты, когда сервер не нагружен и дубликаты сливать в один элемент.
Аноним 12/09/20 Суб 22:49:57 1804791254
>>1804731
>Для начала пройдись статическими анализаторами
PVS Studio юзаю, оно норм?
>прикрути формирование дампов
Как правильно это сделать, чтобы
>узнаешь хоть, где вылет
если они в рандомных местах
>Напиши пару тестов
Почти вся прога - симуляция физических процессов, написана давно не нами, вообще хз что там внутри происходит (принимает структуру 1000+ полей)
>Введи логирование входных/выходных данных
Вот я и хочу с минимальной болью это сделать, сохранять ту структуру на каждом такте работы, что может её потом из лога в виде дерева показать как в отладчике студии?
>Брейкпоинты, задавать условия
Уже мало помогает

>>1804737
>шланг
?? это clang?

На с++ полгода, на 800 строк максимум проги делал, для меня пиздец большая
Аноним 12/09/20 Суб 23:32:42 1804825255
>>1804791
> структуру 1000+ полей
Пока декомпозицию не проведешь, ничего не получится.
Аноним 12/09/20 Суб 23:48:43 1804841256
>>1804675
Оберни все new delete.чтобы искать memory corruption
Аноним 13/09/20 Вск 00:30:56 1804856257
>>1804841
Дедуля, уже давно есть asan
Аноним 13/09/20 Вск 03:14:18 1804901258
Аноним 13/09/20 Вск 05:06:35 1804917259
1599465569772.gif 412Кб, 220x139
220x139
>>1796605 (OP)
Помогите студню-дебилу
Из навыков программиста обладаю только умением гуглить поэтому нашёл решение своей задачи на спп
Проблема такая - возможно ли перевести это решение на python или pascalABC.net? я НЕ прошу переводить просто подскажите софт/идеи, ибо я совершенно не знаю спп, а сроки горят. Ну или нахуй пошлите тоже можно
Собственно код:

#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <cstdlib>
#include <cstdio>
#include <ctime>

using namespace std;

int main() {
int n, m;
scanf("%d%d", &n, &m);
int a[n], prev[n], next[n], maxlt[n], maxrt[n];
int maxNow = 0;
for (int i = 0; i < n; ++i) {
scanf("%d", &a);
if (!i) {
prev = (a == 0) - 1;
maxlt = a;
} else {
prev = prev[i - 1];
maxlt = max(maxlt[i - 1], a);
if (a == 0) {
prev = i;
}
}
if (a == 0) {
maxlt = 0;
}
}
for (int i = n - 1; i >= 0; --i) {
if (a == 0) {
next = i;
maxrt = 0;
} else {
if (i != n - 1) {
next = next[i + 1];
maxrt = max(maxrt[i + 1], a);
} else {
next = -1;
maxrt = a;
}
}
}
for (int i = 0; i < m; ++i) {
int l, r, h;
scanf("%d%d%d", &l, &r, &h);
if (next[l - 1] != -1 && next[l - 1] < r) {
printf("Yes\n");
continue;
}
if (prev[l - 1] != -1) {
if (maxlt[l - 1] < h) {
printf("Yes\n");
continue;
}
}
if (next[r - 1] != -1) {
if (maxrt[r - 1] < h) {
printf("Yes\n");
continue;
}
}
printf("No\n");
}
return 0;
}
Аноним 13/09/20 Вск 05:39:37 1804922260
>>1804917
Пашол нахуй гандон и лишние либы с собой забирай
Аноним 13/09/20 Вск 05:53:31 1804926261
>>1804917
Замени scanf на input и printf на print и у тебя получится прога на питоне
Аноним 13/09/20 Вск 08:59:00 1804971262
>>1804856
А он точно умеет все то же?
Аноним 13/09/20 Вск 09:04:19 1804975263
>>1804731
> Лол
Но это действительно дохуя. Boilerplate & Copy-paste.
Аноним 13/09/20 Вск 09:57:12 1804988264
Аноним 13/09/20 Вск 11:09:37 1805055265
Аноним 13/09/20 Вск 13:30:00 1805122266
>>1803187
ток какого страуса a tour of c++?
Аноним 13/09/20 Вск 13:38:39 1805136267
image.png 108Кб, 725x316
725x316
аноны обьясните плиз этот синтаксис, что делает двоеточие после функции Player?

class Player : public Entity
{
private:
string m_Name;
public:
Player(const string& name)
: m_Name(name) {}
string GetName() { return m_Name; }
};
Аноним 13/09/20 Вск 13:43:13 1805141268
>>1805136
Инициализация полей в конструкторе
Как бы
Player()
{
m_Name = name;
...
}
Аноним 13/09/20 Вск 13:44:43 1805145269
>>1805141
понял, большое спасибо!
Аноним 13/09/20 Вск 15:17:05 1805229270
>>1805122
Я про книгу Страуструпа "Язык программировния C++". Желательно читать 4-е издание, про C++11. Только вот он на английском. Перевода нет.
Ну можно ещё 3-е специальное издание. Но тогда ты будешь изучать старую версию плюсов. В новой многое поменялось.
Я рекомендую эти толстые книги. Именно в них расписана вся-вся-вся суть языка. А другие его книжки - фуфло, язык по ним ты не выучишь. Там дополнительная или обзорная информация.
Аноним 13/09/20 Вск 15:26:28 1805235271
>>1805141
Не совсем, у тебя сначала вызывается дефолтный конструктор для поля, а потом копирующий конструктор. После двоеточия только один вызов конструктора с аргументом.
Аноним 13/09/20 Вск 15:38:18 1805250272
>>1805235
nm_Name{name};
Исправит проблему или все равно дефолтный вызовется?
Аноним 13/09/20 Вск 15:39:53 1805252273
Аноним 13/09/20 Вск 15:49:39 1805260274
>>1805250
Только после двоеточия, ну или прямо в теле класса значением по умолчанию. Компилятор не знает, что ты будешь делать в теле конструктора, поэтому все члены класса так или иначе должны быть сконструированы до него, включая ссылки и объекты без дефолтных конструкторов.
Аноним 13/09/20 Вск 15:51:39 1805264275
>>1805252
Нет блять питон со структурами
Аноним 13/09/20 Вск 15:52:07 1805265276
>>1805264
а что в питоне нету структур?
Аноним 13/09/20 Вск 15:53:54 1805268277
>>1805265
Там по моему вообще динамическая типизация
Аноним 13/09/20 Вск 15:58:44 1805269278
>>1805229
мб с++11 тоже устарел ещё 14 17 и 20 успели появиться
Аноним 13/09/20 Вск 16:18:10 1805290279
>>1805269
Там уже в целом не такие большие потрясения.
Аноним 13/09/20 Вск 16:29:02 1805304280
>>1805269
>14 17
Ничего серьезного, по большей части синтаксический сахар и небольшие улучшения.
>20
Ещё пару лет на него только переходить будут, успеешь догнать
Аноним 13/09/20 Вск 18:11:48 1805394281
>>1805268
Звучит как пост для бугурт треда
ДИНАМИЧЕСКАЯ
@
ТИПИЗАЦИЯ


Кто вообще придумал неявные рантайм-проверки неявного же параметра назвать типизацией.
Аноним 13/09/20 Вск 20:26:58 1805559282
>>1805394
А потому, что каждый объект несёт свой тип. И это безумно мощно и удобно. Неявные проверки, кстати, в старину отключали в отлаженных программах.
мимо из лиспа
Аноним 13/09/20 Вск 20:32:09 1805573283
>>1805559
Объектов не существует, как и типов, есть только байты!
Нет б-га кроме Ричи и Страуструп пророк его. Покайтесь, ибо пиздец!
Аноним 13/09/20 Вск 20:39:46 1805587284
>>1805573
Каких еще байтов? Слов.
Аноним 13/09/20 Вск 21:00:07 1805603285
>>1805559
> И это безумно мощно и удобно.
Ну я в qt тоже могу в рантайме узнать какого класса объект каким методом меня вызывает, узнать все про его поля и методы, но требуется это обычно чуть чаще чем никогда.
Аноним 13/09/20 Вск 22:24:32 1805675286
>>1796605 (OP)
Пацаны! Кто программировал WinAPI GDI, подскажите плиз.
Вот есть такая функция GetDeviceCaps(), она для Device Context возвращает его характеристики, вроде разрешения экрана.
Меня интересует её параметр PLANES - количество цветовых плоскостей. Функция выдаёт мне тут 1.
Кто-нибудь, может объяснить, что это такое? Я понимаю, что есть BITSPIXEL - количество бит на пиксель (у меня 32). Оно может быть 8, 16, 24, 32. Это настраивается в Свойствах Экрана. Но PLANES?
Что это за плоскости такие? Нигде в официальной документации описания этого я не нашёл. Я слышал, в видеопамяти, бывает отдельно лежат массивы красных, зеленых и синих пикселей экрана. Друг за другом. Вот это и есть плоскости. Это правда? Если так, нахуя так странно делать, и какой прок мне знать их количество?

А ещё, мне хотелось бы знать про GDI - есть ли в нём способ получить прямой доступ к памяти, и рисовать прямо устанавливая цвета пикселей без вызова SetPixel(), т.к. это тормозит.
Вот в DirectX можно сделать Surface, для неё вызвать Lock() и получишь искомое. А в GDI можно? Что-то я это не нахожу.

Заранее спасибо, с меня сотни нефти.
Аноним 13/09/20 Вск 22:37:06 1805681287
>>1805675
> А в GDI можно?
Неа, директ и создали чтобы это обходить, гди слишком тормозной для игор. Я где-то слышал это даже изначально не мс разработка.
Про остальное хз, наверное что-то связанное с рендером на любом говне.
Аноним 13/09/20 Вск 22:37:50 1805682288
>>1805394
Это пиздос, когда нужно написать больше 30 строчек на питоне, ты вместо этого сидишь и дрочишь преобразования одних типов в другие, потому что явно сука нигде не указано, что функция возвращает и какого типа у неё параметры.
Аноним 14/09/20 Пнд 00:16:10 1805743289
>>1805682
очевидно что когда тебе нужно "преобразовывать" типы, то ты уже проебался
в лучшем случае делаешь костыль, а в худжем вообще используешь предложенный тебе программный код не по назначению
в этом и смысл статической типизации
Аноним 14/09/20 Пнд 00:38:50 1805754290
>>1805743
Я про свой экспириенс с питоном написал. Со статической типизацией у нас в треде проблем нет.
Аноним 14/09/20 Пнд 01:27:22 1805772291
>>1805743
Когда будешь писать что то сложнее laba.cpp, узнаешь зачем преобразовывают типы.
Аноним 14/09/20 Пнд 01:38:51 1805778292
>>1805675
> GDI
ПЧувак, одумайся. Оно тебя медленно сожрёт.
Не стоит вскрывать эту тему.
Аноним 14/09/20 Пнд 03:13:03 1805805293
>>1805252

Братан, сосредоточься лучше на девочках. Может там у тебя что-нибудь получится.
Аноним 14/09/20 Пнд 03:15:02 1805806294
>>1796900

Докерфайл видишь? Ставь докер на винду.
Аноним 14/09/20 Пнд 03:49:03 1805810295
>>1805772
> laba.cpp
20 лет назад написал уже
Аноним 14/09/20 Пнд 06:13:17 1805823296
>>1804988
Ты ж сказал
> Сравнивать все созданные карты с только что созданной выглядит долго.
А с хешированием надо сравнивать не все, а только где хеши совпали
Аноним 14/09/20 Пнд 06:24:41 1805824297
>>1805675
>есть ли в нём способ получить прямой доступ к памяти, и рисовать прямо устанавливая цвета пикселей без вызова SetPixel()
Да, посмотри GetBufferedPaintBits

Вкратце делаешь пару BeginPaint/EndPaint как обычно, внутри них делаешь пару BeginBufferedPaint/EndBufferedPaint, и внутри них уже вызываешь GetBufferedPaintBits чтобы получить буфер, куда писать пиксели
Аноним 14/09/20 Пнд 08:39:55 1805843298
>>1805675
> Planes
Плоскость может содержать для каждого пикселя один или несколько битов. Так делали для экономии памяти и упрощения адресации: 3-битный цвет удобно раскидать по трем плоскостям, например. А если тебе при этом нужно только 2 цвета, ты работаешь с одной плоскостью, а остальные две просто сидят в устройстве и забиты нулями. Современные драйверы, скорее всего, будут всегда содержать одну плоскость.
Аноним 14/09/20 Пнд 08:46:38 1805848299
>>1805823
Ну так в чем разница будет между хешем и картой? У меня при хранении карты лишних байтов нет.
Аноним 14/09/20 Пнд 09:32:32 1805865300
>>1805848
В том, что когда ты ищешь по хешу, ты не сравниваешь хеш каждой старой карты с хешем новой. Ты считаешь хеш новой, и он тебе сразу дает адрес "хранилища" всех остальных карт с таким же хешем, и дальше ты уже ищешь только среди них, сокращая количество перебора на порядки.
Что является "хранилищем" зависит от того, где это всё хранится. Если на диске, то хеш может использоваться как имя папки, например. Ну или если это добро целиком в память загружено, то можно просто в unordered_map все эти карты затолкать, и скормить ему функцию хеширования, остальное он сам сделает.
Аноним 14/09/20 Пнд 09:34:12 1805867301
Аноним 14/09/20 Пнд 09:40:11 1805879302
Аноним 14/09/20 Пнд 17:24:18 1806353303
Снимок.PNG 15Кб, 390x516
390x516
Сап аноны. Вот задача. Вот решение. Оцените:
Задача:
Вычислить число повторений в заданном разряде (не выше единиц тысяч)
случайного десятичного числа. Использовать оператор множественного выбора
switch и генератор случайных чисел rand(). Вывести результат.
Пояснение: нужно посчитать сколько раз будут повторяться цифры 0, 1 .. 9 в одной
из позиций числа для N случайных генераций числа.

Решение на пике
Аноним 14/09/20 Пнд 17:27:45 1806360304
Аноним 14/09/20 Пнд 18:21:20 1806406305
>>1806353
Нахуя тебе этот свич кейс если у тебя в любом случае независимо от результата ch%10 будет инкремент в sum[ch%10]? Можешь просто оставить sum[ch%10]++.
Аноним 14/09/20 Пнд 18:23:53 1806407306
>>1806406
я бы с радостью, но в задаче просят, чтоб свич точно был
Аноним 14/09/20 Пнд 19:19:32 1806451307
охуеть.png 15Кб, 673x261
673x261
Репетиторы с авито в конец охуели, анончик, может ты подскажешь почему компилятор схлопывается? В коде пытаюсь рандомному слову из вектора поменять символы на черточки:

#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cctype>
#include <string>
using namespace std;
int main()
{
vector <string> words;
words.push_back("ooo");
words.push_back("oooo");
words.push_back("ooooo");
words.push_back("oooooo");
words.push_back("ooooooo");
srand(static_cast <unsigned int>(time(0)));
random_shuffle(words.begin(), words.end());
string theWord = words[0];
vector <string> changedWord(theWord.size(), "-");
for (int i = 0; i <= theWord.size(); ++i)
{
cout << changedWord;
}

return 0;
}
Аноним 14/09/20 Пнд 19:30:17 1806458308
>>1806451
Очевидно ты хотел написать string changedWord, а не vector<string> changedWord.
Аноним 14/09/20 Пнд 19:31:55 1806459309
>>1806451
Но цикл в любом случае бессмысленнен. Что ты считаешь? Количество букв в слове. И что дальше ты делаешь?
Аноним 14/09/20 Пнд 19:45:44 1806475310
>>1806451
Пидор демпингует, а ты в 2020 не можешь:

1)Скомпилировать сам и посмотреть какую ошибку компилятор выдает
2)Поискать её в гугле
3)Если на предыдущие пункты айкью не хватило, то хотя бы дать анончикам код в удобоваримом варианте, которые на доске описаны.

Поэтому этому соси хуй.
Аноним 14/09/20 Пнд 20:26:57 1806549311
>>1806451
700 рублей? Я бы с тебя минимум косаря 2-3 брал, лал.
Аноним 14/09/20 Пнд 22:40:39 1806709312
>>1806549
Да что такое 700 руб нынче? Это пшик!
Я их трачу за один поход в магаз за ёбаными продуктами. Или 1 раз пообедать в забегаловке.
Аноним 15/09/20 Втр 13:19:45 1807154313
>>1796605 (OP)
Есть где-то Argon2id/chukwa майнер, с поддержкой СUDA 8.0,
для GPU-майнинга Nvidia-видеокартами,
TurtleCoin-based монет с кастомными префиксами,
и прямо на daemon?
Насколько сложно заебенить такую хуйню?
Можно ли её заебенить, дополнив этот майнер https://github.com/turtlecoin/turtlecoin/tree/development/src/miner
какими-то cuda-файлами и задав кастомный префикс, в виде магического аргумента командной строки?

Не шарю в двух плюсах ваще.
Аноним 15/09/20 Втр 13:27:34 1807161314
image.png 235Кб, 409x405
409x405
Можете посоветовать ютуб канал где норм обьясняют плюсы, мне для ue4 надо, знаю некоторые темы поверхостно типа абстрактные классы виртуальные функции и тд но как то не уверен в своих знаниях, практики не было особо, например ща не знаю как реализовать поиск предметов в инвентаре для квеста, нужно написать предикат но я хз как, там еще и лямбду использовать надо которую я впервые вижу и это пугает, да и вообще не понимаю как эту документацию читать, https://docs.unrealengine.com/en-US/API/Runtime/Core/Containers/TArray/FilterByPredicate/index.html в синтаксисе одно а на примерах вообще другое вижу, простите за такой высер, если не канал то хотя бы дайте темы я там сам нагуглю
Аноним 15/09/20 Втр 15:53:49 1807296315
>>1807161
Что непонятного то? Вот у тебя массив предметов допустим items. Пишешь просто что-то вроде этого https://pastebin.com/g0PcxYnH и все.
Аноним 15/09/20 Втр 16:18:51 1807329316
XIoBwpLwhptStFu0.mp4 5390Кб, 720x720, 00:00:44
720x720
Приветики
Аноним 15/09/20 Втр 17:09:51 1807380317
>>1807161
>ютуб канал
Почитай условного Прату с C++ Primer или любую другую книгу из шапки. А так для твоей конкретной проблемы можешь поискать конкретные примеры на гитхабе. Вот первое, что попалось по запросу " "FilterByPredicate" TArray ":
https://github.com/MasteraVodoProvodchiki/frox-ue4/blob/5daa4e50467dcab4cd0f1104106be020e5da5fcc/Plugins/FroxPlugin/Source/FroxPlugin/Private/FroxComputeFlowAsset.cpp#L203
https://github.com/SheepShanker/UE4-4.23.1-release-toon/blob/37596dc49be3f95af5355422d942ad26ea7c4789/Engine/Source/Runtime/Online/BuildPatchServices/Private/Tests/Fake/ChunkReferenceTracker.fake.h#L39
Аноним 15/09/20 Втр 17:25:26 1807402318
>>1807329
какой же он долбоеб
Аноним 15/09/20 Втр 17:31:32 1807407319
>>1807329
Если плюсы не в правом верхнем углу политических координат, то что же там?
Аноним 15/09/20 Втр 17:32:54 1807408320
>>1807329
Такой чепушила от одной плюхи отлетит. Его вид дискредитирует крестобояр
Аноним 15/09/20 Втр 18:37:31 1807460321
>>1807329
Столкнуться с подобным на рабочем месте — мой основной страх перед трудовой эмиграцией. Как блядь насмотришься на этих хуесосов, настроение сразу падает.
Аноним 15/09/20 Втр 18:50:25 1807464322
Аноним 15/09/20 Втр 19:21:49 1807478323
>>1807161
ты роботаешь уже, челик?
или только учишся?
Аноним 15/09/20 Втр 19:23:12 1807479324
>>1807154
какой у тебя бюджет?
Аноним 15/09/20 Втр 19:51:38 1807501325
Аноним 15/09/20 Втр 19:57:03 1807505326
Аноним 15/09/20 Втр 20:30:56 1807533327
Аноны, подскажите, а бывают хипстерские digital-nomad c++ девелоперы в 2020? Или это только в потном офисе полном задротов сидеть и писать микрооптимизации? Я не троль, вопрос искренний
Аноним 15/09/20 Втр 21:27:06 1807580328
image.png 9Кб, 459x476
459x476
Почему char выводит 13? Я думал чар будет указывать на первый байт инта. Но он указвает на последний. Я не понимаю
Аноним 15/09/20 Втр 21:31:13 1807582329
>>1807580
У тебя последний байт идёт первым. Остроконечник сраный.
Аноним 15/09/20 Втр 21:35:10 1807585330
>>1807582
Блять. Я перепутал порядок.
Аноним 15/09/20 Втр 21:53:27 1807609331
image.png 14Кб, 1346x310
1346x310
>>1807582
стой. я не понял. На пике то как я понимаю числа представлены. Где ошибка?
Аноним 15/09/20 Втр 21:55:41 1807614332
Аноним 15/09/20 Втр 21:59:48 1807617333
Аноним 15/09/20 Втр 22:01:38 1807618334
>>1807617
Прикольно. Я как узнать какой порядок у меня, компилятора на левом сайте, и от чего от зависит?
Аноним 15/09/20 Втр 22:04:20 1807620335
>>1807580
Младший байт инта у x86[_64] это и есть первый его байт в памяти, Little Endian называется, гугли.
Аноним 15/09/20 Втр 22:06:22 1807625336
>>1807618
#include <bit>

if constexpr (std::endian::native == std::endian::big)
{
}
else if constexpr (std::endian::native == std::endian::little)
{
}
Аноним 15/09/20 Втр 22:09:20 1807629337
Аноним 15/09/20 Втр 22:10:15 1807630338
>>1807629
От архитектуры процессора.
Аноним 15/09/20 Втр 22:11:19 1807634339
>>1807629
Это зависит от железа, по большей части. При разработке на пк с big endian столкнешься пожалуй только в обработке изображений, да передаче данных по сети.
Аноним 15/09/20 Втр 22:11:43 1807635340
>>1807630
Фух. Мне возможно мой код надо будет с винды на линукс переносить. Думал мозгоебля обеспечена
Аноним 15/09/20 Втр 22:17:25 1807639341
>>1807618
Лучше всего прогать так, чтобы зависимости от порядка байтов не было. Не нужно из указателя на int извлекать char. Прочитай весь int, выдели char операцией типа & 0xFF.
Аноним 15/09/20 Втр 22:20:35 1807643342
>>1807639
Мне нужно данные с клиента на сервер принять, вот и ебусь. С клиента они пришли с порядке о большего к меньшему
Аноним 15/09/20 Втр 22:21:28 1807644343
>>1807643
Все эти обработки уже есть в стандартных сетевых либах.
Аноним 15/09/20 Втр 22:22:36 1807645344
>>1807329
Этот чувак кста делает вашу и мою любимую студию
Аноним 15/09/20 Втр 22:27:10 1807647345
>>1807645
Поэтому я использую VS code
Аноним 15/09/20 Втр 22:27:39 1807648346
>>1807644
Ну мне нужно отправить поле игровое. Я его так и отправлял. Привык, что порядок такой ну и отправил. А на сервере какая то ерунда началась. Когда вывожу в сыром виде, все ок, работает. Пытаться обработать, запихнуть в примитив через указатели и начинается что то странное.
Аноним 15/09/20 Втр 22:34:26 1807653347
>>1807647
Не только студию, но и поддержку студии в vs/vscode......
Аноним 15/09/20 Втр 22:34:44 1807656348
>>1807648
Чтобы что-то куда-то отправить (и где-то принять), нужно это сперва сериализовать в соответствии со строгим протоколом, иначе уязвимая система получится.
Аноним 15/09/20 Втр 22:40:15 1807665349
>>1807645
Он ее не делает, он пиздит и на конфочках выступает. Девелопер адвокат он, или чето такое
Аноним 15/09/20 Втр 22:45:54 1807669350
>>1807656
Ну как я это представил: первый байт тип команды, потом в зависимости от команды структура разная. Для команды сохранить поле структура такая: в начале 2 четырехбайтовых поля размера поля, а потом само поле в бинарном виде. Поле это по сути размеченый в клеточки прямоугольник, так что по размерам можно спокойно работать с полем. Двоичные данные приходят нормально, я проверил. Дальше что произошло я уже объяснил.
Аноним 15/09/20 Втр 23:30:35 1807712351
>>1807669
> четырехбайтовый размер
man ntohl
Аноним 16/09/20 Срд 01:03:23 1807776352
>>1807161
Ты как на работу устроился бля?
Аноним 16/09/20 Срд 01:06:30 1807779353
>>1807625
>if constexpr
У меня с++11...
Аноним 16/09/20 Срд 01:20:00 1807786354
>>1807779
Ну так перейди на c++17
Аноним 16/09/20 Срд 01:21:59 1807789355
>>1807786
Дома перешёл. На работе не перешёл.
Аноним 16/09/20 Срд 01:28:37 1807791356
>>1807789
а почему не перешел? Мы вон вообще все наши проекты мигрировали на С++17 + /permissive.

Как только выйдет новая студия - поедем на C++20, т.к. весь преворк уже сделан.
Аноним 16/09/20 Срд 01:36:48 1807795357
>>1807779
Тогда только дефайнами, а их уже подставляй из мейкфайла или что там у тебя.
Аноним 16/09/20 Срд 01:55:05 1807808358
>>1807791
Потому что проекты не мигрировали.
Аноним 16/09/20 Срд 01:55:49 1807810359
>>1807808
ну так в чем проблема взять и мигрировать? Чинишь ошибки компиляции пока не взлетит и всё.
Аноним 16/09/20 Срд 02:00:48 1807815360
Аноним 16/09/20 Срд 02:01:27 1807816361
>>1807810
Есть тысяча и одна причина, ты серьёзно сейчас? Или джун?
No offence
Аноним 16/09/20 Срд 02:34:42 1807828362
>>1807816
Нет я очень далеко не джун, я просто вьебал 3 дня и перевел все наши, и так достаточно хорошо написанные проекты. на С++17.

Единственное, конечно, что у нас все депенденси либо хедер-онли, либо не заброшенное говно.
Аноним 16/09/20 Срд 02:53:37 1807838363
У нас на одном из проектов в телекоме была либа написанная в стиле до-С89 скомпиленная в 95 году. Переписали ток в прошлом году на с++17 когда под изменения в спецификации надо было добавить небольшой функционал и то просто потому что тот сурц ни одним компилятором уже нахуй бы ни собрался
Аноним 16/09/20 Срд 03:27:25 1807846364
>>1807838
Надо было на Яву переписать
Аноним 16/09/20 Срд 03:30:05 1807847365
Мб кто то шарит, вот сделал курсач в clion сервер на линукс, стандартная библиотека + сокеты и даже в режиме отладки в clion он мгновенно отвечает, а как запускаю в рабочей среде, то все пиздец, ответ от моего сервера 10 секунд блять, да как так то?
Аноним 16/09/20 Срд 03:40:40 1807849366
>>1807847
ой бля, он в простое забивает одно ядро в 100%, да как так то
Аноним 16/09/20 Срд 04:51:12 1807859367
>>1807849
Слушает в бесконечном цикле, это нормально.
Аноним 16/09/20 Срд 05:10:03 1807868368
>>1807859
я уже нашел вроде, надо заPOLLить его, вроде должно скрыть очевидные недостатки
Аноним 16/09/20 Срд 06:39:05 1807885369
>>1807847
Вот она, непредсказуемость ++с
Аноним 16/09/20 Срд 08:15:54 1807918370
>>1807816
Ну расскажи мне про сложности тестирования своей лаба2.cpp
Аноним 16/09/20 Срд 09:44:31 1807963371
Аноним 16/09/20 Срд 23:27:52 1808581372
1464402838317.png 85Кб, 584x431
584x431
Аноним 17/09/20 Чтв 01:55:48 1808671373
>>1808581
>even in the presence on threads
Ага, и там в хотлупе потом боттлнек из-за thread-safe-static-initialization. Проходили.
Аноним 17/09/20 Чтв 01:58:16 1808675374
>>1808671
Но в целом миленько, да.
Аноним 17/09/20 Чтв 09:59:07 1808774375
>>1808581
call_once для кого придумали?
Аноним 17/09/20 Чтв 11:12:17 1808818376
>>1808774
call_once нужно откуда-то вызывать, а тут декларативно.
Аноним 17/09/20 Чтв 11:24:59 1808833377
>>1808818
Ох блядь. А iile - это не вызов?
Аноним 17/09/20 Чтв 11:58:55 1808868378
https://ideone.com/1Mt6od

Какого хуя здесь происходит. Почему эта залупа вообще скомпилировалась?
Аноним 17/09/20 Чтв 12:24:33 1808886379
>>1796605 (OP)
Внимание, нюфага вопрос.
Почему когда я гуглю какой-то вопрос, то там обязательно присутствует кусок говно кода?
По типу гуглишь какую-то функцию из стандарт библиотеки, а какой-то 12лет пробраммист переписал эту функцию на свой лад с лярдом костылей и говностилистикой.
Аноним 17/09/20 Чтв 12:29:50 1808891380
Аноним 17/09/20 Чтв 12:32:41 1808894381
>>1808833
Так в случае с call_once надо будет написать все то же самое, только оно будет еще и в call_once обернуто и заведена дополнительно переменная под флаг. Может я что то не так понял?
Аноним 17/09/20 Чтв 12:35:12 1808898382
>>1808868
warning: variable 's' is uninitialized when used within its own initialization
Аноним 17/09/20 Чтв 14:16:59 1808976383
>>1808868
Потому что передается указатель, известный до создания переменной.
Аноним 17/09/20 Чтв 15:14:49 1809024384
>>1808898
Не смог заставить g++ сказать что-то похожее
Аноним 17/09/20 Чтв 17:24:06 1809175385
Обьясните дегенерату на пальцах. Что это означает?

"Значение типа const char * нельзя присвоить сущности типа LPWSTR"
Говорят нужно включить в настройках проекта многобайтовую кодировку, но не могу найти где.
Аноним 17/09/20 Чтв 17:28:15 1809180386
Аноним 17/09/20 Чтв 17:31:34 1809184387
>>1809180
БЛАГОДАРОЧКА,
Дай бог здоровья.

Прям бля, пиздец, шоб шишка стояла.
Аноним 17/09/20 Чтв 17:59:15 1809213388
Бля, а теперь ругается что:
Значение типа "const wchar_t *" нельзя присвоить сущности типа LPSTR
Осталось это победить.
Аноним 17/09/20 Чтв 18:02:02 1809216389
>>1809213
Тупит на эти две нижнии строчки.
STARTUPINFO startInfo1 = {}, startInfo2 = {};
startInfo1.lpTitle = "Child Process 1";
startInfo2.lpTitle = "Child Process 2";
Аноним 17/09/20 Чтв 18:11:49 1809225390
>>1809216
Чем убрать ошибку?
const wchar_t нельзя присвоить сущности типа LPSTR
На многобайтовую кодировку переключил.
Аноним 17/09/20 Чтв 18:43:49 1809251391
Аноним 17/09/20 Чтв 19:21:43 1809284392
>>1809225
Нашел. Надо было отключить режим совместимости.

Тогда все заработает
Аноним 18/09/20 Птн 12:09:07 1809862393
Кто-нибудь писал на ардуине, пользуясь библиотекой FastLed?
Аноним 18/09/20 Птн 12:53:31 1809898394
Можно ли делать на с++ приложения для андроид?
Аноним 18/09/20 Птн 13:12:11 1809905395
>>1809898
Можно. Компилируешь ndk и получаешь .so
Минимальная обвязка на java там все равно будет чтобы запустить + многие функции API тебе придется дергать через jni интерфейс.
Аноним 18/09/20 Птн 13:58:45 1809921396
>>1809898
Qt кажется сам все спокойно под андроид собирает
Аноним 18/09/20 Птн 14:07:06 1809929397
Аноним 18/09/20 Птн 14:07:59 1809931398
>>1809921
Не сам, ндк все равно нужен.
Аноним 18/09/20 Птн 14:09:35 1809934399
>>1809931
Ну да. Там че то нужно скачивать. Я в том смысле что тебе будет похуй под какуб платформу писать. Он скомпилирует и под андроид и под комп
Аноним 18/09/20 Птн 15:05:04 1809957400
Ананасы.

При создании массива:

int *Arr;
Arr = new int[ 4 ];

Шо происходит?

Как я это понимаю - создаётся массив из указателей, которые хранят адреса на данные типа инт.

Иле же второй вариант - выделяется группа адресов под тип инт?

Нахрена я это спрашиваю.

Идея следующая - избежать лишних копирований. Вот есть массив размером 30 и два по 5. Задача скопировать туда данные с неким смещением от начала массива и есть два варианта первый и простой - просто копируем со смещением, второй - заполнить итоговый массив лишь адресами на элементы каждого из массивов. У меня путаница и недопонимание - мне для воплощения второго плана нужен просто массив созданный как выше или всё таки нужен массив указателей на указатели.
18/09/20 Птн 15:08:48 1809959401
>>1809957
Выделяются четыре слова памяти, Arr = адрес начала.
Аноним 18/09/20 Птн 15:08:50 1809960402
>>1809957
Все неправильно. Выделяется одна область памяти под 4 инта и на первый элемент указывает твоя переменная Arr.
Аноним 18/09/20 Птн 15:11:09 1809961403
>>1809959
>>1809960

Понятно. Тогда каким должен быть массив, в который бы копировались лишь адреса из этих двух? Такое вообще возможно?
Аноним 18/09/20 Птн 15:16:33 1809967404
>>1809957
>массив размером 30 и два по 5
Куда сам сядешь, куда данные скопируешь?
Аноним 18/09/20 Птн 15:17:30 1809969405
Аноним 18/09/20 Птн 16:13:46 1810002406
Аноним 18/09/20 Птн 16:18:24 1810010407
>>1809961
Нихуя не понял, адрес если что больше весит чем инт в х64, так что не сработает твой план оптимизации. Оставь как есть копирование и не еби себе мозг.
Аноним 18/09/20 Птн 17:20:32 1810092408
15975425666630.png 352Кб, 850x850
850x850
>>1809967
UB раз или segfault в глаз?

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

void* из стека или optional c кучи?

Две ветки в деструкторе - в одной abort, в другой throw. Куда приземлишься?

Мать жива?
Аноним 18/09/20 Птн 17:56:06 1810145409
>>1810092
Шуе цпп! Благодарю, анончик.
Аноним 18/09/20 Птн 20:27:23 1810228410
Простите сетевого инженера за вероятно тупой вопрос. У меня знакомый пытается найти джуном/стажером вакансию на крестах. Знает судя по всему не очень много, в основном сам синтаксис и с winapi работал. Печатает двумя пальцами. Я ему говорю что затея выглядит тупой и пусть с его уровнем изучает другой стек куда проще вкатиться. Он всё ищет вакансию. Мне интересно, это реально вообще такое найти? Или стажерских/джуновских вакансий на данном языке в России нет в 2020?
Аноним 18/09/20 Птн 21:18:36 1810258411
>>1810228
Вакансии есть, но требования пиздец. С ЧУТЬ ЧУТЬ СИПЛЮСПЛЮС и ЧУТЬ ЧУТЬ ВИНАПИ - это дохлая тема.
Аноним 18/09/20 Птн 21:26:34 1810264412
>>1810258
А какой стек вообще вкатышу надо знать? У меня создаётся впечатление что с++ язык для того чтобы лазить под капот систем, соответственно нужны хорошие знание в целом в компьютер сайнс.
Аноним 18/09/20 Птн 21:29:32 1810269413
>>1810264
Достаточно знать С++, но хорошо.
Аноним 18/09/20 Птн 21:31:45 1810274414
>>1810269
Понятно. Эхх, бедолага... А мог бы PHP учить. Или даже пакеты ловить ртом и выпердывать жопой как я. Всё больше денег было бы
Аноним 18/09/20 Птн 21:34:42 1810279415
>>1810274
ну я, не смотря на свою адовую зарплату крестовиком таки считаю, что сейчас правда 0 смысла вкатываться в кресты, только по очень большой любви.

Сишарп\го\тупоскрипт - сьедобно и оплачивается, как минимум, не хуже
Аноним 18/09/20 Птн 21:40:26 1810283416
>>1810279
Ну я так понимаю ты как раз человек который разбирается в очень большом спектре IT знаний и наверное обслуживает легаси при этом?
Аноним 18/09/20 Птн 22:30:28 1810309417
>>1810092
> Две ветки в деструкторе - в одной abort, в другой throw. Куда приземлишься?

throw конечно, там хоть выбраться можно


Аноним 18/09/20 Птн 22:41:30 1810316418
>>1810283
я вкатился по очень большой любви, и потом мне 3 раза подряд охуительно повезло с работой. С++ я знаю на очень серьезном уровне, и вообще да, разбираюсь дохера в чем.

Но, судя по всему, я бы мог еще х2 получать, удаленя на какой-нить параше типа тайпскрипта.
Аноним 19/09/20 Суб 00:48:36 1810398419
>>1810316
Заходишь в компилятор, тебе ассемблер под ноги кидает strcmp, в какой регистр каунтер положишь?
Аноним 19/09/20 Суб 01:14:23 1810416420
>>1810398
>strcmp
Си тред два блока вниз
Аноним 19/09/20 Суб 01:51:35 1810429421
Сап ночной, есть небольшая самописная либа на плюсах, для сборки которой используется cmake. Вопрос: чем бы вы воспользовались для тестирования либы? Я хз юнит-тесты это или нет, но нужно просто подергать на либе нужные функции с известными параметрами и убедиться, что возвращаются правильные значения.
Аноним 19/09/20 Суб 02:02:30 1810438422
>>1810429
Любая библиотека для юниттестов. Например Catch2 или Doctest, и отдельный таргет в симейке, который будет запускать их.
Аноним 19/09/20 Суб 02:57:14 1810462423
image.png 75Кб, 859x765
859x765
image.png 82Кб, 959x566
959x566
image.png 18Кб, 519x195
519x195
Можете плез пояснить, какого хуя для си есть хвостовая оптимизация, а для плюсов нет? Компилятор gcc, код тот же самый.
Аноним 19/09/20 Суб 03:00:28 1810463424
>>1810462
а бля, я дебил сонный, не из той лабы в си компилятор код запихнул
Аноним 19/09/20 Суб 03:16:08 1810466425
>>1810463
и ты бы еще все таки -O2 добавлял
Аноним 19/09/20 Суб 13:11:38 1810710426
Аноним 19/09/20 Суб 13:19:53 1810716427
>>1807533
ряженые челики на конфах
это наш максимум

Аноним 19/09/20 Суб 13:21:15 1810718428
>>1807478
чому не отвечаешь?
как такие челики как ты роботу находят?
Аноним 19/09/20 Суб 15:48:51 1810851429
>>1807533
бывают бывают. В Нвидии пара команд, типа той же КУДЫ - полностью на удаленке еще до пандемии была. Другое дело, что там официальное трудоустройство и с налогами есть нюансы, если ты будешь больше полугода жить не в стране устройства...
Аноним 19/09/20 Суб 16:36:17 1810893430
Пришел с C# и что я вижу? Чтобы сделать гуй - надо ставить и учить фреймворк, чтобы юзать шифрование - надо искать либу, и разбирать тонны кода, да бля - самое простое base64 надо писать с нуля (искать либу). Конечно супер, что сказать.
Аноним 19/09/20 Суб 16:38:37 1810895431
>>1810893
Труе язык общего назначения, конечно тут не будет как в пхп json_encode()
Аноним 19/09/20 Суб 16:47:31 1810898432
Аноним 19/09/20 Суб 16:49:20 1810899433
>>1810893
Можно подумать в сисярпе не так, лол. Так же будешь учить фреймворки для гуя (что там с WPF под линупс?), так же будет какой нибудь BouncyCastle или BCrypt (постоянно вижу кучу thirdparty dll в папках с прогами, тот же Newton для json). Ничем тащемта не отличается от поиска всяких пакетов в нугете или что там у вас, только они распространяются в естественной форме - в виде исходников.
Аноним 19/09/20 Суб 16:54:09 1810901434
Аноним 19/09/20 Суб 17:09:45 1810917435
>>1810901
Очень крутой набор ресурсов, спасибо.
Аноним 19/09/20 Суб 17:16:52 1810925436
1573329129477.jpg 4Кб, 160x160
160x160
>>1810917
>не благодари
>благодарит
Аноним 19/09/20 Суб 18:11:11 1810978437
>>1810901
Ещё бы научиться подключать эти библиотеки
Аноним 19/09/20 Суб 18:30:52 1810989438
>>1810978
А в чем проблема? Добавляешь в проект все .cpp и в дополнительных каталогах включаемых файлов указываешь путь к папке с хедерами.
Аноним 19/09/20 Суб 18:45:44 1811006439
>>1810978
vcpkg integrate install
vcpkg install mOyA_BiBlIOteka
Аноним 19/09/20 Суб 19:48:23 1811039440
изображение.png 25Кб, 864x226
864x226
изображение.png 1Кб, 578x61
578x61
Народ,помогите сделать лабочку,как это сделать используя только ветвления и циклы?
Аноним 19/09/20 Суб 19:55:25 1811048441
>>1811039
Я понимаю, что помогаю тому кому не надо бы помогать, но if тут видимо нужен чтобы проверить четность степени и поставить минус, а цикле ты просто пробегаешься по степеням x как указано в формуле и получаешь итоговую сумму
Аноним 19/09/20 Суб 20:05:52 1811058442
>>1811039
Только ветвления и циклы никак не получится, будет еще как минимум вызов фунции (main) и арифметические операции.
Аноним 19/09/20 Суб 20:12:50 1811062443
>>1811006
Вот долго мучался с этим vcpkg но никак не смог подключить ffmpeg
Аноним 19/09/20 Суб 21:06:11 1811087444
image.png 65Кб, 939x438
939x438
>>1811039
Харкни в лицо за такие ограничения. Лучше учись стандартными функциями пользоваться. Они бы ещё тебе на ассемблере сказали это писать
Аноним 19/09/20 Суб 21:11:53 1811093445
>>1811048
Можно заабузить умножение на -1. Завести переменную равную -1 в каждой итерации делать *= для нее на -1. В итоге выходит как надо в первой итерации -1 х -1 = 1, во второй 1 х -1 = -1 и т.д.
Аноним 19/09/20 Суб 21:14:09 1811095446
изображение.png 26Кб, 591x525
591x525
>>1811039
Бля пацаны,я дибил,там есть пример.Но так как я дибил я все равно ничего не понял
Аноним 19/09/20 Суб 21:17:07 1811097447
>>1811087
Здравая мысль, ибо лезть в такие дебри только если это действительно имеет смысл, иначе трата времени получается. Узнаю наше бобразование, где за шесть лет ничему не научат.

>>1811039
REVERSE
Аноним 19/09/20 Суб 21:29:52 1811107448
Аноним 19/09/20 Суб 23:01:23 1811189449
>>1811062
vcpkg integrate install
vcpkg install ffmpeg
Аноним 19/09/20 Суб 23:04:59 1811195450
>>1811189
Я конечно тупой, но не до такой степени, это всё я проделал как в туториале, как визуал студио не видела никакого ffmpeg и всё
Аноним 20/09/20 Вск 00:12:13 1811253451
1.png 49Кб, 983x402
983x402
2.png 36Кб, 453x607
453x607
3.png 17Кб, 402x465
402x465
Сап, заусманенный. Нужен совет.
Есть 2 структуры (пикрил 1), как видно они почти похожи, но некоторые поля имеют другой размер, почти все значения этих полей будут повторяться, что для одной структуры что для другой. Структуры будут записаны в файл.
Так вот, как заполнить структуру так, чтобы не плодить одинаковый код как на (пикриле 2)? Может это нормально, но как по мне всрато выглядит.
Думаю можно разбить структуру и составлять её по кускам и также по кускам записывать в файл как на (пикриле 3).
Аноним 20/09/20 Вск 00:58:16 1811275452
>>1811253
> Так вот, как заполнить структуру так, чтобы не плодить одинаковый код как на (пикриле 2)?
Сделать какой-нибудь make класс\функцию которая будет возвращать нужное значение.
Типа
if( q == 1 ) { return { 0x1, 0x2 }; )
if( q == 2 ) { return { 0x1001, 0x20001 }; )
Аноним 20/09/20 Вск 03:07:00 1811312453
>>1811253
Вся труевая сишная системщина - блевота.
Могу только предложишь обернуть это все в нормальный С++.
Аноним 20/09/20 Вск 05:38:36 1811320454
>>1811253
Можно написать макрос #define, заполняющий общие поля одинаковыми значениями. И просто вызвать его и там, и там.
Аноним 20/09/20 Вск 05:45:31 1811321455
>>1811320
Ещё, если это C++, можно определить эту структуру как шаблон, и передавать тот тип ULONGLONG в 64-битной версии как параметр шаблона. Сделать ему typedef внутри структуры и применять.
Аналогично, сделать шаблонную функцию для инициализации полей структуры.
Аноним 20/09/20 Вск 09:10:10 1811346456
>>1811321
И вот это отличное идиоматичное решение, если наплевать, что получишь на выходе раздутый код.
Аноним 20/09/20 Вск 09:25:54 1811354457
>>1811346
А он полюбасу выходит раздутым. Он и сейчас такой.
Правда, есть ли у чела C++ ?
Аноним 20/09/20 Вск 10:02:32 1811365458
>>1811346
Ещё, если структуры отличаются не просто типом отдельных полей, а уже и их составом (где-то больше, где-то меньше) - тут уже с шаблоном туго. Правда можно юзать наследование. Но тогда опять, различия должны приходится лишь на последние поля. Вперемешку не выйдет.
Аноним 20/09/20 Вск 10:45:03 1811371459
.jpg 40Кб, 517x396
517x396
>>1811253
Всех благодарю за ответы.
Даже не ожидал такой адекватности.
Программу писал на сях, вот этот только момент с структурами мне покоя не дает. Хочу переписать на плюсыси с классами, кода не много и использовать обертки над винапи, никогда такого ещё не делал. Буду дальше ковырять. Как подметил этот господин >>1811365 вперемешку может и не получиться так как они ещё и одним полем отличаются. В любом случае попробую с шаблонами поиграться.
Аноним 20/09/20 Вск 11:21:26 1811382460
>>1811253
Тут проще всего генерацией кода по текстовому шаблону.
Аноним 20/09/20 Вск 11:45:16 1811395461
>>1811095
Беги с этого института
Аноним 20/09/20 Вск 11:50:20 1811397462
image.png 34Кб, 350x250
350x250
Есть карта для того, чтобы вкатиться в джуны по плюсам. Я просто хз что учить посе шаблонов и классов... Планирую на стажировку идти в игродел компанию по плюсам, тестовое просил - игнорят.
Аноним 20/09/20 Вск 13:16:24 1811436463
>>1811397
>Есть карта для того, чтобы вкатиться в джуны по плюсам
Карты нет, так как плюсы во многом опираются на предметную область, в которой ты собираешься работать.
Аноним 20/09/20 Вск 13:34:31 1811450464
>>1811436
>во многом опираются на предметную область
А разве не везде так??
Аноним 20/09/20 Вск 14:01:17 1811461465
Аноним 20/09/20 Вск 14:17:13 1811473466
>>1811450
Так, но во всех остальных местах предметная область называется ВЕБ, поэтому затруднений с планом меньше.
Аноним 20/09/20 Вск 14:43:40 1811488467
image.png 617Кб, 1126x814
1126x814
Вкатываюсь в плюсы и стало страшно. Спп прогеры реально так выглядят?
Аноним 20/09/20 Вск 14:46:29 1811492468
>>1811488
А чем тебе Бьорк не нравится?
Аноним 20/09/20 Вск 14:51:49 1811497469
>>1811492
Старая уже, предпочитаю помоложе, а что?
Аноним 20/09/20 Вск 16:32:21 1811612470
image.png 1768Кб, 1500x500
1500x500
>>1811488
>1488
Дави всех этих блядей
Аноним 20/09/20 Вск 16:43:15 1811623471
>>1811488
Ты еще не видел растовиков.
Аноним 20/09/20 Вск 16:50:45 1811628472
Аноним 20/09/20 Вск 20:27:09 1811878473
>>1796605 (OP)
Вкатываюсь(пытаюсь, во всяком случае) в С++ из Си (да да, я байтоеб микриков ебучих) и пытаюсь понять, чем подход ООП в С++ отличается от процедурного программирования в Си.

Я правильно понял:

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

В Си инструкции выполняются одни за другой и там нужно писать так:

while (1)
{
    wolf_eat(meat);
    cow_eat(grass);
};

Когда в С++ объекты занимаются своими делами сами по себе, и если им поставить задачу, они будут ею заниматься без постороннего участия:

wolf.eat(meat);
cow.eat(grass);
while (1);




Аноним 20/09/20 Вск 20:36:43 1811886474
>>1811878
В си ты заполняешь структуру указателей на функции своими колбеками и передаёшь получившийся объект дальше в функцию.

В плюсах ты реализуешь методы абстрактного класса. Вот и вся разница.
Аноним 20/09/20 Вск 20:37:09 1811887475
>>1811878
Нет, там тоже будет цикл
while(1)
{
wolf.speak();
cow.speak();
}

разница начнется в том что на плюсах можно делать так

class Animal { virtual speak(); }
class Wolf : Animal { speak() { cout << "uwu"; } }
class Cow : Animal { speak() { cout << "moo"; } }

while(1)
{
for(animal& : list_animals)
animal.speak();
}
Аноним 20/09/20 Вск 20:37:57 1811889476
>>1811887
Алсо цикл в каком нибудь фреймворке, конечно, можно спрятать.
Сделать какую нибудь регистрацию.
Впрочем это в любом языке.
Аноним 20/09/20 Вск 22:26:31 1812001477
>>1810925
Я вредный вор просто.
Аноним 20/09/20 Вск 22:28:46 1812003478
>>1811886
Иди выебывайся умными словами в другое место, гандон.
Аноним 20/09/20 Вск 22:50:12 1812029479
>>1811886
Почему, объясните мне, почему вы называете это колбеками?
Да, ты эмулируешь "методы" таким образом, но это не само себе не обязательно должно использоваться коллбеков.
Это перпендикулярные вещи.
Аноним 20/09/20 Вск 22:51:49 1812031480
>>1812029
Я проебался со склонениями, пока редактировал сообщение, но суть передана, надеюсь.
На всякий случай поправлю:
>Да, ты эмулируешь "методы" таким образом, но получившаяся конструкция может быть и никак не связана с понятием колбека.
Аноним 20/09/20 Вск 23:54:11 1812085481
>>1796605 (OP)
Аноны, в чём отличие стандартов? Ну я более менее уже освоил С++(основы по книге одной книге Страуструпа), но так и не понял в чём отличие стандартов?

С++11 С++14 и т.д.

И сильные ли различия между этими стандартами?
Аноним 20/09/20 Вск 23:55:55 1812089482
>>1811878
>Вкатываюсь(пытаюсь, во всяком случае) в С++ из Си
как будто сюда как то по другому попадают. все с++ выходцы из си.

обычно тру байтолюб после плюсов на асмы вкатывается. у меня лично такие планы после осовения с++ до приемлемого уровня перекатываться в асмы
Аноним 20/09/20 Вск 23:56:15 1812090483
>>1812085
Довольно сильные, добавляют мощные фичи и чуть меняют смысл написанного ранее кода.
Аноним 20/09/20 Вск 23:58:10 1812092484
>>1812090
То есть перегружают некоторые синтасические конструкции\символы\обозначения и добавляют поддержку каких-либо функций\библиотек?
Аноним 21/09/20 Пнд 00:17:54 1812107485
>>1812089
Я начал с плюсов, потом ушёл в си, асм и криптографию, потом ушёл в другую криптографию, в которую протягиваю плюсы.
Аноним 21/09/20 Пнд 00:54:25 1812118486
>>1812107
Ну ты олигарх прямо
Аноним 21/09/20 Пнд 01:47:26 1812136487
>>1811253
обычно такое делают иерархией наследования pod классов

Аноним 21/09/20 Пнд 03:08:42 1812149488
>>1812085
Рикаминдую Бартека Филипека: C++17 in detail. Там в основном про отличия именно 17 стандарта, но иногда и исторический экскурс, типа, "в 11 было так, в 14 так, а в 17 еще и так".
Приобрести можно на рутрекере
Аноним 21/09/20 Пнд 03:15:11 1812150489
Аноним 21/09/20 Пнд 11:23:23 1812301490
За сутки прочитал 300 страниц Страуса. Хули так просто? Всё схватываю читая по диагонали, задания на раз-два. До этого не кодил вообще (максимум шарил за типы данных и пупы с лупами). Если так дальше пойдёт месяца через 3-4 на работку вкачусь?
Аноним 21/09/20 Пнд 13:46:37 1812455491
>>1812301
Так там и написано так, чтоб было просто.
Аноним 21/09/20 Пнд 14:47:15 1812507492
Мoжнo ли изменить стрoку типа string?
Аноним 21/09/20 Пнд 14:50:08 1812511493
>>1812507
В чем вопрос? Без выделения памяти или что?
Аноним 21/09/20 Пнд 15:14:55 1812540494
Аноним 21/09/20 Пнд 15:25:20 1812558495
Аноним 21/09/20 Пнд 15:33:10 1812561496
Аноним 21/09/20 Пнд 15:46:24 1812572497
>>1812561
красава. гoднo. заменил элемент в массиве. тoчнo. благoдарю
Аноним 21/09/20 Пнд 15:52:10 1812578498
>>1812572
Каком массиве?
Вызвал operator[] для класса string, обратившись таким образом к элементу строки.
Аноним 21/09/20 Пнд 15:53:22 1812582499
>>1812578
стрoка этo пo сути массив oбъектoв типа char, маня
Аноним 21/09/20 Пнд 15:55:57 1812588500
>>1812582
>по сути
implementation-defined
Аноним 21/09/20 Пнд 16:38:24 1812639501
ПОЧЕМУ? Почему c++ не такой популярный, как тот же шарп или джава... - CPP же просто АХУЕННЫЙ!!
Аноним 21/09/20 Пнд 16:49:53 1812643502
>>1812639
Медленно пишится код.
Аноним 21/09/20 Пнд 16:53:46 1812646503

>>1812639
Зачем это говно нужно? Всё ещё жалею что купил книгу по cpp, а не по нормальному языку, жалко денег теперь приходится читать
Аноним 21/09/20 Пнд 16:56:26 1812650504
>>1812646
Приходите, когда дочитаешь. Обоссышь
Аноним 21/09/20 Пнд 16:57:17 1812651505
>>1812650
Приходи*

быстрофикс
Аноним 21/09/20 Пнд 17:03:28 1812659506
>>1812301
а теперь попробуй сам написать калькулятор
Аноним 21/09/20 Пнд 17:06:33 1812664507
>>1812639
Потому что говно. Писать сложно так же как и на С, зато куча костылей и каша из сахара. В том же Zig намного приятнее сделано, но это пока что полигон для компилятородрочеров.
Я вообще начинал с C#, перекатывался на кресты и в итоге укатился на сишку в ожидании релиза Zig или хотя бы V.
Аноним 21/09/20 Пнд 17:22:28 1812676508
>>1812664
На плюсах писать так же легко, как и на C# С++ выглядит гораздо локаничней по сравнению с шарпом.
Аноним 21/09/20 Пнд 17:24:43 1812681509
>>1812676
> На плюсах писать так же легко, как и на C#
В С-стиле, да...
Аноним 21/09/20 Пнд 18:50:44 1812747510
Есть сурс одной программы и Makefile для винды. Нужно скомпилировать под линукс. С чего тут вообще начинать? Билдиться из main.cpp не хочет
Аноним 21/09/20 Пнд 18:51:33 1812748511
4k vs 1080p.jpg 904Кб, 3840x2160
3840x2160
>>1812646
>купил книгу
Пикрелейтед. Книги покупать нужно пост-фактум, если тебе понравились или поставить на полку на высокое место, чтобы все видели.
Аноним 21/09/20 Пнд 18:53:07 1812750512
>>1812748
Ну так на первых порах мне понравилось, это когда начал углубляться осознал
Аноним 21/09/20 Пнд 20:00:51 1812817513
Сап, ананасы.

Вкатываюсь в плюсы, есть два вопроса:
1. Что изучать после стандартной библиотеки? Вроде как основы уже знаю, хочется делать что-то большее, чем задачки с хакерранка решать, но знаний для стажировки даже, вероятно, мало еще, а сам я еще не настолько преисполнился, чтобы в свободное время пет-проекты пилить, да и идей ноль.
2. Каков шанс, что слова вроде "плюсы не нужны, нового на нем не пишут, хочешь денег - учи джаву" являются правдой? Спрашиваю у опытных крестописцев, хочется писать интересные и сложные вещи на божественном с++, двигать технологии вперед (да, розовые очки присутствуют), но с голой жопой под смешки джавистов, продавшихся банкам за 100к+, тоже сидеть нет желания.
Короче, как думаете, следовать зову сердца или забить уже и метить на позицию говнокодера в банке?
Аноним 21/09/20 Пнд 20:12:56 1812823514
>>1812817
В банк без вышки не берут
Аноним 21/09/20 Пнд 20:16:22 1812830515
>>1812823
Гы, вот это они лохи конечно.
Аноним 21/09/20 Пнд 20:21:53 1812836516
>>1812823
Я студент, с вышкой проблем не будет
Аноним 21/09/20 Пнд 20:24:38 1812840517
>>1812089
>как будто сюда как то по другому попадают. все с++ выходцы из си.
Нормальные люди поступают в вуз на программную инженерию и там учат computer science(ооп, алгоритмы и данные, архитектуру компьютера) и там же на лабах учат с++. Из них становятся хорошие программисты после окончания вуза.
А если ты пару лет байтоебил микрики с не-прогерским образованием(радиотехника, асутп, электроника и т.д.), а потом ты решил вкатиться в с++, чтобы больше зарабатывать, то нормальным прогером ты никогда не станешь, разве что каким нибудь быдлокодером-макакой.
Аноним 21/09/20 Пнд 20:25:37 1812841518
>>1812817
>интересные и сложные вещи
Ты индустрией ошибся. Попробуй медицину там, или какую-нибудь инженерию.
Аноним 21/09/20 Пнд 20:29:33 1812843519
>>1812841
Учусь на инженегра и мы тут все изучаем плюсы. Вопросы?
Мимо
Аноним 21/09/20 Пнд 20:31:47 1812846520
>>1812843
Плюсы в инженерных вещах сбоку припарка, причем самая неинтересная
Аноним 21/09/20 Пнд 20:33:18 1812849521
>>1812843
Охуенно изучаем, примерно до написания класса Stroka.

сам студень-инжинер
Аноним 21/09/20 Пнд 20:38:20 1812851522
>>1812841
Не ошибся. Понимаю, что чаще всего программирование это рутина, а не парк развлечений, но всякая рутина это часть чего-то большого. Понимаю, что во мне говорит энтузиазм начинающего, когда-то он пройдет, но сейчас мне просто нужно мнение более компетентных людей о современном положении дел, так сказать. Ну и совет, куда глядеть после STL, конечно.
Аноним 21/09/20 Пнд 20:39:08 1812853523
>>1812846
А что ещё можно учить на направлении мехатроника? Плюсы тут как по-мне незаменимы. А нет, вру. Пару раз на питоне модули писал.
>причем самая неинтересная
Очень спорно
>>1812849
Не, у нас не так. В крайнем случае будет класс Čára.
Аноним 21/09/20 Пнд 20:41:56 1812854524
>>1812851
Программирование - это пиздец какая рутина. И тебя никто никогда не допустит ни до чего интересного первые лет 5 точно. И далеко не факт, что пустят дальше.

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

А глядеть никуда не надо - пиши полноценный код. Хуй знает, 2д игру, уебанскую базу данных, какой-нить говнопарсер парсер, хоть что-нибудь, только пиши.
Аноним 21/09/20 Пнд 20:53:41 1812857525
Аноним 21/09/20 Пнд 20:54:21 1812858526
Аноним 21/09/20 Пнд 21:40:51 1812885527
>>1812853
>А что ещё можно учить на направлении мехатроника?
Ардуины.
Аноним 21/09/20 Пнд 21:48:15 1812892528
>>1812840
радиoтехника и электрoника этo крутo. высoкoурoвневoе прoграммирoвание нинужнo
Аноним 21/09/20 Пнд 22:02:20 1812908529
>>1812892
>радиoтехника и электрoника
С пару сотен вакансий по 30-40к.
>высoкoурoвневoе прoграммирoвание
Десятки тысяч вакансий с зп 100-150к в среднем.
Аноним 21/09/20 Пнд 22:03:15 1812909530
>>1812854
>Вся работа - это дрочево, где ты лишь винтик.
Фикс.
Аноним 21/09/20 Пнд 22:12:14 1812917531
Аноним 21/09/20 Пнд 22:14:54 1812919532
>>1812908
я обсуждаю это как хобби. гораздо интереснее с микроконроллерами тусоваться, с драйверами и методами ос, нежели со всякими сайтиками, играми и прочим фуфлом.

ну а так с твоей логикой что главное вакансии и деньги можешь вообще в js тред выкатиться
Аноним 21/09/20 Пнд 22:52:55 1812954533
>>1812909
ну у нас есть всякие системные архитекторы и исследователи, которым интересно все таки.
Аноним 22/09/20 Втр 05:08:37 1813038534
>>1807479
А те не похуй?
Или ты типа за шиши сраные, пендосские, собрался пилить мне чо-то, своим кривым былдокодом, да капиталистоблядок?
Так я, лучче, сам запилю себе "Годный майнер" ©®™, а ты иди дальше клянчи бюджеты, в каких-нибудь мочерских гитхабах туртлакойна.
Аноним 22/09/20 Втр 05:59:08 1813052535
>>1812817
>Что изучать после стандартной библиотеки
Очевидно буст
Аноним 22/09/20 Втр 12:22:35 1813139536
1600766552582.png 369Кб, 640x556
640x556
Сап. В шараге начали изучение цпп. Знаю самые азы можно сказать, что нихуя вообще не знаю и вкатываюсь с 0, но хотелось бы выучить какую-нибудь не очень сложную и потную, ибо время ограничено, но интересную тему во время написания курсача - приложения консольного/оконного с документацией, заливом в репозиторий и все как демка взрослого рабочего процесса. От какой области цпп лучше отталкиваться при выборе темы тему самому придумать надо чтобы на выходе она оказалась полезной для общего развития или актуальной/перспективной в ближайшем будущем?
Аноним 22/09/20 Втр 12:39:24 1813156537
>>1813139
Win32+boost+курлы+жонглирование жсонами. рикаминдую
Аноним 22/09/20 Втр 13:07:25 1813195538
Какую-нибудь визуализацию для аудио. И UI, и байтоёбство, и матан. Hard: самим написать декодер. Dante Must Die: в реальном времени, с проигрыванием самой музыки.
Аноним 22/09/20 Втр 14:06:26 1813246539
>>1813139
Работа с сетью, работа с графикой.
Бери либу imgui и ебашь какие-нибудь интересные проги, расчёты-хуёты, построение графиков и кривых десятого порядка.
Аноним 22/09/20 Втр 15:05:40 1813274540
Посоветуйте каких нибудь тестиков перед собесом на джуна
Аноним 22/09/20 Втр 15:09:25 1813276541
Аноним 22/09/20 Втр 18:58:39 1813480542
45.png 418Кб, 680x680
680x680
>>1813139
Напиши сетюидную прогу, которая печатает файл тогда и только тогда, когда у пользователя есть к нему доступ.
Аноним 22/09/20 Втр 19:31:32 1813496543
image.png 137Кб, 512x512
512x512
Аноним 22/09/20 Втр 19:37:08 1813500544
>>1813156
>Win32+boost+курлы+жонглирование жсонами. рикаминдую
Слишком сложно.

>>1813195
>Какую-нибудь визуализацию для аудио. И UI, и байтоёбство, и матан. Hard: самим написать декодер. Dante Must Die: в реальном времени, с проигрыванием самой музыки.
Если это мне, то тоже очень сложно, хотя я думал об этом.


>>1813246
>Работа с сетью, работа с графикой.
>Бери либу imgui и ебашь какие-нибудь интересные проги, расчёты-хуёты, построение графиков и кривых десятого порядка.
С сетью думал об этом, что интересно, но я в этой области слабовато ориентируюсь. Графики слишком легко же, нет? Вбил x, получил y.

>>1813480
>Напиши сетюидную прогу, которая печатает файл тогда и только тогда, когда у пользователя есть к нему доступ.
Что значит сетюидная прога и в чем смысл такой программы? Типа, кто-то обходит это ограничение и получает неправомерно информацию?

Кстати, интересно, какие перспективы у байтоебства? Мощности пк нарастают, и манагеры в основном требуют скорость разроботки в угоду производительности, по крайней мере, я про это читал. Получается, лучше прогать быстро, чем за каждый бит оперативы сражаться?
Аноним 22/09/20 Втр 19:49:14 1813507545
>>1813500
>Получается, лучше прогать быстро, чем за каждый бит оперативы сражаться?
От сферы зависит.
Моя софтина считает сто тысяч подписей в секунду на сферическом процессоре, а у конкурентов — 80 штучек в секунду. И перекрыть скейлинг количеством серверов при таком разрыве просто нереально. Это влияет на то, в какие секторы рынка можно протолкнуть ваш продукт, а в какие нет.

Но в очень многих случаях важно, чтоб работало, а ресурсов хватит, лишь бы не слишком хуево работало, а там дальше разберемся, если будет необходимо. Конечно в таких случаях лучше сделать до завтра, чем никогда.
Аноним 22/09/20 Втр 20:01:32 1813516546
>>1813500
>Графики слишком легко же, нет? Вбил x, получил y.
Ну так сделай.
Аноним 23/09/20 Срд 00:34:56 1813705547
Аноны, в шараге начался с++ и всякие говнозадачки на массивы. 100500 циклов наворачивать желания нет, есть ли здесь какие-нибудь стандартные библиотеки наподобие linq в паскале и шарпе или стримов в джаве, чтобы лямбдовать в одну строчку и не париться?
Аноним 23/09/20 Срд 00:48:34 1813714548
Аноним 23/09/20 Срд 00:53:08 1813718549
Аноним 23/09/20 Срд 01:07:37 1813732550
Аноним 23/09/20 Срд 01:34:56 1813743551
>>1813732
Без дополнительных скачиваний не обойтись, видимо.. Вряд ли позволят, ну ладно.
Аноним 23/09/20 Срд 01:42:41 1813750552
>>1813743
Есть в свежих компиляторах.
Ну тогда просто range for
for (auto &item : array) ...
Аноним 23/09/20 Срд 03:02:12 1813767553
>>1813743
> Вряд ли позволят, ну ладно.
Ебанат? Что тебе там должны позволить? Нахуй такое заведение идёт
Аноним 23/09/20 Срд 04:07:09 1813781554
Аноним 23/09/20 Срд 08:58:59 1813832555
Подскажите - чем убрать имена функций в таблице экспорта, при статической линковке, в бинарнике?
Аноним 23/09/20 Срд 10:52:47 1813923556
>>1813832
Емнип objcopy предназначен для стрипа символов.
Аноним 23/09/20 Срд 11:46:48 1814002557
>>1813781
То что нужно, спасибо!
Аноним 23/09/20 Срд 12:12:38 1814031558
Аноним 23/09/20 Срд 20:58:24 1814517559
В ФАКе нихуя не понятно, что читать/смотреть после Бьёрна?
Аноним 23/09/20 Срд 21:12:56 1814524560
>>1814517
Ну и раз тут у вас так людно провокну мини-бугурт: винда со студией или линукс с терминалом?
Аноним 23/09/20 Срд 21:29:48 1814531561
>>1814524
Оба два.
Я обычно всю разработку веду под линуксом в терминале.
Там же отладка, тесты, етц.

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

Не понял с чего бугуртить. С того, что кто-то делает иначе? Ну и ладно.
Аноним 23/09/20 Срд 21:32:05 1814534562
>>1814524
Винда + студия - если нужно, то кросскомпилирую через студийные ремоут средства на ВМке линуксовой.

Дедов с терминалом не слушай, они безнадежны
Аноним 23/09/20 Срд 22:37:07 1814598563
>>1814524
Винда с вскодом, в котором есть терминал.
Аноним 23/09/20 Срд 22:47:22 1814603564
Раз зашла речь про линух, объясните вкатывальщику - нахуя он сдался? В плане, какие преимущества дает наличие этой оси на машине отдельно или в совокупности с виндой? Что такого там можно делать, чего нельзя сделать в VS?
Аноним 23/09/20 Срд 22:48:13 1814604565
Аноним 23/09/20 Срд 22:56:44 1814615566
>>1814603
ПО разрабатывается обычно для какой-то операционки. Если говорить про РАБОТУ - то полноценная кроссплатформа там достаточно редкая вещь (ниразу не видел ни я, ни мои знакомые\коллеги). Соотв-но если ты пишешь какое-то серверное говно - то оно будет под линукс. Значит и разработка будет удобнее под линукс Хотя из этого есть исключения. Весь яндекс сидит на вижуал студии, хотя у них почти весь софт под никсы внутренний

Оверолл, как ойти специалисту - линукс знать нужно на каком-то уровне, он встречается повсюду. Но ставить его домой - нахуй не надо, как и без необходимости писать под него, когда есть Винда + Студия.

Почти 3 года писал под линукс, когда увольнялся последний раз - работу с линуксом просто не рассматривал даже, ибо идут они нахуй. Сейчас уже 4 года на винде пишу на работе - полет отличный
Аноним 23/09/20 Срд 23:11:08 1814627567
Аноним 24/09/20 Чтв 00:28:11 1814658568
Сап, есть бинарный файл, который нужно прочитать. Как байт я использую uint8_t. Однако, ifstream напрочь отказывается воспринимать значение как шестнадцатеричное. Но если определить uint16_t как байт, то все нормально. Что я делаю не так?
Формат файла:
ff e0 ab 22 14 88 и т.д.
Чтение:
file >> std::hex >> byte;
24/09/20 Чтв 01:33:10 1814692569
>>1814658
У тебя в файле ASCII, Юникод или что вообще записано?
С кодировкой разберись.
24/09/20 Чтв 01:35:37 1814695570
>>1814517
На работу джуном устроится.
(Про многопоточку читай, везде надо)
Аноним 24/09/20 Чтв 01:39:01 1814698571
image.png 56Кб, 774x498
774x498
24/09/20 Чтв 01:40:55 1814700572
>>1814698
Что за NORMAL и сеточка?
Что вообще изображено на пике?
Аноним 24/09/20 Чтв 01:42:31 1814703573
>>1814700
Прочитал бинарный файл с содержимым как >>1814658
Вывел его же через iostream

>>1814658
>>1814698
При выводе делай каст к int или используй +x.
iostream имеет overload для char, где последний интерпретируется как символ, а не как число.
24/09/20 Чтв 01:45:13 1814704574
>>1814703
Не, я имею ввиду, что за консоль такая.
Аноним 24/09/20 Чтв 01:46:34 1814705575
24/09/20 Чтв 01:47:01 1814706576
Аноним 24/09/20 Чтв 02:00:31 1814718577
После прочтения принцип и практик страуструпа что изучать для вката в геймдев? Unreal engine?
Аноним 24/09/20 Чтв 02:07:13 1814727578
image.png 15Кб, 545x78
545x78
image.png 28Кб, 524x208
524x208
image.png 5Кб, 275x64
275x64
Аноним 24/09/20 Чтв 02:08:12 1814729579
>>1814727
Почему у меня b равно 0x63, а не 0xc0?
Аноним 24/09/20 Чтв 02:16:50 1814735580
>>1814698
Бля, я даун. Как создать БИНАРНЫЙ файл через консоль? Я создал текстовый через нано и думал, что если открыть через байнари, то все получится
Аноним 24/09/20 Чтв 02:16:52 1814736581
>>1814729
0x63 это 'c'
0x30 это '0'

А ты как думал?
Аноним 24/09/20 Чтв 02:18:07 1814739582
>>1814735
Можешь читать текстовый как бинарный, какая разница?
Просто игнорируешь смысловую нагрузку ASCII

А вообще: man xxd
Аноним 24/09/20 Чтв 02:20:02 1814740583
>>1814739
Лол, я ошибся. Я создал текстовый файл, в котором написал байты, а работал с ним, как с бинарным. У меня же байтовое представление отличается от строчного.
Аноним 24/09/20 Чтв 02:21:33 1814741584
Аноним 24/09/20 Чтв 05:51:30 1814767585
Аноним 24/09/20 Чтв 07:22:30 1814775586
>>1814658
> Бинарный файл
> Как шеснациричное
Ты ебобо?
Аноним 24/09/20 Чтв 08:06:07 1814786587
>>1814695
Если бы нашёлся кто-то кто возьмёт меня на работу после 1 прочитанной книги то я бы здесь уже не сидел.
Аноним 24/09/20 Чтв 16:56:03 1815213588
>>1814786
прочитал книг пятнадцать чисто по языку
безработный
Аноним 24/09/20 Чтв 17:02:11 1815221589
>>1815213
РНН или кроме чтения ничем полезным не занимался?
Аноним 24/09/20 Чтв 17:04:07 1815224590
>>1814603
можно выставить любой dpi, сделать его равным ppi монитора
есть растровые шрифты
по итогу можно сделать буквы что будут гореть пиксель в пиксель

есть тайловые менеджеры окон и мультиплексоры терминалов

по итогу идеальный ui можно организовать для кодинга

в винде, к сожалению, этого нет

Аноним 24/09/20 Чтв 17:07:51 1815232591
>>1814517
фак говно, тебя наебали
у страуструпа хорошие книги - 4 special ed, и "дизайн и эволюция языка"

Аноним 24/09/20 Чтв 17:09:00 1815234592
>>1815224
Причём не из-за того, что это невозможно, а просто она в этом направлении не развивается, там у людей немного другой workflow.

А я без вот этого
> есть тайловые менеджеры окон и мультиплексоры терминалов
в нормальном виде жить уже не могу
Аноним 24/09/20 Чтв 17:11:26 1815238593
>>1815232
>фак говно
В этом то я уже убедился. Но раз уж я уже прочитал 2 издание то что делать дальше? Есть роадмап какой-нибудь или мне за нормальным факом на какой-нибудь реддит идти?
Аноним 24/09/20 Чтв 17:20:00 1815245594
Сап анон, поясни это блядкую оптимизацию и кеширование. Короче есть код, который определяет длины отрезков в 3д пространстве для m начальных и n конечных точек. Я сделал тест производительности, и делаю различные реализации. Использую Eigen для операций.
Короче, анон, как бы я не улучшал математику (делаю матрицы поворота или n точек выстраиваю в матрицу, какие-то ухищрения в духе "если длина < порога, то вернуть ноль), и нет качественного прироста скорости.
Запускаю профилировщик, узкие места да, в моих функциях, больше всего тратитится ресурсов на sin, cos или atan2. Но анон поразительно то, что я кардинально менял подход вычислений, а на финальной скорости сказывается незначительно. В лучшем случае прирост был на 70%, хотя я ожидал раз в 100.
Как так? Как поступать?
Аноним 24/09/20 Чтв 17:34:07 1815260595
>>1815238
рекомендую
4 special ed страуса, шаблоны вандервуда, последнюю книгу майерса про 14е кресты
это в качестве минимума, чтобыхотя бы понимать современный код чуть-чуть
Аноним 24/09/20 Чтв 17:35:28 1815263596
>>1815245
делай тесты на больших данных
Аноним 24/09/20 Чтв 17:39:37 1815266597
>>1815263
Я и делаю. Тест около 100мс занимает, это много. Количество точек 1000 х 1000, попыток 20. Рандом при запуске
Аноним 24/09/20 Чтв 17:54:12 1815281598
>>1815245
cachgrind че говорит?
Ассемблер смотрел?
На SIMD сесть готов?
Аноним 24/09/20 Чтв 17:54:32 1815282599
>>1815260
За контент спасибо, это деду надо. А с какого момента примерно можно начинать пилить пет проекты и где подсмотреть идеи для оных? (понятно что я и сейчас с гуглом и стаком наперевес могу начинать но я бы базы ещё поднабрался). Ну и вообще в какие направления лучше всего уходить сейчас?
Аноним 24/09/20 Чтв 18:05:51 1815290600
>>1815245
>В лучшем случае прирост был на 70%
Нормальный прирост
Аноним 24/09/20 Чтв 18:46:07 1815325601
>>1815281
Про кншгрид не слышал, спасибо. Ассемблер не хочу смотреть, боюсь, не увижу каких-то там откровений, будут sincos.
А simd.. Eigen вроде учитывает всю эту хуйню, там тема выравнивания данных в топе. Короче, я думаю Eigen лучше меня соптимизирует векторизумые участки.

Анон, а что там с gpu? Есть ли смысл взять вулкан апи, там же вроде есть линал? Просто cuda проприетарна
Аноним 24/09/20 Чтв 20:29:50 1815413602
>>1815325
>Ассемблер не хочу смотреть, боюсь
Пора взрослеть
Аноним 24/09/20 Чтв 21:08:58 1815476603
>>1815245
Есть же либы с матрицами для того же opengl - glm

Не совсем в теме о чём речь слоупок
Аноним 24/09/20 Чтв 22:56:13 1815572604
Аноним 25/09/20 Птн 19:59:03 1816244605
>>1796605 (OP)
Аноны, как сконвертировать
>uint64_t baseReward
отсюда:
https://github.com/satorigold/SatoriGold/blob/f36f7d003a7051818ba72f8d1142ae573f550a31/src/CryptoNoteCore/Currency.cpp#L155

в строчку, и вывести её здесь: https://rextester.com/l/cpp_online_compiler_gcc

Хочу рассчитать в цикле, все награды за все блоки в сети SatoriGold (SAU), которая без премайна, и которую мы майним вот здесь: https://miningpoolstats.stream/satoricoin
Аноним 25/09/20 Птн 20:49:04 1816262606
Чем дальше погружаюсь в кресты, тем больше начинаю понимать, что cpp это ёбанный мутант нахуй. Создать этого мутанта и была цель Страуструпа?
Аноним 25/09/20 Птн 20:56:28 1816267607
>>1816262
Он его не контролирует. А мутант потому, что в комитете каждый добавляет фичу нужную ему (Nvidia, M$, Google и тд)
Аноним 25/09/20 Птн 22:40:40 1816348608
>>1815572
Унылая ненужная хуйня
Аноним 25/09/20 Птн 23:29:43 1816372609
>>1816348
js тред два блока вниз
Аноним 25/09/20 Птн 23:50:58 1816381610
>>1816372
Алгоритмодаун, плиз
Аноним 26/09/20 Суб 00:02:50 1816392611
>>1816267
> в комитете каждый добавляет фичу нужную ему
Только для принятия любой фичи не должно быть ни одного члена комитета, проголосовавшего против.
Аноним 26/09/20 Суб 00:05:57 1816398612
>>1816392
А им похуй если не касается их области.
Аноним 26/09/20 Суб 06:21:16 1816476613
>>1815282
>где подсмотреть идеи для оных
Даю идею, не благодари. Напиши игру - скроллер. Где самолёт внизу экрана летит вперёд, а сверху на него надвигаются всякие враги (и ландшафт на фоне). И надо сбивать врагов, или уворачиваться стрейфясь влево-вправо. Вот это была моя первая программа на плюсах.
Аноним 26/09/20 Суб 06:24:51 1816477614
>>1816267
>M$
Вот, понимаешь, прилепился значок. MS уже не та что раньше.
Теперь у Apple самые загребущие руки. Вот к нему надо значок приделывать.
Аноним 26/09/20 Суб 18:48:59 1816931615
Анон, что такое SYCL? Который от Chronos Group (Vulkan, OpenCL). Зачем это нужно? Это какая-то обёртка на опенцл? Я тупенький, не понимаю
Аноним 26/09/20 Суб 20:40:06 1817001616
Сяп аноны. Создал мини хуету на плюсах с qt. Хочу сделать как ножницы винды, ток в выделенной области записывается гифка.

Вопрос, как захуячить гифку из набора кадров QPixmap, как прихуячить программу к кнопку принтскрина на линухе
Аноним 26/09/20 Суб 21:16:31 1817026617
image.png 2002Кб, 1479x1180
1479x1180
Неделя вката в язык позади. Пока что всё выглядит сексуально. Это у всех так и я скоро перегорю или язык реально годнота? БТВ ещё вопрос - грамматики вроде пикрила у Страуса имеют практическое применение или это тупо способ выражать идею программы? Чёт какой-то страшно вырубай контент.
Аноним 26/09/20 Суб 21:46:55 1817032618
>>1817001
Делай сразу шебмку
Аноним 26/09/20 Суб 22:09:11 1817035619
>>1817026
Сколько шаблонов написал?
За неделю ты если только азы Си изучил - а он действительно няшный.
Аноним 26/09/20 Суб 22:12:32 1817036620
>>1817026
Грамматика это грамматика. Компилятор так видит. Это то же самое, как если бы писал разбор по русскому - два - числительное, простое, количественное, целое, именительный падеж.
Аноним 26/09/20 Суб 23:16:02 1817045621
>>1817032
gif формат хоть и имеет гораздо больший размер, всё же более удобен. В пересылке в телеге или другом мессенджере gif файлы в большинстве случаях запускаются автоматически и без каких либо проблем.
Впринципе уже знаю как сделать mp4, думаю и с webm проблем не будет. Но вот сука gif не поддаётся, хотя казалось бы самое простое.

Я хуй знает, буду благодарен даже если скинут адекватную статью по кодекам'/декодекам гифок. Хоть что-то за что можно зацепиться.
Аноним 26/09/20 Суб 23:20:35 1817047622
>>1817045
бтв уже нашёл ImageMagick++. Сам для создания mp4 хуеты юзаю няшный OpenCV(хоть он и для другого предназначен лол).
ImageMagick я в рот трахал, там такая страшная документация, не удивительно что он не поддерживается.
Кароче реквестирую способы создания gif файла, имея массив картинок, которые сами по себе массивы x, y, RGB or HSV
Аноним 26/09/20 Суб 23:36:24 1817058623
Аноним 26/09/20 Суб 23:42:20 1817060624
>>1817058
да, вроде какая-то компания в далеком далёком году взяла да и сказала мол, права на гиф у меня, платите. А тогда гифками все уже активно пользовались и как ты понимаешь большая часть платить не собиралась. Что-то подобное и сейчас есть, какие то проблемы с правами/патентом, в общем комерческая жопа, ненавижу. Блять, права на самую простую кодировку в мире блять, ахуенно. Алсо гифка ко всем минусам ещё и уёбищно сжимает размер, раз в 6 хуже avc. Но увы, веб на ней хорошо сидит, как на героине) Хотя уже давно юзают на сайтах и урезанные mp4, у которых включили автоповторение и вырубили звук. Свои костыли

Да, видел это. Хотел почитать про то как это делается конкретно в коде, без юзания функций из коробки.

Спасибо.
Аноним 27/09/20 Вск 00:02:28 1817075625
>>1817060
Как делать файл руками? Ну описаний формата полно, там довольно типично все - заголовок, размер картинки, палитра, потом кадры (со своими палитрами и размерами, если кусочек анимируется, и временем задержки) и все эти потоки упакованы lzw.
https://habr.com/ru/post/274917/
Аноним 27/09/20 Вск 00:19:45 1817086626
>>1817075
опа, годная статья. Хз как пропустил, уже почти на второй странице гугла был. Спасибо, анонче.
Аноним 27/09/20 Вск 01:12:19 1817105627
>>1816267
Не. Мутант ещё из-за необходимости обратной совместимости. Сначала с C, а теперь и с предыдущими стандартами C++
Аноним 27/09/20 Вск 02:23:41 1817120628
Вашу ж мать, почему на дебильный джаве дозуя либ и фреймворков, а в плюсах зато сраный three-day comparison.
А я, как дебил, в два часа ночи, вместо того, что бы давно вкорячить какой нибудь Спарк, пилю сраное говно на плюсах, потому что "мы не тащим в наш стек лишние технологии".
Аноним 27/09/20 Вск 11:22:16 1817216629
>>1817120
Джавист порвался)
Сложно всё ручками делать, самому, да? А теперь представь титанов, что твои Лиды на джава написали, иди джаву машину
Аноним 27/09/20 Вск 11:57:17 1817230630
photo2020-09-07[...].jpg 164Кб, 960x1200
960x1200
аномисты, а что будет если в main.cpp подключить условный govno.h и map.h, а в govno.h подключить снова map.h, про pragma once я знаю, а map то по итогу будет подключен 2 раза? В плане размера файлов, компилятор оптимизирует это, или что вообще произойдёт.
То, что не будет проблем, я в курсе, сказочные ifndef endif pragma once, но я спрашиваю именно про размер выходных файлов, он будет больше нежели бы мы один раз подключили Map?
Аноним 27/09/20 Вск 12:07:18 1817237631
Аноним 27/09/20 Вск 12:22:53 1817251632
Аноним 27/09/20 Вск 16:26:22 1817507633
Поясните за выравнивание данных. Зачем это нужно? Я понимаю, когда double помещается в одну ячейку, а не разбивается на две. Тогда доступ к нему требует одной операции чтения.Но в чем профит выравнивания адреса для кратности с размером данных?
Аноним 27/09/20 Вск 17:09:00 1817545634
>>1803790
> примеры (хорошего) кода
> - Исходники игр, игровых движков. Doom 2, Doom 3, Unreal

Давай теперь послушаем настоящего профессионала (мехмат МГУ, 20 лет в Калифорнии пишет для Playstation)

https://kunaifusu.livejournal.com/467799.html

... Пока Кармаковские кракозябры (это кодом назвать сложно, разве что в смысле "код Да Винчи") продаются и вызывают ахи и вздохи хипстеров я на хлебушек смогу заработать.

... Кармак же, со своим программированием на уровне шестиклассника ...

... Там куча проблем с перформансом и с логикой
Аноним 27/09/20 Вск 17:18:42 1817550635
>>1817545
>консоледаун
Спасибо, не надо.
Аноним 27/09/20 Вск 17:37:32 1817572636
Аноним 27/09/20 Вск 17:44:00 1817576637
>>1817507
Некоторые процессоры типа АРМ вообще не умеют читать невыровненное.
На остальных невыровненные могут читаться медленнее.
Скажем в кэш-линии помещается 16 интов
Ты читаешь по адресу на границе
Может понадобиться чтение двух линий по 16 интов из памяти
----xx][xxxxxx----
Плюс может быть промах мимо страницы что вообще займет в 100 раз дольше времени.
Аноним 27/09/20 Вск 17:44:08 1817577638
>>1817507
Процессоры любят, чтобы те данные что они читают/пишут в память, лежали по адресам, кратным 2-м, 4-м, 8-и, и т.п. Это и есть требование выравнивания.
Некоторые марки процессоров попросту отказываются работать с невыровненными данными (возникает ошибка). Это сделано для их удешевления и/или ускорения.
Другие марки, как тот же x86, всего лишь испытывают доп. тормоза на невыровненных данных. Впрочем SSE инструкции требуют выравнивания на 16-байтной границе, иначе генерируют ошибки.
Аноним 27/09/20 Вск 18:17:59 1817603639
>>1817545
Тут слово "хороший" не зря в скобках стоит. Оно опционально.
Даже если в коде Кармака есть проблемы, это не значит что он никчёмный, и оттуда ньюфагу (и не только ему) ничего полезного подчерпнуть не выйдет.
Пусть изучает, как код люди пишут. Разный код.

А что касается этого персонажа... Код Кармака мы видели, а код персонажа что-то ещё нет. А обосрать на словах, много труда не требуется.
Аноним 27/09/20 Вск 18:19:50 1817604640
>>1817545
Покажи более хороший код 3д шутера времен doom 2, толстяк
Аноним 27/09/20 Вск 18:32:36 1817610641
>>1817545
зачем вообще постить этого шизоида?
Аноним 27/09/20 Вск 18:32:48 1817611642
>>1817604
> Покажи более вкусную пищу в сельском толчке, чем понос бабы-сраки

Ты в каком году живёшь, дедуля? auto и лямбды хоть используешь?
Аноним 27/09/20 Вск 18:38:09 1817612643
>>1817611
Авто постоянно, лямбды зло размазывающее логику по коду и провоцирующее копипаст.
Аноним 27/09/20 Вск 19:07:54 1817627644
>>1817611
Модерновый С++ не в использовании авто и лямбд но без авто, конечно, было бы тяжеловато
Аноним 27/09/20 Вск 19:28:21 1817633645
Аноним 27/09/20 Вск 19:35:59 1817641646
Аноним 27/09/20 Вск 19:39:16 1817644647
>>1817641
>объявить статическую переменную, скопировать ее по ДМА (естесвенно посрав на все конструкторы копирования и прочия операторы присваивания), вызвать несколько функций
Да, компетенция уровня UB
Аноним 27/09/20 Вск 19:46:58 1817650648
>>1817644

Нет, это твоя некомпетенция... ты не понимаешь, о какой среде выполнения кода вообще ведется речь
Аноним 27/09/20 Вск 19:52:23 1817658649
>>1817650
Отлично понимаю, мань - UB это свойство стандарта языка, а не среды выполнения. А по чему копируешь - это дело десятое, хоть по SPI.
Аноним 27/09/20 Вск 19:59:13 1817663650
>>1817658

Конечно же, твои запартные представления о применимости стандартов стоит выслушать
Аноним 27/09/20 Вск 20:01:41 1817666651
Аноним 27/09/20 Вск 20:08:03 1817681652
>>1817612
Да лямбды самое что ни на есть естественное выражение мыслей
Аноним 28/09/20 Пнд 00:53:12 1817867653
>>1817633
я тоже смеюсь над $120k\y в штатах, это на руки меньше, чем у меня в Москве.

Другое дело, что этот микрочелик - реально шизоид какой-то.
Аноним 28/09/20 Пнд 14:19:50 1818090654
Многопроцессные программы(fork) отличаются от многопоточных(thread, future) тем, что многопроцессные находятся уже в другом процессе и имеют раздельное для каждого процесса адресное пространство?
Аноним 28/09/20 Пнд 14:22:57 1818104655
Аноним 28/09/20 Пнд 15:36:17 1818174656
>>1817681
А мне они больше кажутся шизофренией - когда человек писал книгу и вдруг вместо новой главы начал вести записи о покупках в магазине прямо поверх текста.
Аноним 28/09/20 Пнд 17:06:12 1818250657
А есть ли вообще смысл учить другие стандарты кроме актуального? Я уверен на 120% что не стану копаться в легаси никогда.
Аноним 28/09/20 Пнд 17:16:56 1818264658
int x = 5;
x = ++x + ++x;

x = (x = x + 1) + (x = x + 1)
x = (6 = 6 + 1) + (x = 6)
x = (6 = 7) + (x = 6)
x = 7 + 7
x = 14

это правильно?

С++17
Аноним 28/09/20 Пнд 17:22:03 1818267659
>>1818250
>Я уверен на 120%
Тогда нет смысла.
Аноним 28/09/20 Пнд 17:24:03 1818269660
Аноним 28/09/20 Пнд 17:25:31 1818271661
>>1818269
А не, неправильно прочитал
Аноним 28/09/20 Пнд 17:57:44 1818286662
1495347907000.png 7Кб, 686x65
686x65
Аноним 28/09/20 Пнд 18:46:15 1818320663
Кто-нибудь юзает setjmp и longjmp, вместо try/catch?
Аноним 28/09/20 Пнд 18:50:30 1818323664
>>1818269
в C++17 вроде не UB уже
Аноним 28/09/20 Пнд 20:27:55 1818404665
>>1818320
Да, си-тред два блока ниже
Аноним 28/09/20 Пнд 21:11:00 1818427666
73363.jpg 94Кб, 818x700
818x700
Читаю Страустурпа сейчас про классы, наследования всё показывается на базе создания гуйной библиотеки, довольно прикольно. В целом понимаю суть, но чтобы точно понять как работает нужно самому покодить. Блин там с этими классами довольно сложно, их можно наследовать, есть абстрактные и не абстрактные...
Аноним 28/09/20 Пнд 21:13:57 1818428667
Аноним 28/09/20 Пнд 21:17:48 1818431668
>>1818428
Пoнял, буду прoдoлжать. Пoсле Страуса, хoтел бы в архитектуру эвм вкатиться и ассемблеры(си уже знаю). Нo тут рoдаки капают на мoзг усиленнo пoэтoму пoка упoр сделал на задачи с литкoда и алгoритмы, вкачусь и буду в свoбoднoе время oбмазываться архитектурoй и асмами
Аноним 29/09/20 Втр 03:28:50 1818568669
Аноним 29/09/20 Втр 03:36:25 1818570670
>>1818568
Когда там его примут?
Аноним 29/09/20 Втр 06:06:52 1818591671
Товарищи, как организованно данное дерево и добавление в него? Если вы были преподом, то что бы спросили?
typedef struct Node //"связанное представление"
{
int value; //Значение
Node left; //потомки
Node
right;
} Node;

Node root = NULL; //Дерево (корневой элемент)

//Добавить в указанный узел значение, описанное в строке
void Add(Node
root, char * s)
{
if (s[0] == '0') //Это левый потомок
{
if (!root->left) root->left = newNode(); //Если потомка не было - создать
Add(root->left, &s[1]); //и добавить остаток строки в потомка
return;
}
if (s[0] == '1') //Это правый потомок
{
if (!root->right) root->right = newNode();
Add(root->right, &s[1]);
return;
}

//Это не потомок, это значение
root->value = atoi(s);
}
Аноним 29/09/20 Втр 09:27:51 1818632672
>>1818591
> Если вы были преподом, то что бы спросили?
"Зачем вы пошли вайти? Есть же разные специальности - лес валить там"
Аноним 29/09/20 Втр 09:40:20 1818637673
>>1818591
Вот, возьми, ты уронил: ⚹⚹⚹⚹
Аноним 29/09/20 Втр 10:18:18 1818666674
>>1818591
Я считаю, это говно не работает и падает с переполнением стека. Согласны?
Аноним 29/09/20 Втр 10:43:00 1818689675
Чё-то я в смятении каком-то: плюсы обожаю, в свободное время много читаю и смотрю по ним, но по ощущениям работы на плюсах, которая бы понравилась, нет на рынке. Куда ни плюнь - гуй на кьют и винапи, какое-то легаси поддерживать, эмбеддед, где всё-таки наверняка будет си... А чё делать-то? Нахера изучать всякие тонкости и инфраструктуру языка кроме как попробовать какую-то либу написать? Жить-то на что-то надо.

Аноны, кто работает, в какой области ваши проекты? Нравится или заебало, что проку нет?
Аноним 29/09/20 Втр 11:25:27 1818713676
Аноним 29/09/20 Втр 13:39:47 1818796677
>>1818632
Ну надо же доучиться, Няш Няшович.
Поставьте лабы, плез. Что вам стоит?
Аноним 29/09/20 Втр 16:28:05 1818879678
Cап аноны, с фантазией у меня туговато, подскажите какую тему можно придумать для диплома
Аноним 29/09/20 Втр 16:39:17 1818892679
Аноним 29/09/20 Втр 17:43:27 1818970680
>>1818689
Очевидный геймдев, собственный движок
Аноним 29/09/20 Втр 17:56:28 1818986681
>>1818970
Он спрашивал про то как заработать, лалка.
Аноним 29/09/20 Втр 19:12:07 1819055682
>>1818689
Аудио/видео оборудование. На, так сказать, критическом пути (собственно кодеки и обработка потоков) никаких примочек. Там довольно сильное байтоёбское колдунство с примесями асма, которое понимают несколько человек во всей компании. Зато обвязка вокруг (у софта ещё тысяча других близких и не очень функций) - пожалуйста, пользуйся всем чем душа пожелает. Недавно перешли на С++17.
Аноним 29/09/20 Втр 19:36:53 1819090683
Люди, есть код https://pastebin.com/XQjFPWcZ

Почему-то он при стандартной компиляции в g++ без флагов или с флагом -O0 делает мой код много поточным. В чем может быть загвоздка? Это только у меня так или у всех?

ISO 2020, Linux Arch
Аноним 29/09/20 Втр 19:56:38 1819100684
Аноним 29/09/20 Втр 20:12:02 1819116685
>>1819090
какой еще многопоточный код шизик, у тебя самый простой однопоточный код.
Аноним 29/09/20 Втр 20:12:37 1819117686
Аноним 29/09/20 Втр 20:17:13 1819119687
Аноним 29/09/20 Втр 20:27:09 1819124688
>>1819116
Я поэтому и спрашиваю, потому что у меня при запуске бинарника код поточится и это фиксируется прогой htop
Аноним 29/09/20 Втр 20:59:31 1819142689
>>1819119
Чем? Не с целью доебаться пишу, прости интересно что есть в нём чего нет в условном дебиане?
Аноним 29/09/20 Втр 21:13:20 1819149690
>>1819124
винда в несколько потоков внутри Loader'a грузит всякие библиотеки в процесс, типа kernel32.dll, но потом эти потоки пропадают, и программа остается однопоточной.

Может в у тебя что-то подобное
Аноним 29/09/20 Втр 21:19:51 1819153691
>>1819090
Делай strace, красноглазик.
Аноним 29/09/20 Втр 22:09:20 1819180692
>>1819142
Обновляется гораздо быстрее deb-based дистрибутивов. В остальном тот же линукс, конечно.
Аноним 29/09/20 Втр 22:48:40 1819197693
>>1819090

Я очень бегло посмотрел
time ./a.out
У тебя тут сплошной ввод-вывод, и нагружено ядро, которое внутри использует потоки, или что-то еще в юзерспейсе, например, код эмулятора терминала
Аноним 30/09/20 Срд 00:47:28 1819259694
>>1819142
Ничем, не слушай этого говноеда, это говно постоянно какие-то проблемы только устраивает
Аноним 30/09/20 Срд 01:03:47 1819261695
Аноним 30/09/20 Срд 01:12:58 1819262696
>>1819261
Держи в курсе, красноглазик
Аноним 30/09/20 Срд 01:29:39 1819264697
Очередной гениальный замысел Кармака

... Кто не знает, так работала его мегатекстура, только даже она была чуть умнее - делала feedback pass сначала и находила все страницы в сцене, но все равно это был страшный тормоз. Останавливать GPU и грузить страницу по первому fault - будет тормознее на порядки.

https://kunaifusu.livejournal.com/566139.html

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

https://kunaifusu.livejournal.com/550721.html

... Кармак задвинул очередную телегу о том, что ПС4 и Хуян - одно и то же.
У меня большая уважуха к этому поцану. Растянуть полдюжины шареварных платформеров в карьеру "Гуру 3Д" - никому больше не удавалось.

https://kunaifusu.livejournal.com/487221.html

... Кармака, который, оказывается, был CTO их Окюлуса - уволили! Это же великий гений, который буквально придумал всю 3Д графику, ай-ай-ай. Наверное, Цукерберг, все же, посчитал сколько бабла туда влили и сколько выхлопа получили. На Кармака лично ушло 500М+! А что в результате? В результате Кармак был замечен на пресс-конференции Майкрософта, с привязанным к морде телефоном Самсунг и рекламирующим Майнкрафт. Если бы я заплатил за такое 500М, я бы подумал, что меня наебали.

https://kunaifusu.livejournal.com/625042.html

... Я, лично, никогда не понимал как люди платили бабки за такое гумно. Не, на SNES это, наверное, круто было - 3д графичка все дела, однакож поиграв в Вольфенштайн я ничего нового от Ид не видел. Тем более Black Stone, сделаный на том же движке был куда круче.

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

https://kunaifusu.livejournal.com/145499.html
Аноним 30/09/20 Срд 01:57:32 1819269698
>>1819264
Опять шизик помойку принёс.
Аноним 30/09/20 Срд 05:15:12 1819301699
>>1796605 (OP)
Ищу бесплатное IDE под с++ для линукса, как VS CODE, только нужна ф-ция для дебага - Watch variable
Аноним 30/09/20 Срд 05:19:01 1819302700
>>1819301
Ф-ция, когда дебаг останавливается, если переменная меняется. Такое в VS Studio Было
30/09/20 Срд 08:07:12 1819341701
>>1819264
Напомни хоть одну игру этого кинафусу, которую он продал в 90-х.
Аноним 30/09/20 Срд 10:12:01 1819425702
>>1819264
У меня такое подозрение, этот kunaifusu сам лично здесь ссылки постит на собственный блог, поглощенный лютой завистью к Кармаку. Он у него идея-фикс. Всячески хочет его очернить.
Аноним 30/09/20 Срд 10:17:24 1819433703
>>1819425
Наверное это потому, что kunaifusu нищеброд и доедает последний доширак - а у Кармака Ferrari водились уже в 90-х, когда этот хуй ещё в школу ходил.
Аноним 30/09/20 Срд 14:00:28 1819652704
>>1819264
Как бы ни для кого не секрет что Кармак не гений. И с Окулусом у него не вышло, и мегатекстуры из дума выпилили из-за багов.
Но разве это как то умаляет его достижения?
Грубо говоря пока все программисты болтались на 2-м уровне развития, он вышел на 3-й. И только тогда уже все увидели что так можно и тоже стали развиваться. Ну допустим он дошел только до 4-го уровня и это его предел. А другие пошли дальше, до 6-го, 7-го. Но что тут зазорного?
Часто высказывается мнение мол он ничего не изобрел. И быстрый обратный квадратный корень был до него известен и он просто позаимствовал его из научной работы, и вообще его 3д это просто проекции из геометрии, которые он в вузике только что проходил. И мол если бы он не сделал 3д, то это сделал бы кто-то другой.
Ну так а чего же не сделал? Вот и все. Кармак определил ландшафт, лицо компьютерных игр, на десятилетия вперед. История не знает слова "бы".
Аноним 30/09/20 Срд 14:18:55 1819684705
>>1819302
Watchpoint, он же Data Breakpoint
Есть в любом дебаггере
Аноним 30/09/20 Срд 16:57:59 1819805706
>>1818427
> чтобы точно понять как работает нужно самому покодить
Слава аллаху, хоть одна здравая мысль на весь тред
Аноним 30/09/20 Срд 17:00:12 1819808707
>>1819652

Он как бы говорит в самой первой копипасте выше по треду, что не Кармак страшен, а его тупые поклонники. К примеру, есть куча опенсорсных дураков, которые до сих пор копи-пастят его исходники, думая, что вот это-то и есть священный Грааль.
Аноним 30/09/20 Срд 17:04:44 1819815708
>>1819652

По поводу 3Д, ну это вообще пушка. Ты вообще в курсе, когда вышла PSX (Playstation(1)), и что у нее внутри стояло?
Аноним 30/09/20 Срд 17:07:03 1819819709
>>1819652
шизик с жжшечки, просто нахуй иди
Аноним 30/09/20 Срд 17:40:53 1819852710
1553312352213.png 484Кб, 1135x679
1135x679
1512454074546.png 732Кб, 1015x810
1015x810
>>1819815
>Ты вообще в курсе, когда вышла PSX (Playstation(1)),
Через год после Doom
>что у нее внутри стояло?
Говнецо с кривыми проекциями текстур и без z-буфера - по сути растянутые прямоугольные спрайты

Я не очень знаю первые 3д ps1-игры, но в 1994 там похоже был аналог вульфа3д, в лучшем случае - клон дума.
Да, до Кармака тоже уже пытались делать 3д игры - но они были или тупо векторными, или слайд шоу, или и то и другое. К примеру в 1986-87 были Sentinel и Driller на спектрумах, почти неиграбельные.
Аноним 30/09/20 Срд 23:17:53 1820077711
Я хз про что вы тут сретесь, но 3д со спрайтами уже было в ультиме андеворлд, и вышла она до Вольфа. И там можно было смотреть вверх/вниз, прыгать, летать и тп.
Аноним 01/10/20 Чтв 10:14:40 1820266712
S01001-12125437.jpg 27Кб, 426x327
426x327
>>1796605 (OP)
скиньте плиз обучалку как решить задачи пикрил на с++ с подробным обьяснением каждого шага
Аноним 01/10/20 Чтв 10:18:32 1820269713
>>1820266
А может тебе еще подрочить?

Решаешь на листочке, потом на с++ пишешь std::cout << 42;
Аноним 01/10/20 Чтв 10:30:31 1820275714
tmp160153727824[...].jpg 111Кб, 488x1297
488x1297
>>1820269
мне вот так решить надо
Аноним 01/10/20 Чтв 10:52:23 1820288715
вообще блять поступил на сис. админа в универ, а нас заставляют решать задачи в с++ и прочем говне. я думал нас чисто будут учить как поддерживать работу серверов, интернета, и др., но никак не создание программ. что за хуйня
Аноним 01/10/20 Чтв 10:52:33 1820290716
>>1820275
Поздравляю, решил.

Скорей бы тебя отчислили..
Аноним 01/10/20 Чтв 10:55:13 1820292717
>>1820290
это не я решил, у меня другой пример, вот и прошу гайд с подробным описанием как решить так же, но другую задачу
Аноним 01/10/20 Чтв 11:39:53 1820307718
>>1820292
Инструкция как в 9 строке заменить х+5 на х+6 или что?
Аноним 01/10/20 Чтв 14:09:35 1820401719
foundamentaleme[...].mp4 3187Кб, 360x360, 00:03:10
360x360
Подскажите по Variadic templates. Есть шаблонная функция
>template<typename... Args> void func(Args... args)
Как внутри неё сделать std::tuple из этих аргументов?
Аноним 01/10/20 Чтв 14:10:49 1820402720
>>1820288
Когда откроешь для себя баш уйдёшь заявление о переводе на програмную инженерию писать.
Аноним 01/10/20 Чтв 14:16:50 1820410721
>>1820288
Ах да, это >поддерживать работу серверов, интернета
учится за 2 книги и неделю практики.
Аноним 01/10/20 Чтв 14:28:40 1820419722
Аноним 01/10/20 Чтв 14:34:03 1820425723
>>1818689
С++ не предназначен для чего-то серьёзного. Пишешь на плюсах - баги обеспечены, причем не только логические но и те опечатки, которые прошли компиляцию. Недаром существуют 1000 и 1 всяких cpp-checkerов, потому что язык кривой
Аноним 01/10/20 Чтв 14:51:29 1820434724
>>1820425
>С++ не предназначен для чего-то серьёзного
Сказал петушок, открывший двачик из браузера, написанного на С++
Аноним 01/10/20 Чтв 16:17:44 1820473725
В каких вообще случаях может потребоваться перегрузка базовых операторов и где работает быдло которое это делает?
Аноним 01/10/20 Чтв 16:21:27 1820477726
Безымянный.png 37Кб, 472x1296
472x1296
Снимок.PNG 29Кб, 499x622
499x622
блять помогите, задали решить задачу z=(5f+7k)/2b, пик 1 чел решил свою задачу, я пытаюсь примерно как он решить и свою задачу, но нихуя не выходит. дайте мне мануал как такие задачи решать, сам не могу найти
Аноним 01/10/20 Чтв 16:23:39 1820478727
>>1820473
Банальный пример операции с векторами в пространстве. Типо у тебя есть класс Vector3 и чтобы каждый раз не писать кучу лишнего кода типа vec.x /= 3; vec.y /= 3; vec.z /= 3; перегружаешь деление и кайфуешь.
Аноним 01/10/20 Чтв 16:28:42 1820484728
>>1820477
Учебник алгебры за 7 класс, читать всем.
Аноним 01/10/20 Чтв 16:58:03 1820513729
>>1820478
А спустя 100 строчек ты не задумываясь ебашишь этот же оператор и потом 3 часа сидишь в поисках проблемы. Неужели я не прав?
Аноним 01/10/20 Чтв 17:39:56 1820556730
>>1820513
Хуйню какую-то несёшь, если честно.
Аноним 01/10/20 Чтв 17:46:27 1820564731
>>1820513
Не понял в чем проблема, перегруженный оператор это просто функция. Если ты какую-то левую функцию случайную вызвал то тоже 3 часа будешь искать проблему?
Аноним 01/10/20 Чтв 18:12:00 1820586732
1542053468528.webm 13936Кб, 1920x1080, 00:03:35
1920x1080
>>1820275
1 строчка комментарий - все после // игнорируется
2 строчка подключает библиотеку для ввода вывода в консольке
3 строчка задает сокращение чтобы использовать все из этой библиотеки
5 строчка объявление главной и единственной функции программы
6 строчка начало этой функции
7 строчка объявление переменных икс и зед
8 строчка ввод из консольки в переменную икс
9 переменной зед задается значение равное матану справа
это не уравнение, а именно перезаписывание содержимого зед
10 вывод в консольку значения хранимого в переменной зед
11 конец функции и программы
Аноним 01/10/20 Чтв 18:13:35 1820589733
>>1820425
Ну да, а твой js то предназначен, лол.
Аноним 01/10/20 Чтв 18:14:28 1820590734
Аноним 01/10/20 Чтв 18:14:47 1820591735
>>1820513
Ну это доебка типа второй раз ту же переменную объявил. Чтобы такого не было - собирай их все логически в одном месте класса, файла и т.д.
Аноним 01/10/20 Чтв 18:17:19 1820593736
>>1820477
Сравни первые строчки. Считай что это заклинание, которые ты должен произнести богу-машине.

Алсо поскольку вы пользуетесь int, а не float, результаты могут весело округляться.
Аноним 01/10/20 Чтв 18:17:57 1820594737
>>1820590
О, первый неосилятор чистого и понятного кода пошел. Уже все 100500 файликов полупустых поскроллил сегодня?
Аноним 01/10/20 Чтв 18:33:03 1820605738
>>1820594
я бы посмотрел, как ты ревью с таким говном будешь проходить
Аноним 01/10/20 Чтв 18:34:21 1820607739
>>1820605
Я ревью принимаю, мань.
Аноним 01/10/20 Чтв 18:35:34 1820609740
>>1820607
ты за щеку принимаешь максимум, с таким чудо кодом
Аноним 01/10/20 Чтв 18:39:22 1820611741
>>1820609
Портфель собирай, завтра рано.
Аноним 01/10/20 Чтв 18:41:06 1820612742
>>1820611
Уважаемый говношлепатель без кнопки enter, я портфель собирал в школу последний раз в районе 14 лет назад
Аноним 01/10/20 Чтв 19:32:20 1820670743
>>1820473
>В каких вообще случаях может потребоваться перегрузка базовых операторов
Ну смотри:
1. Операции над векторами и матрицами. Любая мат либа
2. Конкатенация строчек или файловых путей.
3. Перегрузка -> в итераторах, смартпоинтерах
4. Перегрузка () в функторах или делегатах
5. DSL дристня для хитрой инициализации чего-нибудь типа как boost::program_option.
>где работает быдло которое это делает?
Как правило это делают разработчики всяких либ, ну или в каком-нибудь утилитарном классе. В пользовательском коде, баловаться таким наверное плохой тон. Прикольная же штука, когда сделоно нормально и в нужном месте, коммон.
Аноним 01/10/20 Чтв 19:35:18 1820672744
>>1820473
>где работает быдло которое это делает
Гугл, фейсбук, Микрософт, блумберг...
Аноним 01/10/20 Чтв 20:54:49 1820780745
>>1820670
>когда сделоно нормально и в нужном месте
Как-то читал про цепочку перегрузок -> с использованием той фичи, что если у возвращаемого значения оператора-> тоже переопределен орератор-> , то также сразу вызывается.
Короче вызов, a->foo() лочил мютекс, че-то еще делал и потом разлочивал.
Вот где настоящая шиза.
Аноним 01/10/20 Чтв 20:59:15 1820784746
>>1820607

Такая параша никогда не пройдет код-ревью. Дело не только в том, что она нечитаемая и неидиоматичная.
Тут в первую очередь играют роль сугубо утилитарные свойства, значимые для командной разработки
1) Диффы при изменении этой хуйни будут кошмарные
2) Частично связано с п.1. Нет лимита на длину строк, т.е. смотреть это в тулах неудобно.
Аноним 01/10/20 Чтв 21:24:27 1820797747
>>1820594
Код с таким уебанским форматированием априори не может быть простым и понятным. Какой-то пиздец просто, ты блядь код на дискетах хранишь или переносы платные? Раздели эту кашу на логические блоки хотя бы, уёба, нихуя ведь непонятно. Отступы же научился как-то ставить, хотя бы в 2 символа, значит какие-то зачатки интеллекта имеются. Потом уже можешь поупражняться называть переменные понятными названиями. Подтянешь математическую базу и возьму тебя джуном на 40к
Аноним 01/10/20 Чтв 21:27:30 1820801748
>>1820797
Там каждая строчка логический блок, у тебя дефицит внимания что ли?
> возьму тебя джуном на 40к
Я бы тебя сам взял за 60к, но боюсь ты писать код не умеешь, а только воду лить в файлах.
/////////
//
/////////

Я прав?
Аноним 01/10/20 Чтв 21:28:56 1820804749
>>1820784
>Нет лимита на длину строк
На экран влезает? Влезает.
> Диффы при изменении этой хуйни будут кошмарные
Наверное первое замечание по делу.
Аноним 01/10/20 Чтв 21:32:23 1820807750
>>1820801
Конечно приятно что ты меня заранее оценил выше самого себя, уёба, но вот у меня вопрос: как ты с таким кодом на классы делишь? Просто есть сомнения, что ты хуяришь всё в 1 файл
Аноним 01/10/20 Чтв 21:35:16 1820808751
Хотел бы поинтересоваться, как обстоят дела в программировании на c++на старых макбуках 2011-2012 года?
Аноним 01/10/20 Чтв 21:50:58 1820822752
>>1820808

Если там есть проблемы с новыми версиями, всегда можно поставить прыщеблядикс. Я тем не менее не рекомендую использовать ноутбуки. Даже при наборе кода в нормальной ИДЕ они будут переходить в режим "ахтунг, взлетаем!".
Аноним 01/10/20 Чтв 21:58:51 1820829753
>>1820807
Классы занимают 7 и 8 строчку на видео.
Аноним 01/10/20 Чтв 22:00:47 1820831754
>>1820797
А что надо по матеше кстати?
Аноним 01/10/20 Чтв 22:23:59 1820846755
>>1820594
>чистого и понятного
>тернарник в тернарнике в тернарнике
Ну тут даже хуй знает
Аноним 01/10/20 Чтв 22:27:09 1820849756
>>1820846
Только потому что разработчики шиндоус и юникода мудаки.
Аноним 01/10/20 Чтв 22:50:46 1820864757
>>1820473
перегрузка базовых операторов считается одним из самых важных инструментов проектирования в крестах, наравне с шаблонами


Аноним 02/10/20 Птн 00:18:55 1820915758
>>1820586
Я бы в HMap сделал бы LUT из аски в индекс. Понтово и branch-free.
Аноним 02/10/20 Птн 01:55:23 1820948759
Сап двач, такой вопрос.

Пишу свою первую базу даных на плюсах в качестве тренировки.
И соотвественно пытаюсь делать по учебнику разносить интерфейс в .h файлы, а декларацию в .cpp.
Но тут мне понадобилось в одном классе реализовать темплейтный метод. Я его объявил, задекларировал но компилятор начал ругаться довольно непонятной ошибкой. Погулив ее я увидел такое:
"That means that we cannot separate the interface in a separate header file, and that we must include both interface and implementation in any file that uses the templates."

оесть получается я не могу разнести по разным файлам определение и объявление темлпейтной функци? Может я что-то не так понял?

Алсо возможно мою проблему можно будет решить иначе.
Как можно иначе написать функции которая принимает аргументом лямбду?


"
Аноним 02/10/20 Птн 02:01:13 1820951760
>>1820948
Для того, чтоб компилятор мог сделать template instantiation, ему необходимо "видеть" defintion.

Поэтому просто так отделить template defintion не получится.
Есть несколько способов решить вопрос.

1. Просто оставить функцию в хедере.
2. Перенести definition в .inl файл и заинклудить его в конце хедера. Получится то же самое, что и в пункте один, но с разбиением на несколько файлов.
3. Воспользоваться explicit template instantiation. Это когда ты сам в той части кода, откуда доступен template instantiation указываешь те типы, для которых нужно сделать template instantiation. Все варианты имеют свои нюансы, тут нет одного лучшего.


>Как можно иначе написать функции которая принимает аргументом лямбду?

В каком смысле?
Как описать принимаемые аргумент?
Можно через function pointer, можно через std::function



Аноним 02/10/20 Птн 02:01:44 1820953761
>>1820951
>откуда доступен template definition
Фикс
Аноним 02/10/20 Птн 02:07:25 1820955762
>>1820915
Сука блядь ты русские слова забыл что ли? Пиздец БЛЯДЬ что ни слово то какой-то ебучий англицизм. Уёбок блядь, расстроил меня на пустом месте.
Аноним 02/10/20 Птн 02:09:59 1820956763
>>1820951
Спасибо за овет, хотя я и мало понял из того что ты сказал, буду гуглить.

про лямбду аргументом я имел ввиду такое:

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

Так вот я просто ничего не придумал умнее чем написать
template<typename Lambda>
void remove_if ( Lambda predicate);

может я просто тупой и не знаю как можно это иначе сдлеать.





Аноним 02/10/20 Птн 03:02:27 1820969764
>>1820956
>буду гуглить
Я на это и рассчитываю. Так лучше поймёшь.

>template<typename Lambda>
Нормально сделал
Но сюда заедет не только лямбда, а в принципе любой callable-object. Лямбда, функтор, function-pointer, etc.

Аноним 02/10/20 Птн 09:21:03 1821034765
>>1820948
>оесть получается я не могу разнести по разным файлам определение и объявление темлпейтной функци? Может я что-то не так понял?
Все ты можешь.
В хедере в классе пишешь например
template<class T> void f(T t);
В сурсе соответственно
template<class T> void ClassName::f(T t)
{ / / }
Шаблоны в хедере только замусоривают интерфейс и нарушают инкапсуляцию.
Аноним 02/10/20 Птн 09:38:54 1821041766
>>1821034
> Шаблоны в хедере только замусоривают интерфейс и нарушают инкапсуляцию.
Не слушай его, нечего они не нарушают
Аноним 02/10/20 Птн 11:30:25 1821105767
Аноним 02/10/20 Птн 15:01:41 1821248768
А может есть сервисы, где всякие быдло студенты будут просить делать за них лабы за гроши?
Аноним 02/10/20 Птн 15:03:12 1821250769
96718[1].jpg 54Кб, 300x450
300x450
>>1821248
Лучше места не найдешь, где брать заказы
Аноним 02/10/20 Птн 16:03:39 1821316770
Есть два енума.
Для одного енума есть to_string функция, для другого — нет.

Сейчас я логирую енум так.
template<typename T, std::enable_if_t<std::is_enum<T>::value, int> = 0>
Logger& operator<<(T i) {
log(std::to_string(static_cast<typename std::underlying_type<T>::type>(i)));
}

А хочу вот так, но только в том случае, если to_string существует для этого енума. Если нет, то выводить первым вариантом (выше).

template<typename T, std::enable_if_t<std::is_enum<T>::value, int> = 0>
Logger& operator<<(T i) {
log(to_string(i));
}

Как это сделать?
Аноним 02/10/20 Птн 16:06:24 1821318771
image.png 892Кб, 1280x720
1280x720
>Лямбду я тебе заинлайню.
>Указатель на функцию я не заинлайню.
Аноним 02/10/20 Птн 16:12:29 1821325772
>>1821318
Я тут недавно пилил проект, у которого часть имплементации на ассемблере

Сделал пачку класс-темплейтов, которыев зависимости от темплейт-аргумента набирают себе в constexpr-таблицу указатели на функции, написанные на ассемблере в отдельном файле

А затем этот класс уже между этими указателями разруливает, как ему операции выполнять

Когда оптимизировал это всё — посмотрел асм и optimization log — почти все функции (кроме слишком больших) заинлайнились в LTO. Было приятно

Аноним 02/10/20 Птн 18:58:49 1821437773
>>1821316
template<typename T>
Logger& operator<<(T i)
{
if constexpr (std::is_invocable<decltype(to_string), T>::value)
{
log(to_string(i));
}
else
{
log(std::to_string(static_cast<typename std::underlying_type<T>::type>(i)));
}
}

Это если, конечно же, C++ 17 поддерживается
Аноним 02/10/20 Птн 19:06:53 1821445774
>>1821325
Ставлю анус что компилятор из кода на си++ (конечно, нормально написанного) сделал бы ассемблер еще эффективнее чем рукописный.
Аноним 02/10/20 Птн 19:07:43 1821446775
Аноним 02/10/20 Птн 19:09:20 1821451776
Аноним 02/10/20 Птн 19:10:35 1821453777
>>1821445
>>1821446
Но я был бы только рад, это ж больше портативности и меньше ручного портирования.
Аноним 02/10/20 Птн 21:04:58 1821546778
Мне как вкатышу посоветовали накатить генту мол там все пакеты вручную собираешь из опенсорсов и можешь на лету для самого себя какую-то фичу замутить тем самым прокачивая скилл прогерства. Так ли это и стоит ли того эта практика?
Аноним 02/10/20 Птн 21:37:58 1821565779
>>1821546
Это так, но тебя троллят.
Аноним 02/10/20 Птн 21:38:33 1821567780
>>1821565
В чём троллинг заключается?
Аноним 02/10/20 Птн 21:51:47 1821573781
>>1821034
хм, я вроде так и делал но ничего не компилилсоь

А это так же работает для метода класса а не обычной функции?

Возможно для метода класса мне надо темплейт до обьявления класса писать, или непосресдвтенно над методом?
Аноним 02/10/20 Птн 21:55:02 1821575782
Аноним 02/10/20 Птн 22:46:54 1821593783
Аноним 03/10/20 Суб 01:02:22 1821705784
митап.jpg 59Кб, 604x388
604x388
Аноним 03/10/20 Суб 01:20:06 1821719785
Аноним 03/10/20 Суб 01:30:04 1821724786
Аноним 03/10/20 Суб 01:58:28 1821737787
>>1821719
>>1821724
Круто, спасибо. По поводу sfinae тоже согласен.
Но решение для c++17 тоже хотелось бы иметь.
Аноним 03/10/20 Суб 07:50:20 1821819788
>>1821573
Я тебе и написал для метода класса, а не свободной функции.
Аноним 03/10/20 Суб 13:26:16 1821910789
Подскажите как лучше поступать: реализовывать отдельные конструкции в глобальном скопе и применять что нужно в мейне или всё прописывать в функции? Разумеется в случае когда прога маленькая и всё ограничивается одним сорсфайлом и выносить всё в хедеры смысла нет.
Аноним 03/10/20 Суб 14:40:12 1821987790
>>1821910
Разбивай на логические блоки
Аноним 03/10/20 Суб 17:21:34 1822109791
Как бледж правильно прописать enum в классе и указывать на значение из него в конструкторе?
Аноним 03/10/20 Суб 18:33:41 1822150792
>>1822109
class A {
enum dvach { mertv = 0 };

A(dvach dv = dvach::mertv) {}
};
Аноним 03/10/20 Суб 19:07:15 1822198793
>>1822150
Не, это я как раз понимаю. Но я хочу реализовать через отдельную функцию инициализацию объекта класса где юзер задаёт параметры в том числе и один из енама. Неужто такое не реализовать?
Аноним 03/10/20 Суб 19:42:45 1822241794
>>1822198
void foo(A::dvach dv);

foo(A::mertv);
Аноним 03/10/20 Суб 22:56:04 1822453795
>>1822198
Нихуя не понятно, что ты хочешь сделать.
Аноним 03/10/20 Суб 23:12:52 1822461796
Доброго вам настоящего, посоветуйте нормальных книжонок с задачами по с++, недавно начал учить, было бы круто чтоб уровень сложности поаышался постепенно, спасибо
Аноним 03/10/20 Суб 23:56:16 1822486797
Сап программач.
"Погроммист на Qt" в треде.
Есть кудахтер с core i5-7500, на котором я дома пишу код.
Меня напрягает скорость сборки даже небольшого проэкта на пару десятков тысяч строк.
Компилятор g++.
Кто-нибудь ради интереса пробовал собирать на многоядерных системах, типа двух Зионов E5-2678v3, насколько хорошо оно скалируется?

На али по прикидкам можно собрать комплект с мамкой/камнями/памятью, остальное докупить на месте и уложиться тыров в 50-55.
Аноним 04/10/20 Вск 00:04:42 1822496798
>>1822486
Ты уверен, что у тебя проблема в количестве ядер?

> скалируется
а не в хромосомах?
Аноним 04/10/20 Вск 00:05:26 1822497799
>>1822486
Почему просто не перейти на линукс?
Аноним 04/10/20 Вск 00:11:57 1822502800
>>1822496
>Ты уверен, что у тебя проблема в количестве ядер?
Проблема только в том, что мне хочется увеличить скорость сборки.
Камень наверное собирает так, как и должен.
Как ещё дёшево увеличить скорость сборки, если не количеством ядер/потоков?

>>1822497
Дык это на нём.
Аноним 04/10/20 Вск 00:15:39 1822507801
>>1822502
>Дык это на нём.
Земля тебе пухом, братишка. Ты на каком-то говне вроде юбунты или дикина изкаропки сидишь? Подрочи неделю генту, сможешь оптимизировать до такой степени что компы за тысячи баксов на шинде возьмут в рот.
Аноним 04/10/20 Вск 00:18:24 1822508802
>>1822507
> компы за тысячи баксов на шинде возьмут в рот.
Маняфантазии красноглазика
Аноним 04/10/20 Вск 00:21:21 1822509803
>>1822508
Ты правда думаешь что мне не похуй на твоё мнение?
Факт в том, что у меня древний ультрабук на сабже работает шустрее стационарника с топовым райзеном на десятке.
Аноним 04/10/20 Вск 00:25:06 1822512804
15856421231880.png 127Кб, 445x365
445x365
Аноним 04/10/20 Вск 00:27:29 1822517805
>>1822512
Чего сказать то хотел?
Аноним 04/10/20 Вск 00:27:49 1822519806
>>1822486

Зеоны, по крайней мере, того поколения, которое дешево, раза в два медленнее современных процессоров, так что лучше брать нормальную современную мейнстримную систему вместо двухсокетника с помойки
Аноним 04/10/20 Вск 00:30:00 1822521807
>>1822502
> Проблема только в том, что мне хочется увеличить скорость сборки.
Давай ТТХ своей сборочной системы:
-сколько проектов
-сколько в среднем файлов в проектах
-сколько сейчас длится сборка
Аноним 04/10/20 Вск 00:45:56 1822533808
Всё зависит от проекта, от уровня связности, етц.

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

Собираю на i9 9900k с разгоном 5.0 ghz на всех ядрах, некоторые даже небольшие вещи собираются достаточно долго
Аноним 04/10/20 Вск 00:55:49 1822545809
>>1822509
Пруфов конечно же не будет
Аноним 04/10/20 Вск 01:00:06 1822549810
>>1822521
>-сколько проектов
Конкретно напрягает меня один проект.
Файлов ~350.
Собирается полторы минуты (за это время я успеваю отвлечься на какую-нибудь хуйню и залипнуть, проебав 5-10-15 минут).

Остальные проекты, с которыми я работаю, обычно мелкие программы, собираются быстро.

>>1822519
Так-то да, я ради интереса пошерстил ютуб, в тестах два таких камня примерно как один 3900X-3950X, только он один стоит как мать+камни+память.
Аноним 04/10/20 Вск 04:11:51 1822605811
Сап, народ.
Программа, собранная mingw с ключом O3, начала падать. При этом если собирать её же с O2 или в дебаге, то она отрабатывает без падений и, на взгляд, без ошибок. Также работает нормально, если собрать в студии.
Что это вообще может значить и как с таким бороться?
Аноним 04/10/20 Вск 04:20:50 1822606812
>>1822605
> Что это вообще может значить и как с таким бороться?
Говнокод
Под msvc не судьба собрать?
Аноним 04/10/20 Вск 07:20:18 1822636813
>>1822549
>Собирается полторы минуты
Лол, попробуй свой qt пересобрать.
Аноним 04/10/20 Вск 08:22:40 1822653814
>>1822606
Собирал с ним в 19-й студии, работает без ошибок.
04/10/20 Вск 09:42:35 1822667815
>>1822486
> 486
Проект свой на файлы небольшие разбей ты, молодой падаван. Компилируй в объектный код их.
Аноним 04/10/20 Вск 10:05:23 1822673816
>>1822605
> падать
- падать как?
- у тебя говнокод (прогони через статические и динамические анализаторы)
- прога зависит от тонкостей IEEE и т.п.
- баг в кунпеляторе
Аноним 04/10/20 Вск 10:33:36 1822690817
Аноним 04/10/20 Вск 11:41:26 1822716818
>>1822549
> Собирается полторы минуты
Ну тогда не выёбывайся. Инкрементальные сборки у тебя всё равно должны быть очень быстрые.

мимо проекты собираются около полутора часов
Аноним 04/10/20 Вск 11:41:56 1822717819
>>1822673
>- падать как?
Падает молча, но в журнале ошибок винды код исключения: 0xc0000005.
Аноним 04/10/20 Вск 12:17:44 1822744820
>>1822636
При чём тут Qt? Мне не нужно его пересобирать по несколько раз на дню.
>>1822716
Как ты их отлаживаешь тогда? Типа внёс правок на 20-30 строк, надо проверить, что всё работает. Каждый раз по полтора часа куришь бамбук?
Аноним 04/10/20 Вск 12:50:45 1822762821
>>1822717
Проверь порчу стека, или на куче удаление уже удаленного либо обращение к удаленному. есть инструменты для такого. Возможно возвращаешь указатель на локальную переменную.
Аноним 04/10/20 Вск 13:40:24 1822790822
>>1822744
> внёс правок на 20-30 строк, надо проверить, что всё работает. Каждый раз по полтора часа куришь бамбук?
Нет конечно, я о том и говорю, что инкрементальные сборки времени почти не занимают, а если у тебя после мелких правок собирается всё заново, то не в процессоре дело.
Аноним 04/10/20 Вск 14:22:04 1822813823
>>1822790
>Нет конечно, я о том и говорю, что инкрементальные сборки времени почти не занимают, а если у тебя после мелких правок собирается всё заново, то не в процессоре дело.
Ну я собираю в среде разработки QtCreator.
Я так понимаю, он просто чекает, были ли внесены изменения в некий файл. И если изменения были внесены, он тупо пересобирает все файлы, в которых изменённый файл используется. Поэтому зависит от того, какой именно я файл поправил.
Аноним 04/10/20 Вск 15:03:21 1822850824
>>1822762
>есть инструменты для такого
Типа Address Sanitizer?
Попробовал на FreeBSD скомпилировать на g++ и clang++ с -fsanitize=address, но в обоих случаях не возникло никаких ошибок.
Аноним 04/10/20 Вск 15:39:46 1822873825
>>1822717
это ты пытаешься записать что-то в неаллоцированную память, или стэк сломан
Аноним 04/10/20 Вск 19:02:02 1823004826
>>1822605
Похоже какие-то ошибки в моём mingw. Скомпилировал с помощью mingw с ключом -O3 на ноутбуке - всё работает.
Аноним 04/10/20 Вск 19:11:56 1823020827
Аноним 04/10/20 Вск 19:55:47 1823054828
Снимок.PNG 29Кб, 499x622
499x622
как научиться решать пикрил простые задачи на с++? какие книги по с++ можете посоветовать мне, у кого 0 знания в математике, программировании и вообще в информатике? я не собираюсь становится прогером, просто задания с универа
Аноним 04/10/20 Вск 20:27:25 1823104829
Аноним 04/10/20 Вск 20:44:52 1823115830
>>1823104
на сис. админа, "Администрирование систем и сетей", хз почему нас учат с++ и писанию калькулятора на делфи 7
Аноним 04/10/20 Вск 20:52:13 1823121831
>>1823115
Что ты там забыл с 0 знаниями в информатике? И без знания английского ты на кой туда полез потому что знай ты английский хотя бы на B1 ты бы сумел прочитать ошибки конпилятора и исправить их. Изучение программирования хорошо тем, что определённому проценту людей из твоего потока оно поставит мозги на место и на выходе выйдут мало-мальски грамотные тела. И очень скоро у тебя и многих других развеется миф о том, что сисадмины - смузихлёбы со 100% автоматизацией и вы, скорее всего, отсеетесь что благо.
Аноним 04/10/20 Вск 21:05:10 1823127832
Аноним 04/10/20 Вск 21:27:16 1823145833
>>1823121
да я уверенный юзер пк, могу чинить итд, английский как раз примерно ниже среднего, ну не могу я кодить, тупо не интересно все эти операторы, переменные и др. термины программирования, на сис. админа поступал пушто думал нас будут учить только поддерживать работу серверов, инета и компов, а не этот кодинг злоебучий
Аноним 04/10/20 Вск 21:28:29 1823147834
>>1823145
> поступал пушто думал нас будут учить
Вот здесь твоя ошибка.
Аноним 04/10/20 Вск 21:33:00 1823150835
Аноним 04/10/20 Вск 21:34:54 1823152836
>>1823147
Двачую.
>>1823145
"Уверенный юзер пк" это моя бабушка. А ты хоть раз павершелл юзал? Рейд массивы собирал? TCP/IP знаешь, простой трафик netbios`a сниффнуть сможешь? Запросы сформируешь, логи прочитаешь? Про линуксы даже не спрашиваю. Кодить тебе так или иначе придётся, хотя бы простенький скрипт на баше или не дай бог шелле но где-нибудь да понадобится написать. А не станешь учить потом у тебя гарантированно возникнут вопросы типа "А почему 777? Гыы, Линус, нормальная такая интеграция".
Аноним 04/10/20 Вск 21:36:09 1823153837
>>1823145
Админу, желающему получать больше 25к в местной школе, необходимо хотя бы общее знание скриптовых языков.

Сложность твоей задачи настолько низкая, что ты бы уже успел сам найти книжку страуструпа для вката, прочитать 15 страниц и выполнить задачу. Но ты почему-то решил, что срать в этом треде тебе более предпочтительно.
Аноним 04/10/20 Вск 21:56:41 1823163838
>>1823150
>>1823152
Ладно. К счастью для нас обоих я двачер с маленьким стажем, потому постараюсь реабилитроваться из статуса токсика.
На вот, это для формирования общей картины с чем тебе предстоит иметь дело: https://www.youtube.com/playlist?list=PLmxB7JSpraiep6kr802UDqiAIU-76nGfc
По твоему вопросу - https://ravesli.com/urok-53-prostranstva-imen/
Только вникни и пойми почему так. И учись учиться + гуглить, за тебя это никто делать не будет.
Аноним 04/10/20 Вск 22:14:06 1823170839
Аноним 04/10/20 Вск 22:24:04 1823177840
>>1823170
Там в точности описано что нужно делать чтобы твой код заработал.
Удаляешь инклуд строки, после пишешь using namespace std;
Всё что в мейне табулируешь, в конец добавляешь return 0;
Если проверка на деление на ноль не требуется то задание ты выполнил.
Аноним 04/10/20 Вск 22:27:53 1823180841
>>1823177
окей спасибо попробую
Аноним 05/10/20 Пнд 06:17:44 1823307842
>>1823127
Нет, я заново скачал mingw, и теперь всё работает без ошибок.
Аноним 05/10/20 Пнд 09:18:19 1823370843
Аноним 05/10/20 Пнд 09:32:55 1823382844
>>1823115
Потому чта:
1. си/си++ это языки наиболее близкие к железу, после ассемблера. Тебе бы надо знать как работает комп и программы на нем, на таком уровне - читает переменную, складывает с другой, записывает в перемнную.
Это нужно хотя бы для понимания сетевых протоколов - они же не из воздуха берутся, а вот так гоняют байты по порядку.
2. си/си++ это всякие линуксы, которые наверняка придется ковырять, например я даже дома изменял и собирал прошивку для роутера. Если будешь админить какой нибудь хайлоад, наверняка придется оптимизировать какие то штуки, как минимум выделение памяти.
3. большинство уязвимостей связаны с ошибками в си/си++ программам, например переполнение буфера, так что надо бы понимать откуда оно берется, что именно происходит в программе почему буфер портится.
4. Как уже написали придется работать со скриптами, башем, батниками, павершелом и т.д. Основные принципы программирования сохранятся, отличаться будет только обвзяка и свистелки (пока это не хаскель)
Аноним 05/10/20 Пнд 12:38:41 1823505845
>>1820586
Каков пиздец.
Впрочем, с шаблонодрочером на VS2008 и C++03 с моей текущей работы не сравнится.
Аноним 05/10/20 Пнд 15:12:23 1823677846
>>1823505
А почему на твоей работе VS2008 и C++03 ?
Аноним 05/10/20 Пнд 16:47:54 1823768847
>>1823677
C++03 в студии это ещё по божески.
мимо пишу на c++98 в эклипсе для одного хобби-проекта под qnx
Аноним 05/10/20 Пнд 16:50:35 1823773848
>>1823505
>>1823768
Проиграл с этих стагнирующих дебилоидов.
Аноним 05/10/20 Пнд 17:01:51 1823784849
Аноним 05/10/20 Пнд 17:32:06 1823805850
>>1823768
> хобби проект
> qnx
Сильно
Аноним 05/10/20 Пнд 17:58:50 1823818851
>>1823677
>А почему на твоей работе VS2008 и C++03 ?
Сейчас всё норм.
Но был чел, код которого был написан в начале 10-х на сабже чисто на шаблонах (потому, что чел прочитал Александреску и впечатлился) и собственных костылях для той же многопоточности (хуле, std::thread не завезли ещё).
И я этот код немного ковырял и просто охуевал.
05/10/20 Пнд 19:54:05 1823894852
>>1823773
Пишу на ANSI C89. Как тебе такое?
Аноним 05/10/20 Пнд 20:00:27 1823895853
>>1823894
В перфокарты умеешь? Хуи сосёшь?
Аноним 05/10/20 Пнд 21:08:35 1823957854
Visual Studio 2015 выдаёт следующий warning:

warning C4291: 'void operator new(std::size_t,void ) noexcept': no matching operator delete found; memory will not be freed if initialization throws an exception

Но при этом соответствующий operator delete я сделать не могу, ведь это placement new.
Насколько безопасно это игнорировать?
Visual Studio 2017 на этот же проект такую ошибку не выдает.
Аноним 05/10/20 Пнд 21:40:50 1823971855
>>1796605 (OP)
Помогите бесплатно получить русский вариант книги по AMP
"C++ AMP. Построение массивно параллельных программ с помощью Microsoft Visual C++"
Аноним 05/10/20 Пнд 21:48:07 1823974856
Аноним 05/10/20 Пнд 22:12:41 1823985857
>>1823773
Ты не подумай, на работе я c++17 /permissive-

>>1823805
>>1823784
Пишу клиент для имиджборд для Blackberry OS10.
RIM предоставила NDK, в комплекте есть gcc 4.6.3 и 4.8.3. По умолчанию 4.6.3, хотя всё равно на 4.8.3 стандартная GUI библиотека скорее всего собрана без c++11. В интернете информации по этому поводу практически нет, на гитхабе проектов с этим флажком тоже нет.
Вручную писать красивый интерфейс на голом и древнем Qt не очень хочется, поэтому вот терплю.

Если у кого-нибудь есть информация, которая может облегчить мои старания, делитесь пожалуйста. Спасибо.
Аноним 05/10/20 Пнд 23:00:32 1823996858
>>1823985
>Ты не подумай, на работе я c++17 /permissive-
Какой опыт? Что пишешь и где? Сколько учился, через сколько вкатился? Какая зп? Нравится?
Аноним 05/10/20 Пнд 23:00:51 1823997859
>>1823985
>Ты не подумай, на работе я c++17 /permissive-
Какой опыт? Что пишешь и где? Сколько учился, через сколько вкатился? Какая зп? Нравится?
Аноним 05/10/20 Пнд 23:01:39 1823999860
Аноним 05/10/20 Пнд 23:12:53 1824007861
>>1823996
Пишу разное, высоконагруженные серверные системы, сети, немного криптографии и безопасности. На работе в основном c++14, три года опыта, 150к.

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

Другой анон
Аноним 05/10/20 Пнд 23:20:16 1824011862
>>1824007
Неплохо. Только на крестах пишешь или ещё на чём-то? Что за проект? Хотя бы в 2 словах.
Аноним 06/10/20 Втр 01:31:34 1824074863
>>1823997
> Какой опыт?
Джва с половиной года
> Что пишешь и где?
САПРы nuff said, где не скажу
> Сколько учился, через сколько вкатился?
Устроился на втором, шарагу бросил на третьем. В общем где-то год написания разного рода laba2.cpp и ещё год написания синтетических разного рода крудов и редакторов неба и аллаха (laba6.h laba6.cpp main.cpp)
> Какая зп?
120к
> Нравится?
Да, очень
Аноним 06/10/20 Втр 09:14:29 1824138864
>>1823768
>>1823505
>>1823985
А в чем проблема просто использовать самую последнюю версию? Стандарт же вроде как топит за обратную совместимость.
Аноним 06/10/20 Втр 09:29:32 1824142865
>>1824138
Читай внимательнее. Сломается ABI. Это тебе не студия 15-19
Аноним 06/10/20 Втр 10:43:09 1824184866
>>1824142
Типо либа скомпилена уже на старой верии, а исходников чтоб перекомпилировать нет?
Аноним 06/10/20 Втр 11:38:45 1824228867
Аноним 06/10/20 Втр 11:58:51 1824253868
Аноним 06/10/20 Втр 15:15:48 1824428869
Алсо. Что если декомпилировать либу через какую-нибудь Ida Pro или Ghidra, перевести в Си-код, а потом собрать новым компилятором? Несу бред?
Аноним 06/10/20 Втр 16:02:55 1824471870
>>1824428
Много ручной работы.
Аноним 06/10/20 Втр 19:25:48 1824680871
>>1823974
Большое спасибо, что помог мне.
Аноним 06/10/20 Втр 19:29:57 1824684872
>>1824680
Только учи блять, я проверю!
Аноним 06/10/20 Втр 20:07:24 1824725873
Хочу вкатиться. Программирование. Принципы и практика использования из гитшапки актуальна? Вообще, насколько большая разница между разными версиями?
Сейчас пишу на питоне, в инсте был один курс плюсов уровня хэлоуворд.
Аноним 06/10/20 Втр 21:11:46 1824797874
>>1824725
Учи сразу последний стандарт, книга страуструпа норм
Аноним 06/10/20 Втр 21:32:52 1824807875
Стена текста, но может кто подскажет.

Написал кастомный аллокатор с интерфейсом под std::allocator
Написал кастомные make_unique и make_shared, которые используют мой аллокатор и CustomDeleter, который деаллоцирует с помощью моего аллокатора.
C shared_ptr проблем не было.
Но у unique_ptr deleter это часть типа, а не объекта, поэтому при вызове CustomDeleter не получится корректно удалить дочерний полиморфный объект, имея указатель на родительский объект. Деструктор вызовется правильно, а вот память нормально не освободить, так как неизвестен размер объекта.

Понял, что избрал не совсем верный подход. Узнал, что у полиморфных объектов два деструктора, один просто деструктор, а другой для динамической деаллокации, который зовётся как раз тогда, когда происходит вызов delete на полиморфный объект. В итоге вызывается "второй" деструктор через dynamic dispatch, где внутри уже overloaded delete, так как тип объекта уже определён.

Поэтому для корректного поведения достаточно не вызывать dellocate из CustomDeleter, а сделать просто delete (или вообще оставить дефолтный deleter).
А вот в оверлоаде delete уже сделать deallocate с указанием размера.

НО НЕ ТУТ-ТО БЫЛО
g++/clang не позволяет сделать один overload delete, но не сделать второй.
Более того, нет гарантии, что будет вызван один а не другой.
Это не позволяет сделать им универсальное поведение (а именно — не хранить размер аллокации перед каждым аллоцированным блоком).
Хотя при этом g++ всегда зовёт именно sized-version.
clang тоже, но требует для этого -fsized-deallocation

Единственная ситуация, при которой я смог триггернуть вызов non-sized delete — это вызов delete на pointer-to-incomplete-type. Тогда-то компилятора размер и неизвестен. Но эта тест бесполезный, ведь вызов delete на pointer-to-incomplete-type — это UB и потребовало включить игнор ворнинга.

В итоге красивого выхода из ситуации я не нашёл

Перый вариант:
1. Оформить нормально пару new/sized-delete с вызовами аллокатора с указанием размера напрямую.
2. Оформить пару new[]/delete[] с хранением размера аллокации в дополнительном блоке.
3. Вызов sized-delete[] оформить так же, как и delete[]. Проигнорировать size.
4. Делать std::terminate() в случае вызова non-sized-delete, ибо нехуй. Либо он никогда не вызовется, либо я что-то не учитываю (поэтому и пишу это всё, вдруг кто подскажет).

Второй вариант:
Первые три пункта как в первом варианте.
4. В случае вызова non-sized-delete делать вызов deallocate с указанием какого-нибудь специфичного размера, например, -1.
В аллокаторе отдельно обрабатывать такой вызов. Вместо поиска чанка в готовой бочке (найденной по размеру), мы перебираем все бочки в поисках нужного блока для деаллокации. Потом деаллоцируем. Требует дополнительных костылей в деаллокаторе, но зато работает всегда. Но наличие этих костылей не ухудшает нормальный case (когда размер известен).

Собственно, стоит ли второй вариант того? Это долнительный костыли в обход стандартного интерфейса аллокатора ради того, чтоб избежать проблемы, которая может и не возникнуть.
Аноним 06/10/20 Втр 21:40:53 1824811876
>>1824725
>>1824797
>книга страуструпа
Бляяять, нет. Если совсем зелёный - то лучше сначала пройти K&R по чистому Си. Книга Страуса - это спидран в котором новичок потеряется. Вот ты учишь объявление переменных и вот ты уже пишешь калькулятор с 10 неймспейсами и кучей вложенных юзертипов и ловишь конфликты имён по 100 штук на вызов.
Аноним 06/10/20 Втр 22:30:54 1824831877
>>1824811
Ага, а перед Си надо выучить ассемблер.
>Если совсем зелёный
Не совсем.
Аноним 06/10/20 Втр 22:37:54 1824832878
>>1824811
Си - худший возможный совет. Си - это устаревший нахуй никому не нужный, кроме шизоидов и дедов кусок говна.
Аноним 06/10/20 Втр 22:45:09 1824834879
Аноним 06/10/20 Втр 22:59:52 1824840880
>>1824834
Я знаю 1 юзкейс использования си - когда под твое говно компилятора C++ нету. Да и вообще нихуя нету, кроме си.

Во всех остальных случаях си нахуй не нужен. Да, включая операционные системы\драйвера\HFT и прочее
Аноним 06/10/20 Втр 23:00:16 1824841881
>>1824840
а, ну да, еще стабильное сишное ABI забыл. Теперь точно все.
Аноним 06/10/20 Втр 23:05:24 1824842882
>>1824811
> сначала пройти K&R по чистому Си
Нихуя подобного, в этой книге как раз это объясняется. Сразу учи c++. А про калькулятор согласен, пиздец полный
Аноним 06/10/20 Втр 23:30:08 1824845883
>>1824725
у страуса годные книжки - "с++ специальное издание" 2000 года и "дизайн и эволюция языка"
еще он годные статейки иногда пишет))
а последние книги у него неудачные, особенно та книга типа для новичков

Аноним 06/10/20 Втр 23:44:00 1824850884
>>1823818
на 98 стандарте было интересней городить шаблончики для статики и метапрограммирования
в последних стандартах надобавляли синтаксического сахарку, а раньше нужно было трюки делать)

Аноним 06/10/20 Втр 23:51:15 1824853885
>>1822461
страус, специальное издание
в четвертом тоже много задачек, можно не читать, а брать только их
Аноним 07/10/20 Срд 14:00:12 1825155886
>>1821451
>>1821719
>>1821724
А можно сделать, чтоб ещё и для енума, который определн в class scope, работало?
Аноним 07/10/20 Срд 14:44:05 1825192887
>>1825155
И его to_string соответственно там же.
Аноним 07/10/20 Срд 16:18:06 1825260888
>>1824807
Пиши в КОМИТЕТ с такими охуеительными вопросами.
Аноним 07/10/20 Срд 16:47:18 1825295889
Аноним 07/10/20 Срд 20:44:08 1825432890
>>1796605 (OP)
Труп страуса вводит в заблуждение, если честно. Уже в который раз читаю что поинтер к функции нельзя привести к void*. Но я могу..
Аноним 07/10/20 Срд 20:57:17 1825442891
>>1825432
Стандартом не разрешено. Причём тут то, что ты там можешь?
POSIX, кстати, разрешает, но только для free функций.
Аноним 07/10/20 Срд 21:09:32 1825449892
>>1825192
Если to_string в классе, то нет. Выноси из класса
Аноним 07/10/20 Срд 21:10:44 1825450893
>>1825442
void lolcout(int x)
{
cout << endl << x;
}
void u = &lolcout;
(
(reinterpret_cast<void(*)(int)>(u)))(128);
Зато я твою маму ебал
Аноним 07/10/20 Срд 21:39:00 1825462894
>>1825442

Размер поинтера на код и на данные может быть разным
Аноним 07/10/20 Срд 21:52:59 1825467895
>>1825462
разве что на машинах где данные и код отдельно хранятся. но в целом скорее можно чем нельзя
Аноним 07/10/20 Срд 23:08:07 1825521896
>>1825432
А я могу в свитче писать case 5...55: но стандарт это никак не меняет.
Аноним 07/10/20 Срд 23:15:20 1825526897
Аноны, как мне сделать ссылку на переменную класса, вызывающую функцию?
Что-то вроде:
Описание метода класса: void имя_класса::имя метода()
{
имя_класса::имя_другого_метода(какая-то переменная, та переменная_которая_ вызывает_первую_функцию)
...
}
Аноним 07/10/20 Срд 23:41:45 1825536898
>>1825449
Почему? Нельзя и нельзя, окей, но хочется познать причины.
Аноним 07/10/20 Срд 23:42:37 1825537899
>>1825467
Просто нельзя.
Да и зачем? Кастишь в указатель на примитивную функцию и всё
Аноним 07/10/20 Срд 23:43:31 1825538900
>>1825450
Кастить в указатель на функцию как раз можно.
Аноним 07/10/20 Срд 23:55:36 1825543901
>>1825526
> ссылку на переменную класса, вызывающую функцию
Иди проспись, окаянный
Аноним 07/10/20 Срд 23:57:15 1825544902
>>1825536
Потому что енам в классе - это тот же енам, а вот функция-член класса, пусть и статическая, - это не то же самое, что и глобальная функция
Аноним 08/10/20 Чтв 00:02:06 1825545903
>>1825544
В итоге методы класса не учитываются при adl в том примере с темплейтным принтом енума?
Аноним 08/10/20 Чтв 00:15:33 1825549904
Аноним 08/10/20 Чтв 01:30:56 1825557905
Сап, понимаю, что многого прошу, но я не знаю, что делать.
Задали реализовать алгоритм шифрования ГОСТ 28147-89.
Проблема в том, что программа шифрует, но вот назад не расшифровывает правильно даже один блок.
Не могу понять с чем я проебался, надеюсь на помощь.
С меня как всегданихуя.
https://pastebin.com/Khti8mvJ
08/10/20 Чтв 01:42:18 1825559906
1602110537220.gif 1371Кб, 202x360
202x360
>>1825557
> С меня как всегданихуя.
Аноним 08/10/20 Чтв 01:50:09 1825563907
Аноним 08/10/20 Чтв 02:10:48 1825566908
if (this->mode == SIMPLECRYPT) //Режим шифрования
else if (this->mode == SIMPLEENCRYPT)//Режим дешифровки


Уверен?
Аноним 08/10/20 Чтв 02:13:02 1825567909
% 4294967296;
Это зачем?
Аноним 08/10/20 Чтв 02:55:43 1825572910
https://onlinegdb.com/rkKw7RiLP

Почему у меня для raw pointers производительность выше?


#include <iostream>
#include <chrono>
#include <memory>
using namespace std;
using namespace std::chrono;
#define TIMEUNIT high_resolution_clock::time_point
#define TIMENOW high_resolution_clock::now()
#define TIMESECONDS(x) duration_cast<seconds>(x).count()
#define TIMEMICROSECONDS(x) duration_cast<microseconds>(x).count()
const size_t size_x = 300;
const size_t size_y = size_x;
const size_t windows_x = 10;
const size_t windows_y = windows_x;

int main()
{
// unique pointer test
{
size_t number_of_operations = 0;
unique_ptr<bool[]> mask = unique_ptr<bool[]> (new bool[size_y size_x]);
unique_ptr<bool[]> mask_local = unique_ptr<bool[]> ( new bool[(windows_x
2 + 1) (windows_y 2 + 1)]);
TIMEUNIT t1 = TIMENOW;

for(int i = 0; i<size_y; i++)
for(int j = 0; j<size_x; j++)
mask[i size_x + j] = ((i+j)%2) == 0;

for(int i = 0; i<size_y; i++)
for(int j = 0; j<size_x; j++)
{
int ii0 = i - windows_y;
if(ii0<0) ii0 = 0;
int ii1 = i + windows_y;
if(ii1>size_y) ii1 = size_y;
int jj0 = j - windows_x;
if(jj0<0) jj0 = 0;
int jj1 = j + windows_x;
if(jj1>size_x) jj1 = size_x;
for(int ii = ii0; ii< ii1 ; ii++)
for(int jj = jj0; jj< jj1 ; jj++)
{
mask_local[(ii - ii0)
(windows_x 2 + 1) + jj - jj0] = mask[iisize_x + jj];
number_of_operations++;

}

}
TIMEUNIT t2 = TIMENOW;
cout<<"Unique pointer: "<< TIMEMICROSECONDS(t2 - t1)/1000.0/1000.0 << " sec" << "; nop = " << number_of_operations << endl;
}

// raw pointer test
{
size_t number_of_operations = 0;
bool mask = new bool[size_y size_x];
bool mask_local = new bool[(windows_x 2 + 1) (windows_y 2 + 1)];
TIMEUNIT t1 = TIMENOW;

for(int i = 0; i<size_y; i++)
for(int j = 0; j<size_x; j++)
mask[i size_x + j] = ((i+j)%2) == 0;

for(int i = 0; i<size_y; i++)
for(int j = 0; j<size_x; j++)
{
int ii0 = i - windows_y;
if(ii0<0) ii0 = 0;
int ii1 = i + windows_y;
if(ii1>size_y) ii1 = size_y;
int jj0 = j - windows_x;
if(jj0<0) jj0 = 0;
int jj1 = j + windows_x;
if(jj1>size_x) jj1 = size_x;
for(int ii = ii0; ii< ii1 ; ii++)
for(int jj = jj0; jj< jj1 ; jj++)
{
mask_local[(ii - ii0)
(windows_x 2 + 1) + jj - jj0] = mask[iisize_x + jj];
number_of_operations++;

}

}
TIMEUNIT t2 = TIMENOW;
cout<<"Raw pointer: "<< TIMEMICROSECONDS(t2 - t1)/1000.0/1000.0 << " sec" << "; nop = " << number_of_operations << endl;
delete[] mask;
delete[] mask_local;

}

return 0;
}
Аноним 08/10/20 Чтв 02:57:22 1825573911
>>1825572
там знак умножение проебался. По ссылке все компилируется
Аноним 08/10/20 Чтв 03:24:20 1825578912
image.png 90Кб, 783x420
783x420
>>1825573
Оптимизации не включены.
Аноним 08/10/20 Чтв 04:22:58 1825589913
>>1825578
Значит у меня INTEL компилятор сломан на машине

$ sh command_line.sh
Results for ICPC
Unique pointer: 8.98449 sec; nop = 9506250000
Raw pointer: 1.36868 sec; nop = 9506250000
Results for GCC
Unique pointer: 0.763707 sec; nop = 9506250000
Raw pointer: 0.752126 sec; nop = 9506250000

$ vi command_line.sh
#!/bin/bash
echo "Results for ICPC"
icpc --std=c++11 -Ofast cc_raw_uni.cc -o run_new
./run_new
echo "Results for GCC"
g++ --std=c++11 -Ofast cc_raw_uni.cc -o run_new
./run_new
08/10/20 Чтв 08:50:40 1825649914
>>1825462

Войд укащатель есть указатель только
на данные?
08/10/20 Чтв 08:52:15 1825652915
>>1825572
В ойсемблер погляди.
Аноним 08/10/20 Чтв 10:32:56 1825693916
>>1825545
Конечно не учитываются
Аноним 08/10/20 Чтв 13:58:51 1825869917
Аноним 08/10/20 Чтв 14:02:29 1825871918
Аноним 08/10/20 Чтв 14:22:15 1825874919
>>1825155
Просто сделай как в fmtlib сделано, будет проще и тебе и остальным. https://fmt.dev/latest/api.html#formatting-user-defined-types
tl;dr специализируй структуру, в которой и хранится метод to_string
Недавно смотрел одну презентацию Тита Винтера, в которой он говорил, что у языка большая проблема, если в библиотеках люди отказываются от простого написания свободных функций из-за угрозы огрести от ADL.
08/10/20 Чтв 16:18:22 1825953920
1602163099732.gif 1371Кб, 202x360
202x360
Аноним 08/10/20 Чтв 22:38:28 1826235921
>>1825155
Какая-то лаба002.
Ты лучше сделай чтобы это работало в рантайме: на вход подавался std variant с твоими енумами и выполнялись функции в зависимости от доступных операций.
Аноним 09/10/20 Птн 01:43:49 1826308922
Аноним 09/10/20 Птн 06:49:31 1826362923
Аноним 09/10/20 Птн 18:26:21 1826774924
>>1824807
По моему из за подобной хуйни добавили полиморфические аллокаторы, посмотри может тебе подойдет.
Аноним 09/10/20 Птн 21:55:10 1827014925
Объясните ньюбису почему #define - плохо?
09/10/20 Птн 22:10:03 1827026926
Аноним 09/10/20 Птн 22:27:03 1827043927
>>1827014
Потому что тупо текстовая замена без контекста, типов не видит, нихуя не видит.
Как тебе такое
#define SQR(x) (xx)
SQR(2+3)
>11 //а не 25, так как развернулось в 2+3
2+3

Или например
#define STEP() x++; y++;

int x=y=0;
if(false)
STEP();
return y; //бабах - y++ сработает всегда

Аноним 09/10/20 Птн 22:27:56 1827045928
>>1827043
Спасибо, Абу.
SQR(x) x * x

2+3 x 2+3
10/10/20 Суб 08:07:55 1827180929
Шаблоны появились в помощь низкоквалифицированных мартыхам, для которых макросы слишком опасный инструмент, хотя мощный и простой в реализации.
Аноним 10/10/20 Суб 09:56:39 1827210930
>>1827180
Макросы в плюсах калл
Аноним 10/10/20 Суб 09:57:30 1827211931
>>1827180
С появился в помощь низкоквалифицированных мартыхам, для которых ассемблер слишком опасный инструмент, хотя мощный и простой в реализации.
Аноним 10/10/20 Суб 11:44:04 1827229932
>>1827180
Макросы (как и разделение на хедеры/исходники, да и вообще вся система компиляции C) - хак, потому что в маломощный PDP-11 нельзя было завести нормальные компилятор с линкером. Прости, анон, но это так.
Аноним 10/10/20 Суб 12:31:51 1827248933
>>1827180
Не особо то и мощный - многие хотелки не получится реализовать.
10/10/20 Суб 12:33:34 1827251934
С помощью шаблонов можно сделать только подстановки типов, а макросы этим не ограничены. Поэтому макросы мощнее. Ну да, писать чутка сложнее, если много строк. И в ногу легко выстрелить. Но настоящим программистам норм.
Аноним 10/10/20 Суб 14:08:05 1827302935
Игнорьте толстяка
Аноним 10/10/20 Суб 14:25:00 1827309936
>>1827251

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

"Настоящий программист" - это кто? Покажь, что написал.
Аноним 10/10/20 Суб 14:27:28 1827311937
>>1827309
Лол, сначала не увидел, кому ты отвечаешь, и не много охуел с того, что ты просишь реализовать.
Аноним 10/10/20 Суб 14:54:14 1827331938
>>1827309
В C11 добавили _Generic ахахахаха, как будто кто-то им когда-либо пользовался
Аноним 10/10/20 Суб 16:38:25 1827397939
>>1827309
> диспатч по типам в зависимости от типа данных
Не нужно. Ты знаешь тип в точке вызова - ты вызываешь нужную версию макроса. Результат: невозможен код, который разворачивается хз во что (обычная болезнь ++С).
> макрос использует другие
#define iprint(x) printf("%d\n", x)
#define wrap(x) do{ x; }while(0)
#define twice(f,x,y) wrap(f(x);f(y))
#define iprint2(x, y) twice(iprint,x,y)
Аноним 10/10/20 Суб 19:16:37 1827474940
Сап двач, мне нужно назвать файл "в честь" переменной. То есть

int a = 9;
ofstream fn;
fn.open("(тут должно быть значение а).txt");
как мне это сделать?
Аноним 10/10/20 Суб 19:27:48 1827479941
>>1827474
Всмысле 9.txt или a.txt?
Аноним 10/10/20 Суб 19:28:35 1827481942
>>1827180
0\10 тралинг, попробуй получше.
Аноним 10/10/20 Суб 19:30:38 1827482943
>>1827474
int a = 9;
const auto name = std::to_string(a) + ".txt";
std::ofstream ofs{ name };
Аноним 10/10/20 Суб 19:31:27 1827483944
>>1827397
И зачем это малочитаемое говно? Это выглядит не по ХАКЕРСКИ МАМ Я СМАТРИ КАК МОГУ - это неподдерживаваемое error-prone дерьмо
Аноним 10/10/20 Суб 19:37:39 1827489945
Пацаны, почему g++ требует определить int main, но не требует сделать return 0 ?
Аноним 10/10/20 Суб 19:42:44 1827492946
>>1827489
По стандарту main это единственная функция, в которой можно не писать return - тогда будет подразумеваться, что return 0. Нахуя так сделали - без понятия.
Аноним 10/10/20 Суб 20:01:02 1827506947
Аноним 10/10/20 Суб 20:14:28 1827522948
>>1827397

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

Как мне получить численные значения диапазона для данного типа? С шаблонами я могу использовать std::numeric_limits<T>::min/max(). Как мне это сделать в макросах без того, чтобы я везде протаскивал диапазон?

Это самый простой пример из того, что я имею в нашей кодовой базе.
Аноним 10/10/20 Суб 20:39:44 1827532949
Ребят кто в треде, предлагаю поучаствовать в пиксель батле и увековечить с++
Аноним 10/10/20 Суб 21:12:17 1827558950
>>1827532
Пиздуй обратно в свой загон, студентик.
10/10/20 Суб 21:57:44 1827590951
>>1827522
Вот тут шаблоны мощнее. Но когда компилятор поддерживает что-то вроде typeof, то можно получить этот эффект. А вообще, зачем? Наверняка ваш код можно переписать без этого.
Аноним 10/10/20 Суб 22:40:49 1827616952
>>1827590

Как мне из typeof() получить численные значения диапазона (ну да, есть хаки, которые основаны на ~(typeof(T)0 и (T)-1 < 0), но это просто удачно можно задействовать арифметику в данном конкретном смысле). Мы говорим об общем принципе построения кода, который позволяет обойтись без бойлерплейта в каждом из call sites, где применяется шаблонный код.
10/10/20 Суб 22:41:49 1827617953
>>1827616
* в данном конкретном случае, ~(typeof(T)0)
Аноним 10/10/20 Суб 22:43:30 1827618954
>>1827590
>А вообще, зачем? Наверняка ваш код можно переписать без этого.
Следуя этой логике, нужно избавляться от всего лишнего. Вообще любую программу можно написать с помощью только while и if, остальное не нужно.
Аноним 10/10/20 Суб 23:03:32 1827636955
Аноним 10/10/20 Суб 23:25:16 1827655956
>>1827558
Не нравится, спи красавица
Аноним 10/10/20 Суб 23:59:22 1827671957
>>1827489
По линукс-вей, подразумевается что у тебя много маленьких программок, выполняющих простые действия. Они общаются между собой через пайпы (грубо говоря stdout одной подается на stdin другой).
Но кроме этого программа может завершиться с ошибкой. Код ошибки 0 традиционно означает отсутствие ошибки, ну и соответственно, отсутствие return из main подразумевает что твоя программа отработала штатно.
Аноним 11/10/20 Вск 00:04:21 1827674958
>>1827636
Так вот она какая, денува.
Аноним 11/10/20 Вск 07:03:58 1827760959
>>1827671
>пайпы
Они тоже сделаны в ranges на шаблонах, давайте повторите на макросах=)
Аноним 11/10/20 Вск 14:02:10 1827900960
Ну когда уже рабочие модули с концептами завезут
Аноним 11/10/20 Вск 14:39:11 1827920961
Когда перекат? Есть вопрос, который вызывает у меня БОЛЬ - streams и кодировки, но не хочу начинать в тонущем треде
Аноним 11/10/20 Вск 15:16:41 1827944962
>>1827900
>концептами
Да уже можно пользоваться
Аноним 12/10/20 Пнд 00:31:51 1828179963
Молю о помощи.
Как в c++ хранить и делать арифметические операции с большими числами с помощью стандартных библиотек?

Например, сумму всех 10 значных цифр (От 1000000000 до 9999999999)
Аноним 12/10/20 Пнд 01:10:11 1828196964
Аноним 12/10/20 Пнд 01:10:52 1828197965
>>1828179
Через строки, конечно.
Аноним 12/10/20 Пнд 01:27:13 1828202966
>>1828179
Что-то из этого
1. Использовать готовую библиотку для работы с длинными числами.
2. Написать свой инструментарий для работы с длинными числами.
3. Если не требуется производительность, то достаточно примитивного подхода с хранением значений разрядов в виде символов строки.
12/10/20 Пнд 13:26:31 1828439967
>>1827671
Спасибо, капитан. Вопрос был - почему кнопелятор требует объявлять тип main, но не требует вовзарщать значение.
Аноним 12/10/20 Пнд 13:40:05 1828460968
Аноним 12/10/20 Пнд 13:50:52 1828469969
>>1828439
>отсутствие return из main подразумевает что твоя программа отработала штатно.
Аноним 12/10/20 Пнд 14:18:31 1828519970
>>1828469
1. Кто знает, почему такое исключение сделали?
2. Зачем требовать int, если можно сделать еще исключение и разрешить void или ничего?
Аноним 12/10/20 Пнд 16:30:00 1828618971
>>1828519
На сколько я помню там такие варианты.
return 0 - штатное окончание
А иначе код ошибки.
Аноним 12/10/20 Пнд 16:30:46 1828619972
>>1828519
>1. Кто знает, почему такое исключение сделали?
Так получилось ради совместимости с сями, в которым это стандартизировано ради старых долбанутых компиляторов. Конечно это можно было оставить на откуп конкретным имплементациям и сделать это как compiler extension, но Комитет мыслит не идёт простыми путями. Только недавно Корентин Жабо убедил комитет, что не надо создавать своё надмножество Юникода (причина: вдруг появятся новый набор символов не в Юникоде, нужно же нам быть готовыми к такому).
Аноним 12/10/20 Пнд 18:05:16 1828679973
.PNG 186Кб, 614x762
614x762
.PNG 11Кб, 435x119
435x119
Читаю пикрил. Почему автор использует прямую инициализацию? Не лучше ли использовать инициализацию с фигурными скобками?
Аноним 12/10/20 Пнд 21:41:38 1828819974
>>1796909
>Индустрия как сидела на cmake, так и сидит.
CMake тоже говно
Аноним 12/10/20 Пнд 21:49:48 1828825975
>>1828679
Потому что автор еблан. Нормальные люди пишут auto a = type();
Аноним 13/10/20 Втр 11:20:22 1829110976
Анон, который всё пишет про САПРы, название твоей компании случайно не на L начинается?
Аноним 13/10/20 Втр 11:33:06 1829137977
Аноним 13/10/20 Втр 11:53:45 1829146978
7OjoK7NIG50.jpg 174Кб, 1080x1047
1080x1047
>>1829137
Пиздец конечно, решил сменить работу, нашёл просто прекрасную вакансию, но объективно понимаю, что как бы я не знал С++, без всей вузовской математики, которую я естественно проебал на первых курсах, я им нахуй не нужен. До того чё-то стало грустно, аж внутри нехорошо.
Можешь посоветовать, как изучать всё это дело лучше всего?
Аноним 13/10/20 Втр 12:09:40 1829158979
>>1829146
Не знаю, мы математику особо не требуем. Обычно достаточно школьного уровня. Гораздо важнее, чтобы ты умел решать задачи на c++, потому как непосредственно математика - это всего лишь процентов десять из того, что тебе придется писать. Всё уже до тебя написано.
Аноним 13/10/20 Втр 13:23:26 1829215980
>>1829146
Да хотя бы первые курса 2 освой. Не скажу что там трудно. Просто надо быть упёртым.
Аноним 13/10/20 Втр 14:59:06 1829294981
Нахер этот свич нужен, если там только целочисленные типы можно сравнивать?
Аноним 13/10/20 Втр 15:03:44 1829300982
>>1829294
Ну а как по твоему мнению сравнивать типы с точкой?
Аноним 13/10/20 Втр 15:10:15 1829306983
>>1829300
А в чем проблема объясни мне, а то я не понимаю. В if их же можно сравнивать.
Да и при чем тут типы с точкой? А если мне, например, строки нужно сравнить?
Аноним 13/10/20 Втр 16:02:11 1829364984
>>1829306
Проблема в том, что строго сравнивать( через ==) типы с точкой не кошерно, поскольку они могут отличаться на очень маленькое число из-за округлений. Особенно, если они получены разными путями.

Начал гуглить о том как оно работает тут проясняется общая идея
https://www.cyberforum.ru/blogs/18334/blog91.html
Грубо говоря мы преобразуем число в некий адрес и переходим по нему без сравнения со всеми остальными.

>А если мне, например, строки нужно сравнить?
В с11 вроде как завезли. Тут разбор работы.
https://habr.com/ru/post/166201/

Возможно в моих рассуждениях есть ошибки, надеюсь старшие товарищи поправят.
Аноним 13/10/20 Втр 19:40:25 1829511985
Сделал на работе Performance Report по проекту, выступил с презентацией. Все порадовались цифрам и тому, насколько сильно результаты выше, чем у конкурентов.

Но всё равно попросили сделать так, чтоб новая реализация могла работать не только Windows/Linux x64 с привязкой к процессору.
Сейчас оно тоже работает, но в случае несовместимости (другая ось, другая битность, другой процессор) переключается на Fallback-имплементацию, значительно менее производительную.

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

Вот только производительность в этом случае падает в 10 раз, потому что без асма и интринсиков работать с длинной арифметикой невозможно. Ну, то есть, возможно конечно, но это всегда будет значительно медленнее, чем использование асма или интринсиков.

Конечно, круто, что в C++ 20 появился <bit> и теперь не нужно писать десять оберток над popcnt и прочими lzcnt, но вот если бы ещё иметь стандартные способы работы с carry-flag и _mulx_u64, то все заботты бы решились.
Аноним 13/10/20 Втр 23:32:06 1829665986
image 229Кб, 1643x181
1643x181
Привет, анон. Возник вопрос из праздного любопытства: где посмотреть размер динамического массива?
Вроде, как я понимаю, это значение хранится перед первым элементом массива в куче, однако, начинаю смотреть память и в упор не вижу ничего похожего, что я делаю не так?
На пике фиолетовое - как раз объекты в массиве в количестве трёх штук, но что до них, что после - дебажный мусор.
Аноним 13/10/20 Втр 23:37:59 1829671987
>>1829665
>это значение хранится перед первым элементом массива в куче
Не обязательно
Аноним 13/10/20 Втр 23:40:10 1829673988
>>1829665
Возможно глупая идея, но подёргай длину массива, и посмотри на изменяющиеся переменные с помощью чит енджина.
Аноним 13/10/20 Втр 23:42:37 1829677989
>>1829665
Как ты думаешь, почему в векторе размер - это разность указателей? Почему в строке по крайней мере до недавнего времени хранят указатель и размер?
Аноним 13/10/20 Втр 23:50:25 1829680990
>>1829677
Контейнеры всё равно по умолчанию используют std::allocator, который хоть и получает длину в deallocate — в стандартной имплементации это (почти нигде?) не используется.

Из гарантированной пользы только знание того, для скольки объектов вызывать деструкторы.
Аноним 14/10/20 Срд 00:53:00 1829698991
>>1829511
Сделай fallback'и под разные процы, вынести в библиотеки с pure C API
Аноним 14/10/20 Срд 01:48:46 1829713992
>>1829671
Собственно да, порылся еще в вариантах, как это реализуют, понял, что не обязательно
>>1829677
Даже не знаю, какой вывод я должен был по этим двум вопросам сделать? Что зависит от реализации?
>>1829673
Это я сразу пробовал, но нет, не сработало
Аноним 14/10/20 Срд 02:05:07 1829717993
>>1829680
std::allocator - обертка над malloc. malloc это обертка над какой нибудь парашей уровня HeapAlloc или чем-то там линуксовым.

Это все операционкой манажится
Аноним 14/10/20 Срд 02:12:37 1829720994
>>1829717
Вот именно. Но для построения более эффективных кастомных аллокаторов этот size всё же можно использовать, что и предполагается интерфейсом std::allocator.
Аноним 14/10/20 Срд 02:16:04 1829722995
>>1829713
Я прогнал тестик на своей системе, нашёл размер как раз перед первым элементом.
Заглянул в отладчике в delete[], оттуда в free, там увидел чтение как раз этого значение из памяти (с заметной овер-аллокацией)
Аноним 14/10/20 Срд 02:18:48 1829724996
>>1829720
Зачем вообще заниматься аллокаторостроительством, когда уже все построили за тебя?
Аноним 14/10/20 Срд 02:19:10 1829725997
Аноним 14/10/20 Срд 02:26:07 1829726998
Аноним 14/10/20 Срд 02:26:49 1829727999
>>1829724
Так можно про всё что угодно сказать
Аноним 14/10/20 Срд 02:27:43 18297281000
Аноним 14/10/20 Срд 03:35:45 18297361001
>>1829665
Это implementation defined. Так что ищи как это устроено в твоём тулсете. (std::allocator, malloc, calloc, менеджер памяти операционной системы)
Аноним 14/10/20 Срд 03:37:52 18297381002
>>1829724
Для специфических задач. Посмотри например про pmr аллокаторы
Аноним 14/10/20 Срд 03:56:36 18297431003
>>1829738
Я читал про них, честно говоря плохо понимаю, где и когда они могут быть нужны. Идея комбинирования разных аллокаторов в одной программе - странная. Я видел софт, где на старте выделяется 1 кусок в хипе, и далее 0 аллокаций. Я видел софт, где используется кастомный мималлок, я видел софт, где дефолтного new достаточно.

Но вот идейно разные аллокаторы в одном месте я еще не видел. Мож чего-то не понимаю.
Аноним 14/10/20 Срд 07:34:48 18297891004
>>1829724
Оптимизации. Например арена аллокатор - когда выделаяешь память на много маленьких объектов, а потом пристреливаешь всю арену целиком за раз.
>>1829743
Сами по себе они может и не нужны одновременно, зато апи либы можно пилить единым.
Аноним 14/10/20 Срд 10:27:27 18298441005
>>1829713
> Даже не знаю, какой вывод я должен был по этим двум вопросам сделать? Что зависит от реализации?
Что в общем случае размер выделенной памяти тебе нужно запоминать самому.
Аноним 14/10/20 Срд 10:34:21 18298511006
>>1829844
А, так просто. Это более чем понятно, меня просто в какой-то момент зацепила полумагическая реализация delete[], вроде как и использую иногда, а как она понимает сколько именно нужно делитнуть - не знал
Аноним 14/10/20 Срд 13:49:14 18300631007
>>1829851
delete[] почти всегда в плане деаллокации реализован так же, как и delete, ему самому размер нужно знать только для того, чтоб правильно вызватть деструкторы для всех объектов массива.

При этом, если это массив примитивных типов или trivially_destructuble типов, то их деструкторы при delete[] не вызываются и размер массива компилятор больше не заботит. Он даже может начать вызывать operator delete[](void ptr) при наличии operator delete[](void ptr, size_t).

Но тот факт, что размер там всё равно может лежать перед первым элементом — используется как дедаль имплементации malloc-free.

То есть, если ты заоверлоадишь new/delete и new[]/delete[] (включая sized-версию), прибив там везде руками имплементацию, которая НЕ ЗАПИСЫВАЕТ размер перед первым элементом — у тебя delete[] всё равно будет работать, потому что компилятор не может гарантированно знать, что имплементация malloc/free/whatever хранит там размер, он не может на это полагаться, поэтому он дополнительно хранит где-то у себя размер ЕЩЁ РАЗ, чтоб знать, сколько деструкторов вызывать.

Ещё из этого вопроса можно почерпнуть всякое: >>1824807
Аноним 14/10/20 Срд 13:51:58 18300661008
>>1830063
tldr:
1. Вызов delete[] с точки зрения языка должен вызывать деструкторы, так что он всегда знает размер. При этом он всё ещё может аналогично делать это с помощью over-allocation. А может и нет.

2. Имплементация operator delete[] может использовать allocator, производительность или работоспособность которого может зависить от того, известен ли размер. Это отдельный слой и он может быть связан, а может быть и не связан с первым пунктом.
Аноним 14/10/20 Срд 13:59:21 18300731009
>>1829724
Всё — это что?
Ты имеешь ввиду кучи готовых опенсорсных аллокаторов, которые можно без проблем втянуть в свой проект? Если да, то, в принципе, можно согласиться.

Или ты про то, что готовых new-malloc/delete-free должно быть и так достаточно?
Аноним 14/10/20 Срд 14:41:17 18301191010
>>1830073
> Всё — это что?
tcmalloc, jemalloc, mimalloc
Аноним 14/10/20 Срд 16:11:52 18302691011
Посоветуйте либ для разработки приложений на андроид.
Аноним 14/10/20 Срд 18:16:04 18304051012
Аноним 14/10/20 Срд 23:57:19 18307261013
>>1830405
Qt6 актуальнее для новых разработок. Выйдет 1 декабря.
Аноним 15/10/20 Чтв 00:16:37 18307321014
>C++
>100т.р.
>C#
>250т.р.

ну ептваю мать анон что такое
Аноним 15/10/20 Чтв 01:22:02 18307431015
>>1830732
Учи шарп в чем проблема? Он же проще
Аноним 15/10/20 Чтв 01:55:26 18307671016
>>1830732
Если ты вкатыш - то вкатываться в С++ сейчас правда не стоит. Шарп\вебговно\девопс денежнее и проще
15/10/20 Чтв 02:04:39 18307741017
>>1830767
Но мне больше нравится c++, у него столько возможностей, производительность, лучшие программы написаны на нём
Аноним 15/10/20 Чтв 02:07:00 18307791018
Аноним 15/10/20 Чтв 03:55:31 18307961019
>>1830774
Тебя предупредили. Я в свое вкатывался ради именно этого, охуенный язык, можно пердолиться вообще через все, что угодно, скорость. И если бы не nvidia мой потолок был бы унылое говно на С++98 за 80к в моем мухосранске. Сейчас я понимаю, что с точки зрения уютненько пристроить свою жопку - лучше было бы учить любой другой язык, а, в идеале, вообще фронтэнд, ебись он конём
Аноним 15/10/20 Чтв 05:19:26 18308301020
Аноним 15/10/20 Чтв 10:47:56 18309591021
посоветуйте норм компилятор на с++, не требовательный и без лишних вещей, мне бы чисто задания с универа выполнять на нем
Аноним 15/10/20 Чтв 11:00:26 18309671022
>>1830959
На первом курсе хватит и wandbox
Аноним 15/10/20 Чтв 11:01:10 18309681023
>>1830959
Если тебе чистый компилятор нужен то gcc в помощь. Но учти там всё надо делать руками. Не думаю что тебе нужен именно компилятор, скорее ide.
А так visual studio возьми. Можешь взять свежую, можешь 08-ого году, у неё интерфейс более виндовый.
Аноним 15/10/20 Чтв 17:19:10 18313561024
>>1829110
Таки да.
L"Компаниянейм"
Аноним 15/10/20 Чтв 18:06:22 18314011025
Unews20201006la[...].jpg 94Кб, 742x960
742x960
1024 ответа, давайте уже же перекат.
Аноним 15/10/20 Чтв 19:21:23 18314701026
32578945690 (3).jpg 569Кб, 1000x1000
1000x1000
>>1831356
Вот с этого капитулировал
Аноним 15/10/20 Чтв 22:32:44 18315651027
>>1830732
Где вы такое откапываете, я ебал. Живу в центре Гейропки на 6.5к рейхсмарок с 3 годами опыта. Сваливайте из рашки и снг говна как можно раньше, мой вам совет.
Аноним 15/10/20 Чтв 23:08:18 18315781028
>>1831565
>Сваливайте из рашки и снг говна как можно раньше
Я работаю над этим.
Аноним 15/10/20 Чтв 23:19:05 18315821029
Аноним 15/10/20 Чтв 23:27:49 18315881030
Аноним 15/10/20 Чтв 23:56:21 18315971031
Аноним 16/10/20 Птн 00:08:58 18316041032
Аноним 16/10/20 Птн 02:18:15 18316521033
Аноним 31/10/20 Суб 21:46:16 18451541034
Что думаете насчёт обучения за счёт реализации разных классов/функций из STL самостоятельно?
Аноним 01/11/20 Вск 12:14:25 18453611035
>>1845154
Сойдет чтобы набить руку на шаблонах.

Проблема в том, что в реальном проекте ты за пол года можешь ни одного шаблона не написать
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов