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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1474 161 254
C++ thread #146 /cpp/ Аноним 21/01/24 Вск 13:10:11 3012308 1
image.png 1185Кб, 1280x720
1280x720
21/01/24 Вск 13:48:01 3012358 2
>>3012308 (OP)
Долбоëб, где ты 1000 постов в треде увидел, чтобы перекатывать? Репорт,
Аноним 21/01/24 Вск 13:48:51 3012360 3
Аноним 21/01/24 Вск 17:28:50 3012601 4
>>3012308 (OP)
... стот ли... к вам вкатываться... ?
зачем нужны указатели ? а указатели на указаители *? Если в методе класса выделяю на объект память я должен освободить память в этом же методе/классе или могу осободить ее из любого места программы? Если из любого, то все переменные что ли глобальные или вы где-то гетаете объект и удаляете его по ссылке/указателю?

это же все безумие, объяснитесь.
Аноним 21/01/24 Вск 18:01:11 3012643 5
>>3012601
> зачем нужны указатели
Чтобы указывать на кусок памяти
> а указатели на указаители *?
Чтобы указывать на кусок памяти в котором лежат другие указатели
> Если в методе класса выделяю на объект память я должен освободить память в этом же методе/классе или могу осободить ее из любого места программы?
Конечно можешь в любом месте
> Если из любого, то все переменные что ли глобальные или вы где-то гетаете объект и удаляете его по ссылке/указателю?
Память может выделятся на куче, она может быть доступна глобальна

Почитай про стак и кучу, тогда более менее понятнее станет что происходит
Ну а про поинтеры, они просто в других языках программирования спрятаны от тебя, но также есть
Аноним 21/01/24 Вск 18:38:57 3012718 6
>>3012643
>росто в других языках программирования спрятаны от тебя
1)Я правильно тебя понял, ссылка на объект в джаве это же просто указатель ⚹?
2)Сам указатель занимает тоже место в памяти и мы можем как бы указать на ссылку ссылкой через ⚹⚹?
3)Разыменование указателя ⚹ через & это же просто получение значения по указателю(оно же ссылка в других языках типа джава)?
4)А что мы получаем при разыменовании указателя на указатель ⚹⚹, просто указатель ⚹, или мы не можем из ⚹⚹р получить что-то через &р?
21/01/24 Вск 19:02:36 3012765 7
>>3012308 (OP)
ты зачем, чертило, до бамплимита тред пересоздал? тебя кто просил? кто твой старший вообще, че это за хуета
Аноним 21/01/24 Вск 19:08:48 3012783 8
>>3012765
Спокуху оформи, хуесос.
Аноним 21/01/24 Вск 19:13:33 3012793 9
>>3012718
>А что мы получаем при разыменовании указателя на указатель ⚹⚹
Значение указателя на которую указыавет указатель.
>или мы не можем из ⚹⚹р получить что-то через &р?
Ничего не понятно. &p вернет тебе адрес указателя на указатель.
Moonlover 21/01/24 Вск 19:17:35 3012795 10
А нахуя нужен С++ тред? Плюсовики чувствуют себя каа дома в любом треде?

Круче плюсовика только плюсовик, который пишет ещё на нескольких языках и отменно знает пару-другую ассемблеров.
Аноним 21/01/24 Вск 19:20:47 3012797 11
>>3012795
>Плюсовики чувствуют себя каа дома в любом треде?
Веб-макаки мне не соседи.
Аноним 21/01/24 Вск 19:53:28 3012814 12
>>3012795
Чтобы отбивать желание писать на нем у новичков
Аноним 21/01/24 Вск 20:00:05 3012816 13
>>3012601
> ... стот ли... к вам вкатываться... ?
Тебе нет
> зачем нужны указатели ?
Чтобы иметь возможность работать с переменными.
> а указатели на указаители *?
Просто второй уровень косвенности
>Если в методе класса выделяю на объект память я должен освободить память в этом же методе/классе или могу осободить ее из любого места программы?
Кому должен? Ты можешь её освободить в любом месте, ты можешь её не освобождать, можешь освободить до инициализации, ты можешь даже освободить память одного объекта делая вид что там находится другой.
>Если из любого, то все переменные что ли глобальные или вы где-то гетаете объект и удаляете его по ссылке/указателю?
Так или иначе вся память твоего приложения глобальная, но области видимости есть.
> это же все безумие, объяснитесь.
Хаос прежде всего в голове.
В твоей же чистое поле флуктуаций. Вообще удивительно что ты можешь членораздельно общаться. Хотя письменность у тебя хромает.
Аноним 21/01/24 Вск 20:04:43 3012818 14
>>3012797
Пески времени уже замели следы истерики зазнавшегсоя плюсовичка, когда его опускал Луговский на sql.ru

C++ — довольно таки примитивное, но монстровое поделие, полное исторически сложившихся нелепых нагромождений. Человек, который хорошо в нем ориентируется — это хорошее зубрилко, а не хороший программист. Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современном мире ценится разве что только среди прыщавых сосок. Работодатель же это сомнительное умение не ценит, и совершенно справедливо.

В общем, так: хороший программист обязан знать Си. Хороший программист может знать C++, но это не обязательно уже. Главное, чтоб C и C++ не были единственными доступными программисту инструментами — иначе это адски паршивый программист.
Аноним 21/01/24 Вск 20:07:06 3012820 15
>>3012818
Все так
Было раньше, до с++11
Современные стандарты оч много принесли.
Аноним 22/01/24 Пнд 00:27:04 3013138 16
VID202401212102[...].mp4 4074Кб, 642x526, 00:00:25
642x526
Есть график на C++, который рисует точки и соединяет эти точки вертикальными линиями с точкой которая имеет точно такую же координату по оси X и самый низ экрана по координате Y.
Координаты точек находятся по формулам:
vectorPixelX = round(vectorUnitXscaleX - offsetXscaleX);
vectorPixelY = round(vectorUnitYscaleY - offsetYscaleY);

vectorUnitX, vectorUnitY - вектора реальных значений

vectorPixelX, vectorPixelY - вектора значений в пикселях.

scaleX, scaleY - масштабы по осям

offsetX, offsetY - отступ окна от начала координат в реальных единицах.

Проблема в том что точка не может быть между пикселями, поэтому при масштабировании увеличивается количество пикселей между точек, но увеличивается оно для каждой пары по разному. Из за этого появляются пробелы различной ширины. При маленьком масштабе, когда почти весь спектр черный и без пробелов, видно что почти нет пробелов, потому что масштаб соответствует расстоянию между точками и каждый следующий пиксель изображения закрашен, когда мы начинаем увеличивать масштаб расстояние между точками растёт и мы начинаем видеть больше пробелов. Так как я хочу видеть спектр полностью черным при любых значениях масштаба, я хочу закрашивать эти пробелы. Так же я не хочу обходить массив пол элементно и искать пары чьи дельты пиксельных значений больше либо равны 1 пикселю. Забыл сказать, значения в векторе X идут с определенным шагом, допустим, 23, 46, 69... Зная масштаб и шаг значений в векторе X можно вычислить ошибку шаг ошибки, то через сколько пикселей, появится следующий разрыв. Но вот как вычислить координату самого первого разрыва я не знаю, поэтому пишу сюда. Было бы очень классно если бы я знал, координату самого первого разрыва и зная шаг с которым идут разрывы, бы просто добавил в отрисовку точек, которые бы закрыли разрывы.
Аноним 22/01/24 Пнд 00:39:01 3013152 17
>>3013138
Ты уже сколько лет пишешь эти графики?
Аноним 22/01/24 Пнд 00:57:08 3013171 18
>>3012820
... и очень много унесли
Софт, который писался со стандартами c++11 сложно скомпилить под c++17, например, ибо даже throw вынесли нахуй
Аноним 22/01/24 Пнд 01:42:25 3013206 19
>>3013171
Ну и чтож там такое с throw сломали?
Я из Qt, у нас не принято throw
Аноним 22/01/24 Пнд 01:44:41 3013207 20
>>3013206
Тупо депрекейтнули, сказали, что нахуй не нужно
Я если что хотел собрать ogre-next с последним стандартом, в итоге меня компилятор нахуй послал
возможно, мне лучше стоило бы в /gd/ уйти
Аноним 22/01/24 Пнд 01:44:42 3013208 21
>>3013138
Увеличивай толщину линий при зуме.
Аноним 22/01/24 Пнд 01:45:39 3013209 22
>>3013207
А блять, ты про спецификацию выбрасываемых исключений?
Ну так она изначально была идеей говна, ведь ничего не гарантировала.
Аноним 22/01/24 Пнд 01:50:15 3013213 23
>>3013209
Ну, оно вроде как работает
Аноним 22/01/24 Пнд 02:26:45 3013243 24
>>3013152
Два года

>>3013208
Тогда самая правя линия будет выходить за пределы той точки которой она принадлежит
sage Аноним 22/01/24 Пнд 04:48:37 3013295 25
не пишите в запомоеном треде
у опа грязный рот
Аноним 22/01/24 Пнд 07:14:15 3013313 26
>>3013207
>Тупо депрекейтнули, сказали, что нахуй не нужно
>Я если что хотел собрать ogre-next с последним стандартом, в итоге меня компилятор нахуй послал
Разрабам было лень обработать сырцы парой регулярок, чтобы привести к новому стандарту? Нахуй такой движок тогда.
22/01/24 Пнд 07:15:54 3013314 27
170259925715758[...].webp 23Кб, 535x508
535x508
Сажу забыл (
Аноним 22/01/24 Пнд 09:11:31 3013361 28
>>3013243
Ну и напиши для самой правой отдельный кейс.
Аноним 22/01/24 Пнд 10:37:27 3013444 29
>>3013361
Я разрабатываю алгоритм собственной растеризации на CPU и моя цель как можо меньше процессорного времени потреблять, если я буду рисовать лишние пиксели у каждой линии, то смысла тогда не будет. Моя цель состоит в том что бы найти самый первый разрыв, добавить туда точку, сделать шаг равный шагу между разрывами, добавить туда точку и повторять это пока до тех пор пока не заполню все разрывы в массиве точек.
Аноним 22/01/24 Пнд 11:10:10 3013489 30
>>3013444
Раздели ширину области отрисовки на количество полос. Если получилась ширина > 1, то у тебя есть разрывы. Далее уж надо думать в зависимости от того как ты что рисуешь. Если слева направо, то:
Округляем ширину линии вниз до целого
Складываем остатки от каждой линии, как только остатки > 1, то ширина этой линии должна быть +1.
Но это какая то хуйня. Не очень понятно что ты решаешь и зачем это делать руками, когда есть готовые решения.
Аноним 22/01/24 Пнд 11:32:05 3013524 31
>>3013489
Готовые решения не дают то что мне надо + жрут много процессорного времени
Аноним 22/01/24 Пнд 11:40:14 3013540 32
>>3013524
А куда оно тебе нужно такое производительное?
Аноним 22/01/24 Пнд 11:46:30 3013549 33
Аноним 22/01/24 Пнд 13:11:47 3013656 34
>>3013549
А какая задача?
Ты пишешь свое потому что уже упёрся в производительность?
Аноним 22/01/24 Пнд 13:15:36 3013668 35
>>3013656
Да, упёрся. Задача быстро отрисовывать спектр сигнала
Аноним 22/01/24 Пнд 13:17:51 3013677 36
image.png 96Кб, 2605x1472
2605x1472
Мне хочется сделать так что разрыв заполнялся как на картинке.
Разрыв заполняется значением Y точки x - 1. То есть линия рисуемая на месте разрыва должна быть высотой с предыдущую.
Аноним 22/01/24 Пнд 13:19:03 3013684 37
>>3013677
> Мне хочется сделать так что разрыв заполнялся как на картинке.
> Разрыв заполняется значением Y точки x - 1. То есть линия рисуемая на месте разрыва должна быть высотой с предыдущую.
Ну я тебе вроде такой алгоритм и написал выше.
А красные линии это что?
Аноним 22/01/24 Пнд 13:19:27 3013685 38
image.png 104Кб, 2603x1631
2603x1631
Если взять обратное число от масштаба по оси X и вычесть шаг значений в векторе X, получим ошибку на каждый пиксель изображения.

float delta = (1.0/scaleX) - stepVectorUnitX;

Если патом разделить шаг в векторе Х на на ошибку получим количество пикселей между разрывами.

float countPixel = stepVectorUnitX/delta;

1.0/scaleX: 23.2558
stepVectorUnitX: 23.4375
detla: -0.181687
countPixel: -128.999

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

Как видите на картинке получилось 129 пикселей, что соответсвует округлённому значению countPixel
Аноним 22/01/24 Пнд 13:19:52 3013686 39
>>3013684
На картинке: слева от красной линии представлен вариант когда предыдущая линия меньше чем линия после разрыва, справа больше
Аноним 22/01/24 Пнд 13:37:02 3013721 40
>>3013685
Не надо тебе ничего искать. Как только у тебя ошибка(дельта) накапливается больше единицы - рисуешь линию толще на пиксель и единицу вычитаешь.
Аноним 22/01/24 Пнд 13:49:30 3013735 41
image.png 38Кб, 1553x481
1553x481
image.png 11Кб, 898x195
898x195
>>3013721
Задумка была такая.
Ищем самый левую точку которая попадает в окно просмотра, и самую правую точку которая попадает в окно просмотра. Как на первой картинке.
Производим преобразование координат с startIndex по
endIndex, как на второй картинке.
Получаем вектор точек в пиксельном пространстве. В этом векторе есть разрывы которые я хотел бы заполнять по вот так
>>3013677
То есть добавлять точку с Y равную значению Y у точки X - 1.
Да можно просто следить за ошибкой, и когда ошибка станет >= 1 добавлять точку. Но тогда в цикле придётся писать if(error >= 1). А я хочу написать алгоритм с минимальным количеством if'ов в цикле
Аноним 22/01/24 Пнд 13:50:40 3013737 42
>>3013735
Только я во второй картинке не то сфоткал, там vectorUnitX и vectorPixelX должны быть
Аноним 22/01/24 Пнд 13:51:22 3013738 43
image.png 12Кб, 869x207
869x207
Аноним 22/01/24 Пнд 14:22:23 3013789 44
>>3013735
Твой код можно поковырять?
Аноним 22/01/24 Пнд 14:39:37 3013807 45
>>3013789
Там ничего пока особо нет, вся идея пока в голове, вот застопорился на поиске начала разрыва. Могу скинуть код виджета где всё отрисовывается
https://pastebin.com/drVt6NFt
Аноним 22/01/24 Пнд 14:41:25 3013809 46
>>3013807
P.S. paintEvent забыл

void Spectrum::paintEvent(QPaintEvent* event)
{
QPainter painter;
painter.begin(this);
painter.translate(0, height() - 1);
painter.scale(1, -1);
painter.setPen(QPen(Qt::black, 1));

for(int i = 0; i < vectorPixelY.size(); i++)
{
painter.drawLine(vectorPixelX, 0, vectorPixelX, vectorPixelY);
}

painter.end();
}
Аноним 22/01/24 Пнд 14:43:57 3013812 47
>>3013807
Вечером попробую что нить сделать
Аноним 22/01/24 Пнд 18:41:10 3014260 48
windisp.gif 3Кб, 474x258
474x258
Обожаю виндоус еще с тех пор как в детстве на витрине увидел компы с 95 и загадочным ярлыком "Мой компьютер". А теперь сам могу делать окошки, какой же кайф. Линукс маст дай.
Аноним 22/01/24 Пнд 19:30:24 3014338 49
>>3012308 (OP)
Захотелось освоить какой-нибудь хардкорный низкоуровневый язык, знакомый одолжил книжку по C Стивена Прата.
Есть опыт в программировании, есть опыт в си (в вузе 2 семестра изучал, но нихуя не помню кроме указателей на указатели)
Вопрос: насколько сложно будет перейти на с++, при желании? Насколько они отличаются? Есть ли смысл в си? Мой выбор обусловлен только наличием няшной бумажной книжечки.
Аноним 22/01/24 Пнд 20:08:18 3014379 50
>>3014260
Ахуеть, микролахта
Аноним 22/01/24 Пнд 20:45:32 3014430 51
>>3014338
Скорее всего ты не найдешь работу будучи чисто сишником, для меня это важнейший фактор выбора плюсов
Аноним 22/01/24 Пнд 22:29:00 3014667 52
Использовать intX_t или забить хуй и просто int? Вервое вроде делает более самодокументированный код.
Аноним 22/01/24 Пнд 23:16:46 3014724 53
>>3014667
Если не лень - используй. Чаще будешь думать о том, а нужен ли тебе тут инт вообще и влезет ли в него.
Аноним 22/01/24 Пнд 23:27:56 3014732 54
>>3013313
>Разрабам было лень обработать сырцы парой регулярок, чтобы привести к новому стандарту? Нахуй такой движок тогда.
Ну тыг графических опен сурсных графических движков с гулькин хуй, а огр со старым стандартом единственный более менее работающий без всяких изъёбов (про bgfx шарю, но он тупо _mem у меня в нулину ебашит при загрузке шейдера), потому придётся страдать
Аноним 22/01/24 Пнд 23:30:58 3014736 55
>>3014732
Так падажжи, ну депрекейтнули, так ничего не должно же ломаться?
Аноним 23/01/24 Втр 00:13:07 3014799 56
>>3014736
Ну, у меня bgfx тупо не может свои же примеры для демонстрации запустить нормально, лол
Может это проблема из-за невидии, не ебу, может я как-то не правильно собираю (но при этом оно вообще собирается)
Аноним 23/01/24 Втр 00:23:50 3014820 57
>>3014732
Ой бля, не при загрузке, а при создании
Аноним 23/01/24 Втр 14:21:51 3015505 58
size_t/int/unsigned? Что выбираете для счетчиков контейнеров?
Аноним 23/01/24 Втр 14:47:41 3015553 59
image.png 303Кб, 297x500
297x500
Была такая детская книжка, сказка, которая чуть менее, чем полностью, состояла из восточной философии.

Собственно, если бы я искал к себе в проект программистов, то это были бы Си программисты, не осилившие и ненавидящие С++.

И они писали бы на С++ и полюбили бы его.

Звучит как бред? А дело в том, что С++ мультипарадигменный язык. На нём можно писать и как на языке очень высоких абстракций, так и опуститься на уровень железа. Поэтому сишные программисты писали бы на С++ в той парадигме, которую требует проект. И писали бы они без костылей, но и без велосипедов.
Аноним 23/01/24 Втр 15:33:02 3015643 60
>>3015505
Уже давно выбрано за тебя size_t
Аноним 23/01/24 Втр 18:29:36 3015932 61
Блять меня уже трясет решать линуксопроблемы. Ничего никогда и нихуя не работает, ну просто с одной мины на другую
Аноним 23/01/24 Втр 18:40:37 3015937 62
>>3015932
Это не совсем так, если быть точным.
23/01/24 Втр 19:55:07 3015994 63
>>3012795
>А нахуя нужен С++ тред?
Залетные чертилы выясняют для чего нужен указатель на указатель. Местные омеганы радостно отвечают.
Аноним 23/01/24 Втр 20:00:44 3016003 64
Ну и для чего нужен указатель на указатель?
23/01/24 Втр 20:06:32 3016008 65
>>3012797
>Веб-макаки мне не соседи.
По крайней мере они не являются твоими прямыми конкурентами, отбирающими у тебя краюху хлеба. В отличие от "коллег" и вкатывающихся в этом итт треде, между прочим, которые и являются твоими прямыми конкурентами за место под солнцем.
23/01/24 Втр 20:18:07 3016016 66
>>3012814
Одно из важнейших преимуществ с++ перед си. Хотя и на си можно хуярить кодогенерацию на макросах, к примеру. Что довольно полезно, тк ухудшает читательность кода, делает невозможным инструментальную отладку и прочее, что очень хорошо откидывает голодных конкурентов. Ну или эмулировать ооп, хуяря собственные vtable например. Ну или делать собственную компонентную модель на структурах с указателями на фии и pinvoke. Ну или хуярить недо-adt на войд звездочка.
Но с++ все равно нет равных в софтварной обфускации. Это очень хорошо. Потому что вкатуны не нужны, они должны сдохнуть на вахте, сдохнуть в окопе на бомбасе, сдохнуть от передоза в бабкиной хате своего мухосранска. А не пытаться вкатиться в индустрию. С++ тоже в конечном итоге должен сдохнуть. Стать эзотерическим языком для развлечения богатеньких челов.
23/01/24 Втр 20:22:45 3016020 67
>>3013138
Вот такие хуесосы и сидят годами в оборонке на гос зарплате. Годами неспособные открыть ебаный учебник чтобы увидеть нужные формулы, изобретая свою какую то хуету, и более того спрашивая "как зделоть" на рандомном форуме.
23/01/24 Втр 20:27:34 3016027 68
>>3014338
>Стивена Прата
что сказать
ты сделал первый маленький шажок и уже наступил на кучу коровьего навоза
возможно тебе не стоит начинать заниматься программированием а продолжить мести улицы или грузить палетты в пятерочке или чем ты там занимаешься
23/01/24 Втр 20:31:09 3016036 69
>>3016003
для того чтобы возвращать указатель из функции
это материал первого полугодия первого года любого вуза где учат на программистов
Аноним 23/01/24 Втр 20:39:48 3016044 70
>>3016016
И заменят кресты чистые си, ибо самые стабильные по стандарту...
Аноним 23/01/24 Втр 20:43:08 3016049 71
Кто этого шиза сюда впустил? Съебоса оформи, чертила
Аноним 23/01/24 Втр 20:45:05 3016051 72
23/01/24 Втр 20:58:53 3016055 73
>>3016049
За это стоит поблагодарить опхуя, перекатившего до 1000 постов.
23/01/24 Втр 21:05:49 3016059 74
>>3016049
я здеся с 2007 года в отличие от залетухи опа
Аноним 23/01/24 Втр 21:10:19 3016063 75
Аноним 23/01/24 Втр 22:34:38 3016191 76
>>3016020
И в каком же разделе математике я могу найти нужную мне формулу?
Аноним 24/01/24 Срд 00:00:42 3016380 77
>>3013807
Дохуя чего не хватает
Аноним 24/01/24 Срд 00:34:45 3016406 78
>>3013807
В общем я глянул, заставил это работать, и вот что могу сказать:
1) интерфейс твоей хуйни - кал. Какого хуя ты закладываешь то, что внутри рисовалки генеришь какие то вектора? О какой производительности здесь вообще речь?
Ты должен принимать по указателю\ссылке массив константного размера и из него читать значения.
2) Генерится непонятно что. Напиши сначала генератор нормальных данных.
3) Эту всю хуйню если ты действительно производительности хочешь нужно писать на OpenGL, а не внутри ПейнтИвента. Это вообще какая то кринж комедия.
https://github.com/alandefreitas/matplotplusplus
Короче щас выглядит будто ты не понимешь что ты делаешь зачем и почему.
Аноним 24/01/24 Срд 01:43:44 3016475 79
>>3016406
Я ему еще в прошлый раз пол года назад вроде примерно тоже сказал.
Аноним 24/01/24 Срд 02:37:06 3016493 80
>>3016406
лучше подумай о том что челик уже два года сидит-пердит в своем нии и получает за это зарплату
Аноним 24/01/24 Срд 02:41:39 3016495 81
>>3016191
тебе достаточно немного подумать, сделать правильный запрос в гугл и ты увидишь нужный мат аппарат на выборке на первой странице блядь
включая и необходимый алгоритм из вычмата
Аноним 24/01/24 Срд 09:37:25 3016615 82
VID202401240922[...].mp4 15980Кб, 1280x720, 00:00:47
1280x720
>>3016406
У меня есть нормальный спектр который на вход принимает fft и довольно быстро перерисовывает(быстрее чем готовые решения) изображение. Но код от него я не дам.
То что я тебе скинул это зародыш попытки заново переизобрести спектр. Что бы был ещё оптимизированней. У меня в голове есть наброски и во время реализации возникли трудности, в виде решения проблемы разрывов и несоответствия математической формулы линии брезенхема и алгоритму брезенхема без умножения. Ну если алгоритмом брезенхема можно пренебречь, и использовать DDA алгоритм и при этом я все не выйду за рамки намеченного пути. А вот если забить хуй и обходить массив поэлементно на поиск разрывов, то это уже будет далеко о того идеального спектра что я представлял. С OpeGL не всё так просто. Я брал обычный шейдер который отрисовывает точки и соединяет их линиями. Результаты были не очень впечатляющими, при количестве точек 1024, нагрузка на процессор при рендеринге на CPU была 26%, а на GPU - 16%. Это при 30 кадров в секунду. Да прирост есть, но я думал будет больше. Если писать сректр на OpenGL там тоже не плохо бы посидеть и придумать собственный шейдер.

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

У меня вроде бы там под вектор один раз память выделяется, и патом только перезаполняется, разве нет? Даже если не так, то опять это вообще даже не заготовка, так болванка
Аноним 24/01/24 Срд 09:54:32 3016644 83
>>3016615
Так а что природа разрывов, ты когда генеришь линию четко указываешь где ее пиксели, вместо того чтобы при отрисовке вычислять где она должна быть.
Аноним 24/01/24 Срд 09:58:12 3016653 84
>>3016644
Ну хорошо природа разрывов так то понятна, предсказание в каких пикселях они появятся меня интересует
Аноним 24/01/24 Срд 10:19:24 3016677 85
2024-01-24 10-1[...].mp4 4424Кб, 1280x720, 00:00:14
1280x720
Аноним 24/01/24 Срд 10:41:16 3016708 86
>>3016677
Понятно ты просто заполняешь квадрат, до ближайшей следующей точки. Но когда я найд решение поиска точек разрыва я буду делать, не так, я буду по получившимся точкам строить полигон, и в ручную массив изображения закрашивать нужным мне цветом, потому что как я понял Qt делает это очень медленно. Потому что разрыв на большом масштабе может быть больше одного пикселя, и тогда мне придётся ещё писать цикл для заполнения разрыва. А я хотел бы добавить точку в начале разрыва, патом все получившиеся точки соединить линией брезенхема, а патом все что ниже линии брезенхема заполнить нужным мне цветом
Аноним 24/01/24 Срд 10:49:21 3016728 87
>>3016708
Давай так:
У тебя есть линия с толщиной 1 в пикселе 0.
И линия с толщиной 1 в пикселе 2.
Как посчитать ширину разрыва и откуда он начнется?
Зачем тебе линии брезенхема при отрисовке вертикальных линий?
В куте для рисования есть классы по типу QGraphicsScene. И да, она в целом медленная. Она затачивалась под отрисовку окон, а не графиков в 30фпс.
Аноним 24/01/24 Срд 11:07:08 3016766 88
>>3016728
Я пока могу только сказать формулу ошибки которая накапливается с каждой отрисованной линией.
Если взять обратное число от масштаба по оси X и вычесть шаг значений в векторе X, получим ошибку на каждый пиксель изображения.

float error = (1.0/scaleX) - stepVectorUnitX;

Здесь мы берём обратное число от масштаба и узнаём сколько единиц у нас в одном пикселе. Вычитаем шаг значений в векторе X, получаем на сколько разнятся шаг значений в векторе X и сколько в одном пикселе единиц.

Если патом шаг значений в векторе X разделить на эту ошибку то получим расстояние между разрывами. Но как найти точку самого первого разрыва, что бы патом в цикле заполнить все разрывы, по формуле: первый разрыв + шаг между разрывами

Ну всё это я писал вот тут
>>3013685

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

>>3016615
Здесь на видео как раз таки сделана эта аппроксимация. Но минус спектра с видео в том что там всё средствами Qt рисуется и поэтому во первых это медленно, во вторых Qt не умеет рисовать линии нормально, там в конце или в начале линии лишние пиксели появляются. Я так понял там какой то корявый алгоритм DDA. В багрепортах Qt до сих пор лежит иссуя об этой проблеме, ещё не пофиксили.

Ещё один минус спектра из этого видео в том что что бы заполнить разрывы мне приходится обходить весь массив точек и смотреть

(vectorPixelX - vectorPixelX[i - 1]) > 1

Если больше то значит разрыв и надо заполнить пустоту.

И да рисование полигоном быстрее чем рисовать линии вертикальные как показала практика
Аноним 24/01/24 Срд 11:08:47 3016769 89
>>3016615
Выглядит, кста, как говно. Почему ты скейлишь график, а не диапазон визуализации? В любом аудио-редакторе никакие графики не скейлятся, блять.
Аноним 24/01/24 Срд 11:12:34 3016778 90
>>3016708
> Понятно ты просто заполняешь квадрат, до ближайшей следующей точки. Но когда я найд решение поиска точек разрыва я буду делать, не так, я буду по получившимся точкам строить полигон, и в ручную массив изображения закрашивать нужным мне цветом
Ну отрисуй линию тем же drawline, а область уменьши и залей любым цветом. Что в этом контексте значит делать в ручную и зачем?
> Потому что разрыв на большом масштабе может быть больше одного пикселя, и тогда мне придётся ещё писать цикл для заполнения разрыва.
Приди к тому, что у тебя не линии, а прямоугольники, с минимальной толщиной в 1 пиксель. И рисуй сразу прямоугольники, а не линии.
> А я хотел бы добавить точку в начале разрыва,
Мы говорим о двумерной плоскости, что здесь значит в начале разрыва? Линию?
> патом все получившиеся точки соединить линией брезенхема, а патом все что ниже линии брезенхема заполнить нужным мне цветом
Тут тоже не понял. Если ты хочешь рисовать линии от точки до точки - рисуй их сразу. Зачем тогда вертикальные от 0 до Y рисовать?
Все так же, рисуй сразу полигоны. За контур отвечает QPen, за заполнение QBrush.
А вообще идея собрать свой рендерер внутри рендерера(Qt сама отлично умеет рисовать объекты) очень странная.
Аноним 24/01/24 Срд 11:14:53 3016781 91
>>3016766
А с чего ты решил что проблема в отрисовщике кути, а не в твоих алгоритмах?
Построй флеймграф, оценить перф.
И если тебя уже не устраивает скорость работы, зачем ты опять Qt взял?
Аноним 24/01/24 Срд 11:15:43 3016782 92
image.png 143Кб, 427x320
427x320
О, брат вот ты где.
Не было ни единого разрыва, а теперь есть.
Ебать ты шиз конечно, ещё и семёнишь.

Оно было бы грустно, если бы не было так смешно.

Посты твои, к сожалению, как под копирку.
> куча конкретных терминов + салат из слов, описывающих дикие бессмысленные проблемы, возникающие при комбинации этих терминов + как будто бы вопрос аудитории

Ты пидарас. Слышишь? Ты пидараска, брат!

>>3016020
Какой, в жопу, НИИ? НИИ по хлебанию мамкиного борща на пенсию по шизе, если смог оформить. Брат хватает по верхам и не осиливает что-то сложнее основ. Когда сталкивается с концепциями посложнее, то отбрасывает их по надуманным предлогам. Оптимизатор существующих N log N решений мамкин блядь.

>>3016708
Нахуй ты это ищешь? Что ты думаешь патом лол с этим делать?

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

— Ну что сына, когда на работу-то устроишься?
— Мааам я делаю гениальные вещи просто никто не понимает, у меня проблема решается разрывов, вот решу разрывы и сразу сделаю максимально оптимизированный в целом не медленный алгоритм отрисовки
— Я ведь уже пожилая. Как ты себя будешь кормить?
— Кормить себя для быдла в продашкане! Я буду творить и бесплодно изобретать бесполезную хуйню, вместо того, чтобы заботиться о своем будущем и помочь тебе в старости. Ведь я умный и не быдло, а вы все пидараски меня не понимаете.

Тьфу бля на тебя, шиз. Реально запомоенный. Пей таблетки и пиздуй нахуй отсюда, долбаёб.
Аноним 24/01/24 Срд 11:17:35 3016785 93
>>3016766
> Также у меня там ещё будет аппроксимация, тоесть если несколько точек попадает в один пиксель, то рисовать я буду самую высокую из них.
А зачем? У тебя же изменение цвета идёт от высоты линии. То есть, оверлаппинг линий тебя вообще не пугает. И можно просто их рисовать в каком угодно порядке в один пиксель.
Аноним 24/01/24 Срд 11:18:49 3016787 94
>>3016782
Ты отметил посты минимум двух разных людей, шиз.
Аноним 24/01/24 Срд 11:38:16 3016808 95
Отличие линий.jpg 28Кб, 1280x764
1280x764
Отличие графиков.jpg 64Кб, 1280x959
1280x959
image.png 14Кб, 1671x1153
1671x1153
image.png 19Кб, 2088x1632
2088x1632
>>3016782
> Нахуй ты это ищешь? Что ты думаешь патом лол с этим делать?
А тебя это ебать не должно

>>3016785
> То есть, оверлаппинг линий тебя вообще не пугает.
Как раз таки пугает, на отрисовку ненужных линий тратится время.

Я помню свой спектр из этого поста >>3016615 до апроксимации и после, разница в нагрузке колоссальная

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

>И если тебя уже не устраивает скорость работы, зачем ты опять Qt взял?
Ну вот как раз таки собираюсь переехать с растеризации средствами Qt на собственную растеризацию спектра

Вообщем что бы думать над проблемой нахождения координаты самого первого разрыва вы мне предлагаете свои решения, которые ничем не лучше будут чем мой спектр >>3016615
Аноним 24/01/24 Срд 11:53:17 3016824 96
>>3016808
Насколько я помню, КуПейнтИвент перерисовывает всю область виджета.
Тогда вычисляй ошибку и дорисовывай линию, в чем проблема то?
Сделаю вечером через ошибку, но какая разница, визуально результат будет одинаковый.
Аноним 24/01/24 Срд 12:04:15 3016833 97
>>3016824
>Насколько я помню, КуПейнтИвент перерисовывает всю область виджета.
Ну перерисовывает, да.

>>3013735
>Да можно просто следить за ошибкой, и когда ошибка станет >= 1 добавлять точку. Но тогда в цикле придётся писать if(error >= 1). А я хочу написать алгоритм с минимальным количеством if'ов в цикле

В идеале вообще без if'ов в цикле.

Что бы следить за ошибкой надо начинать откуда то следить, а начинаться следить за ошибкой надо как раз так с момента первой ошибки, то есть с первого разрыва
Аноним 24/01/24 Срд 12:09:48 3016843 98
>>3016615
блять анон, какой же ты крутой ебать, это то что мне нужно, как сделать чтобы твои посты не проебланились? у тебя есть тг?
Аноним 24/01/24 Срд 12:42:15 3016883 99
>>3016843
Лучше на почту
dvy21@yandex.ru
Аноним 24/01/24 Срд 12:47:15 3016892 100
>>3016615
>Я брал обычный шейдер который отрисовывает точки и соединяет их линиями. Результаты были не очень впечатляющими
Еще бы они были впечатляющими. Тебе вообще все надо рисовать в фрагментном шейдере. Т.е. рисовать весь прямоугольник со спектром, и для каждого пикселя считать цвет точки.
Аноним 24/01/24 Срд 13:23:09 3016933 101
>>3016615
> С OpeGL не всё так просто
так возьми куду, это максимально нативный для неё процесс сравнивать рядом лежащие элементы массива и она запросто может выдать тебе разность соседей

что то я не понимаю?
Аноним 24/01/24 Срд 13:25:26 3016935 102
>>3016933
У него железка без карточки зелёных
Этот софт планируется под распберри, как я понял
Аноним 24/01/24 Срд 18:14:39 3017397 103
>>3016782
>Какой, в жопу, НИИ?
Он два года сидит в НИИ, на нормальной для джуна зарплате. И вместо того чтобы просто открыть нужную книжку взяв готовые мат формулы и соответствующие им алгоритмы из вычмата, пытается че то выдумать из своей головы. И нихуя у него не получается само собой. Но чукча не читатель, чукча писатель. Программисты же пишут код, а читают книги только задроты.
Другая проблема в том куда смотрят его старшие товарищи, в принципе у него же должен быть что-то вроде куратора, который ему скажет - заебал страдать хуйней, или открывай такуюто книгу на такой странице и реализуй алгоритм раз ты не способен на самостаятельный поиск.
Аноним 24/01/24 Срд 18:42:53 3017434 104
>>3017397
Какую книжку? Как нарисовать спектр без разрывов, есть такая книжка?
Аноним 24/01/24 Срд 19:03:47 3017462 105
>>3017434
>Как нарисовать спектр без разрывов
для начала посоветую задать ровно тот же вопрос гуглу или чат джипити
Аноним 24/01/24 Срд 19:05:13 3017464 106
>>3017397

Серьезно? Тебе, наверное, виднее, но я в нём вижу поверхностного шизика и не более того. Ор дикий если эта вафля действительно место научного сотрудника занимает.

Хуесос плохо понимает вообще, с чем он работает. Там столько ляпов в его высерах, фактических, что я орал и хрюкал, когда читал. Например >>3015981 →, там такая каша, что надо ссаными тряпками гнать из любого института. Хуесос не только некомпетентен, но ещё и крайне высокого мнения о себя, одно вот это чего стоит ор дикий бля

>>3016843
>>3016883

давно так не залупался
Аноним 24/01/24 Срд 19:37:24 3017527 107
>>3017464
>Например >>3015981 → →, там такая каша

Это не я писал, я таких слов то не знаю.
Аноним 24/01/24 Срд 20:12:16 3017587 108
asm это высокоуровневый язык? Какого хуя там типа данных, переменные, строки? Я ожидал работу с сырыми байтами.
Аноним 24/01/24 Срд 20:18:36 3017605 109
>>3017587
Уровневость языков субъективное понятие
Аноним 24/01/24 Срд 20:50:26 3017662 110
>>3017587
Потому что те, кто реально на асме пишут, не особо любят с сырыми данными работать. Зачем себе голову ломать, если можно проще сделать? Так-то с макросами можно сделать вполне высокоуровневый язык.
Аноним 24/01/24 Срд 20:55:55 3017677 111
>>3017587
>asm это высокоуровневый язык?

Это смотря какой. Макрософт очень красивый ассемблер генерит, а на каком-нибудь недомелкоконтроллере, там можно кукухой поехать, если глубоко вникать.
Аноним 24/01/24 Срд 21:04:20 3017689 112
>>3017662
>Потому что те, кто реально на асме пишут, не особо любят с сырыми данными работать. Зачем себе голову ломать, если можно проще сделать? Так-то с макросами можно сделать вполне высокоуровневый язык.
Если что, С и С++ теперь считаются низкоуровневыми.
Аноним 24/01/24 Срд 21:15:45 3017710 113
>>3017689
> С++ теперь считаются низкоуровневыми.
Буквально язык, на котором можно писать что угодно и как угодно.
Язык, который даёт неограниченные возможности, в том числе и сорок способов выстрелить себе в ногу.
Аноним 24/01/24 Срд 22:13:02 3017851 114
>>3017689
Счиьается необучаемыми дибилами, разве что. Что плюсы что си - ящыки высокого уровня.
Аноним 25/01/24 Чтв 01:56:42 3018122 115
>>3017851
Предлагаешь ассемблером писать под каждую микроархитектуру?
Аноним 25/01/24 Чтв 08:20:56 3018218 116
Насколько надо быть ебанутым, чтобы из
>>3017851
получить
>>3018122
?
Я уж не говорю про то, что это говно не знает, что такое микроархитектура.
Аноним 25/01/24 Чтв 08:22:55 3018220 117
>>3017851
Такое восприятие давно устарело. Это в 80-х писали программы на ассемблере, компьютеры были простые и программы тоже простые, вот и си и далее считались высокоуровневыми. А сейчас компьютеры слишком сложные, писать на ассемблере нереально, кроме убогих хеллоуворлдов, так что самым низким уровнем является си, то есть самым низким уровнем языка на котором реально писать рабочие программы.
Кстати видел живого долбоеба пишущего на ассемблере, загугли "manhunter блог" и увидишь ебаната который только пальчиком ковыряется в трех строчках кода уровня "лаба1", не программист, а слесарь ковыряльщик-затыкальщик дырок.
Аноним 25/01/24 Чтв 10:12:15 3018300 118
>>3018218
Ты пишешь, что си и кресты это ЯП высокого уровня, но если в целом смотреть, то из кроссплатформенных чистый си самый низкоуровневый.
А про ассемблер вставка потому что у каждой архитектуры свой набор команд.
Аноним 25/01/24 Чтв 10:30:56 3018314 119
image.png 36Кб, 673x717
673x717
>>3018300
>А про ассемблер вставка потому что у каждой архитектуры свой набор команд
Да ладно. Вот открыл по приколу последнюю свою прогу, как стояло по дефолту 386, так и не менял никогда, нафиг не надо, ведь прога нормальная, а не вычислялка сжигадка проца. Нет смысла даже ставить 486, только совместимость испортишь, а выгоды нет. Так что и на ассемблере в большинстве случаев можно писать под 386 и не париться, пойдет везде.
Аноним 25/01/24 Чтв 10:31:59 3018318 120
>>3018218
Еше неопознана глубина тупизны.
>>3018122
>>3018300
>>3018220
Дибилы уровня б. Ваш бред уровня споров о силе акулы и медведя, например. Просто молчите. Чидите подрачивайте ридонли.
Ну и позорище.
Аноним 25/01/24 Чтв 10:35:02 3018327 121
>>3018318
Ты тот самый хост www.manhunter.ru? Чего обиделся то, сразу перешёл на оскорбления?
Аноним 25/01/24 Чтв 11:05:29 3018353 122
А какой смысл писать на asm в 2k24, если компилятор сам все супер оптимизирует. Иначе говоря, разрабы компилятора за нас уже эту работу сделали. А то читаешь иногда о программе, вот она написана на си и си++, и есть ассемблерные вставки, вот нахуя они? Для скорости можно __fastcall прописать, не?
Аноним 25/01/24 Чтв 11:18:51 3018380 123
IMAGE 2024-01-2[...].jpg 43Кб, 600x536
600x536
>>3018353
> если компилятор сам все супер оптимизирует
Аноним 25/01/24 Чтв 11:47:54 3018421 124
>>3018318
Ты разговариваешь с тяжёлым шизом, который любит сыпать бессвязными терминами, разговаривая сам с собой. Может он так остужает горящую от непростых реалий жопу. Не знаю, чему тут удивляться. Я сначала тоже повёлся, когда он начал про обработку сигналов наваливать в соседнем треде (и всё ещё наваливает), пока не понял, что это шезлонг. Ему никак не помочь, потому что он уверен что с ним всё в порядке.
Аноним 25/01/24 Чтв 11:53:18 3018425 125
>>3018327
Не думал что для тебя это оскорбление. Врятли таких как ты вообще можно задеть.
Аноним 25/01/24 Чтв 12:40:31 3018501 126
>>3018421
Бля какое же ты шизло
Аноним 25/01/24 Чтв 13:14:58 3018547 127
>>3018353
>А какой смысл писать на asm в 2k24, если компилятор сам все супер оптимизирует
Только на десктопе, там компиляторы вылизаны до максимума. Под микроконтроллеры часто на асме пишут, потому что стоковые говнокод выдают, плюс на асме проще писать проги, где важны тайминги до такта - там по инструкциям сразу видно сколько времени кусок кода будет выполняться.
Аноним 25/01/24 Чтв 14:27:29 3018644 128
>>3018547
ну как вылизаны, они работают без ошибок, но далеко не всё оптимизировано
Аноним 25/01/24 Чтв 15:57:52 3018838 129
Деды не видели новые яп, и пишут, что си это высокоуровневый ЯП, лол
Аноним 25/01/24 Чтв 16:17:15 3018864 130
Пытаюсь сделать VirtualAllocEx в другом процессе, получаю ошибку доступа(GetLastError() == 5)
handle процесса получал через PROCESS_ALL_ACCESS
Оба процесса запущены одним юзером, оба elevated
ProcessExplorer показывает пустое поле Protection у процесса, в котором выделять память пытаюсь.
У экзешника есть цифровая подпись, перезаписал ему
peHeader.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY].Size = 0;
peHeader.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY].VirtualAddress = 0;

Не помогло, в чем может быть еще проблема?
Аноним 25/01/24 Чтв 16:19:04 3018866 131
>>3018864
Не помогло в том плане, что всёеще получаю 5 ошибку.
Сертификат в свойствах экзешника после перезаписи не показывается
Аноним 25/01/24 Чтв 16:20:06 3018868 132
>>3018838
Новых языков программирования нет, есть скриптовое говно. Скрипты не программирование, ибо программирование это управление железом, а скрипты работают в виртуалке, это разновидность офисного софта как 1с. Код который пишут без оглядки на железо это не программа, а скрипт, просто другая парадигма в принципе.
Аноним 25/01/24 Чтв 16:46:17 3018927 133
Олды тут, читал когда то книжку в пиздючестве она была на половину про Си, вторая половина про С++ что то захотелось перечитать. Вряд ли кто по такому описанию подскажет, может есть удобная онлайн библиотека или подборка книг по Си и плюсам
Аноним 25/01/24 Чтв 17:58:13 3019118 134
>>3018838
Для меня критерием высокоуровневости является наличие абстракций, которые не понимает машина. Вот есть в С функции, машина это не понимает, для нее есть всякие колл и джампы.
Аноним 25/01/24 Чтв 17:59:20 3019121 135
>>3018864
Я плохо помню, сначала надо запросить доступ на такие действия.
Аноним 25/01/24 Чтв 18:11:07 3019135 136
Подскажите пожалуйста, у кого возможно было, что могут задать на командном собеседовании по плюсам? Какие вопросы и задания могут дать?

вкатывальщик в тындекс
Аноним 25/01/24 Чтв 18:14:17 3019137 137
Аноним 25/01/24 Чтв 18:18:05 3019138 138
>>3019121
на процессе других программ отрабатывает итак отлично, а тут какой-то хитровыебаный попался
Аноним 25/01/24 Чтв 18:20:32 3019140 139
>>3019137
АХАХАХ, есть такое, а что поделать, стажировок нормальных нет, никуда не берут, здесь хотя бы до командного дошел =)
Аноним 25/01/24 Чтв 18:50:50 3019159 140
>>3019135
Ну например:
Есть две строки.
Надо за линию дать ответ, можно ли 1 заменой/вставкой/удалением получить из одной другую.
Другая:
Дано массив из К уникальных чисел. Нужно посчитать количество корректных бинарных деревьев.
Аноним 25/01/24 Чтв 18:51:31 3019160 141
>>3019159
Бинарных деревьев поиска*
Аноним 25/01/24 Чтв 19:06:11 3019196 142
Есть какие-то годные источники вопросов (и ответов) на собеседовании по плюсам (джун)? Задачи какие-нибудь
Не алгоритмические, а скорее по самому языку и около темы
Аноним 25/01/24 Чтв 19:09:27 3019201 143
>>3019196
В интернете пробовал искать?
Аноним 25/01/24 Чтв 19:43:51 3019254 144
изображение.png 373Кб, 821x813
821x813
изображение.png 3Кб, 154x103
154x103
изображение.png 44Кб, 503x564
503x564
Где же правда?
У локальной переменной b адрес должен быть меньше, чем у а, потому что стек идет вниз. Но по факту он больше. Сегмент текста и данных по факту находится в старших адресах. При чем сначала идет текст, а потом данные.
Аноним 25/01/24 Чтв 20:09:32 3019329 145
>>3019254
Компилер пытается, хотя и не обязан этого делать, поскольку это кресты, чтобы объявленные переменные в памяти подряд шли. Это на случай union struct. То, что ты объявил a и b, это не значит, что ты что-то запушил в стек. Сегменты где хочешь могут вообще оказаться при релокации, операционка еще и адреса рандомно выберет, чтобы вирусописателям посложнее данные было искать. Эта хуйня как-то называется и где-то отключается.
Аноним 25/01/24 Чтв 20:25:38 3019391 146
Аноним 25/01/24 Чтв 21:07:09 3019515 147
>>3019159
Алгособес я то прошел. Мне интересно какие задачи плюсовые могут дать. К примеру на джаве собесе могут дать задачу реализовать безопасный синглтон. Вот какие задачи такого формата могут дать на плюсах?
Аноним 25/01/24 Чтв 21:10:18 3019523 148
>>3019515
Сколько алгособесов ты прошел? Их в яндексе 4+.
5 и дальше архитектура.
Аноним 25/01/24 Чтв 22:14:26 3019692 149
1706210066541.jpg 65Кб, 1037x1280
1037x1280
>>3019159
> Надо за линию дать ответ, можно ли 1 заменой/вставкой/удалением получить из одной другую.
> Другая:
> Дано массив из К уникальных чисел. Нужно посчитать количество корректных бинарных деревьев.
Кашмар, это прям хард задачки с литкода решать придется
В Яндексе ещё и на бумажке это всё делать заставят?

мимо проходил, скоро тоже буду работу искать
Аноним 25/01/24 Чтв 22:31:36 3019737 150
>>3019523
Я на стажера иду, у меня была одна техническая секция и одна алгоритмическая. Теперь у меня идут командные собеседования.
Аноним 25/01/24 Чтв 22:32:27 3019739 151
>>3019692
Не, решаешь в их блокноте специальном. Код не компилируешь. Харды дают, но не на первом собесе.
Аноним 25/01/24 Чтв 22:59:30 3019785 152
>>3019737
Ааа.
Все, я тебя понял.
Командные - это просто общение с командой. Тебе надо себя презентовать, что ты умеешь, и тд.
Но там тоже может быть алгосы. Меня такая хуйня подъебала, пришлось пару минут поступить
Аноним 25/01/24 Чтв 23:00:38 3019788 153
>>3019692
Это медиумы.
Основных алгоритмов хватит. Хотя я в целом готовился к собесам.
Аноним 25/01/24 Чтв 23:05:35 3019796 154
>>3019785
Да, там могут и алгосы дать, и просто о жизни поговорить. Но на последних командных собесах меня вопросами душат, я просто ебал их в рот. Я не бездельник, даже 2 первых этапа прошел, почему они не могут просто взять меня на работу?!? НА СТАЖИРОВКУ!!! СТАЖЕРОМ!!!! СУКА.
Аноним 25/01/24 Чтв 23:14:09 3019821 155
>>3019796
А что там за вопросы? На знание языка?
Возможно просто смотрят как ты реагируешь на ситуацию когда нихуя не знаешь и нихуя непонятно.
Я пол года работаю, до сих пор нихуя не понятно.
Аноним 25/01/24 Чтв 23:17:41 3019829 156
>>3019821
В этом и дело, что разные. Вот была команда по плюсам, начал про умные указатели (легкий вопрос), виртуальный деструктор (тоже легкий), но он не остановился, начал спрашивать про тесты и многопоточку на плюсах. А я ебу что ли, на плюсах продуктовый код никогда нормально не писал, только синтаксис знаю. Про память спросил, про её выделение, не помню точно какой вопрос, помню что неправильно на него ответил. И ЭТО ПРИ ТОМ, ЧТО Я РЕШИЛ ЕГО ЗАДАЧУ))))))) Задача была вот эта https://leetcode.com/problems/string-compression/description/
Аноним 25/01/24 Чтв 23:19:35 3019834 157
>>3019829
Я конечно понимаю, что можно лучше знать язык, но блять, я иду на стажера. Быть стажером и знать все нюансы - это странно, нахуй тогда на стажировку идти, почему не пойти сразу джуном? хм.....

Самое дебильное - о команде ты узнаешь нормально только на собесе, поэтому подготовиться к собесу физически не можешь. Если к алгособесу подготовиться было легко, я знал примерно, что там будет, то здесь так не работает.
Аноним 26/01/24 Птн 01:11:06 3019968 158
>>3019834
Так к ним и не надо готовиться по сути. Они спрашивают от балды что считают важным.
По сути ты уже прошел, осталось команду найти, которая тебя решит принять.
Хуево что единственный вопрос который ты заруинил ты не запомнил.
Аноним 26/01/24 Птн 08:27:58 3020090 159
>>3019201
пробовал, там вопросы на уровне "какой размер в байтах у int" и "напишите fizzbuzz". Может я плохо искал, буду рад, если кинешь годноту.
Аноним 26/01/24 Птн 08:38:25 3020097 160
>>3019796
Потому что не хуй идти в Яндекс. Посредственная работа за среднюю ЗП.
Аноним 26/01/24 Птн 08:41:11 3020099 161
Аноним 26/01/24 Птн 09:36:19 3020138 162
>>3020097
А какие там ща вилки и какие медианные?
Аноним 26/01/24 Птн 10:47:01 3020200 163
>>3013668
Рисуешь на экране? Никогда не делай так. Рисуй в буфере, затем средствами графической системы копируй в окно. Выжмешь максимум скорости.
Аноним 26/01/24 Птн 10:49:15 3020204 164
>>3014667
Используй. Сэкономишь силы и время при порте программы на другую платформу или разрядность.
Это не про красоту, это про переносимость.
Аноним 26/01/24 Птн 11:05:37 3020234 165
Сейчас вот здесь >>3016615 рисую на экране. В планах сделать отрисовку в одномерном массиве разделенном на строки и рисовать там, патом отрисовывать получившеюся текстуру.
Аноним 26/01/24 Птн 11:13:56 3020243 166
Что можно написать реаьное для практики?
Аноним 26/01/24 Птн 11:55:28 3020320 167
>>3020234
Вот планы у тебя правильные. Нужна скорость - не откладывай эти планы на будущее.
Аноним 26/01/24 Птн 12:03:48 3020327 168
Аноним 26/01/24 Птн 12:35:46 3020354 169
>>3020243
Напиши нормальные строко/квадраты как у заводчанина, но на нормальном опенгл/вулкане, а не цпу кути.
Аноним 26/01/24 Птн 12:42:56 3020362 170
>>3019968
А куда идти новичку? На всех других стажировках ебать какая конкуренция. На джун позицию никуда не берут. Вот и остается Яндекс. И давай честно, зарплата нормальная, она невысокая, она нормальная, вот стажером в МСК предлагает от 80к до 120к, это мало? Если да, значит я реально нищук

вкатывальщик в тындекс
Аноним 26/01/24 Птн 13:10:23 3020395 171
>>3020354
Ахахах, а что мы, мы заводчане плюсовые или жабо пидоры смузевые, подведём начальника что ли, али не выйдем на не оплачиваемые смены? Я по глазам вижу среди нас таких нет.

>>3020243
Игрульку какую нибудь, сервер клиент напиши, или реально спектр напиши
Аноним 26/01/24 Птн 14:29:38 3020496 172
>>3012308 (OP)
Подскажите пожалуйста, почему после прямого вызова деструктора я все еще могу менять поля объекта и вызывать при нем методы? Это компилятор страхует?

struct S {
S(int xx) : x{ xx } { }
int x{ 0 };
void print() { std::cout << "I'm here!\n"; }
};

int main()
try {

S x = new S(10);

std::cout << x->x;

x->~S();

x = S(20);

x->print();

std::cout << x->x;
Аноним 26/01/24 Птн 14:32:40 3020503 173
>>3020496
> X = S(20)
Это что такое по твоему?
Аноним 26/01/24 Птн 14:38:42 3020513 174
>>3020496
все значки полетели блять. Должно было быть вот так:
S x = new S(10);

std::cout << x->x;

x->~S();

x = S(20);

x->print();

std::cout << x->x;
Аноним 26/01/24 Птн 14:42:28 3020518 175
>>3020503
Я не знаю почему звездочка пропала, там должно было быть вот так:
*x = S(20)

раскрываю указатель и меняю значение объекта
Аноним 26/01/24 Птн 15:49:12 3020637 176
>>3020518
Такого ты точно сделать не можешь, у тебя слева указатель, а справа объект.
Аноним 26/01/24 Птн 16:10:15 3020670 177
>>3020496
Чел, у тебя все звездочки полетели нах, поэтому не поймешь ничего. После вызова деструктора, ты можешь что хочешь делать. Можешь еще раз деструктор вызвать, лол. Весь вопрос, в какой момент тебя это приведет к Segmentation Fault. А если не приведет, то еще хуже - жесткий баг останется незамеченным. Если хочешь предотвратить повторный вызов деструктора, то наследуйся от класса, который статиком hash_map объектов и запоминает, какие из них уже деструктнуты. У меня подобное было в гуе, когда onclick на кнопке уничтожал ее нах, а этого дефолтный mouseup пытался ее отрисовать с отжатом состоянии, хотя на ней уже и деструктор и даже delete на указателе отрабатывали. Ничего лучше, чем вести таблицу объектов, не придумал.
Аноним 26/01/24 Птн 17:27:30 3020821 178
>>3020637
Лалка.
>>3020518
> раскрываю указатель
Как? Как консервную банку?)
Думай хоть что пишешь, не позорься так.
> меняю значение
Это что по твоему?
Аноним 26/01/24 Птн 17:29:23 3020830 179
>>3020821
Я действительно лалка.
Возможно у тебя тут лайфтайм экстеншион.
Но я бы не надеялся. Напиши деструктор и посмотри когда что у тебя умирает.
Аноним 26/01/24 Птн 17:42:14 3020863 180
>>3020496
Так падажжи.
А что ты хотел?
Ты же не очищаешь память. Ты вызываешь деструктор. Память никто не освобождал.
Аноним 26/01/24 Птн 18:42:48 3020989 181
Зачем подключать хедер file.h в файл с реализацией file.cpp? Хедеры же нужно в другом месте для использования, но зачем в самом файле реализации?
Аноним 26/01/24 Птн 18:52:12 3021007 182
Есть тут разработчики графики? Вулкан/опенгл, гпу и все такое? Подскажите как у вас с работой сейчас, есть какие-то вакансии? Стоит вкат оформлять?
Аноним 26/01/24 Птн 19:23:38 3021044 183
>>3021007
есть, тухляк, только пет проекты
Аноним 26/01/24 Птн 19:26:08 3021047 184
>>3021007
Ебанько что ли? Тут никто не пишет код за деньги. А графические API - это уровень умения работать с qt, любой дебил сможет, соответственно никто тебя только за это не возьмёт на работку. Тебе как минимум надо с математикой быть знакомым и уметь в HLSL, т.е. в сишку.
Аноним 27/01/24 Суб 00:28:39 3021399 185
>>3020830
Если бы ты не ответил былр бы ок. Но сейчас я в замешательстве. Это такой тролинг тупостью?
Птр = {} нормальный синтаксис, гцц, кланг, мсвц его правильно воспринимают.
Аноним 27/01/24 Суб 00:31:01 3021407 186
>>3021047
Это прав с про отсутсвие работы, но абсолютно не прав с тезисами, вообще не понимает что несет.
Аноним 27/01/24 Суб 00:42:04 3021421 187
>>3021407
>вообще не понимает что несет
Да я так и понял, решил не отвечать чтоб не триггерить, спасибо за ответ если ты >>3021044
Аноним 27/01/24 Суб 12:05:47 3021722 188
>>3021007
Не совсем графика, но в каком-то смысле да. 3D CAD. За полгода набрали около 10 джунов.
Аноним 27/01/24 Суб 21:54:29 3022582 189
>>3021722
Интересно, что именно делают эти джуны? Что они пишут?
Аноним 27/01/24 Суб 22:35:16 3022638 190
>>3022582
>что именно делают эти джуны
увеличивают энтропию проэкта
Аноним 27/01/24 Суб 23:42:22 3022789 191
image.png 76Кб, 2474x1612
2474x1612
image.png 10Кб, 1458x537
1458x537
>>3016808
>>3016782
>>3016785
>>3016781
>>3016677
>>3016406

Я тут подумал и понял что шаг в векторе у меня равен
Частота дискретизации/размер бпф = 48000/2048 = 23.4375

Если мы будем переводить это в дискретную систему координат, с округлением в обе стороны, то при масштабе равном 1, по формуле округлить(i x 23.4375) * масштаб мы получим следующий ряд:
0, 23, 47, 70... Уже на третьем элементе у нас разрыв! Между первым и вторым у нас разница 23 пикселя, между вторым и третьим 24. Дело в том что у нас накапливается ошибка в дробной части, и когда эта ошибка станет больше 0.5, то из за округления шаг между точкам станет на 1 пиксель больше чем ожидалось.

Чуть чуть погуглив нашёл такое понятие как не прерывная дробь или же цепная дробь
https://ru.wikipedia.org/wiki/Непрерывная_дробь

Там же описана проблема календаря

Это как раз таки то что мне надо, там тоже разрывы возникают из за накопления ошибки из за того что год на цело не делится 365 дней, нам приходится компенсировать разрывы високосным годом.

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

На первый взгляд можно поработать с дробной частью 23.4375

Дабы узнать когда накопиться ошибка больше 0.5, надо узнать сколько раз 0.4375 помещается в 0.5. 0.5/0.4375 = 1.1428...

То есть через 1 шаг будет накапливаться ошибка больше 0.5, что так и есть:
0, 23, 47, 70, 94, 117

Как видим
23 минус 0 равно 23
47 минус 23 равно 24
70 минус 47 равно 23
94 минус 70 равно 24
117 минус 94 равно 23
и т.д.

Но это всё при масштабе равном 1. Если же масштаб не равен 1, а например 0.043, то 23.4375 умножаем на масштаб 0.043 получаем 1.00781

Дробная часть равна 0.00781. Если разделить 0.5 на 0.00781, получим 64, что почти соответствует первому разрыву на картинке. На картине 65 пикселей. Но это ещё удачный случай, при разных масштабах ошибка тоже разная
Аноним 27/01/24 Суб 23:49:53 3022808 192
челик присядь попей водички те хуёва
Аноним 28/01/24 Вск 00:34:28 3022891 193
CLion или VS с решарпером? Первый по религиозным причинам недолюбливаю, при том что заебись по функционалу, новый гуй приятнее выглядит чем раньше, но тормозит прокрутка до сих пор. А второй какой-то протухший в 2024 уже, ещё и IntelliSense говно собаки, но с решарпером получше уже. VS Code даже трогать не хочется, экстеншон под кресты ещё хуже чем IntelliSense в студии.
Аноним 28/01/24 Вск 00:51:12 3022906 194
изображение.png 2Кб, 275x55
275x55
ElqnKOXIAAl27K.jpg 79Кб, 1280x742
1280x742
Аноним 28/01/24 Вск 02:09:17 3022956 195
image.png 917Кб, 900x900
900x900
Аноним 28/01/24 Вск 07:25:04 3023000 196
>>3022891
VSCode + clangd + CodeLLVM + CMake.

Но вообще ты бы задачу назвал. CLion даёт выбрать тулчейн, приятную тонну плагинов и остальные фичи IDE от JB.

VS имхо для разработки только под Винду. В нём удобно настраивать проект по личному опыту. Указать где у тебя зависимости и всё такое без ковыряния доков того же CMake. Опыт опытом но исходя из твоего вопроса: его у тебя нет. Ну и все настройки сейвятся в файле проекта, так что переносимость есть.

А ещё именно под него заточен тот же компилятор Intel и их oneAPI.

Короче, инструмент выбирают под задачи. Хуле нам тебе дилдо советовать если тебе гвоздь забить а не в жопу себя ебать?
Аноним 28/01/24 Вск 07:29:27 3023002 197
>>3023000
>CodeLLVM
*CodeLLDB

быстрофикс

К слову, мне очень нравится как легко вкорячивается Clang и периферия в Винду. Не то что GCC. И при этом функционала больше. Тут тебе и clangd, и clang-format, и прочее.
Аноним 28/01/24 Вск 07:50:31 3023004 198
>>3023002
> легко вкорячивается Clang и периферия в Винду
А шланг хоть сможет собрать код виндовых SDK?
Аноним 28/01/24 Вск 11:08:28 3023102 199
>>3022906
Всё ещё быстрее и экономичнее чем VS Code, который вообще на JavaScript, а не просто Java.
>>3023000
> clangd
Не умеет в кучу важных вещей, например даже в базовые фичи типа переход к реализации, или поиск ссылок. А у майкоского экстеншена даже синтаксис С++20 не реализован полностью.
> В нём удобно
В студии каждый час IntelliSense падает и чинится только перезапуском студии, пиздец заёбывает. Или бывает пишешь код и хуяк он отъёбывает, подсветка синтаксиса пропадает и оно просерается только через пару минут. И гуй уже лет 5 не развивается никак, даже нормальной поддержки нейронок нет, только Копилот кое-как костылями пришили через очко. Из настроек там разве что гуй проектов для MSBuild неплох, остальное кал, даже панельки аутлайна нет нормальной.
> под задачи
Задача - писать код и не страдать от IDE.
>>3023002
> Clang
Его разве что под mingw имеет смысл использовать. С майковским тулчейном боль сплошная, а из SDK лезут тысячи варнингов. Сомнительное удовольствие.
Аноним 28/01/24 Вск 11:52:09 3023169 200
>>3022891
> CLion или VS с решарпером?
Анончик не знаю даже что ты услышать хочешь
Оба говно, но лучше аналогов нет

Выбирай просто что больше нравится
Аноним 28/01/24 Вск 12:01:27 3023178 201
>>3023102
Идея переодически начинает тупить и это лечится только invalidate cache and restart
Аноним 28/01/24 Вск 12:26:23 3023229 202
Почему в плюсы не завезли аналоги всяких IDisposable, try-with, with?
Что мешает-то?
Аноним 28/01/24 Вск 12:59:31 3023277 203
>>3023229
> try-with
А нахуя он нам нужен?
У нас есть raii и так
Аноним 28/01/24 Вск 13:02:37 3023285 204
>>3023229
Напиши пропозал, тебя обоссут и попутно объяснят.
Аноним 28/01/24 Вск 13:04:46 3023288 205
>>3023229
> IDisposable
Чел, деструкторы тебе для чего?
> try-with
Эксепшены религия не позволяет использовать?
> with
Скобочки, блять, используй. with - это костыль в языках без RAII. Можешь в if затолкать объект с деструктором или сделать макрос на with, если хочется прям как в питоныче.
Аноним 28/01/24 Вск 13:08:41 3023294 206
>>3023288
Так with === {}, не? Выделяем новый скоуп, по выходу из него все само умрет
Аноним 28/01/24 Вск 13:16:32 3023302 207
>>3022789
Лол, через полгода Штирлиц догадался, что Брезенхем работает только с линиями с наклоном не больше 45 градусов. То есть, если зум меньше 1, у тебя будут разрывы по определению. Тебе нужен nearest-neighbor или что-то подобное.
Аноним 28/01/24 Вск 13:19:41 3023307 208
>>3023102
>Не умеет в кучу важных вещей, например даже в базовые фичи типа переход к реализации, или поиск ссылок
Он и не должен этого уметь by design. Он просто синтаксическое дерево строит. Дальше уже должна работать какая-то более высокоуровневая либа, вроде плагина для LSP. Плагин VSCode умеет и переход к реализации и поиск ссылок.
Аноним 28/01/24 Вск 13:50:45 3023382 209
>>3023302
Ааа, ты думаешь это все брезенхемом рисуется от точки к точки. Нет это просто вертикальные линии от нижней границы виджета к точке. Там брезенхемом никаким и не пахнет.
Аноним 28/01/24 Вск 13:56:30 3023387 210
.png 400Кб, 562x660
562x660
>>3023277
>>3023288
Да что вы говорите.

Прикриплейд. Как тут ваши raii и деструкторы-то помогут?
Надо как дебил каждый раз писать 100 уровней try-catch, или как деды - все переменные в началае функции объявлять а потом здоровенный try-catch.

В это же время, в жавах и остальных - ты имеешь синтаксис, который именно для вот такой хуйни предназначен, и позволяет, в любом случае нормально освободить что там у объекта навыделялось.
Аноним 28/01/24 Вск 14:02:03 3023395 211
>>3023382
Он Брезенхемом не линии рисует, а по горизонтали идет, и считает когда на следующий сэмпл в спектре переходить.
Аноним 28/01/24 Вск 14:10:48 3023419 212
>>3023387
А какого хуя ты удаляешь строку над которой не владеешь?
Пикрилейтед говнокод, за который тебя палкой надо ебануть.
Аноним 28/01/24 Вск 14:12:10 3023423 213
>>3023387
> Не использует RAII
> Стреляет эксепшенами
> Это не я еблан, это язык плохой
Ливни с треда, чушпан
Аноним 28/01/24 Вск 14:21:08 3023441 214
>>3023387
> Прикриплейд
И что у тебя на пикрилейтеде, джаваопущ? Ты ведь даже не знаешь крестов, а уже пишешь код. При нормальном RAII у тебя всё будет освобождаться, то что ты вручную выделил память что в нормальном коде запрещено уже давно и не почистил - это твои проблемы, сборки мусора за даунами тут нет. Лучше расскажи как джава справляется c ConcurrentModificationException, всё так же надо делать ручные итерации с .next(), чтоб рантайм не наебнуть?
Аноним 28/01/24 Вск 14:23:06 3023443 215
>>3023387
По скрину же видно, что ты явный неадекват. У нормального человека глаза вытекут от такой темы.
Аноним 28/01/24 Вск 14:24:45 3023446 216
>>3023395
Ды нет, я просто делаю преобразование координат

Для X
float pixelOffsetX = offsetXscaleX;

for(int i = 0; i < vectorPixelX.size(); i++)
{
vectorPixelX = round(vectorUnitX
scaleX - pixelOffsetX);
}

Для Y
float pixelOffsetY = offsetYscaleY;

for(int i = 0; i < vectorPixelY.size(); i++)
{
vectorPixelY = round(vectorUnitY
scaleY - pixelOffsetY);
}


Затем отрисовываю получившиеся точки
for(int i = 0; i < vectorPixelY.size(); i++)
{
painter.drawLine(vectorPixelX, 0, vectorPixelX, vectorPixelY);
}

Причём тут брезенхем. То что я хочу сделать возможно похоже на работу брезенхема. Я хотел бы вычислять накапливаемую ошибку не в цикле, а по формуле. В брезехеме тоже ошибка вычисляется, но делается это в цикле. Но сейчас, на данном этапе ничего общего с брезенхемом нет
Аноним 28/01/24 Вск 14:52:22 3023486 217
>>3023419
>>3023423
>>3023441
У плюсовиков настолько все плохо с абстракциями и примерами?

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

В реальности, ну, вот будет у тебя класс TcpConnection, где-то в недрах ебнется какой-нибудь IOException или AppException, тебе надо почистить и вернуть в пулл буфферы, а сокет освободить правильно. Ну и че будете делать? Покажите как это делается на плюсах. А то начали чет щебетать, а показать как делать без устоявшихся уже в остальных языках конструкциях - не хотите.
Аноним 28/01/24 Вск 14:54:47 3023491 218
>>3023486
Ды тут чёт одни токсики. Что не спроси, сразу дураком обзывают
Аноним 28/01/24 Вск 14:59:36 3023502 219
>>3023491
Я подозреваю, что они просто сами не знают, как сделать это нормально, чтобы не выглядело как ебаный пиздец, и при этом не городя всякие свои велосипеды в духе лайфтаймов или своих GC'шек.
Аноним 28/01/24 Вск 14:59:39 3023503 220
>>3023486
unique_ptr для кого придумали, долбаёб?
А вообще ты явно не из плюсов, потому что все плюсовики знают:
Ты либо не трогаешь руками память нигде, кроме возможно конструкторов/деструкторов и используешь исключения, либо не пользуешься исключениями, так как без RAII это будет работать некорректно.
Аноним 28/01/24 Вск 15:02:27 3023514 221
>>3023486
> Ну и че будете делать?
Чел, выполнится деструктор, эксепшен точно так же выполнит деструкторы у вышедших из области видимости объектов, так же как в твоей джаве. Ты вообще в курсе, что в твоём говнокоде foo делает две аллокации и у обоих RAII не работает?
Аноним 28/01/24 Вск 15:07:17 3023521 222
>>3023514
Я думаю он даже не представляет что такое "Hello world", где он хранится, и какой у него лайфтайм, раз он передает его в объект и пытается удалить.
Аноним 28/01/24 Вск 15:09:58 3023524 223
>>3023486
Это у тебя плохо со знаниями крестов, ты даже не знаешь синтаксиса. В крестах объекты создаются не через new, у этого ключевого слова семантика отличается от джавы. В 2024 года даже IDE тебе варнинги кинет за new, так никто не делает. Убери его и всё будет работать как в джаве. Я уже молчу про то что ты память не выделял, а зачем-то освобождаешь её в деструкторе.
Аноним 28/01/24 Вск 15:14:57 3023530 224
>>3023524
Я мимо пробегал, а как тогда объекты делают в C++?
Аноним 28/01/24 Вск 15:15:44 3023533 225
>>3023503
> unique_ptr
Всратый костыль.
Я хочу работать с TcpConnection. Как-бы ООП, все дела. Нахуй мне этот вот юник поинтер, мне нужен объект удовлетворяющий требуемому интерфейсу.

>>3023514
> выполнится деструктор
В том коде - деструктор не выполнится.

> Ты вообще в курсе, что в твоём говнокоде foo делает две аллокации
Да. Именно потому я и говорю о нужности какого-то аналога using try-with или with, чтобы в языке в случае вот такой хуйни - была возможность освободить корректно ресурс.

>>3023521
Каким образом пример кода, в котором не выполнится деструктор и соответственно - я получил утечку - вообще относится к тому, что я делаю? Серьезно, чел. Еще раз. ЭТО ПРИМЕР. Я просто показываю ситуацию, в которой ты - нихуя сделать не можешь, чтобы корректно освободить выделенные в процессе работы ресурсы.
У тебя так же может остаться висеть в памяти открытый файл, и ты нихуя не сделаешь, потому что ничего, что могло бы его в такой ситуации корректно закрыть и освободить ресурсы не будет вызвано. Только городи костыли, либо как деды - все что надо в начали функции прописывай, потом здоровый try-catch и в конце - руками освобождай.
Аноним 28/01/24 Вск 15:20:19 3023538 226
>>3023533
Ты очень тупой по причине долбаёб. Вы в жаве все такие? Ты знаешь что-то о Эксепшен Сейфити?
Варианты решения твоей проблемы:
1) убрать new.
2) добавить unique_ptr
3) обернуть часть кода, где может быть исключение в try, отловить его и очистить ресурсы.
Буквально 5 секунд ввода кода. Но ты подаёшь это будто это нерешаемая проблема.
Аноним 28/01/24 Вск 15:20:39 3023539 227
>>3023524
Пажди, чел. Че ты вообще несешь?
new - создает выделяет память в хипе и отдает указатель на этот кусок памяти. Че не так-то? Я именно этого и хотел.
Чи с 2010 года, когда я последний раз на плюсах писал - что-то поменялось?
Аноним 28/01/24 Вск 15:21:26 3023541 228
>>3023539
А delete где?
Ты троллишь что ли?
Аноним 28/01/24 Вск 15:23:18 3023546 229
>>3023538
> убрать new.
Мне надо, чтобы объект был в куче
> добавить unique_ptr
Всрытай костыль. Уровня лайфтаймов от жидбрейнсов
> обернуть часть кода, где может быть исключение в try, отловить его и очистить ресурсы
И получить страшную партянку, если у меня много разного создается, что надо осводождать, вместо того, чтобы дать конструкцию языка, которая обернет это за меня.

>>3023541
Тут он не нужен, потому что пример синтетический. Он в любом случае не вызовется, так что зачем строчки лишние писать?
Аноним 28/01/24 Вск 15:24:20 3023547 230
>>3023546
> Всрытай костыль. Уровня лайфтаймов от жидбрейнсов
Аргументы будут?
Пока что все намекает что ты зеленый.
Аноним 28/01/24 Вск 15:30:30 3023558 231
>>3023530
Просто вызовом конструктора, внезапно. А new - это аналог malloc, т.е. выделить память на куче, создать в ней объект и вернуть ссылку на него. Естественно RAII не работает, потому что объект за пределами области видимости и не принадлежит тебе.
>>3023539
> Че не так-то?
То что так никто не пишет код, уже не нулевые, за такое говно тебя уволят нахуй. В каком-нибудь Unreal Engine вообще память на куче запрещено так просто выделять, можешь посмотреть исходники на гитхабе, увидишь как реальные проекты на современных крестах выглядят.
> что-то поменялось?
Да, есть чёткие гайдлайны как писать на современных креста, а не на сишке с классами. Обратная совместимость позволяет писать код как в 90-х, но это сделано для компиляции легаси, а не чтоб дегроды писали на С++03.
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#S-resource
Аноним 28/01/24 Вск 15:32:21 3023564 232
>>3023547
Аргумент в том, что я как пользователь какого-то класса, не хочу думать о том как мне его передают.
Я хочу работать, с условным Computer, Connection, TextBox'ом и мне до пизды должно быть, уникальный это поинтер, шарящийся или сишный. Меня это, по хорошему, не должно волновать.
Иначе - начинают протекать слои и я на своем уровне слишком дохуя знаю о том как мне что передается, как оно там управляется.
Сверху, я могу из-за этого быть долбоебом, который полезет в этот юник поинтер я могу вообще сделать какой-нибудь reset и ебитесь как хотите, я в домике, удачного дебага.

>>3023558
Ну, т.е. вместо того, чтобы сделать язык удобнее для использования его фич - мы запрещаем одну из основных фич, которая была как раз удобна в С++.
Отличное решение.
Темплейты тоже запрещаем, чи как?
Аноним 28/01/24 Вск 15:35:44 3023570 233
>>3023564
> Иначе - начинают протекать слои
Никуда ничего не протекает.
Во первых - уник птр лишь удалит объект по выходу из скоупа. ты все также можешь передавать свои указатели куда хочешь КАК ОБЫЧНЫЕ указатели.
Во вторых - ссылки гораздо безопаснее, лучше использовать их.
Аноним 28/01/24 Вск 15:39:49 3023577 234
>>3023564
> одну из основных фич, которая была как раз удобна в С++
Что ты вообще несёшь? new всегда был зашкваром, это убогий синтаксический сахар над malloc. О каком удобстве речь, когда ты сам себе стреляешь в ногу, если можно просто не делать этого? Нет почти ни одной адекватной причины зачем тебе делать аллокации на куче вместо стека, куча даже банально по производительности медленнее.
Аноним 28/01/24 Вск 15:42:52 3023586 235
>>3023577
Серьезнее хелловорлдов никогда ничего не писал?
Размер стека измеряется мегабайтами.
Аноним 28/01/24 Вск 15:53:04 3023611 236
>>3023586
Вот тоже интересно, как он без кучи живёт
Аноним 28/01/24 Вск 15:58:51 3023625 237
Аноним 28/01/24 Вск 16:04:18 3023640 238
>>3023625
Имел ввиду на Вин10?
Не виляй, ты чушь написал. Проблема не в стеке\куче, а в управлении памятью.
Аноним 28/01/24 Вск 16:09:09 3023654 239
>>3023625
В MS DOS памяти всего 640 КБ, стека не хватит даже на десяток вложенных функций. Первая ошибка любой современной кодомакаки будет переполнение стека при запуске его высера даже уровня лаба1.
Аноним 28/01/24 Вск 16:09:52 3023656 240
Да, размер стека измеряется одним мегабайтом.
Аноним 28/01/24 Вск 17:17:11 3023810 241
>>3023654
>В MS DOS памяти всего 640 КБ, стека не хватит даже на десяток вложенных функций.

Ты родился когда компьютеры уже стали 64-битными?
Размерность машинного слова на 8086 была 16 бит - в 4 раза меньше, чем у современных компьютеров/телефонов.

При прочих равных это как 640 * 4.

Просто поумничал, мне пофигу.
Аноним 28/01/24 Вск 18:45:38 3023990 242
>>3023530
Через make_unique/make_shared.
>>3023546
Не хочешь "всратый костыль" - обкладывайся тестами под valgrind/msan, убирать за тебя твой мусор в этом языке никто не будет и никто не должен.
> Мне надо, чтобы объект был в куче
Если тебе хватает try-with, то стек тебе тоже сойдёт.
>>3023486
>Покажите как это делается на плюсах
Все ресурсы для которых нужна уборка, чистятся в деструкторе.
>>3023229
Не можешь сам реализовать scope_exit, спиши из черновиков - https://en.cppreference.com/w/cpp/experimental/scope_exit
>>3023577
Ты ёбнутый? UaF давно не дебажил?
Аноним 28/01/24 Вск 18:51:10 3024002 243
Если во всех современных компьютерах реализован механизм виртуальной памяти, то почему просто не сделать стек бесконечным (скажем 10 ТБ) и дальше память будет подгружаться по мере использования?
Аноним 28/01/24 Вск 18:54:58 3024010 244
>>3024002
> Двач а зачем существует RAM?
Аноним 28/01/24 Вск 18:57:00 3024012 245
>>3024010
Так чë, стек хранится не в RAM, а в каком-то отдельном виде памяти?
Аноним 28/01/24 Вск 18:58:36 3024017 246
Аноним 28/01/24 Вск 19:00:01 3024023 247
>>3024012
Долбаёб, скорость у разной памяти разная.
Аноним 28/01/24 Вск 19:01:41 3024027 248
>>3024023
Да, скорость RAM быстрее скорости RAM, это все знают.
Аноним 28/01/24 Вск 19:02:19 3024030 249
>>3024017
Неиспользуемые страницы падают в своп.
Как ты думаешь, быстро их оттуда загрузить обратно?
Аноним 28/01/24 Вск 19:02:33 3024031 250
С каким-то дауном-питонистом разговариваете или просто с толстяком, я ебу.
Аноним 28/01/24 Вск 19:03:24 3024032 251
>>3024027
Ты про виртуальную память слышал только что она виртуальная, да?
Аноним 28/01/24 Вск 19:03:57 3024035 252
>>3024030
Так с чего они неиспользуемые то будут? Ну будет заняты 3гб оперативы не рандомными кусками где-то в памяти, а сразу на стеке, а там дальше ОС размапит как ей удобно.
Аноним 28/01/24 Вск 19:06:19 3024037 253
>>3024002
У тебя в программе минимум два стека, плюс по одному на каждый дополнительный тред.
А так да, ты можешь сделать так чтобы стек рос до тех пор пока не попадёт в область кучи.
Аноним 28/01/24 Вск 19:06:25 3024038 254
>>3024032
Я правильно понял, что у тебя стек хранится где-то в отдельной памяти и поэтому к нему доступ быстрее? А где он хранится можешь подсказать? Вот я на эксешник даблкликаю, что происходит? В L3 кэше 8мб выделяется?
Аноним 28/01/24 Вск 19:06:52 3024039 255
>>3024035
У тебя не может быть активной памяти выделено больше, чем РАМ.
Аноним 28/01/24 Вск 19:09:02 3024041 256
>>3024038
Стек лежит там же, просто по особенностям использования у тебя меньше переходов по указателям и память стека почти всегда в кэшах, за счёт этого стек быстрее.
Аноним 28/01/24 Вск 19:10:15 3024044 257
>>3024041
Ну я и спрашиваю почему не выделить стек 10ТБ и размещать всё на стеке, динамические размеры через какой-то alloca реализовать можно без проблем, я даже реализации под микрожелезки видел.
Аноним 28/01/24 Вск 19:10:18 3024045 258
>>3024038
Стек неразрывный, и там меньше кешмиссов. А где там твой Хип ещё посчитать надо.
Аноним 28/01/24 Вск 19:11:44 3024049 259
Аноним 28/01/24 Вск 19:12:32 3024053 260
Аноним 28/01/24 Вск 19:13:28 3024055 261
>>3024049
Что поэтому? Как количество стеков влияет на их размер? Я запросил у операционки 10 ТБ, она мне дала кусок 1мб, дальше память будет выделяться по мере обращения к адресам. Виртуальное пространство сейчас сколько занимает, 57 битов помоему, на 256 петабайт вроде бы, должно хватить хоть на 32к тредов.
Аноним 28/01/24 Вск 19:31:03 3024089 262
>>3024053
Главный тред и стек для обработки сигналов (опциональный, но он скорее есть, чем нет).
>>3024055
> 57 битов помоему
48
> Я запросил у операционки 10 ТБ, она мне дала кусок 1мб
Или послала тебя нахуй с такими запросами.
Вообще ulimit -s unlimited и стек у тебя безграничный.
Аноним 28/01/24 Вск 20:38:38 3024249 263
>>3023229
>Почему в плюсы не завезли аналоги всяких IDisposable
технически подобное пока невозможно пока сделать тк в языке нет рефлекции
но конечно же есть другие подходы как управлять временем жизни выделенных ресурсов
Аноним 28/01/24 Вск 21:14:27 3024327 264
>>3023530
>Я мимо пробегал, а как тогда объекты делают в C++?
Если упрощенно то четырьмя способами - конструктор глобального либо локального статического объекта размещается где то в свободной памяти, конструктор локального объекта размещается на стеке, по умолчанию оператор new создает объект в динамической памяти (на куче), форма размещающего оператора (operator new) позволяет поместить объект куда угодно по желанию программиста
Аноним 28/01/24 Вск 21:35:28 3024360 265
1588548431409.png 78Кб, 1578x424
1578x424
>>3024327
Тебе тоже надо читать гайдлайны. Правильное создание объекта на куче - сразу в управляющем объекте, без new.
Аноним 28/01/24 Вск 21:38:44 3024365 266
>конструктор размещается на стеке
кек
Аноним 28/01/24 Вск 21:41:42 3024368 267
>>3024012
зависит от машинной архитектуры
в подавляющем большинстве архитектур сегодня стек размещается в оперативной памяти
Аноним 28/01/24 Вск 21:45:26 3024371 268
>>3024037
>У тебя в программе минимум два стека, плюс по одному на каждый дополнительный тред.
Помню, в висте (между xp и семеркой была такая ос), при определенных условиях могло быть то ли 8 то ли аж 16 стеков в однопоточной программе из-за особенностей виртуализации x32 в x64 и особенностей защиты которая там была реализована (это когда всех еще это окошко с разрешением выполнения задалбывало)
Аноним 28/01/24 Вск 21:48:43 3024372 269
>>3024053
>Что за два стека?
user space и kernel space как минимум;
вообще если твоя прога с гуи интерфейсом, с активным вводо-выводом (та же сеть), то считай подавляющее количество процессорного времени твоя прога проведет в kernel space, при этом многие кодеры даже об этом и не знают, хех
Аноним 28/01/24 Вск 21:52:01 3024376 270
>>3024365
это было неточно быстро сформулированное предложение, не передергивай
Аноним 28/01/24 Вск 21:54:31 3024385 271
>>3024360
ну этот же совет говорит типа используйте всякие обертки, внутри то все равно будет где то по итогу вызвана та либо иная форма new
Аноним 28/01/24 Вск 21:59:59 3024392 272
>>3024037
>А так да, ты можешь сделать так чтобы стек рос до тех пор пока не попадёт в область кучи.
Хм, а как ты это можешь сделать? Вроде же размер стека (в винде) указывается когда ты создаешь поток (create thread), а по умолчанию вроде бы мегабайт размер, но этот размер ты где то в реестре можешь так же изменить. И как бы все, дальше размер зафиксирован.
Аноним 28/01/24 Вск 22:11:47 3024403 273
>>3023514
А где тут 2 аллокации? мимо 3 года плюсов
Аноним 28/01/24 Вск 23:46:43 3024549 274
>>3023004
Может, но там будут ворнинги.

>>3023102
>переход к реализации
Не проверял, если и так то решение простое: не писать говнокод чтобы надо было смотреть что-то помимо доков/хэдэров. Понятно что в реальной работе без этой хуйни никак.
>В студии каждый час IntelliSense падает
Это рандом, но да, заебывает. Студия вообще жутко кривая, однако она заточена хорошо под разработку на Винде. Я когда в унике win32 и WDK ковырял понял что использовать что-то помимо вижуалки не выйдет. А еще она до тупого проста для новичков и там много удобств именно для настройки проекта. Учитывая что многие туториалы юзают её, это плюс.
>И гуй уже лет 5 не развивается никак
Уже показывали что пишут новый с закосом под стиль 11-ки. Не думаю что они просто внешний вид переделывают.
>даже нормальной поддержки нейронок нет
Тьфу нахуй, максимум время сэкономит.
>Задача - писать код и не страдать от IDE.
Удачи тебе под выбранной утилитой для STM код писать, лол. Или если в конторе скажут что юзают X а ты выбрал Y. Ещё раз, свобода выбора есть далеко не всегда и когда она и есть, лучше отталкиваться от какой-то логики относительно целей.
Аноним 28/01/24 Вск 23:49:37 3024551 275
>>3024385
Вот именно. Внутри, реализации объекта а не рандомно в коде. Когда у тебя вся хуйня требующая особого внимания в конструкторах/деструкторах баги легче искать.
Аноним 28/01/24 Вск 23:50:39 3024554 276
>>3024549
> в конторе
Заебал, никто тут не пишет на крестах за деньги, даже в техподдержке хуи пинать лучше, ещё и за те же деньги.
Аноним 29/01/24 Пнд 00:04:40 3024566 277
>>3024554
Довольно спорно, в моей мухосрани почти все вакансии по плюсам, да и я сам с плюсам :0
Аноним 29/01/24 Пнд 00:17:42 3024589 278
>>3024566
И сколько платят? Хоть больше чем дворнику в ДС?
Аноним 29/01/24 Пнд 00:44:16 3024606 279
Аноним 29/01/24 Пнд 03:26:29 3024651 280
Вот бы переехать в Техас и разрабатывать боевых роботов для национальной гвардии.
Аноним 29/01/24 Пнд 06:40:32 3024705 281
изображение.png 41Кб, 640x365
640x365
изображение.png 62Кб, 915x458
915x458
Тред сишников куда то делся и поэтому высрусь здесь.
На что компилятор жалуется?
Аноним 29/01/24 Пнд 07:39:37 3024732 282
>>3024705
На то что ты пидор считать до трёх не умеешь.
Аргументы, которые ты передаёшь макросу:
1 - obj
2 - {float x
3 - y;}
Аноним 29/01/24 Пнд 09:21:27 3024764 283
>>3024705
Тут надо юзать
#define COMMA ,
иначе препроцессор тебя не поймет.
Аноним 29/01/24 Пнд 09:41:15 3024782 284
>>3024705
Препроцессору насрать на фигурные скобки, он не знает, что это такое, видит запятую между x и y и интерпретирует это как разделитель аргументов.
Аноним 29/01/24 Пнд 11:13:01 3024899 285
Аноним 29/01/24 Пнд 11:26:53 3024934 286
Добрый день. Помогает ли изучение C++ в понимании принципов программирования в целом и может ли быть использован как хорошая база в освоении других ЯП? В частности те методики, которые представлены в книжках могут быть использованы в других ЯП или там все исключительно для понимания принципов работы C++? Тут есть те, кто учит C++ для саморазвития в программировании, а не для устройства на работу с ним? Думаю начать учить C++ вторым языком.
Аноним 29/01/24 Пнд 11:27:20 3024935 287
Аноним 29/01/24 Пнд 11:28:44 3024938 288
>>3024934
если тебе для заработка, то лучшая стратегия это углублять знания о выбранном тобой яп и платформе, на которой ты зарабатываешь деньги, а не распыляться на что то другое
Аноним 29/01/24 Пнд 11:52:33 3024979 289
>>3024934
Для этих целей лучше пойти в Си тред и навернуть книжецу из оппика
Аноним 29/01/24 Пнд 11:55:41 3024984 290
изображение.png 13Кб, 802x336
802x336
>>3024979
Си треда больше нет
Аноним 29/01/24 Пнд 11:56:48 3024985 291
>>3024934
Чел, для саморазвития первым делом учи функциональщину - Хачкель как теоретический ЯП и Окамл как практическую функциональщину. Потом ассемблер. Всё. Кресты нужны чтоб писать код, а не саморазвиваться, тут ты можешь только развить умение читать легаси. Если хочется увидеть много интересных вещей в ООП - смотри на D.
Аноним 29/01/24 Пнд 12:53:54 3025054 292
>>3024985
Зачем учить функциональщину? Она неестественна как для человеческого мозга, так и для машины. Объекты естественнее, проще и понятнее.
Аноним 29/01/24 Пнд 13:11:55 3025077 293
>>3025054
> Зачем учить функциональщину?
Чтобы не превращаться в извращенца пидеРаста, пытаясь написать безопасный код.
Особенно актуально когда у тебя мультипарадигменный язык как кресты, а ты бездумно пишешь строго в ООП/процедурном стиле.
Аноним 29/01/24 Пнд 13:36:10 3025098 294
>>3025077
>пишешь строго в ООП
А минусы будут?
Аноним 29/01/24 Пнд 13:43:39 3025107 295
>>3024589
Мне не интересно сколько платят дворнику в ДС. В Мухосранях СИ/С++ требуется, зп по региону выше среднего.
Далеко не все хотят уезжать из уютных мухосраней в вонючий ДС.
Аноним 29/01/24 Пнд 13:53:54 3025127 296
>>3025077
Раст в этом плане из коробки более функционален чем плюсы лол
Аноним 29/01/24 Пнд 14:38:45 3025228 297
>>3025077
"Безопасный код" тогда проще всего на js писать. Зачем хаскелем себя мучать? Функциональщина вообще нигде не взлетела. Даже в HFT, где тупых в принципе не держат, и нет проблем хоть академиков набрать на любую зарплату, все равно пишут на плюсах и джаве.
Аноним 29/01/24 Пнд 14:47:24 3025240 298
>>3012308 (OP)
Можете подсказать, почему компилятор не видит конвертирующий конструктор:

template<typename T, class Deleter = std::default_delete<T>>
class UniquePtr {
public:
/.../
template<std::derived_from<T> U>
UniquePtr(UniquePtr<U, Deleter>&& other) noexcept
: resource{ other.release() },
D{std::move(other.get_deleter()) } { }
/.../

class S {
public:
virtual void bar() { std::cout << "S::bar\n"; }
};

class D :public S {
public:
void bar() override { std::cout << "D::bar\n"; }
};


UniquePtr<D> derived(new D{});

UniquePtr<S> based{ derived }; -- тут пишет что отсутствуют экземпляры конструктора
Аноним 29/01/24 Пнд 14:52:53 3025248 299
>>3024985
>>3024985
Покаж свой гитхаб, набитый проэктами на хачкеле и окамле. Или у тебя нет права такое советовать.
Аноним 29/01/24 Пнд 14:55:18 3025254 300
>>3025107
>В Мухосранях СИ/С++ требуется
Шиза ебаная. Что для тебя мухосрань. Типичный 300к областной/крупный районный центр - и там за небольшим исключением будет 0 (ноль) разработки на крестах локальной.
Аноним 29/01/24 Пнд 14:56:01 3025255 301
>>3025240
Попробуй based{ std::move( derived ) } сделать.
Аноним 29/01/24 Пнд 14:58:09 3025256 302
>>3025254
Набережные Челны, например, лол. Там Алабуга, которая набирает крестовиков с зарплатами по 500тыр.
Аноним 29/01/24 Пнд 14:59:47 3025258 303
>>3025228
>HFT
о да бля ахуенно актуально для россии где на биржах в принципе нету высокочастотной торговли ибо модель торгов другая
Аноним 29/01/24 Пнд 15:02:08 3025267 304
>>3025228
> Функциональщина вообще нигде не взлетела.
Взлетела там где нужен гарантированно безопасный код с высоким уровнем абстракций. На Lisp например в НАСА или Боинге под некоторые задачи пишут, OCaml в финансовых корпорациях используется. Понятное дело в вебе или просто педоликам проще хуяк-хуяк на ООП слепить тонну легаси, а когда у тебя в принципе не должно быть легаси в коде - тут уже ООП серит себе в штаны, т.к. какой-нибудь солид требует писать расширяемый код, а не модифицируемый.
Аноним 29/01/24 Пнд 15:03:19 3025271 305
>>3025256
чел это не мухосранск
Аноним 29/01/24 Пнд 15:04:58 3025275 306
>>3025258
Ну приведи другую область, где функциональщина может в принципе взлететь. Обычный аргумент функциональщиков - ряяя, тупое быдло не осиливает. В HFT тупого быдла нет. В науке тоже тупых мало, но там питон, матлаб, фортран, плюсы. Окамл только на компсаенс кафедрах, и за их пределы не вылезвает.
Аноним 29/01/24 Пнд 15:10:35 3025283 307
>>3025254
Мухосрань это до ляма
Аноним 29/01/24 Пнд 15:10:38 3025284 308
>>3025267
>На Lisp например в НАСА или Боинге под некоторые задачи пишут
Лисп - это функциональщина уровня js лол. Что-то на лиспе в НАСА писали в 80-х и немного в 90-х на волне АИ хайпа, потом бросили.
>OCaml в финансовых корпорациях используется
Почти нигде не используется. Вакансий нет, историй успеха нет. Чисто академический язык.
Аноним 29/01/24 Пнд 15:11:02 3025286 309
>>3025267
А ты не очень умный.
Аноним 29/01/24 Пнд 15:14:10 3025292 310
>>3025267
>Взлетела там где нужен гарантированно безопасный код с высоким уровнем абстракций.
"Гарантированно безопасным" будет код только со статической аллокацией. Из функциональных языков такое возможно только в ATS, в остальном на некоторых из них можно только корректность алгоритма доказывать, но для этого обычно используют статические анализаторы.
Аноним 29/01/24 Пнд 15:21:47 3025306 311
Какой гений придумал добавлять в язык возможность создавать функции вне классов? Почему каждый раз создавая функцию я по этой причине должен указывать класс_нейм::функ_нейм ? Почему в языке которому уже чёртову кучу лет до сих пор существуют такие удобные вещи как хэдер файлы, чтоб дважды писать одно и то же в разных местах?
Аноним 29/01/24 Пнд 15:25:40 3025315 312
>>3025306
Потому что не все пишут опен-сорс, и многим надо скрывать имплементацию. Чтобы делать это без хидеров, нужны переносимые модули с универсальным форматом, который будут понимать все компиляторы. Такой сложной штуки комитет и разработчики компиляторов осилить не смогли, поэтому кушаем хидеры.
Аноним 29/01/24 Пнд 15:43:06 3025339 313
>>3025315
Майкрософт годную технологию придумала COM - https://learn.microsoft.com/ru-ru/windows/win32/com/component-object-model--com--portal

А у Борланда был (а скорее всего есть и сейчас, но уже у Эмбаркадеры) довольно забавный и весьма весьма мощный TLB-editor.

Но чтобы это осознать, для начала надо признать и принять что CORBA это хуйня из под коня.

COM -технология не идеальна, она overblow, требует наличие большого, единого и неповоротливого реестра, но, ловите мнение эксперта - на сегодняшний день ничего лучше не придумано и скорее всего даже не опубликовано в исследованиях.
Аноним 29/01/24 Пнд 15:50:16 3025359 314
>>3025339
>corba
>com
>borland
Скуфидоны, о чем вы вообще? Почитайте современные книжки по плюсам и в целом освежите свои знания. Не надо вскрывать эту тему, борланд это даже не флеш или активеэкс
Аноним 29/01/24 Пнд 15:55:19 3025372 315
>>3025359
Это не скуф, это дед. Имей уважение!
Аноним 29/01/24 Пнд 15:55:29 3025375 316
>>3025359
Только долбоёбы уверены в том, что Майкрософт похоронила COM, на котором половина Винды основана. И, как оказалось, очень даже хорошо что "мелкомягкие" так старательно присыпали всякой мишурой свою Component Object Model - это чтобы такие как ты туда свои кривые ручонки не запускали.
Аноним 29/01/24 Пнд 16:03:33 3025395 317
>>3025339
При чем тут COM вообще? Я хотел пидоров комитетских палкой ткнуть, которые 15 лет изобретали модули, и вышла ненужная хрень, кривая замена PCH.
Аноним 29/01/24 Пнд 16:41:04 3025474 318
>>3025283
Неа, мухосрань это город где жизнь остановилась. Типа Вологды или Твери, вообще весь вымирающий "русский север".
Аноним 29/01/24 Пнд 16:45:13 3025484 319
>>3025275
Да нигде она не может взлететь лол. Даже в контексте этого треда. Взять хотя бы метапрограммирование на 98 стандарте. Тогда это осуществлялось по сути через функциональный подход, ибо иначе никак - а именно рекурсия, паттерн-матчинг и иммутабельные переменные. И че кто нибудь делал это в продакшене? Да нихуя, чисто state of art код. А в продакшене делали внешнуюю кодогенерацию если надо было. Никто не корячился на шаблонах.
Аноним 29/01/24 Пнд 16:57:30 3025507 320
>>3025306
если вкратце - то лишь потому что с++ создавался как надстройка над си
Аноним 29/01/24 Пнд 17:04:40 3025514 321
>>3025315
тебе никак модули не позволят скрыть имплементацию
скрыть имплементацию ты можешь только оформив код в динамически загружаемую библиотеку, из которой могут торчать си-совместимые функции и все
в этом то и состоит, кстати, главный посос крестов по сравнению с явкой и шарпом
главнейший посос из-за чего кресты подыхают кстати
и за 20 лет ни одна сука ни на одной конференции про это не заикнулась лол
Аноним 29/01/24 Пнд 17:15:03 3025531 322
>>3025395
>>3025359
ну дак он и отвечает на пост выше где вякнули про "скрыть имплементацию"
сделать это можно только через дин библиотеку
из нее будут торчать сишные функции и ничего более, и это крайне убого, убого это было уже в начале девяностых а сегодня это просто пиздец по сравнению с тем как подобные вещи делаются в явке или шарпе
как то компенсировать это можно только создав на базе этого (и сохранив совместимость) надстройку, использовав компонентный подход - как раз это com в винде или gobject в линуксе, и тогда это будет еще все более-менее терпимо
либо второй подход - это делать что то глобальней, а именно запиливать систему удаленного вызова процедур/методов/объектов, одной из примеров таких систем и являлся стандарт CORBA
Аноним 29/01/24 Пнд 17:15:11 3025532 323
>>3025514
Ты херню какую-то говоришь. Dll с сишными функциями нужны только для связки с другими языками. В C++ хидеры и объектные файлы уже позволяют скрывать имплементацию: можно поставлять хидеры и собранную либу, хоть dll, хоть статическую. Модули теоретически позволили бы не разделять определения и имплементацию в коде, т.е. можно было бы импортировать собранный файл модуля, и компилятор выдавал бы все определения. Как dll в шарпе или jar в джаве.
Аноним 29/01/24 Пнд 17:35:08 3025577 324
>>3025532
это ты херню говоришь
стандартизированного экспорта классов в крестах нет
только си-совместимые функции и все
Аноним 29/01/24 Пнд 17:55:06 3025609 325
>>3025577
Это проблема из 90-х. Сейчас фактически осталось только два формата библиотек: юниксовый и MSVC, и gcc умеет делать def, чтобы, например, линковать dll собранную MSYS к MSVC. В vcpkg под виндой, например, куча либ через MSYS собирается, и проблем с линковкой нет.
Аноним 29/01/24 Пнд 18:02:00 3025619 326
>>3025375
да всем насрать на виндоус, лол
Аноним 29/01/24 Пнд 18:04:47 3025621 327
>>3025306
> должен указывать класс_нейм::функ_нейм
И кто тебя заставляет, пердоля? С темплейтами вообще нельзя определение и имплементацию в разных файлах иметь.
> дважды писать одно и то же в разных местах
Так не пиши. Модули уже давно везде работают, даже std на модулях вышла из экспериментальной.
Аноним 29/01/24 Пнд 18:20:38 3025637 328
Аноним 29/01/24 Пнд 18:37:38 3025657 329
>>3025621
> с темплейтами нельзя
Ну ты обосрался. Можно еще как.
Аноним 29/01/24 Пнд 18:43:48 3025667 330
image.png 17Кб, 1896x265
1896x265
Аноним 29/01/24 Пнд 18:46:44 3025669 331
>>3025657
Есть штуки в темплейтах, когда реализация должна быть строго в хедерах. И их много. Не назову, потому что не пишу шаблоны.
Аноним 29/01/24 Пнд 18:55:35 3025683 332
>>3025637
скуфидон, иди на пенсию уже, дорогу молодым
Аноним 29/01/24 Пнд 19:52:02 3025782 333
image.png 54Кб, 876x468
876x468
>>3025667
>Но ведь он прав.
Нет, конечно. Он глубоко заблуждается.
Аноним 29/01/24 Пнд 19:54:57 3025787 334
>>3025782
Я понимаю если бы это был тред для домохозяек или для игродебилов, но будучи разрабом сидеть на винде, если ты не пишешь под винду - это клиника.
Аноним 29/01/24 Пнд 20:02:36 3025796 335
image.png 16Кб, 458x306
458x306
Умножаю int 2^32 на int 2^6 и прибавляю 1
возвращаю long long, ожидаю увидеть 2^38 + 1, а вижу 0 + 1
В чем я не прав?
sizeof(long long) == 8
Аноним 29/01/24 Пнд 20:02:40 3025797 336
>>3025787
>если ты не пишешь под винду - это клиника.
Ты два раза не прав.
Я пишу кросспалтформу. Всё кроссплатформенное за интерфейсы спрятано. Это раз.

Это тред С++? Тогда ты обязан знать что есть только одна среда разработки для С++ - MS Visual Studio. Всё под всей платформы пишется и отлаживается в ней, а затем переносится на целевые платформы. Так весь мир работает, если ты не знал.
Ну, кроме Торвальдса и и нескольких десятков его подсосов.
Аноним 29/01/24 Пнд 20:07:49 3025810 337
>>3025797
>Так весь мир работает, если ты не знал.
Далеко не весь. Во многих конторах можешь на чем хочешь сидеть и любыми тулзами и ИДЕ пользоваться. Но под виндой там как правило самые упертые и консервативные мамонты сидят. Чисто виндовые обычно конторы, которые начинали чисто с виндового продукта и им потом потребовалась кросс-платформа (и они ее делают на отъебись).
Аноним 29/01/24 Пнд 20:13:06 3025825 338
>>3025797
В голос с этого спермовода. Компилятор нормальный завезли хотя бы в твою студию?
Алсо, винда настолько удобная, что пришлось встраивать в нее Линукс в виде WSL, чтобы совсем убогими не казаться.
Аноним 29/01/24 Пнд 20:22:16 3025835 339
>>3025796
В том что заигрываешь с переполнением
Аноним 29/01/24 Пнд 20:25:11 3025842 340
>>3025796
UB UB ГРОБ ГРОБ КЛАДБИЩЕ
Аноним 29/01/24 Пнд 20:29:29 3025851 341
>>3025825
>Алсо, винда настолько удобная, что пришлось встраивать в нее Линукс в виде WSL, чтобы совсем убогими не казаться.
При чём тут удобство? Это как раз наоборот, чтобы можно была писать на удобной винде под неудобный линукс без ебли с виртуалками.
Аноним 29/01/24 Пнд 20:31:48 3025854 342
>>3025851
Жир пиздец.
Линух как система для девелопера в 100 раз удобнее.
Аноним 29/01/24 Пнд 20:33:38 3025859 343
>>3025851
>Это как раз наоборот, чтобы можно была писать на удобной винде под неудобный линукс без ебли с виртуалками.
Ты даже не стараешья, поэтому я отказываюсь в этом учавствовать.
Аноним 29/01/24 Пнд 20:47:14 3025884 344
Аноним 29/01/24 Пнд 20:50:40 3025890 345
Аноним 29/01/24 Пнд 20:52:28 3025895 346
1706550747860.jpg 45Кб, 735x794
735x794
> лучшая ос для разработки
Макос же
Аноним 29/01/24 Пнд 21:32:56 3025936 347
>>3025895
Для разработки ануса.
Аноним 29/01/24 Пнд 22:42:38 3026013 348
Есть скомпилированный файл приложения в ubuntu (без расширения, просто main), как запустить его в windows ?
Когда запускаю мне вылетает сообщение от windows - "Невозможно запустить это приложение на вашем ПК. Что бы найти версию для вашего компьютера, обратитесь к издателю приложения". А ?
Аноним 29/01/24 Пнд 22:46:44 3026016 349
>>3026013
Если повезёт, то через WSL. Если не повезёт, то вообще никак, хоть убейся, придётся виртуалку с линуксом разворачивать.
Аноним 29/01/24 Пнд 23:09:48 3026042 350
>>3026013
> А ?
Хуй на, пердоля.
Аноним 29/01/24 Пнд 23:17:41 3026046 351
image.png 88Кб, 1027x886
1027x886
>>3025782
Кстати вот тоже пример разрывов и неравномерностей
Аноним 29/01/24 Пнд 23:20:30 3026048 352
>>3026016
Ага. Или обрвтиться к разработчику приложения.
Аноним 29/01/24 Пнд 23:51:38 3026079 353
image.png 10Кб, 525x141
525x141
>>3025825
>Компилятор нормальный завезли хотя бы в твою студию?
Охуенный компилятор.
Аноним 30/01/24 Втр 00:16:41 3026103 354
Аноним 30/01/24 Втр 00:34:36 3026112 355
Аноним 30/01/24 Втр 01:09:40 3026123 356
>>3025854
Нет. Нужно писать либо в текстовом редакторе с подсветкой синтаксиса, а потом компилировать в симейк, либо использовать неудобные или зашкварные IDE. Тот же Clion это зашквар, написанный на java от зашкварной джабаебской компании Jetbrains
Аноним 30/01/24 Втр 01:22:12 3026126 357
>>3026123
>Нужно писать либо в текстовом редакторе с подсветкой синтаксиса, а потом компилировать в симейк
Дед, 90-е давно закончились, сейчас в любом "редакторе с подсветкой синтаксиса" есть все возможности IDE благодаря LSP.
>Тот же Clion это зашквар
Почему? Это в нулевые он тормозил, сейчас он работает норм на любом днищеноуте.
Аноним 30/01/24 Втр 02:21:02 3026151 358
>>3012308 (OP)
Есть моар картинки с пикрила? Что-то даже и на русском было
Аноним 30/01/24 Втр 02:32:03 3026153 359
image.png 8Кб, 381x108
381x108
image.png 159Кб, 1920x1020
1920x1020
Чё бля?
Аноним 30/01/24 Втр 02:40:31 3026156 360
image.png 118Кб, 1920x1020
1920x1020
>>3026153
Язык без невидимой хуйни, да-да. Дебаггер после cin сразу 0 показывает.
Аноним 30/01/24 Втр 08:53:10 3026239 361
>>3025609
стандартизированного экспорта классов в крестах нет
Аноним 30/01/24 Втр 08:54:19 3026241 362
>>3025619
к сожалению, для разработки, оставшейся в россии, это во многом так
Аноним 30/01/24 Втр 09:05:40 3026251 363
>>3025669
это застарелая проблема крестов, которая так и не была решена
по стандарту 98 было две модели организации исходного кода шаблонов а именно модель включения и модель разделения (через ключевое слово export)
вторая модель так и не была реализована в мейнстрим компиляторах языка
и всегда используется только первая, которая означает что весь код шаблона должен выглядеть так как будто бы он встраиваемый (inline), что на практике означает что весь шаблон должен быть помещен в хедер файл (если код шаблона планируется задействовать в нескольких единицах трансляции, само собой)
Аноним 30/01/24 Втр 10:45:25 3026354 364
>>3026156
Господи мудила, ну посмотри в каком порядке ты аргументы принимаешь и передаешь.
Аноним 30/01/24 Втр 12:08:35 3026462 365
>>3026126
> сейчас в любом "редакторе с подсветкой синтаксиса" есть все возможности IDE благодаря LSP.

Есть такое слово Debug.
Код набирать и в vi можно.
Аноним 30/01/24 Втр 12:13:10 3026468 366
>>3026156
Что меня всегда добивало в пользователях плюсов, так это какой-то панический отказ от scanf, gets и т.д.

С++ это язык, в котором к результату можно прийти 1024 способами, три четверти из которых будут неэффективными, а остальные - весьма эффективными.
Аноним 30/01/24 Втр 12:16:02 3026471 367
>>3026468
> 2024 год
> калсоль!
Таких уродов давно пора кастрировать.
Аноним 30/01/24 Втр 12:23:49 3026483 368
>>3026471
Кажется ты не программист.
Аноним 30/01/24 Втр 12:34:55 3026494 369
>>3026046
Чё вы хуйню какую то обсуждаете вместо разрывов?
Аноним 30/01/24 Втр 12:40:22 3026502 370
>>3026462
>Есть такое слово Debug.
И в чем проблема с дебагом? Виндузятничка пугает консольный GDB? Так есть плагины для большинства редакторов-IDE.
Аноним 30/01/24 Втр 13:07:28 3026538 371
>>3026483
Кажется тебя давно пора кастрировать за тупость.

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

В 2024 году писать программу печатающую на телетайпе так же нелепо как делать автомобиль с лошадью вместо двигателя. Ты просто дегенеративный выродок которых нужно уничтожать.
Аноним 30/01/24 Втр 13:10:34 3026540 372
>>3026538
Консоль это ввод буковками. Чего жы ты аудио сообщением свой ответ не написал, а буковками?

мимо шел
Аноним 30/01/24 Втр 13:13:47 3026545 373
Аноним 30/01/24 Втр 13:24:42 3026561 374
чёто в треде говной пахнуло
Аноним 30/01/24 Втр 13:32:53 3026571 375
ДЕБАЖИМ ПЛЮСЫ ВОЙСАМИ ИТТ
Аноним 30/01/24 Втр 13:41:29 3026584 376
>>3026502
>Виндузятничка пугает консольный GDB?

Пугает? Ты сам то в нём много времени провёл?
Точку останова без поиска в гугле сможешь поставить?
Без man назовёшь ключ компиляции с отладочной инфой?

Не надо сравнивать удобство отладки в Visual Studio и gdb. Это несравнимые вещи.
Аноним 30/01/24 Втр 13:43:27 3026586 377
>>3026538
Пиздец, ты даже для "Мы вам перезвоним" ебанутый.
Тролль, что ли? Слишком жирно.
Аноним 30/01/24 Втр 14:24:20 3026656 378
image.png 138Кб, 625x390
625x390
>>3026584
Кем бы мог быть gdb в лучшем мире.
Аноним 30/01/24 Втр 14:25:03 3026657 379
>>3026584
>Ты сам то в нём много времени провёл?
Достаточно, и мне в нем удобнее, чем в студии.
>Точку останова без поиска в гугле сможешь поставить?
Смогу, там просто файл и строку указываешь. Но они в любом редакторе из интерфейса ставятся.
>Без man назовёшь ключ компиляции с отладочной инфой?
-ggdb
>Не надо сравнивать удобство отладки в Visual Studio и gdb. Это несравнимые вещи.
Да, в gdb есть суперкрутой принт и скрипты, это ставит его на голову выше студии.
Аноним 30/01/24 Втр 14:31:05 3026666 380
>>3026657
>суперкрутой принт

В visual studio нажимаешь Shift+F9 и 'print' будет ничем не хуже. И тебе нечего на это возразить.

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

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

А gdb - его приходится использовать на целевой платформе. Как средство для переноса программ между платформами - годен. Но отлаживать в нём так называемую "бизнес-логику" или разбор протоколовов каких. Ну-ну.
Аноним 30/01/24 Втр 14:38:29 3026687 381
>>3026538
Текст можно обрабатывать программно, гуй - можно, но очень сложно. Программист обычно выбирает текст и консоль, макака визжит и трясет ручками, чтобы ей добавили кнопочку в интерфейс.
Аноним 30/01/24 Втр 14:42:13 3026696 382
>>3026494
Вот вот, какие то конструкторы деструкторы, консоли сосноли. Давайте разрывы обсуждать
Аноним 30/01/24 Втр 14:44:27 3026700 383
>>3026666
>И тебе нечего на это возразить.
Принт умеет вызвать функции из кода, просто пишешь выражение как в коде, получаешь результат. Студия тоже умеет, но там это супергеморно.
>подвёл мышку к меременной - а она, вижуал студия, рисует тултип со сначением переменной.
Ну если у тебя все в переменных лежит, на которые мышку можно навести, то удобно, конечно. Если надо какую-то чуть более сложную структуру данных ковырять - то уже не очень.
Аноним 30/01/24 Втр 14:45:28 3026701 384
>>3026696
> Давайте разрывы обсуждать
Тебе нужно понять природу IEEE 754 (IEC 60559)
Для начала. А тогда уже можно и пообсуждать.
Аноним 30/01/24 Втр 14:50:15 3026721 385
>>3026700
>Если надо какую-то чуть более сложную структуру данных ковырять - то уже не очень.
Наоборот - можно даже в тултпиах по спискам бегать, да и не только по спискам, можно сложный структуры данных открывать. Это бомбовая вещь.

При этом на целевой платформе бывают ситуации, когда проще в коде printf'ами отладочной инфомации в консоль/лог навалить, нежели пытаться поймать ошибку в gdb.
Аноним 30/01/24 Втр 15:05:31 3026765 386
Аноним 30/01/24 Втр 15:12:16 3026786 387
Аноним 30/01/24 Втр 15:19:17 3026808 388
>>3026656
Не мог быть. Пердоговно не может быть хорошим, ибо сделано по принципу юниксвей - "мне в падлу делать хорошо, сляпаю огрызок, серану в консоль, и так сойдет, кому надо будет, сам слепит с чем-нибудь другим костылями из соплей".
Аноним 30/01/24 Втр 15:19:45 3026809 389
>>3026786
>к gdb куча фронтендов есть кстати

Разной степени удобства.
Visual Studio это де-факто стандарт разработки. Всякие железячники именно её используют. В мире. В России-то и железячников можно по пальцам пересчитать.
Аноним 30/01/24 Втр 15:24:01 3026815 390
>>3026808
TD386 без труда позволял взламывать игры. Просит тебя игра при первом старте ввести код с упаковки, а ты ей вместо кода Ctrl+Break и пошёл смотреть где она этот код проверяет. Шёлк-шёлк - оба-на, зачем такая сложная проверка, если в конце всё решает один jnz ?

Так что не надо тут рассказывать какой Турбо Дебаггер "говно".

Ты вообще не шаришь и нихуя не понимаешь в компьютерах. Тебе бы помолчать, послушать об чём люди толкуют, а не нести сюда свои убогие суждения.
Аноним 30/01/24 Втр 17:12:49 3026924 391
>>3026815
Читать научись на что отвечаешь, воен коленного рефлекса.
Аноним 30/01/24 Втр 19:34:34 3027123 392
image.png 163Кб, 817x796
817x796
>>3026924
А ты у народ поинтересуйся, кто лучше отвечает - ты или я :)

Твои посты подобны постам школьника, который услышал об WM_PAINT, скачал с MSDN пример, подправил в нём пару строчек, скомпилировал и увидел "своё первое окно". Ты спешишь поделиться радостью, заскочил в тему и в предверии своего триумфа начал обсирать консоль. Ну охуеть теперь. Вот именно так ты и выглядишь.

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

Есть так же небольшой шанс что ты автор 1001-ой библиоткуи виджетов и пришёл как говорили в fido7.mo.echo - зашёл жопой рекламировать свою библиотеку.

Ну и не исключён вариант что ты просто "долбоёб". Ты даже не представляешь на какое количество абсолютно разных людей наехал, наехавши на консоль.
Аноним 30/01/24 Втр 20:18:05 3027194 393
>>3027123
Во-первых

>Твои посты подобны постам школьника, который услышал об WM_PAINT, скачал с MSDN пример, подправил в нём пару строчек, скомпилировал и увидел "своё первое окно"

будто что-то плохое

Во вторых: ты чё такой обиженный?

мимо
Аноним 30/01/24 Втр 20:28:57 3027214 394
image.png 123Кб, 801x629
801x629
>>3027194
А нахуя он консоль, мать нашу, обижает? За мать будем ебать!

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

И я сам таким бывал, хотя до бреда супротив консоли никогда не доходил.
Аноним 30/01/24 Втр 22:55:02 3027418 395
>>3027214
Ну тогда согласен, консоль надо уважать
Аноним 30/01/24 Втр 23:05:53 3027441 396
>>3023577
Не помогает.
ЦэПлюсПлюс - рассчитывает, что ты уже, как минимум, освоил си на уровне - можешь писать комерческий софт или хотя бы прошивки/драйвера, и теперь тебе надо УЛУЧШИТЬ ЭКСПИРИЕНС.
Соответственно, если плюсы будут первым языком, ты больше будешь ловить себя на "А ПОЧЕМУ ТАК-ТО? ПОЧЕМУ, БЛЯДЬ???" А когда спросишь у кого-нибудь, тебя нахуй пошлют(потому что 95% не знают на самом деле)

Я просто помню, как сука охуенно-то в вузе было.
Вывод кирилицы в консоль: А ТЫ НЕ ЗАБУДЬ setlocale(LC_ALL, "")ю
Число к строке приобразовать itoa/std::to_string
Нормальный форматированный вывод даты - просто иди нахуй, просто иди нахуй.
И вот куча вот этой вот хуйни.

А захочешь чего-то полезного для себя написать, тот же чатик - БУСТ, блядь. Сука. БУСТ, ебучий. Не нравится буст? НУ ТЫ ЛОХ! Ну да ладно, тогда бери винапи а сверху читай маны по линуксам, чтобы ебучие байтики по сети передать. В то время, как на любом другом языке у тебя будет что-то в духе: new TcpServer(new MyConnectionHandler()).Run(); и все, нахуй. Но не в плюсах. В плюсах - либо бери бусты, либо делай велосипед для любой простейшей хуйни.

Сверху. Просто охуитительная система сборки. Ее нет кста. Бери компилятор, бери мейк, прописывай пути к библиотекчкам руками. НЕ ЗАБУДЬ, ЧТО НАДО .CPP .HPP писать как долбоеб. И порядок методов не забудь, А ТО КОМПИЛЯТОР НЕ РАЗБЕРЕТ. Сейчас же, блядь, 2024 год, технологии не дошли до многопроходных компиляторов.

И ради чего? Ради нихуя. Перформанс плюсов в современном мире, только на фоне питона чем-то пиздатым кажется. А если взять ту же джаву, там даже не в 2 раза разница. Зато все есть. Бери. Пользуйся. Кайфуй.

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

Советую, если начинаешь, брать нормальный язык. Жава, Питон, Жаваскрипт, на худой конец - шарпы. Ну а если эти крохи перформанса, которые плюсы дают таки хочется - бери раст, там хоть нормальный туллчейн и из коробки есть почти все, что нужно, чтобы что-то полезное писать.
Аноним 30/01/24 Втр 23:25:50 3027463 397
1553835834618.png 264Кб, 1264x1563
1264x1563
1685026339421.png 274Кб, 1257x1626
1257x1626
>>3027441
Пиздос ты поехавший.
> setlocale
> itoa
> вывод даты
Как там на ХР с сишкой и без std? Ты тред не попутал?
> Ее нет кста.
Шзоид, фактический стандарт индустрии на крестах в 2024 - cmake. Там не надо делать ничего из перечисленного тобой. В каком-нибудь CLion ещё и гуй есть, даже в конфиг никогда не придётся заглядывать.
> Сейчас же, блядь, 2024 год
Так ты из 2004 вещаешь, шизик.
> там даже не в 2 раза разница
А в 5-10, когда надо алгоритм написать, джава ещё и памяти сожрёт в десять раз больше.
Аноним 30/01/24 Втр 23:32:28 3027467 398
>>3027441
> Буст
Открой для себя мир кути. Не панацея, но очень годно.
> Системы сборки
Смаке конечно кал, но не надо нам и так долгий компилятор ещё сильнее нагружать. Пусть хоть как то работает
> Раст
Пока что слишком сырой. А так обмазаться опционалами можно и в плюсах.
> Брать нормальный язык
Так плюсы и есть нормальный язык. Со своими фичами и ценой за них. Это вы ненормальные.
Аноним 30/01/24 Втр 23:37:59 3027471 399
Если я неплохо знаю шарп трудно будет в плюсы вкатиться?
Аноним 30/01/24 Втр 23:40:20 3027475 400
>>3027471
Не будет сложно, скорее непривычно что рядом с сахарницей стоит банка с цианидом.
Аноним 30/01/24 Втр 23:41:01 3027476 401
>>3027471
И да, и нет.
А зачем? Деньги легяе на шарпе зарабатывать.
Аноним 31/01/24 Срд 00:13:52 3027498 402
>>3027441
БАЗА
Шизики итт уже начали перекрывать своими нелепыми мувами базу, мол симейк есть (фактически стандарт лол), кути, который не пришей пизде рукав тут вообще. Очень слабо. Давайте по всем пунктам кройте или соснули.
Аноним 31/01/24 Срд 04:47:13 3027673 403
image.png 7Кб, 381x108
381x108
image.png 136Кб, 1920x1020
1920x1020
image.png 160Кб, 1920x1020
1920x1020
>>3026156
Ещё раз, для тупых, пик 1. Инфа в книжке от создателя языка не соответсвует его поведению. Там написано, что если дать программе неправильный ввод, то будет понятно, что он неправильный, потому что возраст будет -1. Но когда я ввожу точь, сука, в точь как в книге, я получаю 0.

Откуда там 0? Ну же, шизы, эксперты битоёбли, рассказывайте, как ваш "эффективный" язык без GC и прочей "ненужной" хуиты рандомные значения пихает в переменные без моего ведома? Почему 0 вместо -1 и, самое главное, почему попуск на создателе языка об этом не знает. Стандарт указан 14, я коммпилил 14.

Хотя ладно, один раз я получил -1. Когда дал ^Z после ввода первого значения в PS.
Аноним 31/01/24 Срд 06:30:51 3027689 404
.png 64Кб, 916x668
916x668
>>3027463
Ну, ладно. Я на самом деле зря наверное так вот злобно написал. Просто хотел типа в двачевском стиле.
Так-то да. Я на плюсах активно писал на первых курсах, а было это как раз во времена, когда XP был актуальным.
Но срсли. Личный опыт таки неприятный. Особенно по сравнению с джавой, которую стали к третьему курсу давать.

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

Корче. Я все равно не рекомендую новичку брать первым языком для изучения плюсы. Больше батхерта испытает, по итогу - либо дропнет, либо переключится на более удобный для себя язык.
Аноним 31/01/24 Срд 07:13:31 3027714 405
>>3027475
И в сахарнице тоже цианид.
Аноним 31/01/24 Срд 07:20:51 3027715 406
>>3027673
Долбоёб, ты сначала имя вводи, а затем возраст.
Совсем белены объелся?
Аноним 31/01/24 Срд 08:19:34 3027731 407
>>3027714
Да ладно! В натруженных руках это всемогущий инструмент.
Аноним 31/01/24 Срд 09:40:31 3027784 408
>>3027731
Одебилевший от шарпа зачерпнет ложку цианида и подохнет. Кто начал со скриптов никогда не поймет программирование, это мертворожденный зомби с тухлой жижей вместо мозгов.
Аноним 31/01/24 Срд 09:55:02 3027792 409
>>3027673
Потому что это либо УБ, либо иди читай спеки ввода и что там при не совпадении типов.
Аноним 31/01/24 Срд 10:24:20 3027813 410
Объясните мне, почему вы, выродки, до сих пор пишете нейспейс для доступа к имени вместо использования using? Кодовая база на плюсах это по умолчанию блевотный высер слепого. Исключений не бывает.
31/01/24 Срд 12:02:31 3027938 411
>>3027673
И вот это животное тоже считается человеком.
> cin >> first_name >> age;
Аноним 31/01/24 Срд 15:59:37 3028294 412
>>3027813
> пишете нейспейс для доступа к имени вместо использования using?
В хэдере это делать нельзя - протечет что не нужно
Целый неймспейс юзать сразу, тоже такое себе, конфликт имён легко словить
Выцеплять каждый пук через using namespace::name, так это только засорить начало файла
Аноним 31/01/24 Срд 16:25:47 3028359 413
>>3028294
> В хэдере
Как там в 2017? Про модули не слышал? Из них ничего не течёт.
Аноним 31/01/24 Срд 16:46:24 3028401 414
да я смотрю никто из разработчиков компиляторов и систем сборки до сих пор про модули не слышал
(кроме мелкософтных которые скорее всего своё говно и продавили в комитете)
Аноним 31/01/24 Срд 16:57:00 3028425 415
>>3028401
> компиляторов
Шланг поддерживает больше года, MSVC уже три года как.
> систем сборки
cmake и msbuild поддерживают уже давно, нахуй ты пиздишь.
> не слышал
При этом уже std на модулях переписана и зарелизена после трёх лет тестов, ага.
> своё говно
Самая нужная вещь в современных крестах, наконец можно пидорнуть хедеры и писать код в одном месте без ебли с инклюдами. Ещё и std одной строчкой импортится, вместо десятков инклюдов на каждую фичу.
Аноним 31/01/24 Срд 17:54:19 3028490 416
>>3028359
Предлагаешь поесть говна чтобы не пить мочу?
Аноним 31/01/24 Срд 18:58:54 3028588 417
загадка.jpeg 129Кб, 811x456
811x456
Аноним 31/01/24 Срд 19:38:11 3028636 418
>>3028588
всё, я бросаю плюсы, пойду дальше жсоны перекидывать на жаба скрипте и пить смузи
Аноним 31/01/24 Срд 19:43:06 3028651 419
Аноним 31/01/24 Срд 19:43:54 3028653 420
>>3028588
Ну идёшь до элемента запоминая один прошлый, что сложного?
Аноним 31/01/24 Срд 19:46:30 3028659 421
>>3028653
Сложность в том, что указателя на начало списка у тебя нет.
Аноним 31/01/24 Срд 19:49:16 3028662 422
>>3028659
Ну тогда:
1) Сканим хип процесса
2) находим наш указатель
3) меняем на следующий
4) чистим память по этому
Аноним 31/01/24 Срд 19:53:08 3028669 423
>>3028588
Если нам нужно убрать значение, то можем заменить текущее на следующее, и удалить следующую ноду. Указатель на след поставить на через одну.
Аноним 31/01/24 Срд 22:10:45 3028909 424
>>3027715
>>3027938
Сука, вы реально настолько тупые? В этом и суть примера что после добавления инициализации если пользователь проебется и введёт задом наперед возраст будет -1. Там весь подраздел про инициализацию и почему она должна присутствовать в 99% случаев. Ошибка продемонстрирована намеренно, но когда я её проверил получил другой результат.

Ещё раз с++виньи, почему поведение программы из книги от создателя языка не соответствует реальности?

>>3027792
Уже хоть какой-то ответ. Хочешь сказать что реализация cin пихает в числа 0 на символах? Если да то почему об этом не знает создатель языка?

Тот факт что терминал винды на ^Z всё же выдает -1 значение которое там и должен быть, напоминаю намекает что возможно зависит от реализации конкретной ОС. Надо будет в cmd попробовать вместо PS.
Аноним 31/01/24 Срд 22:15:11 3028915 425
>>3028588
Это задача не имеет ответа, без ответа на вопрос - циклический список или нет.
Если список не циклический, то запрошенное действие невозможно.
Если список циклический... ну, вы понЕли.
Аноним 31/01/24 Срд 22:15:42 3028916 426
image.png 151Кб, 571x743
571x743
image.png 100Кб, 574x603
574x603
>>3027673
Вот вам фулл подраздел, для даунов, если не верите.

Так что там по стандартизированному языку, пидорки?
Аноним 31/01/24 Срд 22:18:13 3028919 427
>>3028909
>Ещё раз с++виньи, почему поведение программы из книги от создателя языка не соответствует реальности?
>
Глупая девочка, ты пытаешься спорить со стандартом? Не рекомендую - соснёшь с проглотом.

Твоя задача решается элементарным вводом двух строк и последующим анализом ввода. Всё! И ради такой хуйни ты уже который день ебёшь тут мозги анонам?
Лучше скажи как сюда jpeg7zip цеплять. Или tar попробовать?
Аноним 31/01/24 Срд 22:21:10 3028921 428
>>3028916
Тупая-пизда-вкатун, иди нахуй. Просто развернулась, взяла свою тупую голову в руки и ка-а-а-а-а-ак попиздовала нахуй, чтобы только пятки сверкали.
Аноним 31/01/24 Срд 22:52:25 3028956 429
>>3028359
> Про модули не слышал?
Слышал, в 20 стандарте ввели, до сих пор нихуя не работает
Аноним 31/01/24 Срд 22:55:53 3028963 430
>>3028909
> из книги от создателя языка
Добро пожаловать, Страуструп долбоеб

который не особо сильно решает в языке
Аноним 31/01/24 Срд 23:08:06 3028969 431
1587885979684.png 343Кб, 1762x1087
1762x1087
>>3028916
> фулл подраздел
Во-первых, иди нахуй.
Во-вторых, у тебя на пиках говно какое-то, а вот пикрилейтед стандарт. По стандарту для инта вызывается num_get, который возвращает 0, т.к. не смог распарсить число.
> книжке от создателя языка
Что ещё притащишь от создателя языка? Какое он имеет отношение к стандарту?
По итогу мы выяснили только то что ты пидор.
Аноним 31/01/24 Срд 23:46:09 3029018 432
>>3028916
А как ты умудрился натянуть труп страуса на стандарт?
Он язык родил создал, а воспитывают совсем другие люди комитет
А пьет за гаражами он с третьими разработчики компиляторов
Плюс он мог банально ошибиться. Или, что ещё проще, за время существования книги стандарт поменялся.
Аноним 31/01/24 Срд 23:56:35 3029019 433
>>3029018
> Или, что ещё проще, за время существования книги стандарт поменялся.
Там же была изначальная книга от него по С++98. А потом уже неизвестные редакторы, не факт что даже с участием Страуса, апали редакции под новые стандарты, пока не дошли до абсурда с С++20. Хотя очевидно что Страус не знает современного стандарта, С++11 уже без него рожали. Все эти "garbage value" - это дыры в безопасности, естественно их прикрыли в каком-то стандарте.
Аноним 01/02/24 Чтв 00:04:30 3029021 434
>>3029019
Примерно поэтому я книги по плюсам и не читаю. Исключение - Мейерс 2014. Отличное введение в современные плюсы после вузовского Си с классами. А все остальное cppref + SO.
Пока выйдут книги по старому стандарту выйдет новый стандарт. Сппкон гораздо полезнее в этом плане. Хотя чё то самые годные 17-18 год будто.
Алсо:
Накидайте годных лекций с сппкона.
Аноним 01/02/24 Чтв 01:57:34 3029077 435
>>3028921
Пошёл нахуй, псина.

>>3028919
>>3028969
>>3029018
>>3028963
>>3029019
Слава богу, хоть кто-то наконец-то понял что я спрашивал. Почему раньше не могли сказать? Я то думал что он там великий авторитет и имеет прямое отношение к разработке стандартов и прочей хуйни, а он лох.

Пересаживаться на Липпмана?

>Там же была изначальная книга от него по С++98.
Ты говоришь о C++ Programming Language которая как справочник по языку и STL как я понял. А это книга Programming Principles and Practices именно для вкатунов, которая есть в двух изданиях: для 11 и 14 стандартов. У меня, естественно, второе.

>>3029021
А где тогда учить? Всякие васяны и индусы обычно многое тонкости не упоминают в своих видосиках.
Аноним 01/02/24 Чтв 07:33:12 3029114 436
>>3029077
> А где тогда учить?
https://en.cppreference.com/w/
Или хотя бы это, но за качество перевода не знаю:
https://ru.cppreference.com/w/

Кто вообще читает книги по конкретным технологиям, которые меняются каждые несколько лет? Ты вот видел чтоб пидоРасты читали какие-то книги?
Аноним 01/02/24 Чтв 08:30:33 3029122 437
>>3029114
>Кто вообще читает книги по конкретным технологиям
Все нормальные люди. Ты не учишь язык по словарю, ты учишь его по учебнику/репетитору/индусу с Ютуба.
С ЯП/фреймворками принцип схож, просто дополнительно придется ознакамливаться с новыми версиями/стандартами языка. В идеале тоже по какой-то небольшой книге с примерами, но если к тому моменту опыт программирования есть то хватит просто почитать статью какую-то, примеры и самому накидать можно будет.
>которые меняются каждые несколько лет?
Синтаксис плюсов практически не менялся с его появления. if он и в 98 стандарте if.
>Ты вот видел чтоб пидоРасты читали какие-то книги?
Раст учится по растбуку, который, исходя из его названия, книжка. Просто они не отстали в развитии и залили его на халяву в удобное видное для всех место. И обновляют. Но там сильно решают удачные на данный момент решения из-за чего переписывать много не приходится + фанатичность комьюнити. Продаются печатные версии кому так удобнее. Правда надо отметить что книга для людей с опытом. Кто никогда не касался кодинга будет испытывать проблемы с пониманием почти наверняка. После изучения базы можно почитать растономикон который книга про некоторые более сложные вещи которые для десктопа не нужны совсем, весьма хуевую книгу по эмбеддед или туториалы по фреймворкам, по факту, тоже книги.

Так что тут я тебя вообще не понял. Раст учится не по документации как ты советуешь. Да, я вижу что на cppreference есть секция по базису языка, но она написана в недружелюбной для вкатунов форме. Скорее что-то чтобы по-быстрому пройтись по синтаксису имея опыт.

Начал читать параллельно Липпмана. Что понял на данный момент: Липпман долбит сам язык. Уже вначале книги рассказывает в подробностях за базовые типы, как указывать тип литералов, не стесняется упоминать Юникод и всё в этом роде.

Страуструп книгу направил именно на вкатунов так как любит пофилософствовать о том как писать программы правильно. Вкратце пояснил за типы, за безопасный и не очень каст а всё остальное либо дальше будет массивы и указатели у него ближе к концу книги, у Липпмана не смотрел но вроде в начале либо тебе оно не надо. Но вообще Страуструп дружелюбнее. Он растекается мыслями часто отходя от плюсов совсем, но в то же время говорит те вещи которые важны для любого ЯП. Та самая хуйня, о которой индусы и не вспоминают даже не работе.
Аноним 01/02/24 Чтв 08:52:30 3029131 438
>>3029122
> Ты не учишь язык по словарю, ты учишь его по учебнику/репетитору/индусу с Ютуба.
Хуёвая аналогия. Надо сравнивать изучение ЯП по книгам с изучением грамматики языков по детским сказкам.
> Синтаксис плюсов практически не менялся с его появления.
Меняется каждый стандарт. Из примеров для С++20 -> С++23: поменялся синтаксис лямбд, поменялся синтаксис ключевых слов this и auto, изменения с consteval - в том числе и синтаксис if поменялся, поменялся синтаксис индексации массивов. Это я перечислил только то что в голову сходу пришло, там ещё десяток мелких изменений. Синтаксис того что я перечислил от С++23 уже не валиден в С++20, хоть обратная совместимость и есть.
> Страуструп книгу направил именно на вкатунов так как любит пофилософствовать о том как писать программы правильно.
Только вот в его книге, как мы выяснили, код нерабочий.
Аноним 01/02/24 Чтв 08:58:42 3029137 439
>>3029131
>Только вот в его книге, как мы выяснили, код нерабочий.
Так и должно быть. Как еще определить что ты понимаешь код, а не копипастишь как дебил? Тот кто книгу читал, должен код понимать, понимать что он пишет, а значит исправлять ошибки. А если давать рабочий код. дебилы будут его копипастить совершенно ничему не учась, такая книга не имеет смысла.
Аноним 01/02/24 Чтв 09:03:32 3029148 440
>>3029122
последние книжки страуструпа очень плохие
читать стоит "язык с++ третье специальное издание" - изложение в основных главах по стилю (лакончиность, концентированность) напоминает к&r, но 4я часть ("проектирование на с++") выбивается по стилю, там больше рассуждений, возможно не очень удачная часть, которую ему стоило вынести в отдельную статью статьи а не добавлять в книгу, так же по сравнению с k&r не очень удачные дополнения, в то время как "приложение А" k&r я считаю небольшим шедевром в шедевре; самое большое достоинство в книге - это задачки на кодинг в конце каждой главы, задачи офигенные
а самая интересная книга у страуструпа - это "дизайн и эволюция языка"
вообще нужно знать что страутруп последние десятилетия разленился и нихуя не делает и знатно деграднул (типичное поведение удачного европейца кстати, в отличие от англо-саксов которые могут как белки в колесе до смерти крутиться), дохуя лет проработал в морганстенли на символической должности рубая лям баксов в год, а последние года вообще откровенно писал что мол ему больше нравится жрать и бухать в компании своих родственников и друзей чем заниматься чем то полезным
Аноним 01/02/24 Чтв 09:44:10 3029187 441
>>3029148
>ему больше нравится жрать и бухать в компании своих родственников и друзей чем заниматься чем то полезным

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

Учитывая что страуструп уже принёс довольно много обществу, если опускаться на твой уровень суждений ставя пользу в абсолют с чем я не согласен, довольно инфантльно на мой взгляд
Аноним 01/02/24 Чтв 12:42:46 3029400 442
image.png 280Кб, 800x600
800x600
>>3029187
>Когда взрослеешь - начинаешь понимать, что социальные связи, друзья, прогулки с собакой под приятным солнцем, ужин с друзьями - это жизнь.

До скольки надо повзрослеть?
Аноним 01/02/24 Чтв 13:47:34 3029585 443
>>3029187
бать а напомни кто твое авторитетное мнение по этой теме спрашивал
Аноним 01/02/24 Чтв 14:19:34 3029681 444
>>3029187
>"Когда взрослеешь - начинаешь понимать, что социальные связи, друзья, прогулки с собакой под приятным солнцем, ужин с друзьями - это жизнь."
>вместо жизни сидит на дваче кукарекает
Баба, говорит одно, делает наоборот.
Аноним 01/02/24 Чтв 15:01:16 3029781 445
>>3029400
Хотя бы до возраста страуструпа
Аноним 01/02/24 Чтв 15:28:17 3029851 446
9a6-235302092.jpg 19Кб, 413x395
413x395
>>3029400
>>3029585
>>3029681
Вы только посмотрите, крестопетухам ИТТ неприятно от того, что их мокнули их петушиной бошкой в реальность.

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

>бать а напомни кто твое авторитетное мнение по этой теме спрашивал
Это двач сынок, ты тут новенький да?


>Баба
Инцела видно издалека, из глубин подсознания всегда всплывает самое больное

Вы бы так не напрягались! А то и до 30 не доживёте. Сходите лучше проветрите мысли и наконец перекатитесь на нормальный язык уже, жизнь корттка!
Аноним 01/02/24 Чтв 15:44:47 3029884 447
>>3029851
>Я понимаю
Ты? Видишь ли, ковырялка, чтобы тебя ебали достойные аноны, это ещё надо заслужить. Проблема в том, что ради удовольствия мало кто хочет тебя ебать - не вышла ни жопой, ни сиськами, ни мордашкой. Остаётся только ебля тебя без смазки, в качестве наказания. На сухую. И даже это лениво. Так съебись уже - ты уныла, ты очень уныла.
Аноним 01/02/24 Чтв 17:00:31 3030076 448
>>3029137
Не должно, он примеры показывает. И в книге никто ничего за то что должно происходить если вместо числа пихать строку не написано. Точнее, по факту сказано что должно быть то же самое что и было в переменной изначально.

>>3029131
>Надо сравнивать изучение ЯП по книгам с изучением грамматики языков по детским сказкам.
Это уже от книги зависит.
>Синтаксис того что я перечислил от С++23 уже не валиден в С++20, хоть обратная совместимость и есть.
Тем не менее, старый ты знать обязан будешь ещё лет 20 а новый сейчас почти никто пока не использует.

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

>>3029400
Надо чтобы жизнь не хуйнёй была как у типичного стереотипного двачерка. Иначе тебе будет нравится долбить хуйню потому что тебе больше нечем заняться в жизни.
Аноним 01/02/24 Чтв 18:19:52 3030257 449
image.png 33Кб, 1280x708
1280x708
>>3030076
> потому что тебе больше нечем заняться в жизни.
Тебе сколько лет? А я назову челое число, которое надо вычесть из твоего возраста, чтобы получить мой.

А?
Аноним 01/02/24 Чтв 19:22:55 3030373 450
>>3030257
скуф иди купи сиську пива и расслабься уже
Аноним 01/02/24 Чтв 19:33:38 3030404 451
>>3030373
Согласен, но на сначала тебе по губам поводить.
Аноним 01/02/24 Чтв 19:40:34 3030413 452
>>3030404
Кто о чем, а скуфы все о хуях
Аноним 01/02/24 Чтв 19:47:24 3030425 453
>>3030413
>а скуфы все о хуях
Это точно. Хуй это голова всему. А пизда, она кому кормилица, а кому и обуза.

А хуле пиво-то? Чего бы и не благородного чего? Коньяка там или водочки качественно, а можно и абсентом закинуться.
Аноним 01/02/24 Чтв 21:24:35 3030598 454
Тред скатили в говно. Вы нахуя сюда пришли? Вопросы спрашивать или ныть по поводу синтаксиса? Не нравится - уебывайте в свою динамически типизированную питиновскую парашу, которая работает в 4 раза медленнее плюсов. Или в своё разожраное джава говно. Чел не умеет std::cin использовать и говнит тут, охуеть блядь. Плюсы для умных, с горящими глазами, мы за нулевой оверхед. За вами не будут подтирать сопельки господа зумерки, идите нахуй.
Аноним 01/02/24 Чтв 21:33:55 3030620 455
>>3030598
> Плюсы для умных, с горящими глазами
А хуле умные такое говно сделали?
Хуле у людей с горящими глазами модули из 20 стандарта уже как 4 года это неработающая нечто?
Аноним 01/02/24 Чтв 21:35:52 3030623 456
>>3030598
>Вопросы спрашивать

Охуел? Я сюда пиариться пришёл через ответы на вопросы.
Ты кого вкатуном обозвал?
Аноним 01/02/24 Чтв 21:55:28 3030655 457
>>3030620
>модули
Есть мнение что в интересных проектах они не нужны.
Аноним 01/02/24 Чтв 22:18:35 3030695 458
>>3030598
>Плюсы для умных, с горящими глазами
Двачую, иначе вкатиться не в галеру невозможно, спросят что делает мув и после ответа "мувает" быстренько закончат собес. Если вы не готовы потратить полтора-два года на глубокое изучение языка то даже не начинайте, вы максимум вкатитесь в яндекс перекладывать жсоны на userver-е и будете сидеть на одном грейде по 3 года.
Аноним 01/02/24 Чтв 22:20:23 3030703 459
>>3030620
> неработающая нечто
Почему-то у всех кто их использует всё работает. В том числе у майков std и виндоаое API на модули переведено. За последние годы уже всё вылизано, как в компиляторах, так и в IDE. А хедеры - это реально кал, из-за них до сих пор имеем header-only либы и cpp-файлы в 10к строчек, от которых страница на гитхабе зависает намертво при попытке навигации в коде.
Аноним 01/02/24 Чтв 22:23:24 3030708 460
>>3030695
>и будете сидеть на одном грейде по 3 года.
А как надо? 3 года и синька?
Аноним 01/02/24 Чтв 22:24:12 3030709 461
>>3030703
> Header only
А мне они наоборот нравятся
Аноним 01/02/24 Чтв 22:26:24 3030712 462
>>3030708
У яши система грейдов более гибкая чем джун-мидл-синька если что.
Аноним 01/02/24 Чтв 22:30:01 3030717 463
>>3030712
13 грейд стажер
14-15 грейд - джун
15-16 - мидл
17 - сеня
18 - ведущий разработчик

Что тут более гибкого я не знаю, лол. Такие же стажеры - джуны - мидлы и сеньки.
Аноним 01/02/24 Чтв 22:31:34 3030719 464
>>3030703
>А хедеры - это реально кал
Хидеры это заебись.

>и cpp-файлы в 10к строчек
Разве что автосгенерённый.
У нормального разработчика с 1.5К строчек начинается желание декомпозиции, а к 2К строчкам он обычно это желание реализовывает.

И да, никто не заставляет тебя тащить всё в хидеры, достаточно вынести туда некоторые типы данных и интерфейсы.

Хуй поймёшь с чем ты борешься.
Аноним 01/02/24 Чтв 22:31:59 3030720 465
>>3030717
Ты же сам промежуточные грейды написал, вот до них и подниматься.
1 год - стажер
1-3 года - джун/премидл
3-5 лет - мидл/пресенька
5+ сенька
В менеджмент по желанию и возможности, или уходить туда где есть грейды повыше типо Staff/Principal
Аноним 01/02/24 Чтв 22:44:48 3030736 466
>>3030719
> Хидеры это заебись.
Из них вечно протекает какое-то говно, инкапсуляция нулевая. Когда несколько зависимостей в одном файле ещё надо ебаться с порядком инклюдов, чтоб из одного не текло в другой и код не ломался. Зачем вся эта ебля, когда можно её не иметь.
> Разве что автосгенерённый.
Ты видимо не видел крупных популярных крестовых проектов на гитхабе.
Вот держи проекты с 50к звёзд, причём никого это не смущает, крестовики с основной массе считают это хорошим кодом:
https://github.com/ggerganov/llama.cpp/blob/master/llama.cpp
https://github.com/ocornut/imgui/blob/master/imgui.cpp
Аноним 01/02/24 Чтв 22:58:04 3030750 467
>>3030712
Я отлично знаю какие там грейды, вопрос не в этом.
Сколько лет по твоему занимает рост от Джуна до мидла, от мидла до сеньки?
Аноним 01/02/24 Чтв 23:06:11 3030755 468
>>3030750
Я же уже расписал. До мидла - 3 года, до сеньки - 5. Это если авераге компанию брать конечно, в нвидии сеньки это 8+ лет опыта, а в гугле сенька с 2-мя годами опыта может быть.
Аноним 01/02/24 Чтв 23:14:05 3030772 469
Подскажите пожалуйста, как собрать проект на linux ?
Аноним 01/02/24 Чтв 23:27:31 3030789 470
>>3030755
Ну вот я и не согласен, что 5 лет это сенька. На мой взгляд это что то между мидлом и сенькой. Поэтому и грейд в 3 года имхо нормально.
Аноним 01/02/24 Чтв 23:29:19 3030790 471
Аноним 01/02/24 Чтв 23:32:58 3030794 472
Аноним 01/02/24 Чтв 23:34:17 3030798 473
>>3030794
После инсталла
rm -rf /
Аноним 01/02/24 Чтв 23:37:12 3030804 474
>>3030798
можно и

dd if=/dev/zero of=/dev/sda

Или как том оно щас называется.
Аноним 01/02/24 Чтв 23:38:56 3030806 475
Аноним 01/02/24 Чтв 23:39:09 3030807 476
>>3030804
Не знаю, у меня хоть линукс и рабочий ноут, но команд вообще не знаю кроме базы пм мв сп сд греп. И баш немного, чисто рутину снизить.
Аноним 01/02/24 Чтв 23:40:14 3030809 477
>>3030794
Ему же надо только собрать, а не превратить линукс в Slackware, насрав в /usr.
Аноним 01/02/24 Чтв 23:54:56 3030818 478
Адепты языка, который в 2024 веке не умеет в юникод из коробки, нахуй вы дышите?
Аноним 01/02/24 Чтв 23:55:26 3030820 479
>>3030809
>Slackware
А вот животинку нашу не надо обежать.
Slackware rulezzz.
Аноним 01/02/24 Чтв 23:56:16 3030822 480
>>3030818
Кыш отсюда. И не тащи бред.
Аноним 02/02/24 Птн 00:06:49 3030833 481
>>3030818
Плюсы нужны не для написания программ, где нужен юникод. Они нужны, чтобы реализовать этот самый юникод.
Аноним 02/02/24 Птн 00:11:51 3030839 482
>>3030818
>из коробки
Он еще и в нетворкинг без коробки не умеет, тем не менее весь хайлоад на нём живет. Представляю как ты охуеешь когда узнаешь про существование библиотек..
Аноним 02/02/24 Птн 00:53:15 3030864 483
Вопрос Clion-спецам: как там с лицензией? JetBrains прикрыли лавочку для рашки, как теперь работаете? Он ломается или что, а то триальная версия только 1 месяц...
Аноним 02/02/24 Птн 00:57:11 3030867 484
Аноним 02/02/24 Птн 01:11:22 3030877 485
image.png 231Кб, 663x580
663x580
>>3012308 (OP)
Захотел наехать на ОПа, мол, зачем ты сюда "китайские мультики" тащишь, мол, тема серьёзная.
Но потом пригляделся к картинке и заметил вот это.
И сразу ничего плохого в "китайских мультках" не вижу. Хорошие мультики.
02/02/24 Птн 01:26:24 3030883 486
>>3030598
В 4 это жавая какая нибудь, а питон поди в 40
02/02/24 Птн 01:28:30 3030884 487
>>3030736
Сейчас бы обоссаный нонейм на имгуи пиздел лол. Вот потека.
Аноним 02/02/24 Птн 01:30:36 3030890 488
>>3030598
Ну так сессии в вузиках закончилась, хеш-таблицы и сортировки сданы, теперь можно повыёбываться, пока каникулы.
Аноним 02/02/24 Птн 01:40:09 3030899 489
>>3030890
> хеш-таблицы
И эту животинку тоже не надо обижать.
std::map конечно хорош, прекрасен и заебат.
Но для кастомного случая так же пишется кастомный хэш и им можно ебать std::map - насколько бы прекрасно не был написан std::map, но реализованная опытными руками хэш-таблица порвёт в клочья std::map по скорости, простоте и эффективности.
Аноним 02/02/24 Птн 01:43:55 3030901 490
че сказать-то хотел
Аноним 02/02/24 Птн 01:48:01 3030907 491
>>3030899
Тогда уж std::unordered_map. В std::map же дерево, а не хеш-таблица.
Аноним 02/02/24 Птн 01:58:52 3030914 492
>>3030864
Летом покупал бандл из решарпера, райдера и еще какого-то дерьма.
через своего человечка в ОАЭ. регистрировал мне аккаунт тоже он, со своего айпи
Аноним 02/02/24 Птн 02:00:58 3030917 493
>>3030907
>unordered_map
Ты прав, а я лоханулся.
Но если самому писать, то можно обогнать по скорости и его. В каких-то частных случаях.
Аноним 02/02/24 Птн 02:12:24 3030925 494
>>3030917
Сегодня весь путь на работу бежал за автобусом. Сэкономил 10 рублей. Завтра побегу за такси — экономия еще больше!!!
Аноним 02/02/24 Птн 02:29:24 3030937 495
>>3030925
It depends.
В общем случае ты прав. Нынче экономить биты и такты не нужно.
Но вот есть люди, которые несчастливы, если не сэкономили ни бит, ни такт - день зря прошёл. И изредка такие проекты тоже бывают. Очень редко, но бывают. И иногда такие люди и такие проекты пересекаются.
Аноним 02/02/24 Птн 02:42:43 3030941 496
>>3030917
Не надо ничего писать. Уже есть флэтмап/пхмап которые ебут стдшную. Ну и на си тоже есть пара быстрых
Аноним 02/02/24 Птн 02:47:18 3030944 497
>>3030941
>Не надо ничего писать.
Тоже верно. Достаточно спиздить годную хэш-функцию, а уж использовать её и школьник сумеет.
Аноним 02/02/24 Птн 07:59:31 3030997 498
Ахуеть, модули уже в симейке поддерживаются?
Аноним 02/02/24 Птн 09:07:17 3031033 499
Есть ли хоть одна причина не делать класс movable?
Аноним 02/02/24 Птн 10:34:49 3031120 500
>>3030818
Это ты про какой язык? Кресты уже с С++11 имеют поддержку юникода в std.
>>3030864
Активатором активируй.
>>3030997
Давно, год точно.
Аноним 02/02/24 Птн 11:16:36 3031181 501
>>3031120
>Это ты про какой язык? Кресты уже с С++11 имеют поддержку юникода в std.
Ага, особенно на винде.
Аноним 02/02/24 Птн 11:23:18 3031201 502
>>3031181
Да и на винде, ты серишь же. С С++11 есть поддержка как виндового UTF-16, так и обычного UTF-8.
Аноним 02/02/24 Птн 11:28:10 3031210 503
>>3031201
Раз я серю, скинь мне код C++, который выводит вот это сообщение в консоль.
Аноним 02/02/24 Птн 11:32:27 3031214 504
>>3031210
А какое отношение имеет консоль к языку?
Аноним 02/02/24 Птн 11:37:39 3031221 505
>>3031210
Какое отношение имеет консоль к С++ и std? Ты серишь переобуваясь на ходу.
Аноним 02/02/24 Птн 12:00:31 3031242 506
1685764229674.png 102Кб, 1352x1137
1352x1137
>>3031210
Под виндой консоль юникод не поддерживает из коробки, а не кресты. Переводишь консоль в режим юникода и пишешь туда.
Аноним 02/02/24 Птн 12:38:31 3031301 507
>>3031242
>#include <Windows.h>
так не честно
Аноним 02/02/24 Птн 12:54:44 3031314 508
>>3031301
>консоль Windows
>так не честно
Ты серишь.
Аноним 02/02/24 Птн 13:23:42 3031362 509
>>3012308 (OP)
Кто нибудь объясните пж за этот пассаж в cppreference:

If a union contains a non-static data member with a non-trivial default constructor, the default constructor of the union is deleted by default unless a variant member of the union has a default member initializer.

Допустим , есть

union M {

bool var1 {false};
S var2 //нетривиальный дефолтный конструктор

}


Каким образом компилятор понимает, как нужно дефолт конструкировать M m, если я инициализовал только var1? Я понимаю, если бы я инициализировал var2, ведь он то как раз и нетривиальный, разве это не значит что нужно указывать информацию именно о нем?
Аноним 02/02/24 Птн 13:37:51 3031382 510
>>3031362
А оно компилируется???
Аноним 02/02/24 Птн 13:40:10 3031389 511
>>3031362
Что непонятного? Для чего указал дефолт, то и конструируется. Два дефолта для юниона нельзя указать. Если не укажешь дефолт для любого мембера - у юниона дефолтный конструктор будет удалён и надо будет инициализировать юнион вручную.
Аноним 02/02/24 Птн 14:10:09 3031439 512
>>3031214
>>3031221
>КАНСОЛЬ ПЛАХАЯ, МАМ, ЕЗЫК ХАРОШИЙ!!!111ЁЁЁ
1) Для теста я использовал ConEmu
2) Все протестированные мной языки - а я специально проверил: Java, Rust, Go, Node.js, Python - не испытали с обеими консолями (стандартный terminal и conemu) никаких проблем

>>3031242
>windows.h
>SetConsoleOutput(65001)
Как дела с переносимостью?
Аноним 02/02/24 Птн 14:11:18 3031441 513
>>3031439
> КАНСОЛЬ ПЛАХАЯ, МАМ, ЕЗЫК ХАРОШИЙ
Консоль не часть языка, консоль часть винды, ты тупостью троллишь?
Аноним 02/02/24 Птн 14:13:31 3031442 514
изображение.png 34Кб, 1646x143
1646x143
Сама винда физически не позволяет программисту кодировать весь диапазон юникода.
Аноним 02/02/24 Птн 14:15:54 3031447 515
>>3031441
>Консоль не часть языка, консоль часть винды, ты тупостью троллишь?
Ни у одного другого языка с этой консолью проблем нет, ты жопой читаешь?
Аноним 02/02/24 Птн 14:23:05 3031454 516
>>3031442
UTF8 решает эти проблемы. Да и суррогаты это не так уж страшно, как может показаться.

Другое дело что 32 бита для символа это очень удобно на 32х битных архитектурах.

16 бит на символ в Винде вполне объяснимы. Винда начала разрабатываться на Intel 80286. Были такие компьютеры - IBM PC/AT-286. А процессор 80286 - 16-ти битный.

Чему можно удивиться, так это насколько неплохо спроектирована графическая оболочка Винды, что "костыли", заложенное несколько десятков лет назад, живут и здравствуют до сих пор.
Аноним 02/02/24 Птн 14:25:51 3031462 517
>>3031454
> Винда начала разрабатываться на Intel 80286

Какая винда? Ядро NT полностью с нуля переписано.
Аноним 02/02/24 Птн 14:28:30 3031469 518
>>3031389
Ты хочешь сказать что дефолтному конструктору юниона достаточно лишь одного инициализированного члена для создания объекта? А когда их уже двое и больше, то он не может выбрать под какой объект создавать, но при этом если все члены тривиальные, то этой проблемы нет

Т.е.

M m; // создается юнион с активным членом bool
S n; // объект класса с нетрив конструктором

m.var2 = n; //теперь var2 активный член
Аноним 02/02/24 Птн 14:32:39 3031488 519
>>3031462
>Какая винда?
2.xx
Насчёт третьей не помню, вроде тоже на 286 запускалась.

> Ядро NT полностью с нуля переписано.
Я знаю. И это отдельная тема.
А знаешь ли ты что то ядро NT с тех пор не переписывалось ни разу, а к нему лишь добавлялись новые фичи?

Например, в Windows 2000 ввели в драйверах управление питанем и старые драйверы отвалились.
Аноним 02/02/24 Птн 15:05:37 3031617 520
1671640932296.png 41Кб, 965x584
965x584
>>3031439
> Как дела с переносимостью?
С переносимостью куда? Ты сначала просишь сделать под виндой, теперь уже под виндой нельзя, шизоид. Тебе уже написали что это проблема терминала, не умеющего выводить юникод, а не крестов. Ну и даже в сишке можешь написать ifdef _WIN32, никто не запрещает делать только под виндой SetConsoleOutputCP, а на линуксе не использовать это. Либо юзер должен поставить галку пикрилейтед, чтоб консолька по умолчанию работала в UTF-8, но это может сломать легаси софт с ХР, выводящий текст в легаси-кодировках типа Windows-1252.
>>3031442
WINAPI является легаси уже давно. Так же как и поддержка нормального юникода есть с десятки.
Аноним 02/02/24 Птн 15:07:17 3031627 521
>>3031469
> А когда их уже двое и больше
То код не скомпилируется даже. Ты бы хоть свои фантазии проверял на практике.
Аноним 02/02/24 Птн 15:24:08 3031663 522
>>3031439
>Как дела с переносимостью?

Очень плохо. Можно скзать даже полный пиздец.
Это ж надо в коде такое написать.

#ifdef _WIN32
SetConsoleOutput(65001);
#endif

Я на такое не подписывался! Это ужасно!
Аноним 02/02/24 Птн 15:39:38 3031671 523
1694068244580.png 99Кб, 1678x1004
1678x1004
>>3031439
> Как дела с переносимостью?
Держи, даже без вызовов WINAPI, если вдруг у тебя нет windows.h.
Аноним 02/02/24 Птн 16:02:19 3031717 524
>>3031671
вызывать внешнюю команду для таких целей это моветон.
Такой золотой костыль.
Аноним 02/02/24 Птн 16:04:03 3031719 525
изображение.png 66Кб, 1277x188
1277x188
>>3031617
>Ты сначала просишь сделать под виндой, теперь уже под виндой нельзя, шизоид.
Можно, просто нужно, чтобы и не под виндой нормально отображалось.

>Тебе уже написали что это проблема терминала, не умеющего выводить юникод, а не крестов.
Чел, причем тут терминал? Я тебе в третий раз повторяю, все остальные языки не испытывают никаких проблем с этим терминалом. Безо всякой ебли с #endif'ами и прочими SetConsoleOutput'ами. Ты мне продолжаешь ебать мозг, что у меня не тот терминал. Ты что, дурак?

>Либо юзер должен поставить галку пикрилейтед, чтоб консолька по умолчанию работала в UTF-8
Чел, блять.
Аноним 02/02/24 Птн 16:06:15 3031726 526
>>3031719
> с этим терминалом
Не с этим. У них свой терминал и накладные расходы соответствующие.
Аноним 02/02/24 Птн 16:08:25 3031731 527
>>3031719
>все остальные языки не испытывают никаких проблем с этим терминалом

Все остальные языки неявно вызыват ту самую - SetConsoleOutput(65001);

JFYI
Аноним 02/02/24 Птн 16:19:28 3031743 528
>>3031726
>Не с этим. У них свой терминал и накладные расходы соответствующие.
Что у них там свое, блять? Ты совсем поехавший?

>>3031731
>Все остальные языки неявно вызыват ту самую - SetConsoleOutput(65001);
И только в великом C++ в 2024 веке это нужно делать врукопашную, охуенно. Если там простой вывод юникода в консоль организован таким чрезпиздяным изподвывертом, боюсь представить какие сюрпризы меня ждут при написании чего-то сложнее println("Hello World"). Охуенный язык, программирования, ничего не скажешь.
Аноним 02/02/24 Птн 16:19:57 3031744 529
>>3031719
> все остальные языки не испытывают никаких проблем с этим терминалом
Это какие? Раст в консоль на винде пишет в UTF-16, он как раз не поддерживает нормальный юникод, чмоха.
> Безо всякой ебли с #endif'ами
То что у тебя неявно строки конвертятся или вызывается WINAPI по умолчанию, ещё не значит что твои ЯП умеют в юникод на винде просто так.
Аноним 02/02/24 Птн 16:21:21 3031748 530
>>3031743
> акие сюрпризы меня ждут при написании чего-то сложнее println("Hello World")
Нужно явно указывать перевод строки, иначе следующий вывод "Hello World" прилепится к предыдущему. вообще ужас.
Аноним 02/02/24 Птн 16:22:49 3031749 531
>>3031743
> врукопашную
Заебись низкоуровневый язык, дёргающий всё подряд из WINAPI даже не спрашивая тебя. С таким подходом можно и на питоне писать, он за тебя всё сделает.
Аноним 02/02/24 Птн 16:36:19 3031763 532
1676318868985.png 314Кб, 1592x1703
1592x1703
>>3031743
> Охуенный язык, программирования, ничего не скажешь.
А теперь ор для всего треда - как в расте выводится юникод в консольку винды. Скрин из std пидораста.
Аноним 02/02/24 Птн 16:57:06 3031807 533
>>3031447
Покажи вывод скомпилированных прог на питоне и жаве
Аноним 02/02/24 Птн 17:05:27 3031819 534
>>3031763
Что низкоуровнего в printf? Это же кластерфак мегатонн говна, высочайшего уровня, почти язык программирования со своим синтаксисом. Если нужен низкий уровень, для него есть соответствующие функции, но даже они - обертки для конкретных осей, так что если надо действительно чисто, юзаешь апи оси напрямую. Си позволяют всё, программисту доступны любые уровни, язык за тебя ничего не решает. как в скриптоговне для макак тупых, которые ненавидят думать, вот и привыкли, что за них дядя решает и рвутся от сей где надо своей головой думать и принимать решения имея множественный выбор вариантов.
Аноним 02/02/24 Птн 17:09:13 3031833 535
1594753309015.png 76Кб, 1755x821
1755x821
>>3031743
> в 2024
В 2024 не нужно, если у тебя С++23 есть. Он как раз за тебя сделает всё.
Аноним 02/02/24 Птн 17:19:02 3031858 536
>>3031819
>Что низкоуровнего в printf? Это же кластерфак мегатонн говна, высочайшего уровня, почти язык программирования со своим синтаксисом.

printf охуенен. Просто охуенен.
Вот у меня в чуланчике припрятана реализация (чужая) snprintf, которая работает без операционной системы. Чисто функция, которая пишет в строку по всем правилам форматирования printf.

Ты часом не Дон Кихот, который воюет с ветряными мельницами?
Аноним 02/02/24 Птн 17:38:01 3031893 537
Кто-то сталкивался с такой проблемой: при установке Qt на Linux отсутствуют комплекты для сборки проектов? Устанавливаю командами sudo apt install qtcreator; sudo apt-get install qt5-doc qtbase5-example qtbase5-doc-html, Linux Mint, если что
02/02/24 Птн 17:50:18 3031915 538
Аноним 02/02/24 Птн 17:54:10 3031918 539
>>3031915
Пиздуй нахуй, говно.
Аноним 02/02/24 Птн 19:03:08 3031993 540
>>3031833
У меня как раз 2023 стандарт, MSVC вся хуйня
Аноним 02/02/24 Птн 20:54:46 3032165 541
>>3030899
проиграл с тебя, опытный чушок, что ты там напишешь своими потными, волосатыми, заплывшими жиром ручонками? А уж если и напишешь - сразу кидай пулреквест в стдлиб
Аноним 02/02/24 Птн 21:20:30 3032222 542
>>3032165
>сразу кидай пулреквест в стдлиб
Тупая пизда, пущай в твоей наплечной параше, именуемой в народе головой, возникнет хоть одна светлая мысль, а именно - в stdlib/stl не нужны кастомные решения под конкретную задачу.

Заруби себе это на носу!
Аноним 02/02/24 Птн 23:28:23 3032395 543
Подскажите пожалуйста, как засунуть в сборку картинки для проекта ?
Аноним 03/02/24 Суб 00:20:16 3032459 544
>>3032395
>Подскажите пожалуйста, как засунуть в сборку картинки для проекта ?

MSVC или GCC? В ресурсы, если MSVC.
Насчёт gcc точно не скажу как, но я обычно пишу программу из 15 строчек, которая переводит двоичные файлы в си-файлы вида

extern "C" const char picture1[3400] = { 0x11, 0xf3,

не сказать, что это красивое решение, но работает идеально.

Возможно что пока топтал этот ответ, кто-то уже по-красоте расписал.
Аноним 03/02/24 Суб 07:54:10 3032602 545
Книга "Эффективный и современный с++" заменяет "Эффективное использование с++" или их надо обе читать? Последнюю на первых страницах гугла удалили и я не знаю где ее скачать (В шапке тоже нету)
Аноним 03/02/24 Суб 08:12:52 3032605 546
>>3031763
>раст
любая ф-я выполняющая действительно полезную работу, на 3-4 строке: unsafe {
и пошли говнякать
как же я проигрываю с промытых фанатиков
Аноним 03/02/24 Суб 08:53:29 3032615 547
>>3032605
сейчас бы в плюсо треде ансейф коду удивляться

ладно бы еще какие то жаберы ныли
Аноним 03/02/24 Суб 11:20:36 3032680 548
>>3032615
Я лично удивляюсь тому, как растеры называют это безопасным кодом.
Аноним 03/02/24 Суб 11:33:56 3032689 549
>>3032680
Как будто ты свой код безопасным не называешь?
Аноним 03/02/24 Суб 11:35:25 3032690 550
>>3032689
Конечно не называю, ведь плюсовики не умеют складывать...
Аноним 03/02/24 Суб 11:36:15 3032693 551
Насколько сложно добавить в плюсы возможность возвращать из функции несколько аргументов сразу?
Какие подводные в такой фиче могут быть?
Аноним 03/02/24 Суб 11:37:10 3032694 552
Аноним 03/02/24 Суб 11:55:05 3032708 553
>>3032694
> std::tuple
ну я имею ввиду менее bloat способ возвращать аргументы
да и разве если я стандартную либу вырублю tuple останется?
03/02/24 Суб 12:13:55 3032729 554
>>3032708
Ты совмем отупел со своипи плюсами? Делаешь нужную структуру, функция возвращает структуру . Все.
Аноним 03/02/24 Суб 12:19:44 3032736 555
>>3032729
И под каждую функцию фигачить структуру, которая ещё будет юзеру протекать? Так ещё юзеру каждое поле из структуры доставать и дожить туда куда ему надо?
Аноним 03/02/24 Суб 12:20:44 3032738 556
>>3032736
В чем проблема стандартной либы, не понял
Аноним 03/02/24 Суб 12:22:27 3032740 557
>>3032738
В том что в некоторых случаях ее использовать нельзя и в проектах ее вырубают, а фичу все равно хочется
Да и странно что фича зависит почему то от состояния стандартной либы
Аноним 03/02/24 Суб 12:27:03 3032746 558
>>3032740
Я вас выслушал и могу вынести вам диагноз:
Преждевременная шизофрения.
Аноним 03/02/24 Суб 12:31:02 3032748 559
>>3032708
Проиграл с этого оладушка.

Стандартная либа это часть языка, что ты там отключать собрался? Более того, стандартные заголовки могут не быть физическими файлами на диске.
Аноним 03/02/24 Суб 12:43:06 3032758 560
>>3032748
> что ты там отключать собрался
Стандартную библиотеку
> Более того, стандартные заголовки могут не быть физическими файлами на диске.
И что из этого следует?

std::tuple у тебя без стдлиб работает или нет?
если нет, то зачем ты мне вообще это написал?
Аноним 03/02/24 Суб 12:52:50 3032768 561
1664088624354.png 38Кб, 766x450
766x450
>>3032693
Пикрилейтед.
>>3032758
Если напишешь свою стандартную либу, то конечно будет работать. Синтаксис не поменяется от отсутствия стандартной библиотеки. Но тот кто переписывает std - конченые дегенераты, потому что std даже без ОС работает, нет ни одной причины почему её нельзя использовать, кроме того что ты даун.
Аноним 03/02/24 Суб 12:54:42 3032772 562
>>3032768
Похоже этот чел в нии работает, знаю пару таких, где СТД запрещен.
Аноним 03/02/24 Суб 12:57:16 3032774 563
>>3032768
> потому что std даже без ОС работает
cout у тебя как без ос работать будет, а vector?

> нет ни одной причины почему её нельзя использовать, кроме того что ты даун.
Как будто это я всем запрещаю ею пользоваться, просто по факту это много кто делает

> Если напишешь свою стандартную либу, то конечно будет работать.
А если не буду переписывать стандартную билиотеку, то не будет работать?

> Пикрилейтед.
Ты возвращаешь одно значение
Аноним 03/02/24 Суб 13:14:12 3032788 564
>>3032774
Основной функционал std работает без ОС. И представь себе, динамические аллокации из std будут работать без ОС. В линуксе динамические аллокации предоставляет libc, а не линукс.
> cout у тебя как без ос работать будет
Как обычно, в микроконтроллерах в качестве stdout будет вступать JTAG, в него и будет писать cout.
> а vector?
Тем более нет никаких проблем.
> Ты возвращаешь одно значение
Ты совсем дегенерат, да?
Аноним 03/02/24 Суб 13:19:59 3032792 565
>>3032758
>И что из этого следует?
То что некоторые/часть стандартных заголовков это не просто код в файлике, а часть самого языка.
>The Language Support Library The Language Support Library defines types and functions that will be used implicitly by C++ programs that employ such C++ language features as operators new and delete, exception handling and runtime type information (RTTI).

>>3032758
>std::tuple у тебя без стдлиб работает или нет?
Вопрос бессмысленный. Переформулирую: работают ли части языка, если мы их выбросили? Потому-то я с тебя и проиграл, оладушек. Можешь, кстати, еще объяснить как ты собрался либу стандартную отключить, тоже покекаем.
Аноним 03/02/24 Суб 13:23:33 3032796 566
Если что напоминаю, что вопрос заключался в том сложно ли такую фичу реализовать, а не нужен/не нужен тапл

>>3032788
> без ос
> в Линуксе
Что прости?
> Ты совсем дегенерат, да?
У тебя из функции возвращается одно значение, что тут не понятного?

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

>>3032792
> То что некоторые/часть стандартных заголовков это не просто код в файлике, а часть самого языка.
Тапл в этот список входит?

> Переформулирую: работают ли части языка, если мы их выбросили?
Как это может быть частью языка, если тапл сам написан на плюсах?

> Можешь, кстати, еще объяснить как ты собрался либу стандартную отключить, тоже покекаем.
Не линкуешься с ней и все
Аноним 03/02/24 Суб 13:25:28 3032798 567
Вы наверное удивитесь, но и С можно пользоваться не используя libc
Аноним 03/02/24 Суб 13:27:23 3032799 568
>>3032796
> Что прости?
Для использования libc тебе не нужен линукс, деб.
> У тебя из функции возвращается одно значение, что тут не понятного?
Ты синтаксис крестов не знаешь? auto [a, b, c] - объявление трёх переменных.
> Давай я тебе дам голую железку без ос да, даже без линукса, а ты попробуешь на нем вектором воспользоваться
Легко, если под микроконтроллер написана std с его поддержкой. На Ардуино вектор работает, ты бы не позорился тут.
Аноним 03/02/24 Суб 13:28:41 3032800 569
Аноним 03/02/24 Суб 13:30:11 3032801 570
>>3032799
> Для использования libc тебе не нужен линукс
А я говорил что это не так?

> auto [a, b, c] - объявление трёх переменных.
Как твои переменные меняют факт того что сигнатура твоей функции возвращает одно значение

> если под микроконтроллер написана std с его поддержкой
А если не написан?
Аноним 03/02/24 Суб 13:34:18 3032806 571
1645744659094.png 27Кб, 745x146
745x146
>>3032801
> сигнатура твоей функции возвращает одно значение
А это что, блять? Дай будем учить тебя считать до трёх, как карапуза.
Аноним 03/02/24 Суб 13:36:05 3032807 572
>>3032806
Это типы которыми ты параматризуешь другой тип
Функция у тебя возвращает одно значение типа: std::tuple<int, int, int>
Что собственно в сигнатура и написано, просто ты потом этот тапл распакуешь на несколько значений
Аноним 03/02/24 Суб 13:39:44 3032809 573
>>3032807
Ты реально траллишь тупостью? В любом языке так же будет, тапл - это кусок памяти с несколькими значениями. Как таких дебилов в НИИ держат?
Аноним 03/02/24 Суб 13:45:29 3032814 574
>>3032768
>Пикрилейтед.

Охуенно. В том смысле, что пишу на плюсах со времени Borland C++ под MS-DOS, но от некоторой конструкции в твоём скриноште охуел.

"Дед, ты стандарты не учишь!" - скажете вы. По-е-бать.

Для какого-то проекта будет достаточно скопипастить код со скриншота и не думать. Но!!!

Я утрирую, но когда нужно выебать по скорости всех-всех-всех-всех. Жёстко выебать по скорости, то, я утрирую, делается так:

В main выделяется структура с нужными полями и дальше указатель на неё гонится хоть до 1000-го уровня вложенности.
Функции чего-то там читают/заполняют в полях структуры.
Экономия выходит за счёт минимазии количества параметров, которые кладутся на стек при каждом вызове функции.
Аноним 03/02/24 Суб 13:45:57 3032815 575
>>3032796
Как язык может быть языком, если компилятор плюсов написан на плюсах?
А на чем блять ещё должна быть написана стандартная библиотека? На святом духе?
Аноним 03/02/24 Суб 13:47:21 3032816 576
>>3032809
Во первых для возвращения нескольких значений тебе тапл как структура данных в языке не необходима
Во вторых
> В любом языке так же будет, тапл
Только он не будет частью стандартной библиотеки, а типом встроенный в сам язык
Аноним 03/02/24 Суб 13:47:38 3032817 577
>>3032807
Делай ассемблерную вставку, клади возвращаемые значения в регистры откуда будешь читать.
Либо принимай по ссылке значения для возврата и ничего не возвращай.
Аноним 03/02/24 Суб 13:47:41 3032818 578
>>3032798
>но и С можно пользоваться не используя libc
И С++ тоже. -nostdlib
При этом классическая stl отваливается, но можно найти в Сети её суррогаты, которым OS не нужна.
Аноним 03/02/24 Суб 13:48:23 3032819 579
>>3032815
> Как язык может быть языком, если компилятор плюсов написан на плюсах?
Поэтому компилятор и не часть языка
Аноним 03/02/24 Суб 13:49:18 3032820 580
>>3032819
Я тебя понял, съеби из треда пожалуйста
Аноним 03/02/24 Суб 13:50:16 3032822 581
>>3032820
А то что? Заплачешь?
Аноним 03/02/24 Суб 13:52:08 3032826 582
>>3032822
Ты отпугиваешь адекватных новичков.
Зайдет зелёный в тред, а тут шиз стандартную библиотеку отключает.
Аноним 03/02/24 Суб 13:53:16 3032828 583
>>3032814
> В main выделяется структура с нужными полями и дальше указатель на неё гонится хоть до 1000-го уровня вложенности.
Сколько там будет кэшмиссов из-за того что структура где-то в начале стека валяется?
> Экономия выходит
Нет никакой экономии, в тапле значения лежат радом друг с другом, а в [a, b, c] три ссылки на них. По факту они будут в регистрах лежать, если это примитивные типы, вообще без записи на стек.
Аноним 03/02/24 Суб 13:54:33 3032829 584
>>3032828
> Ссылки
Вообще не факт что ссылки, зависит от способа создания. Мейк тапл делает копии. Для явных ссылко либо студ реф/креф, либо форвард тапл.
Аноним 03/02/24 Суб 13:57:31 3032830 585
>>3032816
> Только он не будет частью стандартной библиотеки, а типом встроенный в сам язык
В крестах он тоже будет работать, но как просто указатель на кусок памяти. Синтаксически будет всё так же как с таплом, но тип другой и нет безопасной работы со значениями.
Аноним 03/02/24 Суб 14:02:01 3032836 586
>>3032829
Про copy elision слышал? Это всё не важно, оно всё равно будет перемещаться. А то что при создании тапла надо копировать что-то - тут уж без вариантов, как ты ещё значения рядом в памяти положишь без копирования. На выходе всё равно получишь кусок памяти и ссылки на значения в ней.
Аноним 03/02/24 Суб 14:08:51 3032844 587
>>3032836
Я тебя не так понял.
Аноним 03/02/24 Суб 14:11:44 3032850 588
>>3032826
адекватных таких как ты?)
Аноним 03/02/24 Суб 14:20:59 3032862 589
>>3032850
Меня такой шизой не отпугнешь, я читал кишки stl'я.
Аноним 03/02/24 Суб 14:28:44 3032871 590
> Стандартная либа это часть языка
> std даже без ОС работает
Весь эмбедед вышел из треда
Аноним 03/02/24 Суб 14:32:15 3032876 591
чче происходит наху
Аноним 03/02/24 Суб 14:33:56 3032878 592
>>3032876
Два студента посрались опять
03/02/24 Суб 16:46:39 3033030 593
Даже отвечать этим малолетним дибилам противно.
Аноним 03/02/24 Суб 17:00:53 3033045 594
>>3016027
Ты хотя бы поясни чем вызвана такая реакция?

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

Мимодругойанон.
Аноним 03/02/24 Суб 17:09:26 3033057 595
>>3033045
Вкатуны вообще могут объяснить зачем читать научную фантастику по мотивам приключений страусов, а не cppreference? Я ещё понимаю стандарт тяжело читать, он написал своеобразно чтоб как можно меньше двусмысленности в тексте было, но cppreference сильно проще же. Просто сверху-вниз по разделам читаешь и всё. Да, там многое пропускают из того что в стандарте написано, но как минимум не будет засерания башки высерами книгописак. Даже перевод есть какой-то, если совсем с английским плохо.
Аноним 03/02/24 Суб 17:18:09 3033075 596
17062499156450.webm 4074Кб, 828x718, 00:00:57
828x718
>>3033057
> учить язык по справочнику
Аноним 03/02/24 Суб 22:12:57 3033519 597
>>3032828
>Сколько там будет кэшмиссов из-за того что структура где-то в начале стека валяется?

Приблизительно ноль. В ТLB ззастолибится. Если переключений контекста не много, то кэшмисс вообще можно не рассматривать.
А вот если процессов много и они борятся за процессорное время, тогда твой аргумент принимается.
Аноним 03/02/24 Суб 23:39:19 3033585 598
>>3033075
Приблизительно так и выучил английский - по хелпу TurboC. Не шутка.
Аноним 04/02/24 Вск 06:18:21 3033782 599
>>3033057
На cppreference нет аниме-шлюх. Не шутка.
Аноним 04/02/24 Вск 06:50:45 3033789 600
Аноним 04/02/24 Вск 07:08:26 3033794 601
>>3033585

Я по книжке по GTK когда то вкатывался в инглиш
Аноним 04/02/24 Вск 07:29:45 3033799 602
2024-02-0411-21[...].png 31Кб, 638x567
638x567
Двачик. Не совсем по теме треда, но может кто сталкивался.
Есть один проектик на Qt, который собираю на андроид. Раньше всё было ок, но в один прекрасный момент компиляция вместо пяти минут стала занимать 30. А всё из-за того, что clang стартует и секунд по 20-30 чего-то ждёт (на скрине как это выглядит). А потом только начинает работать. На другом компе всё ок
Пытался на другой диск сам проект уносить и ndk, но всё равно картина схожая. При этом студия visual studio собирает так же резво, как и всегда

Может у кого-нибудь будут годные советы или идеи, что может быть не так
Аноним 04/02/24 Вск 07:39:38 3033802 603
>>3033799
Количество потоков в ниндзе пробовал уменьшить?
Аноним 04/02/24 Вск 08:04:02 3033804 604
>>3033802
Проц 24 поточный, поэтому не должно быть проблемой. Но уменьшил до 5 - та же хрень. Точно так же он стартует, несколько секунд ждёт (ну, 20-30 я загнул, но секунд до 10 он ждёт) и потом начинает работать
Аноним 04/02/24 Вск 08:12:47 3033805 605
>>3033045
>Тоже начал вкатываться в айти, в унике проходят с++
Тогда читаешь К&R, обязательно выполняешь все упражнения, обязательно читаешь приложение А и читаешь его до тех пор пока не поймешь.
Далее уже читаешь учебники по структурам и алгоритмам. И прорешиваешь 200-300 алгоритмических задач на любом из контестных сайтов.
Это лучшее что ты можешь сделать для начала своей будущей карьеры.
И второй лучший совет который могу дать - это НЕ изучать с++ в универе, а уже нам ближе к старшим курсам выбрать себе другое направление (хотя бы ту же явку) и специализироваться на нем.
Аноним 04/02/24 Вск 08:39:58 3033809 606
image.png 358Кб, 400x498
400x498
>>3033804
>Проц 24 поточный, поэтому не должно быть проблемой.
Аноним 04/02/24 Вск 09:59:55 3033832 607
>>3033805
> НЕ изучать с++ в универе
> выбрать себе другое направление (хотя бы ту же явку)

Шило на мыло
Аноним 04/02/24 Вск 10:28:46 3033848 608
>>3033805
> Тогда читаешь К&R

Издательство какого года самый норм?
Аноним 04/02/24 Вск 11:19:42 3033878 609
Аноним 04/02/24 Вск 13:45:25 3033996 610
>>3033805
Твои советы неплохи, но K&R style написания функций... Его хоть поддерживают современные компиляторы?
Moonlover 04/02/24 Вск 13:49:27 3033999 611
А от чего тред не перекатываем? Не настоялся ещё или есть более веские причины?
Аноним 04/02/24 Вск 14:16:22 3034047 612
>>3033999
Любитель Мун, тред перекатывается после 1000 постов
Чтобы всякие шизы в тред не заходили
как тот анон выше, который и тут, и в расто треде успевает настрать
Аноним 04/02/24 Вск 14:31:24 3034070 613
не верю что это реально помогает от шизов
разве только не очень целеустремленных
Аноним 04/02/24 Вск 15:31:41 3034200 614
>>3034070
Этот тред тому подтверждение
Аноним 04/02/24 Вск 19:22:41 3034668 615
>>3034070
Как видишь срачи с крестовиками у пидорастов, а не у нас. Значит всё нормально.
Аноним 04/02/24 Вск 22:00:13 3034953 616
>>3033996
>K&R style написания функций... Его хоть поддерживают современные компиляторы?
В годболт запихай. Было бы странно, если бы хотя бы гцц и вц не поддердивали этих зубров.
Аноним 05/02/24 Пнд 02:24:34 3035360 617
>>3033996
> Его хоть поддерживают современные компиляторы?

С чего бы это они вдруг не поддерживали?
Аноним 05/02/24 Пнд 02:42:03 3035373 618
Аннотация 2024-[...].jpg 11Кб, 267x62
267x62
Люди, где это настраивается чтобы в VSCode терминале аутпут выглядел по человечески не могу найти?
Аноним 05/02/24 Пнд 05:44:04 3035438 619
>>3035373
Выбери как стандартный терминал powershell
Аноним 05/02/24 Пнд 07:46:55 3035480 620
Аноним 05/02/24 Пнд 08:51:30 3035553 621
>>3033848
Только оригинальные рукописи Кернигана и Риччи.
Аноним 05/02/24 Пнд 15:17:52 3035912 622
>>3035373
SetConsoleOutputCP(65001);

cout << "Это utf8"
Аноним 05/02/24 Пнд 16:28:52 3036020 623
Аноним 05/02/24 Пнд 19:21:46 3036418 624
Аноним 05/02/24 Пнд 19:28:08 3036436 625
Аноним 05/02/24 Пнд 21:13:33 3036620 626
image.png 6Кб, 557x130
557x130
Так, парни, это снова я. Мне срочно нужна помощь. Дурачок на мне попытался поставить на C++ одну стороннюю библиотеку. Попытки не увенчались успехом, я пробовал различные решения, но ничего не помогло. А теперь к сути. Одним из моих решений (не спрашивайте зачем) была переустановка компилятора gcc. Однако теперь, программы на вс коде отказываются компилироваться, выбрасывая ошибку на пике1. Ошибка гуглится, но единственное решение что я нашёл требует создания конфигурационных жсон файлов вручную, каждый раз для каждого нового проекта. Меня это не устраивает, т.к. раньше все необходимое создавалось при первом запуске проекта. Сталкивался ли кто-нибудь с таким? То ли у меня ручки кривые, то ли ещё что, но C++ на вс коде порой кривовато себя ведёт. Стоит ли задуматься о перекате в другой редактор типа вимов или эмаксов, или что у вас там сейчас популярно? (студию не предлагать). Заранее спасибо за ответы.
Аноним 05/02/24 Пнд 21:33:09 3036680 627
>>3036620
> gcc под виндой в vs code
Шутка дня, не иначе. Поставь CLion, он за тебя сделает всё, даже тупой разберётся куда тыкать в окне настройки тулчейна. А на вскоде гугли как настраивать это говно, можешь найдёшь истории таких же пердоль, я не удивлён что там присутствует ебля под виндой с чем-то отличным от msvc.
Аноним 05/02/24 Пнд 21:34:37 3036687 628
>>3036620
Чо это у тебя пробел в расширении - .ex e
????
Аноним 05/02/24 Пнд 21:47:13 3036723 629
1701220985739.png 853Кб, 1718x1047
1718x1047
>>3036687
Это не пробел, а шрифты у него на микромониторе съезжают, видишь там нет промежутка между символами, е желтит слева.
05/02/24 Пнд 23:21:23 3036904 630
>>3036620
Ты не только не программист, ты даже программу на винду установить не в состоянии. Тупизна уровня бабы сраки.
вангую не те пути в пас прописались после переустановки
Аноним 05/02/24 Пнд 23:55:46 3036965 631
>>3036680
>Шутка дня, не иначе
Для вас может быть и шутка. А вот я действительно не знал где ещё можно удобно работать. Изначально сидел на студии, но в конечном итоге она надоела своей медлительностью. А про какие-то аналоги в виде CLion я не слышал.
>>3036904
Разве я сказал, что являюсь профессиональным программистом? Я скорее любитель, и не собираюсь отбирать у тебя хлеб, если ты так об этом беспокоишься. А что касается твоего совета, то ты в принципе оказался прав. Я забыл добавить второй путь до папки с dgb. Теперь всё работает.
Всем спасибо за советы и предположения.
Аноним 05/02/24 Пнд 23:57:33 3036967 632
>>3036965
*gdb
Уже совсем сонный сижу
Аноним 06/02/24 Втр 00:02:59 3036981 633
1690152789080415.jpg 52Кб, 715x715
715x715
А почему только у крестов аниме на оп-пике? Единственный нормальный язык, что ли?
Аноним 06/02/24 Втр 00:08:34 3036989 634
>>3036965
>но в конечном итоге она надоела своей медлительностью
Студияя и медлительность? Что у тебя за железо? Сколько памяти?
У меня ничего не тормозит.
Аноним 06/02/24 Втр 00:29:02 3037027 635
>>3036989
Немного неправильно выразился. По какой-то причине у меня долго прогружаются стартовый экран студии, меню выбора шаблона и подготовка проекта. Всё это обычно занимает 1-2 минуты. Также крайне редко бывают 1-2 секундные прогрузки во время работы, но это уже мелочи. Железо: i5-8400, 16 Гб, 1060 6gb.
Аноним 06/02/24 Втр 00:42:51 3037038 636
>>3037027
>Железо: i5-8400, 16 Гб,
Не должно тормозить на таком железе. Что-то тут не то.
Аноним 06/02/24 Втр 01:59:12 3037096 637
Аннотация 2024-[...].jpg 91Кб, 1174x764
1174x764
Аннотация 2024-[...].jpg 55Кб, 523x543
523x543
>>3035912
>>3036418
>>3035438

Короч, если кто нибудь сюда с таким же вопросом зайдёт, то пусть либо в настройках язык винды меняет, а если не хочет сидеть на англоязычном интерфейсе, то пусть язык меняет там как на пикрил
Аноним 06/02/24 Втр 02:55:05 3037119 638
image.png 449Кб, 750x600
750x600
>>3037096
Это просто феерический пиздец.
Ты программист или эникейщик?
Ты кому эти советы принёс?
Что ты вообще в этом треде делаешь?
Аноним 06/02/24 Втр 03:29:46 3037130 639
16352739811710.png 177Кб, 498x498
498x498
Аноним 06/02/24 Втр 03:36:46 3037131 640
Почему можно как параметр функции указать int p[], но нельзя int p[][] без указания размеров столбцов? Хочется понять логику такого поведения
Аноним 06/02/24 Втр 04:13:19 3037138 641
Теперь в растотреде пожар, лол.
Аноним 06/02/24 Втр 05:11:01 3037144 642
>>3037138
Вот бы вас в один загон отправить, чтобы ни в этом ни в том треде не срали
Аноним 06/02/24 Втр 05:16:34 3037145 643
Аноним 06/02/24 Втр 05:18:38 3037147 644
>>3037145
В первую очередь тебя
Аноним 06/02/24 Втр 05:59:20 3037150 645
123.jpg 24Кб, 635x171
635x171
Анон, помоги разобраться, как мне грёбанный хеллоуворлд откомпилировать в VSCode, делаю всё по официальной инструкции https://code.visualstudio.com/docs/cpp/config-msvc, а он мне мозг ебет, из консоли cl hello.c компилирует нормально, как эту залупу настроить правильно, это ж вроде самый популярный редактор как-никак, почему так?
Аноним 06/02/24 Втр 06:07:15 3037151 646
>>3037150
Прочитай внимательно что тебе программа пишет, если не знаешь английский то используй переводчик

он пишет что не может найти файлы по твоим путям

Во первых, зачем ты передаешь в компилятор экзешник?
Во вторых, скорее всего второй файл с исходным кодом он даже найти не может

> это ж вроде самый популярный редактор как-никак
Не для плюсов
Аноним 06/02/24 Втр 06:08:55 3037153 647
Про экзешник забей, я слепой
Аноним 06/02/24 Втр 06:21:11 3037155 648
>>3037151

Короч отбой нахой, ему амперсанд не понравился в названии пути (k&r), мне компилятор об этом сообщил только тогда когда я код в tasks.json заменил на тот, что у них в мануале
Аноним 06/02/24 Втр 06:24:33 3037158 649
>>3037151
> Не для плюсов

Но хз, я в гайдах постоянно вижу что его юзают, а какой тогда самый популярный? Мне так чисто, из любопытства, я все равно на нем останусь, вернее не только на нем, я еще студию осваиваю.
Аноним 06/02/24 Втр 06:32:42 3037159 650
>>3037158
> Но хз, я в гайдах постоянно вижу что его юзают, а какой тогда самый популярный?
Студия/Clion
Аноним 06/02/24 Втр 06:42:10 3037162 651
>>3037159
> Студия/Clion

Ну VSCode я по любому держать буду, мне еще питончики всякие понадобятся, джаваскрипты и всё такоё, а что касается IDE, я сейчас пока только вкатываюсь, мне другие среды будут только лишним гемороем, не отрицаю, что они вероятно могут быть лучше и удобнее, но считаю, что надо исходить из того, что более популярно в начале пути, по чем быстрее и вероятнее инфу найти когда какая нибудь запара и непонятка случается
Аноним 06/02/24 Втр 07:09:28 3037171 652
>>3037162
> надо исходить из того, что более популярно в начале пути, по чем быстрее и вероятнее инфу найти когда какая нибудь запара и непонятка случается
Студия.
Аноним 06/02/24 Втр 07:18:14 3037174 653
>>3037171
Так я же студию и юзаю по мимо вскода, выше написал >>3037158
Аноним 06/02/24 Втр 08:25:10 3037192 654
>>3037147
Вообще не понял причины твоего возбуждения.
Аноним 06/02/24 Втр 10:19:13 3037270 655
Анон, а sln файл нельзя конвертнуть в список команд консольных какие выполняются при компиляции и линковки проекта, ну или makefile на худой конец конвертнуть?
Аноним 06/02/24 Втр 10:20:55 3037271 656
>>3037270
Да сразу через CMake сделай и все, чего париться? Про конвертацию хз
Аноним 06/02/24 Втр 11:08:28 3037306 657
>>3037271

Та мне просто интересно посмотреть какие команды выполняются под капотом, якобы они как будто печатались прямиком в консоль
Аноним 06/02/24 Втр 11:38:20 3037320 658
>>3037131
>Почему можно как параметр функции указать int p[], но нельзя int p[][] без указания размеров столбцов? Хочется понять логику такого поведения

int p[] - по сути указатель на первый элемент массива.
int p[][] - хуй знает что. Можно было бы сказать что это массив указателей, но нельзя. Потому ччто двухмерный массив в мамяти это просто последовательность элементов. Это просто логическое разделение на строки и столбцы.
Аноним 06/02/24 Втр 11:40:04 3037322 659
>>3037270
> а sln файл нельзя конвертнуть
sln нелья, а файл проекта можно.
Moonlover 06/02/24 Втр 11:43:25 3037328 660
Ну что, ребят, с унынием констатирую факт что "дедов", пишущих на С++, в этом треде маловато будет. Обсуждания какие-то поверхностные, вопросы не отвечаются или отвечаются херово.

Печально это.
Аноним 06/02/24 Втр 11:43:46 3037329 661
>>3037131
При передаче в функцию массив декеится в указатель на тип массива , int p[] становится int star p.
При двойном массиве p[][] данные идут последовательно, но у тебя неизвестен размер внутреннего массива, поэтому невозможна адресная арифметика, и для нормальной работы компилятора надо его указать: например p[][10] сдекеится на указатель на массивы по 10 интов.
Аноним 06/02/24 Втр 11:46:11 3037335 662
Кстати, как decay официально на русский переводится?
Аноним 06/02/24 Втр 12:05:48 3037368 663
>>3037322
А каким образом анон, чет я внятного ниче нагуглить по теме не нашел?
Аноним 06/02/24 Втр 12:06:08 3037370 664
Мы проблему с разрывами будем решать или нет?
Аноним 06/02/24 Втр 12:29:22 3037410 665
>>3037368
Открой его (файл проекта) в редакторе и посмотри.
И .sln тоже посмотри, чтобы убедиться что внутри его только отсылки к проектам.

Далее. Посмотреть на процесс компиляции можно окне Output. А именно - компиляция каждого изменённого файла, а затем их линковка.
Аноним 06/02/24 Втр 12:31:04 3037413 666
Аноним 06/02/24 Втр 12:38:08 3037428 667
image.png 25Кб, 532x577
532x577
>>3037335
>официально
Если ты про array decay, то это сленг.
Аноним 06/02/24 Втр 12:43:21 3037431 668
>>3037370
слишком сложно
лучшие умы передовых нии годами бились над этой задачей
Аноним 06/02/24 Втр 13:29:30 3037508 669
>>3037328
Мне просто лень тут сидеть, стабильно одна студентота спрашивающая как очистить вектор. Если хочешь нормальных дискуссий заходи в @ProCxx в телеге.
Аноним 06/02/24 Втр 13:34:43 3037516 670
image.png 44Кб, 1069x618
1069x618
>>3037410
> Посмотреть на процесс компиляции можно окне Output.

Так а что толку туда смотреть? Ну посмотрел я на имена файлов которые компилируются как на пикрил, мне надо посмотреть на команды подобно этой из которых состоит сборка под капотом:

$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
Аноним 06/02/24 Втр 13:44:31 3037543 671
>>3037516
В настройках свойств проекта, у компилятора и линкера есть страница "командная строка".
Аноним 06/02/24 Втр 13:53:13 3037559 672
Аннотация 2024-[...].jpg 68Кб, 942x618
942x618
Аннотация 2024-[...].jpg 65Кб, 941x617
941x617
Аноним 06/02/24 Втр 14:03:31 3037564 673
Аноним 06/02/24 Втр 14:15:33 3037570 674
Аноним 06/02/24 Втр 15:41:39 3037656 675
>>3037570
Если не умеешь читать, да, пусто, в тупой башке.
Аноним 06/02/24 Втр 15:49:22 3037663 676
>>3037656
Читать что? <different options>? Прочитал...
Аноним 06/02/24 Втр 17:22:07 3037793 677
>>3036981
> Единственный нормальный язык
Это факт, да. Но не поэтому.
Аноним 06/02/24 Втр 17:28:59 3037807 678
>>3037663
Читать означает не произносить буквы, а понимать смысл написанного, думать головой. Тупая башка не может думать, а значит и читать не может, "смотрит в книгу, видит фигу вместо написанного".
Аноним 06/02/24 Втр 17:57:43 3037878 679
>>3037807
Петровско-разумовская, послезавтра в 5 часов, жду тебя с красной розой.
Аноним 06/02/24 Втр 19:22:13 3038042 680
>>3037807
>Читать означает не произносить буквы, а понимать смысл написанного, думать головой.

Ну это, если бы точным, не всегда так. Например, вот:

나는 한국어를 읽을 수 있지만 읽은 내용을 이해하지 못합니다.
Аноним 06/02/24 Втр 19:45:12 3038074 681
>>3038042
Всегда. написанное это не буквы и не слова, а мысль которую написавший хотел донести до читателя. Автор что-то подразумевал, и задача читающего правильно понять что. Это мыслительный процесс - чтение. Дебил читать не может, ибо не думает, а тупо произносит буквы и слова не думая о смысле.
Аноним 06/02/24 Втр 22:19:06 3038325 682
Дайте пожалуйста код подключения curl в cmake на windows, уже второй день мучаюсь :с
Аноним 07/02/24 Срд 00:20:46 3038439 683
Сап плюсаны
Представим: есть контейнер с структурой, у структуры К полей. Как наиболее идеоматично собрать новый вектор по одному из полей?
Аноним 07/02/24 Срд 00:23:03 3038441 684
>>3038439
Если не игнорировать UB, то есть только один способ.
Аноним 07/02/24 Срд 00:32:16 3038449 685
>>3038441
Да я походу нагуглил,
ranges::copy с back inserter и проекцией
Аноним 07/02/24 Срд 00:35:13 3038453 686
>>3038439
>идеоматично
Вот теперь ты не получишь мой ответ.
Аноним 07/02/24 Срд 00:36:36 3038454 687
>>3038449
Давай теперь сравним сгенерированны код с циклом и твой вариант.
Аноним 07/02/24 Срд 01:00:24 3038468 688
>>3038454
Мне вообще пофиг какой там код генерится.
Аноним 07/02/24 Срд 01:08:02 3038471 689
>>3038468
>Мне вообще пофиг какой там код генерится.

Вот это и печалит. Не понимаю тогда зачем тебе нужен С++. Потому что это модно было 20 лет назад?
Аноним 07/02/24 Срд 01:10:56 3038473 690
>>3038471
Потому что мне платят за код на нем? Тем более что всю эту хуйню в язык тащат. Надо же пользоваться, а то буду как деды с НИИ сидеть ныть.
Да и мало языков, которые позволяют такую хуйню делать.
Завтра может скину годболт, щас мне уже лень. Честно говоря думаю там ничего страшного не будет.
Аноним 07/02/24 Срд 01:22:46 3038483 691
>>3038473
>Завтра может скину годболт, щас мне уже лень.
Чисто из любопыства было бы интересно глянуть. Да и для саморазвития тоже. И вероятно не одному мне.
Аноним 07/02/24 Срд 04:23:25 3038570 692
>>3037807
> а понимать смысл написанного

И каков там смысл написанного? <different options>, различные опции. Что это значит?
Аноним 07/02/24 Срд 07:13:32 3038601 693
думайте....
07/02/24 Срд 07:16:14 3038603 694
Аноним 07/02/24 Срд 12:07:02 3038828 695
crop7056IMG2024[...].jpg 5037Кб, 4165x1552
4165x1552
>>3038439
Да вроде одной строкой делается, если не надо более общие случаи обрабатывать.
Аноним 07/02/24 Срд 12:41:13 3038928 696
>>3038828
Согласен, но я хотел принципиально без лямбд.
Пусть язык сам да меня это делает.
>>3038483
Гляди.
https://godbolt.org/z/qs7q4vEaT
Оптимизации вырубай, а то там ничего не понять(мне)
Аноним 07/02/24 Срд 13:08:22 3038965 697
>>3038928
В с++23 можно будет лучше:
Завезут ranges::to и можно будет говнокодить такое:
ranges::views::transform_view(cont, proj) | ranges::to<vector<int>>()
Аноним 07/02/24 Срд 13:20:35 3038994 698
>>3038928
Без блямб не идиоматично.
Аноним 07/02/24 Срд 13:24:27 3039002 699
>>3038994
Это в с++14-17 не идеоматично, а в с++20-23 лямбды для лошков😎
Аноним 07/02/24 Срд 13:32:13 3039015 700
image.png 90Кб, 1760x751
1760x751
>>3038928
Хмм. Я разделил твой пример на два и сравнил чем же отличается.
Собственно вот на картинке пример, чем отличается первый способ от второго.

Ничем. При -O3
Познавательно.
Аноним 07/02/24 Срд 13:32:57 3039016 701
YMTKapP53Nw.jpg 142Кб, 1080x1250
1080x1250
>>3038928
>Пусть язык сам да меня это делает.
>Пишет на порядок больше строк.
Аноним 07/02/24 Срд 13:53:18 3039056 702
>>3039016
На какой порядок? В с++23 это делается в 1 строку.
>>3039015
Это круто, имхо
Аноним 07/02/24 Срд 17:17:08 3039446 703
>>3039056
> Это круто, имхо
А это разве не подефолту должно так работать? Зеро кост же...
Аноним 07/02/24 Срд 18:46:28 3039553 704
>>3039446
Должно, но одно дело теория, а другая практика.
Аноним 07/02/24 Срд 19:11:51 3039595 705
>>3039553
Ну так и тут не рокет саенс, а просто трансформ вектора
Если бы даже тут что то ломалось, в реальном мире совсем кашмар бы был
Аноним 07/02/24 Срд 19:57:58 3039665 706
>>3039595
Это правда.
Я бы хотел посмотреть что там выведет через трансформ вью и ренжес ту, но этот код нигде ещё не компилируется.
Аноним 07/02/24 Срд 20:17:00 3039686 707
>>3038965
> можно будет
Стандарт уже финализирован и всё это есть реализованное в std как минимум у майков.
Лучше бы они за паттерн матчинг взялись и наконец релизнули <reflection>. Вот тогда бы началась настоящая магия.
Аноним 07/02/24 Срд 21:13:31 3039772 708
>>3039686
>Вот тогда бы началась настоящая магия.
Как уже тут заметили, магия начинается от -O3
Аноним 07/02/24 Срд 21:53:37 3039837 709
>>3039686
Увы, Смаке и гцц пока не релизнули. Да и 23 стандарт ещё не скоро в прод пойдет.
Аноним 07/02/24 Срд 22:41:06 3039925 710
16940777065640.jpg 981Кб, 1414x2000
1414x2000
>>3037793
>>3037130
Ну и чего вы сидите тут такие высиживаете, вот только что был спор с одним аутистом, объяснял ему что компилятор либо вообще не учитывает локальность кэша, либо если учитывает, то настолько поверхностно, что можно считать, что не учитывает вообще. И ещё пояснял ему за то, что лто ни за что не сравнится с ручным инлайном. А он так и остался в полнейшем неироничном отрицании, я уже начал думать, что он меня троллит, а не, оказывается реально аутист без эмоционального интеллекта, и его стриггерило. Вы же не такие?
Аноним 07/02/24 Срд 22:49:17 3039942 711
Вот представьте верить компилятору настолько. Процедурным вычислениям. Это же техножрецом надо быть в край поехавшим
Лто вообще выдаст совсем другой двоичный код для геев, если что
Аноним 07/02/24 Срд 22:53:18 3039949 712
>>3039837
> Смаке
Он-то тут причём. Да и поддерживает он всё, недавно они наконец сделали полную поддержку модулей, а не как раньше частичная была. Теперь как белые люди живём, всё из коробки есть. Даже модуль std с cmake работает.
Аноним 08/02/24 Чтв 04:20:19 3040088 713
Допустим, что в консоли запускается программа с одним аргументом "qwerty".
Тогда у нас argc = 2, argv[0] = "имя программы", argv[1] = "qwerty".
Если я верно понимаю, консоль (процесс cmd.exe или, например, bash) в ходе запуска нашей программы передают ей эти аргументы.
Какую именно информацию об этих аргументах получает наша программа?
Получает ли наша программа информацию о точной длине строк argv[0] и argv[1]?
Если получает, то как её нам заполучить и использовать внутри main() {} нашей программы ( чтобы не делать, например, strlen(argv[1]) )?
Аноним 08/02/24 Чтв 05:06:15 3040091 714
>>3040088
нахуя плюс зачем
даже если аргумент макаисмальной длины (какой там лимит? 64к?) стрлен измеряется микросекундами
что на фоне старта ебучего процесса не заметно никак
Аноним 08/02/24 Чтв 08:11:08 3040127 715
>>3040088
> длине строк
Сишные строки обычно null-terminated. Просто набор байтиков, а в конце ноль.
> как её нам заполучить
Только пройтись по строке и найти ноль.
Аноним 08/02/24 Чтв 10:04:33 3040154 716
>>3040088
>Получает ли наша программа информацию о точной длине строк argv[0] и argv[1]
>не делать, например, strlen
Получает, если ты передашь длину строк в аргументах argv[2] и argv[3], например.
Аноним 08/02/24 Чтв 10:09:09 3040156 717
image.png 6Кб, 770x91
770x91
Аноним 08/02/24 Чтв 10:25:32 3040165 718
1581590237492.png 66Кб, 1374x292
1374x292
>>3040156
Смотри, просто 0 после каждого аргумента.
Аноним 08/02/24 Чтв 15:50:24 3040461 719
>>3040165
Я намекнул на "длину строки". Посмотри на пик >>3040156 длина строки 4 или 10 ?
Аноним 08/02/24 Чтв 16:16:17 3040503 720
1686357729163.png 5Кб, 406x94
406x94
>>3040461
Ты собрался передавать эмодзи в аргумент? Тебя любая консольная утилита нахуй пошлёт с таким, такое даже не стоит рассматривать как реальный кейс. В винде на пердоликсе сами проверяйте вместо русских букв 3f в аргументе знаки вопроса, при любых кодировках бинарника/терминала заменяет на них. В винде для получения пути бинарника правильно дёргать GetModuleFileName, чтоб не обосраться с папками на русском, хотя иногда проскакивает софт, где требуют путь установки только на английском - значит там как раз первый аргумент юзают.
Аноним 08/02/24 Чтв 17:21:33 3040611 721
>>3012308 (OP)
Какие аргументы обычно приводят когда говорят, что Qt сильно устарел?
Аноним 08/02/24 Чтв 18:23:57 3040752 722
>>3040611

https://youtu.be/9jGpvVGHvso

Котороткий ответ: Любые
Длинный ответ: Ответ дан в басне "Лисица и виноград" - лицензия не очень вкусная.
Аноним 08/02/24 Чтв 19:25:39 3040860 723
нетакбыстропрок[...].mp4 8296Кб, 1280x720, 00:00:19
1280x720
Аноним 08/02/24 Чтв 19:36:51 3040887 724
Аноним 08/02/24 Чтв 19:47:20 3040900 725
Аноним 08/02/24 Чтв 20:23:58 3040925 726
>>3012308 (OP)
Сап двач

Программировал на си, работал с ним же. Сейчас сменил галеру и в основном дело теперь имею с крестами.

Проблема в том, что С++ знаю 98 стандарта. Собес пройти не помешало, но де факто постоянно натыкаюсь на то, что можно сделать что-то по умному и новому и на проде код впринципе от С++17.

Поэтому реквестирую книжку/курс или что-либо чтобы закрыть пропасть в развитии крестов
Аноним 08/02/24 Чтв 20:31:31 3040936 727
>>3040925
> сменил галеру
> реквестирую книжку
На JS кодил, опущ?
Аноним 08/02/24 Чтв 20:41:30 3040947 728
>>3040925
> Поэтому реквестирую книжку/курс или что-либо чтобы закрыть пропасть в развитии крестов
Даже хуй знает, посмотрел бы просто ретроспективно что в каждый стандарт добавляли классного, на том же цпп референсе
Плюс если тебе только обзорно можешь глянуть лекции на Ютубе от Константина Владимирова, выборочно по интересующим темам
Аноним 08/02/24 Чтв 20:41:52 3040949 729
>>3040925
С++14 Майерса.
17ый стандарт - полировка 14го.
Аноним 08/02/24 Чтв 21:01:30 3041008 730
Аноним 08/02/24 Чтв 21:16:44 3041050 731
>>3040949
>>3040947
Спасибо, аноны, попробую

Я так понял там главная реформа в 11-м произошла? Буду смотреть ещё книжки по этому делу тогда
Аноним 08/02/24 Чтв 21:23:13 3041061 732
>>3041050
> главная реформа в 11-м произошла?
Без С++20 нехуй лезть в современные кресты.
Аноним 08/02/24 Чтв 22:02:38 3041158 733
>>3041061
В с++20 нет смысла лезть без 11.
>>3041050
В целом да, примерно так, 11 самый прогрессивный стандарт в количестве фич.
Аноним 08/02/24 Чтв 23:18:03 3041220 734
>>3040925
Расслабься, челик. Раз руководство решило тебя поставить на этот проЭкт то значит что твой уровень крестов это руководство устраивает. А изучение можешь оставить всяким безработным бичам типа меня. Иди лучше дорогую шлюху выеби или 15ти летнего односолодового виски ебани, чем какие-то книжки читать, ты же не лошара.
Аноним 09/02/24 Птн 21:02:01 3042271 735
И так.
Выше мы сумели парой строк без голых циклов конвертнуть один вектор в другой.
Теперь похожая задача:
Есть хеш-мапа<A, B>. Мы хотим получить vec<B>.
Есть ranges::views::values, но возвращаемый им тип ренжа не подходит для ranges::transform
Как какать?
Аноним 09/02/24 Птн 22:25:11 3042392 736
1583135965187.png 181Кб, 1216x1354
1216x1354
>>3042271
Как-то так, в одну строчку.
Алсо, подсветка синтаксиса вышла из треда, я так и не смог инициализировать мапу без ошибки в IDE, надо всё же вернуться в VS.
Аноним 10/02/24 Суб 00:05:46 3042452 737
>>3042392
Блять, да, с 23 красиво получается.
Но у нас нет 23... А без ranges::to не получается?
10/02/24 Суб 00:14:17 3042454 738
>>3042392
Чел скинь плиз конфиг как дебагер к вскоду прикрутить.
Аноним 10/02/24 Суб 00:36:36 3042459 739
>>3042454
Я не он, но это кажется не вскод, а силион
Аноним 10/02/24 Суб 10:01:09 3042603 740
>>3042452
Ты можешь использовать ниблеровскую либу, на которой стандарт и основан. Там нужен 17 или даже 14.
Аноним 10/02/24 Суб 10:42:15 3042639 741
>>3042603
Не могу, ее вроде нет в утилзах.
Но поищу.
10/02/24 Суб 10:48:41 3042645 742
>>3042639
Совсем того? Что мешает сурс взять?
Аноним 10/02/24 Суб 10:51:38 3042646 743
>>3042645
То что запрещено тащить рандомные либы в проект? А если я хочу их официально затащить в утилзы, ебля ещё ебанутее.
Да и я че мудак ради 2ух строк тащить хедер?
Это тебе не лаба1.спп
Аноним 10/02/24 Суб 13:31:52 3042733 744
>>3042646
> и я че мудак ради 2ух строк тащить хедер
Но это можно и на 11 стандарте сделать в одну строчку, просто меньше сахара будет.
Всё это обсуждение уровня "питон эффективнее потому что хелло ворлд на нем короче".
Аноним 10/02/24 Суб 14:22:44 3042770 745
>>3042733
Я действительно хочу больше сахара для работы с контейнерами и не вижу никакой в этом проблемы.
Да и обсуждения никакого нет, питон ты упоминул зачем то
Аноним 10/02/24 Суб 14:51:52 3042789 746
Почему столько говна в исходниках? Зайдите в СВЕЖИЕ трендовые репозитории и покапайтесь, антипаттерн на антипаттерне, каша-малаша с препроцессором, сырые указатели, спагетти с полотной комментариев, и в целом какой-то кал. Нахуй нужны эти правила и конвенции если их никто не соблюдает?
Аноним 10/02/24 Суб 15:10:37 3042811 747
>>3042789
> антипаттерн на антипаттерне
Антипаттерн это мем
> сырые указатели
Как будто что то плохое
> спагетти с полотной комментариев
Комментарии я бы уж точно плохим не считал

> Нахуй нужны эти правила и конвенции если их никто не соблюдает?
Ну так раз их никто не принуждает использовать, то и понятное дело все на них забивают

> почему так
Есть несколько причин:
- плюсы в целом синтаксически не созданы чтобы их удобно читали люди, также они сами по себе не помогают писать хороший код
- у многих плюсовиков в общем нет цели делать код читаемым для других
- в опенсорсе достаточно сложно следить за качеством кода
Аноним 10/02/24 Суб 15:53:22 3042862 748
>>3042811
Бабахает от того, что люди пишут успешные трендовые вещи, а ты нет? Ну бывает, жизнь говна - боль.
Аноним 10/02/24 Суб 15:54:03 3042863 749
Аноним 10/02/24 Суб 16:13:21 3042886 750
>>3042862
Бабахают тут только залётные, мы же выдрачиваем каждую строку, пока не избавимся от всех явных циклов
Аноним 10/02/24 Суб 16:14:24 3042888 751
>>3042886
Что такое явный цикл и зачем от него избавляться
Аноним 10/02/24 Суб 17:02:37 3042954 752
>>3042888
Явный цикл - любой цикл, совершающий внутри одно действие.
Использование стандартных алгоритмов вместо таких циклов повышает читаемость, безопасность, гибкость кода.
10/02/24 Суб 17:24:35 3042982 753
Аноним 10/02/24 Суб 17:25:46 3042984 754
>>3042954
> повышает читаемость, безопасность, гибкость кода
буквально не делает ничего из вышеперечисленного
Аноним 10/02/24 Суб 17:40:47 3043000 755
>>3042954
Достаточно делать циклы итераторами, а не через i и всё будет безопасно. Если выбирать между лямбдой в монаде и циклом, то цикл приятнее читать.
Аноним 10/02/24 Суб 18:42:55 3043050 756
>>3043000
Так если ты лепишь в монаду лямбду - делаешь что то не так, и цикл действительно лучше.
А если тебе надо как выше странсформить/скопировать/и тд то тебе даже читать не надо, ты видишь название функции, видишь контейнер с которым она работает. Все.
Ну а так да, итераторы база, вот ток ими тяжело пользоваться.
Аноним 10/02/24 Суб 18:54:48 3043073 757
16386556370040.png 1054Кб, 959x890
959x890
>>3042954
>Использование стандартных алгоритмов вместо таких циклов повышает читаемость, безопасность, гибкость кода.
Скриптошлюху видно издалека.
Аноним 10/02/24 Суб 18:56:23 3043077 758
>>3043073
> Сравнивает базовый функционал языка с сторонними пакетами
Сагу забыл
Аноним 10/02/24 Суб 20:27:38 3043203 759
>>3043077
>это другое
Нет, не другое, скриптошлюха. Заменять простой и ясный цикл из двух строчек на библиотеку это скриптошлюшество чистой воды пикрелейтед >>3043073 Библиотека это библиотека, какой бы она ни была, встроенной или скачиваемой, какая разница какой способ приобретения. Тащат библиотеки ради элементарных действий только дебилы скриптомакаки.
Аноним 10/02/24 Суб 21:11:41 3043247 760
>>3043203
Понятно, а теперь водички выпей и полежи дедуль, у тебя аж венка на лбу вздулась
11/02/24 Вск 01:34:45 3043451 761
>>3043050
Плюслтред 2024
> Итераторы сложно.
Си с начала временен
> Птр++
Аноним 11/02/24 Вск 01:51:30 3043458 762
>>3042789
примеры, ссыкли на гитхаб в студию
Аноним 11/02/24 Вск 06:34:14 3043510 763
>>3043247
>Понятно
Вот и хорошо, а теперь смойся обратно в жс/шарп или откуда говно вылезло, а то воняет.
Аноним 11/02/24 Вск 07:31:43 3043513 764
Ретроградство гейткиперство и аутизм
Аноним 11/02/24 Вск 11:12:13 3043585 765
>>3043510
Ахуеешь, но языки которые я знаю это плюсы и луа.
Так что скрипшлюхой я видимо стал в вашем загоне.
>>3043451
Итераторы сложно в плане someVarName.begin(); someVarName.end() дохуя многословно получается. Range based for для циклов это решает. Но согласись что тот же
transform(container, out, func)
выглядит гораздо пизже, чем
transform (container.begin(), container.end(), out.begin(), func)
Ptr++ заебись, но это работает только в contiguous последовательностях, а хотелось бы отделить реализацию от знания об устройстве входящего контейнера, если это возможно
Аноним 11/02/24 Вск 12:43:44 3043623 766
Аноним 12/02/24 Пнд 05:26:24 3044449 767
>>3039925
Что такое локальность кеша?
Аноним 12/02/24 Пнд 10:38:18 3044586 768
Аннотация 2024-[...].jpg 11Кб, 295x154
295x154
Аннотация 2024-[...].jpg 70Кб, 404x779
404x779
Анончики, а почему в VS при открытие CMake проекта (пик1) не показывается структура файла как на (пик2)? Что сделать чтобы норм всё стало?
12/02/24 Пнд 12:19:59 3044820 769
>>3044586
1: потому что студия кал говна.
2: потому что какого хера ты ожидаешь увидеть в своих трех файлах? Индентов не хватает? Симейк он для сборки, а не для рисования отступов. То что у тебя на пик 2 к симейку отношения не имеет, чисто тема иде.
Аноним 12/02/24 Пнд 12:34:58 3044868 770
image.png 5Кб, 234x87
234x87
Аноним 12/02/24 Пнд 13:10:14 3044940 771
>>3044449
Он видимо про то, что данные, с которыми работают разные потоки, должны быть разнесены в памяти минимум на размер кешлайна, что бы не вызывать синхронизацию кешей разных ядер.
Это 64 байта для современных процессоров.
мимо
Аноним 12/02/24 Пнд 14:28:54 3045128 772
>>3044940
Что значит быть разнесенным в память на размер?
Аноним 12/02/24 Пнд 15:08:30 3045209 773
>>3045128
int(ptr1) - int(ptr2) > cachline_size
Аноним 12/02/24 Пнд 16:04:30 3045257 774
>>3045209
И что, реально надо следить, чтобы адреса данных для разных потоков были не слишком близкими? Звучит как бред.
Аноним 12/02/24 Пнд 16:31:06 3045285 775
Аннотация 2024-[...].jpg 166Кб, 1387x884
1387x884
>>3044820
> 1: потому что студия кал говна.

Возможно, ну я пока на ней, других вариантов у меня нету

> какого хера ты ожидаешь увидеть в своих трех файлах?

Методы класса, чтобы по ним переходить кликая по названию как на пик2

> Симейк он для сборки

Sln то же для сборки по факту, ну в этом случае я не sln проект создавал, cmake проект

> То что у тебя на пик 2 к симейку отношения не имеет

На пик 2 там sln сгенерированный через cmake, то есть по сути и там проект, и там проект, просто в разном формате

> чисто тема иде.

VSCode например норм справляется по умолчанию пик
Аноним 12/02/24 Пнд 16:32:05 3045289 776
12/02/24 Пнд 17:37:45 3045398 777
>>3045285
Перечитай мой ответ, а потом свой собственный.
> вскод справился
> это не про симейк, это про иде
Аноним 12/02/24 Пнд 18:01:56 3045444 778
Анонесы, каковы ваши мысли по поводу этого сайта, стоит ли юзать его для обучения? https://www.learncpp.com/
Аноним 13/02/24 Втр 02:19:36 3046267 779
>>3045257
Для HPC - надо, а в других случая не надо.
Аноним 13/02/24 Втр 04:01:27 3046296 780
>>3045398

То есть ты хочешь сказать, что VS при создании и открытии cmake проекта никак не заставить таким образом отображать solution explorer?
Аноним 13/02/24 Втр 06:43:15 3046340 781
Аноним 13/02/24 Втр 07:16:23 3046349 782
>>3046340

Я видел это видео, там нету ничего по моему вопросу
Аноним 13/02/24 Втр 07:16:47 3046350 783
и в документации нету ничего
Аноним 13/02/24 Втр 10:07:40 3046479 784
Аноны, обесните мне нормально пжлста, как вообще выстраивается воркфлоу при разработки cmake проекта, я что должен тупо постоянно открывать параллельно cmake проект и просто вносить правки какие я новые файлы создал и подключил библиотеки, потом через cmake генерировать в нём новый sln проект, потом периодически возвращаться в cmake, править CMakeLists.txt и так по новой?
Аноним 13/02/24 Втр 11:29:36 3046538 785
>>3046479
Не использую симэйк. Проект мультиплатформа. Рядом лежат студийный проект и классический Makefile. Очень хорошо.
Аноним 13/02/24 Втр 11:47:31 3046566 786
>>3046538

А что по поводу?
> как вообще выстраивается воркфлоу при разработки cmake проекта
Аноним 13/02/24 Втр 12:16:43 3046645 787
>>3046566
Не знаю. И особо не интересно. Версия для Винды на gitlab воркере собирается g++ из Makefile без проблем
Аноним 13/02/24 Втр 12:34:10 3046677 788
>>3046479
>потом через cmake генерировать в нём новый sln проект
Зачем? VS 2022 поддерживает cmake нативно. Генерить надо было в прошлых версиях которые не поддерживали симейк.
Аноним 13/02/24 Втр 12:44:51 3046696 789
>>3046677

Натвино, это я понимаю так, что я тупо создаю cmake проект и работаю с ним без всяких классических sln, правильно?
Аноним 13/02/24 Втр 13:42:52 3046787 790
image.png 35Кб, 1012x674
1012x674
>>3046696
Ну да, я тупо скачивал с гитхаба проги на симейке, тупо открыл и готово, вот тебе проект, можно компилить и всё такое. Если же ты будешь использовать sln, это и будет sln, а не cmake.
Аноним 13/02/24 Втр 14:44:46 3046845 791
>>3046787

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

>>3044586

Решения так ей пока и не нашел.

Мне анон другой там начал писать, что я хуйнёй занимаюсь и cmake для этих задач не применяют, и я вот хз, собствено и назрел мой другой вопрос выше, какое воркфлоу, получается, что тогда надо вести CMakeFileLists.txt как отдельный проект, тупо для распространения, чтобы другим на разных платформах и средах можно было собирать проекты и уже их открывать в том, в чем они пишут. Или я хз, в замешательстве пока каком-то, потому что VS получается не позволяет полноценно использовать cmake проекты как в случае с sln.
Аноним 13/02/24 Втр 18:42:27 3047285 792
изображение.png 239Кб, 1093x684
1093x684
А что потом?
Аноним 13/02/24 Втр 19:12:25 3047319 793
>>3047285
Ну так засрать язык это надо постараться.
Что потом? Потом на полку к Фортрану, Алголу и Коболу.
Аноним 13/02/24 Втр 20:54:32 3047482 794
>>3047285
Статическая рефлексия, наконец сможем генерировать Enum to str без костылей.
Аноним 13/02/24 Втр 20:54:55 3047483 795
>>3047319
Забрать язык чем, дедуль?
Аноним 13/02/24 Втр 21:36:39 3047527 796
>>3047483
>>3047483
Нахуя тебе Coroutines, например?
Зачем эта хуйня нужна? Многопоточности не хватает?
Аноним 13/02/24 Втр 21:40:07 3047530 797
Аноним 13/02/24 Втр 21:59:06 3047555 798
>>3047482
А как это должно выглядеть? Я не знаком с рефлексией
Аноним 13/02/24 Втр 22:45:34 3047594 799
>>3047527
>Многопоточности не хватает
Именно по этой причине его и создали
Аноним 13/02/24 Втр 23:35:45 3047674 800
>>3047594
Ну и в каком пронкте тебе не хватало многопоточности?
Аноним 14/02/24 Срд 01:04:59 3047723 801
>>3047555
Хуево это будет выглядеть.
Я бы вообще ее не ждал к 26, хотя Полухин обещает.
А вообще вроде уже есть пропозалы, можешь почитать.
Спойлер: ещё более уебанский синтаксис
Аноним 14/02/24 Срд 01:07:44 3047724 802
>>3047674
Причем тут многопоточность и корутины?
Корутины про асинхронность.
Аноним 14/02/24 Срд 01:57:30 3047740 803
>>3047527
Да ясное дело никто в своем уме подобное дермо использовать не будет, как и очень многое что тащат в плюсы. Переключение контекста со своим стеком давным давно реализовано на асм+си.
Аноним 14/02/24 Срд 06:30:35 3047782 804
>>3047740
>Да ясное дело никто в своем уме подобное дермо использовать не будет
Вообще-то наоборот, это очень удобная фигня постоянно используемая в шарпе и прочих скриптах. Только кресты не скрипты, поэтому, да, скриптоговно в крестах это ну, говно, взять язык и изговнить. Какой смысл использовать кресты, чтобы высирать шарпоговно на них? Тогда бери сразу шарп и получишь желаемое. Сование скриптоговна в кресты это прямая диверсия, вредительство, подрыв языка скатыванием его в говно того, чем он не является. В принципе, это не противоречит концепции крестов как мультипарадигменного языка, это проблема скорее людей, макак которые лезут и требуют это говно в языке и кукарекают, что именно на корутинах надо писать, а не как раньше.
Аноним 14/02/24 Срд 07:35:08 3047793 805
1000004736.mp4 1169Кб, 848x800, 00:00:07
848x800
Аноним 14/02/24 Срд 07:37:45 3047795 806
>>3047527
>Нахуя тебе Coroutines, например?
Мне как-то реально было проще взять из буста корутины, чем накручивать ебанутую логику с вызовами одной внешней библиотеки. Нахуя ты сюда пишешь работая с задачами уровня хелло ворлда, например?
Аноним 14/02/24 Срд 07:55:14 3047797 807
>>3047795
А ты с какими задачами работаешь? Ни с какими, иначе бы не выбирал С++ когда задача "проще". С++ не проще, дебил, для этого есть языки проще.
Аноним 14/02/24 Срд 08:14:06 3047802 808
причины по которым корутины не нужны:

- они есть в скриптах (с#)
- это проще, а с++ не проще
Аноним 14/02/24 Срд 08:22:47 3047808 809
>>3047802
Не только корутины, та же скриптовая рефлексия с её метастазами, подрывающая сам принцип С++ как компилируемого машинного языка. Всё это дерьмо лезет от скриптомакак которые хотят чтобы си был как их скрипты, потому что дебиломакак взрастили на скриптах и у них навечно скрипты головного мозга.
Аноним 14/02/24 Срд 09:10:12 3047828 810
это он так байтит на срач?
Аноним 14/02/24 Срд 09:59:23 3047880 811
>>3047808
Дедуль, нам завезут рефлексию ВРЕМЕНИ КОМПИЛЯЦИИ, а не рантаймовую.
Присядь, успокойся.
Аноним 14/02/24 Срд 10:16:49 3047904 812
>>3047880
>перемогает ранним временем связывания.
kekw
Аноним 14/02/24 Срд 10:49:20 3047946 813
>>3047904
какое связывание че ты несешь орунаху
просто чтандартная замена того что сейчас делается анальными костылями типа парсинга __PRETTY_FUNCTION__
Аноним 14/02/24 Срд 10:49:58 3047948 814
>>3047880
Проблема макак, они не понимают разницу между программированием и скриптингов, когда она на самом деле фундаментальная.

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

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

Си, и их расширение С++ это машинный язык программирования, а вовсе не офисная система скриптинга из так называемого "ИТ". ИТ это обработка данных, офисная работа, техника программирования тут совершенно ни при чем. Каким дебилом надо быть, чтобы не отличать офисного клерка от механика-водителя?
Аноним 14/02/24 Срд 11:06:54 3047968 815
3ec84f51801de6b[...].jpg 71Кб, 643x820
643x820
Аноним 14/02/24 Срд 11:32:07 3047988 816
>>3047948
Дедуль, обеденный перерыв кончился, а тебе ещё библиотеку для твоей ЗА-ЛУ-ПА-1 писать.
Аноним 14/02/24 Срд 11:33:10 3047992 817
>>3047968
Удвою, его поток шизофазии уровня "программист должен знать устройство прибора для печати транзисторов" читать тяжело
Аноним 14/02/24 Срд 11:33:57 3047995 818
>>3047948
К чему ты эту хуйню высрал? Водки с утра налакался и внутренний вахтёр проснулся?
Аноним 14/02/24 Срд 12:48:04 3048092 819
>>3047988
>>3047995
Тявкать как шавка не выражая никаких человеческих мыслей, и даже не читая на что отвечаешь. Типичные макаки, тупорылые животные. Зачем лезут в языки программирования? Чего напрограммируют? Вопрос тщетный.
Аноним 14/02/24 Срд 12:50:11 3048096 820
>>3047992
>программист должен знать устройство прибора для печати транзисторов
Это ты так stepper (литограф) обозвал?

Внутри самой современной EUV-машины каждую секунду 50 000 капель расплавленного олова падают через камеру в её основании. Пара высокоэнергетических лазеров на углекислом газе ударяет по каждой капле, создавая плазму, которая, в свою очередь, испускает свет нужной длины волны. Первый импульс преобразует каплю олова в туманную форму блина, так что второй импульс, который является более мощным и следует за ним всего через 3 микросекунды, взрывает олово в плазму, которая светится на длине волны 13,5 нанометров
Аноним 14/02/24 Срд 13:24:30 3048131 821
>>3048096
Когда меня будут спрашивать базу для программистов - буду кидать твой пост
Аноним 14/02/24 Срд 13:33:51 3048138 822
>>3047285
>А что потом?
Да все уже, движуха выдохлась. Это даже видно по российскому комьюнити языка. Дальше застой будет. Усугубленный еще и тем что сама ниша языка который он занимает уменьшается. Соответственно и интерес пропадает.
Аноним 14/02/24 Срд 13:41:23 3048148 823
>>3048131
>Когда меня будут спрашивать базу для программистов

Базу программистов? Что за база?
Может быть расскажешь как работают аппаратные прерывания на примере сетевой карты?
Аноним 14/02/24 Срд 14:42:11 3048199 824
>>3047782
Ты вообще не понял что я написал и высрал такую простыню.
Аноним 14/02/24 Срд 20:46:42 3048824 825
Вообще челики чтобы понять где мы сейчас находимся нужно посмотреть немного назад. А именно у эльфов был один провальный проэкт который утянул за собой на дно и кресты. А именно f-35. Америкашки как всегда сделали вид что нихуя не обосрались и что все типа OK. Но на деле как раз после того как все поняли что разработка усложняется удорожается и затягивается на десятилетия, стали с неохотой связываться с крестами.
Аноним 14/02/24 Срд 21:31:48 3048876 826
>>3048824
Хорошо, дедуль, а теперь таблетки и спать.
Аноним 14/02/24 Срд 21:44:20 3048891 827
>>3048824
И что выбрали вместо крестов? Сруст?
Аноним 15/02/24 Чтв 01:07:22 3049099 828
>>3048891
Не что выбрали, а что нужно было выбирать. А выбирать нужно было Аду, как и раньше. И все делать на ней. И было бы чики-пуки все.
Аноним 15/02/24 Чтв 01:39:11 3049113 829
Выбирать нужно было фортран.
Аноним 15/02/24 Чтв 02:15:52 3049117 830
tumblra98ac31be[...].png 103Кб, 417x234
417x234
Поработал ньюфаг с отладчиком. Сначала выяснилось, что знаменитый олядебаг для x64 не поддерживается. Нашел x64dbg. Потом выяснилось, что на многих интересующих меня экзешниках стоит защита от дебаггеров - диаологовое окно "Хуле ты дебаггером меня открываешь?" - нажимаю ок и процесс завершается. Далее для пробы открыл helloworld.exe - нихуя не понятно, куча ассемблерного кода. Можно сразу перейти в main, но дальше почему-то Шаг не работает, сразу все выводится в консоль и программа завершается. Попробовал в цикле вывести несколько раз helloworld - то же самое, не дает посмотреть пошагово, сразу выводит в текст консоль и завершает программу. Короче еще ебаться и ебаться.
Аноним 15/02/24 Чтв 22:09:15 3050309 831
Нужно под линух написать два независимых приложения: ui и бэкенд. Пока не знаю как организовать общение между процессами гуя и бэкэнда. D-Bus, unix sockets? В общем накидайте базвордов почитать и какие там технологии модно сейчас использовать в таких задачах. В идеале бэкэнд должен быть монолитным и неизменяемым, гуй же под любую портянку вроде qt, даже консольный
Аноним 15/02/24 Чтв 23:03:52 3050450 832
>>3050309
Базвордов, да? Изволь.
Electron, React, Node.js, Apollo.
Аноним 15/02/24 Чтв 23:19:42 3050474 833
>>3050309
>Пока не знаю как организовать общение между процессами гуя и бэкэнда.

Через сокеты.
Аноним 15/02/24 Чтв 23:31:49 3050490 834
>>3050474
Ты сейчас ему насоветуешь и он иксы (X Window System) напишет.
Аноним 16/02/24 Птн 00:37:36 3050580 835
Аноним 16/02/24 Птн 01:11:51 3050599 836
Есть одна игра стратегия, возможно ли зная адрес в оперативной памяти, через плюсы доставать оттуда массив с различными данными? Если да то как это сделать?
Если что мне не для взлома, просто я хочу RL агента обучить играть в одну игру а для этого мне нужно получать данные положения юнита на карте каждую секунду.
Аноним 16/02/24 Птн 01:20:28 3050602 837
>>3050599
Уточню: что бы получать данные не одного юнита а массив юнитов, например их может быть сотня, то есть имея под рукой адрес в оперативной памяти можно ли достать массив со всей необходимой информацией? Или это нужно как то парсить?
Аноним 16/02/24 Птн 09:01:32 3050684 838
>>3050309
>Нужно под линух написать два независимых приложения: ui и бэкенд.
Кек, прошивка для сервера, что ни напиши, всё равно получается веб-параша клиент-сервер. Просто написать нормальное приложение? Лолнет, ОС же не завезли.
Аноним 16/02/24 Птн 09:14:55 3050688 839
>>3050599
>Есть одна игра стратегия, возможно ли зная адрес в оперативной памяти, через плюсы доставать оттуда массив с различными данными?

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

Только далеко не уходи - разговор долгим будет.
Аноним 16/02/24 Птн 09:17:38 3050692 840
>>3050684
>всё равно получается веб-параша клиент-сервер.

Если он извратится с shared memory и pthread_mutex_lock, то тоже получтся "веб-параша"?
Аноним 16/02/24 Птн 09:54:54 3050720 841
>>3050688
Тот адрес который выдает Cheat Engine.
Аноним 16/02/24 Птн 10:51:24 3050758 842
>>3050309
непонятно по какой причине это должны быть у тебя два отдельных процесса
обычно "бэкенд" выделяют в библиотеку либо набор библиотек, а потом уже "фронэнды" используют эти библиотеки либо используя статическое либо динамическое связывание
Аноним 16/02/24 Птн 10:52:42 3050760 843
>>3050450
вчерашний школьник, плиз
Аноним 16/02/24 Птн 10:55:46 3050764 844
>>3050599
дык пиши лучше сразу бота который берет инфу с игры, захватывая картинку и онализиуя ее, а свою работу осуществляет эмулируя мышку и клавиатуру
все равно примерно так делают многие беспалевные боты для сетевых игр, и ты сразу же наберешься нужного опыта
Аноним 16/02/24 Птн 10:57:20 3050765 845
>>3050720
В душе не ебу что такое Cheat Engine и причём тут С++.
Аноним 16/02/24 Птн 11:12:04 3050775 846
>>3050758
>>3050684
Это не про веб. В моем случае гуй приложение на малине и второе приложение бекэнд, которое будет делать вещи там же. А дело в том, что гуй скорее всего нахер не упрется и хватит зайти по ссш вызвать команды самому, но спроектировать все надо как если бы была возможность управления этим бекэндом через ui

>>3050580
Да, хм, наверное так и сделаю
Аноним 16/02/24 Птн 11:53:14 3050802 847
>>3050688
а ты сам-то давно физический адрес видел? если дрова не пишешь
Аноним 16/02/24 Птн 13:22:19 3050881 848
>>3050692
Да. Какая разница какой протокол, клиент-серверная параша на прошивке для сервера от этого не меняется. Зачем делать сервер и клиент на той же машине? Ты ебанутый? Нет, просто ОС не завели, нормальное приложение сделать не представляется возможным, серверная прошивка поддерживает только сервера.
Аноним 16/02/24 Птн 14:10:41 3050953 849
>>3050764
В игре дохуя спецефектов, юнитиы могут перекрывать друг друга это негативно скажется на обучении РЛ агента, он будет думать что перекрытием уничтожил юнита, ИИ глуп и ему нужно все в лоб объяснять, а значит мне нужно как то из памяти брать данные, такие как фактическое положение юнита то есть координаты, значения здоровья и его название.
Аноним 17/02/24 Суб 00:06:30 3051796 850
Вот я написал #include <gl/GL.h> jrlf/ Потом вылетела ошибка линковки оказывается надо было дописать #pragma comment(lib, "opengl32.lib"). Но я не пойму, нахуя какая-то библиотека, мне обещали, что функции будет выполнять напрямую драйвер.
Аноним 17/02/24 Суб 00:11:44 3051799 851
>>3051796
> opengl32.lib
Хуя, под winXP пишешь?
Аноним 17/02/24 Суб 00:24:21 3051810 852
>>3051796
> мне обещали, что функции будет выполнять напрямую драйвер.

Ну и пиздец. Феерический. Даже хуй знает что тебе ответить.

И после этого говорят что плюсовику не нужно знакть Си, не нужно знать ассемблер, не нужно знать "кишки". Ну объясняйте тогда сами ему.
Аноним 17/02/24 Суб 00:34:36 3051814 853
>>3051810
Ну и че где в си, в ассемблере че сказано про графику, нихуя. Зато смотрим википедию, так opengl - спецификация, прототипы функций - в GL.h, реализация функций - в драйверах от производителей видеокарт. Если какая-то функция видеокартой не поддерживается, ее реализация лежит на gdi. И чем я не прав, обезьяна?
Аноним 17/02/24 Суб 00:44:02 3051819 854
Аноним 17/02/24 Суб 01:57:49 3051834 855
>>3051814
Обезьяна, в этой твоей Википедии тебе пообещали, что спецификация должна сама уметь искать реализацию?
17/02/24 Суб 02:17:25 3051839 856
Аноним 17/02/24 Суб 03:17:36 3051854 857
>>3047482
>наконец сможем генерировать Enum to str без костылей
Лол, я как раз свой в том году написал на макросах. Нет веры комитету.
Аноним 17/02/24 Суб 03:20:12 3051856 858
>>3047808
>та же скриптовая рефлексия с её метастазами, подрывающая сам принцип С++ как компилируемого машинного языка
Иди-ка ты нахуй. Я не хочу класс в XML вручную сохранять. Пусть компилятор работает, он железный.
Аноним 17/02/24 Суб 03:29:45 3051861 859
>>3051814
В opengl.dll только реализация 1.1 версии. Весь новый функционал получается из драйвера через wglGetProcAddress (которая сама лежит в opengl.dll), поэтому тебе надо линковаться с opengl.dll и с либой вроде GLEW, которая через экстеншены настроит современную версию OpenGL.
Аноним 17/02/24 Суб 07:21:59 3051872 860
>>3051834
Чтобы пользоваться функциями из gdi32.dll, user32.dll, kernel32.dll мне ничего линковать не надо, или это другое?
Аноним 17/02/24 Суб 10:07:33 3051927 861
Аноним 17/02/24 Суб 16:13:55 3052222 862
Почему эта хуетень не правильно считает шестнадцатеричные числа? Как сделать что бы оно корректно все считало?
https://pastebin.com/PVM63R3A
Аноним 17/02/24 Суб 16:24:41 3052254 863
>>3052222
Всë там правильно рассчитано.
Аноним 17/02/24 Суб 16:27:06 3052262 864
>>3052254
Да вижу это я проебался, там что бы добраться до нужного адреса нужно вычитать число а не добавлять.
Аноним 17/02/24 Суб 21:35:53 3052833 865
>>3051814
> реализация функций - в драйверах
Компилятор не имеет ни малейшего понятия что там в драйвере есть и как вызывать это.
>>3051872
Можешь без линковки чем угодно пользоваться, но надо тогда вручную загружать dll в рантайме, получать адреса через GetProcAddress и вызывать функции по их адресу. В хедере лежит API, оно никак не поможет компилятору понять что конкретно ты хочешь вызвать во внешней либе. С хедером и dll тебе всегда надо линковать файл *.lib, где лежит макет памяти с адресами функций по которым будет это API вызываться. Во время запуска бинарника по этим адресам будет смаплена твоя dll. А dll ты так или иначе будешь использовать, потому что вызов функций из драйвера геморроен, всегда есть абстракции над этим.
А в каком-нибудь расте вообще пиздец как надо извращаться чтоб dll заюзать, ведь это ансейф. Хорошо если биндген осилит хедер спарсить, а если нет, то пизда.
> gdi32.dll, user32.dll, kernel32.dll
Потому что их линковщик линкует по умолчанию при сборке, у тебя в SDK винды лежат lib-файлы для них.
Аноним 17/02/24 Суб 22:10:50 3052895 866
Вот надо же адекватный человек
>>3052833
> потому что вызов функций из драйвера геморроен, всегда есть абстракции над этим.
> Потому что их линковщик линкует по умолчанию при сборке,
Спасибо, что пояснил.
Аноним 17/02/24 Суб 22:28:06 3052950 867
yвaжaeмыe рeбятa, cкaжитe пoжaлyйcтa, нe мoгy пoнять:
вoт в ЖC зaдaeшь пeрeмeннyю, нaпримeр lеt x = 33331 - cкoлькo cимвoлoв ввeл, cтoлькo мecтa oнa и зaнимaeт
вoт в C нyжнo изeбнyтьcя и пoдoбрaть длинy, нaпримeр lоng lоng int = 42743251712343 - и oнo вceгдa бyдeт вecить 8 бaйт (ecли я нe oшибaюcь)
a пoчeмy нeльзя былo cдeлaть кaк в ЖC? В чeм cyть и кaкaя прaктичecкaя пoльзa oт этoй eбaтoрии? Или этo прocтo ycтaрeвшee гaвнo мaмoнтa, oт кoтoрoгo никyдa нe дeтьcя? Aктyaльнee ли вкaтывaтьcя в рacт?

cпacибo
Аноним 17/02/24 Суб 22:32:17 3052965 868
552a7bf79e1196e[...].jpg 85Кб, 604x449
604x449
ебать у вас в жс все такие?
Аноним 17/02/24 Суб 22:33:01 3052971 869
>>3052965
братик, да, тупой, да дебил, но ты подскажи по делу, а не вайн устраивай
Аноним 17/02/24 Суб 22:33:45 3052972 870
я формошлеп хуесос, встаю на путь истинный, гони ответ
Аноним 17/02/24 Суб 22:39:17 3053000 871
>>3052950
> нaпримeр lеt x = 33331 - cкoлькo cимвoлoв ввeл, cтoлькo мecтa oнa и зaнимaeт
А с чего ты это взял? Js вроде не предоставляет API для работы с памятью.
Аноним 17/02/24 Суб 22:42:26 3053013 872
>>3052971
ну давай разберем по частям тобою написанное)

>cкoлькo cимвoлoв ввeл, cтoлькo мecтa oнa и зaнимaeт
во первых сам сначала поясни что хотел сказать. надеюсь не то что каждая цифра в отдельном байте

так-то в крестах можно написать auto zalupa=42 и будет инт а можно auto zalupa=42000000000 и будет лонг
Аноним 17/02/24 Суб 22:42:55 3053015 873
>>3053000
>А с чего ты это взял? Js вроде не предоставляет API для работы с памятью
Это я так себе представляю, я вобще раньше не задавался такими глубинными вопросами. Насколько я знаю, в расте не нужно задавать. В общем, итоговый вопрос таков: почему размер не задается автоматически с одним словом let
Аноним 17/02/24 Суб 22:44:07 3053021 874
>>3053013
>во первых сам сначала поясни что хотел сказать. надеюсь не то что каждая цифра в отдельном байте
Это я доку читаю https://learn.microsoft.com/ru-ru/cpp/cpp/data-type-ranges?view=msvc-170
вижу что разные размеры в байтах. Видимо в этом смысл и был - оптимизировать вес, собственно и интересно узнать >>3053015
Аноним 17/02/24 Суб 22:47:33 3053037 875
>>3053015
Есть ключевое слово auto, появилось только в с++11 стандарте. То есть auto x = 123132; Автоматически подбирается подходящий тип. Но в отличие от let тип данных задается еще на этапе компиляции и не меняется в течение всей жизни программы, потому что в с++ типизация статическая, в js динамическая. То есть, если x родился целым числом, им он и останется до гробовой доски.
Аноним 17/02/24 Суб 22:49:40 3053046 876
>>3053021
а доку к жс читал? там небось все числа на самом деле инт64 или вообще дабл
Аноним 17/02/24 Суб 22:51:24 3053051 877
>>3053046
не, в жс такие вопросы вобще никого не ебут. я вот и решил базы впитать и не быть обосцаным хипстерком
Аноним 17/02/24 Суб 22:54:38 3053060 878
Аноним 17/02/24 Суб 23:02:59 3053090 879
>>3052950
>a пoчeмy нeльзя былo cдeлaть кaк в ЖC? В чeм cyть и кaкaя прaктичecкaя пoльзa oт этoй eбaтoрии?
В том, что процессоры работают с машинным словом, которое в современном мире обычно 16, 32 или 64 бита длиной. Соответственно, типы целочисленных данных С и С++ сделаны так, чтобы нативно поддерживать то, как работает железо. На 8-битном микроконтроллере Number из JS будет работать адски медленно, а int8_t, int16_t - с нативной скоростью.
Аноним 18/02/24 Вск 02:21:11 3053304 880
image.png 27Кб, 673x89
673x89
>>3049117
Ты чё, ебанутый? Тобой перечисленное это программы для реверс-инженерии, дебаггингом через это никто не занимается. Дебаггер плюсов это GDB/LLDB или нативная хуйня от майков.

Если нужен убермощный дизассемблер, то Ghidra.

>>3052950
> Aктyaльнee ли вкaтывaтьcя в рacт?
Так там тоже такая же ебатория. Ты то можешь let x = 42; и x будет i32, но если значение не даёшь или хочешь пихать числа требующие или не требующие какого-то количества памяти то let x: u64; придётся писать. Если ты реально не вьезжаешь зачем оно: ты не понимаешь, как работает компьютер под капотом выделение памяти если точнее, а значит плюсы тебе либо рано, либо непонятно нахуя.

Могу объяснить прям подробно, но нужно подтверждение что готов читать. Шатал выдавать мемуары чтобы получить "ниасилил".

Так, теперь вопрос. Правда ли пикрил? Я не понял лично прикола. Если ты знаешь что тебе нужно 100 элементов то пустой вектор будет хотя бы пару раз изменять свою вместимость (а это аллокация + копирование что как бы нихуёво), если указываешь сразу 100 то аллокация одна и никаких копирований. Я знаю что есть std::array для этого, меня просто вот этот абзац немного в ахуй поставил.
Аноним 18/02/24 Вск 05:34:05 3053364 881
>>3053304
array на стеке вроде, вектор на хипе.
Аноним 18/02/24 Вск 09:56:35 3053420 882
>>3053304
>Могу объяснить прям подробно, но нужно подтверждение что готов читать. Шатал выдавать мемуары чтобы получить "ниасилил".
Конечно, готов. Не обязательно простыню, интересно. Другой вопрос - обязательно ли это знать? Может просто принять как данность: Используем длину которая подходит и не выебываемся?
Аноним 18/02/24 Вск 10:31:56 3053440 883
References was a mistake
Аноним 18/02/24 Вск 11:07:46 3053457 884
>>3053304
>Так, теперь вопрос. Правда ли пикрил?
>>Написал хуйню на дваче - никто не обратил внимания.
>>Написал хуйню, заскринил, запостил картинку на дваче - 100 ответов обсуждения.
Всегда было интересно, как называется эта болезнь?
Аноним 18/02/24 Вск 16:12:31 3053678 885
>>3053440
Без референсов бы не изобрели бы && ты че падла ты че
Аноним 18/02/24 Вск 16:46:06 3053720 886
>>3053440
Moscow is the capital of Great Britain.
Аноним 18/02/24 Вск 16:49:02 3053725 887
>>3053678
> Без референсов бы не изобрели бы &&
еще одна причина почему референсы это была плохая идея
Аноним 18/02/24 Вск 17:05:37 3053738 888
Как же заебал этот кусок говна под названием qt, просто пиздец. Прошел через все круги ада устанавливая эту хуйню, так после установки нихуя не работает, на любое действие он выдает пук с ошибкой, сука. Я же все настроил, все киты, симейк, компиляторы, что тебе надо нахуй.
Аноним 18/02/24 Вск 17:08:02 3053742 889
images.jpg 5Кб, 196x257
196x257
>>3053725
Си треш двумя блоками вниз
Аноним 18/02/24 Вск 17:15:58 3053752 890
>>3053742
Мув семантика это костыль из за криво задизайненных конструкторов и референсов
Аноним 18/02/24 Вск 17:51:41 3053770 891
>>3053752
Все так. Православный птр ван лав.
Аноним 18/02/24 Вск 19:53:03 3053902 892
Аноним 18/02/24 Вск 19:54:41 3053903 893
Аноним 18/02/24 Вск 20:20:17 3053925 894
>>3053738
Ей нужен пользователь с хотя бы двузначным интеллектом
Аноним 18/02/24 Вск 23:20:47 3054047 895
Я разочаровался в блюпринтах анреала, но я боюсь c++. Все так страшно?
Аноним 18/02/24 Вск 23:29:51 3054052 896
>>3054047
Для анриала не все так страшно
Аноним 18/02/24 Вск 23:31:53 3054055 897
>>3054052
Мне тоже надо читать книжки из оп поста? Ну.. как всем?
Или можно срезать углы? Если да, то где?
Я не считаю себя программистом и не хотел бы им быть.
Аноним 18/02/24 Вск 23:52:09 3054064 898
qmake или симейк для кьюта? И то и то как говно выглядит, впрочем как и все в средах разработки на плюсах
Аноним 19/02/24 Пнд 00:10:10 3054074 899
>>3054064
Да съеби уже.
>>3054047
Годот используй.
>>3053903
Да потому что деды, которые си и кресты изучели еще в нулевых отвергают все реформы языка.
Аноним 19/02/24 Пнд 00:18:07 3054077 900
>>3054074
> Годот используй.
Я попробовал годот. Не зашло
Аноним 19/02/24 Пнд 00:24:29 3054081 901
>>3054074
>Да съеби уже.
причина баха?
Аноним 19/02/24 Пнд 00:58:46 3054087 902
Аноним 19/02/24 Пнд 07:04:46 3054115 903
>>3054064
Да что хочешь используй, что то говно, что это
Но симейк это более распространенная вещь, считай что стандарт в индустрии, будет легче зависимости подцеплять

>>3054055
Можно срезать углы конечно
Тебе не надо знать про очень многие семантики для начала

А как это делать я наверное не подскажу, сам все по хардкору учил, есть знакомые которые буквально по видосу с Ютуба глянули и прекрасно себя чувствовали

Для самого начала тебе хватит узнать: что такое указатели и референсы, базовые конструкции языка (условия, циклы и ид), классы и ООП в целом, базовые структуры данных из стд (вектор мапа и тд)

Все остальное прям во время работы сможешь изучить
Аноним 19/02/24 Пнд 12:36:33 3054329 904
>>3054064
CMake де факто стандарт в разработке на плюсах, все его используют. QMake залупа от которой даже сами Qt отказались
Аноним 19/02/24 Пнд 12:43:18 3054347 905
>>3054329
qmake выглядит читабельней
Аноним 19/02/24 Пнд 15:35:25 3054647 906
>>3054347
Нюфаг/скриптодураак? Симейк выглядит как измененный си, все базовые принципы соблюдены.
Всякие кумейк/премейк/месоны рядом не стояли.
Аноним 19/02/24 Пнд 17:02:02 3054731 907
1708351321041.png 1197Кб, 728x971
728x971
>>3054647
> Симейк выглядит как измененный си, все базовые принципы соблюдены
Сумасшедший?
Аноним 19/02/24 Пнд 18:44:03 3054865 908
Аноним 19/02/24 Пнд 22:12:51 3055200 909
>>3054347
Хелоу ворл и на симейке выглядит читабельным. А если ты попробуешь тянуть что то посложнее то ты обрыгаешься от кутешного говна, хотя и симейк тащем то не лучше, но им все пользуются, поэтому легко копипасть из гугла любой вопрос, а тебе кажется именно это и важно, и раз уж так получилось что ты ни в том ни в этом не разбираешься, то не начинай с хуйни которая никому не нужна, это странно довольно
Аноним 19/02/24 Пнд 22:23:47 3055220 910
Современный симейк не так уж и ужасно выглядит
Аноним 19/02/24 Пнд 22:34:54 3055236 911
>>3055220
Что, теперь это не язык программирования, а декларативный конфиг?
Аноним 19/02/24 Пнд 22:38:25 3055237 912
Аноним 19/02/24 Пнд 23:03:15 3055252 913
ya make yatool
Аноним 20/02/24 Втр 02:47:53 3055458 914
Аноним 20/02/24 Втр 02:54:48 3055461 915
>>3055200
>не начинай с хуйни которая никому не нужна
кстати добро пожаловать в тред хуйни которая никому не нужна
Аноним 20/02/24 Втр 09:27:52 3055599 916
>>3054865
Нас тут много.
Впрочем, тот парень слишком радикален.
Аноним 20/02/24 Втр 11:18:11 3055733 917
>>3055599
>Нас тут много.
>cmake
>дед
Дух старой школы живет только в автоконфе, говорите открыто и смело в лицо! M4!
Аноним 20/02/24 Втр 13:07:49 3055866 918
>>3055733
Не, с m4 ты перегнул. Кто конфигурил sendmail в прошлом веке, тот будет плеваться.

И да, судя по тому, что ты знаешь что такое m4, ты и сам дед.

p.s. а мне для всего классического make хватает.
Аноним 21/02/24 Срд 06:43:28 3057135 919
>>3055866
Я лично пользую м4 для одного малоизвестного ассемблера, а хули делать.
Аноним 21/02/24 Срд 10:10:39 3057206 920
>>3057135
>, а хули делать.
Сесть и написать на плюсах ассемблер.
Твой подход хорош для статьи на Хабре, чтобы карму набить.
Аноним 21/02/24 Срд 10:15:36 3057210 921
Аноны есть какая-нибудь серия видео на ютубе, где кто-то пишет прогу с нуля, по красоте, с бест практисами, настраивает сборку с нуля и т.д.? А то одно говно нахожу
Аноним 21/02/24 Срд 10:21:53 3057217 922
>>3057210
Ну такого быть не может, потому что разные паузы должны на подумать, иногда не знаешь что писать, иногда вдохновение нахлынет. И 50% времени минимум это дебаггинг и тестирование твоего шедевра.
Аноним 21/02/24 Срд 10:37:40 3057231 923
>>3057217
>Ну такого быть не может
Не знаю почему не может, их дохуя, но конкретно на плюсах не видел, а то что видел бесполезно смотреть
Аноним 21/02/24 Срд 10:40:41 3057239 924
>>3057210
>, настраивает сборку с нуля
Так это разные задачи - писать код и настроить сборку.
Более того, сборка это тоже разные задачи - одно дело написать Makefile, что тоже требует некоторых знаний, и совсем другое дело настроить CI/CD в Гитлабе, что будет посложнее.
Аноним 21/02/24 Срд 10:41:44 3057243 925
>>3057231
> а то что видел бесполезно смотреть
Вариант - у тебя слабый бэкграунд.
Аноним 21/02/24 Срд 10:46:11 3057252 926
>>3057239
>одно дело написать Makefile, что тоже требует некоторых знаний, и совсем другое дело настроить CI/CD в Гитлабе, что будет посложнее.
Чушь. Мейкфайл написать нереально, непонятная хуйня, а сборку на гитхабе спокойно делал с нуля, это банальные команды консоли линукса или винды, ты их и так уже знаешь, а мейкфайл это шизофазия которую надо полностью учить с нуля, что куда сложнее.
Аноним 21/02/24 Срд 10:54:33 3057269 927
>>3057243
У меня вообще нет бекграунда, иначе зачем мне такие видео. А то что просмотр курса по созданию окна на winapi по 20 видео по 2 часа не принезет пользы я понять сам могу
Аноним 21/02/24 Срд 11:03:44 3057282 928
>>3057252
>Мейкфайл написать нереально, непонятная хуйня

Самый простой Makefile - руками написать компиляцию в цели all.
И затем постоянно его усложнять, добавляя регулярки из примеров.

Реально, самый простой Makefile это две строчки. Две!
Аноним 21/02/24 Срд 11:24:43 3057308 929
>>3057206
Т.е. мне нужны шаблоны для языка, надо язык с нуля писать? Нахуя? Взял м4 и доволен как слон.
Аноним 21/02/24 Срд 11:29:19 3057318 930
>>3057252
>Мейкфайл написать нереально
Мэйкфал - это буквально самое первое и простое средство для сборки всего, когда нет специальных вопросиков, буквально стандартный подход во всём, где нужна сборка чего-либо.
Аноним 21/02/24 Срд 12:01:17 3057371 931
>>3057308
Что архитектура такая? Показывай.
Аноним 21/02/24 Срд 12:30:31 3057428 932
>>3057318
Самое первое средство это С++Builder или Visual Studio.
Самое второе средство это Cmake.
Это для полезной работы. А для нитакусечной хипстоты дрочить ради дроча, пойдет одинаково что угодно, кроме перечисленного выше. Понтоваться одинаково удобно чем угодно никому не нужным, и make не исключение.
Аноним 21/02/24 Срд 12:34:13 3057437 933
>>3057428
Как ты с симейком собрался собирать проект без мейка?
Аноним 21/02/24 Срд 13:11:05 3057519 934
>>3057428
Походу ты болен неизлечимо, если крошишь батон на дедушку make.
Даже страшно неприятно думать какие задачи решаешь и за что денюжку получаешь.
Аноним 21/02/24 Срд 14:18:38 3057661 935
>>3012308 (OP)
Объясните кто нибудь пж, вот есть функция

int& func() { int⚹ x = new int(10); return ⚹x; }

Она возвращает адрес x, получается. Как тогда получается инициализировать x2 и x1 адресом, ведь они принимают значение? Например int y = 10; int y2 = &y -- вот так же нельзя. Почему тогда вот так можно:

int x2 = func();
int& x1 = func();
21/02/24 Срд 14:38:29 3057721 936
>>3057661
Выше в треде базу уже давали:
> реыеренс - мистэйк
А твоя функция - говно.

Ретерн тайп замени на указатель. И у ретерна убери разадресацию. И не еби мозги.
Аноним 21/02/24 Срд 15:24:45 3057826 937
Аноним 21/02/24 Срд 15:29:09 3057842 938
>>3057428
Ебать еблан, как ты условный абстрактный язык_нейм собрался собирать, сам скрипты писать будешь?
>cmake
Эта параша кстати и генерит мэйкфайлы лул.
>понтоваться
Ух еблан ты, конечно. Мэйк - это как ходить.
Аноним 21/02/24 Срд 15:31:44 3057847 939
>>3057661
>Она возвращает адрес x, получается
Нет, она возвращает ссылку на int
>int x2 = func();
Копирование значение из ссылки
>int& x1 = func();
Новая ссылка
Аноним 21/02/24 Срд 15:41:32 3057871 940
>>3057282
>Реально, самый простой Makefile это две строчки. Две!
Как минимум надо еще генерацию файлов зависимостей добавить, чтобы объектный файл пересобирался, когда хидер поменяется. Это еще строчек пять. Плюс если у тебя в проекте есть файлы с одинаковыми именами, надо городить сборку в подкаталогах - это опять же лишний геммор. И так пошло-поехало, твой простой мейкфайл из двух строчек растет как на дрожжах. Симейк в разы проще, там реально несколько строк для простых проектов, но компиляция на маленьком проекте гораздо тормознее будет, конечно.
Аноним 21/02/24 Срд 15:44:18 3057881 941
>>3057252
>Мейкфайл написать нереально, непонятная хуйня
Там очень простой принцип в основе работы, и синтаксис совсем не сложный. Если понимаешь как он устроен, мейк-файлы легко писать. Автомейк - полная жопа, да. Но там тоже можно разобраться.
Аноним 21/02/24 Срд 15:50:24 3057902 942
>>3057881
>Автомейк
Автоконф, автомейк это доп. шняга сбоку, соглашусь авототулз уже СЛОЖНА даже для дедов, не только для зумерков.
Аноним 21/02/24 Срд 16:53:17 3058026 943
Сегодня весь день искал баг который заключался в том что

вместо memcpy(mapped_data, data, size);
написал memcpy(mapped_data, &data, size);

И это на удивление запустилось и сломалось совсем в другом месте
Вопрос - как такие баги отлавливать? Есть ли возможность в дебаге как то проверять чтобы не обращаюсь ли я к чужой памяти, а если этои случается крашилось и говориле что где и куда протекло?
Аноним 21/02/24 Срд 17:33:48 3058067 944
>>3058026
Никак, значек маленькиц, да подленький. Поэтому у меня недавно появилась идея редактора, где он будет красным цветом обводить те строчки кода, изменение которых может существенно поменять логику программы. Это будет полезно и для тех, кто работает с чужим легаси кодом. Вот смотришь на код, много всего понаписано, а по факту ядро программы это несколько строчек, остальное балласт из свистелок.
Аноним 21/02/24 Срд 17:52:49 3058088 945
>>3058026
Стопудово ты под Линуксом. В Visual Studio она бы тебя мордой лицом ткнула в ошибку. Просто по стеку поднимаешься и видишь проблему.

В юниксах компиляй с ключом -g и запускай
gdb youprogram

где youprogram - имя твоей софтинки.
И как упадёт - смотри стэк.
Аноним 21/02/24 Срд 17:56:54 3058092 946
>>3058088
>Стопудово ты под Линуксом.
Nope, но генератор в симейке ninja

> Просто по стеку поднимаешься и видишь проблему.
у меня ничего не крашилось на самом memcpy, а лишь очень потом если я трогал в шейдере определенный буфер у меня всё зависало и меня выкидывало нахуй VK_ERROR_DEVICE_LOST

Поэтому дебагер вобще нихрена не помогал
помог nvidia insight, но и то я случайно увидел что у меня в буфере мусор валяется
Аноним 21/02/24 Срд 18:27:18 3058130 947
>>3058092
>у меня ничего не крашилось на самом memcpy

А компилятор не ругался ли? Замечания должен был дать.
data - где - в статик, на стеке? динамический аллокированный?

Вообще из практики - обычно падает довольно быстро, на самом memcpy, Особливо если size достаточно большой.
Аноним 21/02/24 Срд 18:42:16 3058152 948
>>3058130
>А компилятор не ругался ли?
А с чего ему, data это был void⚹, а я вместо него передал void⚹⚹ тоже указатель

> динамический аллокированный?
this
Аноним 21/02/24 Срд 20:40:57 3058318 949
image.png 36Кб, 586x328
586x328
Что это за пиздец? Как именовать филды/типы/переменные и не обосраться?
Аноним 21/02/24 Срд 20:42:26 3058320 950
image.png 34Кб, 555x324
555x324
Может вот так нормально?
Аноним 21/02/24 Срд 20:44:37 3058326 951
image.png 34Кб, 686x348
686x348
Или так вообще?
Аноним 21/02/24 Срд 21:20:39 3058389 952
>>3058318
Тебе инт32 ни о чем не говорит?
Аноним 21/02/24 Срд 21:28:08 3058401 953
>>3058389
Это не typedef, да и выглядит убого это _t
Аноним 21/02/24 Срд 21:35:56 3058420 954
>>3058320
>>3058326
И так, и так - нормально. В целом нормально.
Первое похоже на Майкрософт стайл.
Аноним 21/02/24 Срд 21:37:35 3058421 955
>>3058401
Не, _t выглядит не убого.
Аноним 21/02/24 Срд 21:38:36 3058423 956
>>3058026
>вместо memcpy(mapped_data, data, size);
>написал memcpy(mapped_data, &data, size);
Мне иде это полюбас бы рисовало варнинг на полэкрана за неявное приведение типов. Вы там в блокноте чтоле пишете.
Аноним 21/02/24 Срд 22:13:29 3058494 957
>>3058389
О чем это должно нам говорить? Наличие этого типа вообще не гарантируется стандартом.
21/02/24 Срд 22:18:08 3058503 958
>>3058318
Class_character
Enum_race
Member_race;
Parameter_ebuchiy_race
Аноним 21/02/24 Срд 22:21:01 3058510 959
Аноним 21/02/24 Срд 22:28:52 3058526 960
Аноним 22/02/24 Чтв 01:32:00 3058711 961
>>3058494
Чел ты конченый.
>>3058401
Нет. Это идельный способ именования типов.
Аноним 22/02/24 Чтв 01:47:52 3058714 962
>>3058494
Ну тогда инт_леаст32_т.
Аноним 22/02/24 Чтв 01:57:18 3058715 963
>>3058711
>Это идельный способ именования типов.
С хуя? Я без _t знаю что это тип, курсором цветом специальным выделяется, или курсор наводишь и видишь что конкретно за тип
Аноним 22/02/24 Чтв 02:21:56 3058719 964
17078478870200.mp4 6843Кб, 1080x1920, 00:00:19
1080x1920
>>2980771 →
Начался новый семак короче у меня в универе, подскажите книжку/серию видео для тех кто базу С уже как бы могет а в С++ не рубит ваще.
Я гуглю инфу а мне рассказывают что такое интеджер.
Аноним 22/02/24 Чтв 02:33:23 3058721 965
>>3058326
В большинстве проектов типы с большой буквы, переменные - с маленькой.
Аноним 22/02/24 Чтв 02:43:47 3058722 966
>>3058026
Для gcc и clang -fsanitize=address компилятору и линкеру.
Аноним 22/02/24 Чтв 06:51:16 3058756 967
>>3058423
Если data - указатель, то хуй бы что выдало.
>>3058722
Не факт, что асан что-то заметит в рантайме.
Аноним 22/02/24 Чтв 07:42:00 3058769 968
>>3058722
Ох анончик, это именно то что я искал, как раз таки мою ошибку сразу детектит
Смог кстати даже на msvc запустить
2ch2G !!ON52CRehShRpdl6N 23/02/24 Птн 20:57:23 3061089 969
сап хз куда ещё писать можете послать в более подходящее место
я компилировал программу на си и винапи
там код простой
но вот что не понял
C:\tcc32\tcc.exe main.c -luser32 -lkernel32 -lgdi32 -o main.exe
где хранятся эти >>-luser32 -lkernel32 -lgdi32
библиотеки?
в mingw они в папке lib
а в tcc их нет вообще
откуда он их берёт?
Аноним 23/02/24 Птн 23:15:25 3061295 970
>>3061089
A) tcc.exe знает где они лежат
Б) Поковыряйся в path
Аноним 23/02/24 Птн 23:42:13 3061333 971
>>3061089
Что за tcc? Tint C Compiler или что-то другое?
Аноним 24/02/24 Суб 00:03:19 3061362 972
>>3058719
> Я гуглю инфу а мне рассказывают что такое интеджер.

Пропусти те главы где про интеджеры рассказывают, начни со следующих
Аноним 24/02/24 Суб 00:26:45 3061380 973
>>3061362
>Пропусти те главы где про интеджеры рассказывают, начни со следующих

И как он узнает про такое приведение типов?

i=int(0.1);
Аноним 24/02/24 Суб 00:31:32 3061388 974
>>3061380

Но пусть не скулит тогда, что ему про интеджер опять читать приходится
Аноним 24/02/24 Суб 01:09:49 3061436 975
Аноним 24/02/24 Суб 14:59:00 3061792 976
Какая же блютуз кривожопая технология-говно. Просто отборнейшие дауны занимаются её поддержкой. Я их блять просто ненавижу
Аноним 24/02/24 Суб 15:23:20 3061808 977
>>3061792
Нет. Она очень хороша. Имплементации могут быть говном, а как технология Bluetooth великолепен.
Аноним 24/02/24 Суб 16:01:11 3061830 978
>>3061808
> как технология Bluetooth великолепен
Нихуя подобного. Лучше бы на основе вафли сделали LE-реализацию. БТ порой даже в метре от приёмника отъебывает при перекрытии мясом, например пользоваться лёжа БТ-калом настоящая боль, если приёмник не в прямой видимости. У меня до сих пор 5 штук приёмников лежат, когда я ебался и пытался заставить их стабильно работать в стоящем на полу ПК. Стоит только параллельно расположенной ноге оказаться между любым устройством и приёмником - идут дикие потери. Как PCI/встроенный в материнку работал как говно, так и юсбишные, 15-сантиметровые антенны не дают никакого результата. В итоге пришёл к единственному рабочему костыльному решению - приёмник поднять над головой через удлинитель юсб. Я ебал такие технологии, плюнул бы в ебало тому кто это придумал. Почему древняя вафля на тех же 2.4 ггц пробивает стены, а этот кал даже в паре метров работает как дрисня? То что БТ жрёт мало - это не оправдание, ведь мне не дают выбора, я страдаю по умолчанию.
Аноним 24/02/24 Суб 17:21:47 3061965 979
>>3061830
>То что БТ жрёт мало - это не оправдание
Не оправдание, это предназначение. Какая-нибудь гарнитура или ручные часы с вайфаем бы сдохли за пол часа, а так работают месяц.

>я страдаю по умолчанию
Ты серешь. Если бы дали выбор, каждый дебил бы врубил полную МОЩЬ и его пиздюлька тут же сдохла, а потом бы орал что устройство говно. Каждый тупорылый хуесос хочет всё и сразу, чтобы не жрало и чтобы стены пробивало. Так не бывает, дебил.
Аноним 24/02/24 Суб 17:29:51 3061975 980
>>3061965
> за пол часа, а так работают месяц
Фантазии приглуши свои. Легко гуглится энергопотребление обоих - у БТ всего в 2-3 раза ниже.
Аноним 24/02/24 Суб 18:35:39 3062061 981
image.png 548Кб, 940x470
940x470
надо делать такой мощьности чтобы мозги нахуй запекало
хотя в принципе 5G идет в правильном направлении
Аноним 24/02/24 Суб 18:50:12 3062076 982
>>3061975
Блютус это беспроводной провод. Никто не таскает провод через стены. Стандартный провод около метра всего. Но тупорылые свиньи конечно считают, раз физического провода нет и можно отойти, значит можно отойти и на километр и оно обязано работать. Нет, не обязано, это ты серешь тупостью. Никто не говорил, что блютус это радиостанция для вещания.
Аноним 24/02/24 Суб 18:57:01 3062081 983
>>3062076
> беспроводной провод
Пиздос, по праздникам таблетки не дают?
Аноним 24/02/24 Суб 22:48:34 3062428 984
>>3061808
А ты с этой технологией работал? Или тебе просто нравятся эйрподсы к фифону подключать?
Технология хорошая только разве что как задумка. Но при этом у нее куча проблем от секурности до физического уровня про который уже писал анон выше. Хотя современные подходы в сетях и помогают нивелировать эти проблемы, но говно здесь закопано действительно в имплементация и поддержке, особенно от вендоров и линукса. Люди банально топы беспроблемных свистков составляют, чего говорить про дурачков которые занимаются в своем гараже имплементацией блюеза. Занимаются, только вот остальным, что они там делают сообщить забыли. И тебе приходится лезть в исходники литературно чтобы его настроить с их наркоманскими дебасами. Не то чтобы я жаловался, ведь на чем пишем забыл что-ли. Но разработка и так состоит из постоянного копания в легаси говне, а когда тебе вставляют еще одну палку, ты просто плюешь и идешь на обед вместо работы понимая что убьешь не один день, как будто других дел нет
Аноним 24/02/24 Суб 23:14:33 3062439 985
двойные решеточки.. знаки подчеркивания..
все это былоа так замечательно там магически притягательно..
25 лет назад
какой же я дурак
Аноним 25/02/24 Вск 00:12:19 3062464 986
>>3062439
Да, классно было программировать на препроцессоре.
Moonlover 25/02/24 Вск 10:19:06 3062668 987
Я занялся имплементацией Форта на плюсах.
Сначала интерпретатор Форта, затем компилятор.
За вчера сделал половину интерпретатора. Если повезёт, сегодня интерпретатор закончу. Думал за день спраалюсь, но дня на интерпретатор не хватило. Может и двух дней не хватит, а может и хватит. Руки чешутся сделать компилятор Форта.

Задача весьма простая. И немного интересная.

Не спрашивайте зачем - придёт время - покажу и расскажу.
Аноним 25/02/24 Вск 10:28:24 3062674 988
Аноним 26/02/24 Пнд 02:06:53 3063779 989
Пацыки, а godbolt это он в ассемблер для какого компилятора выводит? FASM, MASM, NASM?
Аноним 27/02/24 Втр 22:20:55 3066459 990
>>3062668
Компилятор-то зачем? В смысле, прикольно, конечно, но форт и так достаточно быстрый для встраиваемого языка. Тупо инлайн прикрутить, и уже ускорение достаточное. Интереснее именно на самом форте писать, ломать устоявшиеся парадигмы в мозгу, что глобальный стейт - это грех, что данные не могут быть кодом, и т.д.
Аноним 27/02/24 Втр 23:22:41 3066504 991
>>3066459
>Компилятор-то зачем?
Расскажу после. Серьёзно. Вероятно к тому времени тему перекатят.

А покамест расскажу как заплутал - когда дошёл до теста вложенного цилка, понял что пошёл не по тому пути, а тут и выходные закончились и навалилась как всегда работа. Сейчас продумываю и буду переписывать по канонам, а не по наитию. Но в принципе - неплохой опыт. Примечательно что ошибки проектирования вылезли когда вот уже "всё почти готово".
Аноним 27/02/24 Втр 23:26:41 3066509 992
Форт - хуйня без задач. На его фоне даже от хаскелля какой-то толк есть.
Аноним 27/02/24 Втр 23:44:09 3066521 993
>>3066509
Форт в космос летал, в отличие от хаскеля. Да и сейчас - это самый простой способ удобно работать с железом. Без говна с тулчейнами, рекомпиляцией и заливкой билда. Написал форт и асм на том же форте, минимум обвязки - и ты король, все тебе подвластно. Но это язык для одного программиста-энтузиаста, конечно. С современным подходом к разработке далеко не уедешь.
Аноним 28/02/24 Срд 08:48:39 3066660 994
>>3066521
> Без говна с тулчейнами, рекомпиляцией и заливкой билда
Объясни ньюфагу, что это значит? Какие проблемы с железом у стандартных инструментов?
Аноним 28/02/24 Срд 12:20:30 3066805 995
Аноним 28/02/24 Срд 12:25:03 3066807 996
56815cfa7ca0ed7[...].jpg 49Кб, 1592x894
1592x894
Аноним 28/02/24 Срд 14:15:51 3066900 997
>>3066805
вопросы религии обсуждают в /re
Аноним 28/02/24 Срд 15:46:21 3067058 998
>>3066660
>Какие проблемы с железом у стандартных инструментов?
Проблем нет, есть стандартный цикл: скомпилировал, записал прошивку, запустил-отдебажил, ошибка - все по-новой. Форт позволяет это делать интерактивно, через REPL, что гораздо удобнее.
Аноним 28/02/24 Срд 16:52:57 3067145 999
>>3067058
Интерпретатор что ли? Так они тормозные пиздец.
Аноним 28/02/24 Срд 17:38:11 3067237 1000
>>3067145
У Форта достаточно шустрый интерпретатор. Он скорее как транслятор. И при желании программу на Форте можно в ассемблер перегнать. Для Форта кодогенерация раз эдак в 100 проще, чем для Си, а тем более для С++.
Аноним 28/02/24 Срд 19:28:19 3067333 1001
Аноним 28/02/24 Срд 20:38:36 3067410 1002
>>3067237
>достаточно шустрый интерпретатор
Интерпретатор - кошмарно тормозной по определению, любой. Твоя "удобная интерактивная отладка" стоит -100 ~ 1000 раз производительности. Компиляцию и сделали чтобы не тыквить компьютеры днищенскими ограничениями. Так что нихуя твоя ковырялка строчная не лучше компиляции с заливкой нативного кода, потому что области применения совершенно разные. Плюс разве что, если можно поковырять интерпретатор для отладки, а потом скомпилить и залить как следует, тогда да.
Аноним 28/02/24 Срд 23:12:29 3067557 1003
>>3067333
Ну ни за вечер, но достаточно просто. Надеюь ты ссылку на свой код дал, который за вечер написал.

Что касается Форта то я тоже его за вечер написал и он даже что-то выполнять начал, от чего я сюда прибежал хвалиться. На деле пришлось перепроектировать и переписывать. За вечер пишутся программы которые как бы работают, а лезешь что-то улучшать/исправлять/дополнять и понимаешьчто спешка хороша при ловле блох, а не в программировании.

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

И насчёт проектирования тоже мысли есть. Вот его неплохо делать когда уже по граблям прошёлся. На прототипе шишек набил - самое время проектировать.
Аноним 29/02/24 Чтв 06:05:58 3067681 1004
>>3067557
>самое время проектировать
Пойти на сайт и скачать этот форт не пробовал? Уже всё написано, и получше тебя.

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

Поэтому тупые ленивые говнари и не делают ничего реального, а только "переписывают" уже написанное, естественно всегда хуже оригинала, ведь это снимает всю ответственность за высираемое говно. Что может хорошего написать хуесос даже не начавший толком ничего писать, но уже сделавший всё, чтобы прикрыть свою жопу, откосить от работы, от ответственности. Заранее не собирается ничего делать, но идет имитировать дело с гордо поднятой головой. Тупые уроды.
Аноним 29/02/24 Чтв 09:32:50 3067751 1005
>>3067681
Жёстко ты приложил офисных рабов.
Аноним 29/02/24 Чтв 12:39:58 3067958 1006
>>3067681
Ты хто? Брысь. Срыгни отсюда.
Аноним 29/02/24 Чтв 14:17:41 3068082 1007
>>3067557
>Ну ни за вечер, но достаточно просто. Надеюь ты ссылку на свой код дал, который за вечер написал.
Первый раз, с нуля - не за вечер, конечно. Потом подобное уже гораздо быстрее пишется.
Аноним 29/02/24 Чтв 20:47:27 3068590 1008
>>3068082
>за вечер
А тем временем в реальности: репортишь баг, прошло 10 лет, баг так и висит.
Аноним 29/02/24 Чтв 20:53:32 3068601 1009
>>3068590
- Правьте баги сами
- Кто, я?!!!
Аноним 29/02/24 Чтв 23:59:25 3068799 1010
Подсобите плз. Собираю кутовую приложуху, нужно максимально оптимизировть бинарь. Нагуглил про стрип, lto, собираю в релизе и статически. Получилось неплохие 20мб. Есть еще хаки? Что почитать?
Аноним 01/03/24 Птн 00:09:14 3068818 1011
>>3068799
Ещё -Os, но сильно он не ужмёт.
Аноним 01/03/24 Птн 00:18:35 3068828 1012
>>3068799
>>3068818
Нормально жмёт.
a strip ключики имеет. Если заиграться, то можно вырезать чть-нибудь полезное, от чего программа не будет запускаться.

И всё же 20 Мб это как-то много. Может быть библиотеки с отладочной информацией линкуешь? Т.е. компиленное тобой поажто а кьютишные либы не пожаты. Попробуй саму Qt собрать с ключом -Os.
Аноним 01/03/24 Птн 00:24:14 3068846 1013
image.png 68Кб, 864x907
864x907
>>3062668
Ну вот и альфа версия интерпретатора Форта заработала. Сырое-сырое, но таки заработала.

Пока в 960 строк поместилась, но не гнался за компактностью.
Аноним 01/03/24 Птн 00:33:08 3068861 1014
Аноним 01/03/24 Птн 00:35:48 3068862 1015
01/03/24 Птн 13:52:26 3069279 1016
Есть проект под линукс и гцц.
Большая часть универсальная, поэтому портировать под винду и мсвц было не сложно.
Но встал вопрос, если вдруг захочется внезапно собрать с мингв, то какие буилтины и интринсики использовать - гццсшные или виндовые?
потому как беглый взгляд на сурсы мингв показал что некоторые мсвц буилтины реальзованы, некоторые дергаются из винапи, но так же присутствуют чисто гцц буилтины
Аноним 01/03/24 Птн 17:15:10 3069481 1017
Аноним 01/03/24 Птн 17:43:32 3069530 1018
>>3069279
#ifdef _GOVNO_
че забыл уже как выглядит кроссплатформенность на крестах
Аноним 01/03/24 Птн 18:22:36 3069558 1019
>>3069530
> читай пост
> думай
> отвечай
Мотай на ус.
Аноним 01/03/24 Птн 18:40:30 3069568 1020
>>3069558
чел если ты обмазываешься интринсиками значит уже принял решение прибить прогу к одной платформе и компилеру
Аноним 01/03/24 Птн 18:52:49 3069576 1021
>>3069279
Суть в следующем - ВЕСЬ развитый МИР пишет бизнес логику в Вижуал Студии. И из неё переносит на линуксы и встраиваемые системы. Вы пошли другим путём, поэтому страдаете.
Аноним 01/03/24 Птн 18:52:55 3069577 1022
Аноним 01/03/24 Птн 18:55:09 3069581 1023
Аноним 01/03/24 Птн 19:23:00 3069603 1024
>>3069576
Еще один особенный. Пост прочесть не способен, но вот бреда высрать горазд.
Аноним 01/03/24 Птн 19:24:21 3069606 1025
Аноним 01/03/24 Птн 19:48:35 3069628 1026
>>3069603
>Пост прочесть не способен,
ССЗБ.

Ещё раз - с винды все портируется влёт на любую платформу. В обратную сторону - ебись как хочешь. Что непонятного?
Аноним 01/03/24 Птн 20:11:57 3069669 1027
>>3069628
В обратную сторону никому и не нужно, если бы ты читать умел то понял бы.
Аноним 01/03/24 Птн 20:15:33 3069676 1028
>>3069628
> любую платформу1

1. линупс
Аноним 01/03/24 Птн 20:17:15 3069677 1029
>>3069669
Первый разумист на хз сколько это же не смен правда? дебилов.
>>3069628
Даже отвечать таким не хочется уже, реально нобрэйнеры. а потом удивляются чего это говно вокруг, да потом что толпы таких неучей как ты не способны прочесть двух предложений
Аноним 01/03/24 Птн 22:28:56 3069859 1030
>>3069669
> если бы ты читать умел то понял бы.
Хорошо. Я невнимательно прочитал. Вопрос бы был вот тут:

> Но встал вопрос, если вдруг захочется внезапно собрать с мингв,
Звучит как обмазаться говном.
mingw это лютая хуета и мрезость, к которой лучше не прикасаться.
Аноним 01/03/24 Птн 23:20:55 3069942 1031
>>3069859
Clang/gcc > Mingw > msvc > other shit
Но Дискасс
Аноним 01/03/24 Птн 23:26:52 3069957 1032
>>3069942
Нет. Правильно только так:
intel C++ > msvc > clang/gcc

А больше ничего и нет, кроме компилятора для какого-то специализированного железа, типа DSP.
Аноним 01/03/24 Птн 23:30:03 3069960 1033
Меня заебало сидеть в дебаггере, меня заебали плюсы, но еще больше меня бесит весь тот пласт сишного говна который тянется как понос за собакой обтеревшей жопу об пол. У меня просто зубы скрипят, у меня под глазами мешки и я еду крышой. Помогите
Аноним 01/03/24 Птн 23:32:21 3069970 1034
>>3069960
Слабый ты. А "сишное говно" - лучшее что есть в плюсах.
Аноним 01/03/24 Птн 23:32:54 3069972 1035
Аноним 01/03/24 Птн 23:34:43 3069976 1036
Аноним 01/03/24 Птн 23:39:40 3069987 1037
image.png 62Кб, 1108x866
1108x866
>>3069960
>Помогите
Покажи скриншот кода. Если ты много сидишь в дебагере, значит что-то не так с твоим кодом.

Думаешь в C# не приходится сидеть в дебагере? Четырё грёбаных дня просидел в дебагере, решая ДВЕ задачи. Но там и проект вот на картинке, который пишется более десятка лет большой и дружной толпой.
Аноним 01/03/24 Птн 23:42:41 3069996 1038
>>3069976
Intel C++ для числодробилок. Оптимизирован под скорость. Давно не интересовался вопросом, но когда последний раз смотрел, он был самый быстрый. Точнее, сгенерированный им код самый быстрый.
Аноним 01/03/24 Птн 23:43:05 3069999 1039
>>3069987
> Дептс оф инэритенц
> 12
Вы там совсем ебу дали?
Аноним 01/03/24 Птн 23:44:44 3070002 1040
>>3069996
Быстрый под чем? Под Интел? Так серваки на амд.
А если нужно действительно быстро считать - fpga.
Да и не понятно нахуя тут вообще тогда плюсы. Си и погнал.
Аноним 01/03/24 Птн 23:47:31 3070007 1041
>>3069999
>Вы там совсем ебу дали?
Не буду деанониться, но этим продуктом пол мира пользуется. Если не весь. Причём, давно.
Аноним 01/03/24 Птн 23:48:25 3070008 1042
>>3070002
А плюсы не тормознее Си. Если осмысленно переехал на плюсы с Си.
Аноним 01/03/24 Птн 23:56:50 3070018 1043
>>3069987
> Четырё грёбаных дня просидел в дебагере, решая ДВЕ задачи.
Да пиздец, заебали джуны, нихуя не делают и ещё денег просят. Увольнял бы вас нахуй, хуже нейросеток, наху.
Аноним 01/03/24 Птн 23:57:33 3070021 1044
>>3070008
Плюсы дают тебе больше способов написать хуйню. А когнитивная сложность у плюсов ещё и выше.
Плюсы это вообще нонсенс, числодробилки помноженные на ооп и Энтерпрайз.
Аноним 01/03/24 Птн 23:58:41 3070025 1045
>>3070007
Это понятно, вы крутые.
Но какие нахуй 12 наследований
Аноним 01/03/24 Птн 23:59:47 3070026 1046
>>3070021
> Плюсы
> ооп
Что-то одно выбери, джавапетух.
Аноним 02/03/24 Суб 00:02:40 3070029 1047
>>3070026
Дедуль, спокуху, за таблетками уже пошли
Аноним 02/03/24 Суб 00:05:29 3070032 1048
>>3070025
>Но какие нахуй 12 наследований
Поверь, там это к месту.
Это писал основатель компании, который скромно занимает должность технического директора и ебашит в одно лицо столько, как половина разработчиков компании. Нормально спроектировано.

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

И если что - я не тот, основал компанию, не Chief technical officer.
Аноним 02/03/24 Суб 00:16:12 3070039 1049
>>3070032
Я хз, я же плюсовик, у нас не принято более 3 уровней наследования. А за множественные вообще по рукам бьют.
Да не, код нормальный. И на ревью ебут.
Аноним 02/03/24 Суб 00:19:09 3070040 1050
>>3070039
Так в Сишарпе множественного наследования нет. И это неплохо в принципе. Я и на плюсах отказался от множественного наследования. Один предок и если надо, то интерфейс. Хватает.
Аноним 02/03/24 Суб 00:20:57 3070041 1051
>>3070040
А, ну тогда заебись.
У нас это средство уничтожения архитектуры осталось. Нам все опасные игрушки разрешены.
Аноним 02/03/24 Суб 00:40:49 3070052 1052
>>3069960
Что ты такое делаешь хоть? Какая область? Дебаггер и си - это что-то низкоуровневое или с кучей оптимизаций вручную (скорее всего уже не нужных в 2024).
Аноним 02/03/24 Суб 00:53:48 3070065 1053
>>3069576
> ВЕСЬ развитый МИР пишет бизнес логику в Вижуал Студии.
Весь развитый мир сейчас на маках сидит поголовно. Винда - это специфический мир энтерпрайза и всякого офисного говна. Плюс наследники юникса - это абсолютное большинство систем сейчас, винда - отдельный мир, где все несовместимое и особенное в плохом смысле.
Аноним 02/03/24 Суб 00:58:08 3070068 1054
>>3070065
>Весь развитый мир сейчас на маках сидит поголовно.
Чушь. Разработчики не используют маки. Точнее, используют если пишут для Айфонов. Потому что выбора нет. Видишь кого с яблоком - это или девопсина, или какой-то менджер.
Ни один разработчик в здравом уме не выберет Макбук.
Аноним 02/03/24 Суб 00:59:26 3070070 1055
>>3070040
>Так в Сишарпе множественного наследования нет.
Сейчас и в шарпе и в джаве добавили реализацию у интерфейсов. Это фактически множественное наследование и есть.
Аноним 02/03/24 Суб 01:03:21 3070071 1056
>>3070068
>Ни один разработчик в здравом уме не выберет Макбук.
Торвальдс, например. Он сейчас больше менеджер, конечно, но с кодом работает побольше любого сеньора-помидора.
Аноним 02/03/24 Суб 01:04:56 3070072 1057
>>3070070
Давай вспоминать что такое интерфейс c C++:

Интерфейсным классом называется абстрактный класс, не имеющий данных и состоящий в основном из чисто виртуальных функций. Такой класс может иметь обычные виртуальные функции (не чисто виртуальные), например деструктор. Также могут быть статические функции-члены, например функции-фабрики.
Аноним 02/03/24 Суб 01:06:50 3070074 1058
>>3070071
>Торвальдс, например.

Кто бы о нём помнил сейчас, если бы IBM не решила припустить Microsoft в своё время. И отомстить за OS/2.
Аноним 02/03/24 Суб 01:10:22 3070075 1059
>>3070072
Я про шарп и джаву говорил, там свой мирок. Когда реализация "интерфейса" явно требует определенный стейт от наследника (и разработчики бы стейт добавили, если бы была физическая возможность) - это уже не интерфейс, а миксин, вариант множественного наследования.
Аноним 02/03/24 Суб 01:12:49 3070076 1060
>>3070074
Если бы BeOS выстрелила, мы бы тоже в другом мире жили. Но имеем, что имеем. Винда сейчас откровенно гниет под управлением индуса.
Аноним 02/03/24 Суб 03:21:41 3070108 1061
>>3070065
Да, специфический мир энтерпрайза, при этом доля рынка пк под 90%.
Бля мне даже вот интересно стало, в какой такой офис плюсовых разработчиков можно зайти и увидеть хоть одного с маком? У нас вообще ни одного нет, хотя когда мне покупали ноут, я задумался не взять ли это говно, спасибо что мои школьные мозги тогда все же не настолько были оплавлены
Аноним 02/03/24 Суб 07:50:49 3070142 1062
Аноним 02/03/24 Суб 08:10:28 3070147 1063
image.png 140Кб, 870x487
870x487
неужели хороший нейминг так сложно сделать

ну с какого хуя auto копирует значение
Аноним 02/03/24 Суб 08:25:48 3070148 1064
>>3070147
> с какого хуя auto копирует значение
А что должен делать вызов конструктора копирования?
Аноним 02/03/24 Суб 09:03:20 3070158 1065
>>3070148
Ты к чему это спрашиваешь? Я где то говорил что конструктор копирования что то не то делает?
Аноним 02/03/24 Суб 09:10:49 3070164 1066
auto a = auto{x};
Аноним 02/03/24 Суб 09:10:57 3070165 1067
>>3070158
К тому что auto(x) - это вызов конструктора копирования типа переменной х.
Аноним 02/03/24 Суб 09:11:45 3070166 1068
>>3070165
Спасибо что сообщил, но я это знал
Аноним 02/03/24 Суб 09:12:21 3070168 1069
>>3070166
Тогда зачем спрашиваешь?
Аноним 02/03/24 Суб 09:42:49 3070185 1070
>>3070168
Спрашиваю про нейминг
Аноним 02/03/24 Суб 09:53:03 3070197 1071
>>3070185
Что тебе не нравится? auto в данном случае обозначает автоматический выбор конструктора.
Аноним 02/03/24 Суб 12:58:38 3070444 1072
Screenshot20240[...].jpg 454Кб, 2340x1080
2340x1080
>>3070142
Вот на этом месте захотелось его убить.
Аноним 02/03/24 Суб 13:33:37 3070475 1073
Аноним 02/03/24 Суб 13:38:42 3070479 1074
>>3070444
Да, сразу какой-то пидоРастией запахло.
Аноним 02/03/24 Суб 13:46:11 3070482 1075
>>3070444
Потрясающая хуйня. Жаль что в 23.
Что можно почитать посмотреть, если такое извращение нравится?
Аноним 02/03/24 Суб 14:14:38 3070488 1076
>>3070142
Короче, из реально годного, это игнорирование пробелов между \ и переводом строки. Вот это правильно.
Аноним 02/03/24 Суб 19:38:14 3070859 1077
image.png 106Кб, 1219x485
1219x485
lock в 177 строчке скрывает lock из 173-ей.
Я правильно понимаю, что сокрытие затрагивает только доступность имен, а по факту тут два разных мутекса, которые корректно делают свою работу?
Или что-то может пойти не так?

мопед не мой, пример из говнокнижки
Аноним 02/03/24 Суб 19:41:42 3070868 1078
>>3070859
> а по факту тут два разных мутекса, которые корректно делают свою работу?
Все так
Аноним 02/03/24 Суб 20:19:19 3070912 1079
>>3070444
А чо за println? Я знаю тока printf puts и cout ….
Аноним 02/03/24 Суб 20:32:59 3070924 1080
>>3070912
Надо было видео с начала смотреть. Потихоньку воруют синтаксис у C#.
Аноним 02/03/24 Суб 20:36:36 3070937 1081
Аноним 02/03/24 Суб 23:00:40 3071047 1082
>>3070444
читает инт из стандартного ввод, умножает его на 2, выводит в стандартный вывод;
на stl с++98 это можно сделать в одну строку бля
Аноним 03/03/24 Вск 06:29:03 3071334 1083
>>3071047
> умножает его на 2,
Только если что то считалось
Если не считалось то ноу интегер

дедуль, пора уже про optional почитать
Аноним 03/03/24 Вск 12:30:12 3071502 1084
>>3070444
Видел в шарпе такую хрень похожую на SQL, проблевался. Теперь и в плюсы притащили. Удваиваю >>3070479
Аноним 03/03/24 Вск 12:45:14 3071522 1085
>>3071502
> Видел в шарпе такую хрень похожую на SQL
Интересное виденье функциональщины
Аноним 03/03/24 Вск 14:23:30 3071654 1086
>>3071334
>дедуль
Ты точно программист? А если программист, то написал хотя бы одну программу?
Аноним 03/03/24 Вск 15:14:58 3071740 1087
>>3071654
Как же от тебя старостью воняет
Forth Moonlover 03/03/24 Вск 16:00:51 3071771 1088
image.png 119Кб, 977x816
977x816
Неделя трудов в свободное от зарабатывания денег время.
Руки тянутся и сердце рвётся приступить к генерации ассемблерного кода из Форта, но пока повременю - больше тестов богу тестов.

Нафига мне понадобился Форт? А потому что есть "железка", для которой нет ни одного компилятора. Не существует в природе. Есть только ассемблер. Посему выбор Форта, как второго языка, вполне логичен.
нуб 03/03/24 Вск 16:24:45 3071788 1089
Аноним 03/03/24 Вск 16:26:30 3071791 1090
>>3071788
> js
Ты тредом ошибся.
Аноним 03/03/24 Вск 16:34:22 3071794 1091
>>3071788
Выше по треду определение интерфейсного класса ->>3070072
Аноним 03/03/24 Вск 16:42:02 3071796 1092
1000004512.jpg 39Кб, 466x615
466x615
Интерфейс это хэдер файл
Аноним 03/03/24 Вск 19:05:45 3072064 1093
>>3071740
Вот когда напишешь, тогда открывай рот. А до тех пор не открывай - залетит что-нибудь.

А насчёт старости - и ты будешь старый.
И ещё пока у меню хуй стоит, но уже не на всех и не всегда.
Аноним 04/03/24 Пнд 09:59:25 3072764 1094
бля круто
самое главное продолжай держать нас плотно в курсе
Аноним 04/03/24 Пнд 10:18:18 3072784 1095
>>3072064
> Не на всех
А то есть ранее он на всех стоял? Ты из растотреда?
Аноним 04/03/24 Пнд 11:27:29 3072856 1096
Попробовал CLion Nova основан на движке из решарпера, а не clangd, наконец-то что-то рабочее. Нормально работает с C++23, в отличии от clangd, который на working draft STL срёт несуществующими ошибками в IDE, при том что код компилируется на том же clang. Плюс сама подсветка синтаксиса пободрее. Теперь уже можно жить на актуальных крестах и не страдать как будто в блокноте пишешь. А то меня аж трясло от того что в clangd даже мапу инициализировать нельзя без ошибки "нет подходящего конструктора".
Ещё бы это портанули в VS Code, IntelliSense такое же говно как и clangd.
Аноним 04/03/24 Пнд 11:43:25 3072864 1097
>>3072856
Зачем тебе свежий стандарт и что ты пишешь?
Аноним 04/03/24 Пнд 11:51:04 3072873 1098
1582946770760.png 41Кб, 1165x468
1165x468
1668430484705.png 45Кб, 1291x463
1291x463
>>3072864
А зачем писать на устаревшем стандарте? С++23 уже финализирован, в свежей STL много хороших фич есть, те же ranges, например. clangd отъёбывает даже если С++20 используешь со свежей STL, пикрилейтед этого говна - на первом пике clangd, на втором нова.
Аноним 04/03/24 Пнд 12:00:51 3072878 1099
>>3072873
>>3072873

Походу компилятор для тебя не инструмент, а забавная игрушка.
Аноним 04/03/24 Пнд 12:57:48 3072930 1100
Хочу сделать какие-то пользовательские расширения для моего скомпилированного говна, которые работают без дополнительных вызовов внешних библиотек и прочего говна. Идея токова.

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

Такое вообще возможно? Звучит вроде как как что-то возможное...
Аноним 04/03/24 Пнд 13:51:40 3072989 1101
>>3072878
Ты так и не объяснил какой профит сидеть на два стандарта ниже актуального.
>>3072930
Пиздец поток сознания. В рантайме можешь вообще любое говно смапить в память процесса куда надо, задать нужные флаги защиты странице памяти в винде вызвать VirtualProtect() с флагом PAGE_EXECUTE_READ и выполнить из него код. Разве что DEP под виндой может не дать выполнить код со стека, всё остальное можно.
Но нормальный человек бы сделал подключение внешних плагинов просто через LoadLibrary и GetProcAddress.
Аноним 04/03/24 Пнд 14:07:22 3073006 1102
>>3072989
> Пиздец поток сознания.
Разговаривать пиздец разучился, два месяца ебу алгоритмы
> задать нужные флаги защиты странице памяти в винде вызвать VirtualProtect() с флагом PAGE_EXECUTE_READ и выполнить из него код. Разве что DEP под виндой может не дать выполнить код со стека, всё остальное можно.
Где про эту хуйню читать-то вообще? Там ещё глобалы есть, функции должны глобалы жрать.
> Но нормальный человек бы сделал подключение внешних плагинов просто через LoadLibrary и GetProcAddress.
Там стоимость же есть, а у меня симуляция, не хотеть чтобы плагины жрали во время выполнения даже одного лишнего вызова.
Аноним 04/03/24 Пнд 14:41:25 3073048 1103
>>3073006
> Там стоимость же есть
Так ты сохрани адрес из GetProcAddress при запуске, кастани указатель к функции и вызывай его потом как обычно. У тебя в любом случае будет стоимость динамического вызова при вызове функций плагина. А стоимость чтения плагина с диска такая большая, что вообще похуй как ты его инициализируешь.
> глобалы
Вот от этого избавься. Либо плагину в параметрах передавай указатели на это дерьмо.
Аноним 04/03/24 Пнд 15:19:54 3073096 1104
>>3073048
> У тебя в любом случае будет стоимость динамического вызова при вызове функций плагина.
Так я всю эту маняидею с перезаписью скомпилированного файла и затеял ради того чтобы нахуй убрать любую стоимость, типо я просто переписываю часть скомпилированного файла и он просто становится расширен каким-то пользовательским кодом, который, офк, тоже скомпенлирован.

Сейчас внезапно понял что позволять юзерам вшивать свои бинари в файл это довольно хуевая идея, кхе-кхе, даже если компилировать на сервере и все проверки на сервере будут проходить.
Аноним 04/03/24 Пнд 15:20:10 3073097 1105
>>3072989
>Ты так и не объяснил какой профит сидеть на два стандарта ниже актуального.

Хорошо, я тебе объясню. Очень просто объясню. Ты, вот лично ты, со стороны не выглядишь разработчиком ПО. Ты ассоциируешься у меня с преподом колежда/универа, который в жизни не писал ничего сложнее тестовых задачек, не прикасался к реальным проектам. Что, впрочем, не удивительно для российских реалий - тут 3,5 конторы которым действительно нужен С++.

Вот эти все вопросы: "А что ты писал/написал?" Они остались без ответа. Судя по всему - ничего. Но конечно надравичать на новые стандарты это твоё.

Конечно я могу ошибаться, назвав тебя преподом, тем более что быть преподом это даже престижно как-то. Но реально я сильно сомневаюсь что твой код где-то кем-то используется.
Аноним 04/03/24 Пнд 15:49:45 3073124 1106
Аноним 04/03/24 Пнд 15:50:59 3073128 1107
>>3073097
Ты нихуя не объяснил, просто ad hominem.
мимо
Аноним 04/03/24 Пнд 15:53:27 3073139 1108
>>3073096
> с перезаписью скомпилированного файла
Тебе тогда придётся патчить весь код в рантайме, а не просто подгружать бинарник и вызывать функции. Тебе в ассемблер надо погружаться, а не тут советов спрашивать.
> любую стоимость
Ты бы сначала выяснил какую такую "любую" собираешься оптимизировать. Оптимизации без бенчей и профилирования - это путь в никуда. По нормальному надо сначала написать рабочий код, а потом уже после бенчей думать и оптимизировать.
>>3073097
Чел, хватит ныть. Вон zig уже в продакшене используют, хотя это такое серые поделие, что даже working draft позавидует. Твоё фанатичное желание сидеть на протухших технологиях никого не волнует, хоть на сишке сиди. C++20 уже много где в продакшене, начиная от нвидии и их CUDA и заканчивая тем же UE5, С++23 в этом году уже в крупные проекты пойдёт понемногу.
> не прикасался к реальным проектам
Это как раз местные шизики из НИИ или студенты учащие кресты по Страуструпу тут топят за старые кресты. В реальности всё немного не так - приоритет в большинстве случаев перед стандартной либой, а не пердольным либам/самописному говну. Буст это вообще ядерный полигон, где обкатывают фичи перед тем как они попадут в стандарт. Фанатичное нежелание использовать современные кресты - это либо тонна легаси, либо утята-шизики. Во всех остальных случаях нет никаких проблем брать актуальную STL.
Аноним 04/03/24 Пнд 16:03:02 3073163 1109
>>3073124
Там же потеря производительности будет каждый раз при запросе функции, не?

>>3073139
> Тебе тогда придётся патчить весь код в рантайме, а не просто подгружать бинарник и вызывать функции.
Не обязательно в рантайме, например это может быть просто какой-то перезапуск процесса или вроде того.
> Тебе в ассемблер надо погружаться, а не тут советов спрашивать.
Главное понять возможно такое или нет в принципе, прямо сейчас не собираюсь это писать. В зависимость от этого буду уже последующую архитектуру лепить.
> Ты бы сначала выяснил какую такую "любую" собираешься оптимизировать.
Стоимость запуска функций в оснвном.
> Оптимизации без бенчей и профилирования - это путь в никуда. По нормальному надо сначала написать рабочий код, а потом уже после бенчей думать и оптимизировать.
У меня симуляции, нужно оптимизировать всё прежде чем говно писать. Оно впринципе уже довольно неплохо работает, но можно и ещё лучше.
Аноним 04/03/24 Пнд 16:12:59 3073175 1110
>>3073163
Ты похоже не понимаешь о какой стоимости идёт речь. Операция деления медленнее чем вызов функции.
Аноним 04/03/24 Пнд 16:21:02 3073186 1111
>>3073139
>C++20 уже много где в продакшене, начиная от нвидии и их CUDA и заканчивая тем же UE5
Знаем, плавали. В паре мест, где можно было обойтись и без новых фич, воткнули модный код, остальные 99.999% кода всё такое же древнее легаси на костылях и бусте вплоть до 98 стандарта.
Аноним 04/03/24 Пнд 16:28:28 3073203 1112
>>3073175
>Операция деления медленнее чем вызов функции.
????
Аноним 04/03/24 Пнд 16:32:26 3073213 1113
>>3073175
Так этож с длл функция, не? Там какая-то другая таблица адресации, ещё какая-то хуйня. Мне кажется дороже чем деление, гораздо.
Аноним 04/03/24 Пнд 17:46:36 3073296 1114
>>3073213
Длсцф/лоадлайбрари один раз при инициализации и потом строго похер.
Аноним 04/03/24 Пнд 18:07:01 3073326 1115
>>3073213
> Там какая-то другая таблица адресации
Какая нахуй разница. У тебя вызов по указателю. Разница лишь в том что оно может быть чуть медленнее когда функция далеко и нет оптимизаций компилятора - он одиночные вызовы часто инлайнит. Ты конечно можешь сделать руками что-то типа такого, но это уже по сути JIT-компилятор с рантайм рекомпиляцией будешь писать.
Аноним 04/03/24 Пнд 18:12:28 3073337 1116
>>3073186
> В паре мест
Сразу видно что ты диванный.
Аноним 04/03/24 Пнд 18:19:41 3073348 1117
>>3073296
>один раз при инициализации и потом строго похер.
Оптимизирую до уровня наносекунд, так что не похер.

>>3073326
>Разница лишь в том что оно может быть чуть медленнее когда функция далеко и нет оптимизаций компилятора - он одиночные вызовы часто инлайнит. Ты конечно можешь сделать руками что-то типа такого, но это уже по сути JIT-компилятор с рантайм рекомпиляцией будешь писать.
Короче в случае чего я могу засунуть не просто функцию, а прямо инлайн бинарный код в мой говноцикл который запускает все функции, и именно так хуячить "пользовательские расширения". Прямо в скомпилированный файл. Верно понимаю?
Аноним 04/03/24 Пнд 18:25:32 3073352 1118
>>3073348
> Верно понимаю?
Если напишешь рантайм рекомпиляцию кода.
Аноним 04/03/24 Пнд 18:57:05 3073393 1119
>>3073352
А нахуя рекомпилировать-то, я просто какие-нибудь флаги выставлю и всё.
По сути мне просто нужно два бинаря сшить в нужном месте, если то что ты описал работает, то сработает и моя фантазия.
Аноним 04/03/24 Пнд 19:13:53 3073403 1120
>>3073393
> мне просто нужно два бинаря сшить в нужном месте
Ты занимаешься глупостями.
Аноним 04/03/24 Пнд 19:28:27 3073427 1121
> борется за наносекунды
> хочет засунуть рекомпиляцию
Мужик ты чё
Аноним 04/03/24 Пнд 19:31:16 3073430 1122
>>3073403
Прост выдумываю разные стратегии, чтобы понять куда архитектуру двигать.

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

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

>>3073427
Так рекомпиляция будет один раз, а мне наносекунды нужны во время выполнения цикла симуляции.
Аноним 04/03/24 Пнд 20:01:26 3073458 1123
Аноним 04/03/24 Пнд 20:21:53 3073468 1124
>>3073186
Неправда, кабаны этого не любят, но обычно инициативные разработчики пытаются бороться с легаси. Избавляются от буста и велосипедов в пользу стандарта и тп
Аноним 04/03/24 Пнд 20:30:52 3073472 1125
>>3073430
>в случае необходимости можно говнокод править во время исполнения в неком псевдожите.

Сегмент кода ReadOnly. На всех современных операционках. Только полезешь писать туда, сразу словишь CoreDump или "Программа выполнила недопустимую операцию и будет закрыта."

Твои трюки могли бы прокатить во время MS-DOS.
Аноним 04/03/24 Пнд 20:31:27 3073473 1126
>>3073458
> переписали
Ты траллишь тупостью или что? Речь про то на чём СЕЙЧАС пишут, а не твои попытки в демагогию. Открывай свежие коммиты и смотри что там. Представь себе, фичи С++20 активно используются. Тот же UE5 только под С++20 собирается, в свежем коде и всяких концептов много, рейнджи используют тоже.
Аноним 04/03/24 Пнд 20:53:01 3073483 1127
>>3073430
почитай как делают плагины на основе динамически загружаемых модулей, хотя бы в том же самом геймдейве;
для энтерпрайза то понятно что во многом тема сдохла, потому что кресты теперь там почти не используют, во многом потому что нет механизма стандартизированной загрузки-выгрузки классов, но это уже немного другая тема
Аноним 04/03/24 Пнд 22:24:30 3073564 1128
>>3073472
Чел.... Просто не пишешь код в ридонли разделы.... Единственный минус это просирается кэш инструкций, что не есть хорошо.
Лучше будет при запуске просто вносить изменения в ядро. Нашёл уже несколько прототипов программ которые нормально с этим работают и модифицируют код и даже могут читать глобалы.

>>3073483
Все эти плагины и модули имеют стоимость при каждом вызове функций. А я хочу чтобы оно прямо в основном цикле симуляции пользовательские расширения были доступны и совершенно никак не нагружали этот цикл, тупо вставка инструкций новых.
Аноним 04/03/24 Пнд 22:49:32 3073584 1129
>>3073472
>>3073564
> Только полезешь писать туда, сразу словишь CoreDump
> Просто не пишешь код в ридонли разделы
Челы, вы первый раз что ли? Никогда не писали инжекторы в процессы? Защита страниц свободно меняется - делаешь read-write память, меняешь что надо, возвращаешь обратно execute-read. Вся эта защита не от того чтобы кто-то не залез туда, а чтоб кривая память случайно или специально из-за переполнения буфера какого-нибудь не полезла куда не надо.
Аноним 04/03/24 Пнд 23:10:32 3073598 1130
>>3073584
> Никогда не писали инжекторы в процессы?
Ну я не писал, по этому сюда и пришёл.
> Вся эта защита не от того чтобы кто-то не залез туда, а чтоб кривая память случайно или специально из-за переполнения буфера какого-нибудь не полезла куда не надо.
Всё настолько просто? Получается тот анон сверху хуйню полную написал?

Тогда мне вообще можно во время исполнения модифицировать говнокод, инжектить туда что нужно, и не ебать мозги совершенно никак?
Аноним 04/03/24 Пнд 23:23:03 3073606 1131
>>3073564
>Нашёл уже несколько прототипов программ которые нормально с этим работают и модифицируют код и даже могут читать глобалы.
Покажи.

>>3073584
>Никогда не писали инжекторы в процессы?
Не было такой необходимости.

>Защита страниц свободно меняется - делаешь read-write память, меняешь что надо, возвращаешь обратно execute-read.
Это на чём ты так делал? На какой ОС? Покажи API.

>Вся эта защита не от того чтобы кто-то не залез туда, а чтоб кривая память случайно или специально из-за переполнения буфера какого-нибудь не полезла куда не надо.
Это понятно. Ты API покажи.
Аноним 04/03/24 Пнд 23:27:44 3073608 1132
>>3073598
> можно во время исполнения модифицировать говнокод
Если ты готов писать на ассемблере или написать JIT-рекомпилер. Ты явно не понимаешь что хочешь сделать.
> не ебать мозги совершенно никак?
Лол. Тебе уже сказали что ты просто не осилишь сделать это, потому что там ебли не на один десяток часов.
>>3073606
> Ты API покажи.
https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualprotect
Аноним 04/03/24 Пнд 23:54:03 3073624 1133
image.png 46Кб, 1151x587
1151x587
Аноним 05/03/24 Втр 00:08:47 3073638 1134
>>3073606
> Покажи.
За меня уже показали, суть там примерно такая же.

>>3073608
> Если ты готов писать на ассемблере
Не вижу в этом проблемы особой.
> или написать JIT-рекомпилер.
Так понимаю там там какие-то другие таблицы адресации нужно делать, чтобы это завелось нормально, и из-за этого выход из скомпенлированной зоны в зону JIT будет довольно дорогим. Нихотеть.
> Ты явно не понимаешь что хочешь сделать.
Всё что я хочу - понять можно изменять скомпилированную программу, добавляя в неё скомпилированный код.
> Лол. Тебе уже сказали что ты просто не осилишь сделать это, потому что там ебли не на один десяток часов.
Да я в курсе, и не пытаюсь в это вникнуть даже, немного погулил только. Мне важна понять можно ли это сделать или нет. Если такое можно сделать и даже можно не обосраться с кэшем команд - то мне не нужно менять архитектуру и что-то дописывать. Если возможности нет - нужно дописать код и как-то пытаться впихнуть внешние библиотеки и передавать в них глобалы, а не хочу это делать по причине проеб производительности на каждый вызов.
Аноним 05/03/24 Втр 00:17:55 3073645 1135
>>3073624

int * return_next_instruction_pointer()
{
_asm {
mov eax, [ebp+4]
}
}
Аноним 05/03/24 Втр 00:19:50 3073646 1136
>>3073638
Чо ты там вообще такое пишешь?
Аноним 05/03/24 Втр 00:31:04 3073651 1137
>>3073646
Симуляцию всякого интересного говна про которое не расскажу с циклом на 1-10 кГц. Каждая проебанная наносекунда решает.
Аноним 05/03/24 Втр 00:40:09 3073658 1138
>>3073651
Но для этого не нужно самомодифицировать код. Это порочная практика. 10 КГц ты вытянешь на современном компе просто эмуляцией.
Аноним 05/03/24 Втр 00:50:35 3073667 1139
>>3073658
> Но для этого не нужно самомодифицировать код. Это порочная практика.
Так мне нужны пользовательские расширения! Понятно дело что это как-то нестандартно звучит, лучше это всё тупо рекомпиляцией всего проекта делать, но рекомпиляция не всегда будет возможна, а совсем без расширений будет тухловато.
> 10 КГц ты вытянешь на современном компе просто эмуляцией.
Там вычислений может быть дохуя, например 2к строк матана или больше. 10кГц это верхний разумный предел, но хотелось бы чтобы он был как можно выше, например 50, да и чтобы это работало на дешманских серверах и процах.
Аноним 05/03/24 Втр 01:19:40 3073681 1140
>>3073667
Чего бы тогда не посмотреть в сторону ПЛИСин со встроенной плавающей запятой? Очень дорого, это да, прям неприлично дорого. Но по скорости порвут всё что только возможно и невозможно тоже. Представь как вкусно - ебически длинное выражение, которое конвейеризируется и всё сразу считается непрерывно. Ещё доступ к памяти оптимизируешь.

Ебаная капча постоянно подсовывает названия советских радиоламп. Безумие какое-то.
Аноним 05/03/24 Втр 03:18:57 3073724 1141
>>3073651
>Симуляцию всякого интересного говна
Почти все современные "симуляторы всякого говна" работают через dynarec, динамическую рекомпиляцию. Полно готовых решений для JIT и кодогенераторов разной сложности.
Аноним 05/03/24 Втр 05:43:45 3073790 1142
>>3073473
>в свежем коде
Я про это и писал, дебич. Формально у нас C++20. Стильно, модно, молодёжно. По факту, это лишь бесполезные фасад, всё самое главное, в глубине, лютое костыльное легаси, на которое дыхнуть боишься, не то что трогать.
Аноним 05/03/24 Втр 06:41:49 3073805 1143
>>3073790
>на которое дыхнуть боишься, не то что трогать
То есть у вас попросту некомпетентные макаки вместо программистов, раз не могут разобраться в коде - в своей работе между прочим. Не можешь - вон из профессии, неграмотная хуесосина. Как такие вообще попадают на должности, непонятно. Ваша контора гадюшник некомпетентного говна, всех надо разогнать нахуй, начиная с начальства допустившего этот пиздец.
Аноним 05/03/24 Втр 06:43:58 3073809 1144
Аноним 05/03/24 Втр 07:49:08 3073826 1145
?.jpg 275Кб, 1280x1280
1280x1280
>>3073805
Буквально везде так. Добро пожаловать в реальный мир.
Аноним 05/03/24 Втр 09:08:10 3073867 1146
>>3073681
Оно на серверах и пользовательских устройствах должно работать, в этом проблема и ещё пользователи могут пилить свои дополнения и встраивать. Если это будет плис, то у всех жопа порвётся, наверное.

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

>>3073724
Короче мою маняфантазию сделать возможно, так же как делают динореки и житы. В случае чего просто напишу авторам какой-нибудь подобной либы. А пока что обойдусь генераторами кода, например, или чем ещё подобным.
Аноним 05/03/24 Втр 13:21:41 3074025 1147
>>3073826
Я так и сказал - это ты некомпетентное говно, а не "легаси-код плохой". Зачем хвастаться своей тупостью и свинством публично, вот в чем вопрос. Ты говно сидящее не на своем месте, паразит ворующий деньги и не делающий работу. Зачем ты здесь в треде программирования? Зачем ты тут рассказываешь какое ты говно, а не программист? Чтобы что?

И для неграмотных дебилов, в данном случае обращение "ты" общее ко множеству людей, а не индивидуальное.
Аноним 05/03/24 Втр 14:58:35 3074126 1148
>>3074025
>>3073805
А зачем вообще с++23, если в с14 достаточно для всего? Если тебе что-то недостаточно - у тебя хуевая архитектура.
Аноним 05/03/24 Втр 15:00:06 3074131 1149
>>3074126
>с14
c11 в смысле, ебаные стандарты, хуй сломаешь с ними
Аноним 05/03/24 Втр 17:20:15 3074283 1150
Аноним 05/03/24 Втр 17:40:18 3074286 1151
>>3074283
Не ну там тредов нет, как бы 11 всё же получше будет. Максимум 17, думаю. 23 конечно стоит рассматривать, но ничего нового там не прибавилось.
Энивай на с++ лучше не кодить.
Аноним 05/03/24 Втр 19:08:19 3074419 1152
>>3074126
>А зачем вообще с++23, если в с14 достаточно для всего?
В 17 добавили инициализацию в ифы, можно делать if ( bool ok = foo(); ok ) - очень удобно. Ну и только ради констэкспров можно дальше переползать.
Аноним 05/03/24 Втр 20:05:49 3074475 1153
>>3074419
> if ( bool ok = foo(); ok )
Вот это норм, кста.
> констэкспров
А это хуй знает, сомнительно. Шаблоны можно и без этого делать, а мешать шаблонный код с обычным выглядит как не очень хорошая идея.
Аноним 05/03/24 Втр 20:15:14 3074489 1154
>>3074475
>> if ( bool ok = foo(); ok )
>Вот это норм, кста.

ЧТо тут норм? Область видимости ok какая???

> констэкспров
>А это хуй знает, сомнительно.
А вот они как раз годнота. Впрочем, я не старался их понять - утащил пример один и пользую его практически во всех проектах для использования строк в switch/case. А мне для большего он и не нужен.
Аноним 05/03/24 Втр 20:35:56 3074506 1155
>>3074126
Много ты понимаешь говноед
Аноним 05/03/24 Втр 20:38:54 3074512 1156
Ретроградство нового уровня, да зачем нам этот новый стандарт, и так хорошо живём

>>3074489
> ЧТо тут норм? Область видимости ok какая???
Внутри блока иф очевидно

мимо
Аноним 05/03/24 Втр 20:43:30 3074516 1157
>>3074506
Понимаю как не писать говнокод.
Аноним 05/03/24 Втр 20:46:09 3074519 1158
>>3074512
>Внутри блока иф очевидно
Это не очевидно, если что.
Аноним 05/03/24 Втр 20:54:20 3074527 1159
>>3074519
А есть ещё варианты
которые были бы не совсем глупые?
Аноним 05/03/24 Втр 21:15:43 3074555 1160
>>3074475
>Шаблоны можно и без этого делать
Можно, по 200 строчек нечитаемого леса из угловых скобок вместо одного цикла с constexpr.
Аноним 05/03/24 Втр 21:36:45 3074584 1161
>>3074527
Внутри круглых скобок? Не?
Аноним 05/03/24 Втр 21:38:27 3074588 1162
>>3074489
>ЧТо тут норм?
Пукции понятнее становятся, очевидно.
> Область видимости ok какая???
Ебать ты. Три дня в программировании? Скобочная.
> А вот они как раз годнота.
Ни одного успешного применения

>>3074555
Звучит как говняк без макросов
Аноним 05/03/24 Втр 21:47:38 3074597 1163
>>3074512
а внутри его блока елсе тоже очевидно?
Аноним 05/03/24 Втр 21:59:33 3074614 1164
>>3074588
>Ни одного успешного применения
>
Ха ха ха ха.
Вот ты и спалился.
Аноним 05/03/24 Втр 23:07:39 3074692 1165
>>3074519
Ты тупой просто, сори.
Вот тебе и не очевидно
Аноним 05/03/24 Втр 23:17:27 3074699 1166
>>3074692
Ну да, я такой. Это безусловно.
Но ты тупее.
Аноним 05/03/24 Втр 23:30:21 3074709 1167
>>3074614
Для них нужно подстраивать архитектуру, т.е. я свой код должен подговнять по какие-то констэкспы. Нахуй это нужно вообще, и без этого проблем дохуя, ещё тут этим заниматься, легче и проще макросами наговнять то же самое.
Аноним 06/03/24 Срд 00:21:30 3074768 1168
>>3074709
Не. Тут фишка в другом. Ты в constexpr загоняешь хэш-функцию, и у тебя swich начинает понимать сишные строки. Код становится простой, читаемый, мегаоптимальный, по сравнению со strcmp.

Это масло и вкусная фича. Хрен кто меня заставит теперь откатиться на стандарт, который был до constexpr. Это тупо удобно. Очень удобно. Уж насколько я хейтер всей хуйни, что тянут в плюсы, но constexpr это мегарулёз.
Аноним 06/03/24 Срд 02:32:22 3074795 1169
>>3073473
>Тот же UE5 только под С++20 собирается, в свежем коде и всяких концептов много
Ковырялся с UE4-5 на уровне туториалов и примерчиков. Не помню, чтобы там вообще использовали std::

>рейнджи используют тоже
В UE своя модель памяти, со сборкой мусора.
Чисто технически в UE-проекте у тебя конечно есть возможность использовать твой любимый std::vector и наслаждаться всей мощью <algorithm>. Но в контексте UE - это тоже самое, что и в C++23 гонять голые указатели по сырым массивам, а то и хуже.
Аноним 06/03/24 Срд 06:24:10 3074847 1170
>>3074768
>загоняешь хэш-функцию, и у тебя swich начинает понимать сишные строки
А потом коллизии хешей и
>"ой, чото глючит, хотя код правильный, но редко и непредсказуемо, наверное компьютер протух, купите новый, или попляшите с бубном в полночь новолуния, мне помогло"
Зато свиномакаке проще высирать говнокод.
Аноним 06/03/24 Срд 07:43:55 3074904 1171
>>3074795
> на уровне туториалов и примерчиков
Исходники движка открой, даунич.
Аноним 06/03/24 Срд 08:58:33 3074944 1172
>>3074904
>Исходники движка
А что там в исходниках написано именно тобой?
Я тебя мордой тычу в на порядки более распространенный сценарий использования, даунич.
Аноним 06/03/24 Срд 09:33:45 3074977 1173
>>3074944
Ты тупостью траллишь, да? В движке активно используют свежие фичи - это факт. То что ты туториалы пишешь в стиле си с классами - лично твои проблемы.
Про сборку мусора в UE5 вообще перл. Выпей таблетки.
Аноним 06/03/24 Срд 09:53:20 3074985 1174
>>3074768
> Ты в constexpr загоняешь хэш-функцию
Звучит как шизофрения. Зачем это делать?
> и у тебя swich начинает понимать сишные строки
А это что? Как? Зачем?
> по сравнению со strcmp.
Ну хз конечно чел, но ты уверен что всё правильно и оптимально делаешь?
> Это тупо удобно. Очень удобно.
Если ты в макросы не можешь, то наверное так. Просто погугли как писать макросы.
Аноним 06/03/24 Срд 10:47:04 3075027 1175
>>3074985
Ещё один неосилятор рвется.
Аноним 06/03/24 Срд 10:47:25 3075028 1176
>>3074985
> Макросы
Дедуль спокуху оформляем
Аноним 06/03/24 Срд 12:23:42 3075153 1177
Аноним 06/03/24 Срд 12:27:38 3075156 1178
>>3075153
Да это дети простоили дибилы, постоянно тут срут тупостью своей.
Аноним 06/03/24 Срд 13:02:55 3075190 1179
> констекпр
> ряяя фууу зумеры смузихлебы
> макросы
> омномном
Аноним 06/03/24 Срд 13:42:46 3075233 1180
image.png 99Кб, 665x845
665x845
>>3074985
Ну вот кусочек моей реализации Форта. Выше ты видел скриншоты его работы.
А на скришоте тот самый switch/case со строками.

Уверен ли я что правильно делаю? Более чем уверен. Как ты понимаешь, hash на данном скриншоте это constexpr.

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

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

Ещё раз - я не одобряю всю ту хуету, что тянут в стандарт, но там не всё хуета. Там и годнота тоже есть. И частный пример годноты это constexpr.
Аноним 06/03/24 Срд 14:00:17 3075247 1181
>>3075233
Ты имеешь в виду hash у тебя constexpr функция? Так здесь он тебе ничего не даёт. Компилятор не обязан выполнять её во время компиляции. С таким же успехом ты можешь объявить её инлайн.
Специально для таких случаев сделали consteval в 20 стандарте.
Аноним 06/03/24 Срд 14:15:20 3075262 1182
>>3075247
>>3075247
> Так здесь он тебе ничего не даёт. Компилятор не обязан выполнять её во время компиляции.

в case попадёт константа.
inline функцию как параметр case? Это вряд-ли, даже проверять нет желания.
Аноним 06/03/24 Срд 14:20:05 3075271 1183
>>3075262
>в case попадёт константа
Благодаря оптимизациям компилятора, а не constexpr.
Аноним 06/03/24 Срд 15:15:17 3075331 1184
>>3075233
такой код и на с++98 будет работать, при чем здесь constexpr
Аноним 06/03/24 Срд 15:16:38 3075334 1185
>>3075247
более того, в случае его кода, и не будет выполнен в компайл тайм
Аноним 06/03/24 Срд 15:19:25 3075339 1186
>>3075331
>>3075271
>>3075247
>>3075334
вы бы хоть попробовали скомпилить свитч по функции без констэкспра прежде чем на двачах позориться
Аноним 06/03/24 Срд 15:39:29 3075377 1187
>>3075331
>>3075334
извиняюсь, неправду написал
>>3075339
да уже осознал ошибку через 10 минут (после того как посрать сходил лол), зашел в тред чтобы написать об этом
Аноним 06/03/24 Срд 15:43:01 3075387 1188
>>3075233
Согласен с тобой по поводу плюсов и стандартов, но вот конкретно твой пример констэскпра ниочем, можно тупо констатны твоего хэша использовать, будет то же самое.
То где констэкспр реально ощющается плюсом - иф кжнстэкспр в темплейт функциях.
Аноним 06/03/24 Срд 16:16:49 3075437 1189
>>3075387
>можно тупо констатны твоего хэша использовать, будет то же самое.

Можно, кто ж спорит, но это геморрой. Считать константы придётся самому, потому руками их объявлять.
Аноним 06/03/24 Срд 17:48:48 3075519 1190
>>3075156
Впринципе да, выглядят будто какие-то ньюфаги-вкатывалщики решили вкатиться в программирование.

>>3075190
Шаблоны и код должны разделяться. Нахуя их вообще объединять в одном файле? Чтобы что? Чтобы сложнее было этот бред ебаный читать?

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

Да и вообще, нахуя искать хэш строки, если компиляторы всё равно хэшируют строки? Типо. Эээ. Зачем? Реально не понимаю зачем ты всё это делал.

>>3075437
> но это геморрой
Избавлю тебя ещё от одного гемороя, анон. Компиляторы хэшируют строки. Пользуйся.
Аноним 06/03/24 Срд 18:06:13 3075542 1191
>>3075519
> А если будет коллизии?

Вероятность коллизий в switch/case ничтожно мала - там не так много вариантов в case и коллизией можно пренебречь. И это не такое отвественное приложение, которое приведёт к катастрофе в случае коллизии. Если вдруг кто поймает коллизию, то он просто поменяет слово форт-исходнике и коллизия исчезнет. Возможно напишет автору, мол, смотри - у тебя там коллизия. Но к тому времени автор уже состарится и умрёт, пока сработает эта вероятность.
Аноним 06/03/24 Срд 18:36:11 3075572 1192
image.png 957Кб, 736x535
736x535
>>3075542
> и коллизией можно пренебречь
Ты. Ты же в курсе что там не один раз это всё будет вызываться? Ты понимаешь это? Т.е. если программа на форте достаточно большая и компилируется достаточно часто - у тебя будет минимум одна коллизия с достаточно высоким шансом. И никто не будет знать почему его говняк не работает.

Современное программирование нахуй. Ебануться просто. Забористо, конечно. Надеюсь ты свой говнокод пишешь, а потом удаляешь нахуй, чтобы никто не пользовался.
Аноним 06/03/24 Срд 18:44:32 3075587 1193
image.png 544Кб, 612x408
612x408
>>3075572
> и компилируется достаточно часто
Даже не компилироваться, а просто вызываться, так понимаю. Т.е. если программа на форте будет достаточно большой - при КАЖДОМ вызове этой хуйни будет довольно существенный шанс что всё обосрётся. А если пользователей будет достаточно много - каждый день у одного из них будет коллизия.

Это же ебануться просто. Вот это шмаль нахуй. Не представляю человека который на самом деле пишет так.
Аноним 06/03/24 Срд 18:45:33 3075589 1194
image.png 559Кб, 650x365
650x365
>>3075572
Если ты по маленькой картинке понял как там всё работает, то пиздец ты мегамозг.

Выдыхай, бобёр!
Аноним 06/03/24 Срд 19:17:06 3075627 1195
>>3075589
Ну расскажи как это всё работает. Вот я вижу коллизию которая происходит каждый раз при запуске говна на форте. Чем больше размер говно на форте - тем чаще будет коллизия.

Если же форт-кал находится прямо в cpp файле и компилируется при компиляции cpp - так тогда никакие хэши нахуй не нужны, потому что компилятор уже хэширует строки.

Либо это ебейший говнокод с коллизиями, либо незнание работы компилятора.
Аноним 06/03/24 Срд 19:36:35 3075633 1196
>>3075519
> Шаблоны и код должны разделяться. Нахуя их вообще объединять в одном файле? Чтобы что? Чтобы сложнее было этот бред ебаный читать?
Каво, какие нах шаблоны
И почему шаблоны и код это какие разные сущности, и схуяли они должны быть раздельно?
Аноним 06/03/24 Срд 19:38:08 3075635 1197
> коллизии хэшей
Как там в 90-е живётся?

хотя и тогда нормальные хэши уже существовали
Аноним 06/03/24 Срд 20:03:39 3075648 1198
>>3075633
Чтобы не писать говнокод который никто не понимает, очевидно же.
Аноним 06/03/24 Срд 20:06:29 3075653 1199
>>3075587
>>3075572
А вы не очень умные, да?
Эти все коллизии можно вообще с помощью тех же констэкспров поймать на стадии компиляции, с помощью intToType.
Я не говорю даже о том, что можно тесты написать, буквально дело 3 минут.
И такое ощущение что вы, два деда, забыли что такое хеш функция и как работают константы.
Аноним 06/03/24 Срд 20:07:10 3075654 1200
>>3075648
Шиз, на первые два вопроса то ответь
Аноним 06/03/24 Срд 20:08:27 3075655 1201
>>3075635
Вообще в ахуе с этих отсталых.
Наверно до сих пор указывают в резюме "знание stl"
Аноним 06/03/24 Срд 20:09:18 3075659 1202
>>3075653
Орунах, тесты, intToType, и вся эта шиза нужна просто для того чтобы не писать енум на 10 строчек, а писать какое-то дерьмо с констэкпром.

Тут уже таблеточки нужно принимать.
Аноним 06/03/24 Срд 20:11:17 3075662 1203
>>3075659
Дедуль, а стр ту енум кто тебе напишет?
А кто будет следить за актуальностью?
Две строковые константы это геморрой²
В целом я не удивлен твоему заявлению, ведь если вы будете писать поддерживаемый код вас сразу же с работы выпрут, ебаная мебель.
Аноним 06/03/24 Срд 20:45:30 3075697 1204
>>3075627
>Ну расскажи как это всё работает
Я лучше покажу на Гитхабе, когда решу что время пришло.
На деанон мне строго похуй.

По сути интерпретатор Форта мне не нужен, мне нужен его компилятор. Интерпретатор нужен только чтобы его отладить.
Аноним 06/03/24 Срд 20:49:13 3075706 1205
>>3075662
> Дедуль, а стр ту енум кто тебе напишет?
Он там вообще не нужен, кстати.

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

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

Хуй знает про что вы тут вообще визжите, буквально не понимаю причину всех этих визгов. Хэширование, тесты, констрэкспы, ебануться просто вкатуны.
Аноним 06/03/24 Срд 20:59:34 3075722 1206
>>3075697
> По сути интерпретатор Форта мне не нужен, мне нужен его компилятор.
Тогда тем более тебе строки нужно сравнивать через SIMD, там быстродействие будет раз в 100 нахуй быстрее вот этого всего. Сравнил строки, создал промежуточный байткод, как это делают многие языки, этот промежуточный байткод уже нормально исполняешь, без всякой ебаной дряни типо хэшфункций.
Аноним 06/03/24 Срд 21:15:59 3075767 1207
Дети, производительность только после бенчмарков
Все остальное мнение с дивана
Аноним 06/03/24 Срд 22:21:48 3075863 1208
>>3075767
>производительность только после бенчмарков
Синтетических?
Аноним 06/03/24 Срд 22:23:42 3075870 1209
>>3075863
Для начала хотя бы их
Аноним 06/03/24 Срд 23:21:52 3075952 1210
>>3075697
>По сути интерпретатор Форта мне не нужен, мне нужен его компилятор.
Тогда зачем ты экономишь на спичках? В обычном форте вообще тупо посимвольное сравнение строк идет, потому что разница по скорости с хэштаблицей будет видна где-то уже на мегабайтах исходников. Олсо "компиляция" в форте - это режим работы интерпретатора после DOES>, когда ты в слово инструкции пишешь.
Аноним 06/03/24 Срд 23:51:42 3075974 1211
>>3075952
> В обычном форте вообще тупо посимвольное сравнение строк идет, потому что разница по скорости с хэштаблицей будет видна где-то уже на мегабайтах исходников.
Да. Но в данном случае мне нравится простота и читаемость.

>Олсо "компиляция" в форте - это режим работы интерпретатора после DOES>, когда ты в слово инструкции пишешь.

В моём случае "компиляция" это ключик в командной строке, который скажет что форт-программу нужно не исполнить, а сформировать ассемблерный файл из неё. Ради этого и заморочился с Фортом.
Аноним 06/03/24 Срд 23:53:29 3075978 1212
>>3075722
>Сравнил строки, создал промежуточный байткод, как это делают многие языки, этот промежуточный байткод уже нормально исполняешь
В стандартном форте принцип работы другой, там интерпретация идет сразу во время чтения исходного кода. Он изначально однопроходный, поэтому между определениями функций, нельзя например, циклы или бранчи вставлять. Назад тупо некуда возвращаться, все исполняется прямо вот тут. После ":", определения функции, интерпретатор не сразу исполняет, а переходит в режим "компиляции" слова - заполняет токены в список исполнения. Все очень просто и тупо.
Аноним 07/03/24 Чтв 00:02:04 3075983 1213
>>3075974
>В моём случае "компиляция" это ключик в командной строке, который скажет что форт-программу нужно не исполнить
Программа в любом случае будет исполняться, там же immediate, [ и ] есть. Тебе надо словарь создать, а потом в какой-то момент его транслировать в бинарник.
Аноним 07/03/24 Чтв 18:53:40 3076640 1214
>>3075978
Короче никакой хэш там нахуй нинужон, единственное правильное ускорение - компиляция в промежуточный байткод.
Аноним 07/03/24 Чтв 19:14:33 3076653 1215
>>3076640
>Короче никакой хэш там нахуй нинужон
Можно с хэшем. Просто чуть быстрее поиск по словарю будет идти. Только нюанс в том, что надо сохранять порядок слов - последнее слово из нескольких с одинаковыми именами должно находиться первым.
>единственное правильное ускорение - компиляция в промежуточный байткод
Зависит от того, что тебе нужно. Если цель - метакомпиляция под другую машину, там да, промежуточный байткод, потом код под платформу. Для простых вариантов обычно делают или indirect threading, где выполняемый код - это список токенов каждому из которых соответствует адрес слова (тормозной, но занимает меньше места и возможна интроспекция функций), или самый простой вариант - subroutine threading, где код слова - это просто машинный код вида call addr; call addr; ... ret; возможно с инлайном базовых слов (гораздо быстрее, но код чуть пожирнее выходит, по пять байт на инструкцию на x86, и нужен дизассемблер для интроспекции).
Аноним 07/03/24 Чтв 19:38:02 3076674 1216
clang-tidy говорит, что у меня виртуальный деструктор не помечен overdrive.
А это надо вообще, деструкторы не оверрайдятся же? Да и функцией не являются в полном смысле слова.
Аноним 07/03/24 Чтв 19:52:31 3076687 1217
>>3076653
> Можно с хэшем.
Не, это в любом случае будет медленнее чем предварительный проход и какой-то промежуточный байткод. Можешь даже сделать вариант в котором твой свич оператор будет просто брать этот байткод, например, никаких хэшей, никаких проблем.
> Зависит от того, что тебе нужно
Быстро компилировать, например, быстрее исполнять, все операции будут векторными. Хз почему ты вообще читаешь и исполняешь.
Аноним 07/03/24 Чтв 21:27:34 3076752 1218
>>3076687
Я не автор кода со скрина выше. Он похоже не понимает, как форт работает, думает, что это просто стековый язык вроде постскрипта.
>Быстро компилировать
Ну так оно и так очень быстрое. Обычно файл читается с диска дольше, чем обработка идет.
>Хз почему ты вообще читаешь и исполняешь.
Потому что это в стандарте форта лол. Там на это все завязано. Без этого форт не форт. Внешний интерпретатор, который читает текст и тут же его исполняет или компилирует - неотъемлемая часть системы. Причем обычно программа там постоянно прыгает туда-сюда из режима интерпретации в режим компиляции и нет особого синтаксиса для макросов, и синтаксиса вообще - делай, что хочешь, как хочешь и когда хочешь. Предварительный проход тут в принципе невозможен. Там (, начало комментария - просто функция, которая гонит позицию в файле вперед до закрывающей скобки. Слово ." - вывод строки на печать тоже функция, которая набирает литерал строки из входного файла, пока не дойдет до закрывающей кавычки и компилирует его вывод в консоль. То есть синтаксиса вообще нет, все функции, поэтому и предварительный проход невозможен.
Аноним 08/03/24 Птн 00:10:06 3076827 1219
>>3076674
1. Являются. Все это функции.
2. Не слушай тиди/клази/клангд - они часто ерунду городят.
Аноним 08/03/24 Птн 00:28:21 3076836 1220
Поднял ТГ бота на с++.

>Нахуя?
Заскучал за изучением синтаксиса, решил дропнуть себе вызов сделать на сишке первое что придет в голову. Доволен как слон ещё зелёный, вылетало куча ошибок в CMake, хоть и делал абсолютно все по мануалу, попутно наебнул vcpkg неведомым образом, по итогу запускаю через студию.

Щас буду сидеть изучать доки библиотеки, чтобы пару приколов вставить и дальше возвращаться к душниловке. Пожелайте удачи.
Аноним 08/03/24 Птн 07:57:29 3076955 1221
>>3076836
что бот то делать умеет?
Аноним 08/03/24 Птн 09:11:52 3076989 1222
>>3076955
Ещё - абсолютно нихуя. Но я заставил его работать, и с этим уже можно что-то придумать.
Аноним 08/03/24 Птн 12:50:02 3077399 1223
>>3076827
>1. Являются. Все это функции.
В полном смысле слова не являются. Это функции с ограниченным функционалом, со специальными правилами.
Впрочем, в контексте вопроса это не имеет значения.
Меня однажды приложили Стандартом. Я у Самого Страуструпа вычитал про имя деструктора, а по Стандарту, оказывается, у деструктора нет имени.

>2. Не слушай тиди/клази/клангд - они часто ерунду городят.
Спасибо.
Аноним 08/03/24 Птн 19:35:41 3077885 1224
А в каком состоянии сейчас вообще популярный опенсурс как таковой в плане багов, тот же qt, g libs? Есть какие интересные статьи? Я вот прогнал свои поделия через санитайзер и валгринд основанные на этих либах, и там просто жопа, куча каких то системных варнингов, утечек и прочего говна. Падает иногда и тп, даже не знаю как это разгрести.
Попробовал запустить простые хелоуворды, ситуация хоть и лучше, но тоже говна подлили. И я вот думаю как это все работает?
Часто кстати проверяете свой продакшн код? Или работает, похуй?
Аноним 08/03/24 Птн 20:28:10 3077908 1225
>>3077885
А ты уверен что доступный тебе репозиторий соответстаует коммерческому?
Аноним 08/03/24 Птн 21:23:59 3077946 1226
Аноним 08/03/24 Птн 22:14:45 3078025 1227
>>3077946
Я не работал с Qt. Но знаю что у многих компаний гитовский репозиторий не соответстаует внутреннему.
Аноним 08/03/24 Птн 22:16:03 3078027 1228
Аноним 08/03/24 Птн 22:18:05 3078033 1229
>>3078027
Блин, четова дизлексия. Короче, я имел в виду что на github.com и на приватном github версии не 100% соответстввют.
Аноним 08/03/24 Птн 22:55:26 3078076 1230
Аноним 09/03/24 Суб 07:16:20 3078248 1231
image.png 32Кб, 284x895
284x895
>>3075983
>Тебе надо словарь создать, а потом в какой-то момент его транслировать в бинарник.

Спасибо за совет.

Что-то такое вот приблизительно получается.
Аноним 09/03/24 Суб 18:17:20 3078939 1232
>>3077885
Достаточно просто не использовать ничего связанного в линуксом и под лицензиями GPL. Сразу легче станет жизнь.
Аноним 10/03/24 Вск 07:49:09 3079580 1233
>>3078939
Ну, допустим, перехожу на проприетарщину, мне дали хидеры и скомпиленные, стрипнутые либы. Как мне удостовериться, что там нету всякой хуйни?
Аноним 10/03/24 Вск 08:02:26 3079584 1234
Райден 11/03/24 Пнд 07:41:00 3081111 1235
Привет)
помогите сконфигурировать Clang для VS Code
не включается дебаггер lldb
g++ работает, msvc работает, a clang нет(
g++ и Clang установлены через MinGW, ос - Win 11(64)
Аноним 11/03/24 Пнд 08:27:21 3081133 1236
photo2023-12-10[...].jpg 52Кб, 680x670
680x670
Райден 11/03/24 Пнд 08:34:50 3081136 1237
Да, установлено это расширение
Аноним 11/03/24 Пнд 08:36:59 3081138 1238
>>3081136
Тогда должно всё запускаться, иди мануалы читай
Ну или как-то раскрывай свою проблему более подробно, чем просто не запускается
Райден 11/03/24 Пнд 09:49:48 3081186 1239
Screenshot 2024[...].png 50Кб, 1051x405
1051x405
Screenshot 2024[...].png 82Кб, 947x780
947x780
Теперь работает сборка по нажатию F5, ниже скрин launch.json
А вот кнопка Run c++ file не работает, и скрин tasks.json
Райден 11/03/24 Пнд 10:25:35 3081206 1240
хз, короче, все заработало
спасибо
вот стоило сюда написать)
Аноним 11/03/24 Пнд 11:50:16 3081303 1241
Есть такая ситуация.
Класс а и класс б ребенок а. В родителе есть функции 1 и 2, 2 находится внутри 1. Ребенок наследует эти функции.
Можно ли в ребенке переопределить функцию 2, вызвать родительскую функцию 1 но чтоб она выполнила переопределенную функцию ребенка?
Было бы удобно не переписывать все родительские функции если надо переписать одну.
Moonlover 11/03/24 Пнд 12:29:22 3081348 1242
image.png 20Кб, 377x541
377x541
image.png 14Кб, 536x148
536x148
А вот интерпретатор Форта зашевелился. На второй картинке.

И компилятор тоже - https://pastebin.com/XFf7FjeQ <==== этот ассемблерный файл сгенерирован из кода с первой картинки.

Две недели ушло. И всё равно ещё сырое.
Аноним 11/03/24 Пнд 12:51:56 3081376 1243
>>3081303
Вроде простым способом нельзя, ты какую то магию на уровне CRTP хочешь.
Аноним 11/03/24 Пнд 13:41:57 3081457 1244
>>3012308 (OP)
Кто-нибудь не подскажет, в типичной реализации виртуальных таблиц используется имплицитно dynamic_cast? Я понимаю, что сначала мы переходим к массиву указателей через _vptr видимый в базовом сегменте, далее находим индекс где лежит адрес метода действительного объекта. Теперь вопрос: как именно происходит его вызов: DerivedMethod(dynamic_cast<Derived*>(this) или как-то по-другому? И откуда берется информация о типе, полагаю из typeinfo в виртуальной таблице?
Аноним 11/03/24 Пнд 14:17:17 3081519 1245
Аноним 11/03/24 Пнд 14:40:36 3081551 1246
Аноним 11/03/24 Пнд 15:24:37 3081655 1247
>>3081457
Там не надо ничего кастовать, сигнатура методов одна и та же. Просто выбирается разный адрес по которому будет вызов, остальное всё то же самое.
> typeinfo
Никакой инфы о типе там нет, там type erasure происходит, в vtable только адреса методов. Кресты не ООП язык, в рантайме нет никаких объектов. Вот если ты захочешь в рантайме подменить один тип на другой, то тут уже RTTI будет использоваться, т.к. компилятор не знает что ты ему подсовываешь. А в случае с виртуальными методами компилятор всё знает, ему достаточно просто выбирать нужную vtable.
Аноним 11/03/24 Пнд 15:48:52 3081717 1248
>>3081655
Давай возьмем простой пример:

void foo(Base *ptr)
{
ptr->Multiply();
}

0. На этапе до запуска компилятор определяет все типы, но он не знает какой метод будет вызван. Ок, это значит, что тип будет определяться с помощью таблиц.

1.При запуске программа видит сигнатуру виртуального метода, обращается к vptr, видимого из базового сегмента ptr. Окей, мы перешли в виртуальную таблицу класса D1, нашли индекс метода Multiply, который совпадает по сигнатуре с методом, вызванным через ptr

2.Дальше что? Допустим, сигнатура -- void Multiply().Получается, тут никакого каста нет и программа просто подставляет this в параметр?
Аноним 11/03/24 Пнд 16:29:14 3081807 1249
>>3081717
> При запуске программа видит сигнатуру виртуального метода, обращается к vptr
В твоём примере *ptr == vptr.
> Дальше что?
call [ptr+offset]
Всё.
> Получается, тут никакого каста нет и программа просто подставляет this в параметр?
Грубо говоря да. Без виртуальных методов будет вызван метод напрямую, с ними будет вызван по индексу из vtable. Всё остальное так же.
Аноним 12/03/24 Втр 14:21:27 3082926 1250
>>3013314
2 миски корма этому гусю жаль его
Аноним 12/03/24 Втр 15:48:53 3083135 1251
>>3082926
Офигеть ты некромант, я это в январе постил
Аноним 12/03/24 Втр 18:16:42 3083408 1252
Аноним 13/03/24 Срд 11:02:56 3084330 1253
Подскажите где именно рисуются все эти сообщения в графическом интерфейсе на Qt? Нужно сделать так, чтобы в определённом случае они никак не отображались. Если сделать конструктор пустой, они всё равно есть, но как бы пустые. Если выделить сообщения между видимыми и скрытыми, то счётчик считает их тоже. Если их выше не добавлять в список, то всё вообще ломается.
https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/history/history_item.cpp#L353
Аноним 13/03/24 Срд 11:06:10 3084335 1254
>>3084330
Найди все вызовы конструкторов этого класса.
Найди случаи, когда это удовлетворяет твоим условиям.
Добавь проверки и НЕ вызывай конструктор.
А пытаться внутри конструктора отменить его вызов - ну фарш не прокрутить назад.
Аноним 13/03/24 Срд 20:39:20 3085047 1255
Тут кто-нибудь занимался встраиванием питона в кресты? Я уже заебался, сначала ебался чтоб он запускался не из глобальной установки, а из папки - оказался pybind11 виноват. Теперь не могу разобраться с установкой пакетов. pip говорит пакеты уже установлены, но при их импорте летит эксепшен. Я их вижу в site-packages, пытался как-то через config.pythonpath_env указывать дополнительно папку site-packages - не помогает, пытался в самом питоне добавлять в path - тоже нихуя. Как отдебажить питон когда он запускается в моём бинарнике не очень понимаю - самое лучше что получаю это стектрейс.
Аноним 13/03/24 Срд 20:50:52 3085068 1256
А как из сишной либы собрать модуль питоновский?
>>3085047
Знаешь?
Аноним 13/03/24 Срд 22:47:04 3085280 1257
>>3085047
если тебе сверху эту задачу не спустили, а есть выбор, то можно дать совет встраивать lua а не питон
питон же удобно использовать наоборот, те на си либо крестах писать модули для питона, и потом уже в питоне их использовать
Аноним 14/03/24 Чтв 00:00:01 3085333 1258
>>3085280
У меня там пара мелких нейросеток. Я сначала хотел на крестах всё сделать через onnx, но когда понял сколько придётся питоновского кода переписать забил хуй.

Всё же смог понять что за дерьмо было, пришлось в коде питона чуть ли не каждую строчку try и принтами обмазать, по какой-то причине куча импортов в дебаге сыпят ошибками, в релизе всё заебись.
yaforth Moonlover 14/03/24 Чтв 13:57:38 3085962 1259
Вот и всё - "Форт, который за один вечер", опубликован в публичном репозитории на Гитлабе.

Ссылку на репозиторий дам чуть позже. Если не забуду. Надо ещё кой-какие моменты подправить.

Название такое - Yet Another Forth. Гугл по такому поиску находит YAFFA - Yet Another Forth For Arduino. Да и пофиг. Даже неплохо сейчас посидеть в тени.

>>3081348

Только один вопрос - насколько хороша эта тема и вообще двачи для анонса? Может быть лучше Хабр, LinkedIn, LOR, ixbt, LiveJournal, etc?

Хотя, думаю что интереса к Форту было бы больше в /ra разделе, нежели в /pr.
Аноним 14/03/24 Чтв 14:43:38 3086019 1260
>>3085962
> гитлаб
Ты из борцунов с микрософтом что ли лол?
Аноним 14/03/24 Чтв 15:23:39 3086068 1261
>>3085962
> Forth
А это вообще что?
Хабр явно не то место.
Аноним 14/03/24 Чтв 18:15:07 3086202 1262
Аноним 14/03/24 Чтв 21:01:08 3086419 1263
А это правда что плюсовики даже не знают что такое безопасность?
Аноним 14/03/24 Чтв 21:34:47 3086466 1264
>>3086419
Плюсовики работают на оборонку, конечно знают! Три проходных, колючая проволока и бойцы с пулеметами!
Аноним 15/03/24 Птн 10:39:03 3086819 1265
Чем фузировать?
Аноним 15/03/24 Птн 11:19:18 3086870 1266
Что-то, я запутался, зачем нужны статические библиотеки как отдельный формат файлов .a, если можно просто хранить объектные файлы .o?
Аноним 15/03/24 Птн 11:47:00 3086893 1267
Зачем вообще разрешили добавлять переменную в шаблон? Есть какой-либо пример преимущества перед стандартным добавлением в параметры?
Аноним 15/03/24 Птн 11:49:17 3086897 1268
>>3086893
Код покажи, не понятно о чем ты.
Аноним 15/03/24 Птн 11:52:38 3086901 1269
>>3086202
>CXXFLAGS := -O3
Проиграно, где WFLAGS? Ты же не пидорасте пишешь, ебобо.
Аноним 15/03/24 Птн 11:54:09 3086902 1270
>>3086897
ttemplate< int size >
class IntegerArray
{
int Array[ size ];
/ ... /
};
Аноним 15/03/24 Птн 13:15:18 3086998 1271
>>3086870
>зачем нужны статические библиотеки как отдельный формат файлов .a
.a - это просто архив, в котором лежат .o
Аноним 15/03/24 Птн 14:11:55 3087035 1272
1621984870171.png 92Кб, 1331x847
1331x847
Как затолкать кусок памяти в STL контейнер? У меня есть структура с 4 байтиками, либа возвращает указатель на память с ними, пикрилейтед - всё заебись, вот они, один байт всегда 0. Но когда я запихиваю это в контейнер данные идут по пизде. В векторе как будто выравнивание делается другое и всё съезжает как-то, такое ощущение что он с нулём что-то делает. В span вообще какой-то мусор оказывается если его инициализировать указателем на память. Что за ебень?
Аноним 15/03/24 Птн 14:58:30 3087061 1273
а потом спрашивают зачем учить С перед С++
вот чел берет указатели на содержимое контейнера и искренне удивляется что на реаллокации они отваливаются..
Аноним 15/03/24 Птн 15:04:19 3087066 1274
>>3087035
Покажи как ты это делаешь
Аноним 15/03/24 Птн 15:27:25 3087095 1275
>>3087061
> указатели на содержимое контейнера
> реаллокации
Ты шизоид, да? Сишник бы начал memcopy делать, вот там точно всё нахуй отъебнёт.
>>3087066
Конструктором (указатель, размер). Но похоже всё же сишная либа подсерает, я половину смог запихнуть, но вторую теперь пердолит.
Аноним 15/03/24 Птн 15:39:58 3087126 1276
ты сам шизоид наху
напиши нормально че ты хочешь сделать. что возвращает либа и что ты кладешь в контейнер. и какой контейнер
Аноним 15/03/24 Птн 15:56:34 3087151 1277
>>3086902
Задает тип. IntegerArray<5> и IntegerArray<3> будут разными типами, гарантирована ошибка компиляции при недопустимых операциях, в то время как IntegerArray(5) и IntegerArray(3) один и тот же тип. Мало того, что дополнительные проверки надо писать, так еще и семантически это неправильно.

Не нужно хранить дополнительную переменную, отвечающую за размер в каждом экземпляре класса, метод size() реализуешь как return size, где size уже вшит в бинарник. мелочь, а приятно.

Но самое пиздатое, это сочетаемость с шаблонными функциями, например
template <int size> sort(IntegerArray<size>& array);
Аноним 15/03/24 Птн 15:58:35 3087154 1278
Аноним 15/03/24 Птн 16:08:19 3087161 1279
Аноним 15/03/24 Птн 16:17:47 3087171 1280
>>3087095
Твои текстовые описания ничего не стоят.
Неси код.
Аноним 15/03/24 Птн 16:18:30 3087172 1281
>>3087151
Если ты не знаешь зачем нужен инт ту тайп значит он тебе не нужен.
Аноним 15/03/24 Птн 16:19:18 3087175 1282
>>3087172
Промазал... Это челу выше по ветке.
Аноним 16/03/24 Суб 10:07:01 3087842 1283
Изучаю сейчас код Криты, вроде как большого, серьезного проекта. И что я вижу? Комментарии есть дай бог у десятой части методов и классов. Имена приватных членов классов уровня a,b,c. Куча закомментированного кода без пояснений. Документации считай что и нет вовсе. Какого хуя?
Аноним 16/03/24 Суб 11:36:07 3087917 1284
>>3087842
> Какого хуя?
Опенсорс
Аноним 16/03/24 Суб 12:06:52 3087970 1285
>>3087151
А что, хранить переменную дороже, чем плодить новые сущности?
>>3087172
Заткнись скот, я развиваюсь
Аноним 16/03/24 Суб 12:08:02 3087971 1286
>>3087970
Если учесть, что мне потребуется столько же типов, сколько и экземпляров класса
Аноним 16/03/24 Суб 13:26:43 3088090 1287
>>3087970
> плодить новые сущности
Они под капотом плодятся, не влияют на производительность. Единственное что увеличивают незначительно размер бинарника.
Аноним 16/03/24 Суб 13:27:35 3088092 1288
>>3087971
> что мне потребуется столько же типов, сколько и экземпляров класса
Ты о чем? массив размера 10 это один тип, у него может быть множество экземпляров.
Аноним 16/03/24 Суб 18:25:48 3088366 1289
>>3087842
>код Криты, вроде как большого, серьезного проекта
чисто пет-проджект для воскресного пердоленья, кто то ебет телок и бухает пиво, кто то сидит в mmo по выходных, а 0,00000001% ебанашек от популяции имеют такое хобби типа писать код, вот и высирают gnuшный софт
Аноним 16/03/24 Суб 18:51:14 3088421 1290
>>3088366
> 0,00000001% ебанашек от популяции
То есть на всей планете Земля таких 0.8 человек?
Аноним 16/03/24 Суб 20:30:11 3088626 1291
>>3088421
у тя плохо с арифметикой что ты делаешь в этом итт треде здесь вообще то сидят профессионалы у которых как минимум универсисетский курс матана есть
Аноним 16/03/24 Суб 20:59:42 3088653 1292
>>3088626
Да, сразу видно этих "профессионалов", которые учились на платном.
Аноним 17/03/24 Вск 01:19:51 3088883 1293
.png 88Кб, 595x687
595x687
Блин. Как же вы спрятались. С третьего раза надеюсь в верном треде спрошу

В общем. Я нубан.
Работаю шарпером на заводе.
Вот, недавно подпустили к проекту, на котором матерые C++'еры работали, но на шарпе.

Увидел там нечто похожее на прикриплейд.
Можете объяснить, нахуя и зачем так делать?
Аноним 17/03/24 Вск 01:45:31 3088891 1294
>>3088883
Ты не в тот тред зашел.
Аноним 17/03/24 Вск 01:47:21 3088893 1295
Аноним 17/03/24 Вск 02:09:08 3088900 1296
>>3088893
Вопрос по шарпам, на скрине шарпы, очевидно в щарпотред.
Аноним 17/03/24 Вск 02:25:19 3088910 1297
>>3088900
Вопрос не по шарпам, а по вот такой вот странной структуре класса.

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

А в коде это работает типа так:

for(int i = 0; i < jobs.Count; i++) {
if(jobs.Status == STARTED)
continiue;

else if(jobs.Status == PENDING)
{
jobs.Started = DateTime.Now;
jobs.Status = STARTED;
jobs.Handler(context);
}
...
}

Но почему-то вместо обычного массива или листа - вот такая странная фигня. В коде шарпанов я такого никогда не видел.
Вот и думал, может быть С++ пояснят зачем так делать и есть ли вообще в этом смысл какой-то.
Аноним 17/03/24 Вск 02:26:46 3088912 1298
>>3088910
Блин. Еще и проебался с написанием кода

В коде оно выглядит так:

for(int i = 0; i < jobs.Count; i++) {
if(jobs.Status == STARTED)
continiue;

else if(jobs.Status == PENDING)
{
jobs.Started = DateTime.Now;
jobs.Status = STARTED;
(jobs.Handler)(context);
}
...
}
Аноним 17/03/24 Вск 02:39:07 3088920 1299
.png 56Кб, 758x354
758x354
>>3088912
ВАКАБА ПРОГЛАТЫВАЕТ квадратные скобки с i. Вот картинкой.
Аноним 17/03/24 Вск 08:07:29 3088963 1300
>>3088920
Матёрые плюсовики решили сэкономить наносекундов на обходе статусов джоб. Ход мыслей таков: идти по массиву джобов, заглядывать в каждую джобу и проверять ее статус будет медленнее, чем идти по массиву статусов и проверять статусы.

Для больших массивов и/или серьезных требований к latency так и есть, в остальных случаях - преждевременная оптимизация и ненужное усложнение кода.
Аноним 17/03/24 Вск 12:33:33 3089124 1301
>>3088963
> ненужное усложнение кода
Ненужное усложнение кода - это всякие ООП паттерны, созданные чтоб джун мог мыслить шаблонными конструкциями и не запутаться с 100 строчках кода.
Аноним 17/03/24 Вск 13:25:12 3089211 1302
>>3089124
В данном случае джун запутался в 30 строчках кода. Да и структура массивов - вполне себе паттерн во многих сферах.
Аноним 17/03/24 Вск 14:05:53 3089306 1303
1570546053004.png 80Кб, 2067x701
2067x701
>>3088920
Чтож тогда с тобой случится, когда ты шаблоны увидишь? Пикрилейтед ещё вполне безобидный шаблон.
Аноним 17/03/24 Вск 14:31:14 3089378 1304
>>3089306
Так прикриплейд таки - как раз обычный ООП код с женериками, просто как обычно у плюсов - синтаксис выбрали максимально странный. Могу даже предположить, что это сорт оф обертка создания COM-объектов. Угадал? МБ нет. С++ я все равно не знаю совсем.

А вот тот подход выше, как раз для меня, чет новое. Я ни разу такого раньше не видел.
Аноним 17/03/24 Вск 14:45:09 3089400 1305
>>3089211
Погодь. Я вроде не говорил что запутался. Я просто никогда такого не видел и не понимаю, зачем так делать.
Для меня это выглядит как непонятное усложнение. Типа теперь - на разработчика переложена ответственность за тем, чтобы следить, что данные в этой вот штуке согласованы, что кто-то случайно потом не перепутает индекс и не запишет неправильно чего-то. Плюс - работа с этим кодом - усложняется, потому что теперь апи для остальной работы должно не просто объект принимать, а еще индекс той сущности с которой идет работа.
Вот мне и интересно, а зачем это делать. Есть ли от этого профиты какие-то и насколько они существенны.

Этот анон >>3088963 сказал что экономится время и что это может дать прирост по перформансу. Это валидная причина, я считаю. Но насколько она экономится и за счет чего? Надо ли мне теперь везде, где я обхожу что-то в цикле - сделать вот такую же штуку, или прирост там 0,0000000000000000000001% а работа с кодовой базой усложнится в разы?
17/03/24 Вск 15:57:53 3089477 1306
>>3088920
> unsafe
> var
И это по вашему плюсы?
Аноним 17/03/24 Вск 16:27:36 3089500 1307
>>3089400
> Но насколько она экономится
Только бенчмарк покажет на твоих объемах.
> и за счет чего?
За счет того, что при чтении данных из оперативки они остаются в кеше не байтиками, а линиями по 64 байта. В эту линию влезет 8 значений int из твоего массива, а если переделать на структурки - то только 2 значения по 28 байт (если зделоть нормально padding). А кеш быстрее оперативы - вот за счет этого и ускорение. Если бы статус был enum: byte, было бы еще быстрее.

> Надо ли мне теперь везде, где я обхожу что-то в цикле - сделать вот такую же штуку, или прирост там 0,0000000000000000000001% а работа с кодовой базой усложнится в разы?
Нет, не надо. Такое нужно только если гонишься за низким latency или hotpath в числодробилках для обсчёта гигабайтных агрегаций/etc. Делай сначала чтоб работало правильно хоть через foreach, хоть через linq, потом оптимизируй (с бенчмарками).
Аноним 17/03/24 Вск 16:48:17 3089516 1308
>>3089500
А. Ну у них там статуса - в виде байтиков. Да.

Но из-за твоего описания - мне теперь еще менее понятно, зачем так делать было.
Уже сказал. Завод. Там типа код - для сборщика данных с датчиков. Да, датчиков много, но большую же часть времени, будем не чет на процессоре обрабатывать, а ждать что там в сокет прилетит.
Надо наверное у них пойти и спросить. Но блин, так страшно, посмотрят как на дурака, я потом полгода буду в пол смотреть.
Аноним 17/03/24 Вск 16:58:18 3089537 1309
>>3089516
Дурак не знает и знать не хочет. А ты интересующийся.
Тем более для прогеров алгоритмы и архитектура - такой же повод для гордости как и большой хуй.
Аноним 19/03/24 Втр 19:16:48 3092759 1310
Шаблонщики, попробуйте решить головоломку - как сохранить в структуре тип функции без указания его в параметрах шаблона? Проблема в том что при его объявлении в другом классе надо прописывать все его параметры, а там может быть длинная лапша в виде int()(int&, zalupa, govno). В методах есть частичный/полный вывод типов шаблона, а для классов не завезли - указывай всё явно. При этом нужен именно компайл-тайм тип чтоб потом можно было его в концепте другого метода заюзать.
Аноним 19/03/24 Втр 19:54:53 3092835 1311
>>3092759
Using func_type = govno(zalupa)(penis, her)
T::func_type
Так не выйдет?
Накидай минимальный воспроизводимый пример
Аноним 19/03/24 Втр 20:19:06 3092871 1312
>>3092835
Так это надо для каждого типа писать такое. А я имею в виду, условно, передать функцию в конструктор, сохранить её тип и потом в методе обращаться к этому типу. С auto при создании инстанса шаблона такой трюк провернуть можно - тогда типы шаблона сами выведутся, но auto нельзя использовать для полей класса - там придётся писать при объявлении поля вот такое говно:
> A<govno()(zalupa, pizda)> a;
При том что этот тип по логике приватный, нахуй он нужен во внешнем интерфейсе класса, где инкапсуляция.
19/03/24 Втр 20:59:01 3092941 1313
Аноним 19/03/24 Втр 21:28:43 3092980 1314
>>3092871
Накидай пример, я попробую.
Потому что пока мне кажется что юсинг то что нужно.
Аноним 20/03/24 Срд 08:04:22 3093281 1315
>>3092759
Либо забей на типы параметров нахуй они тебе дались?
template <typename F>
struct huynya
{
using funkziya = F;
huynya(F f) {}
}
либо
template <typename Ret, typename... Args>
struct huynya
{
using funkziya = Ret(*)(Args...);
huynya(Ret f(Args...)) {}
}

Тип функции должен вывестись сам во время вызова конструктора, начиная с 17 стандарта, если не захочет, пиши deduction guide для него.
Аноним 20/03/24 Срд 08:13:42 3093285 1316
>>3092759
>>3093281
Но, вообще, я бы не советовал делать, как во втором варианте, если ты точно не знаешь, что у тебя всегда будут именно указатели, а не вызываемые объекты, типа лямбд.
Аноним 20/03/24 Срд 14:52:29 3093708 1317
>>3092759
вообще, вопрос интересный
так или иначе его решали начиная собственно с начала проектирования стандартной библиотеки шаблонов, там была парочка функций-помощьников для этого
потом предлагались различные улучшения, часть из которых была в буст добавлена
ну а потом когда пошли новые стандарты, то почти в каждом стандарте добавлялись какие-нибудь мелочи чтобы улучшить решение данной проблемы
так чтож удачи опу во всем этом разбираться, ибо это интересно и очаровательно бесполезно
Аноним 20/03/24 Срд 14:52:50 3093709 1318
>>3093708
>опу
вернее, спрашивающему
Аноним 20/03/24 Срд 16:12:32 3093801 1319
>>3092759
> В методах есть частичный/полный вывод типов шаблона, а для классов не завезли - указывай всё явно
>так разве CTAD не про это как раз?
Аноним 20/03/24 Срд 16:23:45 3093818 1320
>>3093708
> так чтож удачи опу во всем этом разбираться, ибо это интересно
Я уже на 99% уверен что это невозможно. Т.к. шаблоны не могут хранить никакого состояния, кроме того что находится в списке параметров шаблона. Более того, после того как инстанс шаблона создан, типы в шаблоне не могут меняться, т.е. фактически мы можем только константы хранить в параметрах шаблона. Так что вариант один - прописывать каждый тип, через using или ещё как, и обращаться к этим прописанным типам. Я вчера попердолился с constexpr-функциями, возвращающими тип, но всё хуйня. На момент передачи чего-либо в конструктор все типы шаблона уже выведены и ничего невозможно сохранить. Ждём рефлексию в С++26, там уже можно будет в компайл-тайм типами жонглировать как переменными, может уже в этом году увидим в working draft.
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2996r2.html
Аноним 20/03/24 Срд 23:22:35 3094342 1321
я прпльно понимаю что для иучения с++ в visual studio мне нужно иметь примерно 50 гб свод места? пиздец много весят "файлы" для него. охуеть.
жаль а) я нищий б) у ноута всего один слот ссд.
придется отлодить учебу (
так бы купил 8тб ссд м.2
Аноним 20/03/24 Срд 23:59:03 3094367 1322
ну поставь турбо-С в досбоксе
в мегабайт уложишься
Аноним 21/03/24 Чтв 01:33:35 3094427 1323
>>3094342
> Visual studio
> C++
Тебе ещё компилятор понадобится
ты же не собираешься мсвц использовать, ведь правда?
Аноним 21/03/24 Чтв 12:22:03 3094680 1324
Аноним 21/03/24 Чтв 13:18:06 3094732 1325
>>3094427
Если по какой то причине чел хочет под виндой писать, то мсвц лучший выбор лол, и мингв и кланг еще хуже. А так то конечно лучше православного гцц ничего нету.
Аноним 21/03/24 Чтв 14:17:51 3094769 1326
>>3094732
Но мингв это и есть порт гцц под винду.
Аноним 21/03/24 Чтв 14:45:47 3094796 1327
>>3094427
В чем проблема мсвц? Он бывает на шаблонах ошибается, но в целом им собирают почти все под виндой. Не думаю, что у него будет проект сложнее UE5, что возникнут проблемы.
Аноним 21/03/24 Чтв 14:53:52 3094804 1328
Кто подавался на сеньора C++ в бигтехи, что там по System design спрашивают?
Просто на плюсах обычно байтики переворачивают, а не сайты делают, неужели там попросят Twitter спроектировать
21/03/24 Чтв 14:56:09 3094808 1329
>>3094769
Теплое с мягким не путай.
Аноним 21/03/24 Чтв 19:47:57 3095160 1330
Посоны, а на cppreference.com вот это вот что пишется в каждом стандарте, что добавлено, что удалено, депрекейтед, это же все изменения описаны какие есть на каждый стандарт плюсов, или только самые важные?
Аноним 21/03/24 Чтв 19:49:50 3095162 1331
Аноним 21/03/24 Чтв 20:27:53 3095194 1332
>>3095160
Там местами инфа довольно скудная, за полной в стандарт идти надо. По новым фичам там пробелы есть, TS неактуальная по большей части.
Аноним 21/03/24 Чтв 21:42:28 3095292 1333
>>3095194
> По новым фичам там пробелы есть

Ну это же крайнего только стандарта касается, правильно я понимаю?
Аноним 21/03/24 Чтв 21:50:59 3095301 1334
>>3094804
На завод иди гайку крутить, где бронь дают, лошара. Может под майскую мобку не попадешь.
Ишь чего он захотел. Бигтех какой то с крестами.
Аноним 21/03/24 Чтв 22:23:27 3095329 1335
Абсолютно серьезный вопрос. Переполнение знаковых чисел - ub. Как код писать? Понятно, что есть ограничения на размер входных данных, но везде высчитывать, что все укладывается в int нереально на практике. Как писать? И как это в расте, например, решено?
Аноним 21/03/24 Чтв 22:25:00 3095334 1336
Абсолютно серьезный вопрос. Переполнение знаковых чисел - ub. Как код писать? Понятно, что есть ограничения на размер входных данных, но везде высчитывать, что все укладывается в int нереально на практике. Как писать? И как это в расте, например, решено?
Аноним 21/03/24 Чтв 22:49:26 3095369 1337
>>3095334
Ну ты же понимаешь, какой размерности у тебя числа на входе в функцию, какой на выходе.
Если нет - то да, плюсовики складывать не умеют.
на х86-64 переполнение знакового не является УБ
Аноним 21/03/24 Чтв 22:53:31 3095378 1338
Аноним 21/03/24 Чтв 22:59:48 3095388 1339
image.png 53Кб, 997x349
997x349
>>3095369
>на х86-64 переполнение знакового не является УБ
Является.
Аноним 21/03/24 Чтв 23:13:49 3095408 1340
151537385235.png 22Кб, 1174x222
1174x222
Как это он сделал ?
Аноним 22/03/24 Птн 00:41:26 3095445 1341
Beginning C++20[...].png 1233Кб, 4200x6000
4200x6000
Анон, ты не читал этот букварь, норм он для вкатунов?
Аноним 22/03/24 Птн 00:43:41 3095451 1342
>>3095445
Я не читал, но обычно такие книги, которые посвящены конкретному стандарту, рассказывают не про язык в целом, а только про конкретный стандарт. Соответственно для незнающих язык не подходят
Аноним 22/03/24 Птн 00:50:58 3095458 1343
22/03/24 Птн 01:14:20 3095464 1344
>>3095329
Так и должно быть, лалка.
Аноним 22/03/24 Птн 04:03:29 3095500 1345
>>3095445
вкатунов куда? в эзотерический язык программирования?
надеюсь у тебя есть две квартиры в собсвенности, чтобы одну сдавать, а во второй жить как монах, посвящая остаток жизни искусству метапрограммирования на крестах или че там придумали в новых стандартах еще такие же шизики
Аноним 22/03/24 Птн 07:24:20 3095536 1346
>>3095388
Так ты со шланга спрашивай что за параша у него происходит. Под виндой это не UB.
Аноним 22/03/24 Птн 07:35:08 3095537 1347
>>3095536
А на шланге х86-64 в какую то другую архитектуру превращается?

>>3095369
> на х86-64 переполнение знакового не является УБ
Пиздеж
Аноним 22/03/24 Птн 07:53:38 3095543 1348
image.jpeg 478Кб, 1512x2016
1512x2016
Сап, анон. Я давно программирую сервера/клиенты на boost::asio, но сейчас столкнулся с проблемой, где не хватает знаний разбираться. Клиент, подключающийся ко мне, при RESET сокете вызывает у меня эксепшн, но, сука не всегда.

У меня везде есть контроль на ошибки в асинхронных операциях чтении/записи. Во многих других случаях, и тестах, я не могу повторить это же ошибку. Ошибок на уровне ядра нет.

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

Как диагностировать?
Аноним 22/03/24 Птн 07:56:31 3095545 1349
>>3095537
В ассемблере х86 это абсолютно корректная операция. То что шланг зачем-то делает сегфолт при кривых оптимизациях - это вопросы не к х86 и даже не к крестам. То что стандарт разрешает сделать там UB не значит что компиляторописатели должны такое говно вытворять.
Аноним 22/03/24 Птн 09:13:10 3095576 1350
>>3095545
>при кривых оптимизациях
> это вопросы не к крестам
А теперь идем и читаем что такое уб
Аноним 22/03/24 Птн 10:10:36 3095618 1351
>>3095388
У тебя здесь УБ в другом месте:
while (i + 1 > i) эквивалентно while (true) при О3, кмк, а бесконечные циклы без возможности выхода - уб и без оверфлова.
Так что тут да, УБ, но не из-за оверфлова.
Оверфлоу - это UNT_MIN * -1.
Аноним 22/03/24 Птн 10:13:13 3095624 1352
>>3095618
>бесконечные циклы без возможности выхода - уб
huh?
Аноним 22/03/24 Птн 10:29:56 3095640 1353
>>3095624
Ну вот так, бесконечные циклы без сайд эффектов УБ. Ты конечно можешь заявить что здесь есть сайд эффекты, но кто мешает компилятору выкинуть строку 13(до нее ведь исполнение не дойдет), а в след за ней и все переменные, кроме х? А раз х нигде не используется далее, то и выкинуть весь цикл.
Я бы вообще вывел посмотреть, что там осталось после оптимизаций компилятора.
Аноним 22/03/24 Птн 10:45:03 3095657 1354
>>3095640
> Ну вот так, бесконечные циклы без сайд эффектов УБ.
А, ну без сайд эффектов ещё понятно
Я только знал что пустой бесконечный цикл это уб
Аноним 22/03/24 Птн 11:29:01 3095714 1355
>>3095500
> в эзотерический язык программирования?

У меня других вариантов нету, мне VST плокенчики надо реализовывать, это не я выбрал плюсы, это они выбрали меня
Аноним 22/03/24 Птн 13:36:49 3095834 1356
image.png 13Кб, 562x379
562x379
>>3095329
> Переполнение знаковых чисел - ub. Как код писать?

0.7 секунды гугления
Аноним 22/03/24 Птн 13:59:20 3095858 1357
>>3095834
> INT_MIN - lhs
Бро, так не троллят...
Аноним 22/03/24 Птн 14:11:38 3095869 1358
>>3095858
Бро, я не проверял. Честно. Но уверен что ответ верен.
Аноним 22/03/24 Птн 14:21:39 3095881 1359
>>3095869
Да не, там верный код. Я почему то затупил, что в этой ветви лхс всегда отрицательный и андерфлова не будет.
>>3095388
Вот чекни ассемблер, который у тебя сгенерится, сильно удивишься. Там действительно не будет ничего, кроме вывода константы в каут.
И не будет именно потому, что компилятор уверен что УБ не бывает и выкидывает цикл нахой.
Аноним 22/03/24 Птн 14:23:46 3095885 1360
Аноним 22/03/24 Птн 14:24:17 3095886 1361
>>3095369
>на х86-64 переполнение знакового не является УБ
Хуя прогресс плюсах, в C11 чёрным по белому написано:
>If an exceptional condition occurs during the evaluation of an expression (that is, if the result is not mathematically defined or not in the range of representable values for its type), the behavior is undefined.
Exceptional condition переполнение знаковых, например.
Но можно компилятору указать сабсет языка, где переполнение будет опредленным поведением, с помощью инструментального флага.
Аноним 22/03/24 Птн 14:27:05 3095888 1362
>>3095886
Чувак, в стандарте пишут абстрактные вещи, чтоб не зависеть от платформы.
Если ты пишешь под конкретную, и знаешь как на ней работает условный ADD, то поведение в случае оверфлоу будет очень даже ожидаемым и определенным.
Оно станет неопределенным при переносе на другую платформу.
Аноним 22/03/24 Птн 14:28:41 3095889 1363
>>3095858
>Бро, так не троллят...
Хуя ты тупостью потроллил.
Бранч lhs < 0
Выражение rhs < INT_MIN - lhs эквивалентно rhc + lhs < INT_MIN
Аноним 22/03/24 Птн 14:30:05 3095892 1364
>>3095889
Да согласен, читал жопой...
Аноним 22/03/24 Птн 14:30:23 3095894 1365
>>3095888
>то поведение в случае оверфлоу будет очень даже ожидаемым и определенным
Да, конпелятор ожидаемо заметит УБ и сделает, как ему будет нужным, а не как ты ожидаешь лол.
Аноним 22/03/24 Птн 14:40:38 3095909 1366
>>3095894
В примере выше он абузит не уб, а уверенность в том что уб там нет(ведь в коде на плюсах не должно быть уб)(что i всегда положительно).
Если кстати заменить тип i на size_t все ок.
Аноним 22/03/24 Птн 15:10:27 3095939 1367
>>3095909
Именно поэтому сайзт это сайзт, внезапно. А индексировать интами нужно только во всяких сиатик ассертах.
Аноним 22/03/24 Птн 15:36:22 3095966 1368
>>3095939
Я должен вообще согласиться с тобой что писать цикл как было выше нельзя, ибо действительно мы полагаемся что уб произойдет, а компилятор может его банально недопустить удалив цикл.
То есть логика такая: на УБ полагаться нельзя.
Но в целом изначальный спор не об этом, а о том как работает ADD в х86-64.
То есть если мы сложим INT_MAX и 1 мы получим гарантированное значение, но нельзя полагаться что компилятор не выкинет всю эту операцию из-за оптимизаций.
Аноним 22/03/24 Птн 16:39:12 3096077 1369
Как сделать игру типа Марио или Ори или Брейд на С++ мультиплатформенную, чтобы ебически красивый виузал? Огни, искры, шлейфы, дым, порох, туман, чтобы динаимчесики двигались. Свет, цвет, физика шлейфа клейкого густого думана, турбулентности после пробега героя

Вот именно как на уровне кода реализовывать эти вещи. Чтобы игра шла в 60фпс на ipad и 120фпс на пс4/хбокс

А еще - ДОЖДЬ. Т.е. огни, искры, шлефы, дым и порох будут в В ДВУХ ФИЗИЧЕСКИХ ИПОСТАСИЯХ, при сухом и влажном воздухе, да и не дискретно, а градиентно чтобы менялась физика(ХИМИЯ?!?!?!???) их поведения, в зав-то от интенсивности дождя.
Аноним 22/03/24 Птн 16:46:31 3096090 1370
Аноним 22/03/24 Птн 17:21:20 3096124 1371
>>3096077
Да все просто
- учишь с++
- учишь компьютерную графику
- тратишь 10 лет на написание идеального движка
- ещё пять лет на создание игры
Аноним 22/03/24 Птн 17:30:57 3096136 1372
>>3096077
Набираешь команду, ищешь финансирование, организуешь процесс разработки, делаешь игру.
Аноним 22/03/24 Птн 17:42:32 3096148 1373
>>3095966
Не знаю о каком компиляторе речь, но нормальный гцц ничего не выуидывает,а переполнение интов базированая база используемая в логике.
не отменяет факта что сингед типы в роли индекса использовать глупо
Аноним 22/03/24 Птн 18:45:04 3096221 1374
я так хочу делать ААА+ игры. и зарабатывтаь сотни миллионов долларов.
так хочу....
Аноним 22/03/24 Птн 18:46:03 3096222 1375
>>3096124
>- тратишь 10 лет на написание идеального движка
вот конкретно что сложного в 2д дыме и порохзе, свете, искре и огне? буквально пара часов написания кода и пара дней полировки и калибровки. нет?
Аноним 22/03/24 Птн 18:53:18 3096230 1376
>>3096148
Скомпиль пример выше гцц, он тоже выкинет цикл.
Аноним 22/03/24 Птн 18:58:02 3096247 1377
>>3096230
Он выкинет бесполезный цикл, а не полезное переполнение.
Аноним 22/03/24 Птн 19:00:21 3096254 1378
>>3096077
> Чтобы игра шла в 60фпс на ipad и 120фпс на пс4/хбокс

Я не знаю что внутри ipad и иксбокс,
но под Виндой это достигается прямой работой с WinAPI, а под Юниксами прямой работой поверх xlib.

Хуячу так уже несколько лет, но не игры.
Охуеваю с мифа, к созданию которого сильно приложил руку, мол X11 тормозной. Нихуя он не тормозной, а скорость его работы приблизительно равна Windows GDI.

А знаешь откуда взялся этот миф? Да потому что писатели либ, что идут поверх Х11, болваны. Не все, но многие. И потому что пверх Х11 уже несколько слоёв нагородили.
Аноним 22/03/24 Птн 19:00:56 3096255 1379
>>3096148
>не отменяет факта что сингед типы в роли индекса использовать глупо
Qt, например, использует. Так арифметика с индексами гораздо логичнее выглядит. Например, for ( int i = 0; i < ar.size() - 1; ++i ) выглядит более естественно, чем for ( size_t i = 0; i + 1 < ar.size(); ++i ). Ну и вообще, у знаковых чисел i - 1 гораздо меньше вопросов вызывает, чем у беззнаковых, не надо думать над каждым вычитанием.
Аноним 22/03/24 Птн 19:03:25 3096262 1380
>>3096077
>Огни, искры, шлейфы, дым, порох, туман, чтобы динаимчесики двигались.

Очевидно - спрайтами, если типа Марио. Дёргать OpenGL ради Марио равносильно забиванию гвоздей микроскопом.

Спрайты, спрайты, спрайты, спрайты - в них весь секрет и только в них.
Аноним 22/03/24 Птн 19:04:33 3096264 1381
>>3096254
Сейчас весь графоний целиком на видюхе считается, и большая часть физики тоже. От WinAPI и иксов только создание окна берут. Ну и иксы реально тормозные, когда надо полупрозрачность использовать, например.
Аноним 22/03/24 Птн 19:06:50 3096267 1382
>>3096262
Какие спрайты лол. Даже на консолях после PS2 уже аппаратных спрайтов давно нет. Все на видюхе рисуется треугольничками.
Аноним 22/03/24 Птн 19:11:28 3096268 1383
>>3096247
Так ничего не выкидывает или бесполезные циклы все таки выкидывает, ты определись.
Идея в том, что такой цикл написан с опрой на уб, а компилятор не в курсе что там будет уб и i переполнится.
Аноним 22/03/24 Птн 19:11:52 3096269 1384
>>3096264
>Сейчас весь графоний целиком на видюхе считается, и большая часть физики тоже.

Да кто ж спорит? Я это понял, когда несколько (десять?) лет назад запустил пасьянс Косынку из новой винды на каком-то старом железе. И когда это пасьянс безбожно тормозил, то тут и пришло понимание.

>Ну и иксы реально тормозные, когда надо полупрозрачность использовать, например.
Не помню, использовал ли полупрозрачность, но Xft, которая умеет красиво рендерит TTF шрифты, тормозной мне показалась.

Иксы реально тормозят до невозможности их использовать когда терминал и сервер на разных компах находятся. Тогда латентность убивает весь смысл этого протокола, а локально там всё очень даже шустро работает.
Аноним 22/03/24 Птн 19:13:58 3096271 1385
>>3096255
Не использовать итераторы = ССЗБ
Аноним 22/03/24 Птн 19:16:06 3096274 1386
>>3096267
Да. Но он заебётся изучать OpenGL.
Ему тогда либа какая-нибудь понадобится.

В итоги он или сделает, или не сделает. Скорее не сделает.
А спрайтами мог бы и сделать. Наскришотить с других игрушек, в фотошопе добавить прозрачность и хуячить, хуячить, хуячить.
Аноним 22/03/24 Птн 19:16:43 3096275 1387
>>3096269
>тормозной мне показалась.
не показалась.
фикс.
Аноним 22/03/24 Птн 19:19:32 3096281 1388
>>3096269
>но Xft, которая умеет красиво рендерит TTF шрифты, тормозной мне показалась.
Потому что шрифты как раз на клиенте рисуются через XRender, а для сглаженной линии, например кругленькой обводке на кнопке, приходтися битмепы с клиента на сервер гонять постоянно.
Аноним 22/03/24 Птн 19:21:16 3096283 1389
>>3096274
>Да. Но он заебётся изучать OpenGL.
Так или иначе придется под видюху кодить, если он хочет "ебически красивый визуал".
Аноним 22/03/24 Птн 19:22:38 3096285 1390
>>3096271
>Не использовать итераторы = ССЗБ
С итераторами обычно код на экран не влезает, и становится абсолютно нечитаемым. Индексы тупо проще и понятнее в большинстве случаев.
Аноним 22/03/24 Птн 19:25:03 3096290 1391
>>3096285
Так, дедуль, опять с завода пораньше ушел?
Аноним 22/03/24 Птн 19:32:58 3096305 1392
>>3096290
Тебе за строчки кода платят как индусам? Я ИРЛ не встречал людей, которым std::distance( v.begin(), it ) проще писать, чем тупо i.
Аноним 22/03/24 Птн 19:36:04 3096309 1393
>>3096222
Из головы брал цифры
> пару дней
Нууууу, побольше точно, но все от тебя кончено зависит
Аноним 22/03/24 Птн 19:37:15 3096313 1394
>>3096305
Зачем тебе вообще индекс?
90% операций с контейнерами - трансформ/копи
Аноним 22/03/24 Птн 19:43:15 3096331 1395
>>3096313
Потому что у меня в контейнерах не опердени лежат, а обычно геометрия: вершины, треугольники и всякие графы, деревья. Там индексы явно надо хранить обычно.
Аноним 23/03/24 Суб 14:41:44 3096870 1396
image.png 83Кб, 916x455
916x455
image.png 13Кб, 360x412
360x412
>>3095388
Ну ребят, не ленитесь. Вот я вам перепиисал код даже, чтобы уб было именно в переполнении, в не в цикле без эффектов. Все равно не работает код. С O3 просто беосконечно что то выводится
Аноним 23/03/24 Суб 14:50:13 3096874 1397
image.png 72Кб, 996x325
996x325
И вот с unsigned int
Аноним 23/03/24 Суб 16:38:34 3097018 1398
>>3096870
Ассемблер неси, что мне твои закорючки до оптимизаций
Аноним 23/03/24 Суб 17:07:46 3097046 1399
>>3097018
Причем тут ассемблер?
Аноним 23/03/24 Суб 17:20:09 3097058 1400
1666028088925.png 82Кб, 1099x1096
1099x1096
>>3096870
Выкинь свой говнокомпилятор уже.
Аноним 23/03/24 Суб 17:21:21 3097059 1401
>>3097058
Читай стандарт. Мой компилятор нормально все компилирует
Аноним 23/03/24 Суб 17:27:28 3097062 1402
> это не уб потому что мой один компилятор нормально всё компилит в особых случаях

Самая странная дискуссия в этом треде
Шаг 1 - читаем что такое уб
Шаг 2 - узнаем кто определяет что уб, а что не уб
Шаг 3 - узнаем про взаимоотношения компиляторов и уб
Аноним 23/03/24 Суб 17:56:16 3097110 1403
1555659953990.png 503Кб, 2764x1615
2764x1615
1646763186361.png 391Кб, 3322x1213
3322x1213
>>3097059
Покажи в каком месте стандарт разрешает переполнению инта крашить рантайм, лол. В стандарте написано что на поддерживаемых архитектурах переполнение должно быть обратимым, т.е. если оно случилось ты можешь задетектить его и пофиксить. Пикрилейтед дебаг билд и релиз, хоть обосрись, но он будет всегда компилить валидное для x86 поведение. Покажи тогда как твой говнокомпилятор скомпилирует код с unsigned int, это по стандарту не UB.
Аноним 23/03/24 Суб 18:05:50 3097126 1404
Да принести уже скрин со стандарта
Аноним 23/03/24 Суб 18:12:32 3097142 1405
Аноним 23/03/24 Суб 18:34:38 3097179 1406
image.png 71Кб, 803x165
803x165
image.png 28Кб, 787x86
787x86
пик 1 - пункт что скинул анон выше
Unsigned arithmetic does not overflow. Overflow for signed arithmetic yields undefined behavior
пик 2 - пункт 7.1.4

>>3097142
Если не кидать скрин то вы еще треда два спорить будете, ну и в целом когда на стандарт ссылаешься например как тут: "В стандарте написано что на поддерживаемых архитектурах переполнение должно быть обратимым", то не помешало бы сразу прикреплять сурс
сам то читал что мне скинул, где там про обратимость сказано? без упрека, самому интересно почитать о чем ты говоришь
Аноним 23/03/24 Суб 18:42:21 3097194 1407
>>3097058
Внезапно захотел проверить свой компилятор, начал копипастить и о осознал что это скриншот. Придётся пальцами колотить.
Аноним 23/03/24 Суб 18:52:47 3097216 1408
>>3097058
Да не спорь с ним, очевидно что залетный долбаеб.
Аноним 23/03/24 Суб 21:26:13 3097460 1409
image.png 126Кб, 894x866
894x866
Скажите, а существует ли онлайн компилятор, который умеет собирать в онлайне умеет собирать досовские программы с эмуляцией C:\\BORLANDC\\BGI и чтобы умел рисовать на странице при этом?
Аноним 23/03/24 Суб 22:57:28 3097525 1410
>>3097460
в вузике, когда поступил на прогера, на курсе по СиПласПлас препод на полном серьёзе давал лабы с использованием этой либы для для рисования графики (2 курс 2018-2019).

ебало моё имаджинировали? Хотя тогда это казалось чем-то прикольным, но сейчас понимаю, что это архаика и не абсолютно неактуально.
Аноним 23/03/24 Суб 23:30:10 3097549 1411
>>3097525
ну как бы да. но альтернатива это опенжл со своими 500 строками на треугольник. вот там ебало твоё имаджинировать посложнее будет
Аноним 24/03/24 Вск 07:41:10 3097653 1412
Аноним 24/03/24 Вск 07:57:42 3097658 1413
>>3097549
А как же glBegin glEnd?

меня так на компьютерной графике и обучали, в 2018 лол
Аноним 24/03/24 Вск 16:59:26 3098096 1414
>>3097653
Дебил, под винду писать, надо сначала разобраться со структурой приложения винапи, все эти окна, сообщения, что и как куда идет и как это надо обрабатывать, и это только базовый хеллоуворлд вообще без функционала пустышка. Твоя школота обосрется кровью и сдохнет даже не дойдя до рисования. И такое в любой современной ОС, потому что они уже давно не ДОС с эксклюзивной однозадачностью где можно тупо писать программу без обвязок-соглашений с чем-то.
Аноним 24/03/24 Вск 19:39:53 3098285 1415
>>3098096
Для совсем хлебушков есть обёртка Win2D, часть виндового SDK. Там на WinUI формошлёпишь окошки в визульном редакторе, потом в событие Draw элемента интерфейса/окошка просто пишешь типа такой хуйни:
> args.DrawingSession().DrawEllipse(155, 115, 80, 30, Microsoft::UI::Colors::Black(), 3);
> args.DrawingSession().DrawText(L"Hello, world!", 100, 100, Microsoft::UI::Colors::Colors::Yellow());
Всё.
Аноним 25/03/24 Пнд 04:43:33 3098821 1416
>>3098285
Хлебушек, речь про учебу. Что толку формошлепить говно, чему ты научишься? Только формошлепить говно. От такого только тупеют, а школа предназначена учить людей понимать как устроены вещи, программирование в данном случае, делать учеников умнее. Школа не курсы где натаскивают на РАБОТУ "не думай, делай". Школа это про ДУМАТЬ, ПОНИМАТЬ. Нельзя ничему научить заставляя учеников делать то что они не понимают. А обертки говна или тем более ковыряние мышкой СКРЫВАЮТ как оно работает, ты делаешь магическую хуйню совершенно не понимая что делаешь, от такого только тупеют. А школа нужна не для выращивания дебилов.

Таким образом, учебная программа обязана быть явной, понятной ученику, чтобы он видел как это работает. А такое просто может быть только в простой системе как ДОС, а в современных системах это очень сложно. Самая базовая пустышка хеллоуворлда сложна и требует квалификации программиста, то есть уже сформированного специалиста, а школы нужны делать наоборот, учить тех у кого нет квалификации, и вовсе не делать работу, а понимать что такое программы, программирование. Школы учат не для того чтобы потом ученики это делали, так же как в школах преподают математику, физику, химию вовсе не потому что ученик потом захочет быть математиком, физиком или химиком. Так и программирование, оно и не должно учить работе, оно должно учить ПРОГРАММИРОВАНИЮ, как оно устроено по сути, чтобы ученик понимал что это такое, как оно работает, а для этого требуется ЯСНОСТЬ, ПРОЗРАЧНОСТЬ, ПОНИМАНИЕ, а вовсе не как проще запилить рисунок.

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

А в современном говне совсем не так. В современной сложной ОС рисует не программа, а система, система отвечает полностью за всю графику "магически", о чем программист даже не подозревает. Программист вообще ничего не рисует. Современное рисование практически не применяется нигде, только в очень ограниченных случаях называемых OwnerDraw. Это уже уровень высокой квалификации, отъявленных извращений. Поэтому и современные фреймворки по сути даже не дают инструментов рисования, то есть синтеза графики. Синтез в современных системах по сути выпилен нахуй. Поэтому, по такому говну невозможно учить программированию, можно только учить как на курсах тупых макак типа Офиса, учить пользоваться Вордом и Екселем, просто надрессировал собак выполнять действия, это не учеба никакая.
Аноним 25/03/24 Пнд 06:04:09 3098828 1417
Ебать шизо паста
Аноним 25/03/24 Пнд 08:16:24 3098850 1418
>>3098821
> чтобы он видел как это работает
Как что работает? Современная графика совсем не так рисуется. Какой смысл в том что ему покажут примитивное рисование пикселями из начала нулевых?
> очень сложно
Тогда не трожь сложные темы, вместо того чтобы заменять их на какое-то бесполезное говно. А потом получаем какой-то кал мамонта в 2024 году, как будто его писал дед после 20-летнего криосна.
Аноним 25/03/24 Пнд 10:03:19 3098874 1419
>>3098850
Не 20. Шейдеры в 90 уже были.
Аноним 25/03/24 Пнд 12:19:39 3099019 1420
>>3098874
>Шейдеры в 90 уже были.
В 1999 только если.
Аноним 25/03/24 Пнд 12:31:02 3099048 1421
>>3096077
>ебически красивый виузал
Для этого не нужно уметь программировать, а нужно уметь в VFX и рисование. В юнити достаточно кастомизируемый рендер пайплайн, Ори его как раз активно использует. Так же юнити кроссплатформа, так что проблем с всякими айпадами быть не должно. Запомни сразу - если ты видишь, что что-то выглядит необычно, то над этим работал либо талант, либо команда профессионалов с хорошим вкусом и многолетним опытом, а сама работа заняла годы. Попробуй хотя бы кубики порисовать от руки на бумаге, думаю дальше этого дело не уйдет.
Аноним 25/03/24 Пнд 16:00:54 3099235 1422
диалог.png 81Кб, 1079x465
1079x465
>>3098850
>>читать полностью, а не выдергивать отдельные слова
>>напрягать извилины отвечая интеллектуально, а если не можешь хотя бы соглашаться с мудростью
Сократа нет на жопы таких дебилов.
Аноним 25/03/24 Пнд 21:30:38 3099581 1423
>>3098821
Чел, какое ещё рисование пикселей на ЦП в 2024? Immediate рендеринг уже легаси из нулевых, кроме примитивного 2D ни для чего не пригоден, графические пайплайны из Vulkan/DX12 скоро легаси станут и их заменят графами. Если хочешь изучать графику, то надо начинать с актуальных технологий.
Аноним 26/03/24 Втр 06:38:50 3099737 1424
>>3099581
>с актуальных технологий
Дергать API вызовы, которые меняются каждые пять лет?
Аноним 26/03/24 Втр 12:02:32 3100054 1425
1000005359.jpg 57Кб, 564x745
564x745
>>3099581
> графические пайплайны из Vulkan/DX12 скоро легаси станут и их заменят графами.
Как это все учить вобще
Еле еле вулкан осилил на самом деле нет, так тут ещё что то новое придумали
Аноним 26/03/24 Втр 12:44:51 3100165 1426
>>3099581
>какое ещё рисование пикселей на ЦП в 2024
Если что большинство не риалтайм рендереров софтварные и работают на ЦП. Если ты на Дюну 2 ходил то можешь быть уверен, что рендерили ее или в Mantra или в Arnold-е на ферме из цпу.
Аноним 26/03/24 Втр 13:15:52 3100217 1427
Мнения clang vs gcc vs msvc?
Аноним 26/03/24 Втр 13:16:38 3100218 1428
Аноним 26/03/24 Втр 13:27:39 3100240 1429
Аноним 26/03/24 Втр 14:10:19 3100321 1430
>>3100218
У софтварных рендереров больше фич. Например Mantra это рендер движок от пакета Houdini, в нем упор сделан на процедурность, и для этого уже есть сотни инструментов. Например процедурно нагенерировать горы, снег, реки, раскидать флору по локации, это все можно сделать чисто на алгоритмах, причем так, что если ты сменишь локацию то все будет выглядить заебись. А теперь представь, что ты разработчик этого пакета и тебе нужно сделать рендер движок - если он будет на цпу то можно весь этот функционал перенести прямо в движок (например сгенерировать дисплейсмент мапы, добавить осколы/декали, сделать нижние этажы зданий более грязными опираясь на Z координаты точек геометрии, менять параметры BRDF по маскам с геометрии и т.д), или же делать рендер движок на ГПУ и весь функционал для него с нуля (и в целом ГПУ более ограниченные). Люди из кино выбрали первое, хотя сейчас пошли на компромисс и постепенно пилят и рендереры на видюхах, например Karma XPU/VRay.
Так же ЦПУ просто дешевле, а время на кадр не особо важно - у тебя задача сделать шот на 3-5 секунд (72-120 кадров), ты просто все настраиваешь, рендеришь 5 кадров, и закидываешь таску на ферму и идешь домой, а утром получаешь готовый шот. Нет особой разницы будет ли оно рендерится 3 минуты на кадр или 15, минут, все равно в пределах суток-двое все отрендерится.
Аноним 26/03/24 Втр 14:30:32 3100359 1431
>>3100165
> большинство
Кроме Мантры ничего нет. И то её в кинце 146% не используют.
> Дюну 2 ходил то можешь быть уверен
Хватит срать под себя. VFX-движки - это не финальный рендеринг. В кинце скорее всего будет Redshift или Vray. В сиричах сейчас вообще UE5 используют часто, тот же Мандалорец полностью на UE5 рендерился.
> Arnold
Это GPU-рендерер.
Аноним 26/03/24 Втр 14:37:51 3100383 1432
>>3100218
>Почему так?
Потому что кучу вспомогательных алгоритмов и либ там писали еще диды в 80-х на фортране. Все это портировать на GPU просто нереально.
Аноним 26/03/24 Втр 14:39:33 3100388 1433
>>3100321
Неужто коллега из VFX? Я бы с тобой подискутировал, но это нерелевантно треду.
Аноним 26/03/24 Втр 14:43:22 3100398 1434
>>3100359
>Это GPU-рендерер.
Когда успел стать GPU?
>>3100383
Максимум, что там на фортране, это lapack или blas, которые давно переписали, и они не используются в рендерах.
Аноним 26/03/24 Втр 14:46:32 3100410 1435
>>3100359
>тот же Мандалорец полностью на UE5 рендерился.
Пиздёж.
Аноним 26/03/24 Втр 15:16:28 3100452 1436
Аноним 26/03/24 Втр 15:21:03 3100455 1437
>>3100398
>Максимум, что там на фортране
Я про сам гудини. Да и в рендере, если он RenderMan поддерживает, наверняка куча непортируемого кода.
Аноним 26/03/24 Втр 16:55:08 3100553 1438
>>3100217
msvc для разработки и отладки, затем портируется повсюду.

А так-то Intel C Compiler, если нужна максимальная оптимизация. Но он дорогой, а триал период короткий.
Аноним 26/03/24 Втр 17:07:56 3100572 1439
>>3100553
Ицц ето уже мем. По сути сейчас там кланг со всеми вытикающими. Толку от него нету.
Для винды мсвц, для остального гцц.
Аноним 26/03/24 Втр 20:18:38 3100872 1440
>>3094732
> А так то конечно лучше православного гцц ничего нету.
Схуяли?
Аноним 26/03/24 Втр 20:20:26 3100877 1441
>>3094342
Если бы сидел на лине, то мог бы просто шланг или гцц скачать и в vs code (не путать с visual studio) прогать. Потребовалось бы ну очень сильно меньше памяти. Наверное можно как то их на винду затащить, но я не могу подсказать
Аноним 26/03/24 Втр 20:33:39 3100904 1442
Аноним 26/03/24 Втр 22:28:45 3101093 1443
>>3100553
>msvc для разработки
Только потому что допотопное говно, которое от нормальных компиляторов отстает на пять лет - если на нем собралось, то везде соберется. Там С++17 до конца еще не реализован. Мультилайн регекспов, похоже вообще никогда не будет. Разрабатывать на нем боль, конечно: скорость компиляции там в разы меньше, чем у других, особенно на сложных темплейтах. Поэтому без pch далеко не уедешь. Линкер тоже а разы тормознее даже стандартного ld, не говоря уже про молд и голд.
Аноним 26/03/24 Втр 23:30:42 3101179 1444
image.png 10Кб, 525x144
525x144
>>3101093
>Там С++17 до конца еще не реализован.
Аноним 26/03/24 Втр 23:33:37 3101184 1445
image.png 57Кб, 993x662
993x662
Аноним 26/03/24 Втр 23:43:07 3101198 1446
>>3101093
> которое от нормальных компиляторов отстает на пять лет
Чел, самый отсталый компилятор - это шланг, в котором даже С++20 нет до сих пор. Корутин нет, модулей нет, рейнджей нет. Какой-нибудь UE5 на шланге не собрать, лол.
> Там С++17 до конца еще не реализован.
Хватит бредить, MSVC единственный компилятор с полной поддержкой C++20, и на текущий момент он единственный с полной реализацией STL С++23.
> Мультилайн регекспов, похоже вообще никогда не будет.
Естественно, стандарт надо соблюдать.
Аноним 26/03/24 Втр 23:45:31 3101200 1447
>>3101093
Пердодебил, компиляция в разработке занимает последнее место. Разработка это __написание__ кода, а вовсе не компилирование. Как твой сраный пердоговняный компилятор поможет __писать__ код?
Аноним 27/03/24 Срд 01:06:13 3101247 1448
>>3101200
>Разработка это __написание__ кода, а вовсе не компилирование.
Чем дольше ты ждешь пока компиляция закончится, тем меньше кода ты напишешь.
>Как твой сраный пердоговняный компилятор поможет __писать__ код?
У clang сообщения об ошибках в разы лучше, чем у MSVC как минимум. Не говоря об тулзах clang, которые сейчас везде абсолютный стандарт для работы с кодом, в том числе в MS.
Аноним 27/03/24 Срд 01:20:25 3101255 1449
>>3101179
Там на каждый пункт поддержки "The implementation is sufficient to support c++xx standart" лол. Если хоть как-то экспериментировать начинаешь с новыми фичами, то MSVC сосет вообще всегда, хотя по букве стандарт поддерживается. У них вроде до сих пор только пять кодеров компилятор делают, и то на отъебись.
Аноним 27/03/24 Срд 01:24:47 3101257 1450
>>3101200
>Пердодебил
Майки уже сами на винду забили. Это фактическим мертвая ОС, убитая эффективным индусским менеждментом. Но фанаты до сих пор обмазываются несвежей спермой и вспоминают счастливую юность, как они в третьих героев на хрюше играли и смеялись в ЖЖ над красноглазиками вместе с Русланом Кармановым (кстати, где он?).
Аноним 27/03/24 Срд 03:24:23 3101291 1451
>>3101257
> Это фактическим мертвая ОС

Со времен висты слышу
Аноним 27/03/24 Срд 03:26:36 3101292 1452
А линукс как был не подходящим для десктопа и творчества, так и остался, кабанчики как не спешили портировать свой софт на него, так и не торопятся
Аноним 27/03/24 Срд 04:26:06 3101298 1453
>>3101247
Сразу видно пердосраль, быдлоюзер компилирующий чужие исходники, сам ничего не пишет. Все кукареки про то, сколько в консольке проходит времени до высера готового продукта. И это говно зачем-то лезет в тред программирования, съеби обратно на свой линук-сру или откуда там вылез компилировать генту, там и сренькай про компиляторы.
Аноним 27/03/24 Срд 06:57:31 3101325 1454
Хуя виндобляди порвались.
Аноним 27/03/24 Срд 08:01:49 3101360 1455
scale1200.png 122Кб, 406x499
406x499
Челик с графиком. Вот тебе совет: мапь пиксели экрана на свою функцию, а не функцию на пиксели.
Аноним 27/03/24 Срд 08:38:40 3101390 1456
КОЛЛЕГИ, ПЕРЕКАТИТЕ ТРЕД, ПОЖАЛУЙСТА
Аноним 27/03/24 Срд 08:48:08 3101400 1457
Аноним 27/03/24 Срд 08:50:02 3101401 1458
>>3101400
Я новенький, хотел поговорить про std::move. Не знаю местного лора чтоб перекатывать.
Аноним 27/03/24 Срд 09:02:58 3101411 1459
Ладно. Раз никто не перекатывают сам перекачу. Потом не жалуйтесь.
Аноним 27/03/24 Срд 09:03:49 3101413 1460
>>3101411
Только не проеби тег и ссылку на прошлый тред.
Аноним 27/03/24 Срд 09:04:57 3101414 1461
>>3101413
Тег это "cpp" надо вписать в поле "тег"?

Ссылку уже не проебал.
Аноним 27/03/24 Срд 09:05:40 3101415 1462
image.png 28Кб, 693x471
693x471
Вот. Заапрувьте, а то в первый раз.
Аноним 27/03/24 Срд 09:18:41 3101420 1463
Аноним 27/03/24 Срд 09:33:24 3101445 1464
Аноним 27/03/24 Срд 12:12:19 3101607 1465
>>3100359
>В кинце скорее всего будет Redshift или Vray. В сиричах сейчас вообще UE5 используют часто, тот же Мандалорец полностью на UE5 рендерился
Бля не пытайся отвечать по темам, о которых ты слышал из какого-то видосика на ютубе, выглядит максимально комично.
Аноним 27/03/24 Срд 12:14:02 3101610 1466
>>3100452
Долбаеб даже не знает что означает virtual production, но уже пытается дискутировать по теме, спешите видеть
Аноним 28/03/24 Чтв 19:17:13 3104119 1467
IMG202401090232[...].jpg 103Кб, 640x640
640x640
а где работа?
куда податься без опыта в питере
Аноним 28/03/24 Чтв 19:53:01 3104170 1468
>>3104119
Яндекс. Хуавей по знакомствам. Спектр hft.
Аноним 28/03/24 Чтв 20:49:22 3104257 1469
2974560910.jpg 395Кб, 1024x1024
1024x1024
Аноним 29/03/24 Птн 02:39:12 3104540 1470
>>3104257
Да че тяжело? Спект через дорогу от вузика
Аноним 04/04/24 Чтв 21:22:41 3112079 1471
изображение.png 10Кб, 797x158
797x158
есть массивы ip и port
хочу скопировать их в массив fullAdress через :

я чо-то вообще не могу как норм это сделать
Аноним 13/04/24 Суб 13:47:15 3120943 1472
>>3104119
В скoтoублюдии работа на крестах это проектировать хуи в нии. Оно тебе надо? Ты проснуться не успеешь как очнешься нищим полулысым скуфом с грыжей и огромным биноклем на ебале
Аноним 14/04/24 Вск 21:57:18 3122819 1473
Посоны, насколько быстро происходит переход с чистого C на шарп и кресты?
Аноним 15/04/24 Пнд 13:23:18 3123368 1474
>>3122819
Че за переход? Гормональный?
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов