Этого треда уже нет.
Это копия, сохраненная 4 сентября 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1406866681293.jpg47 Кб, 960x640
2 1437016
Почему у меня метод resize() QLabel-а не работает?
Пишу:
imageLabel->setPixmap(QPixmap::fromImage(currentFile.toImage()));
imageLabel->resize(2 * imageLabel->pixmap()->size());
А ему поебать, все равно рисует картинку такого же размера.
stoi.jpg39 Кб, 380x592
3 1437029
>>37014 (OP)
Котятки, почему неробит?
image.png520 Кб, 1024x576
4 1437042
>>37029

>делает на ideone


>не дает ссылку


кастую тебя в войд
5 1437043
>>37029
Разименовывание указателя на массив нулевой длины это UB.
6 1437044
>>37029
Нормально работает, ты просто хуйню какую-то написал.
7 1437045
>>37042
https://ideone.com/XETpeW

>>37043

>Разименовывание указателя на массив нулево


Кокой мосив?
8 1437057
>>37044
Где не прав?
9 1437061
>>37057
Ну ты говоришь, что программа не работает. Но ведь она работает - запускается, что-то делает, завершает работу. Другое дело, что ты написал какую-то белиберду и ждёшь, что она будет работать так, как ты хочешь, а как ты хочешь - неизвестно, ведь ты не написал.
10 1437063
>>37057
что ты сделать то хочешь? раздели каут на два стейтмента, ты видимо думаешь что они не в том порядке вычисляются, как в реальности.
https://ideone.com/UF8yYI
11 1437068
>>37063
Спасибо за урок, анончик

>>37061
А ты иди на хуй
12 1437071
Как сделать, чтобы на картинку при сильном приближении накладывалась сетка границ пикселей, как в Photoshop?
13 1437075
>>37071
Код написать?
14 1437077
>>37071
отключать отключать антиалиасинг при рисовании, очевидно. делается командой antialiasVyklyuchit();
15 1437080
>>37077
setkaKakFotoshop();
16 1437082
>>37075
Алгоритм объяснить.
17 1437084
>>37082
Ну попробуй
18 1437085
>>37084
Что попробуй? Я прошу мне объяснить алгоритм, как это делается?
19 1437087
>>37082
всё просто же. вот с этим алгоритмом можно даже не отключать антиалиас, он специально для сетки:

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);
}
20 1437093
>>37087
Это в directx?
21 1437094
>>37087
Для directx не надо. Мне в с++ нужно
22 1437098
>>37094
а, в плюсах. ну тогда все просто - выключаешь как включал
23 1437100
>>37098
а хотя не, тебе же сетка "границ" пикселей нужна, я обчитался. тогда нужно нарисовать линию по вертикали между каждым пикселем в видимой области и линию по горизонтали и получится сетка.
24 1437111
>>37100
Спс.
25 1437112
Этот школьник тролль и сюда перекатился. Репортите его просто и все.
26 1437115
>>37063
Еба, я только сегодня читал у Александреску о том, что аргументы функции вычисляются как компилятору будет удобно, но сейчас смотрел на проблему анона и не думал, что для нескольких операторов вывода будет такая же шняга.
А как тогда получается, это выглядит?
Вроде
operator<<(std::cout, stoi(str, ptr)), operator<<(std::cout, ptr);
Так должно быть?
operator, не гарантирует последовательность вычисления, как я помню. Но почему тогда вывод местами не меняется, если сначала второй operator<< вычисляется в его случае?
27 1437118
>>37115
вот так <<(<<(<<(cout, stoi(str, pos)), "pos = "), *pos;);
28 1437133
>>37118
Охуеть, блядб.
Спасибо, анончик, буду теперь иметь в виду, что это так работает.
29 1437143
>>37115
C c++17 перегруженные операторы имеют порядок выполнения соответствующий встроенному
image.png213 Кб, 720x1280
30 1437238
Аноны помогите, я уже заебался с этим QML. Как реализовать выпадающее меню в несколько слоев как на пике короче, если данные я получаю динамически. Ну тоесть нажал на первую кнопку - отправляется запрос с данными - прогружается следующий уровень, и так 3 раза. Пытаюсь костыли делать с Menu, где делегат создает MenuItem, в котором находится следующее Menu, но ебучий QML закрывает предыдущее меню при нажатии на пункт, даже при closePolicy: Popup.NoAutoClose. Третий день уже ебусь с этим, подскажите молю Пилю для себя, не лаба
31 1437332
>>37029

Какой же ты дегенерат!.. Пиздуй обратно - черепашку в анусе Лого гонять!
32 1437345
>>37238
А тут не тривью лучше использовать? Данные из модели брать
432412.jpg31 Кб, 359x362
33 1437350
>>37115
Всё там нормально работает. Это я сам обосрался
Логика такая же как и a=b=c;

Идёт справа налево возвращая объект ostream пристыковывая его к левостоящему.
34 1437380
>>37238
Ты уверен что тебе меню надо?

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

Ну и моделями кормишь
35 1437443
>>37380
>>37345
Так в тривью же требуется класс плюсовой, который будет данные возвращать. Как заполнять модель из QML? Я так понимаю тут конструкторы с параметрами нельзя вызывать, а за получение данных у меня отдельный класс отвечает. Может кто-то минимальный пример или псевдокод написать? какой же этот QML после плюсов непривычный
36 1437460
Не лезь в QML блядь дибил сука ебаный, оно тебя сожрёт
37 1437479
Аноны, читаю книжку QNX/UNIX: анатомия параллелизма и тут на основе измерений 2006 год сделали такой вот вывод:

>Распараллеливание задачи


(если это возможно) на N ветвей (будь то использование потоков или
процессов) практически не изменяет итоговое время ее выполнения
Насколько я понял, это связано с тем, что много времени уходит на смену контекста выполнения и диспетчеризацию потоков.
Это сейчас актуально? Всегда думал что многопоточность = скорость, а тут такая вот хуйня.
38 1437484
Зацените реализацию тредпула
https://onlinegdb.com/BJP4wv3WH
С++17 required
40 1437520
>>37515
От души, анончик
с названий в голос
41 1437534
>>37520
Целую в пупочек, лапочка.

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

Ёбся с меню, было дело. Не православно.
42 1437537
>>37534
Не, размеры постоянные. Я вообще не понимаю, почему при таком пиаре и якобы развитии семимильными шагами в QML всё еще нет такой базовой хуйни как drop-down menu с нормально кастомизируемыми айтемами. Кстати заметил баг, что если использовать какую-то вьюшку в Combobox делегате то параметр closePolicy будет сбрасываться в значение 18 из 16 блять и по всей видимости активыми будут все сразу, из-за чего нельзя сделать меню с вьюшкой, при нажатии на айтемы которого вьюшка будет оставаться открытой. Если заменить на какой-нибудь Column то работает как надо. То ли я привык к виджетам, то ли QML еще реально сыроват
43 1437538
>>37484
чот локов дохуа
44 1437596
>>37443

>Я так понимаю тут конструкторы с параметрами нельзя вызывать, а за получение данных у меня отдельный класс отвечает


Там как минимум есть Instantiator и Component.onComplete.
Модели на лету я делал.
45 1437625
Ну и Component.createObject
46 1437636
>>37625
За динамикой следить необходимо. Сраный гц её не убивает
47 1437641
Ононасы, задавайте вопросы по Qt, синьёр-помидор растолкует.
48 1437642
>>37641
1) Почему люди ругаются на дополнительный проход компилятора и moc файлы? Разве это какое-то значение в рантайме имеет?
2) Почему сейчас более активно развивают QML а не виджеты?
Бочку делаешь?
49 1437662
>>37642
1. Поцчему там все ругаются я точно не скажу. Со своего опыта:
- Надо делать постоянные клины и тд;
- Генерячку достаточно легко поломать, в контексте Qml, например приватный геттер на публичной проперти\приватный сигнал и тд. У QmlEngine происходит былинный отказ;
- Прочие неудобности связанные с генерячкой;
- Неудобство написания наследников QObject в cpp файлах;
- Ну и самое главное, что QObject классы не могут быть темплейтными;
2.
- Виджеты устарели и достаточно сложно костамайзятся;
- Формошлёпам, особенно с веб бэком, легче вкатываться в юай;
- Для меня, конечно, сомнительный плюс, но есть какой-никакой гц;
- Виджеты сложно портировать под мобильные платформы но тут я не уверен

3 раза в день, в субботу не делаю, в воскресенье - 8
50 1437705
>>37662

>3 раза в день, в субботу не делаю, в воскресенье - 8


а хуи? сосешь?
51 1437713
>>37705
Очевидно!
52 1437729
>>37641
1) Где вообще нынче пишут на Qt кроме заводов ебаных с анальной проходной?
2) Про Felgo пару слов, пожалуйста.
3) Где взять дебаггер для QJSEngine?
4) Че там по эмбеду? Вообще возможно ли использовать Qt без динамической аллокации?
53 1437734
какой же уебищьный тред
в такой тред только покакать ходить
dibugger.jpg71 Кб, 1267x370
54 1437745
>>37729
1.
- Automotive
- Гейдевайсы, мыши, клавиатуры колошки там всякие и тд
- Разного рода плагины к фотожопам фл и тд
- Разных мастей юай, особенно если демоны\сеть есть и должна быть отдельная приложуха
- Медицина, забугорная
- проще по вакансиям поглядеть, это из моего опыта.
2. В душе неебу чо за хуйня.
3. Насколько я знаю у него нет дебуггера. QQmlEngine наследует JSEngine, а для него есть встроенный. Пик рилейтед. Отсюда есть два путя, либо использовать QQmlEngine для своих скриптов, что, тащемта, ок, либо, как вариант, присунуть встроенный qml дебуггер какими-нибудь бубнами для JSEngine. Тут я подробней не подскажу.
4. В эмбедедде Qt есть.

>Qt без динамической аллокации


Още сильно сумлеваюсь, процентов 80 дам, что нельзя.
55 1437751
>>37745

>проще по вакансиям поглядеть, это из моего опыта


А там одни ДС1 и ДС2, без удаленки, или сосать хуй дальше на заводе. Эх хех.

>3. Насколько я знаю у него нет дебуггера


Эх, поэтому мы сидим до сих пор на QtScript, ведь никто не хочет прикручивать отладчик ручками.

Thank you, sir!
56 1437762
>>37751
более подробно можно глянуть тут: https://doc.qt.io/qt-5/qtquick-debugging.html#qml-debugging-infrastructure

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

>ведь никто не хочет прикручивать отладчик ручками


Проще всего взять ваш пакован скриптов, засунуть в qml engine и радоваться жизни с дебуггером из коробки.
57 1437824
>>37534
Можешь еще подсказать? Я вот создал модель, вроде всё работает, но передать в аргументы конструктора данные я не могу, заполняю модель в компоненте Component.onCompleted, но судя по дебагу вьюшка дёргает методы rowCount и columnCount, а первый у меня возвращает количество айтемов в массиве данных, который на момент создания модели равен 0 и соответственно нихуя не происходит. Есть какие-то сигналы что данные изменились, или способы еще раз инициализировать обьект?
58 1437851
>>37824
Для начала покажи-ка код.

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

>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 энтри поменялась, ну ты понел.
59 1437858
>>37824

>заполняю модель в компоненте Component.onCompleted


Ты уверен в том, что это именно правильное место для сэта данных?
Каким образом ты получаешь данные, хардкодишь?
60 1437860
>>37858
>>37851
Спасибо еще раз, добавил сигнал layoutChanged() и судя по дебагу модель перестраиваеться правда пока ничего не отображает, так что я неуверен. В целом это то, что я хотел.
61 1437861
>>37860
Ну ты пиши, если чо волк.жпг
62 1437862
>>37861
Да я дальше как-то сам наверное, разве что что-то очень сложное будет. Не люблю людей задалбывать. В любом случае спасибо, надо было сюда 3 дня назад писать, сэкономил бы время
63 1437876
Есть ли смысл в extern в плюсах или это уже пережиток C, который не надо никогда использовать?
64 1438020
>>37745
Зачем ты на пике используешь Qt.binding и function(), когда можно написать просто color: твой_тернарный_оператор?
65 1438022
>>38020
А, я в глаза долблюсь кажется.
66 1438048
>>37876
А что вместо него используешь?
67 1438050

>2019


>использовать глобальные переменные

68 1438053
>>37876
по идее - ничего. Если очень хочется, то сделай функцию, типа:

zalupa& get_zlp() {
static zalupa z;
return z;
}
image.png967 Кб, 1600x900
69 1438080

>делоешь std::this_thread::sleep_for(std::chrono::milliseconds(reactivationDelay));


>не работает


>делоешь залупу подключаясь к MotionNotify ивенту чтобы по времени ивента понять когда нужно совершить действие


>не работает


>делоешь std::this_thread::sleep_for(std::chrono::milliseconds(reactivationDelay));


>работает

niklaus wirth.jpg44 Кб, 474x649
70 1438086
>>38050
Скорее

>1970

71 1438087
>>38022
Пояснять?
72 1438089
>>38053
Статика коварна, о юный подаван1!
73 1438096
>>38080

>делоешь колбек на евент нажатия


>не работает


>ставишь дебаг НАЖАТО для евента


>всё работает


Эффект наблюдателя, не иначе
74 1438098
как же я раньше жил без автоформаттера?
представьте, до сих пор есть люди, которые сами форматируют код и следят за количеством колонок.
75 1438099
>>38098
Каких колонок?
76 1438154
Ононасы, такой вопрос.
Есть некий QNAM, и в доке написано, что он хэндлит в параллели 6 реквестов. Как можно поменять количество тхредов?
77 1438162
>>38098
Что за колонки?
78 1438167
>>38162
Yamaha
79 1438190
В крестах есть какой-то "правильный" способ получить n-i+1 элемент алфавита? Или все так же ходим по таблице ASCII с 'Z'-i?
80 1438214
>>38190

>элемент алфавита


А в крестах вообще есть "алфавит"?
81 1438227
>>38190
Какого алфавита? Чешского, финского?
82 1438228
>>38227
>>38214
Английского и русского. Я хз, такие штуки в каком-нибудь locale могли бы быть.
goatse22 Кб, 1268x265
83 1438234
Как вам новый оператор spaceship? Уже используете в своих проектах?
84 1438253
>>38228
Это я к чему: с англиским просто, а в русском, финском и тп скорее всего буквы в таблицах не в том порядке что в алфавитах из-за букв с диакритическими знаками.
85 1438282
>>38154
Если кому интересно.
Он не хэндлит 6 реквестов в параллели, он 1 хост выкачивает 6 соккетами https://code.woboq.org/qt5/qtbase/src/network/access/qhttpnetworkconnection.cpp.html#132

Самому QNAM похуй сколько потоков, он асинхронно долбится, так что тхреды для QNAM нахой не нужны.
86 1438286
>>38234
Че он делает, ёпта?
87 1438291
>>38286
Растягивает очко до колоссальных размеров и острыми углами причиняет нестерпимую боль.
14669603748930.jpg38 Кб, 700x620
88 1438380
>>37641
Пишу свою модель данных в виде редактируемого дерева по канонам MVC, наследуясь от QAbstractItemModel. Данные отображаются в QTreeView. Теперь встал вопрос, что мне нужно некоторые ячейки раскрасить в определенный цвет. Где и как это реализовать, чтобы не нарушить MVC? Реализовать делегат, ProxyModel или еще что?
89 1438393
>>38234
Так его давно добавили
90 1438407
>>38380
там же вроде есть роль Qt::BackgroundRole для этих целей
91 1438410
>>38291
Шаблоны чтоли?
92 1438412
При попытке установить curl выскакивает ошибка
configuration name: libcurl-vc16-x64-release-dll-ipv6-sspi-winssl
NMAKE : fatal error U1073: не хватает сведений для построения "..\lib\libcurl.rc"
93 1438416
>>38380
Всем кастомайзом ячеек и прочего занимаются делегаты. Например https://doc.qt.io/qt-5/qtquickcontrols2-customize.html#customizing-combobox
94 1438417
>>38416
QTreeView жи
95 1438423
>>38412
vcpkg install libcurl
96 1438424
>>38407
Да, но вот я ее сейчас использую в методе MyModel::data(), что как мне кажется не есть гуд. Т.к. по идеи MVC, подобные "украшательства" вроде как должны делать вьюха или делегат (насколько я понял), а не модель. Или я не прав?
97 1438426
Ясно, QT-шизики уже во всю просочились ИТТ. Я напоминаю, что ТРУ крестобоярин никогда не станет писать на этом ГОВНЕ.
98 1438427
>>38417
Йобанарота, делегат жи, какая ему хуй разница где хуйню свою малевать, первый семпл дал. В тривью такой-же делегат сунь и всё
99 1438429
>>38426
... никакого Ада нет. Ну как же нет, когда ты работаешь в Аду? Не веришь - ну посмотри на последний вывод об ошибке твоего компилятора. Как же может венец творения, высшее создание Божие, работать с сущностями, имена которых занимают десятки мегабайт? Если твой язык такой продвинутый, такой прям весь свободный - что ж ты без костылей имя типа переменной в рантайме получить не можешь? Ты в Аду, сынок, ты не знаешь type erasure, у тебя нет рефлексии. Ты уже, голубчик, в Аду, из которого выход - только один, в JVM
100 1438430
>>38427
хуй знает, доводилась лишь раз делать делегат для виджетов, ебанина какая-то. проще уж въебать строчку в одном методе

>>38424
а нахо оно там нужно тогда? чем тебе это не часть модэл епта
101 1438433
>>38430
тут подробней про делегаты для вьюх https://doc.qt.io/qt-5/qtquick-views-example.html
102 1438435
>>38433
вы, блять, че, шарами объебались? человек спросил конкретно за QTreeView не кумээльный тривью ебана, я ему ткнул в то, что ему и нужно было, хуле вы мне своими куикконтролзами тыкаете
103 1438438
хей йо, агалы, как защищаете своё ПО? и защищаете ли?
в интернетах всякая муть с обфускаторами, чем-то там ещё.
накидайте методов, че кого, куда копать
105 1438445
>>38430

>а нахо оно там нужно тогда? чем тебе это не часть модэл епта


Чё т вообще не понял тебя. Переведи на наш(с)
106 1438455
>>38423
Error: Cannot find definition for package `libcurl`
107 1438461
>>38455
Install curl сработало. А как мне потом подключить это к проекту?
sage 108 1438474
>>38167
Creative gigaworks t40 series ii
Может, и не аудиофильские, но чистый звук, классные басы (если выкрутить) и есть джек для наушников. Живы уже ~6 лет, рикамендую.
109 1438480
>>38234
Используем. Тимлид жив, зависимость есть.
110 1438485
>>38098
А что, есть нормальные автоформаттеры?
image.png56 Кб, 597x255
111 1438510
>>38485
если ты пишешь как пикрилейтед, то нет. а для нормальных людей есть кланг с дефолтными настройками. а если твои настройки не дефолтные, то твой форматтинг говно.
112 1438513
>>38089
в данном конкретном кейсе - нет
113 1438514
>>38510
Картинка супер. Теперь только так буду форматировать. Почти как в питоше будет.
114 1438521
>>38510

>а для нормальных людей есть кланг с дефолтными настройками


Так это ж компилятор/линкер
image.png720 Кб, 1000x700
115 1438524
>>38521
в контексте форматтеров кланг это clangformat
116 1438536
>>38423
Спасибо большое
117 1438543
>>38461
vcpkg integrate install
118 1438547
>>38510

> всё, что не умеет кланг-формат — ненужно


Ясно-понятно. Только проблема в том, что он не умеет почти нихуя. Его отличие от примитивного astyle разве что в том, что он умеет различать лямбды.
Qt Delegate.png16 Кб, 587x424
119 1438550
>>38440
>>38430
>>38407
Пока решил вопрос с >>38380 созданием делегата как на картинке. Что скажете?
120 1438551
>>38547
что лучше?
вариант не править код руками не рассматривается как даунский.
121 1438552
>>38551

> править код руками


ну вы понели. а то какой-нибудь категорический долбоеб доебется
122 1438564
>>37641
На Qt Quick кто-то пишет? Или только на них и пишут, а на виджеты уже похуй?
Чекнишь мой проект на виджетах? shorturl.at/avQZ9
Хочу узнать насколько говно у меня код, по десятибалочке, если можно. И дотягиваю ли до чуть выше джуниора, как думаешь?
123 1438567
>>38550
Если работает - норм.
124 1438607
>>38162
>>38099
На перфокарте, очевидно же
7cNZbGzASyY.jpg198 Кб, 960x830
125 1438608
>>38510
А кстати, gcc умеет в не-ASCII идентификаторы и с какими флагами?
Вроде в msvc раньше работало, можно было ЁПТАСКРИПТ на дефайнах запилить.
126 1438610
>>38564
ссылочка объебалась
127 1438619
>>38608
В голос с этого говна.
128 1438667
>>38564
>>38610
https://github.com/Che chenItza/Koon delick
Без пробелов
129 1438700
>>38426
Чем тебе Qt не угодил то? На чём гуй пишешь? винформы
130 1438804
>>38426
оно не так плохо, если писать на C++, используя Qt, т.е. без moc (verdigris это вин) и без всяких выблядков типа QtQuick.

А если писать на каком-то ебанутом диалекте С++ с миксом JS - это уже к С++ треду отношения не имеет.
131 1438890
>>38700
А что не так с винформами?
132 1438915
>>38608
начиная со стандарта с++11 в идентифакторах можно использовать "other implementation-defined characters" (пункт 2.11), что и позволяет, по сути, использовать любые символы юникода
исходники долны быть в юникод-формате, само собой
и, для удобства, нужен текстовый редактор, позволяющих легко вводить символы юникода, к примеру тот же емакс
и нужен шрифт, в котором есть прорисованы символы, которые будешь использовать (чтобы они красиво отображались, а не позицией в юникоде)
тогда можно будет делать идентификаторы изо всего что есть в юникоде:
http://xahlee.info/comp/unicode_emoticons.html
133 1438970
Котаны, я пхп-макака, последнее время видимо искажения психики заставили меня начать интересоваться байтоебством. Начал я читать про указатели и и т.д. Вроде понимаемо, но вот что смутило мозг - пишут что с++ работает с некоей "общей моделью памяти", и что именно в этой "общей модели" размещаются объекты. А как уже эта "общая модель памяти" соотносится с конкретными гигабайтами на моем линуксе/шиндовс?
изображение.png111 Кб, 1366x768
134 1438976
Собрал 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/ . При компиляции пустого проекта (инклуды на месте) все работает, но при попытке вызвать метод из либы для вк происходит пикрелейтед
135 1438982
>>38804
Дед, плз.
>>38890
Технологии XX века
136 1439002
>>38380

>пик


соус
137 1439045
>>38970
Копмилятор занимает память у ОСи, и получает от нее указатели на участки выданной памяти, и создаёт в ней свою виртуальную индексацию поверх виртуальной адресации ОС. Если помимо РАМ используется ещё и ГПУ, то там вообще уровней 300 абстракций
138 1439046
>>37014 (OP)
>>37641
Глупый вопрос- что такое QT и чем он отличается от QT Creator?
139 1439057
>>37014 (OP)
Крестители, вкатываюсь, хочу знать, что выбрать из IDE?
Visual Studio или Qt Creator?
Почему большинство предпочитает Qt Creator и все на него так дрочат?
140 1439064
>>39057
emacs
141 1439067
>>39046
загугли, пидорас
142 1439072
>>39057

>Visual Studio


this

>Почему большинство предпочитает Qt Creator и все на него так дрочат?


Кто все? В нашей большой команде этим пользуются 2.5 человека, дрочащих QML.
143 1439077
>>38976
Ну памагите же.
144 1439078
>>39067
Qt — кроссплатформенная библиотека разработки GUI на С++.
145 1439091
>>39057

>Почему большинство предпочитает Qt Creator и все на него так дрочат?


Потому-что идиоты-хейтеры-микрософта.
146 1439092
>>39057

> visual studio


К сожалению, this
147 1439121
>>38915
Пиздец.. И эти люди запрещают мне использовать триграфы с С++17.
148 1439127
>>39121
Всё правильно, говно мамонта остается на говне мамонта. Ты бы еще удивился, почему тебе запретили заправлять современные машины сеном и управлять поводьями вместо руля.
149 1439171
>>39057
У меня в QtCreator в половине случаев не работает дебаггер. Так что нахрен, пользуюсь чистым GDB под линуксом и VS под вендой. 98% дебага у меня под шиндусом.
150 1439203
>>39171
Как познать GDB? Не смог дебажить наше приложение в проде, потому что оно мультитредное и спавнит дочерние процессы, а значит нужны какие-то ебические комбинации флагов. В VS на винде просто ставишь галку child process debugging и все работает как часы.
151 1439206
>>39077
vk-шную либу-то к проекту подруби
152 1439300
>>37014 (OP)
Cап, анон.
Как часто изпользуются ссылки и указатели в твоих программах? Только что прошел их, и не могу понять, в чем их смысл на практике.
153 1439302
>>39300

>Как часто изпользуются ссылки и указатели в твоих программах


Всегда. Сиди перечитывай пока не поймешь. Это одна из базовых вещей, если ее не осилишь - можешь дальше даже не пытаться
154 1439303
>>39057
У меня оба. Легаси на первом, новое формошлепство на втором. В плане удобства вс с решарпером лучше, плюс в вс есть т4, пока до программирования интерфейса не доходит.
155 1439323
Блять самое смешное что встроенный линтер ВС иде, специально разработанной для работы с крестами и сисей до сих пор половину синтаксиса 11 стандарта подчеркивает и алертит))) нахуя это говно нужно ? Отвечу: для неосиляторов, в универе получавших тройки
156 1439335
>>39323
Пример?
157 1439350
>>37014 (OP)
сколько времени стоит в человекочасах подготовить джуна на крестах? на hh требуют ХОРОШЕЕ ЗНАНИЕ STL
что они блять, под этим подразумевают?
Мимо-Зигодев
158 1439358
>>39350

> что они блять, под этим подразумевают?


Можешь на собесе написать свой type_traits.
159 1439360
>>39350
Часов сто-120 хватит. Т.е. около месяца интенсивного изучения по 3-4 часа в день должно хватить для джуна.
160 1439430
>>38564
Jun+ mid-
161 1439435
>>39206
Была подрублена. если ты о api.h, конечно
162 1439460
>>39430
Почему mid-?

мимокрок
163 1439473
>>39435
Конечно же нет. Речь про lib-файл (см. Шаг 4 твоей ссылки в >>38976).
164 1439561
>>39473
Она подключена. В output видно что он ее ищет, а ошибок нет. Я думаю что он находит. Пока писал нашел проблему. В curl разрядность 32, а у меня 64. Сейчас попробую у меня поменять
165 1439565
>>39561
С компа не могу написать пока. Начало ошибки такое "unresolved external symbol __imp___invalid _parameter referenced to function "void* __cdecl и тд
166 1439568
>>39460
Потому что до полноценного мидла не дотянул, очевидно.
- Структура\рахитектура на 3
- Вероятно необдуманное дипкопи и если для кьютовых классов это ещё норм из-за COW, то для своих неок:
void addGroupFromDb(Group group);
void setName(int id, QString name);
- Статика в Qt приложении (Qt классы лучше не использовать после того, как ивентлуп всё). Тут желательно синглтон с контролируемым временем жизти зделоть

И тд
167 1439573
>>39430
>>38564
забыл оценку, ~5/10
sage 168 1439589
Нахуй вы своим кути засрали тред? Создайте свой и пиздуйте отсюдова.
169 1439598
>>39589
Дед, уйди, заебал.
170 1439607
>>39589

>нахуй вы пишете о плюсах в плюсовом чате

171 1439623
>>39568

>- Структура\рахитектура на 3


>- Вероятно необдуманное дипкопи


>И тд


Ахуенно ответил. Вероятно тупа LE PERDOUNOOL V LU JU и тд.

P.S.: Либо пиши нормально и аргументируй свои предъявы конкретными примерами, либо уебуй нахуй. Жабоскрипт-тред в другой стороне.
172 1439639
>>39623
С такими софт скиллзами тебя и трижды синьором не возьмут
173 1439641
Анонасы, выручайте. Задача следующая: в функцию передается tuple с неизвестным количеством элементов, с неизвестным типом. Нужно разделить этот tuple на два tuple, если количество его элементов превышает 4. Как сделать такое? Вот код: https://ideone.com/HeLPLC
174 1439690
>>39639
это не я. спасибо, что потратил время и посмотрел на код.
175 1439713
>>39641
Ну а в чем проблема?
Самый простой топорный вариант: зная количество элементов, проходишься по всем и первые три запихиваешь в один tuple, а остальные - в другой.
176 1439719
>>39641
Вангую что-то вроде
[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]
177 1439722
>>39623
Ты, маня, если та огрументация не нраиса - уёбуй нахуй, я своё время на полное ревью тратить не намерен. Всяким разным щенка в лужу пердеть - тоже. Своё мнение я сказал.

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

>>39639 это другой анон и он молодец, понимает
178 1439738
>>39641
if constexpr (std::tuple_size_v<TPL> > 4) {
(забираешь первые четыре)
} else {
забираешь все остальное
}
179 1439745
>>39738
И как это будет работать, если tuple будет заполняться из потока или из файла?

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

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

>>39719
>>39738
Я вам ссылку на ideone оставил. Вы тестировали код в контексте моей задачи? Я уже так пытался делать, не получается, компилятор ругается, даже на tuple_size.
181 1439749
>>39738
Спасибо за псевдокод, но это и так понятно. Реализовать-то как? Я чуть не лопнул пока думал.
2ch.png37 Кб, 899x684
182 1439750
>>39749
пять минут в вижуалстудии
183 1439753
>>39750
Да это багор, у меня до этого аналогичная реализация и была с кучей тайпнеймов. Я думал можно как-то элегантно средствами языка все это дело развернуть. Нельзя все таки что-ли?
184 1439754
>>39753
можно с std::integer_sequence, но мне было лень ее писать
185 1439755
>>39754
Вот я тоже на сиквенсы смотрю, но ничего не думается.

Из С перекатываюсь. Как же у вас тут сложно все.
186 1439756
>>39755
а ты специально начал с уберхардкора?
187 1439758
>>39756
Ну Си я достаточно знаю, решил подтягивать то, чего в нем нет. Вот шаблончики например. Всегда любил макродрисню, очень похожая тема.
2ch2.png37 Кб, 866x698
188 1439762
>>39758
ну ладно, двач образовательный
189 1439763
>>39762
Самый сильный, красивый и умный анонимус всех времен, благодарю от сердца. Алсо, это плагин какой-то элементы подсвечивает? Пойду тестировать код, от души.
190 1439764
>>39763
Resharper C++
191 1439766
>>39764
Спасибо. Алсо, а std::tuple<ARGS...>&& tpl не запихать туда? И почему std::tuple_size не хочет работать?
192 1439785
>>39764
Анон! Если ты еще тут, помоги. Всю ночь голову ломал. Новое условие к задаче - если во входящей tuple элементов меньше заданного числа CUT, то заполняем tuple нулями, пока количество элементов не станет равным заданному числу CUT.
Чтобы на выходе было что-то типо такого:
const auto t = tuplecutter<4>(std::tuple(1, 2)); Должно вернуть t = (1, 2, 0, 0), вместо t = (1, 2).
laughing elf man.jpg16 Кб, 256x353
193 1439825
>>39753

>темплейты


>элегантно

195 1440008
Господа, требуется провернуть следующую махинацию:
На вход подается число, содержащее только 1 и 0, например 101010100101. Нужно его ввести в переменную типа int, при этом как двоичное число. Если пользоваться обычным cin, то я получу десятичное число.
Есть какие-нибудь удобные способы это сделать?
196 1440010
>>40008
руками распарси
198 1440018
А как же
199 1440021
>>37014 (OP)
Аноны, нужно написать некий аналог команды tree, как работают с директориями труъ с++ разработчики?
200 1440023
>>40021
Забыл добавить, что всё это под линух.
201 1440026
>>40021
std::filesystem?
202 1440030
>>40026

> ?


Вопросы тут задаю я.
Спасибо, анонче, пойду изучать.
203 1440048
>>40026
Это если он таки добрался до семнадцатого стандарта.
Если нет - ебись с dirent.h, >>40021
204 1440058
>>40048
boost::filesystem
205 1440115
Заворачивать переменные из легаси библиотек в 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)); });
206 1440138
>>40115
Всегда так делай, если вызовов больше одного
207 1440223
>>39987
Благодарю, анончик. Есть вообще специализированные книги/статьи по данной теме? Ибо пролистал пару книжек Страуструпа, там подобного очень мало.
Алсо, голая студия не хочет правильно код обрабатывать. Даже на std::tuple_size<decltype(tpl)>::value ругается, но по итогу все компилирует. Как правильно дебажить/смотреть в какой вид темплейты разворачиваются, если меня даже ide подводит? Решарпер панацея?
208 1440224
Аноны, есть рекурсивная функция, внутри которой:
std::vector<std::string> *v = new std::vector<std::string>;
В этом же случае delete не освободит память, выделенную под сами строки? В этом случае придётся указатели на строки ставить и выделять память ещё и под них?
209 1440227
>>40223

>Есть вообще специализированные книги/статьи по данной теме


https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121 - добро пожаловать. Сам осилил из нее где-то треть, мне хватает. но я и так много знал, раскуривал кучу статей и блогов в свое время, когда еще мечтал найти крутую работу

>Алсо, голая студия не хочет правильно код обрабатывать. Даже на std::tuple_size<decltype(tpl)>::value ругается, но по итогу все компилирует


Я голой студией не пользовался с релиза R++, по-этому мне тут нечего сказать. Вариантов украть решарпер - куча, я 2 года сидел на лицензии знакомого студентика, а потом мне на работе купили.

> Как правильно дебажить/смотреть в какой вид темплейты разворачиваются


Я не знаю какого-то суперспособа, кроме чтения ошибок компиляции. Недавно открыл для себя https://cppinsights.io - вроде прикольно.
210 1440228
>>40223
Вообще, если я правильно понимаю, что использовал этот анон, то там свёртка - это вообще 17-тый стандарт. Мб из-за этого на tuple_size и ругается(хотя он есть в <tuple> в C++11). Попробуй в свойствах проекта включить latest или C++17 в C++/Язык.
211 1440231
>>40228
в коде из C++17 фич только CTAD, фолды я сам не очень хорошо умею.

std::get<IDX>(tpl)... - это обычное раскрытие в вариадик пак, в С++14 точно работало
212 1440232
>>40231
а, ну и иф констескрпы конечн
213 1440248
>>40224
почему? delete должен вызвать деструктор вектора же, где он все своё почистит.
214 1440260
>>40224
delete вызывает деструктор вектора. Деструктор вектора вызывает декструторы содержимого вектора.

Если бы у тебя бы вектор указателей - тогда да, пришлось бы руками чистить. А в твоем кейсе все ок
215 1440358
>>40248
>>40260
Спасибо.
216 1440426
Есть ли возможность обратиться к базовому классу не через его имя, как BaseClass::, а через какой-то универсальный идентификатор, который однозначно определяет класс родителя, независимо от его имени?
217 1440436
>>40426
Ах да, в плюсах же есть множественное наследование. Тогда понятно что нельзя.
218 1440445
>>40426
через typedef или using внутри класса, обычная практика
219 1440457
>>40445
Да я имел в виду какой- нибудь встроенный кейворд типа this, только определяющий класс который от которого было наследование. Вот только что искал баг, оказалось что вызывалась функция на уровень ниже по иерархии наследования вставленная копипастом
image.png15 Кб, 584x260
220 1440573
что не так?
я просто с питона пришел
221 1440579
>>40573

Ты пытаешься в массив записать массив, в плюсах так не работает. Возьми string вместо массива char.
222 1440580
>>40579
мне нужно перебрать массив, чтобы переписать его?
223 1440604
>>40580
Сиговно типа char* - это не С++.
Если ты хочешь изучать С++ - используй высокоуровневые примитивы типа std::string, std::vector и тд. А потом уже углубишься на уровень "ехал указатель через указатель"
224 1440696
>>40426
>>40457
__super в студии, но бля... Я бы тебе ебало за такое набил
image.png51 Кб, 673x416
225 1440717
Есть объяснения какого хуя произошло? В какой вселенной -6 / 3 = 6148914691236517203? int же знаковый тип так какого хуя ошибка?
226 1440730
>>40717
В чем экзистенциальный смысл писать auto вместо int в таком коде?
У size() беззнаковый тип size_t, деля int на size_t в роль вступают правила такого деления signed на unsigned: https://ideone.com/d4cHBl
227 1440738
>>40730
Пиздец конечно ебанутое правило, по-моему должно быть наоборот, ансигнед должен кастоваться в сигнед.
Авто удобно писать если я вдруг параметр функции изменю с vector<int> на другой тип
228 1440740
>>40738

>Авто удобно писать если я вдруг параметр функции изменю с vector<int> на другой тип


И что, от этого тип переменной step изменится? А если в рыло?
229 1440763
>>40227
Благодарю еще раз, анон. Буду курить. За https://cppinsights.io/ отдельно плюс, то что нужно.
230 1440791
>>40223

>Как правильно дебажить/смотреть в какой вид темплейты разворачиваются, если меня даже ide подводит?


metashell
231 1440793
Может ли кто-нибудь глянуть на мой говнокод и сказать насчёт него хоть что-нибудь? По-сути, программа делает то же самое, что команда tree в виндовсе.
https://pastebin.com/a7xWhaQg
232 1440794
>>40793
че за сипараша? Может ты будешь в стиле крестов писать, а не писать сикод на крестах?
233 1440795
>>40794
Так я не шарю, расскажи, как надо, пожалуйста.
234 1440797
>>40795
ну ты тредом промахнулся тебе в ситред
235 1440798
>>40793
Хороший код, давно занимаешься? но выглядит реально как из 95 года
236 1440799
>>40798

>Хороший код, давно занимаешься?


Ого, спасибо. Занимаюсь не так уж давно. Многое пришлось читать прямо во время написания.

> но выглядит реально как из 95 года


Похоже, всё из-за того, что ориентируюсь на знания из универа, книг и интернета, с "реальным" погромированием дел не имел, вот оно и устаревшее какое-то.
237 1440800
>>40799
Все хорошо, но ты, видимо, читаешь какие-то старые книжки и какую-нибудь парашу вроде стек перелился, потому что по стайлу это выглядит как си код в спешке переделанный под кресты.
238 1440807
>>40793
какие-то пойнтеры на СТЛ контейнеры которые в той же функции удоляются чего блядь. ты наверное хотел систайл арреи там использовать но опечатался

>алмановские скобки


а я думаю что я кручу-кручу а код не движется
239 1440827
>>39825

>>темплейты


>>элегантно


Что не так?
240 1440991
>>40717
ты дебаггером встал на строчке, которая еще не выполнилась, и в val мусор находится. На следующем брейкпоинте на твоем скриншоте значение будет валидным
241 1441104
Анонче, дай ответ.
Есть в классе указатель на вектор указателей другого класса(хорошее ли это решение - не знаю).
При попытке инициализировать его прямо в определении класса либо в списке инициализации в конструкторе, в итоге он nullptr. Пробовал и конструктор по умолчанию {}, и new std::vector<MyClass>, разницы нет.
Но почему-то после переноса this->container = std::vector<MyClass
> непосредственно в тело конструктора все начало работать.
Почему так?
242 1441113
>>40793
Нет, ты хорош, но если поставишь компилятор с 17-ым стандартом, то filesystem:: recursive_directory_iterator сделает все за тебя - нужно будет только на основании метода depth рисовать рамочку.
243 1441148
>>41104
Давай код
244 1441188
>>40827
Достаточно сложные для чтения конструкции с несколькими уровнями вложенности, когда приходится считать скобочки чтобы понять смысл написанного а код STL с их __Fwd_Iterator_Bd это вообще пиздец
1441473760937.jpg1017 Кб, 1900x1200
245 1441190
>>37641
Как сделать, чтобы CentralWidget в QMainWindow всегда располагался по центру окна, но при этом сам не растягивался на все окно? Alignment я внутри QWidget че то не нашел, хз как сделать. Неужели Layout-ы придется вставлять туда?
246 1441195
>>41190
То есть ты виджеты без лэйаутов используешь? Шизик, не тролль
247 1441197
>>41195
А они всегда нужны что ли, ебать? У меня просто виджет простой, с QLabel внутри, который представляет из себя пикчу. Ну и всякий код для управления этой пикчей. Куда там лэйауты то совать?
248 1441203
>>41190
setGeometry на QApplication::desktop попробуй, но я не уверен
249 1441212
>>41203
А с использованием лэйаутов как? Я пробовал делать, но у меня в итоге картинку стало растягивать на всю ширину экрана.
250 1441246
>>41212
Короче, решил проблему, сделав центральным виждетом не свой йоба-виджет, а QScrollArea. А в QScrollArea засунул свой виджет. Вроде работает.
251 1441268
>>41246
А можно было всего лишь...
выставить сайз полиси своему виджету
252 1441310
Существует ли фриланс на крестах?
Сейчас очень нужны деньги, на стройку не берут, заучивать веб языки ну очень не хочется. Можно ли как-нибудь заработать на близком к душе C++?
253 1441312
Начал учебный проект, над которым хочу работать и под Windows, и под Linux. Проект использует несколько сторонних библиотек.
Скачал уже скомпилированную одну из них, там dll и lib-файлы. И возник вопрос: что лучше использовать, чтобы проще было дописать подключение библиотеки под другую платформу?
Я думаю, под виндой брать dll и кидать в папку к экзешнику. Под линуксом, я так понимаю, достаточно присутствия .so в системе. Или я ошибаюсь?
254 1441314
>>41310
Бля, я конечно диванный, но сомневаюсь, что хотя бы в ДС 1-2 реально найти, особенно в короткие сроки.
255 1441316
>>41314
Соррян, неправильно прочитал, думал ты про удаленку.
256 1441318
>>39045

>Копмилятор занимает память у ОСи


Нихуя не компилятор. Это сама ОС выделяет тебе память для твоего процесса, при его запуске. Насколько помню, в винде, при запуске проги, код размещается в одном участке адресного пространства, данные в другом участке. Программа, по необходимости, может запросить дополнительную память у ОС посредством системных вызовов (VirtualAlloc, вот это вот всё).

Дело в том, что в языке C++ не указывается, что из себя представляет память компьютера, как там всё устроено. Какой используется процессор, какая ОС (и есть ли она вообще). В общем - что из себя представляет платформа, на которой работает программа. Программы на C++ можно писать для самых разных компьютеров, процессоров, ОС. У тебя там x86, а у кого-то ARM или MIPS. У кого-то есть виртуальная память, а у кого-то её нет, и защиты памяти даже нет.
257 1441321
>>41310
Нет. Если ты знаешь кресты - иди в офис.

>>41312
.so должны лежать в $PATH. В Винде тоже можно в %PATH% их подложить.
258 1441329
кресты в коммерции как то не очень, хочешь заработать учи java
259 1441331
>>41329
в этом году ожидаю повышение зарплаты до ~360к в месяц чистыми. Мимо крестосениор в ДС.
260 1441335
>>41331
Какой опыт работы?
261 1441348
>>41335
3 года капчевания, не меньше полутысячи постов в "войти в айти" тредах /b с тралленгом лалак
262 1441350
>>41310

>на стройку не берут


ну да, если ты нищий и голодный, но больной и хилый, то самое то подумать о вкате в айти!
да еще и на удаленочку сразу
и на крестах чтоб
263 1441354
>>41348
А серьезно если? Мне как ньюфагу интересно, сколько времени займет рост до такого уровня зп.
264 1441356
>>41348
пятилетку программистом, и еще пятилетка просто ОЙТИ СПЕЦИАЛИСТОМ без кодинга
hqdefault.jpg25 Кб, 480x360
265 1441477
>>41321

>.so должны лежать в $PATH.

266 1441482
>>41354

Все зависит от твоих стремлений. Если программировать каждый день, постоянно что-то новое изучать и прочее, то можно за год дойти до 100 тысяч зп на удаленке.
Можно просто делать работу и пить чай и за 3 года остаться на 40к в офисе.
Анон с зп 360к явно работает на зарубеж, на Финляндию или типа того. Я такой зп не видел, но предполагаю, что за 3-5 лет ее вполне реально достичь, если не лениться.
267 1441483
>>41482
свежо предание
268 1441584
Посоны, дайте ссылку на ченить научно-популярное о том как пишут код для ардуино микросхем.
Для повышения образования я сейчас начал потихоньку разбираться в плюсах. Про указатели - кажется кажется понял. Вообще байтоебство это интересно. Но мне не понятно как пишут код на плюсах для допустим ардуино или еще какой нибудь платы
Там специальный компилятор который компилирует код в исполняемый файл понятный этой микросхеме? Сама плата программируется программатором?

мимо - пхп-макакий
269 1441612
>>41482

>Все зависит от твоих стремлений.


от каких стремлений, епт? вот я хочу делать деревянные бочки для засолки огурцов, люблю свою работоу, каждый день делаю по бочке, самосовершенствуюсь, изучаю какие-то новые способы изготовления бочек, бля я самый настоящий мастер изготовления березовых кадушек! только нахуй это никому не нужно
точно так же и с программированием: вдруг оказывается что кодеры и нахуй не нужны, вернее столько много
270 1441624
>>41612
бля хуйню написал, был не в себе, сорри за треш
271 1441692
1. Как из одного конструктора вызвать другой в теле конструктора? T(x+y) создаёт временный объект, видимо, а значени s остаётся стандартное.

2. И аналогичный вопрос при наследовании. Можно написать через двоеточие :Q(x*x), но если мне нужно перед этим что-то посчитать - то выглядит это ужасно, нужно создавать дополнительную функцию, которую указать после двоеточия и которая помимо возврата Q сделает необходимые действия. Уж лучше создать нормальную функцию _init() и вызвать её в обоих конструкторах в конце, которая будет вместо конструктора.
272 1441705
>>41482

>>Все зависит от твоих стремлений


Скорее от организованности и умения ставить себе задачи.
Так то можно писать на запале по 6 часов в день, потом перегореть и забить на месяц-полтора, обнулив по итогу все.
А если дисциплинирован, и в момент упадка хотя бы по часу- полтора работаешь - то не потеряешь.
мимо-пхп-макакий
273 1441707
>>41705
П.С. и вообще по моему ежедневная концентрированная работа/учеба по 4 часа, а потом абстрагирование от задач для занятий другими делами гораздо эффективнее чем циклы запал/угасание.
Тут вопрос глобальной привычки.
274 1441713
>>41350
Ну так, что не так?
На работу никуда не берут, программирование - единственное, в чём я что-то понимаю.

> да еще и на удаленочку сразу


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

> и на крестах чтоб


Просто считаю его лучшим языком, от всех остальных хуёво становится. Понимаю, что он сложный, но я не прочь почитать пару-тройку книжек
276 1441752
>>41743
Ну, я до всех трёх вариантов догадался.
Отвратительно, придётся использовать второй вариант, хотя очень не хотелось бы нагромождения каких-то одноразовых функций.
277 1441832
Почему gdb выводит только регистры R8, R9, R10 и т.д. Как это исправить?
278 1441853
>>41692

> T(x+y) создаёт временный объект


Где тот шизойд, который в прошлом треде доказывал обратное?
279 1441858
>>41752
Считай с помощью аргументов которые тебе пришли и методов базового класса (только не виртуальных), тогда иниты всякие не понядобятся
280 1441865
>>41858
Грубо говоря, у меня два конструктора, которые загружают что-то из файла и из памяти. И хотелось бы в конструкторе с файлом просто считать что-то из файла и вызвать конструктор с памятью.
Если это методы, то
И есть три стула.
1. Ctrl+C/Ctrl+V
281 1441872
>>41865
Так а в чем проблема? Если они что-то общее делают, то выноси это самое общее в private метод с каким-нибудь охуенным названием
282 1441875
>>41865
Сука, как оно отправилось?

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

То есть смысл теряется, если не использовать тот другой конструктор. Или я делаю init и вызываю его из обоих конструкторов, или я просто дублирую код. Никакого метода в базовом классе для загрузки из памяти или файлов нет, только конструктор. То есть можно сделать, но это тот самый init - нигде в клиентском коде не будет повторной загрузки из памяти или файла.
283 1441877
>>41872
Ага, я так и сделал.

>>41875
Так, я всё напутал в этом посте, думал про первую ситуацию, а отвечал на вторую.
284 1441878
>>41875

>Но если это конструкторы



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

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

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


Это нормально, ты просто не так понимаешь ооп
286 1441929
>>41865

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


имхо, тут ты совершаешь ошибку проектирования
в таких случаях конструкторе нада именно что сформировать объект, перевести его в непротиворечивое состояние, так сказать
а всякие сложные заполнения объекта уже делать отдельными методами (типа вытащить много данных с файловой системы или из бд)
287 1441931
>>41705

>Так то можно писать на запале по 6 часов в день, потом перегореть


6 часов в день - это минимум для промышленного кодера, те это тупо кодинг без коммуникации
и так будет продолжаться годами
288 1441941
>>41931
Разработкой невозможно заниматься больше 4 часов в сутки, ибо это большая когнитивная нагрузка, которую почти никто не тянет (не перегорев). Остальное время сверх этого - шелуха типа перерывов на чай/кофе, совещаний и прочего ненужного говна.
289 1441947
>>41941
Не, ну аннотации поверх крудов шлёпать можно и 8 часов.
290 1441954
>>41941
никого не ебет
попадешь в тот же геймдев - будешь 10+ часов без выходных ебашить перед релизом на стимуляторах
291 1441973
>>41954
Двачую. Монотонная хуйня, кода писать надо дохуя, все время кто-то сбоку ебет .
292 1442068
>>41692
[code]this->MyClass::MyClass(....)[/code]
293 1442211
>>41878
placement new, может быть?
294 1442467
>>41931
Хорошо, что я не промышленный кодер
295 1442564
Это правда, что C++20 будет таким же крупным, каким был C++11?
296 1442569
>>42564
дохуя там нового, слишком дохуя
297 1442570
>>42569
То есть даже крупнее?
298 1442591
>>42211
Точно. Благодарю, идеально, почему я не вспомнил про эту штуку.

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

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

>>42569
Вот бы питоновские f-string добавили. Специальный компайлтайм костыль именно для строк, которые компилятор развернёт в что-то нормальное. Прочитал про них и аж завидно.
299 1442594
>>42591
В С++ и так оптимизированные стринги.
300 1442598
>>42594
На самом деле весьма хуево оптимизированые.
std вообще говнецо то еще
301 1442626
>>42211
Изнутри конструктора? UB.
302 1442653
>>42598
ты про какую из реализаций стд, гений?
303 1442655
>>42653
Любую.
304 1442664
>>42655
Хорошо, поверю тебе, как знающему все тонкости имплементации каждой реализации
305 1442667
>>42664

>все тонкости имплементации каждой реализации


В этом нет нужды, достаточно знать две вещи:
1) Оптимизация и скорость там не на первом месте (и это, пожалуй, правильно)
2) Писали всю эту хуйню примерно такие же дебилы как и ты (и это, пожалуй, печально)
306 1442675
>>42667
если я стану когда нибудь таким же дебилом, как имплементоры стандартной библиотеки например принципал инженеры из майкрософта с зарплатой в месяц больше, чем у тебя в год - я буду счастлив.
307 1442676
>>42675

>примерно такие же


>если я стану когда нибудь таким же


Это вполне возможно и не очень сложно но лично у тебя не получится.

>зарплатой


Ясно.
308 1442681
>>42675
там нет ничего сложного, не боги горшки обжигают, включи в той же студии (если ты под виндой) заходить отладчику в код библиотек и заходи в код stl время от времени, ну или просто открой его отдельным проектом
из заморочек, усложняющих код, там разве что необходимость соблюдать требования к безопасности исключений (которые прописаны в стандарте), плюс выделение ресурсов из аллокаторов тоже чутка усложняет
309 1442682
>>42681
или глянь реализацию libcxx, она посвежее и пободрее других реализаций stl
310 1442683
>>42667
>>42676
Репорт за токсичность.
изображение.png334 Кб, 484x600
311 1442684
>>42683

>с++


>токсичность

312 1442686
>>42683
Да нет никакой токсичности от этого клоуна, пусть еще веселит. Вангую красноглазого додика-студента, который сидит у мамки на шее (опционально работает говном за 20 тысяч), но он точно самый умный.
313 1442687
>>42686
Игорь, ты?
314 1442688
>>42687
нет, я Геннадий
315 1442689
>>42688
Нарекаю тебя Евлампием.
И жить тебе отныне соответственно.
Поздравляю.
316 1442690
>>42689
говоришь на меня - переводишь на себя
317 1442691
>>42690
Какой милый школьник Евлампий :3
15630018282570.jpg34 Кб, 400x328
318 1442693
>>42691
>>42690
>>42689
>>42688
Вы какие-то поехавшие..
319 1442699
>>42598
Ты скозал? В стандартной библиотеке всегда самые или почти самые производительные реализации разве что у какого-нибудь китайца быстрее чутка будет. Посмотри что-ли конференции с выступлениями членов совета стандартизации.
320 1442830
>>41268
Полицию размеров тоже выставил.
321 1442852
>>42699

>самые производительные реализации


Вовсе нет, и это не в приоритете.
Безопасность, надежность - и только потом.

>у какого-нибудь китайца


У меня быстрее.

>конференции с выступлениями членов совета стандартизации.


Не нужны.
322 1442911
>>42852
бля, какой же ты охуенный
пишешь код лучше яйцеголовых что клепают реализации stl, конференции не нужны тк ты и так все знаешь
323 1442914
>>42686

>додик


Семантические свойства
Значение
жарг. гомосексуалист (в уголовном арго — молодой пассивный) В неестественно раскрытых совиных глазах Ястребова вспыхнули ржавые белки, в них металось безумие… Под ним бился молодой додик по кличке Снежинка. Л. П. Костомаров, «Десять кругов ада»
жарг. ирон. женственный, женоподобный мужчина И реально, что бы вы думали, из-за кулис выходит какой-то додик, тощий, в зелёных очках и с лысой головой, подходит к микрофону и начинает вещать что-то тонким, по-бабьи жеманным голоском.〈…〉Он очень томно растягивает слова, выпячивает губы и делает все эти педиковские ужимки, которые я так ненавижу. С. С. Минаев, «Духless. Повесть о ненастоящем человеке», 2006 г. (цитата из Библиотеки Максима Мошкова, см. Список литературы)
жарг. презр. или пренебр. хилый, ничем не примечательный человек Например, решит профессор закончить пару пораньше и для приличия спросит, всё ли всем понятно. Группа уже сложила вещички и ждёт предложения разойтись по домам, и в этот момент Борис поднимает руку и говорит: «А вот я не понял один момент…». В результате народ тоскует и томится, один лишь Борис внимательнейшим образом слушает и кивает головой. Чаще всего в процессе кивания у него появляются и другие вопросы. После проявления такого интереса к предмету преподаватели начинали его уважать, студенты называть додиком, а девушки не любить, несмотря на очевидную красоту. Эльвира Барякина, Анна Капранова, «Рыба в чайнике», 1999—2002 г. На прогулку во двор старейшей московской психиатрической больницы выпускали только с часу до двух дня и только самых спокойных обитателей. / — Маша, загоняй додиков! — кричала из окна второго этажа тётка в замызганном голубом халате и косынке. П. А. Астахов, «Квартира», 2010 г.
Синонимы
гомосексуал, гомосексуалист, педераст; разг.: гей, голубой, гомик, гомосек, мужелюб; устар.: мужеложец, мужеложник, содомит; устар., частичн.: малакия; книжн.: уранист, урнинг; эвф.: сидор; сленг: в теме, зайка, крашу ногти, сижу в окопе, тематический, яойщик; жарг.: ахтунг, барсук, василёк, васька, галя, гамадрил, гамаз, гамазей, гамак, гном, гобсек, говносек, голубарь, голубец, голубок, голубчик, голубь, гома, гомс, гомусик, двустволка, дирижёр, додик, дочка, дуплан, ермак, жоподрючник, жополаз, жопочник, жопотрах, заднепроходец, звезда, кентавр, котик, кьюр, маркоташник, мастёвый, мужиковед, папа, парафин, пед, педагог, педарь, педе, педерага, педераго, педеряга, педигрипал, педик, педр, педрик, педрила, педрило, педрильник, педруччо, педя, петух, пидарас, пидарь, пидер, пидор, пидорас, пидорасина, пидораскин, пидораха, пидорюга, пидорюжник, пидорюк, пинчер, половой демократ, пэдэ, рудокоп, руслан, субчик-голубчик, такой, темовой, тёпленький, тёплый брат, хали-гали, чебурашка, чичеряка, шахтёр, шкицнурик, шура; активный: акт, актив, активист, георгин, глиномес, говномес, дятел, кочегар, марксист, педикатор, печатник, печник, печной ящер, ромео, солидол иванович, топтун, трубочист, уважаемый, чужежопник; пассивный: акробат, ананаска, армянская королева, бархотка, валет, вафел, вафёл, вафлеглот, вафлёр, вафлист, вафло, гребень, дама, даша, дашка, жена, женива, женщина, жопа, жопник, козёл, козлик, козочка, конь педальный, кочет, манька, маня, маргаритка, маша, машка, моргалик, мурка, наташа, наташка, незабудка, округлённый, пассив, педер, педерасик, педермот, петюнчик, петя, пидовка, пинч, плашкет, подруга, пярну, санта-лючия, Светка, сестра, туз червонный, умница, универсал, шпидагуз, шурик, шурин; изнасилованный: обиженный, опущенный, проткнутый, петух, петушня, петушок, петяра, пятёра, пятёрка
Антонимы
Гиперонимы
Гипонимы
323 1442914
>>42686

>додик


Семантические свойства
Значение
жарг. гомосексуалист (в уголовном арго — молодой пассивный) В неестественно раскрытых совиных глазах Ястребова вспыхнули ржавые белки, в них металось безумие… Под ним бился молодой додик по кличке Снежинка. Л. П. Костомаров, «Десять кругов ада»
жарг. ирон. женственный, женоподобный мужчина И реально, что бы вы думали, из-за кулис выходит какой-то додик, тощий, в зелёных очках и с лысой головой, подходит к микрофону и начинает вещать что-то тонким, по-бабьи жеманным голоском.〈…〉Он очень томно растягивает слова, выпячивает губы и делает все эти педиковские ужимки, которые я так ненавижу. С. С. Минаев, «Духless. Повесть о ненастоящем человеке», 2006 г. (цитата из Библиотеки Максима Мошкова, см. Список литературы)
жарг. презр. или пренебр. хилый, ничем не примечательный человек Например, решит профессор закончить пару пораньше и для приличия спросит, всё ли всем понятно. Группа уже сложила вещички и ждёт предложения разойтись по домам, и в этот момент Борис поднимает руку и говорит: «А вот я не понял один момент…». В результате народ тоскует и томится, один лишь Борис внимательнейшим образом слушает и кивает головой. Чаще всего в процессе кивания у него появляются и другие вопросы. После проявления такого интереса к предмету преподаватели начинали его уважать, студенты называть додиком, а девушки не любить, несмотря на очевидную красоту. Эльвира Барякина, Анна Капранова, «Рыба в чайнике», 1999—2002 г. На прогулку во двор старейшей московской психиатрической больницы выпускали только с часу до двух дня и только самых спокойных обитателей. / — Маша, загоняй додиков! — кричала из окна второго этажа тётка в замызганном голубом халате и косынке. П. А. Астахов, «Квартира», 2010 г.
Синонимы
гомосексуал, гомосексуалист, педераст; разг.: гей, голубой, гомик, гомосек, мужелюб; устар.: мужеложец, мужеложник, содомит; устар., частичн.: малакия; книжн.: уранист, урнинг; эвф.: сидор; сленг: в теме, зайка, крашу ногти, сижу в окопе, тематический, яойщик; жарг.: ахтунг, барсук, василёк, васька, галя, гамадрил, гамаз, гамазей, гамак, гном, гобсек, говносек, голубарь, голубец, голубок, голубчик, голубь, гома, гомс, гомусик, двустволка, дирижёр, додик, дочка, дуплан, ермак, жоподрючник, жополаз, жопочник, жопотрах, заднепроходец, звезда, кентавр, котик, кьюр, маркоташник, мастёвый, мужиковед, папа, парафин, пед, педагог, педарь, педе, педерага, педераго, педеряга, педигрипал, педик, педр, педрик, педрила, педрило, педрильник, педруччо, педя, петух, пидарас, пидарь, пидер, пидор, пидорас, пидорасина, пидораскин, пидораха, пидорюга, пидорюжник, пидорюк, пинчер, половой демократ, пэдэ, рудокоп, руслан, субчик-голубчик, такой, темовой, тёпленький, тёплый брат, хали-гали, чебурашка, чичеряка, шахтёр, шкицнурик, шура; активный: акт, актив, активист, георгин, глиномес, говномес, дятел, кочегар, марксист, педикатор, печатник, печник, печной ящер, ромео, солидол иванович, топтун, трубочист, уважаемый, чужежопник; пассивный: акробат, ананаска, армянская королева, бархотка, валет, вафел, вафёл, вафлеглот, вафлёр, вафлист, вафло, гребень, дама, даша, дашка, жена, женива, женщина, жопа, жопник, козёл, козлик, козочка, конь педальный, кочет, манька, маня, маргаритка, маша, машка, моргалик, мурка, наташа, наташка, незабудка, округлённый, пассив, педер, педерасик, педермот, петюнчик, петя, пидовка, пинч, плашкет, подруга, пярну, санта-лючия, Светка, сестра, туз червонный, умница, универсал, шпидагуз, шурик, шурин; изнасилованный: обиженный, опущенный, проткнутый, петух, петушня, петушок, петяра, пятёра, пятёрка
Антонимы
Гиперонимы
Гипонимы
324 1442916
>>42911

>какой же ты охуенный


Без комментариев, потому что ярчайшая грань бриллианта моего характера - это скромность.
image.png15 Кб, 487x630
325 1442921
>>42699

>В стандартной библиотеке всегда самые или почти самые производительные реализации


Ну такое.
Пример. Есть много точек заданных 8 float-ами, нужно удалить дубликаты. Я прикрутил туда std::unordered_map, и оно работало довольно медленно, 6458 мкс на 100к точек.
Мне стало интересно после твоего сообщения чем этот unordered_map занимается и я написал свой - все данные хранятся в цельном куске памяти (и "бакеты", и данные). Заработало где-то в два раза быстрее, но потом я нашёл ошибку и скорость стала лишь чуть-чуть выше.

Тем не менее вот этот говнокод: https://ideone.com/v6xbhx
На ideone что-то странное творится в rdtsc и clock - вот картинка с моего ноута. То есть для миллиона и особенно для тысячи моя штука работает ощутимо быстрее и лишь для десяти элементов моя фигня проигрывает, тому что там можно сделать оптимизацию, так как хеш-таблица не даёт выигрыша.
То есть первая же реализация от самоучки вроде меня без какого-либо опыта реальной работы оказалась не хуже реализации в std, при том что это первое что в голову пришло и я никогда не писал контейнеры или хеш-таблицы. Впрочем, допускаю мысль что я не умею пользоваться std::unordered_map и там нужно как-то по другому её использовать, чтобы она работала резвее.
326 1442927
>>42921
Вот этот вроде не совсем дебил.
Соболезную.
327 1442934
>>42852

>У меня быстрее.


В каком-нибудь синтетическом тесте с проебанными в нужных местах исключениями, из-за которых течет память
328 1442936
>>42921

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


Для этого придумали pool-аллокаторы, который у STL-контейнеров является шаблонным параметром.
329 1442941
>>42934

>течет память


Ебать ты криворукий дурачок.

>исключениями, из-за которых течет память


Ебать ты жопоголовый дебилоид.

Начинаю понимать из-за кого на плюсовиков смотрят как на говно.
330 1442947
>>42941
Маня, ты покажи код своего охуенного контейнера, а потом кукарекай.
331 1442948
>>42947

>покажи код


Деньги вперед, насекомое.
332 1442954
>>42936
Подскажешь как прикрутить или что прочитать? Хотелось бы сравнить. Я бы предпочёл по возможности всё-таки оставить стандартный unordered_map вместо своего, но только если там не будет 30% разницы.
Я полистал, нашёл только какую-то pdf-ку, где какой-то некомпилирующийся allocator_adaptor на несколько страниц и потом к нему ещё сам аллокатор. Но, насколько я понял, оно в любом случае будет в разных местах хранить бакеты и данные, потому что тип стандартного аллокатора содержит пары.
334 1443027
>>42626
можешь пояснить?
335 1443090
>>43027
Что именно не ясно?
336 1443094
337 1443096
>>43090
Почему placement new в конструкторе ub. У меня есть указатель, отчего он становится хуже в конструкторе?
338 1443119
>>42830
Наверное, spacer'ов забыл вокруг своего виджета добавить
339 1443121
>>43096
Стандарт описывает 3 так сказать периода для объекта.
1. Что можно делать вне lifetime объекта и не при работе конструктора/деструктора.
2. Что можно делать во время работы конструктора/деструктора.
3. И во время lifetime.

В первом и третьем периоде понятно что будет при placement new, а во втором — нет.
340 1443145
>>42921

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

хотя бы попробовал сначала использовать std::list, встроенную операцию unique()
342 1443160
Не инициализируется glew.
Все доп.зависимости подключил.
ide - visual studio 2019
https://pastebin.com/J2UCJpt6
343 1443168
>>43160
Я даун забыл написать glfwMakeContextCurrent(window);
344 1443182
>>43145
Ага, я же самоучка, ни одной книги не прочитал.
Ну-ка, а как сделать быстрее? У меня 10кк элементов. То есть подходит O(n) или O(n log(n)) с хорошей константой, памяти же почти сколько угодно.
В голову приходит или сортировка с последующим тривиальным удалением, или хеш. А я не верю в сортировку на 10кк элементов.

>>43151

>встроенную операцию unique


Вот замер для 1кк. Там же ещё отсортировать его надо. По идее, unique можно прямо во время сортировки делать, если переписывать сортировку.

>std::unordered_map за 238412.367 мкс


>me::unordered_map за 159842.574 мкс


>std::list+unique за 478863.221 мкс


Для 10кк там уже в 4 раза разница.
345 1443195
>>43182
бля, чувак, глянул твой код, ты там творишь лютую дичь: сначала делаешь find по ключу, проверяешь не найдено ли, а потом уже insert!
лол
это же unordered_map, почитай как она хоть работает, лол,
346 1443197
>>43195
и вообще тупо сделай на std::map, только правильно, блядь
image.png10 Кб, 999x131
347 1443247
>>43195>>43197

>а потом уже insert!


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

Теперь в map и unordered_map у меня в цикле лишь insert
В list в цикле push_back, потом один sort и один unique
В vector один sort и один аналог unique
Всё верно?
Любопытно, что вектор перегнал все стандартные контейнеры на любых числах, вот уж не ожидал.
348 1443250
>>43247
std::unordered_map<mm,tint,mm> kk(N);
ты задаешь количество сегментов хеша равным количеству вставляемых элементов
блядь, да почитай уже как контейнеры stl работают
349 1443341
>>43250

>количество сегментов хеша равным количеству вставляемых элементов


Что с этим не так? Я попробовал выставлять больше или меньше и получилось хуже. Размер примерно в 7/5 от количества элементов на одних данных работает лучше (когда совпадающих почти нет), на других хуже - потому я оставил равный.

>почитай уже как контейнеры stl работают


Прости, я видимо очень глупый, но если три раза повторить что нужно почитать как работают контейнеры stl, то я всё-равно не пойму чего ты от меня хочешь. Я примерно знаю как работают контейнеры и прочитал что делают функции, которые использую. Ещё сейчас открыл "Стандартная библиотека C++. Справочное руководство" и не нашёл там ничего существенно нового в соответствующих главах, по крайне мере на первый взгляд.
350 1443424
>>43341
вообще не выставляй руками количество сегметов
351 1443425
>>43341
вообще, твой код просто безумно плох, до него доебываться можно бесконечно, и это бесполезно
чего только стоит как ты сравниваешь вещественные числа..
просто пиздец..
352 1443427
в чем и проблема с самоучками
они могут писать 500+ строк кода в день, считать себя охуенными, но при этом вообще городить в коде лютую хуйню
при этом им ничего не объяснить, тк тупо у них базы нет чтобы понимать
353 1443443
>>42852
Толстота. Я уверен, что ты даже правильно производительность тестировать не умеешь. Кидай сюда код с тестами, посмотрим.
354 1443450
>>43424
Медленно, 400 мс вместо 250.

>>43427

>считать себя охуенными


Не было такого, я в самом начале указал, что мой код - говнокод, и что я не умею пользоваться unordered_map.
И мне всё ещё было бы интересно послушать чем мой код плох, как сделать его эффективнее и чем плохи мои флоаты.
355 1443459
>>43450
читани как сравнивать вещественные
356 1443460
>>43450
потом еще ты точно уверен что у тебя получается хорошая хэш функция?
357 1443464
>>43459
>>43460
Мелкобуква, нахуй иди.
Не пиши мне больше.
358 1443479
>>43459
Я в курсе как их сравнивать. В данном случае они до бита совпадают, это не результат математических формул, где нужно с относительной ошибкой в 1e-7 сравнивать. Можно их хоть как int-ы сравнивать.

>>43460
Уверен, что довольно посредственная. Я уже обнаружил насколько неравномерно она засовывает данные в таблицу и несколько раз поменял. При этом хорошая функция слишком медленная, с ней один только рассчёт хеша для каждого элемента дольше, чем весь алгоритм с обсчётом 1-3 коллизий для каждого элемента с плохой функцией.
359 1443502
>>43464
что не так, ублюдок?
недоучка, сравнивающий вещественные через == и делающий find перед вставкой insert в мапу
пнх, обсуждение закрыто
360 1443519
Аноны, помогите.
Написал скрипт чтобы тренировать свою способность складывать 16-ричные числа. Вроде всё работает, но если вдруг написать русскую букву, то уходит в бесконечный цикл.
https://pastebin.com/bPeK3K94
image.png59 Кб, 500x366
361 1443532
>>43459

>плюсы не могут в автоматическое епсилон сравнение

362 1443538
>>43519
1. else if там нинужен. ты тестируешь на ровно противоположное условие. там должен быть else. а можно даже без else, так как там break есть.
2. русская буква у тебя остается в буфере и не может попасть ни в какую переменную. а так как у cin в буфере что-то все-таки лежит, то он не ждет ввода. поэтому нужно его чистить руками https://stackoverflow.com/questions/257091/how-do-i-flush-the-cin-buffer
3. continue там тоже нихуя не делает
363 1443544
Принимаю функцией последовательность параметров, Params... params. Как закастить каждый параметр к нужному мне типу?
364 1443555
>>43544
функция_которая_кастует(params)...
365 1443556
>>43555
А смекалочка у тебя ничего.
366 1443558
>>43544
>>43555
>>43556
То ли дебил, то ли толстый семен.
367 1443799
>>43544
Бамп вопросу. Нужно что-то типо:
foreach(p : params)
{
cast<YOBA>(p);
}
368 1443804
>>43799
https://ideone.com/lfBCpX
Примерно такое по смыслу?
369 1443817
>>43799
я же тебе написал, долбоеб, вот тут >>43555

Для необучаемых - https://godbolt.org/z/MRoUBE
370 1443823
Пацаны, нужно реализовать чтение и запись txt файла из любой директории. Всё хорошо работает, пока в пути нет кириллицы. Если она появляется, то нихуя не работает. Пробовал wchar_t запилить, setlocale проописать, еще вот такую тему SetConsoleCP(1251) и
SetConsoleOutputCP(1251). Но без толку. Что ещё может сработать?
371 1443827
>>43804
>>43817
Вы угораете? Мне нужно не принтить парметры, а преобразовать для дальнейшего пересыла в другую функцию. Ваш способ не работает.
372 1443829
>>43827
ты совсем кретин? я ПРЕОБРАЗОВАЛ ПАРАМЕТРЫ ДЛЯ ПЕРЕСЫЛА В ДРУГУЮ ФУНКЦИЮ БЛЯТЬ.
sage 373 1443830
>>43827

>для пересыла в другую функцию


Ну и передай их в нужную тебе функцию вместо cout/printf, откуда я знаю что у тебя за функция.
374 1443846
>>43829
>>43830
Я еще раз повторю. НЕ РА-БО-ТА-ЕТ.
375 1443852
>>43846
иди нахер, дебил. Все
376 1443862
>>43852
Иди нахер, сам нихуя не знаешь, только путаешь и пиздишь. Без тебя справился. std::conditional_t мне нужен был.
377 1443920
ЛОООООООООЛ

Всегда подозревал, что в сфере C++ что-то не так. 41% долбоебов ВООБЩЕ не пишет тесты. Ну вы и уебки, пиздец просто.
378 1443926
>>43920
А нахуя совмещать работу кодера и тестировщика?
379 1443932
>>43920

> 41% долбоебов ВООБЩЕ не пишет тесты


> Картинка с юниттестами


Хорошо манюня. Попробуй подумать, какие еще тесты бывают, кроме юниттестов

мимо 0 юниттестов на небольшоим проекте, но тестовый пайплайн работает ~час
380 1443941
>>43932
Манюнь, ты мне не манюнькай - у тебя пайплайн тестируется час и нет юниттестов. Это само по себе зашквар, чуть лучше чем тестить руками
381 1443972
Есть ли смысл сейчас читать Лафоре 2004 год? Или лучше обратить внимание на какого-нибудь Страуструпа?
382 1443973
>>43941
да, все так. Только ты, судя по всему, не писал больших и сложных проектов, вот и несешь хуйню.
383 1443993
>>43920
Если еще пару тысяч зеленых сверху шлепнут, то буду и тесты писать. А так нахуй надо. На каких вообще галерах требуют от прогера написание тестов? ООО Рога и Копыта?
384 1444003
Народ, такой вопрос есть.
Допустим, я скомпилил DLL'ку, и затем использую ее в своем приложении. Приложение компилирую на том же самом компиляторе, то есть никаких проблем, связанных с name mangling, быть не должно. Но если я поставлю какой-нибудь флаг компилятора, который влияет на размер объектов, то получится, что DLL'ка и приложение используют класс из одного заголовочника, но при этом разного размера. Таким образом, из-за одного флага уже рушится бинарная совместимость?
И можно это как-то предотвратить, если у меня уже есть сторонняя DLL'ка (написанная на C++, без всяких "extern C"), про которую я знаю, что она была построена на таком-то компиляторе, но при этом без понятия, какие там флаги использовались?
385 1444042
>>44003
либо ты компилируешь все одинаковым компилятором, либо extern "C". Увы.
386 1444059
>>44042
А что делать с DLL'кой от сторонней библиотеки, у которой исходники не распространяются, а только .h, .dll и .lib файлы? Обычно поставляется несколько версий для различных компиляторов и конфигураций. Например, я скачал с сайта версию для Visual Studio 2019, платформа x86, конфигурация Debug. Соответственно, чтобы использовать эту DLL'ку, мне нужно создать проект на 2019 студии и поставить там x86/Debug, достаточно ли этого? Есть ли гарантия, что при компиляции этой DLL'ки не использовался, например, флаг /Zp? Ведь мне тогда его тоже надо выставить
387 1444061
>>44059
Если бы использовалось /Zp, то в хедеры бы заботливо прописали pragma pack, или что там. Я думаю, что тебе достаточно сделать именно то, что ты планируешь.
388 1444068
>>44061
понял, спасибо
389 1444123
>>37641
Скажите пожалуйста, при использовании 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

???
390 1444135
>>44123
Неужно спросить тут такое быстрее, чем набрать полторы строчки кода и проверить?
391 1444138
>>44135
Бля, в Qt за полторы строчки кода не проверишь, там нужно ебаться с интерфейсом. А console application там у меня почему то не работает. Поэтому да, проще спросить здесь.
392 1444141
>>44138
И нет ни одного тестого проекта с интерфейсом, где можно временно дописать эти несколько строчек, проверить, а потом стереть? Да не поверю.
Точно не знаю, но 99.9% что второй вариант. Не пересчитывать очень уж затратно.
393 1444142
>>44141
Очень надеюсь, что второй вариант. С первым все пойдет по пизде.
394 1444223
>>44123
Неужели так сложно прочесть?
remove не возвращает значение, значит - удаляет элемент без информации о нем.
operator[] принимает на вход 0 <= i < size(), значит, коллекция не разреженная.
Вывод: если ты из вектора размером в пять элементов удаляешь четвертый элемент, то пятый становится четвертым.
нахуй делать реализацию, отличную от std - хуй знает.
395 1444326
>>44223
Спасибо, анончик. Просто делаю все в спешке и часто упускаю важную инфу.
397 1444558
>>44369
Какой же этот синтаксис с [[хуйня]] нечитабельный, надеюсь что-то получше придумают
398 1444589
>>44558

>кресты


>что-нибудь получше


Скажи спасибо, что не _Vot так надо писать.
399 1444591
>>44589
co_ebaniy_syntaksis
400 1444612
>>44369
ГОДНОТА!

Ну и кто теперь скажет, что С++ говно, а джава/раст лучше?
image.png59 Кб, 845x600
401 1444621
>>44369
Искусный троллинг растоводов.
402 1444625
>>44369
Мда, а я так стектрейса ждал :(
403 1444700
Имеется простенькая (200 строк) консольная программа, написанная на С++. Или на С, не знаю как их однозначно различить.
В текущем варианте в нее забиваются 4 исходных числа и она считает по забитым формулам нужные значения. Нужно сделать то же самое, но в оконном интерфейсе. То есть чтоб было 4 поля для ввода, и рядом выводились результаты. ОЧЕНЬ желательно встроить в это же окно небольшой статичный рисунок и верхнюю выпадающую панель (как обычно бывает - "файл", "правка", "инструменты", "справка..." и т.д.), где можно выбрать язык и вызывать справку.
В гугл ходил. Вариантов решения СТОЛЬКО, что глаза разбегаются, и везде пишут, что на С такое писать довольно сложно и нетривиально. Кроме С ничего не знаю.
Посему вопрос к вам: с помощью чего можно максимально просто реализовать такую задачу? Нет ли какого-то конструктора, в котором можно распихать кнопки и поля ввода/вывода, присвоив им определенные переменные? И с помощью чего такие задачи "принято" решать?
404 1444704
>>44700
Я бы посоветовал QtQuick. Свой код на Си завернешь в С++ класс (сойдет простой копипаст) и сделаешь биндинги из него в QML (это делается за тебя, надо только пару макросов дернуть, очень тривиально, по гайдам разберешься). Используя экспортированные методы (это тоже очень легко), будешь потихоньку писать QML. Последнее -- самое сложное. Придется относительно много прочитать мануалов по компонентам на официальном сайте, но если не будешь прокастирнировать, справишься не дольше чем за неделю (да, даже если в первый раз услышал про Qt).
405 1444714
>>44704
Ну и зачем квик советовать людям, который даже кьют не трогали? Если телефоны не нужны, то на виджетах это всё делается за +- пару часов, можно даже просто пример из документации скопипастить и своего добавить. А пока человек поймет зачем нужен Q_INVOKABLE и в чём разница Q_OBJECT от Q_GADGET еще не мало времени пройти может. Ну а для саморазвития пусть берет то с чем не работал
406 1444718
>>44704
Залей куда-нибудь свой код и скинь сюда ссылку. Могу помочь с переписыванием на C++\Qt.
407 1444719
408 1444730
>>44714
Виджеты устарели и ненужны. Так-то и на винформах написать можно, но почему бы не совместить (не)приятное с полезным?
409 1444735
Я вот слышал что c++ для написания интерфейсов далеко не лучший язык. В связи с этим вопрос. Можно ли писать логику на c++, а интерфейс на совершенно другом, заточенным под это дело языком? Что то мне подсказывает что да, поэтому следующий вопрос: как тогда обмениваться данными? Можно ли сделать общее пространство в памяти, например?
410 1444741
>>44735
Лол а на чем ещё интерфейсы делать? Шарп - только виндовс, на никсах только си и кресты, жаба - вырвиглазное говно для пидороа, электрон для червепидоров, ногтевой грязи, пустышек
411 1444744
>>44741
Безэллектроновый html и js. Как например в firefox
412 1444747
>>44741

>электрон для червепидоров, ногтевой грязи, пустышек


и котомальчиков
413 1444750
>>44744
Клуб кожевенного ремесла два треда выше
414 1444787
>>44735
Тут пол треда про qt, але. Бек на крестах, фронт на qml и обожи жаваскрипте в составе одного приложения.
415 1444789
>>44735
А Шаред мемори тоже можно, но стоит ток если у тебя бек например в системе реального времени на выделенных ядрах.
416 1444804
Я немного отстал от жизни - в Visual Studio возможно писать как в борланде - нашлепать формочку, написать обработчик кнопки и чтобы работало более-менее от семерки до десятки?
Придется, правда, перенести проект с Си на кресты, но это вроде как лучше, чем делать гуи на одном winapi.
Господи, божественный <filesystem>
image.png69 Кб, 1090x503
417 1444806
>>44735
Плюсы для разработки может и не самый удобный язык хотя с учётом qml я бы с этим поспорил, но для пользователя со слабыми устройствами будет заметна реальная разница. Вот тебе скрин с гитхаба, где чувак просто написал спасибо, за то что разработчики не на электроне писали.
418 1444818
>>44806
Неужели qt настолько хорош? У меня пустое окно Может одна кнопка была . Не помню весило 30 мегабайт (оперативки)
419 1444850
>>44818
В дебаге тестировал? Я на телефон пишу приложение расписания для вуза с разными финтифлюшками и анимациями, память отьедает только когда отрисовываю таблицу в 50к пикселей шириной и то там оптимизаций много. А так за где-то час использования метров 5 если телефон правильно ее измеряет. Да и как выше ответили, на никсах у тебя собственно и выбора то нет.
420 1444860
>>44741

> жаба - вырвиглазное говно


Не согласен.

> для пидоров


А вот здесь ты прав.
421 1444861
>>44818
Нет, QT - говно говна для неосиляторов и вкатывальщиков.
422 1444862
>>44861

>этот ангулярный червепидор


Котомальчик, ты?
423 1444865
>>44862
Я тру крестобоярин и мне не нужен обосранный QT в котором я плачу абсолютно за все.
424 1444874
>>44865
Что вместо qt посоветуешь?
425 1444887
>>44874
С++.
426 1444890
>>44887
И как мне на чистом c++ сделать кнопку?
427 1444894
>>44865

>ваш С++ не С++, только этот С++ это С++

428 1444897
>>44890
Да.
429 1444908
>>44890
Точно также, как это делает QT, только без вагонов говна в придачу.

>>44894
auto (auto) auto -> auto
auto
return(auto)
auto
430 1444922
>>44908

>auto (auto) auto -> auto


>auto


>return(auto)


>auto



Охуенно же почти как язык богов ЯваСкрипт
.jpg16 Кб, 480x360
431 1444932
>>44861

> QT - говно говна для неосиляторов и вкатывальщиков

433 1444948
>>44936
Чего он налысо то не побреется?
434 1444951
>>44948
Он бреется, но не часто, так как некогда.
435 1445021
>>44951

>так как некогда


Проиграл.
436 1445102
>>44704
>>44714
>>44718

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

Код кидать не буду, постараюсь сам сделать. Или нафиг брошу, циферки в консоли и в окне программа пишет абсолютно одинаковые.
437 1445137
>>37014 (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 загнать два первых значения. Что-бы в битовом представлении они стояли друг за другом. Как это в с++ сделать?
438 1445151
>>45137
type=&(uint16_t *)buffer;
439 1445156
>>45151
error: cannot take the address of an rvalue of type 'uint16_t ' (aka 'unsigned short ') type = &(uint16_t *)buffer;
440 1445165
>>45156
И в самом деле, пардон
type= (uint16_t )buffer;
441 1445166
>>45165
Ебал абу и эту парашу всю
type=х(uint16_t х)buffer;
х на * сам поменяешь
442 1445173
>>45166
На этой доске работает тег code, чё вы им не пользуетесь?
[code]
auto * myPtr = getPtr();
[/code]
444 1445177
>>45166
THX Anon
445 1445251
>>44908

>только без вагонов говна в придачу


Как нарисовать кнопку без qt?
Я другой, и я умею через winapi, но это довольно неудобно, некроссплатформено и даже цвет по нормальному не поменять. И ещё я могу написать вручную, но это ещё подумать нужно, что неубоднее, winapi или ручная отрисовка через тот же winapi.
446 1445252
>>44750
обосрался
sage 447 1445438
>>44806

> Вот тебе скрин с гитхаба, где чувак просто написал спасибо, за то что разработчики не на электроне писали.


За что разработчики назвали его инвалидом.
448 1445459
>>45438
Это где? Вангую это потому-что он это в issues написал
449 1445509
>>45459
да не обозвали, а тегнули ищью как invalid. а тамбсдаун и конфюзд реакции от двух залетных жаваскрипт-детей, которые в телегу даже не коммитили
450 1445518
Привет, крестобояре. Ньюфаг итт, так получилось, что накинули интересную задачку на плюсах, с которым я не знаком до этого только писал на них калькулятор и читал книжку. Хочется уточнить:
хули всё так через жопу??
ты качаешь либу, которая ссылается на файлы из другой либы, которую ты качаешь с оф. сайта, которая ссылается на свои собственные хэдеры, которых в ней НЕТ
это что блять за ебанутая система?? мне по кусочкам в интернете собирать это говно? серьезно?
я имею ввиду, это так и работает или я долбоёб?
451 1445519
>>45518
которыми*
очевидно
452 1445528
>>45518

> интересную задачку на плюсах


И где задача?
453 1445532
>>45528
организовать прием нескольких параметров с веб-интерфейса через веб-сокет. в данный момент, по сути, запилить просто маленький недосервер, с дальнейшей передачей они там сами пока не в курсе, лол
454 1445536
>>45518
Двачну вопрос. Вот я захотел написать проект. Для этого мне нужна либа1 и либа2. Как мне по-быстрому их интегрировать в свое окружение?
455 1445537
>>45532
Ну возьми лучше го какой-нибудь. Там всё для этого есть в языке.
456 1445542
>>45537
К сожалению, стэк технологий (тм) определен не мной.
Алсо, вопрос то был в другом: такая ебля с либами и путями - это нормально (eclipse, если это важно)?
457 1445544
>>45536
vcpkg instal liba1 liba2
458 1445545
>>45544
А подробнее? Я из шарпа качусь, там две кнопки нажал и все в проект само установилось и настроилось. Тут также?
459 1445548
>>45545
погугли слово vcpkg
460 1445550
>>45548
Погуглил. Мне это отдельно надо устанавливать или оно уже в студии где-то есть?
461 1445552
>>45548
Чему детей учишь, пидор?
CONAN - единственный нормальный пакетный менеджер.
462 1445553
>>45552
иди вместе с конаном в петушиный угол, или в кровавый интерпрайз. Лучше вцпкг для домашних проектиков нет вообще ничего.
463 1445554
>>45552
>>45553
Так что лучше-то? Может есть аля плагин для студии? Чтобы я две кнопки жал и все устанавливалось в проект?
464 1445555
>>45554
ты 1 раз ставишь вцпкг, 1 раз его интегрируешь (почитай ридми на гитхабе блять), и после этого все, что ты устанавливаешь в вцпкг доступно всюду и везде
465 1445557
>>45555
Ясно.
>>45554
Лучше скачай либу что тебе нужна и ручками добавь include и link directories.
466 1445565
>>45557
Так это долго и нудно. Качать, по папочкам раскидывать и все такое. Иногда вообще не удается подключить либу, ибо ее прекомпилить надо отдельно.

>>45555
Вроде решение от майков, поэтому должно работать. Благодарю за помощь, буду разбираться.
467 1445567
>>45532
Я б по быстрому поднял QWebSocketServer, но вам виднее.
468 1445580
>>45565
Долго и нудно? У тебя две либы. Не вижу сложностей распаковать два архива и вставить четыре строчки в проект.
1467106998124.mp41,6 Мб, mp4,
360x360, 0:56
469 1445597
Помогите плиз с шаблоном Model-View в Qt. В первый раз в жизни буду использовать этот шаблон, поэтому не совсем все понятно.
Я пытаюсь запилить клон фотошопа. У меня есть основной класс QMainWindow и дополнительный класс LayersWidget, который я собираюсь запихнуть в правый тулбар. LayersWidget отвечает за слои, в правом тулбаре должен отображаться список этих слоев с миниатюрами и названиями слоев (как в фотошопе).
В шаблоне Model-View есть модель, представление и делегат. Я собираюсь использовать табличное представление информации, в одном столбце миниатюра, во втором название.
Ну так вот, что из всего этого будет Model, что - View, и что - делегат?
Пока думаю так: Model внутри LayersWidget, View в QMainWindow, а вот насчет делегата пока не совсем понимаю, что это и как это должно выглядеть.
А не является ли все это оверкиллом в данной ситуации?
470 1445603
>>45597
Мухи отдельно, каклетки отдельно.
471 1445607
>>45603
А делегаты?
472 1445611
>>45603
А насчет оверкилла что скажешь? Не кормлю ли я мух пиццей флорентиной?
473 1445761
Есть один h-файл c кучей функций и два cpp-файла к нему, из который активно трогаю только один (который меньше второго в 10 раз). Когда меняю что-то в h-файле, он перекомпилирует всё около 40 секунд. Если я второй крупный cpp-файл превращу в lib - оно будет быстрее перекомпилироваться при изменении h-файла или время занимает разбор непосредственно h-файла и остаётся только терпеть?
Разделение на три h-файла (там классы взаимодействуют, изменяемую часть нужно вставлять где-то в середине) не помогло, или я как-то не правильно их разделил. Причём, там вроде бы нет ни шаблонов, ни какого-либо сложного наследования, суммарно кода на 3к строк, не более, я не понимаю почему оно так урывается. И это даже без -O2.
474 1445851
Вопрос как посчитать в buffer битовые серии из 0 и 1.
То-есть подсчитать количество непрерывных серий из 0 и непрерывных серий из 1.
И запомнить расположение этих серий.
Кто-то знает ответ?

[code]
unsigned char* buffer;
buffer = new unsigned char[10000];
//Заполняем buffer всякой лабудой. buffer заполнен.
//???? тут надо посчитать серии.
delete[] buffer;
[/code]
475 1445865
>>45851
Ты че, цикл не можешь написать?
476 1445869
>>45851
Пишешь функцию доступа к произвольному биту, потом ищешь последовательности 011 и 100, ну и края отлельно.
477 1445870
>>45869

>функцию доступа к произвольному биту


Раздупли плз.
478 1445874
>>45870
Используй std::bitset
479 1445877
>>45761
А какой компилятор?
480 1445882
>>45869
Эта функция доступа называется operator[]
481 1445884
>>45882
Так это доступ к байту же вроде
483 1445887
>>45870
Не епта
int getBit(int n)
{
return buffer[n/8] >> (n%8);
}
484 1445888
>>45887
Вернее
return (buffer[n/8] >> (n%8)) & 1;
485 1445930
>>45580
нахера, когда можно сделать vcpkg install?
486 1445964
>>45877
mingw
487 1446014
>>45964
Тогда странно. Обычно MSVC тормознее. Может у тебя зависимости там какие-то. Лучше в любом случае хидер по отдельным файлам разнести, и оставить там самый минимум. Например, можешь имплементации в отдельные файлы вынести, и инклудить их в cpp.
488 1446021
>>45761

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


Причем тут это, если как я понял от него зависит первый большой сурс файл, который так долго каждый раз и перекомпилируется?
489 1446104
>>45886
>>45884

Вы че, дебилы?

> buffer = new unsigned char[10000];

490 1446137
>>46104
Двач сожрал звездочку, успокойся.
Тут все дебилы по определению.
Это ж двач, помойка интернета.
491 1446343
>>46021

>от него зависит первый большой сурс файл


Не знаю. Изменения в любом cpp-файле то за 1 секунду перекомпилируются.
Грубо говоря, есть три класса, методы первого и третьего в крупном cpp-файле, методы второго в я редактирую в мелком cpp-файле, и изменения в h-файле касаются второго класса (но в третьем классе есть ссылки и указатели на второй - наверное компилятор просто вот это всё учитывает, и в lib файл это всё-равно не получилось бы загнать - это я глупость спрашивал, наверное).

Я что-то разбивал, объединял и сильно лучше стало в какой-то момент, всего секунд 5-8, хотя h файл такой же, просто с изменённым порядком некоторых частей. Так и не понял что это было.
изображение.png28 Кб, 774x833
492 1447187
Сап, крестач.
Есть одна тян один код
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
493 1447220
>>46343

>Изменения в любом cpp-файле то за 1 секунду перекомпилируются.


Ну-ну
494 1447260
>>47187
У компилятора по ссылке там наверное оптимизации (например заменяет data.size() на SIZE). Можешь сам явно такую замену сделать, или объяви BUFF как статическую константу, также как и BUFF.
sage 495 1447262
>>47260

> объяви BUFF как статическую константу, также как и BUFF.


имелось ввиду "объяви BUF_SIZE как статическую константу, также как и SIZE."
496 1447274
>>47187
Ты не понимаешь что такое std::array. Замени на векторы и не еби мозг.
497 1447331
>>47274

>Ты не понимаешь что такое std::array


Это да, но все же.
Какой из компиляторов себя правильно ведет?

>Замени на векторы


У меня не продакшен. Курю книжку по алгоритмам.
Так-то и всей книжкой можно жопу подтереть в пользу STL.
498 1447385
>>47331

> Какой из компиляторов себя правильно ведет?


Они оба правильно, просто один достаточно умный а второй ни очень. Попробуй может с начтройками оптимизации в студии поиграться, для тестов.
499 1447387
>>47385
Наверное стоит 17 стандарт врубить, там вроде constexpr в stl завезли
500 1447392
Зачем в объявлении указателя на функцию так дохуя скобочек?
501 1447446
>>47331
Студия верно все делает.
Статический массив выделяется на стеке и размер должен быть известен до компиляции. Тем более тут размер - это аргумент шаблона, они тоже вычисляются на этапе компиляции. А когда это не constexpr функция, есть вероятность, что ты в нее можешь передать что-то, неизвестное на этапе компиляции - вот тебе и ошибка, чтобы ты потом не выстрелил себе в ногу, когда будешь размер массива вводить через консоль.

Ты можешь использовать vector вместо array, суть изучения алгоритма из книжки не изменится.
А можешь закурить operator new или умные указатели, тогда тоже получится.
502 1447456
>>47446

> что ты в нее можешь передать что-то, неизвестное на этапе


В ту функцию можно передать только массив конкретного, известного при компиляции размера.
503 1447480
https://docs.microsoft.com/en-gb/windows/win32/toolhelp/taking-a-snapshot-and-viewing-processes
На что указывает число 32 в названии?
504 1447497
>>47480
Ни на что, эта функция отлично работает на х64 и видит 64хбитные процессы
505 1447566
>>37014 (OP)
Продублирую также сюда.
Здравствуй, погромач.
О себе, в ВУЗике кодил на крестах,есть вышка тех.вуза,26 лет, 2 года работы в тех.поддержке.
Понял, что очень сильно хочу писать программы для бизнеса, а точнее для бирж. Боты, программы и т.д.
Недавно занялся трейдингом(2 месяца), и даже достаточно успешно. ДС, сижу на шее у мамки, ввиду трейдинга зарабатываю где-то 100 баксом в неделю,что хватает на жизнь и двачевание. Сейчас я сижу и читаю про всякие генетические алгоритмы и прочую сложную финансовую еботу и понимаю, что это моё. Итак,есть два стула- оба стула ведут туда,куда я хочу( в разработку ПО либо на node.js либо на крестах)
На одном кресты точеные, на другом фронтенды дроченые.
Первые два курса я учился, и учился неплохо и даже обучаем, раз смог закончить, но всё таки я положил хуй из-за преподов и лени на кресты.как я понял, что на ноде,что на крестах ебашат софтину для финансового сектора. Поэтому я буду учить что-то,либо кресты,либо ноду,так как время и силы и желание есть- нет только понимания.Оба языка на мой взгляд учить около 2-ух месяцев жесткого вжоба по 15 часов.
Я пришёл за советами мудрыми, двач.
Зашел я такой на ХХ и увидел,что там не особо много вакансий для junior.
1)Куда легче вкатится на позицию junior ,учитывая то, что С++ не дает много позиций, а фронтенд переизбыточен?Т.е. во фронтенд хотят все,слишком много ебучих джунов,никому они не нужны.
2)Что в итоге,учить дольше на джуна?
3) Что в итоге чаще используется в реальном продукте для финансового рынка- С++ или JS с его диалектами?
Если кто-то работает в где-то -может кто-то рассказать, на чём вы пишите и что конкретно делаете.
4) На С++ работы много, но там требуется от года, т.е. не джун, а миддл. Есть ли возможность скипануть как-то год, посидев где-то в опенсорсе и пописав просто за еду/опыт?
5) есть ли компании,которые берут вот совсем за еду, но чтобы блять у меня была ебучая запись в трудовой, о том, что я не олень. Как их найти?
1560818272210.jpg52 Кб, 600x450
506 1447569
По QML вопросы можно задавать здесь или лучше в жсдыре?
Неужели нет нормального автоформаттера для QML? Я должен код руками форматировать что ли? пиздос. а qmlfmt из аура не собирается потому что кто-то обосрался с cmakeом или у меня слишком новая версия мне что руками его конпелировать блядь.
507 1447583
>>47569
Enjoy opensource
508 1447584
>>47566
Hft это либо кресты, либо раст. Но нодомакакой устроиться в разы проще да
509 1447653
>>47456
По замыслу - да. По тому, как она написана - нет.
510 1447654
Как устроен класс string? Он работает по типу "Заносим входные данные в temp массив, копируем в динамический" или как-то по другому?
511 1447664
Как приостановить выполнение другого процесса?
512 1447679
>>47654

>Как устроен класс string? Он работает по типу "Заносим входные данные в temp массив, копируем в динамический" или как-то по другому?


Короткие строки пишутся прямо в экземпляр класса, поверх данных, для длинных - аллокация.
513 1447751
>>47654
читаем то, что дают, аллоцируем новый массив, если старого недостаточно - копируем туда

но на самом деле все сильно сложнее
514 1447894
Вот есть некая функция https://ideone.com/IkQoKe я могу вместо char написать char&, что по сути изменится в программе? Работает идентично.
515 1447957
>>47894
Тут ничего, ты возвращаешь ссылку на чар, что уже как минимум затратно для малых типов. Далее, если ты результат функции сохранишь для дальнейшего использования, а твоя строка будет уничтожена, у тебя будет ссылка на хуй пойми что. Если бы вернул просто чар, то он бы сохранился и делай что угодно.
516 1448070
Пытаюсь написать класс для создания/чтения BMP файла. Пишет без ошибок. Размер уже созданного файла совпадает с тем что задумано. Но при попытке открыть файл просмоторщиком постоянно выдает.

>premature end of file encountered


Что делать, кто что подскажет?
517 1448076
>>48070
Может в конце EOF выводить?
518 1448100
>>48076
В ручную? Вроде же так не делается.
Да, и что делать тогда с размером файла?
519 1448113
>>48100
Я ошибся. Может быть фактический размер не совпадает с ожидаемым.
520 1448114
>>48113
Так, в том то и дело что совпадает.
521 1448137
>>48070
Скорее всего неправильно заполняешь хедер.
522 1448160
Я понял. Почему с msdn исчезла страница с описанием функции ReadProcessMemory?
523 1448161
>>48160
*я не понял
524 1448218
>>48070
Кидай код.
Может, хэдэр неверно записываешь или мусорные пиксели не так воспринимаются.
Пикча с шириной % 4 == 0 открывается?
525 1448314
Анон виз трабл хиар.
Есть класс Executor с перегруженным operator(). Есть функция execute, которая возвращает объект Executor'a.
Хочу, чтоб запустить экзекутор можно было только так:

> execute(&InterfacePtr)("sup dvach");


Без возможности сохранить его как-то где-то, а позже запустить типа:

> Executor exe = execute(&InterfacePtr);


> ...


> exe("sup dvach");



Объявил все конструкторы копирования, перемещения, operator= всех видов deleted и ещё попробовал унаследовать boost::noncopyable - проект продолжает нормально компилироваться и работать со строкой
Executor exe = execute(&InterfacePtr);
Как побороть это?
526 1448317
>>48314
deleted не для этого.
В private секцию перенеси все. Во всяком случае, Саттер и Александреску именно так и советуют.
527 1448324
>>48160
Либо простое распиздяйство, либо часть процесса по выпиливанию того, что не совместимо с новыми виндоусами.
528 1448325
>>48324
Она же работала на десятке
529 1448332
>>48325
Значит проебали просто.
Напиши на msdn в каментах, например, к описанию WriteProcessMemory.
530 1448363
Поцоны ребята, куда можно закинуть код чтобы его хорошенько полили говном но при этом дали грамотных советов как надо было сделать нормально?
531 1448364
>>48363
Сюда нет
никому твой код не нужен, лучше книжки почитай да на другой код посмотри
532 1448379
>>48363
На любой форум. Мог бы на двач залить, сказав бы "гляньте какой я крутой код написал". Тебе бы сразу 100500 недостатков нашли бы
533 1448403
Сколько бит может занимать переменная в памяти? Планирую искать значение переменной в памяти и подумал о том, что переменная может занимать 2 байта, а я ищу ее с помощью переменной размером в 4 байта. Получается я никогда не найду ее. Но это еще ладно. Вдруг разрабы заморочились и сделали переменную в 12 бит. Такое может быть? Я планирую использовать bitset и обрезать до первого значащего бита слева. Сработает?
изображение.png17 Кб, 546x619
534 1448432
>>48363
Да хоть сюда. Вот пример.

Смотрите, какой я хуевый код написал. Перепишу на кресты - вообще от убогости охуеете.
535 1448527
>>48403
ну, можешь сначала по байтам шагать
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, и т.д. (реализация побитовыми сдвигами, естественно)
ну и.. ты понел. Пока ты думаешь, комп уже давно бы все варианты отработал
536 1448607
>>48527
Вот о чем еще подумал: мне надо будет отследить значение переменной. Вот это самое сложное наверное. Мне ее размер знать нужно. Допустим я смогу как в cheat engine отследить последнюю операцию, изменяющую эту переменную. Можно ли отсюда узнать размер этой переменной? Посмотреть сколько бит, например, move копирует в ячейку памяти и узнать размер переменной. Может ли быть такое, что переменная занимает 16 бит, а для ее изменения программа перезаписывает не все 16, а , допустим, нужные 9.
537 1449127
>>48527
>>48607
>>48403
Остановитесь, наркоманы.

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

гуглируй поиск подстроки в строке
538 1449152
>>49127
Адекват в треде. Я спокоен. Спасибо большое.
539 1449154
>>49152
Можно еще вопрос? Как правильно выбрать алгоритм для поиска? Он же не один
540 1449157
>>49154
КАРАСИК название выбирали на дабл
https://ru.wikipedia.org/wiki/Алгоритм_Ахо_—_Корасик

Если не выебываться, лучше обычным перебором. Один хрен больше 8 итераций во внутреннем цикле не будет.
541 1449190
>>49127
А если массив плотно запакованных 12-битных значений? А если big endian? Не все так просто...
542 1449214
>>49190
Так-то да. Хотя здоровый человек не будет экономить 4 бита на значение (с минусом к скорости доступа), если только их не миллиарды. Тут могу проебаться, но endian должен совпадать, т.к. обе программы в одной среде выполняются.
Короче, случаи разные бывают, затачивайся хоть под 13-битный float, если надо.
543 1449458
В книге сказано, что вот это вот, указатель на массив из 7 элементов
int (ЗВrf)[7]= &arr; где arr = массив из 7 элементов
Собственно, если это указатель на массив, то почему звrf выдает какие то рандомные числа? И вообще, чем эта запись отличается от int *rf=arr; Которая выдает нормальные числа.
544 1449581
Как правильно обрабатывать ошибки и коды возврата в конструкторе/деструкторе? Без ЭКСЕПШЕНОВ.
545 1449582
>>49458
Потому что если arr в выражениях то же самое, что &arr[0], это еще не значит, что arr != &arr. У тебя нет отдельного указателя на этот массив, чтоб сделать указатель на указатель. У тебя есть только сам массив, и его адрес, с которым связано его имя, для конпелятора такая же относительная константа, как и адрес любой другой переменной.
546 1449583
>>49458
короче, смотри
int arr[10];
int ∗ptr = arr;
ptr - адрес первого элемента arr,
&ptr - адрес переменной, которая содержит адрес первого элемента arr.
Ты можешь передать указатель на указатель какой-то функции, чтоб она его поменяла, но не можешь передать &arr таким образом, чтоб после вызова arr ссылалось на другой массив, логично ведь. Потому что выделением памяти под arr и определением адреса относительно текущего фрейма в стеке заведует конпелятор.
547 1449585
>>49458
Конпелятор не выделяет для хранения этого адреса отдельную переменную, он сам этот адрес каждый раз подставляет (lea ..., [rbp + смещение_массива_по_текущем_фрейме])
548 1449586
бля, как же я хуёво объясняю((
549 1449594
>>49458
Знаешь, в физике есть такой метод "анализ размерностей". Это когда если слева от = метры, то и справа должны быть метры, а не килограммы, иначе это не выражение, а хуйня.

Давай подумоем, какой тип имеют 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

У меня уже давно такое чувство, что половина вопросов в треде от каких-то скриптодетей, неспособных осознать само понятие типа данных. Зачем, лучше на двачах спросить, где звездочку поставить.
550 1449598
>>49594
так и есть, распидорасило
test, блять

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

>((rf) + i)


((rf) + i)
[code]((rf) + i)[/code]
551 1449601
>>49598
ебаный рот этой разметки
((rf) + i)
552 1449634
Вот есть int a;
&a - адрес a; А где хранится этот адрес? И где в таком случае хранится адрес адреса?
553 1449644
>>49634
Вот именно, что адрес адреса нигде не хранится, поэтому при взятии адреса массива ты получаешь тот же адрес первого элемента. Для фокусов адресами адресов надо делать отдельный указатель, и с ним уже играться хоть в попу.
554 1449651
>>49594

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


А у меня такое чувство, что книжки по C++ пишут те самые скриптодети.
Книги по С++, не буду их перечислять, но они считаются топовыми, объем 1000-1300 страниц. И, блядь, нигде толком не описана такая базовая вещь, как синтаксис объявлений. Везде дается только интуитивное представление о самых простейших случаях.
555 1449750
>>37014 (OP)
Ну почему? Почему вы cout называете каут, а не сиаут? Clang у вас это клэнг, а не силэнг. Постоянно с этого охуеваю.
556 1449761
>>49750

>clang


ШЛАНГ
558 1449964
>>49769
Очевидно, что имеется ввиду не звон, а c-languages.

Покормил жир.
559 1449976
>>49964
а теперь посмотри какое-нибудь выступление Чендлера Каррута, и послушай как он произносит, гений.
560 1450110
>>49750
Сиаут, кланг. Силэнг это Си.
561 1450112
Там новые видосы с С++ user group залили.
Алсо, всем джавистам и растоводам, которые тихонько сидят итт, посвящается: https://www.youtube.com/watch?v=LZflL44SVVY

С++ лучший язык программирования. Ноудискасс.
562 1450116
>>49976
А создатель gif произносит его как джиф, хотя и расшифровка сокращения и грамматически оно произноситься как гиф. Вот только нормальным людям похуй.
123.png16 Кб, 800x448
563 1450121
Помогите, пожалуйста, с пикрилом.
Почему, если я ввожу в консоль 3.51, то в переменную типа float записывается значение 3.50999999?
Зачем вообще такое поведение нужно?
Буду благодарен, если подскажете термин для гугления этой особенности.
564 1450124
>>50121
Может ты еще думаешь, что 0.1 + 0.2 = 0.3 ?
565 1450127
>>50124
Всё, нагуглил, спасибо.
566 1450164
Есть класс с шаблонным конструктором
template <typename U>
TreeNode(U&& value) : m_value(std::forward<U>(value)) {}

Как определить отдельный copy(move) конструктор для него? Обычным способом то он продолжает пытается инстанцировать шаблон.
Алсо где перекат?
567 1450171
>>50164
Ну же. У не шаблонных функций приоритет же вроде
https://ideone.com/yKSNEi
568 1450190
>>50164
move
o
v
e
Ссу в рот forward-блядкам
569 1450197
>>50190
Ты ахуел? Перфект ворвардинг сейчас принято везде пихать.
570 1450198
Какая разница между:
return {}
return T{}
return ()
return T()

???
571 1450199
>>50197
Куда ты блядь собрался perfect forwarding пихать? Ты один хуй копируешь, зачем тогда эти ебанутые конструкции?
572 1450206
Раз уж тут речь про forward зашла, пересылку std::forward<T>(value) нужно принимать, как T value или T&& value?
574 1450215
>>49750

>Почему вы cout называете каут, а не сиаут?


Ни разу не слышал "каут".
575 1450598
>>37014 (OP)
Привет. Существуют ли анализаторы кода, но не те, который выдают потенциально опасные места, типа не юзай здесь tie, поставь const бла-бла-ла, а который занимается тем, что следит за количеством пробелов и расставлением {, например и так, чтобы он подстроился под мой стиль? То есть почти любая idea ставит за тебя скобочки, которые могут неприятно подъебать, visual studio пробелы ставит после того, как ты напишешь ;, а вот готовый код отредактировать? Мб это есть в vs и я никогда на это не натыкался?
576 1450601
>>50598
clang-format, линтеры?
577 1450627
>>50598
В студии есть кнопка format document
578 1450658
>>49581
Бамп вопросу. Актуально же не? Надо логгер какой-то пилить насколько я понял? Но как это правильно синхронизировать?
579 1450662
>>49581
>>50658
Отрезать себе руки нахуй, чтобы никогда не могли больше такую хуету писать.
580 1450667
>>50662
Ты чего нервный такой? Если не знаешь ответа на вопрос, то просто ничего не пиши и пройди мимо.
581 1450690
>>50667
Ну тогда объясни, на кой ляд тебе сдалось обрабатывать ошибки в конструкторе? Либо не проверяй свои проверки до создания, либо после.
582 1450719
>>50690
Ты угораешь? Конструктор для чего нужен? Чтобы объект создать. Как мне обработать "ошибку" при его создании? Возвращать null? А если я хочу знать, в чем конкретно проблема и получить какой-то статус?
583 1450722
>>50719
Что такое зашито в твой конструктор, что он может отработать с ошибкой?
По-хорошему, он должен только инициализировать поля класса, остальная логика - в методах.
584 1450726
>>50722
Потому что я не хочу использовать эксепшены. Логика в конструкторе связана с инициализацией объекта. Не писать же отдельно метод Initialize? Можно конечно, но я не хочу.
585 1450741
>>50726
Причем тут исключения, я не о том.
Хочешь говнокод - пиши конструктор, который делает всё. Нахуй только тебе класс в этом случае, уж не знаю. Пиши как на си, круто же. Посмотри у winapi, охуенно ошибки обрабатывает.
Конструктор должен отработать быстро и, желательно, без ошибок, потому что зачем тебе выделенная память, раз твой объект невалидный?
А если тебе нужен контейнер этих объектов - ты будешь ждать три года, пока конструктор каждого объекта отработает, а потом ещё и проходить по нему в поисках ошибок, исправлять их? Интересный ты.
586 1450742
>>50741
Я и пишу обертку над винапи. Вот я создаю в конструкторе объект через WinApiJopaInit, ОС вдруг ебанулась и выдает мне статус об ошибке. И что мне делать в таком случае?
587 1450786
>>50742

>ОС вдруг ебнулась


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

>И что мне делать в таком случае?


Что-что. Реинициализировать объект.
Только поэтому лучше иметь метод init, а не делать это все в конструкторе. Этот же метод и вернёт тебе код ошибки, в котором ты проверишь успешность завершения.
Подумай сам: если ты инициалируешь только поля твоего класса и последующий init падает/возвращает не ноль, то ты корректируешь его аргументы и вызываешь заново init.
А если твой охуенно хитрый конструктор падает, то тебе нужно все равно иметь такой же метод init с кодом, копирующим код конструктора для повторой инициализации. Либо ты вызываешь деструктор только что созданного объекта и создаёшь его заново, что тоже такое себе.
588 1450798
>>50742
Делать фабричный метод.
589 1450832
qsort( &a,(bool ()(void , void *))(ind ? numcmp : strcmp));
Ругается на знак вопроса. Почему? numcmp и strcmp принимают ссылку int или ссылку на строку соотвественно
590 1450837
>>50832

>numcmp и strcmp принимают ссылку int или ссылку на строку соотвественно


this.
В операторе ? аргументы должны быть одинакового или неявно приводимого типа.
591 1450846
>>50837
А как тогда сделать? Надо чтобы в случае сравнения чисел функция принимала ф-цию сравнивающую числа, а в случае строк, сравнивающую строки.
592 1450856
>>50846
В лямбду оберни
593 1450959
Что есть cin? Не могу понять. Эту херню можно даже в функцию передать.
594 1450963
>>50959
Обычная структура с перегруженным оператором >>.
Можно сделать свою и тоже передавать в любую функцию.
595 1451030
Можно написать
[code]
int* d=new int[6];
B
[/code]
596 1451031
>>51030
Снова отправилось само собой.
Можно написать то же самое для класса с конструктором без аргументов.
А если конструктор имеет какой-то аргумент, то как это записывается?
image.png21 Кб, 586x685
598 1451143
qtCreator подсвечивает отключённый через директивы код. Причём, если я явно в этом же файле не пропишу нужный мне дефайн, он не станет его подсвечивать, чтобы бы я там не указывал в остальных файлах (то есть если я ставлю директиво в cpp-файле и сразу за ней же инклюдю h-файл, оно всё-равно воспринимает его как отключённый). Есть способ отключить эту фичу, чтобы он подсвечивал этот код так же, как и остальной?
Если просматривать код можно просто перекопировав код в условный notepad++, то вот редактировать код с директивами в креатере категорически неудобно.

>>51061
Ну понятно, так я и сам могу.
1476446637500.jpg219 Кб, 1024x1024
599 1451430
Аноны погромизды, как качать скилл в плюсах когда выучил только основные знания плюсов в универчике, что писать, что читать, где можно брать задания с подсказками ?
600 1451440
>>51430
Всё от Скотта Майерса
601 1451496
Не могу понять, зачем в классе после списка параметров писать const, в книге как то непонятно обьяснено.
602 1451499
>>51496
Хотя разобрался, без const нельзя будет воспользоваться функцией, если экземпляр класса константный. хотя зачем может понадобиться константный экземпляр класса
603 1451514
>>51499

> хотя зачем может понадобиться константный экземпляр класса


профнепригоден
604 1451517
>>51496
Это означает что функция не может изменять переменные класса.
605 1451539
>>51496
>>51499
Почитай про const-correctness
606 1451632
>>51430
Попробуй написать что-то реальное, особенно если есть современная мобилка. Для алгоритмов бери классику и ебашь.
607 1451675
>>51632
Ну так я бы и хотел написать что то реальное, но что ? Мне бы какое нибудь шаблонное, но интересное задание с подсказками как надо, и при чем здесь современная мобилка?
608 1451715
>>51675
Делай имиджборду.
609 1451719
>>51430
С. Прата - Язык С++. Лекции и упражнения.
610 1451743
>>51675
Смотря что хочешь научиться делать. Можешь телеграмм бота какого-то полезного замутить я бота-хранилище написал, если какую-то конкретную технологию, скажем, QML, то сделай приложение с использованием какого-нибудь АПИ простой клиент ВК скажем, можно написать калькулятор для графов с гуем где ввод пальцами идёт, я ебу, сам придумай что-то под свои нужды.
611 1451744
>>51743
Ай бля проебался, у тебя только начальные знания. Ну тогда выбери какую-то область сети скажем и изучи хотя-бы базовую теорию по теме, паралельно выполняя примеры из учебников/инета. Потом уже если почувствуешь силы начинай что-то более-менее серьезное писать
612 1451751
Сейчас меня нахуй пошлют, но так или иначе.
В ойти порядка 2.5 лет. Писал на джаве\дотнете\сейчас пишу на ГОвне. Заебал ебучий энтерпрайз, хочу в геймдев\3d вкатитца. Знаний математики\алгебры у меня нет.
После всего того, на чем писал, плюсы кажутся чем-то божественным. еще бы пекейдж- менеджер по- умолчанию, а не ублюдочные инклюды - и просто пушка. Сколько времени уйдет изучить тот же opengl/dx12/vulkan и иже с ними математика, геометрия? ?
И, собсна, главный вопрос - где учиться то, что читать ? Какой проект будет неплох, как пет- проджект ?
613 1451756
>>51751

>После всего того, на чем писал, плюсы кажутся чем-то божественным.


После Явы и .Net переходить на кресте? Ну такое себе... Ахуеешь от того, сколько ысего придется хуярить вручную.

>Знаний математики\алгебры у меня нет.


>Сколько времени уйдет изучить тот же opengl/dx12/vulkan и иже с ними математика, геометрия? ?


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

>И, собсна, главный вопрос - где учиться то, что читать ? Какой проект будет неплох, как пет- проджект ?


Начни с учебников по типу "Высшая математика для экономистов". Затем попробуй пощупать, например, SFML. После - SDL. А там уже и до OpenGL и DirectX недалеко.
614 1451763
>>51756
СДЛ нахрен не нужен, он ничем от СФМЛ не отличается, кроме си-стайл апи.
Алсо забудь про работу на плюсах, в энтерпрайзе только легаси говно и ёбля трупа Qt, геймдева в рашке нет, а тот что есть, весёлые фермы, не сильно отличается от энтерпрайза. Ещё и платят как веб-макакам, а ёбли больше в разы. Сбежишь обратно на джаву через полгода.

Хотя игровые движки велосипедить это весело, я вот все выходные провозился с ecs на темплейтах. Завтра на работе на ts хуярить я ненавижу свою жизнь
615 1451794
>>51756

>Ядро геймдева - чистый матан. Линейная алгебра, матрицы, аналитическая геометрия, элементы комплЕксного анализа и кватернионов - это самый минимум,


Я бы еще заметил, что без численных методов в кампухтере оно не взлетит никак.
616 1451939
Помогите понять сакральный смысл строчек:
[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

Почему в первом случае используется %, а во втором - / ?
617 1451944
>>51939
Известный трюк с хранением координат в одном числе.
Если есть матрица с шириной W, то позиция с координатами х и у: p= y*W + x.
Обратно соответственно x = p % W, y = p / W.
618 1451946
>>51939

>почему в первом случае используется %, а во втором - / ?


Потому что случаи разные, не?
В одной цифре автор кода "зашифровал" два значения. Зачем? - хз.

>сакральный смысл строчек


Он сокрыт в массиве figures. Да и никакой он не сакральный. Это называется "соглашение". Прост автор в данном случае заключил соглашение сам с собой, поэтому другим нихуя не понятно.
619 1451956
>>51944

>Известный трюк с хранением координат в одном числе.


Где про него можно почитать?
620 1451966
>>51956
Ты только что про него все прочитал. Можешь нарисовать на листочке прямоугольник 3х5, пронумеровать клеточки с 0 и ждать озарения.
621 1452097
>>51719
Хватит этого муслима советовать. Он же ньюфаг вообще.
1565632279162.jpg55 Кб, 481x500
622 1452125
Антонидасы, хочу поверх [открытой] картинки рисовать точки, но при этом чтобы их можно было передвигать мышкой. Поверх - означает, что точка не будет рисоваться непосредственно на картинке, но точка будет видна на картинке. Типа такого элемента интерфейса. Как это лучше всего реализовать?
Пока думаю заебенить QPainter поверх картинки такого же размера и на него рисовать, только не совсем уверен насчет этого.
Может кто нибудь подскажет, как это сделать? Или хотя бы урок Qt-шный на эту тему?
вы хули не перекатываетесь?
image.png808 Кб, 600x800
623 1452127
Программач, очень нужна помощь: на Qt, а точнее на QML, сварганить 4-6 средне-красивых форм(квадраты с текстом в пейнте имеются), забитых рыбой, суть проблемы - нужен стимоподобный стиль, с конфигом цвета элементов. Я не дизайнер от слова совсем, поэтому весь этот цсс вызывает у меня боль, а qml боль в кубе, да и с qt я тоже особо не общался, эти формы лишь небольшая часть общей дичи.
Если кто может и не похуй/лень - отпишитесь, куда-нить закатимся - почта, дискорд, впашка.
624 1452223
>>50786

>А ещё не знаю, зачем писать обёртку для винапи, ну да мсье просто знает толк.


Потому что я хочу писать на С++, а не на Си. Подсистемы у майкрософт настолько специфичны, что работать без врапперов с ними та еще боль.
625 1452227
>>52223
Так в том и вопрос: нахуй написали MFC и ATL?
Времени разобраться в этом ты потратишь мб столько же, сколько будешь писать свою библиотеку, но лучше не напишешь все равно.
Смысл вопроса был в этом, а не "зачем не используешь напрямую winapi". Тащемта это пиздец и я вас так понимаю.

Бтв к тому вопросу: Саттер/Александреску, "Стандарты программирования на C++", рекомендация 72.
626 1452229
>>52227
Так мне не формочки клепать. Хочу сделать обертку над новым апи, который только появился и прочими специфичными вещами, которых нет в стандартной библиотеке и бусте. Прочитал современные кодестайлы от всяких гуглов, в которых говорят, что эксепшены зло. Ведь можно реализовать какой-нибудь простенький логер ошибок, вместо того, чтобы кидать эксепшены.
627 1452238
>>52229
Тогда пардон, зря агрюсь.
Хотя насчёт ошибок/исключений - все равно думаю, что если речь идёт об обычном коде, то мб есть резон в кодах ошибок - ходят же байки, что try/catch дорогие блоки. Хотя натыкался на инфу, что try сам по себе не несёт нагрузки, а catch только при срабатывании чего-то стоит.
А конкретно в конструкторах/деструкторах все же лучше постараться сделать гарантированное отсутствие ошибок, т.к. если один из них отработал - то отработал успешно с точки зрения логики, а иначе получается, что объект сконструирован и не сконструирован одновременно.
Да и в случае динамического полиморфизма лучше сделать виртуальный метод init и переопределять его, а не дописывать логику конструктора от наследника к наследнику. Все равно потом окажется, что в случае какого-то наследника не нужна будет часть логики.
Мне вообще недавно потребовался временный объект для хранения промежуточной инфы, в то время как мой конструктор коннектился к бд - пришлось переносить в отдельный метод.

Но если очень хочется - я бы сделал в родительском классе статик контейнер, в который пихал бы в случае ошибки в конструкторе указатель на ошибочный объект и код ошибки, чтобы проверять после создания все неправильные и исправлять их.
Быдлокод, но у меня других идей нет, как в этой ситуации быть.
628 1452391
>>52227

>Так в том и вопрос: нахуй написали MFC и ATL?


Когда их написали - они были вполне релевантны
629 1452537
Говно ли fltk?
Хочу написать какое-нибудь приложение с графическим интерфейсом и выбираю тулкит
630 1452590
Почему после помещения точки с запятой после функции код продолжает компилироваться, но иде начинает предупреждать об empty declaration?
631 1452624
>>52590

>empty declaration


Потому что после них не нужна точка+запятая и он считает все от конца функции до нее пустой строчкой? Просто предположение, я только вкатываюсь.
632 1452644
#ifndef UNTITLED3_SCREEN_H
#define UNTITLED3_SCREEN_H

#endif //UNTITLED3_SCREEN_H

Что это такое? Создается само при создании нового заголовка.
633 1452656
std::set<int>
Надо найти min из отсутствующих элементов больше 0
т.е. {1, 2, 3} -> 4 {1, 3, 4} -> 2 {3, 4} ->1 и т. д. с минимально возможной сложностью
634 1452663
>>52644
Include guards
635 1452716
>>52656
лайфхак: итераторы обходят элементы множества по возрастанию

int F(set<int> const& s) {
int y = 0;
for (int x : s) {
if (x != ++y) { return y; }
}
return y + 1;
}
636 1452743
>>52644
Чтоб исключить множественный инклюд используется эта штука. Есть еще вариант в одну строку #pragma once - что, ящитаю, гораздо лучше и удобнее.
637 1452842
>>52125

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



Смотря для чего тебе эта хуйня нужна.
Для самого быстро получения результата я бы взял sfml.
Там есть примитивы для разных фигур, в том числе и для окружностей.
Поэтому нужно было бы только заморочиться с кодом связанный с передвижением фигур.
y2mate.com - a5tQScolXmg360p.mp4274 Кб, mp4,
480x360, 0:06
638 1452845
>>52716

>линейная сложность

15587764783452.jpg38 Кб, 463x309
639 1452854
>>52845
А хуй знает, можно ли тут меньше.
надо подумотб..
640 1452872
>>52743
ещё есть модули, но пока только в шланге
641 1452875
>>52854
Ну вот задачка. Генератор ид. Должен выдавать минимальный из возможных доступных, при этом они могут освобождаться. Сложность всех операций не больше логарифмической.
642 1452877
>>52875

>Генератор ид


>Должен выдавать минимальный из возможных доступных


Почему бы просто не хранить использующиеся номера в векторе, а свободные номера (с индексами меньше максимального) в другом векторе/списке или дереве? Добавление нового id за константное время, просто взять первое число из второго контейнера, освобождение за логарифмическое (нужно вставить во второй массив в нужное место). К тому же std::set не слишком шустрый.
643 1453030
Скачал проект с гитхаба, никаких .sln нет, только cmake.txt. И как мне это в студию запихать? Как вообще люди без студии пишут код? В нотепаде? Пиздец.
644 1453034
>>53030
Наглядный пример студиядегроида.
Цмейк - не поверишь, цмейком и открывается, который выдает файлы для разных прог, включая студии.
Пишу в акельпаде, под мингв и линухи, мне збс без всяких умных подстановок скобок и завершения функций, которые только мешают.
645 1453047
>>53034
Да линуксоиды совсем офигели со своими терминалами. Как мне проект то загрузить если здесь один .txt файл? Там в блокноте ни одной ссылки нет, откуда он докачивать файлы будет?
646 1453050
>>53047
Совсем дебил? Еще раз: скачай cmake, запусти, ткни его ебалом в этот файл, конфиг, сгенерить, выбираешь свою студию, получаешь все готовое.
647 1453056
>>53030
Тащемто студия умеет работать с cmake, проверь, мб у тебя не установлен модуль
648 1453063
>>52875

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


При освобождении сохраняешь этот айдишник.
Когда нужно генерировать новый, то возвращаешь его, при условии что он > 0, иначе генерируешь новый.
649 1453070
>>53034

>Пишу в акельпаде, под мингв и линухи


Очередной пердоледаун, который не умеет в инструменты разработки.
650 1453073
>>53050
>>53056
Так, открыл в студии, вроде работает. Как мне теперь сгенерить .sln проект из этого всего?
651 1453075
>>53070
Переубеди меня, дегенерат.
652 1453078
>>53075
я не буду тебя ни в чем переубеждать, по твоему тулингу видно, что ты либо студент, либо дебил, либо и то и то.
653 1453080
>>53078
Отличные аргументы, уже бегу вставлять студию.
654 1453082
>>53073
Перейде в дерикторию проекта и введи cmake -G "Visual Studio 10"
Дальше открывай проект
655 1453083
>>53073
Ну же аноны, помогайте. Хватит ругаться.
656 1453084
>>52656
>>52875
Если бы не std::set а своё дерево поиска, можно было бы решить иначе. В каждом узле дерева пускай мы будем хранить количество элементов в левом поддереве. Скажем, сейчас нода 4, мы левый потомок ноды 6. Значит, в нашем левом поддереве должно быть 3 элемента: 1 2 3. Если да, то спускаемся вправо, иначе спускаемся влево.

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

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

Такое чувство, что должен быть алгоритм попроще. Например, хранить список пропущенных айди в векторе/списке/whatever.
657 1453086
>>53082
Build failed пишет.
658 1453087
>>53086
Дай скриншот консоли
659 1453093
>>53080
ну, ты же дебил. Рекомендую ВИМ еще, дебилы любят вим.
660 1453095
>>53093
Спасибо, иди нахуй.
661 1453100
>>53095
не, я пойду работать на свое рабочее место в топ контору с HQ в Америке, где все пишут в нормальной студии, а дебилы отсекаются за первые полчаса собеседования.
662 1453102
>>53100
Ну хоть за 300кк в секунду?
663 1453106
>>53102
чуть больше 300к в месяц
665 1453132
>>53108
А что за cmake проект?
666 1453134
>>53108
Другой анон, но ЕМНИП нужно из Developer Command Prompt открывать (она есть в пуске, рядом в папке нужной студии)
667 1453196
>>53132
>>53134
Нужно было 19 студию скачать с новым сдк. И ведь нихуя в инсталл гайде не написали. Пришлось 30гб сырого говна поставить. Хоспади, за что такой пердолинг, когда уже запилят единый удобный фреймворк, чтоб все из коробки работало?
668 1453206
>>53196

> Хоспади, за что такой пердолинг, когда уже запилят единый удобный фреймворк, чтоб все из коробки работало?


Предлагай https://stdcpp.ru/
669 1453245
>>53206

>Знаю, что в C++20 наконец-то переехала замечательная фича из Си "designated initialization".


Наконец то, чёрт возьми. Даже не джва года жду.
sage 670 1453334

>язык-олицетворение красноглазый философии


>защо пердоленк мам...

671 1453344
>>53334

>язык-олицетворение красноглазый философии


баш? перл? ЛИШП?
sage 672 1453348
>>53344

>баш


>язык


Студентишка порвался
673 1453383
Посоны, у меня смежная система с другой конторой, в общем они по TCP посылают мне данные, я в QT работаю, в другом потоке в цикле while(true) принимаю данные вызывая readAll() : QByteArray, в общем получаю ByteArray[4096], как только пакет прилетает.

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

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

Вопрос в общем, как из этого ByteArray забрать эти самые две цифры?
674 1453386
>>53383
Не цифры забрать, а числа конечно же.
Пока то что я придумал это конвертировать ByteArray в string, удалить \n - знаки и забрать числа по splitу, но это как-то громоздко.
image.png70 Кб, 810x665
675 1453394
>>53383
В общем вот так это все выглядит, я просимулировал, только размер в 4096. Какой best practice, чтобы вытянуть числа отсюда?
676 1453427
>>53394
Это те что \n разделены? Ты че с питона вкатываешься? Читаешь символ в строку , пока следующие 2 за ним не \n, потом конвертируешь в число
677 1453462
>>53383
Не слушай их. std::stringstream - твой выбор.
678 1453464
>>53462
А насчёт обрыва пакета - если не встретил '\n', то прерываешь считывание, приклеиваешь к потоку/пересоздаешь его и читаешь дальше.
Можно одним тредом считывать, пока есть данные, а вторым приклеивать новый пакет.
679 1453605
Есть 2 h файла с классами. В одном классе, нужно объявить функцию другого как дружественную, как это сделать? Компилятор ругается на неизвестное имя.
680 1453607
>>53605
К слову если объявить дружественным целый класс, то все работает.
681 1453622
682 1453705
>>53605

>функцию другого как дружественную


ты и должен указать, что это функция другого класса, а не прост функция:
friendly_class_name::friendly_func_name()

+ ты должен позаботиться, чтобы (частично) дружественный класс был виден в той области, где ты декларируешь дружбу.
683 1453707
>>53705
Так я и так
friend void window_mgr::clear(Screenlndex) ;
684 1453708
https://ideone.com/FSAuu9
Непосредственно проблемный код
685 1453730
>>53708
Долбоёб, зачем ООП ломаешь? Ебало бы тебе отрезал, если бы на CR мне такое прислал
686 1453740
>>53730
Что тебе не нравится? Код почти весь из липпмана.
687 1453752
>>53740
Что тебе мешает написать геттеры для своих полей? Эта хуета, что у тебя сейчас, нечитаема в принципе
688 1453753
>>53752

> геттеры


> полей


Я до такого еще не дошел.
689 1453758
>>53753
А вообще, ты бы лучше сказал в чем проблема, а не выебывался.
690 1453780
Можно ли начать выполнение кода с определенной строчки в Visual Studio?
691 1453788
>>53780
Все. Разобрался
693 1453864
>>53803
Тут рассмотрен случай, когда метод используется в функции и его можно вынести вниз. А в моем классе метод используется при определении вектора.
694 1453986
Зачем постоянно писать std::cin / std::cout и тд, если можно написать using namespace std; ?
695 1453989
>>53864

>А в моем классе метод используется при определении вектора.


А тебя этот факт не наводит на мысли, что ты изначально через жопу выстроил архитектуру своих классов\приложения, а теперь пытаешься всё это дело подпереть костылями?
696 1453992
>>53986
В таком случае всё может произойти конфликт имён. Напишешь какой-нибудь свой min\max и компилятор будет ругаться.
697 1453999
>>53986

>Зачем постоянно писать std::cin / std::cout


Потому что начитаются всяких вк-пабликов про программированию и в путь.

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

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

включаю их используя include_directories, сами каталоги отображаются/копируются, а вот их содержимое нет.
699 1454051
>>54011
Да если вдруг cmake не лучший выбор, то подскажите, что лучше использовать для сборки c++ проектов в 2к19.
да копирвоание файлов я реализовал через cmake -E copy_directory, но как их отображать в дереве проектов, я досихпор ненаю
700 1454095
>>54011

>отображались в структуре проекта


нахуя?

>копировались при запуске приложения


Какой-нибудь pre/post-build скрипт. Или как ты сделал, через смаке.
701 1454116
>>54011

> По мимо исходников с++ у меня в проекте есть изображения, исходники шейдеров, вскоре будут еще 3д модели. Как с помощью cmake делать так, чтоб они:


> 1. отображались в структуре проекта


> 2. копировались при запуске приложения?



Зачем? Пускай он просто лежат в папке assets рядом с исполняемым файлом и всё.
702 1454198
Котаны, котанчики.
Есть проблема, подробно изложенная в пасте
https://pastebin.com/RZKmSYnP
Если попытаться коротко. Имеется чисто виртуальный метод, который определяется в наследнике и методы с таким же именем, но разным набором аргументов, которые делегируют вызов виртуального метода.
Так вот, эти невиртуальные методы не видны в наследнике. Почему так? Где об этом почитать и как бороться?
703 1454202
>>54198
Попробуй написать using A::Foo() в объявлении наследника
worldoftanks-wot.com-1156.jpg261 Кб, 1024x683
705 1454237
>>54198
Ну и в продолжении своего поста >>54231

У тебя в классе А идет чисто виртуальная функция, которую ты тут же и реализуешь. Хочется спросить: дядя Петя, ты - дурак? На лицо же типичная проблема непонимания отношений наследования. И как следствие - косяки в самом построении/архитектуре твоей программы. Проще говоря - нечего лепить горбатого. Нужно делать по уму, как написано в умных книжках.
706 1454240
>>54198
Дополню к предыдущим двум своим сообщениям чтобы было понятнее

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

Ну а теперь посмотри на свой пример. Ты в базовом классе хуяришь чисто виртуальную функцию и тут же какую-то ебань в виде обертки, чтобы ее же прямо здесь и реализовать. А дальше снова хуяришь функцию с таким же именем. И потом всю эту ебалу ты пытаешься передать наследнику, в котором... SURPRISE, MOTHERFUCKER ты пытаешь реализовать свой вариант этой ебаной функции. Спрашивается, ну нахуя, блядь? Что это, блядь, за индусский говнокод?
707 1454272
>>54095
>>54116
ну что касается изображений действительно не обязательно, но если я захочу добавлять какие-нибудь файлы конфига, теже шейдеры редактировать и т.д. было бы удобно смотреть в самом проекте
708 1454781
Как посмотреть историю изменений переменной?
709 1454782
>>54781
В visual studio
710 1454901
Пишу решатель судоку. За какое время программа должна исполняться? У меня во время первого запуска может загружаться 0.8 секунд, а при последующих 0.17. Понимаю что в основном это время чтения/записи и его особо не исправишь, но мне хотелось бы знать к чему стремиться
711 1455153
>>53708
Ты сделал объявление

>class Screen;


Но к моменту

>Screen(24,80,' ')


Компилятор не знает ещё ни об одном поле класса

Выход - #include "Screen.h" в начало фалйа и убрать class Screen; в этом файле.
712 1455179
Сап дойч.
Ебусь с темплейтами, компилятор отказывается компилить из-за синтаксической ошибки, не могу понять, это я мудак или компилятор.

https://pastebin.com/LvHf5Nes

Причём если вынести Child наверх из класса Parent, то всё волшебным образом начинает работать. Я где-то забыл темплейтные параметры передать? Почему он ругается на распаковку темплейтов?
713 1455187
>>55179
child.template childDummyFunction<TFunctionParameters...>();

Пожалуйста
714 1455199
>>55187

>child.template childDummyFunction<TFunctionParameters...>();


Что, как, почему это работает? 0_о

Спасибо огромное
716 1455312
Может ли в игре переменная менять свое расположение? Или узнав расположение переменной единожды я могу быть уверен что в последующие разы она будет там же?
717 1455320
>>55312
И еще вопрос: если мне нужно найти подстроку в гигабайтовой строке с помощью карасика. Можно ли как то строку на куски поделить?
718 1455360
>>55312
Зависит от игры. Может менять, а может и не менять.

>>55320
string_view ?
719 1455773
>>54901

> мне хотелось бы знать к чему стремиться


К успеху
pepe tired.png91 Кб, 1024x823
720 1456009
Я хочу здоровенный, толстый, венистый задачник с ответами типа вот такого:
http://www.itmathrepetitor.ru/zadachi-po-programmirovaniyu/
но с ответами.
Везде вижу либо полторы задачки без системы на рандомную тематику но с ответами, либо вот как тут - куча задач на всю хуйню, но без ответов. Ответы - это же самое главное, одно дело высрать кучу говнокода и совсем другое узреть, как нужно то было.
721 1456010
>>56009
Чтобы ответы на С++ были написаны соответственно.
unnamed[1].jpg61 Кб, 900x900
722 1456016
https://purecodecpp.com/archives/433
Вот этот набор вроде ничего, но самая первая задача была понять, почему у меня не открываются выпадающие хуйнюшки "[+] Посмотреть код" по ссылкам. Мои хакерские навыки позволили мне понять, что на Фирефокс они не работают, если переходить по ссылке лефткликом и работают, если открывать ссылку в новой вкладке. Я бы объяснил как стать таким же охуенным хакером как я, но у вас энивей не получится нихуя, понимаешь? https://www.youtube.com/watch?v=yHtHSlnplYU
723 1456025
>>55360
Спасибо
image.png281 Кб, 697x558
724 1456067
Господа, поясните за сеть в крестах.
Есть две задачи:
1) Долбить одну апишку гет запросами - тут все вроде понятно, берешь libcurl и долбишь. Но есть ли что-то удобнее под linux / mac?

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

Прошу советов мудрых
725 1456073
>>56067
1. Куда тебе проще курлыка? Там 3.5 строки на весь запрос хватит.
2. Бери любой подходящий велосипед, с нуля хттп - а хуле ты хотел? Или тебе надо либу для либы? Буст не нужен.
726 1456094
>>56073

> с нуля хттп - а хуле ты хотел?


Хотел как в дудке или пистоне - хттп в стдлибе, чтобы его поддерживали разработчики языка а не переизобретали васяны каждый раз.

>Или тебе надо либу для либы?


Возможно сущетсвует эталонная(тм) зарекомендовавшая себя (с) реализация хттп, которую можно использовать в своих велосипедах вместо тысячи васянских либ.
727 1456104
>>56094
Ну как клиент - курлык норм, держит гору протоколов и все такое.
А вот сервер уже не настолько часто нужен народу, поэтому единственного истинного я не встречал. Да и вообще протокол не сложный, дешевле сделать свой с нужными функциями, чем искать готовый с кучей говна.
728 1456154
729 1456753
Наверно ньюфаги всех тут уже заебали, но всё же спрошу.
А если есть знания матана (по крайней мере понимаю о чём речь идёт), из-за специализации в вузике, но на плюсы в моей 600к деревне ищит только одна контора, то как качать скилл?

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

Есть идея влится в какой нибудь опен соурс, но вот не знаю какой.
730 1456831
>>56753
читай книги, пиши код. Какие еще советы ты хочешь?
1395406652536.jpg135 Кб, 938x1414
731 1456836
>>50190
Сука, когда же вы научитесь, блядь. move и forward это разные вещи и используются по разному. Первый кастит в rvalue вообще все - значения, правые-левые ссылки, даже небо, даже аллаха, а forward левые (обычные) ссылки скипает . Поэтому их используют в перфекте - при T пропихнуть дальше как T&&, а T& оставить как есть.
732 1457091
733 1463558
Насколько я знаю вывод в консоль довольно медленный. Можно ли как то продолжить выполнение программы не дожидаясь вывода в консоль и не используя потоков?
Скеч по ардуинке нужен хелп 734 1465570
подскажите как правильно заворачивать вместо delay в millis()
есть много веток которые должны работать либо паралельно либо последовательно, + есть данные с датчика которые должны выводится постоянно а delay дает задержку
Тред утонул или удален.
Это копия, сохраненная 4 сентября 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски