Этого треда уже нет.
Это копия, сохраненная 31 июля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
528.jpg86 Кб, 828x823
C++ тред #129 /cpp/ 2054115 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

Ответы на вопросы:
https://en.cppreference.com/w/
https://www.cplusplus.com/reference/

Для указателей: ⚹
Прошлый тред: >>2004069 (OP)
Снимок экрана от 2021-06-02 21-44-34.png271 Кб, 1920x1080
2 2054119
Как решить данные ошибки и что они значат? Код не запускается. В чем проблема простым языком?
3 2054120
C++ лучше чем раст.
4 2054123
>>054119
Ошибок с языком нету
5 2054124
>>054123
Есть ошибки с ДНК зато.
6 2054126
>>054123
Код не запускается. Что делать?
7 2054128
>>054126
Компилировать а не запускать, запускают исполняемый файл
8 2054130
>>054119
В том что ты кретин.
9 2054132
>>054119
Ты плагин на С/С++ вообще ставил?
10 2054133
>>054128
Ну если закрыть и открыть компилятор ошибки исчезают, код компилируется, но не запускается.
11 2054138
>>054132
Как проверить? С оф сайта с++ версию ide качал.
>>054130
Чел ты даже за 500р не можешь помочь потому что ты умственно отсталый кретин который не шарит.
12 2054145
>>054133
Код не запускаеться, если ты нажмешь на файлик с кодом он откроется в текстовом редакторе, а тебе нужно его скомпилировать а потом исполняемый файлик запустить
13 2054148
>>054126
Помочь родителям с уборкой.
14 2054151
>>054145
Код даже не компилится. Ты не понимаешь?
15 2054155
>>054151
Ну так компилируй его, для этого нужно скачать компилятор - программу которая компилирует код. Рекомендую gcc
Снимок экрана от 2021-06-02 22-46-34.png241 Кб, 1920x1080
16 2054160
>>054145
Ну вот я его скомпилил. Он не запускается. Дальше что?
slide-0.jpg63 Кб, 1024x767
17 2054161
>>054151

>Код даже не компилится. Ты не понимаешь?

18 2054163
>>054155
Я его скачал и установил.
19 2054171
>>054160
Найди файлик который получился при компиляции, наведи на него мышю и клацни два раза
20 2054172
>>054171
И что?
21 2054173
>>054163
Тепер открывай терминас и пиши:
gcc путь к файлу с исходным текстом
и нажимай Enter
22 2054175
>>054172
Это надо сделать чтобы он запустился
23 2054188
>>054175
Нет. Он должен запустится в IDE. там специально окно терминал для вывода
019f9e8cf821a6c781ee32bb71887e7d.jpg52 Кб, 772x670
24 2054189
>>054172

>И что?

25 2054191
>>054188
Почему он должен? В IDE такого не предусмотрено. Короче я сейчас пойду спать, ты ни в коем случае ничего сам не делай а то можешь компьютер поломать. я с утра приду и продолжим
26 2054200
>>054191
Ясно мамкин тролль. Hello world спокойно выводило.
27 2054206
>>054200
Правильно Hello World!
Снимок экрана от 2021-06-02 22-46-34.png241 Кб, 1920x1080
28 2054262
Собственно код скомпилировался, но отказывается запускаться. В чем проблема и как ее решить? Кто разжует косарь на карту.
29 2054355
Что за чмоня сделала перекат. Зачем? Эти ссаные треды все равно не удаляются, зачем их перекатывать?
30 2054358
>>054262
cd test
g++ intvars.cpp -o intvars
./intvars
31 2054498
>>054262
В этой книге рекомендуют использовать компиляторы Microsoft или Borland.
jesus christ how horrifying.jpg57 Кб, 600x595
32 2054512
>>054262

>Эклипс


Пикрелейтед

>>054498

>Borland


Он уже почти 20 лет как мёртв. Где ты эту книгу раскопал?
33 2054605
>>054512
BORLAND ЖИВ В НАШИХ СЕРДЦАХ ДУХ СТАРОЙ ШКОЛЫ УЛЬТРАХАРДКОР
34 2054621
>>054605
В наших сердцах действительно остался маленький синий экранчик со словами TURBO PASCAL или TURBO C. Но не давать же их ньюфагу в 2021? Хотя.... Не ебёшься с системами сборки, не ебёшься с консолью, подключаешь conio, не волнуясь о платформонезависимости, не ебёшься ни с чем - ты пишешь код и запускаешь его. Блин, может ты и прав.
35 2054630
>>054512

>Он уже почти 20 лет как мёртв


Шта?
А ты не офигел ли часом
https://www.embarcadero.com/ru/products/cbuilder
36 2054646
>>054630
Скан паспорта им не надо для скачивания?
37 2054651
>>054512
Роберт Лафоре - Объектно-ориентированное программирование C++, 4-е изд (Классика Computer Science) - 2004 г.

Я по скрину с прошлого треда узнал его книжку
turbo pascal.png34 Кб, 880x601
38 2054654
>>054630
Embarcadero != Borland. Нет той ламповости, нет ДУШИ
39 2054852
>>054621

>Не ебёшься с системами сборки, не ебёшься с консолью, подключаешь conio, не волнуясь о платформонезависимости, не ебёшься ни с чем - ты пишешь код и запускаешь его


Почти как в вижуал студии, да?
sage 40 2054917
К А Н И К У Л Ы
А
Н
И
К
У
Л
Ы
Снимок экрана от 2021-06-02 22-46-34.png241 Кб, 1920x1080
41 2054976
Собственно код скомпилировался, но отказывается запускаться. В чем проблема и как ее решить?
42 2054982
Не могу установить visual studio, просто к хуям снимает процесс с исполнения: vs_bootloader.exe прекращена работа программа, segmentation fault. Раньше накатывал ее, потом криво потер, видимо из-за кривого удаления не ставиться. Приходиться использовать dev-cpp, компилит охуевшего размера файлы, компилирую динамической линковкой - библиотеки не работают, опять segmentation fault. Поставил -nostdlib и сам пишу RTL, добавляет какие-то секции в ехешнике которые проводят обработку исключений, там массив структур RUNTIME_FUNCTION, в другой секции UNWIND_INFO, хотя никаких блоков try/exception нету. Какой-то пиздец компилятор живет своей жизнью, ноль возможностей адекватной настройки, я устал, как же хочется компилятор MSVC...
43 2054988
>>054976
Значит надо настроить зелёную круглую кнопку с белым треугольником.
44 2054992
>>054976
Подсказка: Видишь там там сверху написано No Launch Configuration?
45 2055003
>>054982
У нас в деревне был сортир. Я просто в него заходил и срал в дырку. Когда я переехал в город, то теперь надо опустить стульчак, вытирать жопу, смыть за собой и поелозить ёршиком. Как же я устал и хочу обратно в деревню.
46 2055011
>>054992
Вижу Дальше что?
47 2055022
>>055003
Как же линуксоиды любят реабилитировать свое нерабочее говно
48 2055027
>>055011
Дальше бросаешь программуирование. Не твое это, не твое...
49 2055036
>>055022
Но я пользуюсь VSCode под windows.
50 2055072
>>055027
А в чем проблема нормально подсказать токсик?
51 2055094
>>055072
ты какую эклипс скачивал, которая с CDT?
Тебе нужна вот эта https://www.eclipse.org/downloads/packages/release/2021-03/r/eclipse-ide-cc-developers
52 2055098
>>055094
Можно конечно cdt установить. Но ты скорее всего запутаешься.
53 2055101
>>055094
Eclipse IDE for C/C++ Developers (includes Incubating components)

Version: 2021-03 (4.19.0)
Build id: 20210312-0638
54 2055103
Шел третий день гомоебли с эклипсом...
sage 55 2055108
>>055103
Не шёл бы, если репортить шкилу, а не кормить.
56 2055109
>>054992
Ты намекнул хотя бы и программа заработала, но я хз правильно ли настроил запуск, но в любом случае спасибо.
57 2055114
>>055103
Мог бы уже за это время скачать MSVC + CLion
Снимок экрана от 2021-06-03 16-41-59.png253 Кб, 1920x1080
58 2055119
>>055103
>>055108
Я все равно запустил код и он работает, а вы токсичные собаки - неудачники:)
59 2055123
>>055119
Отлично, а теперь больше никогда не заходи в этот тред
60 2055131
>>055119
Какой же ты бездарь ебанный, хотя скорее просто троль
61 2055154
>>055123
>>055131
Пупсики если понадобится обязательно зайду.
62 2055197
>>055103
К сожалению тут маразм с двух сторон, поэтому все так сложно.
1. С одной стороны кретин, который не в состоянии посмотреть настройки эклипса.
2. С другой стороны шизы, которые рады стараться высрать свое веское мнение о единственно правильном IDE.
Короче, два дебила = это сила.
63 2055223
>>055114
Clion платный и дается только на 30 дней.
64 2055246
>>054651
там это сверху подписано было
65 2055255
>>055223
Можно в три клика сбрасывать пробный период
66 2055278
>>055255
Как?
67 2055295
>>055278
Удаляешь C:\Users\<Имя>\AppData\Roaming\JetBrains\CLion2021.1\eval\CLion211.evaluation.key и все
блять ну ты реально не мог загуглить что-ли
68 2055302
>>055295
Там вроде ещё в реестре надо что-то удалить.
69 2055311
>>055302
Не надо. По крайней мере у меня все и так работает. Некоторые рекомендуют удалять даже конфигурацию CLion, но по-моему это какой-то троллинг. В общем просто тот файл удали и все
70 2055334
по моему скромному мнению c++ лучше rust
71 2055338
>>055334
скромно, но со вкусом
72 2055367
>>055334
Естественно лучше, потому что в С++ ты не платишь за то, что не используешь. А там куча бессмысленных проверок, потому что язык считает программиста за дурака.
Я не против, чтобы в компилятор С++ добавили дополнительные предупреждения про опасные моменты, но категорически против, когда эти проверки выносят в runtime и тормозят программу.
73 2055390
>>055334
Он лучше не только раста, но и шарпа. Реально лучший язык всех времён и народов.
74 2055417
>>055367
Вот из-за таких как ты клешнерукие и приходят сюда троллить

Если не ошибаюсь, эта самая куча бессмысленных проверок происходит в компайл тайме, так что ты за них тоже как бы не платишь. Хотя может и в рантайме что-то есть.
Где же растошизик, когда он так нужен?
75 2055422
>>055417
Раст генерирует код чуть хуже чем С++, ровно за счет того, что С++ным фронтендам компиляторов лет в несколько раз больше, чем растовым.

В остальном - перф тот же. Но на языке для трапов и SJW я писать не буду
76 2055497
>>055367
Они не бессмысленные, безопасность раста вытекает из статического анализа, но как? Для плюсов тоже есть инструменты статического анализа, которые, однако, не гарантируют безопасность. Дело в том, что в расте есть линейные на самом деле афинные и лайфтаймы регионы, т.е. программа считается безопасной тогда, когда выполняются условия линейной логики и условия лайфтаймов.
Например, https://github.com/pikatchu/LinearML и http://www.ats-lang.org/ не имеют gc В ATS надо чистить память явно и гарантируют безопасность.
Аналог лайфтаймов был в циклоне https://cyclone.thelanguage.org/
В плюсах, так понимаю это бест практисы, типа использования мув семантики и умных указателей.
>>055417
Там действительно есть проверка границ массиво в рантайме, но компилятор умеет их оптимизировать, также можно юзать unchecked методы, или просто использовать итераторы. Ну и проверка переполнения, которую тоже можно отключить она отключена в дефолтном профиле карго в релизе
77 2055507
>>055497
Ну и проверка на переполнение стека, которую также можно отключить.
image.png18 Кб, 822x74
78 2055573
Анончики умные, помогите. Не понимаю, как решить данную проблему грамотнее всего? Ясно, что нужно использовать atomic. Видимо, нужно в цикле проверять compare_exchange_strong. Не ясно
как это должно скейлиться, если каждый тред может увеличивать только если ODD or EVEN. Если бы просто надо было инкрементировать, то разнёс бы счётчики по массиву с учётом размера cacheline. А так ваще хз. Что от меня хотят. Неужели тупо цикл compare_exchange_strong?
79 2055603
>>055573

>Неужели тупо цикл compare_exchange_strong


Кроме CAS-loop я не вижу вариантов. Ну или хз что за учебник, может там автор хотел, чтобы ты дерзко влепил мьютексом это дело.
80 2055632
>>055603
А как скейлить это?
81 2055643
>>055497
Ещё был какой-то язык с названием типа FX-87, там тоже были регионы они, вроде, были как растовые лайфтаймы, он также гарантировал безопасность памяти, а ещё он был функциональным.
Снимок экрана от 2021-06-03 22-56-30.png227 Кб, 1920x1080
82 2055665
Не могу запустить Hello world. Ошибки не скрине. Из за чего они возникают и как их решить?
83 2055672
>>055665
Тебе сюда >>1008826 (OP)
84 2055685
>>055672
Гугл не помогает умник.
85 2055686
>>055665
Шел четвертый день пердолинга с эклипсом
86 2055696
>>055665
Если ты ещё не сообразил, то я попробую разжевать. Слишком много всего разного ты мог сделать не так, это раз. Эклипсом никто не пользуется, плюс твои скрины невероятно неинформативны, это два. Поэтому, никто тебе ничем помочб не может. Лучше попроси кого-нибудь лично поковыряться в твоём компе, если сам с помощью гугла не в состоянии.
А, забыл, третий пункт. От того, что ты тысячу раз уебешься головой о бетонную стену, она не треснет.
87 2055705
>>055696
Ошибки на скринах, код на скринах. Никто не пользуется еклипсом? Это не так. Живут и процветают. Ты просто не обремененный интеллектом троль неудачник. Хоть самому подавать заявку на модерку и банить таких упырей как ты.
88 2055740
>>055696
Ебаный в рот, летние каникулы 3 месяца АААА
89 2055748
>>055740
Peace DOS
изображение.png12 Кб, 962x181
90 2055760
Бюджет 10 тыщ рублёв. Беретесь?
91 2055762
>>055740
Ты эклипс поставил, потому что белый пояс? Тебе вполне корректно пояснили, что нет разницы, в чём писать, кроме количества потной ебли. Самый быстрый способ -- это открыть консольку, написать там

sudo apt install g++
cd moy/yobanyi/govnokod
g++ first.cpp
./a.out

и у тебя всё заведётся. А там может и с эклипсом ебаться расхочется.

Тебе даже вот тут это уже посоветовали
>>054358
92 2055779
>>055760
Сделаю рублей за 100-200.
93 2055780
Ш
94 2055784
>>055762
>>055696
Какие же вы кретины, прости господи. Даже хуже чем этот умственно отсталый школьник.
Снимок экрана от 2021-06-03 22-56-30.png227 Кб, 1920x1080
95 2055813
Школьник решил запустить hello world, но не смог. Ошибки на скринах. Как их решить?
96 2055823
>>055813
нахуй иди
97 2055825
>>055813
Игнорируйте этого долбоеба, даже нахуй не посылайте
98 2055833
>>055813
Semantic Error это не синтаксическая ошибка.
Значит надо отключить оповещение о семантических ошибках, все просто.
99 2055838
>>055665
Эклипс не штудия и при запуске компиляции файлик не сохраняет (видишь там у тебя звёздочка). Сие чудное поведение где-то там настраивается, но в настройках эклипса заблудилось уже слишком много народу. Не лезь туда.

>Эклипсом никто не пользуется


Есть ещё места, куда без него не залезешь.
100 2055840
>>055833
Как это сделать? Почему эти ошибки не дают скомпилить и выполнить код?
image.png3 Кб, 472x65
101 2055844
Анон, как лучше писать глобальную константу?

Пробовал смотреть в gcc.godbolt.org - какая-то хуита появляется (там появляется тело функции main в которой какой-то асм код) если юзать constexpr static - но я не шарю за асемблер и не понимаю что там
102 2055910
>>055760
А че у них криминалисты в программирование не умеют? А если нужно будет хакнуть преступника?
103 2055921
>>055910

> А если нужно будет хакнуть преступника?


Для этого не нужны эти ваши кудахтеры.
pr.jpg45 Кб, 640x480
104 2055922
>>055921
Картинка отклеилась.
image.png177 Кб, 292x306
105 2055927
>>055760
Сделаю за еду
106 2055929
>>055760
Так для этого кресты - как микроскоп для гвоздей. Тут же какого-нибудь ms access хватит.
Студент, я тебя раскусил, иди на хуй со своими лабами по СУБД Access
107 2055934
>>055813
Ты заебал уже блядь, необучаемый.
108 2055960
>>055840

> Как это сделать?


Посмотреть настройки.

> Почему эти ошибки не дают скомпилить и выполнить код?


Потому что так настроен редактор.
изображение.png28 Кб, 1015x370
109 2055963
>>055929
Ебу дал? Это я на фрилансе нашел
>>055927
Но я бы такое не стал делать, и другим не советую даже за большой доширак. Потому что это менты, будут просить дополить или проконсультировать как пользоваться очередной девочки-практикантке из института МВД, а если откажете сами понимаете что будет. Таких нехитрым образом окажетесь в вечном рабстве, оправдывая звание анальника.
110 2055966
А про MS Acsess кстати говоря, сейчас все гос. учреждения переходят на отечественный софт. Вот вам новости из пидорашки, а то совсем от жизни отбились.
111 2055984
>>055760
>>055963

>Бюджет 10 тыщ рублёв. Беретесь?


10k rub = 136$
136$ / 3 = 45$ гребцу
45$ / 4$ = 11 часов на разработку

Нет, идите нахуй
112 2056192
>>055984
Безопасная сделка
113 2056321
>>055984
Я что-то не понял этих формул. Почему гребцу 1/3? Тут же расчёт, что ты один будешь кодить. И как вышло 11 часов? 4$ - это почасовой тариф или что?
114 2056326
>>056321
Внешний рейт гребца на любой галере в три раза больше внутреннего. Даже если ты сам себе галера.

Проект на джун+, джун+ получает 700$-800$ в месяц, это примерно 4$ в час.

Итого: бюджет проекта - на 11 часов пердалинга, даже без тестирования => идите нахуй
115 2056391
>>056326

> Даже если ты сам себе галера.


То есть ты возьмёшь у самого себя 1/3, а остальные 2/3 самому себе не отдашь? Ебало представили?
116 2056491
>>056391
Нет, ты забыл расходы на юриста, сейлза и прочие, а так же внос в фонд простоя и т.д.
Грубо говоря, ты должен раздвоиться на кабанчика и гребца
117 2056496
>>056491
>>056391
еще нужно 10% дохода отдать на благотворительность. это для успеха.
Снимок экрана от 2021-06-04 03-36-58.png230 Кб, 1920x1080
118 2056557
Решил запустить hello world, но не смог. Ошибки на скринах. Как их решить?
119 2056560
>>056557
Отключи отображение семантических ошибок
120 2056575
>>056560
Как это сделать? Ты уверен что если я отключу, то код скомпилится?
121 2056581
>>056575

> Как это сделать?


Через настройки

> Ты уверен что если я отключу, то код скомпилится?


На все сто.
Есть еще способ: удали строку using namespace std; и вместо cout напиши std::cout.
Результат заливай сюда.
122 2056621
>>056581
Херню советуешь.
qtcreatorhw.jpg191 Кб, 1919x991
123 2056711
>>056557
А мог бы скачать Qt и погрузиться в мир современных графических приложений, а не устаревшей консольной херни.
124 2056729
>>056711
Я бы не назвал виджеты миром современных графических приложений, вот на qml реально формошлепаешь как бог.
125 2056739
>>056729
Это пример из книжки Бланшет, Саммерфилд - QT4 Программирование GUI на С++. Немного творчески доработал только. Понятно, что нормальное приложение никто так писать не будет. Но в учебных целях в самый раз.
Книга кстати на порядок лучше, чем у Шлее. Здесь реально авторы объясняют как пользоваться библиотекой, а не тупо перечисляют все виджеты как Шлее. Хоть она и устарела немного, но всё равно всем бы советовал начинать с именно с неё.
126 2056746
>>056739
Я хз, учил кют по его же хелпу, мне кажется он очень хорошо все объясняет.
127 2056750
>>056746
Там же не по-русски!
128 2056763
>>056750
Тыж программист. Английский хорошо апает чтение книг по своему хобби. Я например прочел около 20 тайтлов на англ по кулинарии.
129 2056766
>>056763
У меня в школе по английскому была злая училка и она привила неприятие и к языку. Хоть я и понимаю его важность, но не могу преодолеть психологический барьер.
130 2056796
>>056766
Я тож в школе и унике не то чтобы хорошо выучил.
131 2056875
>>056557
Нихуя не понятно со скрина, почему комментарии к коду не пишем? Как эту простыню текста мы должны разбирать?
132 2056957
Хех
133 2056965
>>056711

>старый синтаксис QObject::connect


Та ну ебанный врот, Qt5.0 вышла хрен знает когда, уже даже Qt6.0 есть
134 2056971
>>056965
Я не понял, эти наркоманы опять что-ли поломали обратную совместимость?
135 2056984
>>056971
Нет, но новый синтаксис лудше
136 2057013
>>056965
Но книжка только по Qt4.
137 2057022
>>057013
Возьми по Qt5
138 2057048
>>057022
Они не написали по Qt5. Я что-то мельком читал, что там перекупили их фирму и теперь там совсем новая политика. Поэтому сейчас пытаются заработать на самом продукте, а не на распространении среди программистов и им не выгодно выпускать книги.
16221905697062.jpg113 Кб, 604x448
139 2057057
>>054115 (OP)
хочу сделать чота в 3д, какую версию directx выбрать для изучения?
Нужно чтобы не сильно сложно и чтобы не требовалось писать тысячи строк чтоб нарисовать треугольник
Цель:
1. перемещаемая камера
2. Треугольничик.
3. Треугольничик может двигаться как я захочу
4. я покакол
Ну шо?
141 2057146
>>057105
Я НЕ ХОЧУУУУ ОПЕНГЭЭЛ ГАААДОСТЬ!!!
Я хочу как настоящий разработчик 3д аппликаций работать на уважаемом directx! Я когда игры устанавливал то постоянно видел в папке редист екзешник директ икса, значит игры написаны на нем, весь мир сидит на директиксе и я хочу
142 2057148
>>057105
в чем принципиальное отличие диретка от опенагла?
143 2057183
>>057148
Просто разные апи. OpenGL - кроссплатформенный (хотя вроде как эппл его не особо любит) и при должном старании можно хоть с OpenGL ES под мобилки писать. Чистые Си. Но он... своеобразный, ты по сути вызовами функций изменяешь состояния глобальной стейт машины. И возвращаются тебе не ссылки на конкретные объекты типа буффера или текстуры, а непрозрачные интовые хендлы которые ты случайно можешь запихнуть не туда (и обязательно запихнёшь). DirectX 9-11 - венда онли. Сам пробовал лишь чуть-чуть, но говорят поприятнее. Но там COM, а у некоторых есть тебя аллергия на всякие QueryInterface.

Vulkan и DirectX 12 - апи со сложностью ultra violence, по сути ты наполовину сам пишешь драйвер для видюхи. Но если у тебя команда из 40 продвинутых графических инженеров, то ты сможешь сделать +20% производительности по сравнению с другими апи за счёт отсутствия оверхеда драйверов и тонкой подгонки под себя. В одно лицо делать - оно того не стоит.
144 2057217
>>057146

> Я хочу как настоящий разработчик 3д аппликаций


Берёшь Unreal.
145 2057241
Сильно ли больно компилить проект под линукс, если до этого только на винде работал? Хояу бота для вк написать, ищу впс, но винда на порядок дороже линукса, а мне нужно то совсем немного мощностей.Ну или как найти ультра дешевый сервер для бота.
146 2057244
>>057217
так далеко не все сделано на анриале
хочется сделать велосипед с ходящими кубами, НО СВОИМИ СОБСТВЕННЫМИ, а не встроенными в движок, чтобы ты наблюдал за ними как за собственными детьми которые учатся ходить, может для рандома это будет выглядеть глупо, ведь все люди умеют ходить, но это НЕ ВСЕ, ЭТО ТВОИ СОБСТВЕННЫЕ КУБИКИ ДЕТИ
147 2057263
>>057244
Мудро.
148 2057268
>>057241
Когда разберёшься с линуксом, подумаешь, что на винде ад и ебля. В плане серверов и разработки линукс намного удобнее но на десктопе всё наоборот.
149 2057271
>>057268
Спасибо
150 2057283
>>057268
В плане серверов - да, в плане разработки - говно полное.
Собстно, пишу код в студии и кросскомпилирую его в WSL2, потому-что в нативном линуксе боль, говно и дрисня
151 2057547
>>057283
Двачую этого. Для задач админских линукс богоподобен, но как дело доходит до обычного пользования... Бля.
image.png20 Кб, 903x165
152 2057616
Поясните за событийный механизм из прошлого треда, пж)
153 2057659
>>057616
У тебя в программе должен быть бесконечный цикл, который принимает от Винды события, а затем отправляет их на обработку. События - это нажатие кнопки, перемещение мышки, таймер и т.п. На каждый тип событий пишется своя функция-обработчик, где они обрабатываются как тебе надо.
Поэтому все эти книжки для новичков про консоль морально устарели и не отражают реальные тенденции современного программирования графических приложений.
Screenshot from 2021-06-05 19-26-12.png309 Кб, 2192x1286
154 2058242
Почему он не видит conio.h? Пути прилинкованы, файл в папке с кодом
155 2058258
>>058242
Ты ещё спроси, почему не видит windows.h на линуксе
изображение.png3 Кб, 396x248
156 2058268
Почему выдает размер массива, а не размер указателя???????
157 2058274
>>058268
Потому что массив - это не указатель.
158 2058277
>>058274
x это не массив, это указатель, алло
159 2058282
>>058258
Спасибо. Я не знал, заменить на curses.h ?
160 2058290
>>058282
Просто заменить недостаточно, там свой API со своими функциями. Смотри туториалы по curses.
161 2058294
>>058277
Указатель - это int *y = x. А у тебя массив[].
162 2058302
>>058294
Ага конечно
163 2058308
>>058290
Яснопонятно, пойду читать мануал
164 2058320
>>058302
Это ты здесь срач недавно устраивал про разницу между массивом и указателем?
изображение.png6 Кб, 750x223
165 2058324
x указатель, вот пруф
Почему sizeof выдает размер массива
изображение.png7 Кб, 741x211
166 2058326
Вот второй пруф
167 2058331
>>055119
лол
168 2058401
>>058324
x, не указатель, но выражение "x" в некоторых контекстах преобразуется к указателю на свой первый элемент. Гугли array to pointer decay.
169 2058411
Нахуя вы учили си++(имеется ввиду с библиотеками, с хоть сколько-нибудь муторными)? Нравилось вообще это учить? Ради фана или ради денег учили? Если хочется спать при изучении библиотеки - это норма? Вообще не могу учить чо-то новое, нравится только уже пользоваться знаниями - это пройдёт с практикой?
170 2058628
>>058324
Для оператора cout::<<() есть вот такой набор перегруженных методов:
https://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt
Среди них нет версии для массива x[], но есть версия для указателя. Так как x[] можно привести к указателю, то отрабатывает operator<<( const void* value ).

sizeof() имеет версию для массива x[], поэтому работает с ним как с объектом и возвращает размер этого объекта в байтах
171 2058811
>>058411
От потребностей зависит. Если что-то нужно, то выучишь. Впрок учить тяжело.
172 2058816
>>058242
хуевый способ рисовать бля буду охуеешь лучше сделай класс screen и рисуй по массивам
image.png6 Кб, 276x146
173 2058837
Как реализовывать многопоточность? Я посмотрел про заголовок thread и он мне показался каким-то колхозным с вещами типа
thread abc(f, ref(a));
и насколько я понимаю те 5 заголовков не исправят ситуации, а просто дополнят возможностями. Это нормальная практика так писать? Есть еще многопоточность от boost, может там дела лучше? И вообще, не должна ли многопоточностью заниматься winapi? Зачем все эти библиотеки? Ради кроссплатформенности? Как пишут на серьезных проектах?
d06h11mi53s02421.png67 Кб, 602x281
174 2058926
мужики помогите, я обсираюсь
не могу решить задачу, а в понедельник сдавать её надо.
надо на плюсах ебануть её
175 2058964
>>058837
std::thread thread =
{
----[&, govno = std::move(mocha)](){...}
};

> многопоточность от boost, может там дела лучше?


суть та же, стандартная реализация вроде от boost-овой отпочковалась, как обычно

> И вообще, не должна ли многопоточностью заниматься winapi?


она и занимается, std::thread и прочие мьютексы це просто обёртка над всей этой хтонью

> Зачем все эти библиотеки? Ради кроссплатформенности?


точно так

> Как пишут на серьезных проектах?


лучше не знать
176 2058969
>>058926
Я бы поехал по дороге А и не выделывался. Пока там сворачиваешь, то больше времени потратишь, а ещё и заблудишься в довесок.
177 2059142
>>058926
"Динамическое программирование", слышал о таком?
Короче, сводишь задачу к задаче N-1, а потом придумываешь как сделать переход N-1 -> N.
Алгоритм будет потом в цикле удлинять 1->2->3->...->N.
178 2059150
>>058401

>array to pointer decay


Вы приняты!

Алсо, вопрос по-сложнее: может ли чисто виртуальная функция иметь тело?
179 2059151
>>058926
Декстра, не?
180 2059153
>>059151
Дейкстра, быстрофикс
181 2059158
>>059153

>Дейкстра


Из пушки по воробьям
182 2059168
>>059150
Ненавижу этот вопрос. Может, но нахуя мне это знать?
183 2059192
Где можно задать вопрос по задаче из вузика на с++?
184 2059204
>>059192
В этом треде
185 2059212
>>059204
Окей. Нужно из массива одномерного выписать все простые числа в которых есть тройка..
186 2059222
>>059212
Так ведь это просто. Что тут не понятного?
187 2059226
>>059212
Сначала пишешь функцию для проверки, что число простое, её копипастишь отсюда: https://stackoverflow.com/questions/36797150/prime-number-function
Потом пишешь функцию для проверки, что в числе есть указанная цифра: https://stackoverflow.com/questions/46803064/determine-if-a-number-contains-a-digit-for-class-assignment , затем подставишь в качестве цифры тройку.
Дальше итерируешься по массиву, в теле делаешь проверку:
if (isPrime(arr[ i ] && containsDigit(arr[ i ], 3))
{
std::cout << arr[ i ] << std::endl;
}
И всё.
188 2059261
Как добавить автоподстановку в Eclips?
189 2059265
>>059226
Спасибо.
190 2059266
>>059261
Надо установить специальный плагин: https://visualstudio.microsoft.com/ru/
192 2059284
>>059266
>>059267
Ну и зачем мне ваша VS, если я спрашиваю про Eclipse?
193 2059307
>>059284
Ты изгнан из нашего племени за инакомыслие и богохульство.
194 2059315
>>059284
Это боты, не обращай внимания.
емакс-господин
195 2059316
>>059307
Ну и ладно, организую свою племя с Eclipsom и шлюхами.
196 2059320
>>059316
Женщины даже не смотрят на эклипсочмонь
197 2059321
>>059315

>емакс-борщехлеб


Fixed for you

>>059316
Отлично - создавай свой тред, и делай там всё, что хочешь
Screenshot from 2021-06-06 16-42-47.png51 Кб, 700x510
198 2059347
Вот, оно включено, но не работает почему-то.
199 2059349
>>059321

>Fixed for you


Извиняйся, неосилятор.

>Отлично - создавай свой тред, и делай там всё, что хочешь


Это территория C++, клуб любителей анальной дрочки от M$ на два треда вниз.
200 2059361
>>059349

>Извиняйся, неосилятор.


Извинился струей мочи тебе в рот, борщехлеб.

> Это территория C++, клуб любителей анальной дрочки от M$ на два треда вниз.


Как там в 90ых? Ты еще поди винду МАЗДАЕМ называешь, да, додик?
201 2059374
>>059361

>Как там в 90ых? Ты еще поди винду МАЗДАЕМ называешь, да, додик?


В 90х было заебись, пришел с садика, покушал, погулял и ты молодец, а теперь работать надо, вникать в это вот всё.
image.png57 Кб, 642x1083
202 2059443
203 2059447
>>059443
воистину
204 2059556
>>058926
Ты уже решил задачу или ещё нет? Времени-то немного осталось.
205 2059571
>>059556
щас я решу еще наверное часа через 3
206 2059606
>>059571
fA(0) = 0
fB(0) = 0
fA(n) = min(fA(n-1) + dA(n), fB(n-1) + dA(n) + t(n))
fB(n) = min(fB(n-1) + dB(n), fA(n-1) + dB(n) + t(n))

ответ min(fA(N), fB(N))

// все за вас надо делать, школие
207 2059639
Блядь, разбивал свой пожирневший код на файлы но функции в отдельных файлах отказывались видеть классы, пока явно не распишешь перед ними их определения. Захуярил все в один заголовочный файл и добавил инклудом везде.
Это вообще нормально, что теперь определения классов будут продублированы в каждом файле? Что за скотина проектировала этот язык? Почему он ведет себя как интерпретатор?
208 2059643
>>059639
Блять, язык именно так и работает. Гугли что такое One Definition Rule
209 2059644
>>059643

> One Definition Rule


> определения классов будут продублированы в каждом файле

210 2059654
>>059644
Ты даун или да? Т. е. ты прочитал название и по нему судишь о сущности понятия?
При подключении заголовочных файлов подключиться только один, все другие будут игнорироваться через механизм условной компиляции, необходимость включения заголовочного файла в каждый модуль вызвана потребностью в отключении некоторых модулей без потери способности к компиляции других модулей
211 2059656
Можете пояснить как foo.h находит foo.cpp если в foo.h ничего не подключено??? и еще я не могу почему-то добавить просто foo.cpp, хотя по описанию #include понятно, что он просто вставляет текст из файла на своё место, но это чё-то нифига не так.
212 2059658
>>059644
я не понял что куда находит. Компилируются только .cpp файлы, все #include - текстовая подстановка внутрь .cpp файла
213 2059660
214 2059663
>>059656
Потому-что "компиляция" происходит в два этапа - непосредственно компиляцию и линковку. Заголовочный файл используется на первом этапе где ссылки на функции из других модулей упаковываются в таблицы символов: откроешь объектный файл все станет ясно. Вся программа компилится в такие объектный файлы. Потом они утрамбовываются в один исполняемый файл линковщиком который связывает их
215 2059665
>>059663
А как линковщик находит файл foo.cpp если в foo.h он никак не упомянут. Смотрит, что foo.cpp подключает foo.h? Это он чё, все файлы проекта штудирует? А если мой foo.cpp вообще на другом жестком диске хер пойми где спрятан?
216 2059696
>>059665
1. foo.h пропадает на этапе препроцессинга, при компиляции его не существует, он уже внутри foo.cpp. Линковщик не занимается foo.h.
2. foo.cpp компилятором конвертится в foo.о (объектный файл)
3. foo.о линкуется в foo.ехе

Q:Как препроцессор находит файл foo.h ?
A:Он указан в foo.срр директивой #include, аргумент директивы может иметь два вида - <foo.h> и "путь к foo.h". В первом случае он ищет файл в папках где лежат заголовочные файлы оп-умолчанию, обычно эти папки указаны в настройках проекта. Во втором случае он ищет файл по указанном пути и включает его, если не находит - ищет как в первом случае в папках где лежат заголовочные файлы по-умолчанию, т.е. вторая запись более общий случай первой. #include "foo.h" частный случай второй записи где приказано искать в текущей директории проекта, если не найдет тут пойдет по папкам по-умолчанию. Потом препроцессор всирает заголовный файл в foo.срр и все. Компилятор и линковщик не знают ни о каких заголовочный файлах
image.png30 Кб, 1061x428
217 2059713
>>059696
я про другое спрашиваю. как обнаружить foo.cpp который никакими инклюдами не упомянут
218 2059732
>>059713
Когда ты нажимаешь волшебную кнопочку по которой из кода собирается исполняемый файл IDE передает сама передает файл препроцессору, потом компилятору а потом линковщику. Увидеть это можно в журнале компиляции как на пик 1
IDE может использовать также makefile как на пик 2, результат тот же
219 2059737
»2059713
Ты же компилятору скармливаешь .cpp файлы, а не .h. Он просто берет код из .h и вставляет его в .cpp. Ему не нужно трогать .h файл, так как ссылки на него есть в .cpp файле.
мимо
220 2059794
>>059713
Если ты просто положишь свой foo.cpp в папочку с проектом, то он и не будет компилироваться.
Его еще нужно так или иначе добавить в проект.

Или, если ты создаешь foo.cpp прямо в своей IDE, то она его добавляет (регистрирует) в проект, помимо собственно создания на диске одноименного файла.
221 2059803
>>059168
Для архитектурного дроча
222 2059806
>>059226
Лучше сначала на наличие 3 проверять
223 2059814
>>058964

>> Как пишут на серьезных проектах?


>лучше не знать



В целом, thread и future хватает для общих задач. Иначе - дроч с ConcRT, ThreadPool, Task PPL
224 2059825
>>059814
future - это кал, колбеки в разы лучше (особенно для тестирования)
225 2059832
>>059732
Что за IDE?
226 2059846
>>059832
Редактор Dev-C++, горячо любимый всеми студентами до появления VS Code, ибо легковесный и не требует создавать проект на каждую laba1.cpp.
227 2059873
>>058926
Всё вроде решил. У тебя есть тестовые значения проверить?
https://pastebin.com/gqaAweWq
Если правильно расставлю коменты и объясню как работатет
228 2059876
>>058926
А ну и значения можно вводить в формате
[значение] , [значение] , [значение]x
229 2059894
>>059803
Полиморфизм в современном С++ это почти антипаттерн
230 2059895
>>059794
>>059732
Ладно спасибо вроде как понял.
r102813Wx1Vb.jpg27 Кб, 500x483
231 2059901
232 2059907
>>059901
У тебя на пике переусложненный код, там можно if не писать.
233 2059908
>>059907
Точно? Не врешь? А как правильно?
234 2059913
>>059908
Я же говорю, можно if не писать. Надо учитывать поведение for. Сам посмотри код простой я думаю за пару вечеров ты разберешься с ним, но если что пиши мы тебе всегда поможем.
235 2059916
>>059913
Так там ведь по условию нужно вывести нечетные числа. Как это сделать без if?
0000.png9 Кб, 226x572
236 2059917
>>059913
Я убрал все if , но теперь код не запускается, что делать?
237 2059923
>>059917
После каждой закрывающей скобки надо ставить точку с запятой.

почему в джсе и петухоно- тредах активное обсуждение чего-то связанного с около-программированием, а в с++ треде, самом каноничном и ТРУшном языке на секундочку, какие-то смехуёчки и ржака над абстрактными несуществующими вкатывальщиками?
0001.png9 Кб, 218x575
238 2059927
>>059923
Все ровно не запускается, да что такое, будь другом подскажи что не так
239 2059931
>>059927
for(int i=0;i<Array.Length;i++){
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=1){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=3){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=5){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=7){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=9){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=11){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=13){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=15){
Console.Write(i);
}

}
}
}
239 2059931
>>059927
for(int i=0;i<Array.Length;i++){
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=1){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=3){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=5){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=7){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=9){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=11){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=13){
Console.Write(i);
}

}
}
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=15){
Console.Write(i);
}

}
}
}
240 2059932
>>059923
На самом деле в жс треде бесконечный токсичный срач не тему того можно ли вкатиться.
А у нас тут ламповая атмосфера, т.к. мы заранее знаем, что вкатиться нельзя и общаемся на расслабоне))
241 2059933
>>059931
Дружище, кто же так пишет?
У тебя какой-то примитивный код.
Почему не используешь итераторы и ламбда-выражения?
242 2059936
>>059931
>>059927
Ой, как неудобно получилось
Давай вкину снимок экрана

Смотри: Сперва мы объявляем цикл по Array.Length, который будет длиться до скончания количества циферок в Array

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

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

Не бойся задавать вопросов, этот тред именно для этого и создан - чтобы помогать новичкам.
243 2059940
>>059931
Вот как-то так хотя бы
iter1 = (Array) => {
for(int i=0;i<Array.Length;i++){
for(int y=0;y<2;y++){
for(int h=0;h<1;h++){
if(i=1){
return i;
}
Console.Write(iter1)
244 2059942
>>059936
Куда ставить точки с запятыми? Или не нужно?
245 2059943
>>059936
Я все же настаиваю на использовании хотя бы анонимных функций. С таким кодом ты не пройдешь ревью.
246 2059946
>>059942
Я не знаю что за анон тебе посоветовал ставить точки с запятыми в конце, во всяком случае - будь аккуратен в этом треде, здесь много троллей и они часто говорят хуйню, специально чтобы запутать новичков
0002.png33 Кб, 734x638
247 2059954
>>059936
Код не запускается, какие-то штуки красные высвечиваются, что делать?
248 2059966
объясните вкратце как работает 3d графика хоть в опенгле хоть в дайректиксе?
Как создаётся пространство с 3-мя осями в них?
249 2059967
>>059966
Берется 3д графика, считаются локальные графичекие протеины, считает проекцию этих протеинов, проекцию отрисовывает, это вкратце. Куча матана ебаного, выучи апи и не еби мозг
250 2059970
>>059967

>Куча матана ебаного


>выучи апи


поэтому я и попросил ВКРАТЦЫ

А какой айсикю надо иметь чтобы понять тамошний матан? Чо полегче опенгээль или директ?
251 2059975
Гуру С++, разъясните положняк по программированию игр.
Что сейчас в тренде? Знаю что на Сишарпе рулит Юнити.
А как дела в плюсах? В какую сторону смотреть?
253 2059989
>>059987
я не понял
254 2059990
>>059966
https://en.wikipedia.org/wiki/3D_projection#Perspective_projection
Грубо говоря, там в основе дежит идея, что чем дальше от тебя точка - тем ближе к центру экрана её надо рендерить. Например, так:
A = (Ax, Ay, Az)
x' = Ax / Az
y' = Ay / Az
Az - насколько удалена от тебя точка, и чем значение больше - тем результат деления будет ближе к нулю.
Дальше к этому прибавляются смещения и коэффициенты, затем для цвета учитываются шейдеры, z-buffer и прочая хуйня, и готово.
255 2059992
>>059975
А в плюсах Unreal.
256 2059993
>>059990
Спксибо
257 2060004
>>059990
Спасибо, ещё спрошу:
Как рендерится пикрил треугольник например?
Вот у нас точки хранятся и сонединяются в фигуру и фигура отображается по этим точкам, а как меняется вид при повороте камеры? Как происходит рисование если смотреть с другой стороны? Какие вычисления происходят?

И я правильно понял, что координата зеленая Y на моем пикриле - это z-buffer по которому вычисляетсчя насколько большой будет рисоваться точка по 3 координате? то есть существует фактически 2 координаты - X и Z, а Y просто чтобы понимать размер отображения уже имеющися точек?
258 2060007
>>060004
Вот у меня есть массив точек которые красным обведены - как мне отобразить их и чтобы чем ближе точка ко мне была - тем она была больше?
259 2060014
>>060007
Передаёшь в вершинный шейдер модельно-видовую матрицу и VBO с твоими точками.
260 2060016
>>060004
Если правильно понял вопрос, у точки нет размеров, она всегда соответствует одному пикселю (либо вообще не показывается, если находится слишком далеко от камеры). Но у тебя на месте точек могут быть сферы, и они за счёт того же деления на z могут отображаться то больше, то меньше.
Рендеринг обычно делается не по вершинам фигур, а по их граням. Грань после преобразования координат становится 2D-полигоном и разбивается на множество точек, каждая точка рендерится с учётом цвета грани и прочего. Z-буфер же не для определения "размеров точек", а для решения проблемы, когда у тебя несколько граней накладываются друг на друга, и надо определить, точку с какой грани надо рендерить, то есть ближайшую к тебе точку, и через z-буфер можно определить, какая из них ближайшая.
261 2060017
>>059987
а, это короче аллегория на то, что для рисования (((3д графики))) - создание машины поросенком - используются хитро-выебанные технологии для работы с 2д - воображение поросенка создает машину в голове хотя он сидит на стуле с крышкой
262 2060022
>>060016
А как z-buffer вычисляется?
И ещё слышал что в opengl при меремещении камеры перемещается не камера а само пространство - это правда? В чем сложность сделать перемещение самой камеры?
263 2060025
>>058268
из-за синтаксиса, и массив и указатель имеют одинаковые свойства в данном случае компилятор вроде все в одинаковый код преобразует, но в случае [] он может вычислить sizeof
264 2060028
>>059713
никак. Вроде бы если это стандартные <iostrem> и т.д. компилятор ищет их в определенных папках.
265 2060031
>>060022

> А как z-buffer вычисляется?


https://ru.wikipedia.org/wiki/Z-буферизация
Берётся точка, значение удалённости точки сравнивается со значением в z-буфере, если значение в буфере ближе, точка отбрасывается, в конце всё рисуется.

> И ещё слышал что в opengl при меремещении камеры перемещается не камера а само пространство - это правда? В чем сложность сделать перемещение самой камеры?


Там нет понятия камеры, есть только точки и плоскость, на которой надо эти точки отобразить. Каждая точка при рендеринге пропускается через несколько матриц, и изменяя коэффициенты в этих матрицах можно реализовать камеру.
266 2060036
>>060031
А как "камера" реализована в directx?
Как тогда определяется положение игрока в сетевых играх, если вращаются только точки и плоскость, а не камера-игрок?
267 2060045
>>060036
В директиксе нет "камеры". Есть только треугольники в normalized device coordinates. Камера есть только в коде приложения, и она определяет как координаты преобразуются в нормализованные.
268 2060047
>>060036
Нету в графических api "камеры". Всё работает так: с помощью набора матриц (которые перемножаются в одну - модельно-видовую) задаётся в пространстве коробка - параллелепипед (если изометрия, как в реальной жизни, то это призма, если 2d, то это прямоугольный параллелепипед). Всё что попадает в эту коробку будет отрисовано на экране (спроецировано на переднюю плоскость этой коробки и растянуто на экран с помощью ещё одной проекционной матрицы).

Меняя матрицы мы двигаем эту коробку и таким образом меняем положение наблюдения за сценой.
269 2060049
>>060036
Точки и плоскость у всех игроков одни и те же, а матрицы для преобразования у каждого игрока создаются свои в зависимости от его "камеры".
270 2060058
>>060049
так как определяются тогда координаты модельки игрока?
271 2060061
>>060058
Они известны заранее, это просто часть пространства. Задача в том, чтобы отрендерить остальные точки относительно этих координат.
272 2060064
>>060061
спасибо
273 2060102
>>060058
Самое главное в графическом движке - это алгоритмы избавления от лишних вычислений. Если взять 3д треугольник, преобразовать в 2д, растеризовать, просчитать для каждого пикселя цвет через UV-карту текстуры, а потом окажется что весь треугольник невиден из текущей позицией, то только что было просрано некоторое кол-во времени на кадр.

Эффективные движки выбрасывают как можно больше невидимых кусков геометрии зараннее
274 2060118
>>054119

> 2k21


> Eclipse

275 2060137
Привет. Пытаюсь изучать c++ по книжке Лафоре, но ничего не понимаю. Перечитывание не помогает. Я глупая? c++ очень сложен? Книжка Лафоре просто отвратительна и плохо обучает т.е. есть книжки для изучения с 0 намного лучше? Спасибо за ответы.
276 2060139
>>060137
Курс видео от simple code на ютюбе очень просто расскажет о многом.
277 2060140
>>060137
Попробуй Примеры и Практика с использованием c++ от страуструпа. Тебе понравиться)))
278 2060141
>>060140
Её лучше читать уже имея представление об языке
279 2060142
>>059966

> объясните вкратце как работает 3d графика хоть в опенгле хоть в дайректиксе?


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

> Как создаётся пространство с 3-мя осями в них?


Ты его сам создаешь, используя матрицу проекции.
Видеокарта просто рисует в текстуру.
Без названия.jpg12 Кб, 246x205
280 2060178
281 2060182
Дайте совет новичку, вкатывающемуся в программирование графики/игр на С++. С чего лучше начать? Что сейчас в тренде?
DirectX/OpenGl/SDL/???/что-то еще?
282 2060213
>>060182
Чтобы учиться надо vulkan, чтобы делать серьезные вещи тоже vulkan, чтобы что-то для себя опегль или директ до 12 версии
283 2060366
>>058964

>>std::thread thread =


>>{


>>----[&, govno = std::move(mocha)](){...}


>>};


так ведь колхоз
284 2060395
>>060366
А как должен выглядеть неколхозный вариант тогда по-твоему?
285 2060420
>>060213
Сразу через vulkan хуй кто сможет научиться, там слишком много чего может пойти не так.

>>060182
Пройди вот это вот добро
https://learnopengl.com
Хотя бы ознакомишься с областью, получишь начальное представление о том, как всё устроено и работает.
Потом можешь пробовать всякие вулканы. Если хочешь копать в глубину, навелосипедь графический пайплайн, опционально ускорь его с помощью cuda или compute шейдеров того же вулкана. После этого дохуя чего становится понятно. А если хочешь в ширину, пиши state of the art рендерер на вулкане. Потом можно уже спокойно устроиться гребцом. Ебаться с этим всем, я думаю, год минимум.
286 2060431
>>060395
Неколхозный вариант должен чтить прошлые принципы построения программы и не выдумывать вызовы функций через их ссылку в объект потока, с хер пойми какими вызовами аргументов через запятые и разные функции. Например можно реализовать на подобии public и private из классов, только эти названия будут обозначать потоки. Таким образом изначально будет 1 поток, можно написать потом potokich777: и там внизу писать обычный код, но запускаться он будет в другом потоке. Смысл построения кода главное сохранить.
287 2060467
>>060431
Если честно, нихуя не понятно, какие у тебя там

> прошлые принципы построения программы


Да и дальше нихуя не понятно. Для меня выглядит как бессвязный potokich777 сознания. Пример хоть приведи. Если в твоих словах есть зерно смысла, я был бы рад до него дойти.
288 2060485
>>060467
При написании программы мы можем вызвать функцию sum(5,3)
Если использовать многопоточность то придется писать thread potok(sum, 5, 3)
Как можно видеть, добавление функционала многопоточности меняет логику синтаксиса, из за чего язык усложняется, ведь проще знать немного базовых вещей и их комбинировать, чем множество разных под разные ситуации. Эту логику синтаксиса желательно сохранить и я предложил сделать это в таком виде, что каждая область кода отнесена к отдельному потоку, а потом, мы просто берем и этот кусок кода оглавляем в potok777, тем самым мы используем всю прошлую логику языка. Это можно сравнить с public и private в классе. Если мы их не указываем, то все по умолчанию в классе пишется в private, а в нашей программе выполняется в mainpotok, а если нужно, мы можем где то поставить условный potok777 и весь код ниже будет запускаться в отдельном потоке.
289 2060506
>>060485
Вроде расписал, а всё равно нихуя не понятно, чего ты пытаешься добиться. Естественно у тебя от многопоточности ломается логика, в этом её суть, и я бы не стал эти моменты скрывать. Да и код относить к потоку -- неестественная идея. Плюс в твоём говне потом другим ковыряться.
Вообще, весь этот пиздёж не имеет смысла, пока у нас не стоит чёткая задача, к которой этот пиздёж можно приложить и разобраться, как получается симпатишнее.
290 2060511
>>060506
Бля, я не хочу вызывать функцию двумя способами так sum(5,3) и potok(sum, 5, 3) так, а хочу только так sum(5,3). А из за многопоточности неполучится. Понимаешь?
291 2060517
>>060511
Конечно понимаю. Конечно не получится. Потому что ты хочешь какую-то хуйню.
292 2060530
>>060517
Всё так.
293 2060981
>>060485

>проще знать немного базовых вещей и их комбинировать, чем множество разных под разные ситуации


Тебе нужно заняться APL и J.
294 2061028
Анон, как бы ты параллели алгоритм bt для knight's tour?
maxresdefault.jpg106 Кб, 1280x720
296 2061121
Как собрать этот ебучий FFmpeg с x265 либой для ведра? Уже неделю ебусь с ERROR: x265 not found using pkg-config. Хотя x265 есть в списке pkg-config --list-all. И по пути PKG_CONFIG_PATH точно лежит x265.pc.
Там у них этот баг гнёт в бакете. Может кто знает обходные пути?
297 2061158
>>061121

>Может кто знает обходные пути?


Я не знаю.
298 2061160
>>061083
Возьми да проверь через typeid().
299 2061174
>>061160
Это не проверишь через тупеид()
300 2061208
>>061121
Перекатывайся на gstreamer пока не поздно.

Вообще в ffmpeg с этими либами стандартно. Сначала собираешь либу и инсталлишь её не забыв ldconfig. Потом собираешь ffmpeg с флагами --enable-gpl --enable-libx265. Потом в консольке ffmpeg -codecs и смотришь, что кодек доступен.

Ну или опустись до openh264. Она с ffmpeg без проблем собирается.

Либо угорай по хардкору - у некоторых вендоров есть доступ через api к аппаратным h264/h265 и они разъёбывают в хлам все эти попенсорсные либы. Но чтобы их заюзать и встроить в пайплайны ffmpeg/gstreamer/live555/... нужно конкретно поебаться.
301 2061229
>>061208

>Перекатывайся на gstreamer пока не поздно


gstreamer на винде - это БОООООООООЛЬ

>у некоторых вендоров


Очень много вендоров на декстопе, да
302 2061239
>>061229

>Как собрать этот ебучий FFmpeg с x265 либой для ведра?


Ты просил под андроид, я тебе ответил.
Под лялексами и эмбедами gstreamer оптимальный вариант.
Если кроссплатформенно, то с h264 кодеком намного меньше ебли, чем с h265.
Вообще, если ты не laba.cpp пишешь, то потом будешь под каждую платформу отдельно переделывать ибо жрут эти кодеки ояебу сколько.
303 2061242
>>061229
Ну ещё советы зависят от того, в какую сторону тебе кодить надо. Тебе decoder + encoder надо?
304 2061246
Re
305 2061331
Анон, есть где-нибудь базовая, но полная книга с начал С++ по хотя бы С++ 17 стандарт?

А то ищу, а все максимум по С++11 (Лимпаны, Страуструп, и т.д.)

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

Английский у меня плох, ищу русскую книгу (я могу читать по английски -но максимум объема статьи. Прочесть книгу в 1-2к страниц меня не хватит)
sage 306 2061340
>>058837

> И вообще, не должна ли многопоточностью заниматься winapi?


В юникс не завезли.
307 2061371
>>061083
Скомпилируй а потом проверь в ассемблерном листинге
308 2061377
>>060981

> APL и J.


Зачем? Есть же богоподобный c++
309 2061474
Всем привет. Меня интересует насколько реально имея к примеру клиент lineage 2 дописать серверную часть с 0, расшифровать пакеты и т.п. Сколько времени это займет? Видел что переписали серверную часть с с++ на java, но у челов была слитая в сеть серверная часть на с++.
310 2061515
>>061474

> Сколько времени это займет?


С твоей постановкой вопроса - бесконечность
311 2061525
>>061474
Несколько человеко-лет при условии что ничего меняться не будет
312 2061586
>>061474

>насколько реально


реально - было много мморпг где сервак писали не имея слитья, например вов

но это надо шарить за хакерство - так как расшифровывать пакеты ты будешь на асемблере, а для этого еще надо создать среду для их получения и сортировки - то есть уметь в инжект и т.д.
313 2061594
>>061586

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


Зачем? Чем тебя кресты не устраивают?
314 2061724
>>061594
Затем что тебе сначала эти пакеты надо прочесть - а это поток байт
315 2061727
>>061724
А что, если я тебе скажу. что с сетью и потоками байтов можно работать хоть на джаваскрипте?
316 2061732
>>061727
но только тогда, когда тебе будет известен формат данных. А сначала тебе в любом случае надо его узнать из потока байтов
317 2061739
>>061732
Ну так факт использования ассемблера не даст тебе знание формата данных. Ты думаешь, там по сети гоняется исполнимый код для процессора?
318 2061756
>>061739
Код клиента ты в ассемблерное представление переводить будешь, а не напрямую в сишку. Соотв. кусок сетевого взаимодействия тоже будет на асме изначально

hex-rays крут канешна, но не до конца
319 2061760
Кайф
320 2061763
Нужно вывести таблицу данных в удобном виде. В консоли выглядит как хуета, а тащить какой нибудь qt для такой хуйни кажется странным. Что посоветуете?
321 2061764
>>061763
сгенерируй HTML и открывай в браузере
322 2061792
>>061763
Выдай csv и открой в Экселе.
323 2061956
>>061331
Полной книги по плюсам вообще не существует.
На русском полнее и одновременно новее 5-го издания Липпмана ничего нет.

На английском, кстати, книжки по с++17/20 по большей части идут конкретно про нововведения, а не про полное описание языка.
324 2062074
>>059696
Спасибо за подробное объяснение, за один абзац разложил по полкам все в моей голове
325 2062234
Если интересно, нашел довольно неплохие русскоязычные лекции про адвансед с++ и вообще о внутрянки компиляторов.

https://www.youtube.com/channel/UCvmBEbr9NZt7UEh9doI7n_A/videos

Если че, не самореклама
326 2062299
>>062234

>не самореклама


>в видео пони и аниме


Очевидно что чел сидит на дваче, скорее всего это ты
image.png402 Кб, 736x420
327 2062313
>>062234
Добавил к себе в закладки чтобы забыть и наткнуться через пару лет
15724604513260.jpg170 Кб, 726x724
328 2062617
>>061239
Это не я отвечал, я вот как раз добавляю эти флаги и получаю ERROR: x265 not found using pkg-config. Хуйня какая-то, я в листе пакедж конфига его вижу и по пути он есть. Я не против перейти на x264, но он с такой же проблемой отлетает.
А можно подробнее как с openh264 собирать? Я не нашёл гайда у них в документации, пробовал добавить флагом OPENH264_LIBRARY, но смейк сказал, что я даун.

Бтв, это нормально, что я с годом опыта работы обсираюсь на этих билдах? Ещё от таких задач срака взрывается прям быстро, можно много просидеть и в итоге нихуя не сделать.
image.png13 Кб, 633x316
329 2062629
Анончик, какой из двух этих Init более правилен?

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

А вопрос - как лучше по читаемости, правилам хорошего тона, хорошему коду и т.д. писать:
- неявно брать конфиг внутри Init как в первом случае
- явно его передавать (хотя он его мог бы получить)

Сначала я писал первый случай, а тут читал Страуструпа, так словами не перескажу, но засело что функция должна самодокументировать свои действия списком аргументов.... Ну короче, кто как думает - что из двух лучше?
330 2062672
>>062234

>русскоязычные лекции


Нинужно.
331 2062673
>>062629

>функция должна самодокументировать свои действия списком аргументов


ИМХО - это больше актуально для функций интерфейса, а не для реализации.

В твоем случае никакой самодокументации не происходит, а происходит наоборот - совершенно ненужное обобщение.
Глядя на второй вариант, я делаю вывод, что Init принимает любой конфиг.
Тогда как фактически (исходя из первого варианта) тебя интересует совершенно конкретный конфиг. Причем этот конфиг достается из закрытого члена.
332 2062678
>>062629
Я бы явно передавал класс-контекст с ссылками на твои ресурсы, видно откуда что берешь, можно мокать и т.п.
sage 333 2062821
>>062673

> Причем этот конфиг достается из закрытого члена.


Брр фу.
!.jpg164 Кб, 1366x768
334 2062941
Для новичков типа меня эти ребятаembarcadero вот что слепили.
335 2062943
>>060182
С учебников по алгебре и геометрии, надо думать.
336 2062964
>>062943
Фигасе ты гений. Долго думал над ответом?
337 2063013
>>062941
Что это? Новый графон?
338 2063028
>>060182
В юнити вкатывайся
339 2063034
>>063028
Так это же богомерзский сишарп.
Ты еретик что ли?
340 2063048
>>063034
Если ты ньюфаг и хочешь делать игры - то делать их надо на юнити, т.к. это проще всего.

Если ты хочешь проебать время вникуда - пиши свой движок, в идеале сразу на вулкане.
341 2063061
>>063013
ну они там все под свой гривой дизайн пилят, похоже. Но работает и уже хорошо.
342 2063064
>>062964
кстати, нет не долго
343 2063142
есть программа, в ней я запускаю другу свою программу с помощью функции system(). Какие есть способы получить результаты выполнения программы, которая была запущена с помощью system? Сохранить результат в файл и прочитать его?
344 2063154
>>063142

> Сохранить результат в файл и прочитать его?


Это единственное, что можно сделать стандартными средствами в плюсах. Если тебе всё же нужно читать стандартный поток вывода, придётся создавать подпроцесс и устанавливать с ним пайп, это делается либо через системное API, либо через сторонние обёртки над ним.
345 2063156
>>062941
Почему IDE для C++ написана на Delphi?
346 2063162
>>062941

> 1366x768


ух бля
348 2063196
>>063156
Потому что Delphi рулит.
Проблемс?
349 2063296
>>063156
очевидно так решили создатели самой ide. А после них это продолжила embarcadero, дабы показать няшный gui. Мне он вполне по душе, в этой реализации, но в их версиях Dev-C++ как мне кажется что-то не так с консолью. А в шелом, всё как и в старом Dev, только Mingw обновили.
350 2063324
>>063178
popen и pclose нет в винде. Так что мимо
351 2063655
Уже довольно долго пишу на С++, но так и не понял чем отличаются .h файлы от .cpp. Аноны, молю поясните мне доступными словами в чём разница?
sage 352 2063676
>>063296
Слушай, а у тебя дебаггер работает в Dev-C++?
Не могу завести никак, что-то там поломано сильно (я про gdb если че)
353 2063679
>>063676
Сажа приклеилась
354 2063682
>>062234

>короче если чего то не знаете, то узнавайте сами


Чет проиграл с этого лекторада, я понял что курс для продвинутых, но он столько раз поясняет, что ничего не будет пояснять, что уже мог бы пояснить за это время
355 2063685
>>062941
На винде и так есть визуал студия, а вот в линупсах реально голях с ИДЕ. Почему ничего не пилят под линупсы?
356 2063687
>>063685

>На винде и так есть визуал студия



На лине она сейчас тоже есть
357 2063699
>>063655
сюда --> >>059696
358 2063715
>>063655
cpp это единица трансляции, из которой будет скомпилирован объектный файл. h это текст, который необходим для компиляции нескольких единиц трансляции (например, если где-то упомянут класс, то компилятору нужно там же по месту знать его поля и объявления методов).
Подробнее можно узнать, если загуглить ODR.
359 2063719
>>063685
Майки же сделали VSCode под линукс. И .NetCore под линуксом есть. И ещё куча всего.
360 2063721
>>063655
Забей, в 20 добавили модули и все равно будет по-другому.
sage 361 2063732
>>063687
НЕТУ вижуал студии на линуксе, НЕТУ. Уже несколько раз натыкался на инфу, что есть, думал, как я пропустил событие века, захожу на сайт MS, и каждый раз оказывается, что она только для винды и мака. И ещё несколько постов от долбоёбов про VS Code.
sage 362 2063734
К слову, Visual Studio и Visual Studio Code путают люди с 60 IQ, примерно как те, кто путает Java и JavaScript.
363 2063736
>>059696
спасибо большое, очень понятный пост
автор вопроса
364 2063737
>>063734
честно говоря я никогда кроме vs нигде не кодил(фиолетовый значок) про визуал студио коде знаю лишь что он синенький и его используют веб разработчики в основном
365 2063744
>>063734
Ну так расскажи в чём разница между vs и vsc ну я кроме vs ки ни с чем более дело не имел, аж интересно стало
366 2063745
>>063734
Труъ-линуксоиды юзают VIM, поэтому не обязаны разбираться в сортах мелкософтовских поделок.
367 2063853
Хорошо что я работаю в геймдеве и мне неприходится контактировать с линуксопорашей. Движок графический проще написать чем освоить эту хуйню.
368 2063856
Нормально получать 500$ за 1 год и 3 месяца опыта работы?
Киев. Кросплатформ говно на qt.
369 2063862
>>063856
Ебанутый, что ты там делаешь

Дай резюме, нам плюсовики нужны как раз, фейкомыло: testdevice.2020.11.13 собак gmаil.соm
370 2063900
>>063853
Рынок мобильных игр крупнее и платят там больше. Но ты продолжай рефлексировать на ААА тайтлы под пеку.
371 2063909
Питон кручи вашэй хуйнi. Сасiти жопу!!!
372 2063937
>>063856
Да, погроммисты сейчас не нужны.
373 2063953
>>063862

>Ебанутый, что ты там делаешь


Я вот сейчас смотрю этого челика (https://www.youtube.com/channel/UC99om0N3qZc5t8iSy2QrHZA)

Он там тоже говорит что норма для джунов С++ получать 400 или даже 300$

И честно прифигел.

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

Хотел менять работу, но блядь в итоге получать меньше, ебошить больше и делать какое-то говно?
374 2063956
>>063953

>2021 год


>cлушать мнение шиза с ютубчика

375 2063974
>>063953

>Хотел менять работу, но блядь в итоге получать меньше, ебошить больше и делать какое-то говно?


Скажи честно, ты инцел? У тебя логика инцела
376 2063976
>>063956
Так это среднестатистический прогер.

Или предлагаешь слушать двачеров получающих 300к в секунду?

Меня давно интересовал этот вопрос про реальные зарплаты - почему-то анонимно все орут про какие-то сверхдоходы.
Ну еще о них орут всякие инфоцигане, но с ними понятно (хотя кажется и они предлагают максимум теже 500$ (ну те, кто подписывает контракт что трудоустроит после курса)
Во всяких статейках еще пишут

А начинаешь спрашивать обычных работяг кода - то пиздец какой-то с зарплатами. Может врут?

Но тогда непонятны очередные скандалы в айти, когда программистов держат на уровне рабов (я как-то не понимаю как можно получать мифические 5к$ и быть рабом, рабом можно если выживаешь за 300$, а с зарплатами выше 5к - да многие и очко добровольно продадут)

Да собственно само существование галер говорит что на самом деле полный пиздец.

Нет, не спорю, сеньоры может и получают.. .Да только тели сеньоры? Слушал интервью сеньора из варгейма - пиздец, он кто угодно, но не сеньор. Торгаш, менеджер, пройдоха.. Но блядь он точно не программист. Все его познания по С++... возникло ощущение что он где-то там в ютубе наслушался про этот язык и теперь называет себя сеньором С++.
image.png40 Кб, 846x579
377 2063982
378 2063993
>>063953

>Я в своей мухосрани, в госконторе получаю 560$


Я тоже лабал на крестах в НИИ за максимальную зарплату в 23к с первого по третий курс до 2018. Заебало, пошёл к коммерсам в местную продуктовую контору, сразу же предложили мидлом на 65к сейчас 90 с лишним
379 2063994
>>063685
CLion.
380 2063999
381 2064020
>>063982
Ты более всратого графика найти не мог?

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

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

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

- в четвертых - среднее по больнице. Кстати, не понимаю откуда появилась дрочь в статистике на медиану - это как раз чистый пример среднего по больнице. Статистику надо выводить из минмакса. А не по среднему большинству (куда также входят менеджеры, дирехтары аутсорса и подобное - я вон выше писал про сеньора из варгейма - числится именно как senior C++, а потому какой бред он нес про программирование (при том что за маркетинг хорошо говорил) - ничего кроме лаб он не кодил, да и не нужно - он именно менеджер)
382 2064023
>>063994
У тебя четыре ошибки в слове EmaСs
https://tuhdo.github.io/c-ide.html
383 2064030
>>064020

>Ты более всратого графика найти не мог?


Ты ебанутый? Это топовый ресурс

>в вакансиях пишут


Это не вакансии, это зарплатный опрос маня

Алсо, съеби в "мы вам перезвоним тред" и ной там, инцел
384 2064048
>>064030

>поиск: вся Украина


>топовый ресурс


Кек
385 2064056
>>064048
Ну прост в вашей рашке зарплаты айтишникам меньше, щитоподелать десу
386 2064068
>>064030

>Это не вакансии, это зарплатный опрос маня


И кого же там опрашивали? Может опросили 100 человек, и на этом сделали выводы? Меня например никто не опрашивал - это был опрос элитного общества? Ну и какое тогда тут отношение к средней зарплате?
387 2064071
>>064068

>>Анкет: 570

388 2064085
А std::back_inserter можно как-то использовать для собственного шаблонного контейнера? У меня есть метод push_back и value_type определено, но вот чет не работает.
389 2064086
>>064071

>>это был опрос элитного общества?



570 - это мало даже для одной средней аутсорс галеры
390 2064091
>>064086
Вилка 1-2 года опыта

Ебать, я же тебе сказал - дай резюме и мы даже рассмотрим его
391 2064143
>>064085
Вопрос больше не актуален.
Но кому интересно, то да можно, только нужно определить все шаблоны класса стд итератор в собственном итераторе - это для 17 стандарта, либо унаследовать свой итератор от стд итератор для 14 стандарта
392 2064250
Привет. Школьница - тян пытающаяся вкатится на каникулах на связи. Пытаюсь изучать с++ по Лафорте, но ничего не понимаю. Получше книжек для обучения с 0 нет? Сколько раз перечитывать главы? Ну просто горит даже от описания работы в 32 бит системах когда уже таких нет:(
393 2064263
>>064250
Кресты - первый язык? Если так, то начать советую с чего попроще - например, с Сишечки. Да и вообще читнуть книги того же Столярова из цикла "программирование - введение в профессию" распространяются бесплатно.
394 2064273
>>064250
Ты опять выходишь на связь, эклипсошиз?
Думал мы тебя не узнаем?

>>054119
>>054160
>>054262
>>054976
>>055119
>>055665
>>055813
>>056557
395 2064275
>>064250
Дейтелы еще есть
396 2064295
>>064250
с++ енто сложный и что самое главное ненужный кал, не слушай своих дноклов и пиши свое егэ на чем попроще.
397 2064310
>>064263

> Если так, то начать советую с чего попроще - например, с Сишечки.


Хуже совета не придумаешь.
398 2064312
>>064250
Начинай изучение программирования с Ассемблера и архитектуры процессора, тогда поймёшь всё на базовом уровне. ЯВУ создают слишком много абстракций, из-за чего не понятно как реально работает ЭВМ при выполнении твоей программы.
399 2064314
>>064310
Нормальный совет. Когда говорят, что перед крестами нельзя учить сишку - это троллинг такой.
400 2064315
>>064310
Тут любые советы плохие. Олдфаги вроде меня начинали с паскаля или бейзика, ньюфаги - с какого-нибудь питона. Всё плохо, но как-то же мы справились. Нужно просто начать и действовать.
401 2064457
>>064263

>Если так, то начать советую с чего попроще - например, с Сишечки


Хуйня совет, я бы за него расстреливал. Спокойно можно начинать с С++, и даже нужно начинать с С++ не забивая себе голову легаси говном.
Я сам начинал - моя первая книга С++ за 21 день. Десять лет прошло, до сих пор люблю этот язык.

Если надо с чего полегче чем с++ - то питон/паскаль/шарп.
402 2064463
>>064314

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


Троллинг - его советовать. В си нет ничего что нужно знать и трогать современному начинающему программисту. Языку пора в помойку, он уже не нужен нигде.
И в низкоуровщине он тоже уже не нужен - на cppконе один чел вот уже 4 года показывает как пользуясь современным с++ (последним вроде было про с++ 20) программировать даже под такое старье как comodore64 (который 84 года - он фрик). Я очень сомневаюсь что сейчас кому-то понадобится прогать под еще более слабое железо чем то, которое было в 84 году.

А легаси спокойно и на с++ поддерживается
403 2064509
>>064310

>В си нет ничего что нужно знать и трогать современному начинающему программисту.


Враки.
Многие фундаментальные вопросы, которые возникают при изучении C++, плохо или совсем не освещаются в книжках по С++ (даже в самых толстых), молча отсылая к сям.
Синтаксис объявлений, тайпдефы, пердолинг с заголовочными файлами, макросы и многое, многое другое - если ты начинаешь разбираться, гуглить, то с вероятностью 95% ответ ты найдешь в книге или в статье по сям.
Это, что касается того, что есть в самом Си.

>В си нет ничего


Помимо вышеуказанного есть еще и штуки вне сей.
Например, винапи, директ икс, языки для шейдеров и т. п.
Да и просто многие примеры, статьи или даже целые книги написаны в стиле с большей или меньшей примесью сей.
404 2064510
405 2064520
>>064463
Реально писать на С++ под Спектрум?
406 2064524
>>064520
Да, но зачем тебе спектрум? Любой МК мощнее и стоит дешевле
407 2064531
>>064524
У меня в детстве был только Спектрум и я мечтал написать для него ОС типа CP/M-80 для RAM-диска, а грузиться естественно с кассеты, потому что дисковода у меня не было.
408 2064591
>>064520
На си точно можно, но и он там едва ворочается с дохуя ограничениями.
409 2064617
>>064457
>>064463
>>064310

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


Ну что я могу сказать, хуёвые из вас программисты. Промываем глазки от спермы и перечитываем оригинал.

>Кресты - первый язык? Если так, то начать советую с чего попроще - например, с Сишечки.


"если раньше не программировал, то с крестов лучше не начинать" != "если не знаешь сишки, то к креста лучше не подходить".
410 2064654
>>064457

> Спокойно можно начинать с С++, и даже нужно начинать с С++ не забивая себе голову легаси говном.


Дебил никогда не кодивший на плюсах детектед.
С++ тащит за собой добрую половину фич из чистого Си, часто просто добавляя сверху сахарку.
411 2064666
>>064654
В си, чтобы вывести функцией printf() данные, нужно внимание добавлять в строке-аргументе функции специальные конструкции!!!! ну это вообще пиздец... по сравнению с синтаксисом вызовов функций в многопоточке на плюсах не сравнимо абсолютно! полный разврат!!! совращение молодых умов программистов!!
412 2064668
>>064310
Вполне годный совет так то. С сильно проще плюсов. К тому же не обязательно прям выдрачивать их. Достаточно базовые концепции понять (адресная арифметика, указатели, указатели на функции, циклы и т.д.)
Так или иначе понимание того, как устроено все в плюсах под капотом нужно. Даже на днище вакансии будут спрашивать про new delete, приведения типов. Как вектор реализован, че такое итераторы и т.д.
Впрочем если читать нормальные учебники там все равно будут рассматривать вещи из С.
Тут проблема в другом - изучать С скучно(плюсы то же, но не настолько)
Пока напишешь что-то полезное и интересное потратить кучу сил. Все же мне кажется вкатываться в плюсы надо через смену области на текущей работе. Иначе проще в другие языки (Java python going)
413 2064670
>>064666
Пиздец - это то, что получается, если пытаться выводить через cout что-то сложнее "helllo world".
414 2064674
>>064666
Причем тут многопоточка в плюсах и printf в С? Сейчас к чему то похожему пришли в плюсах (fmt). А printf удобная штука так то, если нужно хитровыебанную строку вывести с кучей различных параметров.
415 2064682
>>063655
ничем
только расширением и соглашением по поводу использования
мимо безработный лох
416 2064690
>>064670
>>064674
Может быть, но писать "x=%f\n" это ужас, откат в средневековье, в дикие времена.
417 2064693
>>064690
Раз так любишь всё новое и молодёжное, напиши свой аналог printf, он будет современнее чего бы то ни было вообще тупо из-за того, что реализован только что. Можешь даже написать специального демона, который будет коммитить по одному пробельному символу в конец твоей реализации каждые 5 минут, чтобы реализация так и оставалась свежей и современной.
418 2064698
>>064693
Нет, уже ничего не поменять. Будем терпеть, а потом привыкнем.
419 2064703
>>064698
Тебя никто не заставляет использовать стандартную библиотеку. Не используй, хватит это терпеть!!!
420 2064705
>>064703
Нет! Я буду терпеть. Я же не порридж чтобы использовать фреймворки
Screenshot from 2021-06-10 22-33-03.png110 Кб, 896x602
421 2064718
В 7 строчке что за "fin", мне кажется там опечатка, подскажите как правильно это реализовать чтобы прочитать только 3 число?
422 2064739
>>064718
fin -> &n
изображение.png67 Кб, 1250x836
423 2064746
424 2064754
425 2064925
>>064509

>плохо или совсем не освещаются в книжках по С++ (даже в самых толстых), молча отсылая к сям.


Ты наверное какую-то хуиту читал (или по неопытности забыл что в первых главах было написано), все нормально освещают. С++ - это как бы и есть Си, из которого выпилили говно и залили новые фичи

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

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

>в книге или в статье по сям.


С чего ты решил что это Си? Любой код на современном стандарте си - это также код и на с++. Как бы в С++ тебя никто не заставляет ебаться и писать хелловорд на ООП - можешь писать тот же си код - это даже свое название имеет "Си с классами"

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

>>064509

>написаны в стиле


Это не стиль си. Это процедурное программирование.
426 2064926
>>064520
Гугли Jason Turner - он шарит в этой теме
например из его последнего https://www.youtube.com/watch?v=EIKAqcLxtT0&t=863s

ну и на цпппконах участвует с этой темой
https://www.youtube.com/watch?v=zBkNBP00wJE
image.png25 Кб, 866x416
427 2064932
>>064654

>Дебил никогда не кодивший на плюсах детектед.


Первая моя книга по С++ была где-то в 2006 году (еще ребенком кстати) - это была С++ за 21 день
С 2012 года я активно кодил проекты на С++ в гитхаб в опенсурс (это при том что я поздно въехал в гитхаб, раньше сидел на sourceforge)

Так что иди нахуй.

Кстати, в институте, где я учился на программиста-инженера, учили два языка - С++ (и qt под линуксами, препод был линуксоидом) и lisp для матана. Никакого легаси говна не преподавали
428 2064935
>>064932
За 21 день ты и усвоишь только си-подмножество крестов (и то, поверхностно) + узнаешь про существование классов и шаблонов.
Тем более в эпоху до распространения C++11.

Ты фактически и начинал с сишечки.
429 2064938
>>064925
А сколько лет ты кодишь на плюсах?
430 2064943
>>064938
Если за зарплату, то 7 лет
Также вкатывался в другие языки, но с С++ начинал и до сих пор хочу писать только на нем (жаль что в шарпе многие вещи делать удобней:(, особенно в софт-разработке куда меня сейчас занесло (а qt мне не нрав) )

>>064935

>Ты фактически и начинал с сишечки.


Потому что это одно и тоже. Точно также изучив с++ можно легко писать на php или шарпе (хотя и не качественно)

>>064935

>За 21 день


Так-то нормальная книжка была, не знаю почему в интернете она стала мемом в те времена. ООП там с 9 дня начинали (или раньше, так как я учил же по старой редакции - а лень ее искать сейчас)
431 2064944
>>064943

>то 7 лет


>>064925

>Любой современный учебник по С++ полностью его раскрывает без всяких отсылок.


Ты реально вот с таким вот опытом до сих читаешь учебники по плюсам?
Или ты все же просто предполагаешь, что там должна быть эта информация?
432 2064948
>>064944

>Ты реально вот с таким вот опытом до сих читаешь учебники по плюсам?


Я тут хотел сделать себе шпаргалку, а то старый уже, многое стал забывать, особенно когда это не используется. Пробежался по всяким основным книгам типа Лимпана и Страуструпа. Глянул ravesli.com. По итогу остановился на документации msdn
433 2064952
>>064944
Язык дохуя большой и на длинной дистанции постепенно забывается. Ещё комитет постоянно серит новыми фичами, тренды на парадигмы меняются.
434 2065040
>>064932
Ну в таком случае твои вскукареки против Сишечки тем более выглядят странно

>С++ (и qt под линуксами, препод был линуксоидом)


Т.е. ты кодил под линупсом, но при этом считаешь, что Сишка это легаси? Хреново ты значит там кодил.

>кодил проекты на С++ в гитхаб в опенсурс


Я хз знает что ты там кодил, но опять-таки.
WinAPI это Сишка
Линукс в своей основе это Сишка
OpenGL это Сишка
Без знания Си тебе никогда не понять многих системных фич. Даже работу системных утилит тебе без Си не понять.
>>064925

>Любой современный учебник по С++ полностью его раскрывает без всяких отсылок.


Ты видимо давно не читал учебники и думаешь что все осталось также, как в 2006 году. Внезапно плюсы с тех пор очень сильно изменились и у современных авторов уже нет возможности пояснять за общие основы у Си и плюсов. Некоторые так сходу начинают вводить ООП и объекты.
>>064948

>По итогу остановился на документации msdn


А вот тут ты уже спалился окончательно. MSDN скатили в полное говно и советовать его сейчас может только жирный тролль.
435 2065118
>>064948

>Я тут хотел сделать себе шпаргалку, а то старый уже, многое стал забывать


https://learnxinyminutes.com/docs/c++/
436 2065123
>>065040

>вскукареки против Сишечки тем более выглядят странно


Я не против сишечки (надо будет, и на фортране будешь писать). Я против совета изучать программирование с си, особенно тому кто хочет в плюсы. Это вредный совет

>>065040

>Без знания Си тебе никогда не понять многих системных фич.


Я перефразирую
Изучая с++ ты изучишь си (просто потому что это один и тот же язык, но утята были против, поэтому вместо С 2.0 получили С++).

Изучая си ты нихуя не изучишь.
Современное программирование не про процедурщину. Си - это онли процедурный язык (другие парадигмы на нем требуют оверохуенные скиллы)
но в 2021 году писать софт процедурно - это лучший способ быть уволенным, С++ как и все современные языки - мультипарадигмальный (не одним ооп живем)
Си - ужасный язык, который может вызвать желание бросить программирование или пойти в JS - чего стоит только математика указателей и побитовые операции которые выльют на новичка буквально с первых страниц. Новичку это нахуй не надо знать. Когда вырастет, тогда и разберется, а на старте ему хватит умных указателей.
Си - это велосипедный язык. В 2021 году не принято писать велосипеды. Си учит только велосипедить. Это вредно, потом сложно оттучится (лично знаю, так как начинал в ту эпоху).И есть большая разница между стандартом или сторонним говном (как минимум у сторонних решений почти никакая документация).
На С++ у новичка больше возможностей начать творить свои первые пет-проекты, так как сейчас почти нет ебли со всякими библиотеками (или ты предлагаешь новичку писать свой первый калькулятор на голом WinAPI? ну наверное чтобы он окончательно дропнул этот язык и пошел в веб разработку)

>Т.е. ты кодил под линупсом,


А под линуксами уже нет с++?

>>065040

>Некоторые так сходу начинают вводить ООП и объекты.


Это ты какое-то говно явно читал. Учебники из шапки начинают как раз таки с процедурной части. Где ты нашел учебники с ООП?
Покажи мне такие книжки/сайты и т.д.

>>065040

>А вот тут ты уже спалился окончательно.


У тебя каша в голове, я не советовал. Я написал - для чего я смотрел учебники по с++. Мне не нужен учебник, я не новичок.. Мне нужны только интерфейсы и примеры - это есть в msdn
436 2065123
>>065040

>вскукареки против Сишечки тем более выглядят странно


Я не против сишечки (надо будет, и на фортране будешь писать). Я против совета изучать программирование с си, особенно тому кто хочет в плюсы. Это вредный совет

>>065040

>Без знания Си тебе никогда не понять многих системных фич.


Я перефразирую
Изучая с++ ты изучишь си (просто потому что это один и тот же язык, но утята были против, поэтому вместо С 2.0 получили С++).

Изучая си ты нихуя не изучишь.
Современное программирование не про процедурщину. Си - это онли процедурный язык (другие парадигмы на нем требуют оверохуенные скиллы)
но в 2021 году писать софт процедурно - это лучший способ быть уволенным, С++ как и все современные языки - мультипарадигмальный (не одним ооп живем)
Си - ужасный язык, который может вызвать желание бросить программирование или пойти в JS - чего стоит только математика указателей и побитовые операции которые выльют на новичка буквально с первых страниц. Новичку это нахуй не надо знать. Когда вырастет, тогда и разберется, а на старте ему хватит умных указателей.
Си - это велосипедный язык. В 2021 году не принято писать велосипеды. Си учит только велосипедить. Это вредно, потом сложно оттучится (лично знаю, так как начинал в ту эпоху).И есть большая разница между стандартом или сторонним говном (как минимум у сторонних решений почти никакая документация).
На С++ у новичка больше возможностей начать творить свои первые пет-проекты, так как сейчас почти нет ебли со всякими библиотеками (или ты предлагаешь новичку писать свой первый калькулятор на голом WinAPI? ну наверное чтобы он окончательно дропнул этот язык и пошел в веб разработку)

>Т.е. ты кодил под линупсом,


А под линуксами уже нет с++?

>>065040

>Некоторые так сходу начинают вводить ООП и объекты.


Это ты какое-то говно явно читал. Учебники из шапки начинают как раз таки с процедурной части. Где ты нашел учебники с ООП?
Покажи мне такие книжки/сайты и т.д.

>>065040

>А вот тут ты уже спалился окончательно.


У тебя каша в голове, я не советовал. Я написал - для чего я смотрел учебники по с++. Мне не нужен учебник, я не новичок.. Мне нужны только интерфейсы и примеры - это есть в msdn
437 2065127
Просто напоминаю: кидание говном на тему няшной сишечки вызвано неумением мамкиных похромистов читать.
>>064617
image.png735 Кб, 850x478
438 2065146
>>065123

>Си - это велосипедный язык. В 2021 году не принято писать велосипеды. Си учит только велосипедить. Это вредно, потом сложно оттучится (лично знаю, так как начинал в ту эпоху).И есть большая разница между стандартом или сторонним говном (как минимум у сторонних решений почти никакая документация).


GTK, GLib, GStreamer
439 2065166
Кресты без сишечки - это джава минус минус, а не си плюс плюс
440 2065305
>>065123

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


>Изучая с++ ты изучишь си (просто потому что это один и тот же язык


У тебя биполярочка.
Ты уж определись, или С++ автоматически дает знание Си, или все-таки в книгах по плюсам многие базовые вещи умалчиваются , исходя из логики "Когда вырастет, тогда и разберется, а на старте ему хватит умных указателей".

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


Вообще-то для калькулятора хватит и стандартной библиотеки.
Но если очень нужен гуй, то есть GTK+, например.

>Это ты какое-то говно явно читал.


Бля, чувак, ты бы хоть для приличия пролистал список последних изданных книг по плюсам, прежде чем кукарекать.
https://www.amazon.com/How-Program-Early-Objects-Version/dp/0133378713
441 2065336
>>065305

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


В книгах по С++ новичку объяснят, почему это ему не нужно. никакой биполярочки

>>065305

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


Я от тебя жду книгу где нет вводной части. Я таких книг не знаю

В книге которую ты линканул, есть база, даже про асемблер и организацию памяти говорят, так что хуй знает как ты читаешь - наверное жопой
442 2065338
>>065123
npg install sperma.js и теняет 200мегабайт зависимостей чтоб формочку отобразить, зато без велосипедов
443 2065341
>>065123

>писать софт процедурно - это лучший способ быть


быть богатым, красивым и охуенным
уже доказал теорему множества множеств или по рюзьге отсортировал фотографии в альбоме по иерархии? это же твое ООП святое, можешь начинать с вид, человек и т.д.
444 2065349
std::upper_bound
Returns an iterator pointing to the first element in the range [first, last) that is greater than value, or last if no such element is found.

std::lower_bound
Returns an iterator pointing to the first element in the range [first, last) that is not less than (i.e. greater or equal to) value, or last if no such element is found.

Зачем две по сути одинаковые функции? И при этом нет функции, которая ищет последний элемент меньший заданного
445 2065350
>>065349
чтоб анальники не расслаблялись ведь jQ прохгаммистом назовут
446 2065360
>>065336

>Изучая с++ ты изучишь си


>В книгах по С++ новичку объяснят, почему это ему не нужно. >никакой биполярочки


Наркоман?
Иди почитай книгу по жс тогда. Там тебе пояснят почему тебе не нужен С++. По твоей логике это равносильно изучению С++.
>>065336

>Я от тебя жду книгу где нет вводной части.


Я говорил здесь >>065040 "Некоторые так сходу начинают вводить ООП и объекты.". И привел тебе пример такой книги.
Ты же начинаешь вилять жопой и приплетать сюда организацию памяти, вводную часть и ассемблер.
447 2065411
>>065360
Лично я считаю, что если человек не знает Ассемблер, то он не знает ни С, ни С++ и будет писать низкокачественный код. Проще тогда уж ему программировать на Java или C#.
448 2065434
>>065349

>одинаковые


Нет. Чтобы заменить одну другой ты должен быть телепатом и знать что у тебя в контейнере.
Обработка нестандартных классов и порядки сортировки задаются в версии с компаратором.
449 2065435
>>065411
Ну тут такое себе наебалово. Типа берешь си++ как первый язык, а потом хуяк там еще вдруг и malloc, realloc, alloc, free, идешь дальше и опять хуяк: стек, регистровые переменные, bss сегменты, таблица имен. Идешь дальше, хуяк, тут тебе и токены и лексемы и АСД и т.д. и т.п. Вот так вот, вкатился блять в си++. А по итогу и
си нужно знать и ассемблер желательно и блять алгоритмы с компиляторами.
450 2065445
>>065435

>А по итогу и си нужно знать и ассемблер желательно и блять алгоритмы с компиляторами.


А ты думал, что прошел курсы цепепе за 21 день и хватит на следующие 45 лет до пенсии?
451 2065447
Сап аноны, что можете сказать про данный ресурс? https://ravesli.com/uroki-cpp/
452 2065453
>>065411
Вот-вот. Поэтому и лучше начинать просто с Си. Там тупо объема информации меньше, быстрее можно начать кодить что-то полезное. В плюсах же новичок очень быстро охренеет от того, что язык включает в себя вообще все - от указателей до темплейтов, от множественного наследования и до ламбд. Банально, новичку в Си по строкам нужно знать только Си-строки. В плюсах же надо знать Си-строки И классы строк навернутые поверх, которые ВНЕЗАПНО могут преобразовываться в Си-строки.
453 2065494
>>065447
Заебись, я по нему плюсы учил. Сначала по нему, а потом в оригинальной версии - learncpp.com. Лучше учи по оригинальной
454 2065499
>>065447
>>065494
Также это был мой первый курс по программированию вовсе и мне зашло, так что рекомендую
455 2065505
>>065453
в чем проблема учить C++ будто это был бы C? Потом можно вернуться к темплейтам, наследованию и прочему
456 2065514
>>065123

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


Новички реально не могут разобраться с такой изичной хуйней? Когда только начинал, то тоже удивлялся, что такого сложного в указателях и побитовых операциях
457 2065524
>>065505
В том, что учебники по плюсам не дают достаточных знаний по Си, так чтобы можно было сразу начинать кодить.
458 2065536
Короче, сначала K&R, потом - всё остальное, что душа пожелает.
459 2065629
>>065453
А чё обязательно всё сразу же и в полном объеме? В начале можно просто игнорировать темплейты и лямбды те же, просто знать о их существовании и писать себе код
460 2065690
>>065447
1. Косноязычный стиль, слова на английском с русскими окончаниями caller'у, caller'а и т. п..

2. Это не просто стилистические доебки, из-за этой косноязычности часто страдает логика.
Например, невозможно установить распространяется ли объяснение только на конкретно описанный пример или также и на какие-то более общие случаи. То есть, ценность примеров падает до нуля, т. к. нельзя вывести однозначно, примером чему они собственно служат.

3. Уебищный стиль примеров кода. Все хуярится в main.cpp, все определения членов идут всегда внутри класса.

4. Хорошая идея - снабдить каждый урок комментариями, где можно было бы найти дополнительные пояснения.
Но здесь комментарии на 80% состоят из елейных речей в адрес автора и на 19% из домыслов таких же нубов, как и ты.

5. Итоговый пример - нехитрая игрушка на MFC.
Сам MFC разъясняется вообще никак, только конкретные указания "делай это, делай то, потом пиши так".
Самой же логики игры нихрена не видно за MFC-бойлерплейтом.

6. Пример тетриса на SFML.
Всего-то 300 строчек кода, но там такой адовый пиздец, что он хуёв даже в качестве примера как не надо писать программы.
461 2065708
>>065690
7. Тем не менее, некоторые вещи изложены достаточно полно и ясно.
Если тебе гугл выдает равесли на твой запрос, то не стоит дропать не глядя, есть смысл ознакомиться.
462 2065713
>>065447
>>065690
Потому и смотреть его стоит строго после прочтения Страуструпа чисто для фиксации отдельных сложных тем и обозревания тех, которые не были раскрыты в книге. После этого получаем неплохую личинку вкатыша которая после небольших потуг в стандарты и стл уже может аплаиться на джуна.
463 2065714
>>065713
А если с пониманием туго то можно смотреть объяснение отдельных тем здесь https://www.youtube.com/playlist?list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r Тоже очень неплохой контент.
464 2065721
>>065536
Никогда не читайте эту душную хуйню
465 2065723
Есть те, кто юзает CodeBlocks + MinGW?
Какого фига дебаггер не останавливается на бряках?
466 2065728
>>065713

>после прочтения Страуструпа


Иди-ка ты нахер с такими советами, толстячок
467 2065731
>>065723
Хоть я таким говном не пользуюсь, но предположу, что у тебя либо бинарь не соответствует исходникам и его надо начисто пересобрать либо ты дебажишь оптимизированный код и компилятор их выкинул нахуй за ненадобностью.
468 2065736
>>065728
Иди в белый пояс вкатывайся. Может через пару лет тебя куда-нибудь за 20к и возьмут спустя пару десятков слитых собесов.
469 2065738
>>065714
Не сказал бы, по сути простейший посыл в каждом видео. Можно смотреть чтобы просто посмотреть какие темы есть в языке или если вообще не понимаешь
470 2065906
Че читать годного, товприщи-плюсовики
471 2065908
>>065906
Не знаешь что учить - учи английский
472 2065911
>>065906
Страуструпа если ещё зелёный, пик 1 если уже не целка, пик 2 если уже достаточно умён.
473 2065912
>>065906
Подшивку журналов "Птюч" за 1997-2000 годы.
После 2001 не читай - плохому научат.
474 2065915
>>065911
А зачем шас буст itself нужен?
Он же и так вроде как уже перекочевал в Стандарт.
475 2065916
476 2065919
>>065916
И это всио? Только ради этого?
478 2065929
>>065919
Скажем так, больше на проектах я его не юзал.
479 2065950
>>065919
Еще видел буст multi-index и, не к ночи будет помянут, boost preprocessor. Плюс всякие ебанутые структуры данных типа INTRUSIVE-AVL-MULTI-SET
480 2065955
>>065921
Интересно как выглядит в конпеляторе синтаксическое дерево этой залупы?
481 2065958
>>065736
Наркоман?
482 2065975
>>065911
Во втором кстати технических ошибок дохуя и больше + изложеие кривой ёбаный пиздец. Выступления у Полухина годные, а вот как пейсатель он то еще говно.
483 2065979
>>065911
Щас бы васянов читать, лол.
И хватит уже Страуса советовать. Он крутой разработчик. но полный шизоид при этом. Чего только стоят велосипедные хедеры в его последнем учебнике.
484 2065981
>>065979

>Чего только стоят велосипедные хедеры в его последнем учебнике.


Так это суть изучения крестов.
485 2065982
>>065955
Меня больше добивает нахуй второй вопрос, само его блядь наличие.
Нет бы Страуструп сам изложил свои конструктивные соображения. Не нахуй он мне - нубу - задает философские вопросы. Причем заочно.

Откуда я знать то могу почему подобное кому-то взбрендило.
486 2065984
>>065919
Видел реальные парсеры всякого на Qi, общение по HTTP с Beast и настоящий ад на MPL и Hana.
487 2065986
>>065982
А как надо?
488 2065988
>>065979

>велосипедные хедеры в его последнем учебнике


Это кагбе эмуляция энкапсюляции.
489 2065991
>>065986
Бля, ну это вопрос уровня “почему люки круглые, а не квадратные?”.
И если при наеме на галеру за норм получку это еще можно стерпеть стиснув зубы, то в учебной литературе это просто нахуй уводит в сторону от контекста. Причем платишь за это ты.
490 2065995
>>065991
Так кресты это не для галер/получки, Страус все правильно делает. Молодой-зеленый зря взялся за кресты, есть гораздо проще языки для тех же примерно задач, но не требующие каких-то мозговых напряжений.
491 2065997
>>065995

>кресты это не для галер/получки


Так и зачем тогда каргокультить (каргокультивировать?) самые хуевые практики с галер?
492 2065998
>>065997

>самые хуевые практики с галер?


Какие? Предлагать маслятам подумоть? Так на галерах такого никогда не предложат.
493 2065999
>>065998
Блядь, я подумол и пришел к выводу, что у меня недостаточно данных.
И это единственно правильный ответ.
494 2066000
>>065999

>у меня


упд Не у меня, а в книге. Книга мне предоставила недостаточно данных.
495 2066001
>>065999
Естественно у тебя недостаточно данных. Пытаться выучить кресты по книге это примерно как пытаться научиться математике по учебнику без практике. Единственная задача книг по крестам - дать общие намётки, либо же глубокие детали отдельных инструментов. Книги страуструпа - это скорее перечень тем, которые ты теоретически сможешь изучить спустя пару лет практики.
496 2066008
>>065435

>alloc


А с этим еще веселее - код не компилируется в студии, в нем нет реализации - хуй знает куда пропала, сам ебался, оказалось что надо _alloc писать
497 2066009
>>065445

>А ты думал, что прошел курсы цепепе за 21 день и хватит на следующие 45 лет до пенсии?


Хватит, не слушай этих утят. Они хуйню несут про свой си
498 2066010
>>065453

>Там тупо объема информации меньше


Последний справочник Страуструпа по С++ - всего 300 страниц текста. Куда уж меньше?

Полный курс всего языка можно уложить в 5 часов одной онлайн лекции (в ютубе есть такие лекции от топов)
499 2066011
>>065524

>В том, что учебники по плюсам не дают достаточных знаний по Си, так чтобы можно было сразу начинать кодить.


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

Что ты блядь за хуиту тут третий день несешь что без знаний си нельзя писать код?

>>065536

>Короче, сначала K&R


Реально утенок.
500 2066012
>>065921
Пчел.... Тут все на изи. Это кажется сложно, потому что ты не смог правильно распарсить код в голове.
Кстати, если тебе сложно такие примеры в голове - делай их в компиляторе в дебаге - никто ведь не запрещает, и сможешь понять в чем прикол.

>>065955
Просто. Этот код - визуальная обманка. Он содержит мусор который тебя сбивает столку, но компилятор этот мусор игнорирует.
Просто ты невнимателен или забыл как работает switch (да, по уебански, спасибо наследию за это, из-за чего и получаются такие перлы).

Присмотрись внимательно к коду - в коде нет ни одного break. Зато есть фигурные скобки. То есть все case 7-case1 - это мусор, который никогда не может выполниться.
А выполняется только один case 0. Внутри которого идет банальный цикл do while
501 2066031
>>065915
В msvc кривая реализация filesystem, в бусте лучше.
Бустовые исключения в части проектов тоже использую.
Program options годная вещь.
502 2066041
>>066012
Этот код, вообще по идее, не должен компилироваться.
изображение.png2 Кб, 561x32
503 2066050
Челы, а для чего так пишут?

Не, я понимаю что это чтобы вернуть не указатель, а буль.. но разве не лучше писать
return m_ptr != nullptr
???
504 2066052
>>066011

>что без знаний си нельзя писать код


Да потому что НЕЛЬЗЯ блять кодить на Си, прочитав пару глав про процедурки, дубовая твоя голова. И процедурки != код на Си. Без знания тонкостей языка, макросов, стандартной библиотеки и, хотя бы частично, системных апи, ты с тем же успехом можешь и вовсе не кодить, толк будет примерно одинаковый.

>третий день несешь


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

>Последний справочник Страуструпа по С++ - всего 300 страниц текста


Бля, вот ты реально жирнющий тролль. Тебе в треде еще не тесно? Только официальный стандарт языка. без всяких пояснений для нубов, занимает больше 1000 страниц.
Твой Страус просто занимается черрипикингом и объясняет даже хуже чем в стандарте, вот и вышло у него 300 страниц.
505 2066053
>>066052

>блять кодить на Си


А нахуя кодить на си, если вопрос про изучение С++?

Человек хочет кодить на С++, а ты пишешь какую-то ебаную хуиту - "хочешь кодить на с++, изучи сначала си чтобы кодить на си"... Что блядь?

Для чего ты советуешь начинать изучать си человеку который хочет писать на С++?
506 2066055
>>066053
В идеале учиться программированию лучше начинать с 8-разрядных ЭВМ, а уже потом переходить к БЭВМ. Сейчас можно купить ZX Spectrum Next и учиться программировать на нём. Это не такой хардкор как раньше, потому что он уже поддерживает кучу периферии.
507 2066056
>>066053

>изучать си человеку который хочет писать на С++?


Что ты несешь, блять, где я такое писал?
Хочешь кодить на С++, флаг тебе в руки.
Речь шла о том, что С++ это хуевый выбор для новичка в качестве первого языка. Си тут гораздо более уместен + он дает солидную базу, которая потом пригодится в тех же плюсах.
508 2066066
>>066055

>Сейчас можно купить ZX Spectrum Next


Лучше бы старый 16-битный ПК под дос реинкарнировали.
В 2021 учить асм под мертвую архитектуру это такое себе.
509 2066079
>>066056

>это хуевый выбор


Ты скОзал? Просто не проецируй на других свою тупость
510 2066083
>>066079

>пук


Ясно
511 2066091
>>066041
Компилируется.

>делай их в компиляторе в дебаге


Так и сделал.

>>066012

>Этот код - визуальная обманка


Это https://ru.wikipedia.org/wiki/Устройство_Даффа , как и написано в комментарии.

>Все case 7-case1 - это мусор, который никогда не может выполниться.


Кейс 0 (если он будет) выполняется 1 раз, кейсы под do-while выполняются n-раз.
В зависимости от вычисленного n, кейсы 7-1 позволяют зайти в цикл do-while не самого начала, а с нужного места.
По моему это тот случай, когда проще было написать с goto, но мне лень проверять.

Эта хрень копирует count интов из from в to.
Магическое число 8 - это параметр размотки цикла - сколько инструкций за 1 проход цикла.
512 2066123
>>066091

>это тот случай, когда проще было написать с goto


switch это и есть goto
513 2066125
>>054115 (OP)
Почему,если вызвать writeRecord(..) допустим в main(),макросы __FILE__ и __PRETTY_FUNCTION__ все равно имеют значения FileSystemUtils.cpp и ::writeRecord() соответственно.Хотя должно быть main.cpp и main() т.к я написал inline и writeRecord() должна подставляться в main(),т.е макросы должны вызываться из main()
514 2066131
>>066123
Я про читабельность кода онли.
515 2066133
>>066125
Оно сначала развернет макросы, а потом может быть заинлайнит в main. Чтобы работало, writeRecord сам должен быть макросом или завернут в макрос, который передаст ему правильный __FILE__.
516 2066135
>>066125
Может конпелятор решил не инлайнить, имеет право.
Попробуй __forceinline или определить метод внутре класса.
517 2066151
>>066050
Раньше не было nullptr, поэтому иногда писали так. Был макрос NULL, но он мог иметь разную реализацию. А !! - они везде одинаковые.
518 2066161
>>066133
Это реально провернуть с методом класса,или мне нужно сделать writeRecord глобальной?

>>066135
__forceinline это макрос из MSVC++,у меня gcc.Нашел вроде как аналог : _PSTL_PRAGMA_FORCEINLINE,но он не сработал.Определение прямо в объявлении класса тоже не помогает
520 2066192
>>066125
>>066135
>>066161
Что вы блядь несете? Макроподстановки срабатывают до конпеляции. >>066133 прав

Вы лучше обеснили что вам собственно нужно
521 2066195
>>066192
Нужно чтобы writeRecord знала из какого файла и функции ее вызвали
Снимок экрана от 2021-06-12 16-39-58.png53 Кб, 814x392
522 2066295
Почему когда я подставляю функцию cmp - то получаю ошибку компиляции, а когда лямбду - то все работает?
524 2066340
>>066295
Потому что decltype применяется к сущности (объекту) или выражению. cmp ни тем ни другим не является. А лямбда compare это объект.
Ты можешь либо сделать выражение, например decltype(&cmp) либо сущность auto cmp_ptr = cmp; decltype(cmp_ptr);
А ещё лучше, если ты завернёшь в std::function.
525 2066343
>>066313
Спасибо,помогло
nodecltype.png33 Кб, 1201x596
526 2066353
>>066295
Вот так, без decltype, можно однообразно использовать всякие разные вызываемые сущности.
527 2066357
>>066340
Ещё можно написать decltype((cmp)).
528 2066406
>>066340

>Потому что decltype применяется к сущности (объекту) или выражению.


Где ты такого набрался? decltype всегда применяется к выражению.

> cmp ни тем ни другим не является.


В аргументе decltype, cmp это выражение, обозначающее функцию.
529 2066410
>>066406

>decltype всегда применяется к выражению.


Плюс ещё есть decltype(auto), но это сейчас неважно.
530 2066425
>>066406
Где ты такого набрался? decltype всегда применяется к выражению.
Тебе сюда. Надеюсь ты понимаешь разницу между entity и expression.
https://en.cppreference.com/w/cpp/language/decltype

>>066410

>ещё есть decltype(auto)


Это auto, которое выводится по правилам decltype. Ну то есть это вообще не decltype.
531 2066432
>>066425

>> Где ты такого набрался?


>Тебе сюда. https://en.cppreference.com/w/cpp/language/decltype


Ясно. Очередная жертва ЕГЭ цепепереференса.

Теперь открой стандарт, хоть 11-го года, хоть 17-го, хоть 20-го и покажи мне там decltype(entity).
532 2066439
>>066432
Ну так пруфани, что там нету. Хотя бы по 11 стандарту.
533 2066449
>>066439

>Ну так пруфани, что там нету.


Сначала пруфани, что у тебя в комнате нету невидимого розового единорога.
Ты утверждаешь — ты и пруфай наличие
534 2066453
>>066432
Вот смотри. Есть такая хуйня
https://en.cppreference.com/w/cpp/language/identifiers
Там сказано
In expressions
An identifier that names a variable, a function, specialization of a concept, (since C++20) or an enumerator can be used as an expression.
...
Otherwise, the type of the expression is the same as the type of the entity named.

То есть cmp выражение, тип которого функция. И не подходит оно, потому что шаблон priority_queue потом использует этот тип как член класса и пытается к нему добавить ссылки.

А ты просто серишь буковками про какие-то там документы, которые только фанбои покупают, чтобы полистать сидя на толчке.
535 2066460
>>066449
Маня, у тебя не было никогда этих документов, как и денег на их покупку. Мог бы так жидко не сливаться.
536 2066461
>>066453

>То есть cmp выражение


Я про это и написал в >>066406

Объясняй это этому: >>066340

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


Слив засчитан.
537 2066464
>>066460
Нахуй мне деньги на покупку того, что я могу официально бесплатно получать?
538 2066466
Как стать хакером? Буду взламывать США
539 2066472
>>066464
Мистер Подливкин, зачем вы говорите про вещи, о которых даже бесплатно не читали?
540 2066484
>>066472

> жертва цепепереференса решила отвлечь внимание от своего обсёра скатыванием в срач


Мда. Такое убогое говно даже в /pr/ редко встречается.
541 2066487
>>066484
Пока что ответ на исходный вопрос дан только с помощью cppreference. При этом кто-то продолжает серить буковками без пруфов.
542 2066489
>>066466
бамп
543 2066491
>>066487

>Пока что ответ на исходный вопрос дан только с помощью cppreference. При этом кто-то продолжает серить буковками без пруфов.


Причём это один и тот же человек, т.к. cppreference это буковки без пруфов.
544 2066529
>>065955

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


https://godbolt.org/z/7enzxWqaT
545 2066530
>>065916
asio может без буста работать
546 2066531
>>066295
Объявление третьего шаблонного параметра неверное.
Если сделаешь
bool (*)(bool, bool) вместо decltype(cmp), то это заработает
547 2066542
>>066530
Может, но его так никто не использует
548 2066543
>>066542
Ты всех опросил?
549 2066544
550 2066547
>>066544
Ну тогда ладно.
image.png1,4 Мб, 1280x1024
551 2066556
Что думаете за Visual C++? Это способ превратить более дорогие плюсы в разработке плюсы в более дешевый шарп? И чё, работает?
552 2066558
>>066556
Это что вапще
553 2066561
>>066558
Да я случайно прикрепил, думая что в буфере "Visual C++". Прикол другу скидывал.
554 2066564
>>066561
Так до деанона недалеко.
555 2066565
>>066561
Я имел ввиду что за `Visual C++'
556 2066567
>>066565
C++ с .NET или вроде C++/CLI
557 2066571
>>066556
>>066567
Он же сдох давным-давно.
558 2066573
>>066567
Managed C++\CX?
image.png9 Кб, 1035x51
559 2066577
>>066573
>>066571
Я не особо понимаю, но наверное нет, потому что пикрил, а я имел в виду .NET настоящий. А чё он умер то? Проще C# использовать?
2chsvinoad.webm3,7 Мб, webm,
640x480, 0:13
560 2066600
561 2066603
Ананасы, как научиться проектировать если не целую программу, но какой-то небольшой модуль из нескольких классов?
Вот у меня сейчас такое: есть карта игровая состоящая из тайлов не 2д, который в свою очередь состоит из чанков, а у них какие-то свои свойства (текстуры, высоты, цвет и тд и тп).
Надо это сохранять и загружать.
Как же лучше это сделать? Отдельный класс загрузки\сохранения тайла и его чанков, или же классу тайл дать функции загрузки и сохранения?
562 2066718
>>066603
Лучше тайлы сделать отдельной структурой под данные (или какие-нибудь дескрипторы), а логику загрузки тайла и управление памятью пилить в отдельных сущностях. Ну хотя бы потому что эти твои тайлы могут быть в оперативке, видео памяти, на диске. Они могут быть упакованы, сериализованы, сегментированы или вообще абстрактные (нужен какой-нибудь препроцессинг или генерация шейдерами).
563 2066738
>>066718
Тайл это просто обёртка на N количеством чанков. Внутри него массив + кое какая логика для работы над ними, типа, отсечение не видимых, выборка в радиусе и тп.
Поэтому тут

> Они могут быть упакованы, сериализованы, сегментированы или вообще абстрактные


это всё нахуй не надо.
1 тайл - 1 файл.
Пока решил внутри тайла добавить класс который будет заниматься сохранением\загрузкой.
565 2066748
>>066746

>https://en.wikipedia.org/wiki/Data-oriented_design



Ну и зачем ты просто какую-то хуиту, уровня нужно просто правильно писать, спизаднул? Где примеры, где обсуждения и сравнения?
566 2066755
>>066603
Карта, тайл, чанк - на все это надо смотреть как на говно ресурсы.

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

>классу тайл дать функции загрузки и сохранения?


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

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

Еще лучше, если тебе удастся обобщить твою хранилку до шаблона, подходящего для всех типов ресурсов, которые есть в твоем проекте.
567 2066757
>>066738

>внутри тайла добавить класс который будет заниматься сохранением\загрузкой


Нафига для этого класс, тебе простого метода мало?
Как ты этим пользоваться собираешься?
568 2066916
>>066755

>>классу тайл дать функции загрузки и сохранения?


>Любой класс-ресурс в любом случае должен знать, как загружать себя самого.


А ещё отрисовывать себя самого. Ещё взаимодействовать с физикой самому. И т.д.
569 2066950
>>054115 (OP)
Посоветуйте хорошую книгу по шаблонам пожалуйста.
570 2066963
>>066950
https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121
Насчет русской версии на подскажу
571 2066990
>>066963
Значит Я все правильно сделал. Как раз её и читаю.
572 2066997
Надо ли вообще читать отдельные талмуды по темплейтам? Не достаточно просто главы про них в любой книге про кресты?
573 2067004
>>066997
если ты хочешь вкатиться в template metaprogramming, то вряд-ли тебе в обычном курсе по C++ об этом расскажут
574 2067007
>>067004

>вкатиться в template metaprogramming


Изучать шаблоны, чтобы вкатиться в шаблоны, кек. Ладно бы ты про разработку каких-нибудь sdk спизднул.
575 2067009
>>066997
Там нехуй читать. Самое главное это sfinae.
Рекомендую почитать про реализацию std::variant
576 2067011
>>067004
Понял
577 2067014
>>067007
А буст типо нахуй идёт тогда? Там шаблоны не нужны?
image.png135 Кб, 981x357
578 2067140
Есть ли такая табличка с деревом, где все токены описаны подобным образом?
579 2067144
>>067140
Табличка называется грамматикой формального языка.
http://www.nongnu.org/hcb/
580 2067145
>>067144
А картинки нет?
581 2067470
>>059894
А как без него обходятся?
582 2067473
>>063685
QtCreator. Там вовсе необязательно использовать Qt, можно обычные проекты делать. CMake поддерживает.
583 2067556
Кто-то собирал GStreamer с OpenCV под андроид? Насколько сильно там нужно будет ебаться?
584 2067600
>>067473
Это же кроссплатформенная ИДЕ. Поэтому не является уникальной для Линупса.
585 2067645
Какой технологией делают интерфейс десктопам, таким как стим, торрент, фотошоп?
586 2067655
>>066066
А ты вообще в курсе, что Линус Торвальдс писал свою ОС на 32-битной машине Синклера (создателя Спектрума)?
587 2067660
>>067645
стим на sdl2 вроде. остальное либо qt, либо стандартные средства винды. Либо ещё на жабе пишут
588 2067663
Почему компилятор не может вывести что С это стринг реф ?
https://ideone.com/FsowuS
589 2067696
>>067600
В линуксе все графические либы кроссплатформенные.
Т.к. ИДЕ только графические либы и нужны, то любая ИДЕ под линуксом - кроссплатформенная.
590 2067697
>>067655

>32-битной машине Синклера


Если честно, то нет не в курсе.
Только вот к чему ты это вспомнил?
591 2067725
>>067697
Что ничего нет устаревшего. Спектрум создавался как компьютер для обучения программированию, поэтому можно до сих пор его использовать для этих целей. А уже потом переходить на IBM PC-совместимые БЭВМ.
592 2067742
>>067660
Viber на OpenGL вообще, по-моему.
593 2067782
>>058964
Не скомпилируется. Нужен mutable
594 2067792
>>066340
Нет, std::function тяжёлый
1. По поводу decltype соглашусь. cmp является функцией, а не функтором. Поэтому шаблонным параметром надо передавать указатель на функцию bool (*)(bool, bool)
2. В случае лямбда выражения, запаковка в std::function не нужна вообще, если лямбда уже объявлена и проинициализирована заранее. В противном случае если ты засунешь лямбду внутрь конструктора, то нихуя не скомпилируется. В таком случае std:: function действительно нужен
image.png4 Кб, 569x42
595 2067823
Зачем в перечислении тип другой указывать? Как это вообще работает? Все равно же объекту перечисления ничего кроме типа перечисления присвоить нельзя, так зачем так тип этот писать?
596 2067829
>>067823
Для экономии трех байтов на uint8_t вместо int.
597 2067833
>>067829

>uint8_t


Кто вообще эти дурацкие названия придумал?
598 2067834
>>067833
unsignedint8byte_type
Нормальное название. Как иначе записать? Разве что так
unsignedint8bytetype
599 2067835
>>067834
Ну всмысле вообще t убрать
600 2067837
>>067833
Мне больше интересно, кто придумал зависящие от архитектуры типы short/int/long и ещё float/double вместо float32 и float64.
601 2067840
>>067837
Это в наследство от Си досталось, чтобы писать кроссплатформенные программы. К примеру, int обычно соответствует разрядности аккумулятора (регистр процессора). Если на современных машинах он 32-битный, то на старых машинах может быть 16 или даже 8-битным.
602 2067851
>>067823
Представь что у тебя есть перечисление, и нумерация происходит с нуля
Во первых зачем тебе, к примеру, uint32_t для перечисления 0, 1, 2, 3 когда uchar8_t будет достаточно
Во вторых когда ты захочешь скастовать к енуму, то получишь предупреждение

int i = 256;
Test val = static_cast<Test>(i); // enum class Test : uint8_t
603 2067854
>>067851
Я понял, спасибо, но почему бы компилятору самому не выбрать за меня тип uchar8_t вместо uint32_t, если он видит что перечислений этого типа 3 штуки? Или он всё же оптимизирует?
604 2067855
>>067835
Так же как и nullptr и nullptr_t

Думаю std::uint_32 это какой-нибудь отдельный объект внутри стандарта, а using uint32_t = decltype (uint32)
605 2067858
>>067854
Хороший вопрос. Но мне кажется нет, он такие вещи вряд ли оптимизирует, потому что максимум что ты можешь оптимизировать это
sizeof(int) - sizeof(char) что обычно три байта
606 2067930
>>067823
Экономия места.
И еще, если ты хочешь комбинировать свои перечислители с помощью побитовых операций | &, то неплохо иметь способ контролировать количество доступных бит.

>>067854
Для простого енум компилятор что-то подобное пытается делать. Но каждый компилятор делает по-своему.
У енум класс всегда по умолчанию инт.
607 2067933
>>067556
Расскажи про использование плюсов под Андроид, если знаешь.

Сам несколько лет назад собирал GStreamer для Андроида под линуксом, и, насколько помню, там были скрипты для сборки, которые тебе сами всё соберут. Потом подключаешь через NDK какой-то файлик, делаешь приложение и всё вроде работало.
608 2067957
>>067933
Андроид говно ебаное, где ничего не работает как нужно, даже узнать банально путь к файлу из uri может быть не так просто. В остальном все как обычно, разве что андроид немного отстает по стандарту, примерно на 1 версию, тот же filesystem только в конце 2020 появился как бета.

Я вот просто не нагуглил билд скриптов для GStreamer на андроид, может у вас локально кто-то сам писал.
609 2067959
>>067792
Ну так я и говорю, что если тебе надо в одну дырку запихивать разнородные функторы, то тогда надо заворачивать. Лямбда тоже небольшой оверхед в обмен на удобство.
function и лямбды хороши для фронта. На бэке в основном указателями на функции оперируют (всякие сишные приёмчики).
610 2067967
>>067959
Где там у лямбды оверхед? Она инлайнится спокойно.
Указатели на функции стоят столько же, сколько std::function, и будут дороже добротно заделанной архитектуры на шаблонах, в которой в compile-time разрешается вопрос, кто где кого вызывает, и по стыкам интерфейсов всё инлайнится и оптимизируется.
611 2067970
>>067967

>Где там у лямбды оверхед? Она инлайнится спокойно.


Как текстовая/бинарная подстановка влияет на скорость выполнения подставляемого кода? Никак?
612 2067971
>>067970
Позволяет компилятору проводить оптимизации. Это решает больше, чем может показаться.
613 2067972
>>067971
А если компилятор не станет лямбду инлайнить из-за её размеров?
614 2067973
>>067967

>Указатели на функции стоят столько же, сколько std::function


Нет
615 2067974
>>067972
У него есть аккуратно заточенные под это эвристики. Если нет смысла инлайнить, то не станет, конечно. Но речь всё-таки о тех случаях, когда станет.
616 2067980
>>067973
Ну пока что это обмен вскукареками, как с моей, так и с твоей стороны.
std::function, я думаю, может оказаться на писечку медленнее, потому что ему ещё надо сходить в таблицу. На практике, учитывая то, как современные процессоры предсказывают переходы, это ещё надо постараться, чтобы производительность просела.
Эта разница меркнет с возможностью заинлайнить, вот что я имел в виду.
617 2067983
>>067980
Я имел ввиду по памяти
По скорости еще проход через кеш может быть (для vtable)
618 2067993
>>067983
Да, и по памяти маленько можно просесть.
Но я лучше память отдам, чем буду оперировать указателями на функцию. Может, где-нибудь это и будет критично, но для нас это нигде, а для сталкивающихся с этим -- известный факт и уже решённый tradeoff.

> По скорости еще проход через кеш может быть (для vtable)


>> ему ещё надо сходить в таблицу

619 2068000
>>067993
Вопрос на собес: можно ли лямбду преобразовать к указателю на функцию, и если можно, то как?
620 2068008
>>068000
operator+() для лямбды без захвата
621 2068010
>>068008
Вы приняты!
622 2068044
>>067983
Кстати, вот я пизжу, что указатели на функции лучше не использовать, а сейчас вспомнил, что сам-то я их использовал, когда visit писал для variadic templates.
Собрал минимальный пример https://gcc.godbolt.org/z/efqj1xnY4
Но в моём случае это было потому, что мне не хотелось тащить <functional>. Я если пишу библиотеки небольшие, стараюсь по возможности не тянуть стандартные хэдеры, так что это оказалось принципиально.
623 2068073
>>068044
Стандартные то почему не тянуть, лул?
Screenshot 2021-06-14 at 19.36.42.png353 Кб, 1286x1742
624 2068081
>>068073
gcc 10.2
Всё-таки есть разница между пятью сотнями строк кода и хуй знает сколькими тысячами.
625 2068086
>>068081
С одной стороны, конечно справедливо...
С другой - все таки свои костыли такая себе тема.

Ждем модуляризированной стандартной библиотеки
626 2068097
>>068086
Некоторые мои костыли мне уже как родные ноги, таскаю их почти в каждый свой проект.
Но, к счастью, некоторые уже отваливаются. В с++20 наконец-то пропала необходимость таскать костыльный span. А некоторые и не отвалятся, например, мой костыль для поиска типов в списке типов.
627 2068121
А чё alignof() возвращает для Int 4, а для char 1, как sizeof()? Он же должен вернуть
машинное слово - sizeof(int) и
машинное слово - sizeof(char) ?
628 2068140
>>068121
Нет, ты не очень понял, что он должен делать.
Вот тут примеры есть https://en.cppreference.com/w/cpp/language/alignof
Выравнивание влияет на sizeof типа, заставляя его быть кратным ему, плюс влияет на организацию памяти включающих его структур.
https://gcc.godbolt.org/z/nzYba76EM
629 2068151
630 2068159
631 2068300
>>067957
А какие проекты требуют вообще плюсов? Я представляю суток только какие-то приложения для стриминга да видеоплееры, ну игры ещё. Интересно в общем, как совмещать работу на плюсах и андроиде.

GStreamer я для своего проекта собирал, по какому-то туториалу. Возможно, они сейчас на другую систему сборки переехали, не знаю. Но помню, что была утилита какая-то, которая сама всё генерировала и собирала, надо было только чуть-чуть что-то в каком-то конфиге прописать, там ещё был скрипт, который знал про различные дистрибутивы линукс, и минт считал убунтой. Может быть это meson, может быть cerbero. В итоге возни было очень мало, и я часа за 4 всё собрал. это было в 2016
В общем, ищи туториалы, вряд ли что-то стало сложнее с тех пор. И собирай лучше на линуксе для начала, потом уже поймёшь как на винде собрать.
632 2068307
>>068300
Все проекты не однодневки где надо конкурировать с такими же однодневками используют плюсы.
633 2068319
>>068300
плюсы нужны там где нужен гигантский перф, либо там, где уже есть дохуя плюсового легаси, либо в системном программировании, с суровой еблей виндового апи\драйверов.

Начинать новые проекты на плюсах практически нигде нахуй уже не надо, если ты не делаешь убийцу постгреса там.
634 2068329
>>068300
У нас кроссплатформ говно, поэтому плюсы. Ну и требования сделать быстро и чтобы работало на любом ведре.
image.png104 Кб, 389x538
635 2068336
>>068319

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


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

636 2068351
>>068336
А кроме как боевые картиночки есть что сказать?

Все бэкенды нагруженные - на го, весь гуй - C#.

Собстно остаются игры, системщина лютая, т.к. не лютая - опять шарп, ну и всякое легаси с qt
637 2068507
>>068351
Го ведь жуткая параша, неужели плюсы с нею не могут конкурировать?

>>068329
Qt/Qml наверное? как 2ГИС

>>068319
Что насчёт компьютерного зрения и нейронок? Читал, что в некоторых задачах надо воплощать нейронки в плюсах ради производительности (а где-то кладут хуй и используют на питоне).

Я это к чему всё вообще. Я думаю, что после плохого эмбеда, где "всего по чуть-чуть и тяп-ляп, с кучей легаси, на мощном железе", надо идти или в нормальный человеческий эмбеддед писать прошивки под железо или специализированный софт (драйвера, сетевые протоколы, мультимедиа), или вовсе на Андроид катиться, чуть-чуть знаком с ним. На финансовые приложения знаний и опыта не хватит, на последней работе развивался только в ширину. Может, кто-то был в похожей ситуации, как выкрутились?
638 2068528
>>068507
У меня был проект с машобом, нейронками и эмбедом. Нейронки, пердоли с картинками, видео и само зрение - С++. Железки С. Фронт - жопаскрипт. Но он долгоиграющий был и стартовал ещё до появления OpenCV. Сейчас там часть бэка переделали на .NetCore. Весь матан остался на c/c++ и его в принципе нельзя трогать, иначе железо не вывозит.
639 2068533
>>068507
С питоном делается в несколько этапов. Сначала пишется рабочая версия на пихоне, потом специально обученные челики портируют код поближе к железу - c++ в сочетании с интринсиками, sse/neon, cuda и т.п.
640 2068555
>>068507

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


Го с точки зрения бизнеса - это охуительный язык. Очень простой, нет никаких заебов, все есть из коробки - просто шлепай код.

Писать на этом я, конечно же, не буду, но прекрасно понимаю почему бизнес форсит на нём писать.
computer-programming-anime-programming-language-thread-anim[...].png83 Кб, 910x996
641 2068592
>>068507
Да, qt qml + opencv. Сам проект вроде как небольшой и простой, но эта кроссплатформа уже заставляет меня выгорать. Я не могу собрать этот opencv ffmpeg + x264 под андроид и никто не может мне помочь. Ад какой-то, не работает просто потому что, ну и я сам нуфаг 1 год опыта, туповат ещё для такого, а дрочат меня с этой задачей знатно, бывает готов уволиться.
642 2068598
>>067823
Чтобы байтоёбствовать с битовыми полями
643 2068599
>>068598
Хм, в капче были велосипеды. Символично.
644 2069046
>>068592
Обычные проблемки зелёных под линуксом. Переработки, выгорание, приступы отчаяния, одиночество (те кто поопытнее стараются в это говно не лезть и тебя избегают).
Выдержишь - сможешь потом в нормальную контору пойти на приемлемые деньги. Дропнешь - не велика потеря. Есть масса занятий за больший прайс.
645 2069089
>>068592

>x264 под андроид


Мне кажется или ты делаешь что-то не так? x264 это софтварный декодер, а на андроидах наверняка есть хардварный
646 2069123
>>069089
Есть, но как к нему достучаться? Через OpenMAX на С писать? Я думал подключить vaapi в ffmpeg и получить аппаратную поддержку, но может это не так работает, раньше никогда не занимался андроидом тем более на таком уровне.
647 2069141
Сколько памяти можно выделить с помощью new? Есть ли там лимит?
648 2069144
>>069123

>Через OpenMAX на С писать?


Это же вроде плюсовый тред, в чем проблема си заюзать? Не джава же.
649 2069145
>>069141

>Есть ли там лимит?


Implementation defined небойсь
650 2069152
>>069144
Да там документации почти нет, не хотел в говно вступать
651 2069184
>>069141
На уровне языка лимита нет, но само собой очень большой буфер за раз ты выделить вряд ли сможешь, в ОЗУ может тупо не найтись достаточно большого непрерывного участка, и будет bad_alloc.
652 2069224
Научник завернул работу (мол я не правильно программу написал) так, что я снова с вами без работы и диплома. Брат предлагает вкатиться в android ndk. Стоит?
653 2069237
>>069224

>вкатиться в android ndk


В него нельзя вкатиться, только вляпаться
654 2069263
>>069237
Там всё настолько плохо?
655 2069268
>>069263
Да просто он нафиг особо не нужен
656 2069272
>>069224
NDK нужен только для суперсерьезных проектов.
Для шлепанья 99% андроидоговна оно не сдалось
657 2069360
>>069152
Ну так это тебя в любом случае ждёт. А с гитхаба ничего не подходит? Там же масса всяких ffmpeg проектов, собирающихся под андроид.

Мимо писавший зрение под малинки, пердуинки и тегры (под ведроид не писал, сорян).
658 2069471
>>069224
Дак по какой дороге надо было ехать?
659 2069482
>>069471
В плане?
660 2069497
>>069482
Хотелось бы узнать решение от научника >>058926
661 2069499
>>069145
Ага, а там как HeapAlloc и система решат. На 64 битах с подкачкой можно дофига
662 2069519
>>069360
У меня собирается сам FFmpeg + opencv на андроид без проблем, а вот добавить в FFmpeg дополнительно либу не могу.
вольфрам построение.png66 Кб, 1366x768
663 2069525
>>069497
У меня другая задача. Кратко, есть одна динамическая система, и научник говорил, что у меня разрыв в верхней синей области. На пике построение с вольфрама. Если интерестно могу нормальное скинуть.
664 2069526
>>069184

>в ОЗУ может тупо не найтись


Если в ОС есть виртуальная память, то она будет выделять место на диске без bad_alloc.
665 2069544
>>069497
Нас учили в школе решать подобные задачи.

Решение такой задачи сводиться к динамическому программированию. Тебе надо построить граф, где каждый узел - развязка, вес рёбер расстояние.
У узла должен быть параметр - наименьшее расстояние от начальной точки. Рекомендую инициализировать их каким-либо максимальным значением.
Дальше, ты первому узлу присваиваешь вес 0. После считаешь вес для всех соседних узлов 0 + длинна дороги. Если она меньше текущей, то задаёшь новую дистанцию. И так обходишь все.
666 2069561
>>069526
виртуальная память тоже ограничена, как буэ
667 2069568
>>069561
Это да, но виртуальная память - это не всегда то, что нужно.
В этих случаях ты не можешь полагаться на bad_alloc.
668 2069627
>>069497
У меня есть решение, но я не научник
669 2069769
Здаров, программисты. После прочтения фака возник вопрос, нужно ли изучать С перед С++? Гугл говорит, что это полезно, т.к. изучение С++ будет легче при наличии какой-то базы знаний полученной из С. С другой стороны, пишут, что при изучении С++ ты и так изучишь С. Ваше мнение?
670 2069772
>>069769
Местные шизики говорят, что ни в коем случае нельзя c перед c++. Можно и нужно.
671 2069830
>>069769

>при изучении С++ ты и так изучишь C


Обязательно изучишь. Но не по книгам про C++, и уж тем более не по какой-то одной отдельно взятой волшебной книжке по C++.

>Гугл говорит, что это полезно, т.к. изучение С++ будет легче при наличии какой-то базы знаний полученной из С


Это половина правды.
Верно также и обратное: зная имея мало-мальский бэкграунд в виде C++, сишку ты усвоишь без особых усилий в необходимом для плюсовика объеме.

>>069772

>Можно и нужно.


Хотел бы я, чтобы это было так. Но вот на практике если, с какой именно книги начинать изучение C?
K & R - он совсем не для нубов, и вообще это скорее задачник, чем учебник.
У Праты хорошая книжка по сям, но 900 страниц в качестве введения к 1100-страничному Липпману, или к 1300-страничному Страуструпу - это перебор.

>>069769

>Ваше мнение?


Ни до, ни после, а где-то между.
Лично я читал K & R + отдельные главы из Праты после Липпмана. Не могу сказать, что это самый прямой и быстрый путь, но вопросов при дальнейшем изучении C++ стало гораздо меньше.
672 2069850
Что такое карутина?
673 2069898
В прошлый раз мне так и не ответили, а я ждал. Так как же стать хакером, чтобы взламывать США? Я слышал что c++ подсобны в этом деоле
674 2069910
>>069898
Изучай архитектуру ZX Spectrum, благо сейчас литературы полно, в отличии от 90-х. Пробуй программировать в машинных кодах. Потом напишешь свой компилятор С++ для Спектрума и уже на нём будешь учиться взламывать чего ты там хотел.
В идеале лучше купить настоящий железный Спекки, но на первое время пойдёт эмулятор на ПК.
675 2069913
676 2070352
>>069830

>K & R - он совсем не для нубов


Чем тебе K&R не угодил? Там все с самых азов, проще и быть не может.
znbvc-e.png5 Кб, 800x602
677 2070361
>>069910

>ZX Spectrum


Чел...
678 2070409
>>070352
Мне-то он угодил, но после Липпмана. Какой опыт имею, тем и делюсь.
Полный снуль, я так думаю, если даже и осилит, то не извлечет максимум пользы.
008-Kung-Fury-review-photo-screen-film-full-recenzent.jpg1,3 Мб, 1920x1080
679 2070559
>>070361
Что тебе не нравится? Многие начинали путь программиста со Спектрума.
Или ты думаешь, что напишешь virus.exe и он гарантировано выполниться на военном компьютере США? Там может быть совершенно иная архитектура.
Так что иди и учи Спектрум. Без него крутым хакером тебе не стать.
680 2070712
Как читать до конца файла? while (!file.eof()) не работает
681 2070759
>>070712
перематываешь на конец, смотришь tellg, и дальше читаешь столько байтов.

Ну если ты иостримы юзаешь
682 2070767
Ну что, анончики. Можете меня поздравить. Я устроился бэкендщиком на C++. Надеюсь, не пидорнут с испытательного, все таки я не самый тупой человек, хоть и сижу на дваче.
683 2070779
Какие проекты нынче принято писать c++ джунам для портфолио? http сервер/клиент, что ещё?
684 2070784
>>054128
Лол. Помню, когда Паскаль в школе учили, только псевдокод на кириллице проходили, и я дома открыл блокнот, написал тот же псевдокод, только с переводом на инглиш, переименовал .txt в .exe и допускал, что взлетит.
image.png38 Кб, 160x120
685 2070788
>>054654

>шрифт 12x16

686 2070809
>>058324
>>058326
проиграл
687 2070822
>>070779
Поддвачну вопрос. Вкатывальщики в бэкенд пилят всякие ресты/круды для интернет-магазинов, фронтендеры клепают разную хуйню на реакте. А что делают для вката в плюсы? Какой топ популярных проектов? Игры на SFML? Чатики на Asio?
688 2070826
>>060182
Дык SDL это же не API а фреймворк, там OpenGL юзоецца
689 2070829
>>070822
Какой-то местный чувак писал, что его заставили накодить TCP сервер.
690 2070837
>>070352
По-моему пик гораздо проще и разжёваннее для нубов, только хуй найдёшь отсканированную русскую версию, а бумажную более не издают и не купить. Есть на английском, но новые издания под другим названием - Teach yourself C hour a day, Peter Aitken, Beadley L. Jones. Видимо, "за 21 день" стало совсем зашкварно и никто не покупал.
5-8459-0492-7.jpg9 Кб, 150x220
691 2070838
692 2070857
>>070838
Фулл хд
1080п
693 2070866
>>070838
Картинка огонь. Где нашел в таком крутом качестве?
694 2070923
>>070837
Лол, я и видел эту книгу где-то. Не стал читать из-за названия, подумал что хрень.
1024px-DMIBMS360.jpg111 Кб, 1024x683
695 2070931
>>069910
>>070559
Нет, ты не прав. Начинать нужно с IBM/360.
Спектрум какой-то слишком хипстерский.
696 2070937
>>070931
Это БЭВМ для всяких универов/предприятий. Первый доступный для обычных людей 8-разрядный компьютер был именно Спектрум. У нас в 90-е тоже именно клоны Спектрума стали первыми компьютерами для многих семей. Их даже выпускали с маркировкой БК (Бытовой компьютер).
697 2070988
Eclipse c++ возникла ошибка посмотрите файл протокола
При обновлении eclipse перестал запускаться выдавая ошибку. Что делать?
698 2071013
Что за дауны отредактировали статью по С++ в русскоязычном вики?
Раздел "Результативность"
https://ru.wikipedia.org/wiki/C++

>Ненадёжность продукта


>Неоправданное обилие побочных эффектов в сочетании с >отсутствием контроля со стороны системы времени исполнения >языка и слабой системой типов делает программы на C++ >подверженными непредсказуемым фатальным сбоям


В англоязычном вики подобного вброса даже и близко нет.
Что это за диверсия, кто протащил такое говно на вики?
699 2071016
>>070866
>>070857
На официальном сайте издательства по-моему. Нормальную картинку не нашёл, держите фото потрёпанной никому больше блядь не дам свои книги.
700 2071018
>>069830

>с какой именно книги начинать изучение C?


Руководство полного идиота по программированию Богатырева:)
701 2071024
>>070767
ДС? Какая зп? Что именно будешь делать?
702 2071038
>>070837
За 21 один день нереально выучить. А вот если предположить что 21 день это 504 часа нон стоп работы, то чему то научишься.
1623917843505.png3 Кб, 386x137
703 2071042
>>071013
Согласно истории правок это дело рук шиза Arachnelis
704 2071052
>>070759
спасибо
705 2071499
>>070822
Несколько трэдов назад был немаленький список проектов. Но я тогда занимался алгоритмами и не заскринил. Может кто-то сохранил тот список?
706 2071518
>>071499
Этот что ли? >>1641620 (OP)
707 2071590
>>071518
Нет, это было в c++-трэде, анон спросил, чего бы написать джуну, и было много ответов. Я запомнил 3d-рэндерер, текстовый или графический редактор и эмулятор старого процессора. Давно это было, в конце прошлого года может.
image.png23 Кб, 1088x414
708 2071619
>>071590
Кажется, нашёл, спасибо.
https://2ch.hk/pr/arch/2021-04-02/res/1796605.html#1801064 (М)
709 2071696
>>071016
Норм так потрепала жизнь твою книжку.
Чем знаменита?
Лучше Праты?
710 2071726
Сап, котаны.

Фуллстак-джаваскрипт-смузихлеб на связи. Хочу углубиться в дыижек js и ноду, но забыл весь c++. Есть чего, что бы быстро перейти с другого языка?
711 2071754
>>071696
Книжка у нас совсем не заменита почему-то, да и издавалась давно. Я давал её почитать одногруппникам, потому что перевод негде было достать.
Насчёт Праты не знаю, не читал. Учился по этой книге сам, пытался ещё какое-то древнее издание K&R читать. Давал эту книжку другу, полному нубу, который в универе по ней учился, он всё понял в отличие от K&R, где ему показалось сложно и непонятно, примеры ещё там почему-то были сложны вроде бы. Кому-то тоже давал почитать, человек потом скачивал английский скан и ему тоже зашло. В общем, книга повидала многое, лол. Может, отсканировать как-нибудь, но насчёт авторских прав не уверен, засудят ещё.
712 2071758
>>071696
А сама книга в общем поделена на дни, каждый из которых примерно 8 часов, и там различные темы подробно рассказаны, как работает printf и прочее. Всюду всякие схемы, изображения с аналогиями в виде вложенных папок и прочее, что и самый нуб всё поймёт. В конце книги говорится, что си это круто, но дальше надо изучать плюсы, C# или джаву, лол. И даны простые введения в эти языки.
image.png244 Кб, 710x692
713 2071803
>>071024
Украина, и даже не Киев. Зарплатулечка... ну, чтоб не деанониться, скажу, что на испытательном дают около 600-700 долларов, и это я реально хуй без опыта практически (фронтенд в одной максимально нишевой хипстерской конторе тут мало релевантен, словом вчерашний студент). Кодовая база очень годная, современные кресты такие шо прям ух бля, и контора не аутсорс, а продуктовая, короче, охуенно все. Категорически никаких овертаймов и прочего говна, вот, а чем по сути занимаемся не скажу, потому что есть шансы спалиться. Но если абстрагироваться от предметной области, то

>Что именно будешь делать?


юзать API разных существующих сервисов, аутентифицируясь с токенами определенных юзеров (которые и не против за это платят) и с добываемыми данными вещи делать жутко пиздатые да дела творить страшным образом охуеные. Как-то так.
714 2071852
Аноны, подскажите, я по роду занятий не программист и плюсы изучал для удовольствия и каких-то своих проектов. Другие языки не щупал, кроме питона который мне не понравился. Плюсы же мне вполне вкатывают и я бы так и изучал их, но пришло время реализовывать пытаться какие-то полезные вещи, но времени и сил количество ограничено и тут может настало время сменить язык? На сколько в реальности сложнее и дольше что-то сделать на плюсах, по сравнению с другими языками? Действительно ли разница на порядки? В самом начале пути я слышал про ужасающую работу с памятью в плюсах и она тут действительно, похоже, особенная, но мне не понятно откуда столько о её сложности, ведь все эти выделения памяти обернуты переобертаны в разные классы, есть смарт поинтеры, если они и понадобились. Может я не дошел до этапа ужаса? Хотя сама специфика ооп подсказывает что дальше его не будет. Но ооп то работает не только в структурах данных, а везде, во всех сферах, так как же код для плюсов может быть ощутимо дороже чем для других языков повыше уровнем? Всегда библиотеку низкого уровня можно заменить библиотекой уровня повыше и наоборот. Вот к примеру, чем сделать программу по обработке и манипуляциям с картинками дороже, если делать на плюсах? Или если сервер сделать? Я конечно точно не знаю, но уверен, что на PHP нету указателей для работы с памятью, зато есть какая-то встроенная функция или операция, чтобы делать специфичную для веба вещь, но что мне мешает эту вещь добавить в качестве класса, а указателями просто не пользоваться? А может и пользоваться, если будет полезно, ведь плюсы дают наоборот больше возможностей чем PHP, которые можно и не использовать при надобности, абстрагировавшись от них ООП и получив в итоге аналог PHP по затратам в кодопроизводстве. Может под такими вот дорогими плюсами подразумевают си подобный код, но как-то это не совсем справедливо, ведь это специфика области где его пишут, а обзывать все плюсы дорогими только из за возможности писать такой код тоже нельзя. Так то мне плюсы очень нравятся, их синтаксис, устройство, не хотелось бы уходить. Надеюсь на вашу помощь!
714 2071852
Аноны, подскажите, я по роду занятий не программист и плюсы изучал для удовольствия и каких-то своих проектов. Другие языки не щупал, кроме питона который мне не понравился. Плюсы же мне вполне вкатывают и я бы так и изучал их, но пришло время реализовывать пытаться какие-то полезные вещи, но времени и сил количество ограничено и тут может настало время сменить язык? На сколько в реальности сложнее и дольше что-то сделать на плюсах, по сравнению с другими языками? Действительно ли разница на порядки? В самом начале пути я слышал про ужасающую работу с памятью в плюсах и она тут действительно, похоже, особенная, но мне не понятно откуда столько о её сложности, ведь все эти выделения памяти обернуты переобертаны в разные классы, есть смарт поинтеры, если они и понадобились. Может я не дошел до этапа ужаса? Хотя сама специфика ооп подсказывает что дальше его не будет. Но ооп то работает не только в структурах данных, а везде, во всех сферах, так как же код для плюсов может быть ощутимо дороже чем для других языков повыше уровнем? Всегда библиотеку низкого уровня можно заменить библиотекой уровня повыше и наоборот. Вот к примеру, чем сделать программу по обработке и манипуляциям с картинками дороже, если делать на плюсах? Или если сервер сделать? Я конечно точно не знаю, но уверен, что на PHP нету указателей для работы с памятью, зато есть какая-то встроенная функция или операция, чтобы делать специфичную для веба вещь, но что мне мешает эту вещь добавить в качестве класса, а указателями просто не пользоваться? А может и пользоваться, если будет полезно, ведь плюсы дают наоборот больше возможностей чем PHP, которые можно и не использовать при надобности, абстрагировавшись от них ООП и получив в итоге аналог PHP по затратам в кодопроизводстве. Может под такими вот дорогими плюсами подразумевают си подобный код, но как-то это не совсем справедливо, ведь это специфика области где его пишут, а обзывать все плюсы дорогими только из за возможности писать такой код тоже нельзя. Так то мне плюсы очень нравятся, их синтаксис, устройство, не хотелось бы уходить. Надеюсь на вашу помощь!
715 2071947
>>071852
Ебать эссе. Ты же гумунитарий, инженерное дело совсем не твоё.

>Вот к примеру, чем сделать программу по обработке и манипуляциям с картинками дороже, если делать на плюсах?



Вот так выглядит код для вычисления гистограммы и её отрисовки:
C++ (47 строк, 2200 символов):
https://docs.opencv.org/4.5.2/d8/dbc/tutorial_histogram_calculation.html
Python (10 строк, 281 символ):
https://docs.opencv.org/master/d1/db7/tutorial_py_histogram_begins.html

Насколько дольше писать на c++ и потом отлаживать до рабочего состояния - оцени сам.
716 2071953
>>071947

>C++ (47 строк, 2200 символов):


>https://docs.opencv.org/4.5.2/d8/dbc/tutorial_histogram_calculation.html


Что несешь, поехавший?
По первый ссылке есть код на трех языках, включая питон.
И на питоне там кода не меньше, чем на плюсах
717 2071986
>>071953
И чё и чё? Напиши на плюсах в 10 строк (matplotlib и numpy сичтай std плюсовый). Если не уложишься - обтекай.
718 2071990
>>071986
Ты дебил?
Там код на плюсах и на питоне приведен, и на питоне это далеко не 10 строк.
719 2071994
>>071990
Открой 2 ссылку.
Ещё раз: нужно загрузить картинку, посчитать гистограмму и нарисовать её. Ссылка 1 - с++ 50 строк, ссылка 2 python - 10 строк.
720 2072000
>>071994
Код на C++ тоже можно завернуть в пару функций и будет также читабельно, как и на питухоне.

Это на единичном примере кажется преимуществом, что в библиотеке питухона оказалась подходящая к случаю функция.
На деле же, вообще говоря, если у тебя библиотека на все случаи жизни, то и учить ее тебе всю жизнь придется.
Или гуглить и разбираться, когда приспичит. А это не сильно проще, чем написать пару функций по 20 строк самому.
721 2072001
>>072000
Ты будешь со мной пол часа препираться или наконец напишешь в 10 строк?
722 2072002
Вообще не понимаю этого дроча на количество строк.
В 10 ты строк решаешь или в 10000, твой рабочий день все равно всегда будет 8 часов.
Если ты не продукт-овнер, тебя это вообще ебать не должно.
723 2072003
>>072001
То не я был.
724 2072004
>>072000
Я писал код с opencv и на ++ и на пихоне. И разница вот примерно такая же, как в этом простейшем случае. Хотя opencv один и тот же.
725 2072005
>>072002
Как это меня ебать не должно? Я за 10 минут напишу 20 строк и потом пойду эйчарок мацать за жопы. А ты поздно вечером оторвшь жрпу от стула и поползёшь домой один разогревать вчерашние пельмени.
726 2072006
>>072005
Будучи на вакансии питухонщика, твой перформанс никто никогда не будет сравнивать с крестобоярами.
727 2072007
>>072006
Бояре это те, у кого зп выше, а не борода гуще. Мы не в 18 веке.
728 2072008
>>072007
Бояре - это те, кому не надо выслуживаться перед начальством, чтобы с коллегами интрижки покрутить.
729 2072011
>>072008
О, я тогда, получается, крестобоярин!
730 2072059
>>071994
У тебя>>071947
Лол, блять. Это заслуга не питухона, а сишных либ типо numpy.
Какие же питхоблядки дебилы, пиздец просто.
Юзают либы, написанные на Си и крестах и при этом кукарекают что у них меньше строчек, чем на С++.
731 2072089
>>071947
Что мне мешает взять ту же библиотеку и написать такой же код? Это же не из за языка такая разница. К тому же эта библиотека, походе, на плюсах и написана
732 2072219
Решил вкатиться для быстрых научных вычислений (а куда еще вкатываться, альтернатива только C и Fortran). Не с нуля, знаю Python. Вопрос: какой учебник брать? Липманн, Прата или Страуструп (который Programming: Principles and Practice Using C++)?
733 2072226
>>072219

>какой учебник брать?


В смысле, какой учебник брать по основам языка? Потом все-равно буду читать специализированную литературу по вычислениям для научных работников и инженеров.
734 2072266
>>072219
Я как аноним №2072265 советую тебе Липманна
735 2072380
>>072266
Спасибо, наверное так и поступлю. Если что, потом догонюсь "A Tour of C++" Страуструпа.
736 2072427
>>072059
Ну охуеть теперь. Заслуга java/c#/python etc это вообще не их заслуга, ведь виртуальная машина, сборщик мусора, sdk и прочее на на них написаны... Пиздец ты тупой.
Тот же numpy включает в себя BLAS, который написан на Fortran. Этот BLAS плюсовиками тоже активно используется и никого это не смущает (хотя кода получается зело больше).
Ну и самое главное, почему плюсовики для себя не написали такого удобного и лаконичного инструмента как для питона, м? Сколько там кода надо нахлобучить, чтобы с помощью qt/sfml/glut/mfc сделать окошко и нарисовать в нём ломаную линию?
737 2072439
>>072219
Для вычислений плюсы особо то и не нужны. В том плане, что всякие шаблоны, лямбды, stl и прочие move semantics там негде использовать. Польза будет только для написания api верхнего уровня к твоим числодробилкам.
738 2072467
>>072439
Тем не менее, дохуище научно-инженерной литературы посвящено именно С++. На курсере вот курс приглянулся по методу конечных элементов с С++. Если надо будет что еще ускорить, перекачусь в С (или буду использовать всякие приблуды типа CUDA). Фортран-то учить смысла не вижу.
А что еще есть? Хочется к Пайтону выучить еще какой-то язык, а какой - хз.
739 2072617
>>072427

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


Потому что на плюсах редко встречается задача быстрого макакинга гистограмм?
https://github.com/dpilger26/NumCpp
https://matplotlib-cpp.readthedocs.io/en/latest/
740 2072665
>>072427

>Ну и самое главное, почему плюсовики для себя не написали такого удобного и лаконичного инструмента как для питона, м? Сколько там кода надо нахлобучить, чтобы с помощью qt/sfml/glut/mfc сделать окошко и нарисовать в нём ломаную линию?



Берёшь рут и рисуешь гистограммы из плюсов. Написано на плюсах.
741 2072714
На собесе скинули таск

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Pine” instead of the number and for the multiples of five print “Apple”. For numbers which are multiples of both three and five print “PineApple”.

Памагите!!
742 2072717
>>072714
Это же fizzbuzz блять.
743 2072718
>>072717
Что блядь?
744 2072759
>>072714
Делаешь короче очередь с приоритетом, где элементы сразу встают куда надо, потом её считываешь и пишешь соответствующие слова для соответственного приоритета.
745 2072770
>>072714
Почему не по-русски?
746 2072780
>>072714
Тут без имплементации конечного автомата не решить, сложная задача.
Сначала прочитай теорию
https://ru.wikipedia.org/wiki/Конечный_автомат
747 2072786
>>072467

>Фортран-то учить смысла не вижу.


Фортран кстати топчик.
Пориджи не знают, олды не помнят.
748 2072797
>>072714
А причем тут кресты? Надо сделать на шаблонах в компайл тайме?
15043682116770.jpg191 Кб, 1279x720
749 2072813
С помощью каких либ можно получить апаратную поддержку кодирования на андроиде? Пробовал FFmpeg, но он програмно кодировать начал, или там нужно как-то указать, что я хочу использовать mediaCodec для кодирования.
Вроде как на NDK ещё можно написать, но выглядит муторно, я бы посмотрел пример, если у кого есть.
Ещё думал над тем, чтобы написать(спиздить) запись видео на жаве и перебрасывать данные через jni вызовы.
750 2072837
>>072467
Я к тому, что для чистого FEM тебе хватит ~15-20% от того, что предлагает современный c++ (с++11 хватит вообще для всего).
Для основной задачи - решения слау - хватит и C++98 и C и Fortran (причём он удобнее, хотя бы потому, что в нём есть встроенные типы векторов и матриц). Оптимизация это вообще отдельная тема, слабо связанная с каким-либо языком.
751 2072883
>>072617
>>072665
Ещё раз поясняю для тупых.

Чтобы подключить и инициализировать стороннюю библиотеку в python достаточно одной строчки:
import libname as name

Чтобы это сделать в плюсах, надо учесть calling conventions, mangling, под каждую платформу делать свою реализацию, подключать портянку системных заголовков, писать код на WinApi с LoadLibrary, портянкой из GetProcAddress и всё это сверху обмазывать перехватом и обработкой ошибок.
752 2072894
>>072883
Да и ещё, всё что загружено из библиотеки, неплохо бы завернуть в структуру или хотя бы namespace, чтоб говном не пахло.
753 2072934
>>072813
Зайди на сайт какого-нибудь вендора, допустим Самсунга, и почитай, что он тебе предлагает в качестве кодека. Не скажу за андроид, но для разных эмбедов хардварный api надо заворачивать в код, встраивать этот код в ffmpeg, а затем компилить всё вместе. Даже Nvidia говорит, что вот для вас мы сделали интеграцию с gstreamer, а с ffmpeg ебитесь сами.
754 2072978
>>072439

>всякие шаблоны, лямбды, stl и прочие move semantics там негде использовать.


Например, в boost math все это есть.
Сам ты может и не будешь шаблоны городить, но как минимум нужно шарить, чтобы быть в состоянии читать справку и исправлять свои ошибки.
755 2072979
>>072883
Скорость подключения библиотек - решающий критерий для хеллоуворлдщика.
756 2073061
>>072978
Для каких-то местечковых вспомогательных задач boost::math может быть и сгодится, но чтобы писать какую-то долгоиграющую математику - едва ли. Шаблоны в большинстве либ дальше примитивов типа matrix<M,N,T> и простеньких контейнеров типа std::array не выходят.
757 2073099
>>071803
Ты на какой стэк вкатился?
Какие задачи на собеседовании были?
758 2073155
>>072883

>Чтобы это сделать в плюсах, надо учесть calling conventions, mangling, под каждую платформу делать свою реализацию, подключать портянку системных заголовков, писать код на WinApi с LoadLibrary, портянкой из GetProcAddress и всё это сверху обмазывать перехватом и обработкой ошибок.


Поясняю для тупого. То, что ты тут перечислил это спермопроблемы. На сперме и с питоном туго.
759 2073186
>>073099
Сторонние либы используются крайне аккуратно. Все свое. Как-то так. А на собесе была задачка уровня laba1.cpp, я аж проиграл. Не знал, как изъебнуться, сделал с максимально выразительным использованием средств STL, сделал вдобавок программулину генератор тестового ввода, которая получилась больше самого решения задачи, и Makefile положил вместе с параметризированным скриптом для запуска всей этой байды. Думали на trainee рассматривать, но после живого разговора "повысили" до джуна сразу. Фублять, фунахуй, верните мне мои нормальные термины "стажер" и "младший разработчик"!
760 2073197
>>071803
Бля, я в киеве с более чем годом опыта работы получаю 700$, это ещё учитывая повышение недавнее, желание послать нахуй контору растёт с каждым днём.
762 2073205
>>072883
vcpkg install opencv, хватит сидеть в 98 году
763 2073215
>>073155
Нет, ну есть ещё 5 способов подключить либу в c++ (сомневаюсь, что ты хотя бы 3 сможешь назвать). Впрочем, твоё изложение доводов и так больше похоже на мычание.
764 2073217
>>073205
Если бы ты им хотя бы раз пользовался, то никогда бы так не делал.
765 2073224
>>073217
Кем пользовался? Вцпкг? У нас оно в проде на двух проектах, и еще в соседних командах внедряем. Что еще расскажешь?
766 2073230
Стек: С++ .
Технологии: Qml, Qt, Opencv, опыт с Android, немного работы с embedded(оборачивал их С апи в более высокоровневую абстракцию)
Английский на уровне чтения тех докум.
1.5 года опыта.

На сколько стоит расчитывать?
767 2073232
>>073230
ну в ДС тыщь 100-120
768 2073235
>>073232
Киев
769 2073236
>>073235
ну посмотри чо там на ДОУ
770 2073239
>>073236
ДОУ говорит, что кабанчик недоплачивает мне(
771 2073241
>>073239
ну значит пора менять работу.
Лучший способ получить больше денег - сменить работу
772 2073243
>>073224
Практически все собирают кастомный opencv. Тянуть его с внешних реурсов пакетником или докером просто бессмысленно.

Если я напишу vcpkg install libname, то она прям сразу будет динамически подключаться к моему проекту? Или ты пиздишь и надо сначала руками написать необходимый код?
773 2073244
>>073239
Ну если учесть, что ты 2 недели собирал ffmpeg, то он тебе переплачивает.
774 2073245
>>073243
https://github.com/microsoft/vcpkg/blob/master/ports/opencv/vcpkg.json
Там дохуя рецептов как его собрать. И с кудой, и с ффмпегом, и с хуюдой, и с залупой.

> Если я напишу vcpkg install libname, то она прям сразу будет динамически подключаться к моему проекту?


Если прописано integrate install - то да, во всех проектах.
Если не прописано (а оно не должно быть прописано, если у тебя разные проекты) - то 2 строки кода на проект 1 раз.
775 2073246
>>073244
Возможно, без готовых билд скриптов соборки либ на андроид трудно даются
776 2073247
>>073245
Кастомный это инжект собственного кода, а не наборы ключей.
777 2073248
>>073247
Если ты настолько суров - то всегда можно сделать патч и его апплаить при сборке как мы в нескольких 3рдпати либах делаем
778 2073249
>>073248

>апплаить


Средствами вцпкг само собой, т.е. это будет vcpkg install opencv-tvoi-lolcustom
779 2073250
>>073249
Вообще мы не средства дистрибуции обсуждали, а механику подключения рандомной либы к проекту. То, что нужно сделать руками задолго до создания пакета.
780 2073251
>>073250
ну, ВЦПКГ, да? 1700 рандомных либ подключай-не-хочу. Лучшее, что случалось с С++.
781 2073252
>>073251
если говорить прям про РАНДОМНЫЕ ГОВНОЛИБЫ, которые у тебя только в бинарях + хедерок или .def\.lib - то там все очень хуево, и так не надо делать.
782 2073253
>>073246
Чё ты там всё страдаешь. Работай работу, ищи где зп больше.
По твоей задаче будет ещё масса приключений. Твоя софтина будет работать с большим количеством разных камер. И проблем будет просто гора на всех уровнях (ffmpeg не может прочитать пакет, кодек не может распаковать, пакеты битые, пакеты пропавшие, пакеты китайские, мало памяти, мало cpu, конвертации с потерями, кривая калибровка камеры, потребности в коррекции/осветлении/усилении контраста и какой-нибудь фильтрации кадров и т.д.).
783 2073254
>>073253
С чего ты взял, что я работаю с камерами?
784 2073255
>>073254
Ну довольно много устройств на android имеет встроенную камеру.
Если ты собираешься видео с экрана захватывать, то я тогда хз зачем тебе ffmpeg понадобился.
785 2073256
>>073255
Потоки с тырнета приходят, ffmpeg их захватывает.
786 2073258
>>073256
Если это потоки с внешних ip камер, завёрнутые в rtp/rtsp пакеты, то все проблемы сохраняются.
787 2073259
>>073235

>Киев


Отправь мне резюме: testdevice.2020.11.13 собака гмыло
788 2073262
>>073259
Это галера. Его тут уже обоссывали, но он всё никак не успокоится.
789 2073265
>>073262
А что не галера?
790 2073500
>>073186
Занимаешься win api? Какие источники можешь посоветовать?
791 2073532
>>073500
Лично я на своем бэкенде точно винды не коснусь, а фронтовики там какой-то десктопный клиент только поддерживают, но не модернизируют, как под браузер и смартфоны.
image.png6 Кб, 505x78
792 2073990
изображение.png7 Кб, 418x100
793 2074011
>>073990
Ты точно выбрал правильный шаблон проэкта при создании?
Прикол в том, что для виндовс-приложения простой main() в качестве точки входа не катит.
794 2074021
>>074011
Не понял про шаблон. Если ты имеешь в виду выбор при создании проекта, то я выбрал пустой проект. Дополнение с пика установлено. Код полностью скопированный с сайта, ну и соответственно в нём не main а wWinMain.
image.png37 Кб, 832x325
795 2074045
>>074021
Вот тут выстави, что это шиндошс, а не сосноль
796 2074063
>>074045
Спасибо помогло!
797 2074100

>>>2074021


Ты скопипастил винмайн, а линковщик исходя из настроек проекта искал обычный main.
798 2074330
Почему у С++ нет своего логотипа-зверька?
799 2074386
>>074330

>иди своей дорогой сталкер

800 2074421
Что лучше юзать QTime/QDate/QDateTime или std::chrono в кутешном проекте?
с++ hero.png275 Кб, 700x500
801 2074478
802 2074492
>>074421
кутишные классы в разы мощнее, чем хроно
803 2074508
>>074492
Помойму наоборот. Как на qt выразить std::chrono::steady_chrono?
804 2074665
>>074508
нахуя тебе steady clock конкретно? Все нормальные операции с датой\временем qt делает либо так же, либо лучше. Учитывая что С++ в дату вообще не умеет пока (Какие в С++20 потуги были, не смотрел)
805 2074721
Стоит ли учить Qt (Widgets, QML) в 2021 году?
1624203965418.png163 Кб, 1024x614
806 2074723
image.png3 Кб, 301x64
807 2074734
>>074721
Стоит. Это не десктоп умер, а веб сильно разросся, из-за чего на его фоне кажется, что остальные технологии умирают.
809 2074837
>>074665
чтобы произвести действие через Х часов, даже если в процессе юзер переставит дату
810 2074917
>>074837
QElapsedTimer

>immune to time adjustments, such as the user correcting the time. Also unlike QTime, QElapsedTimer is immune to changes in the timezone settings, such as daylight-saving periods.

811 2074947
>>074721
Nyet.
Даже на одном проекте может быть несколько UI. А вообще оптимальный ui это web. Его иногда отдают на аутсорс, чтобы получить красивый дизайн и юзабилити.
Ну не может гречнеый c++ программист родить нормальный UI хоть на Qt хоть на чём, а кроме гречневых на Qt никто не пишет.
812 2074955
Как эффективно в QT выводить 2D-графику? Мне нужно выводить динамически изменяемый массив пикселей в прямоугольный участок в окне. Не делать же что-то типа:
for(int y=0; y<SIZE_Y; y++) {
for(int x=0; x<SIZE_X; x++) {
painter.setPen(QPen(get_colorvideomap(x,y),1);
painter.drawPoint(QPointF(x,y));
}
}
813 2075142
>>074955
Рисуешь картинку где-то в буфере, и потом за 1 draw call ее выводишь
814 2075146
>>074955
можно поебаться с qopenglwidget, работать будет быстрее всего остального
815 2075167
>>074955
QImage::scanLine / QImage::bits

>>075146

>можно поебаться с qopenglwidget, работать будет быстрее всего остального


this
ну а если QML, то можно с scenegraph'ом потрахаться
816 2075188
>>075167
А ещё можно dx контекст создать. С ним трахи в культи более натужные.
817 2075196
>>074955
Проще всего для тебя будет рисовать в буфер и свапать его с буфером виджета.
818 2075634
>>074734
Какие сейчас есть десктопные проекты, которые выгоднее делать на Qt, чем на вебе? Про безотказный эмбеддед понятно, что там веб слишком опасно использовать, и там только Qt или самописные библиотеки.

>>074947

> Ну не может гречнеый c++ программист родить нормальный UI хоть на Qt хоть на чём, а кроме гречневых на Qt никто не пишет.


Может, причём хоть на GTK, если ему всё нарисует и напишет дизайнер.
819 2075678
>>075634

>Может, причём хоть на GTK, если ему всё нарисует и напишет дизайнер.


А в чём макеты дизайнер будет делать? Игроделы делают целый пайплайн, чтобы контент от дизайнера в игру попадал. С Qt примерно такая же история. Web самый дешёвый в этом плане способ. Из минусов вёба - скорость и, наверное, безопасность.
820 2075707
>>075634
Песочница браузера не даст реализовать многих вещей, но а так я соглашусь с тем что в вебе будет все больше и больше, а потом, наверное, вообще всё.
821 2075731
>>075634

>Какие сейчас есть десктопные проекты, которые выгоднее делать на Qt, чем на вебе?


Тупо все. Электрон - полная параша
822 2075752
>>075731
гречневый спок
823 2075833
>>075678
Технически это выглядит так. Дизайнер создаёт макет в каком-то продукте от Adobe, по-моему, Adobe XD, потом всё экспортируется в интерактивную веб-страницу, где можно навести на нарисованную кнопочку или скроллбар мышкой и увидеть её цвет, расстояния до других элементов и тому подобное. Программисту остаётся только создать всё точно так же, как на макете.

Насчёт дешевизны веба согласен, какие-то вещи там уже оптимизированы, и какая-нибудь графическая утилита, состряпанная на коленке на реакте, будет работать гораздо лучше, чем на Qt, где ещё придётся возиться с многопоточностью, чтобы не тормозило. И анальные пляски с deleteLater().

И тем не менее, вопрос остаётся открытым. В каких всё-таки сейчас оправданно применяется Qt и стоит ли его учить ради таких проектов, много ли их. Пока только 2 мнения, одно за изучение, другое против.
824 2076037
>>075731
Как в вебе выводить массив пикселей на экран? Допустим я хочу написать эмулятор старой 8-разрядной ЭВМ (к примеру, ZX Spectrum) и мне надо делать отображение области памяти на экран.
825 2076040
>>076037
HTML5 Canvas
826 2076064
>>075833
Используется там, где и всегда - многокнопочный десктоп (фотошопы, кады, работа с аудио/видео), транспортный эмбед (приборные панели авто, самолётов и прочего), там где есть требования к открытому коду (проекты для силовиков и гос органов), ну и всякое легаси.
В многокнопочном десктопе у qt слабые позиции в сравнении с wpf.
Вакансий на qt в целом мало, если откидывать всякие гос. конторы и легаси проекты.

>Программисту остаётся только создать всё точно так же, как на макете.


Это вёрстка и это очень далеко от того, чем с++ программист обычно занимается. Дизайнеры с qt практически не знакомы.
Чтобы дизайн можно было нормально натягивать и оперативно исправлять, приходится писать целый набор скриптов и утилит (хотя экспорт из фотошопа в qt вроде как имеется).
827 2076073
>>076037
Так же, как и получение видео в браузере от ip или web камеры. Рисуешь в буфер, жмёшь в jpg и отправляешь по http в браузер. Гугли пример mjpeg over http на c++.
828 2076187
>>076064

> многокнопочном десктопе у qt слабые позиции в сравнении с wpf.


Это почему?
829 2076198
Шарпобляди соснули с проглотом.
830 2076216
>>076073
И какая там будет интерактивность? В Спектруме отрисовка экрана шла с частотой 50Гц.
831 2076218
>>076198
два два ч двачу двачую!!!!!
832 2076329
>>076216
Ты путаешь кадровую частоту приложения/игры и частоту обновления экрана телевизора/монитора (как раз во времена Sinclair телеки работали на частоте 50hz).
Игровой fps будет зависеть от того, насколько быстро ты будешь делать рендер нового кадра. На стороне браузера просадок не будет.
833 2076349
>>076187
Потому что windows это микрософт, wpf это микрософт и visual studio это тоже микрософт. Соответственно инструментарий максимально заточен на доступ ко всем подсистемам и ресурсам винды (меньше кода надо писать, больше полезных инструментов).
На C# быстрее разработка и меньше жопных багов типа утечки и порчи памяти.
834 2076356
>>076349

> Потому что windows это микрософт, wpf это микрософт и visual studio это тоже микрософт.


А MSVC - это так, GNU.
835 2076370
>>076356
Это часть visual studio.
836 2076373
>>076370
Нет.
837 2076383
На Windows 8 (не путать с 8.1) ставится только Visual Studio 2013, а новая 2019 не ставится. Хотя вот на Windows 7 таких ограничений нет.
838 2076398
Почему так получается, что сначала копипастный код на свежем проекте из пик 3 работает, потом я пишу пик 1, вроде как просто корректирую код, но ни мой отредактированный, ни заново вставленный из пик 3 после этого уже не работает. Ошибка на 2 пике. И это не в первом проекте такое. И можете прояснить момент с UpdateWindow(hWnd); Его в одном коде не пишут, в другом пишут. Насколько я понял, она нужна для срочной отрисовки window's update region, потому что без неё окно ждет какую-то очередь, наверное ждет того, пока все события винды обработаются и только потом она может отрисовать, но это ведь бесполезно для такого простого кода где и событий то нет.
839 2076410
>>076398
Ты для Спектрума что-то пишешь?
840 2076411
>>076410
для анальной корпорации
841 2076412
>>076349
Но причем тут многокнопочность?
842 2076414
>>076398
Подозреваю, что нет прав доступа к файлу
843 2076417
>>076373

>it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms.

image.png5 Кб, 338x156
844 2076418
>>076414
Нет, для всех персонажей пикрил
845 2076419
>>076412
Для каждого widget Qt делает свой поток?
846 2076421
>>076398
Возможно learnwinapi.exe ещё выполняется. Убей процесс.
847 2076422
>>076383
Установи вместо windows 8 операционную систему.
image.png11 Кб, 774x119
848 2076423
>>076421
Лол целых 4 выполняется. Спасибо, похоже это и есть причина!
849 2076426
>>076422
При переустановке все игры слетят и надо по новой ставить.
850 2076428
>>076426
У тебя там что, 50 игр, чтобы это было проблемой?
851 2076430
>>076428
Да, и сборки модов сложносоставные.
852 2076431
>>076428
он ПЕРАТ, судя по всему. Потому-что в любом сторе 50 игр устанавливаются за пару минут
853 2076434
>>076428
Сейчас есть игры, которые весят больше, чем весь фап контент на диске.
854 2076436
>>076431
Они через интернет качаются миллион лет.
855 2076439
>>076383
Ну так обновись до 8.1, в чем проблема?
Там и поддержка еще до 26 года есть, емнип
А вообще поставь лучше линукс и не морочь себе голову студией.
856 2076441
>>076430
Нихуя себе.
857 2076444
>>076439
Под линуксом вообще ни каких IDE нет нормальных.
858 2076449
>>076444
Лол, у тебя просто руки кривые
859 2076450
>>076439
И дота не работает
860 2076451
>>076439

>А вообще поставь лучше линукс и не морочь себе голову студией.


Охуительные советы. И играй в консольку, да
861 2076453
>>076444
Возможно clion, но он платный, хотя кого это jebet.
862 2076459
>>076453
>>076444
Лучше чем Emacs IDE еще не придумали.
863 2076462
>>076459

> Emacs OS


Поправил тебя.
864 2076464
>>076419
Зачем? Весь гуй в одном потоке.
865 2076469
>>076459
Не знаю, корреляция или нет, но все люди, кого я собесил за 5 лет, которые залечивали на собесе за вим или емакс - нихуя не знали про С++, и валились на простейших вопросах. Наверное, все время уходило на пердоленье текстового редактора, вместо написания кода.
866 2076472
>>076444
Emacs, Vim, QtCreator,Eclipse,Clion,KDevelop, Anjuta, VsCode...
image.png372 Кб, 1005x421
867 2076476
>>076472

>Emacs, Vim, QtCreator,Eclipse,Clion,KDevelop, Anjuta, VsCode...

868 2076477
>>076472
Учитывая что половина этого списка - это текстовые редакторы с подсветкой синтаксиса, а реально пользоваться можно только CLion'ом...
869 2076478
>>076472

>Emacs, Vim, VsCode


текстовые редакторы

>Clion


платный

>KDevelop, Anjuta


не работают или требуют допила

>QtCreator


нет вкладок

>Eclipse


кривая система с позиционированием окошек
870 2076481
>>076478

>>Eclipse


>кривая система с позиционированием окошек


И потом опять 3 треда его настраивать, нахуй нахуй
871 2076482
>>076469

>Не знаю, корреляция или нет, но все люди, кого я собесил за 5 лет, которые залечивали на собесе за вим или емакс - нихуя не знали про С++


Они сами тебе рассказывали о виме в середине обсуждения темплейтов или же это ты до них доебывался с анрелейтед вопросами про то, на чем они пишут код, и почему до сих пор не купили себе мс студию?
872 2076486
>>076482
Просто вопрос стартовый типа - расскажите о себе и карьере:
И там было классическое:
- как узнать веган ли человек
- он вам сам скажет в первые 5 минут знакомства
873 2076494
>>076486
Чел пришёл собеситься на галеру:
- расскажите о карьере
- я готов работать в вашем карьере за опыт
- берём вас на должность старшего программиста
874 2076499
>>076478

>нет вкладок


Каких?
demo.png186 Кб, 1351x927
875 2076500
>>076478

>Emacs, Vim


>текстовые редакторы


Сам ты текстовый редактор, олень
876 2076504
>>076500
У тебя жава на пике
877 2076505
>>076500
Заебёшься всё настраивать.
878 2076506
>>076499
Чтобы каждый файл можно было открыть в своей вкладочке и переключаться между ними. А тут тупо сделано через выпадающий список с лимитом в 10 файлов. А если у меня большой проект и мне надо больше 10 файлов?
879 2076507
>>076500
Прикольное хобби. Это как прокачивать персонажа в рпг или ухаживать за домашним животным. Также и вим с емаксом настраивать.
880 2076511
>>076506
Лолват. Там сбоку есть список всех открытых файлов. Те же вкладки только в столбец.
881 2076513
>>076511
Ну зачем ты так с ним.
882 2076524
>>076444
Имплаинг сейчас есть смысл кодить на плюсах под винду, лол
883 2076525
>>076524
Драйвера\Системное ПО\Игры
884 2076531
>>076524
Не имплаинг. Как такое возможно, что спрос есть, а нормальные инструменты для этого никто не создал?
885 2076534
>>076525

>Игры


Сисярп же
>>076525

>Драйвера\Системное ПО


Все драйвера под винду уже написаны, что ты там еще писать собрался
886 2076535
>>076534

>Все драйвера под винду уже написаны


Лул

> Сисярп же


На чем юнити написано?
887 2076538
>>076531
Мб те что есть не так плохи как тебе кажется с дивана?
888 2076540
>>076538
Пользовался Кутекреатором - отвратительно, по сравнению со студией. Остальная параша - даже трогать не хочу.

Шлион не трогал.
889 2076543
>>076540
Эклипс попробуй. Если памяти больше 8гб, то нормально зайдет
только не спрашивай тут потом как хелловорлд запустить
890 2076550
>>076543
У того школьника, похоже, возникали проблемы на ровном месте, ничего специально ломать не нужно было. Эклипс точно норм? И с cmake как там?
891 2076552
>>076543
Эклипсом я пытался пользоваться на первой работе. В итоге код писал в виме, потому-что проект был на хуевых мейкфайлах, никакая подсветка и прочее не работало ни там, ни там. Но вим хотя-бы не тормозил, кекова.

Господи, спасибо за студию
892 2076558
>>076421
Нет, всё же ошибка была не в этом, несколько exe одновременно запускать можно, а в том, что у
WNDCLASS wc = { };
MSG msg = { };
я убирал = { } и получал
WNDCLASS wc;
MSG msg;
что и вызывало ошибку. Однако тут https://docs.microsoft.com/en-us/cpp/windows/walkthrough-creating-windows-desktop-applications-cpp?view=msvc-160&viewFallbackFrom=vs-2019 нету = { }, но и ошибки этот код не вызывает. В чем проблема?
893 2076568
>>076550
Зайдет лично тебе или нет я хз, но там есть всё для профессиональной разработки больших проектов.
>>076552

>проект был на хуевых мейкфайлах


Виноват в этом конечно же эклипс. Ну да, ну да.
894 2076573
>>076568

>Виноват в этом конечно же эклипс


Там мне выдали хуевый ноут с 4гб памяти, и если я включал эклипс - я даже браузер не мог фоном запустить без адового лагалища. Эх, юность
image.png22 Кб, 359x52
895 2076736
Как это сделать? Чтобы при заполнении функции это окошко сверху было и рядом с аргументами их названия?
896 2076852
>>076736
Установить любую IDE?
897 2076868
>>076852
У меня студия, но таких приколов как на картинке нету.
898 2076878
>>076736
Full HD 4k ultimate jpeg
899 2076883
>>076878
Ну что поделать это скрин из видео
900 2076924
Поясните за книжки по алгоритмам. В ОП-посте советуют Седжвика, но он 2001 года издания. Насколько это все еще актуально применительно к смене стандартов? Вообще, насколько актуальны книги 00-х применительно к специализированным областям С++ (не общие учебники, а, например, книги по ООП типа Лафоре и т.д.)? Например, насколько неактуальны стали книги Мейерса и если ли смысл читать у него что-то кроме самой свежей книги 15-го года? Вообще, что осталось актуальным, что древнее С++11?
901 2076930
>>076883
Ну нажми ты ctrl-shift-space и тебе студия покажет список аргументов
902 2076932
>>076924
Кнут. Искусство программирования.
903 2076940
>>076932
Не люблю псевдокод и прочее, да и в таком объеме алгоритмы мне не нужны. Есть Седжвик, есть более свежий Гудрич (но меньше объемом и с структурами данных, к тому же я его уже начал читать в имплементации для Python).
904 2076943
>>076924
Алгоритмы не зависят от языка, книжка полностью актуальна.
905 2076944
>>076932
Шизоид выдумавший свой язык ассемблера?
906 2076946
>>076924
Алгоритмы как были, так и остались. За 30 лет основы вообще не поменялись. Седжвика я читал в версии для чистых сей много лет назад, но говорят, что все издания (C, C++, Java) по сути одинаковы. Но это лишь алгоритмы, а с более прикладными вопросами действительно всё сложнее. Всё, что касается именно написания каждодневного кода, архитектуры и дизайна довольно сильно поменялось с выходом C++11. Основные идиомы и даже во многом сама парадигма языка стала другой. Например, все поняли, что в плюсах очень не очень ООП, поэтому стали делать меньше иерархий, никакого виртуального наследования, composition over inheritance, меньше виртуальных функций, изменение поведения на основе тайп трейтов и шаблонных параметров а не подклассов, более явная работа с аллокаторами и тд. Тут я, правда, не очень помогу с книгами, но Мейерса последнюю книгу читал, и вроде как годно было.

Вообще советую упарываться C++ Weekly (его создатель тоже недавно книгу выпустил, наверное можно спиратить где-нибудь) и записями с CppCon. Последние, кстати, последние года два запустили трек Back to Basics, которые вроде как именно рассчитаны на погружение новичков в различные темы языка.
907 2076956
>>076930
Да это не то. Хочу всегда сразу видеть всё
908 2076957
>>076944
Кнут для инженеров, Страус для верстальщиков.
909 2076959
>>076956
Если функция перегружена, то что ты собираешься видеть?
910 2076965
>>076959
актуальную перегрузку
911 2076973
>>076946
Спасибо.

>трек Back to Basics


Что это такое? Если это лекции, то мне пока удобней просто скачать с торрентов лекции Удеми, да фоном просматривать.
912 2076980
>>076736
Это решарпер С++
913 2076983
>>076965
Допустим ты ввёл первый параметр и к этому моменту подходит 5 версий. Все 5 должны отобразится и перекрыть 6 строчек кода?
914 2076984
>>076924
Поясняю за книжки по алгоритмам.
Не надо искать в книжке по алгоритмам примеры хорошего стиля программирования на C++. Языкнейм в них используется как альтернатива псевдокоду, не более.

>Насколько это все еще актуально применительно к смене стандартов?


C++ растет в основном за счет библиотеки. При работе над книжкой, посвященной по сути изобретению велосипедов, тебе не придется интенсивно использовать библиотеку, за исключением может быть стандартного ввода/вывода.
Что касается новшеств самого языка, то там как правило, не сложно догадаться самому, где можно обычный for заменить на range-based for, где пригодится лямбда, а где агрегатная инициализация и куда писать nullptr вместо NULL.
Ну или вообще оставить все как есть, держа в уме, что можно написать посовременнее.
Единственное, что можно считать большой утратой - это отсутствие примеров как на практике работает семантика перемещения.

Алсо, не надо думать, что книжки по алгоритмам призваны сделать из тебя йоба-хакера вроде Кармака.
Вот тебе есть сортировка O(n^2), вот тебе есть O(log n) и всё. Как ускорить алгоритм в пределах O(log n) - это уже не тема книжки.
Структуры данных если описываются, то там больше акцент на то, как сделать внятный интерфейс, чем на то, как побить мировые рекорды скорости.
А еще, действительно актуальные алгоритмы нередко запатентованы.
915 2076999
>>076973

>Что это такое


Просто набор независимых презентаций про разные аспекты языка. Всё на ютубе лежит в открытом доступе. Но я особо не смотрел их, поэтому ничего не могу сказать про качество.
916 2077005
>>076980
спасибо
>>076983
они и сейчас показываются, только их переключать надо стрелочками. смысл этого дополнения не в этом, а в том чтобы уже в готовой функции показывать name Vasya , а не Vasya. Так понятней
изображение.png8 Кб, 626x178
917 2077008
>>076957
Зачем инженерам в 2021 книга, не дописанная аж с 1968 года?
918 2077015
>>076957
Лол тогда уж для ученых. Верстальщики это и есть инженеры
919 2077026
>>077015
Хз зачем вообще кто-то его книги читает. Все актуальные идеи по алгоритмам публикуются в научных статьях, а не книгах.
920 2077058
>>076984

> Как ускорить алгоритм в пределах O(log n) - это уже не тема книжки.


А чего? Что там идет дальше после алгоритмов на пути оптимизации? Параллелизмы?
921 2077090
>>077058
Хуй его знает. Свобода творчества дальше идет. Оптимизация - это алхимия.
922 2077098
>>076984
Это всё замечательно, но как быть с вводом/выводом? До сих пор простейшая задача по написанию графического приложения сводится к каким-то танцам с бубном по подключению любительских библиотек, которые не всегда работают, и ещё сложнее найти информацию по их использованию.
923 2077104
>>077058
Знай свои данные. Например, может данные можно заранее предобработать (например, отсортировать). Или ты знаешь, что в 99% случаев у тебя в векторе не будет больше трёх элементов, и ты делаешь small vector optimization. Или ты знаешь, что есть какие-то тяжёлые данные (например из сети тащишь), но доступ обычно к последним добавленным идёт, поэтому ты строишь кеш ради них. Такого рода. Далее идёт собственно оптимизация кода. Не делать лишнюю работу, не копировать бездумно гигабайты мусора туда-сюда (сколько там, по той известной истории, выделялось мегабайт памяти при одном нажатии кнопки в хроме?), может даже запилить свой омегакрутой SIMD и/или параллельный алгоритм. Но для этого тоже обычно неплохо понимать предметную область.
924 2077319
Как в С++ вывести в окно массив пикселей (цвет RGB) в виде прямоугольника фиксированной ширины и длинны?
925 2077328
>>077319
Система какая?
926 2077340
927 2077389
>>077104
Спасибо за развернутый ответ.

>Знай свои данные.


Есть какая-то свежая литература по этому поводу?
928 2077449
>>077389
Хз. Обычная эрудиция и чувство прекрасного обычно выводят на правильный путь, как бы абстрактно это не звучало. Если хочется конкретных советов, то Data-Oriented Design по идее как раз про всё это, но выкрученное до максимума (https://www.dataorienteddesign.com/dodbook/), но это конкретный и довольно нетривиальный подход к дизайну программ со своими тараканами. Хотя некоторые полезные уроки оттуда можно взять и для более стандартных архитектур, построенных на обычном RAII. Но некоторые адепты DOD ведут себя как ёбаные культисты, что меня жутко бесит.
929 2077547
>>077449
Любой "адепт" или "сторонник" -- ёбаный культист.
930 2077861
>>077547
RUST КРУТО
931 2077872
>>077861
Надо бы растовые макросы в плюсы прикрутить.
932 2077915
>>077872
Рано или поздно всё сущее будет прикручено в плюсы.
933 2078069
>>077861
На С++ можно написать обработку массивов столько же эффективную как на ассемблере, а в Rust будет вставлена проверка на выходы за границы из-за чего код будет тормозной.
Также растиане называют константы переменными и кичатся тем, что у них такие защищенные переменные, каких ни у кого нет. В С++ константы тоже защищенные. Просто надо вещи своими именами называть, а не переопределять понятия в угоду пиара.
934 2079107
Почему подавляющие большинство книг по С++ описывают работу с консолью, в то время как большинство программ на С++ представляют собой графические приложения. Лично у меня возникает диссонанс от этого несоответствия.
935 2079117
>>079107
Потому что создание консольного интерфейса тривиально, и можно без огромного количества лишней информации сосредоточиться на изучении самого языка, в отличие от графического интерфейса, где у тебя не два класса для работы с вводом-выводом, а сотня.
936 2079118
>>079117
Я научился писать консольные приложения. Что дальше?
937 2079123
>>079118
Читать специализированные книги по созданию графического интерфейса, например, Шлее.
938 2079127
>>054115 (OP)
Чем ооп в плюсах кардинально отличается от java? Какие подводные могут быть, если я всю жизнь был в мире java?
939 2079140
>>079127
Нет интерфейсов, есть множественное наследование, нет package-private, при наследовании надо указывать модификатор доступа, есть много наркоманских конструкторов и правил, есть деструкторы (нет, это не то же самое, что финализаторы), есть деление методов на виртуальные/невиртуальные (увеличивает производительность, но ограничивает полиморфизм, в жабе все методы можно назвать виртуальными).
940 2079142
>>079127
За оператор new в коде сломают ебало. А так никаких.
941 2079148
Правда, что WinAPI уже не актуально и надо писать программы под WinRT?
942 2079152
>>079148
Не надо писать некроссплатформенный софт, заебали.
943 2079153
>>079142
Почему? Хотя я догадываюсь, но неужели все настолько руками?
944 2079154
>>079153
Смартпоинтеры.
945 2079155
>>079152
У Шлее плохая книга, ничего не понятно. Пусть пишут понятные книги, тогда получат кроссплатформенные программы.
Да и вообще я думаю, что Qt доживает свои последние дни. Их купила контора, которая убьёт эту библиотеку и всё закончится.
946 2079169
>>079155

> У Шлее плохая книга, ничего не понятно. Пусть пишут понятные книги, тогда получат кроссплатформенные программы.


Мне почти всё было понятно, непонятное гуглил, но так с любой книгой.

> Да и вообще я думаю, что Qt доживает свои последние дни. Их купила контора, которая убьёт эту библиотеку и всё закончится.


Дело скорее в стагнации десктопа в целом. Да ещё и Qt отдаёт проприетарщиной и коммерцией, хотя опенсорснулся давным-давно. И это ещё лучшая гуёвая либа для крестов, тыкал wxwidgets, там пиздец какой-то.
947 2079201
>>079127
За паттерны тоже ебало бьют.
948 2079279
>>079169
Мне кажется, что кроме самих разработчиков, никто не умеет писать на Qt.
949 2079330
Накидайте плез самых высокооплачиваемых вакансий
950 2079366
>>079279
Почему? Там хороший хелп, все понятно. Другое дело что сам гуи уже не на крестах, старые крестовые виджеты все таки не способствуют быстрому формошлепству.
951 2079523
>>079127

> Какие подводные могут быть, если я всю жизнь был в мире java?


https://lurkmore.to/Копипаста:Программирование#.D0.9D.D0.BE.D0.B2.D1.8B.D0.B9_.D0.B6.D0.B0.D0.B2.D0.B8.D1.81.D1.82
952 2079569
>>079155

>Да и вообще я думаю, что Qt доживает свои последние дни.


Падажжи, не убивай пока, мне еще 4 проекта сдать надо
953 2079593
Привет. Пытаюсь научиться программировать на с++ по книжке Лафорте, но книга устаревшая и слишком сложна для понимания. Компиляторы борданд и старые версии визуал студио, 32 бит системы, мс дос. Читаешь, а не понимаешь о чем. Может сам язык уже устарел и нужно учить к примеру Rust? Посоветуйте эффективные способы обучения для глупых людей с нуля.
954 2079612
>>079593

> Rust


Вместо устаревших книг предпочтёшь их полное отсутствие?
955 2079618
>>079593
Новых книг нет что ли? Даже на русском полно книг за 2020-2021 гг. по С++.
956 2079659
>>079593
Липманна наверни, норм учебник.
957 2079700
>>079593
Да, раст хороший выбор. Мы в прошлом треде его активно обсуждали и пришли к тому, что все вместе скоро туда перекатимся. Раст лучше - как ни крути. Раст это технологии и безопасность
958 2079740
>>079700
Раст - это анальные ограничения, за которые ты ещё и платишь.
959 2079806
Как запретить перегрузку функции? У меня есть f(unsigned char) и я хочу запретить перегрузку f(char) как это сделать? Чето у меня не гуглится
960 2079808
>>079806
Никак.
961 2079818
>>079808
Во-первых, ты хуй и говно..

https://ideone.com/hDSFNv
962 2079928
>>079818
спасибо
963 2080092
>>079593
Да, перекатывайся в Раст. Срочно.
Раст - лучший и тебе отлично подойдет.
Наконец-то ты отсюда свалишь и будешь спрашивать как запустить хеллоуворлд у растошизов
964 2080093
>>079155

>ничего не понятно


>думаю, что Qt доживает свои последние дни


Кек)) Проиграл с неосилятора.
Как там это было про лису и виноград?
965 2080103
А нужно ли быть хорошим математиком для программирования?
966 2080134
>>080103
В общем случае для всех естественных профессий нужна математика инженерного вуза до 2 курса, а так конечно сервисы пилить она не нужна
967 2080137
>>080103
Вообще нет, но обычно у хороших программистов нет проблем с математикой.
968 2080165
>>080103
В универе хорошо учился по компьютерным дисциплинам, а математику еле-еле сдавал на тройки.
969 2080180
>>080165
позорище
970 2080184
>>080180
Чё ещё должен настоящий программист?
971 2080185
>>080103
Есть предметные области, где без математики ловить нечего.
Есть предметные области, где математика не применяется вообще.

Однако, математическая культура - это всегда лучше, чем ее отсутствие.
Например, как ты будешь писать корректный код, не имея вообще никакого навыка строгого доказательства?
972 2080193
>>080093
Да так же, как и про MFC и BCG.
Отмылись и перекатились.
973 2080197
>>080184
Как ни странно, но уметь ясно излагать свои мысли и уметь в общение.
974 2080299
>>080103
Если ты дата сатанист - нужна нихуевая.
Если ты гейдевелопер - первый курс линала достаточно.
Для всего остального - нахуй не сдалась.
975 2080357
Что думаете за новые модули?
976 2080365
>>080357
Приятная небольшая вещь, как только выйдет штудия 22 - куски поперевозим. Хуй знает, что тут еще сказать
977 2080372
>>080103
Если речь идет об отмазке чтобы не учить матан, то иди нахуй
978 2080381
>>080365
Как в студии создавать графические приложения?
979 2080383
>>080381
Ну либо берешь ВИНАПИ, либо подключаешь всякое qt (с аддоном) или там imgui - так же как и везде

Но гуй надо на шарпе имхо писать, таки
980 2080449
981 2080465
>>080381
1. Удаляешь студию
2. Устанавливаешь С++ Builder
982 2080470
>>080465
3. кушаешь каку
4. запиваешь мочой
983 2080503
>>080470
5. Доходит, что был неправ, ставишь эклипс
6. Засираешь полтора треда нытьём о том, что хелловорлд не компилится
7. Агришься на то, что тебя называют говноедом и мочехлёбом
984 2080535
>>080465
Я специально винду обновил, чтобы поставить 2019 студию, а ты предлагаешь удалить всё.
985 2080565
>>080535
Ну так в легком варианте - SFML (опционально с Imgui). В сложном - qt (но там VS QT addin ставить надо)
986 2080628
>>080535
Но ты же ведь хочешь графические приложения?
Тогда студией придется пожертвовать.
987 2080643
>>080628
не смущай ньюфага, гомик
waifus.jpg201 Кб, 1000x625
988 2080646
Решил вкатиться в плюсцы. На работке пишу на питоне, а это для души — так что не нулевой вкатывальщик.

Посему платиновый вопрос. Вот я начну с Программирования Страутструпа, а там стандарт C++14. Но сейчас уже C++17 устарел и актуален C++20. Насколько там большие различия? Как потом перепрыгнуть этот разрыв?
989 2080651
>>080646
Стандарты итеративно улучшают язык.

Все, что ты выучишь в варианте С++14 - будет актуально и дальше. Там нет хуйни а-ля переезд с питона 2 на питон 3 - там полная обратная совместимость. Дальше спокойно прочитаешь книжку по С++17 и все будет хорошо.

Касательно С++20 - все основные крутые фичи уровня модулей\концептов\корутин - в проде примерно ни у кого, максимум у какого-нить фейсбука. А понимают те же корутины - 3.5 человек в комитете, так что не парься.
990 2080688
>>080646
Нахуй ты нам упал, пидарок питоновский? Иди смузи хлебни лучше.
991 2080695
>>080651
Корутины вполне понятная и иногда очень полезная штука, просто надо брать их из буста. В стандарте же их похоже попытались сделать универсальными, в результате в удобоваримом виде они будут видимо только в 23.
И полной обратной совместимости в крестах таки нет, части иногда объявляют deprecated а потом и вовсе убирают, хотя и мизерные.
992 2080697
>>080695
Они настолько мизерные, что можно считать, что полная обратная совместимость есть.

Да и то, что задеприкейчено, еще несколько лет есть во всех конпеляторах
993 2080740
>>080643
Что не так, мань?
C++ Builder это самое быстрое решение для создания графического приложения.
Там где на студии ты все еще читаешь мануалы, на билдере уже нажимаешь кнопочку "Run" и довольно урчишь.
994 2080745
>>080740

>C++ Builder это самое быстрое решение для создания графического приложения.


А что там сейчас творится? Язык разметки интерфейса завезли или все ещё на виджетах?
мимо
995 2080786
>>080697
AUTO_PTR
996 2080876
>>080786
1. :%s/auto_ptr/unique_ptr/g
2. Добавляешь std::move, где компилятор ругается
3. ??????
4. Ты потратил целых 5 минут, чтобы мигрировать на C++17.
Вот со всякими binary_function надо было посложнее возиться.
997 2080905
>>080365
А что если штудия22 будет требовать шин11? Я недавно сидел на ещё казалось бы актуальной винде, а там максимум можно было накатить штудию13.
998 2080914
>>080905
Не должна, нигде в анонсе про это не говорили.
999 2080915
>>080786
с 98 на 20 мигрировать это самое сложное, а вот с 11 - уже изи.
1001 2081008
>>080876
и обсираешься там где компилятор не может в C++11
1002 2081019
>>081008
Ага, хуёво работать в НИИ за 40к в borland c++ builder.
1003 2081062
>>060485

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


А если мне нужно чтобы несколько потоков зашло в эту часть кода? А если я не знаю количество потоков в компильтайме? Как это вообще блять выглядеть должно?
thread 1,2,3,4,5,6,7:
std::cout << 2;
Вот так чтоле?
1004 2081136
>>065146
Си годна поскольку у нее стабильный и понятный аби, и ее можно обернуть в языки для людей, а не для красноглазиков любящих трижды вложенные указатели и битовые операции вместо человекочитаемых. Для всех твоих либ есть обёртки как минимум для питона, гуглить лень но более чем уверен что там же будет и шарп/жаба/плюсы.
1005 2081686
>>054115 (OP)
добрый день, собираюсь поступать на прогера в вуз, сдавал егэ по информатике на питоне, т.к. все лето свободное, то могу переключиться на плюсы, есть в этом профит? в будущем хотелось бы уйти в геемдев
1006 2081913
>>081686
лол
1007 2082129
>>054115 (OP)
помогите мне пожалуйста разобраться с wstring и wchar_t. У меня есть список эмоджи в виде юникода 0x1F47B, мне их надо преобразовать в тип std::string, то есть вывести каждый код в виде символа.
Но у меня WCHAR_MAX равен 65536, и поэтому я не могу использовать функцию WideCharToMultiByte. Как мне преобразовывать юникод вида 0x10000 и больше в символы?
1008 2082220
>>081686
Питон распиаренное говно, лучше уж какой-нибудь Go выучить чтобы если хочешь простоты написания кода. Java какая-нибудь для формашлепства и сервисов, чего-то простого, обычного. C++ уже позволяет реализовывать всё, потому что он не сжирает ресурсы по самому факту своего существования, так что вкатывайся, хотя вас бы и так плюсам учили в вузе
1009 2082239
>>082129
Юникод в С++ это пиздец
1010 2082255
Сап анон, начал изучать С++. Задачи на лето стоят таковы, изучить С++ и написать "экономический симулятор". Суть симулятора проста, нужно написать один из этапов разработки месторождения нефти, а именно поиск и разведку. На экране будет квадрат, допустим 6х6 клеток, игрок может нажимать на любую часть квадрата и получать те или данные в зависимости от выбранной функции. Сложно ли будет это реализовать ?
1011 2082263
>>082255
Звучит элементарно, но все еще для этого нужна база
1012 2082299
https://pastebin.com/Yne4U4xV
Не компилируется эта шляпа.
Сборка начата…
1>------ Сборка начата: проект: Codeforces, Конфигурация: Debug x64 ------
1>Codeforces.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\algorithm(6220,1): error C2664: "bool (otr &,otr &)": невозможно преобразовать аргумент 1 из "const _Ty" в "otr &"
1> with
1> [
1> _Ty=int
1> ]
1>C:\Users\HP\source\repos\Codeforces\Codeforces\Codeforces.cpp(49): message : выполняется компиляция ссылки на экземпляр шаблон функции "_FwdIt std::upper_bound<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<_Ty>>>,int,bool(__cdecl )(otr &,otr &)>(_FwdIt,_FwdIt,const int &,_Pr)"
1> with
1> [
1> _FwdIt=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<otr>>>,
1> _Ty=otr,
1> _Pr=bool (__cdecl
)(otr &,otr &)
1> ]
1>Сборка проекта "Codeforces.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Я не понимаю что оно от меня хочет. Вроде все перепроверил, но не нашел ошибки
1013 2082306
>>082299
СУка я конч тупой. Не надо отвечать
1014 2082309
>>082263
На данный момент весь проект завязан на гугл таблицах, но тк данных очень много они плохо справляются и у некоторых игроков либо лагает таблица, либо долго происходит отклик таблицы. Я решился перенести хотя бы один этап на С++ для быстроты работы и для гибкости. Если углубиться в этот этап, то получается что игроки будут видеть только площадь 6х6 квадратов. Под каждым квадратом идет углубление вниз, получается эдакий куб, где верхняя грань видна игрокам, а все остальное это данные о залежах. Где залежи принимают хаотичные положение в зависимости от региона или участка. Если такое возможно реализовать, то будет идеально. Чаю тебе анон за ответ :)
1015 2082458
>>082255
Тренируй и изучай С++ в консольке (а лучше в браузерных онлайн компиляторах). Не делай всё в одном проекте, в игровой проект пиши когда протестишь новые знания в другом проекте. Иначе будешь постоянно переписывать

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

Знаешь почему на си проще писать проекты и откуда пошла мода на всякие ортодокс с++?
Потому что на си люди пишут код, а на с++ начинают дрочить всякое говно так как "умные" дядьки сказали что если у тебя нет какой-нибудь инкапсуляции, то ты лох и должен работать кассиром в пятерочке, а не кодить - хуйня это все - пиши код как пишется. Хочешь писать все в пабликах - пиши, хочешь писать все в одной функции - пиши.

Хороший код вырабатывается опытом, когда ты сам поймешь для чего и почему - а не "умные дядьки сказали"

Не попади в ловушку написания движков - бери какой-нибудь SDL (например https://lazyfoo.net/tutorials/SDL/) и пиши. Не пытайся сделать быстро и эффективно. Все равно не сможешь, будешь опять дрочить код.

Вообще самая большая проблема С++ - много ловушек попав в которые ты будешь делать не продукт, а дрочить код до бесконечности.
1016 2082500
>>082458
Спасибо за ответ, Анон. У меня ещё такой вопрос, можно ли сделать, чтобы результаты тех или иных действий отправлялись в гугл таблицу например, если да, то как быстро будет происходит передача результатов и от чего будет зависеть?
1017 2082580
>>080646
за чем
1018 2082792
>>082500
Это детали уже. В интернете полно инфы
image.png6 Кб, 422x138
1019 2083351
Анон, туплю. как сделать

У меня есть сишная стороняя либа, в ней есть структура Foo которая создается функцией CreateFoo

Мне надо вернуть из моего метода шаредпоинтер на эту Foo
1020 2083368
>>083351
конструктор копирования/перемещения есть?
1021 2083370
>>083368
нет - там сишная структура
1022 2083375
>>083370

>сишная структура


т.е. мув-конструктор есть и он дефолтный. Сделай просто

return std::make_shared<Foo>(std::move(CreateFoo()));
1023 2084222
Посоветуйте литературы по Qt 5+ годной. Кроме Шлее, если есть что-нибудь. Можно курсы.
1024 2084266
>>083375

>std::move(CreateFoo())


wut
966-9660435high-resolution-recreation-of-the-8-bit-mario.png37 Кб, 2400x3200
WinAPI OpenGL С++ 1025 2084273
Дублирую из С-треда
Вечер в хату, уважаемые.
Смотрел на код представленный тут:
https://github.com/OneLoneCoder/olcPixelGameEngine/blob/master/olcPixelGameEngine.h

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

В частности, в этой строчке:
Construct(int32_t screen_w, int32_t screen_h, int32_t pixel_w, int32_t pixel_h, bool full_screen = false, bool vsync = false, bool cohesion = false);

Как я не пытался, не смог найти связь между этими значениями и вызываемой WinAPI (или OpenGL?) функцией для "зернистости" физических пикселей.
Гугление pixel scaling, pixel resolution, pixel ratio, custom pixel size ничего не дало. Использование brush и pen не помогает, так как в вышеприведенном файле во-первых они не используются, а во-вторых не позволяют установить неквадратные пиксели.

Помоги пожалуйста найти цепочку между pixel_w, pixel_h и конкретной WinAPI или GL функцией.

Спасибо.
1026 2084410
>>084273
Просто вместо одного пикселя рисуешь залитый прямоугольник нужного размера, весь охуенный секрет
1027 2084448
>>084273

>pixel_w


Суётся в vPixelSize, vPixelSize используется в olc_UpdateViewport для вычисления vViewSize, vViewSize используется в вызове UpdateViewport, UpdateViewport дёргает glViewport
1028 2084464
>>080180
Почему ты называешь его позорищем?
Ты хуесосина ебаная претенциозная, хуй соси я маму ебал твою.
1029 2084520
>>084266
чтоб наверняка
1030 2084772
>>084410
Ну, это первое что приходит в голову, как-то колхозно.
И каким образом ты это увидел из кода?
1031 2084775
>>084448
ЛОЛ, то есть он не использует WinAPI а сразу в GL кидает? Я был уверен что нативно компилирует.
1032 2084891
>>084772

>как-то колхозно


Зато точно работает и без хуйни

> И каким образом ты это увидел из кода?


Я не читал лал
e8e57dbd4b18c0ad01715c59271c3dca.jpeg20 Кб, 474x476
1033 2084912
>>084891

>Я не читал лал

1034 2085362
>>079593
Koenig Accelerated C++ (rus)
Lospinoso C++ Crash Course (rus)
Lippman Essential C++ (rus)
Alex Allain Jumping into C++ (rus)
Ivor Horton Beginning C++ 20
Marc Gregoire Professional C++
Vardan Grigoryan Expert C++
Lippman Moo C++ Primer plus (rus) не для глупых

Как Иде используй vs codium/sublime/codeblocks/Qt Creator
Не рекомендую эклипс.
1035 2085400
>>085362
И чё это всё читать по порядку?
1036 2085404
>>056557
удали нахой eclipse и поставь eclipse cdt
>>057241
возьми себе поставь code::blocks, в него импортируй проект из студии (идешка понимает vcxproj файл) ну и дальше уже нормально сможешь разрабатывать. ( там надо флаги компиляции студии заменить на аналогичные gcc/clang или чем будешь собирать).
Дальше делаешь репозиторий и делаешь оттуда пулл на свой линукс ( ну или подыми там дженкинс какой-то чтоб он делал пулл и сборку проекта твоего вместе с обновлением софта).
Еще коллеги делали перенос на FreeBSD проекта под винду на эклипсе. Но ты в это не поверишЬ, потому что выше есть эклипсошизик, который не может настроить эклипс под линукс для разработки на С++.
>>057268
верно подметил.
>>058837
смотря на чем ты пишешь. в целом хорошая практика юзать boost/ACE. они кроссплатформенно обеспечивают многопоточность, мьютексы и все такое.
Если проект не сильно древний, читай энтони уильямса, стандарт уже имеет многопоточность с С++11 и есть много хороших практик.
>>059832
девка. он же Dev-C++, юзал его в университете. он хорош.
>>060137
>>064250
че ты этого лафоре читаешь, паря? вот же чел написал книги для изучения. >>060140
>>085362
читал эту книгу дл половины. честно говоря, не считаю страуструпа хорошим преподавателем. Со старта идут васянские хидеры и непонятно какое обьяснение кода примеров.
Строуструп хороший программист, но как преподаватель он не айс.
>>063142
на сипипи референс советуют вывод прогрммы перенаправлять в файл и дальше из него читать

#include <cstdlib>
#include <fstream>
#include <iostream>

int main()
{
std::system("ls -l >test.txt");
std::cout << std::ifstream("test.txt").rdbuf();
}
>>063719
>>063732

VS Codium. А вообще там под капотом джаваскрипт. это еще хуже эклипса на джаве или силайона. лучше пользуйтесь тем, что написано на плюсах.
а вообще найдите книгу Swaroop A byte of VIM (Просто о VIM на русском ) и изучите вим. он тоже хорошо работает.

>>065723
https://www.dummies.com/programming/c/how-to-use-the-codeblocks-debugger-with-c-programming/
cСкорее всего тебе надо пересобрать дебажную версию твоего кода.
>>066055
на-ху-я?
Купите на барахолке любой старый ноут (2000-3000 руб)
накатываете туда линукс и смотрите курс на степике по операционным системам или по плюсам. все.
старый ноут - там 386 или 486 проц будет - можно вполне кодингу учиться - есть ассемблер компиляторы и все такое.
>>066466
эриксона читай искусство экспойта.
>>066556
это уже история, сынок.
1036 2085404
>>056557
удали нахой eclipse и поставь eclipse cdt
>>057241
возьми себе поставь code::blocks, в него импортируй проект из студии (идешка понимает vcxproj файл) ну и дальше уже нормально сможешь разрабатывать. ( там надо флаги компиляции студии заменить на аналогичные gcc/clang или чем будешь собирать).
Дальше делаешь репозиторий и делаешь оттуда пулл на свой линукс ( ну или подыми там дженкинс какой-то чтоб он делал пулл и сборку проекта твоего вместе с обновлением софта).
Еще коллеги делали перенос на FreeBSD проекта под винду на эклипсе. Но ты в это не поверишЬ, потому что выше есть эклипсошизик, который не может настроить эклипс под линукс для разработки на С++.
>>057268
верно подметил.
>>058837
смотря на чем ты пишешь. в целом хорошая практика юзать boost/ACE. они кроссплатформенно обеспечивают многопоточность, мьютексы и все такое.
Если проект не сильно древний, читай энтони уильямса, стандарт уже имеет многопоточность с С++11 и есть много хороших практик.
>>059832
девка. он же Dev-C++, юзал его в университете. он хорош.
>>060137
>>064250
че ты этого лафоре читаешь, паря? вот же чел написал книги для изучения. >>060140
>>085362
читал эту книгу дл половины. честно говоря, не считаю страуструпа хорошим преподавателем. Со старта идут васянские хидеры и непонятно какое обьяснение кода примеров.
Строуструп хороший программист, но как преподаватель он не айс.
>>063142
на сипипи референс советуют вывод прогрммы перенаправлять в файл и дальше из него читать

#include <cstdlib>
#include <fstream>
#include <iostream>

int main()
{
std::system("ls -l >test.txt");
std::cout << std::ifstream("test.txt").rdbuf();
}
>>063719
>>063732

VS Codium. А вообще там под капотом джаваскрипт. это еще хуже эклипса на джаве или силайона. лучше пользуйтесь тем, что написано на плюсах.
а вообще найдите книгу Swaroop A byte of VIM (Просто о VIM на русском ) и изучите вим. он тоже хорошо работает.

>>065723
https://www.dummies.com/programming/c/how-to-use-the-codeblocks-debugger-with-c-programming/
cСкорее всего тебе надо пересобрать дебажную версию твоего кода.
>>066055
на-ху-я?
Купите на барахолке любой старый ноут (2000-3000 руб)
накатываете туда линукс и смотрите курс на степике по операционным системам или по плюсам. все.
старый ноут - там 386 или 486 проц будет - можно вполне кодингу учиться - есть ассемблер компиляторы и все такое.
>>066466
эриксона читай искусство экспойта.
>>066556
это уже история, сынок.
1037 2085408
>>085400
нет, выбери что-то одно.
из такого советую если совсем нулячий читать Алекса Эллайна. в русском варианте "С++ от ламера до программера".
Если что-то уже умеешь то тогда лучше С++ для профи читай или Липпмана.
Есть еще С++ без страха, на русском и на инглише.
1038 2085420
>>085404
>>058837 (You)

>смотря на чем ты пишешь. в целом хорошая практика юзать >boost/ACE. они кроссплатформенно обеспечивают >многопоточность, мьютексы и все такое.


>Если проект не сильно древний, читай энтони уильямса, стандарт >уже имеет многопоточность с С++11 и есть много хороших практик.


Лол на самом деле всё оказалось проще и так как я описывал, только синтаксис не по типу public и private в классах, а используются лямбды.
IMG20210625175424218.jpg108 Кб, 884x900
1039 2086679
привет

народ хотел помощи попросить. в кратце мне 29 решил вкатиться через плюсы

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

есть тут анон который помочь может. я сам доктор, мб в замен полечить смогу бесплатно. нужен ментор в общем...
оставьте телегу свою плиз
1040 2087106
>>086679

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


проиграл.
Советую просто делать, просто уделять время и просто идти по этому пути не смотря ни на что. Дорогу осилит идущий. Для начала залетай на кодварс, если и это тяжело делай пока свои поделки в консоле
1041 2087107
>>086679
А кстати про консоль наврал. Как хоть немного вкатишься в ООП изучай sfml. Вещь очень простая, куча материала для обучения, эффектная и полезная
1042 2087221
Что можете сказать по этим книгам?
1043 2087533
Сап, аноны
Есть тут эксперты по культе Qt/QML?
В чём прикол использовать Q_GADGET, если я могу с таким же успехом юзать Q_OBJECT?
1044 2088211
>>079740
Да ты заебал, шиз. За какие "ограничения" в расте ты платишь ?
Borrow checker - это компайл-тайм. В рантайме ты нихуя ни за что не платишь.
1045 2088545
А где в 19 студии native unit test???
изображение.png24 Кб, 1024x680
1046 2088553
Вот ещё скриншот. Я автор этого поста >>088545
1047 2088584
Не работает файловый ввод в модульном тесте. Что не так? Как сделать ввод из файла тогда?
1048 2088621
Может я изобрел велосипед, но для себя, чтобы не было путаницы, я разделяю синтаксис объявления и синтаксис использования.
Например int x; это синтаксис объявления, эта запись не имеет смысла в контексте синтаксиса использования x = 5;, где * теперь разыменовывает.
1049 2088623
Может я изобрел велосипед, но для себя, чтобы не было путаницы, я разделяю синтаксис объявления и синтаксис использования.
Например int x; это синтаксис объявления, эта запись не имеет смысла в контексте синтаксиса использования x = 5;, где * теперь разыменовывает.
изображение.png47 Кб, 715x101
1050 2088625
Кароче я сломался
1051 2088648
>>088545
там вроде в платной версии юнит тесты нативные. А в комьюнити лучше прицепить тесты от гугл тест или буст тест.
Советую посмотреть курс по ТДД, там челик показывает как в студии/экслипсе и на маке прицпепить Гугл тесты.

magnet:?xt=urn:btih:07F44E4A0EAF1D031ACBCC358D14DB8ED922D1BB&tr=http%3A%2F%2Fbt.t-ru.org%2Fann%3Fmagnet&dn=%5BLinkedIn%20Learning%20%2F%20Lynda.com%20%2F%20Richard%20Wells%5D%20Test-Driven%20Development%20in%20C%2B%2B%20%5B2018%2C%20ENG%5D
изображение.png2 Кб, 198x217
1052 2088664
Что не так я делаю
1053 2088699
>>088664
clang же подсказывает:
% c++ test.cpp
test.cpp:5:9: warning: returning reference to local temporary object
[-Wreturn-stack-address]
return 5;
^
1 warning generated.
-----
Запускаем.
%./a.out
5
----
Компилятор clang делает бинарь с сего кода, однако другой компилятор может послать тебя на хер с такими приколами.
-----
В целом то, что ты делаешь это Undefined Behaviour.
Ты пытаешься привязать временный объект функции к ссылке в качестве возвращаемого значения. Но временный объект немедленно уничтожается после выхода из функции, тогда сия функция возвращает dangling pointer, то бишь ссылку, которая не указывает никуда. Использование этой ссылки повлечет неопределенное поведение.
Стандарт
n4659 - § 15.2:
1054 2088700
>>088664
возвращаешь референс на prvalue?

попробуй
static int pidor = 5;
return 5;
1055 2088715
>>088699
>>088700
const int &x = 5;
Вот иногда можно временный объект присвоить ссылке, а иногда (при возврате ссылки) нельзя. Такая неопределенность и бесит в плюсах.
1056 2088717
>>088623
вся правда на cppreference
image.png9 Кб, 620x158
1057 2088720
>>088715
Неопределенности нету, если у тебя хороший тулинг.
1058 2088737
>>088715
Да, это сделать можно. базара нет.
Ну или как выше чувак пишет про статическую переменную внутри функции.
Но аффтар запостил код с UB. Такие штуки даром не проходят.
>>088720
о, статический анализатор шланга
изображение.png3 Кб, 134x155
1059 2088758
Чтобы легче разобраться, что куда возвращает, я всегда представлял функцию как инициализацию переменной, где 1 - тип возврата, 2 - выражение
То есть int ⚹ неявная_переменная = &x.
Но с константными ссылками такое не прокатило
изображение.png18 Кб, 686x313
1060 2088858
Люблю портить стек
1061 2089173
>>088648
У меня энтерпрайз.
1062 2089265
>>088584
Бамп. Помогите.
Спасибочкин 1063 2089793
Выручайте, знатоки. Уже не раз сталкиваюсь с таким говном, когда вроде написал setlocale, но при выводе выдаёт тарабарщину:
Спасибочкин 1064 2089808
>>089793
Как изменить код консольного приложения по умолчанию? мне нужно подключение определенных библеотек с самого начала работы, а всегда меня встречает бесполезный hello world
1065 2090197
>>089793
Венда не умеет в юникод
1066 2090870
Реально ли сделать кросс-компиляцию крестов? Собирать бинарники для винды на линухе
1067 2090910
Слушайте, поясните плз. Вот та книга Седжвика, которая щас в магазинах продается, она лучше тех, что в интернете от 2001 года или тоже самое? И чем отличаются книги Седжвика на Джаве и на плюсах по алгоритмам, если кто обе смотрел и проходил.
1068 2090996
>>090870

>Реально ли сделать кросс-компиляцию крестов? Собирать бинарники для винды на линухе


В таком варианте - нет. Но ты же всегда можешь собирать их ремоутно на винде
Магические брейкпоинты 1069 2092274
Пытаюсь получить url активной вкладки в хроме, код работает если поставить брейкпоинт на строку, которую я подписал, и нажать продолжить просто. Если запускаешь без брейкпоинта, то выводит пустую строку. Помогите, пожалуйста, я даже не знаю в какую сторону думать и гуглить
https://pastebin.com/uTYz59Jx
Прошу помощи 1070 2092512
Здравствуйте, уважаемые
Такая проблема

Как посчитать количество слов в строке ? Под словом я подразумеваю последовательность символов ?
1072 2092638
ДА КАКОГО СУКА ХУЯ????????!!!!!! БЛЯТЬ!!!!!!!!!!!!!!!!!!!! СУКА!!!!!!!!!! ЗА ЧТО МНЕ ВСЁ ЭТО??????????!!!!!
1073 2093502
>>090996

>>Реально ли сделать кросс-компиляцию крестов? Собирать бинарники для винды на линухе


>В таком варианте - нет.


Много смех.
1074 2093792
>>092512
Юзать С-шный split или написать свой, указываешь разделитель, получаешь массива строк и по его размеру понимаешь количество слов
1075 2093803
Хуярю свою реализацию вектора и встретил такой прекол. Есть два конструктора
1) vector (size_type count, const T& value =T(), ...)
2) tempalte <class InputIt>
vector (InputIt first, InputIt last, ...)
И при вызове ft::vector <int> d(10,2) попадает в 2-й. Почему и как фиксить?
1076 2093818
>>092630
>>092638
Потому что pow с отрицательным числом и корнем хуево работает
В первый аргумент суй положительное, а потом по необходимости припиши -
1077 2093855
>>092512
stringstream ss(str);
while(ss >> temp){counter++}
1078 2093859
>>089793
_setmode(_fileno(stdout), _O_U16TEXT);
_setmode(_fileno(stdin), _O_U16TEXT);
_setmode(_fileno(stderr), _O_U16TEXT);
_wsetlocale(LC_ALL, NULL);

если и правда нужен юникод используй w-типы и функции
1079 2094640
>>077098
Ввод/вывод нужен только в каких-нибудь играх, либо в десктопных Qt приложениях. С последними все и так ясно, а игры либо пишутся на своих движках, где практически с нуля строятся велосипеды на DirectX/OpenGL/Vulkan, либо берется готовый движок по типу юнити/unreal engine, где все и так реализовано.
1080 2094643
>>077098
Ну ты можешь писать на чистом апи из 90ых. Поверь, любительские библиотеки это добро.
1081 2094836
Господа, а что такое Singleton? Можно как-то в двух словах или примером
1082 2094840
>>094836
И нужно ли блокирование создания больше одного объекта класса?
1083 2094842
>>094840
>>094836
Я разобрался
image.png11 Кб, 728x57
1084 2094878
Аноны как реализовать в Singlton'e 3 класса?
image.png124 Кб, 270x400
1085 2095345
>>094878
поищи в сети книгу Дмитрия Нестерука по паттернам в С++.
1087 2097181
>>054115 (OP)
Основная проблема плюсов вовсе не в отсутствии работы, отсутствии сборщика мусора, токсичном комьюнити или устаревших лабах в вузах, как может показаться на первый взгляд.
А в том, что под плюсы нет вменяемых IDE и компиляторов.
Проприетарная праша С++builder, еще более ужасный Qt отбивают всякое желание учить язык.
1088 2097229
>>088625
Так и есть, только не использования, а присваивание(значения).
Например, в .h файлах надо только объявлять (int i;), а в .сpp файлах - присваивать (int i = 0;).
1089 2097291
>>097181

> вменяемых IDE


Вижуал студия, Шлион

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


Что Шланг и ГЦЦ, что студийный - отлично работают?
photo5442795296267547900.jpg106 Кб, 1280x720
1090 2097527
Анон, у меня есть примерно 3-4 недели времени и желание нормально подучить плюсы, написать какую-нибуть прогу как пет проект и пойти на бесплатные курсы на галеру. Немного знаком с sql, знаю самые основы плюсов. Делал игру на sfml, где пытался в solid.
Из вариантов почитать выбрал: Страуструп - Программирование. Принципы и практика использования C++, Лафоре - ООП, либо Книги А. В. Столярова - Програмирование, введение в профессию.

Я склоняюсь к Страуструпу, так сказать известная книга, классика + подтяну базу без хуйни. Что думаете?
1091 2098099
>>097229

>присваивать (int i = 0;)


В ньюфаг-тред
1092 2098585
А что значит, если предлагают взять не в штат компании, а в штат кадрового агенства
1093 2098941
>>054115 (OP)

сап крестотред, ньюфаг тут

программа должна выводить числа в промежутке, заданном пользователем, она работает, но в конце выводит не изначальные значения переменных valmin и valmax, а конечные, что сильно искажает смысл
как сделать так, чтобы она в конце выводила значения из cin-а?

не обливайте говном, я новичок:(
#include <iostream>
#include <stdio.h>

int main () {
using namespace std;
int sum = 0, valmin = 0, valmax = 0;
cin >> valmin >> valmax;
for (valmin; valmin <= valmax; ++valmin)
sum = sum + valmin;
cout << "the sum of " << valmin << " to " << valmax << " is " << sum << endl;

return 0;
}
1094 2099464
>>098941
Использовать в цикле временные переменные, которые получают значения из введённых
1095 2100022
Как в C++ записать файл в массив вместе со всеми символами табуляции?
1096 2100214
Сап, решил вкатиться в кресты. Может кто подсказать курс/книгу для версии языка 20 года?
1097 2100502
>>100214
Тебе нахуй не нужен 20ый год. Он даже еще ни одним компилятором до конца не поддерживается. Бери любую книгу из шапки и по ней задрачивай
image.png1,1 Мб, 745x745
Прототип функции Спасибочкин 1098 2101466
В каких случах анону могли понадобиться прототипы функций? вообще не секу, вроде говорят что это важно, но ничего не понял...
1099 2101536
Какая функция из стандартной библиотеки ищет количество включений подстроки в строке типа string?
16040462961550.jpg73 Кб, 460x460
Папакарло 1100 2102121
Котаны поясните по хардкору, начал изучать плюсы и столкнулся с такой штукой:

Компилятор тот же, все так же но при компиляции на рабочем компе у меня файл 57кб а на домашнем 1025кб, как такое может быть???
1101 2102214
>>100022
ну не знаю,ios::bin добавь что ли
1102 2102231
>>102121
Debug/relase
1103 2102244
>>102231
при чем тут Debug/relase

я пишу в стандартном блокноте
собираю через консоль в батнике
все максимально упрощено
как так получается?
1104 2102245
>>101466
что ты имеешь в виду под прототипом?
1105 2102248
>>102244
ну если ты своему одному и тому же компилятору одной и той же версии одни и те же команды суешь и скармливаешь один и тот же код,то это баг.Даже не знаю что тебе сказать
1106 2102257
>>102244

>собираю через консоль в батнике


кек
1107 2102275
>>102248
Все один в один
1108 2102276
>>102248
Все один в один
1109 2102289
>>102257
согласен, кек, но такие обстоятельства

В js пишу в vscode, благо настраивать ничего не нужно как с плюсами, где там копилятор прописывать я хз, а гуглить лень поэтому в блокноте.
1110 2102337
>>102289
Если ты планируешь двигаться дальше хелловорлдов - то освой студию\шлион
1111 2102351
>>102337
лучше clion ,тк он и под линуксами есть.Я вот по началу сидел на винде и пользовался студией.Когда перешел на линукс пришлось переучиваться на clion.В итоге пришел к тому что напердоленый вим это лучший вариант.Короче можешь перескакнуть все эти стадии и сразу ставить линупс+вим.По началу будет болеть,но потом будет приятно
1112 2102356
>>102351

>В итоге пришел к тому что напердоленый вим это лучший вариант


Мы вам не перезвоним
1113 2102444
>>102351
я >>102337
я уже смотрел в сторону CLion, но его на русском нет, так что увы
изображение.png8 Кб, 566x202
1114 2102449
КАК???
изображение.png7 Кб, 485x230
1115 2102460
Та шо такое! Всё равно не работает! А должно!
1116 2102478
>>102444
Чел...на каком еще русском
1117 2102481
>>102444
ты учебники и документацию тоже на русском читать собрался?
1118 2102483
>>102481
естественно, ну не на английском же
всегда припекало с таких вот любителей латиницы
изображение.png250 Кб, 1152x801
1119 2102485
1120 2102490
>>102460
наверное потому что оператор [] стринга возвращает сhar
/cont char или типо того,то есть ты там сравнил (char == char).Скобки нужно поставить так : if( (*strA) == strB[j]).Я надеюсь ты понимаешь что передавать стринги по указателю это наркоманство?
1121 2102495
>>102483
Дружище,я сам ненавижу английский,но реальность такова что на русском хер что нормальное найдешь,а если и найдешь,оно будет давным-давно протухшим старьем
1122 2102499
>>102490
блять звездочки съели,ну ебжтвоюжежмать
1123 2102501
>>102499
короче так : if( (⚹strA) == strB[j] )
1124 2102503
>>102501
а почему квадратные скобки жрет,че за срань?
1125 2102505
>>102503
короче нахуй ваш двач,я сваливаю
1126 2102510
>>102495

>>хер что нормальное


а что искать то все уже давно придумано и описано на 100 раз

я про интерфейс любой программы, зачем мне жрать гавно если есть нормальная еда?
1127 2102983
>>102490
Надо передавать стринги по ссылке?
1128 2103018
>>102983
ну да,по константной,и так со всеми объектами тяжелее встроенных типов.Ты сосем зеленый?
1129 2103093
есть две почти одинаковых функции
отличаются только одной строчкой и наличием еще одного аргумента

void a(const std::string & s);
void a(const std::string & s, int a);

как их объеденить в одну через темплейты?
1130 2103102
>>103093
сам разобрался, без вас, пидорасов
image.png22 Кб, 536x690
1131 2103103
1132 2103160
>>102483
ввввон из профессии
1133 2103164
>>103102

лучше бы сам не разбирался

template <typename ...T>
void create(T ...args) {
if constexpr (std::is_same_v<std::tuple<T...>, std::tuple<std::string, int>>) {
std::cout << "case 1";
} else {
std::cout << "case 2";
}
}
1134 2103197
>>102983
Надо стринг вью передавать))0
1135 2103697
>>103197
Это как?) Покажи)
1136 2103709
>>103197
лично у меня диссонанс : я не могу во время написания кода понять что передавать стринг или стринг_вью.В функции внезапно может понадобиться ,например, оператор + стринга,а я уже везде передаю стринг_вью.Приходится как макака удалять _вью + еще идти в хедер и там тоже править.Поэтому я решил сначала писать все со стрингом,а потом ,где можно, переписываю на стринг_вью.Это вообще нормальная практика?Так и надо?Или я должен заранее все продумывать?
1137 2103712
>>103709
Пиши cref стринг везде и не еби голову
1138 2103713
>>103712
стинг медленее,але
1139 2103717
>>103713
Наяриваешь на ебучие фемтосекунды, шиз?
1140 2103720
>>103717
если у меня что-то крутится в цикле и ржет почти весь cpu time то да
1141 2103731
>>103720
Хуево быть тобой, но сначала попрофилировать попробуй, а не экономить на спичках
1142 2103818
Ананасы, нужен совет. За плечами прочитанный Липпман + Мейерс, желтый, красный (сейчас на коричневом) пояса на курсере, решал задачки на хакерренке + плюс писал дерьмо-уи на qt. Примерно года полтора кручусь в плюсах.
Книжки в планах:
- С++17 STL Cookbook
- C++ Templates: The Complete Guide
- Introduction to algorithms
- Data structures and algorithm in C++
- C++ Concurrency in Action Sec. Edition

Темы, которые хотелось больше изучить:
- type_traits и метапрограммирование
- дефолтные алгоритмы + структуры (стек, очередь, двоичное дерево)
- сортировки и их сложность
- шаблоны проектирования
- сув, именно git
- тестирование, юнит-тесты (G test)
- базовые нейронки (tensorflow), комп. зрение
- параллелизм + многопоточность
- сетевое (сокеты, протоколы)
- липукс
- solid, SFINAE, RAII, методологии разработки
- мув семантика и перфект форвардинг
- boost, cmake

На чтобы вы посоветовали обратить внимание в первую очередь, а что отложить в длинный ящик?
1143 2103860
>>103818
ты код то пишешь, или просто ИЗУЧАЕШЬ?
1144 2104090
>>103818
По темам в первую очередь:

RAII. Без этого в плюсах нельзя.
Мув семантика. Без этого в плюсах тоже нельзя. А вот perfect forwarding можно отложить в длинный ящик
CMake на уровне "проект создать, буст подключить"

Дальше плюсы закончились, идет более общее:
линукс (под ним либы проще подключать, потому что есть пакетный менеджер)
Алгоритмы (всегда пригодится и мозги разомнет)
git (везде нужен, возьми книгу Pro Git, есть бесплатно и даже на русском)
Тестирование, только вместо gtest возьми github.com/onqtam/doctest
Многопоточность на уровне "без мьютексов мне пиздец", все остальное начиная с атомиков - отдельная научная ветка, а не плюсы
Сокеты - возьми синхронные из Boost::Asio для начала, чтобы с сетью разобраться. Если хочешь выпендриваться - то можешь и чистые socket().

Отдельные группы:
А: шаблоны проектирование, SOLID. Это про проектирование, совсем не от языка зависит. Плюсы разве что немного привкуса дадут.
Б: методологии разработки. Это менеджмент и управление проектами, а не программирование, тем более на C++.

Абсолютно отдельные области, по каждой из которых можно заводить отдельные доски:

Нейронки и машинное обучение в целом
Классическое компьютерное зрение

В длинный ящик:
метапрог, sfinae - тема специфичная, нужна разработчикам библиотек, но при обычном программировании почти не нужна
* boost целиком - там охулиард библиотек
1144 2104090
>>103818
По темам в первую очередь:

RAII. Без этого в плюсах нельзя.
Мув семантика. Без этого в плюсах тоже нельзя. А вот perfect forwarding можно отложить в длинный ящик
CMake на уровне "проект создать, буст подключить"

Дальше плюсы закончились, идет более общее:
линукс (под ним либы проще подключать, потому что есть пакетный менеджер)
Алгоритмы (всегда пригодится и мозги разомнет)
git (везде нужен, возьми книгу Pro Git, есть бесплатно и даже на русском)
Тестирование, только вместо gtest возьми github.com/onqtam/doctest
Многопоточность на уровне "без мьютексов мне пиздец", все остальное начиная с атомиков - отдельная научная ветка, а не плюсы
Сокеты - возьми синхронные из Boost::Asio для начала, чтобы с сетью разобраться. Если хочешь выпендриваться - то можешь и чистые socket().

Отдельные группы:
А: шаблоны проектирование, SOLID. Это про проектирование, совсем не от языка зависит. Плюсы разве что немного привкуса дадут.
Б: методологии разработки. Это менеджмент и управление проектами, а не программирование, тем более на C++.

Абсолютно отдельные области, по каждой из которых можно заводить отдельные доски:

Нейронки и машинное обучение в целом
Классическое компьютерное зрение

В длинный ящик:
метапрог, sfinae - тема специфичная, нужна разработчикам библиотек, но при обычном программировании почти не нужна
* boost целиком - там охулиард библиотек
1145 2104298
>>097181
Ты гонишь?
IDEшек валом (кодеблокс, девсипипи,эклипс сдт, вижуал студио, Зе Иде....). Не нравится - возьми напиши свою, как ты ёё видишь.
И скилл прокачаешь и сделаешь что-то полезное этому миру.
Вон Роб Пайк написал под себя Acme, чем ты хуже?

Компиляторы активно развиваются вместе с языком. ГЦЦ, ЛЛВМ, студия.
И да, не нравится учить С++ - учи что-то другое. не мучай себя.

>>097527
Лучше Джош Лоспинозо. есть на инглиш и есть на русском. Там весьма круто дан курс, плюс практика с гугл тестом, бустом и так далее.

>>100022
вот так в сишном виде:
https://www.cprogramming.com/tutorial/cfileio.html
вот так в плюсах
https://stackoverflow.com/questions/49492259/writing-binary-data-to-fstream-in-c

>>100214
Джош Лоспинозо или Айвор Хортон. Ivor Horton Beninning C++ 17/20.
А в целом тебе важно взять книгу уровня не ниже 14 стандарта.
Это например самоучитель Лажойе Липпмана или еще кого-то такого.
>>101536
https://www.geeksforgeeks.org/frequency-substring-string/

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

>>103818
тебе годно ответили, тебе я тоже посоветую глянуть книгу Лоспинозо.
Что касается тем...
Смотри. Начни с Гита. он несложный в базовом виде.
там уровень clone/ pull/commit/push.
Это всегда надо, чтоб ты если что-то напорол, мог откатиться.
Дальше..Юнит тесты ты можешь на рутрекере найти курс по ТДД на плюсах от lynda. С гугл тестом и гугл моком ( опять же лоспинозо рассказывает в книге как сим добром пользоваться, а курс уже типа hands on)

По шаблонам можно почитать книгу Нестерука(патамушо современно) или https://refactoring.guru/ru ( в доках вк есть его книга, найдешь).

Дальше читай алгоритмы и структуры данных. есть гудрич, есть седжвик и есть еще талмуд Drozdek
Многопоточность это C++ Concurrency in Action Sec. Edition, которого ты уже указал.
1145 2104298
>>097181
Ты гонишь?
IDEшек валом (кодеблокс, девсипипи,эклипс сдт, вижуал студио, Зе Иде....). Не нравится - возьми напиши свою, как ты ёё видишь.
И скилл прокачаешь и сделаешь что-то полезное этому миру.
Вон Роб Пайк написал под себя Acme, чем ты хуже?

Компиляторы активно развиваются вместе с языком. ГЦЦ, ЛЛВМ, студия.
И да, не нравится учить С++ - учи что-то другое. не мучай себя.

>>097527
Лучше Джош Лоспинозо. есть на инглиш и есть на русском. Там весьма круто дан курс, плюс практика с гугл тестом, бустом и так далее.

>>100022
вот так в сишном виде:
https://www.cprogramming.com/tutorial/cfileio.html
вот так в плюсах
https://stackoverflow.com/questions/49492259/writing-binary-data-to-fstream-in-c

>>100214
Джош Лоспинозо или Айвор Хортон. Ivor Horton Beninning C++ 17/20.
А в целом тебе важно взять книгу уровня не ниже 14 стандарта.
Это например самоучитель Лажойе Липпмана или еще кого-то такого.
>>101536
https://www.geeksforgeeks.org/frequency-substring-string/

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

>>103818
тебе годно ответили, тебе я тоже посоветую глянуть книгу Лоспинозо.
Что касается тем...
Смотри. Начни с Гита. он несложный в базовом виде.
там уровень clone/ pull/commit/push.
Это всегда надо, чтоб ты если что-то напорол, мог откатиться.
Дальше..Юнит тесты ты можешь на рутрекере найти курс по ТДД на плюсах от lynda. С гугл тестом и гугл моком ( опять же лоспинозо рассказывает в книге как сим добром пользоваться, а курс уже типа hands on)

По шаблонам можно почитать книгу Нестерука(патамушо современно) или https://refactoring.guru/ru ( в доках вк есть его книга, найдешь).

Дальше читай алгоритмы и структуры данных. есть гудрич, есть седжвик и есть еще талмуд Drozdek
Многопоточность это C++ Concurrency in Action Sec. Edition, которого ты уже указал.
1146 2104334
>>104298

>Ты гонишь?


Это очевидный жирный тралл
1147 2104404
>>104090
>>104298
Безграничное спасибо за исчерпывающие ответы. Добра вам и все будет цэпэпэ.
1148 2105899
Что делать если мне 17, я знаю c++ и умею писать на winapi?
1149 2106092
Пытаюсь вкатиться в плюсы.
Подскажите, есть ли смысл во всяких курсах на степик, курсера, яндекс практикум или это просто трата денег?

Достаточно просто читать все подряд книги от липмана, майерса и тд?

Есть ожидание, что на курсах могут не только рассказать о самом языке, но и какие то реально используемые вещи покажут. Может какие то механизмы IDE, отладки, использование актуальных библиотек.

Кажется, что читая книги без практики мало что отложится в голове. А для практики нужны какие то интересные реальные задачи.
1150 2106291
Кто-нибудь читал Страуструп - Программирование. Принципы и практика использования C++? Интересует не как учебник по С++, а как книга по Компьютер Сайнс и прикладному программированию, знания из которой можно применить и в других языках. Вот насколько Страуструп хорош как такая книга?

>>106092

>А для практики нужны какие то интересные реальные задачи.


На английском есть такие задачники (не знаю, насколько они практичны)
http://libgen.rs/book/index.php?md5=AE008E2D081A44F9DCA2F139206986A7
http://libgen.rs/book/index.php?md5=E693BEAEFA5A569E9770868ACA108721
1151 2106477
>>106092
Надо писать код. Просто блядь пишешь код 24х7, любые говнопроекты. напиши тетрис, напиши марио. А если что-то не ясно - читай книги\статьи. Главное пиши
1152 2106481
>>106092
А курсы, оверолл - тупое говно. Ну может в яндексовском еще есть какой-то смысл, остальное совсем мусор.
1153 2107085
>>106477
Джва года уже изучаю плюсы.
Прочитаны лимпан, часть майерса. Начал алгоритмы сэджвика, начал страуструпа ППП.
Отвлёкся на Столярова. Какая же годнота. Не просто описание языка, но и ассемблер и сеть и паралленьность хоть потрогал.

Параллельно написал консольную змейку. Дальше стало интересно посмотреть код серьёзных пацанов скачал исходники doom3, и начал оттуда таскать куски кода и заодно переводить их на stl и Smart pointers вместо сырых массивов. В итоге натыкал везде shared_ptr - стало всё тормозить и утекать память. Разобрался с crt.
Такие вот самоделки можно делать бесконечно долго. При этом кажется что опыт всё таки стоит на месте т.к в вакансиях нужна сеть, нужна параллельность.

Так как сам на данный момент недопрограммист - 1сник, есть желание попробовать написать свой интерпретатор языка.
1154 2107717
>>107085

>Отвлёкся на Столярова. Какая же годнота.


ШУЕ ППШ
Книги для начинающего 1155 2107751
Привет, подскажите пожалуйста, я студент 2 курса и у нас в универе пока только паскаль. Но я хочу изучать C++ (в том числе для олимпиад), какую книгу можно взять чтобы в ней были и упражнения и достаточно теории для того чтобы изучить сам язык и STL? И еще вопрос по поводу книги с алгоритмами, можно ли взять читать Кормена, и чем отличается от такой же книги Седжвика по алгоритмам
1156 2107761
>>103103
Что это за редактор/IDE?
1157 2107785
>>103818
Есть еще https://habr.com/ru/company/piter/blog/353404/
(С++17 STL. Стандартная библиотека шаблонов), но она на русском. Мне понравилась глава в которой автор показывает как создавать разные многопоточные штуки и с std::filesystem
клоун 1158 2108336
Можно ставить if и условие без else?
1159 2108375
>>054115 (OP)
А вы знали, что все плюсеры геи
567.png9 Кб, 535x311
клоун 1160 2108734
Сап сиплюсач, как в этом коде сделать чтобы ввод считывался неограниченно, а не только два раза по каждому на переменную?
1161 2109138
>>108734
while(true)
{
std::cin >> item1 >> item2;
if(...)
{ ...
break;
}
std::cout << "nahui" << std::endl;
}
1162 2111270
где перекат
1164 2111528
Тред утонул или удален.
Это копия, сохраненная 31 июля 2021 года.

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

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