Сохранен 574
https://2ch.hk/pr/res/1765587.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

C++ тред #117 /cpp/

 Аноним 01/08/20 Суб 16:11:39 #1 №1765587 
1479294246674.png
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

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

Для указателей:
Прошлый: >>1758813 (OP)
Аноним 01/08/20 Суб 17:10:14 #2 №1765650 
>>1765587 (OP)
Хорошо, что здравый смысл победил, и не ждут 1000 постов.
sageАноним 01/08/20 Суб 17:31:49 #3 №1765672 
>>1765650
Наоборот же
Аноним 01/08/20 Суб 17:39:37 #4 №1765682 
>>1765587 (OP)
Есть адаптированный перевод блога из шапки.
Оригинальный(из раздела "Куча других блогов") - https://www.learncpp.com/.
Перевод - https://ravesli.com/uroki-cpp/.
Возможно, стоит занести его в шапку? Он так же полностью бесплатный
Аноним 01/08/20 Суб 17:42:22 #5 №1765686 
>>1765682
Учить яп надо по книгам
Аноним 01/08/20 Суб 18:10:24 #6 №1765725 
>>1765686
А я учи по видосам на ютубе. И хули ты мне сделаешь теперь?
Аноним 01/08/20 Суб 18:27:06 #7 №1765742 
>>1765686
Заглянул по ссылкам, те же книги, что тебя не устраивает?
Аноним 01/08/20 Суб 18:51:45 #8 №1765768 
Как это так получается, что у типов данных тоже есть методы?
ostr << ifstream("file.txt").rdbuf();
Аноним 01/08/20 Суб 18:57:40 #9 №1765770 
>>1765768
Потому что классы - это типы данных.
Аноним 01/08/20 Суб 19:19:59 #10 №1765786 
Как константы в памяти хранятся?
Аноним 01/08/20 Суб 19:23:13 #11 №1765789 
>>1765786
Как решит компилятор - так и хранятся. Хоть инлайнятся, хоть имеют адрес.
Аноним 01/08/20 Суб 19:26:51 #12 №1765791 
>>1765789
Если я инициализирую константу переменной, то я так понимаю у нее есть адрес и ограничение на дальнейшие присвоения "искусствены"и с помощью указателя можно изменить константу?
Аноним 01/08/20 Суб 19:28:01 #13 №1765794 
изображение.png
>>1765420 →
И как это сделать? Там даже значений нет. Конструктор без аргументов в mat не работает.
Что-то вроде vec x{} тоже не работает.

Вот слева то что я хочу написать, а справа то что приходится писать с жутким }}}}. Я могу отказаться от union в vec записав оператор индексирования как *((&x)+i), но в mat это невозможно, потому что мне нужно как поле .x типа vec, так и поле .xx типа float.
Либо я могу отказаться от конструкторов, и писать _vec, который будет static-функцией возвращающий vec.
Аноним 01/08/20 Суб 19:28:38 #14 №1765795 
>>1765791
Это UB.
Аноним 01/08/20 Суб 20:41:02 #15 №1765841 
Норм использовать посимвольные операции для работы со всей строкой? Например применять toupper для каждого символа строки
Аноним 01/08/20 Суб 20:44:04 #16 №1765845 
>>1765791
Ты не можешь инициализировать константу не константой.
Аноним 01/08/20 Суб 20:45:08 #17 №1765847 
>>1765841
Это больная тема с++, потому что например в юникоде 1 "символ" может быть несколько байт.
Аноним 01/08/20 Суб 20:50:11 #18 №1765848 
>>1765845
Могу. Прекрасно работает такая вещь:
int n;
cin>> n;
const int a = n;
Аноним 01/08/20 Суб 20:52:32 #19 №1765852 
>>1765847
В книге, что я читаю приведена таблица функций для работы с символами строки. Например isalnum, isalpha, isdigit и тд. Они работают в любой кодировке?
Аноним 01/08/20 Суб 20:53:12 #20 №1765856 
>>1765852
Ну их вообще принято использовать или есть более хорошие вещи?
Аноним 01/08/20 Суб 20:57:37 #21 №1765859 
>>1765852
Вроде будут посмотри пример
https://en.cppreference.com/w/cpp/string/byte/isalpha
Аноним 01/08/20 Суб 20:58:05 #22 №1765860 
>>1765852
Нет, они только для ASCII. Для юникода, который в 2020 стыдно не поддерживать из коробки, и по сей день тащат сторонние либы.
Аноним 01/08/20 Суб 20:58:36 #23 №1765861 
>>1765848
Ясно.
Аноним 01/08/20 Суб 21:00:46 #24 №1765863 
>>1765861
Что не так?
Аноним 01/08/20 Суб 21:00:56 #25 №1765864 
Я ввожу дату в стандартный поток через cin и проверяю ее соответствует ли она определенному формату через условие:
if (stream >> y && stream.ignore(1) && (stream >> m) && stream.ignore(1) && (stream >> d)) { что-то делаю}
Но если у меня не соответствует формату, то как мне вывести то, что было введено вместо даты? Пробывал так:
else if(stream>>s) {cout<< s;} , где s- это строка, но нихуя не работает.
Аноним 01/08/20 Суб 21:01:34 #26 №1765865 
>>1765859
Господи, их результат ещё и от текущей локали зависит. Пиздец.
Аноним 01/08/20 Суб 21:02:02 #27 №1765866 
>>1765859
Ну там кажется внизу табличка ASCII и функции для нее, так что наверное прав этот >>1765860
Вообще планируется поддержка юникода? В 20 стандарте что то есть об этом?
Аноним 01/08/20 Суб 21:03:36 #28 №1765867 
>>1765866
Юникод и так поддерживается. wchar wstring wcin wcout
Аноним 01/08/20 Суб 21:04:59 #29 №1765868 
>>1765867
А функции для них те же о которых я вверху писал?
Аноним 01/08/20 Суб 21:06:45 #30 №1765871 
>>1765866
Вообще, вот что нашёл: https://stackoverflow.com/questions/28282357
Аноним 01/08/20 Суб 21:08:56 #31 №1765874 
>>1765871
Ооо. Спасибо большое
Аноним 01/08/20 Суб 21:09:08 #32 №1765875 
>>1765867
Никак не поддерживается.
Аноним 01/08/20 Суб 21:33:24 #33 №1765883 
>>1765875
А это >>1765871 что?
Аноним 01/08/20 Суб 22:05:38 #34 №1765893 
>>1765883
Он имеет в виду, что поддержка так себе. То, что я скинул, выглядит лютым костылём по сравнению с остальными языками.
Аноним 01/08/20 Суб 22:06:51 #35 №1765894 
Как сделать так, чтобы вносимые изменения в файл отображались в реальном времени, пока программа выполняется?
Аноним 01/08/20 Суб 22:07:34 #36 №1765895 
image.png
image.png
Почему не 3 и -10?
Аноним 01/08/20 Суб 22:10:16 #37 №1765896 
>>1765894
Всё, понял. Надо в цикле в начале алгоритма файл открывать, а в конце алгоритма закрывать.
Аноним 01/08/20 Суб 22:16:40 #38 №1765900 
>>1765895
у запятой приоритет ниже, чем у <<
Аноним 01/08/20 Суб 22:19:04 #39 №1765901 
>>1765894
Не обязательно закрывать, достаточно вызвать flush().
Аноним 01/08/20 Суб 22:21:37 #40 №1765903 
>>1765901
А какая разница, если эффект один и тот же?
Аноним 01/08/20 Суб 22:23:03 #41 №1765905 
>>1765895
(cout << (a = -10)), b;
так понятней?
Аноним 01/08/20 Суб 22:24:31 #42 №1765907 
>>1765903
Экономия на времени открытия/закрытия файла, но вряд ли в твоём случае это критично.
Аноним 01/08/20 Суб 22:28:36 #43 №1765909 
>>1765895
Ты и там и там вывел a. Однако странно, что компилятор крестов позволяет писать как в первом выводе с b, я не вижу в этой записи смысла.
sageАноним 01/08/20 Суб 22:35:54 #44 №1765914 
Шизло, хватит катить на 500. Уже больше года на 1000 катимся. И шапку проебал еще, ну молодец вообще.
Аноним 01/08/20 Суб 22:39:51 #45 №1765915 
>>1765905
Да
>>1765909
Я же вторым пиком определение прткрепил
Аноним 01/08/20 Суб 22:41:26 #46 №1765917 
>>1765915
Твоё определение хуйня. По крайней мере, в случае с <</>>.
Аноним 01/08/20 Суб 22:43:15 #47 №1765920 
>>1765917
Проебался с приоритетом. Определение ни при чем
Аноним 02/08/20 Вск 00:25:03 #48 №1765958 
>>1765587 (OP)
говнарь-пыхер стаж 4 года, бумер. Вчера начал учить си++ для того, чтоб уехать РАБотать в амазон через пару лет в какую-нибудь ёба-разработку нейросетей.

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

алсо, a tour of c++ 2nd edition норм тема для новайсов?
Аноним 02/08/20 Вск 01:05:43 #49 №1765971 
>>1765958
>C++.
>Нейросетей.
>Уехать через пару лет.
Аноним 02/08/20 Вск 01:48:02 #50 №1765985 
>>1765971
что не так?
Аноним 02/08/20 Вск 03:01:04 #51 №1766000 
>>1765985
Через пару лет нейросети сами будут писать тебя.
Аноним 02/08/20 Вск 03:33:32 #52 №1766006 
>>1766000
не надо меня писать
Аноним 02/08/20 Вск 09:46:22 #53 №1766085 
C++ надо просто определить неопределенное поведение.
Почему это ещё не сделали?
Аноним 02/08/20 Вск 10:01:46 #54 №1766090 
Хочу винапи на шаблонах, а не на указателях на void
Аноним 02/08/20 Вск 10:27:38 #55 №1766095 
>>1765985
Загляни в машоб тред хотя бы
Аноним 02/08/20 Вск 10:29:25 #56 №1766096 
>>1765971
В дурку точно уедет
Аноним 02/08/20 Вск 13:07:49 #57 №1766142 
>>1766085
https://stackoverflow.com/questions/51557895/why-does-undefined-behaviour-exist
Аноним 02/08/20 Вск 13:14:54 #58 №1766145 
>>1766142
Эх, я тут расписывал ответ, а ты взял и... сделал всё как надо.
Аноним 02/08/20 Вск 13:18:32 #59 №1766146 
>>1766142
Да ну ерунда, сделать их все ошибками и ввести какой нибудь аттрибут для отключения в конкретных нужных тебе местах.
Аноним 02/08/20 Вск 13:22:18 #60 №1766147 
>>1765587 (OP)
Господа, мне нужно написать 10 строчек кода для пердуино (бесплатно), я попал по адресу?
Сам я так-сяк могу в питон, а в этих ваших крестах не могу даже вменяемо оформить цикл не говоря уже о бесконечных expected ";" и "{" и variable is not declared in this scope иными словами я жестоко страдаю.
Ну и если кто заинтересовался, то вкратце о проблеме. Есть датчик, который возвращает дистанцию в сантиметрах и есть некое relay, которое можно on/off. Мне нужно, что бы relay on на определенной дистанции обьекта до датчика, и оставалось таким вплоть до изменения этой дистанции, после чего переходило в режим off с задержкой в 2 минуты. Но если за 2 минуты обьект снова попадает в дистанцию, то задержка сбрасывается, и relay остается в on.
Если тут таким не занимаются, скажите куда идти только не нахуй
Аноним 02/08/20 Вск 13:52:38 #61 №1766156 
>>1766146
Подумай об этом не со стороны своих эгоистичных замашек, а со стороны разработчиков компилятора и кучи других разработчиков под самые разные архитектуры, и всё станет понятно.
Аноним 02/08/20 Вск 14:13:07 #62 №1766183 
>>1766156
Как раз от убирания UB лучше станет всем.
Аноним 02/08/20 Вск 14:24:43 #63 №1766196 
>>1766147
Иными словами, тебе нужно постоянно проверять дистанцию - и если дистанция подходящия, то нужно две минуты держать что-то включённым?
> я попал по адресу?
Вообще нет, но твоя задача в самом деле решается за три минуты, если иметь ардуину и настроенную ide под рукой с датчиком. Вот так вслепую - не напишу, потому что ардуину мучал час или около того. Что-то вроде такого, но это в самом деле пальцем в небо и нужно дописать опрос датчика: https://ideone.com/yBqOdx
Аноним 02/08/20 Вск 14:30:00 #64 №1766201 
>>1765958
бумер на связи. Потихоньку читаю книжульку. Сейчас вот разбираюсь с понятием nullptr, вроде бы, пока что как по маслу маспу идёт, но медленно.

держу в курсе
Аноним 02/08/20 Вск 14:44:17 #65 №1766220 
Здравствуй, анон.
Хуй знает, по адресу ли я, но мне нужен совет шарящих людей из мира с/с++ разработки.
Коротко - я не знаю в какую сторону мне дальше двигаться. Получил инженерную вышку, устроился в эмбедед разработку контрол инженером, шарю в ТАУ и физике, построить элементарную 1d симуляцию вообще не проблема, умею в fem и cfd. Разработка в основном в симулинк, с автоматическим кодогенератором. Некоторые модули пишу вручную на С, типа adc или пвм модуляции.
Так вот, то чем я занимаюсь - абсолютно унылая и хуево оплачиваемая дичь, потолок может 100к в ДС. Эти скиллы никому практически никогда не нужны.
Два стула - вкат в С++ разработку эмбедед или околоэмбедед, ну или забить на всё выученное хуй и вкат в какой-то дата сайенс/машин лернинг.
По первому стулу меня готовы почти мидлом брать. Уже потыкался по собеседованиям. По второму надо будет начинать с джуна.
Буду благодарен за совет.

Аноним 02/08/20 Вск 14:44:31 #66 №1766221 
>>1766147
А вообще вот, лол: https://2ch.hk/ra/res/411957.html
Аноним 02/08/20 Вск 15:48:08 #67 №1766290 
>>1766220
Иди в эмбед. научишься писать код, а дальше перекатишься в нормальную или ваще в гермашку какую.
Аноним 02/08/20 Вск 15:59:07 #68 №1766301 
>>1766290
да я уже именно в Гермашку и перекатился и занимаюсь вышеописанной хуйней к сути моего поста это правда отношения не имеет. Разве что это огромный минус, так как то, чем я занимаюсь есть только 5/2 8 часов в неделю в офисе, в очень дорогих городах, где 3к€ разраба просто смешны. Кодинг же в отличии от инженерии достаточно гибкий, фрилансить или работать удалённо или работать на гелере можно откуда угодно за те же деньги. Но это лирическое отступление.
У тебя есть опыт или знакомые в эмбедед с++ разработке?
Аноним 02/08/20 Вск 16:00:47 #69 №1766303 
>>1766196
Спасибо! Перепощу в /ra, похоже что для них это совсем пустяки.
Аноним 02/08/20 Вск 16:05:18 #70 №1766307 
Сап /b/pr, нафаня на связи.

Ситуация: некая программа построчно пишет данные в конец файла(всякие логи), нужно отлавливать момент записи и собственно сами логи, в какую сторону капать?
Возможно проблема слишком легкая, но никогда с этим не сталкивался, максимум парсил готовые XML-ки
Аноним 02/08/20 Вск 16:30:05 #71 №1766330 
>>1766307
Можно отслеживать событие изменения файла: 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
Аноним 02/08/20 Вск 16:38:03 #72 №1766333 
>>1766183
Это почему?
Давай на конкретном примере. Сложение двух знаковых целых чисел с переполнением. Это потенциально практически каждое сложение интов. Какие ты тут хочешь ввести атрибуты? Как ты уберёшь тут UB? Кому станет от этого легче жить?
Аноним 02/08/20 Вск 17:00:15 #73 №1766354 
>>1766330
Благодарю тебя анон
Аноним 02/08/20 Вск 18:03:02 #74 №1766428 
Сап, аноны. Пытаюсь сделать небольшую роуг-лайк игру. Какие либы/средства использовать для отображения карты? В джаве я юзаю Jframe для этого. Нужна карта, которая будет размечена на секции со своими символами/иконками. Что посоветуете?
Аноним 02/08/20 Вск 18:13:55 #75 №1766446 
>>1766428
SFML.
Аноним 02/08/20 Вск 18:21:22 #76 №1766467 
>>1766428
Tiled
Аноним 02/08/20 Вск 18:36:12 #77 №1766491 
>>1766467
>>1766446
мерси
Аноним 02/08/20 Вск 18:58:25 #78 №1766519 
>>1766446
а что скажешь про libtcod?
Аноним 02/08/20 Вск 19:05:08 #79 №1766532 
>>1766519
Не слышал о такой. Но выглядит на первый взгляд неплохо.
Аноним 02/08/20 Вск 19:24:35 #80 №1766549 
>>1766301
Эмбедед на плюсах? А что ты им делать собрался, когда там максимально низкоуровневый код?
Аноним 02/08/20 Вск 19:38:48 #81 №1766566 
>>1766549
Не звезди.
https://www.youtube.com/watch?v=c9Xt6Me3mJ4
Аноним 02/08/20 Вск 19:40:14 #82 №1766567 
>>1766549
Весь driver assisntent systems на плюсах, почти весь автономный драйв на плюсах, всевозможные драйвера, комуникации, инфотеймент и тд.
Эмбедед это же не только диодиками мигать.
Аноним 02/08/20 Вск 20:14:57 #83 №1766585 
Есть вообще хоть какая-нибудь альтернатива винапи для нормального интерфейса уровня софта от майков?
wxWidgets не поддерживает кучу фич винды, qt сам рисует интерфейс и он выглядит как инородное говно, WPF ущербный и опять же не может как винапи. Неужели нет нормальной абстракции винапи с поддержкой всех свежих фич DWM?
Аноним 02/08/20 Вск 20:17:31 #84 №1766589 
>>1766567
Что вообще знать надо помимо плюсов, чтобы в ембедед вкатиться?
Аноним 02/08/20 Вск 20:21:21 #85 №1766592 
>>1766333
Это как раз очень простой пример. Если у тебя переполнение, то у тебя UB. А значит ты не проверил данные, и на выходе у тебя мусор. Проверять надо или в рантайме, или в компайл тайме, где ты явно указываешь гарантии что твои данные вписываются в диапазон. Например специальным типом данных, который точно может быть только от -5 до 5. Или контрактами. От этого станет легче жить вообще всем - и программистам, которым меньше ловить плавающих багов и уязвимостей. И пользователей, чьи самолеты перестанут втыкаться носом просто потому что компилятор что то там оптимизировал скрыто.
Аноним 02/08/20 Вск 21:33:39 #86 №1766643 
>>1766566
Ну это конечно высокая планка, если вкатишься во все это то мое почтение
Аноним 02/08/20 Вск 21:34:02 #87 №1766644 
>>1766589
Электронику и то, как работает микропроцессор. Слова регистр, adc, dma, eeprom, spi не должны наводить ужас. В зависимости от отрасли еще и теорию автоматического управления, физику этц. Эмбедед эмбедеду рознь.
Аноним 02/08/20 Вск 23:03:53 #88 №1766695 
>>1766592
А прикинь, антош, если каждый сраный ++i сможет кидать исключение IntegerOverflow
как в божественном SML
Аноним 02/08/20 Вск 23:09:51 #89 №1766701 
>>1766592
И производительность как у питона будет.
Аноним 02/08/20 Вск 23:11:56 #90 №1766704 
>>1766695
Я только за. Нахуй нужен wrap чтобы индекс в массиве стал отрицательным?
Аноним 02/08/20 Вск 23:12:32 #91 №1766705 
>>1766701
Предпочитаешь быстрые но некорректные программы?
Аноним 02/08/20 Вск 23:47:02 #92 №1766721 
>>1766705
Оба варианта так себе, но иногда перформанс действительно важен, и тогда программу должен писать очень высококвалифицированный кодер, чтобы она была как можно менее некорректная.
Аноним 03/08/20 Пнд 00:40:50 #93 №1766730 
>>1766705
Если не нужна производительность, зачем вообще плюсы трогать? Есть куча других безопасных языков, выбирай любой и ебись с ним.
Аноним 03/08/20 Пнд 00:50:04 #94 №1766734 
>>1766730
UB это ошибка.
Аноним 03/08/20 Пнд 00:50:37 #95 №1766735 
>>1766585
У Boost есть какая-то обертка над WinAPI, но над чем именно не знаю.
Аноним 03/08/20 Пнд 01:03:30 #96 №1766743 
>>1766585
WinRT?
Аноним 03/08/20 Пнд 01:17:38 #97 №1766750 
>>1766734
Нет, это выбор. Я выбираю нож поострее. Да, острым ножом можно себе где-нибудь артерию вскрыть, но на то он и нож.
Аноним 03/08/20 Пнд 01:26:25 #98 №1766755 
>>1766750
Да это и так понятно что ты эджи школьник любящий играться с ножами. Жалко людей которые потом гибнут
Аноним 03/08/20 Пнд 01:33:57 #99 №1766759 
>>1766585
ATL и WTL.
Аноним 03/08/20 Пнд 01:40:39 #100 №1766762 
>>1766585
>>1766743
>>1766759
Фу бля. Ещё MFC раскопайте.
Аноним 03/08/20 Пнд 02:08:35 #101 №1766772 
>>1766762
Ничего общего с MFC.
Аноним 03/08/20 Пнд 02:22:14 #102 №1766779 
>>1766759
> ATL
Мммм CStringT, вкусно
Аноним 03/08/20 Пнд 03:45:31 #103 №1766798 
>>1766779
И? Унификация char, wchar_t и винапишного TCHAR.>>1766779
Аноним 03/08/20 Пнд 04:21:31 #104 №1766807 
>>1766090
Хочу для начала винапи, который не засирает всё своими макросами.
Аноним 03/08/20 Пнд 08:56:18 #105 №1766849 
>>1766585
WPF. Используй C++/CLI для взаимодействия между шарповой и плюсовой частями. Работает, проверено на себе
Аноним 03/08/20 Пнд 09:01:12 #106 №1766854 
>>1766849
А, чёрт, недочитал (хватит с утра на двачах сидеть). Кроме как чистых винапи для взаимодействия с DWM от роду не видел.
Аноним 03/08/20 Пнд 12:08:17 #107 №1766977 
>>1765786
Зделай дизасм да посмотри
Аноним 03/08/20 Пнд 12:21:47 #108 №1766988 
>>1766201
>nullptr
И что ты понял, что это такое? В чем разница между NULL, nullptr, 0?
Аноним 03/08/20 Пнд 13:04:43 #109 №1767054 

>>1765786
>Как константы в памяти хранятся?
Как скажешь так и хранятся.
attribute _((section("name")) и man ld.
Аноним 03/08/20 Пнд 14:41:31 #110 №1767203 
image.png
В чем разница?
Аноним 03/08/20 Пнд 15:17:50 #111 №1767240 
>>1767203
Да получается, что никакой. Вызывается одинаковый конструктор для списка инициалиазации.
Аноним 03/08/20 Пнд 15:18:43 #112 №1767242 
>>1767203
В первом случае создание и копия - во втором создание и пробрасывание по rvalue reference.
Аноним 03/08/20 Пнд 15:54:10 #113 №1767288 
>>1767203
Надо писать std::move(v...)
Аноним 03/08/20 Пнд 16:07:36 #114 №1767300 
>>1767288
Проще на Rust перейти.
Аноним 03/08/20 Пнд 16:13:49 #115 №1767308 
>>1767300
Там жизни нет.
Аноним 03/08/20 Пнд 18:18:08 #116 №1767549 
>>1767288
Зачем? Аргумент и так rvalue. В std::move надо было бы оборачивать, если бы передавался lvavlue объект, созданный заранее вектор.
Здесь фишка в том, что объект создается прямо в выражении. Поэтому вызывается обычный конструктор в обоих случаях, а не копирования и не перемещения.
Аноним 03/08/20 Пнд 18:44:33 #117 №1767587 
>>1767549
Copy elision гарантируется только начиная с 17 стандарта.
Аноним 03/08/20 Пнд 21:02:41 #118 №1767679 
1596477762973.jpg
Есть какой нибудь супер простой пример реализации Model/View в Qt для полных даунов? А то я Шлее почитал, кутевские мануалы почитал и все равно нихуя не ебу, как это все создавать. Чувствую себя полным дебилом.
Аноним 03/08/20 Пнд 21:12:11 #119 №1767688 
>>1767679
https://doc.qt.io/qt-5/modelview.html#2-a-simple-model-view-application
Аноним 03/08/20 Пнд 21:24:57 #120 №1767702 
>>1767688
Спс, надо попробовать.
Аноним 03/08/20 Пнд 21:26:25 #121 №1767706 
>>1766196
Перенял идею с этой проги, сильно упростилась жизнь, спасибо еще раз.
>>1766221
А там оказалось ничего интересного, восседают господа Таурины и обсуждают по сколько ножек должно быть у резистора.
Аноним 03/08/20 Пнд 23:59:00 #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 сразу будет ошибка


Как вам?
Аноним 04/08/20 Втр 00:04:43 #123 №1767813 
>>1767587
Уже двадцатые почти вышли.
Аноним 04/08/20 Втр 00:07:01 #124 №1767814 
>>1767809
Хедер-онли, stb-стайл, final destination
Аноним 04/08/20 Втр 00:29:59 #125 №1767821 
>>1767308
Чего тебе в Rust не хватает?
Аноним 04/08/20 Втр 00:49:56 #126 №1767829 
>>1767813
Прямо сейчас пишу на С++11 на работе, и это я ещё удачно договорился.
Аноним 04/08/20 Втр 00:54:26 #127 №1767831 
>>1767829
Проиграл с "удачно договорился". У нас ни одно проекта даже на С++14 уже нету.
Аноним 04/08/20 Втр 01:02:26 #128 №1767835 
>>1767829
Ну, что могу сказать - удачи, и не забывай писать ::type после enable_if
Аноним 04/08/20 Втр 01:05:33 #129 №1767837 
>>1767814
Чё? Ничего не понял ( ну кроме, понятное дело, header only )
Аноним 04/08/20 Втр 01:11:58 #130 №1767842 
>>1767813
Круто. Я тоже свои хеллоу ворлды на 17 пишу, а на работе 11.
Аноним 04/08/20 Втр 01:38:49 #131 №1767849 
В чем проблема перевести рабочие проекты на cpp17?
Аноним 04/08/20 Втр 02:18:00 #132 №1767864 
>>1767849
При переходе c++11 -> c++14 семантика и поведение некоторых конструкций менялось,
https://stackoverflow.com/questions/23980929/what-changes-introduced-in-c14-can-potentially-break-a-program-written-in-c1

Надо деньги чтобы все исходники проверять
Аноним 04/08/20 Втр 08:38:37 #133 №1767930 
>>1767821
Вакансий
Аноним 04/08/20 Втр 09:19:13 #134 №1767938 
>>1767864
Если уж по чесноку, то эти изменения скорее всего у тебя никак не проявятся. Да и ищутся такие места простым поиском по исходникам.
Аноним 04/08/20 Втр 09:25:58 #135 №1767940 
>>1767938
Ну да. Берем один стандарт, другой, и делаем diff. И вывод суем в grep. По миллиону строк исходников. Так проекты на новые сипласпласы и переводят.
Аноним 04/08/20 Втр 10:08:08 #136 №1767952 
>>1765587 (OP)
Сап, анон. Какой есть самый адекватный способ передачи произвольных контейнеров определенного типа в функции? Через итераторы? Можете привести пример?
Аноним 04/08/20 Втр 10:10:45 #137 №1767955 
>>1767952
> произвольных контейнеров определенного типа
Ты уж определились

Посмотри на std::for_each какой-нибудь
Аноним 04/08/20 Втр 10:55:05 #138 №1767978 
>>1767837
stb-стайл - в стиле библиотек от Шона Баррета (https://github.com/nothings/stb). Вместо размножения inline функций в каждом месте, где ты инклюдишь либу, ты в одном файле подключаешь инклюдишь с макросом (например, STB_TRUETYPE_IMPLEMENTATION), который вставляет реализации, а в остальных файлах будут только сигнатуры функций. Хотя если писать на плюсах, то линкеру от этого будет ни холодно ни жарко по сравнению с нагрузками от тысяч шаблонов.
Final Destination - старый мем про Smash Brothers
Аноним 04/08/20 Втр 11:40:35 #139 №1768013 
>>1767955
Наверное он хотел сказать "произвольных контейнеров, которые могут содержать элементы только опоеделенного типа".
Аноним 04/08/20 Втр 12:01:30 #140 №1768043 
>>1767831
Ну и что? Везде по-разному.
Аноним 04/08/20 Втр 12:13:52 #141 №1768055 
Есть ли отличие между

Class object = Class()
и
Class object();
Аноним 04/08/20 Втр 12:15:33 #142 №1768058 
>>1768055
Первое не скомпилится без точки с запятой. В остальном одно и тоже.
Аноним 04/08/20 Втр 12:15:50 #143 №1768060 
>>1768058
*то же
Аноним 04/08/20 Втр 12:18:16 #144 №1768061 
image.png
image.png
>>1768058
Вот я прикрепил код, который у меня примеррный.

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

Какого хуя?
Аноним 04/08/20 Втр 12:21:57 #145 №1768067 
>>1768061
>И если я вызываю Person bob(), то никакого вывода в консоли нет.
Че ты врёшь? У меня всё есть
Аноним 04/08/20 Втр 12:23:23 #146 №1768068 
>>1768061
>>1768067
А, скобки убери.
Person bob;
Аноним 04/08/20 Втр 12:23:45 #147 №1768069 
>>1768055
>Class object = Class();
Создание переменной object конструктором Class
>Class object();
Объявление функции object, не принимающая параметров и возвращающая объект Class.

Это, наверное, одна из самых больших грабель новичков. Читай про most vexing parse. Отчасти ради этого и ввели синтаксис конструирования объектов через фигурные скобки: Class object{}; ведёт себя так, как интуитивно кажется.
Аноним 04/08/20 Втр 12:24:05 #148 №1768070 
>>1768068
Ахуеть, а в чём разница тогда? Он что ли думает что я void ему сую в аргументы?
Аноним 04/08/20 Втр 12:24:30 #149 №1768071 
>>1768070
Он думает, что это декларация функции.
Аноним 04/08/20 Втр 12:26:01 #150 №1768073 
>>1768071
Можешь сделать

Person bob();
bob();

Получишь ошибку линкера, а не ошибку компилятора. Потому что декларация есть, а тела функции нет.
Аноним 04/08/20 Втр 12:26:28 #151 №1768075 
>>1768069
>Объявление функции object, не принимающая параметров и возвращающая объект Class.
А разве мы можем объявлять саму функцию в структурном блоке?... Я думал можно только указатель на неё.
Аноним 04/08/20 Втр 12:29:53 #152 №1768077 
>>1768075
"Объявить" можно всё что угодно
Аноним 04/08/20 Втр 12:29:59 #153 №1768078 
>>1768075
Можем. Welcome to C. Инджой ёр стэй.
Аноним 04/08/20 Втр 12:35:19 #154 №1768082 
>>1768078
Бля, точно, мы же пишем иногда перед main блоком хуиту навроде
void pidor()
main...
void pidor() {}
>>1768077
Спасибо вам всем большое кто отвечал мне, вы даже меня не обоссали, я удивлён.
Аноним 04/08/20 Втр 13:07:55 #155 №1768103 
Аноны, как в WinAPI вкатится? Сам имею опыт только с QT и QML.
Аноним 04/08/20 Втр 13:22:30 #156 №1768122 
>>1768103
открываешь MSDN и читаешь
Аноним 04/08/20 Втр 15:06:46 #157 №1768233 
>>1768103
Петцольд.
Аноним 04/08/20 Втр 19:46:16 #158 №1768492 
1596559577921.PNG
Qt Creator мне каждый раз при новом проекте предлагает запилить деструктор для мейн класса. Но я его удаляю обычно, т.к. лень писать. Чем это чревато для моих программ?
Аноним 04/08/20 Втр 19:49:04 #159 №1768495 
>>1768492
Вроде ничем, там все равно вызовется у базового.
Аноним 04/08/20 Втр 20:30:32 #160 №1768521 
Допустим, я наследую у абстрактного класса. в С++
Что будет, если я при переобъявлении методов этого абстрактного класса не напишу const override позади них?
Аноним 04/08/20 Втр 20:36:54 #161 №1768525 
>>1768521
Ничего, просто проверки не будет.
Аноним 04/08/20 Втр 20:37:39 #162 №1768526 
>>1768525
Какой проверки?
Аноним 04/08/20 Втр 20:42:41 #163 №1768527 
В чем смысл исключений? Почему нельзя на if'ах тоже самое сделать?
Аноним 04/08/20 Втр 20:51:32 #164 №1768529 
>>1768525
Override - это компайл-тайм проверка на то, что ты оверрайдишь метод класса в наследнике.

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

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

>>1768527
При правильном использовании - это гораздо более мощная фича, позволяющая писать короче и красивее. При неправильном - пиздец.
Аноним 04/08/20 Втр 21:35:31 #165 №1768538 
>>1768521
Он сам подставит.
Аноним 04/08/20 Втр 21:37:14 #166 №1768539 
>>1768527
if работает только внутри данной функции. Прикинь тебе все функции придется оборачивать в тонны if. Но вообще сейчас в сторону возврата туплы смотри. [result, error_code] = some_foo();
Аноним 04/08/20 Втр 22:09:38 #167 №1768546 
>>1768529
>>1768539
Спасибо
Аноним 04/08/20 Втр 22:16:34 #168 №1768550 
На что влияет здесь const?
int & const r2
Что поменялось бы если бы const не было?
Аноним 04/08/20 Втр 22:18:52 #169 №1768551 
>>1768550
int& const == const int&
Аноним 04/08/20 Втр 22:20:30 #170 №1768553 
>>1768551
Спасибо.
Аноним 04/08/20 Втр 22:27:27 #171 №1768554 
if (int& const == const int&)
{
    std::cout << "Спасибо.";
}
Аноним 04/08/20 Втр 22:41:49 #172 №1768561 
>>1768550
это же вообще не компилится, алло
Аноним 04/08/20 Втр 22:44:50 #173 №1768564 
>>1768550
const int & — норм
int const & — норм (то же самое)
int & const (как ты написал) — не допустимо.
Аноним 05/08/20 Срд 00:00:42 #174 №1768591 
>>1768527
Сделай свои exceptions на longjump, сравни. Только так чему-то можно научиться по настоящему.
Аноним 05/08/20 Срд 00:25:07 #175 №1768598 
>>1768561
>>1768564
Спасибо
Аноним 05/08/20 Срд 01:11:18 #176 №1768607 
>>1768103
#include <windows.h>

Не благодари
Аноним 05/08/20 Срд 09:54:24 #177 №1768705 
>>1768527
Это синтаксический сахар над longjmp + if.
Аноним 05/08/20 Срд 10:13:59 #178 №1768711 
Вот была бы книга, где рассмотрен весь язык, со всей стандартной либой. Чтобы страниц тысячи три.
Аноним 05/08/20 Срд 10:34:28 #179 №1768719 
>>1768711
Да, там слово Стандарт ещё на обложке.
В моей молодости подобные книжки были страниц 200.
Аноним 05/08/20 Срд 11:12:54 #180 №1768743 
>>1768591
>>1768705
Спасибо
Аноним 05/08/20 Срд 11:43:26 #181 №1768785 
>>1768711
Можешь купить оффициальный стандарт
Аноним 05/08/20 Срд 13:10:50 #182 №1768893 
Как вкатиться джуном/стажером в москве? Уже год ищу хоть какую-нибудь работу, везде либо отказ, либо просто не отвечают. Даже на заводы и нии просился.
Аноним 05/08/20 Срд 13:48:26 #183 №1768944 
>>1768893
На крестах нет работы для джунов (есть только для обладателей связей). 99.9% работы на крестах в продакшене требуют знаний как минимум миддла, который почти синьор. С++ - худший ЯП для вката.
Тебя могут пригласить на собес, если у тебя есть очень серьезные личные байтоебские проекты (своя ОС, свой игровой движок, компилятор, эмулятор процессора - нужное подчеркнуть), но если не повезет и в то же время у них будет собеседоваться пчел с 10-ью годами коммерческого опыта разРАБотки на крестах - тебя пошлют нахуй. Се ля ви.
Аноним 05/08/20 Срд 13:58:33 #184 №1768977 
>>1768944
Спасибо
Аноним 05/08/20 Срд 13:59:10 #185 №1768979 
>>1768893
https://hh.ru/vacancy/36779078?query=Junior%20C%2B%2B
https://hh.ru/vacancy/36607207?query=Junior%20C%2B%2B
https://hh.ru/vacancy/38376924?query=Junior%20C%2B%2B

Смотри требования и задрачивай

Спасибо
Аноним 05/08/20 Срд 14:03:52 #186 №1768985 
>>1768979
> опыт разработки в Qt на С++ под Windows/Linux;
> уверенные знания С++, STL
> знания ООП.

> Должен иметь представление о разработке многопоточных сетевых приложений на C++ под Linux
> Знать С++11, STL, metaprogramming, Atomic, POSIX API, IPC;
> Знать фундаментальные структуры данных и алгоритмы;
> В состоянии прочитать техническую документацию на английском языке.

Как-то лайтовенько очень.
Аноним 05/08/20 Срд 14:10:43 #187 №1768999 
>>1768985
ну джуны же нахуя им метапрограмминг лол
Аноним 05/08/20 Срд 15:07:33 #188 №1769128 
>>1768944
Ещё хочу заметить, что лично у меня никогда не было чисто плюсовской работы, даже если в вакансии были только плюсы. Везде нужен был какой-нибудь ещё доп язык типа шарпов или питона.
Мимопроходил
Аноним 05/08/20 Срд 15:31:54 #189 №1769161 
>>1768985
Это требования для мидла

А ты и половины слов в этой вакансии не знаешь небось, зато выебнулся про лайтовенькость
Аноним 05/08/20 Срд 15:33:04 #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
Почему он его не находит?
Аноним 05/08/20 Срд 15:33:25 #191 №1769164 
>>1769161
> опыт разработки в Qt на С++ под Windows/Linux;
> уверенные знания С++, STL
> знания ООП.

Для мидла?
Аноним 05/08/20 Срд 15:34:03 #192 №1769166 
>>1769162
Почему каждый тупой уебан ставит этот ебучий кок-блокс, который нихуя не умеет и нихуя не работает, а потом ебется с ним в жопу, когда есть стандарт индустрии под винду - Вижуал Студия.

Она просто работает из коробки, поставь ее и не еби голову.
Аноним 05/08/20 Срд 15:35:41 #193 №1769168 
>>1769162
Может у тебя CodeBlocks установлен в папке с кириллицей в пути?
Аноним 05/08/20 Срд 15:40:28 #194 №1769177 
>>1768944
Пиздежь и провокация. Работу нашёл с первого раза, через пять лет уже сам набираю в команду джунов. а других нет
Аноним 05/08/20 Срд 15:41:52 #195 №1769181 
>>1769166
У меня стоит VS2019. Я захотел попробовать SFML, а там на сайте нет либ для этой студии (есть для 2013, 2015, 2017) и написано, что разные версии не совместимы. Была еще версия для кодеблокс, и я решил ее попробовать.
Аноним 05/08/20 Срд 15:43:02 #196 №1769184 
>>1769181
Начиная с 2015 совместимы, но не наоборот
Аноним 05/08/20 Срд 15:43:44 #197 №1769186 
>>1769181
Бери для 2017 или 2015 - взлетит
Аноним 05/08/20 Срд 15:45:07 #198 №1769187 
>>1769168
Установлен в C:\Program Files. Есть пробел, но он сам предлагает туда устанавливаться.
Аноним 05/08/20 Срд 15:46:38 #199 №1769189 
>>1769181
Собери сам, собирал недавно, всё ок.
Аноним 05/08/20 Срд 15:48:33 #200 №1769193 
>>1769177
Что вы разрабатываете?
Аноним 05/08/20 Срд 15:49:01 #201 №1769194 
>>1769193
Ачько
Аноним 05/08/20 Срд 15:50:34 #202 №1769196 
>>1769164

> Должен иметь представление о разработке многопоточных сетевых приложений на C++ под Linux
> Знать С++11, STL, metaprogramming, Atomic, POSIX API, IPC;
> Знать фундаментальные структуры данных и алгоритмы;
> В состоянии прочитать техническую документацию на английском языке.

Ты тупой? Сам же написал.
Ща бы вкатываясь в плюсы стремиться "знать" какую-нибудь хуйню типа метапрограмминга, а о сетях и многопоточке просто "иметь представление". Складывается такое ощущение, что ХР нагуглила базвордов и разместила это гавно не особо заморачиваясь согласованием с разрабами
Аноним 05/08/20 Срд 15:57:02 #203 №1769200 
>>1769193
средства 3d моделирования
Аноним 05/08/20 Срд 17:28:02 #204 №1769251 
>>1769177
Скольким дедам отсосал чтобы пробиться в тимлиды?
Аноним 05/08/20 Срд 20:08:22 #205 №1769337 
>>1769251
Если уж проводить такую аналогию, то получается, что удалил два ребра
Аноним 05/08/20 Срд 20:46:07 #206 №1769367 
>>1769251
Только одному. Ему тоже не зашло.
Аноним 05/08/20 Срд 22:10:05 #207 №1769420 
>>1769162
Должен быть в C:/MinGW/include
Аноним 05/08/20 Срд 23:30:15 #208 №1769468 
Почему быстрее не стало?
https://codeforces.com/contest/1373/submission/89070609
https://codeforces.com/contest/1373/submission/88945002
Аноним 06/08/20 Чтв 00:13:52 #209 №1769487 
Сап, есть один абстрактный класс, а в нем есть ЧВМ, возвращающей указатель на объект абстрактного класса (в моей задумке для возврата объектов классов-наследников). Но трабла в том, что VS пишет, что функция, помеченная override в классе-наследнике не переопределяет функцию класса-родителя.
ЧЯДН?
Аноним 06/08/20 Чтв 00:14:09 #210 №1769488 
>>1769487
Код:
https://pastebin.com/pUW6t3X6
Аноним 06/08/20 Чтв 00:31:39 #211 №1769498 
>>1769488
точки с запятой после обоих классов?
Аноним 06/08/20 Чтв 01:57:26 #212 №1769514 
>>1769487
Ты это, следи еще за типом возвращаемого значения, потому что зачастую в переопределенных методах надо возвращать ссылку на дочерний класс.

ПС орнул с названия метода в коде
Аноним 06/08/20 Чтв 02:28:28 #213 №1769525 
>>1769498
Это иллюстрация просто была, точки с запятой на месте.
>>1769514
Трабла оказалось, наоборот, в значении аргумента.
У меня в родительском классе есть статическое перечисление, которое и является аргументом метода pidoras.
Проблема в том была, что я не указывал полный путь к перечислению (имя базового класса::enum name)
Аноним 06/08/20 Чтв 03:38:35 #214 №1769532 
>>1769498
Странно, что про точки с запятой ты написал, а про то, что ЧВМ с модификатором доступа private по-умолчанию (private не наследуется) ты не написал.
Аноним 06/08/20 Чтв 11:40:36 #215 №1769672 
15881039782433.jpg
Можно ли использовать С++-код в ведерных модулях?

Естественно, без исключений, STL, стоковых new/delete и прочего такого, чисто классы, шаблоны, ссылки.
Аноним 06/08/20 Чтв 11:51:50 #216 №1769678 
>>1769672
Можно и со всем этим.
Аноним 06/08/20 Чтв 11:55:20 #217 №1769682 
>>1769672
> без исключений
Так это часть языка...
Аноним 06/08/20 Чтв 12:41:04 #218 №1769744 
>>1769487
Ты возвращаешь ссылку, а не указатель.
Так-то это работает, но задумка странная. Класс А абстрактный, ты не можешь создавать объекты этого класса. При этом в дочернем полиморфном классе ты возвращаешь ссылку на объект класса А, который ты не можешь создать (по сути, ты можешь из этой функции вернуть лишь ⚹this - ссылку на объект класса B, именно в данном контексте). Зачем - непонятно, объясни если не лень.
Аноним 06/08/20 Чтв 12:54:34 #219 №1769771 
>>1769672
Конечно можно.
Вот сейчас пилю kernel module под линукс
-fno-exception -fno-rtti, etc
Аноним 06/08/20 Чтв 12:55:28 #220 №1769774 
>>1769744
Динамик касты между референсами работают по тем же правилам, что и для поинтеров.
Аноним 06/08/20 Чтв 13:15:31 #221 №1769800 
>>1769744
Так мне в данном методе и нужно вернуть объект класса B. Но полиморфность должна сохранится, поэтому я возвращаю ссылку на класс-родитель, указывающую на объект this.
Аноним 06/08/20 Чтв 14:02:44 #222 №1769850 
>>1769682
Хер Саттер хорошую речь толкнул про низко-оверхедные исключения, но это только ближе к 2026...
Аноним 06/08/20 Чтв 14:37:03 #223 №1769880 
Вкатываюсь из питона/жаэса, коллеги посоветовали "A Tour of C++".
Что скажешь, анон?
Если годнота, то прошу линк на второе издание
Аноним 06/08/20 Чтв 14:39:31 #224 №1769887 
>>1769850
Они и так низкооверхедные. Точнее зиро оверхедные. Да, когда исключение таки кидается, все это разматывание стека и деструкторы это очень медленно. Но похуй же, это нештатная по сути ситуация.
Аноним 06/08/20 Чтв 14:40:22 #225 №1769890 
>>1769887
>Точнее зиро оверхедные.
А вот и нет. Performance penalty есть, даже если исключение не кидается.
Аноним 06/08/20 Чтв 14:44:18 #226 №1769892 
>>1769771
Анончик, возможно ли в модуле завести hrtimer с периодом, скажем, где-то 20-50 мкс? В обработчике собираюсь ногами дрыгать (нет, не колхозный ШИМ). Сильно ли это повлияет на производительность системы, смогу ли я юзать гуй (KDE/XFCE), сеть, HDMI с такими выкрутасами? Платформа - RPi Zero W, 1GHz, 1 ядро. С DMA в пролете, не смогу обеспечить нужную (пониженную) частоту реквестов.
Аноним 06/08/20 Чтв 14:52:14 #227 №1769904 
>>1767549
> Зачем? Аргумент и так rvalue.
Внутри функции rvalue считается как lvalue, и если предполагается дальнейшая передача, то нужно юзать std::move
Аноним 06/08/20 Чтв 15:09:35 #228 №1769925 
>>1769890
И бинарник кучей таблиц раздувается.
Аноним 06/08/20 Чтв 15:17:00 #229 №1769930 
>>1769887
Нет.
Аноним 06/08/20 Чтв 16:14:40 #230 №1769994 
>>1769771
зачем заниматься анальной гимнастикой и писать это на плюсах? Не проще ебануть на сишке?
Аноним 06/08/20 Чтв 16:16:25 #231 №1769996 
>>1769994
Всё заебись и удобно.
Аноним 06/08/20 Чтв 16:16:49 #232 №1769998 
>>1769994
>флаги компилятора
>анальная гимнастика
Аноним 06/08/20 Чтв 16:21:25 #233 №1770005 
1.jpg
Анон, прокомментируй, пожалуйста код.
Недавно начал изучать кресты, пишу маленькую игру для ребенка, есть ощущение, что написал что то лишнее в коде, он работает, конечно, ощущение есть. Может использовать goto лучше чем do и while?
Посоветуй еще, что делать с игрой дальше, как добавить туда кота, который будет бить рыцаря в случае правильного ответа и наоборот. Подойдет ли для этого Unreal? Что почитать на тему того, как добавить всякие красивые свистоперделки, чтобы весело было?
Аноним 06/08/20 Чтв 16:25:23 #234 №1770012 
>>1770005
Это C, а не C++
Аноним 06/08/20 Чтв 16:26:16 #235 №1770014 
>>1770012
> cin, cout
> это С
Аноним 06/08/20 Чтв 16:31:20 #236 №1770024 
>>1770014
Тут ещё и все инклуды правильные, так что этот >>1770012 охуел.
Аноним 06/08/20 Чтв 16:33:26 #237 №1770029 
>>1770014
>NULL
>rand()
Аноним 06/08/20 Чтв 16:38:22 #238 №1770033 
>>1770029
>В языке Cи (но не в C++) есть специальный макрос препроцессора с именем NULL, который определен как значение 0. Хоть он и не является частью языка C++, его использование достаточно распространено, и должно работать в каждом компиляторе С++:
Аноним 06/08/20 Чтв 16:40:53 #239 №1770034 
>>1770029
Тем не менее - это С++, хоть и уебищный
Аноним 06/08/20 Чтв 16:47:00 #240 №1770039 
>>1770034
А как сделать красивый и элегантный генератор случайных чисел в С++? Я нагуглил такое решение и допил его в меру своих знаний, подскажи, пожалуйста.
Аноним 06/08/20 Чтв 16:48:13 #241 №1770042 
>>1770039
https://cpppatterns.com/patterns/roll-a-die.html
Аноним 06/08/20 Чтв 16:52:14 #242 №1770045 
>>1770042
Спасибо, Анон.
Аноним 06/08/20 Чтв 17:37:18 #243 №1770068 
15958988477420.gif
>>1770024
Бля внатуре ахуел.

Какой с, это же паскокоКАЛь ебаный!
Аноним 06/08/20 Чтв 17:41:46 #244 №1770072 
>>1770039
https://pastebin.com/X0aALMPB
Покатит? Это только для интов, но общий посыл, думаю, ясен. В плюсах если дистрибьюшн для чисел с плавающей точкой, если тебе надо.
Аноним 06/08/20 Чтв 17:43:52 #245 №1770075 
>>1770072
>2к20
>деструктор
Аноним 06/08/20 Чтв 17:47:26 #246 №1770079 
>>1770075
А в чем проблема?
мимо 15-ти летний школяр
Аноним 06/08/20 Чтв 17:50:52 #247 №1770083 
15959995450330.png
>>1770072
Аноним 06/08/20 Чтв 18:18:09 #248 №1770106 
>>1770072
Наверное, пока слишком сложно для меня. Буду пытаться дальше. Мне понравилось то, что я нагуглил потому что я смог понять что происходит в коде, а тут некст левел, походу.
Расскажите, пожалуйста, как из кода сделать веселую игру? Куда его прикручивать?
Аноним 06/08/20 Чтв 18:35:44 #249 №1770131 
>>1770106
найс троллишь, я только 2 недели назад начал учить кресты, лул, не преувеличивай :D

Прикручивать нужно либу, которая может в графику. Слышал про SFML, она вроде удобная и вроде может много, чекни.
Аноним 06/08/20 Чтв 19:45:43 #250 №1770190 
>>1768233
Дэк там же WinAPI 95.
Аноним 06/08/20 Чтв 20:18:58 #251 №1770217 
1596734337962.PNG
Поясните пожалуйста, зачем ему надо, чтобы метод name был обязательно const?
Это я пытаюсь выводить в ячейку таблицы параметр объекта MyClass, который находится в QVector<MyClass> *storage.
И еще такой вопрос заодно: почему если storage - указатель, то я не могу обращаться к содержимому вот так storage[1], storage[2] и т.д.? Приходится юзать storage->at().
Аноним 06/08/20 Чтв 20:20:23 #252 №1770219 
>>1770217
Для const-объектов можно вызывать только const-методы.
Аноним 06/08/20 Чтв 20:22:46 #253 №1770220 
>>1770219
Так MyClass - это же не const объект.
Аноним 06/08/20 Чтв 20:25:15 #254 №1770226 
>>1770220
Как это не const?
index — const ref
storage — тоже const
Аноним 06/08/20 Чтв 20:26:10 #255 №1770228 
>>1770226
>storage — тоже const
Так как обращение к нему осуществляется через this, который pointer to const, так как на скрине const-qualified method.
Аноним 06/08/20 Чтв 20:28:06 #256 №1770230 
1596734886314.PNG
>>1770226
Не понел. То есть index.row() мне зашкваривает все выражение в return? А storage у меня не const.
Аноним 06/08/20 Чтв 20:28:42 #257 №1770231 
>>1770230
>А storage у меня не const
storage — const, так как MyModel::data — const
Аноним 06/08/20 Чтв 20:29:47 #258 №1770233 
>>1770231
Но как? MyModel::data() - это же перегружаемый метод, а storage я сам создал вообще то.
Аноним 06/08/20 Чтв 20:30:14 #259 №1770234 
Аноны, у меня получилось вызвать шаблонный инлайн метод из другого класса, который находится в другом translation unit. Как это блять возможно? Инлайн методы же доступны только в пределах одного cpp файла (1 translation unit), не?
Оно должно давать undefined reference to yoba_method же вроже как..
Аноним 06/08/20 Чтв 20:33:07 #260 №1770239 
>>1770233
У ТЕБЯ НА ПЕРВОМ СКРИНЕ НАПИСАНО CONST В СИГНАТУРЕ МЕТОДА
Аноним 06/08/20 Чтв 20:34:26 #261 №1770240 
>>1770239
Ну да. То есть если в сигнатуре метода написано const, то он все внутри метода зашкваривает const-ом? Пиздец... И что делать? Переделывать MyClass, чтобы там все методы были const?
Аноним 06/08/20 Чтв 20:36:08 #262 №1770242 
>>1769468
Господа байтоёбы, ответьте.
Аноним 06/08/20 Чтв 20:38:34 #263 №1770247 
>>1770217
На второй вопрос тоже ответьте пожалуйста.
Аноним 06/08/20 Чтв 20:39:15 #264 №1770248 
>>1770240
>То есть если в сигнатуре метода написано const, то он все внутри метода зашкваривает const-ом?
В этот как бы и смысл const-qualified метода.

>Переделывать MyClass, чтобы там все методы были const?
Если метод не изменяет состояние класса, то он должен быть const.
Аноним 06/08/20 Чтв 20:43:11 #265 №1770250 
>>1770248
Спасибо, понел.
Аноним 06/08/20 Чтв 20:54:12 #266 №1770263 
Есть годные курсы по С++?
на рутрекере, разумеется
Аноним 06/08/20 Чтв 20:59:47 #267 №1770268 
>>1770263
В университете есть, если на инженера поступать.
Аноним 06/08/20 Чтв 21:02:15 #268 №1770270 
>>1770263
На курсере есть от яндекса, я правда не знаю, насколько бесплатно. Ну т.е там есть триал на неделю кажется, но что потребуется после этой неделе не в курсе.
Аноним 06/08/20 Чтв 21:03:13 #269 №1770271 
Что сейчас пишут на с++ на предприятиях обычно? Какого рода приложения?
Аноним 06/08/20 Чтв 21:10:40 #270 №1770277 
>>1770271
Браузеры (3.5 конторы по понятным причинам), мк, эмбедщину, хуйлоуд, тяжелый image processing, игры ААА класса.
Короче, в основном байтоебство и performance-oriented софт
Аноним 06/08/20 Чтв 21:10:41 #271 №1770278 
>>1770271
Разного рода код.
Аноним 06/08/20 Чтв 21:12:09 #272 №1770279 
>>1770277
> Браузеры
Любой софт со сложным гуем и логикой.
Аноним 06/08/20 Чтв 22:23:46 #273 №1770336 
>>1770279
Их разве не на WPF-е с сисярпом сейчас делают?
Аноним 06/08/20 Чтв 22:27:48 #274 №1770341 
Не является ли словосочетание "константная переменная" парадоксальным?
Аноним 06/08/20 Чтв 22:31:12 #275 №1770347 
>>1770336
Особо жирное и тяжёлое, где сярп не справляется.

>>1770341
Забей и говори "константа".
Аноним 06/08/20 Чтв 22:34:49 #276 №1770349 
>>1770234
> шаблонный инлайн
Ты уж определись, шаблонный или инлайн
Аноним 06/08/20 Чтв 22:40:00 #277 №1770352 
В чем разница между
1) ~MyClass(){}
2) ~MyClass() = default;
3) то же, что и 1, но в cpp
4) то же, что и 2, но в cpp
5) вообще без десруктора

Да, я знаю, что лучше не писать вообще. Но я слышал есть какая-то разница между нахождением деструктора в .h и .cpp
Аноним 06/08/20 Чтв 22:51:57 #278 №1770362 
>>1770352
1-4 - никакой афаик
5 - я видел примеры кода, которые не компилировались, пока руками дефолтный деструктор не пропишешь. Хуй знает почему.
Аноним 06/08/20 Чтв 22:52:25 #279 №1770363 
>>1770234
Шаблонный метод определен в хедере, алле.
Аноним 06/08/20 Чтв 22:59:03 #280 №1770368 
>>1770362
Нет, между 2 и 4 есть разница, вроде даже в стандарте прописана.

Не компилировалось скорее всего из-за incomplete type в каком-нибудь unique_ptr, которому нужно знать, как удалить объект уже в .h. Или хотя бы успокоиться знанием того, что этот деструктор где-то там объявлен
Аноним 06/08/20 Чтв 23:00:42 #281 №1770369 
>>1770368
incomplete type это совсем другое.

А вот между 1 и 3 разницы точнон икакой
4 я не думаю, что прописать вообще реально.
Аноним 06/08/20 Чтв 23:10:30 #282 №1770373 
>>1770369
>4 я не думаю, что прописать вообще реально.
Реально, но декларация в class scope всё равно нужна.
Аноним 06/08/20 Чтв 23:23:00 #283 №1770377 
>>1770369
> incomplete type это совсем другое.
Конечно другое, но именно это и вызывает проблему
https://stackoverflow.com/questions/9954518/stdunique-ptr-with-an-incomplete-type-wont-compile#9954553
Аноним 07/08/20 Птн 01:39:39 #284 №1770431 
>>1770217
>И еще такой вопрос заодно: почему если storage - указатель, то я не могу обращаться к содержимому вот так storage[1], storage[2] и т.д.? Приходится юзать storage->at().
Потому что сторейдж указатель. Разыменуй указатель, и сможешь использовать скобки. (✱storage)[1]
Аноним 07/08/20 Птн 01:42:19 #285 №1770433 
>>1770431
Ну так-то он может писать и storage[1], storage[2] и т.д., вот только результат будет отличаться от желаемого.
Аноним 07/08/20 Птн 01:45:59 #286 №1770434 
>>1770433
Лол, да. (✱((storage) + (1))) легитимно
Аноним 07/08/20 Птн 01:50:04 #287 №1770437 
Что нужно знать на сииииниьоооооора?
Аноним 07/08/20 Птн 06:00:40 #288 №1770463 
>>1770270
Списали бабки после недели, пидорасы, нигде не написано про это, а тех поддержи как будто не существует, еле нашёл контакты и добился рефанда, т. к. тогда уже забросил. Ну а вообще, для вкатышей хороший курс.
Аноним 07/08/20 Птн 08:16:46 #289 №1770494 
image.png
Аноны, где взять реализацию Assert под Visual Studio?


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

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

Велосипедить свое вот прям некогда. Портабельность не нужна - Windows и Visual Studio
Аноним 07/08/20 Птн 08:19:39 #290 №1770495 
>>1770494
и пользуясь случаем - как сделать тоже самое но чтобы срабатывало во время выброса исключения (а то тоже задалбливает по стеку вызовов искать где же сработало исключение)
Аноним 07/08/20 Птн 09:37:51 #291 №1770523 
>>1770494
Вообще-то assert() ставит брейкпойнт, только чуть выше по стеку.
Попробуй вот это: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/assert-asserte-assert-expr-macros?view=vs-2019
>>1770495
> и пользуясь случаем - как сделать тоже самое но чтобы срабатывало во время выброса исключения (а то тоже задалбливает по стеку вызовов искать где же сработало исключение)
В студии в окошке exceptions можно поставить галочки на исключения, которые хочешь ловить. Вроде называется "other exceptions not in this list"
Аноним 07/08/20 Птн 09:55:08 #292 №1770540 
>>1770271
>>1770277
Еще очень много говноформочек на Qt, которые по каким-то причинами необходимо запускать на десктопе, а не в вебе. Примерно 60% всех плюсовых вакансий, как мне показалось, это дрочево на qt и иногда mfc.
Аноним 07/08/20 Птн 10:16:58 #293 №1770589 
>>1770463
И откуда списали?
Я просто зашёл и начал изучать, карту не просили даже.
Только аккаунт, который уже был залогинен.
Аноним 07/08/20 Птн 12:33:23 #294 №1770747 
image.png
Курс яндекса. Чего он доебался? Работает же.
Аноним 07/08/20 Птн 12:36:21 #295 №1770752 
image.png
>>1770747
А самое главное я не проверил, да.
Аноним 07/08/20 Птн 14:19:49 #296 №1770904 
если в классе есть виртуальные методы (чистые) и некоторые поля(типа id, name), то деструктор тоже должен быть виртуальным?

просто конструктор этого класса же будет вызывать в производных классах( для инициализации полей)
Аноним 07/08/20 Птн 14:20:44 #297 №1770905 
>>1770904
*будет вызываться
Аноним 07/08/20 Птн 14:31:32 #298 №1770920 
>>1770904
Тебе нужен виртуальный деструктор в классе, который является прародителем всех подклассов в данном древе наследования, иначе привет утечка памяти.
Аноним 07/08/20 Птн 20:52:25 #299 №1771355 
>>1770920
Можно ещё protected его объявить
Аноним 07/08/20 Птн 21:25:37 #300 №1771382 
image.png
Как работает return? Вот такая хуйня в b вернет значение последнего аргумента. Я думал там будет рандомный мусор но нет.
Аноним 07/08/20 Птн 21:29:28 #301 №1771386 
>>1771382
У тебя ошибочная программа.
Аноним 07/08/20 Птн 21:32:27 #302 №1771388 
>>1771386
Я понимаю, что не void функция без return это ub. Но почему тут это работает так?
Аноним 07/08/20 Птн 21:33:06 #303 №1771389 
>>1771382
в foo - undefined behavior. Как он работает - никто не знает.
в main UB нет, т.к. по стандарту оно может быть без return, будет implicit return 0
Аноним 07/08/20 Птн 21:36:51 #304 №1771392 
>>1771382
> Вот такая хуйня в b вернет значение последнего аргумента.
А мне когда-то msvc туда вызов другой функции вшил.
Форматируй нормально код.
Аноним 07/08/20 Птн 21:45:11 #305 №1771398 
>>1771389
>>1771392
То есть то, как функция возвращает значение может от компилятора к компилятору отличаться?
Аноним 07/08/20 Птн 21:45:24 #306 №1771399 
>>1771388
Потому что когда говорят "рандомный мусор", не имеют в виду что в компе миниатюрные гномики кидают игральные кубике. То есть мусор не рандомный. (отсюда и многие траблы с безопасностью, когда могут прочитать пароль из памяти через уязвимость) Лень вникать, но допустим так - на стеке выделили память под две переменные a и b. В функции они сравниваются, для этого одна из них загружается в регистр eax, и потом сравнивается со второй. Регистр eax же используется для возвращаемого значения, но в него перезаписывается 1234 только если if сработает.
Аноним 07/08/20 Птн 21:45:46 #307 №1771400 
>>1771398
При UB у тебя вообще диск может форматироваться.
Аноним 07/08/20 Птн 21:48:15 #308 №1771402 
>>1771399
Спасибо огромное. Ну я когда говорил "рандомный мусор" имел ввиду что будет что то похоже на с использование переменной без инициализации. Типо в ней содержится то, что кто то до этого в участок памяти, где переменная лежит записал.
Аноним 07/08/20 Птн 22:01:56 #309 №1771419 
Как создать массив списков? То есть массив первых элементов списков. Чтобы это сделать, нужно, чтобы размер типа данных массива и list совпадали, но используя list из std сделать массив списков у меня не получается.
Аноним 07/08/20 Птн 22:03:00 #310 №1771420 
>>1771382
Это UB, а поэтому компилятор может делать все что захочет. Попробуй для теста скомпилировать с оптимизациями (-O3), обычно UB клоунада начинается у хитрожопых оптимизирующих компиляторов. Такой хитрожопый компилятор спокойно может заменить вызов твоей функции на константу 1234. Так как на программиста возлагается обязаность недопускать UB в программе, компилятор в полном праве предпологать что в твоей программе нет UB, тоесть в функцию foo будет всегда передаваться два равных аргумента (иначе будет UB чего программист не должен допускать). А при равных аргументах функция всегда возвращает 1234 - тоесть ее вызов можно просто заменить на костанту ради оптимизации. Например GCC что-то подобное и делает, при максимальных оптимизцациях функция foo превращается в int foo(){return 1234;} https://godbolt.org/z/T6Mjr5
Без оптимизаций возвращается первый аргумент скорее всего из-за того что его помещают в eax регистр в надежде потом перезаписать на правильный результат. Но все зависит от компилятора.
Аноним 07/08/20 Птн 22:06:24 #311 №1771422 
О, я понял, как создать массив списков. Правильный ли это способ?
list<int>* hash = new list<int>[1000];
Аноним 07/08/20 Птн 22:13:50 #312 №1771424 
>>1771419
>массив списков
>массив первых элементов списков
Ну ты уж определись.
Аноним 07/08/20 Птн 22:15:57 #313 №1771427 
>>1771420
>первый аргумент скорее всего из-за того что его помещают в eax регистр в надежде
Потому что нет инструкции cmp [mem], [mem2] думаю.
Аноним 07/08/20 Птн 22:16:17 #314 №1771428 
>>1771424
Так все элементы одного списка связаны указателями, это одно и то же.
Аноним 07/08/20 Птн 22:16:20 #315 №1771429 
>>1771422
Так (динамическая продолжительность хранения aka "в куче") или
list<list<int>> hash; - автоматическая продолжительность хранения aka "на стеке".
Автоматическая предпочтительней. Если нужна динамика - желательно использовать умные указатели.
Аноним 07/08/20 Птн 22:23:20 #316 №1771435 
>>1771427
Ее нет потому что ОПТИМИЗАЦИИ. Без оптимизаций GCC https://godbolt.org/z/bqjE1M действительно первый аргумент функции помещает в eax, а так как при неравных аргументах он не перезаписывается правильным результатом его и возвращает. Правда неясно зачем его помещать в eax, я в асемблере нихуя не разбираюсь.
Аноним 07/08/20 Птн 22:35:50 #317 №1771445 
image.png
А не один ли хуй сколько элементов в массиве? p2 же будет указывать на первый (нулевой) элемент
Аноним 07/08/20 Птн 22:38:14 #318 №1771446 
>>1771435
он помещает не аршумент функции в eax, а возвращаемое значение из функции. По конвенции вызовов (во всех популярных так, не видел чтобы хоть в каком-то ABI было по-другому) в архитектуре x86 процедуры кладут возвращаемое значение в регистр eax.
Аноним 07/08/20 Птн 22:48:16 #319 №1771448 
Ребята, подхватил adware изредка открывающее страницу в браузере. Антивирус не может найти. Есть ли на винде 10 какое- нибудь логирование событий, кто открывал ссылку в браузере?
Аноним 07/08/20 Птн 22:59:02 #320 №1771453 
Без имени.png
>>1770362
>я видел примеры кода, которые не компилировались, пока руками дефолтный деструктор не пропишешь
А может быть такое, что абстрактные классы требуют наследования чисто с помощью деструктора?
Аноним 07/08/20 Птн 22:59:45 #321 №1771454 
>>1771435
Я имел в виду потому что такой инструкции в x86 (да и в arm вроде) не существует. Значение из переменной (расположенной в памяти) должно быть помещено в регистр, чтобы с ним могли проводиться операции типа сравнения (=вычитание с отбросом результата). Сравнить значение в памяти со значением в памяти невозможно. Можно только регистр с памятью, другим регистром, или с константой, указанной прямо в инструкции.
Аноним 07/08/20 Птн 23:01:24 #322 №1771458 
>>1771446
Сначала (без оптимизации) он помещает один из аргументов в eax чтобы сравнить со вторым аргументом.
Аноним 07/08/20 Птн 23:08:19 #323 №1771465 
Стоит ли учица по роликам этого человека?
https://www.youtube.com/watch?v=ryRf4Jh_YC0
Аноним 07/08/20 Птн 23:14:58 #324 №1771471 
>>1771465
Учиться нужно по хорошим книгам, а не по движущимся картинкам для даунов. Сначала читаешь что-то базовое (Страуструпа), потом учишь наизусь Effective Modern C++, потом внимательно читаешь Concurency in Action.
Аноним 07/08/20 Птн 23:15:09 #325 №1771472 
image.png
Имеется ввиду чо кроме return больше ничего не может быть, или что только один return, но еще команды?
Аноним 07/08/20 Птн 23:19:31 #326 №1771474 
>>1771465
Естественно.
Аноним 07/08/20 Птн 23:30:13 #327 №1771493 
>>1771445
Тип массива это костыль, который имеет мудацкий синтаксис и в любой непонятной ситуации стирается до обычного указателя.
Аноним 07/08/20 Птн 23:39:02 #328 №1771496 
>>1771493
В -std=c++24 добавят расширяемяе указатели.
Аноним 07/08/20 Птн 23:50:10 #329 №1771499 
Рот ебал читать все эти возвращения указателя на функцию. Ооочень тяжело сам код читать. Пиздец просто
Аноним 07/08/20 Птн 23:52:43 #330 №1771500 
>>1771496
Ну наканецта. Будет так же хорошо, как в фортран-77 или придется еще пару стандартов подождать?
Аноним 07/08/20 Птн 23:55:24 #331 №1771502 
>>1771496
Что это?
Аноним 08/08/20 Суб 00:01:01 #332 №1771504 
>>1771502
Vector не влазит, его через mmap расширяют анально.
Аноним 08/08/20 Суб 00:03:31 #333 №1771506 
>>1771504
Понятно...
Аноним 08/08/20 Суб 00:19:25 #334 №1771512 
>>1771472
Уже шесть лет как неактуально. в c++14 убрали это ограничение
Аноним 08/08/20 Суб 08:13:55 #335 №1771642 
Почему строки не могут быть constexpr? Может я чего то не понимаю? Это ведь тоже самое что константа, нет?

я знаю, что в 20 стандарте они могут быть constexpr, но не понимаю, почему не могли быть до этого
Аноним 08/08/20 Суб 08:21:20 #336 №1771645 
>>1771642
Ты траллишь сейчас?
Аноним 08/08/20 Суб 08:22:01 #337 №1771646 
>>1771645
Нет, я серьезно.
Аноним 08/08/20 Суб 08:52:53 #338 №1771652 
>>1771445
Ты мимо жс треда промахнулся
Аноним 08/08/20 Суб 11:43:01 #339 №1771681 
>>1770747
Зачем вот так писать...
Аноним 08/08/20 Суб 12:29:58 #340 №1771699 
>>1771645
А причем тут траленк? Ты же можешь объявить константную переменную типа std::string и присвоить ей результат функции, почему тогда компилятор не сможет вычислить эту функцию в компайл-тайме, сделать из выхлопа строковый литерал и инициализировать им строчку? Естественно, предполагается, что функция без побочных эффектов и не опирается на рантайм-данные.

Про выделение в куче нехуй пиздеть, ты неизбежно выделяешь память на стеке в процессе любых вычислений, например.
Аноним 08/08/20 Суб 12:32:39 #341 №1771700 
>>1771681
Это называется "иф йа ниприэмлю, но бесполезную переменную рес все равно за каким-то хуем заведу".
Аноним 08/08/20 Суб 12:56:21 #342 №1771706 
Привет

В тредах уже обсуждался курс от Яндекса практикума?
Хочу после фронта стать нормальным человеком
Аноним 08/08/20 Суб 14:41:54 #343 №1771792 
Потому что std::string содержит не-констэкпр конструктор с new.
Строки char[] вполне себе constexpr.
Аноним 08/08/20 Суб 14:55:07 #344 №1771821 
>>1771699
> ты неизбежно выделяешь память на стеке в процессе любых вычислений
Во-первых, нет (при 2+3 никакой памяти не выделяется), во-вторых, стек это очень просто, он практически автоматом работает если у тебя вызов функций. При заходе в функцию выделяется нужное место под аргументы и локальные переменные, при выходе автоматически освобождается то же количество. Ничего никуда утечь не должно. При new же надо следить, а когда delete вызвали, а не используется ли после удаления, указатель на этот кусок кучи могут передать в другую функцию, там изменить содержимое, короче муть.
Аноним 08/08/20 Суб 15:06:52 #345 №1771858 
>>1771700
В условии задачи цветным по бесцветному написано: попробуйте решить без if.
Аноним 08/08/20 Суб 15:28:05 #346 №1771908 
>>1771858
Я бы сделал просто
cout<<boolalpha<<((a>0)+(b>0)+(c>0)==2);
мимо
Аноним 08/08/20 Суб 16:43:07 #347 №1772019 
>>1771465
Не могу смотреть на 1.0 скорости, слишком много информационного мусора
Аноним 08/08/20 Суб 17:56:11 #348 №1772083 
>>1771821
Че блять? К чему ты это вообще высрал, долбоеб? Разговор был про перенос инициализации в компайл-тайм.
Аноним 08/08/20 Суб 18:00:44 #349 №1772086 
>>1772083
Ну да, и я про него же.
Аноним 08/08/20 Суб 18:01:50 #350 №1772088 
Надо запретить заходить сюда людям с двухзначным айкью.
Аноним 08/08/20 Суб 19:05:44 #351 №1772121 
>>1772088
моё айсикью 0xFF
Аноним 08/08/20 Суб 19:07:44 #352 №1772124 
>>1772088
058 в треде.
Аноним 08/08/20 Суб 19:18:29 #353 №1772132 
Какая IDE и конпилятор являются топ1?
Аноним 08/08/20 Суб 19:37:33 #354 №1772145 
>>1772132
вижуал студия, кланг
Аноним 08/08/20 Суб 19:40:04 #355 №1772149 
>>1772145
А если я линуксоёб?
Аноним 08/08/20 Суб 19:41:04 #356 №1772151 
>>1772149
Переходи на операционную систему тогда вместо линукса. Или воруй шлион.
Аноним 08/08/20 Суб 19:42:06 #357 №1772153 
>>1772151
>Переходи на операционную систему
Так я уже на ней, где писать то?
Аноним 08/08/20 Суб 19:59:37 #358 №1772163 
>>1772153
В vim-е, конечно же.
Аноним 08/08/20 Суб 20:21:51 #359 №1772177 
>>1772132
vim
Компилятор любой.
Аноним 08/08/20 Суб 21:27:53 #360 №1772215 
>>1772132
Nvim + правильный набор плагинов. Если ты сойбой-говноед, то сойблайм или вскод. Активация защиты против долбоебов: я знаю, что вышеперечисленное не IDE, но IDE не нужна в байтоебских проектах любой величины.

Clang или gcc, не особо принципиально.
Аноним 08/08/20 Суб 21:33:22 #361 №1772217 
>>1772215
>но IDE не нужна в байтоебских проектах любой величины.
Когда не писал ни одного проекта больше тысячи строк
Аноним 08/08/20 Суб 21:40:03 #362 №1772219 
>>1772217
IDE это просто набор полезного функционала.
Он может быть условно в виде "одной" софтины (vs) или комплекта из нескольких (терминал + vim + плагины)
Аноним 08/08/20 Суб 21:40:30 #363 №1772220 
>>1772217
>Когда не писал ни одного проекта больше тысячи строк
Проиграл. Писал L1 гипервизор, тотал 70000 LoC в одно рыло, вообще никаких проблем.
У тебя в 2к20 есть полный автокомплит, средства рефакторинга, профилирования, global jump, линтеры, полная семантическая подсветка, отладка, нахуя тебе IDE весом с твою мамку, анон? Для байтоебских, мать твою, проектов. Единственная причина юзать IDE - когда она наворочена разным говном типа шаблонов для автовысирания гуй-окошек, но в байтоёбщине это не требуетсяв 99% случаев.
Аноним 08/08/20 Суб 21:44:07 #364 №1772221 
>>1772220
Подписываюсь под каждым словом.
Аноним 08/08/20 Суб 21:51:59 #365 №1772229 
>>1772149
Тогда вижуал студия код, кланг.
Аноним 08/08/20 Суб 21:56:36 #366 №1772235 
>>1772220
>У тебя в 2к20 есть полный автокомплит, средства рефакторинга, профилирования, global jump, линтеры, полная семантическая подсветка, отладка, нахуя тебе IDE весом с твою мамку, анон?
Ты сам написал только что, зачем мне IDE? Я не хочу собирать конструктор, я хочу, чтобы работало. Студия + решарпер - оп, всё работает.
Аноним 08/08/20 Суб 23:24:37 #367 №1772289 
image.png
image.png
Есть разница?
Аноним 08/08/20 Суб 23:27:06 #368 №1772293 
>>1772289
Вызови ее из main, узнаешь
Аноним 08/08/20 Суб 23:31:27 #369 №1772297 
>>1772293
Не работает в любом случае, но если не писать ClassA::, то не подсвечивается.
Аноним 08/08/20 Суб 23:40:19 #370 №1772306 
>>1772293
Я понял. ЕСли не указывать область видимости, то члены класса не видны
Аноним 08/08/20 Суб 23:59:38 #371 №1772314 
>>1772306
На втором скрине у тебя не член класса. Ты просто завел свободную функцию.
Аноним 08/08/20 Суб 23:59:49 #372 №1772315 
Почему нельзя убрать часть обратной совместимости с C/Очень старыми версиями плюсов, но сделать условия для возможности переписать старый код под новый стандарт?
Аноним 09/08/20 Вск 00:08:43 #373 №1772325 
>>1772314
И похуй, что объявление в классе?
Аноним 09/08/20 Вск 00:16:05 #374 №1772329 
Скажите, есть ли в мире человек, который помнит все нюансы плюсов? Все варианты инициализации, все об указателях, конструкторах и тд.
Аноним 09/08/20 Вск 00:20:23 #375 №1772332 
>>1772325
В class scope есть member function declaration (int ClassA::g()), но для неё не существует member function definition.

В global scope есть function definition (int g()) — читай "global function" или "free function". Эта функция никак не пересекается с декларацией, которая есть в class scope.
Аноним 09/08/20 Вск 00:21:33 #376 №1772334 
>>1772329
>Все варианты инициализации, все об указателях, конструкторах и тд.
По перечисленному не так уж много нужно знать.
А так — вряд ли конечно, но очень многие знают 90%, а этого достаточно.
Аноним 09/08/20 Вск 00:22:12 #377 №1772336 
>>1772332
Спасибо большое
Аноним 09/08/20 Вск 00:41:48 #378 №1772344 
>>1772315
Некоторые вещи депрекейтят и затем полностью исключают (auto, register, throws, auto_ptr, триграфы и кучу другого). Главное - чтобы можно было прямолинейно переписать код из старого стандарта в новый. А сильно ломать совместимость никто не хочет, ибо уже есть триллионы строк кода. Уже который год ведуться дискуссии по поводу "эпох" и std2, но там дохрена проблем, да и компиляторостроители не хотят поддерживать несколько сильно различающихся версий одного языка.
Аноним 09/08/20 Вск 00:46:54 #379 №1772348 
>>1772344
А чем им auto не угодил? Крутая же вещь
Аноним 09/08/20 Вск 00:47:54 #380 №1772349 
>>1772348
Старый auto, который storage duration. На его смену и пришёл сегодняшний auto.
Аноним 09/08/20 Вск 00:48:07 #381 №1772350 
>>1772348
Это другое auto
Аноним 09/08/20 Вск 01:19:34 #382 №1772362 
>>1772329
Скотт Мейерс, Бьорн Страуструп, Андрей Александреску, Степанов, некоторые мейнтейнеры Буста, я (шучу)
Аноним 09/08/20 Вск 01:47:56 #383 №1772368 
>>1772315
Готов оплатить банкам и всякому хайлоаду переписывание и тестирование?
Аноним 09/08/20 Вск 01:56:17 #384 №1772370 
>>1772368
Они всё равно собирают древними версиями компиляторов.
Аноним 09/08/20 Вск 03:38:46 #385 №1772384 
>>1772329
Такие люди конечно есть, правда их мало.
Аноним 09/08/20 Вск 03:43:13 #386 №1772386 
>>1772384
Да и вообще, плюсы не самое сложное что бывает на свете.
Есть монстры, знающие наизусть Евгения Онегина или там Гомера. Ну или на худой конец ещё какая нибудь ошеломительная память у них.
Ещё вот попробуй разберись в математических книжечках каких. Матанчик там, линалчик, функанчик. Как по мне - куда жестче этих сраных плюсов.
sageАноним 09/08/20 Вск 04:06:55 #387 №1772388 
>>1772220
Да пиши в виме, никто не запрещает. У меня на работе дрова в студии лепят, удобно. Одной кнопкой билдишь, другой дебажишь, третьей выкатываешь в прод, ну итд.
Аноним 09/08/20 Вск 08:22:34 #388 №1772410 
>>1772362
>Бьорн Страуструп,
Он точно уже признавался что не полностью знает современные кресты, остальные хз.
Аноним 09/08/20 Вск 10:40:36 #389 №1772436 
>>1772215
>Nvim + правильный набор плагинов
Не подскажешь какие плагины юзал?

пытался вим напердолить, но автокомплит победить не смог он работал, но не удобно
Аноним 09/08/20 Вск 11:50:52 #390 №1772475 
>>1772436
coc.nvim ставится и работает тупо из коробки. Выйди из 2012 и перестань пытаться поставить говно под названием YCM.
Аноним 09/08/20 Вск 12:57:03 #391 №1772506 
изображение.png
сап, насколько это плохая практика?
Аноним 09/08/20 Вск 13:00:36 #392 №1772508 
>>1772506
Если бы тебе надо было взять адрес какого-нибудь 10 элемента то еще норм, а так у тебя есть функция .data() для этого.
Аноним 09/08/20 Вск 13:20:33 #393 №1772522 
Охуенно
int i = 1488;
double s = ⚹(double⚹)&i;
Аноним 09/08/20 Вск 13:22:32 #394 №1772525 
>>1772522
UB UB ГРОБ КЛАДБИЩЕ
Аноним 09/08/20 Вск 14:09:55 #395 №1772555 
>>1772506
>>1772508
Инвалидация итераторов.

vector<double> v = {3.14};
double⚹ d = &v[0];
// ⚹d == 3.14
c.resize(42);
// ⚹d == ¯\_(ツ)_/¯
Аноним 09/08/20 Вск 14:10:30 #396 №1772556 
>>1772555
*v.resize
Аноним 09/08/20 Вск 14:22:47 #397 №1772566 
>>1765587 (OP)
Аноны, чем вообще заниматься после изучения синтаксиса? Что учить дальше чтобы взяли на работу и желательно не как веб макаку на 40к?
Аноним 09/08/20 Вск 14:27:19 #398 №1772575 
>>1772566
Писать программы. Все похуй на твои знания синтаксиса, нужно уметь код писать.
Аноним 09/08/20 Вск 14:31:50 #399 №1772580 
>>1772575
Какие, сколько и какую инфу учить параллельно этому?
Аноним 09/08/20 Вск 14:39:29 #400 №1772595 
>>1772566
вебмакака всегда будет зарабатывать больше тебя, анон. Если твоя цель вката в плюсы - это 300кк/наносек, то ты не по адресу.
Веб-макакерство - деньги и смузихлебство.
Кресты - душа.
sageАноним 09/08/20 Вск 14:51:39 #401 №1772607 
>>1772522
std::bit_cast
Аноним 09/08/20 Вск 14:58:04 #402 №1772612 
>>1772580
что ты хотел написать для себя когда-нибудь? То и напиши.
Аноним 09/08/20 Вск 15:17:16 #403 №1772620 
>>1772475
>Выйди из 2012 и перестань пытаться поставить говно под названием YCM.
Я делал как в туториале говорили...
Аноним 09/08/20 Вск 15:21:22 #404 №1772621 
>>1772329
>Скажите, есть ли в мире человек, который помнит все нюансы плюсов?
Думаю, нет. Видел несколько раз как ключевые разрабы GCC и Clang не помнили относительно простых вещей.
Думаю, у них память занята ньюансами парсинга ~ в шаблонах.
Аноним 09/08/20 Вск 16:45:43 #405 №1772666 
>>1772522
Под MSVC, размер int 4 байта, размер double 8 байт.
Отличный способ словить глюки, чо.
Аноним 09/08/20 Вск 17:18:52 #406 №1772703 
cpp.png
Как-нибудь можно превратить parameter pack 'ts' в non-type template parameters если все значения известны в compile time? В данном случае на пике ошибка компиляции
Аноним 09/08/20 Вск 17:57:12 #407 №1772821 
>>1772703
Нулевая итерация нужна
Аноним 09/08/20 Вск 18:20:55 #408 №1772834 
>>1772821
>
>Нулевая итерация нужна
Чего?
Аноним 09/08/20 Вск 18:23:03 #409 №1772836 
>>1772703
Что за template auto? Впервые вижу
Аноним 09/08/20 Вск 18:23:57 #410 №1772837 
>>1772836
Это с с++17. Тип авто выводится.
Аноним 09/08/20 Вск 18:33:19 #411 №1772845 
>>1772834
Я не о том подумал.
Почему то считает что это не константа.
Аноним 09/08/20 Вск 18:36:06 #412 №1772848 
>>1772703
Чере какую-нибудь констэкспр парашу? хз
Аноним 09/08/20 Вск 19:00:02 #413 №1772858 
Скажите, нужно ли запоминать например как писать функцию, возвращающую другую? Я же по идее для знакомства прочитал как, если понадобится загуглю или просто напишу auto
Аноним 09/08/20 Вск 19:18:48 #414 №1772866 
>>1772858
В c++ нельзя вернуть функцию. Или по дедовски указатель на функцию, или какой нибудь современный но более оверхендный std::function.
Аноним 09/08/20 Вск 19:22:51 #415 №1772868 
>>1772866
Указатель на функцию конечно же
Аноним 09/08/20 Вск 19:23:13 #416 №1772869 
>>1772703
constexpr допиши
Аноним 09/08/20 Вск 19:28:30 #417 №1772872 
>>1772866
О, я прозевал, с с++11 можно еще лямбду вернуть.
Аноним 09/08/20 Вск 23:35:03 #418 №1773006 
>>1772869
>constexpr допиши
куда?
Аноним 10/08/20 Пнд 01:04:09 #419 №1773045 
15881040993362.jpg
>>1772566
Эх, дружище... Это примерно как спросить "Вот я английский алфавит выучил, что дальше учить, чтобы переводчиком в правительстве стать?".
Аноним 10/08/20 Пнд 01:23:19 #420 №1773050 
>>1772566
Так ты когда учил чем руководствовался?
Аноним 10/08/20 Пнд 01:56:47 #421 №1773058 
>>1772575
>Все похуй на твои знания синтаксиса
Только на собесах почему-то заебывают вращением деревьев, и квадратными кругами
Аноним 10/08/20 Пнд 02:00:49 #422 №1773061 
>>1773058
Так прохождение собеседования это параллельный скилл, к реальному программированию применим постольку-поскольку.
Аноним 10/08/20 Пнд 02:02:18 #423 №1773062 
image.png
Аноны, как это работает?

Это валидно?

(Foo2 возвращает указатель на строку аргумента str)
Аноним 10/08/20 Пнд 02:10:24 #424 №1773067 
>>1773006
Везде где видишь
Аноним 10/08/20 Пнд 02:38:56 #425 №1773074 
>>1773062
Ты можешь присваивать массив символов в 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!
Аноним 10/08/20 Пнд 02:40:07 #426 №1773075 
>>1773074
сука, забыл про то, что дефолтные астериски хавает макаба.
Перед mocha после char есть астериск
Аноним 10/08/20 Пнд 02:41:34 #427 №1773076 
>>1773075
и там, где const char в скобочках, тоже звездочка должна быть после char и перед ")"
sageАноним 10/08/20 Пнд 02:42:48 #428 №1773077 
>>1773074
std::string_view это не std::string.
sageАноним 10/08/20 Пнд 02:46:00 #429 №1773079 
>>1773062
Имей в виду что с-строка в памяти хранится как \0-терминированная, т.е.
'h' 'e' 'l' 'l' '\0'
Но string_view может указывать на середину строки, и вернуть что то вроде 'h' 'e' 'l', т.е. работать с этим char* полноценно ты не сможешь, т.к. функции типа strlen будут ждать \0 в конце.
Аноним 10/08/20 Пнд 03:38:14 #430 №1773084 
>>1773074
Тут про string_view вопрос,
Он внутри хранит указатель на строку char (как я понял). Он не создает строку, у него вообще нет операций выделения памяти (типа умный указатель на строки?).

Но если я передаю "hello" в функцию - разве это "hello" не создается локально на время жизни функции и не удаляется по завершению функции Foo2?
Если да, что тогда вернет return? Это UB?
Если нет - как это работает?
Аноним 10/08/20 Пнд 04:04:23 #431 №1773086 
>>1773084
В таком виде как ты написал - нет, литерал строки будет записан в static storage, т.е. секцию .data. На него ничего больше не будет выделяться, все уже выделено линковщиком 1 раз.
Аноним 10/08/20 Пнд 06:08:26 #432 №1773107 
>>1773086
>т.е. секцию .data
во кстати, а сколько вообще строк может в эту секцию вместиться?
Аноним 10/08/20 Пнд 06:58:19 #433 №1773110 
>>1773084
>Но если я передаю "hello" в функцию - разве это "hello" не создается локально на время жизни функции и не удаляется по завершению функции Foo2?

string_view все равно, оно хранит указатель, а валидный он или нет - твои проблемы
Аноним 10/08/20 Пнд 12:49:37 #434 №1773257 
Ку, крестач

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

class A {

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

private:
B⚹ ptr;
};

Здесь все предельно ясно - указатель на объект класса В аллоцируется при вызове конструктора класса А и деаллоцируется при вызове деструктора класса А. Лайфтайм указателя на объект класса В равен лайфтайму объекта класса А (при условии, что этот указатель не освобождали в одном из методов класса А, естественно). Как провернуть такое же, но с умными указателями? Или в таком случае лучше юзать сырые указатели и не ебать себе мозги? Заранее благодарю.
Аноним 10/08/20 Пнд 13:23:40 #435 №1773274 
>>1773257
Без задней мысли пишешь unique_ptr<B> и в конструкторе пишешь make_unique<B>
Аноним 10/08/20 Пнд 13:54:51 #436 №1773297 
зачем нужен оператор <=>?
Аноним 10/08/20 Пнд 15:08:28 #437 №1773350 
>>1773297
Чтобы не писать по три раза код для оператора <, > и =.
Аноним 10/08/20 Пнд 17:44:04 #438 №1773445 
Cап, крестач, нужна помощь. Как можно сделать систему регистрации в быдлокоде? Задание моего проекта заключается в том, что нужно создать прогррамму, имитирующую работу сети ресторанов быстрого питания шаурмечных. Нужно сделать учетки для директора сети, и так сказатб менеджера каждого ресторана. Что я должен сделать?
Мысли на тему у меня есть, но думаю, что пргограммисты с двача знают что - нибудь лучше
Аноним 10/08/20 Пнд 17:48:27 #439 №1773449 
>>1773445
Объясни внятно что делаешь.
Тебе эмулятор экселя или может 1С нужен? Кассовое ПО?
Что имитировать собрался?
Аноним 10/08/20 Пнд 18:23:50 #440 №1773497 
>>1773274
Блять, я на дауничах думал, что unique_ptr разрушится при выходе из деструктора -_\\
Аноним 10/08/20 Пнд 18:29:35 #441 №1773501 
>>1773497
Так и есть
Аноним 10/08/20 Пнд 18:50:15 #442 №1773506 
Есть мнение, что юник_птр на самом деле не нужен, ибо создаёт только лишние трудности, и для всего достаточно шаред_птр. А все идеи про "владение" - сектантство.
Аноним 10/08/20 Пнд 18:53:55 #443 №1773508 
>>1773506
> достаточно шаред_птр
Это мнение жабасприптеров или кого? Потому что разработчики стандарта советуют свести к минимуму shared.
Аноним 10/08/20 Пнд 19:01:23 #444 №1773511 
>>1773506
У шареда жуткий оверхед.
Аноним 10/08/20 Пнд 19:51:31 #445 №1773539 
>>1773506
Есть реальное мнение топовых крестовиков - что шаред_птр это антипаттерн почти везде, где он используется, кроме очень редких кейсов.
Аноним 10/08/20 Пнд 20:03:07 #446 №1773543 
>>1773508
>>1773511
>>1773539
Ок, вы меня убедили. Просто после высокоуровневых языков со сборкой мусора хочется иметь единый универсальный способ управления ресурсами, но видимо не судьба :(
Аноним 10/08/20 Пнд 20:09:09 #447 №1773546 
>>1773543
нафига тебе вообще указатели? Я в продакшене даже unique_ptr почти не использую. Строки\вектор<чар> - этого достаточно.
Аноним 10/08/20 Пнд 20:19:38 #448 №1773555 
>>1773546
>>1773543
Да вы заебали ныть. uint64_t или void - это всё что нужно. Ну ещё char для байтоёбства. Память через malloc выделяем для массивов или структур. Типы вообще придумали инвалиды с IQ 60. Какая-то ненужная хуита. Лямбды, классы, корутины - нахуя? Или вот, вспомнил смешную хуйню - шаблоны. Это когда у тебя есть типы, но они мешаются...
Аноним 10/08/20 Пнд 20:22:34 #449 №1773558 
>>1773555
чего несешь, шиз?
Аноним 10/08/20 Пнд 20:25:06 #450 №1773563 
>>1773546
У меня продакшена на плюсах нет, только пет-проекты в свободное время. Вообще, да, почти всегда хватает ссылок, RVO и прочего, но некоторые конструкции у меня иногда вызывают сомнения.

>>1773555
Но ведь си-тред дальше...
Аноним 10/08/20 Пнд 20:27:35 #451 №1773566 
>>1773563
> Но ведь си-тред дальше...
Компилятор плюсовой, значит тред верный.
Аноним 10/08/20 Пнд 23:53:29 #452 №1773688 
изображение.png
Ебусь с передачей данных между виндовыми процессами.
Это программа Parent. Как теперь строку "Hello, my son!" принять в Child? Нихуя не пойму, что писать. А вот этот код я тупо скопипастил, поправив кое-что вызывавшее ошибку.
http://www.cpp.sh/4ltcc
Аноним 11/08/20 Втр 00:00:10 #453 №1773694 
image.png
image.png
image.png
image.png
Посоны, меня к вам погнали из си-треда.

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

Один красивый скриншот богатого интерфейса на Qt будет лучше тысячи слов.
Аноним 11/08/20 Втр 00:13:50 #454 №1773698 
>>1773694
А как ты хочешь чтобы оно работало везде и сразу?
Тут либо тащить бровзер (тебе же нравятся красивые программки на электроне выедающие треть цпу и 1 гб оперативки?) либо по костылику собирать вот такую еботину, которая кое как, но таки работает везде и быстро, лол.

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

>отсутствия чувства стиля у программистов
Частично конечно вот это.
Аноним 11/08/20 Втр 00:26:59 #455 №1773704 
image.png
image.png
image.png
>>1773698
Слушай, я в сях и юниксах мимокрок, поэтому весьма условно понимаю что ты говоришь.

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

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

И еще один пример, который лично меня заебывает больше всего: комбобоксы в Qt-программах всегда позволяют редактировать содержащиеся в них элементы (или текст комбобокса, уж не знаю как там в кутэ). Это происходит даже тогда, когда по контексту список выбираемых элементов конечен и сами элементы неизменны (в том же WinForms это "стиль" DropDownList, пикрил 3). Я встречал это стопиццот раз, но ни разу не наблюдал фиксированного комбобокса. Его не существует в природе или кодеры говноеды?
Аноним 11/08/20 Втр 00:30:36 #456 №1773706 
>>1773704
Так, про комбобокс, походу, я нашел ответ в собственных же скринах.
Аноним 11/08/20 Втр 00:39:14 #457 №1773707 
>>1773704
>Это кодер его не поставил или ферйморк не возволяет?
Скорее всего поставил, просто он может где-то и не работать — это же кроссплатформа, в Qt постоянно нихуя нормально не работает, кек.

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

>Его не существует в природе или кодеры говноеды?
Или.
Ещё раз, пчел — десктопный софт находится в полумёртвом состоянии не развивается уже больше десятилетия (даже проф софтины — поголовно говнины говн, наращивают фичи но чтобы ими пользоваться надо нахуй вышку по ним получать), то, что на мобилках и в вебе ускакали на столетия вперёд тут никого не колышит. Я вот например ничего страшного в этих пикчах не вижу, потому что застал кое что похуже.
Аноним 11/08/20 Втр 00:39:17 #458 №1773708 
>>1773694
У DevMachines есть куча стилей для qt.
Ещё если ты не скопировал папку styles, то будет что-то вроде вин95.
для меня лучшая программа на qt - это qbittorrent
Аноним 11/08/20 Втр 00:47:33 #459 №1773711 
>>1773707
>зумерок

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

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

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

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

> Ещё если ты не скопировал папку styles
А это че? Они на этапе вступления и компеляции подсасываются или конечный пользователь может их скомпелированной софтине подкладывать и вертеть ее представления согласно собственным представлениям?
Аноним 11/08/20 Втр 01:14:58 #460 №1773717 
>>1773711
>Ты ебанутый, блядь.
Ну ты сейчас берёшь и показываешь живой софт широкого назначения, а не профессиональный софт который юзают в лучшем случае 5% от общей массы. Да и тот в плане интерфейса мёртв, только на маках красивые свистоперделки делают.
Аноним 11/08/20 Втр 01:27:45 #461 №1773719 
>>1773717
>Ну ты сейчас берёшь и показываешь живой софт широкого назначения, а не профессиональный софт который юзают в лучшем случае 5% от общей массы.

Бля. Столько хуйни в одном предложении, пиздец. Во-первых, венда - это все еще десктопное приложение. Это детский мат в один ход тебе. Во-вторых, неси-ка пруфы про "5% от массы", потому что это пиздежом попахивает. Как принесешь, сразу станет понятно, что такое "профессиональный софт", что такое "софт широкого назначения" (лол) и насколько можно доверять методике подсчета. В-третьих, даже если "софт широкого назначения" составляет "мало процентов" от "общего количества софта" (разрабатываемого? эксплуатируемого? поддерживаемого? Хуй знает, но ПРОЦЕНТОВ МАЛО Я СКОЗАЛ), это не значит, что развитие десктопа остановилось. Шапку посмотри, там один WPF твои домыслы опровергает на раз-два датой свежего релиза и спискотой допилов.
sageАноним 11/08/20 Втр 01:29:34 #462 №1773720 
>>1773717
>показываешь живой софт широкого назначения
Игры
/thread
Аноним 11/08/20 Втр 01:47:20 #463 №1773722 
>>1773711
> А это че?
Честно говоря не знаю наверняка, но вроде по умолчанию идёт попытка загрузить тот самый стиль из папки styles, если не удалось, то fallback до win95. Можно и текстом задавать стиль, вроде setStyle("fusion")
Аноним 11/08/20 Втр 01:56:33 #464 №1773726 
>>1773722
> вроде по умолчанию идёт попытка загрузить тот самый стиль из папки styles

Так на этапе выполнения попытка идет?
Аноним 11/08/20 Втр 01:59:02 #465 №1773727 
Оказывается, родительский процесс тупо ничего не отправляет на стандартный ввод дочернего. Помоги, анон, студенту. Что тут не так?
http://www.cpp.sh/2hzyq
Аноним 11/08/20 Втр 02:15:57 #466 №1773729 
изображение.png
И ещё, почему тут в CreateProcess _T, а не L перед именем файла?
Аноним 11/08/20 Втр 02:20:00 #467 №1773733 
>>1773726
Да


>>1773729
Попытка мелкомягких в юникод
https://www.codeproject.com/articles/2995/the-complete-guide-to-c-strings-part-i-win32-chara
Аноним 11/08/20 Втр 02:24:03 #468 №1773734 
изображение.png
>>1773733
А почему не работает? Какая библиотека этому говну нужна?
Аноним 11/08/20 Втр 02:25:36 #469 №1773735 
>>1773729
Поддержка юникода в ШИНДОВС.
Когда у тебя определен дефайн __UNICODE, CreateProcess (а это макрос, шоб ты знал) разворачивается в CreateProcessW, а _T("xxx") в L"xxx".
А когда дефайн не определен, CreateProcess разворачивается в CreateProcessA, a _T("xxx") просто в "xxx".
И так большинство функций имеют две версии _A и _W, принимающие сhar и wchar_t соответственно.
Аноним 11/08/20 Втр 02:33:15 #470 №1773738 
>>1773735
А фраза "Hello, my son" почему не отправляется?
Аноним 11/08/20 Втр 02:40:30 #471 №1773741 
image.png
>>1773729
Не используй макросовую юникодопарашу, прямиком из 95ого года.

Ко всем API добавляй A (CreateProcessA), и просто "xxx" как аргументы юзай.
Аноним 11/08/20 Втр 02:41:53 #472 №1773742 
>>1773741
Не слушай дебила, добавляй W везде, только не забудь в настройках проекта поставить юникод
Аноним 11/08/20 Втр 02:42:45 #473 №1773743 
>>1773742
я даже с тобой тут соглашусь. Главное TCHAR-парашу не использовать.
Аноним 11/08/20 Втр 02:46:03 #474 №1773744 
1597103161718.jpg
>>1773741
С:\Users\пользователь\мои проекты
Аноним 11/08/20 Втр 02:47:41 #475 №1773745 
изображение.png
>>1773743
>TCHAR-парашу
Ты про как здесь? Это неработающий пример моей лабе про обмен данными процессов.
Аноним 11/08/20 Втр 02:57:06 #476 №1773749 
>>1773744
Тут я могу только предложить скинуть денег на лечение

>>1773745
https://habr.com/ru/post/164193/ Почитай вот это, и почини код из примера
Аноним 11/08/20 Втр 03:03:15 #477 №1773750 
>>1773749
Там много чего сломано, вряд ли получится починить.
Аноним 11/08/20 Втр 03:04:27 #478 №1773751 
>>1773750
всю _T парашу убрать, из _tmain сделать main, и все T-функции сменить на нормальные и взлетит, по идее
Аноним 11/08/20 Втр 03:13:18 #479 №1773756 
>>1773751
Там другое вылезает помимо _T. Если так уверен в себе, можешь сам попробовать, если хочешь.
https://drive.google.com/drive/folders/0B0tDS9ufZC7EaXZpeEVBWGZPSUU
Аноним 11/08/20 Втр 03:24:23 #480 №1773758 
>>1773756
https://hastebin.com/gafigovoyi.cpp

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

И чето у меня очень большие сомнения про создание маппинга от INVALID_HANDLE_VALUE, но я виндовое IPC не трогал, мб это правильно.
Аноним 11/08/20 Втр 03:33:42 #481 №1773761 
>>1773758
Не уверен, где заканчивается C и начинается C++, но, наверное, мне следовало обратиться в C тред с вопросом по CreatePipe. Это всё вообще имеет отношение к плюсам?
Аноним 11/08/20 Втр 03:34:48 #482 №1773762 
>>1773749
> Тут я могу только предложить скинуть денег на лечение

Ну толсто же. А оператор в каких нибудь госуслугах твое имя тоже должна транслитом вводить?
Аноним 11/08/20 Втр 03:38:19 #483 №1773764 
>>1773761
Вообще все классическое виндовое апи - это чистый си. И судя по всему, ты проходишь какие-то очень старые говноуроки, которые учат сложным и очень специфичным понятиям (нахуя тебе IPC руками?).

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

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

>>1773762
щас бы laba5.cpp в продакшен запуливать. А вот русский юзернейм в винде - только лечение.
Аноним 11/08/20 Втр 03:39:01 #484 №1773765 
>>1773762
>оператор
>должна
Так оператор или операторША? Должна или должЕН? Определись.
Аноним 11/08/20 Втр 03:39:50 #485 №1773766 
>>1773765
оператор_ка
Аноним 11/08/20 Втр 11:11:40 #486 №1773846 
>>1773698
>пиши на технологиях вендоров
Это на чем, на winapi и cocoa без лейаутов?
>>1773694
Попробуй winapi, чтобы почувствовать разницу. Особенно если у тебя формы резайзиться должны. Все инструменты для создания красивого гуя без ебли в Qt есть (я не свистоперделки QML имею в виду).
Аноним 11/08/20 Втр 13:01:04 #487 №1773966 
>>1773719
>Во-первых, венда - это все еще десктопное приложение.
А айось и андроид это мобильные приложения, ахуеть, вот это тейк.

>Во-вторых, неси-ка пруфы про "5% от массы", потому что это пиздежом попахивает.
https://en.wikipedia.org/wiki/1%25_rule_(Internet_culture)

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

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

>Хуй знает, но ПРОЦЕНТОВ МАЛО Я СКОЗАЛ
Если бы было НЕ МАЛО, твой труд стоил бы как труд студентика-юриста в нулевых и начале десятых, и ты бы кряхтел в подвале за 10к.

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

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

>твои домыслы опровергает на раз-два датой свежего релиза и спискотой допилов.
Ещё раз, читай что я написал
>>1773717
>в плане интерфейса мёртв
ты возможно не увидел слова
> интерфейса
но я тебе могу объяснить: возьми свои WPF, и смотри на zbrush/photoshop/visual studio/3ds max/unreal engine(всмысле, редактор)/unity/qt creator/что угодно. Единственное, что изменилось в некоторых за последние годы (если не десятилетие) — добавилось свистуличек, и теперь там красивые иконочки, а юзабилити на уровне нулевых так и осталось.
А теперь посмотри на веб/мобилки, и сравни прогресс. Тащемта, если 2 десятилетия стагнации — это не смерть, то хз что это.
Аноним 11/08/20 Втр 13:05:51 #488 №1773972 
3840px-Deepin20workflow.jpg
Написано на Qt. Круто?
Аноним 11/08/20 Втр 13:09:03 #489 №1773979 
>>1773720
Ок, пчел, вот поясни мне — чем эти скрины принципиально отличаются от того, что было лет так 10-15 назад? Тем, что всё свистит, пердит и выглядит в лучших традициях винампа, но с красивыми хуй-рез иконочками с тенями, а не пикчами 16x16 и квадратиками?
Аноним 11/08/20 Втр 13:10:20 #490 №1773981 
Diilq.png
maxresdefault.jpg
unitylivepreviewsetup.png
>>1773979
Отвалилось
Аноним 11/08/20 Втр 13:12:28 #491 №1773984 
>>1773972
> Круто?
Ну только если в гтк2 сравнивать.
Аноним 11/08/20 Втр 13:12:29 #492 №1773985 
>>1773966
> >что такое "профессиональный софт"
> Софт, юзаемый для создания чего либо и прочей проф. деятельности, эти самый "креэйторы".
Тик ток это профессиональный софт, ясно.
Аноним 11/08/20 Втр 13:14:00 #493 №1773990 
>>1773981
Не понял зачем ты это запостил. Я говорил об играх.
Аноним 11/08/20 Втр 13:16:37 #494 №1773998 
>>1773846
>Это на чем, на winapi и cocoa без лейаутов?
Cocoa адекватно сравнивать разве что с WPF, который и есть подход вендора к созданию гуя, но точно не с винапи.
Там есть и лэйаут, и визуальный редактор, и куча контролов на все случаи жизни с возможностью кастомизаций/анимаций/ебли в ухо и всем чем тебе надо.

>Попробуй winapi, чтобы почувствовать разницу.
Он на момент выхода XP уже не был главным вендор-веем, уже были и MFC и тонны прочей говнины от M$.
Аноним 11/08/20 Втр 13:21:05 #495 №1774005 
maxresdefault.jpg
> google: wpf good example
Аноним 11/08/20 Втр 13:21:45 #496 №1774006 
>>1773990
А я говорил о интерфейсах десктопных приложений, и ты ответил на пост про интерфейсы.

>>1773985
Ну да, можно и пеинт туда записать, мемы-то тоже делает пару процентов от общей массы.
Только вот на десктопе-то нихуя кроме такого софта не осталось, разве что игры, и те сплошная кроссплатформа.
Аноним 11/08/20 Втр 13:22:40 #497 №1774010 
>>1774006
>А я говорил о интерфейсах десктопных приложений, и ты ответил на пост про интерфейсы.
Нет, ты говорил о том что десктопные приложения мертвы. Игры не мертвы => десктоп не мертв.
Аноним 11/08/20 Втр 13:27:24 #498 №1774027 
>>1774010
>Нет, ты говорил о том что десктопные приложения мертвы
Ну давай восстановим хронологию:
>>1773707
>Ещё раз, пчел — десктопный софт находится в полумёртвом состоянии не развивается уже больше десятилетия (даже проф софтины — поголовно говнины говн, наращивают фичи но чтобы ими пользоваться надо нахуй вышку по ним получать)
Перевожу: интерфейс мёртв.

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

>Игры не мертвы => десктоп не мертв.
Во первых, это и не десктопные приложения. Ведьмака на свитче запустили, который вроде как мобильная консоль, теперь это что?
Во вторых, из твоего вывода следует, что игры на мобилках и консолях не мертвы => пека не мертво. Справедливо, чо.
Аноним 11/08/20 Втр 13:29:45 #499 №1774038 
add-application-image-title.png
ec12c1f5e0aacefa07081919ccb8417b.png
unnamed.jpg
wpfintrofigure24.png
>>1774005
Да, вот так выглядит современный софт на десктопе, кекус.
Аноним 11/08/20 Втр 13:33:17 #500 №1774049 
vaporwave-window-windows-webpunk-vebpank-okno-windows-95-se[...].png
>>1774038
ВЕБПУНК
Аноним 11/08/20 Втр 13:59:52 #501 №1774100 
>>1773998
>MFC
А, точно, вот эту хуйню сравнить с Qt.
Да я уже позабыл все это говнище, как страшный сон
Аноним 11/08/20 Втр 14:21:29 #502 №1774165 
>>1774100
С Qt надо сравнивать вот этот самый >>1774038 >>1774005 WPF, а MFC уже мёртв лет 15.
>Да я уже позабыл все это говнище, как страшный сон
Забыл то, чего в глаза не видывал, зумер?
Аноним 11/08/20 Втр 14:22:24 #503 №1774169 
>>1773735
Почему так костыльно?
Аноним 11/08/20 Втр 14:23:44 #504 №1774174 
>>1774169
Потому что ШИНДОВС
Аноним 11/08/20 Втр 14:24:11 #505 №1774178 
>>1773764
Двачую этого
Аноним 11/08/20 Втр 14:40:15 #506 №1774205 
>>1774169
это было сделано в те времена, когда разница в перфе между char и wchar_t действительно была заметна
Аноним 11/08/20 Втр 14:45:23 #507 №1774217 
>>1773972
Хорошо выглядит.
Аноним 11/08/20 Втр 14:46:03 #508 №1774222 
>>1773981
Аааааааааааа блядь как люди в этом работают
Аноним 11/08/20 Втр 15:29:50 #509 №1774306 
>>1774222
Понимаешь, это концепция "окна", она реально так работает - у тебя маленькое окошко, а за ним целый мир...
Аноним 11/08/20 Втр 15:32:33 #510 №1774315 
>>1774169
Потому что 99% софта в то время делалось только для америки и американцев,отголоски этого до сих пор слышны в иррациональных страхах типа этого >>1773764
>А вот русский юзернейм в винде - только лечение.
Аноним 11/08/20 Втр 15:35:02 #511 №1774323 
>>1774165
Дядь, ебало свое закрой, я еще турбо вижн с вбдосом помню.
Аноним 11/08/20 Втр 17:19:40 #512 №1774485 
>>1774315
Так ведь до сих пор встречается ситуация, когда какая-нибудь залупа отказывается работать из-за того что в каком-то там пути кириллица, или пробел, или конкретно символ 'я' (реальная история, я не тролль), или сам путь длиннее 254 символов.
Аноним 11/08/20 Втр 17:26:03 #513 №1774489 
>>1774485
>конкретно символ 'я'
А как же 'ё'?
Аноним 11/08/20 Втр 17:28:13 #514 №1774492 
15953314741460.jpg
>>1774323
Как же всё таки легко спалить простофилю-зумерка, достаточно назвать зумерком — горит и рвётся.
Аноним 11/08/20 Втр 18:30:42 #515 №1774552 
>>1774485
А зачем тебе путь длиннее 254 символов? Ты что, потреблядь?
Аноним 11/08/20 Втр 18:36:21 #516 №1774556 
>>1774552
>А зачем тебе не-ASCII символы?
>А зачем тебе монитор?
>А зачем тебе больше 16 Кб памяти? Ты что, потреблядь?
Аноним 11/08/20 Втр 18:41:49 #517 №1774559 
>>1774492
У тебя какая-то нездоровая фиксация на зумерках.
Аноним 11/08/20 Втр 18:53:17 #518 №1774569 
>>1774556
А зачем тебе больше 16 Кб памяти? Ты забыл, в каком треде находишься?
Аноним 11/08/20 Втр 18:58:14 #519 №1774572 
>>1774552
Ха ха, у меня так emscripten однажды умер. Хотя если подумать, то не только он - еще сборка какой то прошивки. Пришлось творить адову хуйню типа переименовать все папочки чтобы путь был C:\M\N\P\fucking_long_file_name.cpp
Аноним 11/08/20 Втр 19:11:11 #520 №1774581 
>>1774569
У меня один набор криптографических предвычислений — 512 кб в лучшем случае.
В производительном — 64 мб.
Аноним 11/08/20 Втр 19:33:41 #521 №1774587 
>>1774581
Записывай на листочке и подгружай по востребованию.
Аноним 11/08/20 Втр 19:43:39 #522 №1774592 
>>1774587
#include <листочек>
Аноним 11/08/20 Втр 19:46:51 #523 №1774594 
>>1774592
Когда уже #embed сделают
Аноним 11/08/20 Втр 21:33:39 #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. Другие касты боюсь использовать. Как быть?
Аноним 11/08/20 Втр 21:37:34 #525 №1774676 
я начинаю путать инициализацию через () и просто через присваивание. Почему в конструкторе (), а не =?
НУ а о всяких {} я молчу. КАк разобраться в этом?
Аноним 11/08/20 Втр 21:58:31 #526 №1774694 
>>1774676
При инициализации нового объекта копией вызывается конструктор копирования. (Или обычный конструктор, если применяется пропуск копии.) При замене существующего объекта новым вызывается оператор присваивания.

>>1774671
QImage image = variant.value<QImage>();
Аноним 11/08/20 Втр 21:58:39 #527 №1774695 
Я начал читать липпмана только ради буста. Стоит ли читать его всего? Просто там есть оооочень тонкие моменты, которые мне кажется, пока не нужны.
Аноним 11/08/20 Втр 21:59:17 #528 №1774696 
>>1774676
Используй {} вместо всего когда возможно, и будет щастье.
Аноним 11/08/20 Втр 22:02:24 #529 №1774699 
>>1774696
int main() {} // вот теперь заебись
Аноним 11/08/20 Втр 22:08:40 #530 №1774703 
>>1774676
Шо тут сложного то?
> Почему в конструкторе ()
Ну так придумали. Типа "безымянная" функция с именем класса. MyClass()
>просто через присваивание
Если ты напишешь MyClass obj() то ты создаешь объект конструктором.
Если ты напишешь MyClass obj = MyClass() то ты сначала создашь (безымянный) объект, а потом присвоишь его переменной obj. Как написал анон, умные компиляторы сейчас выкинут этот лишний шаг.
>о всяких {}
То что MyClass() подозрительно похож на функцию, создало некоторые проблемы. Можно перепутать с объявлением или вызовом функции. MyClass {} работает почти так же.
Аноним 11/08/20 Втр 22:10:50 #531 №1774705 
>>1774694
> QImage image = variant.value<QImage>();
Спасибо, чел, попробую.
Аноним 11/08/20 Втр 22:14:00 #532 №1774708 
>>1774703
> Ну так придумали. Типа "безымянная" функция с именем класса. MyClass()
Я про инициализацию членов класса после двоеточия.
> Если ты напишешь MyClass obj() то ты создаешь объект конструктором.
> Если ты напишешь MyClass obj = MyClass() то ты сначала создашь (безымянный) объект, а потом присвоишь его переменной obj. Как написал анон, умные компиляторы сейчас выкинут этот лишний шаг.
А просто MyClass obj не вызывает конструктор?
> То что MyClass() подозрительно похож на функцию, создало некоторые проблемы. Можно перепутать с объявлением или вызовом функции. MyClass {} работает почти так же.
Если почти также, то в чем смысл два разных знака делать?
Аноним 11/08/20 Втр 22:15:22 #533 №1774710 
>>1774708
Я о прежнему не понимаю раницы между int i (2) и int i =2
Аноним 11/08/20 Втр 22:31:35 #534 №1774718 
Как работает ввод и вывод? У процесса есть область памяти куда данные пишутся, а потом ос оттуда их забирает? Дайте ссылки где можно почитать о этом.
Аноним 11/08/20 Втр 22:35:24 #535 №1774722 
>>1774710
Во втором случае создается объект 2, а потом он копируется. В случае примитивов ничего, но при объектах это могут быть лишние телодвижения.
>>1774708
>Я про инициализацию членов класса после двоеточия.
Не очень понял тебя.
>Если почти также, то в чем смысл два разных знака делать?
Чтобы убрать путаницу и неоднозначность, которая была со скобками.
Аноним 11/08/20 Втр 22:37:57 #536 №1774725 
>>1774722
Спасибо. Вроде так понятно.
Можешь на это ответить, пожалуйста. >>1774695
Аноним 11/08/20 Втр 22:42:42 #537 №1774729 
>>1774725
тебе нахуй не нужен буст. Надо понимать сам язык, задрачивать библиотеки без задач (для тебя в текущий момент) - смысла бананий.
Аноним 11/08/20 Втр 22:44:08 #538 №1774730 
>>1774729
У меня есть задача, которую я хочу сделать. Для нее нужен буст. Я открыл доку и понял, что не понимаю код. Начал читать липпмана. Потом прочту про многопоточность
Аноним 11/08/20 Втр 22:45:21 #539 №1774732 
>>1774730
Что за задача? С некоей вероятностью она решается чем-то в разы более легковесным, чем буст
Аноним 11/08/20 Втр 22:46:28 #540 №1774733 
>>1774732
Ну вообще я хотел сервер сделать. Мне beast посоветовали.
Аноним 11/08/20 Втр 22:48:43 #541 №1774736 
>>1774733
а, ты тот самый челик. Посмотри доклад Vinnie Falco - Get rich with Boost beast, чето такое. Там прямо готовый код есть для биста.
Аноним 11/08/20 Втр 22:50:25 #542 №1774739 
>>1774736
Спасибо.
Аноним 11/08/20 Втр 23:15:44 #543 №1774750 
>>1774739
Блин, все равно нужно до шаблнов дочитывать.
Аноним 11/08/20 Втр 23:42:32 #544 №1774756 
>>1774708
>А просто MyClass obj не вызывает конструктор?
Так в итоге что?
MyClass obj;
vs
MyClass obj();
Аноним 12/08/20 Срд 00:23:55 #545 №1774764 
>>1774756
Никакой разницы.
Аноним 12/08/20 Срд 00:30:10 #546 №1774766 
>>1774764
MyClass obj(); - это объявление функции obj, возвращающей MyClass
Аноним 12/08/20 Срд 00:37:45 #547 №1774768 
>>1774766
Нет, это создание объекта класса MyClass с пустым списком аргументов конструктора. а ну ок
Аноним 12/08/20 Срд 00:41:57 #548 №1774769 
Гондон апдейтнул апи и теперь на ендпоинте лежит не просто object, а array из одного object))) и я сижу до 12 ищу че не так ахуеть
Аноним 12/08/20 Срд 01:34:47 #549 №1774792 
>>1774769
Так не бывает сердце сгорает
Аноним 12/08/20 Срд 04:35:24 #550 №1774843 
Безымянный.png
Аноним 12/08/20 Срд 18:42:44 #551 №1775400 
Дайте идей для небольших многопоточных приложений.
Аноним 12/08/20 Срд 20:13:41 #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();
Аноним 12/08/20 Срд 21:01:30 #553 №1775489 
>>1775462
Блять что за пиздец этот ваш qt и вообще ООП. В два раза больше ненужных строчек, выделение памяти под объекты, которые через 10 строк кода уже не нужны и прочая срань. Про читаемость вообще молчу. Вот другое дело процедурный стиль, когда каждая строчка - какое-то действие, которое из названия понятно.
Аноним 12/08/20 Срд 21:04:19 #554 №1775492 
>>1775489
Я не особый спец, но мне кажется, что ооп придумали, чтобы приложения можно было писать командой, а процедурный стиль годится только для одиночек.
Аноним 12/08/20 Срд 21:13:51 #555 №1775505 
>>1775492
Да, но когда кодишь соло, то от ООПа глаза вытекают и аж трясёт. Как будто специально сидели и придумывали как усложнить тебе жизнь.
Пусть это в энтерпрайзе варится, обычным смертным-то зачем это высерать?
Аноним 12/08/20 Срд 21:16:25 #556 №1775507 
>>1775489
Структуру уже проинициализировал? Не от хорошей жизни ООП придумали, и не от плохой от него не уходят.
Аноним 12/08/20 Срд 21:20:46 #557 №1775509 
>>1775505
Ну не сказал бы, что усложняет. Оконное приложение на Qt довольно удобно пилить. А процедурно как его пилить? Через Win32API и всякие хэндлеры? По моему это еще сложнее и трудночитаемее.
Аноним 12/08/20 Срд 21:29:35 #558 №1775516 
>>1775462
Ну так что я все таки сделал не так? В MyComboBoxItemDelegate я определил методы createEditor(), setEditorData() и setModelData(). Может еще какой то метод надо определить, чтобы при вызове view.setItemDelegateForColumn(2, myDelegate) делегат стал отображаться в ячейке таблицы?
Аноним 12/08/20 Срд 21:34:59 #559 №1775521 
>>1775489
Приведи пример такой нечитаемости, желательно с пикрилом. ООП призван упростить разработку крупных проектов, и он реально упрощает. Я участвовал в проекте на 18 млн. LoC и без ООП там был бы просто ад ебаный.
Даже в ядре Линукса, которое на чистых сях, есть овердохуя костыльных ООП конструкций. Костыльных - потому что в Си нет родного ООП и надо дрочить вприсядку, чтобы код хоть как-то был структурирован, а не напоминал один сплошной процедурный чиркаш, который невозможно ни мейнтейнить, ни отлаживать, ни вменяемо разбивать на модули.
Аноним 12/08/20 Срд 21:43:58 #560 №1775522 
>>1775509
> А процедурно как его пилить?
Как в ImGUI. Вот это просто сказка, жаль что под десктоп такого нет.
Аноним 12/08/20 Срд 21:57:21 #561 №1775529 
>>1765587 (OP)
R >>1775527 (OP) OLL
RO >>1775527 (OP) LL
ROL >>1775527 (OP) L
ROLL >>1775527 (OP)
Аноним 12/08/20 Срд 22:20:15 #562 №1775538 
Нахуя нужны адаптеры? Они работают поверх других контейнеров. Так для чего использовать их, если можно контейнеры, на которых они основаны?
Аноним 13/08/20 Чтв 13:21:25 #563 №1775935 
15393622315702.gif
Говнокодерскую маньку можно спалить по этим двум вещам:
- дрочка вприсядку на паттерны ради паттернов (карго-культ). AbstractHelloWorldConsoleOutputPrinterFactoryFactory, сука.
- тотальная ненависть к ООП

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

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

>>1775462
Нахуй тебе их недоMVC? Он же всратый, как говно, там даже размер колонок у QTableView нельзя настроить в модели, насколько я помню, и приходится дописывать свои велосипеды, или вообще слать нахуй эту парашу и пилить свой MVC. а лучше MVVM
Аноним 13/08/20 Чтв 15:56:15 #564 №1776180 
>>1775521
А я просто напомню:
https://ipfs.io/ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK/comp/linux/c++.html
Аноним 13/08/20 Чтв 17:30:53 #565 №1776309 
>>1776180
> some of the C features we use may or may not be usable from C++ (statement expressions)
Иронично но в С нет такой фичи (это нестандартное расширение языка), и он умудряется в соседних абзацах критиковать плюсовиков за то что они смеют писать на С++ в разных стилях.
Аноним 13/08/20 Чтв 17:35:15 #566 №1776320 
>>1776309
Ну да, GCC его любимый компилятор.
Аноним 14/08/20 Птн 13:18:12 #567 №1777100 
>>1775935
linux говнокод, мелкие скрипты или микроконтроллеры?
Аноним 14/08/20 Птн 15:13:30 #568 №1777278 
15867559573602.png
>>1777100
Микроконтроллеры - в большинстве случаев, няш.
Аноним 16/08/20 Вск 21:22:52 #569 №1778974 
Ill give you a sandwich if you stop being horni.jpg
furry dog child.jpg
Sonic Shadow toilet.png
best 3d modelling software.png
Привет.
Хочу начать учить С++ для Анрил Энжина по курсам от Udemi. Ну или по каким-то другим, если мне эти на зайдут, выбрать вроде есть из чего, не суть
До этого писал некоторое количество кода в блокноте на AutoHotkey и в текстовом редакторе Линупса (каким бы он там не был) на Баше.
В общем, я не хочу среду разработки здорового человека, типа Вижуал Студио или КЛион, я хочу себе околоблокнот, который не будет сам расставлять табуляцию, выделять ошибки и пытаться дописать за меня строку, типа вот такого: https://www.youtube.com/watch?v=F_dezRfdvg8
Если я начну учиться на таком - это инстафейл?
Какую бы вы мне среду посоветовали под мои запросы?
Или же вы посоветовали бы не выебываться и брать студию?
Аноним 16/08/20 Вск 21:51:40 #570 №1779010 
>>1778974
В 18 тред пиздуй
Аноним 16/08/20 Вск 22:45:27 #571 №1779030 
>>1778974
Вим
Аноним 16/08/20 Вск 23:22:23 #572 №1779052 
>>1778974
Да любой подойдет, если не будешь ставить плагины, у тебя будет только синтаксис подсвечиваться, никакого автокомплишена и проверки ошибок ни у какого редактора из коробки нету.
Бери какой-нить сублим текст или нотпад++ и вперед, если хочешь конкретно заморочиться то вим из твоего видео, там он просто обвешан тонами плагинов уже.
Аноним 16/08/20 Вск 23:27:05 #573 №1779055 
>>1778974
>>1779052

Хотя если тебе будет нужно работать именно с анрилом и его кодовой базой, то скорее всего у тебя просто не будет выбора, там билд система скорее всего заморочена пиздец как, и без студии просто не обойтись новичку.
Аноним 25/09/20 Птн 19:14:00 #574 №1816220 
Чем дальше погружаюсь в кресты, тем больше начинаю понимать, что cpp это ёбанный мутант нахуй. Создать этого мутанта и была цель Страуструпа?
comments powered by Disqus