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


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
733 58 220

C++ №91 /cpp/ Аноним 16/07/19 Втр 19:41:02 14370141
1407021859832.png (23Кб, 360x405)
360x405
Аноним 16/07/19 Втр 19:42:36 14370162
1406866681293.jpg (47Кб, 960x640)
960x640
Почему у меня метод resize() QLabel-а не работает?
Пишу:
imageLabel->setPixmap(QPixmap::fromImage(currentFile.toImage()));
imageLabel->resize(2 * imageLabel->pixmap()->size());
А ему поебать, все равно рисует картинку такого же размера.
Аноним 16/07/19 Втр 20:02:33 14370293
stoi.jpg (39Кб, 380x592)
380x592
Аноним 16/07/19 Втр 20:16:56 14370424
image.png (520Кб, 1024x576)
1024x576
>>1437029
>делает на ideone
>не дает ссылку
кастую тебя в войд
Аноним 16/07/19 Втр 20:16:56 14370435
>>1437029
Разименовывание указателя на массив нулевой длины это UB.
Аноним 16/07/19 Втр 20:18:20 14370446
>>1437029
Нормально работает, ты просто хуйню какую-то написал.
Аноним 16/07/19 Втр 20:18:36 14370457
Аноним 16/07/19 Втр 20:34:03 14370578
Аноним 16/07/19 Втр 20:42:19 14370619
>>1437057
Ну ты говоришь, что программа не работает. Но ведь она работает - запускается, что-то делает, завершает работу. Другое дело, что ты написал какую-то белиберду и ждёшь, что она будет работать так, как ты хочешь, а как ты хочешь - неизвестно, ведь ты не написал.
Аноним 16/07/19 Втр 20:42:31 143706310
>>1437057
что ты сделать то хочешь? раздели каут на два стейтмента, ты видимо думаешь что они не в том порядке вычисляются, как в реальности.
https://ideone.com/UF8yYI
Аноним 16/07/19 Втр 20:46:39 143706811
>>1437063
Спасибо за урок, анончик

>>1437061
А ты иди на хуй
Аноним 16/07/19 Втр 20:52:17 143707112
Как сделать, чтобы на картинку при сильном приближении накладывалась сетка границ пикселей, как в Photoshop?
Аноним 16/07/19 Втр 20:55:06 143707513
Аноним 16/07/19 Втр 20:55:29 143707714
>>1437071
отключать отключать антиалиасинг при рисовании, очевидно. делается командой antialiasVyklyuchit();
Аноним 16/07/19 Втр 20:57:03 143708015
Аноним 16/07/19 Втр 20:57:54 143708216
>>1437075
Алгоритм объяснить.
Аноним 16/07/19 Втр 20:58:42 143708417
Аноним 16/07/19 Втр 20:59:49 143708518
>>1437084
Что попробуй? Я прошу мне объяснить алгоритм, как это делается?
Аноним 16/07/19 Втр 21:00:19 143708719
>>1437082
всё просто же. вот с этим алгоритмом можно даже не отключать антиалиас, он специально для сетки:

out vec4 FinalColor;
in vec2 FragUV;
uniform sampler2D Texture;

void main()
{
float Pixels = 512.0;
float dx = 15.0 (1.0 / Pixels);
float dy = 10.0
(1.0 / Pixels);
vec2 Coord = vec2(dx floor(FragUV.x / dx),
dy
floor(FragUV.y / dy));
FinalColor = texture(Texture, Coord);
}
Аноним 16/07/19 Втр 21:03:37 143709320
Аноним 16/07/19 Втр 21:04:12 143709421
>>1437087
Для directx не надо. Мне в с++ нужно
Аноним 16/07/19 Втр 21:08:28 143709822
>>1437094
а, в плюсах. ну тогда все просто - выключаешь как включал
Аноним 16/07/19 Втр 21:11:36 143710023
>>1437098
а хотя не, тебе же сетка "границ" пикселей нужна, я обчитался. тогда нужно нарисовать линию по вертикали между каждым пикселем в видимой области и линию по горизонтали и получится сетка.
Аноним 16/07/19 Втр 21:23:26 143711124
Аноним 16/07/19 Втр 21:25:28 143711225
Этот школьник тролль и сюда перекатился. Репортите его просто и все.
Аноним 16/07/19 Втр 21:27:43 143711526
>>1437063
Еба, я только сегодня читал у Александреску о том, что аргументы функции вычисляются как компилятору будет удобно, но сейчас смотрел на проблему анона и не думал, что для нескольких операторов вывода будет такая же шняга.
А как тогда получается, это выглядит?
Вроде
operator<<(std::cout, stoi(str, ptr)), operator<<(std::cout, ptr);
Так должно быть?
operator, не гарантирует последовательность вычисления, как я помню. Но почему тогда вывод местами не меняется, если сначала второй operator<< вычисляется в его случае?
Аноним 16/07/19 Втр 21:31:05 143711827
>>1437115
вот так <<(<<(<<(cout, stoi(str, pos)), "pos = "), *pos;);
Аноним 16/07/19 Втр 21:48:17 143713328
>>1437118
Охуеть, блядб.
Спасибо, анончик, буду теперь иметь в виду, что это так работает.
Аноним 16/07/19 Втр 22:03:29 143714329
>>1437115
C c++17 перегруженные операторы имеют порядок выполнения соответствующий встроенному
Аноним 17/07/19 Срд 00:02:01 143723830
image.png (213Кб, 720x1280)
720x1280
Аноны помогите, я уже заебался с этим QML. Как реализовать выпадающее меню в несколько слоев как на пике короче, если данные я получаю динамически. Ну тоесть нажал на первую кнопку - отправляется запрос с данными - прогружается следующий уровень, и так 3 раза. Пытаюсь костыли делать с Menu, где делегат создает MenuItem, в котором находится следующее Menu, но ебучий QML закрывает предыдущее меню при нажатии на пункт, даже при closePolicy: Popup.NoAutoClose. Третий день уже ебусь с этим, подскажите молю Пилю для себя, не лаба
Аноним 17/07/19 Срд 05:23:42 143733231
>>1437029

Какой же ты дегенерат!.. Пиздуй обратно - черепашку в анусе Лого гонять!
Аноним 17/07/19 Срд 06:50:05 143734532
>>1437238
А тут не тривью лучше использовать? Данные из модели брать
Аноним 17/07/19 Срд 07:22:52 143735033
432412.jpg (31Кб, 359x362)
359x362
>>1437115
Всё там нормально работает. Это я сам обосрался
Логика такая же как и a=b=c;

Идёт справа налево возвращая объект ostream пристыковывая его к левостоящему.
Аноним 17/07/19 Срд 08:57:21 143738034
>>1437238
Ты уверен что тебе меню надо?

Я бы сделал тривью и два делегата, один простой, у второго внутри твоя вьюха.

Ну и моделями кормишь
Аноним 17/07/19 Срд 11:25:24 143744335
>>1437380
>>1437345
Так в тривью же требуется класс плюсовой, который будет данные возвращать. Как заполнять модель из QML? Я так понимаю тут конструкторы с параметрами нельзя вызывать, а за получение данных у меня отдельный класс отвечает. Может кто-то минимальный пример или псевдокод написать? какой же этот QML после плюсов непривычный
Аноним 17/07/19 Срд 11:50:54 143746036
Не лезь в QML блядь дибил сука ебаный, оно тебя сожрёт
Аноним 17/07/19 Срд 12:13:40 143747937
Аноны, читаю книжку QNX/UNIX: анатомия параллелизма и тут на основе измерений 2006 год сделали такой вот вывод:
>Распараллеливание задачи
(если это возможно) на N ветвей (будь то использование потоков или
процессов) практически не изменяет итоговое время ее выполнения
Насколько я понял, это связано с тем, что много времени уходит на смену контекста выполнения и диспетчеризацию потоков.
Это сейчас актуально? Всегда думал что многопоточность = скорость, а тут такая вот хуйня.
Аноним 17/07/19 Срд 12:18:54 143748438
Аноним 17/07/19 Срд 12:55:03 143751539
Аноним 17/07/19 Срд 13:02:27 143752040
>>1437515
От души, анончик
с названий в голос
Аноним 17/07/19 Срд 13:13:08 143753441
>>1437520
Целую в пупочек, лапочка.

А с меню там вообще отдельная история. Они очень сложные и, особенно, если у тебя айтемы могут динамически менять размер, т.е., твои меню айтемы могут быть разного размера, то придётся костылировать навроде этого:
https://ideone.com/zOPXSx

Ёбся с меню, было дело. Не православно.
Аноним 17/07/19 Срд 13:17:19 143753742
>>1437534
Не, размеры постоянные. Я вообще не понимаю, почему при таком пиаре и якобы развитии семимильными шагами в QML всё еще нет такой базовой хуйни как drop-down menu с нормально кастомизируемыми айтемами. Кстати заметил баг, что если использовать какую-то вьюшку в Combobox делегате то параметр closePolicy будет сбрасываться в значение 18 из 16 блять и по всей видимости активыми будут все сразу, из-за чего нельзя сделать меню с вьюшкой, при нажатии на айтемы которого вьюшка будет оставаться открытой. Если заменить на какой-нибудь Column то работает как надо. То ли я привык к виджетам, то ли QML еще реально сыроват
Аноним 17/07/19 Срд 13:17:19 143753843
Аноним 17/07/19 Срд 14:55:29 143759644
>>1437443
>Я так понимаю тут конструкторы с параметрами нельзя вызывать, а за получение данных у меня отдельный класс отвечает
Там как минимум есть Instantiator и Component.onComplete.
Модели на лету я делал.
Аноним 17/07/19 Срд 15:33:23 143762545
Ну и Component.createObject
Аноним 17/07/19 Срд 15:56:03 143763646
>>1437625
За динамикой следить необходимо. Сраный гц её не убивает
Аноним 17/07/19 Срд 16:00:39 143764147
Ононасы, задавайте вопросы по Qt, синьёр-помидор растолкует.
Аноним 17/07/19 Срд 16:04:20 143764248
>>1437641
1) Почему люди ругаются на дополнительный проход компилятора и moc файлы? Разве это какое-то значение в рантайме имеет?
2) Почему сейчас более активно развивают QML а не виджеты?
Бочку делаешь?
Аноним 17/07/19 Срд 16:54:01 143766249
>>1437642
1. Поцчему там все ругаются я точно не скажу. Со своего опыта:
- Надо делать постоянные клины и тд;
- Генерячку достаточно легко поломать, в контексте Qml, например приватный геттер на публичной проперти\приватный сигнал и тд. У QmlEngine происходит былинный отказ;
- Прочие неудобности связанные с генерячкой;
- Неудобство написания наследников QObject в cpp файлах;
- Ну и самое главное, что QObject классы не могут быть темплейтными;
2.
- Виджеты устарели и достаточно сложно костамайзятся;
- Формошлёпам, особенно с веб бэком, легче вкатываться в юай;
- Для меня, конечно, сомнительный плюс, но есть какой-никакой гц;
- Виджеты сложно портировать под мобильные платформы но тут я не уверен

3 раза в день, в субботу не делаю, в воскресенье - 8
Аноним 17/07/19 Срд 18:28:18 143770550
>>1437662
>3 раза в день, в субботу не делаю, в воскресенье - 8
а хуи? сосешь?
Аноним 17/07/19 Срд 18:33:54 143771351
Аноним 17/07/19 Срд 18:40:29 143772952
>>1437641
1) Где вообще нынче пишут на Qt кроме заводов ебаных с анальной проходной?
2) Про Felgo пару слов, пожалуйста.
3) Где взять дебаггер для QJSEngine?
4) Че там по эмбеду? Вообще возможно ли использовать Qt без динамической аллокации?
Аноним 17/07/19 Срд 18:42:35 143773453
какой же уебищьный тред
в такой тред только покакать ходить
Аноним 17/07/19 Срд 18:59:45 143774554
dibugger.jpg (71Кб, 1267x370)
1267x370
>>1437729
1.
- Automotive
- Гейдевайсы, мыши, клавиатуры колошки там всякие и тд
- Разного рода плагины к фотожопам фл и тд
- Разных мастей юай, особенно если демоны\сеть есть и должна быть отдельная приложуха
- Медицина, забугорная
- проще по вакансиям поглядеть, это из моего опыта.
2. В душе неебу чо за хуйня.
3. Насколько я знаю у него нет дебуггера. QQmlEngine наследует JSEngine, а для него есть встроенный. Пик рилейтед. Отсюда есть два путя, либо использовать QQmlEngine для своих скриптов, что, тащемта, ок, либо, как вариант, присунуть встроенный qml дебуггер какими-нибудь бубнами для JSEngine. Тут я подробней не подскажу.
4. В эмбедедде Qt есть.
>Qt без динамической аллокации
Още сильно сумлеваюсь, процентов 80 дам, что нельзя.
Аноним 17/07/19 Срд 19:12:56 143775155
>>1437745
>проще по вакансиям поглядеть, это из моего опыта
А там одни ДС1 и ДС2, без удаленки, или сосать хуй дальше на заводе. Эх хех.

>3. Насколько я знаю у него нет дебуггера
Эх, поэтому мы сидим до сих пор на QtScript, ведь никто не хочет прикручивать отладчик ручками.

Thank you, sir!
Аноним 17/07/19 Срд 19:24:50 143776256
>>1437751
более подробно можно глянуть тут: https://doc.qt.io/qt-5/qtquick-debugging.html#qml-debugging-infrastructure

Учитывая, что qml способен жрат .js файлы, можно дебуггер натравить на твои скрипты, как это сделать нужно курить доку.

>ведь никто не хочет прикручивать отладчик ручками
Проще всего взять ваш пакован скриптов, засунуть в qml engine и радоваться жизни с дебуггером из коробки.
Аноним 17/07/19 Срд 20:38:49 143782457
>>1437534
Можешь еще подсказать? Я вот создал модель, вроде всё работает, но передать в аргументы конструктора данные я не могу, заполняю модель в компоненте Component.onCompleted, но судя по дебагу вьюшка дёргает методы rowCount и columnCount, а первый у меня возвращает количество айтемов в массиве данных, который на момент создания модели равен 0 и соответственно нихуя не происходит. Есть какие-то сигналы что данные изменились, или способы еще раз инициализировать обьект?
Аноним 17/07/19 Срд 21:00:52 143785158
>>1437824
Для начала покажи-ка код.

В прошлой эсомэске (ссылка на айдиван) я тебе показал сеттер, через который ты должен сэтить данные в модель:

>void OtdelniyClassPolucheniyaDannix::ustanovitNovieDannie(void* govno)
> {
> ... ustanavlivaem vse dannie u suem v nashi modeli, I NE ZABUD` ZA EMITY modeley
> }

и написал коммент, что конкретно нужно дёрнуть. Более детально ты можешь глянуть сигналы модели, которые тебе необходимо вздрочнуть, тут: https://doc.qt.io/qt-5/qabstractitemmodel.html#signals

Когда ты забиндил модель для вьюхи, т.е сделал следующее model: moiOxuitelniyModel, дальнейшие штучки-дрючки регулируются сигналами от моделей.

>но передать в аргументы конструктора данные я не могу
В конструктор ты и не должен передавать, так как твои данные могут поменяться когда угодно, а конструктор ты вызываешь 1 раз. Заместо этого используем сеттер и сигналы, что модель поменялась, или данные в модели поменялись, или только 1 энтри поменялась, ну ты понел.
Аноним 17/07/19 Срд 21:07:48 143785859
>>1437824
>заполняю модель в компоненте Component.onCompleted
Ты уверен в том, что это именно правильное место для сэта данных?
Каким образом ты получаешь данные, хардкодишь?
Аноним 17/07/19 Срд 21:09:27 143786060
>>1437858
>>1437851
Спасибо еще раз, добавил сигнал layoutChanged() и судя по дебагу модель перестраиваеться правда пока ничего не отображает, так что я неуверен. В целом это то, что я хотел.
Аноним 17/07/19 Срд 21:12:34 143786161
>>1437860
Ну ты пиши, если чо волк.жпг
Аноним 17/07/19 Срд 21:19:03 143786262
>>1437861
Да я дальше как-то сам наверное, разве что что-то очень сложное будет. Не люблю людей задалбывать. В любом случае спасибо, надо было сюда 3 дня назад писать, сэкономил бы время
Аноним 17/07/19 Срд 21:30:22 143787663
Есть ли смысл в extern в плюсах или это уже пережиток C, который не надо никогда использовать?
Аноним 18/07/19 Чтв 00:33:26 143802064
>>1437745
Зачем ты на пике используешь Qt.binding и function(), когда можно написать просто color: твой_тернарный_оператор?
Аноним 18/07/19 Чтв 00:38:32 143802265
>>1438020
А, я в глаза долблюсь кажется.
Аноним 18/07/19 Чтв 03:13:47 143804866
>>1437876
А что вместо него используешь?
Аноним 18/07/19 Чтв 03:19:15 143805067
>2019
>использовать глобальные переменные
Аноним 18/07/19 Чтв 03:34:24 143805368
>>1437876
по идее - ничего. Если очень хочется, то сделай функцию, типа:

zalupa& get_zlp() {
static zalupa z;
return z;
}
Аноним 18/07/19 Чтв 08:33:00 143808069
image.png (967Кб, 1600x900)
1600x900
>делоешь std::this_thread::sleep_for(std::chrono::milliseconds(reactivationDelay));
>не работает
>делоешь залупу подключаясь к MotionNotify ивенту чтобы по времени ивента понять когда нужно совершить действие
>не работает
>делоешь std::this_thread::sleep_for(std::chrono::milliseconds(reactivationDelay));
>работает
Аноним 18/07/19 Чтв 08:57:51 143808670
niklaus wirth.jpg (44Кб, 474x649)
474x649
Аноним 18/07/19 Чтв 09:02:03 143808771
Аноним 18/07/19 Чтв 09:03:28 143808972
>>1438053
Статика коварна, о юный подаван1!
Аноним 18/07/19 Чтв 09:40:23 143809673
>>1438080
>делоешь колбек на евент нажатия
>не работает
>ставишь дебаг НАЖАТО для евента
>всё работает
Эффект наблюдателя, не иначе
Аноним 18/07/19 Чтв 09:43:52 143809874
как же я раньше жил без автоформаттера?
представьте, до сих пор есть люди, которые сами форматируют код и следят за количеством колонок.
Аноним 18/07/19 Чтв 09:55:11 143809975
Аноним 18/07/19 Чтв 13:28:04 143815476
Ононасы, такой вопрос.
Есть некий QNAM, и в доке написано, что он хэндлит в параллели 6 реквестов. Как можно поменять количество тхредов?
Аноним 18/07/19 Чтв 13:42:47 143816277
Аноним 18/07/19 Чтв 13:50:17 143816778
Аноним 18/07/19 Чтв 14:36:48 143819079
В крестах есть какой-то "правильный" способ получить n-i+1 элемент алфавита? Или все так же ходим по таблице ASCII с 'Z'-i?
Аноним 18/07/19 Чтв 14:56:00 143821480
>>1438190
>элемент алфавита
А в крестах вообще есть "алфавит"?
Аноним 18/07/19 Чтв 15:09:28 143822781
>>1438190
Какого алфавита? Чешского, финского?
Аноним 18/07/19 Чтв 15:10:53 143822882
>>1438227
>>1438214
Английского и русского. Я хз, такие штуки в каком-нибудь locale могли бы быть.
Аноним 18/07/19 Чтв 15:15:19 143823483
goatse (22Кб, 1268x265)
1268x265
Как вам новый оператор spaceship? Уже используете в своих проектах?
Аноним 18/07/19 Чтв 15:34:15 143825384
>>1438228
Это я к чему: с англиским просто, а в русском, финском и тп скорее всего буквы в таблицах не в том порядке что в алфавитах из-за букв с диакритическими знаками.
Аноним 18/07/19 Чтв 16:03:58 143828285
Аноним 18/07/19 Чтв 16:11:11 143828686
Аноним 18/07/19 Чтв 16:20:09 143829187
>>1438286
Растягивает очко до колоссальных размеров и острыми углами причиняет нестерпимую боль.
Аноним 18/07/19 Чтв 18:42:10 143838088
14669603748930.jpg (38Кб, 700x620)
700x620
>>1437641
Пишу свою модель данных в виде редактируемого дерева по канонам MVC, наследуясь от QAbstractItemModel. Данные отображаются в QTreeView. Теперь встал вопрос, что мне нужно некоторые ячейки раскрасить в определенный цвет. Где и как это реализовать, чтобы не нарушить MVC? Реализовать делегат, ProxyModel или еще что?
Аноним 18/07/19 Чтв 19:01:05 143839389
>>1438234
Так его давно добавили
Аноним 18/07/19 Чтв 19:23:35 143840790
>>1438380
там же вроде есть роль Qt::BackgroundRole для этих целей
Аноним 18/07/19 Чтв 19:29:16 143841091
Аноним 18/07/19 Чтв 19:29:53 143841292
При попытке установить curl выскакивает ошибка
configuration name: libcurl-vc16-x64-release-dll-ipv6-sspi-winssl
NMAKE : fatal error U1073: не хватает сведений для построения "..\lib\libcurl.rc"
Аноним 18/07/19 Чтв 19:40:32 143841693
Аноним 18/07/19 Чтв 19:41:48 143841794
Аноним 18/07/19 Чтв 19:46:16 143842395
Аноним 18/07/19 Чтв 19:46:44 143842496
>>1438407
Да, но вот я ее сейчас использую в методе MyModel::data(), что как мне кажется не есть гуд. Т.к. по идеи MVC, подобные "украшательства" вроде как должны делать вьюха или делегат (насколько я понял), а не модель. Или я не прав?
Аноним 18/07/19 Чтв 19:48:47 143842697
Ясно, QT-шизики уже во всю просочились ИТТ. Я напоминаю, что ТРУ крестобоярин никогда не станет писать на этом ГОВНЕ.
Аноним 18/07/19 Чтв 19:49:35 143842798
>>1438417
Йобанарота, делегат жи, какая ему хуй разница где хуйню свою малевать, первый семпл дал. В тривью такой-же делегат сунь и всё
Аноним 18/07/19 Чтв 19:51:19 143842999
>>1438426
... никакого Ада нет. Ну как же нет, когда ты работаешь в Аду? Не веришь - ну посмотри на последний вывод об ошибке твоего компилятора. Как же может венец творения, высшее создание Божие, работать с сущностями, имена которых занимают десятки мегабайт? Если твой язык такой продвинутый, такой прям весь свободный - что ж ты без костылей имя типа переменной в рантайме получить не можешь? Ты в Аду, сынок, ты не знаешь type erasure, у тебя нет рефлексии. Ты уже, голубчик, в Аду, из которого выход - только один, в JVM
Аноним 18/07/19 Чтв 19:52:49 1438430100
>>1438427
хуй знает, доводилась лишь раз делать делегат для виджетов, ебанина какая-то. проще уж въебать строчку в одном методе

>>1438424
а нахо оно там нужно тогда? чем тебе это не часть модэл епта
Аноним 18/07/19 Чтв 19:59:30 1438433101
Аноним 18/07/19 Чтв 20:02:21 1438435102
>>1438433
вы, блять, че, шарами объебались? человек спросил конкретно за QTreeView не кумээльный тривью ебана, я ему ткнул в то, что ему и нужно было, хуле вы мне своими куикконтролзами тыкаете
Аноним 18/07/19 Чтв 20:09:51 1438438103
хей йо, агалы, как защищаете своё ПО? и защищаете ли?
в интернетах всякая муть с обфускаторами, чем-то там ещё.
накидайте методов, че кого, куда копать
Аноним 18/07/19 Чтв 20:11:32 1438440104
Аноним 18/07/19 Чтв 20:19:12 1438445105
>>1438430
>а нахо оно там нужно тогда? чем тебе это не часть модэл епта
Чё т вообще не понял тебя. Переведи на наш(с)


Аноним 18/07/19 Чтв 20:33:15 1438455106
>>1438423
Error: Cannot find definition for package `libcurl`
Аноним 18/07/19 Чтв 20:40:02 1438461107
>>1438455
Install curl сработало. А как мне потом подключить это к проекту?
18/07/19 Чтв 21:03:02 1438474108
>>1438167
Creative gigaworks t40 series ii
Может, и не аудиофильские, но чистый звук, классные басы (если выкрутить) и есть джек для наушников. Живы уже ~6 лет, рикамендую.
Аноним 18/07/19 Чтв 21:08:20 1438480109
>>1438234
Используем. Тимлид жив, зависимость есть.
Аноним 18/07/19 Чтв 21:22:29 1438485110
>>1438098
А что, есть нормальные автоформаттеры?
Аноним 18/07/19 Чтв 22:13:26 1438510111
image.png (56Кб, 597x255)
597x255
>>1438485
если ты пишешь как пикрилейтед, то нет. а для нормальных людей есть кланг с дефолтными настройками. а если твои настройки не дефолтные, то твой форматтинг говно.
Аноним 18/07/19 Чтв 22:19:24 1438513112
>>1438089
в данном конкретном кейсе - нет
Аноним 18/07/19 Чтв 22:21:36 1438514113
>>1438510
Картинка супер. Теперь только так буду форматировать. Почти как в питоше будет.
Аноним 18/07/19 Чтв 22:32:14 1438521114
>>1438510
>а для нормальных людей есть кланг с дефолтными настройками
Так это ж компилятор/линкер
Аноним 18/07/19 Чтв 22:34:35 1438524115
image.png (720Кб, 1000x700)
1000x700
>>1438521
в контексте форматтеров кланг это clangformat
Аноним 18/07/19 Чтв 22:46:10 1438536116
Аноним 18/07/19 Чтв 22:59:56 1438543117
Аноним 18/07/19 Чтв 23:06:03 1438547118
>>1438510
> всё, что не умеет кланг-формат — ненужно
Ясно-понятно. Только проблема в том, что он не умеет почти нихуя. Его отличие от примитивного astyle разве что в том, что он умеет различать лямбды.
Аноним 18/07/19 Чтв 23:21:26 1438550119
Qt Delegate.png (16Кб, 587x424)
587x424
Аноним 18/07/19 Чтв 23:21:29 1438551120
>>1438547
что лучше?
вариант не править код руками не рассматривается как даунский.
Аноним 18/07/19 Чтв 23:22:50 1438552121
>>1438551
> править код руками
ну вы понели. а то какой-нибудь категорический долбоеб доебется
Аноним 19/07/19 Птн 00:04:27 1438564122
>>1437641
На Qt Quick кто-то пишет? Или только на них и пишут, а на виджеты уже похуй?
Чекнишь мой проект на виджетах? shorturl.at/avQZ9
Хочу узнать насколько говно у меня код, по десятибалочке, если можно. И дотягиваю ли до чуть выше джуниора, как думаешь?
Аноним 19/07/19 Птн 00:12:15 1438567123
>>1438550
Если работает - норм.
Аноним 19/07/19 Птн 03:41:42 1438607124
Аноним 19/07/19 Птн 03:49:01 1438608125
7cNZbGzASyY.jpg (198Кб, 960x830)
960x830
>>1438510
А кстати, gcc умеет в не-ASCII идентификаторы и с какими флагами?
Вроде в msvc раньше работало, можно было ЁПТАСКРИПТ на дефайнах запилить.
Аноним 19/07/19 Птн 04:12:51 1438610126
>>1438564
ссылочка объебалась
Аноним 19/07/19 Птн 06:51:01 1438619127
>>1438608
В голос с этого говна.
Аноним 19/07/19 Птн 09:52:38 1438667128
Аноним 19/07/19 Птн 11:44:40 1438700129
>>1438426
Чем тебе Qt не угодил то? На чём гуй пишешь? винформы
Аноним 19/07/19 Птн 15:10:31 1438804130
>>1438426
оно не так плохо, если писать на C++, используя Qt, т.е. без moc (verdigris это вин) и без всяких выблядков типа QtQuick.

А если писать на каком-то ебанутом диалекте С++ с миксом JS - это уже к С++ треду отношения не имеет.
Аноним 19/07/19 Птн 16:20:50 1438890131
>>1438700
А что не так с винформами?
Аноним 19/07/19 Птн 16:38:51 1438915132
>>1438608
начиная со стандарта с++11 в идентифакторах можно использовать "other implementation-defined characters" (пункт 2.11), что и позволяет, по сути, использовать любые символы юникода
исходники долны быть в юникод-формате, само собой
и, для удобства, нужен текстовый редактор, позволяющих легко вводить символы юникода, к примеру тот же емакс
и нужен шрифт, в котором есть прорисованы символы, которые будешь использовать (чтобы они красиво отображались, а не позицией в юникоде)
тогда можно будет делать идентификаторы изо всего что есть в юникоде:
http://xahlee.info/comp/unicode_emoticons.html
Аноним 19/07/19 Птн 17:29:25 1438970133
Котаны, я пхп-макака, последнее время видимо искажения психики заставили меня начать интересоваться байтоебством. Начал я читать про указатели и и т.д. Вроде понимаемо, но вот что смутило мозг - пишут что с++ работает с некоей "общей моделью памяти", и что именно в этой "общей модели" размещаются объекты. А как уже эта "общая модель памяти" соотносится с конкретными гигабайтами на моем линуксе/шиндовс?
Аноним 19/07/19 Птн 17:35:47 1438976134
изображение.png (111Кб, 1366x768)
1366x768
Собрал curl с помощью vcpkg. В моей программе написал
#include "VK-MASTER\src\api.h"
#include "vcpkg-master\packages\curl_x86-windows\include\curl\curl.h"
Где VK-MASTER папка с либой для работы с вк, а vcpkg-master папка с vcpkg кто бы мог подумать. В настройках сделал по аналогии с https://ravesli.com/podklyuchenie-i-ispolzovanie-bibliotek-v-visual-studio-2017/ . При компиляции пустого проекта (инклуды на месте) все работает, но при попытке вызвать метод из либы для вк происходит пикрелейтед
Аноним 19/07/19 Птн 17:39:02 1438982135
Аноним 19/07/19 Птн 18:06:29 1439002136
Аноним 19/07/19 Птн 19:10:22 1439045137
>>1438970
Копмилятор занимает память у ОСи, и получает от нее указатели на участки выданной памяти, и создаёт в ней свою виртуальную индексацию поверх виртуальной адресации ОС. Если помимо РАМ используется ещё и ГПУ, то там вообще уровней 300 абстракций
Аноним 19/07/19 Птн 19:14:36 1439046138
>>1437014 (OP)
>>1437641
Глупый вопрос- что такое QT и чем он отличается от QT Creator?
Аноним 19/07/19 Птн 19:32:04 1439057139
>>1437014 (OP)
Крестители, вкатываюсь, хочу знать, что выбрать из IDE?
Visual Studio или Qt Creator?
Почему большинство предпочитает Qt Creator и все на него так дрочат?
Аноним 19/07/19 Птн 19:44:08 1439064140
Аноним 19/07/19 Птн 19:54:06 1439067141
Аноним 19/07/19 Птн 19:58:25 1439072142
>>1439057
>Visual Studio
this
>Почему большинство предпочитает Qt Creator и все на него так дрочат?
Кто все? В нашей большой команде этим пользуются 2.5 человека, дрочащих QML.
Аноним 19/07/19 Птн 20:06:40 1439077143
Аноним 19/07/19 Птн 20:07:08 1439078144
>>1439067
Qt — кроссплатформенная библиотека разработки GUI на С++.

Аноним 19/07/19 Птн 20:23:22 1439091145
>>1439057
>Почему большинство предпочитает Qt Creator и все на него так дрочат?
Потому-что идиоты-хейтеры-микрософта.
Аноним 19/07/19 Птн 20:23:23 1439092146
>>1439057
> visual studio
К сожалению, this
Аноним 19/07/19 Птн 21:15:30 1439121147
>>1438915
Пиздец.. И эти люди запрещают мне использовать триграфы с С++17.
Аноним 19/07/19 Птн 21:21:33 1439127148
>>1439121
Всё правильно, говно мамонта остается на говне мамонта. Ты бы еще удивился, почему тебе запретили заправлять современные машины сеном и управлять поводьями вместо руля.
Аноним 19/07/19 Птн 23:02:24 1439171149
>>1439057
У меня в QtCreator в половине случаев не работает дебаггер. Так что нахрен, пользуюсь чистым GDB под линуксом и VS под вендой. 98% дебага у меня под шиндусом.
Аноним 20/07/19 Суб 00:00:42 1439203150
>>1439171
Как познать GDB? Не смог дебажить наше приложение в проде, потому что оно мультитредное и спавнит дочерние процессы, а значит нужны какие-то ебические комбинации флагов. В VS на винде просто ставишь галку child process debugging и все работает как часы.
Аноним 20/07/19 Суб 00:14:05 1439206151
>>1439077
vk-шную либу-то к проекту подруби
Аноним 20/07/19 Суб 10:10:58 1439300152
>>1437014 (OP)
Cап, анон.
Как часто изпользуются ссылки и указатели в твоих программах? Только что прошел их, и не могу понять, в чем их смысл на практике.
Аноним 20/07/19 Суб 10:20:52 1439302153
>>1439300
>Как часто изпользуются ссылки и указатели в твоих программах
Всегда. Сиди перечитывай пока не поймешь. Это одна из базовых вещей, если ее не осилишь - можешь дальше даже не пытаться
Аноним 20/07/19 Суб 10:26:08 1439303154
>>1439057
У меня оба. Легаси на первом, новое формошлепство на втором. В плане удобства вс с решарпером лучше, плюс в вс есть т4, пока до программирования интерфейса не доходит.
Аноним 20/07/19 Суб 11:43:07 1439323155
Блять самое смешное что встроенный линтер ВС иде, специально разработанной для работы с крестами и сисей до сих пор половину синтаксиса 11 стандарта подчеркивает и алертит))) нахуя это говно нужно ? Отвечу: для неосиляторов, в универе получавших тройки
Аноним 20/07/19 Суб 12:31:31 1439335156
Аноним 20/07/19 Суб 13:20:40 1439350157
>>1437014 (OP)
сколько времени стоит в человекочасах подготовить джуна на крестах? на hh требуют ХОРОШЕЕ ЗНАНИЕ STL
что они блять, под этим подразумевают?
Мимо-Зигодев
Аноним 20/07/19 Суб 13:38:44 1439358158
>>1439350
> что они блять, под этим подразумевают?
Можешь на собесе написать свой type_traits.
Аноним 20/07/19 Суб 13:41:42 1439360159
>>1439350
Часов сто-120 хватит. Т.е. около месяца интенсивного изучения по 3-4 часа в день должно хватить для джуна.
Аноним 20/07/19 Суб 15:30:16 1439430160
Аноним 20/07/19 Суб 15:38:02 1439435161
>>1439206
Была подрублена. если ты о api.h, конечно
Аноним 20/07/19 Суб 16:08:18 1439460162
>>1439430
Почему mid-?

мимокрок
Аноним 20/07/19 Суб 16:19:51 1439473163
>>1439435
Конечно же нет. Речь про lib-файл (см. Шаг 4 твоей ссылки в >>1438976).
Аноним 20/07/19 Суб 18:02:48 1439561164
>>1439473
Она подключена. В output видно что он ее ищет, а ошибок нет. Я думаю что он находит. Пока писал нашел проблему. В curl разрядность 32, а у меня 64. Сейчас попробую у меня поменять
Аноним 20/07/19 Суб 18:06:59 1439565165
>>1439561
С компа не могу написать пока. Начало ошибки такое "unresolved external symbol __imp___invalid _parameter referenced to function "void* __cdecl и тд
Аноним 20/07/19 Суб 18:10:33 1439568166
>>1439460
Потому что до полноценного мидла не дотянул, очевидно.
- Структура\рахитектура на 3
- Вероятно необдуманное дипкопи и если для кьютовых классов это ещё норм из-за COW, то для своих неок:
void addGroupFromDb(Group group);
void setName(int id, QString name);
- Статика в Qt приложении (Qt классы лучше не использовать после того, как ивентлуп всё). Тут желательно синглтон с контролируемым временем жизти зделоть

И тд
Аноним 20/07/19 Суб 18:12:25 1439573167
20/07/19 Суб 18:35:13 1439589168
Нахуй вы своим кути засрали тред? Создайте свой и пиздуйте отсюдова.
Аноним 20/07/19 Суб 18:49:02 1439598169
Аноним 20/07/19 Суб 19:26:32 1439607170
>>1439589
>нахуй вы пишете о плюсах в плюсовом чате
Аноним 20/07/19 Суб 19:59:51 1439623171
>>1439568
>- Структура\рахитектура на 3
>- Вероятно необдуманное дипкопи
>И тд
Ахуенно ответил. Вероятно тупа LE PERDOUNOOL V LU JU и тд.

P.S.: Либо пиши нормально и аргументируй свои предъявы конкретными примерами, либо уебуй нахуй. Жабоскрипт-тред в другой стороне.
Аноним 20/07/19 Суб 21:03:38 1439639172
>>1439623
С такими софт скиллзами тебя и трижды синьором не возьмут
Аноним 20/07/19 Суб 21:08:04 1439641173
Анонасы, выручайте. Задача следующая: в функцию передается tuple с неизвестным количеством элементов, с неизвестным типом. Нужно разделить этот tuple на два tuple, если количество его элементов превышает 4. Как сделать такое? Вот код: https://ideone.com/HeLPLC
Аноним 20/07/19 Суб 23:27:08 1439690174
>>1439639
это не я. спасибо, что потратил время и посмотрел на код.
Аноним 21/07/19 Вск 00:52:51 1439713175
>>1439641
Ну а в чем проблема?
Самый простой топорный вариант: зная количество элементов, проходишься по всем и первые три запихиваешь в один tuple, а остальные - в другой.
Аноним 21/07/19 Вск 01:09:50 1439719176
>>1439641
Вангую что-то вроде
[code]
template <typename> struct is_tuple_4 : std::false_type {};
template <typename A, typename B, typename C, typename D, typename ...T> struct is_tuple_4<std::tuple<A, B, C, D, T...>> : std::true_type {};
[/code]
Аноним 21/07/19 Вск 01:21:53 1439722177
>>1439623
Ты, маня, если та огрументация не нраиса - уёбуй нахуй, я своё время на полное ревью тратить не намерен. Всяким разным щенка в лужу пердеть - тоже. Своё мнение я сказал.

>>1439690
Понимаю, поэтому с тобой я нормально общаюсь. В дух словах ты молодец, память не проебал, всё сделал более-менее ок. Следи за копированием, лучше планируй ну и далее по тексту.

>>1439639 это другой анон и он молодец, понимает
Аноним 21/07/19 Вск 02:32:05 1439738178
>>1439641
if constexpr (std::tuple_size_v<TPL> > 4) {
(забираешь первые четыре)
} else {
забираешь все остальное
}
Аноним 21/07/19 Вск 02:46:14 1439745179
>>1439738
И как это будет работать, если tuple будет заполняться из потока или из файла?

Плюс там же нужно tuple<A, B, C, D, E, F> разбить на tuple<A, B, C, D> и tuple<E, F> - не знаю, справится ли с этим авто. С другой стороны, std::any должен съесть такое.
А ещё, как я понимаю, нужна рекурсивная функция, если на вход придет tuple с десятью элементами, чтобы вернуть в конце массив с несколькими tuple.
Аноним 21/07/19 Вск 03:01:47 1439748180
>>1439713
1. Как правильно узнать кол-во элементов
2. Как правильно их разделить?

Я без понятия, как должен выглядеть код.

>>1439719
>>1439738
Я вам ссылку на ideone оставил. Вы тестировали код в контексте моей задачи? Я уже так пытался делать, не получается, компилятор ругается, даже на tuple_size.
Аноним 21/07/19 Вск 03:03:43 1439749181
>>1439738
Спасибо за псевдокод, но это и так понятно. Реализовать-то как? Я чуть не лопнул пока думал.
Аноним 21/07/19 Вск 03:16:03 1439750182
2ch.png (37Кб, 899x684)
899x684
>>1439749
пять минут в вижуалстудии
Аноним 21/07/19 Вск 03:25:21 1439753183
>>1439750
Да это багор, у меня до этого аналогичная реализация и была с кучей тайпнеймов. Я думал можно как-то элегантно средствами языка все это дело развернуть. Нельзя все таки что-ли?
Аноним 21/07/19 Вск 03:26:47 1439754184
>>1439753
можно с std::integer_sequence, но мне было лень ее писать
Аноним 21/07/19 Вск 03:28:03 1439755185
>>1439754
Вот я тоже на сиквенсы смотрю, но ничего не думается.

Из С перекатываюсь. Как же у вас тут сложно все.
Аноним 21/07/19 Вск 03:28:44 1439756186
>>1439755
а ты специально начал с уберхардкора?
Аноним 21/07/19 Вск 03:30:48 1439758187
>>1439756
Ну Си я достаточно знаю, решил подтягивать то, чего в нем нет. Вот шаблончики например. Всегда любил макродрисню, очень похожая тема.
Аноним 21/07/19 Вск 03:37:16 1439762188
2ch2.png (37Кб, 866x698)
866x698
>>1439758
ну ладно, двач образовательный
Аноним 21/07/19 Вск 03:40:30 1439763189
>>1439762
Самый сильный, красивый и умный анонимус всех времен, благодарю от сердца. Алсо, это плагин какой-то элементы подсвечивает? Пойду тестировать код, от души.
Аноним 21/07/19 Вск 03:41:15 1439764190
Аноним 21/07/19 Вск 04:05:17 1439766191
>>1439764
Спасибо. Алсо, а std::tuple<ARGS...>&& tpl не запихать туда? И почему std::tuple_size не хочет работать?
Аноним 21/07/19 Вск 09:20:07 1439785192
>>1439764
Анон! Если ты еще тут, помоги. Всю ночь голову ломал. Новое условие к задаче - если во входящей tuple элементов меньше заданного числа CUT, то заполняем tuple нулями, пока количество элементов не станет равным заданному числу CUT.
Чтобы на выходе было что-то типо такого:
const auto t = tuplecutter<4>(std::tuple(1, 2)); Должно вернуть t = (1, 2, 0, 0), вместо t = (1, 2).
Аноним 21/07/19 Вск 11:40:09 1439825193
laughing elf man.jpg (16Кб, 256x353)
256x353
>>1439753
>темплейты
>элегантно
Аноним 21/07/19 Вск 15:12:30 1439987194
2ch3.png (43Кб, 976x706)
976x706
Аноним 21/07/19 Вск 15:59:38 1440008195
Господа, требуется провернуть следующую махинацию:
На вход подается число, содержащее только 1 и 0, например 101010100101. Нужно его ввести в переменную типа int, при этом как двоичное число. Если пользоваться обычным cin, то я получу десятичное число.
Есть какие-нибудь удобные способы это сделать?
Аноним 21/07/19 Вск 16:07:48 1440010196
Аноним 21/07/19 Вск 16:32:28 1440015197
Аноним 21/07/19 Вск 16:35:59 1440018198
А как же
Аноним 21/07/19 Вск 16:38:40 1440021199
>>1437014 (OP)
Аноны, нужно написать некий аналог команды tree, как работают с директориями труъ с++ разработчики?
Аноним 21/07/19 Вск 16:40:04 1440023200
>>1440021
Забыл добавить, что всё это под линух.
Аноним 21/07/19 Вск 16:42:18 1440026201
Аноним 21/07/19 Вск 16:44:58 1440030202
>>1440026
> ?
Вопросы тут задаю я.
Спасибо, анонче, пойду изучать.
Аноним 21/07/19 Вск 16:57:34 1440048203
>>1440026
Это если он таки добрался до семнадцатого стандарта.
Если нет - ебись с dirent.h, >>1440021
Аноним 21/07/19 Вск 17:09:11 1440058204
Аноним 21/07/19 Вск 19:05:42 1440115205
Заворачивать переменные из легаси библиотек в raii нормально или лучше не стоит?

FT_Library ft_library = nullptr;
FT_Init_FreeType(&ft_library);

if (ft_library) {
m_ft_library = std::unique_ptr<void, void()(void)>(ft_library,
[](void* ftLibrary) { if (ftLibrary) FT_Done_FreeType(FT_Library(ftLibrary)); });
Аноним 21/07/19 Вск 20:10:10 1440138206
>>1440115
Всегда так делай, если вызовов больше одного
Аноним 22/07/19 Пнд 00:07:08 1440223207
>>1439987
Благодарю, анончик. Есть вообще специализированные книги/статьи по данной теме? Ибо пролистал пару книжек Страуструпа, там подобного очень мало.
Алсо, голая студия не хочет правильно код обрабатывать. Даже на std::tuple_size<decltype(tpl)>::value ругается, но по итогу все компилирует. Как правильно дебажить/смотреть в какой вид темплейты разворачиваются, если меня даже ide подводит? Решарпер панацея?

Аноним 22/07/19 Пнд 00:10:39 1440224208
Аноны, есть рекурсивная функция, внутри которой:
std::vector<std::string> *v = new std::vector<std::string>;
В этом же случае delete не освободит память, выделенную под сами строки? В этом случае придётся указатели на строки ставить и выделять память ещё и под них?
Аноним 22/07/19 Пнд 00:14:53 1440227209
>>1440223
>Есть вообще специализированные книги/статьи по данной теме
https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121 - добро пожаловать. Сам осилил из нее где-то треть, мне хватает. но я и так много знал, раскуривал кучу статей и блогов в свое время, когда еще мечтал найти крутую работу

>Алсо, голая студия не хочет правильно код обрабатывать. Даже на std::tuple_size<decltype(tpl)>::value ругается, но по итогу все компилирует
Я голой студией не пользовался с релиза R++, по-этому мне тут нечего сказать. Вариантов украть решарпер - куча, я 2 года сидел на лицензии знакомого студентика, а потом мне на работе купили.

> Как правильно дебажить/смотреть в какой вид темплейты разворачиваются
Я не знаю какого-то суперспособа, кроме чтения ошибок компиляции. Недавно открыл для себя https://cppinsights.io - вроде прикольно.
Аноним 22/07/19 Пнд 00:19:43 1440228210
>>1440223
Вообще, если я правильно понимаю, что использовал этот анон, то там свёртка - это вообще 17-тый стандарт. Мб из-за этого на tuple_size и ругается(хотя он есть в <tuple> в C++11). Попробуй в свойствах проекта включить latest или C++17 в C++/Язык.
Аноним 22/07/19 Пнд 00:23:49 1440231211
>>1440228
в коде из C++17 фич только CTAD, фолды я сам не очень хорошо умею.

std::get<IDX>(tpl)... - это обычное раскрытие в вариадик пак, в С++14 точно работало
Аноним 22/07/19 Пнд 00:24:16 1440232212
>>1440231
а, ну и иф констескрпы конечн
Аноним 22/07/19 Пнд 01:16:13 1440248213
>>1440224
почему? delete должен вызвать деструктор вектора же, где он все своё почистит.
Аноним 22/07/19 Пнд 02:17:16 1440260214
>>1440224
delete вызывает деструктор вектора. Деструктор вектора вызывает декструторы содержимого вектора.

Если бы у тебя бы вектор указателей - тогда да, пришлось бы руками чистить. А в твоем кейсе все ок
Аноним 22/07/19 Пнд 13:39:00 1440358215
Аноним 22/07/19 Пнд 16:26:35 1440426216
Есть ли возможность обратиться к базовому классу не через его имя, как BaseClass::, а через какой-то универсальный идентификатор, который однозначно определяет класс родителя, независимо от его имени?
Аноним 22/07/19 Пнд 16:34:51 1440436217
>>1440426
Ах да, в плюсах же есть множественное наследование. Тогда понятно что нельзя.
Аноним 22/07/19 Пнд 16:39:24 1440445218
>>1440426
через typedef или using внутри класса, обычная практика


Аноним 22/07/19 Пнд 16:50:47 1440457219
>>1440445
Да я имел в виду какой- нибудь встроенный кейворд типа this, только определяющий класс который от которого было наследование. Вот только что искал баг, оказалось что вызывалась функция на уровень ниже по иерархии наследования вставленная копипастом
Аноним 22/07/19 Пнд 19:28:46 1440573220
image.png (15Кб, 584x260)
584x260
что не так?
я просто с питона пришел
Аноним 22/07/19 Пнд 19:37:22 1440579221
>>1440573

Ты пытаешься в массив записать массив, в плюсах так не работает. Возьми string вместо массива char.
Аноним 22/07/19 Пнд 19:39:38 1440580222
>>1440579
мне нужно перебрать массив, чтобы переписать его?
Аноним 22/07/19 Пнд 20:07:07 1440604223
>>1440580
Сиговно типа char* - это не С++.
Если ты хочешь изучать С++ - используй высокоуровневые примитивы типа std::string, std::vector и тд. А потом уже углубишься на уровень "ехал указатель через указатель"
Аноним 22/07/19 Пнд 22:21:17 1440696224
>>1440426
>>1440457
__super в студии, но бля... Я бы тебе ебало за такое набил
Аноним 22/07/19 Пнд 22:49:08 1440717225
image.png (51Кб, 673x416)
673x416
Есть объяснения какого хуя произошло? В какой вселенной -6 / 3 = 6148914691236517203? int же знаковый тип так какого хуя ошибка?
Аноним 22/07/19 Пнд 23:05:32 1440730226
>>1440717
В чем экзистенциальный смысл писать auto вместо int в таком коде?
У size() беззнаковый тип size_t, деля int на size_t в роль вступают правила такого деления signed на unsigned: https://ideone.com/d4cHBl
Аноним 22/07/19 Пнд 23:12:25 1440738227
>>1440730
Пиздец конечно ебанутое правило, по-моему должно быть наоборот, ансигнед должен кастоваться в сигнед.
Авто удобно писать если я вдруг параметр функции изменю с vector<int> на другой тип
Аноним 22/07/19 Пнд 23:16:04 1440740228
>>1440738
>Авто удобно писать если я вдруг параметр функции изменю с vector<int> на другой тип
И что, от этого тип переменной step изменится? А если в рыло?
Аноним 22/07/19 Пнд 23:54:30 1440763229
Аноним 23/07/19 Втр 02:02:01 1440791230
>>1440223
>Как правильно дебажить/смотреть в какой вид темплейты разворачиваются, если меня даже ide подводит?
metashell
Аноним 23/07/19 Втр 02:05:03 1440793231
Может ли кто-нибудь глянуть на мой говнокод и сказать насчёт него хоть что-нибудь? По-сути, программа делает то же самое, что команда tree в виндовсе.
https://pastebin.com/a7xWhaQg
Аноним 23/07/19 Втр 02:12:27 1440794232
>>1440793
че за сипараша? Может ты будешь в стиле крестов писать, а не писать сикод на крестах?
Аноним 23/07/19 Втр 02:14:39 1440795233
>>1440794
Так я не шарю, расскажи, как надо, пожалуйста.
Аноним 23/07/19 Втр 02:16:35 1440797234
>>1440795
ну ты тредом промахнулся тебе в ситред
Аноним 23/07/19 Втр 02:20:12 1440798235
>>1440793
Хороший код, давно занимаешься? но выглядит реально как из 95 года
Аноним 23/07/19 Втр 02:41:00 1440799236
>>1440798
>Хороший код, давно занимаешься?
Ого, спасибо. Занимаюсь не так уж давно. Многое пришлось читать прямо во время написания.
> но выглядит реально как из 95 года
Похоже, всё из-за того, что ориентируюсь на знания из универа, книг и интернета, с "реальным" погромированием дел не имел, вот оно и устаревшее какое-то.
Аноним 23/07/19 Втр 02:47:13 1440800237
>>1440799
Все хорошо, но ты, видимо, читаешь какие-то старые книжки и какую-нибудь парашу вроде стек перелился, потому что по стайлу это выглядит как си код в спешке переделанный под кресты.
Аноним 23/07/19 Втр 03:36:33 1440807238
>>1440793
какие-то пойнтеры на СТЛ контейнеры которые в той же функции удоляются чего блядь. ты наверное хотел систайл арреи там использовать но опечатался
>алмановские скобки
а я думаю что я кручу-кручу а код не движется
Аноним 23/07/19 Втр 07:22:53 1440827239
>>1439825
>>темплейты
>>элегантно
Что не так?
Аноним 23/07/19 Втр 15:31:05 1440991240
>>1440717
ты дебаггером встал на строчке, которая еще не выполнилась, и в val мусор находится. На следующем брейкпоинте на твоем скриншоте значение будет валидным
Аноним 23/07/19 Втр 18:26:47 1441104241
Анонче, дай ответ.
Есть в классе указатель на вектор указателей другого класса(хорошее ли это решение - не знаю).
При попытке инициализировать его прямо в определении класса либо в списке инициализации в конструкторе, в итоге он nullptr. Пробовал и конструктор по умолчанию {}, и new std::vector<MyClass>, разницы нет.
Но почему-то после переноса this->container = std::vector<MyClass
> непосредственно в тело конструктора все начало работать.
Почему так?
Аноним 23/07/19 Втр 18:47:58 1441113242
>>1440793
Нет, ты хорош, но если поставишь компилятор с 17-ым стандартом, то filesystem:: recursive_directory_iterator сделает все за тебя - нужно будет только на основании метода depth рисовать рамочку.
Аноним 23/07/19 Втр 20:15:09 1441148243
Аноним 23/07/19 Втр 21:10:04 1441188244
>>1440827
Достаточно сложные для чтения конструкции с несколькими уровнями вложенности, когда приходится считать скобочки чтобы понять смысл написанного а код STL с их __Fwd_Iterator_Bd это вообще пиздец
Аноним 23/07/19 Втр 21:12:11 1441190245
1441473760937.jpg (1017Кб, 1900x1200)
1900x1200
>>1437641
Как сделать, чтобы CentralWidget в QMainWindow всегда располагался по центру окна, но при этом сам не растягивался на все окно? Alignment я внутри QWidget че то не нашел, хз как сделать. Неужели Layout-ы придется вставлять туда?
Аноним 23/07/19 Втр 21:15:17 1441195246
>>1441190
То есть ты виджеты без лэйаутов используешь? Шизик, не тролль
Аноним 23/07/19 Втр 21:22:25 1441197247
>>1441195
А они всегда нужны что ли, ебать? У меня просто виджет простой, с QLabel внутри, который представляет из себя пикчу. Ну и всякий код для управления этой пикчей. Куда там лэйауты то совать?
Аноним 23/07/19 Втр 21:32:15 1441203248
>>1441190
setGeometry на QApplication::desktop попробуй, но я не уверен
Аноним 23/07/19 Втр 21:44:23 1441212249
>>1441203
А с использованием лэйаутов как? Я пробовал делать, но у меня в итоге картинку стало растягивать на всю ширину экрана.
Аноним 23/07/19 Втр 22:36:57 1441246250
>>1441212
Короче, решил проблему, сделав центральным виждетом не свой йоба-виджет, а QScrollArea. А в QScrollArea засунул свой виджет. Вроде работает.
Аноним 23/07/19 Втр 23:18:28 1441268251
>>1441246
А можно было всего лишь...
выставить сайз полиси своему виджету
Аноним 24/07/19 Срд 01:01:10 1441310252
Существует ли фриланс на крестах?
Сейчас очень нужны деньги, на стройку не берут, заучивать веб языки ну очень не хочется. Можно ли как-нибудь заработать на близком к душе C++?
Аноним 24/07/19 Срд 01:06:09 1441312253
Начал учебный проект, над которым хочу работать и под Windows, и под Linux. Проект использует несколько сторонних библиотек.
Скачал уже скомпилированную одну из них, там dll и lib-файлы. И возник вопрос: что лучше использовать, чтобы проще было дописать подключение библиотеки под другую платформу?
Я думаю, под виндой брать dll и кидать в папку к экзешнику. Под линуксом, я так понимаю, достаточно присутствия .so в системе. Или я ошибаюсь?
Аноним 24/07/19 Срд 01:22:08 1441314254
>>1441310
Бля, я конечно диванный, но сомневаюсь, что хотя бы в ДС 1-2 реально найти, особенно в короткие сроки.
Аноним 24/07/19 Срд 01:24:55 1441316255
>>1441314
Соррян, неправильно прочитал, думал ты про удаленку.
Аноним 24/07/19 Срд 01:34:08 1441318256
>>1439045
>Копмилятор занимает память у ОСи
Нихуя не компилятор. Это сама ОС выделяет тебе память для твоего процесса, при его запуске. Насколько помню, в винде, при запуске проги, код размещается в одном участке адресного пространства, данные в другом участке. Программа, по необходимости, может запросить дополнительную память у ОС посредством системных вызовов (VirtualAlloc, вот это вот всё).

Дело в том, что в языке C++ не указывается, что из себя представляет память компьютера, как там всё устроено. Какой используется процессор, какая ОС (и есть ли она вообще). В общем - что из себя представляет платформа, на которой работает программа. Программы на C++ можно писать для самых разных компьютеров, процессоров, ОС. У тебя там x86, а у кого-то ARM или MIPS. У кого-то есть виртуальная память, а у кого-то её нет, и защиты памяти даже нет.
Аноним 24/07/19 Срд 01:40:25 1441321257
>>1441310
Нет. Если ты знаешь кресты - иди в офис.

>>1441312
.so должны лежать в $PATH. В Винде тоже можно в %PATH% их подложить.

Аноним 24/07/19 Срд 02:26:50 1441329258
кресты в коммерции как то не очень, хочешь заработать учи java
Аноним 24/07/19 Срд 02:36:59 1441331259
>>1441329
в этом году ожидаю повышение зарплаты до ~360к в месяц чистыми. Мимо крестосениор в ДС.
Аноним 24/07/19 Срд 02:48:42 1441335260
Аноним 24/07/19 Срд 04:01:58 1441348261
>>1441335
3 года капчевания, не меньше полутысячи постов в "войти в айти" тредах /b с тралленгом лалак
Аноним 24/07/19 Срд 04:05:11 1441350262
>>1441310
>на стройку не берут
ну да, если ты нищий и голодный, но больной и хилый, то самое то подумать о вкате в айти!
да еще и на удаленочку сразу
и на крестах чтоб

Аноним 24/07/19 Срд 04:12:04 1441354263
>>1441348
А серьезно если? Мне как ньюфагу интересно, сколько времени займет рост до такого уровня зп.
Аноним 24/07/19 Срд 04:26:52 1441356264
>>1441348
пятилетку программистом, и еще пятилетка просто ОЙТИ СПЕЦИАЛИСТОМ без кодинга
Аноним 24/07/19 Срд 12:02:44 1441477265
hqdefault.jpg (25Кб, 480x360)
480x360
>>1441321
>.so должны лежать в $PATH.
Аноним 24/07/19 Срд 12:12:20 1441482266
>>1441354

Все зависит от твоих стремлений. Если программировать каждый день, постоянно что-то новое изучать и прочее, то можно за год дойти до 100 тысяч зп на удаленке.
Можно просто делать работу и пить чай и за 3 года остаться на 40к в офисе.
Анон с зп 360к явно работает на зарубеж, на Финляндию или типа того. Я такой зп не видел, но предполагаю, что за 3-5 лет ее вполне реально достичь, если не лениться.
Аноним 24/07/19 Срд 12:14:57 1441483267
Аноним 24/07/19 Срд 14:11:00 1441584268
Посоны, дайте ссылку на ченить научно-популярное о том как пишут код для ардуино микросхем.
Для повышения образования я сейчас начал потихоньку разбираться в плюсах. Про указатели - кажется кажется понял. Вообще байтоебство это интересно. Но мне не понятно как пишут код на плюсах для допустим ардуино или еще какой нибудь платы
Там специальный компилятор который компилирует код в исполняемый файл понятный этой микросхеме? Сама плата программируется программатором?

мимо - пхп-макакий
Аноним 24/07/19 Срд 15:00:16 1441612269
>>1441482
>Все зависит от твоих стремлений.
от каких стремлений, епт? вот я хочу делать деревянные бочки для засолки огурцов, люблю свою работоу, каждый день делаю по бочке, самосовершенствуюсь, изучаю какие-то новые способы изготовления бочек, бля я самый настоящий мастер изготовления березовых кадушек! только нахуй это никому не нужно
точно так же и с программированием: вдруг оказывается что кодеры и нахуй не нужны, вернее столько много
Аноним 24/07/19 Срд 15:15:10 1441624270
>>1441612
бля хуйню написал, был не в себе, сорри за треш
Аноним 24/07/19 Срд 16:26:46 1441692271
image.png (11Кб, 495x437)
495x437
image.png (5Кб, 338x346)
338x346
1. Как из одного конструктора вызвать другой в теле конструктора? T(x+y) создаёт временный объект, видимо, а значени s остаётся стандартное.

2. И аналогичный вопрос при наследовании. Можно написать через двоеточие :Q(x*x), но если мне нужно перед этим что-то посчитать - то выглядит это ужасно, нужно создавать дополнительную функцию, которую указать после двоеточия и которая помимо возврата Q сделает необходимые действия. Уж лучше создать нормальную функцию _init() и вызвать её в обоих конструкторах в конце, которая будет вместо конструктора.
Аноним 24/07/19 Срд 16:42:51 1441705272
>>1441482
>>Все зависит от твоих стремлений
Скорее от организованности и умения ставить себе задачи.
Так то можно писать на запале по 6 часов в день, потом перегореть и забить на месяц-полтора, обнулив по итогу все.
А если дисциплинирован, и в момент упадка хотя бы по часу- полтора работаешь - то не потеряешь.
мимо-пхп-макакий

Аноним 24/07/19 Срд 16:45:05 1441707273
>>1441705
П.С. и вообще по моему ежедневная концентрированная работа/учеба по 4 часа, а потом абстрагирование от задач для занятий другими делами гораздо эффективнее чем циклы запал/угасание.
Тут вопрос глобальной привычки.
Аноним 24/07/19 Срд 17:03:25 1441713274
>>1441350
Ну так, что не так?
На работу никуда не берут, программирование - единственное, в чём я что-то понимаю.

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

> и на крестах чтоб
Просто считаю его лучшим языком, от всех остальных хуёво становится. Понимаю, что он сложный, но я не прочь почитать пару-тройку книжек
Аноним 24/07/19 Срд 17:59:13 1441743275
Аноним 24/07/19 Срд 18:09:42 1441752276
>>1441743
Ну, я до всех трёх вариантов догадался.
Отвратительно, придётся использовать второй вариант, хотя очень не хотелось бы нагромождения каких-то одноразовых функций.
Аноним 24/07/19 Срд 20:56:59 1441832277
Почему gdb выводит только регистры R8, R9, R10 и т.д. Как это исправить?
Аноним 24/07/19 Срд 22:07:51 1441853278
>>1441692
> T(x+y) создаёт временный объект
Где тот шизойд, который в прошлом треде доказывал обратное?
Аноним 24/07/19 Срд 22:10:56 1441858279
>>1441752
Считай с помощью аргументов которые тебе пришли и методов базового класса (только не виртуальных), тогда иниты всякие не понядобятся
Аноним 24/07/19 Срд 22:18:03 1441865280
>>1441858
Грубо говоря, у меня два конструктора, которые загружают что-то из файла и из памяти. И хотелось бы в конструкторе с файлом просто считать что-то из файла и вызвать конструктор с памятью.
Если это методы, то
И есть три стула.
1. Ctrl+C/Ctrl+V
Аноним 24/07/19 Срд 22:21:46 1441872281
>>1441865
Так а в чем проблема? Если они что-то общее делают, то выноси это самое общее в private метод с каким-нибудь охуенным названием
Аноним 24/07/19 Срд 22:24:29 1441875282
>>1441865
Сука, как оно отправилось?


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

То есть смысл теряется, если не использовать тот другой конструктор. Или я делаю init и вызываю его из обоих конструкторов, или я просто дублирую код. Никакого метода в базовом классе для загрузки из памяти или файлов нет, только конструктор. То есть можно сделать, но это тот самый init - нигде в клиентском коде не будет повторной загрузки из памяти или файла.
Аноним 24/07/19 Срд 22:26:19 1441877283
>>1441872
Ага, я так и сделал.

>>1441875
Так, я всё напутал в этом посте, думал про первую ситуацию, а отвечал на вторую.
Аноним 24/07/19 Срд 22:30:54 1441878284
>>1441875
>Но если это конструкторы

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

Проблема чисто символическая и она в том, что конструкторы не выразительные. Если бы они работали как методы, это было бы намного юзабельнее. А так приходится в конструкторе вызывать какой-то посторонние методы, просто потому что один конструктор не может внутри своего тела вызывать другой, только метод.
Аноним 24/07/19 Срд 23:12:13 1441899285
>>1441878
> приходится в конструкторе вызывать какой-то посторонние методы, просто потому что один конструктор не может внутри своего тела вызывать другой, только метод.
Это нормально, ты просто не так понимаешь ооп
Аноним 25/07/19 Чтв 00:22:06 1441929286
>>1441865
>Грубо говоря, у меня два конструктора, которые загружают что-то из файла и из памяти.
имхо, тут ты совершаешь ошибку проектирования
в таких случаях конструкторе нада именно что сформировать объект, перевести его в непротиворечивое состояние, так сказать
а всякие сложные заполнения объекта уже делать отдельными методами (типа вытащить много данных с файловой системы или из бд)
Аноним 25/07/19 Чтв 00:25:06 1441931287
>>1441705
>Так то можно писать на запале по 6 часов в день, потом перегореть
6 часов в день - это минимум для промышленного кодера, те это тупо кодинг без коммуникации
и так будет продолжаться годами


Аноним 25/07/19 Чтв 00:36:35 1441941288
>>1441931
Разработкой невозможно заниматься больше 4 часов в сутки, ибо это большая когнитивная нагрузка, которую почти никто не тянет (не перегорев). Остальное время сверх этого - шелуха типа перерывов на чай/кофе, совещаний и прочего ненужного говна.
Аноним 25/07/19 Чтв 00:41:18 1441947289
>>1441941
Не, ну аннотации поверх крудов шлёпать можно и 8 часов.
Аноним 25/07/19 Чтв 00:46:09 1441954290
>>1441941
никого не ебет
попадешь в тот же геймдев - будешь 10+ часов без выходных ебашить перед релизом на стимуляторах

Аноним 25/07/19 Чтв 01:35:00 1441973291
>>1441954
Двачую. Монотонная хуйня, кода писать надо дохуя, все время кто-то сбоку ебет .
Аноним 25/07/19 Чтв 09:24:01 1442068292
>>1441692
[code]this->MyClass::MyClass(....)[/code]
Аноним 25/07/19 Чтв 13:59:08 1442211293
>>1441878
placement new, может быть?
Аноним 25/07/19 Чтв 19:45:04 1442467294
>>1441931
Хорошо, что я не промышленный кодер
Аноним 25/07/19 Чтв 22:48:37 1442564295
Это правда, что C++20 будет таким же крупным, каким был C++11?
Аноним 25/07/19 Чтв 22:59:44 1442569296
>>1442564
дохуя там нового, слишком дохуя
Аноним 25/07/19 Чтв 23:00:50 1442570297
>>1442569
То есть даже крупнее?
Аноним 25/07/19 Чтв 23:27:23 1442591298
>>1442211
Точно. Благодарю, идеально, почему я не вспомнил про эту штуку.

>>1442068
А вот это не компилируется, если что. "cannot call constructor '...' directly" или "cannot refer to type member"

>>1441929
Может быть. Объект не имет никакого смысла без данных, потому мне показалось логичным в конструкторе сразу задавать данные и удалять в деструкторе. Не будет второй строчки загрузки в клиентском коде, и не нужно проверять во всех методах загруженны ли уже данные, на случай если кто-то где-то забудет.



>>1442569
Вот бы питоновские f-string добавили. Специальный компайлтайм костыль именно для строк, которые компилятор развернёт в что-то нормальное. Прочитал про них и аж завидно.
Аноним 25/07/19 Чтв 23:37:05 1442594299
>>1442591
В С++ и так оптимизированные стринги.
Аноним 25/07/19 Чтв 23:38:53 1442598300
>>1442594
На самом деле весьма хуево оптимизированые.
std вообще говнецо то еще
Аноним 26/07/19 Птн 00:02:26 1442626301
>>1442211
Изнутри конструктора? UB.
Аноним 26/07/19 Птн 00:47:41 1442653302
>>1442598
ты про какую из реализаций стд, гений?
Аноним 26/07/19 Птн 00:50:08 1442655303
Аноним 26/07/19 Птн 01:23:47 1442664304
>>1442655
Хорошо, поверю тебе, как знающему все тонкости имплементации каждой реализации
Аноним 26/07/19 Птн 01:28:48 1442667305
>>1442664
>все тонкости имплементации каждой реализации
В этом нет нужды, достаточно знать две вещи:
1) Оптимизация и скорость там не на первом месте (и это, пожалуй, правильно)
2) Писали всю эту хуйню примерно такие же дебилы как и ты (и это, пожалуй, печально)
Аноним 26/07/19 Птн 01:41:19 1442675306
>>1442667
если я стану когда нибудь таким же дебилом, как имплементоры стандартной библиотеки например принципал инженеры из майкрософта с зарплатой в месяц больше, чем у тебя в год - я буду счастлив.
Аноним 26/07/19 Птн 01:48:13 1442676307
>>1442675
>примерно такие же
>если я стану когда нибудь таким же
Это вполне возможно и не очень сложно но лично у тебя не получится.
>зарплатой
Ясно.
Аноним 26/07/19 Птн 02:04:51 1442681308
>>1442675
там нет ничего сложного, не боги горшки обжигают, включи в той же студии (если ты под виндой) заходить отладчику в код библиотек и заходи в код stl время от времени, ну или просто открой его отдельным проектом
из заморочек, усложняющих код, там разве что необходимость соблюдать требования к безопасности исключений (которые прописаны в стандарте), плюс выделение ресурсов из аллокаторов тоже чутка усложняет
Аноним 26/07/19 Птн 02:09:56 1442682309
>>1442681
или глянь реализацию libcxx, она посвежее и пободрее других реализаций stl
Аноним 26/07/19 Птн 02:18:54 1442683310
Аноним 26/07/19 Птн 02:19:55 1442684311
изображение.png (334Кб, 484x600)
484x600
Аноним 26/07/19 Птн 02:26:05 1442686312
>>1442683
Да нет никакой токсичности от этого клоуна, пусть еще веселит. Вангую красноглазого додика-студента, который сидит у мамки на шее (опционально работает говном за 20 тысяч), но он точно самый умный.
Аноним 26/07/19 Птн 02:31:40 1442687313
Аноним 26/07/19 Птн 02:46:52 1442688314
Аноним 26/07/19 Птн 02:48:08 1442689315
>>1442688
Нарекаю тебя Евлампием.
И жить тебе отныне соответственно.
Поздравляю.
Аноним 26/07/19 Птн 02:54:36 1442690316
>>1442689
говоришь на меня - переводишь на себя
Аноним 26/07/19 Птн 02:58:23 1442691317
>>1442690
Какой милый школьник Евлампий :3
Аноним 26/07/19 Птн 03:16:54 1442693318
15630018282570.jpg (34Кб, 400x328)
400x328
Аноним 26/07/19 Птн 04:50:56 1442699319
>>1442598
Ты скозал? В стандартной библиотеке всегда самые или почти самые производительные реализации разве что у какого-нибудь китайца быстрее чутка будет. Посмотри что-ли конференции с выступлениями членов совета стандартизации.
Аноним 26/07/19 Птн 13:38:55 1442830320
>>1441268
Полицию размеров тоже выставил.
Аноним 26/07/19 Птн 14:14:36 1442852321
>>1442699
>самые производительные реализации
Вовсе нет, и это не в приоритете.
Безопасность, надежность - и только потом.
>у какого-нибудь китайца
У меня быстрее.
>конференции с выступлениями членов совета стандартизации.
Не нужны.
Аноним 26/07/19 Птн 15:23:45 1442911322
>>1442852
бля, какой же ты охуенный
пишешь код лучше яйцеголовых что клепают реализации stl, конференции не нужны тк ты и так все знаешь
Аноним 26/07/19 Птн 15:26:43 1442914323
>>1442686
>додик
Семантические свойства
Значение
жарг. гомосексуалист (в уголовном арго — молодой пассивный) В неестественно раскрытых совиных глазах Ястребова вспыхнули ржавые белки, в них металось безумие… Под ним бился молодой додик по кличке Снежинка. Л. П. Костомаров, «Десять кругов ада»
жарг. ирон. женственный, женоподобный мужчина И реально, что бы вы думали, из-за кулис выходит какой-то додик, тощий, в зелёных очках и с лысой головой, подходит к микрофону и начинает вещать что-то тонким, по-бабьи жеманным голоском.〈…〉Он очень томно растягивает слова, выпячивает губы и делает все эти педиковские ужимки, которые я так ненавижу. С. С. Минаев, «Духless. Повесть о ненастоящем человеке», 2006 г. (цитата из Библиотеки Максима Мошкова, см. Список литературы)
жарг. презр. или пренебр. хилый, ничем не примечательный человек Например, решит профессор закончить пару пораньше и для приличия спросит, всё ли всем понятно. Группа уже сложила вещички и ждёт предложения разойтись по домам, и в этот момент Борис поднимает руку и говорит: «А вот я не понял один момент…». В результате народ тоскует и томится, один лишь Борис внимательнейшим образом слушает и кивает головой. Чаще всего в процессе кивания у него появляются и другие вопросы. После проявления такого интереса к предмету преподаватели начинали его уважать, студенты называть додиком, а девушки не любить, несмотря на очевидную красоту. Эльвира Барякина, Анна Капранова, «Рыба в чайнике», 1999—2002 г. На прогулку во двор старейшей московской психиатрической больницы выпускали только с часу до двух дня и только самых спокойных обитателей. / — Маша, загоняй додиков! — кричала из окна второго этажа тётка в замызганном голубом халате и косынке. П. А. Астахов, «Квартира», 2010 г.
Синонимы
гомосексуал, гомосексуалист, педераст; разг.: гей, голубой, гомик, гомосек, мужелюб; устар.: мужеложец, мужеложник, содомит; устар., частичн.: малакия; книжн.: уранист, урнинг; эвф.: сидор; сленг: в теме, зайка, крашу ногти, сижу в окопе, тематический, яойщик; жарг.: ахтунг, барсук, василёк, васька, галя, гамадрил, гамаз, гамазей, гамак, гном, гобсек, говносек, голубарь, голубец, голубок, голубчик, голубь, гома, гомс, гомусик, двустволка, дирижёр, додик, дочка, дуплан, ермак, жоподрючник, жополаз, жопочник, жопотрах, заднепроходец, звезда, кентавр, котик, кьюр, маркоташник, мастёвый, мужиковед, папа, парафин, пед, педагог, педарь, педе, педерага, педераго, педеряга, педигрипал, педик, педр, педрик, педрила, педрило, педрильник, педруччо, педя, петух, пидарас, пидарь, пидер, пидор, пидорас, пидорасина, пидораскин, пидораха, пидорюга, пидорюжник, пидорюк, пинчер, половой демократ, пэдэ, рудокоп, руслан, субчик-голубчик, такой, темовой, тёпленький, тёплый брат, хали-гали, чебурашка, чичеряка, шахтёр, шкицнурик, шура; активный: акт, актив, активист, георгин, глиномес, говномес, дятел, кочегар, марксист, педикатор, печатник, печник, печной ящер, ромео, солидол иванович, топтун, трубочист, уважаемый, чужежопник; пассивный: акробат, ананаска, армянская королева, бархотка, валет, вафел, вафёл, вафлеглот, вафлёр, вафлист, вафло, гребень, дама, даша, дашка, жена, женива, женщина, жопа, жопник, козёл, козлик, козочка, конь педальный, кочет, манька, маня, маргаритка, маша, машка, моргалик, мурка, наташа, наташка, незабудка, округлённый, пассив, педер, педерасик, педермот, петюнчик, петя, пидовка, пинч, плашкет, подруга, пярну, санта-лючия, Светка, сестра, туз червонный, умница, универсал, шпидагуз, шурик, шурин; изнасилованный: обиженный, опущенный, проткнутый, петух, петушня, петушок, петяра, пятёра, пятёрка
Антонимы
Гиперонимы
Гипонимы
Аноним 26/07/19 Птн 15:30:27 1442916324
>>1442911
>какой же ты охуенный
Без комментариев, потому что ярчайшая грань бриллианта моего характера - это скромность.
Аноним 26/07/19 Птн 15:37:45 1442921325
image.png (15Кб, 487x630)
487x630
>>1442699
>В стандартной библиотеке всегда самые или почти самые производительные реализации
Ну такое.
Пример. Есть много точек заданных 8 float-ами, нужно удалить дубликаты. Я прикрутил туда std::unordered_map, и оно работало довольно медленно, 6458 мкс на 100к точек.
Мне стало интересно после твоего сообщения чем этот unordered_map занимается и я написал свой - все данные хранятся в цельном куске памяти (и "бакеты", и данные). Заработало где-то в два раза быстрее, но потом я нашёл ошибку и скорость стала лишь чуть-чуть выше.

Тем не менее вот этот говнокод: https://ideone.com/v6xbhx
На ideone что-то странное творится в rdtsc и clock - вот картинка с моего ноута. То есть для миллиона и особенно для тысячи моя штука работает ощутимо быстрее и лишь для десяти элементов моя фигня проигрывает, тому что там можно сделать оптимизацию, так как хеш-таблица не даёт выигрыша.
То есть первая же реализация от самоучки вроде меня без какого-либо опыта реальной работы оказалась не хуже реализации в std, при том что это первое что в голову пришло и я никогда не писал контейнеры или хеш-таблицы. Впрочем, допускаю мысль что я не умею пользоваться std::unordered_map и там нужно как-то по другому её использовать, чтобы она работала резвее.
Аноним 26/07/19 Птн 15:43:27 1442927326
>>1442921
Вот этот вроде не совсем дебил.
Соболезную.
Аноним 26/07/19 Птн 15:50:54 1442934327
>>1442852
>У меня быстрее.
В каком-нибудь синтетическом тесте с проебанными в нужных местах исключениями, из-за которых течет память
Аноним 26/07/19 Птн 15:52:39 1442936328
>>1442921
>Мне стало интересно после твоего сообщения чем этот unordered_map занимается и я написал свой - все данные хранятся в цельном куске памяти (и "бакеты", и данные).
Для этого придумали pool-аллокаторы, который у STL-контейнеров является шаблонным параметром.
Аноним 26/07/19 Птн 16:06:44 1442941329
>>1442934
>течет память
Ебать ты криворукий дурачок.
>исключениями, из-за которых течет память
Ебать ты жопоголовый дебилоид.

Начинаю понимать из-за кого на плюсовиков смотрят как на говно.
Аноним 26/07/19 Птн 16:15:07 1442947330
>>1442941
Маня, ты покажи код своего охуенного контейнера, а потом кукарекай.
Аноним 26/07/19 Птн 16:18:19 1442948331
>>1442947
>покажи код
Деньги вперед, насекомое.
Аноним 26/07/19 Птн 16:28:36 1442954332
>>1442936
Подскажешь как прикрутить или что прочитать? Хотелось бы сравнить. Я бы предпочёл по возможности всё-таки оставить стандартный unordered_map вместо своего, но только если там не будет 30% разницы.
Я полистал, нашёл только какую-то pdf-ку, где какой-то некомпилирующийся allocator_adaptor на несколько страниц и потом к нему ещё сам аллокатор. Но, насколько я понял, оно в любом случае будет в разных местах хранить бакеты и данные, потому что тип стандартного аллокатора содержит пары.
Аноним 26/07/19 Птн 16:49:14 1442967333
Аноним 26/07/19 Птн 18:05:29 1443027334
Аноним 26/07/19 Птн 20:25:17 1443090335
>>1443027
Что именно не ясно?
Аноним 26/07/19 Птн 20:31:31 1443094336
Аноним 26/07/19 Птн 20:40:41 1443096337
>>1443090
Почему placement new в конструкторе ub. У меня есть указатель, отчего он становится хуже в конструкторе?
Аноним 26/07/19 Птн 21:07:00 1443119338
>>1442830
Наверное, spacer'ов забыл вокруг своего виджета добавить
Аноним 26/07/19 Птн 21:11:25 1443121339
>>1443096
Стандарт описывает 3 так сказать периода для объекта.
1. Что можно делать вне lifetime объекта и не при работе конструктора/деструктора.
2. Что можно делать во время работы конструктора/деструктора.
3. И во время lifetime.

В первом и третьем периоде понятно что будет при placement new, а во втором — нет.
Аноним 26/07/19 Птн 22:20:37 1443145340
>>1442921

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

Аноним 26/07/19 Птн 22:27:15 1443151341
>>1443145

хотя бы попробовал сначала использовать std::list, встроенную операцию unique()

Аноним 26/07/19 Птн 22:38:25 1443160342
Не инициализируется glew.
Все доп.зависимости подключил.
ide - visual studio 2019
https://pastebin.com/J2UCJpt6
Аноним 26/07/19 Птн 22:51:00 1443168343
>>1443160
Я даун забыл написать glfwMakeContextCurrent(window);
Аноним 26/07/19 Птн 23:27:22 1443182344
>>1443145
Ага, я же самоучка, ни одной книги не прочитал.
Ну-ка, а как сделать быстрее? У меня 10кк элементов. То есть подходит O(n) или O(n log(n)) с хорошей константой, памяти же почти сколько угодно.
В голову приходит или сортировка с последующим тривиальным удалением, или хеш. А я не верю в сортировку на 10кк элементов.

>>1443151
>встроенную операцию unique
Вот замер для 1кк. Там же ещё отсортировать его надо. По идее, unique можно прямо во время сортировки делать, если переписывать сортировку.
>std::unordered_map за 238412.367 мкс
>me::unordered_map за 159842.574 мкс
>std::list+unique за 478863.221 мкс
Для 10кк там уже в 4 раза разница.
Аноним 27/07/19 Суб 00:15:23 1443195345
>>1443182
бля, чувак, глянул твой код, ты там творишь лютую дичь: сначала делаешь find по ключу, проверяешь не найдено ли, а потом уже insert!
лол
это же unordered_map, почитай как она хоть работает, лол,
Аноним 27/07/19 Суб 00:16:37 1443197346
>>1443195
и вообще тупо сделай на std::map, только правильно, блядь

Аноним 27/07/19 Суб 03:26:02 1443247347
image.png (10Кб, 999x131)
999x131
>>1443195>>1443197
>а потом уже insert!
Действительно. Впрочем, было не слишком очевидно что оно возвращает ссылку на имеющийся/добавленный элемент, и на цифрах сказалось минимально.

Теперь в map и unordered_map у меня в цикле лишь insert
В list в цикле push_back, потом один sort и один unique
В vector один sort и один аналог unique
Всё верно?
Любопытно, что вектор перегнал все стандартные контейнеры на любых числах, вот уж не ожидал.
Аноним 27/07/19 Суб 03:50:42 1443250348
>>1443247
std::unordered_map<mm,tint,mm> kk(N);
ты задаешь количество сегментов хеша равным количеству вставляемых элементов
блядь, да почитай уже как контейнеры stl работают

Аноним 27/07/19 Суб 13:00:53 1443341349
>>1443250
>количество сегментов хеша равным количеству вставляемых элементов
Что с этим не так? Я попробовал выставлять больше или меньше и получилось хуже. Размер примерно в 7/5 от количества элементов на одних данных работает лучше (когда совпадающих почти нет), на других хуже - потому я оставил равный.
>почитай уже как контейнеры stl работают
Прости, я видимо очень глупый, но если три раза повторить что нужно почитать как работают контейнеры stl, то я всё-равно не пойму чего ты от меня хочешь. Я примерно знаю как работают контейнеры и прочитал что делают функции, которые использую. Ещё сейчас открыл "Стандартная библиотека C++. Справочное руководство" и не нашёл там ничего существенно нового в соответствующих главах, по крайне мере на первый взгляд.
Аноним 27/07/19 Суб 15:33:50 1443424350
>>1443341
вообще не выставляй руками количество сегметов
Аноним 27/07/19 Суб 15:36:47 1443425351
>>1443341
вообще, твой код просто безумно плох, до него доебываться можно бесконечно, и это бесполезно
чего только стоит как ты сравниваешь вещественные числа..
просто пиздец..
Аноним 27/07/19 Суб 15:38:52 1443427352
в чем и проблема с самоучками
они могут писать 500+ строк кода в день, считать себя охуенными, но при этом вообще городить в коде лютую хуйню
при этом им ничего не объяснить, тк тупо у них базы нет чтобы понимать
Аноним 27/07/19 Суб 16:20:11 1443443353
>>1442852
Толстота. Я уверен, что ты даже правильно производительность тестировать не умеешь. Кидай сюда код с тестами, посмотрим.
Аноним 27/07/19 Суб 16:24:25 1443450354
>>1443424
Медленно, 400 мс вместо 250.

>>1443427
>считать себя охуенными
Не было такого, я в самом начале указал, что мой код - говнокод, и что я не умею пользоваться unordered_map.
И мне всё ещё было бы интересно послушать чем мой код плох, как сделать его эффективнее и чем плохи мои флоаты.
Аноним 27/07/19 Суб 16:56:00 1443459355
>>1443450
читани как сравнивать вещественные
Аноним 27/07/19 Суб 16:56:32 1443460356
>>1443450
потом еще ты точно уверен что у тебя получается хорошая хэш функция?
Аноним 27/07/19 Суб 17:06:00 1443464357
>>1443459
>>1443460
Мелкобуква, нахуй иди.
Не пиши мне больше.
Аноним 27/07/19 Суб 17:29:10 1443479358
>>1443459
Я в курсе как их сравнивать. В данном случае они до бита совпадают, это не результат математических формул, где нужно с относительной ошибкой в 1e-7 сравнивать. Можно их хоть как int-ы сравнивать.

>>1443460
Уверен, что довольно посредственная. Я уже обнаружил насколько неравномерно она засовывает данные в таблицу и несколько раз поменял. При этом хорошая функция слишком медленная, с ней один только рассчёт хеша для каждого элемента дольше, чем весь алгоритм с обсчётом 1-3 коллизий для каждого элемента с плохой функцией.
Аноним 27/07/19 Суб 17:50:09 1443502359
>>1443464
что не так, ублюдок?
недоучка, сравнивающий вещественные через == и делающий find перед вставкой insert в мапу
пнх, обсуждение закрыто
Аноним 27/07/19 Суб 18:15:54 1443519360
Аноны, помогите.
Написал скрипт чтобы тренировать свою способность складывать 16-ричные числа. Вроде всё работает, но если вдруг написать русскую букву, то уходит в бесконечный цикл.
https://pastebin.com/bPeK3K94
Аноним 27/07/19 Суб 18:47:43 1443532361
image.png (59Кб, 500x366)
500x366
>>1443459
>плюсы не могут в автоматическое епсилон сравнение
Аноним 27/07/19 Суб 19:09:27 1443538362
>>1443519
1. else if там нинужен. ты тестируешь на ровно противоположное условие. там должен быть else. а можно даже без else, так как там break есть.
2. русская буква у тебя остается в буфере и не может попасть ни в какую переменную. а так как у cin в буфере что-то все-таки лежит, то он не ждет ввода. поэтому нужно его чистить руками https://stackoverflow.com/questions/257091/how-do-i-flush-the-cin-buffer
3. continue там тоже нихуя не делает
Аноним 27/07/19 Суб 19:30:27 1443544363
Принимаю функцией последовательность параметров, Params... params. Как закастить каждый параметр к нужному мне типу?
Аноним 27/07/19 Суб 19:53:33 1443555364
>>1443544
функция_которая_кастует(params)...
Аноним 27/07/19 Суб 19:56:11 1443556365
>>1443555
А смекалочка у тебя ничего.
Аноним 27/07/19 Суб 20:01:29 1443558366
Аноним 28/07/19 Вск 12:39:06 1443799367
>>1443544
Бамп вопросу. Нужно что-то типо:
foreach(p : params)
{
cast<YOBA>(p);
}
Аноним 28/07/19 Вск 12:44:38 1443804368
Аноним 28/07/19 Вск 13:05:37 1443817369
Аноним 28/07/19 Вск 13:18:45 1443823370
Пацаны, нужно реализовать чтение и запись txt файла из любой директории. Всё хорошо работает, пока в пути нет кириллицы. Если она появляется, то нихуя не работает. Пробовал wchar_t запилить, setlocale проописать, еще вот такую тему SetConsoleCP(1251) и
SetConsoleOutputCP(1251). Но без толку. Что ещё может сработать?
Аноним 28/07/19 Вск 13:29:16 1443827371
>>1443804
>>1443817
Вы угораете? Мне нужно не принтить парметры, а преобразовать для дальнейшего пересыла в другую функцию. Ваш способ не работает.
Аноним 28/07/19 Вск 13:32:04 1443829372
>>1443827
ты совсем кретин? я ПРЕОБРАЗОВАЛ ПАРАМЕТРЫ ДЛЯ ПЕРЕСЫЛА В ДРУГУЮ ФУНКЦИЮ БЛЯТЬ.
28/07/19 Вск 13:32:47 1443830373
>>1443827
>для пересыла в другую функцию
Ну и передай их в нужную тебе функцию вместо cout/printf, откуда я знаю что у тебя за функция.
Аноним 28/07/19 Вск 13:47:49 1443846374
Аноним 28/07/19 Вск 13:51:15 1443852375
>>1443846
иди нахер, дебил. Все
Аноним 28/07/19 Вск 13:59:00 1443862376
>>1443852
Иди нахер, сам нихуя не знаешь, только путаешь и пиздишь. Без тебя справился. std::conditional_t мне нужен был.
Аноним 28/07/19 Вск 15:13:11 1443920377
Screenshot from[...].png (87Кб, 2020x416)
2020x416
Screenshot from[...].png (172Кб, 1956x1602)
1956x1602
ЛОООООООООЛ

Всегда подозревал, что в сфере C++ что-то не так. 41% долбоебов ВООБЩЕ не пишет тесты. Ну вы и уебки, пиздец просто.
Аноним 28/07/19 Вск 15:21:01 1443926378
>>1443920
А нахуя совмещать работу кодера и тестировщика?
Аноним 28/07/19 Вск 15:30:37 1443932379
>>1443920
> 41% долбоебов ВООБЩЕ не пишет тесты
> Картинка с юниттестами
Хорошо манюня. Попробуй подумать, какие еще тесты бывают, кроме юниттестов

мимо 0 юниттестов на небольшоим проекте, но тестовый пайплайн работает ~час
Аноним 28/07/19 Вск 15:38:09 1443941380
>>1443932
Манюнь, ты мне не манюнькай - у тебя пайплайн тестируется час и нет юниттестов. Это само по себе зашквар, чуть лучше чем тестить руками
Аноним 28/07/19 Вск 16:20:25 1443972381
Есть ли смысл сейчас читать Лафоре 2004 год? Или лучше обратить внимание на какого-нибудь Страуструпа?
Аноним 28/07/19 Вск 16:23:28 1443973382
>>1443941
да, все так. Только ты, судя по всему, не писал больших и сложных проектов, вот и несешь хуйню.
Аноним 28/07/19 Вск 16:59:45 1443993383
>>1443920
Если еще пару тысяч зеленых сверху шлепнут, то буду и тесты писать. А так нахуй надо. На каких вообще галерах требуют от прогера написание тестов? ООО Рога и Копыта?
Аноним 28/07/19 Вск 17:11:20 1444003384
Народ, такой вопрос есть.
Допустим, я скомпилил DLL'ку, и затем использую ее в своем приложении. Приложение компилирую на том же самом компиляторе, то есть никаких проблем, связанных с name mangling, быть не должно. Но если я поставлю какой-нибудь флаг компилятора, который влияет на размер объектов, то получится, что DLL'ка и приложение используют класс из одного заголовочника, но при этом разного размера. Таким образом, из-за одного флага уже рушится бинарная совместимость?
И можно это как-то предотвратить, если у меня уже есть сторонняя DLL'ка (написанная на C++, без всяких "extern C"), про которую я знаю, что она была построена на таком-то компиляторе, но при этом без понятия, какие там флаги использовались?
Аноним 28/07/19 Вск 18:21:00 1444042385
>>1444003
либо ты компилируешь все одинаковым компилятором, либо extern "C". Увы.
Аноним 28/07/19 Вск 19:10:30 1444059386
>>1444042
А что делать с DLL'кой от сторонней библиотеки, у которой исходники не распространяются, а только .h, .dll и .lib файлы? Обычно поставляется несколько версий для различных компиляторов и конфигураций. Например, я скачал с сайта версию для Visual Studio 2019, платформа x86, конфигурация Debug. Соответственно, чтобы использовать эту DLL'ку, мне нужно создать проект на 2019 студии и поставить там x86/Debug, достаточно ли этого? Есть ли гарантия, что при компиляции этой DLL'ки не использовался, например, флаг /Zp? Ведь мне тогда его тоже надо выставить
Аноним 28/07/19 Вск 19:14:14 1444061387
>>1444059
Если бы использовалось /Zp, то в хедеры бы заботливо прописали pragma pack, или что там. Я думаю, что тебе достаточно сделать именно то, что ты планируешь.
Аноним 28/07/19 Вск 19:48:02 1444068388
Аноним 28/07/19 Вск 22:11:01 1444123389
>>1437641
Скажите пожалуйста, при использовании remove(int i) для QVector-а индексы внутри него пересчитываются?
Ну то есть было, например, внутри QVector<int>:
i 1, 2, 3, 4, 5
n 10, 30, 40, 80, 70

i - это индекс, n - содержимое под этим индексом.

Делаем remove(4). Что тогда получится в итоге?
i 1, 2, 3, 5
n 10, 30, 40, 70

или
i 1, 2, 3, 4
n 10, 30, 40, 70

???
Аноним 28/07/19 Вск 22:59:03 1444135390
>>1444123
Неужно спросить тут такое быстрее, чем набрать полторы строчки кода и проверить?
Аноним 28/07/19 Вск 23:01:28 1444138391
>>1444135
Бля, в Qt за полторы строчки кода не проверишь, там нужно ебаться с интерфейсом. А console application там у меня почему то не работает. Поэтому да, проще спросить здесь.
Аноним 28/07/19 Вск 23:08:02 1444141392
>>1444138
И нет ни одного тестого проекта с интерфейсом, где можно временно дописать эти несколько строчек, проверить, а потом стереть? Да не поверю.
Точно не знаю, но 99.9% что второй вариант. Не пересчитывать очень уж затратно.
Аноним 28/07/19 Вск 23:11:28 1444142393
>>1444141
Очень надеюсь, что второй вариант. С первым все пойдет по пизде.
Аноним 29/07/19 Пнд 07:42:03 1444223394
1564375304583.jpg (62Кб, 1080x388)
1080x388
1564375304604.jpg (106Кб, 1080x520)
1080x520
>>1444123
Неужели так сложно прочесть?
remove не возвращает значение, значит - удаляет элемент без информации о нем.
operator[] принимает на вход 0 <= i < size(), значит, коллекция не разреженная.
Вывод: если ты из вектора размером в пять элементов удаляешь четвертый элемент, то пятый становится четвертым.
нахуй делать реализацию, отличную от std - хуй знает.
Аноним 29/07/19 Пнд 13:53:05 1444326395
>>1444223
Спасибо, анончик. Просто делаю все в спешке и часто упускаю важную инфу.
Аноним 29/07/19 Пнд 15:32:38 1444369396
Аноним 29/07/19 Пнд 20:32:00 1444558397
>>1444369
Какой же этот синтаксис с [[хуйня]] нечитабельный, надеюсь что-то получше придумают
Аноним 29/07/19 Пнд 21:01:54 1444589398
>>1444558
>кресты
>что-нибудь получше
Скажи спасибо, что не _Vot так надо писать.
Аноним 29/07/19 Пнд 21:05:26 1444591399
Аноним 29/07/19 Пнд 21:35:18 1444612400
>>1444369
ГОДНОТА!

Ну и кто теперь скажет, что С++ говно, а джава/раст лучше?
Аноним 29/07/19 Пнд 21:46:18 1444621401
image.png (59Кб, 845x600)
845x600
>>1444369
Искусный троллинг растоводов.
Аноним 29/07/19 Пнд 21:48:48 1444625402
>>1444369
Мда, а я так стектрейса ждал :(
Аноним 29/07/19 Пнд 23:10:39 1444700403
Имеется простенькая (200 строк) консольная программа, написанная на С++. Или на С, не знаю как их однозначно различить.
В текущем варианте в нее забиваются 4 исходных числа и она считает по забитым формулам нужные значения. Нужно сделать то же самое, но в оконном интерфейсе. То есть чтоб было 4 поля для ввода, и рядом выводились результаты. ОЧЕНЬ желательно встроить в это же окно небольшой статичный рисунок и верхнюю выпадающую панель (как обычно бывает - "файл", "правка", "инструменты", "справка..." и т.д.), где можно выбрать язык и вызывать справку.
В гугл ходил. Вариантов решения СТОЛЬКО, что глаза разбегаются, и везде пишут, что на С такое писать довольно сложно и нетривиально. Кроме С ничего не знаю.
Посему вопрос к вам: с помощью чего можно максимально просто реализовать такую задачу? Нет ли какого-то конструктора, в котором можно распихать кнопки и поля ввода/вывода, присвоив им определенные переменные? И с помощью чего такие задачи "принято" решать?
Аноним 29/07/19 Пнд 23:25:42 1444704404
>>1444700
Я бы посоветовал QtQuick. Свой код на Си завернешь в С++ класс (сойдет простой копипаст) и сделаешь биндинги из него в QML (это делается за тебя, надо только пару макросов дернуть, очень тривиально, по гайдам разберешься). Используя экспортированные методы (это тоже очень легко), будешь потихоньку писать QML. Последнее -- самое сложное. Придется относительно много прочитать мануалов по компонентам на официальном сайте, но если не будешь прокастирнировать, справишься не дольше чем за неделю (да, даже если в первый раз услышал про Qt).
Аноним 29/07/19 Пнд 23:40:45 1444714405
>>1444704
Ну и зачем квик советовать людям, который даже кьют не трогали? Если телефоны не нужны, то на виджетах это всё делается за +- пару часов, можно даже просто пример из документации скопипастить и своего добавить. А пока человек поймет зачем нужен Q_INVOKABLE и в чём разница Q_OBJECT от Q_GADGET еще не мало времени пройти может. Ну а для саморазвития пусть берет то с чем не работал
Аноним 29/07/19 Пнд 23:50:03 1444718406
>>1444704
Залей куда-нибудь свой код и скинь сюда ссылку. Могу помочь с переписыванием на C++\Qt.
Аноним 29/07/19 Пнд 23:50:27 1444719407
Аноним 30/07/19 Втр 00:18:30 1444730408
>>1444714
Виджеты устарели и ненужны. Так-то и на винформах написать можно, но почему бы не совместить (не)приятное с полезным?
Аноним 30/07/19 Втр 00:39:07 1444735409
Я вот слышал что c++ для написания интерфейсов далеко не лучший язык. В связи с этим вопрос. Можно ли писать логику на c++, а интерфейс на совершенно другом, заточенным под это дело языком? Что то мне подсказывает что да, поэтому следующий вопрос: как тогда обмениваться данными? Можно ли сделать общее пространство в памяти, например?
Аноним 30/07/19 Втр 01:14:36 1444741410
>>1444735
Лол а на чем ещё интерфейсы делать? Шарп - только виндовс, на никсах только си и кресты, жаба - вырвиглазное говно для пидороа, электрон для червепидоров, ногтевой грязи, пустышек
Аноним 30/07/19 Втр 01:30:22 1444744411
>>1444741
Безэллектроновый html и js. Как например в firefox
Аноним 30/07/19 Втр 01:33:30 1444747412
>>1444741
>электрон для червепидоров, ногтевой грязи, пустышек
и котомальчиков
Аноним 30/07/19 Втр 01:39:58 1444750413
>>1444744
Клуб кожевенного ремесла два треда выше
Аноним 30/07/19 Втр 07:24:34 1444787414
>>1444735
Тут пол треда про qt, але. Бек на крестах, фронт на qml и обожи жаваскрипте в составе одного приложения.
Аноним 30/07/19 Втр 07:29:58 1444789415
>>1444735
А Шаред мемори тоже можно, но стоит ток если у тебя бек например в системе реального времени на выделенных ядрах.
Аноним 30/07/19 Втр 08:35:04 1444804416
Я немного отстал от жизни - в Visual Studio возможно писать как в борланде - нашлепать формочку, написать обработчик кнопки и чтобы работало более-менее от семерки до десятки?
Придется, правда, перенести проект с Си на кресты, но это вроде как лучше, чем делать гуи на одном winapi.
Господи, божественный <filesystem>
Аноним 30/07/19 Втр 08:45:13 1444806417
image.png (69Кб, 1090x503)
1090x503
>>1444735
Плюсы для разработки может и не самый удобный язык хотя с учётом qml я бы с этим поспорил, но для пользователя со слабыми устройствами будет заметна реальная разница. Вот тебе скрин с гитхаба, где чувак просто написал спасибо, за то что разработчики не на электроне писали.
Аноним 30/07/19 Втр 10:33:07 1444818418
>>1444806
Неужели qt настолько хорош? У меня пустое окно Может одна кнопка была . Не помню весило 30 мегабайт (оперативки)
Аноним 30/07/19 Втр 12:39:37 1444850419
>>1444818
В дебаге тестировал? Я на телефон пишу приложение расписания для вуза с разными финтифлюшками и анимациями, память отьедает только когда отрисовываю таблицу в 50к пикселей шириной и то там оптимизаций много. А так за где-то час использования метров 5 если телефон правильно ее измеряет. Да и как выше ответили, на никсах у тебя собственно и выбора то нет.
Аноним 30/07/19 Втр 13:00:00 1444860420
>>1444741
> жаба - вырвиглазное говно
Не согласен.
> для пидоров
А вот здесь ты прав.
Аноним 30/07/19 Втр 13:02:07 1444861421
>>1444818
Нет, QT - говно говна для неосиляторов и вкатывальщиков.
Аноним 30/07/19 Втр 13:06:48 1444862422
>>1444861
>этот ангулярный червепидор
Котомальчик, ты?
Аноним 30/07/19 Втр 13:17:14 1444865423
>>1444862
Я тру крестобоярин и мне не нужен обосранный QT в котором я плачу абсолютно за все.
Аноним 30/07/19 Втр 13:32:18 1444874424
>>1444865
Что вместо qt посоветуешь?
Аноним 30/07/19 Втр 14:14:10 1444887425
Аноним 30/07/19 Втр 14:19:15 1444890426
>>1444887
И как мне на чистом c++ сделать кнопку?
Аноним 30/07/19 Втр 14:22:04 1444894427
>>1444865
>ваш С++ не С++, только этот С++ это С++
Аноним 30/07/19 Втр 14:28:47 1444897428
Аноним 30/07/19 Втр 14:45:51 1444908429
>>1444890
Точно также, как это делает QT, только без вагонов говна в придачу.

>>1444894
auto (auto) auto -> auto
auto
return(auto)
auto
Аноним 30/07/19 Втр 14:59:35 1444922430
>>1444908
>auto (auto) auto -> auto
>auto
>return(auto)
>auto

Охуенно же почти как язык богов ЯваСкрипт
Аноним 30/07/19 Втр 15:10:31 1444932431
.jpg (16Кб, 480x360)
480x360
>>1444861
> QT - говно говна для неосиляторов и вкатывальщиков
Аноним 30/07/19 Втр 15:15:25 1444936432
image.png (395Кб, 600x450)
600x450
Аноним 30/07/19 Втр 15:45:38 1444948433
>>1444936
Чего он налысо то не побреется?
Аноним 30/07/19 Втр 15:48:47 1444951434
>>1444948
Он бреется, но не часто, так как некогда.
Аноним 30/07/19 Втр 17:43:35 1445021435
>>1444951
>так как некогда
Проиграл.
Аноним 30/07/19 Втр 19:54:22 1445102436
>>1444704
>>1444714
>>1444718

Ого сколько ответов,даже не ожидал.
Почитав еще, скачал VS и стал делать через Windows Forms. Как-то все там очень странно...
Думал, что сейчас в имеющемся коде перепишу названия переменных (скажем, ввод был в переменную R1 - теперь же TextBox1), а начало подсчета выведу через какой-нибудь if с условием в виде нажатия кнопки. Ага, щас.

Код кидать не буду, постараюсь сам сделать. Или нафиг брошу, циферки в консоли и в окне программа пишет абсолютно одинаковые.
Аноним 30/07/19 Втр 20:50:37 1445137437
>>1437014 (OP)
Хелп анон.
uint8_t* buffer;
uint16_t type;

buffer = new uint8_t[4];

buffer[0] = 55;
buffer[1] = 88;
buffer[2] = 100;
buffer[3] = 100;

type = buffer[0];
нужно в type из buffer загнать два первых значения. Что-бы в битовом представлении они стояли друг за другом. Как это в с++ сделать?
Аноним 30/07/19 Втр 21:02:45 1445151438
Аноним 30/07/19 Втр 21:05:56 1445156439
>>1445151
error: cannot take the address of an rvalue of type 'uint16_t ' (aka 'unsigned short ') type = &(uint16_t *)buffer;
Аноним 30/07/19 Втр 21:15:58 1445165440
>>1445156
И в самом деле, пардон
type= (uint16_t )buffer;
Аноним 30/07/19 Втр 21:16:45 1445166441
>>1445165
Ебал абу и эту парашу всю
type=х(uint16_t х)buffer;
х на * сам поменяешь
Аноним 30/07/19 Втр 21:20:04 1445173442
>>1445166
На этой доске работает тег code, чё вы им не пользуетесь?
[code]
auto * myPtr = getPtr();
[/code]
Аноним 30/07/19 Втр 21:21:24 1445175443
15629829761440.webm (1404Кб, 512x384, 00:00:08)
512x384
Аноним 30/07/19 Втр 21:22:49 1445177444
Аноним 30/07/19 Втр 23:46:02 1445251445
>>1444908
>только без вагонов говна в придачу
Как нарисовать кнопку без qt?
Я другой, и я умею через winapi, но это довольно неудобно, некроссплатформено и даже цвет по нормальному не поменять. И ещё я могу написать вручную, но это ещё подумать нужно, что неубоднее, winapi или ручная отрисовка через тот же winapi.
Аноним 30/07/19 Втр 23:49:32 1445252446
31/07/19 Срд 14:32:58 1445438447
>>1444806
> Вот тебе скрин с гитхаба, где чувак просто написал спасибо, за то что разработчики не на электроне писали.
За что разработчики назвали его инвалидом.
Аноним 31/07/19 Срд 15:05:01 1445459448
>>1445438
Это где? Вангую это потому-что он это в issues написал
Аноним 31/07/19 Срд 17:50:16 1445509449
>>1445459
да не обозвали, а тегнули ищью как invalid. а тамбсдаун и конфюзд реакции от двух залетных жаваскрипт-детей, которые в телегу даже не коммитили
Аноним 31/07/19 Срд 18:42:38 1445518450
Привет, крестобояре. Ньюфаг итт, так получилось, что накинули интересную задачку на плюсах, с которым я не знаком до этого только писал на них калькулятор и читал книжку. Хочется уточнить:
хули всё так через жопу??
ты качаешь либу, которая ссылается на файлы из другой либы, которую ты качаешь с оф. сайта, которая ссылается на свои собственные хэдеры, которых в ней НЕТ
это что блять за ебанутая система?? мне по кусочкам в интернете собирать это говно? серьезно?
я имею ввиду, это так и работает или я долбоёб?
Аноним 31/07/19 Срд 18:43:42 1445519451
Аноним 31/07/19 Срд 18:58:17 1445528452
>>1445518
> интересную задачку на плюсах
И где задача?
Аноним 31/07/19 Срд 19:05:36 1445532453
>>1445528
организовать прием нескольких параметров с веб-интерфейса через веб-сокет. в данный момент, по сути, запилить просто маленький недосервер, с дальнейшей передачей они там сами пока не в курсе, лол
Аноним 31/07/19 Срд 19:11:00 1445536454
>>1445518
Двачну вопрос. Вот я захотел написать проект. Для этого мне нужна либа1 и либа2. Как мне по-быстрому их интегрировать в свое окружение?
Аноним 31/07/19 Срд 19:11:18 1445537455
>>1445532
Ну возьми лучше го какой-нибудь. Там всё для этого есть в языке.
Аноним 31/07/19 Срд 19:17:50 1445542456
>>1445537
К сожалению, стэк технологий (тм) определен не мной.
Алсо, вопрос то был в другом: такая ебля с либами и путями - это нормально (eclipse, если это важно)?
Аноним 31/07/19 Срд 19:21:26 1445544457
Аноним 31/07/19 Срд 19:22:52 1445545458
>>1445544
А подробнее? Я из шарпа качусь, там две кнопки нажал и все в проект само установилось и настроилось. Тут также?
Аноним 31/07/19 Срд 19:28:19 1445548459
Аноним 31/07/19 Срд 19:32:16 1445550460
>>1445548
Погуглил. Мне это отдельно надо устанавливать или оно уже в студии где-то есть?
Аноним 31/07/19 Срд 19:40:59 1445552461
>>1445548
Чему детей учишь, пидор?
CONAN - единственный нормальный пакетный менеджер.
Аноним 31/07/19 Срд 19:44:56 1445553462
>>1445552
иди вместе с конаном в петушиный угол, или в кровавый интерпрайз. Лучше вцпкг для домашних проектиков нет вообще ничего.
Аноним 31/07/19 Срд 19:48:52 1445554463
>>1445552
>>1445553
Так что лучше-то? Может есть аля плагин для студии? Чтобы я две кнопки жал и все устанавливалось в проект?
Аноним 31/07/19 Срд 19:50:39 1445555464
>>1445554
ты 1 раз ставишь вцпкг, 1 раз его интегрируешь (почитай ридми на гитхабе блять), и после этого все, что ты устанавливаешь в вцпкг доступно всюду и везде
Аноним 31/07/19 Срд 19:55:06 1445557465
>>1445555
Ясно.
>>1445554
Лучше скачай либу что тебе нужна и ручками добавь include и link directories.
Аноним 31/07/19 Срд 20:10:56 1445565466
>>1445557
Так это долго и нудно. Качать, по папочкам раскидывать и все такое. Иногда вообще не удается подключить либу, ибо ее прекомпилить надо отдельно.

>>1445555
Вроде решение от майков, поэтому должно работать. Благодарю за помощь, буду разбираться.
Аноним 31/07/19 Срд 20:13:33 1445567467
>>1445532
Я б по быстрому поднял QWebSocketServer, но вам виднее.
Аноним 31/07/19 Срд 20:36:16 1445580468
>>1445565
Долго и нудно? У тебя две либы. Не вижу сложностей распаковать два архива и вставить четыре строчки в проект.
Аноним 31/07/19 Срд 20:55:41 1445597469
1467106998124.mp4 (1599Кб, 360x360, 00:00:56)
360x360
Помогите плиз с шаблоном Model-View в Qt. В первый раз в жизни буду использовать этот шаблон, поэтому не совсем все понятно.
Я пытаюсь запилить клон фотошопа. У меня есть основной класс QMainWindow и дополнительный класс LayersWidget, который я собираюсь запихнуть в правый тулбар. LayersWidget отвечает за слои, в правом тулбаре должен отображаться список этих слоев с миниатюрами и названиями слоев (как в фотошопе).
В шаблоне Model-View есть модель, представление и делегат. Я собираюсь использовать табличное представление информации, в одном столбце миниатюра, во втором название.
Ну так вот, что из всего этого будет Model, что - View, и что - делегат?
Пока думаю так: Model внутри LayersWidget, View в QMainWindow, а вот насчет делегата пока не совсем понимаю, что это и как это должно выглядеть.
А не является ли все это оверкиллом в данной ситуации?
Аноним 31/07/19 Срд 21:05:57 1445603470
>>1445597
Мухи отдельно, каклетки отдельно.
Аноним 31/07/19 Срд 21:15:26 1445607471
Аноним 31/07/19 Срд 21:17:09 1445611472
>>1445603
А насчет оверкилла что скажешь? Не кормлю ли я мух пиццей флорентиной?
Аноним 01/08/19 Чтв 01:04:25 1445761473
Есть один h-файл c кучей функций и два cpp-файла к нему, из который активно трогаю только один (который меньше второго в 10 раз). Когда меняю что-то в h-файле, он перекомпилирует всё около 40 секунд. Если я второй крупный cpp-файл превращу в lib - оно будет быстрее перекомпилироваться при изменении h-файла или время занимает разбор непосредственно h-файла и остаётся только терпеть?
Разделение на три h-файла (там классы взаимодействуют, изменяемую часть нужно вставлять где-то в середине) не помогло, или я как-то не правильно их разделил. Причём, там вроде бы нет ни шаблонов, ни какого-либо сложного наследования, суммарно кода на 3к строк, не более, я не понимаю почему оно так урывается. И это даже без -O2.
Аноним 01/08/19 Чтв 11:09:04 1445851474

Вопрос как посчитать в buffer битовые серии из 0 и 1.
То-есть подсчитать количество непрерывных серий из 0 и непрерывных серий из 1.
И запомнить расположение этих серий.
Кто-то знает ответ?

[code]
unsigned char* buffer;
buffer = new unsigned char[10000];
//Заполняем buffer всякой лабудой. buffer заполнен.
//???? тут надо посчитать серии.
delete[] buffer;
[/code]
Аноним 01/08/19 Чтв 11:24:19 1445865475
>>1445851
Ты че, цикл не можешь написать?
Аноним 01/08/19 Чтв 11:33:04 1445869476
>>1445851
Пишешь функцию доступа к произвольному биту, потом ищешь последовательности 011 и 100, ну и края отлельно.
Аноним 01/08/19 Чтв 11:34:41 1445870477
>>1445869
>функцию доступа к произвольному биту
Раздупли плз.
Аноним 01/08/19 Чтв 11:56:58 1445874478
Аноним 01/08/19 Чтв 12:06:58 1445877479
>>1445761
А какой компилятор?
Аноним 01/08/19 Чтв 12:25:34 1445882480
>>1445869
Эта функция доступа называется operator[]
Аноним 01/08/19 Чтв 12:35:03 1445884481
>>1445882
Так это доступ к байту же вроде
Аноним 01/08/19 Чтв 12:49:59 1445886482
Аноним 01/08/19 Чтв 12:51:22 1445887483
>>1445870
Не епта
int getBit(int n)
{
return buffer[n/8] >> (n%8);
}
Аноним 01/08/19 Чтв 12:52:41 1445888484
>>1445887
Вернее
return (buffer[n/8] >> (n%8)) & 1;
Аноним 01/08/19 Чтв 13:58:44 1445930485
>>1445580
нахера, когда можно сделать vcpkg install?
Аноним 01/08/19 Чтв 14:44:54 1445964486
Аноним 01/08/19 Чтв 15:54:49 1446014487
>>1445964
Тогда странно. Обычно MSVC тормознее. Может у тебя зависимости там какие-то. Лучше в любом случае хидер по отдельным файлам разнести, и оставить там самый минимум. Например, можешь имплементации в отдельные файлы вынести, и инклудить их в cpp.
Аноним 01/08/19 Чтв 16:05:36 1446021488
>>1445761
>Причём, там вроде бы нет ни шаблонов, ни какого-либо сложного наследования, суммарно кода на 3к строк, не более, я не понимаю почему оно так урывается.
Причем тут это, если как я понял от него зависит первый большой сурс файл, который так долго каждый раз и перекомпилируется?
Аноним 01/08/19 Чтв 18:50:11 1446104489
Аноним 01/08/19 Чтв 19:56:10 1446137490
>>1446104
Двач сожрал звездочку, успокойся.
Тут все дебилы по определению.
Это ж двач, помойка интернета.
Аноним 02/08/19 Птн 03:47:35 1446343491
>>1446021
>от него зависит первый большой сурс файл
Не знаю. Изменения в любом cpp-файле то за 1 секунду перекомпилируются.
Грубо говоря, есть три класса, методы первого и третьего в крупном cpp-файле, методы второго в я редактирую в мелком cpp-файле, и изменения в h-файле касаются второго класса (но в третьем классе есть ссылки и указатели на второй - наверное компилятор просто вот это всё учитывает, и в lib файл это всё-равно не получилось бы загнать - это я глупость спрашивал, наверное).

Я что-то разбивал, объединял и сильно лучше стало в какой-то момент, всего секунд 5-8, хотя h файл такой же, просто с изменённым порядком некоторых частей. Так и не понял что это было.
Аноним 03/08/19 Суб 06:10:06 1447187492
изображение.png (28Кб, 774x833)
774x833
Сап, крестач.
Есть одна тян один код
https://onlinegdb.com/Bk2vuuz7H

Нужно вынести в отдельную функцию (функция принимает std::array) то, что в main() закомментировано.
Компилятор по ссылке все норм делает, а Студия 17 не хочет жрат такой код.
В main() оно работает и в студии, а в отдельной функции уже нет.

error C2971: 'std::array': template parameter '_Size': 'size': a variable with non-static storage duration cannot be used as a non-type argument
Аноним 03/08/19 Суб 10:02:35 1447220493
>>1446343
>Изменения в любом cpp-файле то за 1 секунду перекомпилируются.
Ну-ну
Аноним 03/08/19 Суб 11:07:29 1447260494
>>1447187
У компилятора по ссылке там наверное оптимизации (например заменяет data.size() на SIZE). Можешь сам явно такую замену сделать, или объяви BUFF как статическую константу, также как и BUFF.
03/08/19 Суб 11:10:41 1447262495
>>1447260
> объяви BUFF как статическую константу, также как и BUFF.
имелось ввиду "объяви BUF_SIZE как статическую константу, также как и SIZE."
Аноним 03/08/19 Суб 11:50:14 1447274496
>>1447187
Ты не понимаешь что такое std::array. Замени на векторы и не еби мозг.
Аноним 03/08/19 Суб 13:56:54 1447331497
>>1447274
>Ты не понимаешь что такое std::array
Это да, но все же.
Какой из компиляторов себя правильно ведет?

>Замени на векторы
У меня не продакшен. Курю книжку по алгоритмам.
Так-то и всей книжкой можно жопу подтереть в пользу STL.
Аноним 03/08/19 Суб 14:47:18 1447385498
>>1447331
> Какой из компиляторов себя правильно ведет?
Они оба правильно, просто один достаточно умный а второй ни очень. Попробуй может с начтройками оптимизации в студии поиграться, для тестов.
Аноним 03/08/19 Суб 14:48:43 1447387499
>>1447385
Наверное стоит 17 стандарт врубить, там вроде constexpr в stl завезли
Аноним 03/08/19 Суб 14:51:44 1447392500
Зачем в объявлении указателя на функцию так дохуя скобочек?
Аноним 03/08/19 Суб 16:36:11 1447446501
>>1447331
Студия верно все делает.
Статический массив выделяется на стеке и размер должен быть известен до компиляции. Тем более тут размер - это аргумент шаблона, они тоже вычисляются на этапе компиляции. А когда это не constexpr функция, есть вероятность, что ты в нее можешь передать что-то, неизвестное на этапе компиляции - вот тебе и ошибка, чтобы ты потом не выстрелил себе в ногу, когда будешь размер массива вводить через консоль.

Ты можешь использовать vector вместо array, суть изучения алгоритма из книжки не изменится.
А можешь закурить operator new или умные указатели, тогда тоже получится.
Аноним 03/08/19 Суб 17:06:37 1447456502
>>1447446
> что ты в нее можешь передать что-то, неизвестное на этапе
В ту функцию можно передать только массив конкретного, известного при компиляции размера.
Аноним 03/08/19 Суб 17:53:59 1447480503
Аноним 03/08/19 Суб 18:22:46 1447497504
>>1447480
Ни на что, эта функция отлично работает на х64 и видит 64хбитные процессы
Аноним 03/08/19 Суб 20:20:04 1447566505
>>1437014 (OP)
Продублирую также сюда.
Здравствуй, погромач.
О себе, в ВУЗике кодил на крестах,есть вышка тех.вуза,26 лет, 2 года работы в тех.поддержке.
Понял, что очень сильно хочу писать программы для бизнеса, а точнее для бирж. Боты, программы и т.д.
Недавно занялся трейдингом(2 месяца), и даже достаточно успешно. ДС, сижу на шее у мамки, ввиду трейдинга зарабатываю где-то 100 баксом в неделю,что хватает на жизнь и двачевание. Сейчас я сижу и читаю про всякие генетические алгоритмы и прочую сложную финансовую еботу и понимаю, что это моё. Итак,есть два стула- оба стула ведут туда,куда я хочу( в разработку ПО либо на node.js либо на крестах)
На одном кресты точеные, на другом фронтенды дроченые.
Первые два курса я учился, и учился неплохо и даже обучаем, раз смог закончить, но всё таки я положил хуй из-за преподов и лени на кресты.как я понял, что на ноде,что на крестах ебашат софтину для финансового сектора. Поэтому я буду учить что-то,либо кресты,либо ноду,так как время и силы и желание есть- нет только понимания.Оба языка на мой взгляд учить около 2-ух месяцев жесткого вжоба по 15 часов.
Я пришёл за советами мудрыми, двач.
Зашел я такой на ХХ и увидел,что там не особо много вакансий для junior.
1)Куда легче вкатится на позицию junior ,учитывая то, что С++ не дает много позиций, а фронтенд переизбыточен?Т.е. во фронтенд хотят все,слишком много ебучих джунов,никому они не нужны.
2)Что в итоге,учить дольше на джуна?
3) Что в итоге чаще используется в реальном продукте для финансового рынка- С++ или JS с его диалектами?
Если кто-то работает в где-то -может кто-то рассказать, на чём вы пишите и что конкретно делаете.
4) На С++ работы много, но там требуется от года, т.е. не джун, а миддл. Есть ли возможность скипануть как-то год, посидев где-то в опенсорсе и пописав просто за еду/опыт?
5) есть ли компании,которые берут вот совсем за еду, но чтобы блять у меня была ебучая запись в трудовой, о том, что я не олень. Как их найти?


Аноним 03/08/19 Суб 20:20:23 1447569506
1560818272210.jpg (52Кб, 600x450)
600x450
По QML вопросы можно задавать здесь или лучше в жсдыре?
Неужели нет нормального автоформаттера для QML? Я должен код руками форматировать что ли? пиздос. а qmlfmt из аура не собирается потому что кто-то обосрался с cmakeом или у меня слишком новая версия мне что руками его конпелировать блядь.
Аноним 03/08/19 Суб 20:49:11 1447583507
Аноним 03/08/19 Суб 20:49:57 1447584508
>>1447566
Hft это либо кресты, либо раст. Но нодомакакой устроиться в разы проще да
Аноним 03/08/19 Суб 21:58:02 1447653509
>>1447456
По замыслу - да. По тому, как она написана - нет.
Аноним 03/08/19 Суб 21:58:52 1447654510
Как устроен класс string? Он работает по типу "Заносим входные данные в temp массив, копируем в динамический" или как-то по другому?
Аноним 03/08/19 Суб 22:14:59 1447664511
Как приостановить выполнение другого процесса?
Аноним 03/08/19 Суб 22:39:41 1447679512
>>1447654
>Как устроен класс string? Он работает по типу "Заносим входные данные в temp массив, копируем в динамический" или как-то по другому?
Короткие строки пишутся прямо в экземпляр класса, поверх данных, для длинных - аллокация.
Аноним 04/08/19 Вск 01:40:07 1447751513
>>1447654
читаем то, что дают, аллоцируем новый массив, если старого недостаточно - копируем туда

но на самом деле все сильно сложнее
Аноним 04/08/19 Вск 14:05:39 1447894514
Вот есть некая функция https://ideone.com/IkQoKe я могу вместо char написать char&, что по сути изменится в программе? Работает идентично.
Аноним 04/08/19 Вск 15:54:20 1447957515
>>1447894
Тут ничего, ты возвращаешь ссылку на чар, что уже как минимум затратно для малых типов. Далее, если ты результат функции сохранишь для дальнейшего использования, а твоя строка будет уничтожена, у тебя будет ссылка на хуй пойми что. Если бы вернул просто чар, то он бы сохранился и делай что угодно.
Аноним 04/08/19 Вск 20:24:20 1448070516
Пытаюсь написать класс для создания/чтения BMP файла. Пишет без ошибок. Размер уже созданного файла совпадает с тем что задумано. Но при попытке открыть файл просмоторщиком постоянно выдает.
>premature end of file encountered
Что делать, кто что подскажет?
Аноним 04/08/19 Вск 20:32:55 1448076517
>>1448070
Может в конце EOF выводить?
Аноним 04/08/19 Вск 21:05:30 1448100518
>>1448076
В ручную? Вроде же так не делается.
Да, и что делать тогда с размером файла?
Аноним 04/08/19 Вск 21:20:48 1448113519
>>1448100
Я ошибся. Может быть фактический размер не совпадает с ожидаемым.
Аноним 04/08/19 Вск 21:21:58 1448114520
>>1448113
Так, в том то и дело что совпадает.
Аноним 04/08/19 Вск 21:57:50 1448137521
>>1448070
Скорее всего неправильно заполняешь хедер.
Аноним 04/08/19 Вск 22:24:46 1448160522
Я понял. Почему с msdn исчезла страница с описанием функции ReadProcessMemory?
Аноним 04/08/19 Вск 22:25:04 1448161523
Аноним 04/08/19 Вск 23:59:21 1448218524
>>1448070
Кидай код.
Может, хэдэр неверно записываешь или мусорные пиксели не так воспринимаются.
Пикча с шириной % 4 == 0 открывается?
Аноним 05/08/19 Пнд 09:33:31 1448314525
Анон виз трабл хиар.
Есть класс Executor с перегруженным operator(). Есть функция execute, которая возвращает объект Executor'a.
Хочу, чтоб запустить экзекутор можно было только так:
> execute(&InterfacePtr)("sup dvach");
Без возможности сохранить его как-то где-то, а позже запустить типа:
> Executor exe = execute(&InterfacePtr);
> ...
> exe("sup dvach");

Объявил все конструкторы копирования, перемещения, operator= всех видов deleted и ещё попробовал унаследовать boost::noncopyable - проект продолжает нормально компилироваться и работать со строкой
Executor exe = execute(&InterfacePtr);
Как побороть это?
Аноним 05/08/19 Пнд 09:46:48 1448317526
>>1448314
deleted не для этого.
В private секцию перенеси все. Во всяком случае, Саттер и Александреску именно так и советуют.
Аноним 05/08/19 Пнд 10:23:23 1448324527
>>1448160
Либо простое распиздяйство, либо часть процесса по выпиливанию того, что не совместимо с новыми виндоусами.
Аноним 05/08/19 Пнд 10:25:05 1448325528
>>1448324
Она же работала на десятке
Аноним 05/08/19 Пнд 10:52:57 1448332529
>>1448325
Значит проебали просто.
Напиши на msdn в каментах, например, к описанию WriteProcessMemory.
Аноним 05/08/19 Пнд 12:52:00 1448363530
Поцоны ребята, куда можно закинуть код чтобы его хорошенько полили говном но при этом дали грамотных советов как надо было сделать нормально?
Аноним 05/08/19 Пнд 12:54:35 1448364531
>>1448363
Сюда нет
никому твой код не нужен, лучше книжки почитай да на другой код посмотри
Аноним 05/08/19 Пнд 13:25:08 1448379532
>>1448363
На любой форум. Мог бы на двач залить, сказав бы "гляньте какой я крутой код написал". Тебе бы сразу 100500 недостатков нашли бы
Аноним 05/08/19 Пнд 14:34:35 1448403533
Сколько бит может занимать переменная в памяти? Планирую искать значение переменной в памяти и подумал о том, что переменная может занимать 2 байта, а я ищу ее с помощью переменной размером в 4 байта. Получается я никогда не найду ее. Но это еще ладно. Вдруг разрабы заморочились и сделали переменную в 12 бит. Такое может быть? Я планирую использовать bitset и обрезать до первого значащего бита слева. Сработает?
Аноним 05/08/19 Пнд 15:12:59 1448432534
изображение.png (17Кб, 546x619)
546x619
>>1448363
Да хоть сюда. Вот пример.

Смотрите, какой я хуевый код написал. Перепишу на кресты - вообще от убогости охуеете.
Аноним 05/08/19 Пнд 18:24:42 1448527535
>>1448403
ну, можешь сначала по байтам шагать
for (char ∗ptr = begin; ptr < end; ++ptr)
if (∗(uint8_t ∗)ptr == val
|| ∗(uint16_t ∗)ptr == val
|| ∗(uint32_t ∗)ptr == val
|| ∗(uint64_t ∗)ptr == val) нашлась;
потом каждые 4 бита дрочи uint4_t, uint8_t, uint12_t, и т.д. (реализация побитовыми сдвигами, естественно)
ну и.. ты понел. Пока ты думаешь, комп уже давно бы все варианты отработал
Аноним 05/08/19 Пнд 21:54:07 1448607536
>>1448527
Вот о чем еще подумал: мне надо будет отследить значение переменной. Вот это самое сложное наверное. Мне ее размер знать нужно. Допустим я смогу как в cheat engine отследить последнюю операцию, изменяющую эту переменную. Можно ли отсюда узнать размер этой переменной? Посмотреть сколько бит, например, move копирует в ячейку памяти и узнать размер переменной. Может ли быть такое, что переменная занимает 16 бит, а для ее изменения программа перезаписывает не все 16, а , допустим, нужные 9.
Аноним 06/08/19 Втр 21:10:03 1449127537
>>1448527
>>1448607
>>1448403
Остановитесь, наркоманы.

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

гуглируй поиск подстроки в строке
Аноним 06/08/19 Втр 22:58:01 1449152538
>>1449127
Адекват в треде. Я спокоен. Спасибо большое.
Аноним 06/08/19 Втр 22:58:51 1449154539
>>1449152
Можно еще вопрос? Как правильно выбрать алгоритм для поиска? Он же не один
Аноним 06/08/19 Втр 23:06:18 1449157540
Аноним 07/08/19 Срд 00:58:41 1449190541
>>1449127
А если массив плотно запакованных 12-битных значений? А если big endian? Не все так просто...
Аноним 07/08/19 Срд 04:05:21 1449214542
>>1449190
Так-то да. Хотя здоровый человек не будет экономить 4 бита на значение (с минусом к скорости доступа), если только их не миллиарды. Тут могу проебаться, но endian должен совпадать, т.к. обе программы в одной среде выполняются.
Короче, случаи разные бывают, затачивайся хоть под 13-битный float, если надо.
Аноним 07/08/19 Срд 18:17:06 1449458543
В книге сказано, что вот это вот, указатель на массив из 7 элементов
int (ЗВrf)[7]= &arr; где arr = массив из 7 элементов
Собственно, если это указатель на массив, то почему звrf выдает какие то рандомные числа? И вообще, чем эта запись отличается от int *rf=arr; Которая выдает нормальные числа.
Аноним 07/08/19 Срд 22:58:02 1449581544
Как правильно обрабатывать ошибки и коды возврата в конструкторе/деструкторе? Без ЭКСЕПШЕНОВ.
Аноним 07/08/19 Срд 23:01:02 1449582545
>>1449458
Потому что если arr в выражениях то же самое, что &arr[0], это еще не значит, что arr != &arr. У тебя нет отдельного указателя на этот массив, чтоб сделать указатель на указатель. У тебя есть только сам массив, и его адрес, с которым связано его имя, для конпелятора такая же относительная константа, как и адрес любой другой переменной.
Аноним 07/08/19 Срд 23:05:06 1449583546
>>1449458
короче, смотри
int arr[10];
int ∗ptr = arr;
ptr - адрес первого элемента arr,
&ptr - адрес переменной, которая содержит адрес первого элемента arr.
Ты можешь передать указатель на указатель какой-то функции, чтоб она его поменяла, но не можешь передать &arr таким образом, чтоб после вызова arr ссылалось на другой массив, логично ведь. Потому что выделением памяти под arr и определением адреса относительно текущего фрейма в стеке заведует конпелятор.
Аноним 07/08/19 Срд 23:07:48 1449585547
>>1449458
Конпелятор не выделяет для хранения этого адреса отдельную переменную, он сам этот адрес каждый раз подставляет (lea ..., [rbp + смещение_массива_по_текущем_фрейме])
Аноним 07/08/19 Срд 23:08:52 1449586548
бля, как же я хуёво объясняю((
Аноним 07/08/19 Срд 23:57:15 1449594549
>>1449458
Знаешь, в физике есть такой метод "анализ размерностей". Это когда если слева от = метры, то и справа должны быть метры, а не килограммы, иначе это не выражение, а хуйня.

Давай подумоем, какой тип имеют rf и &arr. rf, как ты сам написал, это указатель на массив или int ()[7] да такой тип ебанутый, который typeid печатает как PA7_i. arr - просто A7_i, и &arr соответствено PA7_i, так что тут всё ок.

Ошибка в том, как ты обращаешься к элементам rf. Если делать rf, это то же что
(rf + i). Т.к. rf имеет тип указатель на массив, то и rf + i тоже, а (rf + i) - просто массив, т.е. int. Потому и выводит всякий бред.

Хули делать, спросите вы? Обращаться к массиву, а не указателю на него.
int a = (rf); // == ((*rf) + i)
вывод типов в этом выражении оставим как упражнение читателю
На случай, если двачь распидорасит звёздочки: https://ideone.com/peLAuE

У меня уже давно такое чувство, что половина вопросов в треде от каких-то скриптодетей, неспособных осознать само понятие типа данных. Зачем, лучше на двачах спросить, где звездочку поставить.
Аноним 08/08/19 Чтв 00:01:00 1449598550
>>1449594
так и есть, распидорасило
test, блять

`int ()[7]`
`
(rf + i)`
`int`
`int a = (
rf); // == ((rf) + i)`

>((rf) + i)
((rf) + i)
[code]((rf) + i)[/code]
Аноним 08/08/19 Чтв 00:03:08 1449601551
>>1449598
ебаный рот этой разметки
((rf) + i)
Аноним 08/08/19 Чтв 05:49:14 1449634552
Вот есть int a;
&a - адрес a; А где хранится этот адрес? И где в таком случае хранится адрес адреса?
Аноним 08/08/19 Чтв 06:44:43 1449644553
>>1449634
Вот именно, что адрес адреса нигде не хранится, поэтому при взятии адреса массива ты получаешь тот же адрес первого элемента. Для фокусов адресами адресов надо делать отдельный указатель, и с ним уже играться хоть в попу.
Аноним 08/08/19 Чтв 08:01:44 1449651554
>>1449594
>У меня уже давно такое чувство, половина вопросов в треде от каких-то скриптодетей, неспособных осознать само понятие типа данных. Зачем, лучше на двачах спросить, где звездочку поставить
А у меня такое чувство, что книжки по C++ пишут те самые скриптодети.
Книги по С++, не буду их перечислять, но они считаются топовыми, объем 1000-1300 страниц. И, блядь, нигде толком не описана такая базовая вещь, как синтаксис объявлений. Везде дается только интуитивное представление о самых простейших случаях.
Аноним 08/08/19 Чтв 12:35:13 1449750555
>>1437014 (OP)
Ну почему? Почему вы cout называете каут, а не сиаут? Clang у вас это клэнг, а не силэнг. Постоянно с этого охуеваю.
Аноним 08/08/19 Чтв 12:50:57 1449761556
Аноним 08/08/19 Чтв 13:06:25 1449769557
Аноним 08/08/19 Чтв 19:22:39 1449964558
>>1449769
Очевидно, что имеется ввиду не звон, а c-languages.

Покормил жир.
Аноним 08/08/19 Чтв 19:35:48 1449976559
>>1449964
а теперь посмотри какое-нибудь выступление Чендлера Каррута, и послушай как он произносит, гений.
Аноним 08/08/19 Чтв 21:40:51 1450110560
>>1449750
Сиаут, кланг. Силэнг это Си.
Аноним 08/08/19 Чтв 21:43:10 1450112561
Там новые видосы с С++ user group залили.
Алсо, всем джавистам и растоводам, которые тихонько сидят итт, посвящается: https://www.youtube.com/watch?v=LZflL44SVVY

С++ лучший язык программирования. Ноудискасс.
Аноним 08/08/19 Чтв 21:49:52 1450116562
>>1449976
А создатель gif произносит его как джиф, хотя и расшифровка сокращения и грамматически оно произноситься как гиф. Вот только нормальным людям похуй.
Аноним 08/08/19 Чтв 22:03:52 1450121563
123.png (16Кб, 800x448)
800x448
Помогите, пожалуйста, с пикрилом.
Почему, если я ввожу в консоль 3.51, то в переменную типа float записывается значение 3.50999999?
Зачем вообще такое поведение нужно?
Буду благодарен, если подскажете термин для гугления этой особенности.
Аноним 08/08/19 Чтв 22:14:17 1450124564
>>1450121
Может ты еще думаешь, что 0.1 + 0.2 = 0.3 ?
Аноним 08/08/19 Чтв 22:18:39 1450127565
>>1450124
Всё, нагуглил, спасибо.
Аноним 08/08/19 Чтв 23:00:08 1450164566
Есть класс с шаблонным конструктором
template <typename U>
TreeNode(U&& value) : m_value(std::forward<U>(value)) {}

Как определить отдельный copy(move) конструктор для него? Обычным способом то он продолжает пытается инстанцировать шаблон.
Алсо где перекат?
Аноним 08/08/19 Чтв 23:18:52 1450171567
Аноним 09/08/19 Птн 01:18:46 1450190568
>>1450164
move
o
v
e
Ссу в рот forward-блядкам
Аноним 09/08/19 Птн 01:58:07 1450197569
>>1450190
Ты ахуел? Перфект ворвардинг сейчас принято везде пихать.
Аноним 09/08/19 Птн 02:15:47 1450198570
Какая разница между:
return {}
return T{}
return ()
return T()

???
Аноним 09/08/19 Птн 02:22:19 1450199571
>>1450197
Куда ты блядь собрался perfect forwarding пихать? Ты один хуй копируешь, зачем тогда эти ебанутые конструкции?
Аноним 09/08/19 Птн 04:24:56 1450206572
Раз уж тут речь про forward зашла, пересылку std::forward<T>(value) нужно принимать, как T value или T&& value?
Аноним 09/08/19 Птн 06:51:40 1450214573
Аноним 09/08/19 Птн 06:52:42 1450215574
>>1449750
>Почему вы cout называете каут, а не сиаут?
Ни разу не слышал "каут".
Аноним 09/08/19 Птн 19:25:45 1450598575
>>1437014 (OP)
Привет. Существуют ли анализаторы кода, но не те, который выдают потенциально опасные места, типа не юзай здесь tie, поставь const бла-бла-ла, а который занимается тем, что следит за количеством пробелов и расставлением {, например и так, чтобы он подстроился под мой стиль? То есть почти любая idea ставит за тебя скобочки, которые могут неприятно подъебать, visual studio пробелы ставит после того, как ты напишешь ;, а вот готовый код отредактировать? Мб это есть в vs и я никогда на это не натыкался?
Аноним 09/08/19 Птн 19:39:23 1450601576
Аноним 09/08/19 Птн 20:37:36 1450627577
>>1450598
В студии есть кнопка format document
Аноним 09/08/19 Птн 21:26:07 1450658578
>>1449581
Бамп вопросу. Актуально же не? Надо логгер какой-то пилить насколько я понял? Но как это правильно синхронизировать?
Аноним 09/08/19 Птн 21:41:46 1450662579
>>1449581
>>1450658
Отрезать себе руки нахуй, чтобы никогда не могли больше такую хуету писать.
Аноним 09/08/19 Птн 21:57:43 1450667580
>>1450662
Ты чего нервный такой? Если не знаешь ответа на вопрос, то просто ничего не пиши и пройди мимо.
Аноним 09/08/19 Птн 23:24:47 1450690581
>>1450667
Ну тогда объясни, на кой ляд тебе сдалось обрабатывать ошибки в конструкторе? Либо не проверяй свои проверки до создания, либо после.
Аноним 10/08/19 Суб 00:31:11 1450719582
>>1450690
Ты угораешь? Конструктор для чего нужен? Чтобы объект создать. Как мне обработать "ошибку" при его создании? Возвращать null? А если я хочу знать, в чем конкретно проблема и получить какой-то статус?
Аноним 10/08/19 Суб 00:36:13 1450722583
>>1450719
Что такое зашито в твой конструктор, что он может отработать с ошибкой?
По-хорошему, он должен только инициализировать поля класса, остальная логика - в методах.
Аноним 10/08/19 Суб 00:52:48 1450726584
>>1450722
Потому что я не хочу использовать эксепшены. Логика в конструкторе связана с инициализацией объекта. Не писать же отдельно метод Initialize? Можно конечно, но я не хочу.
Аноним 10/08/19 Суб 01:48:11 1450741585
>>1450726
Причем тут исключения, я не о том.
Хочешь говнокод - пиши конструктор, который делает всё. Нахуй только тебе класс в этом случае, уж не знаю. Пиши как на си, круто же. Посмотри у winapi, охуенно ошибки обрабатывает.
Конструктор должен отработать быстро и, желательно, без ошибок, потому что зачем тебе выделенная память, раз твой объект невалидный?
А если тебе нужен контейнер этих объектов - ты будешь ждать три года, пока конструктор каждого объекта отработает, а потом ещё и проходить по нему в поисках ошибок, исправлять их? Интересный ты.
Аноним 10/08/19 Суб 02:03:48 1450742586
>>1450741
Я и пишу обертку над винапи. Вот я создаю в конструкторе объект через WinApiJopaInit, ОС вдруг ебанулась и выдает мне статус об ошибке. И что мне делать в таком случае?
Аноним 10/08/19 Суб 10:01:25 1450786587
>>1450742
>ОС вдруг ебнулась
Я понимаю, что был смысл об этом беспокоиться раньше, но не знаю, есть ли резон в 2019 об этом думать. А ещё не знаю, зачем писать обёртку для винапи, ну да мсье просто знает толк.

>И что мне делать в таком случае?
Что-что. Реинициализировать объект.
Только поэтому лучше иметь метод init, а не делать это все в конструкторе. Этот же метод и вернёт тебе код ошибки, в котором ты проверишь успешность завершения.
Подумай сам: если ты инициалируешь только поля твоего класса и последующий init падает/возвращает не ноль, то ты корректируешь его аргументы и вызываешь заново init.
А если твой охуенно хитрый конструктор падает, то тебе нужно все равно иметь такой же метод init с кодом, копирующим код конструктора для повторой инициализации. Либо ты вызываешь деструктор только что созданного объекта и создаёшь его заново, что тоже такое себе.
Аноним 10/08/19 Суб 11:15:29 1450798588

>>1450742
Делать фабричный метод.
Аноним 10/08/19 Суб 12:19:11 1450832589
qsort( &a,(bool ()(void , void *))(ind ? numcmp : strcmp));
Ругается на знак вопроса. Почему? numcmp и strcmp принимают ссылку int или ссылку на строку соотвественно
Аноним 10/08/19 Суб 12:26:52 1450837590
>>1450832
>numcmp и strcmp принимают ссылку int или ссылку на строку соотвественно
this.
В операторе ? аргументы должны быть одинакового или неявно приводимого типа.
Аноним 10/08/19 Суб 12:43:30 1450846591
>>1450837
А как тогда сделать? Надо чтобы в случае сравнения чисел функция принимала ф-цию сравнивающую числа, а в случае строк, сравнивающую строки.
Аноним 10/08/19 Суб 13:13:37 1450856592
Аноним 10/08/19 Суб 17:51:46 1450959593
Что есть cin? Не могу понять. Эту херню можно даже в функцию передать.
Аноним 10/08/19 Суб 17:58:05 1450963594
>>1450959
Обычная структура с перегруженным оператором >>.
Можно сделать свою и тоже передавать в любую функцию.
Аноним 10/08/19 Суб 19:16:19 1451030595
Можно написать
[code]
int* d=new int[6];
B
[/code]
Аноним 10/08/19 Суб 19:18:24 1451031596
>>1451030
Снова отправилось само собой.
Можно написать то же самое для класса с конструктором без аргументов.
А если конструктор имеет какой-то аргумент, то как это записывается?
Аноним 10/08/19 Суб 21:07:01 1451061597
Аноним 11/08/19 Вск 01:28:59 1451143598
image.png (21Кб, 586x685)
586x685
qtCreator подсвечивает отключённый через директивы код. Причём, если я явно в этом же файле не пропишу нужный мне дефайн, он не станет его подсвечивать, чтобы бы я там не указывал в остальных файлах (то есть если я ставлю директиво в cpp-файле и сразу за ней же инклюдю h-файл, оно всё-равно воспринимает его как отключённый). Есть способ отключить эту фичу, чтобы он подсвечивал этот код так же, как и остальной?
Если просматривать код можно просто перекопировав код в условный notepad++, то вот редактировать код с директивами в креатере категорически неудобно.

>>1451061
Ну понятно, так я и сам могу.

Аноним 11/08/19 Вск 16:37:49 1451430599
1476446637500.jpg (219Кб, 1024x1024)
1024x1024
Аноны погромизды, как качать скилл в плюсах когда выучил только основные знания плюсов в универчике, что писать, что читать, где можно брать задания с подсказками ?
Аноним 11/08/19 Вск 16:46:10 1451440600
>>1451430
Всё от Скотта Майерса
Аноним 11/08/19 Вск 18:08:33 1451496601
Не могу понять, зачем в классе после списка параметров писать const, в книге как то непонятно обьяснено.
Аноним 11/08/19 Вск 18:13:46 1451499602
>>1451496
Хотя разобрался, без const нельзя будет воспользоваться функцией, если экземпляр класса константный. хотя зачем может понадобиться константный экземпляр класса
Аноним 11/08/19 Вск 18:29:46 1451514603
>>1451499
> хотя зачем может понадобиться константный экземпляр класса
профнепригоден
Аноним 11/08/19 Вск 18:37:47 1451517604
>>1451496
Это означает что функция не может изменять переменные класса.
Аноним 11/08/19 Вск 19:00:08 1451539605
Аноним 11/08/19 Вск 21:46:30 1451632606
>>1451430
Попробуй написать что-то реальное, особенно если есть современная мобилка. Для алгоритмов бери классику и ебашь.
Аноним 11/08/19 Вск 23:39:01 1451675607
>>1451632
Ну так я бы и хотел написать что то реальное, но что ? Мне бы какое нибудь шаблонное, но интересное задание с подсказками как надо, и при чем здесь современная мобилка?
Аноним 12/08/19 Пнд 00:53:40 1451715608
Аноним 12/08/19 Пнд 00:57:11 1451719609
>>1451430
С. Прата - Язык С++. Лекции и упражнения.
Аноним 12/08/19 Пнд 01:47:52 1451743610
>>1451675
Смотря что хочешь научиться делать. Можешь телеграмм бота какого-то полезного замутить я бота-хранилище написал, если какую-то конкретную технологию, скажем, QML, то сделай приложение с использованием какого-нибудь АПИ простой клиент ВК скажем, можно написать калькулятор для графов с гуем где ввод пальцами идёт, я ебу, сам придумай что-то под свои нужды.
Аноним 12/08/19 Пнд 01:49:42 1451744611
>>1451743
Ай бля проебался, у тебя только начальные знания. Ну тогда выбери какую-то область сети скажем и изучи хотя-бы базовую теорию по теме, паралельно выполняя примеры из учебников/инета. Потом уже если почувствуешь силы начинай что-то более-менее серьезное писать
Аноним 12/08/19 Пнд 02:15:45 1451751612
Сейчас меня нахуй пошлют, но так или иначе.
В ойти порядка 2.5 лет. Писал на джаве\дотнете\сейчас пишу на ГОвне. Заебал ебучий энтерпрайз, хочу в геймдев\3d вкатитца. Знаний математики\алгебры у меня нет.
После всего того, на чем писал, плюсы кажутся чем-то божественным. еще бы пекейдж- менеджер по- умолчанию, а не ублюдочные инклюды - и просто пушка. Сколько времени уйдет изучить тот же opengl/dx12/vulkan и иже с ними математика, геометрия? ?
И, собсна, главный вопрос - где учиться то, что читать ? Какой проект будет неплох, как пет- проджект ?
Аноним 12/08/19 Пнд 03:10:47 1451756613
>>1451751
>После всего того, на чем писал, плюсы кажутся чем-то божественным.
После Явы и .Net переходить на кресте? Ну такое себе... Ахуеешь от того, сколько ысего придется хуярить вручную.

>Знаний математики\алгебры у меня нет.
>Сколько времени уйдет изучить тот же opengl/dx12/vulkan и иже с ними математика, геометрия? ?
Минимум 6 мес. на основы. Ядро геймдева - чистый матан. Линейная алгебра, матрицы, аналитическая геометрия, элементы комплЕксного анализа и кватернионов - это самый минимум, который тебе нужно будет знать. И это если не задаваться вопросом, кто будет писать графику/музыку/анимацию (иначе получится игра про квадрат на квадрате сидит и по квадрату стреляет).

>И, собсна, главный вопрос - где учиться то, что читать ? Какой проект будет неплох, как пет- проджект ?
Начни с учебников по типу "Высшая математика для экономистов". Затем попробуй пощупать, например, SFML. После - SDL. А там уже и до OpenGL и DirectX недалеко.
Аноним 12/08/19 Пнд 05:44:42 1451763614
>>1451756
СДЛ нахрен не нужен, он ничем от СФМЛ не отличается, кроме си-стайл апи.
Алсо забудь про работу на плюсах, в энтерпрайзе только легаси говно и ёбля трупа Qt, геймдева в рашке нет, а тот что есть, весёлые фермы, не сильно отличается от энтерпрайза. Ещё и платят как веб-макакам, а ёбли больше в разы. Сбежишь обратно на джаву через полгода.

Хотя игровые движки велосипедить это весело, я вот все выходные провозился с ecs на темплейтах. Завтра на работе на ts хуярить я ненавижу свою жизнь
Аноним 12/08/19 Пнд 10:34:12 1451794615
>>1451756
>Ядро геймдева - чистый матан. Линейная алгебра, матрицы, аналитическая геометрия, элементы комплЕксного анализа и кватернионов - это самый минимум,
Я бы еще заметил, что без численных методов в кампухтере оно не взлетит никак.
Аноним 12/08/19 Пнд 14:30:22 1451939616
Помогите понять сакральный смысл строчек:
[code]
for (int i=0;i<4;i++)
{
a.x = figures[n] % 2;
a.y = figures[n] / 2;
}
[/code]
https://github.com/laszlothebrave/Tetris/blob/master/main.cpp

Почему в первом случае используется %, а во втором - / ?
Аноним 12/08/19 Пнд 14:58:31 1451944617
>>1451939
Известный трюк с хранением координат в одном числе.
Если есть матрица с шириной W, то позиция с координатами х и у: p= y*W + x.
Обратно соответственно x = p % W, y = p / W.
Аноним 12/08/19 Пнд 14:59:45 1451946618
>>1451939
>почему в первом случае используется %, а во втором - / ?
Потому что случаи разные, не?
В одной цифре автор кода "зашифровал" два значения. Зачем? - хз.

>сакральный смысл строчек
Он сокрыт в массиве figures. Да и никакой он не сакральный. Это называется "соглашение". Прост автор в данном случае заключил соглашение сам с собой, поэтому другим нихуя не понятно.
Аноним 12/08/19 Пнд 15:31:47 1451956619
>>1451944
>Известный трюк с хранением координат в одном числе.
Где про него можно почитать?
Аноним 12/08/19 Пнд 15:42:35 1451966620
>>1451956
Ты только что про него все прочитал. Можешь нарисовать на листочке прямоугольник 3х5, пронумеровать клеточки с 0 и ждать озарения.
Аноним 12/08/19 Пнд 19:52:07 1452097621
>>1451719
Хватит этого муслима советовать. Он же ньюфаг вообще.
Аноним 12/08/19 Пнд 20:51:40 1452125622
1565632279162.jpg (55Кб, 481x500)
481x500
Антонидасы, хочу поверх [открытой] картинки рисовать точки, но при этом чтобы их можно было передвигать мышкой. Поверх - означает, что точка не будет рисоваться непосредственно на картинке, но точка будет видна на картинке. Типа такого элемента интерфейса. Как это лучше всего реализовать?
Пока думаю заебенить QPainter поверх картинки такого же размера и на него рисовать, только не совсем уверен насчет этого.
Может кто нибудь подскажет, как это сделать? Или хотя бы урок Qt-шный на эту тему?
вы хули не перекатываетесь?
Аноним 12/08/19 Пнд 20:56:21 1452127623
image.png (808Кб, 600x800)
600x800
Программач, очень нужна помощь: на Qt, а точнее на QML, сварганить 4-6 средне-красивых форм(квадраты с текстом в пейнте имеются), забитых рыбой, суть проблемы - нужен стимоподобный стиль, с конфигом цвета элементов. Я не дизайнер от слова совсем, поэтому весь этот цсс вызывает у меня боль, а qml боль в кубе, да и с qt я тоже особо не общался, эти формы лишь небольшая часть общей дичи.
Если кто может и не похуй/лень - отпишитесь, куда-нить закатимся - почта, дискорд, впашка.
Аноним 13/08/19 Втр 09:05:33 1452223624
>>1450786
>А ещё не знаю, зачем писать обёртку для винапи, ну да мсье просто знает толк.
Потому что я хочу писать на С++, а не на Си. Подсистемы у майкрософт настолько специфичны, что работать без врапперов с ними та еще боль.
Аноним 13/08/19 Втр 09:12:18 1452227625
>>1452223
Так в том и вопрос: нахуй написали MFC и ATL?
Времени разобраться в этом ты потратишь мб столько же, сколько будешь писать свою библиотеку, но лучше не напишешь все равно.
Смысл вопроса был в этом, а не "зачем не используешь напрямую winapi". Тащемта это пиздец и я вас так понимаю.

Бтв к тому вопросу: Саттер/Александреску, "Стандарты программирования на C++", рекомендация 72.
Аноним 13/08/19 Втр 09:26:28 1452229626
>>1452227
Так мне не формочки клепать. Хочу сделать обертку над новым апи, который только появился и прочими специфичными вещами, которых нет в стандартной библиотеке и бусте. Прочитал современные кодестайлы от всяких гуглов, в которых говорят, что эксепшены зло. Ведь можно реализовать какой-нибудь простенький логер ошибок, вместо того, чтобы кидать эксепшены.
Аноним 13/08/19 Втр 10:22:53 1452238627
>>1452229
Тогда пардон, зря агрюсь.
Хотя насчёт ошибок/исключений - все равно думаю, что если речь идёт об обычном коде, то мб есть резон в кодах ошибок - ходят же байки, что try/catch дорогие блоки. Хотя натыкался на инфу, что try сам по себе не несёт нагрузки, а catch только при срабатывании чего-то стоит.
А конкретно в конструкторах/деструкторах все же лучше постараться сделать гарантированное отсутствие ошибок, т.к. если один из них отработал - то отработал успешно с точки зрения логики, а иначе получается, что объект сконструирован и не сконструирован одновременно.
Да и в случае динамического полиморфизма лучше сделать виртуальный метод init и переопределять его, а не дописывать логику конструктора от наследника к наследнику. Все равно потом окажется, что в случае какого-то наследника не нужна будет часть логики.
Мне вообще недавно потребовался временный объект для хранения промежуточной инфы, в то время как мой конструктор коннектился к бд - пришлось переносить в отдельный метод.

Но если очень хочется - я бы сделал в родительском классе статик контейнер, в который пихал бы в случае ошибки в конструкторе указатель на ошибочный объект и код ошибки, чтобы проверять после создания все неправильные и исправлять их.
Быдлокод, но у меня других идей нет, как в этой ситуации быть.
Аноним 13/08/19 Втр 15:05:57 1452391628
>>1452227
>Так в том и вопрос: нахуй написали MFC и ATL?
Когда их написали - они были вполне релевантны
Аноним 13/08/19 Втр 17:13:00 1452537629
Говно ли fltk?
Хочу написать какое-нибудь приложение с графическим интерфейсом и выбираю тулкит
Аноним 13/08/19 Втр 18:00:28 1452590630
Почему после помещения точки с запятой после функции код продолжает компилироваться, но иде начинает предупреждать об empty declaration?
Аноним 13/08/19 Втр 18:47:48 1452624631
>>1452590
>empty declaration
Потому что после них не нужна точка+запятая и он считает все от конца функции до нее пустой строчкой? Просто предположение, я только вкатываюсь.
Аноним 13/08/19 Втр 19:32:49 1452644632
#ifndef UNTITLED3_SCREEN_H
#define UNTITLED3_SCREEN_H

#endif //UNTITLED3_SCREEN_H

Что это такое? Создается само при создании нового заголовка.
Аноним 13/08/19 Втр 19:47:04 1452656633
std::set<int>
Надо найти min из отсутствующих элементов больше 0
т.е. {1, 2, 3} -> 4 {1, 3, 4} -> 2 {3, 4} ->1 и т. д. с минимально возможной сложностью

Аноним 13/08/19 Втр 19:56:39 1452663634
Аноним 13/08/19 Втр 21:21:53 1452716635
>>1452656
лайфхак: итераторы обходят элементы множества по возрастанию

int F(set<int> const& s) {
   int y = 0;
   for (int x : s) {
       if (x != ++y) { return y; }
   }
   return y + 1;
}
Аноним 13/08/19 Втр 21:56:04 1452743636
>>1452644
Чтоб исключить множественный инклюд используется эта штука. Есть еще вариант в одну строку #pragma once - что, ящитаю, гораздо лучше и удобнее.
Аноним 14/08/19 Срд 01:11:30 1452842637
>>1452125
> Антонидасы, хочу поверх [открытой] картинки рисовать точки, но при этом чтобы их можно было передвигать мышкой. Поверх - означает, что точка не будет рисоваться непосредственно на картинке, но точка будет видна на картинке. Типа такого элемента интерфейса. Как это лучше всего реализовать?

Смотря для чего тебе эта хуйня нужна.
Для самого быстро получения результата я бы взял sfml.
Там есть примитивы для разных фигур, в том числе и для окружностей.
Поэтому нужно было бы только заморочиться с кодом связанный с передвижением фигур.
Аноним 14/08/19 Срд 01:20:53 1452845638
y2mate.com - a5[...].mp4 (274Кб, 480x360, 00:00:06)
480x360
>>1452716
>линейная сложность
Аноним 14/08/19 Срд 01:35:22 1452854639
15587764783452.jpg (38Кб, 463x309)
463x309
>>1452845
А хуй знает, можно ли тут меньше.
надо подумотб..
Аноним 14/08/19 Срд 03:38:08 1452872640
>>1452743
ещё есть модули, но пока только в шланге
Аноним 14/08/19 Срд 03:53:50 1452875641
>>1452854
Ну вот задачка. Генератор ид. Должен выдавать минимальный из возможных доступных, при этом они могут освобождаться. Сложность всех операций не больше логарифмической.
Аноним 14/08/19 Срд 04:03:50 1452877642
>>1452875
>Генератор ид
>Должен выдавать минимальный из возможных доступных
Почему бы просто не хранить использующиеся номера в векторе, а свободные номера (с индексами меньше максимального) в другом векторе/списке или дереве? Добавление нового id за константное время, просто взять первое число из второго контейнера, освобождение за логарифмическое (нужно вставить во второй массив в нужное место). К тому же std::set не слишком шустрый.
Аноним 14/08/19 Срд 12:10:58 1453030643
Скачал проект с гитхаба, никаких .sln нет, только cmake.txt. И как мне это в студию запихать? Как вообще люди без студии пишут код? В нотепаде? Пиздец.
Аноним 14/08/19 Срд 12:16:31 1453034644
>>1453030
Наглядный пример студиядегроида.
Цмейк - не поверишь, цмейком и открывается, который выдает файлы для разных прог, включая студии.
Пишу в акельпаде, под мингв и линухи, мне збс без всяких умных подстановок скобок и завершения функций, которые только мешают.
Аноним 14/08/19 Срд 12:23:40 1453047645
>>1453034
Да линуксоиды совсем офигели со своими терминалами. Как мне проект то загрузить если здесь один .txt файл? Там в блокноте ни одной ссылки нет, откуда он докачивать файлы будет?
Аноним 14/08/19 Срд 12:26:21 1453050646
>>1453047
Совсем дебил? Еще раз: скачай cmake, запусти, ткни его ебалом в этот файл, конфиг, сгенерить, выбираешь свою студию, получаешь все готовое.
Аноним 14/08/19 Срд 12:29:59 1453056647
>>1453030
Тащемто студия умеет работать с cmake, проверь, мб у тебя не установлен модуль
Аноним 14/08/19 Срд 12:35:19 1453063648
>>1452875
> Должен выдавать минимальный из возможных доступных, при этом они могут освобождаться
При освобождении сохраняешь этот айдишник.
Когда нужно генерировать новый, то возвращаешь его, при условии что он > 0, иначе генерируешь новый.
Аноним 14/08/19 Срд 12:41:41 1453070649
>>1453034
>Пишу в акельпаде, под мингв и линухи
Очередной пердоледаун, который не умеет в инструменты разработки.
Аноним 14/08/19 Срд 12:43:13 1453073650
>>1453050
>>1453056
Так, открыл в студии, вроде работает. Как мне теперь сгенерить .sln проект из этого всего?
Аноним 14/08/19 Срд 12:43:50 1453075651
>>1453070
Переубеди меня, дегенерат.
Аноним 14/08/19 Срд 12:45:31 1453078652
>>1453075
я не буду тебя ни в чем переубеждать, по твоему тулингу видно, что ты либо студент, либо дебил, либо и то и то.
Аноним 14/08/19 Срд 12:46:54 1453080653
>>1453078
Отличные аргументы, уже бегу вставлять студию.
Аноним 14/08/19 Срд 12:48:55 1453082654
>>1453073
Перейде в дерикторию проекта и введи cmake -G "Visual Studio 10"
Дальше открывай проект
Аноним 14/08/19 Срд 12:49:34 1453083655
>>1453073
Ну же аноны, помогайте. Хватит ругаться.
Аноним 14/08/19 Срд 12:51:17 1453084656
>>1452656
>>1452875
Если бы не std::set а своё дерево поиска, можно было бы решить иначе. В каждом узле дерева пускай мы будем хранить количество элементов в левом поддереве. Скажем, сейчас нода 4, мы левый потомок ноды 6. Значит, в нашем левом поддереве должно быть 3 элемента: 1 2 3. Если да, то спускаемся вправо, иначе спускаемся влево.

Когда спускаемся вправо у нас изменяется граница поиска. Например, если спустились вправо от ноды 4, нам нужно искать пропуски не от 1, а от 5. Но если при спуске вправо вычесть из всех узлов 4, мы снова получим обычное дерево.

Сложность логарифмическая. Вставки/кручения деревьями усложняются, но не очень сильно. За вечерок можно написать/отладить.

Такое чувство, что должен быть алгоритм попроще. Например, хранить список пропущенных айди в векторе/списке/whatever.
Аноним 14/08/19 Срд 12:52:51 1453086657
Аноним 14/08/19 Срд 12:53:41 1453087658
>>1453086
Дай скриншот консоли
Аноним 14/08/19 Срд 12:57:04 1453093659
>>1453080
ну, ты же дебил. Рекомендую ВИМ еще, дебилы любят вим.
Аноним 14/08/19 Срд 12:57:45 1453095660
>>1453093
Спасибо, иди нахуй.
Аноним 14/08/19 Срд 13:03:55 1453100661
>>1453095
не, я пойду работать на свое рабочее место в топ контору с HQ в Америке, где все пишут в нормальной студии, а дебилы отсекаются за первые полчаса собеседования.
Аноним 14/08/19 Срд 13:05:16 1453102662
>>1453100
Ну хоть за 300кк в секунду?
Аноним 14/08/19 Срд 13:07:25 1453106663
>>1453102
чуть больше 300к в месяц
Аноним 14/08/19 Срд 13:08:34 1453108664
image.png (20Кб, 810x227)
810x227
Аноним 14/08/19 Срд 13:31:50 1453132665
>>1453108
А что за cmake проект?
Аноним 14/08/19 Срд 13:35:00 1453134666
>>1453108
Другой анон, но ЕМНИП нужно из Developer Command Prompt открывать (она есть в пуске, рядом в папке нужной студии)
Аноним 14/08/19 Срд 14:37:33 1453196667
>>1453132
>>1453134
Нужно было 19 студию скачать с новым сдк. И ведь нихуя в инсталл гайде не написали. Пришлось 30гб сырого говна поставить. Хоспади, за что такой пердолинг, когда уже запилят единый удобный фреймворк, чтоб все из коробки работало?
Аноним 14/08/19 Срд 14:51:39 1453206668
>>1453196
> Хоспади, за что такой пердолинг, когда уже запилят единый удобный фреймворк, чтоб все из коробки работало?
Предлагай https://stdcpp.ru/
Аноним 14/08/19 Срд 16:07:03 1453245669
>>1453206
>Знаю, что в C++20 наконец-то переехала замечательная фича из Си "designated initialization".
Наконец то, чёрт возьми. Даже не джва года жду.
14/08/19 Срд 18:00:53 1453334670
>язык-олицетворение красноглазый философии
>защо пердоленк мам...
Аноним 14/08/19 Срд 18:09:36 1453344671
>>1453334
>язык-олицетворение красноглазый философии
баш? перл? ЛИШП?
14/08/19 Срд 18:12:10 1453348672
>>1453344
>баш
>язык
Студентишка порвался
Аноним 14/08/19 Срд 19:23:31 1453383673
Посоны, у меня смежная система с другой конторой, в общем они по TCP посылают мне данные, я в QT работаю, в другом потоке в цикле while(true) принимаю данные вызывая readAll() : QByteArray, в общем получаю ByteArray[4096], как только пакет прилетает.

ByteArray такого вида, в общем по сути это CharArray они посылают 2 цифры и знак конца строки. Например 2.095645 1.345443 \n

То есть ByteArray[0] это 2, ByteArray[1] это точка, потом цифры, пробелы, знак перехода строки и все это повторяется, ну и все это обрывается, то есть в начале начинается с середины цифры и в конце обрывается на середине, а в следующем пакете продолжение.

Вопрос в общем, как из этого ByteArray забрать эти самые две цифры?
Аноним 14/08/19 Срд 19:26:16 1453386674
>>1453383
Не цифры забрать, а числа конечно же.
Пока то что я придумал это конвертировать ByteArray в string, удалить \n - знаки и забрать числа по splitу, но это как-то громоздко.
Аноним 14/08/19 Срд 19:55:39 1453394675
image.png (70Кб, 810x665)
810x665
>>1453383
В общем вот так это все выглядит, я просимулировал, только размер в 4096. Какой best practice, чтобы вытянуть числа отсюда?
Аноним 14/08/19 Срд 20:34:21 1453427676
>>1453394
Это те что \n разделены? Ты че с питона вкатываешься? Читаешь символ в строку , пока следующие 2 за ним не \n, потом конвертируешь в число
Аноним 14/08/19 Срд 21:36:02 1453462677
>>1453383
Не слушай их. std::stringstream - твой выбор.
Аноним 14/08/19 Срд 21:41:34 1453464678
>>1453462
А насчёт обрыва пакета - если не встретил '\n', то прерываешь считывание, приклеиваешь к потоку/пересоздаешь его и читаешь дальше.
Можно одним тредом считывать, пока есть данные, а вторым приклеивать новый пакет.
Аноним 15/08/19 Чтв 08:16:38 1453605679
Есть 2 h файла с классами. В одном классе, нужно объявить функцию другого как дружественную, как это сделать? Компилятор ругается на неизвестное имя.
Аноним 15/08/19 Чтв 08:22:04 1453607680
>>1453605
К слову если объявить дружественным целый класс, то все работает.
Аноним 15/08/19 Чтв 09:36:03 1453622681
Аноним 15/08/19 Чтв 12:27:52 1453705682
>>1453605
>функцию другого как дружественную
ты и должен указать, что это функция другого класса, а не прост функция:
friendly_class_name::friendly_func_name()

+ ты должен позаботиться, чтобы (частично) дружественный класс был виден в той области, где ты декларируешь дружбу.
Аноним 15/08/19 Чтв 12:30:58 1453707683
>>1453705
Так я и так
friend void window_mgr::clear(Screenlndex) ;
Аноним 15/08/19 Чтв 12:33:28 1453708684
Аноним 15/08/19 Чтв 13:00:20 1453730685
>>1453708
Долбоёб, зачем ООП ломаешь? Ебало бы тебе отрезал, если бы на CR мне такое прислал
Аноним 15/08/19 Чтв 13:10:23 1453740686
>>1453730
Что тебе не нравится? Код почти весь из липпмана.
Аноним 15/08/19 Чтв 13:20:06 1453752687
>>1453740
Что тебе мешает написать геттеры для своих полей? Эта хуета, что у тебя сейчас, нечитаема в принципе
Аноним 15/08/19 Чтв 13:21:45 1453753688
>>1453752
> геттеры
> полей
Я до такого еще не дошел.
Аноним 15/08/19 Чтв 13:26:29 1453758689
>>1453753
А вообще, ты бы лучше сказал в чем проблема, а не выебывался.
Аноним 15/08/19 Чтв 14:15:27 1453780690
Можно ли начать выполнение кода с определенной строчки в Visual Studio?
Аноним 15/08/19 Чтв 14:27:07 1453788691
Аноним 15/08/19 Чтв 14:42:59 1453803692
C++ Лекции и уп[...].png (276Кб, 3518x2875)
3518x2875
C++ Лекции и уп[...].png (228Кб, 3583x2998)
3583x2998
C++ Лекции и уп[...].png (132Кб, 3556x1494)
3556x1494
Аноним 15/08/19 Чтв 15:56:51 1453864693
>>1453803
Тут рассмотрен случай, когда метод используется в функции и его можно вынести вниз. А в моем классе метод используется при определении вектора.
Аноним 15/08/19 Чтв 18:05:57 1453986694
Зачем постоянно писать std::cin / std::cout и тд, если можно написать using namespace std; ?
Аноним 15/08/19 Чтв 18:06:50 1453989695
>>1453864
>А в моем классе метод используется при определении вектора.
А тебя этот факт не наводит на мысли, что ты изначально через жопу выстроил архитектуру своих классов\приложения, а теперь пытаешься всё это дело подпереть костылями?
Аноним 15/08/19 Чтв 18:07:25 1453992696
>>1453986
В таком случае всё может произойти конфликт имён. Напишешь какой-нибудь свой min\max и компилятор будет ругаться.
Аноним 15/08/19 Чтв 18:24:50 1453999697
>>1453986
>Зачем постоянно писать std::cin / std::cout
Потому что начитаются всяких вк-пабликов про программированию и в путь.

Вообще, философия языка С++ подразумевает, что не нужно подключать в свою программу те фишке, которыми ты не собираешься пользоваться. Второй момент, что если у тебя есть другое пространство имен с такими же функциями cin/cout, то можешь попасть на конфликт имен. Если в твоей программе используются только cin и cout, лучше использовать std::cin / std::cout или же using std::cout / using std::cin в заголовке файла, тем самым ты подключаешь только то, чем будешь пользоваться.

Если же ты тупо только познаешь азы программирования на C++, то ебашь ysing namespace std и не еби себе мозг.
Аноним 15/08/19 Чтв 18:33:26 1454011698
уже писал в другой тред, но там не ответили, надеюсь на вас.
Ссам я джаваскрипт макака на данный момент, но кое что дома клепаю на c++/OpenGl как систему сборки использую cmake что касается подключения библиотек или включения своих сорцов в проект трудностей не вызывает, ну почти, но вот никак не могу понять. По мимо исходников с++ у меня в проекте есть изображения, исходники шейдеров, вскоре будут еще 3д модели. Как с помощью cmake делать так, чтоб они:
1. отображались в структуре проекта
2. копировались при запуске приложения?

включаю их используя include_directories, сами каталоги отображаются/копируются, а вот их содержимое нет.
Аноним 15/08/19 Чтв 20:42:59 1454051699
>>1454011
Да если вдруг cmake не лучший выбор, то подскажите, что лучше использовать для сборки c++ проектов в 2к19.
да копирвоание файлов я реализовал через cmake -E copy_directory, но как их отображать в дереве проектов, я досихпор ненаю
Аноним 15/08/19 Чтв 21:26:12 1454095700
>>1454011
>отображались в структуре проекта
нахуя?

>копировались при запуске приложения
Какой-нибудь pre/post-build скрипт. Или как ты сделал, через смаке.
Аноним 15/08/19 Чтв 22:19:50 1454116701
>>1454011
> По мимо исходников с++ у меня в проекте есть изображения, исходники шейдеров, вскоре будут еще 3д модели. Как с помощью cmake делать так, чтоб они:
> 1. отображались в структуре проекта
> 2. копировались при запуске приложения?

Зачем? Пускай он просто лежат в папке assets рядом с исполняемым файлом и всё.
Аноним 16/08/19 Птн 00:31:58 1454198702
Котаны, котанчики.
Есть проблема, подробно изложенная в пасте
https://pastebin.com/RZKmSYnP
Если попытаться коротко. Имеется чисто виртуальный метод, который определяется в наследнике и методы с таким же именем, но разным набором аргументов, которые делегируют вызов виртуального метода.
Так вот, эти невиртуальные методы не видны в наследнике. Почему так? Где об этом почитать и как бороться?
Аноним 16/08/19 Птн 00:40:11 1454202703
>>1454198
Попробуй написать using A::Foo() в объявлении наследника
Аноним 16/08/19 Птн 02:40:31 1454231704
C++ Лекции и уп[...].png (85Кб, 3359x2272)
3359x2272
C++ Лекции и уп[...].png (259Кб, 3316x2243)
3316x2243
C++ Лекции и уп[...].png (103Кб, 739x583)
739x583
1562660760.jpg (52Кб, 556x745)
556x745
Аноним 16/08/19 Птн 02:49:18 1454237705
worldoftanks-wo[...].jpg (261Кб, 1024x683)
1024x683
>>1454198
Ну и в продолжении своего поста >>1454231

У тебя в классе А идет чисто виртуальная функция, которую ты тут же и реализуешь. Хочется спросить: дядя Петя, ты - дурак? На лицо же типичная проблема непонимания отношений наследования. И как следствие - косяки в самом построении/архитектуре твоей программы. Проще говоря - нечего лепить горбатого. Нужно делать по уму, как написано в умных книжках.
Аноним 16/08/19 Птн 03:06:44 1454240706
Screenshot20171[...].jpg (120Кб, 1120x1021)
1120x1021
CZF6ZsCVIAAjjzS.jpg (165Кб, 1200x866)
1200x866
>>1454198
Дополню к предыдущим двум своим сообщениям чтобы было понятнее

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

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


Аноним 16/08/19 Птн 07:26:19 1454272707
>>1454095
>>1454116
ну что касается изображений действительно не обязательно, но если я захочу добавлять какие-нибудь файлы конфига, теже шейдеры редактировать и т.д. было бы удобно смотреть в самом проекте
Аноним 17/08/19 Суб 01:21:10 1454781708
Как посмотреть историю изменений переменной?
Аноним 17/08/19 Суб 01:21:45 1454782709
Аноним 17/08/19 Суб 12:54:18 1454901710
Пишу решатель судоку. За какое время программа должна исполняться? У меня во время первого запуска может загружаться 0.8 секунд, а при последующих 0.17. Понимаю что в основном это время чтения/записи и его особо не исправишь, но мне хотелось бы знать к чему стремиться
Аноним 17/08/19 Суб 18:40:38 1455153711
>>1453708
Ты сделал объявление
>class Screen;
Но к моменту
>Screen(24,80,' ')
Компилятор не знает ещё ни об одном поле класса

Выход - #include "Screen.h" в начало фалйа и убрать class Screen; в этом файле.
Аноним 17/08/19 Суб 19:16:18 1455179712
Сап дойч.
Ебусь с темплейтами, компилятор отказывается компилить из-за синтаксической ошибки, не могу понять, это я мудак или компилятор.

https://pastebin.com/LvHf5Nes

Причём если вынести Child наверх из класса Parent, то всё волшебным образом начинает работать. Я где-то забыл темплейтные параметры передать? Почему он ругается на распаковку темплейтов?

Аноним 17/08/19 Суб 19:20:32 1455187713
>>1455179
child.template childDummyFunction<TFunctionParameters...>();

Пожалуйста
Аноним 17/08/19 Суб 19:27:30 1455199714
>>1455187
>child.template childDummyFunction<TFunctionParameters...>();
Что, как, почему это работает? 0_о

Спасибо огромное
Аноним 17/08/19 Суб 19:35:24 1455209715
Аноним 17/08/19 Суб 22:09:07 1455312716
Может ли в игре переменная менять свое расположение? Или узнав расположение переменной единожды я могу быть уверен что в последующие разы она будет там же?
Аноним 17/08/19 Суб 22:12:38 1455320717
>>1455312
И еще вопрос: если мне нужно найти подстроку в гигабайтовой строке с помощью карасика. Можно ли как то строку на куски поделить?
Аноним 17/08/19 Суб 22:59:55 1455360718
>>1455312
Зависит от игры. Может менять, а может и не менять.

>>1455320
string_view ?
Аноним 18/08/19 Вск 20:22:05 1455773719
>>1454901
> мне хотелось бы знать к чему стремиться
К успеху
Аноним 19/08/19 Пнд 07:38:59 1456009720
pepe tired.png (91Кб, 1024x823)
1024x823
Я хочу здоровенный, толстый, венистый задачник с ответами типа вот такого:
http://www.itmathrepetitor.ru/zadachi-po-programmirovaniyu/
но с ответами.
Везде вижу либо полторы задачки без системы на рандомную тематику но с ответами, либо вот как тут - куча задач на всю хуйню, но без ответов. Ответы - это же самое главное, одно дело высрать кучу говнокода и совсем другое узреть, как нужно то было.
Аноним 19/08/19 Пнд 07:39:43 1456010721
>>1456009
Чтобы ответы на С++ были написаны соответственно.
Аноним 19/08/19 Пнд 08:14:00 1456016722
unnamed[1].jpg (61Кб, 900x900)
900x900
https://purecodecpp.com/archives/433
Вот этот набор вроде ничего, но самая первая задача была понять, почему у меня не открываются выпадающие хуйнюшки "[+] Посмотреть код" по ссылкам. Мои хакерские навыки позволили мне понять, что на Фирефокс они не работают, если переходить по ссылке лефткликом и работают, если открывать ссылку в новой вкладке. Я бы объяснил как стать таким же охуенным хакером как я, но у вас энивей не получится нихуя, понимаешь? https://www.youtube.com/watch?v=yHtHSlnplYU
Аноним 19/08/19 Пнд 09:46:07 1456025723
Аноним 19/08/19 Пнд 11:39:23 1456067724
image.png (281Кб, 697x558)
697x558
Господа, поясните за сеть в крестах.
Есть две задачи:
1) Долбить одну апишку гет запросами - тут все вроде понятно, берешь libcurl и долбишь. Но есть ли что-то удобнее под linux / mac?

2) Добавить асинхронный веб сервер в свое приложение чтобы сделать из него сервис с json api. Вот тут уже сложнее - есть море велосипедов, половина из них либо не поддерживается либо пытается заимплементить Http с нуля - хуй знает что использовать. Есть ли тут опытные аноны? Пока присмотрелся к Pistache (но он по отзывам с реддита какой-то велосипедный) и к Boost.Beast (но боюсь что за ним придется тянуть весь буст, с которым я не работал).

Прошу советов мудрых
Аноним 19/08/19 Пнд 11:43:39 1456073725
>>1456067
1. Куда тебе проще курлыка? Там 3.5 строки на весь запрос хватит.
2. Бери любой подходящий велосипед, с нуля хттп - а хуле ты хотел? Или тебе надо либу для либы? Буст не нужен.
Аноним 19/08/19 Пнд 12:00:43 1456094726
>>1456073
> с нуля хттп - а хуле ты хотел?
Хотел как в дудке или пистоне - хттп в стдлибе, чтобы его поддерживали разработчики языка а не переизобретали васяны каждый раз.

>Или тебе надо либу для либы?
Возможно сущетсвует эталонная(тм) зарекомендовавшая себя (с) реализация хттп, которую можно использовать в своих велосипедах вместо тысячи васянских либ.
Аноним 19/08/19 Пнд 12:06:02 1456104727
>>1456094
Ну как клиент - курлык норм, держит гору протоколов и все такое.
А вот сервер уже не настолько часто нужен народу, поэтому единственного истинного я не встречал. Да и вообще протокол не сложный, дешевле сделать свой с нужными функциями, чем искать готовый с кучей говна.
Аноним 19/08/19 Пнд 12:53:22 1456154728
Аноним 20/08/19 Втр 05:55:13 1456753729
Наверно ньюфаги всех тут уже заебали, но всё же спрошу.
А если есть знания матана (по крайней мере понимаю о чём речь идёт), из-за специализации в вузике, но на плюсы в моей 600к деревне ищит только одна контора, то как качать скилл?

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

Есть идея влится в какой нибудь опен соурс, но вот не знаю какой.
Аноним 20/08/19 Втр 12:57:58 1456831730
>>1456753
читай книги, пиши код. Какие еще советы ты хочешь?
Аноним 20/08/19 Втр 13:08:35 1456836731
1395406652536.jpg (135Кб, 938x1414)
938x1414
>>1450190
Сука, когда же вы научитесь, блядь. move и forward это разные вещи и используются по разному. Первый кастит в rvalue вообще все - значения, правые-левые ссылки, даже небо, даже аллаха, а forward левые (обычные) ссылки скипает . Поэтому их используют в перфекте - при T пропихнуть дальше как T&&, а T& оставить как есть.
Аноним 20/08/19 Втр 20:58:37 1457091732
Аноним 30/08/19 Птн 00:07:52 1463558733
Насколько я знаю вывод в консоль довольно медленный. Можно ли как то продолжить выполнение программы не дожидаясь вывода в консоль и не используя потоков?
Скеч по ардуинке нужен хелп Аноним 02/09/19 Пнд 08:18:00 1465570734
подскажите как правильно заворачивать вместо delay в millis()
есть много веток которые должны работать либо паралельно либо последовательно, + есть данные с датчика которые должны выводится постоянно а delay дает задержку
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов