Главная Юзердоски Каталог Трекер NSFW Настройки

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

Ответить в тред Ответить в тред
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1640 167 480
С++ thread #139 /cpp/ Аноним 18/10/22 Втр 20:34:13 2491360 1
image.png 87Кб, 1920x1080
1920x1080
image.png 164Кб, 473x510
473x510
image.png 536Кб, 960x540
960x540
Аноним # OP 18/10/22 Втр 20:35:08 2491362 2
С++ thread #139

Сука, как же я обосрался с тегами.
Аноним 18/10/22 Втр 20:49:48 2491377 3
C++ лучше чем шарп и раст вместе взятые.
Аноним 18/10/22 Втр 20:52:40 2491380 4
>>2491362
Переделай, его же потом хрен найдешь. Ну и рано перекатил, неканонично.
Аноним 18/10/22 Втр 20:53:25 2491382 5
>>2491380
Тогда похуй, пусть тонет.
Аноним 18/10/22 Втр 20:56:10 2491385 6
Тут кто-нибудь пишет софт для камер, там лайв стримов? Какими технологиями пользуетесь? Хочется в этом направлении пойти работать, но даже хз что изучать
Аноним 19/10/22 Срд 04:25:49 2491510 7
>>2491210 →
> Нихуя не понятно по коду, где объект, а где ссылка на него
Дерефененсинг никак тебе в этом не помогает, ты можешь это узнать только из типа
но и тебе и не нужно знать, когда ты обращаешься к объекту, находится он под ссылкой, или под указателем

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

> Нельзя одновременно отстаивать идею написания читабельного кода и автодереференсинг в языке.
Тем временем
Читаемые языки: все имеют автодереференсинг и явное копирование

плюсы сюда не входят, в си хоть явно понятно когда ты что копируешь
Аноним 19/10/22 Срд 10:51:40 2491582 8
Пригласили на собес, идти? Ссусь, пиздец. Кажется не справлюсь с работой.
Аноним 19/10/22 Срд 11:21:02 2491589 9
Аноним 19/10/22 Срд 16:13:55 2491752 10
image.png 2687Кб, 1736x2496
1736x2496
>>2491360 (OP)
Лучший тред для лучшего языка сахара над машинным кодом.
Аноним 19/10/22 Срд 16:17:11 2491757 11
А на всех собесах по плюсам ебут разворотами деревьев и прочей алгоритмической херней?
Аноним 19/10/22 Срд 16:36:30 2491783 12
>>2491752
Лол, я по превьюхе подумал, что у неё бейджик участника конференции.
Аноним 19/10/22 Срд 22:06:24 2492324 13
>>2492312
Иди работай, незнайка хуев. Применение языка настолько обширно, что будучи сенькой, ты можешь быть слит ещё на этапе подачи резыме.

Пхи, пхи, мы сейчас ищем узкого специалиста, а у вас не так узко как нам надо.
Аноним 19/10/22 Срд 22:17:36 2492335 14
>>2492327
>$2.5к на ноде в стажёрские/джуновские пару сотен
Чел, 2.5$ это 150к (мидл +/-), а где нода сейчас нужна, так никто и не вспомнит.
Аноним 19/10/22 Срд 22:39:29 2492348 15
>>2492340
>нестжс
Чем глубже кроличья нора, тем сложнее из неё выбраться. Ты бы хотя бы во фронт переобулся (я не про хохлов, хотя вон Путин 195к (~3200$) всем мобилизованным обещал).
Аноним 19/10/22 Срд 22:55:37 2492356 16
>>2492351
Я тебе ответил - иди работай. Сам недавно собесился - в одной конторе сделали оффер в день собеса на около 4к, в другой прислали пхи, пхи сразу после просмотра резюме.

Учить ты можешь всё что угодно и не добиться ничего. Большинство вакансий сейчас это c++14 и qt. Чтобы апнуть 4к и более нужно вовсе не с++ знать.
Аноним 19/10/22 Срд 23:25:22 2492373 17
>>2492351
Если этот твой ГнездоJS для бэка, тогда дрочи многопоток, асинхронность и корутины, чтобы ты сам мог написать похожий фреймворк на c++ (очевидно под Linux и чтоб в докере деплоился). Не прыгай из угла в угол - накапливай экспертизу в уже известной тебе сфере.
Аноним 20/10/22 Чтв 04:26:08 2492486 18
>>2492373
Если ты секретутка, точишь ноготки в ворде, тогда дрочи COM/OLE, чтобы ты сам смог написать подобный мсофис на С++ (очевидно под Linux и чтоб в докере деплоился). Не прыгай из угла в угол - накапливай экспертизу в уже известной тебе сфере.
Аноним 20/10/22 Чтв 05:00:41 2492487 19
>>2492486
Лучшие девочки двача выбирают #Дотнеткоре (VSCode и Docker).

>в прогерство с сишки начинал вкатываться
А вот эти вот все попёрдывая кряхтят про OLE/COM/ATL/WTL , GUID, CLSID, IUknown, CoClass, marshalling и regsvr32 huita.dll.
Хоспаде, какое же говнищще это было. Даже хуже, чем нода.
Аноним 20/10/22 Чтв 06:42:44 2492490 20
>>2492312
>Учить Qt? Многопоток? Шаблоны?
Ну да. А еще boost и библиотеке в сфере, в которой ты будешь специализироваться.
Аноним 20/10/22 Чтв 22:27:34 2493164 21
Вопрос к знающим,ибо у себя в учебнике не нашел.
Создаю новый обьект класса путём = присваивания. В классе динамически выделяется память new, ну я как в школе учат в диструктор ебанул delete.
Теперь после присваивания одного обьекта другому выскакивает ошибка рантайма double free(). Ну я так понял, что диструктор два раза вызывается.
Как исправить?
Аноним 20/10/22 Чтв 22:29:13 2493165 22
Аноним 20/10/22 Чтв 22:46:40 2493234 23
>>2493168
>зло
Нет, обычная операция.

>насколько сильный оверхед
Нулевой. Это проверка времени компиляции, а не рантайма.
Аноним 20/10/22 Чтв 22:55:03 2493300 24
Погуглил как писали/пишут код для ядерных ракет. Оказалось, что никаких йоба технологий там нет. На одной из ракет, чтобы не ебаться с кодом и решить проблему переполнения стека, просто посчитали время полета и напаяли столько физической памяти, чтобы к концу полета стек заполнял практически всю память.
Ебало мое представили?
20/10/22 Чтв 23:00:42 2493348 25
>>2493327
Скорейшей смерти твоему коту и твоей шлюхе-мамаше.
Аноним 20/10/22 Чтв 23:07:17 2493383 26
>>2493300
Я давно заметил, что всякой научной хуйнёй с программированием занимаются в основном те, кто больше математики, чем программисты. Они сначала пишут на бумажке математическое решение, а потом переводят его в лютый говнокод, выглядящий как лаба первокурсника с проёбанным форматированием, копипастой, однобуквенными переменными и без комментов, но в масштабе. У датасаентистов та же болезнь.
Аноним 20/10/22 Чтв 23:08:27 2493384 27
>>2493165
Кажется сам нашел в чем проблема.

Вопрос только появился один.
Я же правильно понимаю, что компилятор может пропустить мой конструктор присваивания(решит что хуйня он не оптимальная)
и запустить конструктор копирования ?
Аноним 20/10/22 Чтв 23:10:11 2493386 28
>>2493327
Блять он снова сейчас засрёт все доски....
Аноним 20/10/22 Чтв 23:12:29 2493388 29
>>2493386
Чем меньше ему донатят - тем чаще он срёт. В последнее время срёт не переставая, видать анон поумнел.
Аноним 20/10/22 Чтв 23:14:47 2493391 30
>>2493327
Ты нахуя кота на авито продаешь? Когда он уже умрет?
Аноним 20/10/22 Чтв 23:24:59 2493399 31
Аноним 21/10/22 Птн 03:17:48 2493456 32
изображение.png 11Кб, 527x178
527x178
Вопрос о специализации шаблона функции

Вот у меня есть шаблон функций

И его специализации под разные типы (нужно так как в зависимости от типа там разное поведение)

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

То есть сейчас я там внутри пишу Test1 t. Но это дублирование, ведь я же указал этот тип в Foo<Test1>. Короче, из-за этого ошибки, когда я после копипаста тела забывают поменять тип

Хотелось бы как-то так:
T t1;


Пока что спасся через using
using Test1 T;
Чтобы внутри тела не писать сто раз этот тип, но есть какое-то другое решение?
Аноним 21/10/22 Птн 07:15:30 2493468 33
Схуяли запрещены частичные специализации функций?
Аноним 21/10/22 Птн 08:33:31 2493497 34
решал тут cppquiz и не понял один момент.. даже с подсказками.

int y(int &) { return 1; }
int y(int &&) { return 2; }
template <class T> int f(T &&x) { return y(x); }

int i = 10;
std::cout << f(i) << f(20);

На выходе получаю 11, чому шаблон итерпретирует вызов f(20) как вызов метода с аргументом lvalue ссылки?
Аноним 21/10/22 Птн 09:17:46 2493512 35
>>2493300
>и напаяли столько физической памяти
Байка. Столько памяти на ядерных ракетах не будет, там древние технологии.
Аноним 21/10/22 Птн 10:42:20 2493560 36
>>2493497
Потому что после того как ты попал в f, T &&x - уже становится l_value
Чтобы оно стало r_value ты должен его смувать снова, то есть
template <class T> int f(T &&x) { return y(std::move(x)); } // выводит 22
Но так как у тебя T &&x - universal referense, чтобы мувалось только r_value тебе надо использовать std::forward()
template <class T> int f(T &&x) { return y(std::forward<T>(x)); } // выводит 12
Аноним 21/10/22 Птн 10:43:04 2493561 37
>>2491360 (OP)
Привет, погромисты.
Есть один опенсорс на c++ и qt. Хочу добавить в него свой функционал (типа эдит-бокса в котором пишут +тег и -тег, вместо тыканья в чек-боксы, как реализовано сейчас).
Я не программист, но и не совсем нуб. Начал читать Липпмана введение С++. Каковы мои шансы? Куда копать, чтоб реализовать эту штуку?
Аноним 21/10/22 Птн 11:18:41 2493592 38
>>2493561
Пробуй сначала собрать проект. Если не получится, шансов ноль.
Аноним 21/10/22 Птн 13:18:24 2493893 39
Аноним 21/10/22 Птн 16:16:49 2494240 40
изображение.png 73Кб, 518x619
518x619
Аноны, поясните за condition_variable
Вот пример с двумя тредами.

В 14 строке поток1 оповещает поток2 и происходит разблокировка мьютекса.

Затем в 19 строчке мьютекс лочится в потоке2.
И в wait происходит проверка на "случайное пробуждение".
И если лямбда вернёт false, то мьютекс разлочится, поток снова уснёт.
Если true, мьютекс залочится (точнее, по идее, состояние мьютекса меняться не будет, он ведь был залочен до wait) и идёт дальнейшее выполнение с выводов в консоль.

Если бы в данном примере было 3 потока, то при notify_one выполнился бы какой-то случайный из них (2 или 3)?
А если notify_all, то как? Последовательно 2, а потом 3?

Вообще не очень понятно зачем тут cv, одного мьютекса бы просто хватило?
Аноним 21/10/22 Птн 16:29:27 2494252 41
>>2493468
Скорее всего из-за совместимости с сисечкой.
Аноним 21/10/22 Птн 16:32:38 2494256 42
>>2491360 (OP)
Как корутину из C++20 разместить на стеке без new?
Аноним 21/10/22 Птн 16:34:23 2494258 43
>>2491360 (OP)
Есть ли литература по современной чистой няшной сишке стандарта C17? Или, после появления плюсов, C == C89?
Аноним 21/10/22 Птн 16:48:50 2494331 44
>>2494258
Туда 5 фич добавили, зачем тебе отдельная книга по C17? Такую впрочем можно нагуглить "C23 draft"
Аноним 21/10/22 Птн 16:59:32 2494396 45
>>2494240
>то при notify_one выполнился бы какой-то случайный
да, хотя ос может делать мультикасты и пробуждать сразу несколько (для этого и нужна проверка).

>при notify_all
Выполнятся все. Порядок случайный и зависит от того, в какой последовательности они получат общий mutex m (хотя могут и на разных мьютексах сидеть, тогда вообще параллельно).

>зачем тут cv, одного мьютекса бы просто хватило?
Если убрать cv, то нужен цикл, который постоянно крутится и захватывает mutex + проверяет codition - это кушает процессорное время. А так он спит и ничего не кушает.
Аноним 21/10/22 Птн 17:11:42 2494491 46
>>2494396
>Если убрать cv, то нужен цикл, который постоянно крутится и захватывает mutex + проверяет codition - это кушает процессорное время. А так он спит и ничего не кушает.

А разве это не похоже на такую ситуацию: один поток записал данные в структуру данных, а второй хочет прочитать?
И там и там для защиты используется мьютекс.
Аноним 21/10/22 Птн 17:45:05 2494522 47
>>2494491
Ну так читающий поток может запросить данные ещё до того как пишущий вообще запустился. Данных нет и неизвестно когда будут. Что ему делать? Держать mutex он не может, иначе записать нельзя, продолжать работу без данных тоже не может. Только крутиться в цикле и ждать данные? периодически хватая mutex.
Аноним 21/10/22 Птн 17:50:00 2494527 48
>>2494522
Ну теперь вроде стало понятнее, ключевое тут это некое условие в wait.
А как это работает если внутри wait будет false, то дальше исполнение кода не пойдёт? Т.е в том примере выше на 20 строке поток прервётся и будет выполняться другой?
Аноним 21/10/22 Птн 18:02:51 2494541 49
>>2494527
Когда поток получает сигнал от ОС о пробуждении он сначала захватывает mutex, потом под ним проверяет условие. Если true, то выполняется код после wait (потом нужно mutex разлочить руками m.unlock()). Если false, то код после не выполняется, mutex отпускается и поток засыпает до следующего сигнала от ОС. С новым сигналом всё повторяется заново.

Ну то есть это бесконечное ожидание в точке wait до тех пор, пока условие не true.
Аноним 21/10/22 Птн 18:17:41 2494549 50
изображение.png 101Кб, 768x746
768x746
>>2494541
Спасибо, анон

Вот в этом примере вывод был такой:
Waiting...
Notifying falsely...
Notifying true change...
...finished waiting; i == 1

Я сначала подумал из-за того тред2 спит 200мс, то выполнился тред1, но после notify_one в 25 строчке он не вызвался снова.
Т.е. не было "Waiting..." ещё раз.
Какая тут могла быть логика исполнения?
Аноним 21/10/22 Птн 19:15:24 2494579 51
>>2494549
Первый поток запускается, пишет "Waiting...", потом ждёт в cv.wait(), затем выполняет оставшийся код (пишет "finished waiting") и завершается. В 15 строчку он уже в принципе не может вернуться.
Аноним 21/10/22 Птн 19:18:42 2494581 52
>>2494549
>>2494579
Ну то есть wait это стояние на месте, а не возврат к 14 строчке.
Аноним 21/10/22 Птн 19:20:47 2494583 53
>>2494579
>затем выполняет оставшийся код (пишет "finished waiting") и завершается.

Как? Если в этот момент i равен нулю
Аноним 21/10/22 Птн 19:41:22 2494595 54
>>2494583
В 29 строчке стоит i = 1, а в 34 notify_one(). После выполнения 34 поток 1 получает сигнал к пробуждению. Он видит, что i == 1 и выполняет оставшиеся строки.
Аноним 21/10/22 Птн 19:44:05 2494599 55
>>2494595
А в 25 было фейковое пробуждение. Почему после него не было ничего сделано в потоке1?
Аноним 21/10/22 Птн 19:49:28 2494604 56
>>2494331
>Туда 5 фич добавили
Из там несколько десятков основных
Аноним 21/10/22 Птн 19:54:25 2494610 57
>>2494599
А что он должен делать, если данные не готовы (условие готовности лямбда == false)?

Поток 1
- проснулся
- захватил mutex
- выполнил лямбду
- заснул
Аноним 21/10/22 Птн 19:58:25 2494614 58
>>2494610
Запустился поток1
Чекнул wait, условие не выполнилось, заснул.
Поток2 сделал notify_one
Поток1 чекнул wait, условие не выполнилось, заснул.
Дальше продолжился выполняться поток2
Там снова notify
Поток1 чекнул wait, условие выполнилось, выполняет код дальше.

Не так?
Аноним 21/10/22 Птн 20:09:09 2494626 59
Аноним 21/10/22 Птн 20:12:18 2494630 60
>>2494626
Тогда почему вывод иной?
Аноним 21/10/22 Птн 20:21:42 2494645 61
>>2494630
Какой иной ( >>2494549 )?

Запустился поток1
>Waiting...
Поток2 сделал notify_one
>Notifying falsely...
Там снова notify
>Notifying true change...
Поток1 чекнул wait, условие выполнилось, выполняет код дальше.
>...finished waiting; i == 1
Аноним 21/10/22 Птн 20:24:25 2494647 62
>>2494645
>Поток2 сделал notify_one
>>Notifying falsely...
Меня этот момент и интересует.
Почему после первого notify ничего не произошло?
Аноним 21/10/22 Птн 20:32:56 2494654 63
>>2494647
Потому что так работает wait - если false, то ничего не делай и жди дальше.
Аноним 21/10/22 Птн 20:35:17 2494656 64
>>2494654
>то ничего не делай и жди дальше.
Но там до wait, вывод в консоль.
Notify два раза, а Waiting... только один
Аноним 21/10/22 Птн 21:27:31 2494684 65
>>2494656
Каждый раз, когда во 2 потоке происходит notify, поток 1 пытается продолжить выполнение с 16 строки и до конца. А "Waiting..." у тебя стоит ранее на 15 строка. Ты хоть 100 раз кинь notify, но в 15 строку не попадёшь. Только один раз при старте потока 1.
Аноним 21/10/22 Птн 21:36:45 2494691 66
>>2494684
Во, теперь понятнее стало.
Никак не привыкну к параллелизму
Аноним 21/10/22 Птн 21:37:21 2494692 67
>>2494331
>>2494604
Тогда что прочитать после (или вместо) классического The C programming language, что бы выучить современную сишку, не затонув в дебрях спецификаций?
> C23 draft
Сложна, я же только вкатываюсь
Аноним 21/10/22 Птн 21:44:27 2494693 68
>>2494692
Почитай авторов языка, там вроде C99
А есть есть книжка про С11, дейтел вроде
В целом, этого достаточно
Аноним 21/10/22 Птн 21:57:06 2494696 69
>>2494258
Сишка идёт нахуй.
> после появления плюсов, C == C89
Да.
Аноним 21/10/22 Птн 22:26:02 2494706 70
С > С++
Аноним 21/10/22 Птн 22:44:02 2494708 71
Аноним 22/10/22 Суб 00:27:42 2494736 72
Аноны, делаю 3д редактор для ландшафта.
Встала задача: как хранить пользовательские настройки?

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

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

В общем, как сделать класс словаря с классным интерфейсом?
Аноним 22/10/22 Суб 00:40:38 2494748 73
>>2494736
Очевидно, что хранить надо в реестре Windows.
Аноним 22/10/22 Суб 02:16:58 2494772 74
Аноним 22/10/22 Суб 10:49:42 2495066 75
images.jpg 5Кб, 208x242
208x242
Аноним 22/10/22 Суб 11:37:53 2495082 76
>>2491582
Сходил, вроде норм прошло. Посмотрим, что ответят
Аноним 22/10/22 Суб 13:31:52 2495170 77
Получается при выходе из скоупа вызываются деструкторы всех объектов, созданных в скоупе. А сишка получается быстрее, потому что никаких деструкторов не вызывает, а сразу берет из регистра адрес начала стека верхнего скоупа и прыгает туда.
Аноним 22/10/22 Суб 14:11:04 2495189 78
>>2494692
Читай K&R потом C23 draft, он не сложный, с чего ты взял? Ну если и будут проблемы, загугли статьи по какой то фиче.
22/10/22 Суб 18:00:35 2495453 79
>>2495170
> Получается при выходе из скоупа вызываются деструкторы всех объектов, созданных в скоупе.
Только объектов, созданных на стеке.
> А сишка получается быстрее, потому что никаких деструкторов не вызывает, а сразу берет из регистра адрес начала стека верхнего скоупа и прыгает туда.
А в сишке ты сначала вызываешь вручную десяток free(), close(), release(), finalize(), destroy() и получаешь ровно те же тормоза. Забыл что-то вызвать - получаешь утечку ресурсов.
Аноним 22/10/22 Суб 18:56:02 2495528 80
>>2495453
Ну вот на стеке создается объект, и не важно есть в нем указатели на внешнюю память или нет, в любом случае будет вызван деструктор, или компилятор все это оптимизирует?
Аноним 22/10/22 Суб 19:05:57 2495540 81
>>2495528
Оптимизация тут не при чём. Гарантируется, что если ты создал объект в стеке текущего скоупа, то при уничтожении скоупа будет вызван деструктор и память освободится. Если у тебя объектом является сам указатель, то он будет уничтожен, а данные, на которые он указывает, так и останутся, если у тебя не unique_ptr или другой умный указатель (а они уничтожают объекты логикой в своих деструкторах).
Аноним 23/10/22 Вск 01:27:03 2495956 82
>>2491360 (OP)
Аноны, как подключить сторонюю библиотеку к моему проекту?
Вот я скачал архив, распаковал его, закинул в папку с моим helloworld.cpp. Написал #include <huipizda.h>, а оно всё равно не билдится почему то.
Аноним 23/10/22 Вск 01:35:33 2495958 83
>>2495956
> Написал #include <huipizda.h>
Это не достаточно, надо указать компилятору в include path пусть к папке с хедерами, в в library path - путь к папке с DLL-ками.
Аноним 23/10/22 Вск 11:05:28 2496052 84
Есть стандартный алгоритм поиска одинаковых последовательностей байтов? Например 03 5E 7F 99 31 42 03 5E 7F. Чтобы находил произвольные последовательности, а не известные заранее.
Аноним 23/10/22 Вск 11:24:10 2496062 85
>>2496052
Как-то очень расплывчато.
Допустим можно отсортировать массив и получить в нём последовательности повторяющихся элементов (запомнив их старые позиции). Таким образом мы получили повторы из 1 элемента. Далее смотрим каждую такую группу в отдельности - сортируем её по элементу из позиции, следующей за исходным - получаем повторы по 2. И так далее редуцируем группы, добавляя по 1 элементу в хвост.
Аноним 23/10/22 Вск 11:46:27 2496077 86
>>2496062
Я могу и сам написать алгоритм, но это же время на отладку. Вопрос есть ли он в стандартных либах или бусте где то.
Аноним 23/10/22 Вск 16:44:25 2496301 87
Вакансий нет, что вы тут делаете? Зачем?
Аноним 23/10/22 Вск 16:50:31 2496303 88
Аноним 23/10/22 Вск 20:06:16 2496756 89
>>2496301
Че? Нахер мне вакансии, Я всегда для себя программирую.
Аноним 23/10/22 Вск 21:34:40 2496807 90
>>2496301
Естественно нет, потому что бизьнесу нужно унылое говно вроде однотипных сикуэл запросов и красивых формочек ввода.
Аноним 23/10/22 Вск 23:04:32 2496849 91
Аноны, есть один проект на гитхабе, хочется туда запулить изменения (помочь комунити так сказать) в виде замены функционала буста на то, что есть в языке.
Это не полностью избавит проект от буста, но немного уменьшит его в коде.
Это как-то может положительно сказаться, например, на сборке проекта?
Аноним 23/10/22 Вск 23:38:20 2496889 92
>>2496849
А ты интересовался, по каким причинам в проекте используют буст? Там тоже не дураки сидят и вполне могли решить, что в бусте определённые алгоритмы реализованы эффективнее, чем в стандартной библиотеке. Да на сборке проекта скажется положительно, но легко может сказаться отрицательно на функциональности.
Аноним 23/10/22 Вск 23:55:58 2496900 93
>>2496889
Там несколько классов из 17 стандарта используется.
Разработка идёт под шиндой, видимо, когда их добавили студия не поддерживала полностью 17 стандарт либо разработчик работал на старой версии.
Аноним 24/10/22 Пнд 02:29:46 2496961 94
>>2496849
Ты чо совсем ебнутый?
Аноним 24/10/22 Пнд 05:32:26 2496996 95
>>2496900
Работает - не трогай!
Аноним 24/10/22 Пнд 06:56:08 2497004 96
Жабодебилы, чем так плох HotReload по сравнению со ЩВИТЫМ JVM® HOTSWAP™®©. Просто разобраться хочицца.
Аноним 24/10/22 Пнд 07:46:21 2497010 97
image.png 127Кб, 300x252
300x252
Аноним 24/10/22 Пнд 08:01:25 2497014 98
Почему бы вам всем не перейти писать код на жабу? У нас есть виртуальная машина и ООП.
Аноним 24/10/22 Пнд 09:42:53 2497029 99
>>2497014
Толсто, писать на джаве сейчас это как писать на c++ 98
Аноним 24/10/22 Пнд 10:48:29 2497058 100
И так господа. Надо переползать с вижуал студии не что-то другое. Вопрос - на что? В студии нравилось две вещи - не надо особо ебаться с системой сборки и самое главное - удобный отладчик.
Если с системой сборки ещё можно играться (новые заголовки добавляем не часто) То вот с удобный отладчик необходим.
Аноним 24/10/22 Пнд 10:52:55 2497062 101
>>2497058
>Вопрос - на что?
nvim/emacs + gcc/clang + cmake/mason + gdb/lldb
>То вот с удобный отладчик необходим.
GDB
Аноним 24/10/22 Пнд 10:55:29 2497066 102
>>2497058
> Надо переползать с вижуал студии не что-то другое.
Не надо.
Аноним 24/10/22 Пнд 11:00:18 2497068 103
Чем отличается с++ и visual c++
Аноним 24/10/22 Пнд 11:03:23 2497070 104
Аноним 24/10/22 Пнд 13:54:31 2497155 105
>>2497068
Первое язык, второе программа
Аноним 24/10/22 Пнд 14:53:59 2497196 106
>>2497155
Под вторым иногда подразумевают Managed C++ или COM. Будем надеяться на лучшее.
Аноним 24/10/22 Пнд 17:02:29 2497275 107
Хочу попробовать перекатиться в плюсы, какие вещи можно поделать на плюсах на маке для ознакомления и тренировки?
Аноним 24/10/22 Пнд 17:08:39 2497279 108
>>2497275
>какие вещи можно поделать на плюсах на маке для ознакомления и тренировки?
Такие же как и на других ЯП? Здесь ты ограничен только фантазией и своими ресурсами.
Аноним 24/10/22 Пнд 17:48:12 2497304 109
Аноним 24/10/22 Пнд 17:52:08 2497309 110
>>2497279
ну типа фронт пилить на плюсах - идиотизм (мб разве только пробовать свой движок браузера написать, но это наверное слишком сильный размах)
мобилки тоже лесом
стандартный бек с крудами тоже мимо

я хотел мб на анриале попробовать пописать, но на обычном м1 производительность компилируемых демок страдает + по отзывам анриал и юнити (хотя это уже шарп) не оч кайфово идут под силиконом

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

поэтому и спросил какие есть варианты, поправьте если где-то проебался
24/10/22 Пнд 17:59:42 2497315 111
>>2497309
Если хотел с анрилом побаловаться, то попробуй написать 3д игру на своем движке.
Аноним 24/10/22 Пнд 19:04:49 2497360 112
Аноним 24/10/22 Пнд 19:07:10 2497363 113
1640584967409.jpg 131Кб, 598x598
598x598
>>2496889
>Там тоже не дураки сидят
>Разработка идёт под шиндой
Аноним 24/10/22 Пнд 19:10:29 2497366 114
>>2497309
>фронт пилить на плюсах - идиотизм
Сейчас как легко для такого, есть emscripten, есть wasm, для бэкенда тоже пишут CMSки, форумы.
Аноним 24/10/22 Пнд 19:31:52 2497377 115
>>2497363
Проект старый, ему уже 10+ лет точно
Аноним 24/10/22 Пнд 22:11:36 2497457 116
Как изучать вашу стандартную библиотеку?
Я внезапно столкнулся с тем, что для unordered_set в библиотеке нет простейших операций типа пересечения и объединения, а для set они выглядят пиздец уродливо. Я сам питонист. Так вот, я чувствую, что не понимаю идеи, которая за всем этим стоит, с пониманием которой все эти контейнеры-итераторы станут сразу простыми и очевидными, и можно будет не лазить на cppreference.
Аноним 24/10/22 Пнд 22:41:08 2497470 117
>>2497457
Тут дело в уебанском названии. unordered_xxx это не xxx. uordered_xxx контейнеры это хэш таблицы hash_xxx.

Set или map внутри это бинарные сбалансированные деревья поиска (поиск, вставка элемента делается за O(logN))
https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0

Unordered_set это хэш таблица (поиск, вставка элемента делается за константу O(1)).
https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0
Аноним 24/10/22 Пнд 22:52:11 2497478 118
>>2497309
>ну типа фронт пилить на плюсах - идиотизм
У фигмы фронт на плюсах лол.
Аноним 24/10/22 Пнд 22:54:39 2497481 119
>>2497309
>я хотел мб на анриале попробовать пописать
Не советую, там очень больно с плюсами работать к тому же там свой мирок, где все делается не так как вне анрила.
Аноним 25/10/22 Втр 02:23:29 2497552 120
>>2497058
>господа
я - бич
бичара
так чтож ничего не буду тебе отвечать
Аноним 25/10/22 Втр 11:25:39 2497637 121
А нах вообще нужны умные указатели? Это медленная хуйня, покажите мне где без них не обойтись.
Аноним 25/10/22 Втр 11:25:47 2497638 122
А нах вообще нужны умные указатели? Это медленная хуйня, покажите мне где без них не обойтись.
Аноним 25/10/22 Втр 11:43:32 2497647 123
>>2497637
> Это медленная хуйня
Нет.
Аноним 25/10/22 Втр 11:47:53 2497652 124
>>2497637
Юник поинтеры медленнее только при создании и удалении.
Аноним 25/10/22 Втр 11:55:56 2497656 125
>>2497637
>А нах вообще нужны умные указатели?
Чтобы автоматизировать мемори менеджмент.

>Это медленная хуйня
Смотря какие.

>покажите мне где без них не обойтись
В многопоточке, например.
Аноним 25/10/22 Втр 12:25:46 2497669 126
>>2497637
Можно обойтись, если ты точно знаешь время жизни объекта.
Аноним 25/10/22 Втр 15:21:45 2497802 127
>>2497656
>В многопоточке
Это я и сам знаю.
А кроме как в многопоточке еще где?
Аноним 25/10/22 Втр 15:23:37 2497805 128
>>2497669
Ну вот допустим есть класс, в котором есть обычный указатель.
Я выделяю new в конструкторе и удаляю delete в деструкторе. В чем сука смысл? Компилятор сам определяет где вставить вызов деструктора, а иначе бы приходилось его вручную вызывать.
Аноним 25/10/22 Втр 18:06:46 2497953 129
>>2497805
Потому что если ты делаешь не laba2 в вакууме, то ты этот указатель скорее всего куда-то передаешь, например в другую функцию или класс. А там этот указатель могут сохранить в переменную или поле. И вот ты у себя уже сделал delete, а тот код продолжает обращаться к удаленному месту (use after free) или вообще лезет теперь в память чужого объекта. Если ты пишешь web-браузер, теперь хакеры могут воровать так кредитки и пароли. Ты можешь сказать - ПРОСТО не обращайтесь к уже удаленному. Так вот механизм подсчета ссылок это и есть простейший способ контролировать, а не надеяться что кто-то правильно понял архитектуру.
Аноним 25/10/22 Втр 18:32:54 2497971 130
image.png 93Кб, 788x805
788x805
помогите пожалуйста, делаю лабу . Я сам джаваскриптир, и охеуваю от ваших приколов с с++
Аноним 25/10/22 Втр 18:46:12 2497985 131
>>2497971
а все я разобрался. С++ запутанный ужас
Аноним 25/10/22 Втр 18:53:21 2497987 132
>>2497971
А там ведь даже подчеркнуто.
Аноним 26/10/22 Срд 00:53:05 2498215 133
Аноним 26/10/22 Срд 00:56:52 2498217 134
Челиславы, я знаю вы тут шарите за модные технологии, на чем там пилите гуятину для юниксов? Не обязательно си-си плюс-плюс
Аноним 26/10/22 Срд 01:16:26 2498223 135
Аноним 26/10/22 Срд 01:18:27 2498225 136
>>2498215
Так гордишься тем, что установил убунту/арч и теперь нитакой как все? Промолчать же ты не смог.
Аноним 26/10/22 Срд 03:28:41 2498273 137
Есть функция
template< typename T1, typename T2 >
auto foo(T1 a, T2 b)
{
return a + b;
}

Какой будет тип auto, если вызвать foo<int, double>? int или double?
Аноним 26/10/22 Срд 06:38:43 2498289 138
Аноним 26/10/22 Срд 09:24:23 2498325 139
Спрошу здесь ещё. Можно ли вообще через MessageBox на C++ выводить переменные, а не простой текст? Пытаюсь вывести массив - вылезает E0304.
Аноним 26/10/22 Срд 09:35:14 2498328 140
>>2498325
int hui = 1;
std::string huistr = std::to_string(hui);
MessageBoxA(NULL, huistr.c_str(), "HUI", MB_OK);
Аноним 26/10/22 Срд 09:52:00 2498340 141
image 2710Кб, 3075x1242
3075x1242
>>2498328
Это в CLR (WindowsForms), если что.
Аноним 26/10/22 Срд 10:07:16 2498344 142
>>2498340
Это не кресты, урод.
Аноним 26/10/22 Срд 10:09:15 2498346 143
>>2498344
А что это? Не трясись.
Аноним 26/10/22 Срд 10:14:59 2498348 144
image 2748Кб, 2795x1066
2795x1066
Аноним 26/10/22 Срд 11:41:35 2498398 145
>>2498225
Микрочел, я вовсе не хотел задеть твои хрупкие пендузятные чувства, чего ты так нагрелся?
Ты наверное вообще сейчас охренеешь когда я тебе скажу что я и виндой дома пользуюсь, и юниксами для мака и на работе. Для каждой задачи - наиболее удобный инструмент. Человек прямоходящий просто сделал замечание, вам, ползающим на спине тараканам, что вообще то нормальные люди этим не занимаются. Как минимум нужно было задуматься: а вдруг он прав? Но да, промолчать ты не смог
Аноним 26/10/22 Срд 13:08:24 2498451 146
Аноним 26/10/22 Срд 13:10:24 2498452 147
>>2498346
Это мертвое экспериментальное говно C++/CLI, форк плюсов от M$, который уже не плюсы по факту, но ещё не стал шарпом.
Аноним 26/10/22 Срд 17:00:40 2498803 148
Салют!

Вопрос: В файле с расширением .h определяется класс, который уже был определён раньше, в других хедерах. Зачем это делается? Теперь , когда я пытаюсь получить ссылочный доступ(->) к функциям экземпляра класса, я получаю в еблет "member access into incomplete type 'blabla' ".
Аноним 26/10/22 Срд 20:15:48 2499076 149
Неявная конверсия bool в int паливо или ок?
Аноним 26/10/22 Срд 20:35:03 2499089 150
>>2498803
Ты точно ничего не путаешь? Картинки хоть покажи.

> файле с расширением .h определяется класс
Это порочная практика, в .h пишут только объявления, но не определения (если речь не о шаблонном классе).

>который уже был определён раньше, в других хедерах
Когда программа состоит из более, чем одного файла, нет таких понятий как "раньше/позже", есть область видимости (scope).
Компилятор компилировает в ему одному известном порядке. Не стоит делать никаких предположений определен класс в некоторый момент компиляции или пока еще нет.

>member access into incomplete type 'blabla'
incomplete type это когда имя класса (объявление) компилятор видит, а определения нет.
Аноним 26/10/22 Срд 20:51:35 2499100 151
Что в голове у тех, кто экономит память? Ну вот сделали вектор бул хитровыебанным, чтобы сэкономить на спичках, и что в итоге? Никто им не пользуется и Стив Майерс говорит, чтоб это говно не трогали.










ну
Аноним 26/10/22 Срд 21:34:29 2499123 152
мда, тредик умер нахуй
видимо, все, работа на с++ окончательно загнулась в россии
Аноним 26/10/22 Срд 21:52:01 2499133 153
>>2499100
в 90е когда проектировали stl, у богатого игрового пека было 16 мбайт оперативы, но было много компов где оперативы было меньше, windows 95 спокойно работала в системах с 8 мбайт оперативы
Аноним 26/10/22 Срд 22:37:30 2499147 154
>>2499100
Это общепризнанный фейл крестов. Отменить боятся, как обычно.
Аноним 26/10/22 Срд 22:44:22 2499152 155
>>2499147
А по моему это просто мода и ничего больше.

Несколько лет назад все только и говорили:
не с чего ходить - ходи с бубей вектор;
семь раз отмерь, один вектор;
вектор рубль бережет;
в Тулу со своим вектором не ездят;
и тд и тп.
Аноним 27/10/22 Чтв 00:45:15 2499224 156
Изобретать свои единственные и неповторимые велоэксепшны или не ебать мозг и просто отпочковаться от std::exception?
Аноним 27/10/22 Чтв 00:49:54 2499227 157
>>2499224
Нет. Правильный ответ -fno-exceptions
Аноним 27/10/22 Чтв 01:04:05 2499231 158
>>2499227
страуструпу пришлось ввести в язык механизм исключений потому что иначе никак было не вернуть ошибку из конструкторов и перегруженых операторов
отказ от использования исключений в создаваемой библиотеке ведет к некрасивым архитектурным решениям, в частности приходиться использовать подходы двойной инициализации объекта класса, приходиться отказываться от перегрузки операторов заменяя их аналогичными по функционалу функциями-членами
поэтому не стоит быть столь категоричным
да, в некоторых проектах приходиться по некоторым причинам отказываться от исключений, но во многих проектах можно их прекрасно использовать, делая код гораздо лаконичней, компактней и красивей
Аноним 27/10/22 Чтв 01:25:16 2499236 159
>>2499231
> двойной инициализации объекта класса
Нормальное решение, ничего некрасивого.
А перегрузка ухудшает читаемость.
Аноним 27/10/22 Чтв 08:17:02 2499280 160
Господа, у меня вопрос.

Предположим у меня есть переменная

uint16_t size = 65535;

Какого типа будет выражение size + 1 ?

Не вызовет ли проблем выделение памяти таким образом

char* ptr = new char[size + 1]; ?

Я попробовал, вроде памяти выделяется сколько надо и всё работает, но хотелось бы полной ясности.
Аноним 27/10/22 Чтв 08:27:33 2499282 161
>>2499089
>
>
>> файле с расширением .h определяется класс
>Это порочная практика, в .h пишут только объявления, но не определения (если речь не о шаблонном классе).
>
>>который уже был определён раньше, в других хедерах
>Когда программа состоит из более, чем одного файла, нет таких понятий как "раньше/позже", есть область видимости (scope).
>Компилятор компилировает в ему одному известном порядке. Не стоит делать никаких предположений определен класс в некоторый момент компиляции или пока еще нет.
https://apc.u-paris.fr/~franco/g4doxy/html/G4LivermorePhotoElectricModel_8hh-source.html
Аноним 27/10/22 Чтв 08:44:55 2499287 162
>>2499280
Если int 16 бит, то unsigned, результат 0.
Если 17, то int, результат наибольшее отрицательное или еще что.
Иначе int == 65536.
Аноним 27/10/22 Чтв 08:50:24 2499288 163
>>2499287
То есть это зависит от настроек компилятора? и выражение size + 1 имеет тип int?
Аноним 27/10/22 Чтв 09:01:21 2499292 164
Аноним 27/10/22 Чтв 11:42:16 2499423 165
>>2499288
То есть зависит от компьютера. И вообще, переполнение целого в плюсах это IB.
Аноним 27/10/22 Чтв 12:21:46 2499450 166
type.jpg 59Кб, 793x253
793x253
>>2499423
>>2499287
Вроде понял, если в данной среде выполнения int 4-байтовый, то литерал "1" будет 4-байтовый int, выражение size + 1 тоже 4-байтовый int, 65536 в него помещается
Аноним 27/10/22 Чтв 12:26:12 2499454 167
>>2499292
TL_DR: чтобы пофиксить твою ошибку, в том файле, где выстреливается ошибка, нужно прописать #include с определениями этих классов. Названия заголовков из справочника библиотеки узнаешь.

46-48 строки это предварительное объявление, но не определение.
Объявление делает видимым только имя класса, под ним можно объявлять указатель и/или ссылку на такой класс, все остальное компилятору неизвестно, ни члены класса, ни его размер, только имя. incomplete type вобщем.

>>2498803
>Зачем это делается?
forward declaration
Объявление можно писать сколько угодно раз, а определение должно быть только одно.
К примеру, когда два класса должны ссылаться друг на друга, ты не можешь начать сразу с определения одного из классов, потому что не будет видим второй. Чтобы разорвать этот порочный круг, делают предварительное объявление.
Еще бывает, что делают forward declaration вместо включения заголовка с определением просто чтобы пошустрее собиралась программа.
Аноним 27/10/22 Чтв 12:35:10 2499465 168
>>2499450
а литерал "1l" минимум 32-битный по стандарту
Аноним 27/10/22 Чтв 16:30:43 2499658 169
chezahui.png 27Кб, 821x532
821x532
Может я немного не по адресу, но помогите пожалуйста, я уже к хуям сгорел, почему С=7??? Я тупой?
Аноним 27/10/22 Чтв 16:48:14 2499674 170
>>2499658
i =3

в функции x
i = i + 2 // i равно 5
a = i + 2 // a равно 7
возвращаем a, то есть 7 c = 7
Аноним 27/10/22 Чтв 16:51:29 2499679 171
>>2499674
Спасибо анончик,я только вкатываюсь, слезами залил всю клаву. Добра тебе
Аноним 27/10/22 Чтв 16:53:57 2499682 172
>>2499679
Я только не пойму, чему ещё могло быть равно c? Какого значения ты ожидал?
Аноним 27/10/22 Чтв 16:55:41 2499685 173
>>2499682
Я два часа смотрел на return и не видел его
пиздец каракатица 27/10/22 Чтв 19:48:21 2499851 174
я вахуе что тут пишут , учить буст, вы ебанутые? Буст устарел, мало того он тяжелый, и медленней чем кастом msvc функи , вы тут рофлите или про дело говорите ?
Аноним 27/10/22 Чтв 20:12:30 2499862 175
>>2499851
В вакухах требуют буст, значит похуй, надо учит.
Аноним 27/10/22 Чтв 20:16:37 2499872 176
Сап аноны. Допустим, у меня в классе должен лежать контейнер с унаследованными объектами (много классов а-ля DerivedA, DerivedB, DerivedC наследуются от общего Base).
И при этом должна быть возможность получить из класса "глубокую" копию этого контейнера методом а-ля get_container().

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

Хранить в контейнере всякие unique_ptr и прикрутить к хранимым объектам специальную функцию копирования и при запросе get_container() тупо через неё всё копировать в возвращаемый контейнер?
Аноним 27/10/22 Чтв 20:16:50 2499873 177
Аноним 27/10/22 Чтв 21:37:49 2499910 178
>>2499872
> И при этом должна быть возможность получить из класса "глубокую" копию этого контейнера методом а-ля get_container()
> Возвращать в геттере копию контейнера тоже неудобно, надо будет делать копирование каждого элемента контейнера
Может я тебя неправильно понял, но это ведь как раз то, что тебе нужно, нет?
Аноним 27/10/22 Чтв 22:06:05 2499926 179
>>2499910
>Может я тебя неправильно понял, но это ведь как раз то, что тебе нужно, нет?
Ну да, только тут мне нужно будет самому запариться и написать соответствующий код.

А может есть какой-нибудь класс, который для поинтеров обеспечивает поведение, аналогичное обычным значениям (т.е. удаление объекта при уничтожении поинтера и автоматическое копирование объекта, на который поинтер указывает при передаче поинтера по значению). Т.е. чтобы при возврате контейнера поинтеров, по факту оно само всё за меня сделало, скопировав не только поинтеры, но и объекты, на которые они указывают.
Аноним 27/10/22 Чтв 22:27:37 2499944 180
Аноним 27/10/22 Чтв 22:59:48 2499976 181
>>2499944
Не всё так просто, у меня же хранятся разные наследники в виде указателей на базовый класс. Соответственно, надо разруливать, чтобы делалась копия наследника, а не базового класса.
Пока видел вариант сделать что-то типа виртуального метода copy() в базовом классе и его переопределять в наследниках. И при возврате контейнера пройтись по всем элементам и его вызвать.

А тип элемента да, какой-нибудь unique_ptr<Base> ебануть, чтобы он хотя бы сам удалял соответсвующий объект при удалении элемента.
Аноним 28/10/22 Птн 00:25:41 2499992 182
>>2499926
>А может есть какой-нибудь класс, который для поинтеров обеспечивает поведение, аналогичное обычным значениям (т.е. удаление объекта при уничтожении поинтера
Сборщик мусора такой класс называется.
Аноним 28/10/22 Птн 00:34:25 2499995 183
Я люблю навернуть говнеца
Аноним 28/10/22 Птн 00:35:29 2499996 184
>>2499872
Ну начнём с того как ты собственно хранишь эти унаследованные классы, если ты хочешь из хранить в одном контейнере - значит ты будешь хранить указатели на них, пускай будут умные даже - unique ptr. Собственно хранятся они в единственном экземпляре.
Далее тебе надо сделать deep copy. Здесь тебе грубо говоря надо побитово скопировать всё, на что ссылается содержимое твоего контецнера. Сделать это иначе как созданием отдельного контецнера, и выделения памяти под каждый класс заного так то не возможно (опять же - мы хотим deep copy). Соответственно вся ебля будет в основном с копирующем конструктором и одновременно с выделением памяти в куче. Впрочем пока писал дал ответ.
Крч, в deep_copy код должен делать что-то такое:
- создать вектор с капасити как у текущего
vec<uptr<base> result;
result.reserve(m_elements.size())
- далее в циклe
for const auto& elem: m_elements
result.emplace_back (make_unique<dervA|B|C>(*elem) )
На сколько помню тут не надо мува отдельного, т.к. тут будет r val ref типа объект без имени.

return result

Пишу ночью поэтому кое что могу прокбать. Например не помню сработает ли здесь норми named copy elision или нет. Вроде должно.


Если кто-то знает более красивый способ поделитесь. Но этот самый простой.
Аноним 28/10/22 Птн 00:46:54 2500002 185
>>2499996
Только сейчас допер что у тебя тип то базовый хранится и простой copy ctor не сработает. Тогда наверное да, придётся пилить виртуальный clone который возвращает uptr на копию класса.

result.emplace_back (elm->clone)

Забавно, внезапно паттерн этот пригодился в плюсах.


uptr<base> clone () const {
return make_unique<CurrType> (*this) ;
}


Если юзать rtii то можно в одну общую функцию ебануть.

Вообще тут можно всякого по напридумывать с шаблонами, макросами и метопрограмированием.
Хотя clone самый простой вариант.

....
Прикольно, что где-то хоть с натяжкой в плюсах в теории надо юзать такой паттерн.
Аноним 28/10/22 Птн 00:54:39 2500005 186
>>2493384
A a ;

A ac1{a} //copy ctor
A ac2=a //copy ctor
ac1 = ac2 //operator =
Аноним 28/10/22 Птн 00:58:22 2500007 187
>>2493456
Ну а тогда в чем смысл специализации?
Ты можешь сделать так: определённому набору типов соотв. какой-то код, это делается через sfinae или сейчас через concepts ( cpp20)
Аноним 28/10/22 Птн 02:00:38 2500027 188
>>2499872
тебе нужно реализовать полиморфное копирование для иерархии классов, указатели на объекты которого будешь хранить в этом контейнере, если тебе требуется глубокое копирование контейнера
для этого есть различные способы, начиная с примитивного через .clone и кончая различными вариантами фабрик классов
альтернативный вариант - это использовать специализированный контейнер для хранения полиморфных объектов, в бусте есть такие например
Аноним 28/10/22 Птн 03:18:27 2500068 189
Котаны, какие попенсорс и не очень анализаторы используете?
Аноним 28/10/22 Птн 07:39:22 2500103 190
>>2500002
>>2500027
Эх. Ладно, пока попробую через .clone, а там посмотрим, как оно себя покажет.
>использовать специализированный контейнер для хранения полиморфных объектов, в бусте есть такие например
У меня что сервис, что клиенты на Qt, поэтому стараюсь обходиться по минимуму с точки зрения подключения ещё более других либ.
Аноним 28/10/22 Птн 08:22:36 2500108 191
>>2500068
Clang, он в кют Креатор встроен. Показывает все ерроры и варнинги по мере набора текста, удобно.
Аноним 28/10/22 Птн 10:01:00 2500130 192
>>2500108
Я более специализированные вещи имел ввиду. Например, valgrind, pvs-studio и т.д.
Аноним 28/10/22 Птн 13:07:48 2500187 193
>>2500068
PVS.
Но я хоббист-наотъебист, у меня нет планов по вкату в индустрию.
Аноним 28/10/22 Птн 13:12:45 2500188 194
>>2500068
Анализатор в Intellij Idea.
Аноним 28/10/22 Птн 13:13:09 2500189 195
Подскажите, есть ли в стандарте гарантии, что какие-то операции, типа присваивания переменной встроенного типа, не могут быть прерваны другим потоком? Если да, то к каким операциям это относится, а если нет, то как тогда защищаться? Эти гарантии есть только у методов класса мьютекс?
Аноним 28/10/22 Птн 13:17:02 2500191 196
Аноним 28/10/22 Птн 13:26:56 2500197 197
>>2500191
Пошли со мной в дивный жаба мир.
Аноним 28/10/22 Птн 13:44:01 2500210 198
>>2500189
Попытался реализовать простой семафор:

class Routine {
public:
void operator() () {
while (!sem);
sem = 0;

cout << this << ' ';
for (int i = 1; i <= 5; ++i)
cout << i;
cout << '\n';

sem = 1;
}
private:
static volatile int sem;
};

volatile int Routine::sem = 1;

Но получил не то, что ожидал:
>0x56526a446008 12345
>0x56526a4461580x56526a445eb8 123145
>0x56526a4462a8 12345
>2345

Я так понял, проблема возникает как минимум тогда, когда потоки переключаются между
> while (!sem);
и
> sem = 0;

Возникает вопрос, а возможно ли в принципе написать свой собственный примитив синхронизации? Получается, std::mutex и std::thread не независимы друг от друга, и как-то согласуются между собой?
Аноним 28/10/22 Птн 14:14:12 2500230 199
>>2500068
cppcheck, но он туповат
Аноним 28/10/22 Птн 14:16:24 2500235 200
>>2500210
>Возникает вопрос, а возможно ли в принципе написать свой собственный примитив синхронизации?
В принципе, можно.
Но это надо не быть тобой, как минимум
Аноним 28/10/22 Птн 19:32:37 2500517 201
>>2500210
У тебя фигурные скобки съехали. А ещё volatile делает не то, что ты думаешь.
Аноним 28/10/22 Птн 19:47:30 2500526 202
Я думал, что путаница атомик и волатил это мем такой, а тут живой пример прям кек.
Аноним 28/10/22 Птн 19:50:37 2500530 203
Аноним 28/10/22 Птн 22:52:24 2500602 204
изображение.png 428Кб, 901x663
901x663
изображение.png 754Кб, 1600x900
1600x900
В Студии 2019 комьюнити есть способ сменить встроенный браузер?
Советы из гугла не работают, нету нужной кнопки.
Аноним 28/10/22 Птн 22:54:50 2500607 205
изображение.png 36Кб, 1171x406
1171x406
>>2500602
У меня вот что вместо этого.
И в редакторе менюшек тоже нету такой кнопки.
Аноним 29/10/22 Суб 11:03:29 2500733 206
>>2500517
>>2500526
Блять, я в курсе, что делает volatile. Заставляет компилятор избегать оптимизаций, и при каждом обращении реально считывать значение из памяти. В чём проблема с кодом я уже понял. Лучше бы пояснили, как внутри устроен атомик. В моём представлении, внутрь атомика тупо встроен мутекс, который блокирует поток перед тем, как что-то с объектом сделать. Но я не понимаю, как добиваются того, чтобы переключение на другой поток не произошло в момент, пока выполняется lock(). Всё же должно сводится к одной атомарной инструкции, перед и после которой безопасно прерываться другим потоком. И как тогда написать свой мьютекс или свой атомик? Ассемблерные вставки ебошить? Я просто хочу разобраться!
Аноним 29/10/22 Суб 11:20:39 2500737 207
>>2500733
К системе обращаться, чтобы она заблокировала поток.
Аноним 29/10/22 Суб 12:29:22 2500755 208
>>2500733
volatile не спасает от перестановок команд в рантайме, он вообще не про синхронизацию.
>Я просто хочу разобраться!
Читай книжки, смотри видосы.
>внутрь атомика тупо встроен мутекс
Nyet. std::atomic<T> могут быть с мутексом, а могут и без. Зависит от платформы.
>как добиваются
>как тогда написать
Допустим спинлок на std::atomic_flag. Он атомарен всегда и везде, где есть C++ компилятор.
Аноним 29/10/22 Суб 13:14:34 2500768 209
>>2500733
>поток не произошло в момент, пока выполняется lock()
В ассемблере есть префикс lock, гарантирующий что следующая операция будет атомарной. Работает довольно ограниченно, но на вызов lock() хватит. Как и на операции с небольшими данными.
Аноним 29/10/22 Суб 13:16:40 2500772 210
А мьютексы это уже уровень ОС.
Аноним 29/10/22 Суб 15:06:26 2500835 211
А нахуя вся эта мультитред хуйта нужна? Просто разобраца хочу
Аноним 29/10/22 Суб 15:58:16 2500846 212
>>2500835
В одном потоке отрисовываешь окно, в другом выполняешь работу. Так работают загрузочные экраны в играх, установщики, архиваторы и т.п. Так или иначе, они либо запускают другой процесс, либо создают новый поток. А ещё, если у процессора несколько ядер, можно ускорить какие-то вычисления.
Аноним 29/10/22 Суб 16:34:10 2500861 213
>>2500846
>если у процессора несколько ядер, можно ускорить какие-то вычисления
Дурацкая фраза-клише. Какие еще вычисления, нет никаких вычислений.

Вот есть хорошая программа irfanview, там пакетная обработка изображений. Всё заебись. но медленно, пердолит одно ядро по одной картинке по порядку. А у меня 16 потоков, мог бы ускорить, но хуй тебе, а не ускорение. Вот какова реальность. Пиздеть теоретически все горазды, а на практике всем насрать, пишут как удобнее, а мультипоток это жопная боль, никто не хочет ним ебаться.
Аноним 29/10/22 Суб 16:52:02 2500877 214
>>2500861
То есть тебе попалась одна конкретная программа, написанная долбоёбами, и ты теперь думаешь, что браузеры, IDE и игры тоже не используют многопоток?
Аноним 29/10/22 Суб 18:12:35 2500921 215
>>2500861
Сыгл епту бля, нахуй мы ваще тут сидим какую то хуйню дрочим, лучше пойти машку пошпехать гыгыгы
Аноним 29/10/22 Суб 18:50:55 2500944 216
>>2500861
>Дурацкая фраза-клише. Какие еще вычисления, нет никаких вычислений.
> пишут как удобнее, а мультипоток это жопная боль, никто не хочет ним ебаться.
И нахуя ты сам себе противоречишь?
Аноним 29/10/22 Суб 23:12:13 2501139 217
Гои пишут на языке, который разрабатывался вообще под другую систему несколько десятилетий назад, а индустрия их подталкивает. Пишите, бгхатья гои, мы вам ебанем с++ 50, не останавливайтесь главное, нам же бабки капают. Главное не говорить гоям о медленной памяти, а то бабки то нам надо отработать на том, что заточено под ситуацию 70-х годов.
Гои воистину ГОИ пиздец
Аноним 29/10/22 Суб 23:32:40 2501164 218
>>2501139
А можно узнать, что принципиально нового появилось в вычислительной технике с 70-х годов, кроме увеличения "мощности"? Предлагаешь на ЖС писать?
Аноним 29/10/22 Суб 23:36:32 2501167 219
>>2501139
Современные кресты к тому 40-летнему говну мамонта никакого отношения не имеют. Куколды, которые пилили то говно, пусть на нём и пишут под свою систему, если из этих пенсионеров хоть кто-то ещё жив.
Аноним 29/10/22 Суб 23:36:53 2501168 220
>>2501164
>Предлагаешь на ЖС писать?
На Haskell
Аноним 29/10/22 Суб 23:40:47 2501171 221
>>2501168
Язык для написания бесконечного ряда факториалов.не подтолкнёт индустрию, он её остановит.
Аноним 29/10/22 Суб 23:41:28 2501174 222
>>2501168
Лучше на лиспе тогда. Да и под капотом все та же лапша работает на которую ты жалуешься, а аппаратно функциональщина не выполняется пока что.
Аноним 30/10/22 Вск 00:18:55 2501206 223
>>2501164
>принципиально нового появилось в вычислительной технике с 70-х годов
Дед, ты выпил там? Суббота, понимаю (нет)
>Предлагаешь на ЖС писать
Тебе ничего не предлагаю нового. Ты гой.
а для израильских братьев лисп и пони тель хай братья! Продолжаем наебывать гоев, они не догадываются
Аноним 30/10/22 Вск 00:26:11 2501211 224
>>2501206
>не ответил на прямой вопрос
>предложил использовать говнолисп из родом из 70х, называя кого-то дедом
Ладно
Аноним 30/10/22 Вск 00:32:27 2501215 225
>>2501211
Гой, спок.
троллинг тупостью не засчитан
Аноним 30/10/22 Вск 00:42:18 2501224 226
>>2501215
Оче жирно. Такое, возможно, в питон или жс треде прокатит, но не здесь.
Аноним 30/10/22 Вск 00:55:08 2501242 227
>>2501224
ТЫ СУКА ГОЙСКАЯ!!!
Медленная память, проц быстрый. ПОнимаешь хуйло? Память у тебя как дискетка длять работает
Аноним 30/10/22 Вск 00:57:48 2501247 228
>>2501242
>пук
Жирный пытаеься показать подрыв. Оче слабо.
Аноним 30/10/22 Вск 01:25:13 2501258 229
>>2501242
Алсо, твоя скриптовая хуйня в любом случае не способна выполняться настолько быстро, чтобы упереться в узкое горлышко io. Этим как раз страдают те языки, которые ты критикуешь.
Аноним 30/10/22 Вск 08:20:58 2501323 230
>>2501139
Что значит медленная память? Как скорость обращения к памяти может зависеть от ЯП?
Аноним 30/10/22 Вск 11:25:16 2501369 231
Ребят помогите пж понять эту хуйню.
Аноним 30/10/22 Вск 13:30:14 2501412 232
>>2491360 (OP)
сап. пытаюсь нагуглить решение задачи: надо сделать альтернативное решение для проверки на четность с помощью обычной функции, которая возвращает modulus %2 аргумента типа return input %2 == 0. Я подумал может как-то проверить только последний бит числа и тем самым избавиться от лишних вычислений, но не знаю как это сделать. Если я буду пользоваться методом сдвига битов чтобы сократить число до последнего бита, то проблема в том что я не знаю размер числа и дополнительные проверки займут время. Наткнулся в вики на проверки хеш-суммы, но это похоже не то что нужно.
Аноним 30/10/22 Вск 13:35:26 2501417 233
>>2501412
На чётность влияет только последний бит, как и с десятичнвми чётность определяется тупо последней цифрой. Надо выполнить input & 1
Аноним 30/10/22 Вск 14:07:27 2501452 234
>>2501417
Спасибо. На стаковерфлоу почему-то вариант который занял больше всего голосов утрверждает что в асемблерном коде нет различия между двумя вариантами. Но у стандартного еще и преимущество потому что работает с отрицательными числами.

https://stackoverflow.com/questions/160930/how-do-i-check-if-an-integer-is-even-or-odd
Аноним 30/10/22 Вск 15:27:40 2501487 235
>>2501452
>в асемблерном коде нет различия между двумя вариантами.
При /O1, /O2, /O3
Аноним 30/10/22 Вск 15:32:37 2501492 236
>>2501247
Как же гоям нравится говно жрать...
Аноним 30/10/22 Вск 16:32:20 2501516 237
>>2501487
Получается различия только в -Os и в результате только в количестве использованного места? Это повлияет на быстродействие благодаря уменьшению .exe?
Аноним 30/10/22 Вск 16:44:18 2501531 238
>>2501516
С такими микрооптимизациями, как проверка на чётность, ты не выжмешь и 0.00000001% перформанса.
Аноним 30/10/22 Вск 17:18:00 2501563 239
>>2500846
>В одном потоке отрисовываешь окно, в другом выполняешь работу. Так работают загрузочные экраны в играх, установщики, архиваторы и т.п.
самое распространенное заблуждение последних лет
прекрасно можно и гуи отрисовывать и работу делать в одном потоке
почему что 30 лет подряд разработчики делали прекрасные сложные приложения с гуи интерфейсом, и все это работало в одном потоке
но по видимому теперь это становиться забытой магией древних
Аноним 30/10/22 Вск 17:28:02 2501568 240
>>2501531
Я просто хочу разобраться чем проверка бита лучше чем обычное сравнение с modulus в теории.
Аноним 30/10/22 Вск 17:34:24 2501571 241
>>2501242
да ладно
аж три уровня кешей на одной подложке с cpu, оператива ddr5 c пропускной способностью 32гб/c, современные ssd c безумно быстрым рандомизированным чтением по сравнению с hdd, через интерфейс nvme через шину pcie у последних вариантов контроллер на одной подложке с cpu..
Аноним 30/10/22 Вск 18:19:50 2501592 242
>>2501568
Ничем. Код должен быть понятным.
Аноним 31/10/22 Пнд 10:33:33 2501853 243
image.png 15Кб, 623x269
623x269
image.png 20Кб, 749x378
749x378
image.png 16Кб, 841x156
841x156
Почему SFINAE не работает?
Когда запускаешь summ от типов без оператора +
Аноним 31/10/22 Пнд 11:16:27 2501867 244
image.png 24Кб, 751x420
751x420
Все, решилась проблема.
Теперь подскажите, как сделать более красивой строчку 10
Аноним 31/10/22 Пнд 14:02:37 2501985 245
>>2501867
Мб ты хочешь concept сделать?
Аноним 31/10/22 Пнд 15:11:01 2502086 246
Пытаюсь передать объект класса в другой класс, не получается. Пробовал через * и & по гайдам в тырнете, чёт везде хуйня и не работает. Можете кинуть пример?

Хочу просто в конструктор класса передать уже проинициализированный другой класс, который будет храниться в private переменной. После этого требуется дёргать методы переданного класса при необходимости.

Фактически простейшая задача для какой-нибудь java разработки, но на плюсах случился обсёр.

Разрабатываю в PlatformIO + C++11 с Arduino Framework, если это имеет значение.
Диплом Аноним 31/10/22 Пнд 15:16:51 2502092 247
Собираюсь писать дипломную работу что то типа "Разработка алгоритма генерации ландшафта"(Тема примерная). Что скажете, мб советы какие?
Аноним 31/10/22 Пнд 15:43:28 2502107 248
>>2502092
Диплом он вроде как про что-то новое. Terrain engine уже как 10 лет назад написали. И Speed Tree написали и PhysX с Bullet'ом и ещё всяких движков разных.
Аноним 31/10/22 Пнд 15:57:17 2502126 249
>>2502107
Уже бы ничего нового в бакалавриате не осталось давно, еслиб каждый студент что-то новое находил.
Диплом это научно исследовательская работа, у которой должно быть обоснование. И это не обязательно новизна, просто она самое очевидное что может быть.
Аноним 31/10/22 Пнд 16:03:32 2502135 250
>>2502126
Ну если у тебя ландшафт нейросеть будет генерить или ты напишешь 3д реконструкцию, то может и сгодится.
Аноним 31/10/22 Пнд 16:23:39 2502169 251
>>2502135
Хз, щас мб и пальцем в небо ткну, но 90% дипломов бакалавров – рерайты иностранных работ с сайхаба.
Аноним 31/10/22 Пнд 16:42:25 2502185 252
image.png 20Кб, 541x440
541x440
Аноним 31/10/22 Пнд 17:02:13 2502205 253
>>2502092
немного мало. нужно ещё-что то. вишенка. Например, визуальное программирование. чтобы туда сюда эксель инфу переделывал. Можно было выделить выброс, и в эксельку экспортировать
Аноним 31/10/22 Пнд 17:13:17 2502215 254
>>2491360 (OP)
Двач, я неудачник 30 лвл эникей.
Я долго понял, что сделал не так.
И сегодня всё понял.
Я понял, что надо было вкатывать в кодинг, но меня пугали люди, пугало бесконечное количество фреймворков, этот спринт технологий и спринт умов, огромное количество 20-летних парней сверх-замотивированных и стремящихся к конкуренции. Да ещё ультра токсиков, мыслящих "ты либо успешный успех, либо отсталый дед"
Я понял, во что надо вкатываться. Надо вкатываться в кресты.
Много лет назад, в универе, был дружбан, для которого кресты были философией. С ним было легко общаться, он не стремился показаться умнее или глупее, чем он есть. Я понял, что это философия. Кресты они здесь и сейчас, они всегда. Это философия.
Как вы оцените, правильно ли вкатываться в кресты, если я мечтаю просто кодить на них, делать нормальную работу, без тимлидства, без жуткого задроства, а поменять сам стиль жизни под кресты? Один раз, и навсегда?
Аноним 31/10/22 Пнд 17:34:24 2502243 255
>>2502200
Значит не норм прошло.
>>2502215
Не лезь блядь, вкатывайся во что попроще. А если называешь себя неудачником, то будешь неудачником вдвойне, ведь вакансий по плюсам крайне мало.
Аноним 31/10/22 Пнд 17:47:46 2502262 256
>>2502243
спасибо, гуру. я отнесусь с ответственностью. жаваскрипт?
Аноним 31/10/22 Пнд 17:52:14 2502272 257
>>2502243
думаю, крестовики самые спокойные и взвешенные люди, без троллинга. возможно, я пишу бестактно, прошу прощения.
Аноним 31/10/22 Пнд 18:15:19 2502304 258
>>2502200
Причину не назвали?
Мб на собесе что-то всё же упустил.
Аноним 31/10/22 Пнд 18:20:04 2502312 259
>>2502304
может, просто кандидата другого нашли
Аноним 31/10/22 Пнд 18:27:10 2502322 260
>>2502215
нулевые - десятые путь был такой обычно: эникей - сисадмин - девопс
альтернативный путь - 1с
так же некоторые увлекались железом и уходили в ремонтники - ноуты, мобилки, etc
Аноним 31/10/22 Пнд 20:22:30 2502441 261
ogog16122591432[...].jpg 297Кб, 1200x628
1200x628
Анон, помоги с GTEST. Писал на симейке, гтест скопипастил в фердпарти, все норм. Щас переезжаю на дебиан, и решил ради гибкости вырезать гтест из своего репозитория в пользу деб пакета. И что-то насосал я хуев, не видит смаке нихуя!

1) Деб пакеты gtest и googletest ставятся в /usr/src
2) GTEST_ROOT не реагирует ни на одну из этих папок
3) на стековерфлоу пишут, что надо сделать cmake .. либы и make install, но это полная параша блядь, это вообще не правильно нихуя
4) я не понимаю, как быть, если я захочу автотест в докер образе запустить. Вроде бы ставить зависимости дпкг, в том числе хедер-онли, нормальная процедура для автотестов, но такая пидорасня с гтестом как-то всё почему-то усложняет блядь

Как правильно пользоваться этим говном? Почему стало резко сложно так?
Аноним 31/10/22 Пнд 21:13:10 2502511 262
>>2491385
Чуть шарю

Короче, норм результат съема картинки с сенсора (или другого высокоскоростного интерфейса, хоть шдми) и передачи по Ethernet (предположим, делаем ипкамеру) достигается только на специализированных DSP (гугли линейки AnalogDevice по категории Видео) или ПЛИСинах (Xilinx Virtex, ZYNQ). Комп сосет, с задачей справится, но лаг будет пиздец (можешь через влц перепаковать трафик из веб-камеры в ш264, лаг будет минута).

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

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

Видеообработка годная специальность, полезная, глубокая, востребованная. Хочешь начать вкатываться - своруй матлаб и смотри примеры
Аноним 31/10/22 Пнд 22:01:00 2502562 263
image.png 97Кб, 308x185
308x185
Аноны, подскажите как по умному вытащить цифры из строки?
Пусть есть строка и там цифры (разделенные пробелами и возможно другими символами). Извлечь хочу в вектор.
Понятно что можно циклом пройтись, но может есть что то типо split, чтобы сделать всё одной строкой.
Аноним 31/10/22 Пнд 22:03:41 2502565 264
>>2502562
пример такой строки "1 79 z2 5 4#9" и хочу получить {1, 7, 9, 2, 5, 4, 9}
Аноним 31/10/22 Пнд 22:04:17 2502566 265
>>2502565
>{1, 79, 2, 5, 4, 9}
быстрофикс
Аноним 31/10/22 Пнд 22:19:35 2502576 266
>>2502565
Ну очевидным перебором. У каждой цифры есть код, поэтому проверяешь каждый символ на принадлежность диапазону в таблице аски, писоешь. По любому есть такая библиотека уже.
Аноним 31/10/22 Пнд 23:19:54 2502625 267
image.png 515Кб, 1170x780
1170x780
>>2502576
Cпасибо, анон
я решил перебрать элементы обычным циклом, если встречу более годный способ типо того же сплита, то перепишу
Аноним 31/10/22 Пнд 23:40:42 2502643 268
Что нужно знать на позицию ждуна? И почему почти в каждой вакухе требуется ВО?
Аноним 31/10/22 Пнд 23:41:38 2502644 269
>>2502643
И ещё - идёт ли опыт коммерческой работы с другим языком и стеком хотя бы в какой-нибудь зачёт?
Аноним 31/10/22 Пнд 23:56:30 2502655 270
>>2502643
Наличие вышки говорит о том, что кандидат усидчивый, обучаемый и, возможно, помнит курс математики, которая в плюсах нужна чаще, чем в языках для вебмакак. Ну и есть шизанутые госконторы, которые всегда требуют вышку, там часто зарплатные вилки жёстко зависит от уровня образования.
>>2502644
Да, он хоть и не будет приравнен к опыту на плюсах, но всё равно зачтётся то, что навык разработки хоть каких-то проектов у тебя есть, т.к. приобретаются умения, не зависящие от языков. Может даже перевесить отсутствие вышки.
Аноним 01/11/22 Втр 00:04:05 2502662 271
Антонио, норм ли идея слеплять цифры в строку, а потом обратно конвертировать в цифры? Например чтобы тут "ccc 921 abs" вытащить 921 одним числом, а не 9, 2, 1. Лучший вариант который я пока придумал, это слеплять цифры в строку пока не наткнусь на не цифру, и переводить обратно в число. Но это скорей всего говнокод. Как сделать хорошо?
анон >>2502562
Аноним 01/11/22 Втр 00:07:47 2502664 272
>>2502655
>кандидат усидчивый, обучаемый
Ох ебать, а то что я вычитал несколько книг по плюсам, Кормена, Таненбаума, cppreference, написал 2 не самых примитивных попенсорса да ещё и на литкоде 3 сотни задач нарешал им не показатель?
Аноним 01/11/22 Втр 00:53:55 2502680 273
>>2502441
>этим говном
Да никак. От него пердолей больше, чем пользы. Когда тестов станет много и он начнёт тормозить придётся пердолиться снова.
Забей и переводи проект на интеграционные тесты.
Аноним 01/11/22 Втр 01:05:41 2502684 274
>>2502511
>и передачи по Ethernet
Данные с сенсора даже в гигабитный ethrnet не пролезают. Ты либо его на камере обрабатываешь либо жмёшь в mjpeg/h264/h265 естественно с потерями, что очень не очень.

>сетевой обмен, логика, может всякие либы типа опенцв
это тоже бэк, фронт это web, который на твоей камере крутится

>бекенда (тензорные ядра, какие-то матричные ускорители и проч).
это не бэк, это GPGPU на cuda под opencv, дебаеризацию, цветокоррекцию и свёртки для нейросетей
Аноним 01/11/22 Втр 01:14:51 2502687 275
>>2502664
Ну взять то тебя возьмут, но на предприятии может быть табель о рангах. Например ты не можешь занимать позицию руководителя отдела, если у тебя нет кандидатской (и тем более вышки). Позиции это деньги и по ним двигают вперёд прежде всего тех, у кого есть научный бэкграунд (цитируемость в журналах, выступления на конференциях и так далее).
Это я про НИИ рассказываю.
В итоге ты будешь сидеть на дно зарплате и превозмогать через ебучую бюрократию в должности лаборанта или инженера младшей категории.
Аноним 01/11/22 Втр 05:48:14 2502730 276
>>2502684
Душнила, зря высрал пост, ноль смысловой нагрузки
Аноним 01/11/22 Втр 06:00:45 2502732 277
>>2502664
просто ВО подтверждается документом, есть чёткий критерий - есть бумажка/нет бумажки. А объективные твои знания ещё проверять надо, экзаменовать тебя что ли. А в ВУЗе уже всё сделали, проэкзаменовали, документ написали и печать поставили

Ваш капитан Очевидность
Аноним 01/11/22 Втр 06:03:17 2502733 278
>>2502730
Я привожу твои жидкие знания в порядок.
Аноним 01/11/22 Втр 06:52:51 2502743 279
>>2502733
И тем не менее
>>ноль смысловой нагрузки
Знания без умения ими пользоваться это бесполезный мусор. Цитировать знания без смысла это попугай, принтер копипасты, гуглобот, или попромту слабоумный даун.
Аноним 01/11/22 Втр 09:42:08 2502788 280
>>2502733
Знаний у меня настолько дохуя, что я могу их категоризировать и сжать для потребителя.

Чел спросил в целом, чё куда как смотреть, я его пнул с матлабом в нужную струю, там дальше сам зацепится
01/11/22 Втр 12:15:32 2502872 281
>>2502511
>видеообработка годная специальность, полезная, глубокая, востребованная
сучки приближают кибергулаг
01/11/22 Втр 12:17:12 2502874 282
Аноним 01/11/22 Втр 12:58:22 2502890 283
Стикер 0Кб, 234x250
234x250
Ребят, где и когда применяется std::char_type ?
Вы когда нибудь использовали?
Аноним 01/11/22 Втр 13:04:12 2502892 284
>>2502185
Зачем кидаешь исключение, если можно Статик ассертом ошибку в компайл тайме выдать
Плюс, если ты сделал функцию с концептом, то зачем нужна вторая функция возвращающая ошибку
Если у пользователя тип не подходит по концепту, то ему компилятор сам ошибку выдаст
Аноним 01/11/22 Втр 13:13:29 2502898 285
Аноним 01/11/22 Втр 13:21:04 2502900 286
>>2491360 (OP)
Щас бы в 40000м году отдельно объявлять указатели.
Аноним 01/11/22 Втр 13:25:07 2502905 287
Аноним 01/11/22 Втр 13:35:43 2502920 288
Аноним 01/11/22 Втр 16:30:58 2503111 289
>>2502892
>Если у пользователя тип не подходит по концепту, то ему компилятор сам ошибку выдаст

Логично, подумал я, но потом вспомнил, что у нас есть рантайм типы - наследники с виртуальными функциями, у которых оператора плюс может не быть.
Аноним 01/11/22 Втр 16:31:22 2503113 290
Правда что плюсы нигде в новых проектах кроме разве что игр не используются? И есть ли вообще перспективы? Копаться в легаси не хочется.
Аноним 01/11/22 Втр 17:41:22 2503177 291
Аноним 01/11/22 Втр 19:33:05 2503295 292
>>2503113
Плюсы нигде не нужны.
Аноним 01/11/22 Втр 19:33:50 2503296 293
>>2502086
>Можете кинуть пример?
Может ты для начала скинешь свой пример?
Аноним 01/11/22 Втр 19:41:10 2503304 294
>>2503113
не правда, плюсы были есть и будут. Всякие веб макаки неосиляторы, конечно, тебе расскажут что они уже все и плюсы не нужны, но ты их не слушай. Правда хуй тебя кто возьмет на проект с плюсами без образования.
Аноним 01/11/22 Втр 20:00:58 2503318 295
>>2493512
Вы все не правы, ядерную боеголовку можно подвесить много куда, на различные ракеты бомбы и прочее, это всего лишь средства доставки.
Аноним 01/11/22 Втр 20:53:20 2503388 296
Аноним 01/11/22 Втр 21:07:36 2503408 297
>>2503388
Спасибо, но чем ебашиться с режексами лучше по старинке. Мне не нравилось, что приходится гонять типы данных из char в строку, из строки в int и дальше, а так в плане производительности обычный цикл вполне не плох.
Аноним 01/11/22 Втр 21:16:04 2503421 298
>>2493383
Так мотивации совершенно разные.

Code complete тебя заставляют выдрачивать, чтобы проект мог жить десятки лет. Барен хочет иметь возможность в любой момент выставить тебя на мороз и заменить на более удобную макаку, чтобы она оперативненько могла вкатиться в проект.

Ученого же чаще всего интересует решение относительно небольшой задачки здесь и сейчас: получить численное решение, проверить гипотезу, нарисовать график и т. д.

>У датасаентистов та же болезнь.
В геймдеве еще гораздо толерантнее относятся к культуре программирования.
Аноним 01/11/22 Втр 21:32:06 2503444 299
>>2503408
>лучше по старинке
Зачем тебе тогда вообще string и vector?
В 2022 циклы в подобных задачах нужны разве что в качестве упражнения на циклы, и только.
И упражнения с циклами не избавят тебя от необходимости знать стандартную библиотеку. Уж лучше с ней поупражняйся.

>с режексами
Есть еще всякие copy_if(), transform(), лямбды...

>Мне не нравилось, что приходится гонять типы данных из char в строку, из строки в int и дальше
Вот тут тебя интуиция не обманывает: в канонах строго типизированного языка это лютый говнокод - кастовать типы по первой прихоти.

>в плане производительности обычный цикл вполне не плох.
Кусок памяти копируется сильно быстрее, чем тот же кусок копировать по отдельным байтам. Твоя "оптимизация" кроме того, что скорее всего избыточна, еще и наивна.
Куда полезнее было бы обобщить решение до возможности работы с потоками, например, а не прибивать гвоздями типы string и vector<int>.
Аноним 01/11/22 Втр 22:01:19 2503501 300
>>2503444
>Зачем тебе тогда вообще string и vector?
>vector
Хранить int-ы.
>string
Строка даётся на вход, помимо самих int-ов в ней ещё всякие полезные символы, которые нужно учитывать.
> знать стандартную библиотеку
Не знаю, поэтому и спросил тут как в C++ подобное делается. В том же питоне можно сплитами всё легко поделить, например.
На всяких форумах люди советуют херачить циклами. Может я не там смотрю.
Ещё в моём случае возникает проблема - пусть мы нашли какое то число в строке. Можно его сразу же сконвертировать в int. Но мы не знаем сколько в нём цифр, поэтому вполне может оказаться что следующий символ тоже числовой. Я в этом случае использую "буфер", т.е строку в которую добавляю цифры пока не окажется что следующий символ уже не число. Дальше этот буфер конвертируется в int и добавляется в вектор.
Аноним 01/11/22 Втр 22:28:44 2503542 301
16590387126080.jpg 7Кб, 232x197
232x197
> крестомакаки изобретают strtok
Аноним 01/11/22 Втр 22:33:56 2503547 302
>>2503542
Логика Страуструпа проста: "Если я сделаю стрток, то многие скажуть, что это неправильный стрток. Лучше пусть сами себе делают стрток.".
Аноним 01/11/22 Втр 22:36:37 2503550 303
>>2503542
> чтобы сделать всё одной строкой.
Аноним 01/11/22 Втр 22:37:05 2503551 304
Сап двач. Такой вопрос.
Планирую вкатиться в программирование в общем-то для личных целей - самому писать простенькие игры, текстовые новеллки, пилить картинки для них и т.д. Планирую выучить С++ как самый оптимальный для этих целей. Отсюда вопрос первый: его вообще потянет человек, никогда программированием не занимавшийся? Я вполне сообразительный, но боюсь даже не столько сложности языка, сколько сложности организации обучения сложному языку, ибо для меня это безбрежное чёрное море. С каким-нибудь питоном легче, я думаю, там и в учебных материалах особо не заплутаешь, и их меньше. хуйню говорю?

Ну и второй вопрос. Чисто теоретически: стажёра с++ могут хоть под шконку с ведром мочи, да взять на работу? Знаю, знаю, что сейчас тысяча человек на место, и даже скилловые ребята сидят без дела, времена прошли и т.д. Просто хотелось бы знать, что хоть гипотетически есть призрачные шансы обратить личное занятие в работку, иметь подушку безопасности, так сказать. Но, наверное, нихуя? Скорее всего, вкатиться без опыта могут только какие-нибудь джаверы.
Аноним 01/11/22 Втр 23:02:32 2503582 305
Аноним 01/11/22 Втр 23:02:55 2503583 306
Аноним 01/11/22 Втр 23:49:54 2503602 307
>>2503583
>>2503582
> if (stringstream(temp) >> found)
Вот эту строку я не понял. Что он делает? Пояснения пжл
Аноним 02/11/22 Срд 00:06:15 2503607 308
>>2493383
>однобуквенными переменными
Да как вы заебали. В подобных вещах переменная должна выглядеть так же, как она написана в научной статье/учебнике, на основе которого написан кусок кода

например, какая-нибудь ненастоящая простая формула типа
a[j] = b × alpha × T + c[k] × g × dT

или

zalupaMatrix[rowIndex][columnIndex] = huitaVector[rowIndex] × koeficcientHuiti × temperature + huiEgoZnaetMatrix[rowIndex][zIndex] × chotEtoZaKoeeficient × raznizaTemperatur

Вторая хуйня нечитаемая совершенно
Аноним 02/11/22 Срд 00:48:25 2503624 309
>>2503607
Я не про формулы, а про вообще весь код. Строки однобуквенные, массивы однобуквенные, названия всех функций, классов и методов однобуквенные, иногда даже инклуды однобуквенные. Дай им волю, и они будут переопределять кейворды через #define, чтобы сократить return до y. Переменные объявляются в алфавитном порядке, когда алфавит заканчивается, начинаются цифры: int a6 = q11. С формулами любому дауну понятно, их даже в громоздкой жабе пишут с общепринятыми научными обозначениями.
Аноним 02/11/22 Срд 01:28:55 2503627 310
>>2503602
std::stringstream - библиотечный класс. Функционирует так же, как другие потоки cin, cout, файловые потоки. Только stringstream создает строковый буфер в памяти. Пишет/читает не в консоль, не в файл, а в строчку в памяти.

temp // это строка
stringstream(temp) //это фактически вызов конструктора класса std::stringstream с аргументом temp
В результате создается безымянный объект типа std::stringstream , инициализированный содержимым строки temp. Безымянные объекты долго не живут, если тебе это интересно.
>> found // читает из безымянного потока и пишет в int-переменную found.
if(...) // на самом деле не читает/пишет, как написано выше, а только пытается прочитать и трактовать прочитанное как данные типа int, исходя из того, что found имеет тип int. Если все прошло норм, то возвращается true, если нет, то нет.

Программа, кстати, не отрабатывает случаи вроде "letters12345...". Только цифры, стоящие в начале строки, она считает в found, иначе в if вернет false.
Аноним 02/11/22 Срд 02:27:30 2503643 311
>>2503111
>наследники с виртуальными функциями, у которых оператора плюс может не быть.

Причем тут виртуальные функции? Наследники или инстанцируют шаблон, или являются шаблонными с тем же числом параметров.
Аноним 02/11/22 Срд 03:25:11 2503647 312
>>2503624
Это вопрос зрительного восприятия. Проще читать код, когда метод целиком влезает в экран и когда его строки имеют длину равную ширине книжного листа. То же самое касается именования - "книжный" формат my_method_name воспринимается легче, чем myMethodName (если ты не из дойчей).
Аноним 02/11/22 Срд 04:55:37 2503652 313
>>2503647
Снейккейс вс кэмелкейс, извечный вопрос.
Хотя я так для себя в последнем своем проекте ощутил (спустя долгого перерыва проганья на плюсах), что второй мне милее. Но, подозреваю, что это после поганого pl/sql, где поебат на регистр, что порядком меня доебало и хотелось разнообразия.
Ълядь, в этом поделии корпорации зла можно даже объявить переменную с именем "отака хуйня malятa", что уж говорить о регистре.
Аноним 02/11/22 Срд 06:55:41 2503669 314
image.png 26Кб, 700x423
700x423
image.png 5Кб, 294x138
294x138
image.png 26Кб, 525x500
525x500
>>2503643
Да не трясись ты. скуф. Я потестил и все оказалось как я предполагал. Полиморные типы полностью выводятся только в рантайме - учи матчасть, сука.
Только вот почему-то исключение в случае неблагоприятного исхода отловить не могу. Кто сможет отловить - тому пять баллов.
Аноним 02/11/22 Срд 08:19:25 2503681 315
>>2503669
Ты дибил, шаблоны инстанцируются только в компайл тайме с известными типами
Аноним 02/11/22 Срд 08:25:44 2503685 316
>>2503551
> под шконку с ведром мочи
тогда учи 1С
Аноним 02/11/22 Срд 08:40:37 2503687 317
1667367707787.jpg 19Кб, 521x221
521x221
>>2502625
можно регулярками такое делать например
Аноним 02/11/22 Срд 09:50:36 2503714 318
1666154256-6618[...].png 689Кб, 800x799
800x799
Test
Аноним 02/11/22 Срд 09:52:12 2503719 319
IMG202211021048[...].jpg 2259Кб, 4624x2136
4624x2136
>>2502562
Лень с телефона набирать. Делается в одну строку.
Аноним 02/11/22 Срд 09:53:53 2503722 320
>>2503719
Там бекинсертер в v не полностью влез.
Аноним 02/11/22 Срд 14:18:45 2503915 321
>>2503719
Попробовал этот способ, но он вывел первые 3 int-а. И я хз как учитывать остальные символы, например в зависимости от того есть ли '@' или '' нужно будет думать что делать с int-ми после этих символов (например после собаки следующий int нужно удвоить, показывает что следующие 2 int-а не должны повторяться и если они повторяются то их вообще нужно пропустить).
Аноним 02/11/22 Срд 14:28:11 2503933 322
>>2503627
Спасибо, вот это уже больше похоже на то как надо делать в C++.
То есть stringstream(temp) >> found отправляет char в int, и если в char цифра, то if выдаёт правду, а пустой found по умолчанию ложь? А где они очищают found, чтобы в следующей итерации он опять не выдал правду?
Аноним 02/11/22 Срд 14:29:27 2503937 323
>>2503687
Спасибо, регулярками можно, но я их толком не знаю на таком уровне
Аноним 02/11/22 Срд 14:30:54 2503939 324
>>2503915
> в зависимости от того есть ли '@' или ''символ звёздочка"
>''символ звёздочка" показывает что следующие 2 int-а не должны
Аноним 02/11/22 Срд 15:03:34 2503986 325
>>2503933
> пустой found по умолчанию ложь?
Пустого found быть не может.

stringstream(temp) >> found "преобразовывает" то, что хранит, в значение типа переменной found, затем возвращает ссылку на себя же.
Если преобразовать не получилось, то в объекте сохраняется ошибка.
Потом этот объект методом operator bool() преобразовывается, собственно в bool.
Полученное значение будет false только если в результате того преобразования произошла ошибка.

> А где они очищают found
found нельзя очистить, там всегда будет какое-то число.
Даже когда ты пишешь
int found;
там всё равно есть какое-то значение, его мусором называют.
Можно разве что явно обнулить его, но в данном случае это не нужно, потому что found используется только в той ветке.
Аноним 02/11/22 Срд 20:45:59 2504355 326
>>2503933
>пустой found по умолчанию ложь?
Вся запись целиком { stringstream(temp) >> found } это на самом деле вызов функции operator>>() "наиболее подходящей" среди всех перегрузок. У этой функции есть возвращаемое значение и это значение - ссылка на сам поток. Именно поэтому можно писать цепочки вроде cout >> found >> pound >> bound.
У потоков определено неявное преобразование в тип bool. Таким образом if'ы и узнают о состоянии потока, а не по значению читаемой переменной.

>где они очищают foun
не требуется.

> stringstream(temp) >> found отправляет char в int, и если в char цифра, то if выдаёт правду
Исходя из того, что found имеет тип int, поток извлекает символы из строчки temp, до тех пор, пока не встретит первый не-цифровой символ или конец строки.
Если он считал хотябы одну цифру, в конце он делает неявное преобразование прочитанного в тип int и только тогда пишет в found.

>temp
И да, temp - это не вся твоя исходная строка целиком, а только текущее слово из этой строки.
Аноним 02/11/22 Срд 20:57:03 2504366 327
>>2504355
>в конце он делает неявное преобразование
Точнее, у него-то там под капотом скорее всего прописано явное преобразование.
Просто по тексту программы оно выглядит "неявным".
Аноним 02/11/22 Срд 23:03:53 2504436 328
>>2503986
>>2504355
>не требуется.
Тогда как меняются цифры? Например почему выводится
> 1 2 3 4
а не
>1 12 123 1234
?
>Если он считал хотябы одну цифру, в конце он делает неявное преобразование прочитанного в тип int и только тогда пишет в found.
Имею в виду, если в found какой то int записан, куда он девается?
Аноним 03/11/22 Чтв 05:42:56 2504516 329
>>2504436
> Имею в виду, если в found какой то int записан, куда он девается?
Никуда, туда просто записывается новое число.
Почитай что-нибудь на тему работы компьютера. Первый том Столярова, например. Или «Код» Чарльза Петцольда
Аноним 03/11/22 Чтв 13:04:35 2504662 330
166746963159181[...].jpg 69Кб, 2000x2000
2000x2000
Что может быть лучше пикрила? Назовите хоть одну среду которая не сильно хуже visual studio. Банально симпатичный и удобный дизайн, все понятно (вкусовщина, но все же) профилировщик охуенный, слепки памяти, отладка гпу
Аноним 03/11/22 Чтв 13:06:07 2504664 331
>>2504662
Единственная проблема в кроссплатформенности, но что поделать
Аноним 03/11/22 Чтв 13:26:17 2504700 332
>>2504662
У студии конечно есть сильные стороны, но дизайн в них не входит
Ну проблемы в основном как раз таки в интерфейсе, любителям все под себя настроить не подойдёт, но при этом и новички ахуевают
Туда же прожорливость и постоянные затупы у меня только на последней версии это решилось, и когда на ссд его перенес
Аноним 03/11/22 Чтв 13:28:22 2504703 333
Аноним 03/11/22 Чтв 13:29:44 2504705 334
Без названия.png 3Кб, 225x225
225x225
Аноним 03/11/22 Чтв 13:32:10 2504707 335
Аноним 03/11/22 Чтв 13:58:28 2504724 336
VIM
Аноним 03/11/22 Чтв 14:22:58 2504751 337
>>2504516
Спасибо, анон, вижу ты мне действительно пытался помочь
Я изучаю C++ делая всякие мини-проекты, поэтому возникают такие глупые вопросы
Аноним 03/11/22 Чтв 15:15:07 2504784 338
Госопди, ну и дрочь. Скачал emacs, создал проект, не работает подсветка. Надо идти во вкладу препроцессинг. А ее нет, потому что проект cmake. А я хочу писать cmake чтобы потом можно было перенести в случае чего
Аноним 03/11/22 Чтв 15:22:56 2504790 339
Аноним 03/11/22 Чтв 15:29:36 2504795 340
Похуй. Vs code оставлю. Это пиздец какой то. Еще время мне тратить на ерунду всяку. Хотел вкатиться в разработку на опенсурсе, без создания 100 акков для каждой ide. Не вышло. Чому все такое хуевое? Почему в visual studio, qt, clion ты просто заходишь в акк и прогаешь? Легко изменяешь компиляторы, флаги в cmake ставишь, а тут треш какой-то.
Аноним 03/11/22 Чтв 15:47:45 2504814 341
kdevelop вообще падает нахуй. Очень удобно
Аноним 03/11/22 Чтв 15:51:04 2504815 342
Ставь Visual Studio, сука.
Аноним 03/11/22 Чтв 15:52:25 2504816 343
Короче я хуй знает че делать, помогайте. Хочу писать код в свободных редакторах, но чтобы это было удобно, почти как в нормальных ide. Чтобы дополнения работали, компиляторы легко менялись, cmake поддерживался, профилировщик был хороший
Аноним 03/11/22 Чтв 15:57:19 2504818 344
>>2504816
Не знаю работает это или нет сейчас, можно было халявную лицензию на JetBrains получить на Stepik (на все IDE на три месяца). Решаешь три задачи на написание кода на курсе с сертификатом (это важно), получаешь лицензию. Три месяца проходит, ещё три задачи решаешь (про запас нарешать нельзя)
Аноним 03/11/22 Чтв 16:35:40 2504842 345
>>2504664
Есть еще проблема с IntelliSense. С анрилом, например, она в принципе неработоспособна.

>>2504700
>Туда же прожорливость и постоянные затупы
Я читал обратное, дескать Студия тупит от того, что больше 4 Гб памяти не обучена использовать.
Аноним 03/11/22 Чтв 17:08:47 2504866 346
Хочу попробовать состряпать говна на UE
Стоит ли для этого вкатываться в кресты, или хватит блюпринтов?
Опыт в промышленном погромированнии есть, но на более легких языках го, пистон, джава. Крестов боюсь, но неизвестность манит
Аноним 03/11/22 Чтв 18:13:17 2504909 347
>>2504866
Для говна более чем хватит блюпринтов.

>Крестов боюсь, но неизвестность манит
Если хочешь заходить со стороны крестов, то про собственно UE можешь преспокойно полностью забыть на ближайшие год-два.
Аноним 03/11/22 Чтв 19:37:40 2504967 348
>>2504866
> Крестов боюсь
Почему тогда не Unity?
Аноним 03/11/22 Чтв 21:48:24 2505062 349
>>2504818
Это не то. Хочу тру попенсур без акков и всей это дряни. Просто скачал и используешь
Аноним 04/11/22 Птн 03:47:13 2505233 350
>>2499236
Так кути в вскодиум можно полноценно и абсолютно бесплатно использовать. Оба обеспечивпют твои хотелки. И они опенсурс, можешь сам собрать. Да и силион сейчас так же какраньше ломается скриптом,тчто на винду что на линукс. Брат жив. А студия говно индусское.
Аноним 04/11/22 Птн 05:58:12 2505238 351
>>2504866
>Крестов боюсь
Вомпер что ли? Или другая какая нечисть?
Аноним 04/11/22 Птн 12:19:16 2505322 352
Анон, как грамотно закроссплктформить использование Asio из Boost версии 1.62 и более новых? Проблема в смене io_service на io_context и ещё нескольких вызовах. Пока ничего умнее скобок компиляции с проверкой версии буста ничего не могу придумать
Аноним 04/11/22 Птн 15:20:18 2505539 353
>>2504842
>Есть еще проблема с IntelliSense
Отъёбывающие подсветка/автокомплит/анализ кода это вообще во всех IDE (и не только в плюсовых) нихуя не редкость при работе хотя бы со среднего размера проектами.
Аноним 04/11/22 Птн 15:23:38 2505544 354
>>2505539
Везде где есть нормальный лсп таких проблем нет
Аноним 04/11/22 Птн 17:02:33 2505641 355
Аноним 04/11/22 Птн 18:52:46 2505737 356
Делаю стек поверх массива фиксированной длины.
Компилятор швыряет варнинги по поводу того, что я массив не инициализирую.

А зачем мне инициализировать массив?
Ну заполню я его нулями, так эти нули все равно будут ничем не лучше любого другого мусорного значения.
В чем я не прав?
Аноним 04/11/22 Птн 19:32:52 2505779 357
>>2505737
Ты делаешь стек неправильно (читаешь куда не писал).
Аноним 04/11/22 Птн 23:01:36 2505933 358
>>2505928
Инкапсулируй си-парашу внутрь цпп файла, чтобы оставить хедер чистым
Аноним 04/11/22 Птн 23:21:33 2505958 359
>>2505544
В том же вскоде лсп на основе шланга работает как кусок подзалупы, не волнуйся :)
Аноним 05/11/22 Суб 00:00:35 2506018 360
>>2505779
Не, у меня это исключено.
Аноним 05/11/22 Суб 03:42:28 2506087 361
>>2505737
Warning это тебе не Error, забей хуй.
Но чего тебе стоит заполнить обоссанный стековый массив нулями?
Аноним 05/11/22 Суб 06:05:34 2506106 362
>>2506087
Сейчас бы забить хуй на UB, которое обычно даже варнингов не показывает.
Аноним 05/11/22 Суб 07:23:52 2506128 363
>>2505958
Поэтому я и сказал нормальный лсп
Аноним 05/11/22 Суб 09:04:12 2506137 364
>>2506087
Я тут недавно забил на варнинг о том, что инициализация членов класса происходит не в порядке их объявления, и потратил часа два, чтобы понять, почему у меня блядь прога крашится где-то в середине
Аноним 05/11/22 Суб 13:39:32 2506264 365
Screenshot2022-[...].png 6Кб, 248x93
248x93
Аноним 05/11/22 Суб 14:21:26 2506280 366
>>2506264
Юнион это топ тема.
Говорит о том что разными способами можно обратиться к одним и тем же данным в памяти.
На пример: структура изображает матрицу, в ней юнион по элементно, по векторам, обьявлены по разному, но указывают на одни данные. Особенно круто при использовании авх.
Аноним 05/11/22 Суб 14:24:49 2506282 367
>>2506128
Нормальный лсп это как нормальные иде — возможно только в теории.
Аноним 05/11/22 Суб 14:33:27 2506288 368
>>2506264
>В чём суть этих енамов?
Автору нравится так определять константы, мб стайлгайд такой, хуй знает.

>Алсо расскажите простыми словами про юнионы, чёт я не врубаюсь.
Попробуй сделать массив в который можно будет пихать элементы разных размеров (например, int16_t/int32_t/int64_t) или свою реализацию std::expected — без практики оно не поймёшь всё равно.
Аноним 05/11/22 Суб 16:12:28 2506349 369
>>2506280
>Юнион это топ тема
Только в байтоебле. Покажи мне, где они используются в плюсах?

мимо байтоёб
Аноним 05/11/22 Суб 17:41:41 2506427 370
Я ковыряюсь с sqlite,и возникла следующая проблема. Когда я исполняю запрос SELECT * FROM DB,callback,стандартная функция ,печатающая данные таблицы, игнорирует переносы строки,из-за чего на консоли все данные сливаются в сплошную линию.
Как пофиксить? Это не критично,но при отладке не удобно
Аноним 05/11/22 Суб 18:29:52 2506483 371
>>2506427
Не на консоли, а в консоли.
Аноним 05/11/22 Суб 18:33:41 2506491 372
>>2506349
Я же даже пример привел с инстриками из авх, ты жопой читаешь что ли?)
Аноним 05/11/22 Суб 18:36:41 2506496 373
>>2506427
Выяснилось,чьо проблема в другом.
Для удобства я захотел завернуть интерфейс для работы с sqlite в класс. Для вывода нужна функция callback,которую нужно как-то разместить внутри класса,чтобы она работала,а то у меня она не работает. Но ЧСХ, если эту функцию разместить в main.cpp,то все зарабоает. Но мне нужно,чтобы она была в классе.Что я делаю не так?

https://pastebin.com/DqhzuhSq
Аноним 05/11/22 Суб 18:37:27 2506498 374
>>2506496
Желательно,чтобы этот callback лежал в private
Аноним 05/11/22 Суб 18:54:11 2506545 375
>>2506491
Это байтоебля, причем уровня C.

Я же попросил примеры использования union в плюсах.
Аноним 05/11/22 Суб 19:01:06 2506563 376
Screenshot from[...].png 16Кб, 643x181
643x181
>>2506498
Ты передаешь указатель на функцию инстанса класса в сишную функицю - так это работать не будет.

Тебе нужно этот callback сделать статическим методом класса и отдавать его.
Либо же вызывать примерно с обёрткой в лямбде как на картинке.
Аноним 05/11/22 Суб 19:40:28 2506608 377
>>2506545
Наверное мы очень по разному воспринимаем плюсы.
Аноним 05/11/22 Суб 21:12:50 2506692 378
>>2506608
Ты, похоже, как си с классами
Аноним 05/11/22 Суб 21:50:42 2506724 379
>>2506545
Пишешь плавающую точку для МК
@
Не, плюсы не для того
Аноним 05/11/22 Суб 21:59:43 2506726 380
>>2506545
Ну если хочется примеров для хайлевела — симуляция ADT (вроде std::variant/expected).

>>2506692
А ты видимо, как джаву.
Аноним 05/11/22 Суб 22:06:49 2506732 381
Как защитить от изменения структуру сериализованную в двоичном виде?
Аноним 05/11/22 Суб 22:08:04 2506733 382
Аноним 05/11/22 Суб 22:14:33 2506737 383
>>2506733
А как? У меня лапки...
Аноним 05/11/22 Суб 22:21:13 2506742 384
>>2506737
Генерируешь секретный ключ, вычисляешь хеш-функцию от конкатенации ключа и полей структуры, результат передаёшь ещё одним полем в структуре. Если кто-то изменит поля структуры, хеш будет отличаться, а ты поймёшь, что подписано не твоим ключом, т.к. хеш будет отличаться от хеша, сгенерированного тобой для проверки. Т.к. ключ знаешь только ты, корректный хеш сгенерировать тоже можешь только ты.
Это самопальный алгоритм подписания, есть нормальные либы, но там уже заморачиваются с сертификатами, чтобы проверить подлинность мог кто угодно, а не только тот, у кого секретный ключ.
Аноним 05/11/22 Суб 22:24:58 2506749 385
Аноним 05/11/22 Суб 22:28:17 2506754 386
>>2506749
Не сложнее клепания формочек на Qt, если не заморачиваться.
Аноним 05/11/22 Суб 22:29:05 2506756 387
>>2504842
Поставь на неё Visual Assist, там что то допиливали для UE
Аноним 05/11/22 Суб 22:36:43 2506763 388
>>2506754
Но я не клепаю формочки на Qt
Аноним 05/11/22 Суб 22:41:49 2506768 389
Аноним 05/11/22 Суб 22:43:03 2506771 390
>>2506768
Мне imgui больше нравится
Аноним 05/11/22 Суб 23:05:05 2506777 391
>>2491360 (OP)
есть аналоги питоновского нумпи на цпп?
Аноним 05/11/22 Суб 23:18:15 2506784 392
>>2506777
В Boost есть ВСЁ, кроме гуя.
Аноним 05/11/22 Суб 23:26:36 2506792 393
maxresdefault.jpg 21Кб, 1280x720
1280x720
>>2506784
Во дворе стоит статуя, у статуи нету ГУЯ
Аноним 05/11/22 Суб 23:34:46 2506798 394
.png 95Кб, 920x805
920x805
Аноним 05/11/22 Суб 23:58:29 2506805 395
>>2506784
>Boost
это аналог vcpkg что ли?
Аноним 06/11/22 Вск 00:11:32 2506812 396
>>2506805
Нет, это просто набор библиотек на все случаи жизни. Специально для Boost-разработчиков.
Аноним 06/11/22 Вск 00:21:01 2506820 397
Аноним 06/11/22 Вск 00:23:30 2506822 398
>>2506756
Платная же тема.
Я к решвабреру больше склоняюсь, но пока не горит.
Аноним 06/11/22 Вск 00:34:00 2506828 399
>>2506820
>BLAS
их сайт не открывается, только под впн
Аноним 06/11/22 Вск 00:46:47 2506836 400
>>2506784
Даже крипта? Тридэ? Датасаенс и комплюхтер вижн? Инструменты для хуйлоад систем?
Аноним 06/11/22 Вск 02:36:50 2506865 401
Screenshot from[...].png 217Кб, 1195x1347
1195x1347
Screenshot from[...].png 110Кб, 879x933
879x933
Я написал мейк. Перекатывайтесь. Хватит зависеть от наследия Столлмана.
Аноним 06/11/22 Вск 02:39:15 2506867 402
image.png 67Кб, 338x390
338x390
>>2491360 (OP)
ищу библиотеку для довольно простых операций
такое на пипон и жыэс давно есть и работают
в цпп же... такая параша караул, либо нет ни документации ни примеров
либо всё очень трудно и непонятно и хз для кого писалось
это просто издевательство какое то
Аноним 06/11/22 Вск 02:46:01 2506868 403
>>2506867
Сколько наводящих вопросов мы должны тебе задать, чтобы ты написал, какие задачи должна решать библиотека?
Аноним 06/11/22 Вск 02:46:56 2506869 404
Аноним 06/11/22 Вск 02:53:39 2506870 405
>>2506865
Клонов мейка в крестах и так дохуя. Лучше нормальную систему сборки напиши, которая сама умеет качать зависимости, собирать проекты без вызова сторонних make/msbuild/говнонейм, работать на основных платформах и с основными компиляторами. В других языках давно есть.
Аноним 06/11/22 Вск 03:11:39 2506872 406
Аноним 06/11/22 Вск 04:36:13 2506893 407
Screenshot from[...].png 216Кб, 1219x1411
1219x1411
Screenshot from[...].png 94Кб, 633x857
633x857
Screenshot from[...].png 276Кб, 1025x1875
1025x1875
Screenshot from[...].png 235Кб, 849x1817
849x1817
>>2506865
Ладно, это рофл конечно был. Вот по-нормальному.
Аноним 06/11/22 Вск 05:30:26 2506899 408
Screenshot from[...].png 239Кб, 1035x1875
1035x1875
о, заебись, инклуды сделал
Аноним 06/11/22 Вск 05:33:27 2506900 409
Вот бы ещё помацать больших жилистых членов.
Аноним 06/11/22 Вск 05:37:08 2506901 410
Аноним 06/11/22 Вск 06:19:11 2506903 411
>>2506893
> 4 скрин
Нахуя ты муваешь стд стринг?
Аноним 06/11/22 Вск 06:39:38 2506906 412
>>2506893
А ещё ты в бесконечный цикл уходишь при циклических зависимостях
Аноним 06/11/22 Вск 08:06:48 2506921 413
что имею:
float f;
float m;
m = std::modff(1.0015f, &i);
std::cout << m; // 0.00150001

как пофиксить эту блядскую 1 в конце? все расчеты мне ломает...
Аноним 06/11/22 Вск 08:09:57 2506923 414
>>2506921
>>float f;
float i быстрофикс
ну или modf(1.0015f, &f); в общем вы поняли очепятка
Аноним 06/11/22 Вск 08:44:30 2506933 415
>>2506899
Это кал. Нужны переменные.
Аноним 06/11/22 Вск 08:45:59 2506934 416
Аноним 06/11/22 Вск 09:35:04 2506942 417
C++ или Раст и почему?
Аноним 06/11/22 Вск 09:53:39 2506947 418
Аноним 06/11/22 Вск 09:58:02 2506948 419
Аноним 06/11/22 Вск 10:05:55 2506949 420
>>2506948
Для своих поделок?
Для зарабатывания денег?
Для ебли?
Аноним 06/11/22 Вск 10:10:53 2506950 421
Аноним 06/11/22 Вск 10:25:38 2506964 422
>>2506950
Если ты совсем нулевой, то изучай только устоявшися языки, rust все еще перспекитвыный язык, для тех кому нужен баланс скорости и безопасности, но only rust вакансий все еще мало, да и ждут там как правило тех кто понимат зачем тут rust а не с++ наример, тоесть сталкивался с неопределнным поведением, затыками в многопоточности, утечками памяти и т.д. В общем сли перекатываешься в "системное" программирование из других сфер можешь брать rust, в остальных случаях c++
Аноним 06/11/22 Вск 10:28:36 2506966 423
>>2506964
А правда что на плюсах в основном легаси и новых проектов почти нет?
Аноним 06/11/22 Вск 10:40:57 2506968 424
>>2506966
Кресты еще молодой язык, он бурно развивается, проекты лет через 5 завезут.
Аноним 06/11/22 Вск 10:47:59 2506969 425
>>2506968
Что поменяется через 5 лет?
Аноним 06/11/22 Вск 11:41:12 2507008 426
>>2506942
Сначала плюсы потом раст.

>>2506966
Легаси в низкоуровневом программировании вообще больше чем где либо, и это не только про плюсы, в том же расте ситуация через n лет будет та же — никто на таких языках не хуячит стартапы, не проводит а/б тесты выкидывая код после, не хуячит новые фреймворки каждую неделю итд и будет куча легаси.
Аноним 06/11/22 Вск 11:47:32 2507010 427
>>2506903
Потому что мне впадлу делать темплейт или перегружать метод для lvalue и rvalue аргумента и делать emplace(std::forward), а так плюс-минус правильная семантика получается, не считая лишнего копирования string handle.
>>2506906
Да, валидацию я не сделал. Надо при посещении таргета ставить в true некий флаг visited, чтоб при повторном попаднии сюда throw-ать exception про cyclic dependency.
>>2506933
Я спать хотел уже. Сейчас сделаю.
Аноним 06/11/22 Вск 11:56:06 2507015 428
Screenshot from[...].png 93Кб, 955x853
955x853
Аноним 06/11/22 Вск 12:14:03 2507024 429
Screenshot from[...].png 261Кб, 871x1929
871x1929
>>2507015
Ладно, надо еще для инклудов циклы детектить.
Аноним 06/11/22 Вск 13:50:40 2507079 430
Screenshot2022-[...].png 12Кб, 615x74
615x74
>>2507024
Лiл, словил флешбеки с периода когда я работал на львовской галере.
Аноним 06/11/22 Вск 15:10:42 2507128 431
Аноним 06/11/22 Вск 15:13:37 2507130 432
Аноним 06/11/22 Вск 15:34:20 2507137 433
image.png 98Кб, 1706x473
1706x473
>>2506563
Скопировал текст с картинки,переместил описание функции callback в private,но получаю следующие ошибки:
И если этот способ не работает,то как сделать способ со статическим методом?
Аноним 06/11/22 Вск 15:35:57 2507138 434
Нужны ли в крестах декораторы? Какие задачи они могли бы решить? Из наиболее очевидного для меня - скрывать вермишель из шаблонов, но мб ещё для чего-нибудь пригодится? Думаю какой бы полезный пет проект написать.
Аноним 06/11/22 Вск 16:42:59 2507176 435
image.png 14Кб, 512x512
512x512
>>2507130
Если ты про пикрил, и уволился оттуда не раньше лета 2021-го, то может и пересекались.
Аноним 06/11/22 Вск 17:29:40 2507205 436
>>2507204 →
Поменяй [](void ctx....) { на [](void ctx....) -> int {

Я обосрался и думал что там callback без возращаемого значения.

А статик сделать очень просто: добавить слово static перед объявлением callback в твоём оригинальном коде.
Аноним 06/11/22 Вск 17:33:12 2507206 437
Аноним 06/11/22 Вск 17:44:47 2507217 438
>>2506969
вагнет бахмут возьмут
Аноним 06/11/22 Вск 17:52:08 2507226 439
>>2507217
Тюрьмы на россии опустеют намного раньше
Аноним 06/11/22 Вск 17:53:37 2507229 440
>>2507205
Сделал через статик,положив колбэк в private.
Спасибо,все заработало. Если не лень,то можешь объяснить,почему без static не работало,а с ним заработало?
Аноним 06/11/22 Вск 18:23:22 2507269 441
>>2507229
> Если не лень,то можешь объяснить,почему без static не работало,а с ним заработало?
Потому что без static ты определяешь метод класса, а с ним - функцию.
Указатели на метод класса это в плюсах вообще хуйня какая-то, которая может вести себя хуй пойми как.
Аноним 06/11/22 Вск 23:19:54 2507602 442
Аноним 06/11/22 Вск 23:28:23 2507608 443
>>2506921
Тебе очень внимательно стоит прочитать про хранение чисел с плавающей точкой на компе. Твой вопрос некорректен, или переформулируй его в "как в цпп округлять до iго знака"
Аноним 07/11/22 Пнд 01:15:28 2507661 444
>>2506921
Если тебе надо считать точные значения без ошибок округления флоата, юзай какую-нибудь либу для длинной арифметики, например, GMP или Boost.Multiprecision, в котором есть обёртки для GMP. Работает медленнее флоата, это цена за точность.
Аноним 07/11/22 Пнд 11:33:46 2507783 445
>>2506921
что имею:
short i;
for (i=1; i<100500; i++)
std::cout << i;

как пофиксить это блядство? все расчеты мне ломает...
07/11/22 Пнд 14:55:15 2507928 446
ребята кто может помочь срочно, как управлять сервоприводом без библиотеки, тапа что бы при определённом значении x он поворачивался
Аноним 07/11/22 Пнд 15:35:19 2507961 447
>>2507928
if (x == n) {
servo.running = true;
} else {
servo.running = false;
}
07/11/22 Пнд 16:12:01 2508002 448
>>2507961
а разве команда servo применяется без подключения библиотеки >>2507961
Аноним 07/11/22 Пнд 16:15:11 2508003 449
>>2508002
servo это структура которую ты сам определяешь в зависимости от того как и куда у тебя этот сервак подключен.
07/11/22 Пнд 16:37:22 2508025 450
можешь написать пожалуйста как мне управлять углом типа, мне нужно три позиции 0, 90 и 180 градусов а значение задать что то по типу pos0→(0-255) = x>>2508003
Аноним 07/11/22 Пнд 18:04:00 2508071 451
Есть ли более годные аналоги sfml?
Аноним 07/11/22 Пнд 18:06:35 2508072 452
Аноним 07/11/22 Пнд 18:09:26 2508074 453
Аноним 07/11/22 Пнд 18:37:11 2508106 454
Аноним 07/11/22 Пнд 18:46:08 2508114 455
>>2508106
Анриал слишком жирный для моей игры
Аноним 07/11/22 Пнд 19:26:28 2508186 456
std::rand совсем хуйня или под пиво пойдёт?
Аноним 07/11/22 Пнд 19:31:33 2508198 457
>>2508186
Документация тебе на что?

>https://en.cppreference.com/w/cpp/numeric/random/rand
>There are no guarantees as to the quality of the random sequence produced. In the past, some implementations of rand() have had serious shortcomings in the randomness, distribution and period of the sequence produced (in one well-known example, the low-order bit simply alternated between 1 and 0 between calls).
>
>rand() is not recommended for serious random-number generation needs.
Аноним 07/11/22 Пнд 19:35:37 2508204 458
>>2508198
Документация это документация, а мне нужно авторитетное мнение авторитетных байтоёбов.
Аноним 07/11/22 Пнд 20:02:25 2508228 459
Пишу свою ККИ, посоветуйте что почитать для написания бота для синглплеера.
Аноним 07/11/22 Пнд 21:25:52 2508294 460
изображение.png 72Кб, 991x820
991x820
>>2508186
>совсем хуйня
Совсем хуйня на несколько строчек.

>под пиво пойдёт?
Под пиво пойдет.

Собственно, возьми и потестируй, что она выдает.
Аноним 08/11/22 Втр 01:35:38 2508458 461
image.png 24Кб, 404x407
404x407
Помогите с этим дрочевом из массивов, функций и указателей в C. Не могу понять что не так, в функции на строке с printf всё выводится, а на следующей (с strcpy) выдает exception - segmentation fault. Как фиксить?

https://pastebin.com/3XcpCwU7
Аноним 08/11/22 Втр 01:41:46 2508462 462
>>2508458
Туда, где хранятся строковые литералы, нельзя ничего записывать.
Аноним 08/11/22 Втр 04:44:26 2508509 463
>>2508462
А, точно, функция не при чем. Тогда как сделать то, что я пытаюсь сделать? Видимо как-то изъебнуться с указателями, но я не понимаю как именно
Аноним 08/11/22 Втр 05:47:34 2508520 464
>>2508509
Очевидно надо сделать чтобы можно было записывать. Есть функции защиты памяти, берешь и снимаешь защиту.
Аноним 08/11/22 Втр 10:18:14 2508607 465
Аноним 08/11/22 Втр 11:56:14 2508665 466
>>2508607
оплодотворение твоей мамаши
Аноним 08/11/22 Втр 12:08:31 2508670 467
Аноним 08/11/22 Втр 16:59:13 2508926 468
Есть какие-то надстройки над вулканом, чтобы не ебаться с низкоуровневым кодом, а получить высокоуровневую и быструю либу для рендера всего подряд?
Аноним 08/11/22 Втр 17:27:25 2508951 469
>>2508926
Любой графический движок.
Аноним 08/11/22 Втр 18:55:04 2509043 470
Аноним 08/11/22 Втр 20:25:35 2509126 471
Раз про вулкан пошло.
Знает кто как семплер прикрутить к индирект драв нв / шайдинг меш нв - шнйдерам?
К базовым вертекс - индекс все работает а к этим хз как.
Аноним 08/11/22 Втр 23:07:04 2509300 472
Пацаны. Нубасный вопрос.

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

Хочу это дело упростить, завести что-то типа мапы, где ключом будет некий идентификатор, получаемый из std::type_info (поле hash_code), а значением указатель на функцию, которая умеет парсить соответствующий тип. При старте программы накидать в мапу функций под сериализуемые классы и вызывать их из кода, который парсит сообщения.

Протокол обмена бинарный, если что. Норм идея или можно сделать другим способом? Если у меня две отдельные проги, использующие одни и те же хедеры (частично), то будут ли значения std::type_info одинаковы для одних и тех же классов при компиляции проектов по отдельности?
Аноним 08/11/22 Втр 23:08:54 2509303 473
Бля, понос ебаный. В мануале написано, что hash_code может различаться даже в рамках одной проги от запуска к запуску.
Аноним 08/11/22 Втр 23:09:55 2509304 474
Стопе, мне ж ничего не мешает в качестве ключа использовать сам std::type_info, чи шо.
Аноним 08/11/22 Втр 23:31:28 2509324 475
>>2509304
Один байт. Сам назначишь. Индекс в массиве функций.
Аноним 09/11/22 Срд 01:03:10 2509385 476
>>2509300
Нет. Зависит от компилятора. Используй Boost.Serialization. Или заверни данные в protobuf например.
Аноним 09/11/22 Срд 02:26:49 2509406 477
>>2509300
А разве в начале класса с виртуальными функциями нет части, которая указывает на конкретный класс?
Аноним 09/11/22 Срд 09:33:14 2509481 478
>>2509406
Если я правильно помню, в начале класса должен лежать указатель на таблицу виртуальных функций. И по нему можно сказать, с каким классом по факту имеем дело.

Моя проблема в том, что выходит так, что надо самому придумывать некие константы, которые не будут меняться между запусками программы и компиляциями, т.к. программ у меня две -- клиент и сервер. И "идентификаторы" типов на них должны совпадать, для корректного определения, что за данные пришли по сетке. Я типа над этим голову ломал, можно ли сделать так, чтобы оно само выводило идентификаторы программно, а не я их зафигачил в коде в какой-нибудь enum.
Аноним 09/11/22 Срд 10:30:02 2509505 479
Аноним 09/11/22 Срд 13:33:09 2509634 480
Обращаюсь к нормальным людям, а не к тем, кто прошел курс на степике по плюсам и кричит, что работы нет. Как обстоит вопрос со стажировками в Европе? Сильно лучше/хуже чем в РФ?
Аноним 09/11/22 Срд 15:12:48 2509734 481
>>2509634
#define нормальные люди
Аноним 09/11/22 Срд 15:14:58 2509737 482
Аноним 09/11/22 Срд 15:31:49 2509749 483
Аноним 09/11/22 Срд 15:40:20 2509767 484
Аноним 09/11/22 Срд 15:56:41 2509787 485
>>2509767
Понял, принял, я тебя вычёркиваю из нормальных
Аноним 09/11/22 Срд 17:25:28 2509883 486
В STL есть аналог memcmp() ?
Аноним 09/11/22 Срд 17:26:03 2509884 487
Аноним 09/11/22 Срд 17:34:10 2509892 488
Откуда пошло называть всю стандартную библиотеку плюсов STL? Всё равно что тётки, называющие системный блок процессором.
Аноним 09/11/22 Срд 17:35:17 2509893 489
>>2509884
не, по аналогии с std::uninitialized_copy(), которая заменяет memcpy()
Аноним 09/11/22 Срд 17:37:38 2509898 490
>>2509892
От любви к сестре таланта. Как еще кратко назвать стандартную библиотеку?
Аноним 09/11/22 Срд 17:41:04 2509904 491
тред баз данных мертв, поэтому спрошу здесь
Нужно на SQLite сделать запрос, что если нужный текстовый столбик, в нужной записи не равен '' - пустой строке, то значит мы удаляем из этой строки один символ. Если все таки равен пустой строке, то мы берем текстовый столбик из другой записи.

На языке С++ выглядит так


string getString()
{
if(value1 != "")
{
value1.pop_back();
return value1;
}
else
{
return value2;
}
}
Аноним 09/11/22 Срд 17:51:53 2509917 492
Аноним 09/11/22 Срд 17:55:15 2509923 493
>>2509917
В std:: входит и сишная библиотека, чего мне по существу вопроса как раз нужно было исключить.
Аноним 09/11/22 Срд 17:59:25 2509926 494
>>2509923
Неправда, сишные функции не в неймспейсе.
Аноним 09/11/22 Срд 18:07:10 2509931 495
Аноним 09/11/22 Срд 18:08:40 2509934 496
>>2509926
А, стоп, это я неправ. Они объявлены и глобально, и в std::, лол? А зачем?
Аноним 09/11/22 Срд 18:11:38 2509937 497
>>2509934
Чтобы код на чистом Си мог компилироваться же.
Си никакого вообще понятия не имеет, что такое неймспейс.
Аноним 09/11/22 Срд 21:24:06 2510122 498
>>2509934
>>2509937
Стоп, то есть вы хотите мне сказать что сишная функция и функция с тем же названием но из std:: никакой разницы в реализациях не имеют и работают и имеют одинаковую производительность?
Аноним 09/11/22 Срд 22:45:23 2510207 499
Аноны. Чё-т не пойму, чё за хуйня.

Есть базовый класс с виртуальными функциями. Наследуюсь от него. Хедер (.h) и исходники с имплементацией (.cpp) наследников.

Пихаю класс-наследника в один хедер и цпп, сборка обсирается с ошибками undefined reference to vtable for и прочая паебень. Переношу этот же класс-наследник в другой хедер и цпп, эта хуедрыгало собирается нормально, без ошибок. Код один и тот же, инклюды все подключены. Чё за поебень? Проект на Qt, система сборки qmake. Типа эта параша линкеру не может в нужном порядке подпихнуть объектники чи шо?
Аноним 10/11/22 Чтв 00:31:49 2510288 500
Пиздец нахуй. Вощем, забыл в другие подпроекты добавить хедеры и исходники новые. А эта Qt-параша тупо собирает все проекты из дерева и естественно не сообщает, на каком из них обосралась. Сука, весь вечер убил на это дрочево.
Аноним 10/11/22 Чтв 01:51:49 2510336 501
>>2509937
Да это-то понятно, зачем их в неймспейс запихнули?
Аноним 10/11/22 Чтв 01:53:17 2510337 502
Аноним 10/11/22 Чтв 08:09:31 2510410 503
>>2509406
>класса с виртуальными функциями нет части
У класса с виртуальными функциями нет чести, используй CRTP
Аноним 10/11/22 Чтв 10:48:04 2510475 504
Как скачать вижуал сейчас, если он без впн не качается?
Аноним 10/11/22 Чтв 10:51:01 2510479 505
Аноним 10/11/22 Чтв 10:52:15 2510480 506
Аноним 10/11/22 Чтв 11:47:24 2510502 507
Аноним 10/11/22 Чтв 13:49:16 2510602 508
image.png 74Кб, 1347x553
1347x553
image.png 46Кб, 849x611
849x611
>>2491360 (OP)
В прошлый раз вы послали меня нахуй, но я вернулся.
Как блять вычислить матрицу 1024х1024?????
вроде нашёл рабочий код, но не могу никак запустить проверить.
Я за плюсы вообще не шарю, а тут ещё и указатели какие-то. Можно в двух словах сказать как запустить код?
Аноним 10/11/22 Чтв 14:16:17 2510615 509
Аноним 10/11/22 Чтв 14:22:32 2510620 510
>>2510602
> Можно в двух словах сказать как запустить код?
Выделяешь память для трёх матриц, заполняешь первые две, потом все три передаешь в функцию.
> float ⚹⚹
Задумчивое ебало питекантропа представили?
Аноним 10/11/22 Чтв 14:44:11 2510636 511
>>2510620
>Выделяешь память для трёх матриц, за
Да, я так и хотел сделать, видимо это надо делать через new
Аноним 10/11/22 Чтв 14:55:29 2510642 512
>>2510636
Ну типа.
В твоём случае
float ⚹⚹ptr = new float⚹ [N];
for(int i = 0; i < N; i++)
ptr = new float[N];

Но ещё можно исправить ту функцию. Поменять «указатель на указатель на float» на обычный «указатель на float» (звёздочку одну убрать), и к элементам обращаться не как ptr[j], а как ptr[i⚹N+j]. Правда массив в функцию придется передавать в виде reinterpret_cast<float⚹>(A), но зато объявление можно не менять.
Аноним 10/11/22 Чтв 14:56:29 2510644 513
>>2510642
> ptr = new float[N];
ptr[ i] = new float[N];
быстрофикс
Аноним 10/11/22 Чтв 14:57:51 2510646 514
>>2510642
> к элементам обращаться не как ptr[j], а как ptr[i⚹N+j]
к элементам обращаться не как ptr[ i][j], а как ptr[i⚹N+j]
ещё один быстрофикс
Аноним 10/11/22 Чтв 15:11:21 2510650 515
Аноним 10/11/22 Чтв 17:54:38 2510775 516
>>2509634
Сейчас почти везде хайринг фриз, если ты про крупные конторы говоришь. Если живешь в РФ, то гораздо проще в яндекс на стажировку попасть, я думаю.
Аноним 11/11/22 Птн 06:23:15 2511041 517
>>2510648
Смотря что ты делаешь
Если будешь удалять/создавать строки в матрице, то лучше первый вариант
Если будешь часто ее просто считывать, то второй
Аноним 11/11/22 Птн 10:32:34 2511120 518
Почему мой .cc файл не видит самописные хедеры? Я конфигурирую с помощью сmake, - он видит эти файлы. Я понял, что он видит файлы потому что когда я открываю CMakeList.txt с помощью qtcreator всё окружение подгружается. При компиляциии пишет, что нет этого файла или директории.
Аноним 11/11/22 Птн 11:58:22 2511165 519
>>2511068
Обычно так и делают, тогда можно просто
std::array<type, n*m>
Но это для матрицы фиксированного размера, если будешь вставлять элементы то будет худо
Аноним 11/11/22 Птн 12:00:12 2511167 520
>>2511120
Если при компиляции не видит хэдеры, значит симейк их не видит
Это нормально что Иде и билд система видят по разному

target_include_directories что то там в симейке пропиши
Аноним 11/11/22 Птн 12:11:35 2511172 521
>>2511165
Если для математических матриц, то лучше std::valarray

>матрицы фиксированного размера
А у матриц размер вобще меняется?
Аноним 11/11/22 Птн 13:51:27 2511236 522
>>2511167
Но я уже сделал include: общий файл выглядит так:

cmake_minimum_required(VERSION 3.16...3.21)
project(Gam)

include_directories(${PROJECT_SOURCE_DIR}/src/.cc)
include_directories(${PROJECT_SOURCE_DIR}/include/
.hh)

file(GLOB sources ${PROJECT_SOURCE_DIR}/src/.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/
.hh)

add_executable( gg Gam.cc ${sources} ${headers})

Когда я добавил target_include_directories( ${PROJECT_NAME} PUBLIC include) выдало ошибку о том, что cannot specify include directories for target "Gam" which is not build by this project/
Аноним 11/11/22 Птн 13:55:02 2511239 523
>>2511236
У меня для тебя плохие новости, так уже никто не пишет симейки
Сейчас в модерн симейк оперируют таргетами

> target_include_directories( ${PROJECT_NAME} PUBLIC include)
{Симейк_продект директори}/инклуд попробуй
Аноним 11/11/22 Птн 14:15:40 2511251 524
16492245923800.jpg 139Кб, 768x1024
768x1024
>>2511167
> Это нормально что Иде и билд система видят по разному
Аноним 11/11/22 Птн 18:32:51 2511520 525
>>2491360 (OP)
>thread #139

В 30 треде еще были стихи. Давно мы их не было в этом итт треде...
Аноним 11/11/22 Птн 20:05:45 2511602 526
>>2511520
в каких годах это было?
Аноним 11/11/22 Птн 20:13:18 2511608 527
>>2511602
Я уже и не помню, но скорее всего в районе 2016-2017.
Аноним 12/11/22 Суб 10:43:52 2511935 528
i(15).jpg 88Кб, 1280x720
1280x720
Анчуаны, поясните, пожалуйста, за кастомные аллокаторы. Моей программе нужно часто выделять много мелких фрагментов памяти одинакового размера и на просторах интранетов я слышал, что использование кастомного аллокатора под задачу может повысить производительность программы. Собственно, вопросы: Можно ли использовать разные аллокаторы в одной программе? Какие подводные камни нужно учесть при написании своего аллокатора?
Дарю шнекоход.
Аноним 12/11/22 Суб 11:05:21 2511952 529
>>2511935
>Можно ли использовать разные аллокаторы
библиотека std именно под это и спроектирована

>подводные камни
многопоточность
Аноним 12/11/22 Суб 12:21:41 2511984 530
Разве в бусте нет готовых пулов?
Аноним 12/11/22 Суб 13:48:35 2512032 531
Как дела в С++ обстоят с джунами?Есть смысл имея университетский уровень языка дальше его изучать и искать работу?
Аноним 12/11/22 Суб 16:05:03 2512124 532
>>2512032
Сначала лучше ищи работу, а потом изучай. Походишь по собесам - поймёшь какое подмножество языка востребовано и где надо поднажать.

Рынок труда сильно тряхнуло и часть компаний по всем позициям остановили найм, а часть - уехали. Сейчас есть некоторое оживление, но скоро праздники и мёртвый сезон до марта-апреля.

Стажировки ещё есть и джунов берут - 100% можно залететь на оборонку - там сейчас найм и денег подвезли (но всё равно пановать не будешь и специфика может вызвать отторжение). В брендовых конторах надо писать HRам и спрашивать чё как и когда появится. Либо чеерз преподов на кафедрах искать.

Если есть время - то лучше поднажми на Python. Комбо из c++/python/University B.S. in Math/Physics/Computer Science пробивает любой блок.
Аноним 12/11/22 Суб 16:52:05 2512153 533
>>2512032
>имея университетский уровень языка
Это какой? Когда в у меня был С++ в универе, мы только дошли до полиморфизма и виртуальных функицй. Исключения, шаблоны, всякие RAII уже не проходили, лямбды и многопоточность с моделью памяти тем более.

>дальше его изучать и искать работу
Ну С++ все еще живой и на нем пишут, так что если есть желание, то наверное есть смысл. С другой стороны, неплохо еще что-то уметь помимо самого языка программирования. То есть знать какие-нибудь кишочки сетей/ос или всякие штуки про графику. Ну или хотя бы Qt.
Аноним 12/11/22 Суб 18:37:46 2512231 534
16550987515171.jpg 13Кб, 480x360
480x360
> 2022
> Cmake все еще не умеет в модули

когда же мне дадут в моих петах писать божественный import std;
Аноним 12/11/22 Суб 19:56:07 2512319 535
>>2512231
Ты дурак или троль?
Аноним 12/11/22 Суб 19:57:12 2512321 536
Аноним 12/11/22 Суб 20:45:10 2512370 537
>>2512319
В чем он не прав?
Модули появились в с++20, скоро уже 23 выходит, а нормально собирать это все нечем
Аноним 12/11/22 Суб 20:55:41 2512376 538
>>2512370
> собирать это все нечем
Чел, msbuild уже почти два года умеет. И std в модули перенесено. Нахуй вы со всяким говном типа cmake сидите?
Аноним 12/11/22 Суб 20:57:20 2512378 539
>>2512376
Мсбилд в кроссплатформу не умеет
Аноним 12/11/22 Суб 21:06:57 2512382 540
>>2512378
Умеет. Студия только под винду, но собирать умеет под WSL или удалённый линукс, даже дебажить умеет. Линукс уже давно в винду встроен, странно было бы если msbuild не умел бы собирать кресты под него. Только тут уже следующий вопрос к тулчейну, GCC умеет в модули хоть?
Аноним 12/11/22 Суб 21:13:56 2512387 541
>>2512382
> собирать умеет под WSL
Ну это конечно классно, под мак бы еще собираться научиться
> GCC умеет в модули хоть
Да вроде умеет, кланг тоже
Аноним 12/11/22 Суб 21:20:21 2512393 542
1614756652684.png 29Кб, 1252x301
1252x301
>>2512387
> Да вроде умеет, кланг тоже
Только почему-то частично умеют, не понятно что это значит.
Аноним 12/11/22 Суб 21:28:09 2512394 543
изображение.png 48Кб, 864x722
864x722
изображение.png 100Кб, 1037x1094
1037x1094
Сделал связный список как по книжкам учат. Ну узел, который указывает на следующий узел, который и т. д...

Теперь хочу константный список и обламываюсь. Если объявить const List<T> list{}, то все внутренности класса списка становятся константами. Тупо даже нельзя обход списка сделать, т. к. это требует изменения указателей.
А самый прикол при всем этом, что можно создать метод, который изменяет значение в узле. То есть константность данных вообще никак не обеспечивается. Класс владеет только указателями и их изменять нельзя, а сами данные изменяй сколько хочешь.

Как это делается по-нормальному?
Аноним 12/11/22 Суб 21:36:01 2512397 544
Что надо знать чтобы вкатиться на ждуна? Какие зп у ждуна? Можно ли найти работу ждуном по удалёнке на запад? Я не совсем нулевой, 2 года отпахал фуллстаком.
Аноним 12/11/22 Суб 21:40:27 2512399 545
>>2512394
>Тупо даже нельзя обход списка сделать, т. к. это требует изменения указателей
А? При обходе ты же указатели в нодах не меняешь, а просто по ним проходишься

Ты как то поконкретнее вопрос задай

>>2512397
Зависит от сферы, с такими вопросами тебе лучше сразу идти интересующие тебя вакансии смотреть что в них требуется
Универсального списка нет
>Какие зп у ждуна?
рандом
>Можно ли найти работу ждуном по удалёнке на запад?
Сейчас это сложнее чем когда либо но все еще возможно
Аноним 12/11/22 Суб 21:44:11 2512400 546
>>2512399
>Зависит от сферы, с такими вопросами тебе лучше сразу идти интересующие тебя вакансии смотреть что в них требуется
Универсального списка нет
Ну я в целом неплохо шарю за стандарты, STL, на литкоде чисто на плюсах 150 задач порешал, копал буст и qt. Что мне лучше сейчас освоить чтобы стать крутым и повысить шансы на вкат - параллельное программирование или программирование под линукс?
Аноним 12/11/22 Суб 21:47:10 2512401 547
>>2512400
Ну с таким списком я бы уверено уже на собесы ходил
Только если конкретная предметная область интересует какая то, то можно подучиться еще
Аноним 12/11/22 Суб 21:50:32 2512402 548
>>2512401
Вообще интересует меня машоб и нейронки. Но в них я только недавно начал вкатываться со стороны навёрстывания проёбаных лекций матана и с питона. А кушать уже хочется. Так что я пока тем что наиболее интересно буду заниматься на досуге, а пока руку в крестах набью.
Аноним 12/11/22 Суб 21:53:57 2512403 549
Аноним 12/11/22 Суб 22:09:38 2512411 550
изображение.png 76Кб, 804x436
804x436
>>2512399
>А? При обходе ты же указатели в нодах не меняешь, а просто по ним проходишься
Ну если манипулировать голимыми нодами, как это в Си делается, то да.
А если собрать это все в класс списка, то нужно хранить как минимум указатель на текущий узел. У меня это сurr_. И константный указатель никуда не сдвинется.
А ноды как раз-таки менять можно как хочешь, потомучто в классе нет членов-нодов, только указатели.

>Ты как то поконкретнее вопрос задай
Как обеспечить константность данных в списке, сохранив при этом работоспособность самого класса?
Аноним 12/11/22 Суб 22:14:28 2512412 551
>>2512411
>А если собрать это все в класс списка, то нужно хранить как минимум указатель на текущий узел. У меня это сurr_. И константный указатель никуда не сдвинется.
Если ты только так хочешь список обходить, то никак тебе константность не обойти

А вобще обычно хранят только начало и конец списка
Аноним 12/11/22 Суб 22:21:25 2512418 552
>>2512412
>Если ты только так хочешь список обходить
Дело не в том, что я уперся в такую хотелку, а в том, что я других реализаций в литературе не встречал.

>хранят только начало и конец
Это не суть. Реализация с пикрил перегружена избыточным функционалом просто в порядке упражнений.
>А вобще обычно хранят только начало и конец списка
Ну а как хранят, в виде чего?
Если это указатели на ноды, то тут те же самые проблемы.
Аноним 12/11/22 Суб 22:28:41 2512427 553
image.png 39Кб, 586x189
586x189
>>2512411
че это и нах оно в классе списка?
Аноним 12/11/22 Суб 22:31:31 2512430 554
>>2512427
Предыдущий узел и текущий узел.

Во всяком случае на первый взгляд выглядит дешево и сердито в плане реализации.
Аноним 12/11/22 Суб 22:32:15 2512432 555
>>2512430
>Предыдущий узел и текущий узел.
Точнее указатели на...
Аноним 12/11/22 Суб 22:33:55 2512436 556
>>2512400
>Что мне лучше сейчас освоить чтобы стать крутым и повысить шансы на вкат - параллельное программирование или программирование под линукс?
Бамп годному вопросу
Аноним 12/11/22 Суб 22:36:10 2512437 557
>>2512432
удали и сделай нормальные итераторы, с операторами ++, *
погугли как их делать для связных списков
Аноним 12/11/22 Суб 22:43:42 2512439 558
>>2512437
>сделай нормальные итераторы
Тоже склоняюсь к мысли, что иначе проблему не забороть.
Но я не могу просто взять и все перепилить на свой вкус, т. к. к такой реализации привязано все повествование книжки.

Чего я на самом здесь и сейчас хочу - это выяснить пределы возможностей такой вот, широко распространенной в книжках, архитектуры. И со спокойной совестью записать себе в блокнотик, что поцаны так не делают.
Аноним 12/11/22 Суб 22:46:09 2512442 559
>>2512439
ну объяви их mutable тогда
Аноним 12/11/22 Суб 22:49:58 2512444 560
>>2512442
Тогда там все поля, кроме размера списка, становятся мутабельными, что практически делает бессмысленной константность.
Аноним 12/11/22 Суб 22:56:15 2512448 561
>>2512442
И это все равно не устраняет проблему, что данные в нодах можно изменять, вне зависимости от константности списка.
Аноним 12/11/22 Суб 22:57:32 2512450 562
>>2512444
покажи сам обход списка, походу ты там хуйни какой-то навалил
Аноним 12/11/22 Суб 23:03:43 2512453 563
изображение.png 28Кб, 1012x261
1012x261
изображение.png 21Кб, 656x344
656x344
изображение.png 13Кб, 630x227
630x227
>>2512450
>ты там хуйни какой-то
Ну во-первых, мопед не мой.
Пикрил 1 - так выглядит обход снаружи класса, то есть через публичные методы.
Фактически обход реализуется через метод(ы) next() списка и узла.
Аноним 12/11/22 Суб 23:18:22 2512456 564
>>2512453
Пиздосики.
Вот тебе плюс-минус нормальный односвязный список.
https://gcc.godbolt.org/z/5551PP3j3
Изучи, можешь ещё классами обмазать, для вязкости.
Аноним 12/11/22 Суб 23:41:15 2512465 565
>>2512456
>нормальный односвязный список
Помесь С/С++
Аноним 13/11/22 Вск 00:16:04 2512486 566
>>2512465
Я тебе говорю, обмажь ооп и шаблонами, если хочешь. Тут всё элементарно, в образовательных целях, лучше хер придумаешь.
Аноним 13/11/22 Вск 01:01:33 2512512 567
>>2512370
Вопрос в том нахер это говно в спп нужно если и с кдассическим инклудом все работает?
Аноним 13/11/22 Вск 01:28:37 2512529 568
>>2512512
Cразу видно кто ни разу не собирал ничего сложнее однофайловых лаб.
Аноним 13/11/22 Вск 01:55:42 2512541 569
>>2512529
>кто ни разу не собирал ничего сложнее однофайловых лаб
А серьезно, кто этим занимается?

Типа представляю себе такой бизнес-кейс. Мы написали такую йобу, что сами собрать ее не можем. Нам срочно нужен сеньер-помидор по сборочкам.
Аноним 13/11/22 Вск 09:10:25 2512620 570
>>2512512
Потому что инклуды говно, которое тащит за собой всё что в файле находится, а не только то что тебе нужно
С модулями ты можешь спокойно всю стандартную либу тянуть imort std, а собираться это будет быстрее чем #include <iostream>

>>2512541
Про скорость сборки что то слышал? Или в университете еще не проходили?
Аноним 13/11/22 Вск 09:30:34 2512625 571
Что мне лучше сейчас освоить чтобы стать крутым и повысить шансы на вкат - параллельное программирование или программирование под линукс?
Аноним 13/11/22 Вск 14:25:17 2512887 572
>>2512512
Потому что т.н. инклуды в схх по факту большая часть исходников.
Аноним 13/11/22 Вск 17:18:10 2512992 573
Котаны, есть где-нибудь статья, книга, или шпаргалка, как исправить легаси код?

Ну вот допустим я знаю что вместо ручной инициализации нового элемента и ставки в push_back можно записать emplace_back(аргументы конструктора). Где еще почитать подобные советы по другим классам и функциям STL?
Аноним 13/11/22 Вск 18:41:17 2513043 574
пишу прогу многопоточного умножения матриц, мне нужно, что если какой элемент матрицы вычисляется одним потоком, то другой поток, при обращении к этому элементу, переходил к вычислению другого элемента. Все элементы матрицы обернуть в mutex и проверять try_lock, чтобы понять, что элемент заблочен?
Аноним 13/11/22 Вск 20:12:20 2513112 575
Кто-нибудь пробовал амудешный компилятор для линуха? Там новая версия неделю назад вышла, год прошёл с последнего релиза.
Аноним 13/11/22 Вск 20:47:23 2513162 576
>>2513112
Для линука существует всего два компилятора:
- GCC
- Clang
Аноним 13/11/22 Вск 20:54:52 2513169 577
>>2513162
линупса не существует, это подсистема в шиндовс
Аноним 13/11/22 Вск 20:56:33 2513171 578
>>2513169
Это прошивка для роутеров.
Аноним 13/11/22 Вск 21:11:21 2513185 579
1668363070353.png 382Кб, 1152x2304
1152x2304
Анон, поясни тупому, как правильно делается move?

struct S2{
std::list<Foo> foo2;
void append(Foo &&f)
foo2.empalce_back(std::move(f));
}

struct S{
std::list<Foo> foo1;
void func() {
S2 s2;
for(auto&& f:foo1) s2.append(std::move(f));
}
}

Не работает будто бы перемещение, элементы копируются блядь. Что я не так делаю?
Аноним 13/11/22 Вск 21:16:36 2513190 580
>>2512394
> константность данных вообще никак
для этого надо писать const List<const T>
Аноним 13/11/22 Вск 22:25:15 2513250 581
1.png 77Кб, 951x935
951x935
>>2513185
С хуев ли не работает, если работает? Если определишь конструктор перемещения, будет перемещать. Даже если не определишь - компилятор сгенерирует неявный конструктор, если у полей класса есть конструкторы (если нет, ошибку компиляции выдаст).
Хотя если ты определил явно какой-то из конструкторов копирования, но не определил конструктор перемещения, то он конструктор перемещения не сгенерирует, и будет эти твои фу копировать.
Аноним 13/11/22 Вск 22:38:16 2513262 582
>>2513250
Спасибо за инфу про конструкторы, что-то я забыл про это. Я когда в отладке смотрел, выглядело так, что перемещение не срабатывало.

Как я понимаю, до последнего emplace_back, отладчик будет показывать, что объект все ещё принадлежит старому списку?
Аноним 13/11/22 Вск 23:12:46 2513303 583
>>2512992
Вроде у Майерса в "Effective Modern C++" все подобные ништяки расчехляются.
Аноним 13/11/22 Вск 23:12:47 2513304 584
githUB
doUBle
youtUBe
pUBlic
Аноним 14/11/22 Пнд 00:10:14 2513359 585
>>2513262
Я понял, в чём твой затуп, у тебя, видимо, представление о перемещении в C++ как о чём-то радикально отличном от копирования, но нет. Объекты из исходного списка никуда не денутся, просто сами эти объекты могут измениться, если ты задал в конструкторе перемещения, чтобы исходные объекты менялись.

Вот глянь здесь пример, как можно перемещение использовать
https://onlinegdb.com/hBpna9qwpj
У тебя у Foo есть какие-то тяжеловесные данные (массив чисел размера сотня миллионов, например). Копирование такого объекта потребовало бы выделить в новом объекте память под такой же массив чисел и скопировать память массива из исходного элемента в новый - это долго. С помощью перемещения можно определить поведение так, чтобы из исходного объекта просто копировался указатель на эти данные, а в самом исходном объекте этому указателю присвоить nullptr. Исходный объект остался на месте, просто владение памятью ушло другому объекту.

Если ты не определил конструктор перемещения, то сгенерируется неявный конструктор, который будет вызывать конструкторы перемещения у каждого своего поля, у которых есть явные или неявные конструкторы, а поля элементарных типов или POD-типов (например, обычные int или double не указатели), просто скопирует.
Аноним 14/11/22 Пнд 06:27:38 2513450 586
image.png 25Кб, 680x137
680x137
Почему так
template< class T >
typename std::remove_reference<T>::type&& move( T&& t ) noexcept;

а не так
template< class T >
T&& move( T&& t ) noexcept;
Аноним 14/11/22 Пнд 07:48:55 2513463 587
изображение.png 44Кб, 1104x436
1104x436
>>2513450
Потому что std::move() ничего никуда не двигает на самом деле. Все, что она делает, это возвращает rvalue ссылку на свой аргумент.
Но если T - ссылочный тип, то T&& свернется в обычную ссылку, чего нам не надо.
Аноним 14/11/22 Пнд 08:34:12 2513478 588
>>2513463
> (T&&)&& = T&
Понял принял

Что то чем глубже в плюсы погружаюсь, тем более странные вещи наружу вылезают
Аноним 14/11/22 Пнд 08:36:39 2513480 589
(T&)&& = T& *
14/11/22 Пнд 08:44:32 2513481 590
&(&(&(&T&&)&&)&&)&& = &&&&&&T*
Аноним 14/11/22 Пнд 11:03:47 2513519 591
>>2513481
>>2513480
>>2513478
>>2513463
Забавно как референс из способа передавать параметры в функцию, превратился вот в это вот

Что из себя семантически представляет референс в плюсах 2022 года?
Аноним 14/11/22 Пнд 13:00:18 2513589 592
>>2513519
Переменная (с non-static data member в принципе так же, но чуть сложнее) не-ссылочного типа
T v = init;
связывает переменную v с объектом, который создаётся определением этой переменной (An object is created by a definition …. [0])

Для переменной ссылочного типа
T& v = init;
объект, с которым свяжется переменная, определяется инициализатором init.

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

[0] https://timsong-cpp.github.io/cppwp/n4868/intro.object#def:object
Аноним 14/11/22 Пнд 13:46:37 2513614 593
>>2513589
>Переменная … связывает переменную
*Объявление переменной … связывает переменную
Аноним 14/11/22 Пнд 16:41:41 2513753 594
Снимок экрана 2[...].png 23Кб, 500x93
500x93
бляя
Аноним 14/11/22 Пнд 16:57:45 2513764 595
>>2513753
>C++
>[]
Будь добр, съеби
Аноним 14/11/22 Пнд 18:39:11 2513819 596
1573863663552.png 426Кб, 512x768
512x768
>>2513764
В крестах устарели массивы?
Аноним 14/11/22 Пнд 18:52:44 2513829 597
>>2513819
Да, их оставили для совместимости с сишкой.
Аноним 14/11/22 Пнд 19:08:40 2513843 598
Снимок экрана 2[...].png 27Кб, 1120x190
1120x190
>>2513764
я имею ввиду то что в крестах не поддерживается великая сишная возможность которая автоматически обравнивает память под структуру с растягиваемым массивом
Аноним 14/11/22 Пнд 19:27:19 2513849 599
Почему есть структура пара, но нет структуры тройня?
Аноним 14/11/22 Пнд 19:28:29 2513851 600
>>2513849
> почему нет структуры тройка, не нет четверки?
Аноним 14/11/22 Пнд 19:28:41 2513853 601
>>2513849
> почему есть структура тройка, но нет четверки?
Аноним 14/11/22 Пнд 19:35:11 2513855 602
>>2513849
Потому что есть структура тапл.
Аноним 14/11/22 Пнд 19:37:34 2513857 603
>>2513855
Почему есть структура пара когда есть структура дабл?
Аноним 14/11/22 Пнд 20:10:02 2513882 604
>>2513857
Так дабл - это просто алиас для пары флоатов, если не знал
в stl double определяют вот так
using double = std::pair<float, float>;
Аноним 14/11/22 Пнд 20:14:54 2513884 605
using long long double = std::pair<std::pair<float, float>, std::pair<float, float>>;
Аноним 14/11/22 Пнд 20:16:44 2513886 606
>>2513882
Тьфу, да какой дабл. Тапл же. Ты же сам про него писал. Нащо пара если есть Тапл?
Аноним 14/11/22 Пнд 20:22:48 2513889 607
>>2513884
using long long double = std::tuple<long, long, double>;
Аноним 15/11/22 Втр 09:42:50 2514183 608
Как правильно перегрузить метод класса, чтобы он принимал на вход как обычную ф-цию, так и метод какого-то другого класса
Делаю так:
class TTimer
{
...
void Tick(float threshold, void (⚹func)());
template <typename T> void Tick(float threshold, void (T::⚹func)());
...
}
...
timer.Tick<Graph> (1e6/60, graph.Draw);

Пишет вот это:
undefined reference to `void TTimer::Tick<Graph>(float, void (Graph::⚹)())'|

ЧЯДНТ?
Аноним 15/11/22 Втр 09:44:27 2514184 609
>>2514183
Graph graph забыл, но не суть.
Аноним 15/11/22 Втр 11:17:23 2514215 610
>>2514183
Хз ты херни нагородил.
Нахер там темплейт? Я такое делал просто через стд функцию в аргументе, а при вызове шли лямбдуи в ней что угодно, хоть класс хоть что. Вме работает.
Аноним 15/11/22 Втр 11:19:40 2514216 611
>>2514215
Можешь скинуть пример, как правильно, если не затруднит?
Аноним 15/11/22 Втр 12:44:43 2514253 612
>>2514216

//где то сверху
#define CALLBACK(...) std::function<void(__VA_ARGS__)> const&

//твоя функция/метод
.. funcname(args... , CALLBACK() callback)
{
...
callback();
}

//вызов
..funcname(input args... ,
[&]()
{
// любая функция
});

//профит
Аноним 15/11/22 Втр 13:10:10 2514281 613
>>2514253
Не знал про такое. Чуть позже попробую
Аноним 15/11/22 Втр 13:11:23 2514282 614
>>2514281
древнейшая тема, просто раньше это делали через (воид*)
Аноним 15/11/22 Втр 13:13:32 2514286 615
>>2514183
Но, все таки, интересно, почему это варик не заработал? Выглядит, вроде, правдоподобно
Аноним 15/11/22 Втр 13:14:12 2514289 616
>>2514286
Определять функцию (шаблон функции) не пробывал?
Аноним 15/11/22 Втр 13:15:05 2514290 617
>>2514289
не совсем понял тебя
Аноним 15/11/22 Втр 13:15:32 2514291 618
>>2514286
как минимум у твоей *фанк нет н ислова про аргументы
Аноним 15/11/22 Втр 13:16:24 2514292 619
чел тебе уже написали решение - бери и радуйся жизни
Аноним 15/11/22 Втр 13:17:19 2514293 620
>>2514291
Ну... да, но что это меняет? Это.. сорян, я ньюфаг если что пока что, мб туплю
Аноним 15/11/22 Втр 13:17:50 2514294 621
>>2514292
Да я так, в целях понимания синтаксиса
Аноним 15/11/22 Втр 21:11:15 2514574 622
Есть хитрость заэкранировать все спецсимволы в строке разом?

Под виндой нужно передать путь в sublime.exe.
Но это работает нормально только если продублирую бэкслэши \\.
Аноним 15/11/22 Втр 22:02:03 2514604 623
Аноним 16/11/22 Срд 10:33:52 2514878 624
Я хочу создать вектор из трёх чисел, при этом не выделяя память на саму структуру вектора. Т.е. как бы указатель, но не на вектор , а на элементы вектора. Можно ли это сделать через стандартный <vector>?Или есть другие идеи
Аноним 16/11/22 Срд 10:38:33 2514882 625
>>2514878
Твой вопрос звучит как "хочу создать вектор, но не хочу создавать вектор". Объясняй лучше.
Аноним 16/11/22 Срд 10:41:05 2514884 626
>>2514882
В том и дело, просто хочу водить три переменные в программе вместе и думаю как это сделать без доп излишек на память.
Аноним 16/11/22 Срд 10:42:20 2514886 627
Аноним 16/11/22 Срд 12:56:33 2515025 628
>>2514884
struct TriPeremennbih {
T raz;
Tdjva;
T tri;
}
Аноним 16/11/22 Срд 14:03:14 2515051 629
>>2515025
Туда жа можно допилить юнион для индексации.
Аноним 16/11/22 Срд 17:04:21 2515206 630
16204761865730.jpg 94Кб, 736x736
736x736
>>2515051
union
{
struct {} _0;
OdnaPeremennaya _1;
DvePeremennyh _2;
TriPeremennyh _3;
}
Аноним 16/11/22 Срд 17:20:34 2515229 631
Не так толстяк
Аноним 16/11/22 Срд 22:19:23 2515501 632
Констекспр функции это конечно классно, но как сделать компайл тайм онли функцию
Я хочу функцию чтобы каждый параметр в ней был констекспр
Что то кроме темплейтов и дефайнов придумать можно?
Аноним 16/11/22 Срд 22:22:48 2515504 633
Аноним 17/11/22 Чтв 06:22:19 2515667 634
Аноним 17/11/22 Чтв 07:13:37 2515669 635
IMG202211132255[...].jpg 129Кб, 955x1389
955x1389
Анон, такой вопрос. Существует ли ирл в крупных программах такая штука:
- меняются условия выполнения программы, происходит такое редко, раз в 5 мин
- под новые циферки компилируется матем. библиотека, написанная на шаблонах
- через длл новый матем. модуль, который через динамический линк подключается к основной программе
- ????????
Профит, супер-пупер быстрая либа.

Называется ли это рефлексией? Понятно, что в таком проекте у тебя должен быть в папочке с экзешником и компилятор, и цмаке, и исходники
Аноним 17/11/22 Чтв 07:26:54 2515671 636
>>2515669
> Называется ли это рефлексией?
Это называется JIT-компиляция...
Проследуй в другой тред.
Аноним 17/11/22 Чтв 07:45:11 2515673 637
>>2515667
Параметры всё ещё не констекспр, только возвращаемый
Аноним 17/11/22 Чтв 08:50:02 2515683 638
>>2515671
Будто в крестах нет библиотек с реализацией JIT.
Аноним 17/11/22 Чтв 09:44:22 2515707 639
>>2515669
> супер супер быстрая либа
Компиляция это одна из самых медленных частей плюсов
Аноним 17/11/22 Чтв 11:05:01 2515749 640
>>2515669
Какие еще условия меняются? Процессор выдернули?
> у тебя должен быть в папочке с экзешником и компилятор
Эбалло спермобляди?
Аноним 17/11/22 Чтв 11:19:33 2515756 641
>>2515669
За чем
Можно ведь все варианты предсобрать и в хуй не дуть, а ты хочешь жрать говно на ровном месте
Аноним 17/11/22 Чтв 14:45:45 2515974 642
>>2515683
Есть Managed C++ и он не взлетел. Совсем.
Аноним 17/11/22 Чтв 15:24:30 2516011 643
>>2515974
Это не C++, а совершенно другой язык.
Аноним 17/11/22 Чтв 15:42:28 2516031 644
>>2516011
Что в нём другого? Ссылка не &, а ^?
Обычное расширение, как compiler extensions или cuda.
Аноним 17/11/22 Чтв 15:44:22 2516033 645
Делаю небольшую шляпу под винду для курсовой,и возникла проблема.
Программа имеет два режима доступа: клиентсткий и админский. Для того чтобы войти в админку,нужен будет пароль. Как мне реализовать хранение и изменение этого пароля? Ну и чтоб его нельзя было спиздить,удалить через файловый менеджер или прочитать в plain text? Базу данных в одну строчку сделать? Просто этот вариант мне не кажется оптимальным для одного пароля
Аноним 17/11/22 Чтв 15:59:17 2516045 646
>>2516033
Хранить хеш пароля на сервере или в другом месте, куда у текущего пользователя нет доступа, а у программы есть. Любые попытки спрятать пароль где-то у пользователя не надёжны.
Аноним 17/11/22 Чтв 16:43:44 2516088 647
>>2516045
Моя программа - это экзешник на компьютере,который делает базу данных для своей работы. Думаю,путь лучше пароль лежит в базе данных,но хешированный.
Поэтому вопрос другой. Как организовать хеширование на плюсах? Есть ли нормальные библиотеки? А то только реализации sha1-2-3 от Васянов на гитхабе есть,которыми не понятно как пользоваться
Аноним 17/11/22 Чтв 17:08:20 2516097 648
Аноним 17/11/22 Чтв 17:36:57 2516114 649
>>2516088
Если пользователь узнает хеш пароля, он может запустить твою программу в дебаге/декомпилировать и подсунуть хеш алгоритму проверки пароля, ему даже оригинальный пароль знать не надо. Разве что ты рассчитываешь, что никто этим заниматься не будет.
Аноним 17/11/22 Чтв 18:12:34 2516137 650
сделали офер на испыталке 60к, после испыта 70к. Опыта коммерческой разработки на крестах - нуль, изучал в вузе и в свободное время. Соглашаться?
Аноним 17/11/22 Чтв 18:27:45 2516152 651
>>2516088
Xor в цикле. Для лабы сойдет.
Аноним 17/11/22 Чтв 18:29:22 2516154 652
>>2516137
Если искал больше месяца, то да.
Аноним 17/11/22 Чтв 18:38:08 2516168 653
>>2516137
Ну смотри. Сейчас на носу праздники и скорее всего следующий раунд найма, как обычно, начнётся в феврале-марте. Итого ты потеряешь 3 месяца деньгами. Чтобы компенсировать выпавшие доходы тебе понадобится весной устроиться на 75к минимум (60 + 180/12).

К лету у тебя уже будет 0.5 коммерческого и осенью можешь просить повышение или перекатываться на лучшие деньги или условия.

Ну и в праздники НГ + февральские + мартовские будешь пинать хуйцов за зарплатку.
Аноним 18/11/22 Птн 07:33:28 2516429 654
как занулить счетчик std::vector чтобы не удалять выделенный им кусок памяти?

То есть хочу что-то такое
где-то один раз v.resize(n);

далее вставлять в v с нулевого индекса, потом сбросить и снова вставлять с нулевого. Ну чтобы при каждой "очистке" оно не выделяло память
Аноним 18/11/22 Птн 07:46:29 2516432 655
>>2516429
Это implementation defined, но вряд-ли вектор будет освобождать память при каждом clear.
Аноним 18/11/22 Птн 07:48:52 2516433 656
Стандарт гарантирует только сохранение размера зарезервированной памяти в смысле, а не ее расположение.
Аноним 18/11/22 Птн 07:56:32 2516435 657
>>2515707
Я же как раз указал время на смену процесса, например, 5 минут. Окей, пусть будет раз в час, а компиляция такого ядра занимает ~минуту
>>2515749
В моей модели ядро с матаном, и предполагается, что меняется размерность матриц и константы. Матан на Eigen3 с константыми матрицами
>>2515756
Можно, но сложность и объем невероятно возрастают по мере увеличения аргументов.

Короче, нечто схожее - CERN ROOT
Аноним 18/11/22 Птн 13:51:55 2516604 658
>>2516435
Что мешает раз в час делать system("sed ... && cc ...")?
Аноним 18/11/22 Птн 16:18:38 2516731 659
как написать свой static_assert()?
Аноним 18/11/22 Птн 18:44:12 2516913 660
>>2516731
Посмотри в исходниках стандартной библиотеки.
Аноним 18/11/22 Птн 19:13:38 2516941 661
>>2516731
template<bool b>
static_assert<b>();
template<>
static_assert<true>() {}
Аноним 18/11/22 Птн 19:27:47 2516959 662
>>2516941
Кхм, слегка зафакапил

template<bool b>
struct static_assert;

template<>
struct static_assert<true>{};
Аноним 18/11/22 Птн 22:22:28 2517078 663
>>2516088
>Есть ли нормальные библиотеки?
Помнится давеча в одном проекте Botan использовался, вроде нормально было.
Аноним 19/11/22 Суб 00:44:44 2517153 664
Как вкатиться в мультипоточку/асинхронку и вот это вот всё?
Аноним 19/11/22 Суб 01:47:14 2517196 665
Чем эти две сигнатуры отличаются?

void foo(double f(double x));
void foo(double (⚹f)(double x));
Аноним 19/11/22 Суб 07:18:10 2517261 666
>>2517196
Одно указатель другое нет

что то я указатели на функции так редко виду, что даже не уверен что первое скомпилиться
Аноним 19/11/22 Суб 08:42:53 2517275 667
>>2517261
Скомпилится. В cppinsights первое приводится ко второму.
Может, в каком-то стандарте добавили такой синтаксический сахарок.
мимо
Аноним 19/11/22 Суб 11:18:00 2517322 668
Как управлять сервоприводом без использования библиотеки servoh?
то есть по даташиту через analogwrite, нужно посчитать какой шим подать можете подсказать как это сделать?
Аноним 19/11/22 Суб 11:23:05 2517325 669
Анон, имеется вот такое примечание к заданию:
читать из stdin построчно
и
завершить работу при считывании конца файла из stdin

и у меня максимально тупой вопрос - конец файла в данном случае вообще это что?
передавать данные в программу как int argc, char *argv[] ?
или конец файла это какое-то магическое сочетание клавиш при вводе в консоль? Спасибо за внимание
Аноним 19/11/22 Суб 11:32:28 2517332 670
>>2517325
вот так вот правильно:

while (std::cin) {КОТ/KIT}
на ctrl + Z выполнение заканчивается

?
Аноним 19/11/22 Суб 12:12:59 2517347 671
>>2517275
>в каком-то стандарте добавили такой синтаксический сахарок
Мне попалось в книжке, которая еще даже про 98 стандарт не знает.
Вообще это еще с сей идет, что имя функции само по себе кастится к указателю, так же как с массивами.

Просто тут контекст другой - объявление, поэтому не очевидно почему и как оно работает.
Аноним 19/11/22 Суб 15:14:42 2517466 672
Изучила основы плюсов, а как научиться решать алгоритмические задачки? Может подскажет тут кто-нибудь? С чего начать?
Аноним 19/11/22 Суб 15:33:49 2517484 673
Аноним 19/11/22 Суб 16:01:42 2517514 674
Что крестобляди, страшно? Растобляди уже наступают вам на пятки.
Аноним 19/11/22 Суб 16:05:34 2517516 675
>>2517466
прочитай теорию базовую по алгоритмам, тот же грокай алгоритмы
потом идешь решать задачи, можно с литкода
что не может решить за час, смотришь и понимаешь решение, закрываешь его, пытаешься по памяти реализовать
если что то не понятно изучаешь

и так решай пока не придет умение
Аноним 19/11/22 Суб 16:19:13 2517529 676
>>2517514
> наступают
Разве что в своё говно, вытекшее из штанины. Либ-то нет. А что есть находится на стадии "на прошлой неделе придумал крутую идею, пилим с пацанами". Как бы мне он не нравился, но пользоваться им тяжело. Код компактнее, но надо полностью переписывать то что уже давно есть на крестах в либах. Биндинги на сишные/крестовые либы отдельная тема - либо пользуешься всратыми автобиндингами, либо сейф-огрызками. Делать ансейф религия не позволяет, а полностью покрыть API не могут.
Аноним 19/11/22 Суб 17:03:27 2517542 677
>>2517529
Да все бы ничего, но эту хуйню уже в ядро Линукса пропихнули. И скоро придется помимо gcc/clang иметь rustc в системе. Т.е. для сборки системы нужно знать два языка и иметь два компилятора.
Аноним 19/11/22 Суб 17:08:02 2517545 678
Аноним 19/11/22 Суб 18:44:03 2517618 679
>>2517516
>>2517545
Спасибо! Еще вопрос, не слишком ли хардкорно учить алгоритмы на плюсах? Питон в этом плане лучше или в целом разницы никакой?
Аноним 19/11/22 Суб 18:49:28 2517626 680
>>2517618
Если хочешь реально шарить - то лучше вообще их на сишке дрочить, без всяких плюшек в виде stl, фичей питона или js. Меня без иронии взяли на первую работу после того, как я сказал что всего Прату прочёл и все задачи из него же сделал. Ещё и котлету неплохую дали.
Аноним 19/11/22 Суб 18:50:26 2517627 681
>>2517626
>Меня без иронии взяли на первую работу после того, как я сказал что всего Прату прочёл и все задачи из него же сделал. Ещё и котлету неплохую дали.
Прату по няшной или плюсам?
Аноним 19/11/22 Суб 18:52:45 2517631 682
Аноним 19/11/22 Суб 19:07:28 2517642 683
>>2517618
Не слушай додиков, чтобы за алгоритмы шарить на плюсах писать не обязательно
Но все таки если собираешься плюсов ком становится, то лучше на плюсах
Аноним 19/11/22 Суб 20:22:35 2517695 684
>>2517466
>Изучила
ты тян или петян? друг интересуется
Аноним 19/11/22 Суб 20:25:29 2517702 685
Аноним 19/11/22 Суб 20:37:26 2517713 686
>>2517695
У меня хуй есть, выебала бы твоего друга.
Аноним 19/11/22 Суб 20:42:34 2517718 687
>>2517713
ясно
были тут у нас уже тяночки с хуем
еще один шизик
Аноним 19/11/22 Суб 20:43:06 2517720 688
впрочем, история движется по кругу
Аноним 19/11/22 Суб 20:53:41 2517729 689
>>2515669
Julia кажись такое умеет. Для мат модуля самое то.
А перекомпилировать eigen на ходу как-то стрёмно. Ебанется на второй неделе работы и хрен проссышь почему
Аноним 19/11/22 Суб 23:36:30 2517833 690
В чём код писать? Clion от jb пойдет?
Аноним 19/11/22 Суб 23:45:11 2517842 691
изображение.png 1692Кб, 1024x682
1024x682
Как сохранять значение между рекурсивными вызовами функции?
Внешний параметр как-то неэлегантен.
Аноним 19/11/22 Суб 23:47:07 2517844 692
Аноним 19/11/22 Суб 23:48:34 2517846 693
>>2517844
То есть ты сидишь на винде?
Аноним 19/11/22 Суб 23:51:53 2517850 694
>>2517842
Через аргумент с дефолтным значением.
Аноним 19/11/22 Суб 23:52:51 2517853 695
>>2517846
А ты на чём сидишь? Раз не указал ОС, значит, тебе нужно для винды.
Аноним 20/11/22 Вск 00:33:19 2517888 696
>>2517853
>А ты на чём сидишь?
На стуле и антидепрессантах. Чё такой пытливый?
Аноним 20/11/22 Вск 00:39:23 2517889 697
>>2517888
А теперь будешь сидеть на вижуалстудии.
Аноним 20/11/22 Вск 00:43:12 2517891 698
>>2517889
Я уже сижу на вскоде и перекатываться не собираюсь.
Аноним 20/11/22 Вск 00:46:54 2517897 699
>>2517891
А теперь собираешься.
Аноним 20/11/22 Вск 00:47:39 2517899 700
>>2517897
Не твой личный гвардеец
Аноним 20/11/22 Вск 02:40:47 2517950 701
братишки, как засунуть в map указатель на функцию? в качестве второго значения не ключа
Аноним 20/11/22 Вск 02:45:43 2517951 702
Аноним 20/11/22 Вск 02:49:17 2517952 703
>>2517950
можно хотя бы пример какой-нибудь где элементу контейнера stl присваивают значение указателя на функцию
Аноним 20/11/22 Вск 03:50:06 2517976 704
>>2517950
Укажи в качестве типа значения указатель на функцию или std::function.
Аноним 20/11/22 Вск 03:50:30 2517977 705
Аноним 20/11/22 Вск 04:00:41 2517981 706
изображение.png 38Кб, 964x504
964x504
Аноним 20/11/22 Вск 10:40:40 2518062 707
>>2517833
>В чём код писать?
NeoVim/emacs + gcc/clang + lsp + gdb/lldb
Аноним 20/11/22 Вск 12:04:40 2518119 708
>>2518062
>lsp
SOLID-шиз, ты узнал тебя по твоему говнокоду.
Аноним 20/11/22 Вск 12:24:59 2518159 709
>>2517950
void my_func(int i) { std::cout << i; }

std::map<int, decltype(&my_func)> my_map;
my_map[0] = my_func;

my_map[0](42);
Аноним 20/11/22 Вск 12:28:38 2518164 710
>>2517977
Он имел в виду thread_local.
Аноним 20/11/22 Вск 12:29:05 2518167 711
>>2517977
Он имел в виду thread_local.
Аноним 20/11/22 Вск 12:37:56 2518180 712
У вас вообще девушки были хоть раз в жизни, задроты-байтоебы? Перекатывайтесь на js, пить смузи в опенспейсе и чпокать классных эйчарок, лениво пописывая код одной рукой.
Аноним 20/11/22 Вск 12:58:11 2518207 713
>>2518180
>пить смузи
Я не люблю смузи, я пью кофе и тёмное пиво
>в опенспейсе
Хз что это такое, но звучит как какая-то социоблядская хуйня которая мне не нужна.
>чпокать классных эйчарок
Я уже давно не получаю удовольствия от тупого чпокинга. Да и вообще я уже смирился с тем, что найти девушку которая была бы в моём вкусе в современном мире почти что нереально так что я сублимирую в опенсорс.
>лениво пописывая код одной рукой.
Я в прогерство ради челенджа вкатывался, а не ради того чтобы два часа размышлять над тем, какие цвета выбрать для градиента на фоне кнопки.
Аноним 20/11/22 Вск 13:03:59 2518211 714
>>2518119
>SOLID-шиз, ты узнал тебя по твоему говнокоду.
??????


Протокол языкового сервера (Language Server Protocol - LSP) - это способ общения с языковыми серверами (такой же как HTTP или FTP).

Языковые серверы - это специальные программы, работающие на обычных серверах. Они принимают мета-состояние редактора, в котором вы пишете код (например, текущая позиция курсора внутри редактора, токен над которым находится курсор), и возвращают набор действий или инструкций - какой токен должен быть следующим, что должно произойти, когда вы нажимаете CMD/Ctrl-клик на этом токене, и так далее.
Аноним 20/11/22 Вск 13:05:41 2518213 715
>>2518180
>пить смузи в опенспейсе и чпокать классных эйчарок, лениво пописывая код одной рукой.
Лол, ты не к тем людям приходишь маня. Здесь твоя мирская хуйня никому не нужна. Если бы мы хотели заниматься хуйней, то и без твоего совета разобрались бы.
Аноним 20/11/22 Вск 13:26:49 2518234 716
>>2518186
>>2518207
>>2518213
Проснулись, байтоебики.
Вы когда на свидание с тянкой ходите, говорите, что работаете грузчиком или строителем? Или кем-то еще, но не кодером-сутулым. Хотя, какие вам девушки, вы в своих конторках подвальных только мужиков видите целыми днями, да и не самых красивых. Поэтому зачастую писаки на плюсах это латентные геи.
Аноним 20/11/22 Вск 13:37:14 2518251 717
изображение.png 34Кб, 633x870
633x870
изображение.png 19Кб, 822x434
822x434
придумываю дизайн лайт версии сишки.плюсов, что скажете?
Аноним 20/11/22 Вск 13:42:34 2518259 718
>>2518234
>Вы когда на свидание с тянкой ходите
Зарепортил за жир.
Аноним 20/11/22 Вск 13:44:43 2518262 719
>>2518234
Алсо, постоянно говоришь о ебле и оцениваешь кого-то со стороны красоты - ты, а латентные пидоры - мы. Интересно...
Аноним 20/11/22 Вск 13:44:47 2518263 720
>>2518251
Я бы лучше плюсы читал, чем это
Аноним 20/11/22 Вск 13:46:20 2518265 721
>>2518251
Что за мода сейчас во всех модненьких язычках писать тип справа от имени переменной/обьекта/массива?
Аноним 20/11/22 Вск 13:52:20 2518273 722
>>2518265
читаемость повышает

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

> лайт версии сишки.плюсов
> референсы
ну и что они в твоей новой сишечке семантически значить будут?
Аноним 20/11/22 Вск 13:59:49 2518282 723
>>2518273
>читаемость повышает
Как-то не очень... Да и каким образом, если между мыслями в голове "переменная А целочисленного типа(А int := 10)" и "целочисленная переменная А (int A := 10)" нет особой разницы?
Аноним 20/11/22 Вск 14:02:19 2518285 724
>>2518234
Ну всё, ты меня разъебал. Перекатываюсь в среакт.
Аноним 20/11/22 Вск 14:07:52 2518294 725
>>2518285
Ну ты давай не пизди на Реакт то, чмонь. Понимаю, что ты ёбик-дрочер-сутулый любишь всё усложнять. Ты бы веб до сих пор на жаба-апплетах писал, была б твоя воля!
Аноним 20/11/22 Вск 14:16:34 2518306 726
>>2518251
Я думаю, на моменте (matrix i, j) ты и сам понял, какой это кринж.
> FmtPuts "%s" tme
Ты ведь знаешь, зачем в printf нужна строка форматирования, в которой есть эти уродливые %d, %f, %s и т.д?
Аноним 20/11/22 Вск 14:16:55 2518307 727
Screenshot2022-[...].png 78Кб, 623x551
623x551
>>2518294
Да не трясись ты. Просто признай что ты залётная вниманиеблядь, ляг на пол, закрой уши и жди спасения.
Аноним 20/11/22 Вск 14:25:47 2518318 728
ошибка.png 14Кб, 503x217
503x217
>>2517981
>>2518159
Спасибо, вот только что-то не получается у меня, в чём ошибка не понимаю
Аноним 20/11/22 Вск 14:30:02 2518322 729
>>2518282
> Да и каким образом
Таким когда у тебя тип ахуеть какой огромный, а название переменной что то вроде name
И ты пока через весь этот тип глазами пробежишься, название переменной еле заметишь, тем более если их несколько

Но да, для типа длино несколько символов, как INT вобще пох где он стоять будет, хоть в середине
Аноним 20/11/22 Вск 14:30:33 2518323 730
Аноним 20/11/22 Вск 14:40:04 2518331 731
>>2518328
> Но да, в объектноориентированном языке и раз уж в нашей цивилизации читают слева направо, то тип логичнее писать до переменной
Ахуенная логика, если не считать того что тебе всегда важнее узнать имя переменной, а потом её тип

> почему все языки пишут типы справа
> потому что читаемее
> Ты тоже аргументов не особо отсыпал.
Ну если у тебя есть какие то другие теории, почему тип справа пишут ВО ВСЕХ современных языках, я готов выслушать
Аноним 20/11/22 Вск 14:50:21 2518339 732
>>2518318
Этот код работает.
https://ideone.com/i5pBgU

У тебя в классе Calc объявлено поле с таким же названием - ошибка из-за коллизии имён.
Аноним 20/11/22 Вск 15:03:22 2518352 733
>>2518339
Спасибо, но не помогло - закомментил вообще всё в классе
Аноним 20/11/22 Вск 15:04:45 2518355 734
>>2518346
> больше буковок
> больше инфы
Ты дибил?
Я не знаю как тебе еще объяснить что имя у переменной > её типа
Ты можешь прожить не знаю тип переменной, но не можешь не зная имя

> У тебя тут сразу куча ошибок: к большинству, к авторитету.
> Да все современные языки пишут не правильно и не логично, хорошо что иван с с++ треда двача знает что как и лучше
Братан, я понимаю когда 1-2 языка были бы такими, но сейчас вся индустрия на это переходит, у тебя в голове ничего не звинькает когда ты это осознаешь?
Аноним 20/11/22 Вск 15:35:03 2518411 735
Аноним 20/11/22 Вск 15:41:20 2518422 736
ошибка.png 14Кб, 375x550
375x550
Аноним 20/11/22 Вск 15:45:29 2518433 737
>>2518328
>раз уж в нашей цивилизации читают слева направо,
Вот именно, что слева направа!
Конпелятор разбирает объявление начиная с имени и мечется то направо (преимуществено), то налего.

В итоге получается порядок даже не справа налего, а изнутри и куда придется.
Аноним 20/11/22 Вск 16:02:08 2518463 738
>>2518346
>Вот из такого разговорного синтаксиса все и следует.
Нет, все следует из идеологии Си, что все конструкции должны максимально просто ложиться на компьютерную архитектуру.

>Так сложился естественный язык.
В общем виде синтаксис объявлений Си далек от интуитивно понятного.
И любое его объяснение строят на том, чтобы показать как переводится си-объявление в линейно читаемое слева направо объявление. И имя там стоит в крайней левой позиции.
Аноним 20/11/22 Вск 16:35:25 2518523 739
>>2518422
Функция-член класса отличается от обычной функции тем, что у неё есть первый неявный параметр Calc this. То есть void Calc::Namig() на самом деле это void Naming(Calc). А function у тебя принимает <void()> == void func().
И тогда либо:
std::function <void(Calc*)> Command_Function;
Command_Function = &Calc::Naming;
Либо обёртка bind, приводящая к void() с неявной подстановкой this:
Command_Function = std::bind(&Calc::Naming, this);

Аноним 20/11/22 Вск 16:37:15 2518526 740
>>2518523
>Calc⚹ this
>Calc::Namig() на самом деле это void Naming(Calc⚹)
Аноним 20/11/22 Вск 16:55:40 2518542 741
>>2518523
>>2518526
Спасибо
добра тебе и твоему дому и мира во всём мире
Аноним 20/11/22 Вск 17:07:51 2518552 742
>>2518322
>Таким когда у тебя тип ахуеть какой огромный, а название переменной что то вроде name
>И ты пока через весь этот тип глазами пробежишься, название переменной еле заметишь, тем более если их несколько
Пример из жопы, если честно.
Аноним 20/11/22 Вск 17:30:09 2518591 743
>>2518331
>Ну если у тебя есть какие то другие теории, почему тип справа пишут ВО ВСЕХ современных языках
Банальная мода и неосиляторство написать нормальный синтаксический анализатор, чтобы распарсить код. Парсер у Си-подобных языков намного сложнее, чем парсеры у новомодного шлака, потому что семантика синтаксиса Си зависит от контекста, когда же у новых язычков все более однозначно(особенно если используются ключевые слова func, var, let, и т.д.). Вот и все.
А про "удобство" чтения это хомякам заливается, чтобы оправдать свою лень/нежелание/неосиляторство. Ибо даже лапша общелиспа становится удобной и читаемой со временем.
Аноним 20/11/22 Вск 18:06:45 2518663 744
ошибка.png 45Кб, 893x472
893x472
>>2518523
>>2518526
эх, не далеко у меня получилось уйти самому

как теперь вызвать функцию из map-контейнера-поля объекта класса через функтор?

https://ideone.com/87ZEEH

Как научиться в этом разбираться, в паре учебников которые я осилил ни намёка нет на то как решать подобные проблемы(?
Аноним 20/11/22 Вск 18:08:36 2518668 745
>>2518663
функцию из std::fanction в map-контейнере-поля объекта класса через вызов функтора
фикс
Аноним 20/11/22 Вск 18:18:14 2518676 746
В cmake compiler options прямо без обработки кидаются к компилятору? То есть если флаги разные названия на разных компиляторах имеют, то может не заработать?
Аноним 20/11/22 Вск 18:21:12 2518680 747
Аноним 20/11/22 Вск 18:38:45 2518712 748
>>2518680
И ещё раз огромное спасибо!
Аноним 20/11/22 Вск 18:53:23 2518737 749
>>2518676
всё так
нужно проверять с каким компилятором работаешь в данный момент
Аноним 20/11/22 Вск 18:59:03 2518750 750
>>2518552
Видел как тип у итератора выглядит без auto?
Да и тип в основном длиннее переменной

>>2518591
> семантика синтаксиса Си зависит от контекста
Ты это за хорошее считаешь?

> становится удобной и читаемой со временем
Я конечно понимаю что человек ко всему привыкает, но это не оправдывает решений не удобный у языка
> все равно привыкнут, лол
Аноним 20/11/22 Вск 19:09:32 2518763 751
Когда уже модули заработают? Чет нихуя пока, никак не добавят везде. А было бы круто. Я так понимаю, и компилилось бы быстрее иногда, и меньше проблем с определениями
Аноним 20/11/22 Вск 19:09:42 2518764 752
Когда уже модули заработают? Чет нихуя пока, никак не добавят везде. А было бы круто. Я так понимаю, и компилилось бы быстрее иногда, и меньше проблем с объявлениями
Аноним 20/11/22 Вск 19:11:15 2518765 753
>>2518712
Лучше сделай тогда через bind, чтобы не писать в скобках this
https://ideone.com/1iORal

То что ты хочешь cделать обсуждается в книжках по продвинутому использованию c++ (шаблоны и метапрограммирование).
Ошибки, которые выдаёт компилятор по шаблонам всегда сложно разбирать. Но с этим особо ничего не поделать, разве что посмотреть что другой компилятор скажет (или IDE).
Аноним 20/11/22 Вск 19:13:42 2518771 754
>>2518763
пока что только в мсбилде более менее с этим
симейк разраб недавно на cppcon выступал, обозначил что, РАБОТА ИДЁТ, так что может через годика два заработает
Аноним 20/11/22 Вск 19:37:25 2518791 755
>>2518750
>Ты это за хорошее считаешь?
Я никак не считаю, мне на это все равно. Я же компиляторы не пишу, хотя если бы писал, то сделал бы тип справа.

>Я конечно понимаю что человек ко всему привыкает, но это не оправдывает решений не удобный у языка
Разница не столь велика, чтобы считать что-то конкретное более удобным. Поэтому выбор больше от популярности самого языка и сопутствующих технологий зависит. Все эти языки-однодневки следуют моде, которая каждый год меняется. Да и сама мода пропитана референсами на старые языки по типу паскаля, оберона и т.д. Так и будем ходить по кругу. Поэтому нужно учить фундаментальные технологии, не отвлекаясь на инфомусор, потрогать палочкой C, Smalltalk, Lisp, OCalm, Haskell и тогда вообще похуй станет. Это я все к тому, что аргумент от марктелогов-блядин в духе "У НАС "ЛУЧШЕ" СИНТАКСИС, ПОЭТОМУ ИСПОЛЬЗУЙТЕ НАШ СТИЛЬНЫ И МОЛОДЕЖНЫЙ ЯЗЫК" - полная херня.
Аноним 20/11/22 Вск 19:43:36 2518797 756
>>2518791
> Это я все к тому, что аргумент от марктелогов-блядин в духе "У НАС "ЛУЧШЕ" СИНТАКСИС, ПОЭТОМУ ИСПОЛЬЗУЙТЕ НАШ СТИЛЬНЫ И МОЛОДЕЖНЫЙ ЯЗЫК" - полная херня.
Ну тут соглы
Аноним 21/11/22 Пнд 20:52:50 2519790 757
Atomic или mutex и почему?
Аноним 21/11/22 Пнд 20:56:13 2519792 758
image.png 808Кб, 871x1280
871x1280
Нвидия-кун ВСЕ?
Аноним 21/11/22 Пнд 21:06:08 2519802 759
Так почему в питоне и жаваскрипте строки неизменяемые, я не могу понять прикол в чем?
Аноним 21/11/22 Пнд 22:04:39 2519860 760
>>2519802
Защита от умственно отсталых дебилов, у которых баги из-за случайного изменения строк.
Аноним 21/11/22 Пнд 23:46:27 2519915 761
>>2519802
Видимо, чтобы не ебаться с cow.
Когда ты строку присваиваешь нескольким переменным, она не копируется. Просто все эти переменные теперь указывают на этот объект строки.
Если бы ты изменил строку одной переменной, она бы изменилась во всех других.
Аноним 21/11/22 Пнд 23:50:27 2519918 762
изображение.png 4Кб, 585x56
585x56
Аноним 21/11/22 Пнд 23:52:41 2519922 763
>>2519915
А что не так с копи он райт? Альтернатива - создавать новый объект каждый раз, когда нужно изменить строку, и в этом случае копирование будет происходить значительно чаще.
Аноним 21/11/22 Пнд 23:56:36 2519928 764
>>2519918
Я вышел за границы. Понял
Аноним 22/11/22 Втр 00:05:52 2519939 765
>>2519922
А если сделать объект имутабельным, то эта проблема в принципе исчезает.
Аноним 22/11/22 Втр 00:13:39 2519944 766
>>2519939
>создавать новый объект каждый раз, когда нужно изменить строку
Это буквально то, что делает питон. Вместо
str[4] = 'x'
делаем
str = str[:4]+'x'+str[5:]
То есть создаем два временных объекта, чтобы создать новый объект на замену старому, лишь бы не переписать один сраный байтик, лол. Так чем это оправдано?
Аноним 22/11/22 Втр 00:14:57 2519945 767
>>2519939
Или ты хочешь сказать, что изменять строки в принципе НИНУЖНА?
Аноним 22/11/22 Втр 03:29:33 2519999 768
image.png 102Кб, 1201x401
1201x401
>>2519792
В Ереване сижу, жду релок в Швейцарию
Аноним 22/11/22 Втр 12:15:14 2520196 769
>>2519999
1) Что учить чтобы вкатиться в нвидию?
2) Почему в нвидии прогерят на винде?
Аноним 22/11/22 Втр 14:24:43 2520291 770
>>2520196
>Почему в нвидии прогерят на винде
На линупсе нет игор, так что драйвера для видеокарт им не нужны, как и сами видеокарты.
Аноним 22/11/22 Втр 14:41:04 2520308 771
>>2520291
Где-то читал, что основной хлеб производителей видивокард - нифига не геймеры. А всякие майнеры, мл и прочий стафф всё равно запускают на линуксе.
Аноним 22/11/22 Втр 15:46:53 2520396 772
>>2520308
Он, канешн, подпёздывает в плане всяких SoC систем и кластеров. Скорее всего его к таким проектам не подпускают прост.
Аноним 22/11/22 Втр 16:16:20 2520424 773
>>2520196
1. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite
Из России реально только в Ереване работать. Дальнейшая релокация для новеньких по общим правилам (5 лет стажа и хорошая работа.

2. Потому-что я работаю с играми под винду. У нас есть один кроссплатформенный проект, его через WSL в вижуал студии кросскомпилировать под никсы - норм работает. CI\CD для него само собой на нормальных никсах.
Аноним 22/11/22 Втр 16:40:34 2520451 774
>>2520424
>через WSL в вижуал студии кросскомпилировать под никсы
Аж сходить помыться захотелось
Аноним 22/11/22 Втр 16:51:14 2520478 775
>>2520451
Свисни, когда зарплата в рублях будет семизначной - тогда поговорим
Аноним 22/11/22 Втр 16:57:52 2520488 776
>>2520478
Свисни, когда член будет 20 см - тогда поговорим
Нет блять, серьёзно? А если тебе предложат котят топить за лярд в год ты тоже этим кичиться будешь?
Аноним 22/11/22 Втр 17:00:28 2520492 777
>>2520488
я не вижу смысла слушать что-либо о профессии от диванных теоретиков, программистов в нонейме и просто ебанутых.

Зарплата - хороший показатель достижений и навыков. А пока ты сидишь в Саратове и пишешь гуй для СДЭК.доставки - твое мнение ничем не отличается от мнения бомжа. Так что сходи, помойся. Может полезно будет.
Аноним 22/11/22 Втр 17:03:28 2520498 778
>>2520492
Ну то есть помимо циферок у тебя в жизни другой гордости нет?
Аноним 22/11/22 Втр 17:06:45 2520504 779
>>2520498
Есть - вон переезжаю в самую охуенную страну в мире, как минимум.
Аноним 22/11/22 Втр 17:08:05 2520508 780
>>2520492
Хороший показатель - это то что ты убежал как всякие либерахи. Не вижу ни одной причины почему твоё мнение на этой борде дожно отличаться от мнения бомжа, ты же фактически сейчас им и являешься.
Аноним 22/11/22 Втр 17:09:15 2520511 781
>>2520508
> просто ебанутых
Вот да, зачем я даже начал этот разговор...
Аноним 22/11/22 Втр 17:11:27 2520515 782
>>2520504
Про это я и спрашивал - кроме материальных достижений в жизни у тебя что-то ещё имеется?
Аноним 22/11/22 Втр 17:14:25 2520520 783
>>2520511
Молодец, что понимаешь несостоятельность своих доводов. А то неспособность обустройства стабильной личной жизни выдаёшь за какое-то достижение. Это называется синдром отложенной жизни, когда живёшь ради подготовки к хорошей жизни, но непосредственно этой самой хорошей жизни прямо сейчас нет.
Аноним 22/11/22 Втр 17:59:08 2520590 784
есть тут знатоки qcustom plot? нужно сделать так что бы в QCPBars, столбики рисовались не от 0, а от -90 скажем или другого значения. Также я почему то не могу изменить цвет столбиков.
Аноним 22/11/22 Втр 18:03:43 2520601 785
>>2520520
А жизнь в Ереване это не синдром отложенной жизни? Нет ощущения, что другие конторы сразу перекатили своих лидов в норм страны, а тебя как помойного котёнка сдали на передержку в армянский приют?
Аноним 22/11/22 Втр 18:08:51 2520610 786
Хотел чела про шейдеры поспрашивать, но тут на него говно наехало, хуй он что теперь расскажет.
Аноним 22/11/22 Втр 18:12:01 2520615 787
>>2520590
ну проблемы с цветом столбиков я решил, просто на максимальном удалении, у столбика ширина равна нулю и рисуется только его граница QPen'ом, а она была другого цвета
Аноним 22/11/22 Втр 18:33:37 2520663 788
>>2520610
Хорошего спеца в Ереван не сбросят, так что можешь спокойно спрашивать на всех.
Аноним 22/11/22 Втр 19:13:17 2520730 789
>>2520424
Модулями в проде пользуютесь?
Аноним 22/11/22 Втр 20:46:28 2520854 790
>>2520615
второе тоже решил
void QCPBars::setBaseValue ( double baseValue)
22/11/22 Втр 20:56:53 2520861 791
>>2520196
>1) Что учить чтобы вкатиться в нвидию?
английский
программирование на bat-файлах и заполнение excel-табличек
22/11/22 Втр 21:57:58 2520898 792
>>2520610
он по батникам больше специализируется
Аноним 22/11/22 Втр 22:08:52 2520922 793
>>2520898
А как же заполнение экселек?
23/11/22 Срд 00:10:20 2521047 794
>>2520922
и это тоже
очень хорошо заполняет эксельки, начальник доволен
Аноним 23/11/22 Срд 01:29:21 2521100 795
Аноним 23/11/22 Срд 10:44:49 2521258 796
Зачем не которые функции на входе требуют, а на выходе выдают const char/int/double... Зачем?
Аноним 23/11/22 Срд 10:48:51 2521260 797
>>2521258
Звёздочки не пропущены?
Аноним 23/11/22 Срд 10:50:04 2521262 798
>>2521260
ну может и пропущены, просто какой смысл вообще в const переменных, только что бы программисту компилятор запретил менять ее?
Аноним 23/11/22 Срд 10:56:17 2521265 799
Аноним 24/11/22 Чтв 08:08:38 2521862 800
> msbuild
> xml в 2022
каш мар!

И что мне это всё ручками писать, или есть еще какой то вспомогательный формат который компилится в мсбилд файл?
Аноним 24/11/22 Чтв 08:58:46 2521877 801
>>2521862
Есть. Называется Visual Studio.
Аноним 24/11/22 Чтв 11:58:27 2522018 802
>>2521877
То есть его руками никто не пишет?
Аноним 24/11/22 Чтв 12:14:49 2522037 803
>>2522018
Ну да. Его либо генерируют через cmake, либо настраивают мышкой в свойствах проекта.
Аноним 24/11/22 Чтв 12:42:13 2522067 804
>>2522037
Cmake умеет msbuild генерить? 0.0
я только видел что генерит всякие .vcproj и подобное
Аноним 24/11/22 Чтв 13:41:21 2522147 805
На чем проще всего запилить ригидбоди, чтобы прям за вечер-два накатать взаимодействие бревна с рельефом местности без длительного курения доков и гайдов?
Аноним 24/11/22 Чтв 13:42:21 2522149 806
>>2522147
Приветсвуются только бесплатные варики, если что
Аноним 24/11/22 Чтв 13:53:35 2522165 807
Аноним 24/11/22 Чтв 14:04:38 2522169 808
>>2522165
>На Godot.
На плюсах нереально в приницпе?
Аноним 24/11/22 Чтв 14:06:41 2522170 809
>>2522169
Всмысле быстро и влажно вкатиться на голых крестах + OpenGL + Физическая_Либа_Name
Аноним 24/11/22 Чтв 14:20:30 2522180 810
>>2522170
За вечер? Да, нереально.
Аноним 24/11/22 Чтв 14:21:38 2522181 811
>>2522180
Ну ок, за неделю-две (но это прям край)
Аноним 24/11/22 Чтв 14:44:47 2522204 812
Аноним 24/11/22 Чтв 14:45:13 2522205 813
Пишите в чем прогаете. Давайте топ ide составим, что ли?
Аноним 24/11/22 Чтв 14:47:29 2522208 814
Аноним 24/11/22 Чтв 14:50:59 2522210 815
>>2522208
Вагон скриптиков для сборки уже написал?
Аноним 24/11/22 Чтв 15:03:22 2522214 816
Да похуй в чем писать. Главное чтобы точки останова ставились и автодополнение работало. Остальное нинужно/прикручивается при желании
Аноним 24/11/22 Чтв 15:45:37 2522230 817
>>2522210
Мне одного build.sh хватает, чтобы вызывать внутри симейк и потом подчищать за ним говно.
Аноним 24/11/22 Чтв 15:47:50 2522234 818
>>2522230
А автодополнение есть там? А дебажишь как?
Аноним 24/11/22 Чтв 16:02:55 2522242 819
>>2522234
Автодополнение есть. Дебаг через gdb и принты.
Аноним 24/11/22 Чтв 17:41:02 2522306 820
Аноны, как реализовать автологин в стороннем приложении? Что почитать? В какую сторону вообще копать?
Аноним 24/11/22 Чтв 17:49:28 2522319 821
Аноним 24/11/22 Чтв 18:00:32 2522334 822
>>2522319
Да больше и никак. Есть приложение, которое при запуске требует логин, пароль и еще кое-какой номер (типа второго пароля). Все данные всегда одинаковые. Хочу сделать .ехе, чтобы каждый раз не вводить эти данные. Можно брать их из файла, можно прям в коде хранить. Без разницы.
Аноним 24/11/22 Чтв 18:11:08 2522345 823
>>2522334
Эмулировать события клавиатуры и мыши.
Аноним 24/11/22 Чтв 18:11:09 2522346 824
Аноним 24/11/22 Чтв 18:24:27 2522350 825
>>2522346
Так это для веба, не?
>>2522345
А есть еще варианты?
Аноним 24/11/22 Чтв 19:27:13 2522389 826
>>2522205
Топ IDE всегда было и будет вижуал студия.
Аноним 24/11/22 Чтв 21:43:08 2522483 827
Аноним 24/11/22 Чтв 21:48:14 2522486 828
Почему все говорят что в крестах нет сборщика мусора если в крестах есть умные указатели?
Аноним 24/11/22 Чтв 21:49:40 2522488 829
>>2522486
> нет сборщика мусора
> есть умные указатели
Ты в нвидии что ли работаешь?
Аноним 24/11/22 Чтв 21:51:18 2522491 830
>>2522488
Нет, в Байкаре. А что?
Аноним 24/11/22 Чтв 22:38:23 2522527 831
>>2522486
Сборщик мусора сидит в кишках рантайма почти как отдельный процесс, следит за всеми ссылками и в фоне периодически удаляет объекты, применяя ёбнутые алгоритмы с поколениями и прочим говном. Что, похоже на умные указатели?
Аноним 24/11/22 Чтв 23:08:44 2522558 832
В чём смысл std::forward?
Аноним 24/11/22 Чтв 23:33:10 2522568 833
>>2522558
r-value перенаправлять.
Аноним 24/11/22 Чтв 23:35:19 2522569 834
Аноним 24/11/22 Чтв 23:46:06 2522573 835
>>2522569
Чет там какое хорошее применение в шаблонах когда форвард заменяет разбор случаев и правильно обрабаиывает и ссылки и не ссылки и r vlaue и x value. Ща не помню, но че то такое
Аноним 25/11/22 Птн 01:21:04 2522600 836
>>2522558
В идеальной передаче.
Нужно для реализации таких штук как emplace_back, чтобы передать аргументы прямо в конструктор, без создания временных объектов.
Аноним 25/11/22 Птн 11:59:25 2522844 837
>>2522558
Погугли что такое universal reference
Собственно только из за этой штуки форвард и существует
Аноним 25/11/22 Птн 19:44:25 2523237 838
>>2522527
Кстати, а сборщик мусора может в теории удалить объект, к которому ещё можно обратиться? Или там есть какие-то гарантии?
Аноним 25/11/22 Птн 20:52:04 2523264 839
>>2523237
Нет, в языках со сборкой мусора к объектам можно обратиться только через ссылку, а сборщик мусора знает о всех ссылках. Разве что как-нибудь в обход через ансейф узнать настоящий адрес объекта и обращаться к нему напрямую через указатель, о котором сборщик мусора не знает, и от этого могут появиться проблемы. Но ансейф всегда означает отсутствие гарантий, всё надо делать осторожно, на свой страх и риск.
Ну и не всегда можно надеяться, что умный рантайм всё сделает за тебя. Попадались всякие говнолибы, где у некоторых классов был реализован финализатор (аналог деструктора), где делается что-то серьёзное при уничтожении объекта, например, меняются значения полей других объектов, и надо специально где-то придерживать ссылки на объекты таких классов, чтобы финализаторы не вызывались, даже если в своём коде эти объекты не используешь. К примеру, есть что-то такое в библиотеке Tkinter для GUI на питоне, там если не придерживать ссылки на какие-то объекты, приложение может просто взять и сломаться в рандомный момент времени, когда сборщик мусора решит их удалить. В жабе тоже что-то такое попадалось. Это в любом случае не проблема самих сборщиков мусора, а неправильного использования финализаторов.
Аноним 26/11/22 Суб 03:49:54 2523487 840
Снимок экрана о[...].png 46Кб, 765x580
765x580
Братики, стоит развивать эту залупу?
Аноним 26/11/22 Суб 04:21:33 2523491 841
>>2523487
Плюсы и веб почти не пересекаются друг с другом, и это прекрасно, остался хоть один относительно популярный язык, не зашкваренный вебом. Веб-фреймворков для плюсов хватает, но их никто не спешит юзать.
Аноним 26/11/22 Суб 05:59:18 2523497 842
Никто не хочет мне заплатить денюшку, а взамен порешаю лабы какие нибудь по плюсам/еще чему нибудь?
Аноним 26/11/22 Суб 19:23:57 2524126 843
Что крутого помимо qt и буста выучить? Если я полезу в вулкан я ебанусь?
Аноним 26/11/22 Суб 19:24:56 2524129 844
Аноним 26/11/22 Суб 19:26:13 2524133 845
>>2524129
А если графика меня не сильно интересует?
>WinAPI
Толсто
Аноним 26/11/22 Суб 19:34:52 2524146 846
>>2524133
А при чём тут графика? Я же не OpenGL говорю.
Аноним 26/11/22 Суб 21:07:45 2524233 847
Поясните нубу за friend
Аноним 26/11/22 Суб 21:25:07 2524255 848
image.png 421Кб, 720x730
720x730
Аноним 26/11/22 Суб 22:06:27 2524285 849
Курва, почему почти в каждой вакансии требуют ВО?
Аноним 26/11/22 Суб 22:21:29 2524295 850
Аноним 27/11/22 Вск 00:03:39 2524347 851
Screenshot from[...].png 447Кб, 1920x1080
1920x1080
Screenshot from[...].png 100Кб, 485x937
485x937
Читаю, значит, Таненбаума, и чтоб как-то развлечься, решил симулировать этот error-correction. Запустил:
>001001100000101101110 (input)
>001001100000101101110 (output)
Цифры из примера. Как видно, ожидаемое исправление не было произведено. Впадлу уже разбираться, поэтому решил пукнуть в тред. Хотите отвечайте, хотите нет. В моей так называемой жизни ничего не поменяется.
Аноним 27/11/22 Вск 01:29:20 2524383 852
>>2524347
1. Блядский using namespace std
2. Нужны пробелы после for и if
3. return 0 в конце main.
Аноним 27/11/22 Вск 01:43:03 2524390 853
>>2524126
Если ты лезешь в вулкан то ниже указаное тебе не нужно. Вулкан может вме тоже но лучше.
Но ты ебанешься.
Аноним 27/11/22 Вск 01:44:39 2524391 854
Аноним 27/11/22 Вск 02:08:49 2524405 855
>>2524383
>1
как видишь, в конце я все таки написал std::cout два раза по привычке, потому что обычно работаю без using namespace std
Аноним 27/11/22 Вск 02:47:22 2524437 856
>>2524347
argc argv - неиспользуемые параметры. Низя.
Я всегда пишу фигурные скобки, даже если тело цикла или ифа состоит из одной строчки. Дальше не читал
Аноним 27/11/22 Вск 06:46:00 2524541 857
>>2524383
> 1.
И в чем проблема? Он же не в хедере это написал
> 2
> 3
Если оно компилируется, то не нужны

>>2524437
> Низя
Можно
Аноним 27/11/22 Вск 07:06:16 2524546 858
Аноним 27/11/22 Вск 07:13:17 2524549 859
Аноним 27/11/22 Вск 08:47:16 2524567 860
>>2524383
4. Открывающая скобка на новой строке
Аноним 27/11/22 Вск 12:30:48 2524671 861
геймдев в россии - все
как следствие половины вакансий крестовиков - то же нет
Аноним 27/11/22 Вск 12:36:45 2524678 862
1669541804524.jpg 202Кб, 669x637
669x637
>>2524671
Спасибо за напоминание

а я уже хотел пойти на третьем курсе работать, а все стажировки хлоп
Аноним 27/11/22 Вск 13:02:30 2524698 863
>>2524671
Ох уж эти орочьи проблемы.
Аноним 27/11/22 Вск 14:07:11 2524756 864
>>2524383
>>2524437
Я искренне желаю, чтоб когда вы, уебки, будете сидеть с какого-то максимально мелкого экрана и спрашивать на форуме какую-то срочную и важную хуйню, вам кидали скрины с максимальным соблюдением всех пробелов, std:: и фигурных скобок.
Аноним 27/11/22 Вск 14:11:15 2524759 865
image.png 38Кб, 706x561
706x561
Господа у меня задача, нужно сделать "водопад". Это так сказать верхний график, только поставленный осью y к нам лицом, как это сделать наиболее оптимально? Я сейчас делаю так рисую на прозрачном изображении верхний график, патом беру верхнее изображение графика и в каждом столбике иду сверху вниз, пока не встречу отличный от прозрачного цвета пиксель. Если встречаю, то записываю в новое изображение высотой в 1 пиксель. И так для каждой координаты Х. И у меня так получается новое изображение шириной с верхний график, но высотой в 1 пиксель, и раскрашенное в максимальные градиент цвета в этой координате. Если у изображения вырастает высота, то вырастает время обработки. Также из за того что высота изображения ограничена, то допустим если я поставлю высокий градиент, который выходи за пределы изображения, я не получу истинного цвета, потому что верхние пиксели будут ограничены, высотой изображения. Ну типо нужно будет всегда рисовать изображение высотой в разницу между координатами градиента.
Аноним 27/11/22 Вск 14:14:21 2524763 866
>>2524736
Так я и не хохол. Меня 8 лет назад назвали русским. Теперь пришли меня защищать и защитили от воды в кране, стабильного света и интернета и бонусом изолировали меня в моём жилище вот уже на 9 месяцев.
Аноним 27/11/22 Вск 14:35:15 2524786 867
>>2524763
А могли бы и в Доме Профсоюзов сжечь. И всем похуй бы потом было.
Аноним 27/11/22 Вск 14:39:03 2524792 868
>>2524786
Могли и на швабру накуканить
Аноним 27/11/22 Вск 14:46:05 2524797 869
>>2524792
Ну если ты из героев АТО, то могли. Хотя за швабру там сроков дали и зеканы не померли в муках. Цеж не Украина, где можно грабить и убивать рандомных челов, записав их в сэпары.
Аноним 27/11/22 Вск 14:49:13 2524798 870
>>2524797
>Ну если ты из героев АТО
Не, я из распятых мальчиков
Аноним 27/11/22 Вск 15:45:21 2524823 871
>>2524347
Ошибка найдена. На 19 строке забыл написать i-1 вместо i.
Аноним 27/11/22 Вск 18:28:05 2525012 872
>>2524756
Анон спрашивал срочную хуйню? Не спрашивал. Иди нахуй.
Аноним 27/11/22 Вск 18:44:36 2525032 873
>>2524383
В C++ (в отличие от C) return EXIT_SUCCESS в main() имплицитен, его компилятор вставит, если ретурна никакого нет
Аноним 27/11/22 Вск 18:53:15 2525041 874
Аноним 27/11/22 Вск 19:47:58 2525079 875
Аноним 27/11/22 Вск 19:59:25 2525088 876
>>2525079
Худеть надо твоей мамаше
Аноним 27/11/22 Вск 20:07:03 2525100 877
аааааааа.....ищу мальчика, который будет дз на c++...я тян...с меня , что нибудь...что сами попросите:> памагитя
пишите в телегу @Criingeeee666
Аноним 27/11/22 Вск 20:23:45 2525116 878
Какие зп у ждунов нынче?
Аноним 27/11/22 Вск 20:26:38 2525120 879
>>2524678
Там майо грозится свой движок писать, даже по ящику про это показывали.
Аноним 27/11/22 Вск 21:02:14 2525160 880
>>2525116
Разброс от тарелки гречи, до 150к
Аноним 27/11/22 Вск 21:09:28 2525166 881
>>2525160
Представляю сколько вышек у меня должно быть и как сильно я должен порвать жопу чтобы вкатиться на 150к
Аноним 27/11/22 Вск 21:12:47 2525168 882
Кто какие фреймворки тестирования использует? Что базой является?
Аноним 27/11/22 Вск 21:15:13 2525170 883
Аноним 27/11/22 Вск 21:17:18 2525172 884
Аноним 27/11/22 Вск 21:18:54 2525174 885
>>2525172
Впадлу буст тащить
Аноним 27/11/22 Вск 21:21:36 2525175 886
>>2525168
Catch2
>>2525170
Выглядит как параша, как и все высеры гугла. Это же аналог юнит-тестов от индусов, такой же окаменевший кал. Продакшен чтоб протестировать надо дико выебнуться.
>>2525172
> Boost
Буквально худшее что изобрели крестовики.
Аноним 27/11/22 Вск 21:27:20 2525178 887
>>2525174
А говно от гугла не впадлу?
>>2525175
>Буквально худшее что изобрели крестовики.
Оче толсто
Аноним 27/11/22 Вск 21:50:27 2525196 888
>>2525192
Ну 11-17 могу нормально, 20 50/50. Это норм?
Аноним 27/11/22 Вск 22:01:28 2525200 889
Без имени.png 105Кб, 1016x725
1016x725
Хочу перевести проект на опенсорс. Сильно ли поцоны из сообщества ругают за хуйню как на пике?
Аноним 27/11/22 Вск 22:03:02 2525201 890
>>2525200
Блять, ты на джаваскрипте что ли писал до плюсов?
Аноним 27/11/22 Вск 22:04:28 2525202 891
>>2525201
Практически да. Нашел, что initializer_list охуительно удобная хуйня. Ну и возврат this из методов тоже популяризовали в jquery 10-15 лет назад, получается тоже жабаскриптовая хуйня.
Аноним 27/11/22 Вск 22:06:29 2525203 892
Аноним 27/11/22 Вск 22:06:53 2525204 893
Поясните за .template, ->template
Аноним 27/11/22 Вск 22:23:19 2525208 894
>>2525206
>код на расте
Моя хрень на данный момент работает в браузере (wasm) без затаскивания туда большого рантайма, работает в линуксе под xlib и в винде под win32. В планах Андроид и наверное Яблоки, хотя последние, кажется, сделали всё возможное, чтобы под айфоны никто ничего не программировал.
Аноним 27/11/22 Вск 22:24:33 2525210 895
>>2524390
Почему я ебанусь если полезу в вулкан?
Аноним 27/11/22 Вск 22:26:08 2525213 896
>>2524763
почему не в окопе, сука
какие проблемы
здохни
Аноним 27/11/22 Вск 22:27:13 2525215 897
Аноним 27/11/22 Вск 22:27:14 2525216 898
>>2524759
господ здесь мало, лично я обоссаное чмо
ты с опущем в одном треде сидишь, я тебя зашкварил
Аноним 27/11/22 Вск 22:29:29 2525218 899
>>2525216
Маааам, меня зашкварили
Аноним 27/11/22 Вск 22:35:15 2525221 900
>>2525217
Микрогуй. Однажды в Go-треде наткнулся на вопрос на тему как там с WASM в Голанг. Начал гуглить эту тему, хотя на тот момент уже знал, что Го несовместим с сишными либами из-за собственного механизма разметки памяти, поэтому для браузера ему нужно затащить рантайм в несколько мегабайn. Заодно увидел, насколько неудобны существующие гуи, ну те, которые не Webview.
Аноним 27/11/22 Вск 22:38:53 2525222 901
>>2525012
Я привел гипертрофированный пример, чтоб донести, что для скрина на дваче такой код оправдан.
Аноним 27/11/22 Вск 22:48:55 2525226 902
>>2525223
К оупенсорсу не готов пока что. Надо подшлифовать. От всякой работы уже устал открещиваться, поскольку пишу на всём от ассемблера до пайтона. Ну и 40-летний специалист не интересен фирмам, потому что понимает лишнее.
Аноним 27/11/22 Вск 22:56:43 2525228 903
>>2525226
а что лишнее можно понять
Аноним 27/11/22 Вск 23:00:18 2525229 904
Что учить чтобы вкатиться на джуна?
Аноним 27/11/22 Вск 23:10:44 2525235 905
>>2525228
Есть вещи, которые нельзя говорить, можно только намекать Иначе все вкатуны сразу вкатятся. А это ведь никому не нужно. Ну если так косвенно и что называется например. Например, есть популярный (S)FTP(S) клиент FileZilla. Что они сделали. Они воспользовались своим именем и сделали клиент под Android. Самым популярным комментарием под этим приложением от пользователей долгое время был такой: блядь, я повелся на ваше название и думал, что у меня на планшете сейчас будет 2-panes приложение как на компе, а вы просто сделали хуйню с мобильным интерфейсом, как же так?
Аноним 27/11/22 Вск 23:11:44 2525236 906
>>2525222
А донёс только то, что не видишь разницы между
> Впадлу уже разбираться, поэтому решил пукнуть в тред. Хотите отвечайте, хотите нет. В моей так называемой жизни ничего не поменяется.
И
> Двач, срочно выручай, не могу разобраться в примере, а если не разберусь, настанет пиздец.
Аноним 27/11/22 Вск 23:15:09 2525238 907
>>2525215
Нельзя добавлять. Сколько про него не слышал, всегда он был в контексте лаб в вузе, потому что больше на нём никто не пишет. А лабы, как известно, идут нахуй.
Аноним 27/11/22 Вск 23:16:49 2525239 908
>>2525235
Типо делать хуйню, норм?
Аноним 27/11/22 Вск 23:23:10 2525243 909
>>2525239
Наоборот. Все еще есть очень много того, что не сделано, и, следовательно, можно это сделать. А у новоиспеченных программистов наоборот беда "а что сделать".
Аноним 27/11/22 Вск 23:26:07 2525246 910
>>2525243
>много того, что не сделано
Ну например?
Аноним 27/11/22 Вск 23:33:11 2525247 911
>>2525246
Ну например, я пишу цикл на крестах с сишными SIMD-интринсиками, в котором мне в последнюю итерацию надо подставить последний пиксель картинки вместо данных из памяти, которые уже в следующий row изображения вылезают. Есть два варианта, и оба плохие - макросы и инлайны. На этом сразу же срывается внимание программиста, отвлечение на какую-то хуйню, которой требуется еще и своё название, и написана она в другом месте. Намного более красиво было бы расширить синтакс циклов.
Аноним 27/11/22 Вск 23:37:28 2525255 912
>>2525247
Ты давай нормальные вещи советуй, что простой соло программист может создать. А не то, для чего надо иметь батю который работает в комитете.
Аноним 27/11/22 Вск 23:41:30 2525257 913
>>2525255
Я знаю, как сделать, чтобы Rutube нормально работал и стал конкурентом Youtube. Интересно?
Аноним 27/11/22 Вск 23:43:43 2525259 914
>>2525257
Не интересно. Речь шла про то, чего пока никто не создал.
Аноним 27/11/22 Вск 23:54:22 2525263 915
>>2498217
Если что-то простое - golang + fyne
Аноним 28/11/22 Пнд 01:16:31 2525277 916
>>2525210
Ну может ты охуенно крут, кто знает. Но так, в среднем по деревне , вкатуны в вулкан охуевают.
Аноним 28/11/22 Пнд 01:19:49 2525281 917
>>2524126
Ты С++ сначала выучи, ученик.
Аноним 28/11/22 Пнд 01:35:09 2525286 918
hellotriangle.png 1977Кб, 3300x20723
3300x20723
>>2525210
На вулкане один треугольник на 1000 строк чего стоит.
Аноним 28/11/22 Пнд 01:46:17 2525292 919
image.png 10Кб, 802x629
802x629
Какими способами можно сжать изображение по вертикали что бы выжили пиксели отличные от черного,я пробовал заполнять изображение прозрачным цветом, оно смешивается с прозрачным
Аноним 28/11/22 Пнд 01:46:59 2525293 920
image.png 5Кб, 798x628
798x628
Аноним 28/11/22 Пнд 01:50:02 2525296 921
>>2525292
Никак, надо писать свой обработчик изменения размера и рисовать новую картинку с нуля по пикселям.
Аноним 28/11/22 Пнд 01:50:06 2525297 922
>>2525210
Зачем?
Если ты хочешь писать движки - это невозможно впринципе, если у тебя нет миллиардов денег.
Если ты хочешь делать игры - возьми юнити и делай.

Все вкатывание в вулкан обычно заканчивается на прыгающем кубике
Аноним 28/11/22 Пнд 02:19:19 2525307 923
Аноним 28/11/22 Пнд 02:51:16 2525312 924
>>2525200
Если ты про копипасту с отличиями в 3 токенах да двух параметрах, то отвратительно. Если про разметку - вообще прохладно - у каждого попенсорсного проекта свой огород и своё подмножество языка.

>>2525226
>40-летний специалист не интересен фирмам, потому что понимает лишнее
Это какая-то рефлексия? Или тебе нужна позиция не ниже CTO?
Аноним 28/11/22 Пнд 06:24:52 2525346 925
>>2525277
Да почему?
>>2525286
Ну на плюсах всё пишется дольше. Зато пока треугольник отрисуешь - уже какие-то вещи "на железе" начнёшь понимать, так ведь?
>>2525297
Не, игры меня не особо интересуют. Я на перспективу в основно. Я параллельно машобом занимаюсь, а тут как раз вычисления на гпу, вот глядишь напишу сильный ии, а вычисления на чём запускать? Ну или там 3D голограмы в обозримом будущем появятся, а я уже умею красоту делать, да ещё и в 300 fps.
Аноним 28/11/22 Пнд 09:54:48 2525408 926
>>2525346
>так ведь
Nyet. Это всего лишь графический API, абстракция. К железу намного ближе CUDA.

>а вычисления на чём запускать?
Ну точно не в вулкане. Опять же OpenCL/CUDA, SYCL, TBB, OpenMP/MPI.
Аноним 28/11/22 Пнд 11:23:32 2525442 927
>>2525238
Ну хз, для вкатунов, довольно удобен вроде.
Аноним 28/11/22 Пнд 11:28:38 2525447 928
Вопросец такой.
Могу ли я использовать Qt4 для коммерческого проекта, без покупки лицензии?
Аноним 28/11/22 Пнд 11:32:57 2525452 929
>>2525408
Не согласен. Ты компуте шецдеры на вулкане видел?
Аноним 28/11/22 Пнд 12:00:33 2525470 930
>>2525408
Какая-то шиза. OpenCL фактически мёртв, как и OpenGL, по факту на стадии maintenance-only, всё теперь на Вулкане. В том числе и поддержка тензоров только у Вулкана есть нормальная.
> TBB, OpenMP/MPI
Это вообще не понятно зачем ты высрал в контексте вычислений на GPU.
>>2525447
Нет. Никогда не используй проприетарные библиотеки под непонятными лицензиями - они могут легко поменяться в новых релизах. Тем более qt, он только в опенсорсе бесплатен, за всё остальное плати.
Аноним 28/11/22 Пнд 12:12:33 2525476 931
>>2525452
>>2525470
Так я учу вулкан или нет? Вы можете нормально ответить?
Аноним 28/11/22 Пнд 12:24:49 2525483 932
>>2525470
Очень печально, надеялся, что получится без этой мозгоебли с лицензиями.
Аноним 28/11/22 Пнд 12:58:16 2525514 933
>>2525447
Можешь юзать хоть в ебически проприетарном коммерческом проекте абсолютно бесплатно и без открытия исходников, только линковать надо динамически. Статически линковать запрещает лицензия.
Аноним 28/11/22 Пнд 14:23:58 2525584 934
Что за хуйня, почему я в поле класса не могу написать просто
std::vector<int> ass(10, 0)?
Почему нужно костылять через std::vector<int> ass = std::vector<int>(10, 0) или в конструкторе это делать?
Аноним 28/11/22 Пнд 14:29:14 2525593 935
>>2525584
> std::vector<int> ass(10, 0)
Потому что это объявление метода, дегенерат.
Аноним 28/11/22 Пнд 14:33:39 2525603 936
>>2525593
Пиздец, обожаю кресты. И как заинициализировать тогда? Как я написал? Алсо сам дегенерат.
Аноним 28/11/22 Пнд 14:57:55 2525633 937
>>2525584
В фигурных скобках.
> или в конструкторе это делать?
Лучше так, наверное.
Аноним 28/11/22 Пнд 15:41:50 2525685 938
>>2525584
> в конструкторе это делать?
Никогда не делай простую инициализацию значением в конструкторе. Либо через список инициализации конструктора, либо на месте скобками/присваиванием. А то можешь получить двойную инициализацию полей - сначала дэфолтным конструктором, потом второй раз руками в конструкторе.
Аноним 28/11/22 Пнд 16:59:04 2525767 939
Короче я учу вулкан, держу в курсе.
Аноним 28/11/22 Пнд 18:48:57 2525870 940
>>2525767
А нахуя? Что с ним делать потом?
Аноним 28/11/22 Пнд 18:50:04 2525871 941
>>2525870
А что ещё учить? Вы же нихуя не советуете.
Аноним 28/11/22 Пнд 18:51:33 2525873 942
>>2525871
Советую выучить алгебраическую геометриб
Аноним 28/11/22 Пнд 18:52:47 2525874 943
Аноним 28/11/22 Пнд 18:53:45 2525875 944
Аноним 28/11/22 Пнд 18:57:58 2525876 945
>>2525875
В нвидию вкачусь, или союзмультфильм на крайняк.
Аноним 28/11/22 Пнд 21:06:22 2525972 946
S&& foo()
{
return S();
}

const S& foo()
{
return S();
}

Почему это UB, если ссылки продлевают жизнь временных объектов, я не понимат!
Аноним 28/11/22 Пнд 21:13:03 2525979 947
>>2525972
Потому что вся наша жизнь UB. Смирись с этим.
Аноним 28/11/22 Пнд 21:57:30 2526004 948
>>2525447
А кто тебя накажет, если ты будешь делать коммерческий продукт с нелицензионным Qt?
Аноним 28/11/22 Пнд 22:10:15 2526008 949
>>2526004
Ещё скажи, что раз Qt съебался, теперь можно пиратить.
Аноним 28/11/22 Пнд 22:29:32 2526017 950
>>2526008
Ну так то зависит от масштабов. Если ты в условном рф на локальном уровне будешь продавать готовое закрытле по, то никто нихера не сделает. А вот если на мировом уровне, то да.
Аноним 28/11/22 Пнд 23:01:44 2526030 951
>>2525767
Учи, полезно как практически, так и академически.
Может оказаться проще сначала покрутить опенгл, потом много знакомого встречаешь и как-то поплавнее получается вкатиться.

>>2525408
Этот даже в руках не держал няшный вулканчик и че-то подпёздывает ещё.
>>2525452
>>2525470
А вот эти респектабельные молодые люди что-то в этой жизни понимают.

После ебли с opengl-ами и всякими cuda-ми, vulkan как свежий глоток воздуха и спасение для всех, кто плотно ебется с gpu, как с графоном, так и с compute-ом.
Мечтаю, чтоб он вынес нахуй dx12 и ебучую cuda, оставшись единственным api для возни с видимокартами.
Аноним 28/11/22 Пнд 23:25:42 2526042 952
>>2526030
>Мечтаю, чтоб он вынес нахуй dx12 и ебучую cuda
Влажность превысила 100%

Победит тот, у кого бабла больше NVIDIA.
Аноним 28/11/22 Пнд 23:37:00 2526047 953
>>2526042
Так вулкан же на всех видяхах работает
Аноним 28/11/22 Пнд 23:40:12 2526051 954
>>2526047
OpenGL тоже, кста. Но он проиграл или с него проиграли или как-то там.
Аноним 28/11/22 Пнд 23:54:00 2526066 955
16676387983540.mp4 4596Кб, 400x230, 00:01:21
400x230
Анон, подскажи. Решил прикрутить визуал к своей либе, чтобы отлаживается было проще (не графика, геометрия), решил взять SFML. В целом норм, но он пустой блядь! Пришлось самому писать всякие Arc, Triangle. Короче, думаю с sfml съебаться, долго выходит.

И вот собственно три пути:
1. Qt. Его пеинтер явно побольше методов имеет, да и накладных расходов меньше. Лицензия есть.

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

3. Остаться на SFML, но блин я вообще не вижу развития, библиотека будто бы мертвая
Аноним 29/11/22 Втр 00:27:24 2526083 956
>>2526051
Сыграл в игру которая шла на жизнь получается
Аноним 29/11/22 Втр 00:59:03 2526087 957
>>2526030
Там додики по треду.
Хронос выстрелил потому что там олдовые сишники, а не вмякая гниль.
И нвидия там од н из основных учасников.
Везде где впжна производительность вулкан аытеснит все остальное.
Аноним 29/11/22 Втр 01:13:42 2526091 958
Аноним 29/11/22 Втр 01:29:02 2526093 959
>>2526091
Там есть поддержка треугольников и дуг?
Аноним 29/11/22 Втр 02:27:45 2526112 960
Подскажите небольшую полезную утилиту на гитхабе, в коде которой можно копать и изучать как делают.
А то я открыл исходники ffmpeg, а там 100500 файлов.
Аноним 29/11/22 Втр 03:57:32 2526127 961
>>2525633
>В фигурных скобках.
Фигурные скобки у стд::вектора это конструктор из initializer_list.
Аноним 29/11/22 Втр 05:29:59 2526141 962
Аноним 29/11/22 Втр 05:58:12 2526148 963
>>2526091
>>2526096
Вы пост читали ваще? Пчел хочет треугольники рисовать а не формы шлепать.
Аноним 29/11/22 Втр 08:09:09 2526162 964
>>2526112
У плюсов есть забавная особенность
Чем лучше написан код, тем неяитаемее он
Буст и стл прямой пример такого
Но можешь какие то опенсорснве проектики погуглить + реализации каких то простых штук, как те же контейнеры
Аноним 29/11/22 Втр 08:10:14 2526164 965
>>2526141
Как и все плюсы
А какие новые книжки классные повыходили за это время?
Аноним 29/11/22 Втр 08:35:03 2526173 966
>>2526112
Нет такого. Все небольшие полезные утилиты без 100500 файлов написаны на сях
Аноним 29/11/22 Втр 08:36:15 2526174 967
>>2526164
>А какие новые книжки классные повыходили за это время?
На английском куча новых книг.
Аноним 29/11/22 Втр 09:13:56 2526185 968
>>2491360 (OP)
Как искать книги на либгене? Нахера Страуструп назвал язык C++? Нихера не гуглится, потому что поисковики считают C++ за 1 символ, ++ не воспринимают. Кавычки не помогают. Даже по запросу Go выдает результат. Есть идеи?
Аноним 29/11/22 Втр 09:19:17 2526189 969
1669702753575.jpeg 345Кб, 1008x1344
1008x1344
Сап аноны, такой вопрос. Я делаю программу, которая очень активно, почти рилтайм, управляет устройствами на PCIe. Проблема в том, что система на дебиане с не RT ядром, и у меня нет опыта и знаний, как такие программы выглядят. Разработка ПСИе устройства у моего коллеги.

Вопрос собсно в чем: как в схожих системах, например, компьютерных играх, делается приближенный к рилтайму event pool с диспетчеризацией функций до миллисекунды? Ничего умнее пускать один поток в while(true) не приходит на ум, далее в коде, через precision_clock, проверять дельты. Ядро будет долбиться в сотку, что позволительно.

Либы типа ASIO, которые имеют epoll под капотом, имеют функции задержки на таймерах с временем до наносекунд, но никто не гарантирует, что вызов будет через заданное время, вызов будет не ранее чем через указанный промежуток, что связано, как я понимаю, с диспетчеризацией процессов в ОС. В интернете рекомендуют ориентироваться на время в 5мс.

К слову, выдача данных от устройства буферизирована, и как раз ориентирована ~5 мс.

Анон, как корректно делать? Что почитать? Считаю, что без QNX задача решаема, QNX блядь еболу имеет с драйверами.

Аноним 29/11/22 Втр 09:22:13 2526194 970
>>2526185
Искать по другим словам, которые есть в названиях книги.
Аноним 29/11/22 Втр 09:35:34 2526201 971
>>2526194
>Искать по другим словам, которые есть в названиях книги.
Надо же знать название. Искать сначала в Амазоне? Там не все опубликованные книги встречаются, например книги с leanpub отсутствуют. По leanpub конечно можно на их сайте искать. Тогда сформулирую вопрос по другому. Есть место, где можно искать все опубликованные когда либо книги, включая новые конечно? Google Books не вариант, там даже нельзя упорядочить по году или другим параметрам.
Аноним 29/11/22 Втр 12:06:01 2526278 972
>>2526270
>Нахожу книгу
Как найти? Где посмотреть все книги, которые вышли например в 2022 году?
Аноним 29/11/22 Втр 12:08:40 2526281 973
Аноним 29/11/22 Втр 12:27:17 2526306 974
Аноним 29/11/22 Втр 13:39:42 2526362 975
Как заставить себя начать искать работу? Всё кажется что я нихуя не знаю.
Аноним 29/11/22 Втр 15:14:18 2526487 976
>>2491360 (OP)
Кто знает что с курсом от Яндекса "Искусство разработки на современном c++"? С курсеры выпилили, а куда выложили непонятно.
Аноним 29/11/22 Втр 15:27:15 2526504 977
Аноним 29/11/22 Втр 16:27:16 2526575 978
>>2526504
Нет 5 курса. К 1-4 курсам нет заданий. Неужели Яндекс забил на курс, который разрабатывал несколько лет? Должны же были куда то выложить. Есть же Openedu, Stepik и другие платформы.
Аноним 29/11/22 Втр 16:32:10 2526580 979
>>2526575
Хочешь знать моё мнение? Яндекс идёт нахуй, качаешь книгу и не выёбываешься. Курс всё равно душнина сплошная, ничего не потеряешь.
Аноним 29/11/22 Втр 17:44:46 2526641 980
На винду нужно написать функцию чтобы получала температуру с некоторых комплетующих вроде проца, ссд. Собсна вопрос это через драйвер нужно делать? Если через драйвер то нужна будет цифровая подпись или можно без неё обойтись?
Аноним 29/11/22 Втр 17:45:01 2526642 981
На винду нужно написать функцию чтобы получала температуру с некоторых комплетующих вроде проца, ссд. Собсна вопрос это через драйвер нужно делать? Если через драйвер то нужна будет цифровая подпись или можно без неё обойтись?
Аноним 29/11/22 Втр 17:47:25 2526647 982
image.png 567Кб, 1200x551
1200x551
>>2526642
>На винду нужно написать
На себя напиши, расист хуев.
Аноним 29/11/22 Втр 18:31:00 2526689 983
Аноним 29/11/22 Втр 18:58:01 2526708 984
Аноним 29/11/22 Втр 19:01:54 2526710 985
Аноним 29/11/22 Втр 19:04:37 2526713 986
>>2526689
Ни разу не писал на шарпе.
Аноним 29/11/22 Втр 19:15:29 2526721 987
>>2526710
Так там и ругаются, что родное апи не работает. Приходится использовать стороннее по, а оно на шарпе.
Аноним 29/11/22 Втр 19:29:15 2526734 988
>>2526721
>Так там и ругаются, что родное апи не работает.
Где там и кто ругается? Может оно немного легаси, но сомневаюсь, что его выпилили. Честно говоря, с виндовыми апи дела не имел, но точно знаю, что их там дохера накопилось за все годы и похоже ничего не выпиливают.
Аноним 29/11/22 Втр 19:31:24 2526738 989
Аноним 29/11/22 Втр 20:20:44 2526786 990
>>2526721
Но ведь сторонее по написано с использованием каких-то родных функций. Может быть NT...
Аноним 29/11/22 Втр 21:51:39 2526830 991
>>2526362
Тебе не кажется, ты реально нихуя не знаешь, лол. Основной способ нормально что-то узнать - поРАБотать с этим на РАБотке
Аноним 30/11/22 Срд 08:22:42 2526989 992
>>2522208
> VIM
>>2522242
> Автодополнение есть. Дебаг через gdb и принты.
Ты забыл про отладку внимательным взглядом.
мимо такой же ебанутый
Аноним 30/11/22 Срд 08:39:21 2527004 993
дебаг в голове
Аноним 30/11/22 Срд 08:43:44 2527007 994
>>2527004
паста-про-препода-компилирующего-в-голове-которому-переполнили-буфер.txt
Аноним 30/11/22 Срд 08:54:33 2527013 995
15640327183870.jpg 57Кб, 550x550
550x550
>>2527004
КОМПИЛИРУЕШЬ В ГОЛОВЕ
@
НАТЫКАЕШЬСЯ НА ОПЕЧАТКУ В ШАБЛОННОМ ШАБЛОНЕ ШАБЛОНА КЛАССА
@
СОЗНАНИЕ НАЧИНАЕТ ЗАПОЛНЯТЬ БЕСКОНЕЧНЫЙ ПОТОК СООБЩЕНИЙ ОБ ОШИБКАХ И ТРЕУГОЛЬНЫХ СКОБОЧЕК
@
ЖИДКО ПЕРНУВ УМИРАЕШ ОТ INTERNAL COMPILER ERROR
Аноним 30/11/22 Срд 10:18:21 2527056 996
>>2526042
Я ровно поэтому и написал "мечтаю".
Ещё бы яблочные черти выкинули свой metal, тоже было бы прекрасно. хоть moltenVK неплохо работает, и на этом спасибо
Аноним 30/11/22 Срд 14:33:32 2527248 997
>>2491360 (OP)
Есть код на плюсах с mpi+omp (решение уравнения Пуассона). Насколько тяжко это переписать под mpi+cuda?

Ни разу cuda не видел. Можете че нить посоветовать для быстровката?
Аноним 30/11/22 Срд 16:44:52 2527326 998
изображение.png 10Кб, 307x364
307x364
Как называется эта болезнь, когда мы может проводить операции с нигде не определенным, несуществующим классом как ни в чем не бывало? Это хотя бы является UB?

Почему арифметические операции с переменными не перенести в компил-тайм?
Аноним 30/11/22 Срд 16:55:45 2527333 999
>>2527326
Иди нахуй

>>2527248
Либы типа Eigen3 имеют бекенды для вычислений, чтобы с миграцией не заморачиваться. В любом случае математика кернелов приблизительно похожа
Аноним 30/11/22 Срд 17:14:12 2527347 1000
>>2527326
1. Forward declaration.
И у тебя на картинке нет операций с объектом незавершенного типа, только объявление указателя на него. Что кстате порождает новый самостоятельный тип.

2. Потому что они перемениваются.
Аноним 30/11/22 Срд 17:14:40 2527348 1001
>>2527326
>Как называется эта болезнь, когда мы может проводить операции с нигде не определенным, несуществующим классом как ни в чем не бывало?
Покажи где ты с классом операции проводишь

>Почему арифметические операции с переменными не перенести в компил-тайм?
Чиво блядь?
Аноним 30/11/22 Срд 19:44:26 2527444 1002
>>2527326
Чел тебе уже ответили но я добпвлю.ты очень глупый. Даже свои три строки не понимаешь.
Аноним 30/11/22 Срд 21:24:57 2527514 1003
изображение.png 7Кб, 271x229
271x229
>>2527347
Что мешает компилятору вместо a+b подставить 5 на этапе компиляции? Это локальные переменные, в других единицах трансляции использованы не будут, внутри функции тоже больше не используется.
Аноним 30/11/22 Срд 21:36:41 2527524 1004
>>2527514
Если там будет const, то подставит чому бы и нет? А если не конст, то и не должен, потому что я могу ее неявно изменить
Аноним 30/11/22 Срд 21:37:40 2527525 1005
>>2527524
> я могу ее неявно изменить
Это как, она же не volatile
Аноним 30/11/22 Срд 21:46:28 2527530 1006
>>2527525
Ладно, я наебал мб. В тупых примерах компилятор реально берет и подставляет, но я думал я смогу как то хитро изъебнуться с памятью, да так, что компилятор это проверить не сможет, поэтому предпочтет не подставлять во время компиляции значения. Хз, можно ли так, сходу сейчас не скажу
Аноним 01/12/22 Чтв 00:35:14 2527600 1007
Анон, возможно ли выкинуть объявление и инициализацию пары для инициализации второго поля контейнера map, представляющую из себя пару:

map<int, pair<int,int>> map_obj;
pair<int,int> pair_obj = {1,1};
map_obj[1] = pair_obj;

чтобы получилось что-то такое:

map<int, pair<int,int>> map_obj;
map_obj[1] =this.first(1).second(1);
Аноним 01/12/22 Чтв 00:37:43 2527601 1008
>>2527514
То, что между инициализацией и коутом может быть что угодно, а не только пустая строчка.
Алсо, коут - это никак не этап компиляции.
Аноним 01/12/22 Чтв 00:43:52 2527602 1009
>>2527600
пора спать, совсем забыл про std::make_pair (T,T)
Аноним 01/12/22 Чтв 00:47:15 2527603 1010
>>2526189
ты студентик или работаешь уже, а? как вас таких убогих на работку то берут?
че, лошара, не знаешь как организовать базовый ввод-вывод, хоть синхронный, хоть асинхронный и придумываешь какие то охуительные велосипеды с "while(true) и ядро будет долбится в сотку"
ты в универе курс "операционные системы" проходил, уебок? че, не знаешь как там ввод-вывод организован чтоли?
окей, хуесос, набери в гугле "синхронный асинхронный ввод вывод linux" и читай википедию
Аноним 01/12/22 Чтв 00:51:52 2527604 1011
>>2526362
все равно ты ничего не найдешь, работы нет, и не будет
хочешь денег - идешь в окоп под бахмутом за 240 тр в месяц
сдохни
Аноним 01/12/22 Чтв 04:32:11 2527644 1012
image.png 49Кб, 1684x495
1684x495
>>2527514
Он и оптимизирует. (Везде, кроме -O0)

>>2527601
std::cout << a + b;
сворачивается в
std::cout.operator<<(a+b);
что уже является не чем-то мистическим, а обычным методом. Почему бы не оптимизировать на этапе компиляции аргумент метода?
Аноним 01/12/22 Чтв 09:22:25 2527699 1013
>>2527644
>Почему бы не оптимизировать на этапе компиляции аргумент метода?
Потому что это не то, что чел реквестил в начале.
>Почему арифметические операции с переменными не перенести в компил-тайм?

Арифметические операции с переменными, а не частные случаи, когда и переменная-то избыточна.
Аноним 01/12/22 Чтв 14:12:33 2527879 1014
Мужики, навалите БАЗУ по Rust-у.
Самому трогать это поделие и очередного "убийцу" Си у меня нет времени, но при этом новости об этом языке достают меня даже в танке(например, принятие раста в ядро Линукс). Все бы ничего, но эта всеобщая атмосфера самоподсоса вокруг языка и потужные форсы т.н. превосходства ВО ВСЕМ вызывают у меня какое-то подозрение. Я не нашел ни одной статьи с разбором языка, вызде какие-то фанатичные текста с общими и идеалистическими аргументами в духе "ПИЗЖЕ ЧЕМ БЫЛО, just trust me bro". Никто там денег этой херни на рекламу не закинул? Или это очередной форс к смузихлебов как это было с Руби, Элексиром и прочими?
Аноним 01/12/22 Чтв 14:15:57 2527883 1015
>>2527879
Братан, если оно тебе нахуй не надо, то зачем ты вобще лезешь?
Вас самих не заебало всё обмусоливать из раза в раз?
Аноним 01/12/22 Чтв 14:20:26 2527886 1016
>>2527883
>Братан, если оно тебе нахуй не надо, то зачем ты вобще лезешь?
Ответ на это в первом посте есть.
>Вас самих не заебало всё обмусоливать из раза в раз?
Кого вам? Я здесь один нахуй. Раньше мне было похуй, но потом поддерку сабжа добавили в ядро Линукса. Я про себя подумал "Нихуя себе историческое событие, второй язык в ядре" и пошел читать интернеты, чтобы понять, что это за ягода. Пролистав 5 страниц гугла, я кроме самоподсоса ничего не нашел.
Аноним 01/12/22 Чтв 14:23:32 2527889 1017
>>2527886
>Ответ на это в первом посте есть.
У тебя даже нету времени этот язык потрогать, зачем тебе еще что то знать о нём?
Аноним 01/12/22 Чтв 14:39:35 2527909 1018
>>2527889
>зачем тебе еще что то знать о нём?
>>2527886
>Раньше мне было похуй, но потом поддерку сабжа добавили в ядро Линукса.
>>2527879
>но при этом новости об этом языке достают меня даже в танке(например, принятие раста в ядро Линукс).
Что тебе не понятно?
Аноним 01/12/22 Чтв 15:37:00 2527991 1019
>>2527879
Если сравнивать с Си, то всё верно говорят - Раст его выебал во все щели. Но судя по твоему шизоидному тексту ты пришёл сюда за тем чтобы тебя успокоили и рассказали какое говно Раст. С этим тебе только таблетки помогут.
Аноним 01/12/22 Чтв 15:47:41 2528004 1020
>>2527991
>Узнал о языке Х
>пошел гуглить
>не нашел никакой конкретики, критики и ничего кроме хуйни от маркетологов
>"Пацаны, что за хуйня? Что почитать, чтобы ознакомиться и не потерять много времени?"
>"РЯЯЯЯ ВСЕ СОСНУЛИ, РАСТ ЛУЧШИЙ"
Ок.
Аноним 01/12/22 Чтв 15:56:39 2528013 1021
>>2528004
> не нашел никакой конкретики
А искал? В документации вся конкретика описана. Что ты ещё хочешь? Чтоб тебе разжевали почему были сделаны конкретные решения в дизайне языка и доказать что они верные?
Аноним 01/12/22 Чтв 18:13:17 2528186 1022
Аноним 01/12/22 Чтв 18:45:32 2528249 1023
>>2528186
Твой пробивальник? Хуйню порет, у раста куча плюсов, но он всё напиздел. Кто не может осилить ручной менеджмент памяти будет и в расте баги писать, только теперь из-за дремучего кода лесенками и ансейфа.
Про легаси вообще кринж - у раста уже гора легаси, которое переписывают не дописав старое. Это один из главных минусов раста - наглухо ебанутое комьюнити, пишущее код для красоты, а не чтоб он просто работал.
Написал код, но хуй не стоит? Решение есть - надо переписывать.
А как ним этим пользоваться? Никак, мы тут пишем идиоматичный и безопасный код, а не рабочий софт.
Алсо, я, к сожаления, сам такой же шиз. Весь рабочий софт был написан на отъебись, весь хорошо написанный код никогда не доводил до релизного состояния.
Аноним 01/12/22 Чтв 19:08:41 2528287 1024
Аноним 01/12/22 Чтв 20:18:59 2528346 1025
>>2528249
>Твой пробивальник?
Просто это первое, что вышло на youtube, когда вбил rust. И всё, что он сказал, мне показалось надуманной хуйнёй.
Аноним 01/12/22 Чтв 20:37:30 2528363 1026
>>2528280
В справке асио везде фигурирует, что объекты в колбэках должны существовать, поэтому у них паттерн есть буферы и респонзы держать как аргумент класса

Пример с асио и шаредптр - chat или как-то так
Аноним 01/12/22 Чтв 21:50:02 2528406 1027
Аноним 01/12/22 Чтв 22:00:12 2528416 1028
Аноны, есть вот такая конструкция:
контейнер map, содержащий ключ-строку и data-pair, состоящая из объекта-fanction и указателя на переменную(типа double)
std::map<std::string, std::pair<std::function <double(Calc,double&,double&)>,double>> Function_Name;

вопрос - как из функции правильно обратиться ко второму значению pair? при вызове этой функции из объекта-function из контейнера
Аноним 01/12/22 Чтв 22:04:21 2528419 1029
>>2528416
добавить в принимаемые параметры функции итератор на саму-себя в контейнере, да?
Аноним 01/12/22 Чтв 22:54:52 2528455 1030
Аноним 01/12/22 Чтв 23:55:25 2528483 1031
Почему при передаче в функцию аргумента char data[] , вызов sizeof(data) в этой же функции всегда возвращает 4? Даже если data="Я ЕБУ СОБАК ЛАЛАЛА ЙЦХДЙЦХКЛЙЦЕЙЬЩЛЬ".
Аноним 02/12/22 Птн 00:34:37 2528501 1032
>>2528483
Потому что sizeof() вернёт размер массива только тогда, когда он определён в этой же функции. При передаче в другую функцию он считается указателем, на твоей системе размер указателя равен 4. Будто передал char *data.
https://www.geeksforgeeks.org/using-sizof-operator-with-array-paratmeters-in-c/
Просто не используй сишные массивы, используй STL.
Аноним 02/12/22 Птн 19:37:35 2529112 1033
c++.png 52Кб, 1024x768
1024x768
Аноним 02/12/22 Птн 21:02:47 2529195 1034
изображение.png 20Кб, 534x424
534x424
Реализация питоновского print()! Какие вы бы предложили идеи и дополнения?
Аноним 02/12/22 Птн 21:08:02 2529203 1035
Аноним 02/12/22 Птн 21:36:31 2529228 1036
>>2529195
Вот ты пидорасина тупая. У тебя каждый вызов этого говна - отдельная функция. Про скорость можно даже не вспоминать, она действительно будет равна питоновской.
Аноним 02/12/22 Птн 21:42:22 2529231 1037
>>2529195
Не говоря о перформансе, надо как минимум добавить необязательный параметр для потока, чтобы можно было принтить в файл или поток ошибок, и ещё нужен необязательный флаг flush.
Аноним 02/12/22 Птн 23:19:21 2529284 1038
>>2529195
Ну принт()(...) Выглядит само по себе не оч
Попробуй оператор статистическим сделать, или просто сделай функцию

Сделай чтобы можно было любой ostream в функцию пихать

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

Потом как все это сделаешь, попробуй форматирование добавить, или хотя бы посмотри как оно делается
Чтобы можно было писать fprint("hello, {}", "anon");
Аноним 03/12/22 Суб 12:20:07 2529582 1039
>>2527879
Мэмори сейфти + отсутствие garbage collector + упор на безопасность
Ну а ещё хорошие инструменты для разработки, ахуенные макросы, более крутая система типов

В итоге:
- для петов идеально
- для прода со скрипом

про безопасность актуалочка: https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html
Аноним 03/12/22 Суб 14:55:24 2529725 1040
Как редактор вскодиум мне очень нравится, но клангд в нем парсит явно хуже чем в слионе. Или что то донастроить нужно?
Аноним 03/12/22 Суб 15:10:23 2529742 1041
>>2527879
Вот хороший сайт про Раст на русском: rustrus.ru
Аноним 03/12/22 Суб 15:16:51 2529746 1042
>>2529582
> про безопасность актуалочка
Самое забавное, что подобная хуйня только у Гугла. Пишут на Си с классами, а потом удивляются откуда дыры и ищут оправдания. При этом реально критические баги, позволяющие обойти все защиты без спецсредств - в жаба-коде.
Аноним 03/12/22 Суб 15:38:28 2529761 1043
image.png 306Кб, 965x565
965x565
Поясните!
Пограмирую микроконтроллер, который должен выдавать текст на экраны по I2c. Всего экранов 16 штук.
Заказал пикрелейтед 2 шт. для на чала.
После пары часов ебли выяснилось, что у них 2 разные микросхемы. У одной адрес начинается с 0x40 (и далее до 0x4E), а у другой с 0x70 (и до 0x7E).
Я так понял, что прислать могут тупо рандомные как повезет. А мне надо чтобы было 8 одних и 8 других, либо 8 одних и тех же, чтобы я их тупо параллельно воткнул по 2 на 1 адрес.
Короче как поступить? И как в цикле обработать адреса, если мне к примеру придет 4 штук первого типа и 12 штук второго типа? Или там 11 штук первого и 5 штук второго?
Пиздец бошка кипит от этой хуйни.
Аноним 03/12/22 Суб 15:44:13 2529770 1044
>>2529761
>0x40 (и далее до 0x4E)
Поясню немного
0x40=0b01000000
Адрес задается 3 битами, выделенными жирным.
0x70=0b01110000
Здесь так же, но старшие биты другие.
Аноним 03/12/22 Суб 16:11:54 2529795 1045
>>2529761
Вообще ты должен ебать поставщика, но как выход используй калибровочную прогу в начале для сопоставления смещений к физическим устройствам, если это возможно канеш...
Аноним 03/12/22 Суб 20:21:31 2529972 1046
>>2529746
Жаль ты не в Гугле, быстро бы дядям объяснил как код следует писать
Сколько у них человек над кодом работают? Пару тысяч?
Аноним 03/12/22 Суб 20:36:10 2529991 1047
>>2529972
Если ты порвался с "си с классами", то их за это все кому не лень обоссывают. Посмотри хотя бы на тот же код Ведра - сплошное вырвиглазное легаси, про то что существует С++11 там услышали только через 10 лет после его появления. И дело не в кодерах, а в том что престарелые олдфаги из верхов гугла решили заставить всех писать в легаси-стиле. А потом выяснилось что, тех кого понабрали, не могут писать в таком стиле как эти деды и не косячить. И теперь "пук-среньк понимаете кресты дырявые, мы не виноваты", хотя огромное количество компаний пишут на крестах и не имеют таких проблем с дырами - даже у индусов из Майкрософта не так всё плохо в плане безопасности.
Аноним 03/12/22 Суб 21:30:49 2530024 1048
>>2529991
Но си с классами это литерали лучший язык программирования евер.
А проблема в
> А потом выяснилось что, тех кого понабрали, не могут писать в таком стиле
говнокодерах
Аноним 03/12/22 Суб 21:42:11 2530031 1049
Аноним 03/12/22 Суб 21:44:59 2530033 1050
>>2530031
О гугле столько подобной инфы, что сами разрабы из гугла в ахуе.
Аноним 03/12/22 Суб 23:00:48 2530063 1051
>>2491360 (OP)
Антонио, посоветуй графический интерфайс под цпп. QT как я понял заставляет скачивать их хуйню с сайта и в общем оно мне не надо. Есть норм аналоги кт, но без всего этого? Нужно для пет проекта
Аноним 03/12/22 Суб 23:41:54 2530092 1052
Аноним 04/12/22 Вск 02:02:04 2530156 1053
>>2530151
Не так. От относительного времени да, от абсолютного нет. Так что поебать. Хотя в дектопе вообще все так себе, это же не реалтайм.
Аноним 04/12/22 Вск 02:29:59 2530166 1054
>>2530164
в не-реалтайм системе, у тебя просто юзер по NTP раз в год системное время обновит и время назад пошло, охуенно. Хоть как ты его считай.
Аноним 04/12/22 Вск 11:47:22 2530364 1055
>>2530151
Предполагаю, что в процах х86, подобно как и в арм кортекс, есть систем клок, зависящий от системной частоты. Его точность определяется кварцем, который явно точнее rc цепочки, ещё и стабилизирован по температуре. Также предположу, что десктопные прлцы с учётом своего переменного энергопотребления, учитывают снижение частоты.

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

Понятное дело, что реальное время, которое мы синхроним по НТП, будет отличаться от системного из-за как минимум разных частотных доменов, а ещё учитываем, что сервера по НТП имеют в качестве базы атомные часы, которые точнее кварца, так ещё учёные периодически подводки делают на секунду.

хай-прецизион-клок отлично использовать в качестве дельты времени с отличной точностью, но грубо говоря в пределах суток, отсчитывать по ним год работы нельзя, необходимо иметь синхру, хотя бы по GPS.
Аноним 04/12/22 Вск 12:15:08 2530373 1056
Читаю про операционные системы и просто охуеваю. Оказывается можно написать уебищную инструкцию и оправить ее прямо в процессор, и вот он уже сам вызовет прерывание, сам сгенерирует исключение и отдаст на обработку в ядро. То есть никакой якобы прослойки между программами и железом нет. Волшебного ядра, контролирующего все на свете, не существует, даже проверкой адресов занимается MMU аппаратно, и пока мне видится, что ос можно заменить системой обработчиков прерываний. Может дальше пойму, почему такой хайп вокруг ядер.
Аноним 04/12/22 Вск 13:42:18 2530479 1057
Аноним 04/12/22 Вск 14:38:34 2530527 1058
>>2530373
Ресурсы для тебя кто распределяет?
Кто процессы твои переключает?

Процессор ничего о файлах, сетевых ресурсах, процессах и тды не знает
Аноним 04/12/22 Вск 14:39:22 2530528 1059
>>2530492
А что по твоему должен сделать мутех тогда?
Аноним 04/12/22 Вск 14:43:04 2530529 1060
Аноним 05/12/22 Пнд 01:31:02 2531066 1061
>>2530492
Чтобы жизнь мёдом не казалась.
Аноним 05/12/22 Пнд 10:45:59 2531230 1062
Мне нравится, что в случае UB через окно может влететь дрон и расстрелять тебя вместе с семьей, и это допускается официальной спецификацией языка.
Аноним 05/12/22 Пнд 12:19:03 2531303 1063
>>2531230
Большая свобода - большая ответственность. Ну и проблема теоретически не решаема, если работаешь на "низком уровне". Даже в Ada какой-то недоГЦ встроен.
Аноним 05/12/22 Пнд 12:23:19 2531308 1064
>>2531230
Расстреливать в первую очередь надо пидоров, которые осознанно допускают UB, якобы у них "всё работает".
Аноним 05/12/22 Пнд 13:39:01 2531409 1065
изображение.png 273Кб, 1360x768
1360x768
Слушайте, а если у меня поля состоят из raii-шных объектов, нужно ли мне делать пустой конструктор перемещения и помечать его как noexcept, чтобы вектор эти объекты перемещал при реаллокации? Не как в этом примере, тут понятно что копирующий создан не будет из-за юник поинтера.
Аноним 05/12/22 Пнд 18:52:57 2531869 1066
Аноним 05/12/22 Пнд 19:28:14 2531930 1067
изображение.png 82Кб, 656x104
656x104
>>2531869
Всякие нагугленные статьи из интернета и лекции на ютубе для студентиков. И конкретно Финогенов К.Г. win32 основы программирования, где в главе про архитектуру он кидал тейки как на пике про то, что говнокод обрабатывает прежде всего процессор, от чего у меня случилась фрустрация.
Ну собственно по-другому быть и не может, потому что ось - это всего лишь набор команд в оперативной памяти, а не волшебная оболочка над железом.
Такие фрустрации, переворачивающие все с ног на голову, по мере изучению плюсов у меня случаются иногда. Например, долгое время я думал, что выражение int x; это просто объявление, а чтобы определить надо добавить инициализатор int x = 5; Ебало представили? Так я понял смысл слова extern, подробно изучил ODR и разобрался для чего в современных плюсах нужен inline.
Аноним 05/12/22 Пнд 19:35:46 2531943 1068
>>2531930
Спасибо надеюсь найду время тоже почитать
Аноним 05/12/22 Пнд 19:38:06 2531947 1069
>>2531943
Конкретно это книгу надо читать, если уже знаешь более-менее плюсы, но вообще не понимаешь winAPI и хочешь разобраться.
Аноним 05/12/22 Пнд 21:10:31 2532050 1070
Анончики, помогите!
В блокноте надо написать 'Hello world!'. Сделал вот такую конструкцию:
string slovo = "Hello world!";
for (int i = 0; i <= slovo.length(); i++)
{
cout << slovo << "\n";

keybd_event(slovo, 0, 0, 0);
keybd_event(slovo, 0, KEYEVENTF_KEYUP, 0);
}
В консоли все печатается как надо, но в блокноте печатается номер элемента. Как букву то напечатать? Т_Т
Аноним 05/12/22 Пнд 21:11:56 2532051 1071
image.png 16Кб, 493x191
493x191
>>2532050
Вакаба все похерила. Код на скрине
Аноним 05/12/22 Пнд 22:01:04 2532108 1072
>>2532051
Чтт значит в блокноте? Если в файле то старый добрый фпринтф.
Аноним 05/12/22 Пнд 23:36:06 2532250 1073
>>2530373
Ты идиот или прикидываешься?
Аноним 05/12/22 Пнд 23:42:59 2532266 1074
>>2525593
И какой же тип у параметров этого метода?
Аноним 06/12/22 Втр 05:01:53 2532402 1075
>>2531930
> разобрался для чего в современных плюсах нужен inline.
И для чего же?
Аноним 06/12/22 Втр 07:48:58 2532432 1076
>>2525584
потомучто в class Class {
...
};
все, что между фигурными скобками это особый контекст - контекст определения класса.
Точно так же внутри этого контекста но вне какого-либо метода ты не можешь написать какой нибудь for (int i; ...) или if(flag).
Тело класса вообще не является выполняемым кодом программы.

>>2532266
В данном случае тип параметров не определен (не указан), о чем компилятор тебе и скажет.
Аноним 06/12/22 Втр 08:08:31 2532441 1077
Сап, последняя версия gcc 13.0.0 выдаёт segfault если пытаюсь передать в std::cout строку на русском utf-8 на убунте.
Аноним 06/12/22 Втр 09:37:00 2532482 1078
>>2532402
Чтобы обходить ODR очевидно.
Аноним 06/12/22 Втр 10:11:07 2532498 1079
>>2532432
>В данном случае тип параметров не определен (не указан)
Тогда это не метод
Аноним 06/12/22 Втр 10:41:20 2532505 1080
>>2532498
Бляха муха, возьми да попробуй скомпилировать.
Конкретно этот - метод, записанный с ошибками.
Аноним 06/12/22 Втр 11:06:07 2532514 1081
>>2532441
Так гсс 12.2 последняя. 13 очевидно альфа бетта какая то
Аноним 06/12/22 Втр 18:12:39 2532988 1082
>>2532441
>строку на русском utf-8
Уже появился свой русский UTF-8?
Аноним 06/12/22 Втр 22:01:59 2533206 1083
>>2491360 (OP)
допустим есть коллекция boost::base_collection, элементы которой необходимо модифицировать, как это правильно сделать?
Первая итерация - создать новую коллекцию, и извлекая элементы из старой конструировать новые, но тогда необходимо матчить между собой типы, ходят слухи что так делать не надо.
Вообще как правильно сравнивать типы и можно на таком строить логику?
https://godbolt.org/z/YEchndKzq
Аноним 06/12/22 Втр 22:21:18 2533235 1084
>>2533206
Есть же в стд что то типа из сейм
Аноним 07/12/22 Срд 00:38:02 2533391 1085
Дам ссылку на соседний тред про то, как писали под мыловарню, а то он пустой


>>2533359 →
Аноним 07/12/22 Срд 17:57:57 2534074 1086
>>2533235
я в примере использую is_base_of_v, но проблема в другом.
при работе с boost::base_collection, я получаю base&, мне надо какой именно это derived. Возможно надо по-другому логику строить, но как тогда?
https://godbolt.org/z/an4d9z4Kh
Аноним 07/12/22 Срд 18:42:34 2534170 1087
>>2534074
Хз что там у тебя, у меня стд из сейм в тип1 тип2 работало нормально.
Аноним 07/12/22 Срд 19:19:00 2534254 1088
>>2534170
class A
class B:A
class C
class D:C
имея A& необходимо сконструировать D, если A& это B.
ветка
if constexpr(std::is_same_v<A&, B>)
всегда false.
Аноним 08/12/22 Чтв 01:19:51 2534625 1089
>>2534254
Технически верно, это ведь не совспм одно и то же. Попробуй свой из сейм в гаписать, не такой жесткий.
Аноним 08/12/22 Чтв 06:51:35 2534706 1090
>>2534254
Такое только в динамике проверить можно
Как в статике компилятор проверит, что у тебя под референсом лежит?
Только динамик каст
Аноним 08/12/22 Чтв 08:42:05 2534731 1091
Анон, как корректно интегрировать boost::asio (на нем либа) в Qt (на нем проверка)? Видел вариант запихивать io_context::poll_one() в сигнал, который по таймеру берется, но хз, как я понимаю, там реальный поллинг редкий, просер азио будет.
Аноним 08/12/22 Чтв 19:13:34 2535473 1092
>>2534625
пробовал
https://godbolt.org/z/a53796d8Y
если раскомментить 46 строчку, видно, что там тип A всегда
>>2534706
то есть переводить в указатель и проверять на через каст к определяемому типу?
Аноним 08/12/22 Чтв 20:02:51 2535600 1093
3d.jpg 38Кб, 500x563
500x563
Пять лет писал на крестах, сегодня выяснил, что я нихуя не знаю.
Аноним 08/12/22 Чтв 20:11:50 2535609 1094
Аноним 08/12/22 Чтв 20:16:34 2535613 1095
>>2529228
С каких хуев это на производительности скажется?
Аноним 08/12/22 Чтв 23:04:31 2535771 1096
>>2535600
Анон, а те, кто думают, что знают, не знают ещё больше. С++ хороший пример эффекта Даннинга-Крюгера.

Я тоже не знаю C++ спустя 6 лет разработки, периодически делая прошивки на Си под микроконтроллеры. Каждую неделю узнаю что-то новое.
Аноним 08/12/22 Чтв 23:14:47 2535791 1097
>>2535600
Ну колись какие вопросы были? интригу тут создал, ебаный свет.
>>2535771
> Каждую неделю узнаю что-то новое.
Что например? Может тебе и не нужно, потому что используешь инструменты для ограниченной сферы.
Аноним 08/12/22 Чтв 23:15:43 2535792 1098
>>2535473
Можно к указатель не кастовать, динамик каст умеет в референсы
Аноним 08/12/22 Чтв 23:18:00 2535796 1099
изображение.png 152Кб, 729x863
729x863
https://pastebin.com/r655NVur

Аноны, поясните за std::barrier
Если в 33 строчке заменить arrive_and_drop на arrive_and_wait, то программа зависнет в ожидании.
Не понял с этими фазами барьеров и счётчиками внутри него.
Аноним 09/12/22 Птн 00:55:05 2535851 1100
gsahhsty.jpg 7Кб, 234x216
234x216
>>2535600
С ChatGPT пообщался небось?
Аноним 09/12/22 Птн 01:18:09 2535866 1101
Вопроса два.
Как вообще "правильно" и оптимально считать бинарник, чтобы потом инфой манипулировать? В файле много блоков одиннаковой структуры, которые еще zlib'ом распаковать надо и понадобится возможность фильтровать/сортировать их.
Что использовать под буфером, какой размер выбрать и тип? char? uint8_t? В моем случае файлы 100кб-1,5мб.
Первая идея описать блоки в файле структурами и заполнять их. reinterpret_cast массив байтов к нужной нам структуре и после копирования можно пользоваться. Структуры правильно заполнялись, и тут подумал изучить вопрос UB.
Тут обсуждались примеры, похожие с моими, только я структуры на стеке держу (это пока) (пик1, пик2):
https://youtu.be/_qzMpk-22cc?t=1278
https://youtu.be/_qzMpk-22cc?t=1452
В Си, кстати, второй пример с malloc валидный и не UB.
Код:
https://pastebin.com/bUJ7zXpX
https://gcc.godbolt.org/z/KhjaqqMa9

struct Header_t {
uint32_t field1;
uint16_t field2;
uint16_t field3;
};
std::ifstream file("abu.bin", std::ios::in | std::ios::binary);
std::streampos fileSize = 0x12345; // placeholder
std::vector<uint8_t> buf(fileSize);
uint8_t⚹ pBuf = buf.data();
file.read(reinterpret_cast<char⚹>(pBuf), fileSize); // (1)
Header_t header;
header = ⚹reinterpret_cast<Header_t>⚹>(pBuf); // (2)
// ^ v одно и тоже по стандарту и в листинге
header = ⚹static_cast<Header_t⚹>(static_cast<void⚹>(pBuf)); // (3)
std::memcpy(&header, pBuf, sizeof(Header_t)); // (4)
header = ⚹std::bit_cast<Header_t⚹>(pBuf); // (5) C++20
static_assert(std::is_trivial_v<Header_t> &&
std::is_standard_layout_v<Header_t>);

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

Теперь, как думаете, где здесь UB? Изучив сноски стандарта и десяток вопросов на стаковерфлоу мое мнение такое:
1) read только char* принимает, думаю не UB, т.к. мы просто заполняем буфер.
2) и 3) одно и тоже по стандарту. Как я понял сам каст не UB, но когда происходит обращение (access) через ⚹ это UB.
4) не UB. Но нужно, чтобы src и dst был trivial copyable и POD (standard layout возможно не прав).
5) не UB. Внутри memcpy, но с проверками. Все проверки делает через шаблоны, возможно создает временный объект внутри и возвращает (в реализации на cppreference так)
Все варианты правильно работают (на винде). Оптимизируются до 1-3 mov gcc, clang, msvc (но это не точно). Не смог дать понять компилятору, чтобы не выкидывал структуру/копирование при -O3 или /O2 в msvc.
Аноним 09/12/22 Птн 01:22:41 2535868 1102
Как же я заебался зубрить UB.
Аноним 09/12/22 Птн 01:28:25 2535869 1103
>>2535866
header = ⚹reinterpret_cast<Header_t⚹>(pBuf); // (2)
fix
Аноним 09/12/22 Птн 09:40:32 2536020 1104
>>2535609
>>2535791
Что будет если деструктор бросает исключения во время разрушения другим исключением? Можно ли обработать это исключение?
Узнал, что weak_ptr, оказывается, в стандарте с 11-го. Правда нахуй он нужен, я не понимаю до сих пор.
Аноним 09/12/22 Птн 09:53:24 2536029 1105
>>2536020
Ну и прочая UB хуйня, которую никто в здравом уме не будет писать в прод.
Вообще, удивительно, что никто не спрашивал про argument-dependent lookup или про value categories.
Про шаблоны тоже 0 вопросов. Видимо, в 2к22 все ещё пишут на C с классами.
Аноним 09/12/22 Птн 11:24:49 2536100 1106
>>2536020
деструктор неявно noexcept, поэтому будет terminate
можешь руками сказать noexcept(false), тогда можно будет ловить
такое знаешь, если ты шалунишка и разок пробовал это сделать, но я думаю, что такое нет смысла спрашивать -- ни о чём такое знание не говорит
Аноним 09/12/22 Птн 14:36:46 2536254 1107
>>2536020
Просто прога завершится. Нельзя два исключения в один момент времени выбрасывать
Аноним 09/12/22 Птн 16:35:40 2536361 1108
>>2536029
>Видимо, в 2к22 все ещё пишут на C с классами.
Лол, гугл в таком стиле и пишет.
Аноним 09/12/22 Птн 17:45:03 2536450 1109
Аноним 09/12/22 Птн 17:54:32 2536462 1110
Аноним 09/12/22 Птн 22:34:21 2536866 1111
Анон, в ирл приложениях что-то используется кроме Boost::ASIO, когда нужна работа с сетью? Qt сильно хуесоснее
Аноним 09/12/22 Птн 22:37:23 2536869 1112
>>2536361
Гугл покрывает далеко не все предметные области. И из того, что он покрывает, далеко не все он пишет на спп с классами или без.
Аноним 09/12/22 Птн 22:50:33 2536875 1113
Аноним 10/12/22 Суб 00:14:02 2536924 1114
>>2536020
> Что будет если деструктор бросает исключения во время разрушения другим исключением?
> weak_ptr, оказывается, в стандарте с 11-го.
На самом деле базовые вопросы. Скажи спасибо, что не заставили писать примерную реализацию самого этого weak_ptr вместе с shared_ptr.
>>2536029
> Про шаблоны тоже 0 вопросов.
> value categories
Вообще странно, да. Может пидарас собеседующий сам не шарит в шаблонах и этих ваших xvalue.
>про argument-dependent lookup
Просто удобная фича языка, зачем про нее спрашивать.
>Ну и прочая UB хуйня, которую никто в здравом уме не будет писать в прод.
А я щитаю, про UB надо спрашивать, чтобы убедиться, что потенциальный кандидат это самое UB тащить в прод не будет.
Аноним 10/12/22 Суб 01:35:40 2536961 1115
>>2536924
> На самом деле базовые вопросы. Скажи спасибо, что не заставили писать примерную реализацию самого этого weak_ptr вместе с shared_ptr.

Меня в яндексе на бумажке заставили. И я, блять, даже написал.
Аноним 10/12/22 Суб 14:01:31 2537264 1116
Как же заебало это всё. Куда с крестов перекатываться? На раст не хочу, там вместо кода вермишель лесенками.
Аноним 10/12/22 Суб 14:46:08 2537311 1117
Аноним 10/12/22 Суб 14:46:24 2537312 1118
Аноним 10/12/22 Суб 23:47:07 2537734 1119
>>2537264
А зачем вкатывался? После института не знал куда пойти и пошел в дефолтные кресты, потому что помнил что-то с первых курсов?
Аноним 11/12/22 Вск 00:22:19 2537744 1120
>>2537264
во фронт ебаный. Будешь заниматься полным говном, но денег насыпят
Аноним 11/12/22 Вск 06:21:00 2537834 1121
>>2536020
Как я понял weak_ptr нужен только для многпоточной среды, чтоб у тебя не произошло удаление объекта в момент когда кто-то в другом потоке с ним работает. В остальных же ситуациях достаточно .get() и сишных указателей.
Аноним 11/12/22 Вск 19:36:05 2538470 1122
Build Tools v141_xp для WinXP поддерживают максимум сырой С++14? Очень жаль. Может на GCC перекатиться, как там с поддержкой ХР?
Аноним 11/12/22 Вск 20:10:55 2538520 1123
>>2538470
> для WinXP
Что, ностальгия заела?
Аноним 11/12/22 Вск 20:13:40 2538525 1124
>>2538520
Чел, хр используют например банкоматы до сих пор.
Аноним 11/12/22 Вск 21:09:13 2538580 1125
>>2538470
На некровинде надо не выёбываться и юзать некроплюсы. Ну или делфи или Visual Basic 6.
Аноним 11/12/22 Вск 21:43:57 2538602 1126
Что происходит под капотом, когда вызывают delete для нулевого указателя? Там проверка на нулевой?
Аноним 11/12/22 Вск 22:25:42 2538631 1127
Аноним 11/12/22 Вск 22:58:07 2538646 1128
Аноним 12/12/22 Пнд 00:23:01 2538683 1129
изображение.png 15Кб, 305x364
305x364
Есть гуру всяких там атомиков и прочих memory_order семантик?
С trivial переменными B и C все понятно, memory reordering и все такое, поэтому чтобы первый assert гарантированно не вылетал их оборачиваем в std::atomic. Но вот стринговая A как-бы совсем не trivial, и че с ней делать как-бы и не очень то и понятно. Хотя конечно понятно, что под капотом std::string этой просто набор опять же trivial переменных, и присвоение значения стрингу - это тупо последовательность присвоений этим же переменным каких-то значений, и теоретически для них свойственна та же проблема с memory reordering-ом что и для B и C, что собственно означает, что второй ассерт таки будет вылетать. Так вот вопрос - как принято решеать пободную проблему? Есть у меня подозрение, что нужно использовать std::atomic_thread_fence, но чет я не уверен.
Аноним 12/12/22 Пнд 06:22:26 2538753 1130
>>2538683
Обернуть в std::atomic<string*>
Когда закончил все манипуляции над строкой, поменял указатель на новую строку
Аноним 12/12/22 Пнд 09:09:13 2538798 1131
тест
Аноним 12/12/22 Пнд 09:10:30 2538799 1132
Зачем нужны указатели, если есть ссылки? Блин вроде и нравится это ваше программирование, но подозреваю я туповат для него. Какие мои действия?
Аноним 12/12/22 Пнд 09:29:10 2538807 1133
>>2538799
Объект, связанный с ссылкой, удаляется при её выходе из области видимости. Если его надо сохранить, хуй ты это сделаешь через ссылки.
Аноним 12/12/22 Пнд 09:35:50 2538813 1134
Как же хочется плюсики...
Но вынужден жрать ебучую жабу.
Аноним 12/12/22 Пнд 11:05:45 2538853 1135
>>2538799
Для совместимости с сями.
Аноним 12/12/22 Пнд 13:02:23 2538936 1136
Вы реально добровольно на этом пиздеце пишете? (я про кресты)

мимо Java-господин
Аноним 12/12/22 Пнд 13:54:57 2538978 1137
>>2538799
Правильнее было бы сказать нахуя нужны ссылки, когда есть указатели
Но имеем что имеем
Аноним 12/12/22 Пнд 14:36:34 2539014 1138
У меня прога пишет, что нужен GLIBCXX_3.14.29. Я проверил, во-первых, у меня LD_LIBRARY_PATH ведёт к нужной директории с gcc 11 , к нужной папке с libstdc++.so.6. Внутри этой папке содержится поддрежка 3.14.29 . Далее, я указал , что нужно компилировать gcc 11 через update-alternatives --config gcc/g++. в Чём ещё может быть проблема?
Аноним 12/12/22 Пнд 15:21:16 2539069 1139
>>2539014
Решил. Я же программист с++ как ни как. Без вас справлюсь
Аноним 12/12/22 Пнд 16:14:43 2539102 1140
Аноним 12/12/22 Пнд 18:28:45 2539227 1141
>>2491360 (OP)
Каким образом разрабатывать приложение модульно?
Допустим есть 2 модуля: модуль парсер, модуль обработка. Насколько понимаю, парсер совсем не должен ничего знать о модуле обработка, но вот модуль обработки может включать в себя хедер парсера. Таким образом по принципу водопада получается. Следующие модули должны "знать" о предыдущих, но не наоборот?
В такой постановке разработчик модуля обработка зависит от разработчика модуля парсера и постоянно его торопит. Независимой разработки модулей не получается. Или модуль разработчик парсера должен по-быстрому накидать хэдэр и отдать разработчику модуля обработки?
И еще вопрос, допустим в модуле парсер используются тип 1, который в модуле обработки преобразуется в тип 2. Есть несколько вариантов.
Первый - оставить "хвост" в типе 1 о его преобразовании в тип 2, тогда надо перевязать модули хэдэрами.
Второй вариант - в модуле обработки включить хэдэр парсера и в лоб кастить типы парсера в типы обработки.
Аноним 12/12/22 Пнд 18:37:46 2539236 1142
>>2539227
Не пойму, зачем в обработчике хедер парсера. В чем проблема, писать их независимо, но совместимо? А общие типы и реализации преобразований типов - в отдельный модуль. В чем я неправ?
Аноним 12/12/22 Пнд 19:31:05 2539268 1143
Правда что на плюсах ничего нового не пишут а только ебут легаси?
Аноним 12/12/22 Пнд 19:33:55 2539271 1144
>>2538936
Не, не реально.
У тебя глюки уже от этой твоей явы. Сходи пробздись.
Аноним 12/12/22 Пнд 19:35:54 2539277 1145
>>2538978
Чтбы скономить нескольк смволов н стрку.
Аноним 12/12/22 Пнд 19:37:12 2539280 1146
>>2539268
А новое - это што? 109-я версия фаерфокса?
Аноним 12/12/22 Пнд 19:41:44 2539286 1147
>>2539280
Ну там новый софт с гуем не на электроне, а на сасном imgui, линуксовые модули всякие, полупрозрачные ИИ-тян, фирмварь всякая не на жс или питоне и вот это вот всё.
Аноним 12/12/22 Пнд 21:25:35 2539354 1148
изображение.png 50Кб, 1353x293
1353x293
изображение.png 30Кб, 489x514
489x514
Изучаю Cmake, протестировал на линусs, теперь на винде, замечательно собрала исполняемый файл. Но я не пойму, что за дрисню она нагенерировала, как этим пользоваться? Зачем нужен проект или солюшен в котором нет исходников?
Аноним 12/12/22 Пнд 21:30:49 2539357 1149
>>2539354
Симейк - говно говна ебаного.
Аноним 12/12/22 Пнд 21:47:23 2539368 1150
>>2539357
Рад за тебя дурачек, но мне надо как-то зарабатывать на заказах, где требуют "собрать приложение".
Аноним 12/12/22 Пнд 22:03:19 2539377 1151
>>2539368
полноценную работу найди, фрилансер мамкин
Аноним 12/12/22 Пнд 22:24:34 2539388 1152
>>2539277
Это раньше так было, когда рефенмв были просто способом параметры в функцию передать
А в 2022 это семантический монстр, который не понятно что такое, что аж референс врапер пришлось изобретать
Аноним 12/12/22 Пнд 22:31:59 2539391 1153
>>2539377
На полноценной тоже cmake чаще всего требуется.
Аноним 12/12/22 Пнд 22:51:51 2539400 1154
>>2539357
Лучше симейка ничего нету. А ты калоед.
Аноним 12/12/22 Пнд 23:01:59 2539405 1155
>>2539236
Парсер строит синтаксическое дерево из структур, типы которых потом нужно знать в обработчике.
Допустим,
struct Ast::Solid({colour}, {mass})
В обработчике необходимо скомпоновать данные в матрицу
struct Tcx::Solid(Ast::Solid){matrix={colour,mass}}
поэтому необходимо в обработчике знать типы парсера.
Это второй вариант.
Первый вариант это добавить метод структуру парсера
struct Ast::Solid({colour}, {mass}), Ttx::Solid asSolid (){}
вроде хвоста, который буду в обработчике дергать.
Теперь в хэдэре парсера необходимо знать типы обработчика.
Какой вариант построения архитектуры верный?
Аноним 12/12/22 Пнд 23:12:24 2539408 1156
>>2539400
То, что симейк это сблев бомжа и то, что лучше его нет - многое говорит о С++
Аноним 12/12/22 Пнд 23:13:27 2539410 1157
Аноним 12/12/22 Пнд 23:15:37 2539416 1158
>>2539410
не пойду, у меня дохуя времени есть, которое свободно от ебли с красноглазой обоссаной системой сборки
Аноним 12/12/22 Пнд 23:47:59 2539444 1159
Подозрительно мало лаб, нахуй идти нечему.
Аноним 13/12/22 Втр 05:12:04 2539530 1160
Подкиньте мне идей для петов
Аноним 13/12/22 Втр 12:45:46 2539732 1161
image.png 314Кб, 1334x749
1334x749
Кто блять за нейминг отвечает в плюсах, ну что блять за хуйня

Просто миллион вариантов как назвать функцию что копировала бы обьект: copy, clone и тд
НО НАЗВАЛИ AUTO

фича с c++23, decay copy
Аноним 13/12/22 Втр 12:48:34 2539737 1162
Аноним 13/12/22 Втр 13:50:46 2539795 1163
>>2539530
Имхо, лучший пет проект - это чат.

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

И потрогать дохуя всего - базы данных, сеть, гуй, шифрование
Аноним 13/12/22 Втр 13:54:43 2539798 1164
>>2539227
как? а никак
никаких "двух разработчиков" нет
ядро пишет всегда все один человек на проекте а остальные просто имитируют деятельность в худшем случае, а в лучшем случае делают всякие обвязки и интерфейсы и прочее
Аноним 13/12/22 Втр 13:59:41 2539803 1165
>>2539268
в игрострое пишут "новые" игры
а так да
в энтерпрайзе кресты мертвы по понятной причине (сугубо технической)
в микроэлектронике, в устройствах и прочем подобном на си пишут до сих пор и не собираются на кресты переходить
ну и так далее
кресты сегодня это эзотерический язык программирования, чисто для развлечения
Аноним 13/12/22 Втр 14:01:25 2539806 1166
>>2539377
>полноценную работу
чистить снег на улицах или говно в толчке "вкусно-и-точка"
ах да, еще можно поехать на украину убивать хохлов за безумные 240 тыщ рублей!
Аноним 13/12/22 Втр 14:04:17 2539809 1167
>>2538807
>Объект, связанный с ссылкой, удаляется при её выходе из области видимости.
неправильно понимаешь, исправляйся
Аноним 13/12/22 Втр 14:12:31 2539814 1168
>>2538799
в си все параметры функций передавались по значению
если хотел передать "по ссылке" то нужно было делать параметр указателем и в качестве аргумента брать адрес требуемой переменной
поэтому само собой напрашивалось семантическое добавление в с++, а именно ссылки, которые позволят передавать параметры "по ссылке"
с другой стороны можно сказать что это изменение семантки всего лишь добавляет синтактические удобства и не более
поэтому создатели си и не спешили добавлять ссылки в свой язык
Аноним 13/12/22 Втр 14:19:21 2539816 1169
>>2539530
имхо, если ты обучаешься, то самый лучший проект для обучения, это там где тебе надо сделать сложный разбор какого-либо формального текста
если по простому, то написать компилятор/интерпретатор/парсер etc
компилятор оберона например
или парсер xml либо других языков разметки
или какой-нибудь протокол сетевого взаимодействия с относительно сложным форматом, типа ftp или smtp
Аноним 13/12/22 Втр 14:46:32 2539828 1170
Аноним 13/12/22 Втр 14:47:23 2539831 1171
Аноним 13/12/22 Втр 14:49:48 2539833 1172
>>2539831
> copy, clone и тд
> НО НАЗВАЛИ AUTО

Погугди хотя бы что такое авто, о боги
Аноним 13/12/22 Втр 14:50:41 2539835 1173
>>2539833
Ух ты, и что же я не понимаю с смысле авто?
Распиши свою мысль, гений
Аноним 13/12/22 Втр 15:12:41 2539854 1174
>>2539732
Это вероятно, не функция, а function-like operator. Как, например, есть new и new(std::nothrow).

>Кто блять за нейминг отвечает в плюсах
Страуструп таранит против введения новых ключевых слов. Грит и так их много.
Аноним 13/12/22 Втр 15:21:23 2539861 1175
image.png 116Кб, 952x408
952x408
Без auto&& это как то написать можно?
Чтобы хотя бы тип возвращаемый из функции был понятен

>>2539854
>Страуструп таранит против введения новых ключевых слов. Грит и так их много.
Ну бля, можно было сделать какой нибудь std::clone(...), ну или как там хотели изначально std::decay_copy(...)
Аноним 13/12/22 Втр 15:50:03 2539884 1176
>>2539816
А если вкратце, как примитивный компилятор/парсер должен выглядеть, какой базовый функционал, как вообще всё в итоге заставить работать?
Аноним 13/12/22 Втр 17:41:47 2539956 1177
>>2539861
Не нравится - не пользовай, это ж база крестов.
Или заверни в обертку на свой вкус.
задача по программированию пупсик 13/12/22 Втр 18:12:09 2539983 1178
В группе 15 студентов, найти 5 самых высоких из них. Как это представить, я не понимаю?
Аноним 13/12/22 Втр 18:22:50 2539992 1179
>>2539983
Я бы всех студентов повесил нах на сортирующее дерего.
Аноним 13/12/22 Втр 18:23:15 2539995 1180
0qFTabwOQbqEsqhD.gif 1467Кб, 500x200
500x200
>>2539983
>Как это представить, я не понимаю?
Что ты там представлять собрался? Садишься и пишешь код, профит.
Аноним 13/12/22 Втр 18:23:44 2539996 1181
>>2539992
>15 студентов
>сортирующее дерего
Аноним 13/12/22 Втр 18:25:08 2539998 1182
>>2539996
Перформанс не важен в данном случае, да. На первый план выходит символизм.
Аноним 13/12/22 Втр 18:26:34 2539999 1183
>>2539998
>Перформанс не важен в данном случае
>Всё равно предлагает ебаться с деревьями
Тебе смешно а мне не смешно
Аноним 13/12/22 Втр 18:33:08 2540002 1184
>>2539995
я знаю, как найти 1 максимальное значение, а с несколькими как?
Аноним 13/12/22 Втр 18:34:24 2540004 1185
>>2540002
Ебани O(n^5), чё как лох?
Аноним 13/12/22 Втр 18:45:30 2540024 1186
>>2539998
Хотя, вешать студентов на деревьях - это тоже перформанс в артхаусном смысле слова.
Так что от перформанса никак не уйти.
Аноним 13/12/22 Втр 19:55:20 2540086 1187
>>2539884
да тут все просто-тупо: читаешь "книгу дракона" или вирта "разработка компиляторов", к примеру, но есть и другие книги, полно их
от того что прочитаешь 1 книгу не умрешь, уж сделай подобный подвиг, лол
а если будет лень пилить бэкэнд то используешь llvm для компиляторов или чего нибудь типа parrot для скриптовых языков
хотя можно и по другому поступить - наоборот закодить бэкенд под какую-нибудь интересную машинную архитектуру, к примеру под микруху какую-нибудь, или даже есть такая интересная тема сегодня как GPGPU
понятно что все (ладно, почти все) уже 10 раз писано-переписано, но в качестве учебного проекта, имхо, это будут самые результативные
если осилишь, то ты реально станешь кодером
Аноним 13/12/22 Втр 19:56:04 2540087 1188
>>2540002
Найди одно пять раз
Аноним 13/12/22 Втр 20:03:45 2540096 1189
>>2539983
гугл: частичная сортировка
я мог бы работать погонщиком на галере
Аноним 13/12/22 Втр 20:24:43 2540112 1190
>>2539956
Спс что разрешил пользоваться чем хочу, но идиотским решением это быть не перестанет
Аноним 13/12/22 Втр 20:39:37 2540118 1191
>>2540096
>я мог бы работать погонщиком на галере
Но зачем если кресты - единственный язык с душой?
Аноним 13/12/22 Втр 22:13:06 2540187 1192
image.png 54Кб, 225x225
225x225
auto getElementByIndex(std::vector<int> vec, int index1, int index2) {
return vec[index1][index2];
}

Реальный код с код ревью, держу в курсе.
Аноним 13/12/22 Втр 22:59:07 2540208 1193
>>2540187

Надо пофиксить чутка и можно в линух пушить

auto get_el_i(int ★ vc, uint32_t in1, uint32_t in2, uint32_t sz1) {
return ★(vc + in1 ★sz2 + in2);
}
Аноним 13/12/22 Втр 23:42:24 2540226 1194
изображение.png 236Кб, 1082x862
1082x862
L неудаляемый чтоли получается или есть какой-то способ удалить его?
Аноним 14/12/22 Срд 00:53:09 2540246 1195
>>2540226
очень похоже на утечку памяти
Аноним 14/12/22 Срд 10:18:31 2540357 1196
>>2539795
> потрогать
> хуй
Это самое важное
Аноним 14/12/22 Срд 10:23:48 2540360 1197
>>2539732
Так это же std::move или я нихуя не понял?
Аноним 14/12/22 Срд 10:34:54 2540363 1198
А понял, она возвращает prvalue копию объекта, круто.
Auto назвали, чтоб вот такие >>2539732 пидорасы глаза себе ломали.
Аноним 14/12/22 Срд 11:53:15 2540421 1199
>>2540357
да. регулярно так делаю вот и сейчас..
Аноним 14/12/22 Срд 14:27:56 2540603 1200
>>2540363
Себе в штаны насрали, другим назло
Аноним 14/12/22 Срд 14:55:44 2540625 1201
>>2540187
Оно же не компилировается, как оно на ревью попало?
Или вы там в тетрадках код пишете?
Аноним 14/12/22 Срд 23:05:18 2541211 1202
аноны, подскажите как получить фпс без привязки к графическому апи/приложению, типо как оверлей geforce или афтербернера показывает это все, как на директх так и на каком-нибудь вулкане/опенгл, хочу написать прогу которая будет показывать фпс на экранчике стилсерисовской мышки, в их приложении можно показывать температуру и загрузку цп и гп, а фпс нельзя( у них есть апишка, там джсончики надо кидать на нужный порт, осталось ток понять как можно достать фпс в любом приложении, мб подскажите какую функцию из винапи или чего-то подобного...
Аноним 14/12/22 Срд 23:30:58 2541223 1203
Задры, подскажите по контексту либы асио
Если допустим у меня в приложении парочка высоконагруженных частей взаимодействия с сетью то как в таком случае поступить? Норм идей будет создать несколько контекстов в разных тредах, каждый для отдельной части приложения где троттлится? Гугл вроде как выдает чтобы в нескольких тредах бежал один контекст. Как эффективнее? Поясните плз
Аноним 14/12/22 Срд 23:39:40 2541235 1204
Аноним 15/12/22 Чтв 06:00:28 2541356 1205
>>2541211
Замеряешь время в цикле отрисовки
Одну секунду делилишь на это время
Полученный результат пишешь куда угодно, хоть файл, хоть консоль, хоть отдельное окошко на imgui где будешь отрисовывать это
Это самый простой и верный путь
Двач, буду краток. Аноним 15/12/22 Чтв 11:32:41 2541500 1206
image 63Кб, 1024x800
1024x800
КАК ЖЕ ЗАЕБАЛА ЭТА ЕБАНАЯ МРАЗЬ
Аноним 15/12/22 Чтв 11:36:23 2541505 1207
>>2541500
Прост распоралель 100%, лол
Аноним 15/12/22 Чтв 15:01:40 2541755 1208
Как еще на практике применяются constexpr функции, кроме вычисления факториалов?
Аноним 15/12/22 Чтв 16:37:46 2541862 1209
>>2541755
Любые числовые функции
Аноним 15/12/22 Чтв 16:44:05 2541876 1210
Предлагаю подумать откуда можно спиздить курс яндекс практикума, выглядит очень вкусно
Аноним 15/12/22 Чтв 16:46:08 2541881 1211
image.png 22Кб, 402x426
402x426
Аноним 15/12/22 Чтв 16:49:27 2541887 1212
>>2541876
На трекерах не лежит нигде?
Он долго вообще идет? Я бы и за бабки записался, а потом бы выложил куда-нибудь.
Аноним 15/12/22 Чтв 17:38:06 2541956 1213
>>2541887
Идет дохуя, на трекерах не нашел, только на каких-то сомнительных складчинах, где надо 500р закинуть для VIP ДОСТУПА
Аноним 15/12/22 Чтв 19:00:23 2542114 1214
>>2541956
го скинемся всем тредом???!!!!
мы же V.I.P тред
Аноним 15/12/22 Чтв 21:39:12 2542282 1215
Как же заебало писать все эти абстракции и не сосать по производительности. Я вот подумал, а может ебашить просто кишками наружу? Один хуй это опенсорс, кто не осилит - нахуй пусть идёт, главное мне норм. А то я вчера как начал писать обёртку класса на шаблонах, в итоге пердолил 4 часа и высрал какую-то магическую хуйню, зато красиво выглядящую снаружи. А мог бы за 30 секунд просто указатели наружу оставить торчать, даже тесты не пришлось бы писать.
Аноним 16/12/22 Птн 00:49:56 2542411 1216
Аноним 16/12/22 Птн 02:16:15 2542460 1217
>>2542282
Просто пиши на гошке микрочелик
Аноним 16/12/22 Птн 12:29:56 2542790 1218
1.Пишу консольное приложение содержащее int x = 123456;

2.Пытаюсь изменить это значение другим консольным приложением

https://pastebin.com/emW2bRzJ

3.Нахожу адреса модулей, дрочу перебором, нахожу этот инт и изменяю.

4.Нихуя не изменяется в первом приложении.

Где я обсераюсь? инб4 Везде
Аноним 16/12/22 Птн 20:30:36 2543462 1219
>>2542790
наверное (хотя могу ошибаться)
у тебя в экзешнике число "123456" будет в 2х местах
первое это целочисленная константа
а второе это переменная типа инт, которая инициализируется значением этой константы
Аноним 16/12/22 Птн 20:46:21 2543485 1220
>>2542790
volatile попробуй.
Компилятор может скрутить твой x как константу.
Аноним 16/12/22 Птн 20:48:52 2543493 1221
Аноним 16/12/22 Птн 21:05:06 2543517 1222
посоветуйте годный и актуальный справочник по плюсам. нужно вспомнить язык (узнать что нового появилось)
Аноним 16/12/22 Птн 23:32:59 2543625 1223
>>2543517
У Страуструпа есть книга, "A Tour Or C++" называется, кажется.
Ещё можешь статьи почитать, если хочется узнать про всякие рэнжи да копрутины
Аноним 17/12/22 Суб 08:53:26 2543722 1224
>>2543625
>A Tour Or C++
Я бы выбрал тур.
Аноним 17/12/22 Суб 09:39:17 2543736 1225
>>2541755
Я на констеэкспр делал всякие смещения и маски для битовых операций, оче удобно. Фактически, констеэкспр заменяет макросы си. В каких-нибудь микроконтроллерах макросов пиздец как дохуя
Аноним 17/12/22 Суб 09:54:46 2543758 1226
>>2539983
Если актуально делаешь обычную пузырьковую сортировку, после пятого прохода останавливаешь цикл и получается что крайние (смотря куда двигал)студенты самые высокие.
Напишу код за сто рублей, жрать хочется.
Аноним 17/12/22 Суб 10:54:47 2543789 1227
Аноним 17/12/22 Суб 14:38:55 2543878 1228
>>2543789
В чем разница между std::sort(begin, X);
и std::partial_sort(begin,X,end);

?

мимо
Аноним 17/12/22 Суб 15:04:00 2543900 1229
>>2543878
Исходная последовательность:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1

если вызвать sort(0, 5), он вернёт
6, 7, 8, 9, 10, 5, 4, 3, 2, 1

partial_sort(0, 5, 10) вернёт
1, 2, 3, 4, 5, ...

Оставшиеся элементы хз как отсортированы будут
Аноним 17/12/22 Суб 15:05:14 2543903 1230
>>2543878
sort сортирует указанный диапазон. Если X это не конец контейнера, то он отсортирует диапазон как если после Х вообще никаких элементов нет.

partial_sort отсортирует столько элементов, сколько влезет в диапазон [begin, X), но элементы из [X, end) будут участвовать в сравнениях.

Так же могут отличаться сами алгоритмы сортировки.
Аноним 17/12/22 Суб 20:05:00 2544109 1231
щас прикинул, и, в общем, только по с++ я прочитал около 10ти тысяч страниц книг в сумме
естественно, при этом не написал ни одной полезной работающей программы на с++
Аноним 17/12/22 Суб 20:12:30 2544114 1232
>>2544109
А бесполезных сколько написал?
Аноним 17/12/22 Суб 21:43:51 2544174 1233
>>2544114
Бесполезное на спп не считается совсем, потому чтт его обь5м меряется уже лярдами.
Аноним 17/12/22 Суб 21:53:49 2544179 1234
Аноним 18/12/22 Вск 00:02:37 2544329 1235
>>2544109
Скотт Мейерс с начала 90-х забил болт на программирование. И ничего, нормально.
Аноним 18/12/22 Вск 02:07:43 2544402 1236
>>2544329
считаю его книжку "42 рекомендации по использованию с++11 и с++14" одной из самых мастерски написанных книг, он сумел лаконично изложить сложный материал
Аноним 18/12/22 Вск 17:00:22 2544843 1237
Придумайте мне идею для пета
Аноним 18/12/22 Вск 17:01:49 2544846 1238
>>2544843
Трассировщик лучей.
Интерпретатор языка Х.
Текстовый редактор.
Шахматы и змейки.
Клиент и сервер хуйни.
Эмулятор 6502.
Аноним 18/12/22 Вск 21:45:36 2545245 1239
>>2541876
>>2541881
Да нахуй это вообще надо, вы че дебилы? Сидите книжки читайте и прогайте
Аноним 18/12/22 Вск 23:22:48 2545318 1240
Давно не писал на Плюсах, где по быстрому нахваться что там нового завезли?
Аноним 19/12/22 Пнд 04:12:38 2545459 1241
Аноним 19/12/22 Пнд 14:38:23 2545952 1242
>>2544402
Он хороший препод, жаль у меня в пидорашьей шаражке такого не было
Аноним 19/12/22 Пнд 15:07:52 2545973 1243
>>2545459
Ништяк, заказал бумажную
Аноним 19/12/22 Пнд 15:08:51 2545975 1244
>>2544402
>сложный материал
>CPP
Ты вкатутося что ли?
Аноним 20/12/22 Втр 11:01:27 2546899 1245
У меня есть структура vector<vector<double>*> gavno;
Для внешнего вектора память выделяется спокойно через gavno.reserve(n);

Как выделить красиво память для вектора-пойнтера, чтобы не создавать его с рандомным именем , ресервить, а затем присваивать? При чём я не хочу, чтобы пустые места нулями заполнялись как в new vector<double>(n)
Аноним 20/12/22 Втр 11:07:46 2546910 1246
>>2546899
> У меня есть структура vector<vector<double>> gavno;
Нахуя тебе такая структура понадобилась?

for(auto i = gavno.begin(); i != gavno.end(); i++){
i = new vector<double>();
(*i)->reserve(n);
}
Аноним 20/12/22 Втр 11:08:57 2546912 1247
>>2546910
> У меня есть структура vector<vector<double>⚹> gavno;
Нахуя тебе такая структура понадобилась?

for(auto i = gavno.begin(); i != gavno.end(); i++){
⚹i = new vector<double>();
(⚹i)->reserve(n);
}

Фикс
Аноним 20/12/22 Втр 11:11:22 2546917 1248
>>2546910
Ну типо матрица нужна была, но с разной размерностью в каждой строке
Аноним 20/12/22 Втр 13:39:57 2547166 1249
>>2546899
Зачем тебе вектор указателей на вектор, если можно сделать вектор векторов? В чем профит?
Слабо решить детскую задачу? Аноним 20/12/22 Втр 14:41:27 2547246 1250
ПРОГАЧ, Слабо решить за меня лабу? Даны матрицы целых чисел S[1..3,0..2], K[1..3,0..2], в которых имеются по два одинаковых числа. Найти и напечатать их.
Аноним 20/12/22 Втр 15:18:12 2547275 1251
>>2546917
Вектор векторов делает то же самое.
Аноним 20/12/22 Втр 15:55:39 2547321 1252
>>2547246
> детскую задачу
Пусть дети и решают. Тут серьёзные дяди сидят.
Аноним 20/12/22 Втр 16:48:58 2547420 1253
убегайте за границу
пусть здесь меньше будет
а лучше здохнити
Аноним 20/12/22 Втр 16:56:46 2547438 1254
>>2547166
Ну вот у меня много векторов определённой размерности. Мне нужно их упаковать в эту матрицу. Т.е. за каждый цикл вдупляю по одному вектору. Вы имеете ввиду, что таким же образом можно подменить у вектора векторов имеющуюся строку и не оставить пустышку в куче?
Аноним 20/12/22 Втр 17:14:12 2547464 1255
>>2547438
Я имею ввиду, что тебе не обязательно выделять память под сами объекты векторов динамически через new. Что бы ты не имел ввиду под "подменить имеющуюся строку", vector < vector <double> > справится с этой задачей, а то, как делаешь ты, только усложнит тебе жизнь, потому что эту память потом придется вручную освобождать.
Аноним 20/12/22 Втр 19:02:34 2547620 1256
>>2546910
> gavno.begin()
std::begin(gavno)
> gavno.end()
std::end(gavno)

А лучше переходи на рэнджи.
Аноним 20/12/22 Втр 19:26:24 2547640 1257
>>2547420
Ты мимо украча промахнулся.
Аноним 20/12/22 Втр 19:44:01 2547670 1258
Аноним 20/12/22 Втр 19:47:03 2547673 1259
Аноним 20/12/22 Втр 21:00:16 2547748 1260
изображение.png 36Кб, 1303x389
1303x389
изображение.png 35Кб, 1237x358
1237x358
Чому первый вариант не хочет компилить?

error C2679: binary '<<': no operator found which takes a right-hand operand of type 'T' (or there is no acceptable conversion)
Аноним 20/12/22 Втр 21:17:11 2547767 1261
Как сделать так, чтобы в вижуал студии иде собранная программа запускалась относительно корня открытой папки, а не относительно папки, в которой лежит .exe? Просто я, допустим, хочу открыть файл в корне папки и мне приходится писать путь "..\..\..\file.txt" вместо ".\file.txt"

Собираю через симейк, в вижуал студии просто открываю папку, если это важно
Аноним 20/12/22 Втр 21:31:19 2547775 1262
Аноним 20/12/22 Втр 21:34:31 2547777 1263
изображение.png 34Кб, 715x399
715x399
Аноним 20/12/22 Втр 21:42:36 2547782 1264
Аноним 20/12/22 Втр 21:51:45 2547788 1265
Аноним 21/12/22 Срд 00:44:46 2547912 1266
>>2547748
Может, потому что компилятор не догадывается подставлять все варианты темплейт-аргумента во все глобальные функции с нужным именем?
Для твоего юзкейса я бы наследовался от базового класса и виртуальный protected метод
это так, навскидку, не эксперт
Аноним 21/12/22 Срд 01:59:21 2547955 1267
Screenshot from[...].png 68Кб, 627x317
627x317
Screenshot from[...].png 97Кб, 635x479
635x479
Screenshot from[...].png 78Кб, 837x389
837x389
Есть какие более адекватные способны автоматизировать чейнинг вида dvach.privet().ja().pidoras() для билдер-паттерна? Есичо, вот файлы со скринов:
https://github.com/VimDefecator/httpserver/blob/master/src/classutils.hh
https://github.com/VimDefecator/httpserver/blob/master/src/html.hh
https://github.com/VimDefecator/httpserver/blob/master/src/test.cc
да, это будущий двач на крестах
Аноним 21/12/22 Срд 01:59:43 2547957 1268
Аноним 21/12/22 Срд 02:17:43 2547964 1269
>>2547955
Не надо автоматизировать, хуй потом разберёшься в этой наркоманской параше из макросов.
Наверняка в Boost есть чо
Аноним 21/12/22 Срд 02:33:22 2547971 1270
>>2547964
>Не надо автоматизировать
А как жить-то? Ведь выходит два стула.

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

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

На работе я сильно не выебуюсь, но для себя - хочется. Но препроццессор - слишком, согласен. Поэтому спрашиваю, может есть какие-то ФИЧИ НОВОГО СТАНДАРТА, О КОТОРЫХ НЕВОЗМОЖНО МОЛЧАТЬ, какие-то УБИЙЦЫ МАКРОСОВ V3.0, чтоли...
Аноним 21/12/22 Срд 08:22:40 2548023 1271
>>2547955
>чейнинг вида dvach.privet().ja().pidoras()
Тоже бесит эта маза.

> более адекватные способны
М. б. проектировать так, чтобы писалось
dvach.privet(ti, negodyaj) вместо этого членинга.
Аноним 21/12/22 Срд 09:20:14 2548065 1272
>>2548023
Ну и как ты так красиво билдер напишешь?
Аноним 21/12/22 Срд 11:38:26 2548142 1273
>>2548023
>М. б. проектировать так, чтобы писалось
>dvach.privet(ti, negodyaj) вместо этого членинга.
Очевидно, там может быть гораздо более длинный список параметров, и делать набор из 15 дефолтных значений в интерфейсе конструктора не вариант, потому что половину дефолтных значений один хуй придется набивать вручную, если надо кастомизировать значение восьмого. Ну и вызывающий код нихуя не читаемый, если ты не знаешь наизусть порядок аргументов или хотя бы не комментируешь их имена вручную. Алсо, у всех все в пизду сломается, если ты решишь порефакторить порядок. Хуета, короче.
Аноним 21/12/22 Срд 16:32:27 2548446 1274
>>2548142
Есть древняя забытая тнхника передачи кучи параметров в стуртуре, тогда изменение одного из дефолтных параметров, жаже последнего, не требует набивать все остальные.
Аноним 21/12/22 Срд 17:01:49 2548481 1275
>>2548446
Неудобно, некрасиво, не нравится, мам скажи
Аноним 21/12/22 Срд 20:03:59 2548741 1276
Мне дали денег, чтобы я работал.
На них я заразился СПИДом и умер.
Такие дела.
Аноним 21/12/22 Срд 20:16:16 2548762 1277
Аноним 21/12/22 Срд 20:26:42 2548773 1278
Привет. Как прокачать понимание указателей? Вообще мои знания - это примерно половина книги Р.Лафоре. Очень сложно продвигаться без какой-то задачи или цели. Яндекс практикум я не потянул потому что там сложность возрастает в геометрической прогрессии имхо, надо гораздо больше времени тратить на конкретном этапе (по крайней мере мне). Спасибо за советы.
Аноним 21/12/22 Срд 20:40:41 2548786 1279
>>2548773
Чел плюсы не твое - точно. Возможно и весь кодинг.
Что можно не понимать в указателях лол? Ты сложение и вычитание понимаешь?
Аноним 21/12/22 Срд 20:45:57 2548791 1280
Куда перекатиться плюсовику, чтоб накопленный опыт помогал?
По rust вакансий нет совсем, хотя на уровне растбука хотя бы наверное осилить стоит.
По си зарплаты низкие совсем.
Куда ещё глядеть?
Аноним 21/12/22 Срд 20:59:49 2548802 1281
>>2548762
Смотрел на ютубе с белого до красного включительно. Кое-какие интересные фишечки есть, но не вот прям откровение. Все их "реальные проекты для портфолио" суть обычный васянокод уровня laba.cpp.

Читал отзывы на сам курс, как по мне это трэш, который даже за бесплатно малоинтересен.
Так называемые менторы - это чатик из таких же бедолаг как ты, где они делятся своим опытом.
А опыт - это больше не про кресты, а про долбежку в систему автоматической проверки, которая не сообщает в чом ты не прав, а просто отклоняет решение и все тут.
Нахер такой опыт нужен, я не знаю.
Аноним 21/12/22 Срд 21:04:15 2548806 1282
>>2548773
Указатели это наследие си. Бери книжку Кернигана и Ричи по сям, решай задачки оттудова. К ней есть книжка с решениями всех задач и есть еще https://clc-wiki.net/wiki/K&R2_solutions .
Аноним 21/12/22 Срд 23:29:15 2548937 1283
Screenshot from[...].png 260Кб, 721x1829
721x1829
Screenshot from[...].png 250Кб, 1213x1455
1213x1455
Ебать я охуенно придумал. СЛАБО?
Аноним 21/12/22 Срд 23:39:15 2548945 1284
>>2548937
А студенты как всегда клепают новые дсл, эх
Аноним 22/12/22 Чтв 00:01:47 2548965 1285
.png 26Кб, 772x544
772x544
Аноним 22/12/22 Чтв 00:51:22 2548988 1286
Screenshot from[...].png 87Кб, 715x523
715x523
Screenshot from[...].png 94Кб, 1187x531
1187x531
Screenshot from[...].png 226Кб, 1023x1399
1023x1399
Screenshot from[...].png 198Кб, 909x1001
909x1001
>>2548965
Не, ну это уже какой-то высший пилотаж. Да и прикол моего DSL в том, чтоб процедурно все это дело генерировать. Зацени, как я только что реализовал втыкание лямбд в свое выражение.
Аноним 22/12/22 Чтв 00:59:27 2548993 1287
Screenshot from[...].png 63Кб, 877x357
877x357
>>2548988
ой, штйсльгкпрйблсь, вот такая разметка должна быть
Аноним 22/12/22 Чтв 01:23:58 2549001 1288
Конечно, блядь, я тот еще наркоман, спрятать пару core методов в отдельный translation unit вплоть до капсуляции всего приватного в std::unique_ptr<Impl>, и все только для того, чтоб потом высрать 100500 дсл фич макросами и темплейтами в хэдере. Такое уже имеет смысл делать header-only.
Аноним 22/12/22 Чтв 07:03:07 2549053 1289
> принимать std::string по значению
Каш мар
Аноним 22/12/22 Чтв 10:33:47 2549143 1290
>>2548937
> этот забор
Пиздос. За 9 уровней вложения надо палками забивать насмерть.
Аноним 22/12/22 Чтв 11:25:43 2549168 1291
Экземпляры Венеомин 22/12/22 Чтв 13:43:00 2549382 1292
изображение.png 52Кб, 733x373
733x373
А есть более компактное и лаконичное объявление экземпляров?
Аноним 22/12/22 Чтв 15:37:55 2549498 1293
>>2549382
Нет. Так норм ничего менять не надо
Аноним 22/12/22 Чтв 15:52:04 2549516 1294
234569714526879[...].png 26Кб, 792x203
792x203
Суп, подскажите, что сделать с этим?
Пик 1 - проблема
Пик 2 - то, что я установил
Пробовал и в VS 19, результат один
Раньше как-то получалось. Да, на Шарпе это всё проще, но мне надо на крестах, но не собирается
Аноним 22/12/22 Чтв 15:52:24 2549518 1295
Аноним 22/12/22 Чтв 15:52:29 2549519 1296
24253.png 21Кб, 391x297
391x297
Аноним 22/12/22 Чтв 16:15:24 2549548 1297
>>2549516
так иди в шарпотред
Аноним 22/12/22 Чтв 16:15:27 2549549 1298
image.png 985Кб, 1360x1560
1360x1560
>>2549168
> дополнительные вызовы мув конструктора
ка пец!
Аноним 22/12/22 Чтв 19:02:10 2549777 1299
Что надо написать, чтобы максимально быстро занять всю оперативную память?
Аноним 22/12/22 Чтв 19:09:31 2549782 1300
>>2549777
while (true) {malloc(100000);}
но тебя просто ос убьет за такое
Аноним 22/12/22 Чтв 19:17:47 2549785 1301
Венеомин 22/12/22 Чтв 19:47:53 2549820 1302
>>2549498
а если мне надо 200 айтемов создать разных - будет 200 строчек кода лишних? Это ж фигня
Аноним 22/12/22 Чтв 19:50:57 2549823 1303
>>2549820
А что, компилятор должен за тебя додуматься, какие 200 разных айтемов тебе нужны?
Венеомин 22/12/22 Чтв 19:54:53 2549827 1304
>>2549823
а в про кодах их, получается в строчку просто записывают или как?
Аноним 22/12/22 Чтв 21:43:26 2549967 1305
>>2548937
>геттеры
>сеттеры
>pimpl
Если бы ты принёс мне то на ревью, я бы тебя избил, обоссал, а потом в окно выбросил.
Аноним 22/12/22 Чтв 21:55:27 2549983 1306
>>2549967
Да ему даже отвечать не надо. Просто троль дрочит в присядку.
Аноним 23/12/22 Птн 01:16:05 2550308 1307
>>2549967
А чо не так неиронично если что спрашиваю
Аноним 23/12/22 Птн 01:19:01 2550312 1308
>>2550308
Жаба какая-то получилась, а не крестики.
Аноним 23/12/22 Птн 01:46:47 2550339 1309
Сколько времени нужно, чтобы выучить сетевые протоколы на хорошем уровне, чтобы свою реализацию написать. Хотя бы основные: tcp, udp, как ip вообще присваиваются и все такое
Аноним 23/12/22 Птн 01:47:06 2550340 1310
.
Аноним 23/12/22 Птн 01:57:32 2550342 1311
>>2550339
Свою реализацию чего?
Аноним 23/12/22 Птн 02:01:11 2550343 1312
Аноним 23/12/22 Птн 02:06:21 2550344 1313
>>2550339
Годы, ебическая усидчивость и овердохуя свободного времени.
Аноним 23/12/22 Птн 02:13:49 2550348 1314
>>2550344
Ты точно не загнул? Стандарт tcp описан в 80 страницах. Всего лишь 80
Аноним 23/12/22 Птн 02:15:36 2550349 1315
Я понимаю, что предпологается, наверняка, наличие каких то еще знаний, но все равно, 80 страниц блин. Танненбаум 1к всего лишь
Аноним 23/12/22 Птн 02:31:14 2550353 1316
>>2550348
Ну прочитай эти "всего лишь 80" страниц и напиши свои реализации сетевых протоколов за пару вечеров, можешь потом хвастаться, как быстро превзошёл инженеров из Cisco.
Аноним 23/12/22 Птн 06:12:00 2550386 1317
>>2550339
> сколько времени займет Х
Ну вот ты какой ответ нормальный ответ ожидаешь на сво вопрос? Что хочешь услышать? Точную дату?
Аноним 23/12/22 Птн 07:29:39 2550410 1318
>>2549967
>>2550312
Ну все по заветам Майерса разве нет? Еще enable_shared_from_this не хватает.
Аноним 23/12/22 Птн 10:33:24 2550486 1319
>mutable - permits modification of the class member declared mutable even if the containing object is declared const.
Ещё одно подтверждение, что кресты делаются шизоидами для шизоидов.
Аноним 23/12/22 Птн 11:28:14 2550544 1320
>>2550486
Это что такое и откуда?
Аноним 23/12/22 Птн 11:56:27 2550591 1321
>>2550544
Это сделано для ленивых логических констант, которые вычисляются при первом обращении и кешируются. Макака естественно с таким не сталкивался.
Мимо
Аноним 23/12/22 Птн 11:58:35 2550593 1322
>>2550591
Без этого ленивые константы, конечно же, не реализовать никак.
Аноним 23/12/22 Птн 12:01:59 2550597 1323
>>2550386
Дни, месяцы или годы. Хотя бы примерно
Аноним 23/12/22 Птн 15:46:12 2550854 1324
>>2550597
>Дни, месяцы или годы. Хотя бы примерно
Это все индивидуально же. Некоторые SICP за несколько месяцев-полгода осиливают, например, а некоторые на несколько лет растягивают. Плюс от начальной подготовки многое зависит, поэтому тебе никто не сможет дать адекватную оценку по времени, кроме того, что от пизды сказать.
Аноним 23/12/22 Птн 17:23:02 2551016 1325
изображение.png 50Кб, 1156x378
1156x378
в чём отличие {} от () при создании объекта?
Аноним 23/12/22 Птн 20:00:32 2551312 1326
>>2551016
Ни в чем особо, синтаксически разные, семантически одно и тоже делает

может быть какой то подводный камень есть, который встречается раз миллион лет, но я просто пишу {} и проблем не встречал
Аноним 23/12/22 Птн 21:17:43 2551388 1327
>>2551016
Зависит от того, какие у класса конструкторы. Вектор с (1,2) и {1,2} делает совершенно разные вещи.
Аноним 23/12/22 Птн 22:05:53 2551421 1328
>>2551388

в случае вектора для {1,2} будет вызван конструктор для initializer_list?
Аноним 23/12/22 Птн 22:43:22 2551473 1329
>>2550339
да немного на самом то деле
это неплохой способ выучить язык и вообще научиться программированию
берешь спецификацию какого-нибудь протокола (тысячи их, для пром контроллеров, для iot, для финтеха, для крипты, для медиа, для ip-телефонии, и прочиее) и по спецификации ебашишь чтобы работало, вот и все
думать вообще не надо
а вот грамотно спроектировать протокол под конкретную задачу, вот это да, уже мастерство и другой уровень квалификации
почти все референсные реализации протоколов написаны на pure c, часть из них на приплюснутой сишке
в качестве учебной задачи можно написать реализацию использующую возможности новых стандартов с++, к примеру
Аноним 23/12/22 Птн 22:44:51 2551476 1330
>>2551473
а, дополнение - браться за реализацию сетевого tcp-ip стека я бы не советовал, с учебной целью гораздо полезней реализовать один из более специализированных протоколов либо семейство протоколов
Аноним 23/12/22 Птн 23:03:05 2551503 1331
>>2551016
1) int i(2.72); // i == 2 && warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
int j{2.72}; // error C2397: conversion from 'double' to 'int' requires a narrowing conversion

2) copy(istream_iterator<int>{sstr}, {}, inserter(v, deque_middle));
// Обрати внимание на пустую пару фигурных скобок в середине.
А еще можно писать
//...
return {};

3) Разное поведение при использовании с auto.

>>2551421
да
Аноним 25/12/22 Вск 06:46:16 2552959 1332
Эй, плюснявые, почему я ваш тред на главной не вижу? Вы спрятались?
Аноним 25/12/22 Вск 17:05:05 2553450 1333
Бля, спасите, я ваши плюсы курю один день. Надо найти кол-во элементов в векторе объектов, int поле у которых больше 200. Надо использовать count_if, bind, greater. Я не ебу как забиндить, да и вообще не ебу как это должно работать и нахуя у вас это есть, но вот код который задачу выполняет, только нужно его изменить с использованием count_if, std::greater, bind
https://pastebin.com/nQim1Yup
Аноним 25/12/22 Вск 17:27:39 2553458 1334
>>2553450
Разобрался. Синтаксис мое почтение
Аноним 25/12/22 Вск 17:33:29 2553462 1335
Лабы идут нахуй.
Аноним 25/12/22 Вск 18:03:51 2553491 1336
Аноним 25/12/22 Вск 23:07:38 2553777 1337
>>2549967
Пару лет назад, когда я был еще молодой и зеленый, один ревьюер пытался мне за это предъявить. Ох и горячий был спор. ревьюера по итогу обоссали.
Аноним 25/12/22 Вск 23:51:40 2553823 1338
Не пойму прикола Смаке, я в add_executable() должен вручную чтоле блядь все файлы прописывать? Я в GNU make мог шаблоны писать, да мог ничего не писать, утилита все сама собрала бы из исходников. И почему нигде не пишут проверяет ли сmake даты изменения зависимостей? Перед тем как сбилдить.
И не понятно как работает вижуал студия, она проверяет даты изменения зависимостей как make или нет? По ощущениям она как будто каждый раз все файлы заново компилирует.
Аноним 26/12/22 Пнд 03:38:01 2553900 1339
>>2553823
Для файлов есть глоб и глоб рекурс. Ты бы хоть погуглил. Проверяет. Симейк аообще все делант, если правильно его использовать.
Аноним 26/12/22 Пнд 07:24:09 2553955 1340
>>2553823
симейк - кусок говна. Добро пожаловать.

И да - glob не рекомендуется официальными доками
Аноним 26/12/22 Пнд 09:39:46 2554016 1341
>>2553955
А какую альтернативу офф доки предлагают?
Аноним 26/12/22 Пнд 11:19:36 2554065 1342
>>2554016
>офф
Ебать говноед. Ты еще и длинна пишешь, угадал?
Аноним 26/12/22 Пнд 11:27:06 2554075 1343
1672043225030.jpg 40Кб, 891x450
891x450
Аноним 26/12/22 Пнд 11:55:56 2554107 1344
>>2554016
по одному файлику ручками добавлять, как старики мейкфайлы в 70ых писали руками.
Аноним 26/12/22 Пнд 18:07:16 2554638 1345
Анон, не хочу писать циклический буффер, решил взять boost::circullar_buffer<Foo>.

И чето я не понял прикола блядь, как использовать методы пуш/поп без новой аллокации? Конструктор в Foo каждый push вызывается, зачем
Аноним 26/12/22 Пнд 19:03:07 2554713 1346
>>2554065
В английском с двумя f пишут.

>длинна
Тогда уж ленгтх.
Аноним 26/12/22 Пнд 19:16:31 2554726 1347
Аноним 26/12/22 Пнд 20:32:43 2554805 1348
Аноним 26/12/22 Пнд 20:34:56 2554808 1349
16497716938680.jpg 2Кб, 162x121
162x121
>>2554713
> В английском с двумя f пишут
Так и пиши в агглийском.
Аноним 26/12/22 Пнд 22:33:08 2554947 1350
image.png 32Кб, 860x493
860x493
Суп, борщ. Решаю тут задачки уровня 5 класса и не осилил.
Задача на пике, у меня такое решение:

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
float n, z;
cin >> n;
z = n * (n + 1) / 2;
cout << setprecision(30) << z << "\n";
return 0;
}

Но оно не правильное. Почему?
Аноним 26/12/22 Пнд 23:32:10 2554990 1351
>>2554947
Во-первых вместо float нужно int. Иначе на больших числах возникнет округление.
Во-вторых надо следить за переполненим целого -- 4e9 * 4e9 это больше чем 64-битный int
Аноним 26/12/22 Пнд 23:47:06 2555005 1352
Аноним 26/12/22 Пнд 23:57:54 2555012 1353
nonzero_int_30_to_90_bits_divisible_by_5_please_t
Аноним 27/12/22 Втр 00:09:51 2555017 1354
>>2555012
Ждём в C++29. Там любая последовательность байтов будет синтаксически корректной программой на C++.
Аноним 27/12/22 Втр 00:10:51 2555018 1355
Но при этом переполнение знаковых будет по-прежнему UB.
Аноним 27/12/22 Втр 00:27:08 2555026 1356
>>2555018
И сети в stl так и не завезут
Аноним 27/12/22 Втр 14:48:59 2555411 1357
У меня самодельное дерево переполняет стек при вставке 50 000 упорядоченных элементов.
Че теперь всю рекурсию на итерации переделывать? Нафик я тогда ее учил?
Аноним 27/12/22 Втр 14:50:19 2555415 1358
>>2555411
Делай сбалансированное дерево теперь
Аноним 27/12/22 Втр 15:16:57 2555459 1359
>>2555411
Ахаха, молодой падаван. Рекурсию с зависимостью от данных не используй ты.
Аноним 27/12/22 Втр 19:03:31 2555748 1360
Вот вам вопросы от нубаса.
Хочу в консольке - слушать нажатия клавиш и чтобы при нажатии что-то делалось, но чтобы при этом - все приложение не ждало пока нажму клавишу.
Ну, типа я тетрис в консольке хочу. И как сделать так, чтобы игра просто шла, но фигурка крутилась только тогда, когда клавиша нажимается - я не знаю. Можно - ждать каждый "кадр" нажатия, но тогда вся суть теряется от такого вот тетриса.
Аноним 27/12/22 Втр 20:05:19 2555800 1361
>>2555748
Я дополню вопрос, пожалуй, мне тоже интересно, и заодно отвечу на него на 50%. Ввод можно ожидать в отдельной нити, и тогда приложение не будет висеть. Но как в плюсах проще всего читать ввод без эха и без необходимости нажимать ввод? Есть getch, но он чисто для винды. Можно использовать сторонние библиотеки, но может есть какая-нибудь магия со стандартными потоками?
Аноним 27/12/22 Втр 20:10:13 2555804 1362
>>2555748
Именно для этого и используют потоки.
Аноним 27/12/22 Втр 20:15:05 2555810 1363
>>2555800
"Сторонние библиотеки" для таких целей используют нативные функции целевой платформы.
смотри сурс глфв пол ивентс - там это нормальго сделано
Аноним 27/12/22 Втр 20:30:56 2555820 1364
>>2555810
>"Сторонние библиотеки" для таких целей используют нативные функции целевой платформы.
Да это понятно, просто не хочется подключать какой-нибудь sfml только ради этого. Выглядит, как оверхед.
Аноним 27/12/22 Втр 21:01:03 2555831 1365
>>2555820
Не оверхед - это навелосипедить SFML самому на WinAPI/LinAPI.
Аноним 27/12/22 Втр 21:10:59 2555843 1366
Аноним 27/12/22 Втр 21:14:36 2555845 1367
В плюсах можно объявить класс A внутри другого класса B и обращаться к нему как B::A, как будто B это namespace (пример: string::iterator). Как это правильно называется, и где об этом почитать? Иногда нужно сделать класс Foo и производный от него (то есть логически связанный с ним) класс FooBar, и хочется чтобы он был вложен в первый (Foo::Bar). Проблемы возникают, когда это шаблон класса, и ещё если я пытаюсь на qt так же вложить qobject в qobject.
Аноним 27/12/22 Втр 21:21:02 2555854 1368
>>2555843
Тот же sfml, но для сишки.
27/12/22 Втр 21:42:07 2555873 1369
Аноним 27/12/22 Втр 23:01:43 2555936 1370
>>2555748
Win API, если тебе достаточно винды или PDCurses, если хочешь кроссплатформу.
Вот пара примеров
https://code-live.ru/post/cpp-oldschool-snake/?ysclid=lc6ne0rid7844748121
https://gamedev.ru/projects/forum/?id=137654

>>2555800
>может есть какая-нибудь магия со стандартными потоками?
Нет никакой-такой магии со стандартными потоками.
Вводом/выводом рулит операционная система и к стандарту языка оно никак не относится.
Аноним 27/12/22 Втр 23:07:33 2555939 1371
>>2555936
>Нет никакой-такой магии со стандартными потоками. Вводом/выводом рулит операционная система и к стандарту языка оно никак не относится.
Не, ну по этой логике и тхреды контролируются ос и полностью зависят от платформы, но в стандартной библиотеке они, тем не менее, есть. Почему бы так же не внедрить в стандарт универсальный аналог getch?
Аноним 27/12/22 Втр 23:18:03 2555943 1372
.png 1088Кб, 955x715
955x715
Аноним 28/12/22 Срд 04:20:30 2556018 1373
>>2555800
> getch, но он чисто для винды
с какого это перепугу?
#include <curses.h> и вперёд
Аноним 28/12/22 Срд 11:12:53 2556116 1374
16594779649520.jpg 84Кб, 1024x775
1024x775
Аноним 28/12/22 Срд 15:59:33 2556380 1375
Смотрите, есть 32-битное целое число. Как компьютер определяет, что оно ненулевое? Просматривает каждый битик? Неужели нет более быстрого способа?
Аноним 28/12/22 Срд 16:06:22 2556385 1376
>>2556380
cmp %eax, 0
А как это внутри на конкретном процессоре работает, врчд ли тебе ответят. Можешь почитать про физическую сторону вопроса, попыиаться сам сделать что то похожее, но не факт, что у intel все так же. А вообще он не проверяет каждый бит. Он одной инструкцией делает операии сразу над байтом, двумя, четырмя или восьмью байтами
Аноним 28/12/22 Срд 16:23:46 2556400 1377
>>2556380
Сравнение быстрее всего делает дерево And над побитовыми Not Xor. Сравнение с нулем будет дерево And над инверторами, что еще быстрее.
Аноним 28/12/22 Срд 21:06:10 2556723 1378
>>2556380
На x86 процессоре, чтобы проверить, например, является ли число ненулевым, нужно выполнить с ним какую-нибудь операцию. Каждая выполненная операция устанавливает значения разных флагов. Один из них, ZF - означает, равен ли результат вычисления нулю. Для этого можно выполнить cmp eax, 0, как написали выше, но чаще всего пишут test eax, eax, так быстрее. Cmp выполняет вычитание, а test - побитовую операцию and. И в том, и в другом случае потребуется пройтись по всем битам. В некоторых случаях можно обойтись без test, если итак придётся перед проверкой выполнить какую-то операцию, которая установит нужный флаг. Хз, как оно может работать быстрее, по-моему норм.
Аноним 29/12/22 Чтв 02:37:51 2556908 1379
>>2556385
Добавлю. Это на самом деле сложный вопрос. Есть вообще наука которая занимается булевыми схемами, как быстрее вычислять булевы функции схемами наименьшей глубины, например. Тут глубоко копать можно
Аноним 29/12/22 Чтв 07:47:46 2556995 1380
>>2556380
Могу ошибаться, но вроде есть флаг нуля в регистрах, который один бит. Либо этот флаг появляется на алу, и тогда программа типа

i--;
If(i == 0)
break;

разворачивается типа в
inc , -1; // Инструкция вычитания
jnz break_label; // куда прыгать, если результат прошлой команды 0. Это быстрая операция
Аноним 29/12/22 Чтв 11:27:22 2557089 1381
Кстати, в последовательных эвм железно просматривался бит за битом. Двухвходовая Или плюс триггер результата.
Аноним 29/12/22 Чтв 13:54:36 2557211 1382
изображение.png 17Кб, 408x209
408x209
Правильно оператор присваивания сделал?

ip - это string
port - int
adr - struct sockadr_in
Аноним 29/12/22 Чтв 13:55:03 2557213 1383
Аноним 29/12/22 Чтв 13:55:33 2557214 1384
Аноним 29/12/22 Чтв 14:43:23 2557252 1385
>>2557211
Охуительно назвал поля.
Аноним 29/12/22 Чтв 16:36:19 2557374 1386
Есть какие-нибудь форумы, комьюинити, дискорды по эмбедеду? Чтоб не дохлые были
Аноним 29/12/22 Чтв 21:16:05 2557670 1387
>>2491360 (OP)
Что почитать чтобы научиться писать ебейшие тимплейты? Желательно покороче, ака минимум воды

Я научился делать дженерики и простенькие рекурсивные функции на вариадических темплейтах, но этого мало, хочу сделать конструктор навороченной структуры данных, чтобы оно все скомпилировалось и требовало минимум указателей и константных значений в рантайме, пусть все что можно запекается в код.
Аноним 29/12/22 Чтв 21:28:54 2557679 1388
>>2557670
Отмена миссии, я посмотрел как tuple устроен и передумал, лучше руками скопирую пару раз для нужных значений

Хотя все равно какой-нибудь читшит было бы интересно почитать
Аноним 30/12/22 Птн 12:41:08 2558003 1389
Есть гарантия, что it.end() будет заинлайнен?
Как вы вообще живете с вызовами 100 функций из критичных циклов, а вдруг компилятор это сделает медленно.
Аноним 30/12/22 Птн 12:43:32 2558008 1390
>>2558003
> а вдруг компилятор это сделает медленно
Компилятор в среднем сделает быстрее, чем разраб.
Аноним 30/12/22 Птн 13:04:28 2558023 1391
>>2558003
Никакой гарантии
Вся ответственность в твоих руках
Аноним 30/12/22 Птн 13:24:47 2558042 1392
>>2558003
как ты живешь без профайлера, чучело?
Аноним 30/12/22 Птн 14:35:24 2558098 1393
>>2558042
Пишу на языке, где + всегда компилируется в команду сложения. Или в две.
Аноним 30/12/22 Птн 14:41:18 2558106 1394
>>2558098
Жаль, что + в крестах компилируется в UB.
Аноним 30/12/22 Птн 14:55:08 2558115 1395
>>2558003
На более менее современном железе вызов функций настолько быстр что инлайн вообще потрял смысл. Хотя обвызывайся.
а так про профайлер здраво сказано
Аноним 31/12/22 Суб 15:31:11 2559161 1396
>>2558115
> На более менее современном железе вызов функций настолько быстр что инлайн вообще потрял смысл
Мвахаха.
Аноним 31/12/22 Суб 16:38:28 2559240 1397
>>2558115
> На более менее современном железе вызов функций настолько быстр что
qsort проигрывает std::sort в скорости почти в два раза.
Почему?
Аноним 31/12/22 Суб 21:34:57 2559569 1398
всех с наступающим, пусть в этом году нас всех спасёт от утечки памяти shared_ptr и unique_ptr, а офферы на 300к летели каждый день.
Аноним 31/12/22 Суб 22:03:30 2559621 1399
>>2559569
>пусть в этом году нас всех спасёт от утечки памяти
Но не от циклических ссылок. Как же тяжко.
>офферы на 300к
Хотет. Эх, да...
Аноним 01/01/23 Вск 16:00:41 2560018 1400
изображение.png 14Кб, 1148x60
1148x60
С новым годом!
Продолжая тему изучения cmake, как вы решаете проблему, когда find_package() не может найти библиотеку? Мне кажется эта распространенная проблема у виндодаунов, но толкового гайда не найти. Я пока решаю проблему установкой следующих переменных.
Аноним 01/01/23 Вск 17:49:43 2560187 1401
>>2560018
Ну а как тут решать проблему, только делать так чтобы пакет обязательно был, в противном случае падение
И либо юзер сам ставит то что надо, либо сам ручками, нужные пакеты для твоего по, в отдельную папочку складываешь

Ну или пэкедж менеджер используешь, Конан, vcpkg
Аноним 01/01/23 Вск 18:19:54 2560240 1402
>>2560018
В принципе верно, файн пакэдж примерно так и работает.
Просто обычно жобавляют отдельный файн пакадж нейм " симейк где пути и прописывают.
Аноним 01/01/23 Вск 18:33:44 2560256 1403
>>2560187
для чисто виндового проекта симейк нахуй не нужен, есть мсбилд, с прокидыванием папок к 3рдпати либам

Для кроссплатформы - юзай пекедж менеджеры
Аноним 01/01/23 Вск 18:36:43 2560258 1404
Нугет, например.
01/01/23 Вск 19:03:08 2560280 1405
>>2491360 (OP)
Ананасы, решил через пару неделек походить по собесам, сам работаю мидлом с зп 2.5к$ не ДС/ДС2, но хочется попробовать поймать чего получше.
Кто-то ходил в последние пол года по собесам? Готовились к собесам? Что спрашивали? На чем обосрались?
Сейчас вспоминаю все с чем не работал эти 2 года, дрочу литкод, ссыкую дико
Аноним 01/01/23 Вск 21:52:29 2560421 1406
>>2560280
Самому кстати интересно, хочу порофлить и сходить куда-нить на собес, посмотреть как меня там выебут, что вспомнить хоть.
Аноним 01/01/23 Вск 22:07:24 2560431 1407
С новым годом сиплюсплюсяч

Как определить структуру, у которой есть массив длины N, массив длины N - 1, ..., массив длины 0 Вопрос: ты что, дурак, зачем тебе массив длины 0? Ответ: массивы для упрощения примера?

Я придумал так:
template<size_t ...N>
struct LevelArrays{
std::tuple<std::array<int, N>...> levels;
}

И оно даже работает:
LevelArrays<4, 3, 2, 1, 0>{}

Но это всрато, я хочу указывать одну цифру.
Попробовал так: // оставим то, что тут порядок возрастающий, как развернуть integer_sequence я нашел
template<size_t N>
struct LevelArrays{
std::tuple<std::array<int, std::make_index_sequence<N>>...> levels;
}
Оно ожидаемо не работает, как сделать правильно?
Аноним 01/01/23 Вск 22:20:26 2560439 1408
image.png 51Кб, 760x534
760x534
Аноним 01/01/23 Вск 22:26:52 2560443 1409
>>2560439
Спасибо, мудрый анон
Аноним 02/01/23 Пнд 01:07:21 2560550 1410
>>2560280
лучше уволься с текущей работы, отдохни месяц, а потом все силы направь на поиск нового более оплачиваемого месяца, а то 2,5к баксов с текущей инфляцией - это просто смех, ты просто гниешь в этом болоте без роста
Аноним 02/01/23 Пнд 01:07:50 2560551 1411
Аноним 02/01/23 Пнд 09:56:49 2560669 1412
Аноним 02/01/23 Пнд 17:19:34 2561011 1413
привет всем
Аноним 02/01/23 Пнд 18:54:25 2561100 1414
пашол нахуй))0)
Аноним 02/01/23 Пнд 19:05:38 2561104 1415
>>2560669
не толще твоей задницы после 10ти лет просиживания за компом для изучения этого "языка программирования"
Аноним 02/01/23 Пнд 19:33:10 2561128 1416
Аноним 03/01/23 Втр 15:02:29 2561742 1417
>>2561104
я тебя по API вычеслйу!
Аноним 04/01/23 Срд 01:45:47 2562382 1418
Screencast 2023[...].mp4 15082Кб, 1920x1080, 00:02:34
1920x1080
Вы же понимаете, что по умственным способностях я любого из вас многократно превосхожу?
Аноним 04/01/23 Срд 01:47:40 2562383 1419
ParisTuileriesG[...].jpg 104Кб, 1024x683
1024x683
>>2562382
>способностях
>видос не проигрывается
Аноним 04/01/23 Срд 06:38:00 2562425 1420
Аноним 04/01/23 Срд 11:19:30 2562467 1421
>>2562382
твой доход - это пенсия по шизе, да?
Аноним 04/01/23 Срд 12:04:48 2562480 1422
>>2562382
Фронт тоже на плюсах пиши, будет круто
Аноним 04/01/23 Срд 12:22:58 2562487 1423
>>2562382
Ну, как говорится, ебало можно не имаджинировать
Аноним 04/01/23 Срд 12:36:51 2562491 1424
ебать накинулись но добряка
сами то хоть что то в последнее время интересное написали?
Аноним 04/01/23 Срд 12:40:37 2562492 1425
>>2562491
Что интересного в этом высере? Мало того, что подобные проекты вообще никакого отношения к C++ не имеют, так ещё и говно какое-то, которая любая шарпоблядь напишет за несколько часов.
Аноним 04/01/23 Срд 12:41:33 2562494 1426
>>2562492
ну вот я и говорю, покажи своё интересное тогда
Аноним 04/01/23 Срд 12:44:07 2562497 1427
>>2562492
>C++ не имеют, так ещё и говно какое-то, которая любая шарпоблядь напишет за несколько часов
Ебать мания величия
Аноним 04/01/23 Срд 12:55:34 2562514 1428
пишу два приложения, которые обмениваются данными через сокеты. Приложения 1 - клиент, посылает данные Приложению 2 - серверу, и Приложение 2 обрабатывает данные.

Возник вопрос при обмене данными - как приложению 2 узнать сколько прочитать из приложения 1 ? У меня возникла идея, что всегда в начале, перед посылкой основного сообщения, приложение 1 посылало приложению 2 число типа unsigned int в байтах, которое содержало бы размер последующего сообщения в байтах, и только после этого приложение 2 считывало бы указанное кол-во байтов.

- Норм идея? Или можно по-другому?
Аноним 04/01/23 Срд 13:19:50 2562547 1429
Скажите, почему С++ не завоевал мир?
После прочтения первого ответа тут https://www.reddit.com/r/rust/comments/2ifgsx/what_can_c_do_that_rust_cant/
я понял что это мощнейший язык, который может всё, от API для управления космическими спутниками до софта для смарт-ТВ
Аноним 04/01/23 Срд 13:23:48 2562552 1430
>>2562514
>меня возникла идея, что всегда в начале, перед посылкой основного сообщения, приложение 1 посылало приложению 2 число типа unsigned int в байтах,
Так и делают
Аноним 04/01/23 Срд 13:26:03 2562554 1431
>>2562547
>Скажите, почему С++ не завоевал мир?
Почти все крутые проекты в мире написаны на С или на С++.

Все ОС, все браузеры, все ААА игры (Юнити написан на С++), вся промышленная хуйня, все компиляторы\интерпретаторы

Но да, формочки на нем не шлепают.
Аноним 04/01/23 Срд 13:28:32 2562558 1432
>>2562554
Формочки тоже шлепают. Вот веб не делают.
Аноним 04/01/23 Срд 14:20:17 2562600 1433
Почмеу не стоит учить С++ как первый язык?
Я вкатун, хочу хорошо оплачиваемую интересную работу(8ч в день, 40ч в неделю) побыстрее
Аноним 04/01/23 Срд 14:31:18 2562624 1434
>>2562600
Ну область применения, если просто хочешь работать пофиг где, то плюсы сомнительный выбор
Слишком много учить, слишком узкие области применения, в целом боль при работе с ним

Есть множество других областей, мобилки, веб, машоб но это тогда тоже не для тебя и миллион других
Аноним 04/01/23 Срд 14:39:16 2562637 1435
>>2562624
>слишком узкие области применения
>>2562554
>Почти все крутые проекты в мире написаны на С или на С++.
>
Аноним 04/01/23 Срд 14:41:26 2562643 1436
>>2562637
Браузер, ос ,графика, встроенные штуки

Что забыл?
Аноним 04/01/23 Срд 14:41:42 2562645 1437
>>2562637
Ух, сейчас выучу плюсы, устроюсь на работу и буду там каждый день писать компиляторы, игровые движки, ОС и прошивки для спутников!
Аноним 04/01/23 Срд 14:51:36 2562660 1438
>>2562600
Потому что он существенно сложнее и требует больше знаний, чем другие языки, при этом дает не обязательно больше денег
Аноним 04/01/23 Срд 17:09:17 2562814 1439
>>2562514
Дежурное напоминание не забывать про endianness
Аноним 04/01/23 Срд 20:46:21 2563122 1440
>>2562814
сокеты локальные. Там могут быть проблемы?
Аноним 04/01/23 Срд 20:52:48 2563128 1441
>>2562383
О, оказывается, в хроме все ок.
>>2562425
Скучно же, ну.
>>2562467
Не, я и на работе C++ бэкендщик, правда там подобный DSL с макросами вряд ли восприветствовался бы.
>>2562480
Так у меня пока что весь фронт - это браузер, то есть чистый HTML, который генерируется на бэкенде. Но да, если захочется какой-то крутой UI, то это однозначо должен быть самопальный клиент на WinAPI. И чтоб и то, и другое летало на 20-летнем синкпаде под Windows 2000. Джаваскрипт нинужон. Ноудискасс.
>>2562487
Согласен. Все таки, нежелательно. От вида такого гигачедяры, как я, ваши комплексы совершат беспрецедентное пробитие дна.
Аноним 04/01/23 Срд 21:05:22 2563145 1442
>>2562492
Ну, моей первоначальной целью было потренироваться в реализации лоулевельной части. Даже репозиторий называется httpserver, и только потом тестовый main мутировал в imgbrd. Кроме STL, cstdlib и линуксовых хедеров там ничего внешнего не используется.
Аноним 04/01/23 Срд 21:48:19 2563189 1443
>>2563128
>Но да, если захочется какой-то крутой UI, то это однозначо должен быть самопальный клиент на WinAPI.
Не не не, ты не понял
Фронт. на плюсах. в браузере!
Просто всё через wasm делать

идея мертво рожденная, но ржавые например на фулл ебале такое запилили, yew называется, на удивление выглядит норм
Аноним 04/01/23 Срд 21:51:40 2563192 1444
maxresdefault.jpg 200Кб, 1280x720
1280x720
>>2563189
БРАУЗЕР ПРЕДНАЗНАЧЕН ДЛЯ ПРОСМОТРА ГИПЕРТЕКСТА
@
ДЛЯ ВСЕГО ОСТАЛЬНОГО ДОЛЖНЫ БЫТЬ СПЕЦИАЛИЗИРОВАННЫЕ ПРОГРАММЫ, КОТОРЫЕ ПОЛЬЗОВАТЕЛЬ УСТАНАВЛИВАЕТ ПО СОБСТВЕННОМУ СОГЛАСИЮ

никогда не интересовался wasm, звучит годно, вот бы когда-нибудь взлетело
Аноним 04/01/23 Срд 22:34:36 2563227 1445
>>2562514
>Или можно по-другому?
хз я бы выбрал протокол подходящий под задачу и использовал его реализацию
если бы писал для тренировки - то сначала по спецификации написал свою реализацию
а придумывать свой (хороший) протокол, имхо, это уже высшая квалификация для программиста и таких людей единицы во всем мире
Аноним 04/01/23 Срд 22:34:51 2563228 1446
>>2563128
>гигачедяры
ну пруфани хоть, что живешь в долине или в Цюрихе, гигачедяра. Или в Лондоне, хотя бы
Аноним 04/01/23 Срд 22:41:27 2563239 1447
>>2562547
>Скажите, почему С++ не завоевал мир?
ну, к примеру, в энтерпрайзе кресты абслютно справедливо сдохли, хотя в 90е было немало систем на них написаны, секрет простой: уебаны в комитете не захотели делать стандартизированную загрузку-выгрузку классов, ведь хуевертить шаблончики гораздо веселее
обратный пример: в различных контроллерах (даже от самых маленьких до больших в которых уже по сути полноценные ос крутятся) на данном этапе вполне можно было бы использовать с++, потому что комитет дохрена сил за последние 25 лет потратил, введя много средств которые упрощают такой низкоуровневый кодинг, при том что уже изначально в кресты и stl был заложен потенциал работать на контроллерах, но эта отрасль довольна консервативна и там до сих пор на сях дрищут макросами и войд звездочка
Аноним 04/01/23 Срд 22:44:26 2563242 1448
>>2562600
без какого то намека на троллинг и наебалово, просто один совет: хочешь побыстрее начать зарабатывать деньги кодингом, даже не смотри в сторону крестов, даже не думай об этом, просто забудь что такой недоязык существует
Аноним 04/01/23 Срд 22:47:00 2563245 1449
>>2562645
на с++ не пишут компиляторы, ни одной штуки не написано
пишут на приплюснутой сишке, в том числе и компиляторы самого с++, что как бы и показывает всю ущербность этого языка, ведь яп претендующий на звание языка общего назначения всегда пишется бутстрапингом (что ява, что шарп так написаны)
но это не случай с++, все компиляторы которого написаны на приплюснутом си
Аноним 04/01/23 Срд 22:58:47 2563252 1450
>>2563228
Доводжу до твого відома, що я повноправний громадянин наймогутнішої держави у світі. Раджу тобі, чоловіче, якнайшвидше підготуватися до входу у склад нашої імперії. Наврядче наші шляхетні правителі лояльно ставитимуться до жителів східної колонії, що не поважають Україну.
Аноним 04/01/23 Срд 22:59:37 2563253 1451
>>2563245
Что такое "приплюснутые си"?
Аноним 04/01/23 Срд 23:00:09 2563254 1452
Аноним 04/01/23 Срд 23:01:15 2563257 1453
image.png 163Кб, 443x604
443x604
Аноним 04/01/23 Срд 23:12:23 2563263 1454
>>2563242
а что учить
го
яву
расту
джскрипт? вот чтобы быстро вкатиться иделать проекты и стаь менедежром а потом и СЕО фанудером единорога
Аноним 04/01/23 Срд 23:13:41 2563264 1455
>>2563263
Что угодно, но это уже вопрос не для с++ треда
Побегай по соседним тредам поспрашивай как у них дела
Аноним 04/01/23 Срд 23:30:37 2563282 1456
>>2563253
Это то же, что C++, но в терминологии конченных долбоёбов, типа шизика, который сейчас бегает тут и говорит забыть про C++ и настаивает, что он не тролль.
Аноним 04/01/23 Срд 23:35:59 2563289 1457
>>2563282
Это С++ без умных указателей, шаблонов, итд
Аноним 04/01/23 Срд 23:53:22 2563308 1458
Аноним 05/01/23 Чтв 00:14:30 2563332 1459
>>2563308
Приплюснутая сишка
Аноним 05/01/23 Чтв 00:36:58 2563354 1460
Аноним 05/01/23 Чтв 00:52:06 2563359 1461
>>2563122
Ну, если компилировать и запускать обе программы на одном и том же компьютере, проблем не будет, но тебе этого наверняка потом будет недостаточно, так что лучше сразу сделать правильно. Если ты используешь Qt, то там есть типы quint32_le и quint32_be.
Аноним 05/01/23 Чтв 01:04:34 2563370 1462
изображение.png 89Кб, 423x865
423x865
Давно студией не пользовался. Пришлось установить.
Даже обычный хело ворлд не собрался.
Триллионная компания делает всё через сраку. Впрочем, ничего нового.
Аноним 05/01/23 Чтв 01:58:36 2563388 1463
>>2563370
> 477 ошибок конпеляции хелло ворлда
классика
Аноним 05/01/23 Чтв 03:22:42 2563402 1464
>>2563239
Кстати void * это же квинтесенция си, лучше уже не будет.
Аноним 05/01/23 Чтв 06:10:41 2563435 1465
>>2546899
>>2563239
> но эта отрасль довольна консервативна и там до сих пор на сях дрищут макросами и войд звездочка
И правильно делают
Аноним 05/01/23 Чтв 13:39:39 2563621 1466
>>2563239
>на контроллерах, но эта отрасль довольна консервативна и там до сих пор на сях дрищут макросами и войд звездочка

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

>и stl был заложен потенциал работать на контроллерах
Вот куда он точно был не очень заложен так туда. Любая хуйня для мк ДОЛЖНА поддерживать статическое выделение, не значит что оно всегда будет использоваться, но оно должно уметь.

А по факту - тебе надо либо костыли писать, либо либы сторонние брать, для того, что бы ебанную queue на статике возыметь. ringbuffer вообще блядь отсутствует.

Не, STL это пизда хуета не совместимая с встраиваемыми.
Аноним 05/01/23 Чтв 13:49:14 2563633 1467
>>2562547
Да, да, очень интересно и прикольно, что ты можешь через union отъебенить себе ногу поколено, но рефлексии без долбления себя в очко так и не завезли.

А пиздатой компайл-тайм рефлексии ебанись как не хватает.
Аноним 05/01/23 Чтв 14:09:14 2563662 1468
>>2562547
Почему не завоевал? Матрица на чем тогда написана?
Аноним 05/01/23 Чтв 14:10:48 2563664 1469
Аноним 05/01/23 Чтв 14:15:43 2563668 1470
>>2563664
Слишком много глюков в Матрице, для сей с классами.
Аноним 05/01/23 Чтв 21:53:17 2564211 1471
У меня есть много фотографий и их нужно назвать по порядку 1, 2, 3, 4. Порядковый номер зависит от самого содержимого фото. Сейчас фото имена их хэш-сумм, то есть они неупорядочены и если просто скрипт запустить консольный, то он назовёт их правильно.

Собсна хочу написать программу которую бы запустил и чтобы я просто в проводнике щёлкал на превьюху фото и он присваивал ей число. Ну запустил программу, щёлкнул одно фото он назвал 1, щёлкнул другое назвал 2.

Подскажите как это реализовать, какие либры юзать и вот это всё. В каком направлении копать короче.
Аноним 05/01/23 Чтв 22:04:17 2564220 1472
>>2564211
И вот как это сделать. Я в голове прикинул что там на событие левой кнопкой мыши клик должен срабатывать сценарий:
ПСЕВДОКОД

if (left_mouse_button == clicked && while_in_explorer_window == true;)
{ if file_selected == true rename_file(number);

else do_nothing();}
Аноним 05/01/23 Чтв 23:10:11 2564270 1473
изображение.png 19Кб, 527x469
527x469
Что выведется в каждом вызове и почему?
Аноним 05/01/23 Чтв 23:11:49 2564274 1474
Аноним 05/01/23 Чтв 23:12:15 2564276 1475
Аноним 05/01/23 Чтв 23:13:08 2564279 1476
Аноним 05/01/23 Чтв 23:13:19 2564281 1477
>>2564211
>>2564220
Эксперты по винде, системач, хэлпаните, сос. Ну что никто чтоли в ядре винды не шарит
Аноним 05/01/23 Чтв 23:15:29 2564284 1478
>>2564211
Чтобы клик на картинку детектился тебе придется писать свою показывалку картинок и там уже обрабатывать события с мыши.

Если хочется проще я бы сделал так
- создаем пустую папочку
- перетаскиваем туда в искплорере мышой картинки по одной за раз
- скрипт сидит и следит за папочкой
- как только там появляется новый файл, переименовывает его по порядку
Аноним 05/01/23 Чтв 23:22:05 2564293 1479
>>2564284
Не, мне именно надо чтобы клик на любой объект в проводнике детектился, чтобы моно было и картинки и папки всё нумеровать.

А чё если делать скрипт по твоему варику там power shell надо да?
Аноним 05/01/23 Чтв 23:30:18 2564298 1480
>>2564284
Может быть можно как-то при событии клик мышкой обращаться к процессу explorer у него спрашивать был ли выбран какой-то объект current window.

Наверняка можно в какой-нибудь стэк i/o вхуйнуть это как фильтр-драйвер
Аноним 05/01/23 Чтв 23:33:13 2564301 1481
>>2564298
так эксплорер же обычныей процесс как все оствльные
небось и каких-нить хуков/инъекций в него пиздануть можно
Аноним 05/01/23 Чтв 23:36:34 2564304 1482
>>2564301
Ну у него же есть свои api к которым можно обратить и запросить типа был ли file selected сделан.

Ну короче щас попытаюсь снова объяснить что я хочу.
Есть папка с файлами в explorer

Ты берёшь и запускаешь программу. Она чекает что рабочее окно(которое ты выбрал щас) принадлежит процессу explorer и если так то при событии клика мышкой она спрашивает у explorerа был ли выбран какой-либьо объект(папка, файл, фото видео) в окне если да то выбранный файл переимновывается присваивается число 1 и после чего оно увеличивается на 1 до следующего раза.
Аноним 05/01/23 Чтв 23:38:05 2564307 1483
>>2564270
Выведется A потому как бест матч.
Аноним 05/01/23 Чтв 23:39:11 2564310 1484
>>2564307
Я тоже так думал. Но правду говорят, что плюсы не знает никто.
Аноним 05/01/23 Чтв 23:41:03 2564313 1485
>>2564310
Сам Страуструп писал в своей книге Основы ООП на базе с++ чтобы люди не дрочили на лексику и головолоками вроде а что будет если всякую ебалу налепить, а писали программы
Аноним 05/01/23 Чтв 23:52:37 2564327 1486
>>2564313
>Сам Страуструп
Страуструп задумал свое грязное дело сильно загодя, еще в 80-х он осознал, что язык нужно стандартизировать.
И это неспроста. Он падло чуел, куда ветер дует, и понимал, что все косяки на кого-то нужно спихнуть. Вот он и изобрел в дополнение к языку еще некий Стандарт.

На самом деле, все было бы куда проще, если бы программисты в непонятных ситуациях клялись Жопой Страуструпа, а не кивали бы на Стандарт.

Страуструп - учредитель Общества с неограниченной безответственностью.
Аноним 06/01/23 Птн 00:07:13 2564335 1487
>>2564293
Я простой линуксоид город мухосрань
Так что с виндовыми API ебитесь как-нибудь сами
Не понимаю я в этом да и собственно оно мне до пизды
Аноним 06/01/23 Птн 00:07:19 2564336 1488
Вот уже 40 лет Страуструп траллит лалок, а они ни о чём не догадываются.
Аноним 06/01/23 Птн 15:37:20 2564756 1489
>>2564335
Ну так виндовый api гораздо сложнее чем всякие linuxы. Ладно, я уже понял что без книги руссиновича не обойтись. Спасибо, аноны.
Аноним 06/01/23 Птн 15:41:56 2564761 1490
>>2564336
Скоро дотнетовцы начнут траллить всех. У них уже есть компиляция в нативный код хоть под линукс, хэллоуворлд весит чуть больше 1 мб, установленный дотнет не нужен, по скорости ебёт всякое GOвно.
Аноним 06/01/23 Птн 15:49:25 2564769 1491
>>2564761
> хэллоуворлд весит чуть больше 1 мб
Но если запаковать в него рантайм дотнета, он весит уже 20 метров, даже после трима. И это хеллоуворлд, а сервис будет уже под сотню.
Аноним 06/01/23 Птн 15:56:14 2564777 1492
>>2564769
Нет, в 7.0 дотнет уже не нужен при AOT-компиляции, там полностью нативный код. Из негативного - рефлексия выключается полностью и либы с ней не будут работать.
Аноним 06/01/23 Птн 16:27:59 2564807 1493
>>2564777
AOT не тыкал. Раз так, Go точно идёт нахуй, куда ему с шарпами тягаться.
Аноним 06/01/23 Птн 18:37:25 2564921 1494
image.png 4Кб, 409x37
409x37
Друзi помогите вкатышу. Если я вот так создал массив, то мне получается нужно писать free(string) в конце программы, чтобы освободить память?
Аноним 06/01/23 Птн 18:38:44 2564923 1495
>>2564921
а бля это тред плюсов а не си
Аноним 06/01/23 Птн 18:54:11 2564944 1496
>>2564921
Совсем по феншую - да. По факту - пока не парься.

Из причин сделать free() перед завершением, что я могу придумать - это корректная отработка atexit() abort() всяких и какие нибудь ультра ебнутые случаи, когда твоя программа исполняется в одном и том же процессе с другой (я хз можно ли так вообще, не очень знаком с подноготной и ее проблемами, просто говорю тебе, что там до и после мейна что-то есть и тоже может исполняться.
Аноним 06/01/23 Птн 22:53:46 2565185 1497
>>2564944
Еще бывает полезно чтобы в тестах утечки памяти обнаруживались.
Аноним 07/01/23 Суб 03:34:57 2565359 1498
>>2564912
Не эксперт по qt, но слышал, что valgrind считает утекшей любую неосвобожденную по завершению память. Вот есть у тебя глобальный объект - окно. Должен жить все время. Ты взял, сразу через new выделил и потом просто не удаляешь, пока прогу не убьют. Тебе норм, а он за утечку посчитает. Это мои предположения
Аноним 07/01/23 Суб 07:25:14 2565379 1499
Аноним 07/01/23 Суб 07:57:05 2565381 1500
>>2564912
Сражаться и отыгрывать обратно!
Аноним 07/01/23 Суб 13:49:33 2565611 1501
>>2548791
а нахуя тебе перекатываться?
Аноним 07/01/23 Суб 14:14:30 2565630 1502
Приветствую, Аноны! С Новым годом!) Счастья, благ)

появилась необходимость написать небольшой кликер, использую функции SetCursorPos и mouse_event
проблема в том что они не всегда работают:
1). не получается "кликнуть мышью" на некоторые окна
2). если запустить эти окна через "эмуляцию" Alt+TAB, то функции SetCursorPos и mouse_event вообще перестают выполняться(наблюдаемый результат отсутствует)
третий день мучаюсь, в интернетах пишут что-то про разные окна на Win API, мои силы на исходе, подскажите пожалуйста как решить данную проблему Спасибо
Аноним 07/01/23 Суб 14:27:52 2565645 1503
>>2565630
p.s. у всяких удалённых рабочих столов такой проблемы нет: по идее они так же должны эмулировать работу мыши/клавиатуры (без DLL инъекций я надеюсь)
Аноним 07/01/23 Суб 15:00:10 2565691 1504
>>2565630
Тебе нужна виртуальная мышеклавь
Аноним 07/01/23 Суб 17:09:17 2565821 1505
>>2565691
а чего нибудь попроще нет?
вот всё работает, потом перехожу на приложение - движения мыши прекращаются, SendInput попробовал - тоже не работает

косвенно догадываюсь что мышь и клавиатура находятся (подключены) к какому-то неизвестному окну, которое никак не связано с тем, что я вижу на экране
Аноним 07/01/23 Суб 18:14:51 2565895 1506
Говнина.png 18Кб, 502x206
502x206
Аноним 07/01/23 Суб 23:47:11 2566162 1507
Нужно ли мне стараться, чтобы мой проект компилировался разными компиляторами?
Что делать если какая-то либа в одном из компиляторов не компилируется?
Нормальная ли практика чутка подпиливать либу, чтобы работала?
Аноним 08/01/23 Вск 00:18:34 2566189 1508
>>2566162
Пока ты маленький студентик-вкатун - тебе нахуй все это не надо.

Когда ты мало того, что работаешь, так и на работе есть требование кроссплатформенности\разных компиляторов - вот тогда надо.
Аноним 08/01/23 Вск 02:49:16 2566238 1509
>>2566189
Я пилю свой проект для хобби, интересно, какие лучшие практики

А сейчас как раз переезжал с mingw на msvc и задумался
Аноним 08/01/23 Вск 06:10:13 2566255 1510
>>2566162
>>2566189
Хуй знает, по мне наоборот, если ты планируешь этим работать - нужно все делать энтерпрайзно, даже если это копродомашний проект.

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

Среди С++ пограмиздов знание УБ и тыканье им друг в друга это отдельная спецолимпиада.
Аноним 08/01/23 Вск 13:45:21 2566402 1511
159839018560105[...].PNG 10Кб, 582x165
582x165
Нужна помощь с автоотключением реле после включения по смс.
Если использую delay 10000 * 8 то вся ардуина виснет.
Есть какие ни будь другие варианты как это реализовать?
Аноним 08/01/23 Вск 16:22:40 2566604 1512
>>2566402
Сохрани время, когда отключать реле, в переменную и в лупе проверяй каждый раз уже пора или еще нет

Не блокируй луп дилеем
Аноним 08/01/23 Вск 16:28:37 2566617 1513
>>2556385
Дебич. Это медленный способ. cmp eax, eax
Аноним 08/01/23 Вск 18:28:34 2566807 1514
Что вы говорите, когда на собесе спрашивают о проектах, над которыми вы работали?
Аноним 08/01/23 Вск 18:31:11 2566808 1515
>>2566807
Говорю, что написал змейку.
Аноним 08/01/23 Вск 18:32:40 2566810 1516
>>2566807
Стараюсь увести разговор в другое русло, если не получается, начинаю оскорблять мать собеседующего.
Аноним 08/01/23 Вск 18:40:22 2566819 1517
>>2566604
Для этого придаться использовать контроллер времени.
Аноним 08/01/23 Вск 18:50:30 2566827 1518
>>2566819
Нет, время когда пора = текущие миллис + задержка
Аноним 08/01/23 Вск 18:55:30 2566829 1519
>>2566827
"время" когда отключать реле, ардуина постоянно будет перезапускаться мне каждый раз настраивать время?
Аноним 08/01/23 Вск 19:00:21 2566835 1520
159839018560105[...].PNG 17Кб, 482x514
482x514
159839018560105[...].PNG 12Кб, 644x247
644x247
Аноним 08/01/23 Вск 19:22:49 2566865 1521
>>2566835
В целом да, только логику проверь.

Кстати наверняка для ардуины уже сделали либу деферред тасок, но мне всегда хватало руками иф написать
Аноним 08/01/23 Вск 19:26:33 2566867 1522
Аноним 08/01/23 Вск 20:09:51 2566896 1523
>>2566402
> реле
> по смс
Зарепортил на всякий. И вам советую сделать так же.
Аноним 08/01/23 Вск 20:10:28 2566898 1524
>>2566255
Вся эта шелуха тебя отвлекает от самого важного - пиления своих проектов.

Я, когда вкатывался, ваще ничего не умел кроме вижуал студии. Вкатился, моей сениорской лычке уже больше пяти лет, все еще ничего не умею кроме вижуал студии, и не хочу уметь.
Аноним 08/01/23 Вск 20:24:17 2566910 1525
>>2566896
> автоотключением
Смысл репортить если он уже включать научился?
Аноним 08/01/23 Вск 20:26:19 2566911 1526
>>2566910
Так может самое интересное на отключении, он для этого таймер и ставит. Репортите, глупцы, пока не поздно...
Аноним 08/01/23 Вск 20:36:11 2566914 1527
>>2566896
Интересно, есть ли статистика по использованию ардуино в бомбах при терактах.
Аноним 08/01/23 Вск 20:43:54 2566926 1528
>>2566896
ну ты и урод решил мою грядку разбомобить!
Аноним 08/01/23 Вск 21:42:54 2566962 1529
сука)) как же я сиранул с обоссаных опущенных уебанов в этом треде, насколько нужнео быть нищей пидарашкой чтоб писать не на шарпе и тем более на этой хуйне
Аноним 08/01/23 Вск 21:56:01 2566971 1530
Аноним 09/01/23 Пнд 13:00:25 2567597 1531
image 66Кб, 1200x603
1200x603
Мнение анонусов по пикрилу?
Аноним 09/01/23 Пнд 13:02:36 2567602 1532
>>2567597
Не нужно, по причине существования SFML.
Аноним 09/01/23 Пнд 13:03:55 2567606 1533
>>2567602
>SFML
Хуйня без задач, к тому же баганная и мало платформ.
C++ обёртки для SDL и то лучше будут
Аноним 09/01/23 Пнд 14:26:36 2567706 1534
>>2567606
Sdl и есть плюсы. На си глфв.
Аноним 09/01/23 Пнд 14:31:59 2567710 1535
Аноним 09/01/23 Пнд 15:27:11 2567798 1536
Аноним 09/01/23 Пнд 15:28:26 2567801 1537
Аноним 09/01/23 Пнд 16:18:25 2567864 1538
Нахуй Алигн нужен?
Тем более зачем отнем знать компилятору?

Что такое pragma(push,1) и pragma (pop)?
Аноним 09/01/23 Пнд 16:32:44 2567879 1539
>>2567864
> Нахуй Алигн нужен?
Доступ по выполненному адресу эффективнее.
> Тем более зачем отнем знать компилятору?
Потому что компилятор размещает данные.
> Что такое pragma(push,1) и pragma (pop)?
Выравнивание полей структуры по однобайтовой границе.
Аноним 09/01/23 Пнд 16:33:11 2567881 1540
>>2567879
> Доступ по выполненному адресу эффективнее.
По выравненному
быстрофикс
Аноним 09/01/23 Пнд 16:38:20 2567888 1541
>>2567879
То есть компилятору нужно выделять
alignof(x) + sizeof(x)?
А если массив структур то каждую выравнивать?

Каш мар
Аноним 09/01/23 Пнд 16:39:06 2567889 1542
> компилятору
Аллокатору*
ой...
Аноним 09/01/23 Пнд 16:40:35 2567891 1543
>>2567888
Не так уж трагично выходит, скорость решает.
Аноним 09/01/23 Пнд 23:32:44 2568447 1544
>SFML
>SDL
Вы пизданутые. Еще и мне это говно посоветовали когда-то. Я недавно узнал, что API OpenGL позволяет писать напрямую в драйвер видюхи, достаточно занклюдить <gl.h>.
Вот на чем надо писать, потому что так писали серьезный сэм и другие ламповые игры.
Аноним 09/01/23 Пнд 23:40:55 2568464 1545
>>2568447
> Еще и мне это говно посоветовали когда-то
Чётче вопрос надо было формулировать.
> OpenGL
Это 3D. А SFML - 2D.
Аноним 10/01/23 Втр 01:47:35 2568530 1546
>>2568464
Лол. Опенгл это часть драйвера по сути. Хедеры только адреса. А сымл это шаред либа, пртчем так себе.
Аноним 10/01/23 Втр 01:55:18 2568534 1547
>>2568530
И что? Тебя же не удивляет, что для вывода в консоль все используют стандартную библиотеку вместо вызова прерываний или функций WinAPI по адресам. Та же хуйня и с OpenGL, нет смысла писать тонны бойлерплейта для рисования фигур, когда в SFML это делается в несколько строчек.
Аноним 10/01/23 Втр 07:21:44 2568596 1548
>>2566962
Мистер, напишите пожалуйста мне CLR\CLI, шоб в 256кб с кодом приложения влезало.

Не? Не напишите? Что говорите? Только круд можете написать? Ну ладно.
Аноним 10/01/23 Втр 08:38:28 2568615 1549
А вы знали, что в 23 стандарт комитет ввёл std::expected (он же хаскелльный Either) и монадические операции над ним и над std::optional.
Кто-нибудь остановит этот взбесившийся принтер?
Аноним 10/01/23 Втр 08:44:36 2568618 1550
>>2568615
Лучше бы сокеты добавили.
Аноним 10/01/23 Втр 08:53:47 2568620 1551
>>2568615
Так ахуенная же штука
Я правильно понимаю что это аналог растовского резулта?
Аноним 10/01/23 Втр 09:21:38 2568633 1552
>>2567597
steam его использует кста, так что норм
Аноним 10/01/23 Втр 09:57:51 2568644 1553
>>2568615
Наоборот заебись, кресты никогда не были ООП-языком. Я бы уже давно полностью на кресты перекатился обратно, если бы вместо cmake что-то нормальное придумали.
Аноним 10/01/23 Втр 12:06:26 2568741 1554
>>2568447
Опенгл - это Си, а не плюсы.
СФМЛ - это не только графика, но еще сеть, многопоточность, звук и ввод с клавомыши.
СФМЛ очень дружелюбен к нубам с объемом знаний в одну книжонку по плюсам. Позволяет в живую пощупать все то, чего ради создавался C++ поверх сей.

>так писали серьезный сэм и другие ламповые игры.
Так писали движки для игор. Игра - это гораздо более высокоуровневая штука.
Доморощенное движкостроение нынче крайне не актуальная тема.
Аноним 10/01/23 Втр 12:47:41 2568813 1555
>>2568447
А если когда писали ламповые игры еще в очке ковырялись и жрали наковыренное, то ты тоже так несомненно должен делать.

Аргументация от бога блин.
Аноним 10/01/23 Втр 12:56:20 2568834 1556
>>2568741
> Опенгл - это Си, а не плюсы.
Опенгл это спецификация.
Аноним 10/01/23 Втр 13:11:28 2568857 1557
Аноним 10/01/23 Втр 17:15:27 2569224 1558
Необходимо написать надежную систему сохранений транзакций пользователей. А именно, необходимо быть уверенным, что если данные записались, то с ними ничего не случится, даже если потом комп отключится от сети и сгорит все кроме диска. Надежность диска - отдельный вопрос. Меня сейчас интересует следущее: верно ли, что если я записал на диск данные, сбросил буфер, то с ними уже все заебись? Или как это делать правильно?
Аноним 10/01/23 Втр 17:17:21 2569229 1559
Ну и на чём пилить быстрый и красивый гуй? Qt - говно, выглядит так себе и очень медленный. Всякие imgui от хача Омара и высер на расте egui - слабо пригодны для десктопного гуя, нельзя хуяк-хуяк делать. Фреймворки на C# - нет поддержки 7 дотнета, соответственно нахуй. Разве что js-парашу брать, в виде электрона или в PWA выносить. Видел ещё шизов с годотом, он весит пару десятков мегабайт после выкидывания всего игрового, говорят гуй ничего там. Что предложите?
Аноним 10/01/23 Втр 17:21:00 2569241 1560
>>2569224
> если я записал на диск данные, сбросил буфер, то с ними уже все заебись?
Нет. Никаких гарантий нет что данные физически запишутся на диск после сброса. Даже если драйвер ФС будет считать что данные записались, то нет гарантий что сам диск их записал, а не держит в кеше. Если ты что-то записал на диск и питание сразу отъебнуло - это так называемое UB.
Аноним 10/01/23 Втр 17:21:33 2569242 1561
>>2569241
И че делать? Очень надо гарантии обеспечить
Аноним 10/01/23 Втр 17:23:33 2569245 1562
>>2569242
Поставить ИБП, поставить серверное железо дающее такие гарантии.
Аноним 10/01/23 Втр 17:28:18 2569254 1563
>>2569245
> ИБП
Это просто, спасибо
> серверное железо
Чет не гуглятся ssd с гарантиями такими, хотя мб я плохо поискал. Спасибо

Но ведь должен быть способ как то сбросить данные. Я же когда компьютер выключаю, оно все записывается, верно? Почему я не могу процесс форсировать?
Аноним 10/01/23 Втр 17:33:56 2569267 1564
image.png 266Кб, 736x736
736x736
Аноним 10/01/23 Втр 17:38:39 2569270 1565
>>2569254
Тебе надо не в сторону софта идти за гарантиями, а в сторону железа. Если питание экстренно пропадает, то на обычном железе всегда есть шанс проебать данные за последние секунды вплоть до минуты. Ты думаешь нахуя в ДЦ ставят одиночные серваки стоимостью как автомобиль? Со стороны софта ты можешь только дублировать сохранение данных на разном железе для гарантий. Ты думаешь всякие серверные сбои с проёбом БД за хуй знает какое время - это чисто диски наёбывются? Да нихуя подобного.
Аноним 10/01/23 Втр 17:48:13 2569280 1566
Аноним 10/01/23 Втр 17:54:56 2569287 1567
Аноним 10/01/23 Втр 18:02:22 2569295 1568
>>2569267
>>2569280
>>2569287
А если серьёзно? У меня бэк будет на питоне, надо так. Я же не буду гуй на питоне писать, я вообще не хочу писать на нём. В идеале бы его в кресты встроить и нормальным гуем обмазать. Но надо чтоб это не было слишком жестким крестовым дерьмом - коллеги не поймут как с этим работать. Как говорится надо и рыбку съесть и на хуй сесть - питоном пусть развлекаются другие, а мне надо быстрый современный гуй к нему прикрутить.
Аноним 10/01/23 Втр 18:06:40 2569301 1569
>>2569295
Если есть бэк, почему не веб-клиент?
Аноним 10/01/23 Втр 18:07:05 2569302 1570
>>2569295
> бэк на питоне
> фронт на плюсах
Блять...
Аноним 10/01/23 Втр 18:12:07 2569305 1571
>>2569301
> почему не веб-клиент?
Звучит как хуйня, ведь будет очень медленно. Ты вообще видел какой перфоманс у веба в питоне? Да и оно будет запускаться фактически локально, нахуй оно нужно.
>>2569302
Потому что макаки есть и пишут на чём могут. Я тоже пишу на чем могу хочу.
Аноним 10/01/23 Втр 19:30:49 2569438 1572
>>2569305
Ты же не для себя пишешь? Ну так бери PyQt и не выёбывайся. Толку с твоего быстрого фронта не будет, благодаря тормозному бэку на гвидоне.
Аноним 10/01/23 Втр 19:49:31 2569455 1573
>>2569438
> Ты же не для себя пишешь?
Ну как сказать, потом мне ебаться с этим говном, получится кал - придётся переписывать.
Аноним 10/01/23 Втр 22:32:03 2569605 1574
>>2569455
С гуем на плюсах гарантированно придется ебаться больше.
Аноним 10/01/23 Втр 23:03:50 2569624 1575
Приветствую всех!
Каким образом в С++ можно многопоточно читать из файла так, чтобы каждый поток читал отдельный кусок? Просто у объекта типа std::FILE есть индикатор позиции начала чтения. Как тогда сделать так, чтобы для каждого потока он был свой?
Аноним 11/01/23 Срд 00:15:50 2569711 1576
>>2569624
а диск у тя тоже многопоторчный что ли наркоман?
Аноним 11/01/23 Срд 00:23:10 2569716 1577
>>2569711
Так мне же просто читать с диска, а не писать в него. Нельзя что ли никак?
Аноним 11/01/23 Срд 00:28:12 2569721 1578
>>2569716
можно
посмотри как в fopen передать флаг на shared read
если никак - погружаешься глубже в кал какой-нибудь CreateFileW и ебешься в сраку непосредственно с ОС хендлами файлов
Аноним 11/01/23 Срд 00:30:41 2569725 1579
>>2569721
Спасибо! Буду копать
Аноним 11/01/23 Срд 01:16:54 2569755 1580
Если у меня есть наполненный vector, я могу достать из него данные с помощью data(), но vector все еще будет владеть их жизненным циклом.

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

По сути мувнуть вектор в указатель?
Аноним 11/01/23 Срд 01:27:22 2569762 1581
>>2569755
кастомный аллокатор
Аноним 11/01/23 Срд 02:04:18 2569771 1582
>>2569711
Сильно большое файлы мне читать не доаодилось, но много небольших в многопоток читается на ура.
и клеются в один буфер по смещению тоже
Аноним 11/01/23 Срд 02:06:00 2569773 1583
>>2569755
Есть же вмякие куе декуе, которые при попе удаляют.
Аноним 11/01/23 Срд 02:12:52 2569774 1584
На С++ было так просто и весело писать пока я не узнал про управление памятью и UB(((
Аноним 11/01/23 Срд 02:15:19 2569776 1585
>>2569774
Какая лаба понравилась больше всего? По циклам? По массивам?
Аноним 11/01/23 Срд 04:08:20 2569795 1586
>>2569776
По фундаментальным типам.
Аноним 11/01/23 Срд 08:56:52 2569835 1587
>>2569224
если писать совсем упрощенно, то ты используешь субд в которой реализован ACID
но есть и другие системы надежной обработки транзакций, если не важен вендорлок, то они есть и в ядрах современных ос
самому тебе не написать, если у тебя нет в запасе лет 20ти
Аноним 11/01/23 Срд 11:28:10 2569932 1588
>>2569755
нахуя?
Вектор это указатель + 2 числа. 16 байт сэкономить хочешь?
Аноним 11/01/23 Срд 11:28:44 2569933 1589
>>2569624
mmap и дрочи как хочешь
Аноним 11/01/23 Срд 13:23:48 2570091 1590
>>2569835
Сам писать я не хочу, главное результат
Аноним 11/01/23 Срд 13:35:57 2570108 1591
Короче я решил, что мне сейчас проще всего будет организовать запасной источник питания, в случае если основное электричество отрубят. Потом просто все данные как обычно записать на диск, да выключить машину. Думаю, мне для моих целей хватит
Аноним 11/01/23 Срд 13:36:06 2570109 1592
>>2569932
Нюфаг плиз. Это может юыть вектор не интов, а йоб.
Аноним 11/01/23 Срд 13:40:06 2570120 1593
>>2570109
И в чем будет отличие от того, что он написал?
Аноним 11/01/23 Срд 13:44:03 2570134 1594
image.png 12Кб, 525x232
525x232
>>2570109
от нюфага слышу
какая разница че там в векторе если указателю пох на что указывать
Аноним 11/01/23 Срд 13:45:33 2570136 1595
>>2570109
> Я УЖЕ ЛАБА2 НАПИСАЛ Я НАШАРЮ НЮФАНЬ ЧО УЖ ТЫ ТАК ХАХА ЛОШОК
Аноним 11/01/23 Срд 15:01:25 2570240 1596
>>2570109
Плюсы 2023 итоги
пиздец, в тематике наверное только растотреде более раковый
Аноним 11/01/23 Срд 15:51:09 2570320 1597
>>2569932
Апи либы принимал и наполнял вектор, а в программе везде результат передавался как указатель (и делитался после использования), а тк вектор большой, то копировать не хотелось, а памятью владеть хотелось.

Забил и переписал, чтобы передавался вектор
Аноним 11/01/23 Срд 19:59:54 2570690 1598
Почему знаковое переполнение UB? Это же пиздец полный, не? Крайне вероятная штука
Аноним 11/01/23 Срд 20:05:16 2570698 1599
>>2570690
Из-за зоопарка архитектур, где после максимального значения не следует минимальное.
Аноним 11/01/23 Срд 20:26:09 2570732 1600
"Обращение к неинициализированной переменной - UB". Это верно даже если я написал
int a;
a = 3;
или
int b;
cin >>b
?
Аноним 11/01/23 Срд 20:27:22 2570735 1601
>>2570732
Неудачная формулировка. Чтение неинициализипованной переменной - UB.
Аноним 11/01/23 Срд 20:28:31 2570738 1602
Аноним 11/01/23 Срд 23:07:00 2571001 1603
Посоветуйте хороший курс по С++ для продвинутых, хотел пояса от яндекса проходить, но их выпилили с курсеры.
Опционально еще бы что-нибудь про паттерны и всякие примеры как нужно писать, а как не стоит, но с учетом С++ специфики.
Аноним 11/01/23 Срд 23:15:03 2571012 1604
>>2571001
Константин Владимиров на Ютубе.
Аноним 11/01/23 Срд 23:16:47 2571016 1605
Аноним 11/01/23 Срд 23:29:59 2571026 1606
>>2571012
Вот этот уебок больше выебывается, чем пытается объяснить. В итоге приходится самому все гуглить.
Аноним 12/01/23 Чтв 04:21:33 2571136 1607
>>2570732
>cin >>b
есть ли способ проверить пришло ли что-то и записалось ли в переменную? Может я ctrl+d нажал?
Аноним 12/01/23 Чтв 04:46:53 2571140 1608
Аноним 12/01/23 Чтв 06:28:13 2571149 1609
>>2570108
>проще всего будет организовать запасной источник питания, в случае если основное электричество отрубят.
Правильно решил - иди выбирай и закупай источники питания, тыж программист!
Аноним 12/01/23 Чтв 09:33:49 2571215 1610
Аноним 12/01/23 Чтв 10:26:06 2571246 1611
>>2571001
На степике от csc очень сжато, но по верхам пройтись пойдет
Аноним 12/01/23 Чтв 12:21:30 2571325 1612
>>2568741
>СФМЛ - это не только графика, но еще сеть, многопоточность, звук и ввод с клавомыши.
В SDL Это тоже есть, чел, не поверишь!
Аноним 12/01/23 Чтв 12:23:49 2571327 1613
>>2567864
Сразу видно человек никогда в реверс инжиниринге не гулял, старый шиндоус софт не патчил
Аноним 12/01/23 Чтв 12:28:21 2571331 1614
Аноним 12/01/23 Чтв 14:19:39 2571485 1615
>>2571325
Сдл он >>2568447 тоже противопоставляет опенглу.
Аноним 13/01/23 Птн 06:43:58 2572073 1616
Ребята.
Есть тема чем тралить лалак.
Напиши бэкенд на Boost.Beast и убедись чтобы работало с epoll/
Аноним 13/01/23 Птн 14:52:51 2572439 1617
>>2560280
Буду репортить результаты в тред.
Пока-что сходил на один собес, прошел успешно, спрашивали будто на стажера-джуна, ни одного сложного вопроса не было. Немного завалился на тех вещах которые не использую эксепшены и метапрога, но в целом фидбек очень положительный.
Предложили 3к на руки.
Впереди еще пара собесов, хочу попробовать выбить 3500
Аноним 13/01/23 Птн 15:14:57 2572480 1618
>>2572439
Примерно вопросы вспомнить можешь?

мимо вкатун 3курсник, тоже хочу уже начать вкатываться помаленьку
Аноним 13/01/23 Птн 15:39:22 2572496 1619
>>2572480
Да хуйня какая-то джуновая. Написали пустой класс попросили дописать какие функции сгенерит компилятор. Потом попросили дописать какие из них будут noexcept, собеседующий сам подумал что копи конструктор будет не ноэксцепт но я ему статик ассерт вьебал и он согласился.
Спросили какую-то шаблонную дрочь, я ответил неправильно т.к не пользуюсь таким, вопрос точно не помню, чет про универсальные ссылки и реализацию std::ref
Потом спросили какие бывают мьютексы в стдлибе, сложность вставки в мапу и хешмапу, немного про рвалуе/лвалуе семантику
Потом вроде бы пару вопросов по Qt - на какой-то простой ответил, на посложнее нет т.к не юзал его 2 года
Больше не вспомню. В целом я на джуна в текущей компании собесился гораздо сложнее, ебали 3 часа мозг всеми аспектами языка и дали самый низкий грейд с зп 1к$, хотя ответил тогда даже лучше чем на этом собесе.
На самом деле обидно немного что за такие собесы так платят, может фирма с подвохом, хуй знает
Аноним 13/01/23 Птн 20:03:29 2572835 1620
videoplayback.mp4 9540Кб, 294x240, 00:03:53
294x240
>>2572439
>Предложили 3к на руки.
>Впереди еще пара собесов, хочу попробовать выбить 3500
Я бы на эти пиццот разницы попытался выбить бы себе всяких либеральных привелегий. Но если ты Die Roboter, то и хуй с тобой. Die fucking robot!
Аноним 13/01/23 Птн 22:55:28 2573079 1621
надеюсь переката не будет и тред здохнет нахуй
Аноним 14/01/23 Суб 00:39:02 2573182 1622
изображение.png 153Кб, 355x236
355x236
>>2572496
> пустой класс попросили дописать какие функции сгенерит компилятор
> какие из них будут noexcept
> универсальные ссылки и реализацию std::ref
> какие бывают мьютексы
> сложность вставки в мапу и хешмапу
> немного про рвалуе/лвалуе семантику
Серьезно? Где мои 3к?
Аноним 14/01/23 Суб 01:19:48 2573214 1623
Чет почитал статью на хабре - дайджест о С++23 и событиях за год.

Помоему плюсы умирают.
Нет, они не умирают вот здесь и сейчас и не умрут через 10 лет и мб 20.

Но какое-то загнивание.
STL и даже кейворды стали похожи на костылища и выглядят как пиздос рода new_keyword_what_must_do_better_but_do_worse()
UB фиксятся не анальной стандартизацией, а добавлением новых фичь, без удаления старых.

Нахуя это все? Что это даст?

Че они так пекуться о ABI? Кто то на серьезных щах будет переносить многомиллионнострочный проект с одного стандарта на другой?

Все вот эти шутки, про не возможность выучить плюсы, это на самом деле нихуя не смешно же.
Инструментом надо пользоваться, а не учиться набивать шишки пол жизни.
Аноним 14/01/23 Суб 01:48:15 2573227 1624
>>2573214
> плюсы умирают
> появились концепты, ренжи, модули, корутины
Охуенно умирают.
> STL и даже кейворды стали похожи на костылища и выглядят как пиздос рода new_keyword_what_must_do_better_but_do_worse()
auto используй
> UB фиксятся
Зачем UB "фиксить"? Ты точно крестовик или просто не понимаешь сути UB?
Аноним 14/01/23 Суб 02:12:01 2573236 1625
А можно в плюсах сделать класс, который будет после компиляции выглядеть полностью также, как и примитив?

Хочу использовать типизацию, чтобы не допустить путаницы с примитивными типами данных (ака метры и килограмы, или x координата и y координата).

При этом использование в коде дергается крайне часто, поэтому любой оверхед не подойдет
Аноним 14/01/23 Суб 02:15:16 2573237 1626
>>2569933
Вот это помогло. Спасибо!
Аноним 14/01/23 Суб 03:56:14 2573272 1627
>>2573236
в chrono так сделаны единицы для часов/минут/микросекунд и т.д.
Аноним 14/01/23 Суб 04:58:18 2573280 1628
Ololo, der C-Pluse-Pluse ye pre-olde thraede, and comrades still don't give a shit...
About std::shit_ptr
About std::absolutely_void
About std::ai_love_love
Аноним 14/01/23 Суб 10:08:30 2573386 1629
>>2573227
> Охуенно умирают.
Это вообще не аргумент. Есть такое выражение - пир во время чумы.

>auto используй
Ну охуеть, особенно когда я в объявлении поля класса должен написать, что то вроде
static inline constexpr

>Зачем UB "фиксить"?
Нехуевая часть UB это по факту implementation defined хуйня.
Вполне можно было бы анально загасить все это, заставив в таких ситуация ЯВНО указывать платформу например, особенно при учете того, что прагмы уже давно существуют.
Много писать? Никого никогда не смущала насрать три листа вложенной макропидерастии для разруливания платформозависемой хуйни. А тут хочешь сказать застремает?

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

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

Я вот с позиции лоу-скилл практикующего говорю, а именно на таких должен быть нацелен любой человеческий инструмент, разве что ты не маня из мира с несрущими принцессами.
Аноним 14/01/23 Суб 10:30:46 2573397 1630
>>2573386
Чувак, у тебя одна ошибка логическая - плюсы язык не для людей, а для программистов. Всё. Когда ты это поймёшь, все вопросы отпадают.
Они как саперная лопата - жестокие, брутальные, но универсальные и всем подходящие
А до, людей сейчас развивают другие языки - managed в основном. Хотя у раста есть потуги в юзабельность, но это потихоньку выходит из под контроля
Аноним 14/01/23 Суб 11:32:57 2573421 1631
>>2573397
В твоих словах - самодовольство и бахвальство, а по факту, потом появляются вот такие статьи
https://habr.com/ru/post/497114/
Аноним 14/01/23 Суб 12:49:53 2573479 1632
>>2503304
>>2503113
Работаю без образования на плюсах и сях, проект новый, писался мной с нуля. кодить особо некому, сейчас приходится вообще любых воннаби-кодеров со школ, универов, канав и притонов брать, и хорошо, если у кого-то есть опыт хотя бы шарпа, иногда пытаешься джава-скриптера с месячным опытом кодинга переучить, а он не осиливает
Аноним 14/01/23 Суб 12:54:27 2573489 1633
>>2503113
а, ну собственно используется во всех микроконтроллерах, системах ерального времени, автоматизациях производства, короче везде, что связано с реальностью и обеспечением средств существования человечества, а не миром поней и радуг
Аноним 14/01/23 Суб 13:24:39 2573513 1634
>>2573489
В мк и RT сейчас набирает обороты раст лобби.

Т.к. мк и рт это в первую очередь про не наебывается, а не про скорость. А там где нужна супер скорость просто воткнут плисину или мк помощнее.
Аноним 14/01/23 Суб 14:35:29 2573590 1635
>>2573421
Пчел, может я невнятно написал - но это нихуя не плюс есчё. То что я написал - факт. Хуёвый и бесчеловечный. Если твоя предметка предполагает скорость, общение с сишными либами, системку etc - ты БУДЕШЬ юзать плюсы

И это проклятье
Аноним 14/01/23 Суб 19:12:07 2573939 1636
>>2573590
в чём проклятье-то, плюсы охуенные, если не хуйню писать, а головой думать чё пишешь
Аноним 14/01/23 Суб 20:27:46 2574001 1637
>>2573939
Всё 22 или сколько типа инициализации в голове держишь, уеба?
Хуею с таких как ты блять. Ладно бы ты поо мощность написал, я бы ещё понял.
> головой думать
Ну да, мыж блять не задачи собрались решать, а код писать. Точно, забыл
Аноним 14/01/23 Суб 21:02:10 2574039 1638
>>2573939
в том, что ты напишешь хуйню и не подумаешь головой.
Аноним 15/01/23 Вск 13:24:36 2574503 1639
>>2574001
>Всё 22 или сколько типа инициализации в голове держишь, уеба?
0
Вспоминаю 1 на время, пока его пишу
>Ну да, мыж блять не задачи собрались решать, а код писать.
А, ну если ты из секты макак, то решай, соединяя свои миллиарды фреймворков изолентой, а я изначально код собирался писать, чем и занимаюсь
Аноним 15/01/23 Вск 14:01:06 2574545 1640
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов