Двач.hk не отвечает.
Вы видите копию треда, сохраненную 30 июля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2 2080949
Блин, нашёл книжку по Qt6, но она на английском: Cross-Platform Development with Qt 6 and Modern C++
3 2080957
>>080949

>Cross-Platform Development with Qt 6 and Modern C++


>Packt


Немного потерял, там всякую чушь публикуют.
4 2080966
Все пишут, что книга 1997 года Петзольда "Программирование для Windows 95" до сих пор лучшая книга по WinAPI.
Неужели никто не смог переплюнуть?
5 2080969
>>080966
Никто и не стремился, ведь в 2к21 винапи юзают только при крайней необходимости.
6 2080970
>>080966
Ну есть более актуальная книга Харта 2005 года
7 2080975
>>080966
Возможно дело в том, что на голом винапи с тех пор больше никто не пишет? Как минимум на mfc
8 2080976
>>080975
Но ведь винапи не значит гуй.
9 2080979
>>080976
Ну хз. Вообще у майков более менее хороший хелп и книги не особо нужны.
10 2080980
>>080979
Когда у тебя книга, то ты гарантировано получишь инфу с 1 по последнюю страницы, а системы хелпов корявые, с запутанной системой навигации и вполне наверняка из-за этого ты упустишь большую часть инфы.
11 2080999
Я извиняюсь за оффтоп, но когда перестанут перекатывать c++ тред после 1000 постов, хотя бамплимит 500?
12 2081002
>>080999
Никогда. С++ треды перекатываются после 1000 постов.
image.png31 Кб, 741x295
13 2081006
Можно ли считать, что вся программа это просто разные объекты?
14 2081010
>>080979

>Вообще у майков более менее хороший хелп


был. До сих пор диски со старым MSDN юзаю
15 2081014
>>081006
Нельзя. Функции, типы, неймспейсы и прочее - не объекты.
16 2081020
>>081014
А нету чего то общего, чем является всё? Ну или чем хотя бы эта 4 является в общем
17 2081025
>>081020
Всё является "понятиями языка C++".
Зачем тебе эти теоретические изыскания?
18 2081028
>>081025
хочется иметь какую-то общую вещь и потом из неё все развернуть.
19 2081078
>>080949

>Packt


>Немного потерял, там всякую чушь публикуют.


А у меня очень положительные впечатления от их книжек.
20 2081080
21 2081093
>>081078
Да тут какой-то шизик во всех тредах срёт при одном упоминании пакта. Видать, попалась ему одна хуёвая книжка, он посмотрел на издателя и сделал выводы обо всех остальных книжках.
22 2081132
>>080949
Ну тыж название книги на английском как-то понел .
Что тебе мешает таким же образом читать дальше?
23 2081138
>>081132
Понять Кроссплатформенный девелопмент с Кьют 6 и модерновым Си++ можно и без знания инглиша.
24 2081167
>>2081008 →
Проприетарный компилятор, не поддерживающий в 2021 году C++11, скорее всего в принципе не может нормально в плюсы.
Тогда лучше вообще на сях лучше писать и то дополнительно молиться, что не наткнёшься на ICE в лучшем случае или баг кодогенерации в худшем.
25 2081180
>>081138
А внутре думаешь не тоже самое?
26 2081282
>>080999
извиняешься - значит виноват
виноват - можно ебать в жопу
27 2081652
>>080966
Книжки по винапи всегда были уровня вот так вот берем, рас рас и готово, рас рас и готово.
Так что немного мы без них теряем, в доках все есть.
28 2081708
А почему тред не ищется по тегу?
29 2081720
>>081708
Уже в который раз перекатывает кто попало, и копируют /cpp/ как часть названия вместо того, чтобы добавить "cpp" в теги.
30 2081741
>>080966
Эх щас бы окно не могло закрыть само себя так как стало зомби, класное было винапи натуралам не понять
msdoc.jpg162 Кб, 1165x783
31 2082014
>>081652
Вы эти доки сами открывали хоть раз?
32 2082024
>>082014
Ты хоть раз нажимал на "Прочитать на английском"?
33 2082032
>>082024
Я же не из Англии
34 2082042
>>082032
Если ты не из Крестландии, вон из треда!
35 2082050
>>081167

>Проприетарный компилятор, не поддерживающий в 2021 году C++11, скорее всего в принципе не может нормально в плюсы


Как же у вас блядь все просто. СУКА ДЕВАЙС ОСОБЕННЫЙ И КОМПИЛЯТОР К НЕМУ ОСОБЕННЫЙ. Не я выбирал девайс, и я не в позиции продавливать кастомера переносить его парашу на другую платформу
36 2082209
>>082050
и ты особенный

В случае такого говна я бы работу сменил
37 2082243
переменные называют nameParametrNormalnyi
а функции MakeNormalnyiParametr
?
38 2082276
>>082243
В крестах нет общепринятой конвенции, называй как хочешь, лишь бы было единообразно.
39 2082287
>>082209
Уже
40 2082289
>>082276
А ты как пишешь :3
41 2082292
>>082289
Типы/классы CamelCase, константы КАПСОМ, функции и переменные snake_case.
42 2082375
>>082292

>лишь бы однообразно


кек
43 2082392
>>082375

> пук среньк

44 2082410
>>082292
constexpr - капсом или snake_case?
45 2082544
>>082050
Я и сказал - пиши на чистых сях в таком случае, потому что скорее всего плюсы там баганутые, STL (если вообще есть) тоже полный багов скорее всего.
46 2082561
>>082050
Ты программируешь на Спектруме?
47 2082590
>>082050

>


>>Проприетарный компилятор, не поддерживающий в 2021 году C++11, скорее всего в принципе не может нормально в плюсы


>Как же у вас блядь все просто. СУКА ДЕВАЙС ОСОБЕННЫЙ И КОМПИЛЯТОР К НЕМУ ОСОБЕННЫЙ. Не я выбирал девайс, и я не в позиции продавливать кастомера переносить его парашу на другую платформу


Ну юзай тогда стандарт C++ 98, в чем проблема-то?
48 2082634
>>082590

>Ну юзай тогда стандарт C++ 98, в чем проблема-то?


блядь. Есть два таргета: шланг под айос и пипириетарщина под кастомную платформу. В шланге 17 и выпилили auto_ptr, в пипитарщине 98 и unique_ptr не запилили. Твои действия?
49 2082639
>>082634
#if __cplusplus < 201103L
Копипаста реализации unique_ptr
#endif
50 2082669
>>082639
ты дурак? unique_ptr требует rvalue semantics
51 2082685
>>082669
#if __cplusplus >= 201703L
Копипаста реализации auto_ptr
#endif
52 2082701
>>082685
Да-да
Обсираемся на том, что у нас во всем коде нужно теперь использовать auto_ptr, а не

>1. :%s/auto_ptr/unique_ptr/g

53 2082703
>>082701
Ну да, это правильно.
54 2082709
>>082703
У auto_ptr есть критический недостаток ввиде оператора копирования, именно поэтому он деприкейтед
55 2082712
>>082709
Похуй, всё равно юзается депрекейтед таргет с депрекейтед компилятором.
56 2082714
>>082712
Так ведь не только на деприкейтед таргет его в результате нужно тащить, ага
57 2083252
>>080969
Ну а как писать графическое приложение в 2к21?

>>080970
Харт не рассматривает вопросы графики и ссылается на книгу Петзольда.
58 2083271
>>083252

> Ну а как писать графическое приложение в 2к21?


НА Qt или всякой wpf-avalonia-electron-параше.
59 2083274
>>083271
У меня получается на Qt, книга Шлее бестолковая и по его описанию у меня даже проект не компилируется, потому что я не понимаю чего там наследовать и куда вставлять код. Вот нафига создавать такую библиотеку, если её освоить сложнее, чем язык С++?
WPF же вроде только на C#.
Остальные даже не слышал.
60 2083288
>>083274
Но WinAPI-то осилить изи, да, не то что Qt?
Не знаю, что там в Qt можно не осилить, когда впервые тыкал после дельфи, легко разобрался, как программировать мышкой и писать обработчики.
61 2083294
>>083288
В WinAPI сложно принять его стандартную заготовку, а когда смиришься с этим говном, то остальное ложится просто. Хочешь рисовать? Добавляешь WM_PAINT. Хочешь клики мышкой? Добавляешь их обработчики и т.п. Всё линейно и можно изучать по мере надобности.
В Qt же какое-то монструозное нагромождение классов, которые чёрт знает для чего нужны и что делают. Кроме самих разработчиков, наверняка никто не понимает этого говна. Книги призваны объяснить с какой стороны подступиться, но вместо этого они описывают набор классов без объяснения как ими пользоваться. И подход там не линейный. Хочешь этот класс? Тогда надо унаследоваться определенным образом и переопределить такие-то методы. Хочешь другой класс? В этом случае надо инициализировать такую-то залупу, про которую нигде не сказано.
sage 62 2083298
>>083294

>Кроме самих разработчиков, наверняка никто не понимает этого говна.


Тешь себя, дурачок.
63 2083302
>>083294
Простые линейные функции винапи по мере роста проекта вскоре превращаются в неподдерживаемую процедурную парашу. Чтобы заставить говно перестать растекаться, начинают писать обёртки, классы, функции-утилиты и через некоторое время получают такой же Qt, но кривой и непереносимый. Не хеллоуворлдах может и не заметно, но дальше становится понятным, почему в Qt сделано именно так и не иначе.
64 2083306
>>083294
Пиздец, я Qt осилил тупо по документации (по assistant'у) без книг и чего либо.
Мои трейни тоже как-то спокойно асиливают, а ты видимо тупенький
65 2083307
>>083274
Из-под винды иногда какие-то ошибки появляются непонятные, то ли в связи с правами, то ли ещё с чем, уже не помню. В линуксе по книге всё нормально собиралось. Попробуй создать не пустой проект, а какой-нибудь готовый, с пустым окном. Он должен сразу нормально собираться.
66 2083384
>>083302
Qt это не архитектура плюсов, а самостоятельный говноязык DS, не работающий без своих говнотулзов и тормозящий как любая мультипараша. В общем очередная анальная дыра для рабов, чтобы если вляпался, то уже не смог вылезти.
67 2083542
Я вам запрещаю писать гуи на плюсах!!!!!!!!! Все слышали?
68 2083559
>>083542
Пошёл нахуй.
69 2083608
>>083542
На чём тогда писать?
70 2083771
>>083542
Haha
QApplication goes brrrrrrr
71 2083825
Писать кросс-платформенную гуйню на Qt + C++ vs Писать кросс-платформенную гуйню на ReactNative + TypeScript

На какой стул сами бы сели?
72 2083829
>>083825
Не писать гуйню, пусть этим занимается кто-то другой.
Гуйня - неблагодарное занятие.
73 2083835
Минус Qt ещё в том, что надо пользоваться Qt Creatorom, а не Visual Studio. А он плох тем, что там нет вкладок.
74 2083836
>>083825
Подинамил бы полгода и написал бы на NET 6 + MAUI
75 2083841
>>083835
Кто тебя заставляет юзать Qt Creator? Пиши на культях в вижуалке.
76 2083842
>>083841
Это уебщиновато
77 2083843
>>083842
Не уебщиновато юзать уебищный креатор, да.
78 2083846
>>083843
и мы приходим к правильный мысли, что qt использовать не надо
79 2083849
>>083846
Не надо использовать креатор, культя тут не при чём.
80 2083850
>>083835

>надо пользоваться Qt Creatorom


не надо

>что там нет вкладок


лолшто
81 2083851
>>083849
Культя тоже не надо, учитывая безумную цену и то, что это обосранный диалект С++
82 2083854
>>083851

> Культя тоже не надо, учитывая безумную цену


Охветь, аж 0
83 2083866
>>083851
Кстати да, там лицензионное соглашение напрягает. Скоро они ещё ужесточат, чтобы все покупали Qt. Раньше можно было просто скачать, а теперь там обязательная регистрация. А вот в VS 2019 наоборот отменили обязательную регистрацию.
84 2083868
>>083866

> Скоро они ещё ужесточат, чтобы все покупали Qt


Ты скозал? Куча опенсорсного софта сразу в тыкву превратится?
85 2083872
>>083854
329 бачей в месяц на девелопера для любого прода, или анальная гомоебля с GPL
86 2083874
>>083872
Чем динамическая линковка не устраивает?
87 2083875
>>083872
Ты дурак? Там LGPL давным давно (года с 2007го)
88 2083913
>>083306
Петзольд пишет, что освоить WinAPI можно за 180 дней, а сколько надо времени на Qt?
89 2083919
>>083913
2-3 дня.
90 2083928
>>083913
Смотря что понимать под освоить.
91 2083934
>>083928
Что Петцольд под этим понимает?
92 2083959
>>083934
"...чтобы вы не почувствовали себя профессионально и умственно неполноценными, если не все сразу поймете. Если вы раньше никогда не программировали в графической среде, то, естественно, Windows окажется непривычной для вас. Однако, в конце концов вы добьетесь своего." (с) Петзольд
93 2084063
Добрый день, аноны. Нужна хелпа в изучению плюсов. Сам перешёл на второй курс. Подскажите в каком направлении следует двигаться, что учить, чтобы можно было фрилансить/возможно работать за минималочку с обучением.
94 2084107
>>084063
Фрилансь в универе - делай лабы дебилам.

Твои скиллы второкурсника хеллоуворлдщика принесут любой компании отрицательную прибыль. Задрачивай книги, пиши код, на 4ом курсе иди интерном куда-то
95 2084113
>>084107
Это я понимаю, поэтому и хочу начать быстрее продвигаться в плане обучения, чтобы я мог из себя что-то представлять, например, не на 4 курсе, а уже на 3
96 2084135
>>084063
единственный совет который тебе можно дать - это не заниматься крестопарашей и все
97 2084138
>>084113
Учись писать графические приложения, а не консольные. Консоль в 21 веке - это путь в никуда.
98 2084160
>>084138
Все кроме джаваскрипт электрона путь в никуда
99 2084170
Кто-нибудь пользуется связкой VS Code + clangd для автодополнения?
Есть большой проект с кучей гугловских либ, сооответственно я пишу свой compile_commands.json где указываю инклюды через clang-cl.exe -ID:\\path
Собственно трабла в том что он собирается своими билдсистемами и все нормально, а автодополнение обламывается, потому что где-то натывается на объявление метода в духе ClassName::min() и ругается на то, что макросу min не хватает параметров, как бы его настроить чтобы он так не делал?
100 2084173
>>084160
Я решил программировать как мне нравится и не гнаться за всякими модными молодежными штуками. Старый подход к программированию мне понятен, я с ним на одной волне.
101 2084202
>>084113
Тут правда дали хороший совет - не заниматься крестами
102 2084221
>>084135
>>084160
>>084202
Шиз, уймись
Программисты не нужны.webm4,1 Мб, webm,
1280x720, 0:16
103 2084258
лллллimages.png4 Кб, 225x225
104 2084288
Можно ли в Линупсе программировать окошки на плюсах, не используя QT, GTK и прочие либы?
Если да,то с чего начать?
105 2084293
>>084288
Можно напрямую юзать низкоуровневое апи X или Wayland. Правда от одного вида хеллоуворлда для них ты бросишь эту затею.
106 2084328
>>084288
Если тебе просто графики выводить бери opencv2
107 2084354
>>084288

>прочие либы


Прочие это какие? Ограничение какое-то шизоидное, ты случайно на ассемблере не пишешь?

OpenGL можешь потрогать
двачеры.png8 Кб, 329x252
108 2084366
>>080946 (OP)
Почему static массив выдает ошибку? Когда убираю static то работает.

//=============================== код
struct Dvacher {
int age;
};
class Dvach {
Dvacher static arr[10]; // 10 штук
public:
void vozrast(int vozrast = 13) {
for (int i = 0; i < 10; i++) { // 10 штук
arr.age = vozrast;
}
};
};

int main(){
Dvach dvach;
dvach.vozrast(15);

}//=============================== код
109 2084369
>>084366
static Dvacher нужно в таком порядке
110 2084371
>>084369
Не работает лол. Ты в компилятор то загрузил или наобум сказал?
111 2084372
>>084366
Никакой ошибки, что у тебя за ошибка?
фывалдваы.png5 Кб, 828x72
112 2084373
>>084372
Компилятор вижуал студио если что.
113 2084375
>>084373
Короче это ошибка линковщика, а не компилятора.
Ты только объявил, а надо еще определить (грубо говоря память выделить)
Допиши перед мейном Dvacher Dvach::arr[10];
114 2084377
>>084375
Сработало.
115 2084400
>>084366

>Почему static массив выдает ошибку?


Потому что у тебя только объявление, надо еще реализацию

Или inline static - если новый стандарт
116 2084403
Сап двач, решил не терпеть унижений со стороны других программистов и начал учить с++(до этого пытался в фронт, в итоге забил, потом начал учить пайтон в нём +- разобрался). По классике зашёл на степик, открыл курс от Яндекса, скачал визуал студио, вывел Хелоу Ворлд, всё ок, а дальше... Я по 30 минут сижу с элементарными задачами по делению и вычеслению остатка и в итоге всё равно иду подглядывать в коменты решение.
Неужели я так деградировал с python, или я изначально тупой? Каждый раз захожу, смотрю на задачу, сижу 15 минут, выхожу, иду смотреть сериальчики. Что советуете делать в такой ситуации, просто брать решения с коментов(типа само со временём придёт) или как?
117 2084406
>>084403
Сидеть и решать задачи, а не смотреть сериальчики
118 2084424
>>084354

>Прочие это какие? Ограничение какое-то шизоидное


Ну очевидно, я хочу как на WinAPI, юзать системные вызовы для работы с окошками
>>084354

>ты случайно на ассемблере не пишешь


Нет, просто обычные плюсы без фанатизма по последним стандартам

>OpenGL можешь потрогать


Да не, это другое
119 2084425
>>084293

>Можно напрямую юзать низкоуровневое апи X или Wayland


Это соотносимо с возможностями Винапи на винде?
120 2084441
>>084403

>или я изначально тупой


наверное это, так как питон в чем-то да похож на си (уж тем более на делениях/вычитаниях)

>>084403

>Что советуете делать в такой ситуации


Начать делать какой-нибудь проект, который бы мотивировал его делать на С++
121 2084446
>>084425
Нет. Здесь только графическая полсистема, а виеапи - это вообще всё.
122 2084461
На чём писать сеть? Boost.Asio? Это типо надстройки над winapi?
123 2084463
>>084461
Любые библиотеки являются надстройками над системными api. Не обязательно для винды, на линуксе тоже работает.
124 2084465
>>084403
Наберись сначала фундаментальных знаний - прочитай книгу или учебник. А решения вообще выписывай на бумажке.
125 2084467
>>084403
Попробуй для начала решать задачи на бумаге, чтобы понять решение. Нарисуй схемы там, как ты это у себя в уме представляешь. Почитай статьи для школьников по решению уравнений. Писать код в разы проще, когда ты понял, что и как нужно делать, и для чего нужен каждый шаг.
126 2084471
>>084463
вектор надстройка?
127 2084473
128 2084476
>>084403

>деградировал с python


This.
129 2084477
>>084375
>>084400
В с++17 вроде неявный инлайн теперь в таких местах.
130 2084482
>>084471
Над RAM памятью.
131 2084494
>>084471
Над malloc'ом, который есть надстройка на VirtualAlloc/mmap/sbrk
132 2084504
>>084477

>неявный


Нет
133 2084505
>>084504
А, вспомнил, это если ещё constexpr вжарить, будет неявный inline. Не привык видеть не-constexpr статичные поля. Классический пример рамок мышления.
134 2084517
>>084424

>Ну очевидно, я хочу как на WinAPI, юзать системные вызовы для работы с окошками


Xlib, Xcb, libwayland
hellowin95.jpg614 Кб, 1919x1049
135 2084690
Создавать графические приложения можно и без Qt!
136 2084697
>>084690
А теперь запусти ла линуксе без wine!
137 2084699
>>084697
можно собрать статиком с libwine :D
138 2084709
>>084690
БАЗА
139 2084712
Какой-то нездоровый форс винапи в последнее время в этом треде. Придётся тоже учить его.
140 2084723
>>084712
маркетологи майкрософта пробрались в тред
141 2084727
>>084723
Маркетологи MS здесь уговаривают всех писать на шарпе.
142 2084737
>>084712
На самом деле всё логично. Какие приложения можно написать на С++? Либо консольное, либо графическое.
Консольное приложение ни кому не нужно, потому что все привыкли работать с графическими приложениями.
Как написать графическое приложение? Можно использовать одну из готовых библиотек типа Qt, но под Qt есть всего лишь одна современная книга Шлее, которая хвалится тем, что это суперкнига и прочитав её, ты станешь крутым разработчиком на Qt, но на деле книга пустая, ничего не объясняет. Мало того Шлее ни сколько не интересует психологическое состоянии читателя.
А вот книга Петзольда хоть и старенькая, но основательная. Автор не хвалится, а прямо говорит, что WinAPI - это говно и если вы ничего не понимаете, то это нормально, но за 6 месяцев не мытьём дак катанием, можно изучить WinAPI.
143 2084738
>>084727
Ващет у майков новый фаворит - тайпскрипт, а шарп в руках попенсорса
144 2084742
>>084727
шарп мертвее, чем плюсы
145 2084745
Насколько надежно передавать указатель на функцию через границу DLL? Экзешник и DLL собираются разными билдсистемами и на флаги вобщем то влиять не могу. Сама функция экспортируется __declspec(dllexport) и загружается как typedef int(__stdcall fnPtr)(); fn = (fnPtr)GetProcAddress(...)
Какие могут быть подводные? Дебаг/релиз влияет? На моем компе все работает, интересует в целом.
Второй вопрос - то же, но про передачу указателя на буффер char
. Память под него выделяю сам, он не может переместиться как-то неожиданно?
146 2084746
>>084742
Бред.
147 2084773
>>084690
А можно и без сиплюсплюс вовсе.
Все эти винапи функции вполне себе прям с ассемблера вызываются.
148 2084778
>>084745
Релиз-дебаг влияет всегда. Не смешивай
149 2084795
>>084745

>Какие могут быть подводные


Так сходу не придумал. Главное - случайно не выгрузить DLL (и такое видал).

>Память под него выделяю сам, он не может переместиться как-то неожиданно?


Нет. Как только DLL загрузилась в вирутальное пространство - она там останется навсегда в одном фиксированном положении. Но если удалять этот буфер тоже надо на другой стороне, то хорошим тоном является предоставление своих функций для удаления объектов, иначе могут быть большие проблемы со статическим рантаймом (см. https://devblogs.microsoft.com/oldnewthing/20161209-00/?p=94905)
150 2084801
>>084293

>Правда от одного вида хеллоуворлда для них ты бросишь эту затею


Только на вяленом это выглядит дико.
В хЛибе вполне адекватный код на десяток строчек, компактнее чем на Винапи.
151 2084809
>>084795
Спасибо, выгружать не буду ни DLL ни буфер, они существуют все время работы.
>>084778
Что-то конкретное? Разное ABI на параметры ф-ции? UB? Я не в рамках одного юнита смешиваю, а могу не уследить если собрана exe с одними флагами, а dll с другими.
152 2084810
Откуда вы всё лезете, писатели десктопа на плюсах? Какое winapi, какой qt? Вы ещё COM тут вспомните.
153 2084811
>>084810
Эм, ну не на ImgUi / nuklear же писать
154 2084813
>>084810
Чего его вспоминать? Юзается на работе из internet explorer для работы со специфичным оборудованием.
155 2084814
>>084811
Ыыыаааыыаа надо писать на шарпе пук среньк
156 2084817
>>084809
Если тебе вот прям сильно надо надёжности или распределённости, то выдавай вместо указателей дескрипторы.
157 2084818
>>084813

>internet explorer


>COM


Зачем ты там работаешь? Скоро пенсия?
158 2084822
>>084810

>Вы ещё COM тут вспомните


Тебя в детстве IUnknown покусал?
159 2084826
>>084809
На винде два разных ABI - дебажный и релизный. Большая часть дебажных либ имеют d в конце названия.

Из-за разных ABI краши тупо рандомные идут
160 2084839
>>084822
Я не стал обмазываться этими твоими guidами, диспатчами, соклассами, анкнованами, регистри, маршаллингом, OLE, AWT, ATL и прочим калом. Ещё тогда я понимал, что технология тупиковая.
Не так давно попадался кусок кода на DirectShow, который надо было перенести в проект. Такой мутной помойки я давненько не видел. Переписали начисто ибо нахер всё это.
161 2084932
>>084839
Ты же не говоришь на чём надо писать.
162 2084934
>>084932
Всё уже до меня сказали.
163 2084935
>>084934
На Qt.
164 2084940
>>084935
Только если товарищ майор требует открытых кодов. Или в твоём НИИ вернули 2007й.
165 2084942
>>084940
Или если не знать про динамическую линковку и не уметь читать лицензии.
166 2084971
>>084932
на шарпе блядь
167 2084974
>>084971
Хуярпе.
168 2084976
Это троллинг тупостью или просто долбоебизм - говорить, что в Qt ты либо платишь, либо должен открыть исходники?
169 2084977
>>084976
это хитрый план - промоутить електрон
изображение.png51 Кб, 1158x745
170 2084984
>>080946 (OP)
что значит?
using boost::property_tree::ptree;
ptree pt;

можно как то проще работу с файлом организовать? через fstream например то же самое переписать?
171 2084988
>>084971
В шарпо-треде мне так и не сказали как выводить массив пикселей.
172 2084992
>>084984
Все можно через fstream, только в три раза дольше и с багами в процессе
173 2084994
>>084988
Опять ты со своим эмулятором, во всех тредах что ли спросил?
174 2084996
>>084988
Unity thread is 2 blocks down. Там тоже шарп практикуют.
175 2084999
>>084996
Там практикуют программирование мышкой, шарп не знает никто.
176 2085004
>>084988
Тебе дебичу уже более 5 способов предложили. Через плеер в браузере, через gl/dx, через canvas в любой UI дрочильне, через графические движки, через winapi, через всё, что картинки показывает.
177 2085006
>>084992
так вроде fstream c буста реализован в 17++
178 2085007
>>085006
Што
179 2085011
>>084988
В чём суть твоей проблемы?
180 2085030
>>085004

>более 5 способов


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

И, чтоб не ебать моск с выводом, он все это "рисовал" прямо в файл tga. Сохранялка в tga у него тоже своя была.
181 2085044
>>085030
Ему не нужно 3D.
182 2085076
>>085030
Так он не рендерилку просит, а натягивание кадра в виде массива байт на окно. И максимум что ему надо это написать фильтрацию, чтобы не хардкодить размер окна. Для натягивания есть масса способов, но он копротивляется.
183 2085082
>>085044
Я прост упомянул еще 1 способ рисования.
У него есть массив пикселей и это все, что нужно для тга.
184 2085084
>>085082
Причем для пердолинга с тга достаточно статью на русской википедии прочитать, никакого матана.
185 2085086
>>085011
Я хочу создать эмулятор 8-разрядной ЭВМ, чтобы сбежать в уютный мир 8-бит от ужасов современного программирования.
186 2085088
>>085086
Скачай готовый. Где искать - спрашивай в разделе с программным обеспечением.
187 2085092
>>085088
Мне не нужен готовый. Архитектура машины будет отличаться от реальной.
189 2085108
>>085092
Тогда закажи у кого-нибудь. Выйдет довольно дорого, но сам писать будешь очень долго.
190 2085111
>>085108
Я разве говорил, что мне надо быстро? Я ещё со школы обдумываю эту идею. Сейчас просто появилось свободное время и решил позаниматься плотнее.
192 2085132
>>085117
И что он будет делать со своей консольной поделкой? Реальный Коммодор 64 имел графический режим и в консоли он не сможет реализовать графику.
Предвосхищая, ваши возражения скажу, что консольное приложение отличается от графического принципиально. Если консольное - это непрерывный поток инструкций самой программы, то графическое имеет событийный механизм.
images (6).jpeg10 Кб, 258x195
193 2085230
>>085132

>графическое имеет событийный механизм.


WM_SIEST_GRIB, WM_PRISEST_NA_CHEREPAHU
194 2085437
Не понял а чего тут пол треда снесло?
logoObsVerMed.gif18 Кб, 512x135
195 2085477
>>080946 (OP)
Как можно сделать объединение, вычитание, пересечение трехмерных геометрических объектов. По сути нужно объединить через логические операторы их условия на ограничение геометрической области, но не понимаю как это реализовать в ООП.
Например, имеем

object 1
obj1. cond x>1, y>2, z>3
object 2
obj2. cond x<4, y<3, z<6
object 3
obj3. cond y=3, z<5
etc


необходимо создать тело путем их объединения
obj4 = object1+object2+object3
obj4.cond x>1, y>2, z>3 or x<4, y<3, z<6 or y=3, z<5


Через наследование это можно провернуть?
196 2085535
>>085477
Ну твои объекты это частный случай boundbox. Можешь не ебать мозг и дёрнуть готовую реализацию. Булевы операции являются частью интерфейса самого boundbox.
197 2085590
>>085477
Constructive Solid Geometry же

>как это реализовать в ООП


Какой-нибудь паттерн Composite наверняка, но не думаю, что ляжет хорошо. Скорее всего для этого есть специализированные структуры данных, которые лучше применять.
199 2085619
Пацыки, как называется такая штука:

примерно так

struct Callbacks {
void (*method_a)();
...
};

struct ServiceProvider {
static ServiceProvider* Create(Callbacks cb);

virtual void method_a() = 0;
...
};

Когда вызывается ServiceProvider::Create(cbs), где-то в глубине происходит нечто такое:

struct ServiceProviderImpl : ServiceProvider {
ServiceProviderImpl(Callbacks cb) :
cbs{cb} { }

void method_a() override {
cbs.method_a();
}
...
Callbacks cbs;
};

ServiceProvider::Create(Callbacks cb) {
ServiceProvider* sp = new ServiceProviderImpl(cb);
return sp;
}

Интересует, как называется, если у неё есть какое-то оффициальное имя, для чего хороша, где применяется. Может это поттерн какой то?
199 2085619
Пацыки, как называется такая штука:

примерно так

struct Callbacks {
void (*method_a)();
...
};

struct ServiceProvider {
static ServiceProvider* Create(Callbacks cb);

virtual void method_a() = 0;
...
};

Когда вызывается ServiceProvider::Create(cbs), где-то в глубине происходит нечто такое:

struct ServiceProviderImpl : ServiceProvider {
ServiceProviderImpl(Callbacks cb) :
cbs{cb} { }

void method_a() override {
cbs.method_a();
}
...
Callbacks cbs;
};

ServiceProvider::Create(Callbacks cb) {
ServiceProvider* sp = new ServiceProviderImpl(cb);
return sp;
}

Интересует, как называется, если у неё есть какое-то оффициальное имя, для чего хороша, где применяется. Может это поттерн какой то?
200 2085629
>>085619
Штука это называется джаваговно и делать так не надо
201 2085636
>>085629
Но почему Java и не надо делать?
И тут ведь наоборот типично сишно-крестоёбские штуки используются.
202 2085639
>>085629
Даже в нашей параше до такого говна не докатились.

мимо джавист
203 2085646
>>085636
Потому-что в джаве в основном используются такие вот ХУЕПАТТЕРНЫ.

А так - это выглядит как обычный полиморфизм, только зачем-то усложненный. В С++ оверолл это все антипаттерны
204 2085647
>>085619
Это что-то типа pub-sub на одного вызывающего. Но зачем-то с кучей виртуальных методов и всего такого.
205 2085651
>>085647
А, и без православного сишного "замыкания для бедных" в виде void user_data, он же void opaque, он же void *handle, который должен передаваться в указатель на функцию.
206 2085653
>>085646
Моё предположение, что это нужно, чтобы скрыть реализацию. Совсем скрыть. В либах можно оставить только голый интерфейс и фабричный метод, что внутри, вообще непонятно. Хорошо для пипиетарщины. Ну и полиморфизм без полиморфизма. Поведение можно изменить, а класс всегда остаётся один.
Но я не очень уверен в своих выводах, поэтому запросил помощь экспертов. В любом случае, это не то, что я хотел бы сделать. Это уже сделано кем-то и для меня данность, а я только разбераюсь.
207 2085739
>>085590
Точно, composite. В чем сомнения, что криво будет?
>>085616
так это полноценная САПР, то есть в проект потом переносить результат моделирования в виде структуры данных?
209 2085797
>>085745
Ну да. Единственный момент, что у тебя грани могут задаваться как строгое неравенство <>.

int maxint = std::numeric_limits<int>::max();
int minint = std::numeric_limits<int>::min();

struct point { int x,y,z; };

struct bbox {
point bot, top;
bbox& operator+(const bbox& ) {...};
bbox& operator-(const bbox& ) {...};
};

struct object
{
bbox box;
object(point& p1, point& p2) : box(p1, p2) {};
object& operator+(const object& obj) {return box + obj.box;};
object& operator-(const object& ) {return box - obj.box;};
};

// obj1. cond x>1, y>2, z>3
object { {1, 2, 3}, {maxint, maxint, maxint} };

// obj2. cond x<4, y<3, z<6
object { {minint, minint, minint}, {4, 3, 6} };

// obj3. cond y=3, z<5
object { {minint , 3, minint }, {maxint, 3, 5} };

object obj4 = obj1 + obj2 + obj3;

Дальше сам.
209 2085797
>>085745
Ну да. Единственный момент, что у тебя грани могут задаваться как строгое неравенство <>.

int maxint = std::numeric_limits<int>::max();
int minint = std::numeric_limits<int>::min();

struct point { int x,y,z; };

struct bbox {
point bot, top;
bbox& operator+(const bbox& ) {...};
bbox& operator-(const bbox& ) {...};
};

struct object
{
bbox box;
object(point& p1, point& p2) : box(p1, p2) {};
object& operator+(const object& obj) {return box + obj.box;};
object& operator-(const object& ) {return box - obj.box;};
};

// obj1. cond x>1, y>2, z>3
object { {1, 2, 3}, {maxint, maxint, maxint} };

// obj2. cond x<4, y<3, z<6
object { {minint, minint, minint}, {4, 3, 6} };

// obj3. cond y=3, z<5
object { {minint , 3, minint }, {maxint, 3, 5} };

object obj4 = obj1 + obj2 + obj3;

Дальше сам.
210 2085807
Есть минимальная мультиплатформенная библиотека для создания окна и клава-мыши?

SDL/glfw/SFML засраны мусором (нахуя мне там всякие вулканы, софтрендеры и прочее говно?)

Мне надо только создание окна, получение событий окна, событий ввода, и получение хендла окна с которым я уже и буду сам работаь
211 2085810
>>085807

>Есть минимальная мультиплатформенная библиотека для создания окна и клава-мыши?


OpenGL glut

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


Как ты будешь это делать кроссплатформенно-то?

Какие-то у тебя шизоидные запросы. Ты хочешь взять половину графического тулкита? Если тебе хочется попердолится вручную рисовать окошки, то получать события окна и клава-мыши сравнительно просто.
image.png60 Кб, 1067x690
212 2085815
>>085810

>Как ты будешь это делать кроссплатформенно-то?


Во всех системах у окон есть хендл (на виндах который HWND)/
Вот например через SDL это можно так делать, как на пикче.

>OpenGL glut


Обмазано говном OGL

>>Ты хочешь взять половину графического тулкита?


Не понял вопроса.

Мне надо:
- создание окна
- получение сообщений о том что окно свернуто, развернуто, закрыто, активно и т.д
- получений сообщений от клавы и мыши
- мультиплатформа
- отсутствие говна типа звуковых библиотек, впихнутых туда вулканов и созданий контекстов OGL, или вообще софтрендера на DX11 (как в SDL где 90% кода - это этот ебучий нахуй никому не нужный софтрендер)

Мне нужен минимализм, чтобы было минимальное. И еще, мне не нужен OGL/DX/Vulkan - я не игру делаю. У меня вообще другая задача не связанная с графикой
213 2085825
>>085815
Ну так возьми glut и вытащи оттуда то, что тебе нужно. Он же в исходниках. Кода там мало.
214 2085854
>>085807
Просто не используй то, что не нужно. Или ты каждый байт экономишь? Зачем тогда юзать кресты, если сишка тоже тьюринг-полная и не засрана всяким говном?
215 2085860
>>085854
Что тогда не ассемблер?
216 2085866
>>085860
Мы так до транзисторов дойдём в лучших традициях пикабу
217 2085870
>>085860
Ему нужна мультиплатформенность.
218 2085890
>>085437
Ты не перепутал с предыдущим тредом?
219 2085906
>>085815
SFML состоит из 5 модулей, физически - это отдельные библиотеки. Ставь какие надо.
Плюс в пределах модуля есть куча более специализированных подзаголовков.

>Мне надо:


SFML/Window для окон и SFML/System для клавомыши.

>отсутствие говна типа звуковых библиотек, впихнутых туда вулканов


Просто не ставишь графический и аудио модули.
Правда, текст и шрифты лежат все же графическом модуле. Но и их можно взять отдельно, если подключать не весь заголовок графики, а только нужные.
220 2085907
>>085815

>Во всех системах у окон есть хендл (на виндах который HWND)


Окно нужно чтобы туда что-то показывать. Как ты собираешься кроссплатформенно выводить что-то в окно?

>Мне нужен минимализм, чтобы было минимальное.


Минимальное что? Пока ты предлагаешь переписать кучу библиотечного кода (т.е. доступного всем приложухам) на кучу своего. Не похоже на минимализм

>И еще, мне не нужен OGL/DX/Vulkan - я не игру делаю.


Если ты уж захотел попердолится в кастомный тулкит, то хотя бы сделал бы это с пользой для себя. Брезенхамы и прочие эллипсы на ЦПУ уже никому не нужны, отрисовку даже UI пытаются вынести на ГПУ
221 2085948
>>085815

>Во всех системах у окон есть хендл


И какой в макоси например хендл?
222 2085975
>>085815
Почему ты такой шиз? Все, что ты не будешь использовать в своем говне просто линкером вырежется из экзешника
223 2086168
Есть какая-нить простенькая либа для рендера всяких фигур и шрифта на GPU? Дело в том, что я работаю с видеопотокамии OpenCV и все операции с ними происходят на гпу от декодинга до процессинга, и чтобы мне вывести дебажную инфу в кадр мне приходится отгружать кадр на цпу и там рисоваться всякие коробки и текст.
224 2086173
>>086168
SFML. Работает поверх OpenGL, а он на гпу.
225 2086179
>>086173
Что-то я при беглом осмотре не нашел способов там создать sf::Texture или что-то подобное напрямую из GPU памяти
изображение.png8 Кб, 1006x171
226 2086192
227 2086234
>>086192
Это не может создаться из raw pointer'а на cuda или opengl память
228 2086236
Знание С++ полезно инженеру АСУ ТП?
229 2086249
>>086168

>Есть какая-нить простенькая либа для рендера всяких фигур и шрифта на GPU?


Если нужно сделать плюс-минус красиво и многоязычно, то проще отрендерить шревты на ЦПУ и потом загрузить текстурой.
Если сойдет мноноширинная кириллица-латиница, то можно поебаться c битмапами (грузим весь шрифт как текстуру, а потом через UV координаты вытаскиваем нужные пиксели)
230 2086256
>>086249
Да я все это понимаю что можно загрузить текстуру со шрифтами и реализовать свой рендеринг текста и фигурок, но хотелось бы избежать еботни, т.к. времени на это все нету совсем. Хотелось бы чтобы я написал sudo apt install libname-dev и потом в коде написал
#include <libname>
...
libname::Texture tex(width, height, &cudamem, stride, cudamemsize);
libname::drawRectangel(tex, p1, p2)
libname::drawText(tex, "Text");

вот что-то типа этого
231 2086266
>>086256
Лучше сделай по-простому. Рендерни текст на cpu, залей на gpu и наложи в виде маски (это всяк дешевле, чем целый кадр с gpu тянуть).
Потом уже рисёрчем занимайся. У NVIDIA есть под cuda рендерилка шрифтов. Есть возможность шарить кусок памяти между gl и cuda, чтобы рисовать произвольную геометрию. Но ты со всем этим вдоволь наебёшься, я тебе гарантирую.
232 2086276
>>086168
Cairo?
233 2086282
>>086276
Cairo совсем не про это, она большая и очень старая.
234 2086293
>>086234
Там есть метод loadFromMemory, принимающий указатель.
235 2086296
>>086256
Pango?
236 2086314
>>086293
Он же с обычной ОЗУ работает, а не с памятью гпу.
НЕНАВИЖУ ЭТУ БЛЯДСКУЮ КАПЧУ, ЗАЕБАЛСЯ С ПЯТОГО РАЗА ВВОДИТЬ
237 2086319
>>086236
Ну конечно же!
238 2086321
>>086168

>рендера всяких фигур и шрифта на GPU


Я только про SLUG знаю про рендер шрифтов прямо в гпу, но он платный. Можешь в эту сторону копать. Капча, угомонись
239 2086336
Я смогу подключить sfml без пердолей в студии, попердолясь в cmakelist? Как это сделать можете в общем указать?
maxresdefault.jpg106 Кб, 1280x720
240 2086341
Кста сделал свою тасочку с апаратной записью на ведре, оказалось на НДК это довольно просто сделать, надо было сразу за него браться, а не ебаться с ffmpeg
241 2086344
>>086336
vcpkg install sfml

1 раз разберись и никогда больше не пердолься
242 2086355
>>086341
Чёт ты совсем долго возился.
243 2086357
>>086344
Это для смузихлебов. Вдруг мне надо что-то не стандартную либу подключить? Все используют cmake. К тому же логотип у vcpkg на порядки хуже чем у cmake
244 2086362
>>086357
Смузи уже давно протёк в C++. Пакетники и docker обычное дело.
245 2086369
>>086357
Как насчёт использовать vcpkg вместе с cmake?

cmake_minimum_required(VERSION 3.15)
project(app)
find_package(SFML 2 COMPONENTS system window graphics REQUIRED)
add_executable(prog prog.cpp)
target_link_libraries(prog sfml-system sfml-window sfml-graphics)

$ cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake && cmake --build .
246 2086373
>>086355
Мне лид сказал отложить, я её и не делал некоторое время
247 2086388
>>086369
В проде так нельзя. Нужен cmake
248 2086389
>>086357

>Это для смузихлебов.


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

В С++ есть конечно идея бесконечного NIH синдрома, и прочего карго-культа пердолькинга, но не надо так.
249 2086393
>>086388

> Нужен cmake


Да, поэтому в моём посте сплошной cmake.
250 2086401
>>086336

>без пердолей в студии


https://www.youtube.com/watch?v=on7U-90gfrI
251 2086409
>>086401
Согласен с тобой. В современном мире нет причин использовать неудобное и неэффективное, стоит отбросить NIH синдром и просто воспользоваться функционалом студии. Я так и сделал. Советую всем
252 2086412
>>086409

>В современном мире нет причин использовать неудобное и неэффективное, стоит отбросить NIH синдром и просто воспользоваться функционалом студии.


Какие же это мудрые слова
253 2086418
>>086409
К слову, я так и не нашел способ зафиксировать результат работы этого nuget в шаблоне проекта.
(Изображение PNG, 426 × 336 пикселов).png81 Кб, 426x336
254 2086419
Как преодолеть свой страх перед плюсами? Я в вузе писал на адской фигне, которую преподы обозначали как C/C++, тогда я был молод и глуп, про многое не знал и наступал на сотни граблей, получил выученную беспомощность, уже планировал дропать ВУЗ, но тут нас пересадили на джаву и я наконец стал хоть что-то понимать. Прошло 8 лет, я уже 4 года как работаю Java-разработчиком, за это время писал на питоне, шарпе, даже на go пописать успел. Но при одной мысли о том, чтобы что-то написать на плюсах сложнее калькулятора - в дрожь бросает. Вот как с этим справиться? Что делать чтобы преодолеть этот психологический барьер и закрыть таки гештальт?
255 2086422
>>085975
Не вырежется, а просто не попадёт туда.
256 2086424
>>086419
Лучше ничего не делать...
257 2086426
>>086419
Не использовать неудобное и неэффективное, стоит отбросить NIH синдром и просто воспользоваться функционалом студии.
258 2086600
>>086419
биреш @ пишеш
259 2086602
>>086419
ПОра бы уже додуматься отбросить мертвую джаву с плюсами и изучить тайпскрипт с растом
image.png43 Кб, 612x604
260 2086618
>>086602

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

261 2086619
>>086602
Ну так съеби в растопетушиный тред, че ты тут забыл-то
262 2086625
Начал вкат в с++ после Си, и назрел вопрос по поводу форматированного вывода:
Возможно ли без особой ебли сделать это:
printf("%3d %6.2f %-6d\n Hello World!",a,b,c);
без си библиотеки?
263 2086626
>>086625
Нет, потому что библиотека I/O в крестах спроектирована левой пяткой эпилептика в припадке. Ходя в двадцатых появился std::format https://en.cppreference.com/w/cpp/utility/format/format
264 2086627
>>086419

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


Не поверишь, у меня также.
мимо почти шесть лет коммерческих крестов
manool.jpg291 Кб, 1920x1080
265 2086630
>>080946 (OP)
Люблю использовать POCO https://pocoproject.org/ вместо буста (дома, на работе всё же буст везде). Я нормален? Нравится их кодстайл и какая-то ламповость, без диких шаблонных наворотов.
266 2086632
>>086357
Как на счет conan? Помаленьку занимает нишу пакетника для крестов, хорошо интегрируется с cmake, даже свой репо пакетов держать не понадобиться - скорее всего, твой sfml есть на conan.io.
unnamed.jpg55 Кб, 512x443
267 2086634
>>084737

>Мало того Шлее ни сколько не интересует психологическое состоянии читателя.

268 2086637
>>086634
Петзольд старается успокоить читателя в своей книге, чтобы он не нервничал, когда обсуждаются сложные вещи. А Шлее в начале книге пиарит, какой Qt крутой, а потом просто перечисляет классы Qt. Типа, этот делает то-то, это другое. И читатель ничего не понимает из этого описания и чувствует себя профессионально и умственно не полноценным. Но на деле это Шлее хреновый писатель.
269 2086645
>>086637
>>086637
Я услышал тебя, шиз, не обязательно было постить два раза.
270 2086647
>>086632
Да я в студии подключил. Нахер эти бессмысленные пердоли ради пердолей
271 2086648
>>086645
Мои профессиональные и умственные навыки на довольно высоком уровне, а если я чего-то не понимаю, то значит информация изложена плохо. Немаловажен фактор, что писатель старается подбодрить своего читателя, и тогда информация воспринимается лучше, чем скупое и бездушное описание библиотек как в книгах Шлее.
272 2086688
>>086625
Можно. Смотри iomanip. Только это всё равно довольно ограниченно, если правильно помню.
273 2086824
>>086630

> Я нормален?


Не очень. Но это не должно вызывать беспокойства. Пользуй, если нравится.
274 2086826
>>086625
1. сишная либа вложена в плюсовую
2. советую вкурить многоязычность(интернационализацию-локализацию) и понять зачем там нужны printf-подобные (а точнее плейсхолдерные) форматтеры
275 2086831
>>086824

> Не очень


Чому?
276 2086846
>>080946 (OP)
Я извиняюсь что вкатываюсь со своим дерьмом, но почему нигде не указаны книги Стефана р. Дэвиса? Дебилам оче помогает разобраться в языке.
277 2086882
>>086831
В росо, как любом уважающем себя проекте, куча своих велосипедов, типа AutoPtr, Optional и т.п., что уже есть в STL - что-то давно, а что-то недавно. И на мой взгляд глупо разменивать вездесущие плюхи STL на какую-то маргинальщину. Ну а буст - это полигон для STL. Если что-то есть в STL и где-то ещё, то без веских причин я бы всегда отдавал предпочтение STL по соображениям переносимости, документированности и, возможно, но не факт, эффективности. Хотя у поки с переносимостью достаточно хорошо, не говоря о том, что там есть вещи, которых нет ни в бусте, ни тем более эстээлечке.
278 2086917
>>086846

>C++ для чайников


Потому что в этой книге "для чайников" только название и смехуечки автора, а содержательный материал если и отличается от любого другого учебника, то исключительно в худшую сторону?
279 2086928
>>086882
Почему в STL нет возможности работать с графикой?
280 2086931
>>086928
В стл даже ебаных сокетов нет, что там графика.
281 2086962
>>086928
STL - standart teamlead livepods. Где тут написано хоть упоминание про графику?
282 2087066
>>086928
Потому-что нахуя затаскивать в язык то, что надо делать 3рдпати либами?
283 2087069
>>087066
А консольный и файловый ввод/вывод зачем затолкали?
284 2087071
>>087069
Потому что не надо делать 3рдпати либами.
285 2087084
>>087069
Лучше бы не делали, ты сам знаешь юзабилити этих говностримов.
286 2087129
>>086928
потому что stl (standart template library) - это не более чем плод извращенной фантазии одного сходящего с ума ученого о обобщенных но сохраняющих типизацию структурах данных и алгоритмах, некая фантазия о многократной применимости единожды написанного кода
287 2087189
>>086917

>то исключительно в худшую сторону


Как по мне так написано вполне доступно и ясно для рядового читателя.
288 2087230
Господа, объясните почему ошибки типа
error: ‘tops’ was not declared in this scope и им подобные выскакивают
Только не ругайте, знаю что код плохой.

https://onlinegdb.com/wCAajq5vG
289 2087247
>>087230
ну так их правда нету в том скоупе
290 2087266
А что, в sfml такая плохая поддержка окон, что нельзя даже напрямую? выбрать создать ли мне дочернее окно или owned? Это как я понимаю через winapi надо пердолить?
291 2087384
>>085132
В c64 событийное не нужно, графический режим там работает так - луч бежит по электронно-лучевому монитору, а процессор примерно каждые полтакта лочится и пересылает по видео каналу цвет текущего пикселя, это если очень упрощенно. Событийные там только прерывания, которые по сути срабатывают при совпадении текущей координаты луча с требуемой. Сам код можно писать абсолютно линейно, в духе - начался кадр, начинаем выводить пиксели, сколько успели нарисовать столько успели.
292 2087386
>>087069
Для того чтобы учить студентов хелло ворлды писать.
293 2087413
>>087384
Мы обсуждаем эмулятор, а не реальный с64. Я знаю как устроены 8-разрядные ЭВМ, но их устройство ни как не влияет на написание графических приложений в современных ОС. Они не спрашивают чего ты хочешь, а ставят чёткое условие: хочешь графику - изволь писать по нашим правилам.
294 2087423
>>087413
Я уже приводил в пример cv2, там тупо вызываешь отрисовку и все.
В общем-то и в sdl2 так же, там же события системные и ввод, а вывод можно тупо в while ебошить.
295 2087428
>>086419
Почитать какие-нибудь туториалы по modern c++
https://habr.com/en/post/182920/
Посмотреть презентации
https://www.youtube.com/watch?v=UsrHQAzSXkA
296 2087442
>>087423
Там же убого всё выглядит: выскакивает консольное окно и второе с графикой.
297 2087443
>>087442
Консолька отключается.
298 2087742
>>087129
Не надо тут. Именно STL и её модель итераторов - очень крутая штука. Степанов не зря старался, когда её делал. Но STL подводят две вещи:
1) Не очень удачные остальные части стандартной библиотеки
2) Многие вещи надо было всё-таки делать на уровне языка, а не как обычный код. Тогда бы возможно ушли километры сообщений об ошибках. Но Комитет считает иначе.
299 2087746
>>087742

>STL подводят две вещи


Чаще всего критикуют за то, как выделяется память
300 2087752
>>087742

>Тогда бы возможно ушли километры сообщений об ошибках


Концепты
301 2087788
>>087746
Это же от реализации зависит, не?
302 2087901
А давайте будем постить смешное и ёбнутый контент на тему программирования. Унылый тред что пиздец.
303 2087905
>>087901
Давайте срач про rest в крестотреде.
304 2087916
>>087905
Раст не нужен, уже есть Zig.
305 2087921
>>087916
Мы про rest api. Но ты продолжай.
307 2087927
>>085975

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


Голое окно на WinAPI занимает меньше 1мб оперативной памяти в релиз сборке
Голое окно на SDL 2 занимает 60мб оперативы в релиз сборке

Что же там такое засирает память?

>>085906

>SFML состоит из 5 модулей


В SFML прибит OpenGL, его контекст там создается даже если нахуй не нужен
308 2087930
>>087901
тебе в говнопаблики типа ТИПИЧНЫЙ ПРОГРАММИСТ, где уже 10 лет обсасывают КАК ЖИ СМИШНО ПЫХАПЕ ХАХАХ ПИХАПЕ
image.png88 Кб, 1480x605
309 2087932
>>087927

>Голое окно на SDL 2 занимает 60мб оперативы в релиз сборке


Че еще расскажешь?
310 2087933
>>087927

>Голое окно на SDL 2 занимает 60мб оперативы в релиз сборке


Бред. Может у тебя там текстура под шрифт выделилась?
311 2087952
>>080946 (OP)
tuple не работает. В чем может быть проблема?
312 2088002
>>087952
Инкомплит тайп == забыл инклуд.
313 2088008
>>087927

>В SFML прибит OpenGL


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

>контекст там создается даже если нахуй не нужен


Для рисования окна в любом случае какой-то контекст необходим. Если не опенгл, то будет какой-то другой.

Найти что-то легче сфмл - это надо очень постараться. При этом у сфмл есть хорошая документация и с ним ты пишешь на c++, а не на сях.
314 2088135
>>087746
Кто критикует? Ссылки в студию. Там везде , кроме std::function в параметрах шаблона есть Allocator: не нравится - подставляй свой.
315 2088170
>>087742

>остальные части стандартной библиотеки


Расскажи поподробнее пожалуйтса какие части считаешь неудачными. Чем заменить неудачные части?

>Многие вещи надо было всё-таки делать на уровне языка


На джаве исправили это и есть ли преимущества где-нибудь? И это не начала срача языков, сразу говорю. Множественное наследование например посчитали не нужным. Что еще?
316 2088224
Пиздец, этот Си как проклятье. От него не уйдешь. Он будет тебя преследовать везде. Уже при виде define на лбу проступает пот, страх заполняет мысли и хочется закрыть этот ссаный проект чтобы NE_VIDET_ETOGO_UGASA. Сеймы есть?
317 2088230
>>088224
Нет. Условные сборки никто не отменял.
318 2088261
319 2088263
>>088261
# ifdef _WIN32
Winapi-параша
# else
Posix-параша
# endif
320 2088269
>>088224
Так ты тредом ошибся, тут С++
321 2088571
>>088170
не ненужным, а избыточным
322 2088582
>>088263
Говно решение - код превращается в помойку, в нем постоянно ломаются платформозависые куски кода

Лучшее решение (к которому многие с недавних пор и начали прибегать):
WIN32параша.cpp
POSIXпараша.cpp
параша.h

В заголовке общий публичный интерфейс. В cpp конкретная платформозависимая часть, компилятор берет нужный cpp.
Для каких-то специфичных платформенных полей классов юзать идиому pimpl, либо наследование (но мне больше pimpl нравится)
323 2088595
>>088582
Да давно так делают. Берётся фабрика, фабричный метод и в нём ifdef. Недостатки фабрик тебе наверняка известны.
324 2088599
>>088595
Я не про фабрику
325 2088602
>>088571
Где ты увидел "ненужным" и что считаешь избыточным?
326 2088897
>>080946 (OP)
Чем мидл отличается от джуна? Какими знаниями надо обладать чтобы быть выше джуна? Где грань?
327 2088958
>>088582
Двачую. Давно никаких портянок ифдефов, все делает билдсистема.
328 2088984
>>088897
опыт и самостоятельность
329 2088992
Вот смотри, анон.
Ты же знаешь что такое WIF (биткоин)?
Если знаешь, то вероятно ты знаешь и про то, что из WIF можно легко получить Bitcoin-адрес.

Задача следующая.
Я хочу собрать в .txt файл список из 15000 Bitcoin-адресов с самым большим балансом.

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

Мне интересно, с какой скоростью (проверок / в секунду) эту работу будет выполнять RTX3090 и GTX1660Ti, по отдельности каждая. Т.е. подбор рандомного WIF, получение из этого WIF Bitcoin-адреса, поиск его в txt файле среди 15000 строк. Все это в многопотоке. Можно ли хотя бы ориентировочно рассчитать скорость?

Сопутствующие вопросы:
Проц, я так понимаю, в данном случае будет простаивать без нагрузки и соответственно нет никакой разницы, какие у него вычислительные возможности?

Объем ОЗУ тоже не имеет значения? Иначе говоря будет ли нехватка ОЗУ (например, 16 Гб) тормозить работу скрипта?

Скрипт на чем писать, чтобы работал максимально быстро и стабильно? C или C++? Или вообще что-то другое?

Заодно хотелось бы узнать, во сколько вы бы оценили написание такого скрипта.
330 2089077
>>088599
Что ещё за фабрики? Типа писать программы для станков ЧПУ?
331 2089096
332 2089154
>>088992
хуй будешь?
333 2089159
>>088992
Это сложно для этого треда, анон. Сдешние способны только потролить ссылкой на студию когда просишь совета по еклипсу или еще какую ерунду написать
334 2089168
>>089159
малолетним дебилам здесь не рады, это не для тебя сделано и не для таких как ты. пошёл нахуй с тупичка
335 2089177
336 2089178
Я буду откровенен и скажу, что пришëл в си после более современных ЯП и даже смог вывести окно с помощью WinAPI, но я просто не понимаю зачем нужно всë это дерьмо с памятью, поинтеры, *, & и так далее. Я понимаю, что дело в оптимизации и сколько ОЗУ занимает прога (или я так думаю), но меня с моим маленьким опытом интересуют другие вещи. Лан, не знаю нахера это всë пишу в треде для задротов.
337 2089180
>>089178
Собстно, это суровое наследие суровых времен. В модерновом С++ никто с памятью напрямую не работает, или очень серьезно всё это оборачивают.

А вот референсы\указатели - это есть везде и всегда, просто спрятано.
338 2089185
>>089159
Эта хуйня к треду не относится, тут вопрос в предметной области, которую можно сделать хоть на пистроне
339 2089189
>>089178
В более современных языках есть референсные типы (любые не примитивные) что по сути то же самое только с синтаксическим сахаром. Следовательно ты даже их не понял.
340 2089206
>>089178
Можно работать с любой ячейкой памяти и без костылей в жопе как в расте.
341 2089209
>>089206
UB UB ГРОБ КЛАДБИЩЕ
342 2089212
>>089206
Я просто не понимаю почему нельзя просто пользоваться переменными, а нужно лезть в ячейки памяти и что-то там искать. Я очевидно новичëк, но для меня вся эта тема с использование поинтеров для получения данных напрямую из памяти иррациональна. Если тебе надо хранить информацию, то просто создай переменную, но я видимо чего-то не понимаю.
343 2089215
>>089212
Представь огромный объект из 100500 полей, вложенныз массивов и других объектов. Каждый раз будешь это всё копировать, когда надо передать в другую функцию?
344 2089217
>>081020
Конструкции языка (Statements).
345 2089222
>>089206
Засунул свой unsigned long long тебе в защищенную на деле не очень область памяти. Проверяй.
346 2089228
>>089217
Statement - эир то, что некоторые переводят как оператор, хотя где-то инструкция. Это только часть синтаксиса.
347 2089229
Сап двач. Поясните за рекрутинговые агенства зачем они нужны, стоит ли с ними связываться и какой профит работодателю от них? Постоянно спамят hr оттуда со сладкими предложениями особенно часто в Яндекс.
348 2089235
>>089229
Дружище, никто тебе просто так не будет давать работу, скорее всего тебя хотят забрать в рабство или типо того. Ты реально думаешь, что кто-то будет пытаться дать тебе работу?
349 2089236
>>089229
Когда предложение настолько СЛАДКОЕ, что аж платят лишь бы кто-то к ним пришел, агасики
350 2089240
>>088602

>"посчитали ненужным"


в глаза долбишся, сука?
351 2089243
>>089212
Ну допустим по сети к тебе пришёл медиа пакет. Это кусок памяти, который надо разобрать на "переменные", прыгая по его адресам.
352 2089246
>>089178
пойнтеры, сладенький, дают возможность косвенного обращения
это фундаментальная особенность, реализованная почти во всех яп
пойтеры, ссылки, срезы - все это одно и то же по назначению, отличается лишь семантикой и синтаксисом
353 2089257
>>089229

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


Поясняю по хардкору: рекрутессы закрывают вакансии галер за бабки. Т.е. за каждого нанятого гребца (после испыталки), рекрутесса получает 1000$-2000$-3000$ в зависимости от уровня и актуальности вакансии.
В некоторых, особо сладких случаях, рекрутесса готова продать пизду пошарить часть премии лишь бы только устроился мне предлагали.

>>089235

>никто тебе просто так не будет давать работу, скорее всего тебя хотят забрать в рабство или типо того


Кекнул с этого рывалюционера
354 2089294
>>084403

>c++


Земля тебе пухом, братишка. На нем пишут все и всё, в итоге тебе нужно будет знать не просто c++, а все его стандарты с тончайшими различиями, иначе грош цена будет всем твоим знаниям.
355 2089599
>>089178
Почему бы тебе не прочесть книжку для новичков? Там не только написано, как всем этим добром пользоваться, но ещё и даются объяснения, что для чего нужно, и примеры задач.
356 2089625
>>089294

>все его стандарты с тончайшими различиями


что за отбитую хуйню ты несешь?
357 2089633
>>088992
хуй будешь?
358 2089634
Может я делаю велосипед, но в ходе изучения цпп я заметил, что существует два вида синтаксиса - синтаксис объявления и синтаксис использования. При чем написанное с помощью одного синтаксиса может совершенно не иметь смысла в рамках другого.
Например
1. При объявлении указателей используется ⚹, которая их не разыменовывает, в отличие от обычного использования.
2. Запись a[5] при объявлении массива обозначает выделение памяти и вполне приемлема, но такая же запись для того же массива a[5] в контексте синтаксиса использования обозначает уже доступ к элементу массива и неприемлема, поскольку выходит за границы массива.
Где может возникнуть проблема у новичка?
Например, при использовании функций/методов. В параметрах функции используется синтаксис объявления, в аргументах вызова функции - синтаксис использования. Так в прототипе функции f1(int &value) знак & означает ссылку на тип int, в вызове функции f2(&value) знак & обозначает уже адрес переменной value.
Может для вас и хуйня, но меня изрядно запутывала такая разница, пока я четко не уяснил, что есть два вида синтаксиса.
359 2089635
>>089177
анус ставишь?
360 2089636
>>089634
пошёл нахуй с тупичка ботан
361 2089638
362 2089646
>>089634
Всё нормально. Это префиксная и постфиксная формы использования лексемы. В объявлении f(int&) знак & сзади, у взятия адреса &int - спереди. Аналогично операторы инкремента A++ и ++A разные.
363 2089680
Хочу переехать в США и зарабатывать 400к/год+. Это позиция сеньора в ФААНГ.

Какой язык, если не С++, даст кратчайший путь к сеньорству в ФААНГ?
Я знаю что язык лишь инструмент, нужно учить само программирование, но подскажите кратчайший путь. В интеренте так много видео-обучалок и гайдов, глаза разбегаются, не могу сонцентрировться.
364 2089704
>>089599
Я умею учиться программированию только на практике, делая что-то, например окно с анимацией. В этих всех книжках всë очень теоретично и сложно понять как это использовать на практике.
365 2089755
>>089638
пошёл нахуй с этого треда
366 2089759
Здравствуйте уважаемые, нужен совет. Я принимаю по комп порту инфу, парсю пакет дописываю в него что-нибудь и посылаю его назад. Сейчас мне нужно переехать за машину на которой нет ком порта. Адекватно ли будет работать какой-нибудь переходник com to usb ? Я так понимаю мне нужно будет накатить софтину чтобы система увидела мой usb - com как com. Кто-нибудь пользуется? Порты не висят? Пакеты не теряются? Брат жив?
367 2089762
>>089759

>Адекватно ли будет работать какой-нибудь переходник com to usb ?


Да. Программа видит его как обычный ком порт, только драйвера не забудь поставить. Постоянно пользуюсь.
368 2089777
>>089762
пасиба!
изображение.png153 Кб, 1120x645
369 2089834
>>089634
В контексте объявлений [], ⚹ и порч. - это совершенно другие операторы - declarator operators.
needHelp.JPG13 Кб, 608x70
370 2089891
помогите пчелики решить задачу.
371 2089893
>>089891
Нужно просто посчитать количество единиц
372 2089897
Узнал про задачу FizzBuzz, которую вроде бы задают на собеседованиях. Поверить не могу, что есть люди, которые не могут это решить.
373 2089899
>>089897
Большинство вкатунов в петухон не может.
FB.png5 Кб, 314x266
374 2089904
>>089899
Я понимаю, что прикольно издеваться на питоном и его фанатами, но я никогда не поверю, что любой человек, знающий базовый синтаксис любого языка программирования не напишет это.
375 2089912
>>089704
Я именно по практической книжке и учился C по часу в день ака C за 21 день. Там учат, допустим, 2д массивы, дают упражнения и задания, что это, зачем, как использовать. Все знания из этой книги пригодились в будущем, вопросов уровня твоих у меня не возникало (кроме вопросов по энумерациям, про которые в книге не было, емнип). Наверняка в других книжках для полных новичков так же всё понятно рассказано.
376 2089913
>>089904
Это может быть и напишет. Решение неверное, кстати.
Тебе не перезвонят.
377 2089925
>>089904

>Анон не смог решить физзбазз. Холст, масло, 2021.

378 2089929
>>089680
Алгоритмы на литкоде дрочи. А язык любой, кроме совсем обскурной хуйни типа хаскеля.
379 2089938
>>089904
в голосину с этого решателя физзбазза
380 2089943
>>089904
Ты или else сними, или FizzBuzz надень.
381 2089969
>>089891
Если бы было по-русски, то я бы помог.
382 2089971
>>089929

>А язык любой


Если любой, то почему кто-то выбирает сложные типа С++? Ведь Го, Питон гораздо лечге, Джава тоже легче
383 2089984
>>089971
Ты все верно понимаешь. Если мы говорим о чистом соотношении деньги\сложность - то и питон, и го, и джава правда лучше.

Но, допустим, я - терпеть не могу питон, это отвратительное говнище. А С++ начал учить из-за того, что мне было интересно.
384 2089993
>>089984

>терпеть не могу питон, это отвратительное говнище


почему?

Вообще моя мечта - большая красивая шикарно оптимизрованная ААА оупен ворлд игра, круче чем Ведьмак 3 и ГТА 3-ВС-СА-4-5. Я слышал что С++ для ААА геймдева но учить не хочу
385 2089998
>>089993

> почему?


Я не могу в динамически типизированные языки, а питон еще совсем не похож на то, к чему я привык, как минимум из-за этих рофлопробелов

> Вообще моя мечта - большая красивая шикарно оптимизрованная ААА оупен ворлд игра, круче чем Ведьмак 3 и ГТА 3-ВС-СА-4-5. Я слышал что С++ для ААА геймдева но учить не хочу


Ну, собстно да. Но таких вакансий, типа девелоперов движка - раз два и обчелся. в РФ вообще этим 2 конторы занимаются. Unigine в Томске, и Saber в Питере. Ну мб мейлру еще какой конечно.

А если делать именно игры, а не писать двигло - то это вообще юнити, где С++ нахуй не сдался
386 2089999
>>089998
И Unreal, где C# нахуй не сдался.
387 2090002
>>089999
Ну это все еще серьезные доменные знания, С++ там можно на на слабомидловском уровне знать
388 2090016
>>089998
WarGayMing ещё колупает BigWorld на с++. Но там вся работа это одно большое легаси, которое должно работать на древних пеках (dx12, vulkan, rtx и прочее там не практикуется).
Saber как контора говно, Unigine под проекты для товарища майора, мейлру часть своего говнеца аутсорсит, так что всё совсем плохо.
389 2090254
>>090016

> BigWorld


Какой бигворлд, у них же новый молодежный encore.
390 2090292
>>089891
Пускай у тебя в числе 3 биты выставлено. Тогда самое маленькое число: 0b00...0111, а самое большое: 0b111000...0. То есть
numbits = popcnt(x)
lowest = (numbits == 32) ? ~0 : (1 << numbits) - 1 // сдвиг ровно на 32 для uint32_t - UB нахрен, поэтому либо так, либо игрища с приведениями к uint64_t и обратно
highest = (numbits == 0) ? 0 : (lowest << 32 - numbits)
391 2090383
>>090254
В танках может быть и да, но на других проектах - нет. Именно легаси говнецо по их же словам.
392 2090418
>>089680

>Хочу переехать в США и зарабатывать 400к/год+. Это позиция сеньора в ФААНГ



400к+ тебе особо платить никто и не будет. Уровнь сеньора на пикрилах. Еще учти налоги, страховки - получишь 250к - максимум 300к на руки в лучшем случае.

>Какой язык, если не С++, даст кратчайший путь к сеньорству в ФААНГ?



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

Но скажу тебе, в фаанги очень большие очереди желающих со всего мира. С почти 100% вероятностью ты никогда не сможешь туда попасть. Если просто хочется много денег, то наверное проще замутить айти бизнес в России, если выстрелит, то будешь получать даже больше чем 400к долларов в год. Ну или родиться в следующей жизни в семье какого-нибудь нейрохирурга в США, который оплатит тебе медицинское образование и устроит в хорошую клинику, и ты сможешь получать по 500-600к+ в год как и твой батя. Да и в целом в российской медицине тоже есть варианты заработать, если есть бабки на образование и хоть какие-то связи.
393 2090480
>>090418
Этот дело говорит. Население стареет что тут, что там. Бумеры скоро дружно начнут ходить по врачам и делать хорошую кассу. А потом ты просто будешь хорошо экономить на посещении врачей сам, имея связи и зная, куда дать на лапу и где сделают хорошо.
394 2090493
>>085807

Все что ты вспомнил, и есть самое минимальное что существует из кросплатформенного.

Если действительно хочешь минимального, пиши сам, обмазайся ифдефами и вперед, это кстати не сильно сложно, сам писал минимальные запускалки на винапи и иксах, самое сложное наверное это мапинг всяких кодов с кулавиатуры. Ну или выдерни из glfw например то что тебе нужно и скомпиль.
395 2090494
>>090418

> С почти 100% вероятностью ты никогда не сможешь туда попасть.


Ну, кстати, нет. Полгода задрачивания литкода - и все, мидлом в фаанг ты попадешь. Сениором уже сложнее, там system design интервью
396 2090550
>>090480

>Бумеры скоро дружно начнут ходить по врачам


Ты нам из какого года пишешь?
397 2090589
>>090494
Лол кринж SHEEIT_CODE это путевка в жизнь!
398 2090643
>>090550
С 2007го. Как там у вас, потомки? На с++ всё еще пишете?
399 2090647
>>090643
Да, все хипстерские языки переживёт.
image.png12 Кб, 374x264
400 2090684
Аноны, я не понимаю, почему нужно -1 ставить в указателе. Мои предположения, что это из-за того, что там что-то с нулём-терминатором. Объясните пж
401 2090693
>>090684
откуда ты взял этот говно код? там бажина
402 2090695
>>090693
с пикабу, ты про то, что если встретится '\0', то он не скопирует?
403 2090696
>>090684
Строки заканчиваются /0. Если тебе надо сделать копию, то нужно скопировать текст и в конец добавить /0. Если в while не будет -1, то цикл скопирует последнюю букву, затем увидит /0 и завершится. При этом строка to останется без /0 на конце.

Само решение добавить таким способом в конец to /0 проблемное, потому что на первой итерации while происходит чтение за пределами блока from. А там может быть /0 и тогда вообще ничего не скопируется.
404 2090699
>>090696
понятно, спасибо большое
405 2090732
>>090695
Я про чтение за пределами массива (from - 1).
Быстрый фикс - это сделать do { ... } while (⚹from);
406 2090739
>>090684
Никогда так не пиши
407 2090743
>>090684
UB? Ub!
408 2090746
>>090743
Что это значит?
409 2090754
>>090739
Тян в треде я спокоен.
411 2090760
>>090754
Писечку-асечку
solution.png2 Кб, 307x161
412 2090762
413 2090798
>>090762
>>090684
Я не понимаю, мне чтобы с++ изучить, нужно с изучить что ли? Они там ебанулись что ли?
414 2090923
>>090798
C++ раньше назывался Си с классами. Немного освоить С не помешает.
415 2090949
>>090798
А зачем тебе понадобилось писать strcpy от char* в с++?
416 2090984
>>090949
для практики, но вообще там const char* должен быть у второго параметра
417 2091003
>>090762
Достаточно написать
while(des++ = src++);
418 2091181
>>090984
Получается что ты делаешь практику C вместо С++ и возмущаешься что приходится учить С вместо С++.
419 2091205
>>091003
А точно. Там же автоматически нуль терминатор подставляется.
420 2091287
>>091181
Ну там же много старых библиотек, где используется с код, нужно быть готовым, нет?
421 2091526
>>090798
Куча инструментов написано на Си изза чего его полезно знать. Но он на самом деле прост, если овладел плюсами, так что начинай с плюсов
422 2091593
>>091526
Насколько мне объясняли это вообще один язык. Классы возможно заменить на typedef, темплейты предополагаю перегрузкой а stl возможно чем-то другим не знаю чем и отличие будет только в библиотеках.
423 2091659
>>091593
typedef не может заменить класс, так как содержит только данные. Перегрузки в Си нет странно кстати почему. stl может и можно заменить, но в стандартной либе нет. Вот разберись с си тут канал для начала не плох https://www.youtube.com/channel/UCz29nMCtFP5cuyuLR_0dFkw
424 2091664
>>091659

> Перегрузки в Си нет странно кстати почему


Потому что для его запливания пришлось бы делать name mangling, и все соглашения о вызовах пошли бы нахуй => никакого FFI. Его отсутствие тем и хорошо, что любой другой язык может подгрузить сишную либу и искать функции тупо ио их названиям без ебли с кодированием суффиксов в зависимости от сигнатуры.
425 2091669
>>091659
Это всё сахар. Раньше писали вообще на ассемблере. С и так дофига упростил в программировании, но программисты обленились, что им лень даже написать лишнюю функции и хотят, чтобы компилятор за них писал. Скоро наверно вообще программирование сведут к кликанью по красивым картинкам.
426 2091676
>>091669
щас бы быть анальной шлюхой синтаксического анализатора, наверное и sum(int a, b) выносишь за компилятор, ведь тебе известно все 200к строк в программе и ты можешь похожие функции просто вывести за границу классов и структур.

>кликанью по красивым картинкам.


и заебись, будут просто подбирать инструмент и юзать а не дрочить дебагер поставил написал ли я указатель или ссылку ебанул
427 2091690
>>091659

>Перегрузки в Си нет


В шланге есть аттрибут [[clang::overloadable]] еще кривой с11 _Generic
428 2091818
>>091669

>Раньше писали вообще на ассемблере


Поридж, плез.
15 лет бейсико- и паскале-подобных полноценных языков
1954 FORTRAN
1958 ALGOL
1959 COBOL
1962 SIMULA
1964 BASIC
И только 1969 C, основанный на CPL 1963
Алсо
Simula 67 introduced objects, classes, inheritance and subclasses, virtual procedures, coroutines, and discrete event simulation, and features garbage collection.
429 2091854
>>091818
На них писали прикладные программы, а системные на ассемблере. Да и порой ради эффективности приходилось всё равно переписывать программы с ЯВУ на ассемблер. И я знаю о чём говорю, потому что в детстве учился по старой литературе тех лет.
Первым языком ВУ пригодного для системного программирования стал как раз С.
430 2091902
с++ жив вообще в 2к21? Или вкатываться в c#?
431 2091904
>>091902
Жив, но вкатываться лучше в го
432 2091905
>>091904
Ему разве не пизда?
433 2091911
>>091905
Го то? На него наоборот все переходят
434 2091913
>>091911
Ладно, спасибо, подожду пока тебя поддержат или обоссут аноны
435 2091917
>>091913
Тебе с какой целью го нужен? Тот анон сверху видимо про бэкенд, там го заменяет джаву и шарпы.
Если системщина то нахуй не нужен.
436 2091918
>>091917
Разработка desktop приложений с перспективой съебать если что
437 2091919
>>091918
Десктоп
а) мертв
б) пишется на джаваскрипте -> https://www.electronjs.org/
438 2091920
>>091918

+Что можете сказать про с++ и qt?
439 2091922
>>091918
Если изобретешь машину времени - то охуенная идея
440 2091923
Ладно, понял, десктоп хуйня, что мне тогда идти хуярить на бекенд? Но это не программизм вообще, какое-то гавно
441 2091924
>>091923
Оно все программизм, кроме рисования формочек на жсе
442 2091927
А зачем нужен с++, игры пишут на юнити, анрил энджин не особо к нему относится, для микроконтроллеров есть с, для веба ещё миллион штук разных, что на нём пишут вообще?
443 2091928
>>091923
Что программизм, а что нет сразу выкинь из головы - это инфантилизм. Я например пишу для души игоры на UE, раньше работал джавистом, но перешел на React JS.
444 2091929
>>091927
Сказал челик из под операционки, написанной на С++ и браузера, написанного на С++
445 2091932
>>091929
Ну то есть это для создания каких-то ебически сложных проектов на 100 ебал дедов-с++шеров, понятно
446 2091936
>>091932
Скорее, для мейнтенанса. Новые продукты редко пишут на С++ нонче.

Даже я, конченая С++блядь новые продукты стараюсь на шарпе писать, т.к. тупо сильно проще и быстрее. А на перф нам похуй, обычно.
447 2092032
>>091929

>операционки, написанной на С++


Они вроде на С написаны.
448 2092034
>>091927

>игры пишут на юнити


Игры пишут на самописных движках, там с++.

>для микроконтроллеров есть с


Микроконтроллеры на с++ можно писать.
https://www.youtube.com/watch?v=c9Xt6Me3mJ4
449 2092065
450 2092123
>>092032
Ядро да, а вообще все остальное вокруг - на С++
451 2092138
>>092065
Сейчас бы в 2к21 присаживаться на чей-то васянский NIH DSL
452 2092175
>>080946 (OP)
Someclass(const K& key, const V& value = initial)

что означает "= initial" ?
453 2092179
>>092175
Значение по умолчанию, когда его не передали
Магические брейкпоинты 455 2092305
Пытаюсь получить url активной вкладки в хроме, код работает если поставить брейкпоинт на строку, которую я подписал, и нажать продолжить просто. Если запускаешь без брейкпоинта, то выводит пустую строку. Помогите, пожалуйста, я даже не знаю в какую сторону думать и гуглить
https://pastebin.com/uTYz59Jx
456 2092316
>>092305
женя лох))
457 2092538
>>080946 (OP)
Поставил С++17 но компилятор не видит. В чем может быть проблема?
Переменная из за которой ошибка:

inline static size_t m_min_size = 0;
458 2092546
>>092538
разве переменная может быть инлайн?
459 2092550
>>092546
Компилятор пишел про inline variables значит может.
460 2092551
>>092538

> inline variable


Бля, каждый раз захожу в крестотред и узнаю что-то новое, шизики из комитета совсем ебанулись? Пускай лучше стандартную либу пилят, сука.
16257406583660.png125 Кб, 400x400
461 2092561
>>092551

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

462 2092567
>>092550
в чём их смысл?
с++ hero.png275 Кб, 700x500
463 2092570
464 2092580
>>092561
>>092570
Этого забанить.
465 2092584
>>092580
В комитете не шизики.
466 2092593
>>092538
В чем смысл inline variable, лол? Типо extern это слишком по-сишному и уже не труъ?
467 2092601
>>092593

>So, in practical terms the (now accepted) proposal allows you to use the inline keyword to define an external linkage const namespace scope variable, or any static class data member, in a header file, so that the multiple definitions that result when that header is included in multiple translation units are OK with the linker – it just chooses one of them.



Похоже ошибка в другом.
468 2092605
>>092601
Я серьезно не понимаю смысла inline variable, это же какая-то дичь просто
469 2092623
>>092538
На твоем скрине настройки для платформы х64. Проверь, что и для других платформ также выставлен спп 17.
Или конпелируй под x64, а не 32.
470 2092701
Правильно понимаю, что чем меньше переменных в коде - тем лучше для памяти?
471 2092711
>>092701
Можно определить пару переменных и использовать их как регистры процессора. Если какая-то переменная свободна, то используешь её, а не заводишь новую. Во время оптимизации, компилятор заменит такие переменные на регистры и код будет сверхэффективным.
472 2092712
>>092711
Ты же троллишь так, да?
473 2092714
474 2092721
>>092712
Я не он, но мне интересно узнать
475 2092729
>>092593
Ты не понимаешь разницы между объявлением и определением?
476 2092734
>>092729
Я не понимаю, зачем определять переменную 10 раз в одной программе. Да и в G++ есть специальный флаг для этого безумия, насколько мне известно.
477 2092760
>>092734
За тем же, зачем ты ее раньше определял в одном месте и объявлял в десяти, только меньше писанины.
478 2092882
>>092760
Какая-то хуйня без задач
479 2092893
>>092882
Тебе виднее.
480 2092979
>>091902
типа хаскелля или лиспа, типа прикольно но не более того, нет практических применений, бизнес не заинтересован поднимать программные системы основанные на с++ кодобазе, языком занимаеться кучка энтузиастов-нищебродов
481 2092983
>>092701
да, именно так, чем меньше переменных в коде, тем лучше для твоей оперативной памяти в голове!!
482 2093015
>>092983
Что в компиляторе, что в голове всё разматывается в SSA, так что вообще разницы никакой. Кроме убитой читаемости кода в силу только одного generic имени для переиспользуемой переменной, конечно же. Кончайте уже троллить, вкатыши же за чистую монету примут.
483 2093091
Крестов нет в ядре линукс. Раст есть. На этом посте тред можно закрывать.
484 2093093
>>083274

> Вот нафига создавать такой двигатель, если его освоить сложнее, чем колесо?

485 2093113
>>093091

> На этом посте тред можно


было бы, если бы растоживотные не были пиздаболами
486 2093115
Можно ли бросать исключения из конструктора и как их потом ловить? Имею в виду, что объект тогда будет локальным для блока try
487 2093121
>>093115

> исключения из конструктора


Да

> как их потом ловить


Так же, как и исклчения от всех остальных функций\методов

>>093091
Свисни, как найдешь работу на расте, трапик
488 2093122
>>093121

> Так же, как и исклчения от всех остальных функций\методов


Я ж написал, что объект тогда станет локальным и мне придется тянуть в try блок вообще весь код, в котором я этот объект использую.
С другой стороны можно сделать динамический объект, но это не путь самурая
489 2093124
>>093115

> Имею в виду, что объект тогда будет локальным для блока


Он даже не создастся, в чем проблема?
490 2093130
>>093122

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


В этом и идея использования эксепшенов как бы. У тебя все может кинуть, и пусть все будет внутри try блока.

Других вариантов особо нету, кроме хуиты с разделением создания\инициализации.
491 2093150
>>093122

>объект тогда станет локальным


Проверил твою теорию и нет - все объекты создались и стали глобальными. Конструктор это не просто функция, он создает объект.

https://pastebin.com/4yPqGVcH
492 2093164
>>093150
он про скоупы
493 2093170
>>093150
Я думаю он имел ввиду что-то типа
try {
Class_Exception dvacher1("PETUHOVEN");
И тд
494 2093175
>>093170
А ну я думал что внутри конструктора.

>Можно ли бросать исключения из конструктора

495 2093186
>>093175
Так тут и ловиться исключение из конструктора.
496 2093333
>>093115
Бросать можно.
Нет способа поймать исключение от инициализатора глобальной переменной.
Страуструп пишет, что это еще один повод не использовать глобальные переменные.
image.png5 Кб, 451x68
497 2093611
Я конечно дурачок, но - какого хуя cosf() 90 градусов мне какую-то хуиту возвращает?
Мои знания двоишника говорят что косинус 90 градусов должен быть равен нулю.

Но вот я написал код в студии - а он мне какую-то хуиту вернул, написал коде в идеоне - и там мне тоже какую-то хуиту вернуло
https://ideone.com/iKnDWw

Как тогда сделать правильно?
(если что, тут все в радианах)
498 2093632
>>093611
Float (одинарной точности) как с нулем сравниваешь?
499 2093683
>>093611
https://ideone.com/fBOyUj

Это называется scientific notation. А вообще покури как работать с float'ами, это отдельная магия
500 2093684
>>093632
Ммм? не сравниваю (если надо, то больше-меньше), вопрос же про то почему там какое-то -4.37... выводится? Мне это код ломает так как умножаю на это значение и вместо ожидаемого нуля от косинуса 90 градусов получаю хуиту
501 2093685
>>093683
И как мне сделать?

То есть например я хочу чтобы это
float f = 2*cosf(1.57079637f);
давало мне ноль, а не какой-то мусор
https://ideone.com/Ctypr4
502 2093689
>>093685
Ну твой "мусор" это на деле что-то типа 0.00000000001, просто отображается так всрато.

По-этому выводи через std::fixed, и сравнивай на равенство\неравенство не через == !=
503 2093862
>>093684

>там какое-то -4.37... выводится


Ты не туда смотришь. Надо смотреть на e-08

>вместо ожидаемого нуля от косинуса 90 градусов получаю хуиту


Ты открыл для себя точность операций с плавающей точкой, поздравляю. Тут многие арифметические законы не выполняются + есть целая наука (вычислительная математика А МАТЕМАТИКА ДЕБИЛАМ НЕ НУЖНА) которая занимается вопросами точности и прочих приколов вычислений на компуктерах
504 2093877
>>093862
Ох, эти вьетнамские флешбеки, когда я не смог сдать вычмат и меня нахуй выгнали из вуза. Я так и не понял что от меня надо, что это за эпсилон в сравнениях и тд.
505 2093883
>>093877

>Я так и не понял что от меня надо


Там нужно было тупо понять что 1010 + 10-10 = 1010, что 1 / (232) = 0 и что эти подводные камни нужно обходить.

>что это за эпсилон в сравнениях


Тупо точность. У тебя вычисления с плавающей точкой никогда не дадут ноль (или любое точное значения), а потому сравнивать два плавающих числа можно только как fabs(a - b) < eps.

eps обычно равен 0.0000001
506 2093887
>>093883
Щас я уже все это понимаю, сениорская лычка обязывает. Но когда я рассказываю, что в вузике не смог сдать С (а вычмат был на С) - это прям байка уже локальная
507 2093982
>>093883

>eps обычно равен 0.0000001


Как обосновать?
508 2094049
Что могут спросить на собесе, если в вакансии указанно знание Unix систем? Нихуя в них не понимаю, только линукс тыкал немного (какое же он гавно ебаное), а собес ирл будет, страшновато.
509 2094195
>>094049
fork
select/poll/epoll
dbus
pipe
sysfs
как пропатчить KDE2 под FreeBSD
510 2094204
>>094195
Спасибо, постараюсь поучить как можно больше до собеседования, хотя надеюсь, что не спросят.
511 2094245
>>094195
Uboot, если эмбед.
Кросс сборка, вот это всё
512 2094409
Предлагаю чтобы не позориться перед джавомакаками перекатываться на 2500 посте они катятся на 2000
513 2094442
Здравствуй уважаемый анон.
Так случилось, что мне нужно ковырять qt.
Нужно постоянно принимать пакеты через ком порт.
временами нужно собрать пакет и отправить его через ком порт обратно.
Я планировал сделать два потока, один принимает пакеты и парсит их, второй просто ждет пока я соберу пакет и как только соберу - отправляет назад.
Когда я зашел на русский qt forum там всех таких умников как я смачно поливают говном типа многопоточность в чтении и отправке при использовании qt не нужна и у меня нахер все упадет и неизвестно какие баги вылезут. Посылают всех в грубой форме читать про асинхронные вычисления, но async же мать его всеравно (potentially in a separate thread which might be a part of a thread pool). Полистал Шлее там про QSerialport пустота. Порекомендуйте может быть что почитать или как лучше сделать?
514 2094449
>>094442

>про асинхронные вычисления


Тебя послали не про асинхронные вычисления читать, а про асинхронное I/O (асинхр. ввод-вывод). И правильно сделали - треды и синхронизация обычно тяжелые для процессора штуки.

>Полистал Шлее там про QSerialport пустота


Епт, читай документацию к Qt (в QtCreator можно F1 нажать например).
Вкратце:
1. открыть-настроить порт (название правильное, скорость, все дела)
2. подключиться к сигналу QIODevice::readyRead (QSerialPort от него унаследован) и там вычитывать в обработчике (с помощью метода readAll) данные.

Не забывай, что readyRead может прилететь на середине пакета, твой парсер должен это уметь обрабатывать
515 2094456
>>094449
Спасибо. Буду читать. Как считывать понятно, а как без второго потока отправить пакет, например, паралельно с парсингом не понятно. Ну чисто психологически:3. Ну парсишь ты входящий пакет, сумму контрольную проверяешь, байты перекладываешь, а тут херак - прилетает команда и нужно пакет отправить паралельно парсингу, не прекращая прием пакетов.
516 2094457
>>094449
Спасибо. Буду читать. Как считывать понятно, а как без второго потока отправить пакет, например, паралельно с парсингом не понятно. Ну чисто психологически:3. Ну парсишь ты входящий пакет, сумму контрольную проверяешь, байты перекладываешь, а тут херак - прилетает команда и нужно пакет отправить паралельно парсингу, не прекращая прием пакетов.
517 2094460
>>094456
>>094457

>а тут херак - прилетает команда и нужно пакет отправить паралельно парсингу


А не нужно параллельно. Отправишь после того как обработаешь прочитанный ранее кусок.
518 2094470
>>094460
А может у него линия с полным дуплексом?
519 2094494

>2094470


Именно так. И я не знаю зачем мне после приема отправлять. Может сложиться такая ситуация, что приема вообще не будет. А отправить пакет нужно будет. Какой-нибудь датчик температуры отвалится, а мне нужно отправить команду на открытие арматуры. Например.
520 2094548
>>094470
Причем здесь

>>094494

>Может сложиться такая ситуация, что приема вообще не будет


И? Берешь и отправляешь, в чем проблема?
521 2094572
>>090292
какой тип у lowest и highest ?
522 2094606
523 2094621
>>094606
Лол
524 2094690
>>094442

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


хуй знает, я бы на такие вопросы даже реагировать бы не стал, ибо понятно и из вопроса что ты нулевой и что пользы с тебя не будет никакой, типа плавай сам в океане своего невежества дальше
525 2094697
>>094449
нахуя ты ему это обьясняешь?
надеюсь ты понимаешь что это твой (потенциальный) конкурент, который отберет у тебя миску баланды, а ты после 30ти отправишься на помойку догнивать или куда там пропадают кодеры после 30ти?

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

а тут бля прямой конкурент
526 2094701
>>094697

>надеюсь ты понимаешь что это твой (потенциальный) конкурент, который отберет у тебя миску баланды


Это мой потенциальный подчиненный которому я мог бы скидывать унылые таски

>а ты после 30ти отправишься на помойку догнивать или куда там пропадают кодеры после 30ти?


Мне 32, лалка

>а тут бля прямой конкурент


Если этот челик для тебя апасны конкурент, то у меня для тебя плохие новоси
image.png13 Кб, 525x345
527 2094704
>>094697

>куда там пропадают кодеры после 30ти?


https://dou.ua/lenta/articles/salary-report-devs-summer-2021/
528 2094705
>>094697

> пропадают кодеры после 30ти


Я вот думаю, уволиться нахуй что-ли. А то я накопил на 20 лет жизни с нормальным доходом (100к\м) а хата в мухосрани у меня есть личная.
529 2094717
>>094705

> А то я накопил на 20 лет жизни с нормальным доходом (100к\м) а хата в мухосрани у меня есть личная.


Не, не увольняйся. Копи дальше на яхту, на пример. И сдохни от разрыва сердца в 45 лет лучше, чтобы прямо с рабочего места увезли на скорой в морг.
530 2094719
>>094717
Так и не увидев красный закат над лесом стоя на высоком берегу дикой лесной реки, где на берегу будет разбита твоя палатка, в котле доваривалась бы уха и ни одной суки с ноутбуком за 300 километров.
531 2094735
>>094697
Я автор вопроса про qSerialport мне 30.
Ну почему-же конкурент? Коллега, товарищ, собутыльник.
532 2094748
Реально ли стать программистов после 30? Сильно ли сложно даются умственные нагрузки?
533 2094749
>>094748
Если есть технарское образование - очень легко. Если нет - то тут варианты.
534 2094755
>>094749
Математико-механический факультет по направлению Компьютерные науки норм?
535 2094758
>>094755
ВУЗ какой
536 2094760
>>094758
Это важно?
537 2094762
>>094755
Да, я скорее про общий опыт варения в технической литературе, учебниках и прочем. Теперь тебе нужно просто взять и решительно начать. Этот >>094758 хочет тебя сдиванонить.
538 2094782
>>094735

>автор вопроса про qSerialport мне 30


наши соболезнования! если ты бля в 30ку когда уже погроммист заканчивает сваю карьеру путаешь асинхронку в параллельных вычислиниях и асинхронку в вводе-выводе
хаха
признавайтся, ты же вкатыш да?
вуз то заканчивал?
инженер или говно?
539 2094803
>>094782
вкатыш, заканчивал, инженер, зп норм.
имею встроенный иммунитет от 20 летних желчных синьоров.
540 2094865
>>094803
ну, колись
какой ты инженер? чому не пошел работать по специализации? а, сука
страна 5 лет на тебя ресурсы тратила, выращивала нужного спеца
а ты пошел в погроммисты?
а, блядь?
16257406583660.png125 Кб, 400x400
541 2094887
>>094865

>ну, колись


какой ты инженер? чому не пошел работать по специализации? а, сука
страна 5 лет на тебя ресурсы тратила, выращивала нужного спеца
а ты пошел в погроммисты?
а, блядь?
542 2094934
>>080946 (OP)
Всем привет. Нулевой вкатывальщик в треде.

Зачем переменным присваивают нулевые значения с программах калькуляторах? Что мешает просто оставить их неизвестными (пустым множеством) и задавать только после cin-а пользователя?
543 2094950
>>094934
В данном конкретном случае разницы нет. Но, оверолл, это хорошая привычка, все переменные инициализровать.
544 2094965
>>094950
понял, спасибо
1417986390871884843.jpg146 Кб, 622x800
545 2095041
Чтобы вы спрашивали у жуна 1.5 года опыта?
Сам предендую на позицию мидла/стронг жуна.
546 2095060
>>094934

> Что мешает просто оставить их неизвестными


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

Операции с указателями (арифметика\дереференс\указатели-на-указатели)
Как работает вектор\unordered_map
Идея СТЛ Алгоритмов+Итераторов
Дискуссия про эксепшены
Дискуссия про ООП
Отношение к виму (если тебе нравится - сразу нахуй no hire)
548 2095081
>>095076

> Отношение к виму


В один ряд ставятся те, кто почти всё делает в вижуалке и юзает вим изредка для всякой мелочи и те, кто не признаёт никаких других средств разработки кроме вима, так?
549 2095088
>>095081
нет, одно дело нужные тулзы в нужных юзкейсах, другое дело - вимошиза
550 2095092
>>095076

>Отношение к виму (если тебе нравится - сразу нахуй no hire)


Твоя мать - пассивный пидорас
551 2095099
>>095092
да хоть активный, главное что с дебилами работать я точно не буду
552 2095116
>>095076

> Отношение к виму



Я знаю, что он пищит и портит файлы, а для комфортной работы с ним нужно подключить педали.
Такой ответ принимается?
553 2095118
емакс
554 2095134
>>095041
смотрю: если ты не няшный то никакого разговора просто не будет и все!
555 2095140
>>095134
Низкий подкачанный зумерок, я няшный?
556 2095145
>>095140

> Низкий


Сорян
557 2095150
>>095140
если ты в теме, то скорей всего мы сработаемся!
558 2095155
>>095150
Так и знал, что все токсики пидары
exac.JPG62 Кб, 1453x591
559 2096394
Не возникает ли проблем при рекурсии статической функции? Я не про конкретно код со скрина, а вообще.
560 2096424
>>096394
не возникает
561 2096468
>>096394
Статическая функция от обычной ничем не отличается, кроме межмодульной видимости
562 2097469
>>080946 (OP)
Основная проблема плюсов вовсе не в отсутствии работы, отсутствии сборщика мусора, токсичном комьюнити или устаревших лабах в вузах, как может показаться на первый взгляд.
А в том, что под плюсы нет вменяемых IDE и компиляторов(инбифо гцц или шланг норм компиляторы).
Проприетарная праша С++builder, "студия" мелкомягких и еще более ужасный Qt отбивают всякое желание учить язык.
563 2097885
>>097469
+ отсутствие нормальной системы сборки и менеджера пакетов. CMake и vcpkg/conan - наименьшее зло, созданное из-за попыток усидеть сразу на нескольких стульях.
изображение.png654 Кб, 700x1244
564 2097947
Мне плюсы все больше напоминают тайные масонские знания. Помимо общеизвестных типов данный есть еще адресные типы (тип указатель на int, тип указатель на double и т.д.), о которых не говорится прямо, но упоминается вскользь (как и про "распад" массива ничего толком не объясняется). Еще оказывается массив int a[3] и int b[5] это разные типы данных из-за разной длины массива.
Так вот, где можно найти истинные знания, в которых будут описаны все типы данных, откуда они и зачем?
565 2097948
>>097947
В стандарте C++ который пишут поехавшие шизики
566 2097969
>>097469

>что под плюсы нет вменяемых IDE


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

>и компиляторов


Си плюс плюс де факто - единственный компилируемый язык общего назначения среди живых. Так что у других языков вообще нет никакого компилятора.
567 2097990
568 2097994
>>097969

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


Го и свифт тоже компилируемые же. Да, в код с нехилой поддержкой рантайма, но всё же не JIT.
569 2098048
>>097994
Это говны без для узкоспециальных задач, а не языки общего назначения.
570 2098199
>>098048
И правильно, general-purpose языки не нужны. Даёшь подходящий под свою задачу. HPC? Изспользуй фортран. Сервера с IO-bound задачами? Используй го. И так далее.
571 2098537
>>098199

> general-purpose языки не нужны


Это хитрый план по раздутию бюджетов проектов. Вместо одного разраба на универсальном языке приходится нанимать целый штат калек с узкоспециализированным говном.
572 2098805
>>098537
Узкоспециализированное говно можно за пару месяцев полностью выучить при наличии соответствующей базы, в отличие от.
573 2098825
Специализированную библиотеку для крестов можно за пару недель освоить. При наличии соответствующей базы.
574 2098914
>>098199
Прявился новый класс задач - писать придётся на чём попало
575 2098965
Аноны, открыл для себя ебанутый мир метапрограммирования. Как можно отработать всю эту дичь, где может понадобиться такое количество дичайших шаблонов?
576 2099025
>>098805
Согласен. У тебя база какая?
577 2099468
Дублирую

Использую в C++ RegGetValue в простейшем консольном приложении, но он некоторые записи реестра просто игнорирует. Пробовал запускать от админа никакой разницы.

Как правильно читать данные из реестра венды?
578 2099500
>>099468
С какой ошибкой то RegGetValue валится, что ИГНОРИРУЕТ?
579 2099518
>>099500
Второй, ну то есть игнорирует.

Создавал ключ в реестре такой же сам для проверки, но пох ему

Вообще я пытаюсь оттудова получить версию service pack, но на проверку выяснилось, что не все записи оно считывает, то есть явно наблюдается некая прослойка, которая решает что выдавать, а что нет.

С правами системы не пробовал запускать, да и не уверен, что норма для самописного консольнохо приложения.
580 2099621
>>099518
Дай код конкретный (на пастебин залей), и покажи что не работает.

Я очень много работал с реестром, и такой хуйни не видел
581 2099662
>>099621
В итоге сопротивляется из-за всех сил, всё равно выдаёт предъидущее значение, хотя буфер заново создаётся при каждом вызове функции, впрочем, оно и понятно, указатель туда смотрит.

https://pastebin.com/r41r3eJd
582 2099665
>>099662

Забыл добавить, что не так

Не так контректно с попыткой получить текстовое значение CSDVersion, в котором в вин 8.1 и ниже указана версия Service Pack
583 2100596
о чём могут спросить джуна?
584 2101015
>>100596
vtable'ы
585 2101543
>>089904
он же ещё должен проверить, что число одновременно делится и на 3 и на 5 и вывести "Fizz Buzz", не ?
586 2102350
Как часто можно менять работу? Норм через полгода уйти из хорошего места на х1.5? Что отвечать хрюшам на вопросы о причинах смены работы? Менял работу только один раз в жизни на первой работе 3 года веслал и думал что все крестовики так мало получают.
587 2102408
В чем вообще профит работать в компании 5-10 или больше лет?
588 2102432
>>102408
Гранты акций наслаивающиеся. У меня в районе 400к чисто акциями вестящимися в месяц капает
589 2102437
>>102432
А если не дают акций или не публичная компания?
590 2102627
>>102437
Без золотых кандалов вся работа одинаковая, смысла нет
591 2103776
>>080946 (OP)
Что хотят увидеть интервьюеры когда решаешь простую задачу типа литкода? Знание структур данных или скорость? Разрываюсь между вариантом написать все на вложенных for лупах или примерить контейнры например map с какой-нибудь мудреной логикой для скорости. Кстати о скорости. Что лучше - STL или лупы? С одной стороны мне сказали что STL оптимизирована c другой стороны из за шаблонов там должен быть накладные расходы.
592 2103821
Перекатился на 1500$. Сказали будут меня менторить, не слышал чтобы мидлов менторили.
Я не понимаю это джуниор вилка или мидл?
593 2103858
>>103821
Здесь в треде говорили что мидл отличается самостоятельностью, поэтому похоже на джуна. ( Читал у Роберта Мартина что обычно год менторства достаточен, чтобы "ремесленники" взяли к себе новичка.) Поэтому похоже тебя компания не считает за профи. Но я сам не точно не знаю потому что новичок.
594 2104066
>>103776
Хотят увидеть, что ты умеешь думать логически и не обсираешься в том, что ты пишешь (на stl или без - не принципиально). Естественно, что если задача с stl решается в 2 строчки, то попросят писать без него.
595 2104074
>>103821
Новый сотрудник это всегда источник багов и велосипедов, так что за ним пару месяцев приглядывают и вводят в курс дела (если есть кому). А про мидлов, ждунов и сеньёров просто забудь.
596 2104092
>>104074
Я думал раз мне такие деньги хотят платить, то ожидают сразу хороших результатов без багов и велосипедов
597 2104104
>>104092
Да обычные деньги для ДС-ов.
Если проект большой, то сегодня ты фичу напишешь, а через неделю найдёшь какой-то код, с которым она пишется в три строчки. Через две недели поймёшь, что делать надо было совсем не так (интеграционные баги, архитектурные проблемы, производительность).
598 2106639
>>080946 (OP)
Написал регулярное выражение по правилам, но где-то ошибка. Хочу выводить числа с двумя знаками после запятой. Подскажите пожалуйста.

std::string str15 = "b5.9 4a 0 55.45 34.1 99.7 0.999 ";
std::regex reg15("[\\d{1,2}][\.][\\d{1,2}]");
599 2106790
>>106639
1. Используй R-строки, если много чего экранируешь
2. Квадратные скобки не нужны, просто "\d{1,2}\.\d{1,2}". Для захвата нужны круглые скобки.
3. Может ещё окружить с "\b" чтобы не матчились строки типа "a51.23b", но я не спец.
4. Используй https://regex101.com/
600 2108525
Что-то тут всё как то подзатихло.
Где все?
падажжи ёбана windbg.jpg50 Кб, 317x372
601 2108534
>>108525
Отлаживаемся
602 2108543
>>108525
Лабы закончились, каникулы настали
RegExpTable.jpg233 Кб, 851x1185
603 2108813
604 2108863
>>108525
Начинаю 12 главу, наконец-то fltk
1602781616400.gif325 Кб, 480x270
605 2109093
Я погулил, но так и не понял. Я знаю, что порядок выполнения выражений аргументов при вызове функции неопределён, имплементейшен дефайнд, вроде бы. Типа foo(bar(), baz()), что выполнится первым bar() или baz() неопределено. А вот с операторами как? Кроме логических. Например auto i = bar() + baz() + bas();? Операторы это же тоже функции в каком-то смысле. Для них тоже не определено или как?
606 2109098
>>109093
Гугли точки следования
image.png26 Кб, 794x426
607 2109145
Аноны, как натянуть сову на глобус?

Вот есть сишная библиотека (в данном случае GLFW). В ней есть калбек на функцию для логирования (да там дохрена такого). Но у меня лог - это класс. Как блядь сделать чтобы не говно было?

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

Неужели нет более лучшего способа передать туда ебучий лог как объект? Ладно, в некоторых либах есть возможность передать юзердату в виде воида. А где такого нет?

Как мастера с такой хуитой справляются? Ебошат синглтоны и глобальные переменные?

Или может есть какой-нибудь паттерн или идиома на этот случай?

В жизнь не поверю что Мейерс и ко никогда не связывали сишные либы со своими ооп-проектами.
608 2109198
>>109145
Как раз таки Мейерс про логи и инпут и писал, что для них синглтон - самое то.
609 2109467
>>109198

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


Но можно обосраться, если хочешь логировать в деструкторах глобальных либо статик объектов. Поэтому делай не просто синглтон лога, а синглтон shared_ptr на лог. И храни эти указатели в таких объектах либо в cpp объявляй их перед глобальным объектом.
610 2109469
>>109467
И да, поверь, даже если ты не хочешь так логировать, всё равно до этого дойдёт, косвенным образом.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 30 июля 2021 года.

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

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