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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1002 115 262
С++ thread #138 /cpp/ Аноним 01/09/22 Чтв 13:20:35 2451830 1
image.png 788Кб, 750x926
750x926
image.png 312Кб, 700x605
700x605
image.png 512Кб, 955x756
955x756
Аноним 01/09/22 Чтв 13:25:24 2451845 2
0.png 1740Кб, 1700x2800
1700x2800
Лучший тред для лучшего языка.
Аноним 01/09/22 Чтв 13:26:23 2451847 3
С++ это кал малята
Просто говорю
Аноним 01/09/22 Чтв 13:28:39 2451851 4
C++ лучше чем шарп.
Аноним 01/09/22 Чтв 13:37:38 2451858 5
>>2451689 →
Стл это функциональщина та ещё
>>2451705 →
>зачем-то вынесли стандартные классовые методы в отдельные функции
Ооп-дурачок.
Аноним 01/09/22 Чтв 14:04:51 2451874 6
>>2451858
Зачем ты его обзываешь, ведь все правильно пишет. Алгоритмы должны быть интегрированы в классы, либо как шарпе, нужно добавить возможность расширения классов из вне.
Аноним 01/09/22 Чтв 14:17:05 2451886 7
>>2451830 (OP)
Нахуй вы на 1500 перекатили, чмошники? До 2500 хотя бы досидели.
Аноним 01/09/22 Чтв 14:49:53 2451909 8
>>2451874
Предлагаешь например дублировать алгоритм сортировки для каждого контейнера?
Аноним 01/09/22 Чтв 14:52:44 2451911 9
Аноним 01/09/22 Чтв 16:14:02 2451979 10
Когда будет полная поддержка c++20 нахуй?
Аноним 01/09/22 Чтв 16:16:08 2451982 11
>>2451979
Чел, уже полтора года как...
Половина фич из 23 запилено даже.
Аноним 01/09/22 Чтв 16:27:40 2451992 12
Аноним 01/09/22 Чтв 16:32:45 2451999 13
>>2451992
Конечно. Разве что-то кроме неё существует?
Аноним 01/09/22 Чтв 16:33:51 2452001 14
>>2451999
Ну есть ещё парочка компиляторов...
Аноним 01/09/22 Чтв 16:48:34 2452018 15
Аноним 01/09/22 Чтв 17:06:08 2452049 16
Начал учить c++. Стоит ли переходить на Rust?
Аноним 01/09/22 Чтв 17:08:05 2452051 17
>>2452049
Стоит переходить на жабу
Аноним 01/09/22 Чтв 17:10:53 2452053 18
>>2452049
Работы для джуна на крестах нет. На расте тем более. Учи шарп, за ним будущее. Чудесный язык.
Аноним 01/09/22 Чтв 18:29:37 2452141 19
Поясните за memory allocation error в плюсах. После Си некоторые вещи неочевидны. Вот создал я объект класса string. Он же наверняка в конструкторе выделяет память под данные динамически. С освобождением памяти, вроде, все понятно, деструктор будет вызван автоматически, утечки не произойдет. А что, если по какой-то причине не удастся выделить память? Нужно ли каждый раз при создании такого объекта отлавливать bad alloc exception? Ни разу не видел, чтобы так делали. Это безопасно?
Аноним 01/09/22 Чтв 18:32:13 2452143 20
>>2452141
> Он же наверняка в конструкторе выделяет память под данные динамически.
Нет. На этом все свои рассуждения можешь нахуй отправлять.
Аноним 01/09/22 Чтв 18:37:33 2452146 21
>>2452143
Ок, а как это работает тогда, если длина массива заранее неизвестна? И зачем так грубо? :(
Аноним 01/09/22 Чтв 18:42:02 2452148 22
>>2452146
> И зачем так грубо?
А как ещё с дегенератами, неспособными освоить БАЗУ перед тем как задавать тупые вопросы?
Аноним 01/09/22 Чтв 18:47:32 2452151 23
Аноним 01/09/22 Чтв 18:50:44 2452154 24
>>2452148
Я просто не понимаю, как ещё это может работать. Варианта всего три: статический массив с фиксированной длиной, VLA-массив в стеке и динамический массив. Массив с фиксированной длиной точно не вариант, а VLA не позволит произвольно менять длину массива. Ну и в чём я не прав?
Аноним 01/09/22 Чтв 18:52:30 2452158 25
>>2452154
> Ну и в чём я не прав?
В том что твой код не запрашивает у системы память.
Аноним 01/09/22 Чтв 18:53:51 2452161 26
>>2452154
VLA вроде нет в стандарте без расширений компилятора
Аноним 01/09/22 Чтв 18:59:38 2452168 27
>>2452158
А зачем тогда Allocator в объявлении string?
Аноним 01/09/22 Чтв 19:01:49 2452170 28
>>2452168
Чтоб ты свой мог написать. А написать ты можешь любую хуйню, она от этого не станет стандартным поведением языка.
Аноним 01/09/22 Чтв 19:05:54 2452174 29
>>2452170
А по умолчанию там что тогда, лол
Аноним 01/09/22 Чтв 19:07:15 2452175 30
>>2452170
И это всё равно не отвечает на вопрос, где массив располагается в памяти
Аноним 01/09/22 Чтв 19:08:51 2452176 31
>>2452175
> где массив располагается в памяти
В уже выделенной памяти, блять.
Аноним 01/09/22 Чтв 19:09:12 2452177 32
Аноним 01/09/22 Чтв 19:09:15 2452178 33
Массив располагается в памяти.
¯\_(ツ)_/¯
Аноним 01/09/22 Чтв 19:11:27 2452180 34
>>2452176
>уже выделенной памяти
Кто ее выделил?
Аноним 01/09/22 Чтв 19:13:23 2452181 35
>>2452180
Рантайм крестов. Но никак не твой код.
Аноним 01/09/22 Чтв 19:13:30 2452182 36
>>2452176
Ты говоришь, что память не выделяется динамически. Ок, вот выделил ты в стеке массив размера N. А потом попытался считать из потока строку длиной 2*N. Как будешь увеличивать массив?
Аноним 01/09/22 Чтв 19:14:29 2452184 37
>>2452141
>Вот создал я объект класса string.
Там short string optimization, короткие хранятся на стеке, длинные в куче. Соответственно где хранятся данные зависит от длинны строки конструктора.
Аноним 01/09/22 Чтв 19:15:37 2452187 38
Аноним 01/09/22 Чтв 19:16:15 2452188 39
>>2452184
>Соответственно где хранятся данные зависит от длинны строки конструктора.
Не только.
Аноним 01/09/22 Чтв 19:20:12 2452193 40
>>2452184
То есть bad alloc в принципе возможен? Try-catch прописывать?
Аноним 01/09/22 Чтв 19:23:41 2452194 41
>>2452193
А у тебя такие длинные строки, что может не хватить памяти?
Аноним 01/09/22 Чтв 19:32:40 2452204 42
>>2452194
Ну, например, память забита и фрагментирована так, что куска памяти длиннее мегабайта нет. А я пытаюсь прочитать текст из файла размером 1.5 мегабайта.
Аноним 01/09/22 Чтв 19:45:40 2452217 43
Аноним 01/09/22 Чтв 19:50:44 2452219 44
>>2452204
Если у тебя строка из коробки, то аллокатор среды выполнения может кидать bad_alloc и его надо ловить. Если ты написал свой аллокатор и подсунул его в конструктор строки, то можешь разруливать всё в аллокаторе без кидания исключений наружу.
Аноним 01/09/22 Чтв 19:51:32 2452221 45
Аносы, обьясните нуфагу за изучение стандартов. Вот, допустим, я осилил кирпич Праты по 11 стандарту и понял БАЗУ. Как мне переходить к изучению 17 стандарта и т.д? Просто ботать изменения стандарта на сайте ЦПП?
Аноним 01/09/22 Чтв 19:52:43 2452223 46
>>2452221
Есть книги и статьи про изменения в новых стандартах.
Аноним 01/09/22 Чтв 19:55:13 2452229 47
>>2452221
Да в принципе никак. Увидел какую-то новую конструкцию - почитал, потыкал в неё. Язык невозможно выучить ни брутфорсом ни академически. Каждый год вываливают очередную спорную фишкуи потом её в трёх следующих стандартах доделывают, где-то расслабляют, где-то делают потуже.
Аноним 01/09/22 Чтв 20:02:39 2452239 48
C++50: программа на любом языке является синтаксически верной программой на C++.
Аноним 01/09/22 Чтв 20:04:02 2452243 49
Аноним 01/09/22 Чтв 20:04:36 2452246 50
>>2452243
Не платишь за то, что не используешь, всё стандартно.
Аноним 01/09/22 Чтв 20:10:16 2452252 51
Почему по qml почти нет инфы в интернете?
Аноним 01/09/22 Чтв 20:11:33 2452254 52
>>2452229
Пиздец, а как использовать этот ворох функционала? Как выбирать нужные инструменты из такого количества говна?
Аноним 01/09/22 Чтв 20:12:24 2452255 53
>>2452252
Qml - миф, его не существует.
Аноним 01/09/22 Чтв 20:15:14 2452256 54
>>2452254
>Как выбирать нужные инструменты из такого количества говна?
google: как сделать хуету
google: хуета работает не правильно
google: как сделать хуету без ебалы
google: хуета примеры
2ch: сегодня делал хуету через ебалу убил 2 часа нихуя не работает сделал через пиздорвань с первого же примера гугла сразу заработало. ебалобляди оправдывайтесь.
Аноним 01/09/22 Чтв 20:18:52 2452259 55
>>2452256
Пиздец, а есть гайд, чтобы макакой с гуглом не стать? У меня, конечно, есть пару идей на эту тему, но их озвучивать пока что не стану.
Аноним 01/09/22 Чтв 20:23:23 2452261 56
>>2452259
>макакой с гуглом
Ты в любом случае ей будешь, только макакой с книгой/наставником/курсами/доками итд. Ты никогда не сможешь знать все с чем работаешь, кроме случаев когда ты 20 лет пишешь микропенисы на жабе и сидишь на 1 работе.
Аноним 01/09/22 Чтв 20:25:31 2452262 57
41k4V-XPpsL.SX4[...].jpg 16Кб, 405x500
405x500
61iDGhsnPaL.jpg 77Кб, 1000x1295
1000x1295
Без названия (6).png 9Кб, 194x260
194x260
>>2452259
Я же тебе ответил, что есть книги, петух
Аноним 01/09/22 Чтв 20:31:06 2452266 58
>>2452262
Плюс статьи на сайтах modernescpp, fluentcpp и т. п.
Аноним 01/09/22 Чтв 20:46:01 2452286 59
>>2452261
Справедливо.

>>2452262
>петух
Та за шо? Я видел твой ответ про книги, но задал еще один вопрос, более фундаментального характера.
Аноним 01/09/22 Чтв 21:00:33 2452294 60
Аноним 01/09/22 Чтв 21:21:36 2452306 61
>>2452262
>пик 1
>the exciting features
чёт проиграл
Аноним 01/09/22 Чтв 22:43:58 2452350 62
>>2452252
> Почему по qml почти нет инфы в интернете?
По нему есть исчерпывающая дока с дохулионом примеров, как и для прочего куте. Какая инфа тебе ещё нужна блеать, ты эту читать пробовал?
Аноним 01/09/22 Чтв 23:33:18 2452369 63
>>2452239
Получается, кресты тот самый язык из пророчества, что объединит все языки и платформы.
Аноним 02/09/22 Птн 04:24:29 2452440 64
>>2452239
Но не эквивалентна ей семантически, лел.
Аноним 02/09/22 Птн 08:20:44 2452474 65
Аноним 02/09/22 Птн 08:25:46 2452476 66
Аноним 02/09/22 Птн 09:49:19 2452517 67
>>2452369
Зачем будущее, когда уже в настоящем, стоило создать тред, как в нем сразу 60 порванных срак макак и ничего больше. Как видно, С++ и так доминирует на недостижимой высоте.
Аноним 02/09/22 Птн 10:49:12 2452545 68
Аноним 02/09/22 Птн 12:10:17 2452584 69
Аноним 02/09/22 Птн 12:17:53 2452589 70
>>2452584
Поддержка компиляции картинок в C++60, к C++75 можно уже компилировать экзешники в другие экзешники.
Аноним 02/09/22 Птн 12:23:17 2452591 71
>>2452589
>C++75 можно уже компилировать экзешники в другие экзешники.
Я б так развлекался. Находил бы циклы и смотрел бы заворожённо на эту эволюцию хтонического пиздеца.
Аноним 02/09/22 Птн 12:46:21 2452601 72
Вы так погнались за всякой хуйнёй, что уже и новые классы в своих проектах на создаёте.
Аноним 02/09/22 Птн 13:08:03 2452615 73
Аноним 02/09/22 Птн 13:15:54 2452618 74
>>2452615
ФП-блядь закукарекала. Вас пиздить надо блять
Аноним 02/09/22 Птн 13:19:22 2452620 75
>>2452618
Я вообще не программист
Аноним 02/09/22 Птн 13:23:38 2452625 76
Аноним 02/09/22 Птн 13:26:00 2452626 77
>>2452615
А парни в геймдеве с их ECS то не знают!
Аноним 02/09/22 Птн 13:28:15 2452628 78
>>2452626
Сейчас игры - хуйня полная.
Аноним 02/09/22 Птн 13:30:14 2452631 79
>>2452628
шизоид, какое отношение паттерны программирования имеют к тому, что сюжетка и геймплей в играх нынче говно?
Аноним 02/09/22 Птн 13:32:20 2452636 80
>>2452631
Паттерны сковывают мышление
Аноним 02/09/22 Птн 13:36:25 2452639 81
>>2452631
Прямое. ООП это корпорастия, а корпорастия не может в творчество, в искусство по определению, производя только говнище вместо игр.
Аноним 02/09/22 Птн 13:38:47 2452641 82
>>2452636
>>2452639
Челы открою секрет: современные игры уже даже не программисты создают, они просто конвертируют в код то что им скажут верхние
Аноним 02/09/22 Птн 13:38:49 2452642 83
В чём разница между
std::string s = "Hello world"
и
std::string s = "Hello world"s
?
Аноним 02/09/22 Птн 13:39:49 2452643 84
>>2452639
>>2452636
Ребят, сколько нынче пенсия по шизе то?
Аноним 02/09/22 Птн 13:41:34 2452644 85
Аноним 02/09/22 Птн 13:43:05 2452647 86
>>2452642
В первом используется один конструктор, а во втором - два.
Аноним 02/09/22 Птн 13:46:06 2452648 87
>>2452647
Есть ли смысл тогда приписывать эту буковку при инициализации?
Аноним 02/09/22 Птн 13:46:57 2452649 88
>>2452648
На самом деле во втором тоже один конструктор из-за copy elision.
Смысла - ну только если для авто

auto s = "Hello World"s;
Аноним 02/09/22 Птн 13:48:47 2452651 89
>>2452642
> В чём разница между
> std::string s = "Hello world"
> std::string s = "Hello world"s

Тут разницы нет особо, а вот между "Hello\0world" и "Hello\0world"s разница будет ощутимая.
Аноним 02/09/22 Птн 13:50:13 2452653 90
>>2452642
>>2452647
Блять вы о чем говорите? Что за бред написан? У меня это даже не собирается
Аноним 02/09/22 Птн 13:51:03 2452655 91
>>2452648
Если только ты хочешь включить в строку нулевой символ. "123\0456"s сделает тебе строку длинной 8 байт.
Аноним 02/09/22 Птн 13:51:11 2452656 92
>>2452653
Ну одна строчечка то ессно не соберется
Аноним 02/09/22 Птн 13:51:31 2452657 93
>>2452653
using namespace std::string_literals;
Аноним 02/09/22 Птн 13:53:05 2452660 94
Аноним 02/09/22 Птн 14:32:12 2452690 95
>>2452651
>а вот между "Hello\0world" и "Hello\0world"s разница будет ощутимая.
Это интересно. Надо попробовать.

Двач - познавательный.
Аноним 02/09/22 Птн 14:33:31 2452691 96
>>2452690
Мне годболт при итерации for'ом выдавал одинаковые результаты.
мимо
Аноним 02/09/22 Птн 15:09:24 2452721 97
Аноним 02/09/22 Птн 15:12:42 2452723 98
>>2452691
Видимо тип "hello\0world" оказался char const[12] а не char const*
Аноним 02/09/22 Птн 15:15:55 2452725 99
изображение.png 78Кб, 1920x782
1920x782
Аноним 02/09/22 Птн 15:20:49 2452732 100
>>2452725
У тебя написано не \0 а \07
Аноним 02/09/22 Птн 15:37:23 2452742 101
Аноним 02/09/22 Птн 18:21:31 2452873 102
Правильно ли я понимаю, что вся сложность плюсов - это знания о костылях языка и способы их обхода?
Аноним 02/09/22 Птн 18:27:41 2452877 103
>>2452873
Nyet.

Python language reference: ~130 pages,
C language reference: ~500 pages,
Java language ~650 pages,
C++14 language reference: ~1400 pages.
Аноним 02/09/22 Птн 18:34:35 2452881 104
Аноним 02/09/22 Птн 18:35:03 2452882 105
Аноним 02/09/22 Птн 18:43:25 2452895 106
>>2452882
У раста вообще нет ни стандарта ни каких то альтернативных компиляторов, не?
Аноним 02/09/22 Птн 18:50:46 2452904 107
>>2452895
А при чем тут референс? Они заявляют что он неполный - нет описания nightly фич, которые находятся в статусе проработки.

Базовые фичи-то они не меняют, а про них и референс. Не про стдлибу.
Аноним 02/09/22 Птн 18:54:43 2452914 108
Только если твоя цель к запятым цепляться то да. Но де-факто это референс раста, в нем описан весь стабильный раст.
Аноним 02/09/22 Птн 20:59:40 2453039 109
>>2452877
Это че такое, научные статьи?
Аноним 02/09/22 Птн 21:21:27 2453060 110
>>2453039
language reference (справочник языка)
Это сколько примерно страниц занимает описание всех языковых конструкций (лексем?).
У Питона скорее всего спецификация побольше, а у плюсов поменьше, но 1000 страниц для последнего стандарта вполне реально.
Аноним 02/09/22 Птн 21:24:16 2453061 111
>>2453039
Это типо справочника для вкатуна с другого языка программирования. Он эти конструкции по смыслу уже знает, но выглядеть в разных языках программирования они могут по-разному.
Аноним 02/09/22 Птн 21:37:40 2453066 112
Загрузи файл в [...].webm 1604Кб, 498x498, 00:00:01
498x498
>>2451830 (OP)
Поясните где лежит указатель на динамически выделенную память для объекта Стринг?

Стринг 22 символа серет в стек, а потом резко переобувается и начинает срать в кучу, где лежит указатель на массив чаров который находится в куче?
Аноним 02/09/22 Птн 21:49:13 2453071 113
>>2453066
стринг это 2 числа и указатель. тот самый, который указывает на строковые данные в куче
Аноним 02/09/22 Птн 22:00:54 2453076 114
Аноним 02/09/22 Птн 22:12:48 2453089 115
>>2453071
>>2453076

Спасибо господа, нашел, второй байт, литл индиан - хуиндиан меня спутал.
Аноним 03/09/22 Суб 06:04:50 2453239 116
>>2452601
Зачем нужны классы?
Аноним 03/09/22 Суб 10:09:16 2453298 117
>>2452877
>Python language reference: ~130 pages,
>C++14 language reference: ~1400 pages.
Зачем единичку перед 400 приписал? Чтобы пожирнее вбросить?
Аноним 03/09/22 Суб 12:23:04 2453391 118
16430929863460.jpg 284Кб, 781x464
781x464
uint64_t ptr2 = (uint64_t) x+2;
uint64_t ptr = (uint64_t) *ptr2;


Есть одна тян строка x, так я вытаскиваю указатель на массив чаров этой строки из кучи, можно как-то это сделать в одну строчку без второго указателя?

Я просто пытаюсь выучить ебаные указатели.
Аноним 03/09/22 Суб 12:26:34 2453396 119
>>2453391
Блядь, долгоносик звёзды пожрал, ну я думаю вам и так понятно.
Аноним 03/09/22 Суб 12:29:11 2453402 120
>>2453391
>строка x, так я вытаскиваю указатель на массив чаров этой строки из кучи, можно как-то это сделать в одну строчку без второго указателя?
&x[0] должно работать
Аноним 03/09/22 Суб 12:33:59 2453409 121
>>2453402

&x[0] - это адрес объекта, а не массива.
Аноним 03/09/22 Суб 12:38:00 2453420 122
>>2453239
Удобная абстракция. При этом ты абсолютно на 100% понимешь что тебе сгенерирует компилятор. Чего нельзя сказать о шаблонах. Хотя шаблоны тоже неплохи. Главное применять всё это там, где это оптимально, и не применять там, где в этом нет смысла.
Аноним 03/09/22 Суб 12:41:52 2453426 123
>>2453409
x[0] - ссылка на нулевой символ в строке (char&). Сравни &x и &x[0] - адреса будут разные.
Аноним 03/09/22 Суб 12:48:29 2453443 124
Че юзать для криптографии? Чет не хочу подключать либу в которой каждый день по несколько багом находят
Аноним 03/09/22 Суб 12:54:34 2453456 125
1.png 6Кб, 735x105
735x105
2.png 127Кб, 632x539
632x539
maxresdefault.jpg 22Кб, 1280x720
1280x720
Аноним 03/09/22 Суб 13:01:39 2453462 126
>>2453456
>1.png
Объекта тогда уж, а не переменной
Аноним 03/09/22 Суб 13:06:05 2453467 127
>>2453426

>>Сравни &x и &x[0]

&x это адрес указателя на объект, а &x[0] это адрес объекта. Похоже ты ещё хуже меня знаешь указатели, лол.
Аноним 03/09/22 Суб 13:14:12 2453474 128
>>2453467
А блять у тебя x это char*, я думал string, пардон
Аноним 03/09/22 Суб 13:16:55 2453479 129
>>2453467
Так падажжи ебана, тебе же нужен был указатель на массив чаров. Если x это char*, то че тебе надо-то? А если x это string, то я всё правильно сказал.
Аноним 03/09/22 Суб 13:23:11 2453487 130
IMG202209031510[...].jpg 70Кб, 2340x999
2340x999
IMG202209031511[...].jpg 59Кб, 2340x979
2340x979
Аноним 03/09/22 Суб 13:39:42 2453499 131
>>2453456
> пик 2
Вот же дегенераты, рассуждающие о языке, которого не знают. Схуяли в их больном мозгу должно получиться 10, если там инт копируется? Пользоваться массивами учат ещё в самом начале, а этот даунёнок про какую-то память пишет и не знает основ. А с оптимизациями вообще эти 3 строчки нахуй удалятся компилятором, потому что они нихуя не делают.
Аноним 03/09/22 Суб 13:51:34 2453513 132
>>2453499
Так x2 же это ссылка, там всё правильно написано, если предположить, что оптимизации нет, а память действительно будет перевыделена.
Аноним 03/09/22 Суб 13:57:04 2453524 133
>>2453513
> Так x2 же это ссылка
Да, ссылка на скопированный инт, чел. Ахуеть, да? vec{2} всегда возвращает инт, а не ссылку на него. С кем я вообще в одном треде сижу?
Аноним 03/09/22 Суб 13:59:47 2453526 134
Аноним 03/09/22 Суб 14:05:33 2453532 135
>>2453524
> ссылка на скопированный инт
Более того, ссылка на копию может получится, только если это ссылка на const. С кем я в одном треде сижу?
Аноним 03/09/22 Суб 14:11:00 2453547 136
Зачем так жить, если языковые конструкции могут быть непонятны без гугления даже тем, кто на этом языке десяток лет пишет? Это даже не библиотека какая-нибудь и не фреймворк.
Аноним 03/09/22 Суб 14:12:22 2453552 137
Аноним 03/09/22 Суб 14:24:23 2453570 138
Кстати, реквестирую квиз по С++ наподобие https://dtolnay.github.io/rust-quiz

Чтобы было видно "приколы/странности/неочевидности" языка. А не "как называется функция ассоциированная с объектом" и прочие тупости по стандарту языка.

Типо такого https://cpp.godbolt.org/z/4oW9PcGfx
Аноним 03/09/22 Суб 14:29:07 2453577 139
>>2453499
> Схуяли в их больном мозгу должно получиться 10
С того что напиши гребаную программу и запусти ее.
Аноним 03/09/22 Суб 14:34:47 2453587 140
Безымянный.png 11Кб, 451x267
451x267
изображение.png 447Кб, 600x737
600x737
> ссылка на скопированный инт, чел. Кококо пок пок?
Аноним 03/09/22 Суб 14:41:49 2453607 141
Аноним 03/09/22 Суб 15:08:19 2453652 142
>>2453577
Попробуй не использовать недокомпиляторы.
Аноним 03/09/22 Суб 15:12:37 2453658 143
555.png 132Кб, 966x703
966x703
666.png 119Кб, 966x533
966x533
Аноним 03/09/22 Суб 15:16:00 2453664 144
>>2453658
У тебя x это string*, а я подразумевал string. Естественно, результат другой. Посмотри мой код с пастебина, и все станет понятно.
Аноним 03/09/22 Суб 15:19:48 2453671 145
>>2453664
Нет разницы куча или стек, после 15 или 22 символов всё улетает в кучу.
Аноним 03/09/22 Суб 15:26:32 2453674 146
>>2453671
Так я не об этом. Ты не понял, у тебя тип другой, поэтому и операторы работают по-другому. Для string оператор [ ] переопределен, и возвращает ссылку на символ (char&). Дальше ты берешь его адрес оператором & - и это указатель на саму си-строку в памяти. А то же самое выражение, примененное к указателю на строку (string*), не делает ничего.

P.S.: не "всё улетает в кучу", а только сами данные. Объект string, если не создавать его через new, будет в стеке всё время.
Аноним 03/09/22 Суб 16:00:46 2453711 147
888.png 65Кб, 1045x683
1045x683
>>2453674
Так это не работает.
Аноним 03/09/22 Суб 16:09:50 2453716 148
>>2453552
>Вот draft С++14 ISO/IEC на 1368 страниц.
Ты питон language reference вместе с library reference считал?
Аноним 03/09/22 Суб 16:11:04 2453718 149
>>2453711
Что не работает-то? У тебя строка длинная, поэтому она в куче, а не внутри объекта. Это подтверждается тем, что &s и &s[0] совсем разные, на скрине же видно. Этот "кусок массива" на экране не имеет отношения к самой строке, это мусор внутри объекта string - можешь проверить сам. Может быть, всё это было бы понятнее, если бы ты выводил не char, а шестнадцатиричное представление байтов. Запусти этот код у себя и поэкспериментируй: https://pastebin.com/q2xaF0fW
Аноним 03/09/22 Суб 16:16:16 2453727 150
>>2453718
>Что не работает-то?
Твой код не может вывести строку. В основном это не работает, ещё он не может найти её в куче, но это уже второстепенно.
Аноним 03/09/22 Суб 16:21:38 2453740 151
>>2453727
Посмотри внимательно мои скрины выше: короткая строка - внутри объекта (видно по данным, выведенным на экран и по адресам), длинная строка - в куче, адрес опять же на экране. Но ты скорее всего троллишь тупостью.
Аноним 03/09/22 Суб 16:30:05 2453756 152
>>2453740
>в куче, адрес опять же на экране
напиши уже new чтобы полностью обосраться, хотя у тебя и так ничего не работает, куда ещё дальше срать.
Аноним 03/09/22 Суб 16:59:44 2453816 153
Аноним 03/09/22 Суб 17:00:49 2453818 154
>>2453547
>Зачем так жить, если языковые конструкции могут быть непонятны без гугления даже тем, кто на этом языке десяток лет пишет
Потому что Плюсы - язык-выгребная яма, миллиарды котылей и тонны бесполезного функционала, который нужен лишь 0.00001% людей. Выше по треду даже шутили, что программа на любом языке является синтаксически верной программой на C++50. Но даже такому говноязыку не могут райти замену и приходится его использовать. Вся гадежда на Раст, но шансов мало.
Аноним 03/09/22 Суб 17:09:44 2453826 155
Как считать бустом только линию? read until считает до разделитиля, а потом еще немного, но я не могу остаток просто взять и выкинуть. Варианты?
Аноним 03/09/22 Суб 17:21:35 2453840 156
>>2453826
Первая идея хранить буффер, но я не уверен, что если я передам этот буфер потом в async read, то данные не сотрутся.
Аноним 03/09/22 Суб 17:34:06 2453854 157
>>2453577
>>2453587

Как же вы заебали в говне копаться. Говорю без особой злости, просто заебали.

Я вот отношусь к С++ как к Си с классами.
Ну и stl помаленьку пользую, когда надо что-то быстро захучить, а оптимизировать под задачу лениво или не нужно.

Ну зачем спорит, если всё давно разжёвано - https://stackoverflow.com/questions/29859796/c-auto-vs-auto
Аноним 03/09/22 Суб 17:44:39 2453871 158
eew.png 117Кб, 1224x702
1224x702
>>2453816
>>string ps = new string("");
>>string& s =
ps;

Какой же ты дебил, просто пиздец, ты чё реально только в стеке можешь найти массив? Попробуй что-то попроще, с++ это явно не для тебя.
Аноним 03/09/22 Суб 17:55:09 2453883 159
>>2453854
>Я вот отношусь к С++ как к Си с классами.
БАЗА
Аноним 03/09/22 Суб 18:05:31 2453897 160
Аноним 03/09/22 Суб 18:10:37 2453903 161
>>2453897
Сказала чмоня которая не может повторить то что я делаю в две строчки, лол. А я ещё надеялся что тут подскажут как сделать это в одну строчку.
Аноним 03/09/22 Суб 18:18:55 2453916 162
Чё за хуйнёй вы тут занимаетесь?

>>2453391
>uint64_t ptr2 = (uint64_t) x+2;
>uint64_t ptr = (uint64_t) *ptr2;
А это что за йоба?
> так я вытаскиваю указатель на массив чаров этой строки из кучи
Про c_str() слышал?
Аноним 03/09/22 Суб 18:21:36 2453923 163
Снимок экрана ([...].png 7Кб, 482x37
482x37
>>2453916
>А это что за йоба?
Учу указатели. Уже сам нашел способ сделать это в строчку кста.
Аноним 03/09/22 Суб 18:23:08 2453924 164
Это не тот шиз опять выходит на связь, который пару месяцев назад тут троллил двачь оператором= ?
Аноним 03/09/22 Суб 18:25:04 2453927 165
>>2453924
Пока только вы меня троллите тупостью, я им блядь про указатели , а они мне индексный оператор.
Аноним 03/09/22 Суб 18:26:59 2453930 166
>>2453923
Чем в твоём случае является x?
Аноним 03/09/22 Суб 18:27:28 2453932 167
Аноним 03/09/22 Суб 18:28:30 2453935 168
Аноним 03/09/22 Суб 18:30:28 2453939 169
Аноним 03/09/22 Суб 18:39:56 2453948 170
>>2453939
Ну раз стринг, то в таком случае так >>2453923 делать нельзя. Во-первых, это нечитаемый кринж, а во-вторых, ты после разыменования указателя на string присваиваешь другому указателю не адрес, а данные, хранящиеся по этому адресу, преобразованные к типу указателя.
Запускать хоть свой код пробовал?
Аноним 03/09/22 Суб 18:42:31 2453950 171
Снимок экрана ([...].png 46Кб, 1205x483
1205x483
>>2453948
>Запускать хоть свой код пробовал?
Аноним 03/09/22 Суб 18:53:13 2453956 172
>>2453950
Классно троллишь, мне понравилось
Аноним 03/09/22 Суб 18:54:50 2453960 173
>>2453956
Хуй знает где тут троллинг увидел, я просто указатели учу.
Аноним 03/09/22 Суб 18:55:32 2453963 174
>>2453960
Ну учи, учи, хорошо учишь
Аноним 03/09/22 Суб 19:12:15 2453981 175
>>2453950
User 123
А ха ха. У тебя Винда нелицензионная что-ли?
Или специальная учётная запись для двачей?

Аноним 03/09/22 Суб 19:16:35 2453986 176
>>2453981
Даже если лицензионная не хочется перед микрософтом штаны снимать.

мимо
Аноним 03/09/22 Суб 19:24:48 2454006 177
>>2453986
>хочется перед микрософтом штаны снимать.
>в системе дохуя левых системных процессов
>не удаляемая Кортана
>не удаляемый Заshitник Windows
>миллиарды телеметрии
>ряяяяя я написал user123 и меня тепеь не узнают
Лол
Аноним 03/09/22 Суб 19:32:13 2454013 178
>>2454006
Все правильно. Не хочется самому снимать. Это унизительно.
Поэтому доверяем самое сокровенное космонавту.
Аноним 03/09/22 Суб 19:36:38 2454017 179
>>2454013
А про меня Microsoft знает всё. Опасаюсь что даже больше, чем я сам. И что? Пущай уважают кодера старого программиста.
Аноним 03/09/22 Суб 19:39:26 2454020 180
>>2453986
Купил ключ на ебае лет пять назад, рублей за 300 вроде. Раньше сидел на Windows 7 90 day trial, постоянно сбрасывая счётчик.

>>2454006
А хули делать, Ну посидел я на Раче, чёт надоело гуглить Как правильно какать и настраивать этот велосипед под себя. Больше всего бесит что 99% софта под линукс написано на всяком говне, бог им дал божественный gcc, компилируйте сколько влезет, нет блядь хотим писать на всяком говне.
Аноним 03/09/22 Суб 19:51:43 2454041 181
image.png 95Кб, 1174x509
1174x509
image.png 4Кб, 219x37
219x37
Аноним 03/09/22 Суб 20:01:50 2454053 182
>>2454041
Тебе ж сказали, что это троллинг, нахуй кормишь.
Аноним 03/09/22 Суб 20:05:42 2454059 183
>>2454041
Там от платформы зависит, у тебя 64 бита? Вообще нужно писать size_t, ещё посмотри где лежит адрес, он может быть + 2 в других компиляторах.
Аноним 03/09/22 Суб 20:30:36 2454080 184
>>2454053
Да хуй его знает, может быть, компилятор от МС какую-то свою магию применяет.

>>2454059
>у тебя 64 бита?
Да.
Начнем с того, что, прочитав тред, я еще больше запутался и перестал понимать условие задачи. Нужно просто найти указатель на массив из char-ов или вытащить указатель на массив char-ов из string?
Аноним 03/09/22 Суб 20:33:51 2454086 185
>>2454080
> вытащить указатель на массив char-ов из string

Вот анон тебе вопрос очень правильный задал - >>2453916

>>>>>> Про c_str() слышал?
Аноним 03/09/22 Суб 20:50:00 2454097 186
image.png 94Кб, 866x605
866x605
>>2454086
>c_str()
А здесь важно понимать, что этот метод возвращает. Из формулировки пикрила нихуя не понятно возвращает ли он указатель на массив в string или же возвращает указатель на НОВЫЙ массив идентичный изначальному.
Схожу поем и поебу байты в поисках ответа.
Аноним 03/09/22 Суб 20:57:38 2454101 187
>>2454080
>Да хуй его знает, может быть, компилятор от МС какую-то свою магию применяет.
Я проверял на своей студии. Кидает эксепшн.
> А здесь важно понимать, что этот метод возвращает.
Возвращает const char*. Никто не будет заморачиваться и копировать массив ради указателя на константу. Ты же не думаешь, что компиляторы пишут долбаёбы?

Даже если твой охуенный метод работает что невозможно, и я уже объяснил, почему >>2453948, то он может перестать работать при малейшем пуке со стороны разработчика компилятора.
Аноним 03/09/22 Суб 20:58:42 2454103 188
Снимок экрана ([...].png 61Кб, 1559x939
1559x939
Аноним 03/09/22 Суб 21:01:40 2454105 189
>>2454101
>Я проверял на своей студии. Кидает эксепшн.
Покажи что ты написал.
Аноним 03/09/22 Суб 21:04:35 2454108 190
image.png 30Кб, 614x194
614x194
Аноним 03/09/22 Суб 21:06:40 2454112 191
>>2454108
Посмотри где адрес лежит, и поменяй на size_t
Аноним 03/09/22 Суб 21:09:39 2454116 192
Я в тупике. Хочу уметь читать с сокета до разделителя и заданное количество байт. Проблема в том, что read until читает не ровно до разделителя, а чуть больше. Я хотел обернуть все в свой сокет, со своим буффером в который буду перемещать остатки с read until, а далее при чтении определенного количества байт высвобождать часть заполненного буфера, а остальное читать с сокета с помощью read. Хотел взять deque чтобы быстро сначала высвобождать, но read until просто не принимает дек. Хотел взять streambuf, но тогда объект перестает муваться. Просто vector не подходит, потому что с его начала очень долго объекты убирать. Я не знаю что делать, помогите пожалуйста
Аноним 03/09/22 Суб 21:10:32 2454119 193
>>2454112
Маня, ты почему-то старательно игнорируешь >>2453948
Оно не заработает, хоть ты все типы испробуй.
На маленьких строках из-за SSO сработает (char⚹)x, но уж точно не тот бред, что ты написал.
Аноним 03/09/22 Суб 21:13:36 2454122 194
>>2454119
Маня, я тебе скинул как это работает на Линукс и Шиндовс, Андроед скинуть?
Аноним 03/09/22 Суб 21:17:27 2454127 195
>>2454122
Заставь onlinegdb, ну или любой другой онлайн компилятор, который мы все вместе итт сможем проверить, показать такой результат.
https://www.onlinegdb.com/PffgLySU3

Ну или хотя бы шебмом пруфани, а то скриншоты это как-то скучно, сам понимаешь
Аноним 03/09/22 Суб 21:22:43 2454132 196
челы пчелики завязывайте нахуй я заебался жир с монитора вытирать
Аноним 03/09/22 Суб 21:23:30 2454134 197
Screenshot2022-[...].jpg 191Кб, 1080x2400
1080x2400
Screenshot2022-[...].jpg 256Кб, 1080x2400
1080x2400
>>2454127
На пока андроед пожуй.
Аноним 03/09/22 Суб 21:27:44 2454143 198
Аноним 03/09/22 Суб 21:41:15 2454158 199
>>2454116
> Я хотел обернуть все в свой сокет, со своим буффером в который буду перемещать остатки с read until, а далее при чтении определенного количества байт высвобождать часть заполненного буфера, а остальное читать с сокета с помощью read.

Думаешь ты правильном направлении. Не со всем согласен, но в целом здравое зерно есть. Твоя проблема в том, что у тебя С++ головного мозга. Это такая болячка, когда ты используешь лишь те инструменты, которые знаешь. Внимание, вопрос: "Что тебе мешает забить на STL и реализовать буфер руками????"

И не ебать мозги себе и нам. Пойми, если С++ тебе что-то позволяет, то не обязательно это использовать.
Аноним 03/09/22 Суб 21:44:44 2454165 200
>>2454122
>Андроед скинуть?
Змиялся до слёз.
Андроид типа не Линукс?

Тогда уж сравнил бы MSVC, gcc и Clang.
Гы гы. А мог бы ещё и потроллить Watcom C++ и Borland C++Builder
Аноним 03/09/22 Суб 21:46:08 2454168 201
>>2454165
Шиндус смещение 1
Линупс смещение 0
Андроед смещение 2
Аноним 03/09/22 Суб 21:51:55 2454173 202
>>2454158
Нужно будет наследоваться от бустового буфера. Я это ни разу не делал. Боюсь, что там будут всякие хитрые проблемы которые я ебнусь реализовывать. Но спасибо, попробую
Аноним 03/09/22 Суб 22:05:24 2454187 203
>>2454168
>Линупс смещение 0
>Андроед смещение 2

32/64 бит?

> Андроед смещение 2
Гы. А ты попробуй на девборде на ARMv7 с Debian на борту.
Тут не в ОС может быть дело, а в архитектуре.

Или у тебя Android на x86?
Аноним 03/09/22 Суб 22:08:45 2454190 204
Аноним 03/09/22 Суб 22:12:29 2454196 205
Аноним 03/09/22 Суб 22:24:13 2454205 206
>>2454196
У меня горит че то. Вроде очень простая задача, а целый день провозился, сука. И еще не решил. Так бы уже либу нужную дописал и сидел капчевал спокойно
Аноним 03/09/22 Суб 23:58:44 2454371 207
image.png 192Кб, 1530x478
1530x478
image.png 161Кб, 1529x364
1529x364
>>2454101
> Никто не будет заморачиваться и копировать массив ради указателя на константу. Ты же не думаешь, что компиляторы пишут долбаёбы?
Ну вот смотри, что получается. Пока что выводов делать не буду, проверю еще одну теорию.
Аноним 04/09/22 Вск 00:00:58 2454376 208
>>2454371
Так, подожди, я что-то сломал.
Аноним 04/09/22 Вск 00:44:50 2454435 209
А вы какое расширение у исходников предочитаете?
Я мощно оргазмирую от .cc и на полшестого от .cpp
Аноним 04/09/22 Вск 01:01:47 2454459 210
>>2454435
cpp и hpp, всё остальное для поехавших шизоидов.
Аноним 04/09/22 Вск 01:03:23 2454462 211
image.png 230Кб, 1642x654
1642x654
image.png 202Кб, 1630x415
1630x415
>>2454376
>>2454371
Вот пофиксил. Да c_str() на массив внутри string ссылается. Собственно, через указатели это сделать тоже можно.
Аноним 04/09/22 Вск 03:14:55 2454500 212
>>2453818
У раста нет обьективных плюсов перед крестами
Аноним 04/09/22 Вск 03:17:33 2454502 213
>>2454500
Как думаешь, почему Tor переписали на Раст, а не на Плюсы, учитывая, что он изначально написан на Си?
Аноним 04/09/22 Вск 03:23:31 2454503 214
>>2454502
Да можно и в присядку дрочить, толку то. На си/спп можно сделать вообще все. Практика показыапнт чтотпо сути так оно и есть. Это база. Хочешь на чем то другом - попробуй, но смысла нету.
Аноним 04/09/22 Вск 03:34:06 2454506 215
>>2454503
>На си/спп можно сделать вообще все.
Как и на многих других языках. Что тебе конкретно на расте мешает писать?

>рактика показыапнт чтотпо сути так оно и есть.
Практика показывает, что с 70-х годов ничего не могут поделать ни стилистика программирования, ни санитайзеры, ни линтеры, ни прочие ухищрения, придуманными людьми. Как было 70% ошибок некорректной работы с памятью, так и остаётся эта печальная статистика для более-менее крупных проектов. Вот это БАЗА.
Но маня с двачей конечно же знает сикретный метод самих ДИДОВ, который позволяет писать код без утечек, УБ и use after free. А то, что Раст - глоток воздуха в мире ЯП, совершенно новая концепция с 80-х годов(или когда там языкостроение остановилось?) это паебать. Мы люди не гордые, видим байты - ебем.

>Хочешь на чем то другом - попробуй, но смысла нету.
Ну почитай дневничок разработчиков версии Тора на расте, узнаешь в чем смысл.
Аноним 04/09/22 Вск 03:34:39 2454507 216
>>2454502
Мозилла создала Firefox, на котором основан Tor, затем создала для себя же раст, и было бы удивительно, если бы она не начала юзать свой же язык, ведь то очень подозрительно, когда IT-компания не использует свои же технологии.
Аноним 04/09/22 Вск 03:39:59 2454508 217
>>2454507
>Мозилла создала Firefox, на котором основан Tor
Что, блядь? Какой нахуй Тор от мозиллы? Остальную шизу даже не читал.
Сосач, 2022. Абу. Итоги.
Аноним 04/09/22 Вск 03:45:05 2454509 218
>>2454503
>На си/спп можно сделать вообще все.

А что нельзя сделать на си/спп, то можно сделать тулом, написанным на си/спп.
Аноним 04/09/22 Вск 03:48:34 2454510 219
>>2454508
Вот именно, что не читал. Ты ебанутый? Тор основан на Firefox, но из этого никак не следует, что сама мозилла этим занималась.
Аноним 04/09/22 Вск 03:48:58 2454511 220
>>2454506
>сикретный метод самих ДИДОВ, который позволяет писать код без утечек, УБ и use after free

Изи. Достаточно придерживаться простых правил. Но я их вам не скажу.

Ты лучше предложи инструмент для мнопотоных приложений, который гарантированно исключит deadlockы и при этом будет иметь хорошее время отклиа.
Аноним 04/09/22 Вск 04:27:09 2454513 221
>>2454510
>Тор основан на Firefox, но из этого никак не следует, что сама мозилла этим занималась.
Это тролинг? Ты знаешь, что такое Тор, болезный?
>Ты ебанутый?
Такой же вопрос хочу тебе задать.

>>2454511
>Ты лучше предложи инструмент для мнопотоных приложений, который гарантированно исключит deadlockы и при этом будет иметь хорошее время отклиа.
Не предложу, своими ручками.
https://doc.rust-lang.ru/book/ch16-00-concurrency.html
Аноним 04/09/22 Вск 04:28:00 2454514 222
>>2454511
>Изи. Достаточно придерживаться простых правил. Но я их вам не скажу.
Алсо, жаль, что эти правила кроме тебя, видимо, не знал и не знает.
Аноним 04/09/22 Вск 04:30:04 2454515 223
Аноним 04/09/22 Вск 04:35:25 2454516 224
image.png 94Кб, 225x225
225x225
Аноним 04/09/22 Вск 05:08:53 2454517 225
>>2454516
А что если ты разговариваешь с современной нейросеткой?
Аноним 04/09/22 Вск 05:13:21 2454518 226
Аноним 04/09/22 Вск 09:27:01 2454561 227
>>2454097
Там ниже написано, что до c++11 гарантировалось, что оператор [ ] выдает те же символы, что и в c_str(), то есть совпадают значения, а не адреса. А начиная с c++11 уже гарантируется, что совпадают адреса, то есть с c++11 c_str(), хоть это и указатель на const, указывает на тот же кусок памяти, что и [ ], который точно выдает ссылку на оригинал, а не на копию.
Аноним 04/09/22 Вск 10:43:16 2454594 228
>>2454561
> А начиная с c++11 уже гарантируется, что совпадают адреса
Ты знаешь что x[1] это тоже самое что x + 1

Я хуею с дегенеративности этого тренда.

Аноним 04/09/22 Вск 11:33:07 2454627 229
>>2454594
Не знаю, троллишь ты или нет, но для справки: если x это указатель, то x[1] это то же самое, что *(x+1) обращаю внимание на звёздочку, так что ты обосрался.
Аноним 04/09/22 Вск 12:12:16 2454667 230
15379904743381.webm 8716Кб, 960x540, 00:02:00
960x540
>>2451830 (OP)
Помогие с тупым вопросом.
Никогда не программировал и ничего такого

Хочу вкатиться в Унреал Енгине, мне для этого надо бы изучить С++ по какой-нибудь хорошей книге? Еще наверное дополнительно специальные книги про ООП и алгоритмы, и я смогу делать в УЕ все что придумаю?

Или не правильно себе это представляю, и надо бы другим путем двигаться?
Аноним 04/09/22 Вск 12:28:31 2454684 231
>>2454627
>x[1] это то же самое, что (x+1)
Нет, это то же самое, что
(x+sizeof(*x)), так что вы оба обосрались.
Аноним 04/09/22 Вск 12:29:35 2454685 232
>>2454684
Там тоже звездочка стоит, просто харкач принял это за разметку.
Аноним 04/09/22 Вск 12:32:26 2454688 233
>>2454514
Ладно, пару скажу.

После delete присваивай указателю nullptr
При этом шансы получить "use after free" снижаются на порядок.
А вероятность поймать исключение во время отладки увеличивается на порядок.

Что касается UB, то вместе с опытом ты теряешь UB, просто потому что ты знаешь "слабые места".

С утечками сложнее. Тут надо заморачиваться на этапе проектирования. Я несколько напиздел насчёт "проствх" правил. Правила для исключения утечек не простые. БольшАя засада когда ты выделяешь память в одном потоке, а освобожаешь в другом, тут очень легко чего-то недосмотреть. Поэтому этап проектирования решает.
Аноним 04/09/22 Вск 12:34:34 2454691 234
>>2454667
>мне для этого надо бы изучить С++
На чём сейчас пишешь?
Изучать С++ как первый язык это такое.
Аноним 04/09/22 Вск 12:38:12 2454694 235
>>2454691
>Никогда не программировал и ничего такого
Такие дела
Аноним 04/09/22 Вск 12:46:01 2454699 236
>>2454684
Арифметика указателей не так работает
+1 это смещение не на 1 байт, а на 1 размер базового типа.
Аноним 04/09/22 Вск 12:46:22 2454700 237
>>2454694
Не, изучить конечно реально. Но это будут весьма специфические знания. Без базы знаний и опыта получаются своебразные С++ программисты.

Ну что ж, могу дать совет - когда будешь здесь (на двачах) задавать вопросы по С++, то (я имею в виду конкретные вопросы по конкретным свойствам, операторам, синтаксису, поведению, etc.) - будь эпатажным, провокационным, неунылым. Тогда народ выльет на тебя кучу говна вместе с решением твоей проблемы.
Иначе высок шанс получить игнор вместо ответа.
Аноним 04/09/22 Вск 12:47:31 2454702 238
>>2454699
Да.

Это надо понимать ещё до перехода с Си на С++
Аноним 04/09/22 Вск 12:51:12 2454703 239
>>2454702
Кстати да, странно "учить указатели" на плюсах, а не на си. Нежданчики с перегрузкой операторов и ссылочными типами гарантированно помешают.
Аноним 04/09/22 Вск 14:08:29 2454784 240
Аноним 04/09/22 Вск 14:33:22 2454805 241
>>2454784
Если они по скорости проигрывают шарпу - где вообще все на шарпе, игоры, браузеры, кады, ОС?
Аноним 04/09/22 Вск 14:51:13 2454829 242
Аноним 04/09/22 Вск 14:56:21 2454838 243
>>2454829
Ну и какая репутация у игор на юнити?
Аноним 04/09/22 Вск 15:00:18 2454844 244
Как в utf-8 писать все? Я написал '\n', но оно не в юникоде отправляется на сервер
Аноним 04/09/22 Вск 15:00:36 2454846 245
>>2454805
Всё тобой перечисленное это дремучее легаси, которое начало разрабатываться во времена, когда шарпа ещё не было.
Аноним 04/09/22 Вск 15:00:43 2454847 246
>>2454829
В юнити на шарпе только скрипты, весь рантайм на крестах.
Аноним 04/09/22 Вск 15:07:48 2454859 247
>>2454699
Да, значит я обосрался.
Аноним 04/09/22 Вск 15:08:26 2454861 248
Я сейчас вот сравниваю. Если я пишу с помощью сторонней проги перенос строки, то приходит 20 0d 0a 20, а моя прога почему то пишет 20 0a 55 45. Что делать?
Аноним 04/09/22 Вск 15:09:04 2454863 249
Аноним 04/09/22 Вск 15:10:36 2454865 250
>>2454844
\n никак не связано с юникодом.
Аноним 04/09/22 Вск 15:18:46 2454875 251
А не, лол. Все норм, просто пакеты потерялись. У сука
Аноним 04/09/22 Вск 15:20:38 2454876 252
А не, не. Проблема есть
Аноним 04/09/22 Вск 15:23:30 2454881 253
Да ты заебал!
Аноним 04/09/22 Вск 15:25:24 2454884 254
>>2454846
> Всё тобой перечисленное это дремучее легаси, которое начало разрабатываться во времена, когда шарпа ещё не было.
А что не легаси, мобилкопараша для дебилов?
Аноним 04/09/22 Вск 15:29:54 2454890 255
>>2454784
>Зачем нужны кресты, если они по скорости проигрывают шарпу?

Это невозможно. Сейчас схожу по твоей ссылке объясню почему невозможно.

Ну вот, там же по твоей ссылки ответ - кастом аллокатор.

А теперь смотри. Вот у тебя в памяти таблица чего-то на гигабайт. Тебе нужно найти элемент. У тебя две программы - одна на С++, которая перебором ищет искомый элемент, другая на Бейсике, которая использует hash-функцию. Ря-я-я-я-я, интерпретатор быстрее компилятора.
Аноним 04/09/22 Вск 15:32:02 2454892 256
Короче суть в чем. Прога на сокете читает пакеты по новой линии и перенаправляет. Оно читает в utf8. Когда я делаею в текстовом редакторе винды файл и отправляю, то идет на сокет \\n как разделитель, а если в utf8 notepad'ом, то на сокет идет \r\n как разделитель и не работает нихуя. А моя прога отправляет что то, что wireshark видит как 20 0a. Вообще пиздец. Что делать?
Аноним 04/09/22 Вск 15:32:32 2454893 257
>>2454844
>Как в utf-8 писать все?
В Visual Studio - save as и выбираешь там сохранять в юникоде.
В FAR Manager: Ctrl+A, Ctrl+X, Shift+F8, выбираешь utf8, затем Ctrl+V.
Аноним 04/09/22 Вск 15:37:17 2454897 258
>>2454893
Исходник в юникоде вроде бы..
Аноним 04/09/22 Вск 15:37:45 2454898 259
>>2454892
Причем \\n почему то как разделитель считается прогой нормально. Пиздееец
Аноним 04/09/22 Вск 16:08:04 2454918 260
Короче долбаебы писали прогу, что пакеты читает. Написано, что \n требуется, а на самом деле \n\r. Очень круто
Аноним 04/09/22 Вск 17:48:47 2454998 261
Аноны, а на современных ЦП размер бинарника влияет на производительность? У некоторых игровых движков уже за 100+ мб переваливает и вроде нормально работает всё. Будет ли разница между обмазом библиотеками с мусором или ручным пердолингом при одинаковом исполняемом коде?
Аноним 04/09/22 Вск 18:07:06 2455017 262
>>2454998
А ты не смотри на размер бинарника, все равно динамических библиотек всегда ещё как тыщу бинарника догрузит
Аноним 04/09/22 Вск 18:40:33 2455075 263
Снимок экрана ([...].png 36Кб, 665x229
665x229
>>2454699
> 1 размер базового типа
Чмоня, напомни какой размер у size_t на 64 битном инцеле?
Аноним 04/09/22 Вск 18:55:39 2455108 264
Аноним 04/09/22 Вск 19:44:47 2455176 265
2022-09-04 1941[...].png 16Кб, 274x482
274x482
Анон я заебался. Может у меня gcc багованный? Как state может быть не 0 или 1? Это просто C, не плюсы.
https://pastebin.com/tu4Rmh5v
Аноним 04/09/22 Вск 20:02:06 2455193 266
Аноним 04/09/22 Вск 20:03:49 2455195 267
>>2455193
И как это задевает state?
Аноним 04/09/22 Вск 20:07:17 2455197 268
>>2455193
Так, что он в параметрах к printf вместе с твоим state
Аноним 04/09/22 Вск 20:07:40 2455198 269
Аноним 04/09/22 Вск 21:01:27 2455258 270
>>2455197
И как он задевает? Он же просто указывает что второй %d это его value?
Аноним 04/09/22 Вск 21:11:39 2455270 271
Аноним 04/09/22 Вск 21:17:52 2455275 272
>>2455258
Ты бы лучше сначала исправил эту ошибку и запустил код, а потом рассуждал. Выше правильно написали, что это неопределенное поведение, поэтому результат может быть неожиданным.
Аноним 04/09/22 Вск 21:23:27 2455282 273
>>2455270

'0' = 48

w[i-'0']=0;

ты на 47 машинный слов залез по стэку вверх и затёр что-то в вызывающей функции. Хорошо бы это адрес возврата из функции, чтобы программа рассыпалась в клочья. Гораздо хуже если твоя программа управляет каким-либо критическим процессом и ты вот так поступаешь. Так по ошибке можно страшных дел натроврить.
Аноним 05/09/22 Пнд 00:06:02 2455436 274
>>2455282
Мне чтобы понять это объяснение нужно знать азы ассемблера?
Аноним 05/09/22 Пнд 00:06:22 2455437 275
Аноним 05/09/22 Пнд 00:15:27 2455444 276
Аноним 05/09/22 Пнд 00:21:04 2455445 277
>>2455444
Кстати, кто может пояснить за разницу между undefined, unspecified и implementation-defined behavior? Есть какая-нибудь хорошая статья на эту тему?
Аноним 05/09/22 Пнд 00:35:48 2455453 278
>>2455445
Undefined - нигде не описано, что произойдёт, поведение совершенно непредсказуемо. Например, переполнение знаковых. Однозначное зло, которого надо избегать, остальные два варианты допустимы в различных ситуациях.
Implementation-defined - не описано в стандарте, но может быть описано где-нибудь в доках компилятора или ОС. Например, размеры типов в зависимости от платформы.
Unspecified - тоже не описано нигде, но смысл "оставлено на усмотрение авторов компиляторов".
Аноним 05/09/22 Пнд 01:17:54 2455464 279
>>2455453
Правильно ли я понимаю. IDB должно быть четко описано в документации компилятора (например, "int = 4 байта"), и если оно не прописано, то компилятор не вполне соответствует стандарту. А USB может быть разное даже в рамках скомпилиррваной однажды программы (например, программа то вычисляет аргументы функции слева направо, то справа налево), и это стандарт не нарушает. Получается UDB > USB > IDB по степени важности. Всё так?
Аноним 05/09/22 Пнд 01:29:07 2455466 280
>>2455436
Азы наверное нужно. Даже не ассемблера, а азы ABI - https://ru.wikipedia.org/wiki/Двоичный_интерфейс_приложений

При этом главное правило - пусть лучше программа вываливается с ошибкой, нежели неправильно работает.
Если лениво с этим разбираться, то лучше посмотри в сторону C#/Java/интерпетаторы
Аноним 05/09/22 Пнд 01:49:03 2455470 281
>>2455436
Ты из переменной i, которая у тебя равна единице, вычитаешь код символа Q, который равен 48.
Получется -47
Затем ты используешь отрицательное число как индекс массива.
Компилятор это пропустил, хотя, возможно, сделал замечание.
Не факт, что допустил константный отрицательный индекс - проверять лениво.
А посколько переменные у тебя локальные, то память для них выделяется на стеке. Там же фрейм вызова функции с адресом возврата. А ты берёшь, и пишешь куда по стеку вверх. Если затрёшь адрес возврата - программа упадёт при выходе из функции, потому как обратится адресу, который ей не принадлежит, ОС это перехватит и аварийно завершит программу.
Если порушишь фрейм вызова, то с вероятностью близкой к единице программа упадёт тоже.

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

Если это программа управляющая технолгическими процессами, банковская или математическое моделирование, то... мне даже страшно писать какие могут быть последствия.
Аноним 05/09/22 Пнд 04:25:28 2455485 282
>>2455436
Если хочешь без ущерба по скорости исполнения не мучиться с байтиками, то есть еще Rust.
Аноним 05/09/22 Пнд 12:44:42 2455743 283
Аноним 05/09/22 Пнд 12:59:53 2455752 284
Надо принять (по сети) и обработать структуру, но какая именно это будет структура, я узнаю только в рантайме (выбор из трёх, возможно четырёх структур, какая именно - выясняется в момент приёма). Собираюсь принимать её и записывать адрес в void указатель, выяснять тип пришедшей структуры, а потом кастить этот указатель в указатель на нужный тип, чтобы можно было уже получать доступ к полям структуры и обрабатывать данные. Взлетит? Может, есть вариант получше?
Аноним 05/09/22 Пнд 13:28:01 2455791 285
>>2455752
Структура в один recv() помещается? Ну то есть в буфер помещается?
Если да, то разницы нет - по сети ты её принимаешь или как-то ещё.

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

Например, Макрософт для заголовка часто использует первый байт/слово структуры под размер структуры и уже размер структуры определяет её тип.
Аноним 05/09/22 Пнд 13:49:10 2455815 286
>>2455752
У нас используется внутренняя либа для описания структур. Это позволяет избавиться от их хардкожинья, можно грузить их описание из файла настроек, передавать по сети и т.п. Когда у тебя тысячи параметров это очень удобно. Возможно для тебя это будет оверкилл канеш
Аноним 05/09/22 Пнд 13:50:25 2455817 287
>>2455752
protobuf. Юзай его. И он будет нужен в каждой первой вакансии на крестах
Аноним 05/09/22 Пнд 14:23:36 2455844 288
>>2455817
>protobuf
Ух, какая же хуйня. Вроде и бинарный протокол, а присмотришься, это какой-то франкенштейн. Не, как замена XML/JSON он хорош. Но только как замена XML/JSON.

Радует лишь то, все эти XML/JSON/protobuf родились сильно после IP/TCP/UDP. Не хотелось бы даже представлять мир, в котором поверх Ethernet фреймов бегал бы XML.
Аноним 05/09/22 Пнд 14:24:43 2455845 289
Аноним 05/09/22 Пнд 14:30:26 2455854 290
>>2455844
Чем хуйня то? Рефлексия есть, с задачей заебашить IPC - справляется.
Аноним 05/09/22 Пнд 14:47:13 2455866 291
>>2455854
overhead по сравнению с передачей данных размером sizeof(my_structure)
Аноним 05/09/22 Пнд 16:23:43 2455956 292
>>2455791
>Структура в один recv() помещается?
Да. Точнее, у меня в MsgReceive помещается, это под QNX всё пишется
>Тип структуры узнаёшь из её заголовка, а дальше кастуешь указатель на нужный тип на эту память и всё.
Ну я, собственно, так и планировал. Но у меня проблема в том, что при касте из void что-то ломается и поля структуры становятся не видны. Т.е. если я принимаю в struct foo и обращаюсь к полям, то всё ок, но если принять в void и кастануть в foo, то в тех же самых полях уже лежит мусор.
>>2455815
>>2455817
Не особо понял, причём тут свои либы со своими структурами и protobuf. Мне, наверное, стоило отметить, что состав структур не я писал, они стандартизованы все. Первые два байта - тип, дальше уже у каждой по-своему. (К слову, в данном конкретном случае мне даже не нужно смотреть внутрь структуры, чтобы опознать её, я могу ориентироваться по значению, возвращаемому функцией приёма.)
Аноним 05/09/22 Пнд 16:41:31 2455966 293
>>2455956
Не буду тебя просить код, потому что лениво и некогда разбираться. Могу лишь совет дать - отладь это место в Visual Studio и уже затем перетаскивай в железку. Очень похоже что проблема не там, где ты думаешь.
Аноним 05/09/22 Пнд 17:16:20 2456006 294
>>2454134
Что за прога? Ни разу не видел, что бы на андроиде можно было компилировать
Аноним 05/09/22 Пнд 17:26:23 2456017 295
Реально ли вообще написать общий класс, который позволяет объекты в байты и обратно трансформировать? Если он тривиально копируемый, то да, а вот если нет? Вроде нельзя, я права? Можно только специализации писать
Аноним 05/09/22 Пнд 17:29:49 2456022 296
>>2456017
Нельзя, рефлексии нет.
Аноним 05/09/22 Пнд 17:37:30 2456032 297
Как написать шаблонный класс, который примет T, но при этом T должен быть наследником другого класса
Аноним 05/09/22 Пнд 17:44:49 2456039 298
Аноним 05/09/22 Пнд 17:47:16 2456044 299
>>2456039
А как мне прекратить компиляцию, если это не так?
Аноним 05/09/22 Пнд 17:52:51 2456054 300
>>2456032
#include <concepts>

struct B {};
struct D : B {};

template<std::derived_from<B> T>
struct S {};

S<D> d; // ok
S<int> xuy; // хуй
Аноним 05/09/22 Пнд 17:54:18 2456056 301
Аноним 05/09/22 Пнд 17:54:57 2456057 302
Кстати, первая штука из 20 плюсов которая мне понадобиласб
Аноним 05/09/22 Пнд 17:59:32 2456063 303
Очень жаль, что ошибка компиляции все равно огромная, если не то что надо передать. Я надеялся, что там будет что то аккуратное
Аноним 05/09/22 Пнд 18:06:35 2456072 304
Чтение/запись асинхронятся или нет? Вот я могу в сокет асинхронно писать. То есть пока данные отправляются я могу что то другое делать в этом потоке, а потом выполнение придет в коллбек. А с чтением и записью на диск такое прокатывает? Могу ли я в одном потоке дать команду записать на диск 100гб, а пока оно пишется делать другое? Кто нибудь делал? Профиты есть?
Аноним 05/09/22 Пнд 18:17:22 2456085 305
У меня большой вопрос. Как организовывать быструю работу с большими данными? Для конкретики возьмем пример. Чат в телеграмме имеет столько сообщений, сколько в оперативную память никак не влезает. Нужно уметь быстро писать и читать с диска, чтобы получать нужные куски чата, а потом обратно сбрасывать, как только они перестанут быть нужны. Как это быстрее всего делать?
Аноним 05/09/22 Пнд 18:18:47 2456089 306
>>2456072
Тебе похоже нужна паралельщина, а не асинхронщина.
Аноним 05/09/22 Пнд 18:20:38 2456091 307
>>2456085
Кеш с предиктивной загрузкой?
Аноним 05/09/22 Пнд 18:21:21 2456093 308
>>2456089
Не, именно асинхронщина. Я точно не ошибся. Так просто 2 потока и хуй с ним.
Аноним 05/09/22 Пнд 18:22:04 2456094 309
>>2456091
Че ты у меня спрашиваешь?)) Я не знаю. Впервые такая проблема. Погуглю что это спасибо
Аноним 05/09/22 Пнд 18:30:54 2456108 310
>>2456017
А что тебе даст тот факт что он тривиально копируемый?
Аноним 05/09/22 Пнд 19:00:17 2456132 311
Аноним 05/09/22 Пнд 20:52:21 2456201 312
>>2456072
>А с чтением и записью на диск такое прокатывает?
Там тяжелая и долгая история с асинхронным дисковым I/O. В винде вроде как есть поддержка этого, в линуксах очень долго не было, потом высрали AIO, которое оказалось говном из жопы, что неудивительно, лол, и только вот недавно завезли io_uring, который в теории это может делать. Про макось не знаю ничего, скорее всего kqueue не умеет по дефолту в асинхронное дисковое ио.
Аноним 05/09/22 Пнд 22:01:52 2456276 313
Тред байтродрочеров ей богу, вам больше делать не чего как над стрингой издеваться?
Аноним 05/09/22 Пнд 22:05:05 2456284 314
>>2456276
Каждая крестоблядь обязана написать свои строки и кастомный аллокатор, это база.
Аноним 05/09/22 Пнд 22:40:44 2456313 315
>>2456085
>Чат в телеграмме имеет столько сообщений, сколько в оперативную память никак не влезает.
>быстро писать и читать с диска
Докупаешь память, а не занимаешься хуетой.
Аноним 06/09/22 Втр 00:30:14 2456356 316
20220906000450.jpg 586Кб, 1000x1357
1000x1357
20220906000609.jpg 330Кб, 1200x404
1200x404
Имеется данная книжка, издана она в 2013 году. И вот что в ней написано.
Я так понимаю, что оно совсем устарела и изучать язык по ней нельзя? Или фундаментальные вещи не сильно изменились и она все же норм будет?
Аноним 06/09/22 Втр 03:23:51 2456451 317
>>2456356
Если в этой книге описывается auto_ptr, её уже сразу можно пускать на растопку мангалов.
Аноним 06/09/22 Втр 04:41:42 2456465 318
image.png 34Кб, 240x400
240x400
>>2456006
> Ни разу не видел, что бы на андроиде можно было компилировать
Хмм. Серьёзно не видел? Видимо ты не искал.

Ищи botbrew например. Но вроде как он умер. Но в сети находится.

Или вот это смотри - https://github.com/meefik/linuxdeploy
Или вот это - https://termux.dev/en/
Аноним 06/09/22 Втр 04:44:32 2456467 319
>>2456085
>Как организовывать быструю работу с большими данными?

посмотри в строну mmap.
man mmap
За тебя всё сделает говноядро говнолинукса.
Аноним 06/09/22 Втр 04:58:18 2456468 320
>>2456284
> кастомный аллокатор
это супермегаохуительнейшая вещь.
Вообще аллкоатор под конкретную задачу это божественно.

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

Он настолько быстрый, что быстрее сделать уже невозможно. Он быстро выделяет память и так же быстро освобождает. Лишь одна беда - он не универсальный, он может выделять память лишь для одного типа объектов. Х.з., может кто и догадается как он сделан.
Аноним 06/09/22 Втр 05:00:49 2456469 321
image.png 492Кб, 600x600
600x600
Аноним 06/09/22 Втр 05:02:11 2456470 322
Аноним 06/09/22 Втр 13:29:57 2456762 323
А нах нужен си тред, если все норм сишники уже здесь сидят?
Аноним 06/09/22 Втр 13:38:25 2456774 324
>>2456276
Если ты не хочешь выжать из железа всё возможное, нахуй лезти в кресты.
Аноним 06/09/22 Втр 14:52:21 2456852 325
>>2456762
Для не норм сишников.
Аноним 06/09/22 Втр 18:24:54 2457071 326
Аноним 06/09/22 Втр 19:08:14 2457112 327
image.png 12Кб, 337x131
337x131
Подскажите, что делает это объявление? Я знаю, что наследую класс G4VUserDetectorConstruction с помощью своего DetectorConstruction. Тут вроде как определяется конструктор, но почему-то после названия самого конструктора ещё идут переменные, которые в заголовке класса DetectorConstruction/

private:

G4VPhysicalVolume
fBox;
G4double fBoxSize;
G4Material* fMaterial;
Аноним 06/09/22 Втр 19:14:11 2457116 328
>>2457112
Тупо инициализация переменных. Происходит до тела конструктора, необходима когда у членов класса нет конструктора по умолчанию.
Аноним 06/09/22 Втр 19:47:33 2457142 329
>>2457116
А зачем нужно дополнительное уточнение :G4VUserDetectorConstruction()?
Аноним 06/09/22 Втр 20:08:58 2457164 330
>>2457142
Указание на то, какой конструктор предка и с какими параметрами вызвать:

struct A {
A() {};
A (int ) {};
};

class B : public A {
B() : A(10) {}
}

Если не указать, то будет вызван A::A(){}
Аноним 06/09/22 Втр 22:36:10 2457274 331
>>2456276
Вот бы посмотреть на тебя, пишущего с браузера, написанного на питоне, из ОС написаной на нем же.
Аноним 07/09/22 Срд 07:12:17 2457438 332
>>2457274
> ОС на питоне
Я считаю, давно пора создать процессор, способный выполнять .пук байт-код питона
Аноним 07/09/22 Срд 13:02:45 2457644 333
Прошу подсказать реальное положение дел разработчиков на плюсах. Я уже изучил основы языка и он мне нравится более остальных, хочется развиваться в нем. Стоит ли? Как бы вы оценили ситуацию на рынке плюсов?
Аноним 07/09/22 Срд 14:41:48 2457720 334
>>2457644
Положение дел на рынке тебе hh подскажет, лоль
Аноним 07/09/22 Срд 15:30:41 2457754 335
5 сентября интел официально распустило офис в новосибе, где работали драйверисты. Слышал, что 40% только релоцировалось. Интересно, остальные сильную конкуренцию составят начинающим плюсовикам?
Аноним 07/09/22 Срд 16:40:32 2457797 336
ЯННП, почему выпадает ошибка на 22 строке в лямбде?
can't dereference out of range vector iterator
https://pastebin.com/V23dGJED
Причем касается только игрека. И если подать arr.end()-1, тогда запускается норм, но и ответ неправильный.
Аноним 07/09/22 Срд 17:08:20 2457809 337
>>2457797
У макса нет такой сигнатуры, которую ты хочешь использовать.
Аноним 07/09/22 Срд 17:22:38 2457816 338
>>2457809
Тьфу, совсем разжижил мозги питоном. Мне нужен max_element.
Не сразу вкурил, но спасибо за наводку.
Аноним 07/09/22 Срд 17:36:46 2457827 339
Кто юзал openssl? Долго вкатываться?
Аноним 07/09/22 Срд 17:44:24 2457840 340
>>2457827
Она сишная. И да, это пиздец, наверное самое говеное из того с чем я сталкивался.
Аноним 07/09/22 Срд 17:47:28 2457844 341
>>2457840
Бляяя. Я знаю, что она сишная, но там помимо этого дохуя сложный интерфейс вроде. Но она самая быстрая, причем в несколько раз. Видимо другое возьму. Че подскажешь? Хочется побыстрее, конечно, но чтобы не надо было неделю доки курить
Аноним 07/09/22 Срд 18:29:09 2457867 342
Вкатываюсь не с нуля, есть знания Си среднего уровня, до этого писал под микроконтроллеры stm32. Как лучше освоить кресты, учитывая мою базу знаний?
Начал читать Прату, первые 4 главы идут очень легко, за пару дней их пролистал и спокойно решил задачки. Стоит полностью пролистать Прату, или лучше юзать его как справочник и сразу переходить к моментам, которые есть только в крестах? (типа ООП, классы, ссылки итд)
Аноним 07/09/22 Срд 18:42:41 2457876 343
>>2457644
В твоей ситуации вообще всё равно. Айтишечку сейчас лихорадит и куда мы придём через 2-3 года - никому неизвестно.
Аноним 07/09/22 Срд 19:34:19 2457894 344
>>2457867
Прата он вроде с самого низу. Читай лучше Мейерса. Заодно поймёшь, что ты вкатываешься с нуля, относительно того, сколько нахуевертили в C++ поверх C.
Аноним 07/09/22 Срд 20:05:35 2457903 345
>>2457867
Проходил курс по крестам на Яндекс Практикуме. Там тоже был сишник читающий Прату. Вылетел одним из первых. Так что не советую.
Аноним 07/09/22 Срд 20:12:40 2457906 346
>>2457644
В военку легко вкатишься. В какое-то НИИ или КБ или НТЦ. Платить хуйню будут, но попасть легко и опыт какой-никакой получишь.
Аноним 07/09/22 Срд 20:24:13 2457912 347
>>2457112
Хуяси, физик в треде. Ну что, с частичками своими пердолишься всё? В ОИЯИ тусуешься? А Geant4 вещь годная, да. Кореш один тоже с ней пердолился.
Аноним 07/09/22 Срд 21:07:48 2457943 348
>>2457754
>остальные сильную конкуренцию составят начинающим плюсовикам
Ну как минимум часть вакансий отожрут, это точно.
На самом деле вакансий для начинающих нет почти что никогда. Максимум - стажировки в яндексе, хуавее, а раньше еще и в интеле, ну ты понял.
Обычно команда всегда запрашивает как минимум мидла, но так как денег у конторы мало, кабан жмот, да или просто HR работает на похуизме, то берут вкатуна. И вот вместо мидла команда получает вкатуна, которого потом учит просто от безысходности. Это вот так вот работает. Джунов и стажеров кроме яндекса сейчас почти никто не ищет. Устроиться без опыта это как выиграть в лотерею. Ну или на завод/нии/кб идти, там особая атмосфера найма всегда.
Аноним 07/09/22 Срд 21:45:12 2457967 349
>>2457943
Ещё дотекание будет. Думается что 20% ещё укатят вдаль. Сам вот сижу и смотрю приглосы. Из тех, что нормальные - в основном перекат. Остальное - госзаказ в разных вариациях.
Аноним 07/09/22 Срд 22:19:33 2457987 350
Я правильно понимаю, что все деньги у смузихлёбов, а настоящим инженерам-плюсовикам нихера не платят?
Аноним 07/09/22 Срд 22:26:30 2457991 351
>>2457894
А какого именно? Их целых 3 в шапке. Глянул самого последнего по году, там подразумевается что ты уже знаешь язык, а я пока не очень его знаю.
>>2457903
Ты весь курс прошёл? И как оно? Ты с нуля начинал? Он вроде платный, как я понял.
Интересно, чего он вылетел. Не думаю, что дело в Прате. Хотя мне кажется, что если сейчас пойду, то тоже не осилю так как что-то там нагрузка большая, да и я очень хреново понимаю, как ооп работает, точнее не могу нигде придумать, как это реализовать на практике.
Аноним 07/09/22 Срд 22:43:38 2458001 352
>>2457906
Я так вкатился, но у меня должность низкая. При этом все коллеги уже 5+ лет сидят там, у нескольких семьи и дети есть, неужели они за гроши там сидят? Сам как-то стремаюсь напрямую спросить.
Аноним 07/09/22 Срд 23:29:47 2458051 353
>>2458001
Во всяких нии всегда за гроши работают.
Аноним 07/09/22 Срд 23:34:12 2458058 354
>>2458051
Как они тогда семью содержат, машину и платят коммуналку? Мб я тоже так научусь, если пару лет просижу тут, по крайней мере надеюсь хотя бы 2 года опыта сделать.
Аноним 08/09/22 Чтв 00:31:39 2458090 355
>>2457991
Да, закончил недавно. Курс годнота, если иметь адекватные ожидания. Но последние деньги на него тратить точно не стоит.
Начинал не с нуля. Много чего знаю, но всё по верхам. Первая треть очень простая, на уровне всех остальных курсов и туториалов, потом резкий скачок сложности и становится гораздо интереснее. Подход к обучению там TOP-DOWN. Сразу дают вектора, мэпы, сеты, стл алгоритмы, умные указатели, лямбды и т.п(про массивы, например, расскажут сильно позже этого). Ну так вот, ты их крутишь-вертишь, уживаешься с ними, а только потом идут детали реализации. Сишнику очень пекло с этого. Вместо того, чтобы мыслить на нужном уровне абстракции и решать задачки, жаловался, что не может проложить мостик от своего си прошлого до c++ настоящего. А вот у Прата он говорил правильные методики, как наших дедов учили. Может быть, но есть шанс, что если ты встретишь те же лямбды только на тысячной странице, они недостачно плотно войдут в твою жизнь, как и все остальные актуальные фишечки.
Аноним 08/09/22 Чтв 07:19:04 2458145 356
>>2458090
Лол, я примерно поэтому и начал с Праты, потому что реально тяжело дается этот уровень абстракции после пары лет Си.
А сколько по времени курс занял и как много ему надо уделять времени примерно?
Я бы может и записался попозже.
Аноним 08/09/22 Чтв 07:48:46 2458151 357
>>2458058
>Как они тогда семью содержат, машину и платят коммуналку?
Ну, видимо, так же, как и учёные и инженеры из этих же НИИ.
Живут на копейки, иногда, возможно, перепадает денежный грант, но это редкость. Конечно, зависит от области, чем более прикладная, тем больше денег в основном.
Но ты же понимаешь, что учёные в этой стране живут впроголодь? Вот и программисты НИИшные так же. Хорошо живут только чиновники от науки и 3,5 профессора топовых вузов.
Поэтому, собственно, программированием в НИИ и занимаются те же учёные и инженеры, а собственно программисты туда не идут -- им деньги нужны. А там нет смузи и денег. А 95 процентов потенциально научной молодёжи либо на Запад сваливают, либо идут в айти в итоге. Такие дела.

>Как они тогда семью содержат, машину и платят коммуналку?
Знаю годного профессора теорфизики, живущего в одиночестве, ездящего на автобусе и живущего в убогой студенческой общаге годами.
Аноним 08/09/22 Чтв 09:30:09 2458181 358
>>2457844
Просто я хотел еще сам уметь имходники чекать, а в опенссл на это придется наверное хуеву тучу времени потратить
Аноним 08/09/22 Чтв 10:08:29 2458196 359
>>2458145
Курс длится 9 месяцев. Пишут, что нужно тратить от 15 часов в неделю. Но 15 это если без сдвг, у меня получалось больше. Так же есть вариант получить скидку от государства по программе "Цифровые профессии". Раньше была 50% для всех, сейчас нужно принадлежать к какой-нибудь льготной категории и размер скидки вариативный.
Аноним 08/09/22 Чтв 10:40:53 2458207 360
>>2458196
Если это не академические часы, то нехилая такая нагрузка выходит, особенно если работаешь. А как оттуда ввлетают вообще? Вылететь легко, или надо быть совсем дубовым? Как контролируют усваиваемость материала? А есди что-то непонятно, норм объяснят?
Аноним 08/09/22 Чтв 11:08:55 2458213 361
>>2458207
Курс разбит на спринты по 2-3 недели. Если не укладываешься в дедлайн, то можешь взять академ и начать спринт заново с другой группой. Со скидкой от государства это можно сделать один раз, без неё три. Вылететь легко, если проблемы со временем и тайм-менеджментом, сам материал достаточно доступный. На курсе задания сдаются в тренажёр, который прогоняет твоё решение по тестам. В конце спринта большое задание, которое нужно сначала сдать тренажёру, а потом живому ревьюеру. Учишься вместе с одногруппниками, так что есть с кем поболтать в чатике. Так же на каждый спринт выделяется наставник, который отвечает на все твои вопросы. В основном наставники были толковыми, но это не фуллтайм работа, так что ответить могут сильно не сразу.
Аноним 08/09/22 Чтв 11:53:17 2458232 362
>>2457274
>пишущего с браузера, написанного на питоне, из ОС написаной на нем же.
Байтоеб еще не понял реализации машин...
Аноним 08/09/22 Чтв 12:45:46 2458263 363
>>2458232
И где она "реализация машин" ?
Аноним 08/09/22 Чтв 12:51:42 2458271 364
Аноним 08/09/22 Чтв 14:08:17 2458325 365
>>2453076
Молодец, что посоветовал. Там написано, что структура нетривиальна, если ее поля лежат в разных спецификаторах доступа. Однако std::is_trivial на MVSC C++20 говорит, что тривиальна.
Аноним 08/09/22 Чтв 14:57:03 2458362 366
Как красиво передать двумерный массив из мейна в функцию?
Аноним 08/09/22 Чтв 15:01:10 2458366 367
Этот тред это местный анекдот, сидишь, читаешь и проигрываешь. Надо же было из простой си-няши такого франкенштейна сделать. Пхп из мира системного программирования.
Аноним 08/09/22 Чтв 15:02:23 2458370 368
Аноним 08/09/22 Чтв 15:05:45 2458375 369
>>2458362
template<class T, size_t N, size_t M>
void f(T (&arr)[N][M]);

int a[10][20];
f(a);
Аноним 08/09/22 Чтв 15:09:37 2458379 370
>>2458366
Только на вопросы по си с большей вероятностью ответят в этом треде, чем в полумертвом тематическом.
Аноним 08/09/22 Чтв 15:16:52 2458384 371
>>2451830 (OP)
Не понимаю, как закодить максимальный размер буфера в 1.5 килобайта с Qt, ебаный пиздец
Аноним 08/09/22 Чтв 15:19:25 2458387 372
Аноним 08/09/22 Чтв 15:24:33 2458393 373
>>2458370
Дак он тогда одномерным станет типа он до этого не был одномерным, лол.

>>2458375
Ебать велосипед, уже проще создать класс или структуру.
Аноним 08/09/22 Чтв 15:28:21 2458397 374
Питонист, хочу научиться плюсам хотя бы на уровне "написать обёртку для либы", что посоветуете для изучения?
Аноним 08/09/22 Чтв 15:50:20 2458404 375
>>2458393
>Ебать велосипед, уже проще создать класс или структуру.
Ты просил красиво. На входе двумерный массив любого размера и любого типа, без необходимости передавать размер ручками. Куда уж красивее?
Аноним 08/09/22 Чтв 16:04:47 2458413 376
image.png 465Кб, 703x462
703x462
>>2458397
> Питонист

Ахахах
Ахахах
Аноним 08/09/22 Чтв 16:04:57 2458414 377
>>2458404
Я просто надеялся что есть изи вей который я не знаю, а тут оказывается или пики точеные с указателями или темплейты дроченые болтаться будут.
Аноним 08/09/22 Чтв 17:32:54 2458454 378
300px-CryingCat[...].jpg 9Кб, 300x300
300x300
>>2458413
Ты чё я датасаентист
Аноним 08/09/22 Чтв 17:55:00 2458465 379
>>2458454
>Ты чё я датасаентист
В данный момент в этой стране ещё возможно вкатиться в датапососаенс?
Алсо, МЛ-инженегру нужен С++, или ему достаточно петухона?

>>2458397
>Питонист, хочу научиться плюсам хотя бы на уровне "написать обёртку для либы", что посоветуете для изучения?
Алсо, обычно на петухоне пишут обёртку для С++, а ты собрался делать наоборот?
Это типа шутка, но ты бредово написал. Не знаю, чего посоветовать, посмотри основы из шапки треда https://github.com/sosachbot/cppthreadhat .
Аноним 08/09/22 Чтв 18:48:12 2458512 380
Ваномас реально C++ программист?
Аноним 08/09/22 Чтв 19:42:46 2458538 381
Вот вы берете какую-нибудь любимую мапу, суете туда 10к строк любимого типа, средней длиной 20. Кто из вас способен ответить, сколько памяти это займет в вашей любимой реализации Схх?
Аноним 08/09/22 Чтв 19:48:11 2458542 382
>>2458538
Шо, не 20 x 10k + некоторый небольшой оверхед?
Аноним 08/09/22 Чтв 19:48:37 2458543 383
>>2458538
Похуй, не програмистское это дело, везде компилятор довезёт.
Аноним 08/09/22 Чтв 19:51:51 2458545 384
>>2458362
Всегда лолирую с дебилов, которые реально делают двухмерные массивы или вложенные вектора.
Аноним 09/09/22 Птн 01:10:37 2458732 385
Можно как-то запретить создание временных объектов? Просто по приколу.
Аноним 09/09/22 Птн 01:25:49 2458743 386
>>2458732
std::block_creation(std::time_object)
Аноним 09/09/22 Птн 01:37:57 2458752 387
Аноним 09/09/22 Птн 01:38:36 2458754 388
>>2458512
Хуй знает, Патлатый говорит, что как программист он хуйня. На работе просто роутеры настраивал.
Ну, а учитывая, что он не может почистить себе винду, чтобы дота не лагала, то каа бы все становится на свои места.
Аноним 10/09/22 Суб 12:45:53 2459572 389
Вопрос не совсем по теме, но тут самый образованный анон сидит, так что хз куда еще идти.
У меня проект на крестах ~800 файлов, решил собрать еще и под винду.
На линуксе слион сам все парсит, навигация по проекту быстрая.
На винде он не парсит, пака я сам файл не открою.
Какие варианты?
Аноним 10/09/22 Суб 13:41:26 2459608 390
>>2459572
Предположу, что под "парсингом" ты имеешь ввиду навигацию в студии. Какая билд система? CMake? Он вроде как нативно поддерживается в последних двух студиях. Открываешь, настраиваешь параметры конфига и запускаешь. Ещё один вариант - можно из симейка сгенерить проект студии. Если не CMake, то придётся вручную создавать новый студийный проект
Аноним 10/09/22 Суб 15:06:57 2459711 391
>>2459608
Чел ты в глаза долбишься? Я же про силион пишу, а не про студию, ты хоть прочитал бы куда овечаешь.
Разумеется cmake, это же стандарт. Но он не имеет абсолютно никого отношения к разбору проекта.
Аноним 10/09/22 Суб 15:58:14 2459736 392
image.png 79Кб, 924x1197
924x1197
Кто разбирается в дискретном преобразовании фурье? Я не особо силен в математике, вот в конце книжки прикрепленной, есть библиотека fftw, там вот такой алгоритм использования как на пике. Я вот получаю массив с распределением мощности по частотам и рисую по ним график, но у меня есть эталонная программа, которая совсем другой график рисует, исходя из тех же данных.
https://ofvp.phys.msu.ru/wp-content/uploads/2021/03/diskretnoe-preobrazovanie-fure.pdf
Аноним 10/09/22 Суб 16:02:19 2459739 393
>>2459572
Собирай под винду на линуксе.
Аноним 10/09/22 Суб 16:43:10 2459756 394
>>2459572
Не понял зачем тебе навигация по коду если задача стоит просто собрать
Аноним 10/09/22 Суб 16:46:30 2459759 395
>>2459736
Чо строишь действительную и мнимую часть или модуль?
Аноним 10/09/22 Суб 17:50:27 2459787 396
>>2459739
>>2459756
Вы не поняли. Собрать как раз таки вопроса нету. Собирается все хоть в консоли без проблем.
Вопрос именно в непонятной работе иде.
Аноним 10/09/22 Суб 18:07:20 2459796 397
image.png 46Кб, 949x549
949x549
image.png 21Кб, 979x719
979x719
>>2459759
inputListVector это лист, в котором два вектора. Вектор [0] это действительная часть, вектор [1] это мнимая часть.
Я этот inputListVector скармливаю массиву комплексных чисел in, где in[0] - действительная часть, in[1] - мнимая. Я просто совсем не разбираюсь в математике. Все на что меня хватило, это установить библиотеку fftw. Вот я делаю прямое преобразование фурье, получаю на выходе массив out, по алгоритму в книжке нужно найти сумму квадратов действительных и мнимых частей. Зачем я не знаю. Алгоритм представлен на странице 77. Там написано что это power spectral density. Я почитал надо как то сдвигать гармоники влево, но я не понимаю точно как это делать. 1 пик это эталонный график на который я равняюсь, второй пик то что получается у меня.
Аноним 10/09/22 Суб 18:46:36 2459826 398
>>2459787
Этой иде почти никто не пользуется (на работе).
Аноним 10/09/22 Суб 20:12:20 2459892 399
В кресты завезли оператор возведения в степень?
Аноним 10/09/22 Суб 20:13:39 2459893 400
>>2459892
Нет и не завезут никогда.
Аноним 10/09/22 Суб 21:49:49 2459966 401
>>2457943
C++ это реально какая то ловушка Джокера. Люди учат его на полшишки, не могут найти работу, учат его еще, а дальше получают стокгольмский синдром, мол, не буду же я останавливаться на полпути, надо доучить и вкатиться наконец в плюсы. И так проходят годы, годы, годы.
Аноним 10/09/22 Суб 22:11:41 2459982 402
>>2459892
> В кресты завезли оператор возведения в степень?
А нахера нужен такой оператор?
Аноним 10/09/22 Суб 23:58:37 2460072 403
>>2459966
Хорошие перспективы, контента лет на 5 будет лол
Аноним 11/09/22 Вск 07:22:57 2460137 404
>>2459892
С помощью буста и нехитрых манипуляций ты можешь делать работающие выражения типа
z = x <vozvesti_v_stepen> y;
Оно тебе надо?
Аноним 11/09/22 Вск 09:45:32 2460152 405
image 251Кб, 766x900
766x900
>>2459982
Оператор возведения в степень нужен для читаемости кода, который имплементирует вычисления по сложным инженерным или физическо-математическим формулам.
Чем меньше формула, написанная в коде, и отображаемая в IDE, похожа на формулу из печатного источника, тем зашкварней этот код.
Язык - это не только для второсортных макакеров-кнопкокрасов и байтовертов, по сути обслуживающего персонала, которые тем не менее думают только о себе и своём удобстве и варится в своём токсичном соку. Любой язык, он прежде всего для элиты, для вершины эволюции технического специалиста - т.е. физиков, математиков и инженеров.
Математики используют оператор возведения в степень в современном виде 4 сотни лет. И тут приходит грязная макака, которая нихуя не знает, но у которой инфиксные операторы сложна парсятся и вообще это по сути функции и записываться должны как функции, поэтому этот астронавт чистоты языка считает нужным это всё искоренить. Разумеется, таким тупорылым макакам умные люди обычно во время давали крепкого пня под немытый сракотан, не дав им возможности обильно нагадить. Но всё же в отдельных языках грязные байтокруты успели поднасрать белым людям.

>>2460137
Это стандартный базовый оператор, который должен быть из коробки. Вы уж будьте последовательны, и либо искореняйте все человеческие операторы, как то сложение, вычитание, деление, умножение, либо не выебывайтесь, и делайте, как говорят люди, которые знают и понимают сильно больше вашего.
Аноним 11/09/22 Вск 09:50:26 2460153 406
>>2460137
Ыыы)

#include <iostream>
#include <cmath>

using std::cout;
using std::endl;

class Dbl
{
public:
Dbl(double v){value=v;}
double value;
};

double operator^
(const Dbl& a, const double& b)
{
return pow(a.value,b);
}

double operator^
(const double& a, const Dbl& b)
{
return pow(a,b.value);
}

double operator^
(const Dbl& a, const Dbl& b)
{
return pow(a.value,b.value);
}

int main()
{
Dbl a(2.3), b(1.7);
cout << (a^b) << endl
<< (a^0.5) << endl
<< (2^b) << endl
<< (Dbl(5.2)^0.7) << endl;
}
Аноним 11/09/22 Вск 10:29:01 2460165 407
>>2460152
Шиз
>>2460153
Введение лишних сущностей, а у меня будет работать с базовыми типами. kiss.
Аноним 11/09/22 Вск 10:33:46 2460168 408
>>2460165
>у меня будет работать с базовыми типами
Покажи
Аноним 11/09/22 Вск 10:34:06 2460169 409
>>2460152
>Любой язык, он прежде всего для элиты, для вершины эволюции технического специалиста - т.е. физиков, математиков и инженеров.
Двачую тебя.
Аноним 11/09/22 Вск 11:14:17 2460184 410
Аноним 11/09/22 Вск 12:11:20 2460200 411
Аноним 11/09/22 Вск 12:19:58 2460203 412
>>2460200
Да стандартная хуйня на шаблонах. Только скорее x=pow<2,2>
Аноним 11/09/22 Вск 12:23:37 2460206 413
Аноним 11/09/22 Вск 12:27:01 2460207 414
>>2460200
С телефона могу только скопировать из доков:
#include <boost/hof.hpp>
#include <cassert>
using namespace boost::hof;

struct plus_f
{
template<class T, class U>
T operator()(T x, U y) const
{
return x+y;
}
};

int main() {
constexpr infix_adaptor<plus_f> plus = {};
int r = 3 <plus> 2;
assert(r == 5);
}
Работает с любыми бинарными функциями.
Аноним 11/09/22 Вск 12:43:44 2460214 415
Аноним 11/09/22 Вск 14:03:24 2460303 416
>>2460206
>>2460214
Нихуя не смог понять, как это работает. До чего ж ебанутый язык, пиздец просто. Почему такую хуйню нельзя как-то явно сделать?
Мимо шарпист
Алсо, использовать для указателя и для умножения один и тот же символ - такая же лютая легасная ебанина, от которой хорошо бы отказаться.
Аноним 11/09/22 Вск 14:08:14 2460310 417
>>2460303
>Почему такую хуйню нельзя как-то явно сделать?
Потому что не нужна.
>один и тот же символ
Чем меньше конструкций тем лучше, ты на крестах вообще никогда не писал? Они из-за таких слов растут каждую версию в 1.5 раза.
Аноним 11/09/22 Вск 18:59:51 2460511 418
Какие подводные юзать мезон?
Аноним 11/09/22 Вск 19:57:46 2460536 419
Аноним 11/09/22 Вск 20:28:26 2460554 420
А могли бы добавить оператор и еще постфиксный ⚹.
Разве трудно распарсить a⚹⚹⚹⚹b по сравнению с тем адом, который уже парсится?
Аноним 11/09/22 Вск 20:38:42 2460563 421
>>2460554
Нахуя? Тебе мало? В хаскелле вот вообще можно свои операторы создавать из произвольного набора символов, и количество нечитаемого и неподдерживаемого говна росло бы экспоненциально, если бы на этом языке хоть кто-то писал реальные проекты.
Аноним 11/09/22 Вск 20:43:33 2460567 422
>>2460563
Тащем-то это уже в прологе было.
Аноним 11/09/22 Вск 20:46:00 2460571 423
>>2460567
Может и было, хз, пролог забыл давно.
Аноним 11/09/22 Вск 22:16:16 2460649 424
>>2452252
Qml достаточно простой язык, qmlbook за глаза хватает, если у тебя какой то вопрос, задай мне, возможно я смогу тебе помочь.
Аноним 11/09/22 Вск 22:39:20 2460663 425
>>2452252
Потому что Qt помойное говно мочи.

А если серьезно, инфы дохуя. Просто офф сайты и доки. Да, там вначале кривая обучения, но так и везде. По бусту документацию открой
Аноним 12/09/22 Пнд 00:37:39 2460716 426
>>2460152
>Это стандартный базовый оператор, который должен быть из коробки
Я могу представить несколько различных алгоритмов для тех же, например, флотов. Все с различными сходимостями и размерами ошибки. Тейлор? Метод Ньютона? Через экспоненту с логарифмом? А для целых экспонент будет ли быстрое возведение в степень? Это ни разу не "базовый оператор", и должен быть отдан на откуп библиотеке, а не являться частью языка, как и всё, что связано с IEEE 754. И если ты не следишь за ошибками в плавающих запятой, то цена грош твоему "инженерному" коду.
Аноним 12/09/22 Пнд 00:52:36 2460725 427
жж.jpg 42Кб, 645x482
645x482
>>2460716
Раз ты такой прошаренный в вычмате, поясни за оператор степени в Фортране -- как там обходятся одним единственным вариантом?
Аноним 12/09/22 Пнд 00:55:29 2460730 428
>>2460725
Спроси в фортран-треде. Ой, а почему такого треда нет?
Аноним 12/09/22 Пнд 02:30:53 2460786 429
>>2460725
А ещё в фортране есть встроенные функции для работы с векторами и матрицами. Казалось бы ебать как нужно и хули их писать то, но тож чет не завезли. Ни в C# ни в C ни в Java.
Аноним 12/09/22 Пнд 02:33:22 2460789 430
Аноним 12/09/22 Пнд 02:34:07 2460790 431
>>2460786
Фортран создан для математиков и физиков, а кресты созданы для нормальных людей. Но нет блять, вместо того, чтобы ебаться со своим фортраном, они лезут сука в кресты со своим говном, прям как арабы едут в Европу.
Аноним 12/09/22 Пнд 03:29:06 2460793 432
>>2460790
>кресты созданы для нормальных людей
/0
Аноним 12/09/22 Пнд 03:29:58 2460794 433
16582557603470.mp4 507Кб, 336x442, 00:00:03
336x442
>>2460790
> кресты для нормальных людей
Аноним 12/09/22 Пнд 04:09:40 2460799 434
>>2460790
Фортран и просто как язык (был) хорош, просто он теперь старый и ненужный. Для такой хуйни сейчас есть бейсик, ну или питон если ты дегенерат.
Аноним 12/09/22 Пнд 04:21:10 2460801 435
>>2460799
> сейчас есть бейсик
/0
Аноним 12/09/22 Пнд 04:25:29 2460805 436
>>2460799
Вообще-то фортран местами быстрее С из-за особенностей работы с памятью (то что в сях фиксят вручную через restrict на указатели) ну и конпелятор за столетия был вылизан до совершенства.
Аноним 12/09/22 Пнд 04:29:47 2460806 437
>>2460805
Ты нихрена не понимаешь что такое С, его нельзя сравнивать с фортраном. Си это машинный язык, там даже тупо математики нет, только машинные слова и байты. Поэтому там нет и степеней и прочей лабуды, это просто вообще не то, задачи у Си другие, это язык другого порядка.

Так что, как я сказал, с фортраном можно сравнивать бейсик или питон на худой конец.
Аноним 12/09/22 Пнд 04:31:09 2460807 438
>>2460805
>фортран местами быстрее С из-за особенностей работы с памятью
Каким образом?
Аноним 12/09/22 Пнд 04:37:50 2460808 439
>>2460806
>Ты нихрена не понимаешь что такое С
>там даже тупо математики нет
math.h?
>только машинные слова
Покажи хотя бы 1 машинное слово в Си.
>задачи у Си другие
Решать поставленные задачи, у форта разве другая задача?
Аноним 12/09/22 Пнд 06:10:06 2460814 440
>>2460808
Любой оператор для встроенных типов в C/C++ заменяется 3-4 строчками ассемблерного кода. Почему из этого правила должно быть исключение? Если бы существовал оператор возведения в степень, он всё равно вызывал бы pow.
Аноним 12/09/22 Пнд 06:19:06 2460815 441
>>2460808
>>2460814
Уточнение, чтобы ты не доебался: 3-4 инструкциями процессора, не полагающимися на еще какой-то код. Т.е., сложение можно заменить на add/fadd, побитовые операции на and, or и т.д.
Аноним 12/09/22 Пнд 06:22:05 2460816 442
>>2460808
>math.h
Это библиотека, хоть и стандартная. Выше правильно написали
>Это ни разу не "базовый оператор", и должен быть отдан на откуп библиотеке, а не являться частью языка
Аноним 12/09/22 Пнд 06:28:04 2460817 443
>>2460808
>Задача - решать поставленные задачи
А конкретней? Си нужен, чтобы писать код, максимально приближенный к машине. Ты пишешь код и можешь примерно представить, как он будет транслирован в ассемблер. А фортран нужен (был) для математических вычислений.
Аноним 12/09/22 Пнд 08:07:05 2460828 444
>>2460817
Странно что фортран не преподают в школах и универах, ведь именно в системе образования бытует шиза, что программирование родственно математике. Раз уж такие математики мамкины, вот и брали бы подходящий инструмент. Но нет, обязательно надо через жопу, еще и в си лезут, дегенераты.
Аноним 12/09/22 Пнд 08:20:56 2460832 445
>>2460828
>в школах и универах
>бытует шиза, что программирование родственно математике
>еще и в си лезут
Сам выдумал, сам разоблачил
Аноним 12/09/22 Пнд 08:43:50 2460835 446
>>2460828
У меня лабы по фортрану были на первом курсе универа. Их ещё вел дед пердед, который не очень хорошо объяснял.
Аноним 12/09/22 Пнд 08:53:01 2460838 447
>>2460828
У нас был фортран, но его не преподавали, а тупо давали лабы и курсачи, там препод занимался какой-то научной хуйнёй на суперкомпьютере, для которого были свои компиляторы на C и фортране, но препод требовал сдавать лабы именно на фортране, видимо, сишку он не осилил.
Аноним 12/09/22 Пнд 09:04:48 2460842 448
Возведение целого в отрицательную степень должно возаращать флот. Возведение целого в степень 2 крайне желательно возвращать как целое. Система типов затрещала? А я даже еще не цитировал man pow.
Аноним 12/09/22 Пнд 09:11:22 2460843 449
>>2460842
Тип результата должен определяться при компиляции, это тебе не петухон. Для разных типов разные инструкции процессора.
Аноним 12/09/22 Пнд 09:23:17 2460848 450
>>2460814
>он всё равно вызывал бы pow.
Или использовал бы инструкцию pow, ему ничего не мешает.
>>2460817
>Си нужен, чтобы писать код, максимально приближенный к машине.
Си нужен, чтобы заменить куски зависимого кода.
>>2460817
>Ты пишешь код и можешь примерно представить, как он будет транслирован в ассемблер.
Так можно сказать про любой нативный компилируемый язык.
Аноним 12/09/22 Пнд 09:29:13 2460858 451
>>2460716
>Я могу представить несколько различных алгоритмов для тех же, например, флотов.
Вот и настроишь это для своего компилятора или будешь использовать явный вызов функций, если это для тебя важно.

>А для целых экспонент будет ли быстрое возведение в степень?
Для перегрузки с интовым правым аргументом может и быть.
Аноним 12/09/22 Пнд 10:35:50 2460894 452
>>2460848
>инструкцию pow
Дальше не читал, слишком толсто
Аноним 12/09/22 Пнд 10:46:27 2460897 453
>>2460848
>Так можно сказать про любой нативный компилируемый язык.
Пример, кроме C/C++?
Аноним 12/09/22 Пнд 10:58:20 2460913 454
Аноним 12/09/22 Пнд 11:05:59 2460921 455
>>2460913
И как, завезли уже в паскаль оператор возведение в степень? Есть хоть один "нативный компилируемый язык" с "базовым" оператором возведения в степень?
Аноним 12/09/22 Пнд 11:26:14 2460944 456
>>2460921
А при чем тут оператор возведения в степень? И что он вообще должен делать в языке, который может компилиться под всякие микроконтроллеры где всяких fpu нет и близко?
Аноним 12/09/22 Пнд 11:47:31 2460962 457
Работа на плюсах есть или нет?
Если ты джуниор мальчик
Аноним 12/09/22 Пнд 11:50:52 2460968 458
>>2460944
>А при чем тут оператор возведения в степень?
Тред читал?
Аноним 12/09/22 Пнд 12:02:29 2460977 459
Подскажите пожалуйста современных и актуальных книг для изучения.
Не совсем новичок, поэтому хочется ближе к нашему времени информацию прочитать
Аноним 12/09/22 Пнд 12:43:58 2461019 460
image.png 208Кб, 358x500
358x500
Аноним 12/09/22 Пнд 12:48:56 2461031 461
Зачем нужны педали, когда есть божественная жаба?
Аноним 12/09/22 Пнд 12:51:00 2461035 462
Аноним 12/09/22 Пнд 12:53:54 2461039 463
>>2461035
Но ведь время программиста стоит дороже, чем ещё одна плашка оперативы.
Аноним 12/09/22 Пнд 13:10:56 2461050 464
IMG202209121309[...].jpg 2432Кб, 3264x2448
3264x2448
>>2461019
> второе
А не старье ли? У меня пикрил и кажется только в нем появилось про цепепе11
Аноним 12/09/22 Пнд 13:14:18 2461055 465
>>2461039
> Но ведь время программиста стоит дороже, чем ещё одна плашка оперативы.
Это пока. Пыня старается изо всех сил чтобы в скором будущем стало наоборот
Аноним 12/09/22 Пнд 13:16:30 2461059 466
>>2461050
Во время написания/выхода второго издания C++20 был в черновике, кажется. Вроде бы, все стандарты до него там описаны нормально.
Кажется, уже 3-е вышло на ангельском, но хз, можно ли его найти где-нибудь забесплатно.
Аноним 12/09/22 Пнд 13:21:54 2461064 467
>>2461039
Ага, а если программа пишется для широкой публики, а не внутреннего использования? Пользователям тоже предложишь докупить 60 Гб оперативной памяти?
Аноним 12/09/22 Пнд 13:34:17 2461078 468
>>2461064
Жабадауны так не умеют, их мышление ограничивается серверным говном.
Аноним 12/09/22 Пнд 14:00:28 2461099 469
>>2461064
Для широкой публики нельзя у себя на серверах всё посчитать чи шо?
Аноним 12/09/22 Пнд 14:03:42 2461101 470
>>2461099
Посчитай на сервере торрент-клиент, например.
Аноним 12/09/22 Пнд 14:12:22 2461106 471
>>2461101
В какой маняреальности торрент-клиент на джаве сожрёт 64гб памяти?
Аноним 12/09/22 Пнд 14:42:15 2461131 472
>>2460894
Инструкции процессора могут быть любыми, которые заложил разработчик, что мешает ему оптимизировать степень, если это требует заказчик? Ничего.
Аноним 12/09/22 Пнд 14:43:24 2461132 473
>>2460897
>Пример, кроме C/C++?
Почему ты вынес кресты, когда обсуждается Си? Асм.Это не машинный код.
Аноним 12/09/22 Пнд 15:04:49 2461143 474
>>2461106
Ну например сброс на диск только после полного скачивания.
Аноним 12/09/22 Пнд 15:17:31 2461153 475
>>2461143
Понятно что при остром желании можно хоть пустыми объектами всю память занять, если ставить себе цель именно занять всю память.
Но без злого умысла сделать тобой описанное - я хуй знает, как.
Аноним 12/09/22 Пнд 15:32:40 2461169 476
>>2461132
>Асм
Про ассемблер можно сказать, как он будет транслирован в ассемблер. Великая мысль.
Аноним 12/09/22 Пнд 15:43:58 2461181 477
Аноним 12/09/22 Пнд 15:46:10 2461183 478
>>2461153
>жава кайфовый язык создавай столько объектов сколько нужно вм всё порешает за тебя)
>ой а почему мой калькулятор использует целый гиг памяти а где сборщик мусора((
Аноним 12/09/22 Пнд 15:49:37 2461188 479
>>2461169
>транслирован в
Машинный код, крестовики даже такое не знают.
Аноним 12/09/22 Пнд 16:18:10 2461209 480
>>2461183
Что ты этим пытаешься сказать?
Торрент клиент - каловый пример, его школьник-имбецил напишет на каком угодно сахарном языке и будет норм работать.
Самая прибыльная игра в мире написана на жабе (игра блядь), вот и ответ можно ли клиентский софт писать на жаве. Да можно, если он кому-нибудь нужен.
Аноним 12/09/22 Пнд 16:26:53 2461217 481
>>2461209
>Самая прибыльная игра в мире написана на жабе
Какая?
Аноним 12/09/22 Пнд 16:27:27 2461219 482
>>2461209
>Самая прибыльная игра в мире написана на жабе (игра блядь)
Это которая потом была на плюсы переписана, чтобы в неё можно было играть?
Хороший пример, хороший.
Аноним 12/09/22 Пнд 16:54:25 2461245 483
>>2461219
Чёт в шёпот.
Ты хотя бы минимально ознакомься с вещами, о которых рассуждаешь.
Во-первых копрокубы были самой продаваемой игрой в мире задолго до появления bedrock edition. Во-вторых, задача этой версии - принести кубач на каловые платформы. Сначала появилась мобильная версия, потом консольные версии, получился зоопарк разных версий, потом их все поубирали из магазинов и выкатили ЕДИНУЮ кастрированную говноверсию, в которую играют только те, кто по каким-то причинам не может играть в нормальную.
>чтобы в неё можно было играть
Чтобы в крестовую версию можно было играть, в неё нужно хотя бы моды завезти, но модов там нет и не предвидится.
Аноним 12/09/22 Пнд 17:06:53 2461255 484
>>2461209
>Самая прибыльная игра в мире
>самой продаваемой игрой
Прибыль основывается не только на продаже копий.
>>2461245
>задача этой версии - принести кубач на каловые платформы
Интересно, а почему они просто не портировали жабу?
Аноним 12/09/22 Пнд 17:10:03 2461259 485
>>2461255
>Интересно, а почему они просто не портировали жабу?
Ой, а жаба оказывается есть под все платформы... неловко получилось.
Аноним 12/09/22 Пнд 17:14:10 2461260 486
Аноним 12/09/22 Пнд 17:14:58 2461261 487
>>2461245
> кто по каким-то причинам не может играть в нормальную
Например, по причине лагов и статтеров на кривой жаба-версии.
А ой...
Аноним 12/09/22 Пнд 17:15:58 2461263 488
Аноним 12/09/22 Пнд 17:17:40 2461266 489
>>2461260
>На айфон?
Ты сейчас сказал, что жаба код невозможно выполнить на айос?
Аноним 12/09/22 Пнд 17:21:00 2461270 490
>>2461266
Ты сейчас сказал, что можно, и без каких-либо подвохов?
Я про такое не слышал и нагуглить сходу не удалось
Аноним 12/09/22 Пнд 17:26:04 2461275 491
Аноним 12/09/22 Пнд 20:44:59 2461452 492
>>2460807
Он уже написал из-за чего - неиспользование restrict keyword'a новичками при вероятности алиасинга (перекрытия) структур данных, переданных функции в параметрах-указателях.
/мимо rust-бой где такой нужды нет (как и в фортране)
Аноним 12/09/22 Пнд 20:48:50 2461456 493
>>2461039
Чем больше оперативы по коду требует программа, тем меньше вместится в кеш процессора. Соотв. программа будет работать медленней.
Аноним 13/09/22 Втр 09:30:39 2461673 494
Ну шо господа - с профессиональным праздником.
Аноним 13/09/22 Втр 09:33:06 2461675 495
Аноним 13/09/22 Втр 09:35:03 2461677 496
>>2461673
Да, всех с днём парикмахера! ✂️💇🔥
Аноним 13/09/22 Втр 10:25:25 2461693 497
>>2461673
Ура, всех с днем войск радиационной, химической и биологической защиты!
Аноним 13/09/22 Втр 10:50:35 2461703 498
Помогите.
>.clang-format
>.clang_complete
Мне не нравится, что в одном случае используется "-", а в другом "_".
Аноним 13/09/22 Втр 11:07:14 2461709 499
Аноним 13/09/22 Втр 11:27:28 2461716 500
>>2461673
Международный день дауна уже же прошёл. Или о чём речь, я очень плохо соображаю?
Аноним 13/09/22 Втр 11:40:26 2461728 501
>>2461716
День программиста бля.
Аноним 13/09/22 Втр 11:41:47 2461729 502
Аноним 13/09/22 Втр 11:48:19 2461736 503
Аноним 13/09/22 Втр 11:51:37 2461741 504
>>2461736
Да при чём тут сегодня? Нихуя не понимаю.
Аноним 13/09/22 Втр 13:47:14 2461819 505
Аноним 13/09/22 Втр 14:20:53 2461867 506
>>2461675
Ох епт, сегодня Кресты наблюдал, когда на собес шёл.
Аноним 13/09/22 Втр 19:27:36 2462076 507
Аноним 13/09/22 Втр 19:54:43 2462103 508
>>2462076
Лучше бы уже функциональщину пилили бы в новых стандартах, а не всякие {{zalupa::pizda}}. Уже тошнит от их изобретений велосипедов и новых конструкция языка под эти велосипеды.
Аноним 13/09/22 Втр 21:27:06 2462187 509
>>2462103
>Лучше бы уже функциональщину пилили бы в новых стандартах
Функциональная блядь закукарекала. Пошёл нахуй!
Аноним 13/09/22 Втр 21:30:01 2462194 510
>>2462103
Это такой троллинг тупостью? Какой функциональщины кроме паттерн матчинга тебе не хватает?
Аноним 13/09/22 Втр 22:01:32 2462233 511
А я сегодня уместил три флажка и счетчик ссылок в short.
Аноним 13/09/22 Втр 22:04:37 2462236 512
Аноним 13/09/22 Втр 22:04:51 2462237 513
>>2462194
> Какой функциональщины кроме паттерн матчинга тебе не хватает?
Монады, нормальные лямбды к монадам. Возврат значений из выражений, например из циклов. Нормальные диапазоны и итераторы на уровне языка, а не стд-высеры не пришей к пизде рукав. Что-то с rvalue сделать для накручивания лапши.
Аноним 13/09/22 Втр 22:05:54 2462238 514
>>2462233
А мог уместить их у себя в очке. Ещё сфотать это и сюда запостить.
Аноним 14/09/22 Срд 07:31:09 2462424 515
>>2462237
>Монады
Реализуются.
>>2462237
>нормальные лямбды к монадам.
Элаборейт.
>>2462237
>Возврат значений из выражений, например из циклов.
Корутины что-ли? Есть.
>>2462237
>Нормальные диапазоны и итераторы на уровне языка, а не стд-высеры не пришей к пизде рукав
Доебка ни о чем, они есть и все.

Да, кресты не задумывались как фп язык и фп на нем неудобно, но оно есть. Хочешь удобного фп иди в не мультипарадигменный язык, а не выдавай здесь свою шищу.
Аноним 14/09/22 Срд 08:10:28 2462438 516
>>2462424
> Хочешь удобного фп иди в не мультипарадигменный язык
В этом контексте дело же не в том, что он мультипарадигменный, а в том что у него сборщика мусора нет. (ИМХО)

Покажи удобный ФП язык без сборщика мусора. Он также страшно будет выглядеть как кресты.
Аноним 14/09/22 Срд 08:15:35 2462441 517
Аноним 14/09/22 Срд 09:33:21 2462492 518
>>2462438
>сборщика мусора
Зачем?
Аноним 14/09/22 Срд 09:38:18 2462498 519
>>2462492
Удобно. Какие вообще подводные в сборщтке мусора?
Аноним 14/09/22 Срд 09:52:40 2462506 520
>>2462498
>Какие вообще подводные в сборщтке мусора?
1. Бесполезность.
2. Потребление.
3. Бесконтрольность.
Аноним 14/09/22 Срд 10:03:55 2462515 521
>>2462498
Добавлю. >>2462506
Утечки всё равно происходят.
Любит вылезать в самый не подходящий момент.
Аноним 14/09/22 Срд 10:07:43 2462519 522
>>2462498
Самые большие подводные - очень сложно его обойти. В том же шарпе надо дико пердолиться, чтоб иметь пародию на RAII.
Аноним 14/09/22 Срд 10:54:02 2462563 523
>>2462506
>1
Ну давай считать ссылки. Циклические структуры у тебя, конечно же, никогда не возникнут.
>2
Его нет в Фортране 66, где все выделяется статически. Как только начинаем выделять/освобождать динамически, ПОТРЕБЛЕНИЕ неизбежно появляется.
>3
Это необязательно. Например, в Т (вроде бы) сборщик мог быть написан на самом Т. Во многих лиспах сборщик можно приостановить. В системах с реалтаймововй сборкой есть жесткии гарантии.
Аноним 14/09/22 Срд 11:00:06 2462566 524
>>2462506
> >Какие вообще подводные в сборщтке мусора?
> 1. Бесполезность.
Он крайне полезен
> 2. Потребление.
Ты уверен? Мне кажется что по потреблению сборщик мусора будет куда оптимальнее. Он вроде как может двигать объекты, а с обычным маллоком ты не словишь фрагментацию памяти с вечным распуханием?
> 3. Бесконтрольность.
Им можно управлять. Кстати насчёт отзывчивости - а маллок какие то гарантии вообще даёт, за какое количество времени он даст тебе блок памяти, или при росте потребления он будет все более и более задумчив?
Аноним 14/09/22 Срд 11:27:43 2462582 525
Аноним 14/09/22 Срд 11:29:25 2462584 526
>>2462582
Скорее каждый ГЦ выигрывает у него, лол
Аноним 14/09/22 Срд 11:31:13 2462585 527
Аноним 14/09/22 Срд 11:34:07 2462590 528
Screenshot20220[...].png 385Кб, 1920x1200
1920x1200
Аноним 14/09/22 Срд 11:37:48 2462594 529
>>2462590
Как он может быть быстрее?
Аноним 14/09/22 Срд 11:39:09 2462595 530
Это бред. Я кастомный аллокатор сделаю и твой сборщик останется сзади пыль глотать
Аноним 14/09/22 Срд 11:39:46 2462597 531
>>2462585
Хачкель GHC. На нём можно писать код быстрее крестов, при том что в нём сборщик мусора.
Аноним 14/09/22 Срд 11:41:28 2462599 532
>>2462590
Чем этот текст отличается от слов двачера?
>>2462597
>писать код быстрее крестов
Писать быстрее или код будет работать быстрее?
Аноним 14/09/22 Срд 11:46:13 2462601 533
>>2462599
> код будет работать быстрее?
Это. Например, парсер текста на хачкеле по производительности ебёт парсеры на крестах.
Аноним 14/09/22 Срд 11:52:12 2462605 534
>>2462601
Возможно, но успех был точно в использовании ГСа, а не из-за алгоритма?
Аноним 14/09/22 Срд 11:55:08 2462611 535
Аноним 14/09/22 Срд 11:55:57 2462613 536
>>2462605
Как минимум гс там не мешает писать быстрый код.
Аноним 14/09/22 Срд 12:35:23 2462650 537
>>2462590
>1. запостить хуйню
>2. запостить хуйню картинкой
Как называется эта болезнь, когда второе считается за весомый аргумент, а первое отбрасывается даже не думая?
Аноним 14/09/22 Срд 12:40:42 2462655 538
Подскажите крабу, как мне с g++ подлючать стороннюю dll к своему проекту?
Аноним 14/09/22 Срд 12:41:35 2462657 539
14/09/22 Срд 18:43:20 2462996 540
>>2452053
Сиди в своём контейнере и не булькай, петушок
Аноним 14/09/22 Срд 19:22:08 2463036 541
>>2462996
Андрюха, ща мы тебя сдеаноним.
Аноним 14/09/22 Срд 22:50:49 2463166 542
>>2461143
>Ну например сброс на диск только после полного скачивания.
А где тут вина жабы? Такую хуйню можно и на С/С++ накодить.
Аноним 15/09/22 Чтв 00:06:07 2463208 543
>>2463166
А причём тут жаба? Ты мне сказал придумать, как с помощью торрент клиента проебать 64 гб памяти, я придумал.
Аноним 15/09/22 Чтв 03:16:14 2463263 544
vivaldiKMKVyPVh[...].png 94Кб, 1537x712
1537x712
Аноним 15/09/22 Чтв 18:21:38 2463674 545
ОТКУДА ТАКОЙ МАССОВЫЙ ДРОЧ НА Rust?
Объясните пожалуйста, кто это форсит и чем оно лучше C/C++ и Go
Аноним 15/09/22 Чтв 18:37:52 2463687 546
image 1129Кб, 800x1300
800x1300
Аноним 15/09/22 Чтв 19:30:16 2463725 547
>>2463674
Тем что в нём код короче, работает как ожидается и выплёвывает ошибку компиляции в любой непонятной ситуации. А на крестах приходится писать простыни кода, ебаться с чудесами управления памятью и кишками макросов/шаблонов, сосать хуи в реалтайме потому что работает не так как ожидается, а компилятор промолчал.
ГОвно в принципе синоним слова кал.
Аноним 15/09/22 Чтв 19:35:22 2463730 548
>>2463725
>ебаться с чудесами управления памятью
Видел я как делают связный список на Rust'е.
Аноним 15/09/22 Чтв 21:16:42 2463800 549
Сап плюсач, я школьник-самоучка, в последнее время в основном пишу на расте, плюсы всегда как-то обходил стороной, но сейчас решил подтянуть их, ибо придется писать олимпиадные задачки на нём да и что-то чувство неполноценности из-за неумения в плюсы гложет. Уткнулся в непонимание move-семантики. Правильно ли я описал код здесь и что происходит с переменными после мува? Если обратиться к ним, случится segfault или ub?
https://pastebin.com/C6pAPM2v
Аноним 15/09/22 Чтв 21:19:11 2463802 550
>>2463730
Unsafe-неосилятор пожаловал
Аноним 15/09/22 Чтв 21:21:53 2463805 551
>>2463674
Первый язык с 2000 года, который привнес что-то новое в языкостроение, а не очередная реализация идей 70-х годов.
Аноним 15/09/22 Чтв 21:27:37 2463812 552
>>2463800
После мува невалидные ссылки просто нельзя использовать. Но в конкретно твоём примере разницу между мувом и копированием не будет, у тебя же тут дефолтный конструктор и все типы примитивные.
Аноним 15/09/22 Чтв 21:30:36 2463816 553
1558441613489.png 148Кб, 1729x1071
1729x1071
>>2463802
Что не так с ансейфом? Смотри какая красота вместо лапши ифов на 100 строк крестах.
Аноним 15/09/22 Чтв 21:31:29 2463817 554
>>2463812
Разве компилятор не сгенерирует дефолтный мув-конструктор? Получается, в этом случае объект всё равно просто скопируется, а не будет чего-то вроде передачи владения новой переменной?
Аноним 15/09/22 Чтв 21:33:00 2463819 555
>>2463816
Так я и говорю, что критиканы за двусвязные списочки вроде него банально не могут в ансейф
Аноним 15/09/22 Чтв 21:38:40 2463825 556
>>2463817
> Разве компилятор не сгенерирует дефолтный мув-конструктор?
Сгенерирует, но чем он по твоему от обычного копирующего в данном случае будет отличаться? Я хз какой сгенерируется тут дефолтный, но он совершенно точно должен скопировать значения полей из старого объекта в новый. Чисто теоретически он мог бы их и обнулить, но зачем, если по нормальному объектом пользоваться будет же запрещено, это будет пустая трата времени.
> Получается, в этом случае объект всё равно просто скопируется, а не будет чего-то вроде передачи владения новой переменной?
У тебя обычные сраные инты, нет тут никакого владения, владеть нечем. Владение появится когда у тебя будут какие нибудь указатели которые надо почистить в деструкторе, сокеты и тому подобное.
Аноним 15/09/22 Чтв 21:48:28 2463838 557
Аноним 16/09/22 Птн 07:57:53 2464017 558
>>2463802
>Unsafe-неосилятор
Логика растошизиков с бесполезным языком.
Аноним 16/09/22 Птн 08:00:06 2464018 559
>>2463800
>школьник-самоучка
>пишу на расте
>пидор-чулочник
пофиксил
Аноним 16/09/22 Птн 08:01:08 2464019 560
>>2463730
За связный список надо сразу ломать пальцы.
Ситуаций когда он нужен в природе не бывает.
Аноним 16/09/22 Птн 08:18:43 2464022 561
>>2464019
>Ситуаций когда он нужен в природе не бывает.
Он не знает...
Аноним 16/09/22 Птн 10:42:56 2464076 562
>>2464019
В хэлоувордах не нужен.
У меня работало через void *. Старый добрый си не контрится.
Аноним 16/09/22 Птн 12:48:36 2464153 563
>>2464132
>Они грузят сразу весь файл в оперативу или там сама по себе реализована работа с кусками размера n?
Зависит от реализации.
Аноним 16/09/22 Птн 13:10:44 2464174 564
>>2464132
Там просто системный вызов который работает хуй знает как. Может поискать, но вряд ли есть какая то строго единая реализация
Аноним 16/09/22 Птн 14:21:44 2464236 565
>>2463816
Что это за дерьмо? Как это читать?
Аноним 16/09/22 Птн 14:34:44 2464253 566
>>2464236
Это говно называется DirectX 12. Читать построчно.
Аноним 16/09/22 Птн 17:33:58 2464422 567
>>2464253
>Читать построчно.
Там весь скрин - одна строчка, типичный жабаскриптовый понос.
Аноним 16/09/22 Птн 18:11:59 2464462 568
Аноним 16/09/22 Птн 18:23:39 2464473 569
>>2462506
Пацанам из Epic Games расскажи, а то они не в курсе, пускай срочно выпиливают GC из движка
Аноним 16/09/22 Птн 20:07:31 2464579 570
Кто знает книгу или статью по программированию графиков? Алгоритмы отрисовки, хитрости.
Аноним 16/09/22 Птн 20:10:48 2464580 571
Кто кроме яндекса и хуавея стажки дает сейчас?
Аноним 16/09/22 Птн 21:17:38 2464660 572
>>2464579
Какие ещё хитрости?
gLBegin(GL_LINES)
for (...) { glVertex2f(x,y,o); }
glEnd()
Аноним 16/09/22 Птн 21:21:58 2464662 573
>>2464660
За FFP нужно пиздить.
Аноним 16/09/22 Птн 21:24:17 2464664 574
Аноним 16/09/22 Птн 22:06:58 2464701 575
>>2464664
Пок пок пок... Надо нарисовать 4 палки... Подключаю glew, glut, выбираю ARB, 50 строк кода.. Еще десяточку... Запускаю... Почему экран синий?
Аноним 16/09/22 Птн 22:23:44 2464708 576
>>2464701
Хотя не, лучше сгенерить кастомный загрузчик через glad. Ну и там VAO, VBO, дескрипторы в классы завернуть. Ну чтоб не стейт и не вонючий C-style. RAII там, все дела.
Аноним 17/09/22 Суб 01:48:00 2464834 577
>>2464253
Белые люди пишут под вулкан нампрпврславном си. А раст доя арабов-индусов.
Аноним 17/09/22 Суб 06:36:48 2464877 578
Аноним 17/09/22 Суб 07:40:22 2464888 579
В GO оказывается есть гарбедж коллектор. Я чето охуел ребят. Ну и какая он замена си? И оказывается из-за этого в некоторых фирмах сервера переписывали на RUST.
Аноним 17/09/22 Суб 07:43:55 2464889 580
>>2464877
>>2464236
Вы кроме Си-подобного говна ничего не использовали? К новому синтаксису привыкнете через неделю и не захотите потом возвращаться.
Аноним 17/09/22 Суб 07:45:20 2464890 581
>>2464889
Так у тебя си-подобный синтаксис
Аноним 17/09/22 Суб 07:49:32 2464892 582
>>2464890
Да, я после отправки понял, что обосрался. Имел ввиду другое, но из-за своей лени и косноязычия было лень подробно свои мысли расписывать, поэтому просто забей.
Аноним 17/09/22 Суб 08:04:25 2464898 583
>>2464877
А что тебя смущает? То что там 3 строчки кода развернуты в 20? Или то что вместо цикла там find_map с диапазоном и лямбдой? Или то что коды ошибок через паттерн матчинг и unwrap обрабатываются? Это всего лишь немного функциональщины, в расте вообще норма писать цепочки вызовов методов столбиком и лямбды в них, даже вместо заполнения структур предпочитаются билдеры. Для читаемости наоборот лучше такое - код после "=" очевидно отвечает за создание объекта, паттерн матчинг на вызовах функций спасает от кучи ифов, которые сливаются в кашу и могут быть раскиданы по коду. Да, уровней вложения много и надо форматировать код чтоб не получалась лапша, но зато код логически скомпонован. По крайней мере нет хуйни как в крестах, когда в простыне кода приходится скролить вверх-вниз, чтоб понять как оно связано между собой, ведь в пределах файла с реализацией класса часто буквально в процедурном стиле на 500+ строк всё написано.
Аноним 17/09/22 Суб 08:13:45 2464899 584
>>2464888
> замена си
Его позиционировали как замену питону (перлу)...
Аноним 17/09/22 Суб 13:00:15 2465086 585
Я нубик в шаблонах, хочу стать про. Что читать?
Аноним 17/09/22 Суб 13:29:24 2465118 586
Аноним 17/09/22 Суб 14:27:20 2465181 587
>>2464889
Я вообще джава-боярин и для меня даже код на педалях кажется малочитаемым, что уж говорить о том, что ты там серанул.
Аноним 17/09/22 Суб 15:28:53 2465267 588
Порекоммендуйте либу для быстрой работы с файлами. Не считая mapping-a.
Аноним 17/09/22 Суб 15:39:55 2465284 589
Аноним 17/09/22 Суб 15:40:49 2465287 590
>>2465284
>std::fstream
Медленная что пизда хуита, как и весь STL.
Аноним 17/09/22 Суб 15:46:14 2465291 591
>>2465287
Раз ты такой умный, то тебе есть с чем сравнивать. Вот и бери то, что быстрее.
Аноним 17/09/22 Суб 16:24:09 2465345 592
IMG202209081426[...].jpg 85Кб, 512x512
512x512
Поясните за рекурсию в бинарных деревьях, это типа заебись или нет? а если дерево будет ебических размеров стек не пукнет по шву?
Аноним 17/09/22 Суб 16:47:37 2465371 593
>>2465345
Для дерева, в котором 2^32 значения, глубина рекурсии будет всего лишь 32.
Аноним 17/09/22 Суб 17:06:11 2465402 594
>>2465371
Это если оно сбалансированное, а в худшем случае глубина рекурсии = кол-во элементов

Поясните, кстати, нахуй нужны бинарные деревья блять??
Аноним 17/09/22 Суб 17:10:09 2465412 595
>>2465402
Чел, поступи в норм вуз или учебник себе найди, чтобы тупые вопросы не задавать
Аноним 17/09/22 Суб 17:19:26 2465428 596
>>2465402
>нахуй нужны бинарные деревья блять??
Банально синтаксические выражения парсить. Попробуй написать калькулятор с учетом приоритета вычислений и различными фукциями, тогда на практике поймешь зачем. Например, чтобы оно решало выражения вида sin(24) + cos(5)
Аноним 17/09/22 Суб 17:24:32 2465433 597
>>2465402
> Это если оно сбалансированное, а в худшем случае глубина рекурсии = кол-во элементов
Так не используй несбалансированные деревья, кто тебе мешает.
> Поясните, кстати, нахуй нужны бинарные деревья блять??
Ну как минимум для написания упорядоченных сетов и мап.
Аноним 17/09/22 Суб 17:37:58 2465444 598
>>2465412
>>2465428
Ладно, я тупанул, походу.
Я не мог понять, чем обычный бинарный поиск хуже дерева. Потом дошло, что поиск за O(logn), а вот удаление и добавление новых элементов за O(n), потому что сдвигаем элементы в массиве/векторе. Сначала показалось, что тоже должно быть за O(logn). В дереве добавление и удаление тоже за O(logn). Если балансировка дерева это тоже O(logn), то, в принципе, всё понятно.

Осталось разобраться с балансировкой
Аноним 17/09/22 Суб 19:42:02 2465589 599
>>2465444
> Осталось разобраться с балансировкой
И это самое сложное, что есть в деревьях. Есть дохуя видов балансировки: AVL-деревья, красно-чёрные деревья (юзаются в STL), B-деревья и B+-деревья (юзаются в базах данных для индексов) и другие.
Аноним 17/09/22 Суб 19:56:08 2465599 600
>>2465371
Только в идеально сбалансированном (на практике не бывает), школьник ты эдакий.
Аноним 17/09/22 Суб 19:57:47 2465601 601
>>2465599
Бывает, школьник ты эдакий.
Аноним 17/09/22 Суб 21:36:52 2465688 602
Аноним 17/09/22 Суб 23:03:45 2465775 603
>>2465688
> международная компания-разработчик продуктов
Какой смысл писать такое в 2к22м? Или имеются в виду народы белоруссии и казакстана?
Аноним 18/09/22 Вск 00:56:48 2465842 604
Анонсы, прошу помощи.
Есть прога, инжектит указанную dll в другую(не читы, честное слово, попросили помочь просто). С этим всё ок, но есть необходимость аутпут этой проги получить, когда в неё загружена библиотека.
Сталкивался кто-нибудь? Гугл находит пару-тройку способов достать аутпут другого процесса, но везде(даже если в строке поиска обратное) рассматривается ситуация с дочерним процессом, когда ему STD_OUTPUT_HANDLE передаётся родительский.
Но у меня процесс не дочерний, по условию запускать его самому нет варианта. Как с этим справляться?
Пробовал запустить на стороне процесса через CreateRemoteThread GetStdHandle, чтобы получить handle устройства вывода, но этот вариант тоже не сработал - ни через ReadFile, ни через пайпы, ни через SetStdHandle.
Аноним 18/09/22 Вск 01:07:01 2465849 605
Ну хз, хук повесить на какой-нибудь Write*(). Правда тогда получишь весь вывод, а не только std. и вообще я не настоящий сварщик и в теме не разбираюсь, но вот в тред насрал зачем-то
Аноним 18/09/22 Вск 01:11:03 2465852 606
https://onlinegdb.com/Yrz560cfK

Поясните в чём прикол, написал говнокод который не должен работать, а он сука работает, но если хоть что-то дописать в конце функции он перестаёт работать.. Короче должно выдавать 31, если раскоментить cout тогда уже ничего не работает, Подскажите почему так.
Аноним 18/09/22 Вск 01:23:45 2465860 607
>>2465852
Конпеляптор шалит оптимизацией.
Выставь во флагах компиляции, например, -O1 - будет бесконечная рекурсия.
Ну или просто другой компилятор попробуй.
Аноним 18/09/22 Вск 02:57:09 2465889 608
screams interna[...].gif 993Кб, 500x279
500x279
Аноним 18/09/22 Вск 07:05:11 2465951 609
>>2465860
>будет бесконечная рекурсия
Не будет бесконечной рекурсии, он просто не сможет зайти в нужную ветку и дропнет это говно... Фишка в том что он сам дописывает return 1 там где этого быть не должно.

>>2465889
>*&
А как ещё можно это реализовать?
Аноним 18/09/22 Вск 07:37:19 2465955 610
>>2465951
>А как ещё можно это реализовать?
Тут все ок, это ссылка на указатель. Только не понятно, зачем писать !&*ptr, если проще и безопаснее !ptr
Аноним 18/09/22 Вск 07:48:39 2465960 611
>>2465955
А, ну тут я обосрался да, потом уже поправил.
Аноним 18/09/22 Вск 08:14:30 2465962 612
Аноним 18/09/22 Вск 13:07:19 2466144 613
ScreenRecording[...].mp4 15090Кб, 1080x2280, 00:00:21
1080x2280
>>2465951
>Не будет бесконечной рекурсии.
А это кто?
Аноним 18/09/22 Вск 15:51:07 2466314 614
22.png 18Кб, 304x451
304x451
>>2466144
Лол. Чёт я забыл что он не может пересоздавать адреса.

Короче вот мой новый говнокод обоссыте, может есть идеи как это проще можно реализовать?

https://onlinegdb.com/mmadu_HQo
Аноним 18/09/22 Вск 15:54:03 2466317 615
>>2466314
Также интересно как проверить утечку памяти, где посмотреть хорошо я жопу подтёр или размазал по булкам?
Аноним 18/09/22 Вск 16:36:13 2466350 616
Аноним 18/09/22 Вск 19:13:28 2466468 617
Аноним 19/09/22 Пнд 01:01:18 2466823 618
>>2466468
>Переходим на rust++
пофиксил
Аноним 19/09/22 Пнд 04:17:48 2466865 619
>>2466317
Зачем подтирать жопу, если есть биде (GC)?
Аноним 19/09/22 Пнд 04:30:53 2466868 620
>>2466468
Как называется эта болезнь? Почему они все пытаются вместо идеального C синтаксиса высрать это нечитаемое говно, которое ещё и занимает больше места?
Аноним 19/09/22 Пнд 06:31:50 2466880 621
>>2466865
Зачем снимать штаны и садиться на унитаз, перед тем как срать, если мамочка (GC) всё сама уберёт и постирает одежду?
Аноним 19/09/22 Пнд 12:27:29 2467082 622
>>2466868
людям заняться нечем
Аноним 19/09/22 Пнд 13:16:44 2467126 623
>>2466868
Ты не понимаешь, ноука докозала, что читабельность кода увеличилась на 0.1%
Аноним 19/09/22 Пнд 13:30:04 2467133 624
>>2466468
Кал. Надо упрощать синтаксис, а не усложнять. Хороший дизайн языка - это когда одна и та же конструкция может решать много разных задач. А когда под каждую задачу пилят новую конструкцию языка - это соевые костыли. Например, как шаблоны высрали в виде языка в языке, так и тут такое же нечитаемое говно.
Аноним 19/09/22 Пнд 13:56:52 2467145 625
Раз уж подняли тему синтаксиса, то тоже задам свой вопрос. Насколько приемлем для вас "синтаксический сахар"? Мне кажется, что в плюсах его количество идеально. Его не сильно много как современных язычках и не мало, чтобы приходилось миллиарды раз писать рутинный код для рядовых вещей. Он вот именно решает возникшую проблему, а не существует ради существования. Наприимер, в каком нибудь JS или Питон - цикл for уже моветон. Хотя лично я ничего плохого в нем не вижу.
Аноним 19/09/22 Пнд 14:17:02 2467156 626
>>2467145
Синтаксический сахар в плюсах это auto и серийный for? Или о чём речь?
Аноним 19/09/22 Пнд 14:34:19 2467165 627
>>2467145
Какой нахер синтаксический сахар в крестах? Эти уебки все никак не могут инициализацию полей в структурках сделать, тогда как в си уже лет 10 есть.
Аноним 19/09/22 Пнд 14:42:26 2467175 628
image.png 251Кб, 680x709
680x709
>>2467156
>Синтаксический сахар в плюсах это auto и серийный for?
Аноним 19/09/22 Пнд 14:49:30 2467178 629
>>2467165
Дедуля, попроси старших динозавров на проекте, чтобы все перешли на c++20. Там есть инициализация типа
ClassName obj = ClassName { .x = 1, .y = 2}
Правда, надо, чтобы поля были в том же порядке, как и в структуре.
Аноним 19/09/22 Пнд 15:00:33 2467189 630
>>2467178
Ебать в том же порядке. Сложна+¹1
Аноним 19/09/22 Пнд 15:01:49 2467192 631
>>2467189
Эт я не сдержался с тупости вопроса. Извиняюсь. По факту перед скобками и тип писать не нужно.
Аноним 19/09/22 Пнд 15:52:08 2467217 632
>>2467178
Так это в каком-то виде даже до 11 стандарта было.
Просто, как я понимаю, там вызывался дефолтный конструктор и надо было все поля указывать.

Бтв не хватает порой такой штуки, когда ты можешь явно указать, в какой аргумент функции что передаёшь.
То есть что-то вроде
void proc(int x = 0, int y = 5, int z = 10) {...}
proc(z=> 20);
Аноним 19/09/22 Пнд 16:50:42 2467253 633
>>2467217
То есть как в питоне. Да, было бы неплохо.
Аноним 19/09/22 Пнд 17:33:22 2467292 634
Аноны, где-то пару лет назад выпал из языка и не следил вообще ни за чем.
Хочется освежить в памяти (или узнать) вещи которые были с 17 стандарта и по текущий момент.
Есть какие ресурсы или блоги для этого?
Аноним 19/09/22 Пнд 17:42:24 2467296 635
>пару лет назад выпал из языка
Рожу этого хипстора представили? Он выпал из языка и потерялся.
Аноним 19/09/22 Пнд 17:48:11 2467305 636
>>2467178
> Правда, надо, чтобы поля были в том же порядке, как и в структуре.
В этом и есть пиздец. В сишке не нужно соблюдать порядок, внезапно. Это жутко неудобно, когда у тебя там 20 полей, как я должен догадаться в каком они порядке? В итоге сначала пишешь, потом по вылезшим ошибкам переставляешь их.
Аноним 19/09/22 Пнд 18:23:47 2467314 637
Аноним 19/09/22 Пнд 18:33:35 2467322 638
Аноним 19/09/22 Пнд 19:42:30 2467396 639
Вот в шарпе есть стек и куча. На стеке доступ к данным значительно быстрее, но он имеет ограничения. Структуры в шарпе размещаются на стеке, а классы в куче. А в крестах есть подобное? Как здесь работают с памятью?
Аноним 19/09/22 Пнд 19:48:09 2467404 640
>>2467396
Естественно. new - выделит память в куче (если не placement, тогда вообще нихера выделять не будет), остальное на стеке.
Аноним 19/09/22 Пнд 20:34:26 2467442 641
Как добавить либу к проекту?
У меня есть .so файл, который я линкую. А откуда доставать хедеры? Из сорцов либы?
Аноним 20/09/22 Втр 00:58:46 2467612 642
>>2467396
Всегда интересно наблюдать, как изучавшие программирование с питона и джавы открывают для себя новую модель памяти.
Представь что всю жизнь ты знал о стеке только то что он переполняется при рекурсии а рекурсия это, как известно, просто мем башорга. А тут оказывается что где-то люди сохраняют туда данные разного размера. Понятие размера структуры тоже требует переосмысления если теперь поля это не ссылки в кучу а реальные объекты.
Аноним 20/09/22 Втр 01:01:43 2467613 643
>>2467612
Начинал программирование с карт для варкрафта 3 https://xgm.guru/p/wc3/jassintroduction
Всё остальное в последствии воспринимал как само собой разумеющееся
Аноним 20/09/22 Втр 01:36:09 2467624 644
>>2467613
Аналогично, только начинал с программирования мышкой в gamemaker 8.
Культурный шок испытал только при встрече с функциональщиной, когда узнал что вместо добавления элемента в список создается новый список.
Аноним 20/09/22 Втр 07:32:59 2467679 645
>>2467404
Кстати, в стандарте вообще упоминаются стек и куча, или от них абстрагируются? Есть гарантия, что глобальные переменные - в дата сегменте, локальные - в стеке, а созданные через new объекты - в куче? Или зависит от компилятора?
Аноним 20/09/22 Втр 07:39:26 2467681 646
>>2467679
>стек и куча
Нет, есть только storage категории. На самом деле раньше делали компы вообще без стека.
Аноним 20/09/22 Втр 08:00:31 2467686 647
Кстати а зачем существует ограничение на размер стека? Типа потому что он при переключении контекста копируется?
Аноним 20/09/22 Втр 08:35:08 2467701 648
>>2467686
Потому, что так проще. До появления всякого пидорства вроде потоков стек мог расти, пока не упирался во что-то еще.
Аноним 20/09/22 Втр 09:14:04 2467738 649
>>2467701
Так а хуле на стек не выделить терабайт виртуальной и пусть растет. Что поток должен знать о нем кроме указателя на верх?
Аноним 20/09/22 Втр 11:19:04 2467800 650
>>2467681
> Нет, есть только storage категории. На самом деле раньше делали компы вообще без стека.
Может все таки без кучи? Без стека чё то делать анрил, весь вызов функций на нем работает.
Аноним 20/09/22 Втр 11:56:10 2467828 651
Аноним 20/09/22 Втр 13:00:57 2467854 652
>>2467738
Нет терабайта виртуальной, поридж, это не бесплатно даже на amd64. Каждому потоку резервируют адреса от А до Б. Если процесс полез в невыделенную память между А и Б, ядро наращивает стек. Если полез в другие адреса, его убивают.
Аноним 20/09/22 Втр 13:04:51 2467857 653
>>2467828
Так нету стека или все таки нет аппаратного стека, то есть синтаксического сахарка для него? Ты уж определись
Аноним 20/09/22 Втр 14:14:13 2467905 654
15738192891120.jpg 37Кб, 750x423
750x423
>>2467857
>синтаксический сахар для стека
Аноним 20/09/22 Втр 15:37:11 2467993 655
Аноны, чёт не вдуплю никак. Гарантирует ли
std::atomic<int> value;
value.store(1, std::memory_order_relaxed);
то, что значение value после исполнения этой операции будет видно во всех других тредах? Или memory_order_relaxed гарантирует только то, что это value запишется корректно (а когда и где его обновлённое значение будет видно - неизвестно)?
Аноним 20/09/22 Втр 16:43:15 2468053 656
>>2467993
Я синхронизовал треды атомиками чреез сторе, без мемори ордера, и ваит и нотифи, если нужно было. Все работало ожидаемо.
Аноним 20/09/22 Втр 16:53:37 2468063 657
Котаны, почему не получается заменить символ '\n' ни в файле, ни в массиве char'ов? с другими символами прекрасно работает
Аноним 20/09/22 Втр 16:55:37 2468067 658
>>2468063
> с другими символами прекрасно работает
Что именно?
Аноним 20/09/22 Втр 16:56:23 2468069 659
>>2468067
замена типа 'char' на 'char', кроме '\n'
Аноним 20/09/22 Втр 16:56:53 2468070 660
>>2468069
замена типа 'char1' на 'char2', кроме '\n'
Аноним 20/09/22 Втр 17:16:45 2468106 661
Аноны, а какую литературу можно почитать после крпичей Праты по Си и Си++?
Аноним 20/09/22 Втр 18:05:49 2468185 662
почему код не работает:
ifstream file_input(in_path,ios_base::in|ios_base::binary);
ofstream file_output(out_path, ios_base::out | ios_base::binary);

if (!file_input.is_open()) { return 1; }
if (!file_output.is_open()) { return 1; }

char k;
while (file_input) {
file_input.get(k);
if (file_input) {
if (k == '\n') { k = ' '; }
file_output.put(k);
}

}
ДА КАК БЛЯТЬ ИЗБАВИТЬСЯ ОТ ЭТИХ ЕБУЧИХ \n
Аноним 20/09/22 Втр 18:13:16 2468193 663
Аноним 20/09/22 Втр 18:16:31 2468200 664
>>2468193
да
это меня VS и windows от атаки переполнением стека пытаются спасти?
Аноним 20/09/22 Втр 18:17:08 2468202 665
>>2468200
Нет, это в файлах на винде перенос строки обозначается как \r\n
Аноним 20/09/22 Втр 18:23:50 2468210 666
>>2468202
спасибо, но не заработало(

ifstream file_input(in_path,ios_base::in|ios_base::binary);
ofstream file_output(out_path, ios_base::out | ios_base::binary);

if (!file_input.is_open()) { return 1; }
if (!file_output.is_open()) { return 1; }
char k;
while (file_input) {
file_input.get(k);
if (file_input) {
if (k == '\r\n') { k = ' '; }
file_output.put(k);
}

}

далеко не первый час бьюсь над этой проблемой, не могу найти ответ. сейчас надо идти, вернусь часа через 3-4, кодировка ASCII или UTF-8(любая годится), если у тебя будет решение - буду чрезвычайно благодарен, если нет, но и за то что есть ещё раз спасибо
Аноним 20/09/22 Втр 18:24:57 2468212 667
>>2468210
\r это один char
\n это ещё один char
Аноним 20/09/22 Втр 18:30:25 2468220 668
>>2468212
я и так и так успел попробовать - не помогло
теперь точно пора бежать по своим делам(
Аноним 20/09/22 Втр 18:32:48 2468223 669
image.png 63Кб, 621x538
621x538
notepad7u55abkD[...].png 10Кб, 719x274
719x274
>>2468220
Хуёво попробовал, ибо говнокод с пикрила, внезапно, работает.
Аноним 20/09/22 Втр 20:51:42 2468414 670
image.png 15Кб, 484x183
484x183
image.png 27Кб, 510x322
510x322
image.png 27Кб, 285x390
285x390
image.png 33Кб, 1171x102
1171x102
Аноны помогите я тупой
Хочу написать обобщенный класс, разделил на .h и .cpp (на 1-2 скринах пример определения и реализации одного из методов)
При вызове методов в main'е кидает ошибку компиляции (скрин 3 - CMakeLists, скрин 4 - ошибки)
Аноним 20/09/22 Втр 21:13:26 2468447 671
>>2468414
У тебя функция приват и статик.
Она может быть статик, только если класс можно использовать без инициализации экземляра.
А вот приватнкю ты за пределами класса никак не вызовешь.
Мотоды которые ты хочешь вызывать из вне должны быть пабликами, так или иначе.
Аноним 20/09/22 Втр 21:26:58 2468470 672
>>2468414
Ещё бы. Нельзя всю эту шаблонную поебень в цепепе переносить, ее не существует, конпелятор генерит конкретизацию по требованию.

Или явно затребуй экземпляр нужного шаблона нужного тебе типа в хедере.
Аноним 20/09/22 Втр 22:20:32 2468533 673
Для чего нужны кастомные аллокаторы? Что такого можно сделать, написав свой аллокатор, чего нельзя сделать с дефолтным?
Аноним 20/09/22 Втр 22:31:05 2468544 674
>>2468533
Ну, можно налодить кучу объектов из одного куска памяти, а потом грохнуть разом кусок целиком. Дефолтный должен быть универсальным, он не будет знать как ты его намереваешься использовать.
Аноним 20/09/22 Втр 23:10:04 2468605 675
>>2468223
Спасибо тебе, Анон добра тебе и твоим близким
Аноним 20/09/22 Втр 23:16:10 2468612 676
>>2468053
Потому что без ордера там по умолчанию стоит самый параноидальный и тормозной барьер.
Аноним 21/09/22 Срд 01:07:20 2468710 677
>>2468533
Есть такая тема, необходимая в определенного рода по, что память заказывается вообще только один раз, в начале инициализации, почти вся физ память, например. А по ходу исполнения и по мере необходимости выделяется память из уже взятой из системы. Так быстрее.
Аноним 21/09/22 Срд 01:38:39 2468728 678
>>2468710
Не обязательно быстрее. Просто позволяет добиться того что ты хочешь от аллокатора - гарантированное время аллокации, например.
Аноним 21/09/22 Срд 08:16:56 2468786 679
>>2468533
Выделить 1кк объектов по 3 байта и уложится в 3мб.
Аноним 21/09/22 Срд 14:45:54 2469243 680
image.png 11Кб, 534x972
534x972
image.png 9Кб, 516x960
516x960
image.png 11Кб, 492x960
492x960
image.png 11Кб, 464x956
464x956
Как работает подобное масштабирование, какой алгоритм, я чето не могу придумать запрограммировать такое же поведение сетки со значениями
Аноним 21/09/22 Срд 16:45:51 2469418 681
>>2469243
Смотри срц имплота или кукастомплота.
Аноним 21/09/22 Срд 17:19:56 2469503 682
>>2469418
я не умею смотреть сырцы, я очень долго в них разбираюсь.
Аноним 21/09/22 Срд 17:37:35 2469526 683
>>2469243
Какое масштабирование? Там просто оффсеты значений.
Аноним 21/09/22 Срд 17:43:09 2469534 684
>>2469526
Ну я так посидел подумал, там типо есть максимальное и минимальное количество линий умещающееся по осям, допустим минимальное количество линий 4, максимальное 6, если мы масштабируем график то, проверяем, после масштабирования у нас количество значений кратным допустим 10(100, 110, 120, 130, к примеру), меньше чем 4, значит уменьшаем кратность до такого количества, что бы у нас было не больше 5 линий на экран, и не меньше 6. Тоесть теперь будет не кратность 10, а кратность 7.5, или кратность 5. Ну надо подумать еще над формулой
Аноним 22/09/22 Чтв 04:10:34 2470351 685
Реализовал сам string::split, string::join, map. Производительность получилась в точности как у однострочника на питоне.
Аноним 22/09/22 Чтв 05:11:11 2470375 686
хуево реализовал значит
Аноним 22/09/22 Чтв 06:03:52 2470390 687
>>2470375
Я и не претендую, мне просто в кайф, что смог ёбнуть шаблоны и передачу функции как параметра, я на cpp толком не писал с универа.
Аноним 22/09/22 Чтв 21:59:38 2471169 688
>>2451830 (OP)
подскажите, как получить имена локальных дисков и их буквы на компьютере? То есть, если у меня есть 3 диска C, D и E, и например у E имя папки E_folder_name, то как мне их все получить?
С помощью filesystem? Что в path нужно писать?
Аноним 22/09/22 Чтв 22:17:54 2471184 689
>>2471169
# include <windows.h>
TCHAR szBuffer[512];
GetLogicalDriveStrings(512, szBuffer);

Раз уж ты оперируешь понятиями дисков, можешь забить на кроссплатформенность.
Аноним 22/09/22 Чтв 23:08:53 2471214 690
>>2471184>>2471184
спасибо за ответ, не знал про такую функцию
но мне нужно получить именно название диска, а эта функция возвращает только имена дисков
Аноним 22/09/22 Чтв 23:10:24 2471215 691
>>2471214
то есть букву диска, а мне нужно получить имя диска, то есть если у диска D название D_disk_name, мне нужно получить кроме буквы D ещё и имя D_disk_name
Аноним 22/09/22 Чтв 23:26:53 2471228 692
>>2471214
Есть другие функции:
GetVolumeInformationA("C:\\", szVolumeName, NULL, NULL, NULL, NULL, 0);
GetVolumeInformationW(L"C:\\", szVolumeName, NULL, NULL, NULL, NULL, 0);
Аноним 22/09/22 Чтв 23:43:57 2471238 693
>>2471228
какой тип должен быть у szVolumeName?
Аноним 22/09/22 Чтв 23:46:47 2471243 694
Аноним 22/09/22 Чтв 23:57:54 2471261 695
>>2471243
спасибо за информацию, буду смотреть
и ты третий аргумент в функциях пропустил
Аноним 23/09/22 Птн 10:48:38 2471408 696
image.png 0Кб, 577x97
577x97
image.png 0Кб, 579x103
579x103
вот я рисую график, допустим мне надо рисовать точку на координатах 28.4365. Если округлить то получиться 28. То есть на координате 28, я рисую пиксель, и допустим мне надо еще точку нарисовать через 28.4365, тогда я еще через 28. пикселей рисую точку. Но если мне нужно нарисовать метку что здесь в этой точке координата по Х кратна 10, то есть 10, 20, 30. Получается, если я буду прибавлять значение, по 1. Но дело в том что почему то не работает такая схема. При масштабе 1 пиксель на 1 единицу измерения, есть такие координаты и положения графика, когда я увеличиваю X на 1, а на графике все остается также. Как вы поняли точки следуют через определенное количество значений, то есть равно удаленны друг от друга. Если я буду просто рисовать точки от начала координат, путем умножения i*28.4365, i это номер точки в массиве, то получится такая ситуация, что кое где точки будут на 1 пиксель дальше друг от друга, а кое где ближе, получится примерная такая последовательность интервалов. 28, 28, 28, 29, 28, 28, 28, 29. Да я также не хочу рисовать все точки, из массива, только те которые входят в пределы виджета. И также расстояние между точками мне нужно заполнять цветом, ввиде прямоугольника, высотой значением y. Но 1 пиксель убрать что бы все не сливалось воедино.
Аноним 23/09/22 Птн 11:27:47 2471424 697
unknown2022.09.[...].mp4 12229Кб, 3840x2160, 00:01:17
3840x2160
unknown2022.09.[...].mp4 8631Кб, 3840x2160, 00:00:53
3840x2160
double offsetXValueLeft = (startVectorValueWidget - startValueWidget);

double x = (joneElementValuescaleX) + offsetXValueLeftscaleX;
x = trunc(round(x));
Вот такая формула вычисления позиции x для элемента массива
offsetXValueLeft - это разность между ближайшей точкой слева от начала виджета. Типо позиция начала виджета - ближайшая точка слева. И вот тут либо такую формулу использовать и и мириться с тем что некоторые точки будут шире, а не которые уже. Либо использовать формулу такую:

double offsetXValueLeft = (startVectorValueWidget - startValueWidget)
scaleX;
offsetXValueLeft = trunc(round(offsetXValueLeft));

double valueWidth = oneElementValue scaleX;
valueWidth = trunc(round(valueWidth));

double x = (j
valueWidth) + offsetXValueLeft;

Но тогда появляются места где при увеличении Х не изменяется положение графика
Аноним 23/09/22 Птн 12:59:51 2471500 698
image.png 0Кб, 578x70
578x70
Решил делать переменную ширину столбца, путем вычитания от следующей координаты столбца, предыдущую, выглядит уже не так плохо, но все равно не очень. Блять я наверно когда нибудь книгу или лекции по программированию графиков запишу, это блять великая проблема
Аноним 23/09/22 Птн 13:16:56 2471522 699
>>2471500
Когда решу кончено эту задачу
Аноним 23/09/22 Птн 13:37:35 2471557 700
Приветствую, Аноны
возможно ли по итератору обратиться к полю контейнера pair (итератор указывает на pair)?
Аноним 23/09/22 Птн 13:53:39 2471572 701
>>2471557
Паир это всего 2 чего то.
Итератор по сути дает тебе элемент массива. Если у тебя итерируемый массив пэиров, то да.
Аноним 23/09/22 Птн 14:33:54 2471622 702
>>2471557
Итераторы это же просто интерфейс. Ты можешь написать свой итератор который будет принимать pair и выдавать из него значения. Хз зачем это нужно правда.
Аноним 23/09/22 Птн 15:54:46 2471701 703
>>2471572
>>2471622
Спасибо

получилось так:
iterrator_obj->first
или
iterrator_obj->second
разыменовывать не нужно
Аноним 23/09/22 Птн 16:36:59 2471762 704
>>2471701
>разыменовывать не нужно
>->
Хех.
Аноним 26/09/22 Пнд 10:37:38 2474237 705
Друзья, я нуб помогите.
Вот перегружаю я операторы, чтобы работали с моей структурой и все хорошо, пока структура - левая, тоесть
"T operator...(T t)" - ок
а вот как сделать чтобы T было справа, например "1/T"
хз хз.
Аноним 26/09/22 Пнд 10:39:39 2474239 706
что можете посоветовать для работы с БД?
Аноним 26/09/22 Пнд 10:48:02 2474248 707
>>2474237
friend T operator/(int left, const T& right)
Аноним 26/09/22 Пнд 12:23:03 2474316 708
>>2474248
Во. Век живи - век учись. Спасибо, анон.
Аноним 26/09/22 Пнд 22:20:59 2474992 709
как вкотиться в хайлоад на плюсах?
Аноним 27/09/22 Втр 08:58:49 2475239 710
Аноним 27/09/22 Втр 20:06:57 2475873 711
Аноним 28/09/22 Срд 05:28:47 2476095 712
Здравствуйте. Насколько реально для одного человека имея клиент Lineage 2 написать эмулятор сервера с нуля (не заглядывая в код pts и java версии сервера, а так же не анализируя входящий трафик с работающих серверов)? Можно начать риверс инжеринг, дебаггером поковырять клиент, расшифровать и проанализировать исходящий трафик, но меня мучают сомнения касательно того будет ли этого достаточно.(И вообще реально ли исходящий трафик расшифровать) Lineage 2 взял для примера. Существует много старых, закрытых онлайн игр сервера которых уже не функционируют даже у себя на родине. Просветите про историю Lineage 2. Как обстояло дело до того как получили доступ к PTS версии игры. Были ли пиратки? Каким образом их создавали? Заранее спасибо всем за потраченное время на написание конструктивных комментариев.
Аноним 28/09/22 Срд 06:42:17 2476109 713
>>2476095
>Насколько реально
Да.
Аноним 28/09/22 Срд 07:57:08 2476121 714
>>2476095
Вопрос в квалификации упорстве и времени. Строить с нуля все велосипеды, начиная от реализации протоколов связи до поднятия СУБД задача долгая и нудная.
Ещё более нудная (не менее сложная, хотя кому как) это обратный реверс. Особенно, если ты хочешь создать сервер, реверся клиент.
> Были ли пиратки?
Были. Чаще всего пиздился сервер у издателя, по этому версии всегда отставали. Потом, когда интерес не охолодевал, некоторые ебанутые переписывали сервер.

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

Но это всё разные пути, но они все требуют нехилой ВОЛИ для их реализации.
Аноним 28/09/22 Срд 08:29:47 2476141 715
>>2476121
Ты не шаришь. PTS это и есть сворованный сервер, но пиратки были до того как его украли. Короче ты не шаришь.
Аноним 28/09/22 Срд 10:39:15 2476269 716
>>2475239
>>2475873
Я хочу подключаться к БД из C++ кода, отправлять туда SQL-запрос и получить результат. Есть ли лимбы для такого? В boost смотреть?
Аноним 28/09/22 Срд 10:41:26 2476272 717
Аноним 28/09/22 Срд 11:17:11 2476301 718
>>2476269
БД - не мамаша анона, к ней не может прийти кто угодно и выебать.
Какая у тебя база? Оракловая, mysql, постгре?
Вот и гугли библиотеку для своей конкретной базы, которая позволит тебе подключаться к ней.
Например для Oracle это OCCI называется.
Аноним 29/09/22 Чтв 12:33:56 2477206 719
image.png 732Кб, 1024x768
1024x768
Я вам в шапку нашел котика
Аноним 29/09/22 Чтв 14:48:39 2477333 720
>>2452626
ECS это же типа data-oriented design
Аноним 30/09/22 Птн 08:32:56 2477938 721
>>2477333
data-oriented design звучит слишком непонятно.
Назовем этот метод fortran strikes back.
Аноним 30/09/22 Птн 18:29:24 2478507 722
Аноним 30/09/22 Птн 20:22:56 2478616 723
работа есть? нету
че вы тут тогда обсуждаете
Аноним 30/09/22 Птн 20:25:37 2478620 724
Аноним 30/09/22 Птн 20:34:33 2478630 725
чото тред утих после мобилизации. Всех плюсовиков забрали на фронт?
Аноним 30/09/22 Птн 20:38:21 2478633 726
1588953244697.mp4 3770Кб, 784x960, 00:00:37
784x960
>>2478630
Хуй знает. Я с другой сфере ИТ сижу, но мне похуй на мобилизацию. Ссыкуны возможно и разбежались как тараканы на свету.
Аноним 30/09/22 Птн 20:53:04 2478646 727
>>2478630
Ну да. Эксперты по всем вопросам в школе, разработчики laba02.cpp на парах, байтослесари на заводе, остальные в окопе.
Аноним 01/10/22 Суб 00:06:30 2478929 728
Объясните скриптомакаке, как разрабы на сях ищут и устанавливают пакеты? В питоне есть pip, в жиес есть npm, а в сях? Копируют руками сорсы себе в папку с проектом или что?
Аноним 01/10/22 Суб 00:10:02 2478932 729
>>2478929
Пакетный манагер если для себя/опенсорц, или же оно упаковано в сабмодули и торчит в репе если разработка коммерческая.
Аноним 01/10/22 Суб 00:24:20 2478942 730
>>2478929
conan, vcpkg или используется пакетный менеджер линукса
Аноним 01/10/22 Суб 00:25:45 2478943 731
>>2478929
В плюсах тоже есть менеджеры пакетов, самые популярные - Vcpkg и Conan. Но это в первую очередь для винды, на линуксах либы обычно ставят из репозиториев дистрибутива. Например, есть либа SFML, и для неё в репозиториях может быть условный sfml-dev, ты пишешь apt-get install sfml-dev и получаешь хедеры/бинари либы вместе со всеми зависимостями. остаётся заинклудить и указать компилятору путь к системному каталогу, куда ставятся все либы. Часто так делают и на скриптовых языках, вместо pip могут, к примеру, поставить либы через тот же apt-get.
Ну и в плюсах не принято юзать по библиотеке на каждую мелкую фичу, и либы обычно самодостаточны или требуют совсем немного зависимостей. Нет такого, чтобы для использования одной либы требовалось поставить ещё 20 пакетов и выкачать полгигабайта зависимостей. Так что не такая и проблема скачать либы с сайтов разработчиков.
Аноним 01/10/22 Суб 00:40:23 2478951 732
>>2478943
>на линуксах либы обычно ставят из репозиториев дистрибутива.
А как тогда контролируется одинаковость зависимостей у всех разрабов проекта? Не писать же каждому челу в команде типа Славик, установи либу вот этой командой: sudo apt get ...? Обычно есть файл с декларацией зависимостей (requirements.txt, package.json), который потом пакетным менеджером обрабатывается. А если линухоидный манагер пакетов использовать, то как это реализовать? Бащ скриптом? CMake про это?
Аноним 01/10/22 Суб 01:01:44 2478957 733
>>2478951
> Бащ скриптом? CMake про это?
Да. Только они занимаются именно сборкой, а не скачиванием зависимостей, и есть множество нестандартизированных костылей, чтобы научить CMake управлять пакетами. В каждом проекте ебутся как хотят, для каждой либы своя специфичная ебля, потому что есть 100500 способов их подключения, будь то vcpkg/conan, bash-скрипт с несколькими командами apt-get install пакет_нейм=версия, субмодули git, архив с зависимостями на корпоративном сервере, хранение зависимостей в Git, либо просто файлик с инструкцией, откуда что качать и куда распаковывать (это как у новичков в линуксе, которые гуглят "как установить программу X?" и вместо простых инструкций об установке из репозиториев получают ответы "запустите ./configure && make && make install, а если будут ошибки, качайте зависимости с сайтов и с ними ебитесь так же").
Да, в 2022 звучит как пиздец, это пиздец и есть. Хорошо только то, что зависимостей обычно немного.
Аноним 01/10/22 Суб 01:17:10 2478963 734
>>2478951
Если вкратце, то как при работе с докером - пишется Makefile, в котором прописаны все действия для создания образа (считай скрипт на баше с вызовом apt-get, ldconfig, make, ./configure и прочими или батник для win cmd).

CMake в lin и win не встроен, поэтому на нём обычно описывают сборку проекта из исходников. При этом пути к внешним ресурсам выносят в виде переменных, которые ему укажет тот, кто будет собирать.
Аноним 01/10/22 Суб 01:22:19 2478965 735
>>2478963
> пишется Makefile, в котором прописаны все действия для создания образа (считай скрипт на баше с вызовом apt-get, ldconfig, make, ./configure и прочими или батник для win cmd)
Ты же не знаешь, о чем говоришь, да?
Аноним 01/10/22 Суб 01:25:14 2478970 736
>>2478965
Я не знаю о чём говоришь ты.
Аноним 01/10/22 Суб 01:28:26 2478973 737
>>2478970
О том, что в Makefile не пишется большая часть из тех команд, что ты написал.
Особенно проиграл с make и ./configure
Аноним 01/10/22 Суб 01:30:29 2478975 738
>>2478973
Пишутся в конфиг для сборки rpm пакета, и чё?
Аноним 01/10/22 Суб 01:32:40 2478978 739
>>2478975
Какой нахуй rpm пакет, шиз. Проблемы с концентрацией?
Аноним 01/10/22 Суб 01:33:38 2478980 740
>>2478978
Выпей валерьяновички, буйный ты какой то
Аноним 01/10/22 Суб 01:37:48 2478981 741
>>2478973
Так я про докер написал. Называется он там Dockerfile. Я не имел в виду CMakeLists.txt или Makefile для утилиты make/nmake.
Аноним 01/10/22 Суб 17:57:13 2479333 742
Блять, как же я заебался с торчем. Я думал такая ебля с PyTorch и кудой только на петоне, но нихуя. Дебага нет никакого, почему куда не заводится нихуя не понятно. Сам торч выдаёт простыню с такой припиской: Could not run 'aten::empty.memory_format' with arguments from the 'CUDA' backend. This could be because the operator doesn't exist for this backend, or was omitted during the selective/custom build process (if using custom build). If you are a Facebook employee using PyTorch on mobile, please visit https://fburl.com/ptmfixes for possible resolutions.
В итоге три часа ебался, чуть не дропнул нахуй, каким-то чудом завелось.
Аноним 01/10/22 Суб 22:28:47 2479470 743
Плюсаны есть кто в вулкане шарит, поясните точку сарата помимо офф доков и сеплов.
Аноним 01/10/22 Суб 22:33:30 2479473 744
>>2479470
А что ты ещё хочешь? Если не понимаешь как работает графон, то нахуй лезешь?
Аноним 02/10/22 Вск 14:37:42 2479758 745
>>2479750
С прочтения книги дракона или хотя бы брошюрки Вирта
Аноним 02/10/22 Вск 15:59:24 2479821 746
>>2479750
> - С чего начать написание своего языка программирования?
> - С прочтения вот этих двух книжек, направленных на изучение компиляторостроения
> - Чтобы что?
Шизло ебаное, съеби из треда нахуй.
Аноним 03/10/22 Пнд 09:15:52 2480476 747
Аноним 03/10/22 Пнд 11:18:55 2480520 748
Давайте веб-йобу напишем.
Аноним 03/10/22 Пнд 11:29:13 2480525 749
>>2480520
Нет, иди нахуй со своим вебом.
Аноним 03/10/22 Пнд 12:47:10 2480601 750
>>2479750
Очевидно с описания грамматики.
Аноним 03/10/22 Пнд 20:26:22 2481040 751
Сидел писал клиент, чтоб маняме смотреть из приложения, трекер просмотренных и т.д. Даже до апишки не дошел, пока сидел красивый сплеш с авторизацией делал и понял, а нахуй оно надо-то, в браузер зашел и открыл. Пиздец, уже кучу проектов побросал из-за этого
Аноним 03/10/22 Пнд 21:03:13 2481065 752
>>2481040
Напиши бэк тогда, чтоб из браузера к нему коннектиться и смотреть. Многопоточка, транскодинг, и чтоб на GPU крутилось. Захуячь ещё туда рестапи и вёбсервачок с ui на жопаскрипте. А бэк пусть стартует от папки какой-нибудь с онеме. Так по чуть-чуть и нетфликс свой скрафтишь.
Аноним 03/10/22 Пнд 23:27:32 2481197 753
>>2481040
>чтоб маняме смотреть из приложения, трекер просмотренных и т.
AnimeBest App например.
Аноним 03/10/22 Пнд 23:47:28 2481214 754
>>2481197
>Скачать на windows
>Скачать на Android
Ебаный рот этого разработчика
Аноним 04/10/22 Втр 06:45:31 2481336 755
Аноним 04/10/22 Втр 13:01:52 2481466 756
>>2481040
>сидел красивый сплеш с авторизацией
Решил сделать проект.
@
Сделал красивую хуйню.
@
Тыкаешься в эту хуйню целыми сутками.
@
За год существования проекта в нем только 100 строк с реализацией красивой хуйнюшки.
@
Заходишь чтобы потыкать в эту хуйнюшку и посмотреть как хорошо она работает.
Аноним 04/10/22 Втр 13:50:22 2481494 757
Аноним 04/10/22 Втр 14:24:28 2481515 758
>>2481494
Очевидно, задают массив из CNT элементов.
Аноним 04/10/22 Втр 14:30:08 2481520 759
>>2481515
ой блять, я думал, ты про квадратные скобки.
Фигурные фактически инициализируют массив нулями, иначе там будет мусор.
Аноним 04/10/22 Втр 15:50:34 2481587 760
>>2481520
Спасибо, вроде как понял
Аноним 04/10/22 Втр 16:03:31 2481597 761
>>2481494
>int sum[CNT] = {0};
Тут разве не только первый элемент проинициализируется?
Аноним 04/10/22 Втр 16:04:11 2481598 762
>>2481597
все остальные - zero-инициализация будет
Аноним 04/10/22 Втр 17:35:14 2481669 763
>>2481598
Почему тогда не {}, а {0}?
Аноним 04/10/22 Втр 18:34:20 2481701 764
>>2481669
ну, = {} в этом контексте делает абсолютно тоже самое да.
Аноним 04/10/22 Втр 19:17:11 2481741 765
Аноним 04/10/22 Втр 20:18:45 2481780 766
>>2481768
Запасясь должным количеством спиртного.
Аноним 04/10/22 Втр 21:34:40 2481827 767
Аноним 05/10/22 Срд 08:56:43 2481947 768
>>2481597
Прочитал как
int cum[CUNT] = {0}
Я обдвачевался?
Аноним 05/10/22 Срд 09:35:06 2481980 769
Не совсем понятна задумка статических функций. Зачем они? В моём понимании они не выделяют дополнительную память, возвращая результат. А функция, возвращающая пойнтер разве выделяет новую память под него?
Аноним 05/10/22 Срд 09:43:38 2481985 770
>>2481980
Ты про статические функции из сишки или про статические функции класса?
К памяти это не относится в любом случае. static перед функцией - это просто аналог private, чтобы функцию не было видно в других единицах трансляции. А в статические функции класса почти как обычные функции, но относящиеся каким-то образом к классу и не имеющие ссылки на объект (то есть this не работает).
Аноним 05/10/22 Срд 09:50:36 2481992 771
>>2481985
Я про второе. Вот у меня, допустим есть функция
static SomeType* Function() {};

Ты имеешь ввиду, что, мне необязательно создавать экземпляр класса, чтобы вызывать эту функцию?
Аноним 05/10/22 Срд 10:19:08 2482010 772
>>2481992
Да, просто пишешь ClassName::Function()
Аноним 05/10/22 Срд 11:31:38 2482056 773
>>2481980
Статические функции это из сишки, в крестах их обычно кладут в безымянные неймспейсы.
Аноним 05/10/22 Срд 18:28:34 2482439 774
>>2481980
В эти функции не передается скрытый аргумент this. Вот и все.
Аноним 06/10/22 Чтв 03:49:04 2482628 775
изображение.png 7Кб, 345x105
345x105
изображение.png 43Кб, 1075x597
1075x597
Да почему, блеать это (пик1) дает это (пик2)? Я ж предоставляю данные в правильном формате, и, очевидно, что числа в этих данных есть
Аноним 06/10/22 Чтв 04:51:05 2482632 776
изображение.png 10Кб, 670x107
670x107
изображение.png 44Кб, 500x571
500x571
>>2482628
Ладно, я настолько заебался разбираться, что написал свой варик функции с теми же, блеать, данными, и он, блеать, работает. Так что я вобще не ебу, что с кодом выше не так. Если кто понял, в ччм там косяк - дайте знать
Аноним 06/10/22 Чтв 06:27:18 2482634 777
1665026904039.jpg 71Кб, 976x379
976x379
>>2482632
Чё-то я не догоняю...
У тебя строка которую получает в atoi() это "health: 32"
Что по-твоему эта функция должна делать со словом "health:" ?
Аноним 06/10/22 Чтв 06:57:04 2482635 778
>>2482634
Она должна делать 32. Ведь так?
Аноним 06/10/22 Чтв 06:58:11 2482636 779
>>2482634
Блет, сорь, не прочитал пикчу. Понял, что ты иммешь ввиду.
Аноним 06/10/22 Чтв 16:43:25 2482941 780
image.png 29Кб, 794x293
794x293
>>2482635
Нет, ты себе шизу какую-то придумал.
Аноним 06/10/22 Чтв 21:26:14 2483216 781
>>2483213
Нужен. Не нужны шарпы, электрон и веб.
Аноним 06/10/22 Чтв 21:47:23 2483234 782
>>2483219
> А для чего нужен? Ну кроме гуи?
Для всего. Это фреймворк для всего
Аноним 06/10/22 Чтв 21:53:17 2483241 783
>>2483239
Ну если ты поверх него игровой движок напишешь то почему бы и нет, но зачем?
Аноним 06/10/22 Чтв 22:23:01 2483259 784
Аноним 06/10/22 Чтв 22:26:46 2483262 785
>>2483219
>Ну кроме гуи
Работа с последовательными портами, nfc, спутниковое позиционирование, преобразование кодировок текста, работа с изображениями, с шинами данных машин и некоторых летательных аппаратов, конечные аппараты искаропки и т.д. И все это может собираться например под эмбеддед или андроид.
Вощем это фреймворк общего назначения, для киберпанка тебе нужен специализированный игровой движок, хотя кют в 3д тоже может
Аноним 07/10/22 Птн 03:19:55 2483346 786
>>2483266
Позиционировал свой хуй тебе за щеку, проверяй
Аноним 07/10/22 Птн 11:16:03 2483465 787
>>2483266
Оборудования с gps датчиком.
Аноним 07/10/22 Птн 11:34:02 2483473 788
>>2483392
Хуле тебе отвечать. Всё уже расписали нормально, а ты решил доебаться.
Вот и позиционируй писюны за щекой теперь.
Аноним 08/10/22 Суб 19:02:06 2484470 789
Подскажите как написать шаблонную функцию только для некоторого ряда типов. Она у меня делает одно и то же и явно определять для каждого конкретного слишком много лишнего кода получается.
Что то тип такого?:

template <typename T> void foo();

template <> void foo<int | double | float>();
Аноним 08/10/22 Суб 19:09:10 2484476 790
>>2484470
Чел, концепты используй.
Аноним 08/10/22 Суб 19:10:10 2484477 791
>>2484470
Просто не передавай некорректные типы, один хуй получишь ошибку компиляции.
Аноним 08/10/22 Суб 20:16:40 2484513 792
>>2484470
Можешь добавить в тело проверку, если c++ < 20:
static_assert(std::is_arithmetic<T>());

Или добавь концепт после tempate<class T>, если с++ >=20:
requires std::is_arithmetic<T>
Аноним 08/10/22 Суб 21:12:12 2484536 793
Есть ли разница между
void foo(initializer_list<int> il);
и
void foo(const initializer_list<int>& ilr);
Я так понимаю, если вызвать foo({1, 2, 3}), сначала будет создан временный объект, соответствующий аргументу, и далее, в первом случае, этот объект будет скопирован, и мы получим еще один объект, соответствующий il, а во втором случае копирования не произойдёт, и будет создан только один временный объект. Если это так, то почему обычно используют первый вариант, а не второй?
Аноним 08/10/22 Суб 21:19:53 2484546 794
>>2484536
Если в первом случае не происходит копирования, то почему? Разве это не copy initialization? Почему этот

class A {
public:
A(int) { cout << "A"; }
};
int main() {
A a = A(2);
}

код выводит "A", а не "AA"?
Аноним 08/10/22 Суб 21:36:05 2484555 795
Аноним 08/10/22 Суб 22:05:17 2484566 796
>>2484555
То есть, это UB получается? Или стандарт гарантирует такую оптимизацию?
Аноним 08/10/22 Суб 22:08:09 2484568 797
>>2484566
Стандарт гарантирует.
Аноним 08/10/22 Суб 22:35:48 2484588 798
До этого был не совсем правильный код. Вот так лучше

class A {
public:
A(int) { cout << "A\n"; }
A(const A& a) { cout << "a\n";}
};
int main() {
A a = A(5);
}

Этот код выводит "A", а не "Aa". Я так понял, копирующий конструктор не вызывается для временных объектов, и A a = A(5); это то же, что A a(5);
Аноним 08/10/22 Суб 22:39:49 2484593 799
Скопировал код, в нем определен тип возвращаемого значения функции в .hpp:
inline static auto WStringToUTF8() -> std::string
Но у меня работает само по себе и без этого, все из-за того, что я сижу на более новой версии c++?
Аноним 08/10/22 Суб 23:16:51 2484617 800
>>2484588
Блядь, вот для кого лекции там в университетах читают, стандарты всякие описывают.
Теперь сделай
A a;
a = a(5);
И опиши свои ощущения.
Аноним 09/10/22 Вск 10:05:07 2484721 801
Аноним 09/10/22 Вск 10:16:31 2484725 802
>>2484721
Пиздос каша в хедере. И сам код как будто на сишке написан. Алсо, от комментариев блевать хочется, должны быть нормальные имена методов, а не пояснения в комментариях что это за говно. Если bool возвращаешь - в имени должен быть вопрос.
Аноним 09/10/22 Вск 11:28:14 2484744 803
Ща шел в подъезде, и увидел у соседа повестку в двери. Походу отправится могилизовываться. Ух, страшно…
https://youtu.be/-9SEfavF9oA
Аноним 09/10/22 Вск 19:00:58 2485051 804
>>2484617
>A a;
>a = a(5);
Даже я знаю, что присвоение и инициализация это не одно и то же
Аноним 09/10/22 Вск 21:22:57 2485193 805
>>2485051
А присвоение и присваивание это одно и то же?
Аноним 09/10/22 Вск 21:26:44 2485200 806
>>2485193
Не выёбывайся плиз.
Аноним 09/10/22 Вск 23:11:15 2485251 807
>>2484470
сильно много хочешь. Проверяй на типы сам
Аноним 09/10/22 Вск 23:15:00 2485252 808
>>2485251
Да ну блять, в шарпе и жабе в дженериках есть такие механизмы, а в крестовые шаблоны до сих пор не завезли.
Аноним 10/10/22 Пнд 14:18:19 2485577 809
Screenshot from[...].png 74Кб, 441x1181
441x1181
Screenshot from[...].png 60Кб, 703x749
703x749
Сап двач, я изобрел абстракцию:
https://pastebin.com/qeH2MDfc
Пикрил 1, если не открывается ссылка.

Прикол в том, чтоб можно было сделать, например
ThreadSafeObject<std::set<std::string>> mySet;
И потом можно было делать операции как под мьютексом
mySet.withLock()->insert(...);
Так и без
mySet->insert(...);
Но я не уверен, какой будет лайфтайм моего прокси объекта. Для эксперимента запустил хуйню на пике 2, и вроде все ок, но гарантировано ли такое поведение? В смысле, чтоб деструктор прокси класса вызывался после того, как выполнено выражение с return value его метода.
Аноним 10/10/22 Пнд 14:21:56 2485579 810
Screenshot from[...].png 92Кб, 573x1187
573x1187
Аноним 10/10/22 Пнд 14:25:16 2485580 811
Аноним 10/10/22 Пнд 14:35:04 2485589 812
Аноним 10/10/22 Пнд 17:02:18 2485682 813
Screenshot 2022[...].png 111Кб, 927x743
927x743
Почему не генерируется ошибка out of range?
Аноним 10/10/22 Пнд 17:05:05 2485686 814
>>2485682
Потому что доку читать надо блять
> Accessing a nonexistent element through this operator is undefined behavior.
Аноним 10/10/22 Пнд 17:05:24 2485688 815
>>2485580
>>2485589
Спасибо. Значит я все пиздато изобрел. Ну да, вроде лайфтайм временных объектов как раз совпадает с лайфтаймом выражения. Припоминаю
Аноним 10/10/22 Пнд 17:10:31 2485692 816
IMG202210101607[...].jpg 2325Кб, 4608x2074
4608x2074
>>2485686
В книжке у пчела всё работает, вот и спросил
Аноним 10/10/22 Пнд 17:17:39 2485700 817
>>2485686
Алсо вон тут написано
https://cplusplus.com/reference/stdexcept/out_of_range/

>It is a standard exception that can be thrown by programs. Some components of the standard library, such as vector, deque, string and bitset also throw exceptions of this type to signal arguments out of range.

Хули ты меня наябываешь.
Аноним 10/10/22 Пнд 17:19:47 2485702 818
>>2485692
Ну у него так undefined behavior проявляется. Может выкинется, может не выкинется.
Аноним 10/10/22 Пнд 17:33:12 2485707 819
>>2485702
От компилятора зависит?
Типа есть g++, clang++, MSVC. В каких то ошибка проявится, в каких то нет?
Аноним 10/10/22 Пнд 17:54:19 2485716 820
>>2485707
>От компилятора зависит?
Это называется implementation defined
Аноним 10/10/22 Пнд 18:01:23 2485721 821
>>2485700
Шиз, ну да, вектор его бросает. Только не в operator[]
Аноним 10/10/22 Пнд 18:02:25 2485722 822
shocked-ohreally.gif 160Кб, 220x259
220x259
>>2485716
>A program can be said to contain unspecified behavior when its source code may produce an executable that exhibits different behavior when compiled on a different compiler, or on the same compiler with different settings, or indeed in different parts of the same executable.

Охуительные истории конечно. Ну спасибо за помощь.
Аноним 10/10/22 Пнд 18:03:21 2485723 823
>>2485692
Книжка тебя наебала. Что за книжка, какой автор и год?
Аноним 10/10/22 Пнд 18:10:37 2485727 824
Screenshot 2022[...].png 109Кб, 928x735
928x735
>>2485723
Из оп поста книжка за 2014, Б. Страуструп. На самом деле у меня глаза в жопе оказались, там внизу страницы сноска, что надо использовать их специальный файл с библиотаками, разработаный спецом для этой книжки и тогда все работает всегда. В любом случае всем спасибо за помощь.
Аноним 10/10/22 Пнд 19:09:23 2485768 825
изображение2022[...].png 6Кб, 540x98
540x98
изображение2022[...].png 31Кб, 768x507
768x507
изображение2022[...].png 43Кб, 859x652
859x652
>>2485727
Это вопрос не к Страуструпу, а к переводчикам, которые листинги херачили в книгу.
Стоит только заглянуть на референс и будет видно, что operator[] не проверяет границы - и, следовательно, не должен выбрасывать исключение согласно стандарту, а метод at кокрастаке выбросит тебе out_of_range.
Аноним 10/10/22 Пнд 19:10:18 2485769 826
>>2485768
Хотя про переводчиков я еблан, да, вопрос к этой самой либе.
Аноним 10/10/22 Пнд 19:31:35 2485786 827
>>2485579
Уууу сука как охуенно! Уже в 100500 местах применил эту обертку, и убрал нахуй все голые мьютексы из стейта классов. И заодно с ними утилизированы двухстрочные методы-паразиты, которые всего лишь заменяют делают операцию под lock_guard-ом. Короче, никто не узнает код, когда моя ветка в мастер попадет. Я бог рефакторинга.
Аноним 10/10/22 Пнд 21:16:13 2485844 828
>>2485786
А итерировать как ты по своему
ThreadSafeObject<std::set<std::string>>
собрался?

Есть вероятность что если тебе нужно лочить вызовы методов на уровне std::set, то тут что-то не так в архитектуре
Аноним 10/10/22 Пнд 21:31:14 2485856 829
>>2485844
Нормально собрался. Там сначала кое-какая хуйня происходит во много потоков, и сеты/мапы аккумулируются инсертами/эмплейсами, а потом я без лока захожу. Ну, иногда чтение тоже с локом, когда одновременно идут и пишущие, и читающие операции, но у меня нет такого UB, что управляющий поток запушит что-то раньше управляемого или позже, и от этого поведение второго потока изменится. Там оно скорее сделано для того, чтоб флашить только один раз кое-где.
Аноним 10/10/22 Пнд 21:33:01 2485858 830
>>2485856
Сори за скомканное объяснение, я просто хохол придерживаюсь привычки не разглашать лишнее на дваче, и вот-такими-вот местоимениями затыкаю потенциальные бизнес-детали.
Аноним 10/10/22 Пнд 21:35:55 2485861 831
>>2485844
Ну и да, у меня ж для таких случаев мьютекс торчит наружу. Его можно руками засунуть в локгард и хоть десять операций атомарно сделать. Вот финальная версия.
https://pastebin.com/DZB8nqaT
Аноним 10/10/22 Пнд 21:40:04 2485867 832
Хотя, я уже и так обосрался, потому что ты мой конкурент. Теперь применишь это в своем проекте, до чего никто раньше не додумался, и скорость дальнейшей разработки на такой порефакторенной кодовой базе ускорится на 3%, из-за в следующем году ваш важный релиз состоится чуточку раньше, и крупные заказчик выберет вас раньше. Ключевая сделка проебана, а там и сокращения, и до меня дойдет, и до истории тредов на рабочем компе, и до суда...
Ладно, похуй, я не жлоб и вообще адепт Столлмана. Немножко.
Аноним 11/10/22 Втр 04:16:42 2485969 833
>>2485858
> потенциальные бизнес-детали
> C++
Аноним 11/10/22 Втр 12:42:38 2486115 834
>>2485969
Сам охуел, но есть еще конторы здорового человека, которые для высоконагруженной части бэкенда используют C++, а помимо крестов - Common Lisp. Это просто идеальное сочетание, как по мне. Тупо шах и мат говноедам.
Аноним 11/10/22 Втр 18:20:23 2486346 835
>>2486115
Ебать, это что за контора мечты такая? Странно, что бизнес деятельность, а не какая нибудь техническая работа.
Аноним 11/10/22 Втр 21:21:42 2486451 836
>>2486346
Бэкапим данные всяких организаций, которые юзают общеизвестные облачные сервисы для работы. С возможностью рестора туда же. Например, office365. Через API майкрософта выкачиваем все на свои датацентры от админа клиентской организации, и через майкрософтовское же API ресторим что-то обратно, если потребуется.
Аноним 11/10/22 Втр 21:58:33 2486465 837
>>2486451
А CLisp где используется? Как клей для модулей на плюсах?
Аноним 12/10/22 Срд 01:16:52 2486546 838
>>2486465
Вот этой инфы в описании вакансии не было, так что боюсь сообщать инфу. Не из открытых источников, все таки. Ничего личного, при капитализме живем просто. Эх, поскорее бы коммунизм.
Аноним 12/10/22 Срд 01:18:44 2486547 839
>>2486465
Ладно похуй. LISP на отдельном серваке ранится. И шлет реквесты на сервак с плюсами.
Аноним 12/10/22 Срд 11:38:19 2486692 840
>>2484725
> сам код будто на сишке написан

И как это исправить? Убрать вызовы Си функций из if-ов? Или из-за стиля кода?
Аноним 12/10/22 Срд 12:11:58 2486708 841
Антоны, ща немного погуглил про
typedef struct example { ... } example;
Пришел к выводу, что в C++ вообще похуй, есть тайпдеф или нет тайпдефа - т.к. неявно все равно тайпдеф есть, а в C разница только в том, что структура пишется в пространство имен тегов, а тайпдеф пишет в ПИ идентефикаторов. Я правильно все понял? Есть что-то, что я упустил?
Аноним 12/10/22 Срд 12:47:24 2486717 842
>>2486708
Кресты тебе не сишка.
Аноним 12/10/22 Срд 15:27:16 2486795 843
Кто знает можно ли как нибудь сделать так что бы кастомные виджеты в QT Designer имели свои типы данных? Просто хочу сделать виджет, и что бы этот виджет в зависимости от значения которое ему пришло, менял цвет, текст, шрифт, цвет текста, на нужный. Хочу сделать это красиво, в виде динамических свойств, что бы типо, можно было к примеру добавить свойство с именем "1", и в этом свойстве были настройки типо такой то цвет, такой то шрифт, такой то текст, такой то цвет текста. В общем как мне добавить свой тип свойств в QT Designer. Что бы патом мой виджет в зависимости от пришедшего к нему сигнала смотрел и искал у себя свойство с таким же именем, как значение полученное из сигнала, и если у него есть такое значение, то он все значения из динамических свойств себе устанавливал.
Аноним 12/10/22 Срд 19:45:29 2486967 844
>>2486692
Конечно нет.
Си стиль это когда футкции. Нету обьектов содержащих информацию. Локальные переменные и что угодно прдается в функции.
А с++ стиль это классы. Экземпляры классов вполне могут и сами хранить какую то инфу, а все ыкнкции запихнуты внутрь, пусть дпже это и си функции, куда же без них.
Си стиль не значит плохо или хорошо. Пиши как удобнее.
Некоторые вот вообще на чистом си пишут, и ничего.
Аноним 12/10/22 Срд 22:47:01 2487090 845
Мужики, помогите неофиту решить вопрос. За плечами пару лет любительского говнокодинга на Си. В основном писал рипперы для игровых форматов и небольшие патчи для старых игор. Сейчас нахожусь в поиске работы и присмотрел +- подходящие для меня вакансии. Одна из них на жабе, а вторая на плюсах, оба бекенд. На вакансии с жабой требования полегче чем у плюсов, но зато у оных более иинтересная предметная область. Оба языка я знаю на уровне "что-то когда-то слышал", но готов потрать месяц-два на изучение основ каждого, благо большего не требуется. Что посоветуете? ВЫбрать более надежный вариант, но не очень желаемый или рискнуть на интересную работу с шансом оподливиться?
Аноним 13/10/22 Чтв 00:38:27 2487134 846
>>2487090
Твой опыт - он отрицательный. Проще обучить кодить с нуля, чем выправлять мозг программисту на С в сторону ООП и modern c++. В Java тебе ещё меньше обрадуются. Там выше по треду чел сокет обёртывал - вот прям видно, что одним полушарием продолжает на сишке писать, а другим пытается впихнуть исключения, STL и то, что вчера в книжке про сдвиг прочитал. Тот чел - это ты после 2 месяцев "изучения основ".

В принципе ты дашь подливы по обоим направлениям, так что будь спокоен. Пробуй и там и там, терять тебе всё равно нечего.
Аноним 13/10/22 Чтв 00:53:24 2487143 847
>>2487134
Функционально программа должна обеспечивать требования тз. В каком стиле она написана никого не ебет.
Ясное дело на около си ему больше кода писать придется, но работать оно может и не хуже современных плюсов.
че вы так от си рветесь
Аноним 13/10/22 Чтв 00:55:30 2487146 848
>>2487134
Ну я не совсем формо-гнездовой еще, чтобы Си-шка оставила сильный отпечаток на мне. Я и на CLispe некоторые вещи писал и Guile в качестве встраиваемого языка для плагинов использовал, так что с пониманием новых концепций не все так плохо. Вопрос в другом, у меня времени не так много, чтобы все сразу проьовать, поэтому нужно сделать выбор, либо плюсы точеные, либо жаба дроченая. На жабе как-то попроще с поиском работы, судя по хх.ру, но на плюсах более интересная деятельность, собственно, меня к ним и тянет. Вы бы что выбрали?
Аноним 13/10/22 Чтв 01:20:30 2487156 849
namana.jpg 232Кб, 1080x1080
1080x1080
>>2487143
>Функционально программа должна обеспечивать требования тз.
>В каком стиле она написана никого не ебет.
Ты из НИИ капчуешь или с дивана вкатился?
Аноним 13/10/22 Чтв 01:29:41 2487157 850
>>2487146
>на CLispe некоторые вещи писал
>новых концепций
Первый выпускапрель 1987
Последняя версия 2.49 (7 июля 2010)

>времени не так много
>Вы бы что выбрали?
Java. Она меньше и знания предметки (математики, ос, железа) или профильного образования не нужно. Кровавый энтерпрайз он везде +/- одинаковый.
Аноним 13/10/22 Чтв 01:36:34 2487159 851
>>2487157
>Первый выпускапрель 1987
>Последняя версия 2.49 (7 июля 2010)
И? Ты в курсе, что языкостроение застряло где-то в 90-00 годах? Все "новые" концепции, которые добавляют в современные популярные язычки, зачастую уже использовались в других, менее известных, языках сто лет назад.
мимо
Аноним 13/10/22 Чтв 02:01:20 2487165 852
>>2487159
И в этих "менее известных" языках было несколько удачных концепций совместно с десятками неудачных. В итоге получалось, что в 20% случаев код был хорош и в 80% - очень не очень.
Алсо с тех пор и железо драматически поменялось и отношение к коду как к продукту.
Аноним 13/10/22 Чтв 02:47:43 2487325 853
>>2487143
Да ему сначала собес бы пройти. Он там c-style cast с malloc/free зарядит и сразу на пересдачу отправится. На Java хоть такой возможности нету.
Аноним 13/10/22 Чтв 03:05:46 2487328 854
>>2487325
>>2487134
Можно подумать, переучиться с c-style на современный c++ так уж трудно. Сишники же не макаки пустоголовые, чтобы настолько не уметь адаптироваться. Как минимум, переключиться с malloc/free на new/delete вообще не проблема, особенно когда понимаешь разницу.
Аноним 13/10/22 Чтв 03:47:05 2487333 855
PTSDOwl.jpg 4Кб, 300x168
300x168
>>2487328
Его постоянно будут преследовать флэшбэки, потому что c++ позволяет писать на c. Глобальные переменные, статические функции, макросы, с-style массивы, с-style касты, с-style enum, c-style структуры, c-style строки, работа с памятью, ввод/вывод. Это лишь малый перечень того, что нужно переосмыслить и забыть.
Аноним 13/10/22 Чтв 06:51:38 2487343 856
>>2487333
Ещё нужна функциональщина. Curriyng, композиция функций, паттерн-матчинг, монады, нормальные лямбды. Вот тогда заживём.
Аноним 13/10/22 Чтв 09:05:18 2487357 857
>>2487333
> Глобальные переменные, статические функции, макросы, с-style массивы, с-style касты, с-style enum, c-style структуры, c-style строки, работа с памятью, ввод/вывод
Почти всё из этого переучивается за 1 вечер. Мб ты реально про каких-то проперженных дедков из НИИ пишешь, которые уже слюну пускают.
Бтв что не так с си стайлом? Интересуюсь как нюфак.
Аноним 13/10/22 Чтв 11:50:06 2487436 858
>>2487165
Что не отменяет того что последней новой идеей был пролог, а с тех пор в основном меняют один нескучный синтаксис на другой.

Алсо
>драматически поменялось
в приличном обществе за такие выражения принято в рот срать
Аноним 13/10/22 Чтв 12:04:23 2487450 859
Аноним 13/10/22 Чтв 14:19:41 2487555 860
>>2487343
Большую часть из перечисленного, если не всё, можно реализовать самостоятельно. А что с лямбдами не так?
Аноним 13/10/22 Чтв 14:35:12 2487565 861
inoneday.png 439Кб, 728x566
728x566
>>2487357
>что не так с си стайлом
В нём получается много закладок, ведущих к пиздецома, так как меньше контроля за происходящим от компилятора.
Аноним 13/10/22 Чтв 14:45:10 2487568 862
>>2487436
>приличном обществе
>в рот срать
Это самоирония?
Аноним 13/10/22 Чтв 14:57:26 2487576 863
>>2487568
>Это самоирония?
Так-то богатые люди - самые большие содомиты на Земле, поэтому срать в рот, в каком-то смысле, один из признаков приличного общества.
Аноним 13/10/22 Чтв 15:00:16 2487579 864
>>2487576
О, двачи-то оказывается место высокой, ебать её в рот, культуры, епта бля.
Аноним 13/10/22 Чтв 15:02:42 2487580 865
>>2487579
Конечно, а ты е знал, что двач - борда для успешных людей? Здесь какждый первый зарабатывает 300кк/ннсек и разбирается во всех сферах жизни.
Аноним 13/10/22 Чтв 16:03:28 2487654 866
>>2487565
>контроля за происходящим от компилятора
Так это минус.
Сначала дрочат на агрессивную оптимизацию, потом ахуевают от чудес в выполнии
Аноним 13/10/22 Чтв 16:27:43 2487672 867
16570266150660.png 2385Кб, 1280x1209
1280x1209
REFERENCES WAS A MISTAKE

надо было просто добавить автодереференсинг к указателям
Аноним 13/10/22 Чтв 17:11:06 2487726 868
>>2487672
>автодереференсинг к указателям
Накладные расходы в рантайме, либо закос под раст.
Аноним 13/10/22 Чтв 17:15:07 2487731 869
>>2487654
Какая ещё оптимизация, чел.
Я про подстановки матрасов, касты констов в неконсты, касты со сдвигом в нетуда, неупорядоченное создание глобалов, перемешивание пространств имён и прочее c-style говнецо.
Аноним 13/10/22 Чтв 20:17:19 2487942 870
iBV5INDr8U.jpg 45Кб, 674x492
674x492
tMBc2Mx7kpM.jpg 20Кб, 392x175
392x175
Столкнулся я с дико странной хернёй, связанной с инкрементами.
В компиляторе от майков получается один выход, в g++ - другой. Кто прав всё-таки?
Аноним 13/10/22 Чтв 20:18:34 2487944 871
Аноним 13/10/22 Чтв 20:31:41 2487952 872
>>2487944
>UB
спасибо, разобрался
Аноним 13/10/22 Чтв 21:26:04 2487990 873
Аноним 13/10/22 Чтв 21:38:24 2487998 874
>>2487990
Между одним инкрементом и двумя очень большая разница.
Аноним 13/10/22 Чтв 22:10:53 2488027 875
>>2487998
Сам принцип пойми почему это UB.
Аноним 13/10/22 Чтв 22:18:02 2488031 876
Поиск по треду дал нихуя поэтому спрошу. Решил-таки наяривать на кресты, но не успел я начать читать Страуструпа, как шарага решила погонять меня по Win32. Ессэсна эта же шарага а точнее пары дали мне целое нихуя поэтому ищу материал чтобы освоится с этим вашим WinAPI. Пока нашёл только http://www.winprog.org/tutorial/, но оно для С что вроде не большая проблема в контексте основ, видосеки от индусов муторные и сводятся к "мммм ви скип зис фор нау" от русскоговорящих ещё хуже часто (кроме https://www.youtube.com/watch?v=JV1bro7eK04 но хуй его).


Что посоветуете, аноны? В шапке нихуя нету, тутор на сайте Майков видел, но он какой-то сжатый, что-ли. Подчеркну, что мне чисто чтобы в азах разобраться и закрыть предмет своими силами.
Аноним 13/10/22 Чтв 23:47:24 2488068 877
>>2488031
Вряд ли в шараге требуют именно винапи, скорее всего там что то типа "системное программирование". Забей на это говно мамонта и делай под линукс/posix. Я делал так и никаких подводных не было, вместо дельфи использовал лазарус с фрипоцкалем, вместо цепепебилдера куте...
Аноним 14/10/22 Птн 04:48:23 2488092 878
Каково мнение анонов по anonymous namespace?
Это хорошая мировая практика?
Аноним 14/10/22 Птн 10:12:15 2488203 879
>>2488031
Качели хелп для вьюжал студии, там все есть.
Аноним 14/10/22 Птн 10:12:45 2488204 880
Аноним 14/10/22 Птн 13:41:22 2488397 881
image.png 28Кб, 1133x504
1133x504
image.png 39Кб, 1224x577
1224x577
>>2451830 (OP)
Аноны это я туплю или код на хабре херовый?
Перемножение матриц
https://habr.com/ru/post/359272/
Во-первых, мне непонятно как он тут одномерный у него в коде, матрица же всегда двухмерная.
Во-вторых, почему при M,N,K = 2048 программа работает 1 цикл? С точки зрения кода она и должна работать 1 раз потому что за индексы уйдёт, но тогда код неправильный?

Мне надо 2048х2048 матрицы перемножить по заданию.
Аноним 14/10/22 Птн 14:30:16 2488452 882
Плюсоёбы. Делаю миникарту на Qt. Скажите как можно сделать ебучее ограничение чтобы сраный прямоугольникне вылетал за пределы миникарты, а болтался в ее границах?
Аноним 14/10/22 Птн 14:41:07 2488471 883
>>2488397
я некоторое время решал что делать:
1) написать пасту на 200 строк объясняющую в чем ты не прав
2) послать тебя нахуй

как видишь, строчек в посте явно меньше 200, так что выбор невелик
Аноним 14/10/22 Птн 15:06:21 2488527 884
>>2488452
Если(прямоугольник вылетел за пределы карты) то прямоугольник_в_позицию(пределы карты)?
Аноним 14/10/22 Птн 15:29:14 2488569 885
Qt-треда не нашёл, из ньюфажного треда меня погнали сюда.
Может вы знаете - можно ли для QHBoxLayout задать ширину одной колонки в процентах от родительского элемента? Чтобы при изменении размера окна (и самого родителя) она бы менялась автоматически?
Аноним 14/10/22 Птн 16:07:04 2488646 886
>>2488527
Бля. Так то можно и в центр поставить конечно. Тогда правда дергать будет его. Думал просто виджет как то ограничить. Только сука с фиксированным размером границы нет, а к краям не привязаться. В общем придется события мыши пересчитывать. Сука.
Аноним 14/10/22 Птн 16:47:38 2488709 887
>>2488569
Для этого есть сигналы/слоты.
Аноним 14/10/22 Птн 16:49:32 2488715 888
>>2488569
resize event запили. Будет тебе изменение колонки при изменении окна.
Аноним 14/10/22 Птн 16:49:46 2488716 889
>>2488569
resize event запили. Будет тебе изменение колонки при изменении окна.
Аноним 14/10/22 Птн 16:51:40 2488723 890
>>2488709
Эмм... А при чём они тут? Или ты имеешь ввиду - у родительского элемента перехватывать события resize?
Аноним 14/10/22 Птн 16:52:35 2488725 891
>>2488716
Так и собирался сначала. Но думал, может можно как-то штатными методами без пердолинга.
Аноним 14/10/22 Птн 17:35:58 2488794 892
>>2488725
Только штатный resize.
Аноним 14/10/22 Птн 17:54:14 2488814 893
>>2488072
Все эти ваши книги и статьи полная хуйня и никому не интересно что ты там там читаешь. Тебя спросят что ты делать умеешь и если ты скажешь умею писать драйвера для линукса, тогда ты потянешь на джуна+, а так ты ничем от макаки после курсов не отличаешься
Аноним 14/10/22 Птн 17:56:46 2488816 894
>>2488031
Нахуй этим говном заниматься, ты че даун, как тебе уже указали есть что то что полезнее поизучать, а это просто спизди у своих тупых одногруппников, а не будь этим самым тупым одногруппником
Аноним 14/10/22 Птн 18:21:30 2488845 895
Опытные аноны, обьясните мне пожалуйста, зачем учить плюсы?
Аноним 14/10/22 Птн 18:24:40 2488851 896
>>2488845
мне хочется бытрого вката в айти, уже прочитал три книжки по плюсам базовые, потом посмотрел вакансии и с грутью сейчас ковыряю жаваскрипт. Может я чего-то не так понял?
В плюсах привлекает некая самодостаточность,что в теории можешь всё на плюсах сам написать и сидеть довольный.
Но с другой стороны каждый раз будто тебе нужно будет велосипедить....
Аноним 14/10/22 Птн 18:25:35 2488853 897
>>2488851
А вы за что любите с++?
Аноним 14/10/22 Птн 18:43:57 2488890 898
>>2488845
За то что на них пишутся интересные ёбы. Зрение, автопилоты, 3d печать и реконструкция, нейросеточки, робаты.
Правда на одних плюсах ты туда не доберёшься - нужно ещё петухон осилить и всякую матешу и предметку (хорошие плюсы дают лишь 30-40% от вката в желаемый хайтек).
Аноним 14/10/22 Птн 18:58:28 2488909 899
>>2488890
Звучит классно,можно обсмотреться всякими фильмами про киборгов и на мотивации сидеть писать код
Аноним 14/10/22 Птн 20:33:00 2489004 900
image.png 400Кб, 981x573
981x573
>>2488068
> там что то типа "системное программирование"
Оно и есть. Но там win32. Ещё, кстати, заметил что препод залил пикрил. Годно или проходняк?
> Забей на это говно мамонта и делай под линукс/posix.
Хуй там, надо на WinAPI. Курсач, наверное, тоже.
>>2488203
Это в инсталяшке?
>>2488816
Мне писать индивидуальные работы и, скорее всего, курсач. В своём манямирке выбросишь.

Кстати, а какой нынче дефолт для GUI на крестах в Шинде? Неужели Qt?
Аноним 14/10/22 Птн 21:48:35 2489042 901
Аноним 14/10/22 Птн 22:06:35 2489058 902
>>2488845
За абсолютную свободу действий. Я дрочу так, как хочу. Я могу отстрелить себе ногу любым способом, и даже не заметить этого.
А ещё я лютый мазохист. У крестов нет никакого тулкита. Дрочишь как хочешь.
Даже стектрейса нет искаропки.
Писать код на плюсах это как мастурбировать и бить себя током по яйцам во время этого.
Аноним 14/10/22 Птн 22:17:38 2489067 903
>>2488845
Плюсы мне дали 10+кб зарплаты на руки и перекат в Цюрих (в процессе).
Аноним 14/10/22 Птн 23:18:10 2489103 904
>>2488853
Идеальный баланс между скоростью написания кода и скоростью работы программы. Никакого гарбедж коллектора, jit-компиляции, миллиона ненужных сущностей и прочего кала, существующего только ради того, чтобы чуть эффективнее писать код засчет резкого понижения эффективности программы. При этом, проблемы с безопасностью, которые вменяют плюсам, решаются, насколько я могу судить, очень просто - в языке есть всё необходимое для написание безопасного кода, стоит только захотеть. Имхо, телега про небезопасность и "стрельбу в ногу" была бы справедлива, если бы речь была о C, но предъявляют это, почему-то, крестам. Ну и в чём я неправ?
Аноним 15/10/22 Суб 00:09:54 2489143 905
>>2489103
Прав не до конца. На си тоже можно заебись писать. Все базоаое дерьмо гаписано внезапно на си и работает. Просто на плюсах писать удобнее.
А про небезопасность ноют овощи.
Аноним 15/10/22 Суб 00:33:05 2489148 906
>>2489143
Язык, у которого есть Х из коробки, лучше того языка, у которого этого нет.
Аноним 15/10/22 Суб 02:28:02 2489174 907
>>2489042
UWP настолько непопулярно?

Кстати, поддвачну >>2488851, где искать работу с крестами? JS-говна полно, Java ещё есть, но кресты с опытом работы только.
Аноним 15/10/22 Суб 02:36:44 2489175 908
>>2489148
В реальности так не работает, хотя звучит хорошо. По факту как писали на сях так и будут.
Аноним 15/10/22 Суб 02:54:04 2489177 909
>>2489174
На плюсах как обычно - идёшь в говнии, потом на работу "с опытом". Или через стажёрство, но так могут не только лишь все.
Аноним 15/10/22 Суб 06:55:45 2489185 910
>>2487726
>Накладные расходы в рантайме
Это какие такие расходы?

>либо закос под раст
Закоз под все япы, сейчас автодереференсинг ВЕЗДЕ
Аноним 15/10/22 Суб 07:09:20 2489187 911
>>2489103
> скоростью написания кода
)
> проблемы с безопасностью, которые вменяют плюсам, решаются, насколько я могу судить, очень просто
)
> в языке есть всё необходимое для написание безопасного кода, стоит только захотеть
> просто не пиши небезопасно, лол

> телега про небезопасность и "стрельбу в ногу" была бы справедлива, если бы речь была о C, но предъявляют это, почему-то, крестам.
как раз таки к плюсам это в большей степени и относится, даже больше чем к си
в плюсах адская мешанина из семантик, которые ты должен держать в голове 24\7
Аноним 15/10/22 Суб 11:06:24 2489221 912
>>2489187
> > просто не пиши небезопасно, лол
И в чём проблема? Почему для написания безопасного кода обязательно превращать язык в говно?
> в плюсах адская мешанина из семантик, которые ты должен держать в голове 24\7
Это какое-то неосиляторство. Если неправильно писать код на джаве, он тоже будет выдавать неожиданные результаты. На плюсах писать код правильно чуть сложне, чем на джаве - как из этого следует, что язык небезопасный?
Аноним 15/10/22 Суб 19:01:49 2489487 913
>>2489311
gdb, valgrind, asan, tsan, pprof
Вкатываться только через попоболь, иначе никак.
Аноним 15/10/22 Суб 19:10:55 2489493 914
>>2489491
Про сиситемы сборки у меня пробел в знаниях, увы.
Пишу плюсы только на работе, там все собирается через bazel.
Который сам по себе тот еще монстр.
Аноним 15/10/22 Суб 19:13:38 2489495 915
>>2489311
Вижуал студия, и не еби голову пердольным говном. Надо будет - выучишь.
Аноним 15/10/22 Суб 19:17:06 2489496 916
>>2489495
Ну, к слову, есть разные требования к сборке, как вариант - это параметры в каком-нибудь хедере вроде версии. Студия тебя заставит это менять в коде, а через cmake можно сделать .h.in файл, который будет переменные, переданные через -D в него подставлять.

Но да, на винде студии хватает в целом за глаза.
Аноним 15/10/22 Суб 19:21:02 2489498 917
>>2489497
На линуксе хз.
Хотя, конечно, можно выебнуться и собирать в qtcreator или как там это называется. Только помнится мне, когда был 17 стандарт, qt мог только в 14 - как сейчас не знаю.
Аноним 15/10/22 Суб 20:10:23 2489524 918
>>2489496
>>2489498
>>2489506
Cmake сам вме делает. На линукме есть креанор, слион, вскоде. Cmake в них работает абсолютно одинаково.
И в add_compile_definitions -D уже не нужно.
Аноним 15/10/22 Суб 20:19:10 2489527 919
>>2489221
>И в чём проблема?
В том что это не просто
> превращать язык в говно?
В данный момент плюсы один из самых худших языков да и хуже его сделать сложно, славо богу хоть дедушки стандарты продолжают пилить

> Это какое-то неосиляторство.
Да, поэтому и говорят что даже старики из стандарта плюсы не знаю полностью, неосиляторы, хуле
Аноним 15/10/22 Суб 21:06:38 2489550 920
>>2489497
ну тогда ебись сам.
Аноним 15/10/22 Суб 21:38:13 2489574 921
>>2489573
вим не забудь напердолить 1488 плагинами
Аноним 16/10/22 Вск 17:44:27 2490003 922
Котаны, в чем преимущество
std::vector::emplace_back перед std::vector::push_back?

Когда и как использовать первое, а когда второе? Да, в гугле забанили.
Аноним 16/10/22 Вск 18:14:41 2490029 923
>>2490003
Эм, очевидно первое сконструирует элемент уже в контейнере а второе скопирует туда имеющееся?

Очевидно, первое использовать когда лишнее копирование имеет значение и было бы неплохо его избежать, а второе когда похуй и вообще у тебя в проекте версия компилятора древнее чем цепепе11?
Аноним 16/10/22 Вск 20:38:13 2490123 924
>>2489221
>На плюсах писать код правильно чуть сложне, чем на джаве
Нет. На джаве в сотни раз проще писать, чем на плюсах. Как минимум просто потому, что джава стремится делать так, чтобы действие Х можно было выполнить минимальным числом способов. В С++ все ровно наоборот: вспомнить ту же инициализацию. Нахуя ее столько? Зачем нужна перегрузка оператора запятая? И все это нужно держать в голове всегда. В жабе ты максимум где-то обосрешься с NPE, в остальном писать на ней гораздо приятнее, в том смысле, что просто берешь и хуяришь бизнес-логику, не сильно задумываясь о языке.
Аноним 16/10/22 Вск 21:42:27 2490153 925
Хочу написать приложение с современным интерфейсом, как в 11 винде. Прозрачности, анимации и тд. Какой фреймворк мне использовать?
Аноним 16/10/22 Вск 21:50:50 2490157 926
Аноним 16/10/22 Вск 22:30:55 2490197 927
Аноны, изучаю многопоточность.
Хочется попрактиковаться в написании чего-то, есть какие-нибудь блоги или сайты где были бы уроки с задачами?
Типа, вот пишем потокобезопасную очередь, тредпул и тд и тд.
Аноним 16/10/22 Вск 22:44:04 2490209 928
>>2490197
У Вильямса в книге есть упражнения
Аноним 16/10/22 Вск 23:01:49 2490220 929
>>2490209
Разве? Пока только первые три главы прочитал и ничего такого не было, кроме обычных листингов с примерами использования.
Аноним 17/10/22 Пнд 03:55:28 2490303 930
>>2490123
>Зачем нужна перегрузка оператора запятая
Это не используют.
Аноним 17/10/22 Пнд 04:18:59 2490305 931
>>2490303
И всё же она зачем-то есть. Почему ?:, точку или :: перегрузить нельзя, а блядскую запятую можно?
Аноним 17/10/22 Пнд 05:00:39 2490310 932
>>2490305
>?:
А в чем смысл такой перегрузки?
>точку
А Зачем?
> :: перегрузить нельзя
Это оператор пространства имен
Аноним 17/10/22 Пнд 10:53:01 2490365 933
>>2490303
>Это не используют
>>2490310
>В чем смысл такой перегрузки?

Ты вот серьезно сейчас?
Аноним 17/10/22 Пнд 15:27:21 2490516 934
image.png 80Кб, 1064x647
1064x647
Копирую из ньюфажного треда, мб тут быстрее ответят.
Сап, погромасч. Вопрос от ньюфага по С++. Как мне сделать символьную строку членом класса? Учебник Лафоре мне говорит, что пикрил, но мой компилятор говорит мне char a[] = "idi nahui". Хочется, чтобы каждый член класса можно было именовать, но пока получается делать это одним символом, что немного неудобно. Я уверен, что ответ есть и он на поверхности, но сам докопаться не могу.
Аноним 17/10/22 Пнд 15:31:02 2490518 935
>>2490516
В функции вместо char pname[] напиши const char* pname.
И лучше как можно быстрее отказаться от строк в стиле C.
Аноним 17/10/22 Пнд 15:34:19 2490519 936
>>2490518
Спасибо, сработало.
>И лучше как можно быстрее отказаться от строк в стиле C.
Почему? И как тогда писать? Я, если честно, вообще не шарю и чистого С никогда в глаза не видел.
Аноним 17/10/22 Пнд 15:35:50 2490520 937
Сап аноны, подскажите как прочитать 2 байта из бинарного файла и преобразовать их в целое число?
Способы из Гугла не работают, хочу рабочий код
Аноним 17/10/22 Пнд 15:42:04 2490521 938
>>2490519
> Почему
Ну как минимум потому что и ради больших, и ради маленьких строк тебе придется постоянно долбиться в память, и делать это ручками, что чревато ошибками. Да и неудобно это просто-напросто.
> И как тогда писать
Не знаю, что там пишет твой Лафоре, но пока читай его. Если не обмолвится о std::string, то прочитай об этом сам.
Аноним 17/10/22 Пнд 15:48:18 2490525 939
Аноним 17/10/22 Пнд 16:00:48 2490531 940
Аноним 17/10/22 Пнд 16:44:18 2490559 941
>>2490531
Спасибо, получилось. Был раньше код просто с char buff и выдавало чушь вместо числа.
Сделал unsigned char buff и заработало. Почему так?
Аноним 17/10/22 Пнд 17:07:34 2490571 942
Почему некоторые используют запись типов в виде int, short, float, double, а некоторые пишу что-то в духе u64, u8 и т.д? В чем сакральный смысл?
Аноним 17/10/22 Пнд 17:08:53 2490573 943
Аноним 17/10/22 Пнд 17:17:11 2490579 944
>>2490559
Потому что побитовые операции со знаковыми это полный кринж.
Допустим, у тебя есть что-то типа
char c1 = -1; // -1 = 0xff
char c2 = -2; // -2 = 0xfe
когда ты делаешь
short s = c1 | c2 << 8;
ты ожидаешь, что там будет 0xfeff, но на самом деле там будет 0xffff
Почему так?
Потому что
short s = c1 | c2 << 8;
компилятором преобразуется в вид
short s = static_cast<short>(static_cast<int>(c1) | static_cast<int>(c2) << 8);
а static_cast<int>(c1) это не 0x000000ff, как ты бы хотел ожидать, а 0xffffffff.
Аноним 17/10/22 Пнд 18:00:54 2490613 945
1666018854529.jpeg 1231Кб, 1439x2334
1439x2334
>>2490571
Потому что в стандарте нет четкого указания размера типов.
И чтобы не обнаружить, что ты выстрелил себе в ногу в кроссплатформенном приложении, ожидая размер usigned int всегда в 4 байта и получив переполнение, ты пишешь size_t, чтобы на х64 системе это был тип в 8 байт, а на х86 - 4 байта.
Ну и всякие uint8_t, uint64_t - то же самое.
Аноним 17/10/22 Пнд 18:08:45 2490620 946
Аноним 17/10/22 Пнд 19:14:53 2490712 947
>>2490571
Ну есть например микропроцессоры где для удешевления адресация минимум 16 бит. Си/си++ просто делают char 16 бит, языки с u8 отсасывают.
Аноним 18/10/22 Втр 14:58:37 2491183 948
>>2490525
Всё есть указатели, разыменовывание автоматом, как в питоне, шарпе и тды
В расте, референс это указатель + лайфтайм
В го только указатели есть, автодереференсинг
Аноним 18/10/22 Втр 15:42:32 2491210 949
>>2487672
Автодереференсинг это зло. Нихуя не понятно по коду, где объект, а где ссылка на него, где копирование объекта, а где копирование указателя. Нельзя одновременно отстаивать идею написания читабельного кода и автодереференсинг в языке.
Аноним 18/10/22 Втр 20:35:44 2491364 950
Аноним 18/10/22 Втр 20:48:48 2491375 951
>>2491364
> перекатывает на 900
Вот дебил же!
Аноним 18/10/22 Втр 20:53:49 2491383 952
Аноним 18/10/22 Втр 21:13:36 2491406 953
>>2491383
Да поздно уже, теперь дохуя вкатышей с лабами увидит тред на первой странице и будет срать там.
Аноним 18/10/22 Втр 21:22:14 2491411 954
>>2491406
Утонет, маленький, утонет...
Аноним 18/10/22 Втр 21:34:09 2491417 955
>>2491411
Ага, но сначала туда насрут 500 постов, а потом по инерции.
Аноним 18/10/22 Втр 22:29:49 2491445 956
>>2490197
gitlab.com/Lipovsky/concurrency-course
Аноним 19/10/22 Срд 04:27:44 2491511 957
>>2491210
> Нихуя не понятно по коду, где объект, а где ссылка на него
Дерефененсинг никак тебе в этом не помогает, ты можешь это узнать только из типа
но и тебе и не нужно знать, когда ты обращаешься к объекту, находится он под ссылкой, или под указателем

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

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

плюсы сюда не входят, в си хоть явно понятно когда ты что копируешь
Аноним 19/10/22 Срд 07:40:18 2491528 958
>>2491511
>можешь узнать только из типа
В питоне и шарпе даже это недоступно. Я именно об этом и говорю, что есть чёткое разграничение между ссылками/указателями и объектами, и исходя из этого понятно, что в коде происходит.
>тебе и не нужно знать, когда ты обращаешься к объекту, находится он под ссылкой, или под указателем
Да, всего лишь надо удерживать в голове все возможные сценарии: чётко понимать, что будет, если, например, вернуть объект из функции - произойдёт ли копирование? Читаемость - 10/10.
>Читаемые языки: все имеют автодереференсинг и явное копирование
Тыскозал? Или кто решает, какие языки читаемые, а какие нет?
Аноним 19/10/22 Срд 07:57:38 2491533 959
>>2491528
> шарпе даже это недоступно
В шарпе есть ref-типы и value-типы. Даже разными цветами выделяются. Ничего в голове держать не надо.
Аноним 19/10/22 Срд 09:49:25 2491564 960
>>2491528
>В питоне и шарпе даже это недоступно.
>узнать тип
Доступно всегда было, с пробуждением

> чётко понимать, что будет, если, например, вернуть объект из функции - произойдёт ли копирование? Читаемость - 10/10.
Автодереференс тут какое отношение имеет?

> Тыскозал? Или кто решает, какие языки читаемые, а какие нет?
Я сказал. Или у тебя плюсы неожиданно читаемым языком стали?
Даже язык главная задача которого была простота и читаемость - го, и то автодереференсинг есть
Аноним 19/10/22 Срд 11:33:54 2491596 961
>>2491564
>>узнать тип
>Доступно всегда было, с пробуждением
Не тип узнать, а по коду понять, где ты работаешь с ссылкой, а где с объектом.

>Автодереференс тут какое отношение имеет?
Такое, что явное лучше неявного. Автодереференс как в питоне ухудшает читаемость кода, это факт.

>Или у тебя плюсы неожиданно читаемым языком стали?
А я и не говорил, что плюсы читаемые. Я сказал, что читаемость и автодереференс несовместимы.
Аноним 19/10/22 Срд 12:20:13 2491612 962
>>2491596
Зато явный дереференс увеличивает количество ошибок, сишка и кресты тому подтверждение. И про читаемость - как при чтении кода по диагонали достоверно узнать должен ли тут быть дереференс или нет? А если должен быть, но он не стоит? Или наоборот? Кик искать будешь это говно, если там байтоёбство и компилятор не высрет ошибку типов? А вот с автодереференсом такого никогда не случится - если он должен быть, то он будет, либо ошибка компиляции.
Аноним 19/10/22 Срд 13:23:59 2491640 963
>явный дереференс увеличивает количество ошибок, сишка и кресты тому подтверждение
Каких ошибок? Когда ты не понимаешь, как работают указатели, и пишешь неправильно? Ну извините.
>как при чтении кода по диагонали достоверно узнать должен ли тут быть дереференс или нет?
Причём тут "должен"? Есть он по факту или нет - это то, что должно моментально считываться.
>А вот с автодереференсом такого никогда не случится - если он должен быть, то он будет, либо ошибка компиляции.
Ммм, магическое мышление. Как язык за тебя решит, должен копироваться объект, или только значение указателя на него?
Аноним 20/10/22 Чтв 14:27:13 2492719 964
>>2490531
std::ifstream iFile("path", std::ios_base::binary)
std::uint16_t buff;
iFile.read((char*)buff, sizeof(buff))

Пидорашка-хохол ебаный, наговнокодил ты пидорас чуркастый.
Аноним 20/10/22 Чтв 14:32:21 2492725 965
>>2490516
>double cost
>double

Лучше нахуй выкинь любые флоат и даблы из своего кода в качестве хранения валюты/цены и т.д., т.к. математическая формула представлений чисел с плавующей точкой в 99% случаев не может правильно отобразить дробные числа.
Аноним 20/10/22 Чтв 14:32:27 2492726 966
>>2492719
Ты & забыл.
Экономия в одну строку? Хорош. Качество кода возросло в разы.
Аноним 23/10/22 Вск 22:07:29 2496819 967
>>2490516
просто используй std::string для символьных строк, вместо char[]
Аноним 26/10/22 Срд 18:51:43 2498969 968
image.png 26Кб, 3054x74
3054x74
Че мне с этим делать?
Аноним 26/10/22 Срд 18:56:40 2498978 969
>>2498969
Дрочить вприсядку. Красноглазые пердолики как обычно под кроссплатформенностью понимают "любой пердоликс", про существование других ОС не слышали. Поэтому линкуй своё ебучее радио вручную.
Аноним 26/10/22 Срд 19:02:38 2498984 970
image.png 23Кб, 3054x131
3054x131
>>2498978
Это ты про линуксоидов? Скажи мне как мне прилинковать GNU RADIO, какую команду вписать? просто что бы собрать GNU Radio нужно BOOST, а буста нет, BOOST я скачал. Там вроде ничего не надо собирать, как мне теперь добавить путь к BOOST'у в сборке GNURADIO, а патом добавить путь к GNU RADIO к GQRX
Аноним 26/10/22 Срд 19:03:59 2498987 971
>>2498984
вообщем GQRX требует GNUradio, а GNUradio требует BOOST
Аноним 26/10/22 Срд 21:57:09 2499135 972
изображение.png 63Кб, 440x202
440x202
изображение.png 70Кб, 355x225
355x225
Посоны, встретил в видеоуроке такую магию: при изменении &m на m нихуя не поменялось. После выполнения пик2 первый принтф все так же выводит тройку как и при выполнении кода из пик1. Ну ладно, хорошо, допустим имя массива то же самое, что и его адрес, но тогда все равно должна быть разница же? "&m" тогда должна слать указатель на указатель на массив, не? Как так то???
Аноним 26/10/22 Срд 22:05:50 2499137 973
>>2499135
Хотя ща дальше посмотрел, он там вроде переправил обратно, так что хуй знает, мб просто повезло но бля...
Аноним 27/10/22 Чтв 19:33:13 2499843 974
Требуется реализовать настройки для приложения. Ну казалось можно подключить базу данных, или просто двумерный массив строк сделать, где 1 строка, это название переменной настройки, 2 строка, значение переменной настройки. Я пишу на Qt и мне нужно еще сделать так что бы допустим нельзя было вводить в определенную настройку больше 9 символов, или два нуля подряд, или нельзя вводить десятичное число. И также нужно сделать так что бы при изменении настройка отсылала всем событие или сигнал, о том что она изменилась. Также нужно сделать так что бы при изменении одной настройки менялась другая. Как это красиво реализовать? Я пока реализовал ввиде отдельного класса где сделал отдельный сигнал, отдельные функции и переменные для каждой настройки.
Аноним 28/10/22 Птн 15:52:39 2500311 975
изображение.png 8Кб, 497x248
497x248
Да блет, да почему так? Должно же быть 1111 0000 1111 0000... итд, не? Скорее всего я где-то накосячил, но где?

Код: https://pastebin.com/bG7vPq6z
Аноним 28/10/22 Птн 16:00:37 2500316 976
>>2500311
Хммм... когда поменял selected_bit на ансигнед заработало правильно. Ладно, кажется понял сам, но тогда возникает впрос: разве мы при объявлении char selected_bit_char = 0b10000000 не указываем явно способ расположения битов в памяти? Как тогда реализовать явную передачу по битам? Только через битовые поля?
Аноним 28/10/22 Птн 16:17:57 2500326 977
>>2500316
Чел, читай про endianness. Первый бит всегда справа на х86.
Аноним 28/10/22 Птн 16:22:21 2500328 978
>>2500326
Имеешь ввиду старший?
Аноним 28/10/22 Птн 16:27:10 2500331 979
Аноним 28/10/22 Птн 16:29:00 2500332 980
>>2500326
Ладно, кажется понял. Не отвечай.
Аноним 29/10/22 Суб 15:05:14 2500834 981
Так, а вот сейчас у меня и вправду космически бомбануло:
я продолжаю курить эти (>>2499135) уроки, и... оказалось так делать можно)))
Ладно, давайте просто вместе маленьк подумаем))) (Программирование это ведь все же про логику, и тут нужно иногда сесть и маленьк подумать) но лучше, я так понял, не надо

Вот мы имеем переменную m, являющуюся именем статического массива int m[5] = {1,2,3,4,5}, значение которой располагается в некоторой ячейке памяти A и хранит там адрес ячейки памяти B, в которой лежит значение первого элемента массива. Ок. Дальше попробуем узнать адрес ячейки памяти A, по которому лежит значение переменной m: выполняем &m и.... получаем адрес ячейки памяти B, в которой лежит значение первого элемента массива.Т.е.в ячейке B, помимо значения первого элемента массива, должен лежать еще и адрес, по которому лежит адрес первого элемента массива? Все правильно?
Как???...Почему??..В конце концов, нахуя?? ..
Аноним 29/10/22 Суб 15:50:15 2500843 982
>>2500834
Адрес в этом случае в памяти не лежит, там только сам массив. Вся разница между m и &m - в типе выражения (чистая абстракция, понятная только компилятору). Первое это int[5] - массив из пяти интов, второе int (*)[5] - указатель на массив из пяти интов. При этом первое выражение ведет себя как указатель на первый элемент массива.
Аноним 29/10/22 Суб 16:08:03 2500850 983
>>2500843
У вас неправильный язык программирования. Переделывайте.
Аноним 30/10/22 Вск 10:12:05 2501340 984
>>2500834
> но лучше, я так понял, не надо
Если тупой, то вообще лучше не пытаться думать.
> выполняем &m и.... получаем адрес ячейки памяти B
Нет, получаем ссылку на указатель. В m лежит адрес участка памяти с интами. Скобочки в массиве - это просто сахар над указателем. Можешь делать ⚹(m + sizeof(int) ⚹ i) и получать элемент из массива.
Аноним 30/10/22 Вск 11:15:38 2501363 985
>>2501340
Глупенький, ты хоть смысл вопроса то понял?
Вопрос в том, почему в крестах все указатели как указатели, а имя статического массива - указатель курильщика.

>>⚹(m + sizeof(int) ⚹ i)
А вот эту вот хуйню с адресной арифметикой ты можешь в анус себе засунуть. Она вообще не имеет отношения к делу.

Если вообще хоть немного нацелен на конструктивный диалог, а не на тупорылые высеры, то прокоментируй лушчше ответ этого (>>2500843) анона, по поводу абстракции. Т.к. я так не понял, на кой хер Труп Страуса сделал именно таким образом. Что это вообще дает, кроме того, что вся стройная логика указателей пошла нахуй.
Аноним 30/10/22 Вск 11:19:58 2501365 986
>>2501340
>>⚹(m + sizeof(int) ⚹ i)
Лол. Да ты ее даже неправильно написал. Че-то я не сразу обртаил внимания. Короче понятно все с тобой. Больше сюда не пиши.
Аноним 30/10/22 Вск 11:38:23 2501372 987
изображение.png 99Кб, 556x282
556x282
>>2501340
Ладно, я даже тебе упрощу задачу для того, чтобы ты въехал о чем вообще шла речь. Если и после этого не дойдет, то тут уже я бессилен
Аноним 30/10/22 Вск 12:27:11 2501390 988
>>2501372
> пик
Блять, ты в курсе что ссылки - это не указатели? То что ты передал указатель по ссылке не значит что он должен поменяться, указатель не l-value. С какими же даунами сижу в одном треде.
Аноним 30/10/22 Вск 12:46:17 2501395 989
изображение.png 22Кб, 1214x258
1214x258
>>2501390
Во первых, если б ты поспокойнее пиздел, тебе бы никто не стал грубить. Во вторых, я ньюфаг, и то, что у тебя 100500 лет опыта проганья в крестах вряд ли дает тебе право разговаривать в подобном тоне. В третьих, если я правильно тебя понял:
1) Когда мы пишем int m[3]; cout <<&m то мы передаем указатель по ссылке
2) Когда мы пишем int a=0; int ⚹p = &a; cout <<&p то мы берем адрес указателя, так?

Но это все равно не дает ответ на мой вопрос. В чем профит такого различия? Почему нужно было делать различие между указателем статического массива и обычным указателем. Это же тупо создает путаницу. А плюсов такого подхода я вообще не вижу.
Аноним 30/10/22 Вск 12:52:28 2501398 990
изображение.png 19Кб, 1064x224
1064x224
>>2501390
Бля, не тот код вставил. Тут (>>2501395), я создаю обычный указатель и инициализирую его статическим массивом. Так что там работает иначе
Аноним 30/10/22 Вск 13:14:20 2501400 991
>>2501398
>>2501395
>>Тут (>>2501395), я создаю обычный указатель и инициализирую его статическим массивом. Так что там работает иначе

Кстати, эта хуйня только подчеркивает разницу между статическими массивами и указателями
Аноним 30/10/22 Вск 13:42:16 2501427 992
>>2501395
Чел, вот где-то выше срались про автоматическое разыменовывание указателей. Ссылка - это грубо говоря указатель с автоматическим разыменованием, который компилятор может оптимизировать нахуй. Если передаёшь ссылку куда-то, то получатель получает объект внутри ссылки. Т.е. твою m.
> Почему нужно было делать различие между указателем статического массива и обычным указателем.
Потому что их нет. Массив это и есть указатель.
int ⚹p = &a;
Вот этот p легко кастуется к массиву. Можешь сходу его использовать как p[0].
> плюсов такого подхода я вообще не вижу
Потому что это отростки от си, в крестах такое всегда рекомендуется избегать.
Аноним 30/10/22 Вск 13:54:50 2501438 993
>>2501427
Короче, я так понял, по итогу тут проблема в беспределе автоматического разыменования указателей? Типа они творят что хотят и могут, грубо говоря, массив послать нахуй, а указатель в пизду, хотя и массив и указатель - одно и то же, все верно?
Аноним 30/10/22 Вск 14:01:15 2501445 994
>>2501427
Я, канеш, только начинаю изучать C++ так что мнение не окончательное, но, сложилось впечатление, что весь C++ - суть не что иное, как танцы на костылях на трупе языка C
Аноним 31/10/22 Пнд 00:37:16 2501763 995
>>2501445
Чел, вот это >>2500843 в той же степени относится и к Си, если что. Не очень понимаю, что тебя смущает. Это так же логично, как существование разницы между int⚹ и int⚹⚹.
Аноним 31/10/22 Пнд 09:27:59 2501828 996
>>2501763
Ну мб. Я отдельно Си не курил, только слышал упоминания, что в Си, мол, так, а в крестах эдак по тому-то и тому-то (как правило тут перечисляется пара способов прострелить себе колено)
Аноним 03/11/22 Чтв 18:43:21 2504932 997
Структуру WNDCLASSA можно нормально инициализировать нулями только при помощи мемсета? Нет других способов?
Почему С++ был спроектирован как компилируемый язык? Аноним 08/11/22 Втр 16:47:35 2508918 998
Нужен развернутый и четкий ответ на этот вопрос. В интернетах ниче не нашел на эту тему...
Аноним 08/11/22 Втр 17:18:47 2508941 999
>>2508918
потому что в те годы тебе бы ебало сломали если бы узнали что ты динамикопарашник
Аноним 08/11/22 Втр 22:08:06 2509223 1000
Аноним 08/11/22 Втр 23:03:01 2509295 1001
нет
Аноним 09/11/22 Срд 20:56:08 2510092 1002
кто перекатит тот лох
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов