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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1479294246674.png2 Кб, 250x250
C++ тред #117 /cpp/ 1765587 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

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

Для указателей:
Прошлый: >>1758813 (OP)
2 1765650
>>765587 (OP)
Хорошо, что здравый смысл победил, и не ждут 1000 постов.
sage 3 1765672
>>765650
Наоборот же
4 1765682
>>765587 (OP)
Есть адаптированный перевод блога из шапки.
Оригинальный(из раздела "Куча других блогов") - https://www.learncpp.com/.
Перевод - https://ravesli.com/uroki-cpp/.
Возможно, стоит занести его в шапку? Он так же полностью бесплатный
5 1765686
>>765682
Учить яп надо по книгам
6 1765725
>>765686
А я учи по видосам на ютубе. И хули ты мне сделаешь теперь?
7 1765742
>>765686
Заглянул по ссылкам, те же книги, что тебя не устраивает?
8 1765768
Как это так получается, что у типов данных тоже есть методы?
ostr << ifstream("file.txt").rdbuf();
9 1765770
>>765768
Потому что классы - это типы данных.
10 1765786
Как константы в памяти хранятся?
11 1765789
>>765786
Как решит компилятор - так и хранятся. Хоть инлайнятся, хоть имеют адрес.
12 1765791
>>765789
Если я инициализирую константу переменной, то я так понимаю у нее есть адрес и ограничение на дальнейшие присвоения "искусствены"и с помощью указателя можно изменить константу?
изображение.png31 Кб, 1092x489
13 1765794
>>1765420 →
И как это сделать? Там даже значений нет. Конструктор без аргументов в mat не работает.
Что-то вроде vec x{} тоже не работает.

Вот слева то что я хочу написать, а справа то что приходится писать с жутким }}}}. Я могу отказаться от union в vec записав оператор индексирования как *((&x)+i), но в mat это невозможно, потому что мне нужно как поле .x типа vec, так и поле .xx типа float.
Либо я могу отказаться от конструкторов, и писать _vec, который будет static-функцией возвращающий vec.
14 1765795
>>765791
Это UB.
15 1765841
Норм использовать посимвольные операции для работы со всей строкой? Например применять toupper для каждого символа строки
16 1765845
>>765791
Ты не можешь инициализировать константу не константой.
17 1765847
>>765841
Это больная тема с++, потому что например в юникоде 1 "символ" может быть несколько байт.
18 1765848
>>765845
Могу. Прекрасно работает такая вещь:
int n;
cin>> n;
const int a = n;
19 1765852
>>765847
В книге, что я читаю приведена таблица функций для работы с символами строки. Например isalnum, isalpha, isdigit и тд. Они работают в любой кодировке?
20 1765856
>>765852
Ну их вообще принято использовать или есть более хорошие вещи?
21 1765859
>>765852
Вроде будут посмотри пример
https://en.cppreference.com/w/cpp/string/byte/isalpha
22 1765860
>>765852
Нет, они только для ASCII. Для юникода, который в 2020 стыдно не поддерживать из коробки, и по сей день тащат сторонние либы.
23 1765861
>>765848
Ясно.
24 1765863
>>765861
Что не так?
25 1765864
Я ввожу дату в стандартный поток через cin и проверяю ее соответствует ли она определенному формату через условие:
if (stream >> y && stream.ignore(1) && (stream >> m) && stream.ignore(1) && (stream >> d)) { что-то делаю}
Но если у меня не соответствует формату, то как мне вывести то, что было введено вместо даты? Пробывал так:
else if(stream>>s) {cout<< s;} , где s- это строка, но нихуя не работает.
26 1765865
>>765859
Господи, их результат ещё и от текущей локали зависит. Пиздец.
27 1765866
>>765859
Ну там кажется внизу табличка ASCII и функции для нее, так что наверное прав этот >>765860
Вообще планируется поддержка юникода? В 20 стандарте что то есть об этом?
28 1765867
>>765866
Юникод и так поддерживается. wchar wstring wcin wcout
29 1765868
>>765867
А функции для них те же о которых я вверху писал?
30 1765871
>>765866
Вообще, вот что нашёл: https://stackoverflow.com/questions/28282357
31 1765874
>>765871
Ооо. Спасибо большое
32 1765875
>>765867
Никак не поддерживается.
33 1765883
>>765875
А это >>765871 что?
34 1765893
>>765883
Он имеет в виду, что поддержка так себе. То, что я скинул, выглядит лютым костылём по сравнению с остальными языками.
35 1765894
Как сделать так, чтобы вносимые изменения в файл отображались в реальном времени, пока программа выполняется?
36 1765895
Почему не 3 и -10?
37 1765896
>>765894
Всё, понял. Надо в цикле в начале алгоритма файл открывать, а в конце алгоритма закрывать.
38 1765900
>>765895
у запятой приоритет ниже, чем у <<
39 1765901
>>765894
Не обязательно закрывать, достаточно вызвать flush().
40 1765903
>>765901
А какая разница, если эффект один и тот же?
41 1765905
>>765895
(cout << (a = -10)), b;
так понятней?
42 1765907
>>765903
Экономия на времени открытия/закрытия файла, но вряд ли в твоём случае это критично.
43 1765909
>>765895
Ты и там и там вывел a. Однако странно, что компилятор крестов позволяет писать как в первом выводе с b, я не вижу в этой записи смысла.
sage 44 1765914
Шизло, хватит катить на 500. Уже больше года на 1000 катимся. И шапку проебал еще, ну молодец вообще.
45 1765915
>>765905
Да
>>765909
Я же вторым пиком определение прткрепил
46 1765917
>>765915
Твоё определение хуйня. По крайней мере, в случае с <</>>.
47 1765920
>>765917
Проебался с приоритетом. Определение ни при чем
48 1765958
>>765587 (OP)
говнарь-пыхер стаж 4 года, бумер. Вчера начал учить си++ для того, чтоб уехать РАБотать в амазон через пару лет в какую-нибудь ёба-разработку нейросетей.

Пожелайте удачи, ебать.

алсо, a tour of c++ 2nd edition норм тема для новайсов?
49 1765971
>>765958

>C++.


>Нейросетей.


>Уехать через пару лет.

50 1765985
>>765971
что не так?
51 1766000
>>765985
Через пару лет нейросети сами будут писать тебя.
52 1766006
>>766000
не надо меня писать
53 1766085
C++ надо просто определить неопределенное поведение.
Почему это ещё не сделали?
54 1766090
Хочу винапи на шаблонах, а не на указателях на void
55 1766095
>>765985
Загляни в машоб тред хотя бы
56 1766096
>>765971
В дурку точно уедет
58 1766145
>>766142
Эх, я тут расписывал ответ, а ты взял и... сделал всё как надо.
59 1766146
>>766142
Да ну ерунда, сделать их все ошибками и ввести какой нибудь аттрибут для отключения в конкретных нужных тебе местах.
60 1766147
>>765587 (OP)
Господа, мне нужно написать 10 строчек кода для пердуино (бесплатно), я попал по адресу?
Сам я так-сяк могу в питон, а в этих ваших крестах не могу даже вменяемо оформить цикл не говоря уже о бесконечных expected ";" и "{" и variable is not declared in this scope иными словами я жестоко страдаю.
Ну и если кто заинтересовался, то вкратце о проблеме. Есть датчик, который возвращает дистанцию в сантиметрах и есть некое relay, которое можно on/off. Мне нужно, что бы relay on на определенной дистанции обьекта до датчика, и оставалось таким вплоть до изменения этой дистанции, после чего переходило в режим off с задержкой в 2 минуты. Но если за 2 минуты обьект снова попадает в дистанцию, то задержка сбрасывается, и relay остается в on.
Если тут таким не занимаются, скажите куда идти только не нахуй
61 1766156
>>766146
Подумай об этом не со стороны своих эгоистичных замашек, а со стороны разработчиков компилятора и кучи других разработчиков под самые разные архитектуры, и всё станет понятно.
62 1766183
>>766156
Как раз от убирания UB лучше станет всем.
63 1766196
>>766147
Иными словами, тебе нужно постоянно проверять дистанцию - и если дистанция подходящия, то нужно две минуты держать что-то включённым?

> я попал по адресу?


Вообще нет, но твоя задача в самом деле решается за три минуты, если иметь ардуину и настроенную ide под рукой с датчиком. Вот так вслепую - не напишу, потому что ардуину мучал час или около того. Что-то вроде такого, но это в самом деле пальцем в небо и нужно дописать опрос датчика: https://ideone.com/yBqOdx
64 1766201
>>765958
бумер на связи. Потихоньку читаю книжульку. Сейчас вот разбираюсь с понятием nullptr, вроде бы, пока что как по маслу маспу идёт, но медленно.

держу в курсе
65 1766220
Здравствуй, анон.
Хуй знает, по адресу ли я, но мне нужен совет шарящих людей из мира с/с++ разработки.
Коротко - я не знаю в какую сторону мне дальше двигаться. Получил инженерную вышку, устроился в эмбедед разработку контрол инженером, шарю в ТАУ и физике, построить элементарную 1d симуляцию вообще не проблема, умею в fem и cfd. Разработка в основном в симулинк, с автоматическим кодогенератором. Некоторые модули пишу вручную на С, типа adc или пвм модуляции.
Так вот, то чем я занимаюсь - абсолютно унылая и хуево оплачиваемая дичь, потолок может 100к в ДС. Эти скиллы никому практически никогда не нужны.
Два стула - вкат в С++ разработку эмбедед или околоэмбедед, ну или забить на всё выученное хуй и вкат в какой-то дата сайенс/машин лернинг.
По первому стулу меня готовы почти мидлом брать. Уже потыкался по собеседованиям. По второму надо будет начинать с джуна.
Буду благодарен за совет.
66 1766221
>>766147
А вообще вот, лол: https://2ch.hk/ra/res/411957.html (М)
67 1766290
>>766220
Иди в эмбед. научишься писать код, а дальше перекатишься в нормальную или ваще в гермашку какую.
68 1766301
>>766290
да я уже именно в Гермашку и перекатился и занимаюсь вышеописанной хуйней к сути моего поста это правда отношения не имеет. Разве что это огромный минус, так как то, чем я занимаюсь есть только 5/2 8 часов в неделю в офисе, в очень дорогих городах, где 3к€ разраба просто смешны. Кодинг же в отличии от инженерии достаточно гибкий, фрилансить или работать удалённо или работать на гелере можно откуда угодно за те же деньги. Но это лирическое отступление.
У тебя есть опыт или знакомые в эмбедед с++ разработке?
69 1766303
>>766196
Спасибо! Перепощу в /ra, похоже что для них это совсем пустяки.
70 1766307
Сап /b/pr, нафаня на связи.

Ситуация: некая программа построчно пишет данные в конец файла(всякие логи), нужно отлавливать момент записи и собственно сами логи, в какую сторону капать?
Возможно проблема слишком легкая, но никогда с этим не сталкивался, максимум парсил готовые XML-ки
71 1766330
>>766307
Можно отслеживать событие изменения файла: https://stackoverflow.com/questions/931093/how-do-i-make-my-program-watch-for-file-modification-in-c

А можно с определённой частотой, например, 10 раз в секунду, смотреть время последнего изменения файла, что менее эффективно: https://en.cppreference.com/w/cpp/filesystem/last_write_time
72 1766333
>>766183
Это почему?
Давай на конкретном примере. Сложение двух знаковых целых чисел с переполнением. Это потенциально практически каждое сложение интов. Какие ты тут хочешь ввести атрибуты? Как ты уберёшь тут UB? Кому станет от этого легче жить?
73 1766354
>>766330
Благодарю тебя анон
74 1766428
Сап, аноны. Пытаюсь сделать небольшую роуг-лайк игру. Какие либы/средства использовать для отображения карты? В джаве я юзаю Jframe для этого. Нужна карта, которая будет размечена на секции со своими символами/иконками. Что посоветуете?
75 1766446
76 1766467
77 1766491
78 1766519
>>766446
а что скажешь про libtcod?
79 1766532
>>766519
Не слышал о такой. Но выглядит на первый взгляд неплохо.
80 1766549
>>766301
Эмбедед на плюсах? А что ты им делать собрался, когда там максимально низкоуровневый код?
82 1766567
>>766549
Весь driver assisntent systems на плюсах, почти весь автономный драйв на плюсах, всевозможные драйвера, комуникации, инфотеймент и тд.
Эмбедед это же не только диодиками мигать.
83 1766585
Есть вообще хоть какая-нибудь альтернатива винапи для нормального интерфейса уровня софта от майков?
wxWidgets не поддерживает кучу фич винды, qt сам рисует интерфейс и он выглядит как инородное говно, WPF ущербный и опять же не может как винапи. Неужели нет нормальной абстракции винапи с поддержкой всех свежих фич DWM?
84 1766589
>>766567
Что вообще знать надо помимо плюсов, чтобы в ембедед вкатиться?
85 1766592
>>766333
Это как раз очень простой пример. Если у тебя переполнение, то у тебя UB. А значит ты не проверил данные, и на выходе у тебя мусор. Проверять надо или в рантайме, или в компайл тайме, где ты явно указываешь гарантии что твои данные вписываются в диапазон. Например специальным типом данных, который точно может быть только от -5 до 5. Или контрактами. От этого станет легче жить вообще всем - и программистам, которым меньше ловить плавающих багов и уязвимостей. И пользователей, чьи самолеты перестанут втыкаться носом просто потому что компилятор что то там оптимизировал скрыто.
86 1766643
>>766566
Ну это конечно высокая планка, если вкатишься во все это то мое почтение
87 1766644
>>766589
Электронику и то, как работает микропроцессор. Слова регистр, adc, dma, eeprom, spi не должны наводить ужас. В зависимости от отрасли еще и теорию автоматического управления, физику этц. Эмбедед эмбедеду рознь.
88 1766695
>>766592
А прикинь, антош, если каждый сраный ++i сможет кидать исключение IntegerOverflow
как в божественном SML
89 1766701
>>766592
И производительность как у питона будет.
90 1766704
>>766695
Я только за. Нахуй нужен wrap чтобы индекс в массиве стал отрицательным?
91 1766705
>>766701
Предпочитаешь быстрые но некорректные программы?
92 1766721
>>766705
Оба варианта так себе, но иногда перформанс действительно важен, и тогда программу должен писать очень высококвалифицированный кодер, чтобы она была как можно менее некорректная.
93 1766730
>>766705
Если не нужна производительность, зачем вообще плюсы трогать? Есть куча других безопасных языков, выбирай любой и ебись с ним.
94 1766734
>>766730
UB это ошибка.
95 1766735
>>766585
У Boost есть какая-то обертка над WinAPI, но над чем именно не знаю.
96 1766743
>>766585
WinRT?
97 1766750
>>766734
Нет, это выбор. Я выбираю нож поострее. Да, острым ножом можно себе где-нибудь артерию вскрыть, но на то он и нож.
98 1766755
>>766750
Да это и так понятно что ты эджи школьник любящий играться с ножами. Жалко людей которые потом гибнут
99 1766759
>>766585
ATL и WTL.
100 1766762
>>766585
>>766743
>>766759
Фу бля. Ещё MFC раскопайте.
101 1766772
>>766762
Ничего общего с MFC.
102 1766779
>>766759

> ATL


Мммм CStringT, вкусно
103 1766798
>>766779
И? Унификация char, wchar_t и винапишного TCHAR.>>766779
104 1766807
>>766090
Хочу для начала винапи, который не засирает всё своими макросами.
105 1766849
>>766585
WPF. Используй C++/CLI для взаимодействия между шарповой и плюсовой частями. Работает, проверено на себе
106 1766854
>>766849
А, чёрт, недочитал (хватит с утра на двачах сидеть). Кроме как чистых винапи для взаимодействия с DWM от роду не видел.
107 1766977
>>765786
Зделай дизасм да посмотри
108 1766988
>>766201

>nullptr


И что ты понял, что это такое? В чем разница между NULL, nullptr, 0?
109 1767054
>>765786

>Как константы в памяти хранятся?


Как скажешь так и хранятся.
attribute _((section("name")) и man ld.
image.png30 Кб, 555x355
110 1767203
В чем разница?
111 1767240
>>767203
Да получается, что никакой. Вызывается одинаковый конструктор для списка инициалиазации.
112 1767242
>>767203
В первом случае создание и копия - во втором создание и пробрасывание по rvalue reference.
113 1767288
>>767203
Надо писать std::move(v...)
114 1767300
>>767288
Проще на Rust перейти.
115 1767308
>>767300
Там жизни нет.
116 1767549
>>767288
Зачем? Аргумент и так rvalue. В std::move надо было бы оборачивать, если бы передавался lvavlue объект, созданный заранее вектор.
Здесь фишка в том, что объект создается прямо в выражении. Поэтому вызывается обычный конструктор в обоих случаях, а не копирования и не перемещения.
117 1767587
>>767549
Copy elision гарантируется только начиная с 17 стандарта.
1596477762973.jpg41 Кб, 620x418
118 1767679
Есть какой нибудь супер простой пример реализации Model/View в Qt для полных даунов? А то я Шлее почитал, кутевские мануалы почитал и все равно нихуя не ебу, как это все создавать. Чувствую себя полным дебилом.
120 1767702
>>767688
Спс, надо попробовать.
121 1767706
>>766196
Перенял идею с этой проги, сильно упростилась жизнь, спасибо еще раз.
>>766221
А там оказалось ничего интересного, восседают господа Таурины и обсуждают по сколько ножек должно быть у резистора.
122 1767809
Решил прокачать boost::hana и для этого думаю запилить библиотечку которая позволяет
1) сначала декларативно описать правила комбинации флагов
2) проверить в compile time произвольный набор флагов на корректность

Ну вот например - https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebox
Очевидно, что, скажем, комбинация MB_RETRYCANCEL | MB_YESNOCANCEL смысла не имеет. Но когда туча флагов, можно и не заметить ошибку. А тут в compile time сразу будет ошибка

Как вам?
123 1767813
>>767587
Уже двадцатые почти вышли.
124 1767814
>>767809
Хедер-онли, stb-стайл, final destination
125 1767821
>>767308
Чего тебе в Rust не хватает?
126 1767829
>>767813
Прямо сейчас пишу на С++11 на работе, и это я ещё удачно договорился.
127 1767831
>>767829
Проиграл с "удачно договорился". У нас ни одно проекта даже на С++14 уже нету.
128 1767835
>>767829
Ну, что могу сказать - удачи, и не забывай писать ::type после enable_if
129 1767837
>>767814
Чё? Ничего не понял ( ну кроме, понятное дело, header only )
130 1767842
>>767813
Круто. Я тоже свои хеллоу ворлды на 17 пишу, а на работе 11.
131 1767849
В чем проблема перевести рабочие проекты на cpp17?
132 1767864
>>767849
При переходе c++11 -> c++14 семантика и поведение некоторых конструкций менялось,
https://stackoverflow.com/questions/23980929/what-changes-introduced-in-c14-can-potentially-break-a-program-written-in-c1

Надо деньги чтобы все исходники проверять
133 1767930
>>767821
Вакансий
134 1767938
>>767864
Если уж по чесноку, то эти изменения скорее всего у тебя никак не проявятся. Да и ищутся такие места простым поиском по исходникам.
135 1767940
>>767938
Ну да. Берем один стандарт, другой, и делаем diff. И вывод суем в grep. По миллиону строк исходников. Так проекты на новые сипласпласы и переводят.
136 1767952
>>765587 (OP)
Сап, анон. Какой есть самый адекватный способ передачи произвольных контейнеров определенного типа в функции? Через итераторы? Можете привести пример?
137 1767955
>>767952

> произвольных контейнеров определенного типа


Ты уж определились

Посмотри на std::for_each какой-нибудь
138 1767978
>>767837
stb-стайл - в стиле библиотек от Шона Баррета (https://github.com/nothings/stb). Вместо размножения inline функций в каждом месте, где ты инклюдишь либу, ты в одном файле подключаешь инклюдишь с макросом (например, STB_TRUETYPE_IMPLEMENTATION), который вставляет реализации, а в остальных файлах будут только сигнатуры функций. Хотя если писать на плюсах, то линкеру от этого будет ни холодно ни жарко по сравнению с нагрузками от тысяч шаблонов.
Final Destination - старый мем про Smash Brothers
139 1768013
>>767955
Наверное он хотел сказать "произвольных контейнеров, которые могут содержать элементы только опоеделенного типа".
140 1768043
>>767831
Ну и что? Везде по-разному.
141 1768055
Есть ли отличие между

Class object = Class()
и
Class object();
142 1768058
>>768055
Первое не скомпилится без точки с запятой. В остальном одно и тоже.
143 1768060
>>768058
*то же
144 1768061
>>768058
Вот я прикрепил код, который у меня примеррный.

И если я вызываю Person bob(), то никакого вывода в консоли нет.
А если Person bob = Person() то вывод пикрелейтед

Какого хуя?
145 1768067
>>768061

>И если я вызываю Person bob(), то никакого вывода в консоли нет.


Че ты врёшь? У меня всё есть
146 1768068
>>768061
>>768067
А, скобки убери.
Person bob;
147 1768069
>>768055

>Class object = Class();


Создание переменной object конструктором Class

>Class object();


Объявление функции object, не принимающая параметров и возвращающая объект Class.

Это, наверное, одна из самых больших грабель новичков. Читай про most vexing parse. Отчасти ради этого и ввели синтаксис конструирования объектов через фигурные скобки: Class object{}; ведёт себя так, как интуитивно кажется.
148 1768070
>>768068
Ахуеть, а в чём разница тогда? Он что ли думает что я void ему сую в аргументы?
149 1768071
>>768070
Он думает, что это декларация функции.
150 1768073
>>768071
Можешь сделать

Person bob();
bob();

Получишь ошибку линкера, а не ошибку компилятора. Потому что декларация есть, а тела функции нет.
151 1768075
>>768069

>Объявление функции object, не принимающая параметров и возвращающая объект Class.


А разве мы можем объявлять саму функцию в структурном блоке?... Я думал можно только указатель на неё.
152 1768077
>>768075
"Объявить" можно всё что угодно
153 1768078
>>768075
Можем. Welcome to C. Инджой ёр стэй.
154 1768082
>>768078
Бля, точно, мы же пишем иногда перед main блоком хуиту навроде
void pidor()
main...
void pidor() {}
>>768077
Спасибо вам всем большое кто отвечал мне, вы даже меня не обоссали, я удивлён.
155 1768103
Аноны, как в WinAPI вкатится? Сам имею опыт только с QT и QML.
156 1768122
>>768103
открываешь MSDN и читаешь
157 1768233
>>768103
Петцольд.
1596559577921.PNG14 Кб, 473x321
158 1768492
Qt Creator мне каждый раз при новом проекте предлагает запилить деструктор для мейн класса. Но я его удаляю обычно, т.к. лень писать. Чем это чревато для моих программ?
159 1768495
>>768492
Вроде ничем, там все равно вызовется у базового.
160 1768521
Допустим, я наследую у абстрактного класса. в С++
Что будет, если я при переобъявлении методов этого абстрактного класса не напишу const override позади них?
161 1768525
>>768521
Ничего, просто проверки не будет.
162 1768526
>>768525
Какой проверки?
163 1768527
В чем смысл исключений? Почему нельзя на if'ах тоже самое сделать?
164 1768529
>>768525
Override - это компайл-тайм проверка на то, что ты оверрайдишь метод класса в наследнике.

Если ты его уберешь - то просто проверки не будет.

Если ты уберешь конст - то ты нихуя не переопределишь (если в паренте был конст)

>>768527
При правильном использовании - это гораздо более мощная фича, позволяющая писать короче и красивее. При неправильном - пиздец.
165 1768538
>>768521
Он сам подставит.
166 1768539
>>768527
if работает только внутри данной функции. Прикинь тебе все функции придется оборачивать в тонны if. Но вообще сейчас в сторону возврата туплы смотри. [result, error_code] = some_foo();
167 1768546
>>768529
>>768539
Спасибо
168 1768550
На что влияет здесь const?
int & const r2
Что поменялось бы если бы const не было?
169 1768551
>>768550
int& const == const int&
170 1768553
>>768551
Спасибо.
171 1768554
if (int& const == const int&)
{
std::cout << "Спасибо.";
}
172 1768561
>>768550
это же вообще не компилится, алло
173 1768564
>>768550
const int & — норм
int const & — норм (то же самое)
int & const (как ты написал) — не допустимо.
174 1768591
>>768527
Сделай свои exceptions на longjump, сравни. Только так чему-то можно научиться по настоящему.
175 1768598
>>768561
>>768564
Спасибо
176 1768607
>>768103
#include <windows.h>

Не благодари
177 1768705
>>768527
Это синтаксический сахар над longjmp + if.
178 1768711
Вот была бы книга, где рассмотрен весь язык, со всей стандартной либой. Чтобы страниц тысячи три.
179 1768719
>>768711
Да, там слово Стандарт ещё на обложке.
В моей молодости подобные книжки были страниц 200.
180 1768743
>>768591
>>768705
Спасибо
181 1768785
>>768711
Можешь купить оффициальный стандарт
182 1768893
Как вкатиться джуном/стажером в москве? Уже год ищу хоть какую-нибудь работу, везде либо отказ, либо просто не отвечают. Даже на заводы и нии просился.
183 1768944
>>768893
На крестах нет работы для джунов (есть только для обладателей связей). 99.9% работы на крестах в продакшене требуют знаний как минимум миддла, который почти синьор. С++ - худший ЯП для вката.
Тебя могут пригласить на собес, если у тебя есть очень серьезные личные байтоебские проекты (своя ОС, свой игровой движок, компилятор, эмулятор процессора - нужное подчеркнуть), но если не повезет и в то же время у них будет собеседоваться пчел с 10-ью годами коммерческого опыта разРАБотки на крестах - тебя пошлют нахуй. Се ля ви.
184 1768977
>>768944
Спасибо
186 1768985
>>768979

> опыт разработки в Qt на С++ под Windows/Linux;


> уверенные знания С++, STL


> знания ООП.



> Должен иметь представление о разработке многопоточных сетевых приложений на C++ под Linux


> Знать С++11, STL, metaprogramming, Atomic, POSIX API, IPC;


> Знать фундаментальные структуры данных и алгоритмы;


> В состоянии прочитать техническую документацию на английском языке.



Как-то лайтовенько очень.
187 1768999
>>768985
ну джуны же нахуя им метапрограмминг лол
188 1769128
>>768944
Ещё хочу заметить, что лично у меня никогда не было чисто плюсовской работы, даже если в вакансии были только плюсы. Везде нужен был какой-нибудь ещё доп язык типа шарпов или питона.
Мимопроходил
189 1769161
>>768985
Это требования для мидла

А ты и половины слов в этой вакансии не знаешь небось, зато выебнулся про лайтовенькость
190 1769162
Почему так сложна?

Скачал CodeBlocks, создал проект hello world, а он не может найти компилятор. Оказывается там была отдельная ссылка для скачивания CodeBlocks+MinGW.

Удалил, установил CodeBlocks с MinGW. Опять не находит компилятор. Видимо старые настройки остались. Попробовал прописать пути, но то ли я не все прописал, то ли неправильно прописал. Ничего не компилирует.

Все снес. Установил отдельно MinGW в c:\MinGW, отдельно чистый CodeBlocks. CodeBlocks его увидел. Собираю проект.

>fatal error: wchar.h: No such file or directory


Но этот файл есть в C:\MinGW\lib\gcc\mingw32\9.2.0\include\c++\tr1
Почему он его не находит?
191 1769164
>>769161

> опыт разработки в Qt на С++ под Windows/Linux;


> уверенные знания С++, STL


> знания ООП.



Для мидла?
192 1769166
>>769162
Почему каждый тупой уебан ставит этот ебучий кок-блокс, который нихуя не умеет и нихуя не работает, а потом ебется с ним в жопу, когда есть стандарт индустрии под винду - Вижуал Студия.

Она просто работает из коробки, поставь ее и не еби голову.
193 1769168
>>769162
Может у тебя CodeBlocks установлен в папке с кириллицей в пути?
194 1769177
>>768944
Пиздежь и провокация. Работу нашёл с первого раза, через пять лет уже сам набираю в команду джунов. а других нет
195 1769181
>>769166
У меня стоит VS2019. Я захотел попробовать SFML, а там на сайте нет либ для этой студии (есть для 2013, 2015, 2017) и написано, что разные версии не совместимы. Была еще версия для кодеблокс, и я решил ее попробовать.
196 1769184
>>769181
Начиная с 2015 совместимы, но не наоборот
197 1769186
>>769181
Бери для 2017 или 2015 - взлетит
198 1769187
>>769168
Установлен в C:\Program Files. Есть пробел, но он сам предлагает туда устанавливаться.
199 1769189
>>769181
Собери сам, собирал недавно, всё ок.
200 1769193
>>769177
Что вы разрабатываете?
201 1769194
>>769193
Ачько
202 1769196
>>769164

> Должен иметь представление о разработке многопоточных сетевых приложений на C++ под Linux


> Знать С++11, STL, metaprogramming, Atomic, POSIX API, IPC;


> Знать фундаментальные структуры данных и алгоритмы;


> В состоянии прочитать техническую документацию на английском языке.



Ты тупой? Сам же написал.
Ща бы вкатываясь в плюсы стремиться "знать" какую-нибудь хуйню типа метапрограмминга, а о сетях и многопоточке просто "иметь представление". Складывается такое ощущение, что ХР нагуглила базвордов и разместила это гавно не особо заморачиваясь согласованием с разрабами
203 1769200
>>769193
средства 3d моделирования
204 1769251
>>769177
Скольким дедам отсосал чтобы пробиться в тимлиды?
205 1769337
>>769251
Если уж проводить такую аналогию, то получается, что удалил два ребра
206 1769367
>>769251
Только одному. Ему тоже не зашло.
207 1769420
>>769162
Должен быть в C:/MinGW/include
209 1769487
Сап, есть один абстрактный класс, а в нем есть ЧВМ, возвращающей указатель на объект абстрактного класса (в моей задумке для возврата объектов классов-наследников). Но трабла в том, что VS пишет, что функция, помеченная override в классе-наследнике не переопределяет функцию класса-родителя.
ЧЯДН?
211 1769498
>>769488
точки с запятой после обоих классов?
212 1769514
>>769487
Ты это, следи еще за типом возвращаемого значения, потому что зачастую в переопределенных методах надо возвращать ссылку на дочерний класс.

ПС орнул с названия метода в коде
213 1769525
>>769498
Это иллюстрация просто была, точки с запятой на месте.
>>769514
Трабла оказалось, наоборот, в значении аргумента.
У меня в родительском классе есть статическое перечисление, которое и является аргументом метода pidoras.
Проблема в том была, что я не указывал полный путь к перечислению (имя базового класса::enum name)
214 1769532
>>769498
Странно, что про точки с запятой ты написал, а про то, что ЧВМ с модификатором доступа private по-умолчанию (private не наследуется) ты не написал.
15881039782433.jpg134 Кб, 1080x1080
215 1769672
Можно ли использовать С++-код в ведерных модулях?

Естественно, без исключений, STL, стоковых new/delete и прочего такого, чисто классы, шаблоны, ссылки.
216 1769678
>>769672
Можно и со всем этим.
217 1769682
>>769672

> без исключений


Так это часть языка...
218 1769744
>>769487
Ты возвращаешь ссылку, а не указатель.
Так-то это работает, но задумка странная. Класс А абстрактный, ты не можешь создавать объекты этого класса. При этом в дочернем полиморфном классе ты возвращаешь ссылку на объект класса А, который ты не можешь создать (по сути, ты можешь из этой функции вернуть лишь ⚹this - ссылку на объект класса B, именно в данном контексте). Зачем - непонятно, объясни если не лень.
219 1769771
>>769672
Конечно можно.
Вот сейчас пилю kernel module под линукс
-fno-exception -fno-rtti, etc
220 1769774
>>769744
Динамик касты между референсами работают по тем же правилам, что и для поинтеров.
221 1769800
>>769744
Так мне в данном методе и нужно вернуть объект класса B. Но полиморфность должна сохранится, поэтому я возвращаю ссылку на класс-родитель, указывающую на объект this.
222 1769850
>>769682
Хер Саттер хорошую речь толкнул про низко-оверхедные исключения, но это только ближе к 2026...
223 1769880
Вкатываюсь из питона/жаэса, коллеги посоветовали "A Tour of C++".
Что скажешь, анон?
Если годнота, то прошу линк на второе издание
224 1769887
>>769850
Они и так низкооверхедные. Точнее зиро оверхедные. Да, когда исключение таки кидается, все это разматывание стека и деструкторы это очень медленно. Но похуй же, это нештатная по сути ситуация.
225 1769890
>>769887

>Точнее зиро оверхедные.


А вот и нет. Performance penalty есть, даже если исключение не кидается.
226 1769892
>>769771
Анончик, возможно ли в модуле завести hrtimer с периодом, скажем, где-то 20-50 мкс? В обработчике собираюсь ногами дрыгать (нет, не колхозный ШИМ). Сильно ли это повлияет на производительность системы, смогу ли я юзать гуй (KDE/XFCE), сеть, HDMI с такими выкрутасами? Платформа - RPi Zero W, 1GHz, 1 ядро. С DMA в пролете, не смогу обеспечить нужную (пониженную) частоту реквестов.
227 1769904
>>767549

> Зачем? Аргумент и так rvalue.


Внутри функции rvalue считается как lvalue, и если предполагается дальнейшая передача, то нужно юзать std::move
228 1769925
>>769890
И бинарник кучей таблиц раздувается.
229 1769930
>>769887
Нет.
230 1769994
>>769771
зачем заниматься анальной гимнастикой и писать это на плюсах? Не проще ебануть на сишке?
231 1769996
>>769994
Всё заебись и удобно.
232 1769998
>>769994

>флаги компилятора


>анальная гимнастика

1.jpg86 Кб, 632x694
233 1770005
Анон, прокомментируй, пожалуйста код.
Недавно начал изучать кресты, пишу маленькую игру для ребенка, есть ощущение, что написал что то лишнее в коде, он работает, конечно, ощущение есть. Может использовать goto лучше чем do и while?
Посоветуй еще, что делать с игрой дальше, как добавить туда кота, который будет бить рыцаря в случае правильного ответа и наоборот. Подойдет ли для этого Unreal? Что почитать на тему того, как добавить всякие красивые свистоперделки, чтобы весело было?
234 1770012
>>770005
Это C, а не C++
235 1770014
>>770012

> cin, cout


> это С

236 1770024
>>770014
Тут ещё и все инклуды правильные, так что этот >>770012 охуел.
237 1770029
>>770014

>NULL


>rand()

238 1770033
>>770029

>В языке Cи (но не в C++) есть специальный макрос препроцессора с именем NULL, который определен как значение 0. Хоть он и не является частью языка C++, его использование достаточно распространено, и должно работать в каждом компиляторе С++:

239 1770034
>>770029
Тем не менее - это С++, хоть и уебищный
240 1770039
>>770034
А как сделать красивый и элегантный генератор случайных чисел в С++? Я нагуглил такое решение и допил его в меру своих знаний, подскажи, пожалуйста.
242 1770045
>>770042
Спасибо, Анон.
15958988477420.gif2 Мб, 498x498
243 1770068
>>770024
Бля внатуре ахуел.

Какой с, это же паскокоКАЛь ебаный!
244 1770072
>>770039
https://pastebin.com/X0aALMPB
Покатит? Это только для интов, но общий посыл, думаю, ясен. В плюсах если дистрибьюшн для чисел с плавающей точкой, если тебе надо.
245 1770075
>>770072

>2к20


>деструктор

246 1770079
>>770075
А в чем проблема?
мимо 15-ти летний школяр
15959995450330.png283 Кб, 400x400
247 1770083
248 1770106
>>770072
Наверное, пока слишком сложно для меня. Буду пытаться дальше. Мне понравилось то, что я нагуглил потому что я смог понять что происходит в коде, а тут некст левел, походу.
Расскажите, пожалуйста, как из кода сделать веселую игру? Куда его прикручивать?
249 1770131
>>770106
найс троллишь, я только 2 недели назад начал учить кресты, лул, не преувеличивай :D

Прикручивать нужно либу, которая может в графику. Слышал про SFML, она вроде удобная и вроде может много, чекни.
250 1770190
>>768233
Дэк там же WinAPI 95.
1596734337962.PNG13 Кб, 1548x152
251 1770217
Поясните пожалуйста, зачем ему надо, чтобы метод name был обязательно const?
Это я пытаюсь выводить в ячейку таблицы параметр объекта MyClass, который находится в QVector<MyClass> *storage.
И еще такой вопрос заодно: почему если storage - указатель, то я не могу обращаться к содержимому вот так storage[1], storage[2] и т.д.? Приходится юзать storage->at().
252 1770219
>>770217
Для const-объектов можно вызывать только const-методы.
253 1770220
>>770219
Так MyClass - это же не const объект.
254 1770226
>>770220
Как это не const?
index — const ref
storage — тоже const
255 1770228
>>770226

>storage — тоже const


Так как обращение к нему осуществляется через this, который pointer to const, так как на скрине const-qualified method.
1596734886314.PNG9 Кб, 561x160
256 1770230
>>770226
Не понел. То есть index.row() мне зашкваривает все выражение в return? А storage у меня не const.
257 1770231
>>770230

>А storage у меня не const


storage — const, так как MyModel::data — const
258 1770233
>>770231
Но как? MyModel::data() - это же перегружаемый метод, а storage я сам создал вообще то.
259 1770234
Аноны, у меня получилось вызвать шаблонный инлайн метод из другого класса, который находится в другом translation unit. Как это блять возможно? Инлайн методы же доступны только в пределах одного cpp файла (1 translation unit), не?
Оно должно давать undefined reference to yoba_method же вроже как..
260 1770239
>>770233
У ТЕБЯ НА ПЕРВОМ СКРИНЕ НАПИСАНО CONST В СИГНАТУРЕ МЕТОДА
261 1770240
>>770239
Ну да. То есть если в сигнатуре метода написано const, то он все внутри метода зашкваривает const-ом? Пиздец... И что делать? Переделывать MyClass, чтобы там все методы были const?
262 1770242
>>769468
Господа байтоёбы, ответьте.
263 1770247
>>770217
На второй вопрос тоже ответьте пожалуйста.
264 1770248
>>770240

>То есть если в сигнатуре метода написано const, то он все внутри метода зашкваривает const-ом?


В этот как бы и смысл const-qualified метода.

>Переделывать MyClass, чтобы там все методы были const?


Если метод не изменяет состояние класса, то он должен быть const.
265 1770250
>>770248
Спасибо, понел.
266 1770263
Есть годные курсы по С++?
на рутрекере, разумеется
267 1770268
>>770263
В университете есть, если на инженера поступать.
268 1770270
>>770263
На курсере есть от яндекса, я правда не знаю, насколько бесплатно. Ну т.е там есть триал на неделю кажется, но что потребуется после этой неделе не в курсе.
269 1770271
Что сейчас пишут на с++ на предприятиях обычно? Какого рода приложения?
270 1770277
>>770271
Браузеры (3.5 конторы по понятным причинам), мк, эмбедщину, хуйлоуд, тяжелый image processing, игры ААА класса.
Короче, в основном байтоебство и performance-oriented софт
271 1770278
>>770271
Разного рода код.
272 1770279
>>770277

> Браузеры


Любой софт со сложным гуем и логикой.
273 1770336
>>770279
Их разве не на WPF-е с сисярпом сейчас делают?
274 1770341
Не является ли словосочетание "константная переменная" парадоксальным?
275 1770347
>>770336
Особо жирное и тяжёлое, где сярп не справляется.

>>770341
Забей и говори "константа".
276 1770349
>>770234

> шаблонный инлайн


Ты уж определись, шаблонный или инлайн
277 1770352
В чем разница между
1) ~MyClass(){}
2) ~MyClass() = default;
3) то же, что и 1, но в cpp
4) то же, что и 2, но в cpp
5) вообще без десруктора

Да, я знаю, что лучше не писать вообще. Но я слышал есть какая-то разница между нахождением деструктора в .h и .cpp
278 1770362
>>770352
1-4 - никакой афаик
5 - я видел примеры кода, которые не компилировались, пока руками дефолтный деструктор не пропишешь. Хуй знает почему.
279 1770363
>>770234
Шаблонный метод определен в хедере, алле.
280 1770368
>>770362
Нет, между 2 и 4 есть разница, вроде даже в стандарте прописана.

Не компилировалось скорее всего из-за incomplete type в каком-нибудь unique_ptr, которому нужно знать, как удалить объект уже в .h. Или хотя бы успокоиться знанием того, что этот деструктор где-то там объявлен
281 1770369
>>770368
incomplete type это совсем другое.

А вот между 1 и 3 разницы точнон икакой
4 я не думаю, что прописать вообще реально.
282 1770373
>>770369

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


Реально, но декларация в class scope всё равно нужна.
283 1770377
>>770369

> incomplete type это совсем другое.


Конечно другое, но именно это и вызывает проблему
https://stackoverflow.com/questions/9954518/stdunique-ptr-with-an-incomplete-type-wont-compile#9954553
284 1770431
>>770217

>И еще такой вопрос заодно: почему если storage - указатель, то я не могу обращаться к содержимому вот так storage[1], storage[2] и т.д.? Приходится юзать storage->at().


Потому что сторейдж указатель. Разыменуй указатель, и сможешь использовать скобки. (✱storage)[1]
285 1770433
>>770431
Ну так-то он может писать и storage[1], storage[2] и т.д., вот только результат будет отличаться от желаемого.
286 1770434
>>770433
Лол, да. (✱((storage) + (1))) легитимно
287 1770437
Что нужно знать на сииииниьоооооора?
288 1770463
>>770270
Списали бабки после недели, пидорасы, нигде не написано про это, а тех поддержи как будто не существует, еле нашёл контакты и добился рефанда, т. к. тогда уже забросил. Ну а вообще, для вкатышей хороший курс.
image.png12 Кб, 415x238
289 1770494
Аноны, где взять реализацию Assert под Visual Studio?

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

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

Велосипедить свое вот прям некогда. Портабельность не нужна - Windows и Visual Studio
290 1770495
>>770494
и пользуясь случаем - как сделать тоже самое но чтобы срабатывало во время выброса исключения (а то тоже задалбливает по стеку вызовов искать где же сработало исключение)
291 1770523
>>770494
Вообще-то assert() ставит брейкпойнт, только чуть выше по стеку.
Попробуй вот это: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/assert-asserte-assert-expr-macros?view=vs-2019
>>770495

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


В студии в окошке exceptions можно поставить галочки на исключения, которые хочешь ловить. Вроде называется "other exceptions not in this list"
292 1770540
>>770271
>>770277
Еще очень много говноформочек на Qt, которые по каким-то причинами необходимо запускать на десктопе, а не в вебе. Примерно 60% всех плюсовых вакансий, как мне показалось, это дрочево на qt и иногда mfc.
293 1770589
>>770463
И откуда списали?
Я просто зашёл и начал изучать, карту не просили даже.
Только аккаунт, который уже был залогинен.
image.png36 Кб, 1171x950
294 1770747
Курс яндекса. Чего он доебался? Работает же.
image.png7 Кб, 772x289
295 1770752
>>770747
А самое главное я не проверил, да.
296 1770904
если в классе есть виртуальные методы (чистые) и некоторые поля(типа id, name), то деструктор тоже должен быть виртуальным?

просто конструктор этого класса же будет вызывать в производных классах( для инициализации полей)
297 1770905
>>770904
*будет вызываться
298 1770920
>>770904
Тебе нужен виртуальный деструктор в классе, который является прародителем всех подклассов в данном древе наследования, иначе привет утечка памяти.
299 1771355
>>770920
Можно ещё protected его объявить
image.png18 Кб, 529x493
300 1771382
Как работает return? Вот такая хуйня в b вернет значение последнего аргумента. Я думал там будет рандомный мусор но нет.
301 1771386
>>771382
У тебя ошибочная программа.
302 1771388
>>771386
Я понимаю, что не void функция без return это ub. Но почему тут это работает так?
303 1771389
>>771382
в foo - undefined behavior. Как он работает - никто не знает.
в main UB нет, т.к. по стандарту оно может быть без return, будет implicit return 0
304 1771392
>>771382

> Вот такая хуйня в b вернет значение последнего аргумента.


А мне когда-то msvc туда вызов другой функции вшил.
Форматируй нормально код.
305 1771398
>>771389
>>771392
То есть то, как функция возвращает значение может от компилятора к компилятору отличаться?
306 1771399
>>771388
Потому что когда говорят "рандомный мусор", не имеют в виду что в компе миниатюрные гномики кидают игральные кубике. То есть мусор не рандомный. (отсюда и многие траблы с безопасностью, когда могут прочитать пароль из памяти через уязвимость) Лень вникать, но допустим так - на стеке выделили память под две переменные a и b. В функции они сравниваются, для этого одна из них загружается в регистр eax, и потом сравнивается со второй. Регистр eax же используется для возвращаемого значения, но в него перезаписывается 1234 только если if сработает.
307 1771400
>>771398
При UB у тебя вообще диск может форматироваться.
308 1771402
>>771399
Спасибо огромное. Ну я когда говорил "рандомный мусор" имел ввиду что будет что то похоже на с использование переменной без инициализации. Типо в ней содержится то, что кто то до этого в участок памяти, где переменная лежит записал.
309 1771419
Как создать массив списков? То есть массив первых элементов списков. Чтобы это сделать, нужно, чтобы размер типа данных массива и list совпадали, но используя list из std сделать массив списков у меня не получается.
310 1771420
>>771382
Это UB, а поэтому компилятор может делать все что захочет. Попробуй для теста скомпилировать с оптимизациями (-O3), обычно UB клоунада начинается у хитрожопых оптимизирующих компиляторов. Такой хитрожопый компилятор спокойно может заменить вызов твоей функции на константу 1234. Так как на программиста возлагается обязаность недопускать UB в программе, компилятор в полном праве предпологать что в твоей программе нет UB, тоесть в функцию foo будет всегда передаваться два равных аргумента (иначе будет UB чего программист не должен допускать). А при равных аргументах функция всегда возвращает 1234 - тоесть ее вызов можно просто заменить на костанту ради оптимизации. Например GCC что-то подобное и делает, при максимальных оптимизцациях функция foo превращается в int foo(){return 1234;} https://godbolt.org/z/T6Mjr5
Без оптимизаций возвращается первый аргумент скорее всего из-за того что его помещают в eax регистр в надежде потом перезаписать на правильный результат. Но все зависит от компилятора.
311 1771422
О, я понял, как создать массив списков. Правильный ли это способ?
list<int>* hash = new list<int>[1000];
312 1771424
>>771419

>массив списков


>массив первых элементов списков


Ну ты уж определись.
313 1771427
>>771420

>первый аргумент скорее всего из-за того что его помещают в eax регистр в надежде


Потому что нет инструкции cmp [mem], [mem2] думаю.
314 1771428
>>771424
Так все элементы одного списка связаны указателями, это одно и то же.
315 1771429
>>771422
Так (динамическая продолжительность хранения aka "в куче") или
list<list<int>> hash; - автоматическая продолжительность хранения aka "на стеке".
Автоматическая предпочтительней. Если нужна динамика - желательно использовать умные указатели.
316 1771435
>>771427
Ее нет потому что ОПТИМИЗАЦИИ. Без оптимизаций GCC https://godbolt.org/z/bqjE1M действительно первый аргумент функции помещает в eax, а так как при неравных аргументах он не перезаписывается правильным результатом его и возвращает. Правда неясно зачем его помещать в eax, я в асемблере нихуя не разбираюсь.
image.png10 Кб, 752x177
317 1771445
А не один ли хуй сколько элементов в массиве? p2 же будет указывать на первый (нулевой) элемент
318 1771446
>>771435
он помещает не аршумент функции в eax, а возвращаемое значение из функции. По конвенции вызовов (во всех популярных так, не видел чтобы хоть в каком-то ABI было по-другому) в архитектуре x86 процедуры кладут возвращаемое значение в регистр eax.
319 1771448
Ребята, подхватил adware изредка открывающее страницу в браузере. Антивирус не может найти. Есть ли на винде 10 какое- нибудь логирование событий, кто открывал ссылку в браузере?
Без имени.png9 Кб, 231x290
320 1771453
>>770362

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


А может быть такое, что абстрактные классы требуют наследования чисто с помощью деструктора?
321 1771454
>>771435
Я имел в виду потому что такой инструкции в x86 (да и в arm вроде) не существует. Значение из переменной (расположенной в памяти) должно быть помещено в регистр, чтобы с ним могли проводиться операции типа сравнения (=вычитание с отбросом результата). Сравнить значение в памяти со значением в памяти невозможно. Можно только регистр с памятью, другим регистром, или с константой, указанной прямо в инструкции.
322 1771458
>>771446
Сначала (без оптимизации) он помещает один из аргументов в eax чтобы сравнить со вторым аргументом.
323 1771465
Стоит ли учица по роликам этого человека?
https://www.youtube.com/watch?v=ryRf4Jh_YC0
324 1771471
>>771465
Учиться нужно по хорошим книгам, а не по движущимся картинкам для даунов. Сначала читаешь что-то базовое (Страуструпа), потом учишь наизусь Effective Modern C++, потом внимательно читаешь Concurency in Action.
image.png26 Кб, 731x306
325 1771472
Имеется ввиду чо кроме return больше ничего не может быть, или что только один return, но еще команды?
326 1771474
>>771465
Естественно.
327 1771493
>>771445
Тип массива это костыль, который имеет мудацкий синтаксис и в любой непонятной ситуации стирается до обычного указателя.
328 1771496
>>771493
В -std=c++24 добавят расширяемяе указатели.
329 1771499
Рот ебал читать все эти возвращения указателя на функцию. Ооочень тяжело сам код читать. Пиздец просто
330 1771500
>>771496
Ну наканецта. Будет так же хорошо, как в фортран-77 или придется еще пару стандартов подождать?
331 1771502
>>771496
Что это?
332 1771504
>>771502
Vector не влазит, его через mmap расширяют анально.
333 1771506
>>771504
Понятно...
334 1771512
>>771472
Уже шесть лет как неактуально. в c++14 убрали это ограничение
335 1771642
Почему строки не могут быть constexpr? Может я чего то не понимаю? Это ведь тоже самое что константа, нет?

я знаю, что в 20 стандарте они могут быть constexpr, но не понимаю, почему не могли быть до этого
336 1771645
>>771642
Ты траллишь сейчас?
337 1771646
>>771645
Нет, я серьезно.
338 1771652
>>771445
Ты мимо жс треда промахнулся
339 1771681
>>770747
Зачем вот так писать...
340 1771699
>>771645
А причем тут траленк? Ты же можешь объявить константную переменную типа std::string и присвоить ей результат функции, почему тогда компилятор не сможет вычислить эту функцию в компайл-тайме, сделать из выхлопа строковый литерал и инициализировать им строчку? Естественно, предполагается, что функция без побочных эффектов и не опирается на рантайм-данные.

Про выделение в куче нехуй пиздеть, ты неизбежно выделяешь память на стеке в процессе любых вычислений, например.
341 1771700
>>771681
Это называется "иф йа ниприэмлю, но бесполезную переменную рес все равно за каким-то хуем заведу".
342 1771706
Привет

В тредах уже обсуждался курс от Яндекса практикума?
Хочу после фронта стать нормальным человеком
343 1771792
Потому что std::string содержит не-констэкпр конструктор с new.
Строки char[] вполне себе constexpr.
344 1771821
>>771699

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


Во-первых, нет (при 2+3 никакой памяти не выделяется), во-вторых, стек это очень просто, он практически автоматом работает если у тебя вызов функций. При заходе в функцию выделяется нужное место под аргументы и локальные переменные, при выходе автоматически освобождается то же количество. Ничего никуда утечь не должно. При new же надо следить, а когда delete вызвали, а не используется ли после удаления, указатель на этот кусок кучи могут передать в другую функцию, там изменить содержимое, короче муть.
345 1771858
>>771700
В условии задачи цветным по бесцветному написано: попробуйте решить без if.
346 1771908
>>771858
Я бы сделал просто
cout<<boolalpha<<((a>0)+(b>0)+(c>0)==2);
мимо
347 1772019
>>771465
Не могу смотреть на 1.0 скорости, слишком много информационного мусора
348 1772083
>>771821
Че блять? К чему ты это вообще высрал, долбоеб? Разговор был про перенос инициализации в компайл-тайм.
349 1772086
>>772083
Ну да, и я про него же.
350 1772088
Надо запретить заходить сюда людям с двухзначным айкью.
351 1772121
>>772088
моё айсикью 0xFF
352 1772124
>>772088
058 в треде.
353 1772132
Какая IDE и конпилятор являются топ1?
354 1772145
>>772132
вижуал студия, кланг
355 1772149
>>772145
А если я линуксоёб?
356 1772151
>>772149
Переходи на операционную систему тогда вместо линукса. Или воруй шлион.
357 1772153
>>772151

>Переходи на операционную систему


Так я уже на ней, где писать то?
358 1772163
>>772153
В vim-е, конечно же.
359 1772177
>>772132
vim
Компилятор любой.
360 1772215
>>772132
Nvim + правильный набор плагинов. Если ты сойбой-говноед, то сойблайм или вскод. Активация защиты против долбоебов: я знаю, что вышеперечисленное не IDE, но IDE не нужна в байтоебских проектах любой величины.

Clang или gcc, не особо принципиально.
361 1772217
>>772215

>но IDE не нужна в байтоебских проектах любой величины.


Когда не писал ни одного проекта больше тысячи строк
362 1772219
>>772217
IDE это просто набор полезного функционала.
Он может быть условно в виде "одной" софтины (vs) или комплекта из нескольких (терминал + vim + плагины)
363 1772220
>>772217

>Когда не писал ни одного проекта больше тысячи строк


Проиграл. Писал L1 гипервизор, тотал 70000 LoC в одно рыло, вообще никаких проблем.
У тебя в 2к20 есть полный автокомплит, средства рефакторинга, профилирования, global jump, линтеры, полная семантическая подсветка, отладка, нахуя тебе IDE весом с твою мамку, анон? Для байтоебских, мать твою, проектов. Единственная причина юзать IDE - когда она наворочена разным говном типа шаблонов для автовысирания гуй-окошек, но в байтоёбщине это не требуетсяв 99% случаев.
364 1772221
>>772220
Подписываюсь под каждым словом.
365 1772229
>>772149
Тогда вижуал студия код, кланг.
366 1772235
>>772220

>У тебя в 2к20 есть полный автокомплит, средства рефакторинга, профилирования, global jump, линтеры, полная семантическая подсветка, отладка, нахуя тебе IDE весом с твою мамку, анон?


Ты сам написал только что, зачем мне IDE? Я не хочу собирать конструктор, я хочу, чтобы работало. Студия + решарпер - оп, всё работает.
367 1772289
Есть разница?
368 1772293
>>772289
Вызови ее из main, узнаешь
369 1772297
>>772293
Не работает в любом случае, но если не писать ClassA::, то не подсвечивается.
370 1772306
>>772293
Я понял. ЕСли не указывать область видимости, то члены класса не видны
371 1772314
>>772306
На втором скрине у тебя не член класса. Ты просто завел свободную функцию.
372 1772315
Почему нельзя убрать часть обратной совместимости с C/Очень старыми версиями плюсов, но сделать условия для возможности переписать старый код под новый стандарт?
373 1772325
>>772314
И похуй, что объявление в классе?
374 1772329
Скажите, есть ли в мире человек, который помнит все нюансы плюсов? Все варианты инициализации, все об указателях, конструкторах и тд.
375 1772332
>>772325
В class scope есть member function declaration (int ClassA::g()), но для неё не существует member function definition.

В global scope есть function definition (int g()) — читай "global function" или "free function". Эта функция никак не пересекается с декларацией, которая есть в class scope.
376 1772334
>>772329

>Все варианты инициализации, все об указателях, конструкторах и тд.


По перечисленному не так уж много нужно знать.
А так — вряд ли конечно, но очень многие знают 90%, а этого достаточно.
377 1772336
>>772332
Спасибо большое
378 1772344
>>772315
Некоторые вещи депрекейтят и затем полностью исключают (auto, register, throws, auto_ptr, триграфы и кучу другого). Главное - чтобы можно было прямолинейно переписать код из старого стандарта в новый. А сильно ломать совместимость никто не хочет, ибо уже есть триллионы строк кода. Уже который год ведуться дискуссии по поводу "эпох" и std2, но там дохрена проблем, да и компиляторостроители не хотят поддерживать несколько сильно различающихся версий одного языка.
379 1772348
>>772344
А чем им auto не угодил? Крутая же вещь
380 1772349
>>772348
Старый auto, который storage duration. На его смену и пришёл сегодняшний auto.
381 1772350
>>772348
Это другое auto
382 1772362
>>772329
Скотт Мейерс, Бьорн Страуструп, Андрей Александреску, Степанов, некоторые мейнтейнеры Буста, я (шучу)
383 1772368
>>772315
Готов оплатить банкам и всякому хайлоаду переписывание и тестирование?
384 1772370
>>772368
Они всё равно собирают древними версиями компиляторов.
385 1772384
>>772329
Такие люди конечно есть, правда их мало.
386 1772386
>>772384
Да и вообще, плюсы не самое сложное что бывает на свете.
Есть монстры, знающие наизусть Евгения Онегина или там Гомера. Ну или на худой конец ещё какая нибудь ошеломительная память у них.
Ещё вот попробуй разберись в математических книжечках каких. Матанчик там, линалчик, функанчик. Как по мне - куда жестче этих сраных плюсов.
sage 387 1772388
>>772220
Да пиши в виме, никто не запрещает. У меня на работе дрова в студии лепят, удобно. Одной кнопкой билдишь, другой дебажишь, третьей выкатываешь в прод, ну итд.
388 1772410
>>772362

>Бьорн Страуструп,


Он точно уже признавался что не полностью знает современные кресты, остальные хз.
389 1772436
>>772215

>Nvim + правильный набор плагинов


Не подскажешь какие плагины юзал?

пытался вим напердолить, но автокомплит победить не смог он работал, но не удобно
390 1772475
>>772436
coc.nvim ставится и работает тупо из коробки. Выйди из 2012 и перестань пытаться поставить говно под названием YCM.
изображение.png2 Кб, 659x57
391 1772506
сап, насколько это плохая практика?
392 1772508
>>772506
Если бы тебе надо было взять адрес какого-нибудь 10 элемента то еще норм, а так у тебя есть функция .data() для этого.
393 1772522
Охуенно
int i = 1488;
double s = ⚹(double⚹)&i;
394 1772525
>>772522
UB UB ГРОБ КЛАДБИЩЕ
395 1772555
>>772506
>>772508
Инвалидация итераторов.

vector<double> v = {3.14};
double⚹ d = &v[0];
// ⚹d == 3.14
c.resize(42);
// ⚹d == ¯\_(ツ)_/¯
396 1772556
>>772555
*v.resize
397 1772566
>>765587 (OP)
Аноны, чем вообще заниматься после изучения синтаксиса? Что учить дальше чтобы взяли на работу и желательно не как веб макаку на 40к?
398 1772575
>>772566
Писать программы. Все похуй на твои знания синтаксиса, нужно уметь код писать.
399 1772580
>>772575
Какие, сколько и какую инфу учить параллельно этому?
400 1772595
>>772566
вебмакака всегда будет зарабатывать больше тебя, анон. Если твоя цель вката в плюсы - это 300кк/наносек, то ты не по адресу.
Веб-макакерство - деньги и смузихлебство.
Кресты - душа.
sage 401 1772607
>>772522
std::bit_cast
402 1772612
>>772580
что ты хотел написать для себя когда-нибудь? То и напиши.
403 1772620
>>772475

>Выйди из 2012 и перестань пытаться поставить говно под названием YCM.


Я делал как в туториале говорили...
404 1772621
>>772329

>Скажите, есть ли в мире человек, который помнит все нюансы плюсов?


Думаю, нет. Видел несколько раз как ключевые разрабы GCC и Clang не помнили относительно простых вещей.
Думаю, у них память занята ньюансами парсинга ~ в шаблонах.
405 1772666
>>772522
Под MSVC, размер int 4 байта, размер double 8 байт.
Отличный способ словить глюки, чо.
cpp.png19 Кб, 374x531
406 1772703
Как-нибудь можно превратить parameter pack 'ts' в non-type template parameters если все значения известны в compile time? В данном случае на пике ошибка компиляции
407 1772821
>>772703
Нулевая итерация нужна
408 1772834
>>772821

>


>Нулевая итерация нужна


Чего?
409 1772836
>>772703
Что за template auto? Впервые вижу
410 1772837
>>772836
Это с с++17. Тип авто выводится.
411 1772845
>>772834
Я не о том подумал.
Почему то считает что это не константа.
412 1772848
>>772703
Чере какую-нибудь констэкспр парашу? хз
413 1772858
Скажите, нужно ли запоминать например как писать функцию, возвращающую другую? Я же по идее для знакомства прочитал как, если понадобится загуглю или просто напишу auto
414 1772866
>>772858
В c++ нельзя вернуть функцию. Или по дедовски указатель на функцию, или какой нибудь современный но более оверхендный std::function.
415 1772868
>>772866
Указатель на функцию конечно же
416 1772869
>>772703
constexpr допиши
417 1772872
>>772866
О, я прозевал, с с++11 можно еще лямбду вернуть.
418 1773006
>>772869

>constexpr допиши


куда?
15881040993362.jpg13 Кб, 330x319
419 1773045
>>772566
Эх, дружище... Это примерно как спросить "Вот я английский алфавит выучил, что дальше учить, чтобы переводчиком в правительстве стать?".
420 1773050
>>772566
Так ты когда учил чем руководствовался?
421 1773058
>>772575

>Все похуй на твои знания синтаксиса


Только на собесах почему-то заебывают вращением деревьев, и квадратными кругами
422 1773061
>>773058
Так прохождение собеседования это параллельный скилл, к реальному программированию применим постольку-поскольку.
image.png5 Кб, 374x126
423 1773062
Аноны, как это работает?

Это валидно?

(Foo2 возвращает указатель на строку аргумента str)
424 1773067
>>773006
Везде где видишь
425 1773074
>>773062
Ты можешь присваивать массив символов в std::string, там закулисами перегружены оператор =, (), через uniform initialization офк тоже можно, но это уже не присваивание, а инициализация.
Отсюда вытекает, что можно слать в функцию, которая принимает std::string, сырой массив символов, вызываемая функция примет это, как std::string. То бишь,

void foo(std::string govno) {
std::cout << govno.size(); // 6, rabotaet!
}

const char mocha = "zalupa";
foo(mocha);

В обратную сторону это, офк, не работает, но имея std::string, ты можешь получить на него константный сырой указатель (const char
), вызвав метод data:

std::string random { "yayayoyo" };
printf("%s", random.data()); // rabotaet!
426 1773075
>>773074
сука, забыл про то, что дефолтные астериски хавает макаба.
Перед mocha после char есть астериск
427 1773076
>>773075
и там, где const char в скобочках, тоже звездочка должна быть после char и перед ")"
sage 428 1773077
>>773074
std::string_view это не std::string.
sage 429 1773079
>>773062
Имей в виду что с-строка в памяти хранится как \0-терминированная, т.е.
'h' 'e' 'l' 'l' '\0'
Но string_view может указывать на середину строки, и вернуть что то вроде 'h' 'e' 'l', т.е. работать с этим char* полноценно ты не сможешь, т.к. функции типа strlen будут ждать \0 в конце.
430 1773084
>>773074
Тут про string_view вопрос,
Он внутри хранит указатель на строку char (как я понял). Он не создает строку, у него вообще нет операций выделения памяти (типа умный указатель на строки?).

Но если я передаю "hello" в функцию - разве это "hello" не создается локально на время жизни функции и не удаляется по завершению функции Foo2?
Если да, что тогда вернет return? Это UB?
Если нет - как это работает?
431 1773086
>>773084
В таком виде как ты написал - нет, литерал строки будет записан в static storage, т.е. секцию .data. На него ничего больше не будет выделяться, все уже выделено линковщиком 1 раз.
432 1773107
>>773086

>т.е. секцию .data


во кстати, а сколько вообще строк может в эту секцию вместиться?
433 1773110
>>773084

>Но если я передаю "hello" в функцию - разве это "hello" не создается локально на время жизни функции и не удаляется по завершению функции Foo2?



string_view все равно, оно хранит указатель, а валидный он или нет - твои проблемы
434 1773257
Ку, крестач

Как быть, если у меня есть класс A у которого есть класс мембер в виду указателя на объект класса В и я хочу использовать умные указатели? Я пришел к выводу, что если хочу, допустим, аллоцировать память для указателя на объект В во время вызова конструктора класса А, а пото деаллоцировать память во время вызова деструктора, то мне приходится использовать сырой указатель для этого. Я не то чтобы против, у меня первый ЯП См и я привык работать с сырой памятью, но в плюсах хочется обмазываться фичами плюсов все же.
Например:

class A {

public:
A() {
ptr = new B();
}
~A() {
if (ptr) {
delete ptr;
}
}

private:
B⚹ ptr;
};

Здесь все предельно ясно - указатель на объект класса В аллоцируется при вызове конструктора класса А и деаллоцируется при вызове деструктора класса А. Лайфтайм указателя на объект класса В равен лайфтайму объекта класса А (при условии, что этот указатель не освобождали в одном из методов класса А, естественно). Как провернуть такое же, но с умными указателями? Или в таком случае лучше юзать сырые указатели и не ебать себе мозги? Заранее благодарю.
435 1773274
>>773257
Без задней мысли пишешь unique_ptr<B> и в конструкторе пишешь make_unique<B>
436 1773297
зачем нужен оператор <=>?
437 1773350
>>773297
Чтобы не писать по три раза код для оператора <, > и =.
438 1773445
Cап, крестач, нужна помощь. Как можно сделать систему регистрации в быдлокоде? Задание моего проекта заключается в том, что нужно создать прогррамму, имитирующую работу сети ресторанов быстрого питания шаурмечных. Нужно сделать учетки для директора сети, и так сказатб менеджера каждого ресторана. Что я должен сделать?
Мысли на тему у меня есть, но думаю, что пргограммисты с двача знают что - нибудь лучше
439 1773449
>>773445
Объясни внятно что делаешь.
Тебе эмулятор экселя или может 1С нужен? Кассовое ПО?
Что имитировать собрался?
440 1773497
>>773274
Блять, я на дауничах думал, что unique_ptr разрушится при выходе из деструктора -_\\
441 1773501
>>773497
Так и есть
442 1773506
Есть мнение, что юник_птр на самом деле не нужен, ибо создаёт только лишние трудности, и для всего достаточно шаред_птр. А все идеи про "владение" - сектантство.
443 1773508
>>773506

> достаточно шаред_птр


Это мнение жабасприптеров или кого? Потому что разработчики стандарта советуют свести к минимуму shared.
444 1773511
>>773506
У шареда жуткий оверхед.
445 1773539
>>773506
Есть реальное мнение топовых крестовиков - что шаред_птр это антипаттерн почти везде, где он используется, кроме очень редких кейсов.
446 1773543
>>773508
>>773511
>>773539
Ок, вы меня убедили. Просто после высокоуровневых языков со сборкой мусора хочется иметь единый универсальный способ управления ресурсами, но видимо не судьба :(
447 1773546
>>773543
нафига тебе вообще указатели? Я в продакшене даже unique_ptr почти не использую. Строки\вектор<чар> - этого достаточно.
448 1773555
>>773546
>>773543
Да вы заебали ныть. uint64_t или void - это всё что нужно. Ну ещё char для байтоёбства. Память через malloc выделяем для массивов или структур. Типы вообще придумали инвалиды с IQ 60. Какая-то ненужная хуита. Лямбды, классы, корутины - нахуя? Или вот, вспомнил смешную хуйню - шаблоны. Это когда у тебя есть типы, но они мешаются...
449 1773558
>>773555
чего несешь, шиз?
450 1773563
>>773546
У меня продакшена на плюсах нет, только пет-проекты в свободное время. Вообще, да, почти всегда хватает ссылок, RVO и прочего, но некоторые конструкции у меня иногда вызывают сомнения.

>>773555
Но ведь си-тред дальше...
451 1773566
>>773563

> Но ведь си-тред дальше...


Компилятор плюсовой, значит тред верный.
изображение.png44 Кб, 782x657
452 1773688
Ебусь с передачей данных между виндовыми процессами.
Это программа Parent. Как теперь строку "Hello, my son!" принять в Child? Нихуя не пойму, что писать. А вот этот код я тупо скопипастил, поправив кое-что вызывавшее ошибку.
http://www.cpp.sh/4ltcc
453 1773694
Посоны, меня к вам погнали из си-треда.

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

Один красивый скриншот богатого интерфейса на Qt будет лучше тысячи слов.
454 1773698
>>773694
А как ты хочешь чтобы оно работало везде и сразу?
Тут либо тащить бровзер (тебе же нравятся красивые программки на электроне выедающие треть цпу и 1 гб оперативки?) либо по костылику собирать вот такую еботину, которая кое как, но таки работает везде и быстро, лол.

Короче, хочешь красоту и чтобы не лагало — пиши на технологиях вендоров для каждой платформы свой код.

>отсутствия чувства стиля у программистов


Частично конечно вот это.
455 1773704
>>773698
Слушай, я в сях и юниксах мимокрок, поэтому весьма условно понимаю что ты говоришь.

Вот конкретный пример раз (пикрил 1): здесь слева, в навигации, можно (нужно) было поставить условный MinLength или .FixedPanel. Это кодер его не поставил или ферйморк не возволяет?

Кокретный пример два (пикрил 2): слева, в навигации, используется очевидно не подходящий по контексту контрол. Это от безрыбья или от вкусов пограммиста? И еще, эти гигантские отступы от иконок, это уебок-программист, или кутэ по-другому и не позволила бы сделать?

И еще один пример, который лично меня заебывает больше всего: комбобоксы в Qt-программах всегда позволяют редактировать содержащиеся в них элементы (или текст комбобокса, уж не знаю как там в кутэ). Это происходит даже тогда, когда по контексту список выбираемых элементов конечен и сами элементы неизменны (в том же WinForms это "стиль" DropDownList, пикрил 3). Я встречал это стопиццот раз, но ни разу не наблюдал фиксированного комбобокса. Его не существует в природе или кодеры говноеды?
456 1773706
>>773704
Так, про комбобокс, походу, я нашел ответ в собственных же скринах.
457 1773707
>>773704

>Это кодер его не поставил или ферйморк не возволяет?


Скорее всего поставил, просто он может где-то и не работать — это же кроссплатформа, в Qt постоянно нихуя нормально не работает, кек.

>Это от безрыбья или от вкусов пограммиста?


Это от вкусов программиста, как и

>эти гигантские отступы от иконок


зумерок. Эпол не так-то и давно всех анально прищучил к гайдлайнам и приучил везде пускать дизайнеров вперёд через мобилки, ещё лет 10 назад это был бы отличный по юзабилити и дизайну интерфейс, погугли что лепили в эпоху XP и Winamp.

>Его не существует в природе или кодеры говноеды?


Или.
Ещё раз, пчел — десктопный софт находится в полумёртвом состоянии не развивается уже больше десятилетия (даже проф софтины — поголовно говнины говн, наращивают фичи но чтобы ими пользоваться надо нахуй вышку по ним получать), то, что на мобилках и в вебе ускакали на столетия вперёд тут никого не колышит. Я вот например ничего страшного в этих пикчах не вижу, потому что застал кое что похуже.
458 1773708
>>773694
У DevMachines есть куча стилей для qt.
Ещё если ты не скопировал папку styles, то будет что-то вроде вин95.
для меня лучшая программа на qt - это qbittorrent
459 1773711
>>773707

>зумерок



Ты ебанутый, блядь?

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



Ты ебанутый, блядь.

>>773708

>qbittorrent


О, а он виндовый ну кутэ?! Ох нихуя! Ну тогда вопрос к кутэ закрыт, хуле я тут соплю жую. Двойных пиздюлей авторам всей той еболы, что я выложил пикрилами.

> Ещё если ты не скопировал папку styles


А это че? Они на этапе вступления и компеляции подсасываются или конечный пользователь может их скомпелированной софтине подкладывать и вертеть ее представления согласно собственным представлениям?
460 1773717
>>773711

>Ты ебанутый, блядь.


Ну ты сейчас берёшь и показываешь живой софт широкого назначения, а не профессиональный софт который юзают в лучшем случае 5% от общей массы. Да и тот в плане интерфейса мёртв, только на маках красивые свистоперделки делают.
461 1773719
>>773717

>Ну ты сейчас берёшь и показываешь живой софт широкого назначения, а не профессиональный софт который юзают в лучшем случае 5% от общей массы.



Бля. Столько хуйни в одном предложении, пиздец. Во-первых, венда - это все еще десктопное приложение. Это детский мат в один ход тебе. Во-вторых, неси-ка пруфы про "5% от массы", потому что это пиздежом попахивает. Как принесешь, сразу станет понятно, что такое "профессиональный софт", что такое "софт широкого назначения" (лол) и насколько можно доверять методике подсчета. В-третьих, даже если "софт широкого назначения" составляет "мало процентов" от "общего количества софта" (разрабатываемого? эксплуатируемого? поддерживаемого? Хуй знает, но ПРОЦЕНТОВ МАЛО Я СКОЗАЛ), это не значит, что развитие десктопа остановилось. Шапку посмотри, там один WPF твои домыслы опровергает на раз-два датой свежего релиза и спискотой допилов.
sage 462 1773720
>>773717

>показываешь живой софт широкого назначения


Игры
/thread
463 1773722
>>773711

> А это че?


Честно говоря не знаю наверняка, но вроде по умолчанию идёт попытка загрузить тот самый стиль из папки styles, если не удалось, то fallback до win95. Можно и текстом задавать стиль, вроде setStyle("fusion")
464 1773726
>>773722

> вроде по умолчанию идёт попытка загрузить тот самый стиль из папки styles



Так на этапе выполнения попытка идет?
465 1773727
Оказывается, родительский процесс тупо ничего не отправляет на стандартный ввод дочернего. Помоги, анон, студенту. Что тут не так?
http://www.cpp.sh/2hzyq
изображение.png68 Кб, 591x777
466 1773729
И ещё, почему тут в CreateProcess _T, а не L перед именем файла?
изображение.png7 Кб, 379x125
468 1773734
>>773733
А почему не работает? Какая библиотека этому говну нужна?
469 1773735
>>773729
Поддержка юникода в ШИНДОВС.
Когда у тебя определен дефайн __UNICODE, CreateProcess (а это макрос, шоб ты знал) разворачивается в CreateProcessW, а _T("xxx") в L"xxx".
А когда дефайн не определен, CreateProcess разворачивается в CreateProcessA, a _T("xxx") просто в "xxx".
И так большинство функций имеют две версии _A и _W, принимающие сhar и wchar_t соответственно.
470 1773738
>>773735
А фраза "Hello, my son" почему не отправляется?
image.png787 Кб, 940x504
471 1773741
>>773729
Не используй макросовую юникодопарашу, прямиком из 95ого года.

Ко всем API добавляй A (CreateProcessA), и просто "xxx" как аргументы юзай.
472 1773742
>>773741
Не слушай дебила, добавляй W везде, только не забудь в настройках проекта поставить юникод
473 1773743
>>773742
я даже с тобой тут соглашусь. Главное TCHAR-парашу не использовать.
1597103161718.jpg124 Кб, 900x899
474 1773744
>>773741
С:\Users\пользователь\мои проекты
изображение.png62 Кб, 1490x878
475 1773745
>>773743

>TCHAR-парашу


Ты про как здесь? Это неработающий пример моей лабе про обмен данными процессов.
476 1773749
>>773744
Тут я могу только предложить скинуть денег на лечение

>>773745
https://habr.com/ru/post/164193/ Почитай вот это, и почини код из примера
477 1773750
>>773749
Там много чего сломано, вряд ли получится починить.
478 1773751
>>773750
всю _T парашу убрать, из _tmain сделать main, и все T-функции сменить на нормальные и взлетит, по идее
479 1773756
>>773751
Там другое вылезает помимо _T. Если так уверен в себе, можешь сам попробовать, если хочешь.
https://drive.google.com/drive/folders/0B0tDS9ufZC7EaXZpeEVBWGZPSUU
480 1773758
>>773756
https://hastebin.com/gafigovoyi.cpp

Давай так, я сделал чтобы этот мусор компилировался. Но это все настолько ужасно и неправильно, и не имеет отношение к нормальному сиплюсплюсу даже десятилетней давности.

И чето у меня очень большие сомнения про создание маппинга от INVALID_HANDLE_VALUE, но я виндовое IPC не трогал, мб это правильно.
481 1773761
>>773758
Не уверен, где заканчивается C и начинается C++, но, наверное, мне следовало обратиться в C тред с вопросом по CreatePipe. Это всё вообще имеет отношение к плюсам?
482 1773762
>>773749

> Тут я могу только предложить скинуть денег на лечение



Ну толсто же. А оператор в каких нибудь госуслугах твое имя тоже должна транслитом вводить?
483 1773764
>>773761
Вообще все классическое виндовое апи - это чистый си. И судя по всему, ты проходишь какие-то очень старые говноуроки, которые учат сложным и очень специфичным понятиям (нахуя тебе IPC руками?).

Мало того, что тут отвратительный си, и мешанина из какой-то полной хуйни, типа io.h (легасевые куски какого-то закоса под POSIX?), так и сама лаба тебе не дает никакого понимания, что происходит, а просто говорит, делай так-то - будет волшебство.

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

>>773762
щас бы laba5.cpp в продакшен запуливать. А вот русский юзернейм в винде - только лечение.
484 1773765
>>773762

>оператор


>должна


Так оператор или операторША? Должна или должЕН? Определись.
485 1773766
>>773765
оператор_ка
486 1773846
>>773698

>пиши на технологиях вендоров


Это на чем, на winapi и cocoa без лейаутов?
>>773694
Попробуй winapi, чтобы почувствовать разницу. Особенно если у тебя формы резайзиться должны. Все инструменты для создания красивого гуя без ебли в Qt есть (я не свистоперделки QML имею в виду).
487 1773966
>>773719

>Во-первых, венда - это все еще десктопное приложение.


А айось и андроид это мобильные приложения, ахуеть, вот это тейк.

>Во-вторых, неси-ка пруфы про "5% от массы", потому что это пиздежом попахивает.


https://en.wikipedia.org/wiki/1%_rule_(Internet_culture)

>что такое "профессиональный софт"


Софт, юзаемый для создания чего либо и прочей проф. деятельности, эти самый "креэйторы".

>что такое "софт широкого назначения"


Софт, который юзают обычные человеки, потребители.

>Хуй знает, но ПРОЦЕНТОВ МАЛО Я СКОЗАЛ


Если бы было НЕ МАЛО, твой труд стоил бы как труд студентика-юриста в нулевых и начале десятых, и ты бы кряхтел в подвале за 10к.

>В-третьих, даже если "софт широкого назначения" составляет "мало процентов" от "общего количества софта"


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

> Шапку посмотри, там один WPF


Его там нет.

>твои домыслы опровергает на раз-два датой свежего релиза и спискотой допилов.


Ещё раз, читай что я написал
>>773717

>в плане интерфейса мёртв


ты возможно не увидел слова

> интерфейса


но я тебе могу объяснить: возьми свои WPF, и смотри на zbrush/photoshop/visual studio/3ds max/unreal engine(всмысле, редактор)/unity/qt creator/что угодно. Единственное, что изменилось в некоторых за последние годы (если не десятилетие) — добавилось свистуличек, и теперь там красивые иконочки, а юзабилити на уровне нулевых так и осталось.
А теперь посмотри на веб/мобилки, и сравни прогресс. Тащемта, если 2 десятилетия стагнации — это не смерть, то хз что это.
487 1773966
>>773719

>Во-первых, венда - это все еще десктопное приложение.


А айось и андроид это мобильные приложения, ахуеть, вот это тейк.

>Во-вторых, неси-ка пруфы про "5% от массы", потому что это пиздежом попахивает.


https://en.wikipedia.org/wiki/1%_rule_(Internet_culture)

>что такое "профессиональный софт"


Софт, юзаемый для создания чего либо и прочей проф. деятельности, эти самый "креэйторы".

>что такое "софт широкого назначения"


Софт, который юзают обычные человеки, потребители.

>Хуй знает, но ПРОЦЕНТОВ МАЛО Я СКОЗАЛ


Если бы было НЕ МАЛО, твой труд стоил бы как труд студентика-юриста в нулевых и начале десятых, и ты бы кряхтел в подвале за 10к.

>В-третьих, даже если "софт широкого назначения" составляет "мало процентов" от "общего количества софта"


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

> Шапку посмотри, там один WPF


Его там нет.

>твои домыслы опровергает на раз-два датой свежего релиза и спискотой допилов.


Ещё раз, читай что я написал
>>773717

>в плане интерфейса мёртв


ты возможно не увидел слова

> интерфейса


но я тебе могу объяснить: возьми свои WPF, и смотри на zbrush/photoshop/visual studio/3ds max/unreal engine(всмысле, редактор)/unity/qt creator/что угодно. Единственное, что изменилось в некоторых за последние годы (если не десятилетие) — добавилось свистуличек, и теперь там красивые иконочки, а юзабилити на уровне нулевых так и осталось.
А теперь посмотри на веб/мобилки, и сравни прогресс. Тащемта, если 2 десятилетия стагнации — это не смерть, то хз что это.
3840px-Deepin20workflow.jpg843 Кб, 3840x2160
488 1773972
Написано на Qt. Круто?
489 1773979
>>773720
Ок, пчел, вот поясни мне — чем эти скрины принципиально отличаются от того, что было лет так 10-15 назад? Тем, что всё свистит, пердит и выглядит в лучших традициях винампа, но с красивыми хуй-рез иконочками с тенями, а не пикчами 16x16 и квадратиками?
491 1773984
>>773972

> Круто?


Ну только если в гтк2 сравнивать.
492 1773985
>>773966

> >что такое "профессиональный софт"


> Софт, юзаемый для создания чего либо и прочей проф. деятельности, эти самый "креэйторы".


Тик ток это профессиональный софт, ясно.
493 1773990
>>773981
Не понял зачем ты это запостил. Я говорил об играх.
494 1773998
>>773846

>Это на чем, на winapi и cocoa без лейаутов?


Cocoa адекватно сравнивать разве что с WPF, который и есть подход вендора к созданию гуя, но точно не с винапи.
Там есть и лэйаут, и визуальный редактор, и куча контролов на все случаи жизни с возможностью кастомизаций/анимаций/ебли в ухо и всем чем тебе надо.

>Попробуй winapi, чтобы почувствовать разницу.


Он на момент выхода XP уже не был главным вендор-веем, уже были и MFC и тонны прочей говнины от M$.
maxresdefault.jpg80 Кб, 1280x720
495 1774005

> google: wpf good example

496 1774006
>>773990
А я говорил о интерфейсах десктопных приложений, и ты ответил на пост про интерфейсы.

>>773985
Ну да, можно и пеинт туда записать, мемы-то тоже делает пару процентов от общей массы.
Только вот на десктопе-то нихуя кроме такого софта не осталось, разве что игры, и те сплошная кроссплатформа.
497 1774010
>>774006

>А я говорил о интерфейсах десктопных приложений, и ты ответил на пост про интерфейсы.


Нет, ты говорил о том что десктопные приложения мертвы. Игры не мертвы => десктоп не мертв.
498 1774027
>>774010

>Нет, ты говорил о том что десктопные приложения мертвы


Ну давай восстановим хронологию:
>>773707

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


Перевожу: интерфейс мёртв.

>>773717

>Да и тот в плане интерфейса мёртв, только на маках красивые свистоперделки делают.


Перевожу: интерфейс мёртв.

>Игры не мертвы => десктоп не мертв.


Во первых, это и не десктопные приложения. Ведьмака на свитче запустили, который вроде как мобильная консоль, теперь это что?
Во вторых, из твоего вывода следует, что игры на мобилках и консолях не мертвы => пека не мертво. Справедливо, чо.
499 1774038
>>774005
Да, вот так выглядит современный софт на десктопе, кекус.
vaporwave-window-windows-webpunk-vebpank-okno-windows-95-se[...].png290 Кб, 840x859
500 1774049
>>774038
ВЕБПУНК
501 1774100
>>773998

>MFC


А, точно, вот эту хуйню сравнить с Qt.
Да я уже позабыл все это говнище, как страшный сон
502 1774165
>>774100
С Qt надо сравнивать вот этот самый >>774038 >>774005 WPF, а MFC уже мёртв лет 15.

>Да я уже позабыл все это говнище, как страшный сон


Забыл то, чего в глаза не видывал, зумер?
503 1774169
>>773735
Почему так костыльно?
504 1774174
>>774169
Потому что ШИНДОВС
505 1774178
>>773764
Двачую этого
506 1774205
>>774169
это было сделано в те времена, когда разница в перфе между char и wchar_t действительно была заметна
507 1774217
>>773972
Хорошо выглядит.
508 1774222
>>773981
Аааааааааааа блядь как люди в этом работают
509 1774306
>>774222
Понимаешь, это концепция "окна", она реально так работает - у тебя маленькое окошко, а за ним целый мир...
510 1774315
>>774169
Потому что 99% софта в то время делалось только для америки и американцев,отголоски этого до сих пор слышны в иррациональных страхах типа этого >>773764

>А вот русский юзернейм в винде - только лечение.

511 1774323
>>774165
Дядь, ебало свое закрой, я еще турбо вижн с вбдосом помню.
512 1774485
>>774315
Так ведь до сих пор встречается ситуация, когда какая-нибудь залупа отказывается работать из-за того что в каком-то там пути кириллица, или пробел, или конкретно символ 'я' (реальная история, я не тролль), или сам путь длиннее 254 символов.
513 1774489
>>774485

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


А как же 'ё'?
15953314741460.jpg76 Кб, 592x532
514 1774492
>>774323
Как же всё таки легко спалить простофилю-зумерка, достаточно назвать зумерком — горит и рвётся.
515 1774552
>>774485
А зачем тебе путь длиннее 254 символов? Ты что, потреблядь?
516 1774556
>>774552

>А зачем тебе не-ASCII символы?


>А зачем тебе монитор?


>А зачем тебе больше 16 Кб памяти? Ты что, потреблядь?

517 1774559
>>774492
У тебя какая-то нездоровая фиксация на зумерках.
518 1774569
>>774556
А зачем тебе больше 16 Кб памяти? Ты забыл, в каком треде находишься?
519 1774572
>>774552
Ха ха, у меня так emscripten однажды умер. Хотя если подумать, то не только он - еще сборка какой то прошивки. Пришлось творить адову хуйню типа переименовать все папочки чтобы путь был C:\M\N\P\fucking_long_file_name.cpp
520 1774581
>>774569
У меня один набор криптографических предвычислений — 512 кб в лучшем случае.
В производительном — 64 мб.
521 1774587
>>774581
Записывай на листочке и подгружай по востребованию.
522 1774592
>>774587
#include <листочек>
523 1774594
>>774592
Когда уже #embed сделают
524 1774671
Как кастовать QVariant в QImage?
QVariant MyModel::data(const QModelIndex &index, int role) const у меня при DecorationRole возвращает QImage. Хотел запилить делегата, пишу значит index.data(Qt::DecorationRole), но index.data() то возвращает QVariant, сука. qobject_cast не сработает, т.к. QImage - это не QObject. Другие касты боюсь использовать. Как быть?
525 1774676
я начинаю путать инициализацию через () и просто через присваивание. Почему в конструкторе (), а не =?
НУ а о всяких {} я молчу. КАк разобраться в этом?
526 1774694
>>774676
При инициализации нового объекта копией вызывается конструктор копирования. (Или обычный конструктор, если применяется пропуск копии.) При замене существующего объекта новым вызывается оператор присваивания.

>>774671
QImage image = variant.value<QImage>();
527 1774695
Я начал читать липпмана только ради буста. Стоит ли читать его всего? Просто там есть оооочень тонкие моменты, которые мне кажется, пока не нужны.
528 1774696
>>774676
Используй {} вместо всего когда возможно, и будет щастье.
529 1774699
>>774696
int main() {} // вот теперь заебись
530 1774703
>>774676
Шо тут сложного то?

> Почему в конструкторе ()


Ну так придумали. Типа "безымянная" функция с именем класса. MyClass()

>просто через присваивание


Если ты напишешь MyClass obj() то ты создаешь объект конструктором.
Если ты напишешь MyClass obj = MyClass() то ты сначала создашь (безымянный) объект, а потом присвоишь его переменной obj. Как написал анон, умные компиляторы сейчас выкинут этот лишний шаг.

>о всяких {}


То что MyClass() подозрительно похож на функцию, создало некоторые проблемы. Можно перепутать с объявлением или вызовом функции. MyClass {} работает почти так же.
531 1774705
>>774694

> QImage image = variant.value<QImage>();


Спасибо, чел, попробую.
532 1774708
>>774703

> Ну так придумали. Типа "безымянная" функция с именем класса. MyClass()


Я про инициализацию членов класса после двоеточия.

> Если ты напишешь MyClass obj() то ты создаешь объект конструктором.


> Если ты напишешь MyClass obj = MyClass() то ты сначала создашь (безымянный) объект, а потом присвоишь его переменной obj. Как написал анон, умные компиляторы сейчас выкинут этот лишний шаг.


А просто MyClass obj не вызывает конструктор?

> То что MyClass() подозрительно похож на функцию, создало некоторые проблемы. Можно перепутать с объявлением или вызовом функции. MyClass {} работает почти так же.


Если почти также, то в чем смысл два разных знака делать?
533 1774710
>>774708
Я о прежнему не понимаю раницы между int i (2) и int i =2
534 1774718
Как работает ввод и вывод? У процесса есть область памяти куда данные пишутся, а потом ос оттуда их забирает? Дайте ссылки где можно почитать о этом.
535 1774722
>>774710
Во втором случае создается объект 2, а потом он копируется. В случае примитивов ничего, но при объектах это могут быть лишние телодвижения.
>>774708

>Я про инициализацию членов класса после двоеточия.


Не очень понял тебя.

>Если почти также, то в чем смысл два разных знака делать?


Чтобы убрать путаницу и неоднозначность, которая была со скобками.
536 1774725
>>774722
Спасибо. Вроде так понятно.
Можешь на это ответить, пожалуйста. >>774695
537 1774729
>>774725
тебе нахуй не нужен буст. Надо понимать сам язык, задрачивать библиотеки без задач (для тебя в текущий момент) - смысла бананий.
538 1774730
>>774729
У меня есть задача, которую я хочу сделать. Для нее нужен буст. Я открыл доку и понял, что не понимаю код. Начал читать липпмана. Потом прочту про многопоточность
539 1774732
>>774730
Что за задача? С некоей вероятностью она решается чем-то в разы более легковесным, чем буст
540 1774733
>>774732
Ну вообще я хотел сервер сделать. Мне beast посоветовали.
541 1774736
>>774733
а, ты тот самый челик. Посмотри доклад Vinnie Falco - Get rich with Boost beast, чето такое. Там прямо готовый код есть для биста.
542 1774739
>>774736
Спасибо.
543 1774750
>>774739
Блин, все равно нужно до шаблнов дочитывать.
544 1774756
>>774708

>А просто MyClass obj не вызывает конструктор?


Так в итоге что?
MyClass obj;
vs
MyClass obj();
545 1774764
>>774756
Никакой разницы.
546 1774766
>>774764
MyClass obj(); - это объявление функции obj, возвращающей MyClass
547 1774768
>>774766
Нет, это создание объекта класса MyClass с пустым списком аргументов конструктора. а ну ок
548 1774769
Гондон апдейтнул апи и теперь на ендпоинте лежит не просто object, а array из одного object))) и я сижу до 12 ищу че не так ахуеть
549 1774792
>>774769
Так не бывает сердце сгорает
Безымянный.png13 Кб, 707x143
550 1774843
551 1775400
Дайте идей для небольших многопоточных приложений.
552 1775462
Почему мой делегат не выводится в QTableView? Хочу, чтобы в ячейках таблицы выводились комбобоксы. Попытался по этому примеру сделать https://wiki.qt.io/Combo_Boxes_in_Item_Views, но что то не получается.
Делегат добавляю вот так:
MyModel model;
QTableView view;
MyComboBoxItemDelegate *myDelegate = new MyComboBoxItemDelegate(&view);
view.setItemDelegateForColumn(2, myDelegate);
view.setModel(&model);
view.show();
553 1775489
>>775462
Блять что за пиздец этот ваш qt и вообще ООП. В два раза больше ненужных строчек, выделение памяти под объекты, которые через 10 строк кода уже не нужны и прочая срань. Про читаемость вообще молчу. Вот другое дело процедурный стиль, когда каждая строчка - какое-то действие, которое из названия понятно.
554 1775492
>>775489
Я не особый спец, но мне кажется, что ооп придумали, чтобы приложения можно было писать командой, а процедурный стиль годится только для одиночек.
555 1775505
>>775492
Да, но когда кодишь соло, то от ООПа глаза вытекают и аж трясёт. Как будто специально сидели и придумывали как усложнить тебе жизнь.
Пусть это в энтерпрайзе варится, обычным смертным-то зачем это высерать?
556 1775507
>>775489
Структуру уже проинициализировал? Не от хорошей жизни ООП придумали, и не от плохой от него не уходят.
557 1775509
>>775505
Ну не сказал бы, что усложняет. Оконное приложение на Qt довольно удобно пилить. А процедурно как его пилить? Через Win32API и всякие хэндлеры? По моему это еще сложнее и трудночитаемее.
558 1775516
>>775462
Ну так что я все таки сделал не так? В MyComboBoxItemDelegate я определил методы createEditor(), setEditorData() и setModelData(). Может еще какой то метод надо определить, чтобы при вызове view.setItemDelegateForColumn(2, myDelegate) делегат стал отображаться в ячейке таблицы?
559 1775521
>>775489
Приведи пример такой нечитаемости, желательно с пикрилом. ООП призван упростить разработку крупных проектов, и он реально упрощает. Я участвовал в проекте на 18 млн. LoC и без ООП там был бы просто ад ебаный.
Даже в ядре Линукса, которое на чистых сях, есть овердохуя костыльных ООП конструкций. Костыльных - потому что в Си нет родного ООП и надо дрочить вприсядку, чтобы код хоть как-то был структурирован, а не напоминал один сплошной процедурный чиркаш, который невозможно ни мейнтейнить, ни отлаживать, ни вменяемо разбивать на модули.
560 1775522
>>775509

> А процедурно как его пилить?


Как в ImGUI. Вот это просто сказка, жаль что под десктоп такого нет.
562 1775538
Нахуя нужны адаптеры? Они работают поверх других контейнеров. Так для чего использовать их, если можно контейнеры, на которых они основаны?
15393622315702.gif1,7 Мб, 448x487
563 1775935
Говнокодерскую маньку можно спалить по этим двум вещам:
- дрочка вприсядку на паттерны ради паттернов (карго-культ). AbstractHelloWorldConsoleOutputPrinterFactoryFactory, сука.
- тотальная ненависть к ООП

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

>>775489
Просто ты школьник-неосилятор ебаный, и я рекомендую тебе просто прикрыть свою пасть и перестать тявкать.
>>775492
>>775505
Процедурный стиль годится только для говнокода, или для мелких-мелких скриптов, или для микроконтроллеров, в которых тесно, как в сортире и даже на передаче this экономят место. И то, даже там бывает все же выгоднее использовать классы.

>>775462
Нахуй тебе их недоMVC? Он же всратый, как говно, там даже размер колонок у QTableView нельзя настроить в модели, насколько я помню, и приходится дописывать свои велосипеды, или вообще слать нахуй эту парашу и пилить свой MVC. а лучше MVVM
565 1776309
>>776180

> some of the C features we use may or may not be usable from C++ (statement expressions)


Иронично но в С нет такой фичи (это нестандартное расширение языка), и он умудряется в соседних абзацах критиковать плюсовиков за то что они смеют писать на С++ в разных стилях.
566 1776320
>>776309
Ну да, GCC его любимый компилятор.
567 1777100
>>775935
linux говнокод, мелкие скрипты или микроконтроллеры?
15867559573602.png289 Кб, 686x526
568 1777278
>>777100
Микроконтроллеры - в большинстве случаев, няш.
569 1778974
Привет.
Хочу начать учить С++ для Анрил Энжина по курсам от Udemi. Ну или по каким-то другим, если мне эти на зайдут, выбрать вроде есть из чего, не суть
До этого писал некоторое количество кода в блокноте на AutoHotkey и в текстовом редакторе Линупса (каким бы он там не был) на Баше.
В общем, я не хочу среду разработки здорового человека, типа Вижуал Студио или КЛион, я хочу себе околоблокнот, который не будет сам расставлять табуляцию, выделять ошибки и пытаться дописать за меня строку, типа вот такого: https://www.youtube.com/watch?v=F_dezRfdvg8
Если я начну учиться на таком - это инстафейл?
Какую бы вы мне среду посоветовали под мои запросы?
Или же вы посоветовали бы не выебываться и брать студию?
570 1779010
>>778974
В 18 тред пиздуй
571 1779030
>>778974
Вим
572 1779052
>>778974
Да любой подойдет, если не будешь ставить плагины, у тебя будет только синтаксис подсвечиваться, никакого автокомплишена и проверки ошибок ни у какого редактора из коробки нету.
Бери какой-нить сублим текст или нотпад++ и вперед, если хочешь конкретно заморочиться то вим из твоего видео, там он просто обвешан тонами плагинов уже.
573 1779055
>>778974
>>779052

Хотя если тебе будет нужно работать именно с анрилом и его кодовой базой, то скорее всего у тебя просто не будет выбора, там билд система скорее всего заморочена пиздец как, и без студии просто не обойтись новичку.
574 1816220
Чем дальше погружаюсь в кресты, тем больше начинаю понимать, что cpp это ёбанный мутант нахуй. Создать этого мутанта и была цель Страуструпа?
Тред утонул или удален.
Это копия, сохраненная 23 февраля 2021 года.

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

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