Программирование


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
213 7 67

C++ тред #117 /cpp/ Аноним 01/08/20 Суб 16:11:39 17655871
1479294246674.png (2Кб, 250x250)
250x250
Аноним 01/08/20 Суб 17:10:14 17656502
>>1765587 (OP)
Хорошо, что здравый смысл победил, и не ждут 1000 постов.
01/08/20 Суб 17:31:49 17656723
Аноним 01/08/20 Суб 17:39:37 17656824
>>1765587 (OP)
Есть адаптированный перевод блога из шапки.
Оригинальный(из раздела "Куча других блогов") - https://www.learncpp.com/.
Перевод - https://ravesli.com/uroki-cpp/.
Возможно, стоит занести его в шапку? Он так же полностью бесплатный
Аноним 01/08/20 Суб 17:42:22 17656865
>>1765682
Учить яп надо по книгам
Аноним 01/08/20 Суб 18:10:24 17657256
>>1765686
А я учи по видосам на ютубе. И хули ты мне сделаешь теперь?
Аноним 01/08/20 Суб 18:27:06 17657427
>>1765686
Заглянул по ссылкам, те же книги, что тебя не устраивает?
Аноним 01/08/20 Суб 18:51:45 17657688
Как это так получается, что у типов данных тоже есть методы?
ostr << ifstream("file.txt").rdbuf();
Аноним 01/08/20 Суб 18:57:40 17657709
>>1765768
Потому что классы - это типы данных.
Аноним 01/08/20 Суб 19:19:59 176578610
Как константы в памяти хранятся?
Аноним 01/08/20 Суб 19:23:13 176578911
>>1765786
Как решит компилятор - так и хранятся. Хоть инлайнятся, хоть имеют адрес.
Аноним 01/08/20 Суб 19:26:51 176579112
>>1765789
Если я инициализирую константу переменной, то я так понимаю у нее есть адрес и ограничение на дальнейшие присвоения "искусствены"и с помощью указателя можно изменить константу?
Аноним 01/08/20 Суб 19:28:01 176579413
изображение.png (31Кб, 1092x489)
1092x489
>>1765420 →
И как это сделать? Там даже значений нет. Конструктор без аргументов в mat не работает.
Что-то вроде vec x{} тоже не работает.

Вот слева то что я хочу написать, а справа то что приходится писать с жутким }}}}. Я могу отказаться от union в vec записав оператор индексирования как *((&x)+i), но в mat это невозможно, потому что мне нужно как поле .x типа vec, так и поле .xx типа float.
Либо я могу отказаться от конструкторов, и писать _vec, который будет static-функцией возвращающий vec.
Аноним 01/08/20 Суб 19:28:38 176579514
Аноним 01/08/20 Суб 20:41:02 176584115
Норм использовать посимвольные операции для работы со всей строкой? Например применять toupper для каждого символа строки
Аноним 01/08/20 Суб 20:44:04 176584516
>>1765791
Ты не можешь инициализировать константу не константой.
Аноним 01/08/20 Суб 20:45:08 176584717
>>1765841
Это больная тема с++, потому что например в юникоде 1 "символ" может быть несколько байт.
Аноним 01/08/20 Суб 20:50:11 176584818
>>1765845
Могу. Прекрасно работает такая вещь:
int n;
cin>> n;
const int a = n;
Аноним 01/08/20 Суб 20:52:32 176585219
>>1765847
В книге, что я читаю приведена таблица функций для работы с символами строки. Например isalnum, isalpha, isdigit и тд. Они работают в любой кодировке?
Аноним 01/08/20 Суб 20:53:12 176585620
>>1765852
Ну их вообще принято использовать или есть более хорошие вещи?
Аноним 01/08/20 Суб 20:57:37 176585921
Аноним 01/08/20 Суб 20:58:05 176586022
>>1765852
Нет, они только для ASCII. Для юникода, который в 2020 стыдно не поддерживать из коробки, и по сей день тащат сторонние либы.
Аноним 01/08/20 Суб 20:58:36 176586123
Аноним 01/08/20 Суб 21:00:46 176586324
Аноним 01/08/20 Суб 21:00:56 176586425
Я ввожу дату в стандартный поток через 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 176586526
>>1765859
Господи, их результат ещё и от текущей локали зависит. Пиздец.
Аноним 01/08/20 Суб 21:02:02 176586627
>>1765859
Ну там кажется внизу табличка ASCII и функции для нее, так что наверное прав этот >>1765860
Вообще планируется поддержка юникода? В 20 стандарте что то есть об этом?
Аноним 01/08/20 Суб 21:03:36 176586728
>>1765866
Юникод и так поддерживается. wchar wstring wcin wcout
Аноним 01/08/20 Суб 21:04:59 176586829
>>1765867
А функции для них те же о которых я вверху писал?
Аноним 01/08/20 Суб 21:06:45 176587130
Аноним 01/08/20 Суб 21:08:56 176587431
>>1765871
Ооо. Спасибо большое
Аноним 01/08/20 Суб 21:09:08 176587532
>>1765867
Никак не поддерживается.
Аноним 01/08/20 Суб 21:33:24 176588333
Аноним 01/08/20 Суб 22:05:38 176589334
>>1765883
Он имеет в виду, что поддержка так себе. То, что я скинул, выглядит лютым костылём по сравнению с остальными языками.
Аноним 01/08/20 Суб 22:06:51 176589435
Как сделать так, чтобы вносимые изменения в файл отображались в реальном времени, пока программа выполняется?
Аноним 01/08/20 Суб 22:07:34 176589536
image.png (4Кб, 254x189)
254x189
image.png (10Кб, 748x138)
748x138
Почему не 3 и -10?
Аноним 01/08/20 Суб 22:10:16 176589637
>>1765894
Всё, понял. Надо в цикле в начале алгоритма файл открывать, а в конце алгоритма закрывать.
Аноним 01/08/20 Суб 22:16:40 176590038
>>1765895
у запятой приоритет ниже, чем у <<
Аноним 01/08/20 Суб 22:19:04 176590139
>>1765894
Не обязательно закрывать, достаточно вызвать flush().
Аноним 01/08/20 Суб 22:21:37 176590340
>>1765901
А какая разница, если эффект один и тот же?
Аноним 01/08/20 Суб 22:23:03 176590541
>>1765895
(cout << (a = -10)), b;
так понятней?
Аноним 01/08/20 Суб 22:24:31 176590742
>>1765903
Экономия на времени открытия/закрытия файла, но вряд ли в твоём случае это критично.
Аноним 01/08/20 Суб 22:28:36 176590943
>>1765895
Ты и там и там вывел a. Однако странно, что компилятор крестов позволяет писать как в первом выводе с b, я не вижу в этой записи смысла.
01/08/20 Суб 22:35:54 176591444
Шизло, хватит катить на 500. Уже больше года на 1000 катимся. И шапку проебал еще, ну молодец вообще.
Аноним 01/08/20 Суб 22:39:51 176591545
>>1765905
Да
>>1765909
Я же вторым пиком определение прткрепил
Аноним 01/08/20 Суб 22:41:26 176591746
>>1765915
Твоё определение хуйня. По крайней мере, в случае с <</>>.
Аноним 01/08/20 Суб 22:43:15 176592047
>>1765917
Проебался с приоритетом. Определение ни при чем
Аноним 02/08/20 Вск 00:25:03 176595848
>>1765587 (OP)
говнарь-пыхер стаж 4 года, бумер. Вчера начал учить си++ для того, чтоб уехать РАБотать в амазон через пару лет в какую-нибудь ёба-разработку нейросетей.

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

алсо, a tour of c++ 2nd edition норм тема для новайсов?
Аноним 02/08/20 Вск 01:05:43 176597149
>>1765958
>C++.
>Нейросетей.
>Уехать через пару лет.
Аноним 02/08/20 Вск 01:48:02 176598550
Аноним 02/08/20 Вск 03:01:04 176600051
>>1765985
Через пару лет нейросети сами будут писать тебя.
Аноним 02/08/20 Вск 03:33:32 176600652
>>1766000
не надо меня писать
Аноним 02/08/20 Вск 09:46:22 176608553
C++ надо просто определить неопределенное поведение.
Почему это ещё не сделали?
Аноним 02/08/20 Вск 10:01:46 176609054
Хочу винапи на шаблонах, а не на указателях на void
Аноним 02/08/20 Вск 10:27:38 176609555
>>1765985
Загляни в машоб тред хотя бы
Аноним 02/08/20 Вск 10:29:25 176609656
>>1765971
В дурку точно уедет
Аноним 02/08/20 Вск 13:07:49 176614257
Аноним 02/08/20 Вск 13:14:54 176614558
>>1766142
Эх, я тут расписывал ответ, а ты взял и... сделал всё как надо.
Аноним 02/08/20 Вск 13:18:32 176614659
>>1766142
Да ну ерунда, сделать их все ошибками и ввести какой нибудь аттрибут для отключения в конкретных нужных тебе местах.
Аноним 02/08/20 Вск 13:22:18 176614760
>>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 176615661
>>1766146
Подумай об этом не со стороны своих эгоистичных замашек, а со стороны разработчиков компилятора и кучи других разработчиков под самые разные архитектуры, и всё станет понятно.
Аноним 02/08/20 Вск 14:13:07 176618362
>>1766156
Как раз от убирания UB лучше станет всем.
Аноним 02/08/20 Вск 14:24:43 176619663
>>1766147
Иными словами, тебе нужно постоянно проверять дистанцию - и если дистанция подходящия, то нужно две минуты держать что-то включённым?
> я попал по адресу?
Вообще нет, но твоя задача в самом деле решается за три минуты, если иметь ардуину и настроенную ide под рукой с датчиком. Вот так вслепую - не напишу, потому что ардуину мучал час или около того. Что-то вроде такого, но это в самом деле пальцем в небо и нужно дописать опрос датчика: https://ideone.com/yBqOdx
Аноним 02/08/20 Вск 14:30:00 176620164
>>1765958
бумер на связи. Потихоньку читаю книжульку. Сейчас вот разбираюсь с понятием nullptr, вроде бы, пока что как по маслу маспу идёт, но медленно.

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

Аноним 02/08/20 Вск 14:44:31 176622166
Аноним 02/08/20 Вск 15:48:08 176629067
>>1766220
Иди в эмбед. научишься писать код, а дальше перекатишься в нормальную или ваще в гермашку какую.
Аноним 02/08/20 Вск 15:59:07 176630168
>>1766290
да я уже именно в Гермашку и перекатился и занимаюсь вышеописанной хуйней к сути моего поста это правда отношения не имеет. Разве что это огромный минус, так как то, чем я занимаюсь есть только 5/2 8 часов в неделю в офисе, в очень дорогих городах, где 3к€ разраба просто смешны. Кодинг же в отличии от инженерии достаточно гибкий, фрилансить или работать удалённо или работать на гелере можно откуда угодно за те же деньги. Но это лирическое отступление.
У тебя есть опыт или знакомые в эмбедед с++ разработке?
Аноним 02/08/20 Вск 16:00:47 176630369
>>1766196
Спасибо! Перепощу в /ra, похоже что для них это совсем пустяки.
Аноним 02/08/20 Вск 16:05:18 176630770
Сап /b/pr, нафаня на связи.

Ситуация: некая программа построчно пишет данные в конец файла(всякие логи), нужно отлавливать момент записи и собственно сами логи, в какую сторону капать?
Возможно проблема слишком легкая, но никогда с этим не сталкивался, максимум парсил готовые XML-ки
Аноним 02/08/20 Вск 16:30:05 176633071
Аноним 02/08/20 Вск 16:38:03 176633372
>>1766183
Это почему?
Давай на конкретном примере. Сложение двух знаковых целых чисел с переполнением. Это потенциально практически каждое сложение интов. Какие ты тут хочешь ввести атрибуты? Как ты уберёшь тут UB? Кому станет от этого легче жить?
Аноним 02/08/20 Вск 17:00:15 176635473
>>1766330
Благодарю тебя анон
Аноним 02/08/20 Вск 18:03:02 176642874
Сап, аноны. Пытаюсь сделать небольшую роуг-лайк игру. Какие либы/средства использовать для отображения карты? В джаве я юзаю Jframe для этого. Нужна карта, которая будет размечена на секции со своими символами/иконками. Что посоветуете?
Аноним 02/08/20 Вск 18:13:55 176644675
Аноним 02/08/20 Вск 18:21:22 176646776
Аноним 02/08/20 Вск 18:36:12 176649177
Аноним 02/08/20 Вск 18:58:25 176651978
>>1766446
а что скажешь про libtcod?
Аноним 02/08/20 Вск 19:05:08 176653279
>>1766519
Не слышал о такой. Но выглядит на первый взгляд неплохо.
Аноним 02/08/20 Вск 19:24:35 176654980
>>1766301
Эмбедед на плюсах? А что ты им делать собрался, когда там максимально низкоуровневый код?
Аноним 02/08/20 Вск 19:38:48 176656681
Аноним 02/08/20 Вск 19:40:14 176656782
>>1766549
Весь driver assisntent systems на плюсах, почти весь автономный драйв на плюсах, всевозможные драйвера, комуникации, инфотеймент и тд.
Эмбедед это же не только диодиками мигать.
Аноним 02/08/20 Вск 20:14:57 176658583
Есть вообще хоть какая-нибудь альтернатива винапи для нормального интерфейса уровня софта от майков?
wxWidgets не поддерживает кучу фич винды, qt сам рисует интерфейс и он выглядит как инородное говно, WPF ущербный и опять же не может как винапи. Неужели нет нормальной абстракции винапи с поддержкой всех свежих фич DWM?
Аноним 02/08/20 Вск 20:17:31 176658984
>>1766567
Что вообще знать надо помимо плюсов, чтобы в ембедед вкатиться?
Аноним 02/08/20 Вск 20:21:21 176659285
>>1766333
Это как раз очень простой пример. Если у тебя переполнение, то у тебя UB. А значит ты не проверил данные, и на выходе у тебя мусор. Проверять надо или в рантайме, или в компайл тайме, где ты явно указываешь гарантии что твои данные вписываются в диапазон. Например специальным типом данных, который точно может быть только от -5 до 5. Или контрактами. От этого станет легче жить вообще всем - и программистам, которым меньше ловить плавающих багов и уязвимостей. И пользователей, чьи самолеты перестанут втыкаться носом просто потому что компилятор что то там оптимизировал скрыто.
Аноним 02/08/20 Вск 21:33:39 176664386
>>1766566
Ну это конечно высокая планка, если вкатишься во все это то мое почтение
Аноним 02/08/20 Вск 21:34:02 176664487
>>1766589
Электронику и то, как работает микропроцессор. Слова регистр, adc, dma, eeprom, spi не должны наводить ужас. В зависимости от отрасли еще и теорию автоматического управления, физику этц. Эмбедед эмбедеду рознь.
Аноним 02/08/20 Вск 23:03:53 176669588
>>1766592
А прикинь, антош, если каждый сраный ++i сможет кидать исключение IntegerOverflow
как в божественном SML
Аноним 02/08/20 Вск 23:09:51 176670189
>>1766592
И производительность как у питона будет.
Аноним 02/08/20 Вск 23:11:56 176670490
>>1766695
Я только за. Нахуй нужен wrap чтобы индекс в массиве стал отрицательным?
Аноним 02/08/20 Вск 23:12:32 176670591
>>1766701
Предпочитаешь быстрые но некорректные программы?
Аноним 02/08/20 Вск 23:47:02 176672192
>>1766705
Оба варианта так себе, но иногда перформанс действительно важен, и тогда программу должен писать очень высококвалифицированный кодер, чтобы она была как можно менее некорректная.
Аноним 03/08/20 Пнд 00:40:50 176673093
>>1766705
Если не нужна производительность, зачем вообще плюсы трогать? Есть куча других безопасных языков, выбирай любой и ебись с ним.
Аноним 03/08/20 Пнд 00:50:04 176673494
Аноним 03/08/20 Пнд 00:50:37 176673595
>>1766585
У Boost есть какая-то обертка над WinAPI, но над чем именно не знаю.
Аноним 03/08/20 Пнд 01:03:30 176674396
Аноним 03/08/20 Пнд 01:17:38 176675097
>>1766734
Нет, это выбор. Я выбираю нож поострее. Да, острым ножом можно себе где-нибудь артерию вскрыть, но на то он и нож.
Аноним 03/08/20 Пнд 01:26:25 176675598
>>1766750
Да это и так понятно что ты эджи школьник любящий играться с ножами. Жалко людей которые потом гибнут
Аноним 03/08/20 Пнд 01:33:57 176675999
Аноним 03/08/20 Пнд 01:40:39 1766762100
Аноним 03/08/20 Пнд 02:08:35 1766772101
Аноним 03/08/20 Пнд 02:22:14 1766779102
>>1766759
> ATL
Мммм CStringT, вкусно
Аноним 03/08/20 Пнд 03:45:31 1766798103
>>1766779
И? Унификация char, wchar_t и винапишного TCHAR.>>1766779
Аноним 03/08/20 Пнд 04:21:31 1766807104
>>1766090
Хочу для начала винапи, который не засирает всё своими макросами.
Аноним 03/08/20 Пнд 08:56:18 1766849105
>>1766585
WPF. Используй C++/CLI для взаимодействия между шарповой и плюсовой частями. Работает, проверено на себе
Аноним 03/08/20 Пнд 09:01:12 1766854106
>>1766849
А, чёрт, недочитал (хватит с утра на двачах сидеть). Кроме как чистых винапи для взаимодействия с DWM от роду не видел.
Аноним 03/08/20 Пнд 12:08:17 1766977107
>>1765786
Зделай дизасм да посмотри
Аноним 03/08/20 Пнд 12:21:47 1766988108
>>1766201
>nullptr
И что ты понял, что это такое? В чем разница между NULL, nullptr, 0?
Аноним 03/08/20 Пнд 13:04:43 1767054109

>>1765786
>Как константы в памяти хранятся?
Как скажешь так и хранятся.
attribute _((section("name")) и man ld.
Аноним 03/08/20 Пнд 14:41:31 1767203110
image.png (30Кб, 555x355)
555x355
В чем разница?
Аноним 03/08/20 Пнд 15:17:50 1767240111
>>1767203
Да получается, что никакой. Вызывается одинаковый конструктор для списка инициалиазации.
Аноним 03/08/20 Пнд 15:18:43 1767242112
>>1767203
В первом случае создание и копия - во втором создание и пробрасывание по rvalue reference.
Аноним 03/08/20 Пнд 15:54:10 1767288113
>>1767203
Надо писать std::move(v...)
Аноним 03/08/20 Пнд 16:07:36 1767300114
>>1767288
Проще на Rust перейти.
Аноним 03/08/20 Пнд 16:13:49 1767308115
Аноним 03/08/20 Пнд 18:18:08 1767549116
>>1767288
Зачем? Аргумент и так rvalue. В std::move надо было бы оборачивать, если бы передавался lvavlue объект, созданный заранее вектор.
Здесь фишка в том, что объект создается прямо в выражении. Поэтому вызывается обычный конструктор в обоих случаях, а не копирования и не перемещения.
Аноним 03/08/20 Пнд 18:44:33 1767587117
>>1767549
Copy elision гарантируется только начиная с 17 стандарта.
Аноним 03/08/20 Пнд 21:02:41 1767679118
1596477762973.jpg (41Кб, 620x418)
620x418
Есть какой нибудь супер простой пример реализации Model/View в Qt для полных даунов? А то я Шлее почитал, кутевские мануалы почитал и все равно нихуя не ебу, как это все создавать. Чувствую себя полным дебилом.
Аноним 03/08/20 Пнд 21:12:11 1767688119
Аноним 03/08/20 Пнд 21:24:57 1767702120
>>1767688
Спс, надо попробовать.
Аноним 03/08/20 Пнд 21:26:25 1767706121
>>1766196
Перенял идею с этой проги, сильно упростилась жизнь, спасибо еще раз.
>>1766221
А там оказалось ничего интересного, восседают господа Таурины и обсуждают по сколько ножек должно быть у резистора.
Аноним 03/08/20 Пнд 23:59:00 1767809122
Решил прокачать 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 1767813123
>>1767587
Уже двадцатые почти вышли.
Аноним 04/08/20 Втр 00:07:01 1767814124
>>1767809
Хедер-онли, stb-стайл, final destination
Аноним 04/08/20 Втр 00:29:59 1767821125
>>1767308
Чего тебе в Rust не хватает?
Аноним 04/08/20 Втр 00:49:56 1767829126
>>1767813
Прямо сейчас пишу на С++11 на работе, и это я ещё удачно договорился.
Аноним 04/08/20 Втр 00:54:26 1767831127
>>1767829
Проиграл с "удачно договорился". У нас ни одно проекта даже на С++14 уже нету.
Аноним 04/08/20 Втр 01:02:26 1767835128
>>1767829
Ну, что могу сказать - удачи, и не забывай писать ::type после enable_if
Аноним 04/08/20 Втр 01:05:33 1767837129
>>1767814
Чё? Ничего не понял ( ну кроме, понятное дело, header only )
Аноним 04/08/20 Втр 01:11:58 1767842130
>>1767813
Круто. Я тоже свои хеллоу ворлды на 17 пишу, а на работе 11.
Аноним 04/08/20 Втр 01:38:49 1767849131
В чем проблема перевести рабочие проекты на cpp17?
Аноним 04/08/20 Втр 02:18:00 1767864132
Аноним 04/08/20 Втр 08:38:37 1767930133
Аноним 04/08/20 Втр 09:19:13 1767938134
>>1767864
Если уж по чесноку, то эти изменения скорее всего у тебя никак не проявятся. Да и ищутся такие места простым поиском по исходникам.
Аноним 04/08/20 Втр 09:25:58 1767940135
>>1767938
Ну да. Берем один стандарт, другой, и делаем diff. И вывод суем в grep. По миллиону строк исходников. Так проекты на новые сипласпласы и переводят.
Аноним 04/08/20 Втр 10:08:08 1767952136
>>1765587 (OP)
Сап, анон. Какой есть самый адекватный способ передачи произвольных контейнеров определенного типа в функции? Через итераторы? Можете привести пример?
Аноним 04/08/20 Втр 10:10:45 1767955137
>>1767952
> произвольных контейнеров определенного типа
Ты уж определились

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

Class object = Class()
и
Class object();
Аноним 04/08/20 Втр 12:15:33 1768058142
>>1768055
Первое не скомпилится без точки с запятой. В остальном одно и тоже.
Аноним 04/08/20 Втр 12:15:50 1768060143
Аноним 04/08/20 Втр 12:18:16 1768061144
image.png (34Кб, 678x570)
678x570
image.png (6Кб, 614x76)
614x76
>>1768058
Вот я прикрепил код, который у меня примеррный.

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

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

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

Person bob();
bob();

Получишь ошибку линкера, а не ошибку компилятора. Потому что декларация есть, а тела функции нет.
Аноним 04/08/20 Втр 12:26:28 1768075151
>>1768069
>Объявление функции object, не принимающая параметров и возвращающая объект Class.
А разве мы можем объявлять саму функцию в структурном блоке?... Я думал можно только указатель на неё.
Аноним 04/08/20 Втр 12:29:53 1768077152
>>1768075
"Объявить" можно всё что угодно
Аноним 04/08/20 Втр 12:29:59 1768078153
>>1768075
Можем. Welcome to C. Инджой ёр стэй.
Аноним 04/08/20 Втр 12:35:19 1768082154
>>1768078
Бля, точно, мы же пишем иногда перед main блоком хуиту навроде
void pidor()
main...
void pidor() {}
>>1768077
Спасибо вам всем большое кто отвечал мне, вы даже меня не обоссали, я удивлён.
Аноним 04/08/20 Втр 13:07:55 1768103155
Аноны, как в WinAPI вкатится? Сам имею опыт только с QT и QML.
Аноним 04/08/20 Втр 13:22:30 1768122156
>>1768103
открываешь MSDN и читаешь
Аноним 04/08/20 Втр 15:06:46 1768233157
Аноним 04/08/20 Втр 19:46:16 1768492158
1596559577921.PNG (14Кб, 473x321)
473x321
Qt Creator мне каждый раз при новом проекте предлагает запилить деструктор для мейн класса. Но я его удаляю обычно, т.к. лень писать. Чем это чревато для моих программ?
Аноним 04/08/20 Втр 19:49:04 1768495159
>>1768492
Вроде ничем, там все равно вызовется у базового.
Аноним 04/08/20 Втр 20:30:32 1768521160
Допустим, я наследую у абстрактного класса. в С++
Что будет, если я при переобъявлении методов этого абстрактного класса не напишу const override позади них?
Аноним 04/08/20 Втр 20:36:54 1768525161
>>1768521
Ничего, просто проверки не будет.
Аноним 04/08/20 Втр 20:37:39 1768526162
Аноним 04/08/20 Втр 20:42:41 1768527163
В чем смысл исключений? Почему нельзя на if'ах тоже самое сделать?
Аноним 04/08/20 Втр 20:51:32 1768529164
>>1768525
Override - это компайл-тайм проверка на то, что ты оверрайдишь метод класса в наследнике.

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

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

>>1768527
При правильном использовании - это гораздо более мощная фича, позволяющая писать короче и красивее. При неправильном - пиздец.
Аноним 04/08/20 Втр 21:35:31 1768538165
Аноним 04/08/20 Втр 21:37:14 1768539166
>>1768527
if работает только внутри данной функции. Прикинь тебе все функции придется оборачивать в тонны if. Но вообще сейчас в сторону возврата туплы смотри. [result, error_code] = some_foo();
Аноним 04/08/20 Втр 22:09:38 1768546167
Аноним 04/08/20 Втр 22:16:34 1768550168
На что влияет здесь const?
int & const r2
Что поменялось бы если бы const не было?
Аноним 04/08/20 Втр 22:18:52 1768551169
Аноним 04/08/20 Втр 22:20:30 1768553170
Аноним 04/08/20 Втр 22:27:27 1768554171
if (int& const == const int&)
{
    std::cout << "Спасибо.";
}
Аноним 04/08/20 Втр 22:41:49 1768561172
>>1768550
это же вообще не компилится, алло
Аноним 04/08/20 Втр 22:44:50 1768564173
>>1768550
const int & — норм
int const & — норм (то же самое)
int & const (как ты написал) — не допустимо.
Аноним 05/08/20 Срд 00:00:42 1768591174
>>1768527
Сделай свои exceptions на longjump, сравни. Только так чему-то можно научиться по настоящему.
Аноним 05/08/20 Срд 00:25:07 1768598175
Аноним 05/08/20 Срд 01:11:18 1768607176
>>1768103
#include <windows.h>

Не благодари
Аноним 05/08/20 Срд 09:54:24 1768705177
>>1768527
Это синтаксический сахар над longjmp + if.
Аноним 05/08/20 Срд 10:13:59 1768711178
Вот была бы книга, где рассмотрен весь язык, со всей стандартной либой. Чтобы страниц тысячи три.
Аноним 05/08/20 Срд 10:34:28 1768719179
>>1768711
Да, там слово Стандарт ещё на обложке.
В моей молодости подобные книжки были страниц 200.
Аноним 05/08/20 Срд 11:12:54 1768743180
Аноним 05/08/20 Срд 11:43:26 1768785181
>>1768711
Можешь купить оффициальный стандарт
Аноним 05/08/20 Срд 13:10:50 1768893182
Как вкатиться джуном/стажером в москве? Уже год ищу хоть какую-нибудь работу, везде либо отказ, либо просто не отвечают. Даже на заводы и нии просился.
Аноним 05/08/20 Срд 13:48:26 1768944183
>>1768893
На крестах нет работы для джунов (есть только для обладателей связей). 99.9% работы на крестах в продакшене требуют знаний как минимум миддла, который почти синьор. С++ - худший ЯП для вката.
Тебя могут пригласить на собес, если у тебя есть очень серьезные личные байтоебские проекты (своя ОС, свой игровой движок, компилятор, эмулятор процессора - нужное подчеркнуть), но если не повезет и в то же время у них будет собеседоваться пчел с 10-ью годами коммерческого опыта разРАБотки на крестах - тебя пошлют нахуй. Се ля ви.
Аноним 05/08/20 Срд 13:58:33 1768977184
Аноним 05/08/20 Срд 13:59:10 1768979185
Аноним 05/08/20 Срд 14:03:52 1768985186
>>1768979
> опыт разработки в Qt на С++ под Windows/Linux;
> уверенные знания С++, STL
> знания ООП.

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

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

А ты и половины слов в этой вакансии не знаешь небось, зато выебнулся про лайтовенькость
Аноним 05/08/20 Срд 15:33:04 1769162190
Почему так сложна?

Скачал 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 1769164191
>>1769161
> опыт разработки в Qt на С++ под Windows/Linux;
> уверенные знания С++, STL
> знания ООП.

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

Она просто работает из коробки, поставь ее и не еби голову.
Аноним 05/08/20 Срд 15:35:41 1769168193
>>1769162
Может у тебя CodeBlocks установлен в папке с кириллицей в пути?
Аноним 05/08/20 Срд 15:40:28 1769177194
>>1768944
Пиздежь и провокация. Работу нашёл с первого раза, через пять лет уже сам набираю в команду джунов. а других нет
Аноним 05/08/20 Срд 15:41:52 1769181195
>>1769166
У меня стоит VS2019. Я захотел попробовать SFML, а там на сайте нет либ для этой студии (есть для 2013, 2015, 2017) и написано, что разные версии не совместимы. Была еще версия для кодеблокс, и я решил ее попробовать.
Аноним 05/08/20 Срд 15:43:02 1769184196
>>1769181
Начиная с 2015 совместимы, но не наоборот
Аноним 05/08/20 Срд 15:43:44 1769186197
>>1769181
Бери для 2017 или 2015 - взлетит
Аноним 05/08/20 Срд 15:45:07 1769187198
>>1769168
Установлен в C:\Program Files. Есть пробел, но он сам предлагает туда устанавливаться.
Аноним 05/08/20 Срд 15:46:38 1769189199
>>1769181
Собери сам, собирал недавно, всё ок.
Аноним 05/08/20 Срд 15:48:33 1769193200
>>1769177
Что вы разрабатываете?
Аноним 05/08/20 Срд 15:49:01 1769194201
Аноним 05/08/20 Срд 15:50:34 1769196202
>>1769164

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

Ты тупой? Сам же написал.
Ща бы вкатываясь в плюсы стремиться "знать" какую-нибудь хуйню типа метапрограмминга, а о сетях и многопоточке просто "иметь представление". Складывается такое ощущение, что ХР нагуглила базвордов и разместила это гавно не особо заморачиваясь согласованием с разрабами
Аноним 05/08/20 Срд 15:57:02 1769200203
>>1769193
средства 3d моделирования
Аноним 05/08/20 Срд 17:28:02 1769251204
>>1769177
Скольким дедам отсосал чтобы пробиться в тимлиды?
Аноним 05/08/20 Срд 20:08:22 1769337205
>>1769251
Если уж проводить такую аналогию, то получается, что удалил два ребра
Аноним 05/08/20 Срд 20:46:07 1769367206
>>1769251
Только одному. Ему тоже не зашло.
Аноним 05/08/20 Срд 22:10:05 1769420207
>>1769162
Должен быть в C:/MinGW/include
Аноним 05/08/20 Срд 23:30:15 1769468208
Аноним 06/08/20 Чтв 00:13:52 1769487209
Сап, есть один абстрактный класс, а в нем есть ЧВМ, возвращающей указатель на объект абстрактного класса (в моей задумке для возврата объектов классов-наследников). Но трабла в том, что VS пишет, что функция, помеченная override в классе-наследнике не переопределяет функцию класса-родителя.
ЧЯДН?
Аноним 06/08/20 Чтв 00:14:09 1769488210
Аноним 06/08/20 Чтв 00:31:39 1769498211
>>1769488
точки с запятой после обоих классов?
Аноним 06/08/20 Чтв 01:57:26 1769514212
>>1769487
Ты это, следи еще за типом возвращаемого значения, потому что зачастую в переопределенных методах надо возвращать ссылку на дочерний класс.

ПС орнул с названия метода в коде
Аноним 06/08/20 Чтв 02:28:28 1769525213
>>1769498
Это иллюстрация просто была, точки с запятой на месте.
>>1769514
Трабла оказалось, наоборот, в значении аргумента.
У меня в родительском классе есть статическое перечисление, которое и является аргументом метода pidoras.
Проблема в том была, что я не указывал полный путь к перечислению (имя базового класса::enum name)
Аноним 06/08/20 Чтв 03:38:35 1769532214
>>1769498
Странно, что про точки с запятой ты написал, а про то, что ЧВМ с модификатором доступа private по-умолчанию (private не наследуется) ты не написал.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов