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


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

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
596 40 174

C++ тред #106 /cpp/ Аноним 08/03/20 Вск 00:17:25 16269371
1527254189887.png (68Кб, 918x1032)
918x1032
1450033743366.png (28Кб, 862x433)
862x433
1581744864392.png (257Кб, 500x808)
500x808
Аноним 08/03/20 Вск 00:44:23 16269622
08/03/20 Вск 01:14:44 16269683
>>1626937 (OP)
> Good night, sweet prince 1950-2020
Пруфы то будут?
Аноним 08/03/20 Вск 02:14:08 16269904
Что значит "Знание стека протоколов ...", часто встречаемое в плюсовых вакансиях? Что почитать по теме, как практиковаться?
Аноним 08/03/20 Вск 02:17:25 16269915
>>1626990
Значит нужно хорошо изучить спецификации указанных протоколов и написать их достаточно эффективные реализации.
Аноним 08/03/20 Вск 03:28:18 16270266
Только решил написать хеллоу ворлд на крестах и тут такое
RIP
Аноним 08/03/20 Вск 03:42:03 16270277
Аноним 08/03/20 Вск 03:52:37 16270298
Аноним 08/03/20 Вск 03:59:41 16270329
>>1627027
Лол, я без твоего поста даже не понял, что эти высеры про смерть плюсов. Мне кажется, это один шиз пишет.
Аноним 08/03/20 Вск 08:41:25 162706810
mVuJOsnR6lc.jpg (97Кб, 720x720)
720x720
Аноним 08/03/20 Вск 09:16:14 162707011
>>1627068
они понимают какая ерунда плюсы и начинают кодить на джаваскрипте?
Аноним 08/03/20 Вск 09:37:44 162707312
Зачем так рано перекат?
Аноним 08/03/20 Вск 09:47:06 162707413
Аноним 08/03/20 Вск 10:23:23 162709514
Анон, а какие GUI библиотеки ты используешь? Какие самые топ, а какие самые днищенские, что ты встречал за все время использования?
Аноним 08/03/20 Вск 10:39:53 162711015
Аноним 08/03/20 Вск 11:04:12 162712916
>>1626968
Комитет планирует поломать ABI в следующих версиях языка
Аноним 08/03/20 Вск 11:05:19 162713017
>>1627129
Может хоть просруться наконец со своим легаси.
Аноним 08/03/20 Вск 11:09:14 162713318
>>1627130

>просруться
А просрался по итогу я. (
Аноним 08/03/20 Вск 11:15:05 162713719
>>1627129
Как будто у крестов когда-то был совместимый ABI.
Аноним 08/03/20 Вск 11:27:08 162714520
>>1627110
Это графические библиотеки, хочу выучить какую-нибудь, но их довольно много и хз с чего начать
Аноним 08/03/20 Вск 12:19:37 162717721
>>1627129
1950 - это рождение Страуструпа, а не языка.
Аноним 08/03/20 Вск 12:21:11 162717822
>>1627145
>графические библиотеки
OpenGL тогда.
Аноним 08/03/20 Вск 12:23:52 162718123
Screenshot2020-[...].png (63Кб, 1177x635)
1177x635
На крестах нет работы. Вот пруф. Если все остальные языки примерно одинаково набирают популярность в рабочие дни и теряют в выходные, то у крестов эта кривая гораздо более сглаженная. В рабочие дни его вон гуглят намного реже, чем C#, но при этом в выходные дни даже немного чаще. Потому что язык для фана/обучения, а не продакшна.
Аноним 08/03/20 Вск 12:25:42 162718224
>>1627181
>C Sharp
Почему его так любят студенты? Это же говно с большой буквы
Аноним 08/03/20 Вск 12:27:21 162718325
>>1627181
Потому что та же Джава, только лучше во всём.
Аноним 08/03/20 Вск 12:27:47 162718526
Аноним 08/03/20 Вск 12:38:25 162720127
Аноны, сейчас читаю правила чистого кода, и тут мне попалась такая конструкция как "else if".

Вопрос - она сейчас как-то применяется? Я вместо нее всегда пишу просто if. Или тут дело в чистом стиле, и писать "else if " больше надо не для компилятора, а для других людей, которые в будущем будут читать твой код? Нахуй нужен этот else if короче?
Аноним 08/03/20 Вск 12:44:20 162721028
>>1627201
Это совершенно разная логика
Без else все твои if будут проверяться всегда.

Сравни
If(a==0)...
if(b==0)...

И
if(a==0)...
else if(b==0)...
Аноним 08/03/20 Вск 12:44:40 162721229
>>1627201
if (true) {
....выполняется
}
else if (true) {
....игнорируется
}

без else второй блок тоже выполнялся бы
Аноним 08/03/20 Вск 12:50:28 162721630
Аноним 08/03/20 Вск 12:55:18 162722731
>>1627095
Qt вроде популярен для программ с GUI.
Аноним 08/03/20 Вск 12:58:43 162723132
Аноним 08/03/20 Вск 13:07:08 162724233
Есть ли у Qt будущее?
Аноним 08/03/20 Вск 13:09:12 162724434
>>1627181
Этот график показывает только то, что %языкнейм% гуглят чаще, чем цпп. Что как бы наводит на мысли о том, что цпп-кодер загуглил и нашел работу, а питоноблядь будет каждый день гуглить, пока его не возьмут на стажировку
Аноним 08/03/20 Вск 13:09:35 162724535
>>1627181
Когда занимаешься плюсами, то не нужно гуглить, ведь есть всеобъемлющий cppreference.
Аноним 08/03/20 Вск 15:13:19 162743636
>>1627095
Пока никакие, поглядываю на nuklear
Аноним 08/03/20 Вск 16:00:23 162751137
>>1627129
Каким образом? В любом случае это проблема решается старым добрым враппером.
Аноним 08/03/20 Вск 16:02:28 162751538
>>1627095
UWP очевидно, все остальное не нужно.
Аноним 08/03/20 Вск 16:05:45 162752339
Аноним 08/03/20 Вск 16:12:05 162752840
>>1626991
Ну реализации это может и перебор (это чаще для ПЛИСоводов), но все подводные места надо знать
Аноним 08/03/20 Вск 16:21:04 162753941
Аноним 08/03/20 Вск 16:35:42 162755642
>>1627539
>WPF через C++/CLI
Это лучше windows forms?
Аноним 08/03/20 Вск 17:28:08 162759543
Аноним 08/03/20 Вск 17:52:00 162764744
Вчера смотрел видос с какой-то конфы, там была статистика по плюсам. Так вот в мире всего 4млн людей пишет на плюсах, 4млн КАРЛ! Это же пиздец как мало! И что самое главное ~1млн это прогеры из СНГ. И главное, докладчик отметил, что в СНГ самое высокое качество кода в мире. С++ можно смело называть РУССКИМ языком программирования!
Аноним 08/03/20 Вск 18:05:06 162766545
>>1627647
4 миллиона, это 0.05% человечества? Такое количество программистов вообще существует?
Аноним 08/03/20 Вск 18:54:34 162772246
>>1627647
>С++ можно смело называть РУССКИМ языком программирования
#define бля ;
return (x+y+u) бля
Аноним 08/03/20 Вск 21:43:25 162795947
Как писать правильный код без ошибок с первого раза? Код работает так как надо, только после пошаговой отладки. В реальных крупных проектах, как я понимаю, дебажить не выйдет.
Аноним 08/03/20 Вск 22:24:43 162799548
>>1627959
>Как писать правильный код без ошибок с первого раза?
Никак.
Аноним 08/03/20 Вск 23:09:39 162805149
>>1627959
В крупных проектах есть тесты
Аноним 08/03/20 Вск 23:12:33 162805550
>>1627959
Опыт.
Сначала хэллоуворлд без ошибок, потом научишься и крупные вещи нормально писать.
Аноним 08/03/20 Вск 23:57:36 162811751
Аноним 09/03/20 Пнд 00:43:50 162816252
>>1627959
Попробуй писать на скорость. Выбираешь мелкую задачу минут на 5..40, которую знаешь как делать (без такого, что тебе нужно листать документацию, смотреть схемы или ещё чего), и буквально по секундомеру засекаешь время стараясь успеть за минимальное. Запускать код можно только один раз (или несколько, если в задаче есть хорошо выделенных этапов - по разу на этап), точнее, после запуска его нельзя изменять, только проводить тесты и проверки. Если не получилось - удаляешь всё. После неудачной ошибки к этой же задаче можно возвращаться только через некоторое количество других задач.
Из-за того что цена ошибки выше (нужно полностью переписывать всё) через некоторое время у тебя будет рефлекторная реакция, выработается так сказать аллергия на ошибки.
Но это помогает только от глупых ошибок, вроде < вместо <=. А ещё я с дивана говорю и у меня только мой опыт есть, ничего лучше чем попробовать предложить не могу.
Аноним 09/03/20 Пнд 00:49:55 162816753
>>1627556
WPF таки лучше чем формочки
А как это через CLI - хз. Пиздец это изврат

Мимодругойанон
Аноним 09/03/20 Пнд 18:19:57 162874654
Не знаю, где еще спросить, спрошу у вас.
Нуб, программирую ардуино. Как бы вы сделали счетчик в интервале 0-n с изменяемой скоростью?
Я видел, как человек делал его через остаток от деления millis/скорость на n. Но мне этот вариант не подходит.
Сам бы я сделал через n++ и delay(скорость).
Еще есть вариант сделать таймер через millis - millis, и если он будет больше скорости, тогда n++
Какие еще есть варианты?
Аноним 09/03/20 Пнд 18:51:28 162881655
Аноним 09/03/20 Пнд 20:19:07 162892556
>>1627095
Раньше писал на MFC. Вот уж дно дна (но по-любому есть хуже, как всегда)
Аноним 09/03/20 Пнд 20:22:35 162892957
>>1627242
я с 2009 года на нем, развивается он постоянно, очень удобно, но работу проще найти в связке с++ + STL, рынок ку тэ это на 70% госниипараши.
Аноним 09/03/20 Пнд 20:23:08 162893058
>>1628746
Инкрементировать счётчик в прерываний аппаратного таймера и менять скорость счёта таймера в регистрах.
Аноним 09/03/20 Пнд 20:33:40 162893259
>>1628925
>но по-любому есть хуже, как всегда)
Чистый винапи же.
Аноним 09/03/20 Пнд 20:45:23 162894260
>>1628932
>>но по-любому есть хуже, как всегда)
>Чистый винапи же.
Ну мы всё же про фреймворки. А так он как раз и плох (но при этом внезапно иногда и хорош) в том числе тем, что отовсюду торчит винапи (модель сообщений в основном, и модель окна (HWND))
Аноним 10/03/20 Втр 00:49:49 162912761
Антох, сижу полгодика без работы, посоветуй чего бы такого поковырять.
Qt - как-то разлюбил, благо стандартная библиотека встает с кален. Каждый раз нужно все больше поводов включать Qt в проект.
boost:: - не ковырял ни разу, но, как я вижу, в прям серьезных местах серьезные дядьки хотят именно boost. Как думаешь, стоит? А хули там полезного осталось - ASIO, BEAST?
Еще с базами никогда серьезно не работал, так уж жизнь сложилась. Что бы ты посоветовал? Postgres для кровавого интерпрайза и SQLite для себя любимого?
gRPC - твое мнение об этой поеботе? Как по мне, так шок, качественно сделано. Аж уважением к Гуглу проникся. Хочется приехать к офису в Сан Франциско и кинуть им зигу. Не, наверняка там камни подводные есть помимо того что бинарь из мегабайта разрастается до десяти, я промышленно не применял, вот и спрашиваю тебя.
Аноним 10/03/20 Втр 01:24:38 162913862
>>1629127
Напиши что-нибудь, что никогда не писал. Начиная от ублюдочной сетевой игры, заканчивая искалеченным 1C, например.

И старайся использовать как раз те либы, которые не знаешь
Аноним 10/03/20 Втр 01:58:27 162914763
Аноним 10/03/20 Втр 02:47:32 162916664
15700155417070.png (181Кб, 535x466)
535x466
Аноны, а та гитхабе есть какая-то система ботов, которые автоматически скачивают твои проекты, чтобы проверить на копирайт? Или кто эти люди, что качают мои проекты?
Недавно кстате увидел, что на меня фоловнулась хр местной компании, каковы могут быть ей мотивы?
Аноним 10/03/20 Втр 08:41:39 162923065
>>1629166
Забей, это MS очередной проект убивает геймифиуирует
Аноним 10/03/20 Втр 19:35:32 162959866
Дальше, если хочешь быть соверешенным тогда делай так. И конечго дело не в бгаотсвте а в отношении в нему. и человек который почутвствлат это пирзанние, он рди этого призвания оставляет все, потму что надо. Многи наши прихожане могут подумать, уменя нет богатсва, я еле еле концы с концами свожу. Нет
Аноним 10/03/20 Втр 19:51:47 162960667
У меня есть два разных класса, каждый из которых может иметь некоторое одинаковое количество объектов. По задания надо сделать "массив пар этих объектов" в другом классе. Что такое "массив пар объектов"? Как его сделать, если он только один, а класса надо записать в него два?
Аноним 10/03/20 Втр 20:00:12 162960968
>>1629127
> А хули там полезного осталось - ASIO, BEAST?
Spirit ничего так (по крайней мере в ипостаси Qi), давно пользовался
Всякие MPL. Fusion и Hana. Лично видел, как на них творятся чудеса точнее, нечитаемый ёбаный пиздец
Аноним 10/03/20 Втр 20:24:29 162962069
36319original.jpg (76Кб, 400x265)
400x265
Аноним 10/03/20 Втр 20:25:58 162962270
>>1629606
struct pair
{
A a;
B b;
};

pair arrayOfPairs[100];
Аноним 10/03/20 Втр 20:28:06 162962471
>>1629622
А препод мне почему-то на это сказал, что структура не нужна.
Аноним 10/03/20 Втр 20:28:34 162962572
Так, ананасы
Есть какая-нибудь либа для форматирования? Желательно состоящая из одного заголовочного файла
fmt не предлагать, проект маленький
Её такую тащить ни к чему
Аноним 10/03/20 Втр 20:29:37 162962673
>>1629625
Форматирования чего? Текста? Диска? Твоего мозга?
Аноним 10/03/20 Втр 20:30:19 162962774
Аноним 10/03/20 Втр 20:31:18 162962875
>>1629627
Сам такую и напиши.
Аноним 10/03/20 Втр 20:31:22 162962976
Сап. Разбираюсь с чужой программой, и у нее странное поведение. релизный билд работает так, что никаких вопросов нет. Дебажный же выдает эксепшен при работе с одним из векторов: выход за границы. Проверяю все и действительно так, код работать не может. Но в релизе работает. Это как так? Никаких обработчиков исключений нигде нет.
Аноним 10/03/20 Втр 20:32:55 162963177
>>1629624
Юнион? std::pair? Хз что он имел в виду.
Аноним 10/03/20 Втр 20:36:15 162963278
>>1629631
Я думаю, он просто ебанутый.
Аноним 10/03/20 Втр 20:40:42 162963579
>>1629629
Ты просто ходишь по чужой памяти. В дебаг рантайме есть проверка, в релиз нет, только и всего. То, что оно работает - случайность. Аллокатор так выделил блоки, рядом лежит что-то, что тебе не нужно, на стеке как-то всё сложилось так - всё что угодно. В другой момент тебе будет выдан вектор на конце страницы, а следующая будет без прав на чтение/запись - там и в релизе упадёшь.
Аноним 10/03/20 Втр 20:41:51 162963780
>>1629629
Он портит память, которая по случайному стечению обстоятельств не используется. А может используется, например ты перезапишешь какие то чужие переменные, а потом порченые данные запишутся в файл.
Аноним 10/03/20 Втр 20:43:04 162963881
Аноним 10/03/20 Втр 22:27:31 162969682
image.png (88Кб, 1366x768)
1366x768
Аноним 10/03/20 Втр 23:00:32 162971983
boost::mp11::find_if
Почему для пустого списка возвращается 0? Теперь каждый раз проверять, что список не пустой что-ли?

Хочу что-то вроде
std::tuple<TYPELIST> myTuple;
for_each (TYPE : TYPELIST)
{
if constexpr (TYPE::can_use<T>)
return std::get<indexof<TYPE, TYPELIST>>(myTuple).Use(T{});
}
return false;
Аноним 11/03/20 Срд 00:10:08 162975484
Аноним 11/03/20 Срд 11:54:45 162998985
image.png (37Кб, 259x194)
259x194
image.png (78Кб, 1002x872)
1002x872
image.png (36Кб, 248x784)
248x784
Анон, спаси от дурки.
Какого блять хуя это происходит, где мой перехват ошибки, блять почему он не дает мне ошибку, а дает ебать несуществующие ячейки вектора выводить, у меня кукуха нахуй сейчас слетит блять.
Был опыт программирование лишь на си, там такого ни разу не встречал, я не знаю с чем это связано и вообще пиздец.
Аноним 11/03/20 Срд 12:09:35 162999986
>>1629989
Ну даёт и даёт, а хули нет, платить лишними проверками за безопасность что ли, да нахуй оно надо, шарпистам вон оставь.
Аноним 11/03/20 Срд 12:19:11 163000587
>>1629999
Так это....там устойчивость программы...всякое такое...разве не через тысячи проверок безопасности устроены нормальные программы? (захотел блять работать на с++, ага щас мне, обоссали уже на try cath ебать).
Аноним 11/03/20 Срд 12:27:02 163000788
Аноним 11/03/20 Срд 12:33:35 163000989
>>1630007
а че такое "ржавая" версия?
Я просто лишь начинаю изучать, я не понимаю часть сленга с++'ного.
Аноним 11/03/20 Срд 12:37:25 163001290
1.jpg (21Кб, 680x480)
680x480
Аноним 11/03/20 Срд 12:41:12 163001891
1513808026518.png (31Кб, 1054x336)
1054x336
>>1629989
RTFM. С чего ты решил что доступ по [] тровает?
Аноним 11/03/20 Срд 12:43:01 163002092
Аноним 11/03/20 Срд 12:49:04 163003393
Аноним 11/03/20 Срд 12:55:48 163003894
>тровает
ого, да у вас тут кузница ориджинал контента
Аноним 11/03/20 Срд 13:05:37 163004895
Потровал бы анончика под пледиком :3
11/03/20 Срд 13:07:03 163004996
>>1630038
Делаем pr великим снова.
Аноним 11/03/20 Срд 13:07:53 163005097
>>1630018
>>1630020
Спасибо.
Я лишь начал изучать и думал тут как в си, т.е. доступ к элементу лишь по [].
Пора читать документацию, а не книжку страуструпа.
Аноним 11/03/20 Срд 13:14:34 163005698
>>1630020
>>1630018
У меня Некст платиновый вопрос.
А в чем существенная разница использовать at() и [] для векторов? Т.е. я хочу узнать могу ли я полностью отказаться от [] и перейти полностью на at? или это потребляет больше ресурсов и времени?
Аноним 11/03/20 Срд 13:31:22 163007199
1544381739030.png (33Кб, 707x451)
707x451
>>1630056
Конечно медленнее, вон раза в два больше инструкций
Аноним 11/03/20 Срд 13:35:02 1630076100
>>1630056
я перешел, безопасность важнее миллипиздических оптимизаций
[] использую только в ассоциативных контейнерах, где он создает элемент
Аноним 11/03/20 Срд 13:48:03 1630096101
>>1630071
А где ты такой дизассемблер нашел? Что за программа?
Аноним 11/03/20 Срд 13:50:13 1630101102
Аноним 11/03/20 Срд 14:09:16 1630136103
>>1630076
>безопасность важнее миллипиздических оптимизаций
Ты тредом ошибся.
Аноним 11/03/20 Срд 14:16:52 1630142104
>>1630076
Безопасность от чего, от метеорита? Пиши нормально, нормально будет. Если у тебя цикл от 0 до N и ты не меняешь вектор во время цикла, то проверку N надо провести всего один раз, а не на каждом доступе.
Аноним 11/03/20 Срд 14:20:12 1630148105
>>1630136
это ты тредом ошибся, дружок-пирожок, си-тред два блока вниз

>>1630142
придет петрович и поменяет, а потом удивляемся, почему спутники падают
Аноним 11/03/20 Срд 14:21:19 1630149106
>>1630148
Ну упадет твой спутник с эксепшном, а не с рантайм еррор, так легче сразу стало.
Аноним 11/03/20 Срд 14:22:25 1630150107
>>1630149
ты на тестах увидишь исключение, а иначе будет как у него >>1629989
Аноним 11/03/20 Срд 14:24:08 1630154108
>>1630150
Тесты не помогут, если ими не покрыли какой-то диапазон величин.
Аноним 11/03/20 Срд 14:38:57 1630168109
Вкатываюсь в С++ в Си уже вкатился базово(всё это было ради С++).

Сам планирую вкатываться по книжке 4-го издания Бьёрна Страуструпа. Но мне тут на уши пресели чтобы я покупал ёба курс в Coursera за 300кк, мол там гораздо больше полезной и практической инфы.

Скажите что лучше книжка или этот курс? Я подсознательно думаю, что не стоит слушать никого и читать книгу, а не платить 5к за поверхностные знания с этой coursera.
Аноним 11/03/20 Срд 17:00:49 1630272110
>>1630150
Блядь, а написать тест, который проверяет, чтобы какой-нибудь Петрович случайно не поменял N нельзя было?
Аноним 11/03/20 Срд 17:14:44 1630285111
>>1630272
unknown location(0): fatal error: in "test_range": KOMU SKAZAL SUKA NE TROGAT N PETROVICH TEBE PIZDA
Аноним 11/03/20 Срд 17:17:19 1630291112
>>1630285
- михалыч, там чето тровает, ты посмотри
Аноним 11/03/20 Срд 18:23:10 1630371113
>>1630168
си++ и программирование на си++ совершенно разные вещи. Может быть в страуструпе и написано, что такое си++, но вот зачем все это нужно, там нихуя не написано.
Аноним 11/03/20 Срд 19:04:20 1630410114
>>1630371
как ты будешь знать зачем нужно си если ты не знаешь что такое си?
Аноним 11/03/20 Срд 21:15:56 1630520115
>>1630371
Где почитать, зачем нужно?
Аноним 11/03/20 Срд 22:23:32 1630555116
Что можно запилить интересного на крестах? Я вот думал о компиляторе крестовом, который бы работал как просто си с крестами, но чето может другое есть. Операционку свою может, хотя их и так дохуя, по сути.
Мысли, господа?
Аноним 11/03/20 Срд 22:47:14 1630571117
>>1630555
Протектор PE-файлов с виртуализацией кода
Аноним 11/03/20 Срд 23:22:20 1630598118
>>1630571
Ну и мразь же ты, такое предлагать.
Аноним 12/03/20 Чтв 12:26:08 1630904119
>>1630555
Сделай морской бой
Аноним 12/03/20 Чтв 15:44:55 1631091120
Привет, анон. Почему к методам объекта класса в массиве можно обращаться без индекса через указатель ->? То есть
massiv->metod();
это то же самое, что и
massiv[0].metod();
Нахуй это нужно? Почему так вообще можно делать?
Аноним 12/03/20 Чтв 15:51:08 1631106121
>>1631091
Потому что легаси массив декеится в указатель на первый элемент - наследие си. Не используй легаси массивы.
Аноним 12/03/20 Чтв 15:52:16 1631108122
>>1631106
Чё? Какой ещё легаси?
Аноним 12/03/20 Чтв 16:05:37 1631130123
>>1631108
Тот, который ты используешь.
Аноним 12/03/20 Чтв 20:57:33 1631365124
>>1631106
>Не используй легаси массивы

Кроме утечек есть причины не использовать?
Аноним 12/03/20 Чтв 20:58:29 1631369125
>>1631365
Приятная семантика
Аноним 12/03/20 Чтв 20:59:00 1631371126
Аноним 12/03/20 Чтв 21:02:15 1631377127
>>1631369
>Приятная

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

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

На данный момент я использую самописную вариацию массивов, они у меня в разы удобнее.

Из минусов только отсутствие шаблонов, но я их уже использовал, неприятно потому что медоты для разных типов не всегда применимы, ну ещё и отладка. Либо я просто мало знаю.
Аноним 12/03/20 Чтв 21:09:20 1631384128
>>1631377
> Это ты про то, что тот же вектор может сожрать любой тип?
Я так и не понял о чём ты, но я имел ввиду то, что работа с std::array гораздо удобнее чем с сишным массивом.

std::array values = { 10.5, 15.7, -3.0 };
for (auto val : values)
print(val);

против сишного
double values[] = { 10.5, 15.7, -3.0 };
for (size_t i = 0; i < 3; ++i) // 3? А хули три а не десять?
print(values);
Аноним 12/03/20 Чтв 21:11:42 1631387129
>>1631371
Обычный, например созданный через new

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

>>1631384
Теперь понял
Аноним 12/03/20 Чтв 21:17:34 1631391130
>>1631384
>против сишного
>double values[] = { 10.5, 15.7, -3.0 };
>for (size_t i = 0; i < 3; ++i) // 3? А хули три а не десять?
>print(values);


И да, я так никогда их не создаю, это странно как минимум

int Length = 10;

int *Array;
Array = new int [ Length ]
for( int i = 0; i < Length; i++ )
{
Array[ i ] = 0;
}

Ну и далее там описать доступ к элементам с проверкой, но без блядского сообщения, что оп, а вы лезете не туда с обрушением всего и вся.
Аноним 12/03/20 Чтв 21:29:11 1631407131
>>1631391
>Array = new int [ Length ]
Бэд практис
Аноним 12/03/20 Чтв 21:31:21 1631409132
>>1631391
Ты так напишешь 99 раз, а на 100ый забудешь вызвать delete.
Если хочется проверок, пиши через .at(i) и лови исключение...
Аноним 12/03/20 Чтв 21:43:23 1631424133
>>1631409
Хуже, вызовет delete вместо delete [].
Аноним 12/03/20 Чтв 21:50:55 1631430134
>>1630168
C и C++ это не питон\джава\шарп\любая другая хуйня модная чтобы туда вкатиться по какому-то курсу. Здесь порог входа минимальный это смог ли ты осилить книжки Ритчи и Страуструпа. Вот сперва осиливаешь эти 2 книжки, потом ты уже можешь кидать какие-то понты что ты на с сями знаком.

Читай книжку Страуструпа, а деньги сееб оставь, эти курсы для домохозяек нахуй не нужны.
Аноним 12/03/20 Чтв 22:05:11 1631441135
почему у меня С++ так сильно ассоциируется с windows?
Аноним 12/03/20 Чтв 22:12:59 1631446136
Аноним 12/03/20 Чтв 22:15:50 1631449137
>>1631446
вот мне интеерсно. почему то пердоля у меня ассоциируется с питоном, а окна с с++
Аноним 12/03/20 Чтв 22:18:57 1631452138
>>1631449
На винде слишком сложно интерпретатор установить?
Аноним 12/03/20 Чтв 22:19:11 1631454139
>>1631449
у меня пердоля с джавой и пхп ассоциируется лол
Аноним 12/03/20 Чтв 22:20:20 1631455140
>>1631452
а нахуй на винде интерпретатор если есть visual studio?
Аноним 12/03/20 Чтв 22:23:34 1631457141
>>1631455
Ну вот и ответ. Для питона на винде нужна visual studio, которая, очевидно, будет совершенно не у всех; а для с++ все постоянно устанавливают по 3 версии Microsoft Visual C++ Runtime Library, поэтому она тебе в глаза и бросилась.
Аноним 12/03/20 Чтв 22:27:12 1631459142
>>1631457
да нет, питон на винду вообще легко устанавливается, модули на него тяжело ставить потому что там консольное управление и там этот пип постоянно выёбывается, модулей каких-то не достаёт часто, пердолиться надо много видимо отсюда и ассоциации с пердолей.

а на вот чтобы на с или с++ писать нужно визуалку ставить ну такое официальное средство бесплатное от микрософта.
Аноним 12/03/20 Чтв 22:31:44 1631467143
>>1631459
>да нет, питон на винду вообще легко устанавливается, модули на него тяжело ставить потому что там консольное управление и там этот пип постоянно выёбывается, модулей каких-то не достаёт часто, пердолиться надо много видимо отсюда и ассоциации с пердолей.
>а нахуй на винде интерпретатор если есть visual studio?
Я с двумя разными людьми разговариваю, или ты между сообщениями переобулся?
Аноним 12/03/20 Чтв 22:35:34 1631477144
>>1631467
а я не так то твоё сообщение прочитал, забей.
Аноним 12/03/20 Чтв 22:38:18 1631490145
>>1631391
Length = 10
Length++ //happy debugging motherfuckr
Аноним 12/03/20 Чтв 22:40:29 1631493146
>>1631490
напомни чем length++ от ++length отличается.
Аноним 12/03/20 Чтв 22:43:55 1631507147
>>1631384
>for (size_t i = 0; i < 3; ++i)

#define count(X) sizeof(X)/sizeof(X[0])

for (size_t i = 0; i < countof(values); ++i)
Аноним 12/03/20 Чтв 22:48:52 1631520148
>>1631493
Постфикс и префикс инкремент, же. В первом случае, сначала выполняется инструкция, а затем идет инкремент переменной, во втором случае - все с точностью да наоборот.
Аноним 12/03/20 Чтв 22:59:42 1631553149
>>1631507
Не, для легаси уже давно сделали костыль, недавно включили в стандарт.
double values[] = { 10.5, 15.7, -3.0 };
auto pr = [](std::span<double> container){
for (auto val : container)
print(val);
};
pr(values);
Аноним 12/03/20 Чтв 23:01:48 1631557150
>>1631520
cgfcb,j gjyzk/ спасибо, понял.
Аноним 12/03/20 Чтв 23:07:47 1631565151
>>1631553
Не нужно эта хрень еще будет ошибки компиляции на весь экран, если что-то не так пойдет.

Если можно обойтись сишным кодом, то им и нужно обходиться.
Аноним 12/03/20 Чтв 23:10:27 1631571152
>>1626937 (OP)
Кстати страуструп выглядит как настоящий и классический программист, а сейчас программистами называют всякое татуированное гавно с разноцветными фолосами хипстерское. АЙТИ строили такие как Страуструп, а не нормалфажные маньки. Тяночки блядь ещё в этом айти сидят, их прямо дохуя там стало.
Аноним 12/03/20 Чтв 23:12:53 1631575153
>>1631565
>Если можно обойтись сишным кодом, то им и нужно обходиться.
Мы вам перезвоним.
Аноним 12/03/20 Чтв 23:13:12 1631576154
>>1631565
>Если можно обойтись сишным кодом, то им и нужно обходиться.
Тогда может просто на с и писать?
Аноним 12/03/20 Чтв 23:14:27 1631581155
>>1631571
Тогда просто все так выглядели. Сейчас все по-другому выглядят. В будущем ещё какой-то вариант будет, и все будут выглядеть так, а отцы программирования будут
>татуированное гавно с разноцветными фолосами хипстерское
Аноним 12/03/20 Чтв 23:18:37 1631589156
>>1631581
лучше бы и сейчас все выглядили как страуструп. хоть на людей похожи будут.
Аноним 12/03/20 Чтв 23:29:56 1631601157
>>1631571
>АЙТИ строили такие как Страуструп, а не нормалфажные маньки
Тешь себя, на момент создания крестов у него уже два ребенка было.
Аноним 12/03/20 Чтв 23:31:05 1631605158
>>1631601
А у современных розоволосых дегенератов шаблонных детей нет они все как под копирку чайлдфри, так что всё логично.
Аноним 12/03/20 Чтв 23:37:37 1631613159
>>1631605
Тогда нормалфаги были дитясные, сейчас нормалфаги чайлдфри. В 18 веке они бы парики курчавые носили. Так работает мир.
Аноним 12/03/20 Чтв 23:43:21 1631618160
>>1631576
Иногда от С++ фич есть профит. Шаблоны, например, при всех их недостатков для контейнеров они нужны. ООП хорошо подходит для ГУИ.

Лучше всего писать на С++ в стиле С, используя плюсовые фичи в случае крайней необходимости.
Аноним 12/03/20 Чтв 23:48:01 1631627161
>>1631618
Ты бы еще на raw указателях в 2к20 пописал, долбоеб.
Аноним 12/03/20 Чтв 23:51:13 1631634162
>>1631571
Есличо, в 60-70х тян программистов было приблизительно столько же, сколько кунов. Тогда это не была отдельная профессия: ты занимался каким-то STEM-направлением, плюс приходилось программировать. Потом в 80х, когда это оформилось в отдельную специальность, её узурпировали всякие sci-fi бои и прочие нерды, и стало принято, что это чисто мужская задротская профессия. С одной стороны задроты создавали недружелюбную для тянок атмосферу изнутри индустрии, с другой стороны - хуёвый имидж, отчего родители не отпускали своих дочерей учиться на программистов, чтоб те не стали чуханками, поэтому количество тянов в программировании супер уменьшилось буквально за 10 лет.

В 90х, с запросом на массовую автоматизацию бизнеса и появлением языков типа жабы в индустрию ввалило куча обычных нормисов, а с середины нулевых с хайпом веба и мобилок вкатываться стали вообще все подряд. Так что вполне закономерный результат, что сайфай бои с задротами остались в прошлом.
Аноним 12/03/20 Чтв 23:55:08 1631649163
>>1631627
Там, где важна производительно ессно пишу на сырых указателях
Аноним 12/03/20 Чтв 23:57:42 1631655164
>>1631634
Массовый вкат нормисов начался после 2005-го года когда в массах интернет появился
Аноним 12/03/20 Чтв 23:58:09 1631656165
>>1631634
Немножк не так: раньше программист был чем-то типа секретарши при ученых, и его задачей было переводить математические модели в код. Поэтому куны занимались наукой, а рутину сваливали на тян.

Когда же программирование стало серьезным бизнесом, куны им заинтересовались, и быстро вытеснили тней за счет своего превосходства.
Аноним 12/03/20 Чтв 23:59:53 1631662166
>>1631656
но тянок дохуя в айти щас. в основном они веб макаки на вротенде и нечета си боярам но все же.
Аноним 13/03/20 Птн 00:08:42 1631676167
>>1631655
Все наоборот. Как только стало (с интернетом) возможным получить навыки, сидя дома на мамкиных борщах, произошел массовый вкат аутистов. Сейчас доля аутистов вообще максимальна.
Аноним 13/03/20 Птн 00:10:20 1631681168
>>1631676
Ну и что наоборот? Я разве не так написал, ты мудила ёбаная.
Аноним 13/03/20 Птн 00:10:25 1631682169
Да, раньше среди аутистов был больший процент мега-гениев, которым
1. Повезло попасть к нужным нормисам, разглядевшим потенциал
2. Их за ручку водили везде от универа до какой-нибудь корпорации
Поэтому пошел миф о каком-то небывалом превосходстве аутистов. Сейчас же, когда каждый аутист идет в айти вебмакакой, и аутистов дохуя, и средний уровень аутистов очень низкий
Аноним 13/03/20 Птн 00:11:31 1631685170
>>1631681
>Ну и что наоборот?
Массовый вкат АУТИСТОВ начался после 2005, мудила ты ебаная. Совсем, блядь, аутисты охуели, в русский язык не могут
Аноним 13/03/20 Птн 00:12:01 1631687171
>>1631676
Наоборот. Благодаря интернету нормисы могут копипастить со стаковерфлоу и кое-как работать программистами, и они просто вытеснили аутистов.
Аноним 13/03/20 Птн 00:12:18 1631688172
>>1631685
НОРМИСОВ НАЧАЛСЯ. АУТИСТЫ ЕЩЁ ПО КНИГАМ ДРОЧИЛИСЬ. АУТИСТЫ ВСЕГДА В АЙТИ ЛЕЗЛИ И С ТЫРНЕТОМ И БЕЗ.
Аноним 13/03/20 Птн 00:13:46 1631690173
>>1631687
Вся суть в том что нормалфажное быдло в СИ никак пролезть не может. Потому что тут надо долго учиться, здесь сложно и здесь не так много платютъ. Они видят что в вебе 300кк выучи пару хуёвин и перди себе в стул и бегут все на джавы хуявы и прочее гавно и пусть сидят там и не высовываются.
Аноним 13/03/20 Птн 00:16:59 1631694174
>>1631688
Аутисты до интернета в основном лезли в коллекционирование марок и прочую безденежную поебень.
Аноним 13/03/20 Птн 00:17:58 1631696175
>>1631687
Со стековерфлоу копипастят тупые, а не "нормисы". Аутисты - это социальные инвалиды прежде всего, и перед талантливым нормисом у аутиста шансов минимум, за исключением редких областей типа реверсинга
Аноним 13/03/20 Птн 00:19:03 1631700176
>>1631696
>>1631694
Аутисты слово некорректно - задроты. Правильнее назвать задротами таких ребят, на дваче большинство это задроты, которые насмотрились всякого кинца и называют себя аутистами и прочим гавном, на самом деле обыкновенные задроты.
Аноним 13/03/20 Птн 00:21:22 1631706177
>>1631656
Нет, рутиной занимался отдельный человек -администратор, которому единственному можно было трогать комп. Код же набивали как раз те же люди, что и занимались самой предметной областью.
Аноним 13/03/20 Птн 00:22:04 1631707178
maxresdefault.jpg (42Кб, 1280x720)
1280x720
Ебать вы аутисты.
Аноним 13/03/20 Птн 00:22:56 1631709179
>>1631706
Полную хуйню несешь, ты не в теме
Аноним 13/03/20 Птн 00:23:04 1631711180
>>1631707
Простите, Учитель. Мы последователи великих учений Страуструпа и Ритчи!
Аноним 13/03/20 Птн 00:26:51 1631717181
>>1631700
На дваче дохуя аутистов (больше, чем в среднем по популяции), но некоторые принимают их за нормальных людей и пытаются спорить.
Что касается задротов, то любой сделавший себя сам человек - задрот. Не обязательно просто при этом выглядеть как вонючий чухан. И так появляются те самые хипстеры, которых вонючие чуханы не любят. То есть буквально - выглядишь опрятно, значит ты тупой. Хотя тупым может быть только тот, кто так думает.
Аноним 13/03/20 Птн 00:27:55 1631719182
>>1631717
Хипстеры это не задроты, хипстеры это наивное гавно, они псевдоинтеллектулаы, у них знания поверхностные.
Аноним 13/03/20 Птн 00:29:06 1631722183
>>1631719
Сказало одноклеточное, которое судит о человеке по внешности
Аноним 13/03/20 Птн 00:30:53 1631725184
>>1631722
Да.
Волосы в розовый-зеленый любой другой цвет - ты дегенерат.
Пирсинги, проколы и прочее гавно - ты дегенерат.
Татуировки - ты дегенерат.
Моднявая разноцветная одежда как у павлина - ты дегенерат.
Список продолжать могу сколь угодно долго.
Аноним 13/03/20 Птн 00:31:47 1631728185
>>1631725
А на самом деле дегенерат - ты, лол
Аноним 13/03/20 Птн 00:41:00 1631734186
9780262050937.jpg (43Кб, 317x475)
317x475
89e395fba1de2c4[...].jpg (37Кб, 473x603)
473x603
9780262035545.jpg (141Кб, 550x825)
550x825
51DBcqGBQNL.SX3[...].jpg (27Кб, 351x499)
351x499
Аноним 13/03/20 Птн 01:03:07 1631750187
>>1631734
Если в твоей матчасти написана подобная хуйня, то это хуевая матчасть. Или ты ее прочитал жопой. Или и то и другое.
"рутиной занимался отдельный человек -администратор, которому единственному можно было трогать комп" - мог написать только человек, который либо
1. Понятия не имеет, как была устроена разработка в те годы.
2. Считает увлекательный процесс набивки перфокарт и переписывания математических формул на асм - не рутиной

Откуда ты взял здесь сексизм - не понятно, точнее - понятно, ты ебанутый и туповатый
Аноним 13/03/20 Птн 01:12:20 1631758188
>>1631750
>1. Понятия не имеет, как была устроена разработка в те годы.
Долбоёб, тебе даже ссылку скинули, послушай взрослого дядю, не позорься.
>Считает увлекательный процесс набивки перфокарт и переписывания математических формул на асм - не рутиной
Никто не говорил что это не рутина, но эта была часть работы и никаких специальных выделенных людей, которых этим занимались не было и это знает любой, кто работал в академиях, что тогда, что сейчас.
Аноним 13/03/20 Птн 01:49:51 1631781189
>>1631758
>Долбоёб, тебе даже ссылку скинули, послушай взрослого дядю, не позорься.
Зумеры совсем охуели, кидают часовое видео как пруфлинк.
>Никто не говорил что это не рутина, но эта была часть работы и никаких специальных выделенных людей, которых этим занимались
Именно так. Сидят в отделе два человека, получают одну зарплату, должность одна и та же.
Только один занимается творческой деятельностью, а другой делает всю рутину. Обоих все устраивает, потому что первый не занимается рутиной, а второму платят деньги при отсутствии особых талантов.
Только вот
1. Кто постарадет от автоматизации рутины даже в спокойное время. Например, при массовом переходе от асма к си
2. Кого сократят в кризис
Как думаешь?
Аноним 13/03/20 Птн 10:15:38 1631904190
Class001Empty.png (12Кб, 473x404)
473x404
ReaPart.png (28Кб, 564x984)
564x984
>>1631409
Я это всё в классе делаю. Пример на картинках.

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

>>1631407
А вот про это я хочу узнать больше, потому что память утекает и мне бы причину узнать.

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

Аноним 13/03/20 Птн 10:38:21 1631911191
>>1631904
> Да, я в курсе, что занимаюсь хернёй, но это для себя и общего развития, на деле будет использоваться STL.
Схожу в ресторан на неделе, а пока поем говна.
Аноним 13/03/20 Птн 10:43:06 1631914192
>>1631904
>Array = 0
На пиках деградация, а не развитие.
Аноним 13/03/20 Птн 12:09:36 1631954193
Программач, можно как-нибудь сраную студию научить подсвечивать изменённые строки, беря их из гита, как это делает vs code?
Аноним 13/03/20 Птн 12:28:17 1631961194
Аноним 13/03/20 Птн 13:05:34 1631973195
>>1631961
О, крутота, то что надо
Аноним 13/03/20 Птн 14:52:01 1632097196
>>1631553
std::span<T const> -- просто охуенная тема! Давно своим велосипедом пользуюсь, примерно так же устроен. Охуенно удобно его передавать/возвращать вместо всратой конст ссылки на std::vector<T> (или, ещё хуже, пары итераторов), да ещё и по значению! Странно, что раньше не было его.
Аноним 13/03/20 Птн 19:22:42 1632355197
Ананасы, могу ошибиться тредом, но похуй
Кто-нибудь может подсказать, как собрать Qt приложение в Azure pipelines?
Где вообще об этом можно почитатать? Гуглится какая-то хуйня
Аноним 13/03/20 Птн 23:50:54 1632544198
>>1630056
не видел .at ни в одной кодбазе, где работал.
Аноним 14/03/20 Суб 00:00:30 1632547199
>>1632544
Я видел, но очень редко. Обычно в нем нет смысла - если индекс может выходить за пределы, то код надо переделывать, а если не может, то и .at() не нужен.
Аноним 14/03/20 Суб 00:48:01 1632566200
>>1632547
Видел везде перегрузки [], а внутри под ними .at().
Аноним 14/03/20 Суб 01:14:59 1632580201
>>1630520
это все по 10 книгам размазано тонким слоем. Я раньше не понимал, зачем дрочиться со всеми этими const, namespace и т.д.
Аноним 14/03/20 Суб 01:18:56 1632582202
>>1630410
Мой юный друг, тут есть небольшой парадокс, язык создается для решения задач, т.е. сперва есть ЗАДАЧА, а затем ее решение посредством языка. Когда ты сначала учишь язык, тебе сложно все понять кому это блять на хуй может потребоваться, где? Из-за этого так полезно высшее образование, ты понимаешь какие ты задачи можешь решить и для чего все эти алгоритмы и конструкции. Так значительно проще. Это же работает и когда есть увлеченность, человек хочет написать игру ему горит, он начинает изучать как это можно сделать и приходит к программированию.
Аноним 14/03/20 Суб 01:37:07 1632595203
>>1632582
> Из-за этого так полезно высшее образование, ты понимаешь какие ты задачи можешь решить и для чего все эти алгоритмы и конструкции.
Я хз как у вас там в Гарварде, но даже в столичном вузе этого всего нет
Аноним 14/03/20 Суб 02:26:56 1632616204
>>1632595
Чего нет? Алгоритмов?
Аноним 14/03/20 Суб 06:51:53 1632628205
>>1630168
Насчет курса не знаю, книжка говно
Аноним 14/03/20 Суб 07:39:04 1632633206
Аноним 14/03/20 Суб 08:52:31 1632639207
>>1627959
Делать упражнения из K&R. Даст первоначальный опыт.
Аноним 14/03/20 Суб 10:37:00 1632656208
>>1632639
Просто набивать руку, напишешь тысячу строк разумного кода, дело легче пойдет
Аноним 14/03/20 Суб 12:33:46 1632718209
1584178423292.jpeg (202Кб, 1262x751)
1262x751
Что то я не понял вот этого. То есть при обычном создании экземпляра шаблона класса, например
std::vector<std::string> temp;
Создаются не все члены класса? И почему отдельно выделены встраиваемые функции-члены?
Аноним 14/03/20 Суб 13:31:37 1632756210
1494896055328.png (156Кб, 1441x998)
1441x998
>>1632718
Я так понимаю, речь идет вот о чем:
При непосредственном использовании функции-члены заинлайнились, а неиспользуемые функции отброшены.
При инстанциировании же для инлайновых функций все равно создались не-инлайн варианты, например чтобы их можно было использовать из другого файла cpp.
Аноним 14/03/20 Суб 13:42:02 1632757211
>>1631961
Бля, а есть что-нибудь похожее для QtCreator'а? Если даже для парашной студии такое есть
Аноним 14/03/20 Суб 13:54:07 1632761212
>>1632582
что ты блядь несёшь, ну смотри допустим я хочу написать игру, но я ньюфаня. и что ты думаешь что я буду гуглить всё как опытный программист, всеякие функции и прочую хуйню? да нет же у меня вообще нет представления что на этом языке можно а чео нельзя, используя твой подход работать когда горит можно такого говна налепить. нужно прочесть книгу о языке в первую очередь увидеть все его функции что на нём можно делать и уже потом можно высирать игру и всё что хочешь. блядь.
Аноним 14/03/20 Суб 13:56:18 1632765213
>>1632582
Этот прав, я игру сделал, а потом уже решил теорию конкретно изучить, иначе скучно.

Тот же Си просто нахуй забёшь за день с этими ёбанными строками пердолится.
Аноним 14/03/20 Суб 14:00:57 1632767214
Аноним 14/03/20 Суб 14:24:46 1632777215
>>1632767
Хорошо разбирается != хорошо объясняет
Аноним 14/03/20 Суб 14:26:45 1632780216
>>1632777
Компактный код != читаемый код
Аноним 14/03/20 Суб 14:33:26 1632787217
>>1632757
Ну отмечать измененные части он из коробки умеет, в связке с гит хз, какие то настройки контроля версий там точно есть, как и подключаемые модули.
Аноним 14/03/20 Суб 14:39:52 1632791218
>>1632761
>увидеть все его функции что на нём можно делать и
Такое может разве что с питоном прокатить. Ну почитаешь ты про шаблоны, что, сразу догадаешься, как можно собственные бинарные операторы делать как в бусте?
Лучше освоить некоторую базу, а дальше паралельно что то делать и изучать нужные тебе фичи, все ты все равно знать не будешь.
Аноним 14/03/20 Суб 14:59:38 1632812219
>>1632791
>Ну почитаешь ты про шаблоны, что, сразу догадаешься, как можно собственные бинарные операторы делать как в бусте?
маня это основы основ никто не говорит что после книжки ты станешь профи 300кк в наносек, это озы и хорошая твёрдая база, фундманент. алсо в нормальных книжках к материалу ещё даются упраженения.
Аноним 14/03/20 Суб 14:59:58 1632815220
>>1632812
азы или озы не знаю как правильно
Аноним 14/03/20 Суб 15:03:25 1632822221
>>1632812
Многое же просто неприменимо в реалиях новичка, он просто потеряется от большого объёма информации.

Развитие идёт итерационно, сначала очень простое, затем накопление знаний небольшое, потом по сложнее.

Тот анон прав, без ясной цели все эти упражнения полная хуета.

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

В чём космический ефект такого задания? Где эти знания применимы? Нахуя?
Аноним 14/03/20 Суб 15:13:19 1632838222
>>1632761
>нужно прочесть книгу о языке в первую очередь увидеть все его функции что на нём можно делать и уже потом можно высирать игру и всё что хочешь
Ты когда русский язык учил, ты тоже сначала прочитал книжку со всеми правилами и функциями языка, и только потом начал с людьми разговаривать?
Аноним 14/03/20 Суб 15:24:31 1632857223
>>1632838
нет, но когда я учил английский я сперва сделал упор на грамматику и очень не зря, потому что если бы я стал просто учить "как получится" то у меня был бы большой словарный запас, но из-за пробелов в грамматике я бы очень многого всё равно бы не понимал.
Аноним 14/03/20 Суб 15:30:23 1632868224
>>1632838
Когда ты разговариваешь, у тебя во рту нет компилятора, который не дает сказать фразу с ошибкой.
Аноним 14/03/20 Суб 15:35:43 1632877225
>>1632868
Ошибка ловится в рантайме всякими умниками и граммар-наци.
Аноним 14/03/20 Суб 16:08:28 1632937226
>>1632812
Это троллинг тупостью? Ты повторил тоже самое другими словами.
Аноним 14/03/20 Суб 16:11:50 1632948227
>>1632791
> Ну почитаешь ты про шаблоны, что, сразу догадаешься, как можно собственные бинарные операторы делать как в бусте?
В нормальных книжках есть реализация собственных бинарных операторов.
Аноним 14/03/20 Суб 16:14:44 1632956228
Суть в том что в книжке впринципе показывается что есть в языке и как это используется. Нельзя не зная языка и ни разу не открывав на нём книжку сесть и начать что-то писать, ты даже тупо не будешь знать что гуглить. У тебя элементарно не будет представления ни о чём.
Аноним 14/03/20 Суб 16:16:08 1632960229
Аноним 14/03/20 Суб 16:22:24 1632971230
>>1632948
Хотя ты наверное не про шаблоны.
Аноним 15/03/20 Вск 07:05:18 1633560231
.png (11Кб, 1107x125)
1107x125
Если вывести пустой указатель на строку, то среди кучи мусора будет целый список каких то директорий. Откуда они?
Аноним 15/03/20 Вск 08:09:37 1633566232
>>1633560
Ты точно программист? Это переменные окружения.
Аноним 15/03/20 Вск 10:02:58 1633596233
.png (5Кб, 986x182)
986x182
Как это работает? Не могу понять что за стрелка после обьявления функции
Аноним 15/03/20 Вск 10:05:57 1633597234
Аноним 15/03/20 Вск 10:08:21 1633598235
>>1633596
Тип возвращаемого функцией значения, после 14 стандарта тут не нужно.
Аноним 15/03/20 Вск 11:19:02 1633653236
Какая в C++ существует альтернатива наследованию?
Аноним 15/03/20 Вск 11:38:28 1633661237
Аноним 15/03/20 Вск 11:50:54 1633668238
Аноним 15/03/20 Вск 12:25:25 1633689239
Аноним 15/03/20 Вск 12:26:25 1633690240
Аноним 15/03/20 Вск 12:48:58 1633698241
>>1633690
Так инкапсуляция или композиция?
Аноним 15/03/20 Вск 12:51:38 1633700242
Почему ООП так популярно и плохо ли оно само по себе?
Аноним 15/03/20 Вск 13:11:15 1633705243
>>1633700
Само по себе не плохо вообще ничего, кроме анального спида. Вопрос в том, как ты это применяешь.
Аноним 15/03/20 Вск 13:42:49 1633725244
изображение.png (122Кб, 1954x1783)
1954x1783
>>1633705
В чистом C. С костылями.
Аноним 15/03/20 Вск 13:47:40 1633727245
>>1633700
Смотря что такое ООП
Аноним 15/03/20 Вск 17:58:19 1633893246
Анон, сейчас будет платина.
В одной книжке (видимо очень хуевой или нет?) увидел, что типа return 0 в main больше не нужен, типа устарело нахуй, лишь динозавры пользуются.
Так ли это?
P.s. анон динозавр и ставит return в main
Аноним 15/03/20 Вск 17:59:06 1633894247
Аноны, а какие есть хорошие книги по алгоритмам (только не Кнутт пожалуйста, я не хочу ебать древний язык под названием псевдокод)
Аноним 15/03/20 Вск 18:04:40 1633901248
Аноним 15/03/20 Вск 18:05:29 1633903249
>>1633894
> не хочу
Хватит пары туториалов на хабре.
Аноним 15/03/20 Вск 18:07:42 1633908250
>>1633894
Здарова, братишка
1) Adam Drozdek - Data Structures and Algorithms in C++ - твердые 10/10, все есть
2) leetcode
Аноним 15/03/20 Вск 18:08:51 1633909251
Аноним 15/03/20 Вск 18:09:35 1633911252
>>1633908
Ты предлагаешь читать техническую литературу на иностранном языке через переводчики? Ты ебанутый?
Аноним 15/03/20 Вск 18:12:25 1633915253
>>1633893
Это сишная фича вроде, просто был возврат нуля по умолчанию
Аноним 15/03/20 Вск 18:28:07 1633925254
>>1633893
Пиши всегда, что в сишке, что в крестах, не ошибёшься. Это лучше, чем UB UB ГРОБ ГРОБ КЛАДБИЩЕ.
Аноним 15/03/20 Вск 18:33:40 1633927255
>>1633908
>>1633909
Спасибо, раньше сидел на codeforce, но недавно перешел на leetcode, что там что тут ощущается просто огромная нехватка знаний в алгоритмах, отчего и спросил.
Аноним 15/03/20 Вск 18:35:43 1633930256
>>1633893
В С++ он вроде никогда не нужен был, в C с C99. компилятор сам дописывает в конец main.
Аноним 15/03/20 Вск 18:41:17 1633932257
>>1633911
>лезть в программирование без знания технического английского
>назывет кого то ебанутым
Аноним 15/03/20 Вск 18:43:46 1633933258
>>1633894
Посмотри Cracking the coding interview (Карьера Программиста на русском), там вроде бы Java но переносится тривиально.
Аноним 15/03/20 Вск 18:52:17 1633939259
>>1633930
Не нужен? А как ты код выхода возвращаешь?
Аноним 15/03/20 Вск 18:56:11 1633944260
>>1633939
По дефолту return 0 дописывается, то есть подразумевается что программа завершилась успехом. Если тебе нужен код возврата, пиши сам.
Аноним 15/03/20 Вск 19:15:49 1633949261
>>1633932
У меня не было английского в школе. Где твой бог теперь?
Аноним 15/03/20 Вск 19:27:25 1633952262
>>1633949
Пчел, если ты его сам не выучил до окончания школы, то у тебя нет будущего в IT.
Аноним 15/03/20 Вск 19:43:10 1633957263
Чо там нужно теперь по мнению аналитиков знать кодеру? Английский? Матан? Computer science? Физику? Биологию?
Аноним 15/03/20 Вск 19:43:29 1633958264
>>1633949
В школах он хреновый, технический так или иначе приходится самому развивать читая хелпы и мануалы.
Аноним 15/03/20 Вск 19:45:24 1633960265
>>1633949
У меня английский был на 3, и на устном экзамене я рассказывал какую то дичь вроде "In my future I will write a book and grow a tree" под закатывание глаз преподши. А еще у меня в школе не было немецкого, а к первому компьютеру прилагалась пара хандбух на дойче по 1300 страниц, по которым пришлось учить бейсик и ассемблер. Хуй знает, крутись как можешь, it термины плохо переводятся на русский, поэтому все книги что я видел довольно всратые, а писать код все равно на инглише, всякие for, map и stack, никуда от этого не уйти. Можно конечно конкретные алгоритмы по видосам на ютубе учить, но это такое.
Аноним 15/03/20 Вск 19:45:25 1633961266
>>1633957
Не позорься, тебя ждёт 1с тред.
Аноним 15/03/20 Вск 20:31:17 1633985267
>>1633957
Времена 00х и 10х, когда можно было крякнуть, что ты знаешь комплюхтер ушли, теперь требования стали намного выше.
Аноним 15/03/20 Вск 21:08:51 1634002268
Хай гайз.

Пишу на ардуинке прогу и столкнулся с таким затруднением:

String messenge;
for (int i=1; i <= 10; i++){
messenge += String(dht_i.readHumidity());
delay(50);
}

Смысл в том, что у меня есть 10 переменных с названиями:
dht_1
dht_2
dht_3
....
dht_10

И цикл должен менять i на 1,2,3....
Но программа ругается, мол нет переменой dht_i.
Это логично да, программа права.
Вот собственно хочу спросить совета более опытных юзеров, ибо в интернете особо ничего не нагулил.
Кто нибудь может посоветовать как это лучше реализовать?
Спасибо
Аноним 15/03/20 Вск 21:46:03 1634021269
143987194014505[...].jpg (39Кб, 551x549)
551x549
>>1634002
Ты до массивов что-ли ещё не дошел?...
Аноним 15/03/20 Вск 22:00:02 1634027270
>>1634002
Вот он, контингент ардуины.

*(&dth_1 + i)
Аноним 15/03/20 Вск 22:08:47 1634032271
Двач, есть проект на Qt. Хочу сделать так, чтобы у меня два класса назывались одинаково, но лежали в разных namespace. Ну и соответственно .h и .cpp будут лежать в разных папках. То есть как-то так это должно быть:

root:
....man:
........brain.h, brain.cpp
....women:
........brain.h, brain.cpp

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

Отсюда вопрос, как заставить компилятор учитывать возможность коллизий в именах и либо так же по папочкам раскладывать объектники, либо ещё как то это проблему решать? Я не хочу в дублировать префиксы, чтобы в папке women лежали файлы с префиксом women.
Аноним 15/03/20 Вск 22:17:51 1634035272
>>1633952
Думаешь, я в школе знал о том, что мне английский пригодится в жизни? Нихуя. И вообще я прогать начал только в 20.
Аноним 15/03/20 Вск 22:23:47 1634037273
>>1634032
CONFIG += object_parallel_to_source
Аноним 15/03/20 Вск 22:59:57 1634041274
>>1634035
Ну страдай теперь, раз не знал.
Аноним 15/03/20 Вск 23:59:20 1634069275
Стикер (0Кб, 512x512)
512x512
>>1634027
>int dth_1;
>int dth_2;
>char blink_led;
>int dth_10;
>int dth_9;
Аноним 16/03/20 Пнд 00:05:31 1634073276
>>1634069
Тогда тебе не повезло. Вообще, best practice - располагать все переменные в начале функции и сортировтаь их в алфавитном порядке.
Аноним 16/03/20 Пнд 00:22:37 1634076277
Аноны, подскажите, есть простой класс Person, хочу его добавить в
map<int, Person> persons;
пишу вот так
Person p(1, "LOH");
persons[1]=p;
А мне компилятор говорит, что нужен конструктор по умолчанию. Т.е. я блять не могу через квадратные скобки добавить объект без конструктора по умолчанию?
Аноним 16/03/20 Пнд 00:28:46 1634077278
>>1634073
По типу читабельнее имхо.
Аноним 16/03/20 Пнд 00:33:43 1634078279
>>1633925
это не UB, в стандарте четко написано, если из мейна нет ретерна, то возвращается 0

>>1634076
Когда ты сделаешь persons[1488] и такого ключа не будет - он создастся и вызовется конструктор по умолчанию.

Так что - либо делай дефолтный конструктор, либо используй .find и .insert вместо []
Аноним 16/03/20 Пнд 00:35:22 1634079280
Аноним 16/03/20 Пнд 01:09:50 1634086281
Является ли корень бинарного дерева частью каждой ветви? То есть, считается ли он при учёте количества узлов в каждой ветви?
Аноним 16/03/20 Пнд 03:35:50 1634114282
Аноним 16/03/20 Пнд 03:39:59 1634115283
>>1629989
Ты не понимаешь сути С++
Аноним 16/03/20 Пнд 07:06:03 1634128284
Аноним 16/03/20 Пнд 12:31:41 1634227285
>>1634073
>>1634128

Бля, челы, это не шутка. Это гайдлайны 80ых годов. Переменные все объявлять в начале функции, по алфавиту.
Не иметь более одного ретурна в коде, и ретурн иметь в конце функции.

Ну и тд. Кодеры под микропомойку до сих пор так пишут.
Аноним 16/03/20 Пнд 13:52:51 1634265286
Аноним 16/03/20 Пнд 14:08:17 1634277287
>>1634227
>Не иметь более одного ретурна в коде, и ретурн иметь в конце функции.
Ну это ещё имеет смысл - для гарантии NRVO.
Аноним 16/03/20 Пнд 14:20:43 1634292288
>>1634277
Да это один из базовых принципов, о которых ещё Дейкстра писал.
Аноним 16/03/20 Пнд 15:02:11 1634328289
>>1634292
>базовых принципов структурного программирования


медленнофикс
Аноним 16/03/20 Пнд 15:08:37 1634338290
>>1634277
невозможно гарантировать NRVO. Да и как бы Copy Elision в С++17 и так ок
Аноним 16/03/20 Пнд 15:26:12 1634350291
>>1634338
Ну на практике он именно в такой конфигурации обычно происходит, хотя от компилятора канеш зависит.
Аноним 16/03/20 Пнд 15:34:40 1634354292
>>1634292
Да понятно, но он устаревший шопиздец. Сейчас так никто не пишет блет.
Аноним 16/03/20 Пнд 15:40:03 1634358293
>>1634277
>>1634338

Я вообще про эту хуйню с ретурнами от си кодера услышал
Аноним 16/03/20 Пнд 15:41:30 1634359294
>>1634358
не слушай сишников, у них совсем другой язык.
Аноним 16/03/20 Пнд 18:24:34 1634483295
>>1634027
Эти переменные необязательно будут расположены друг за другом в памяти
Аноним 16/03/20 Пнд 18:48:37 1634490296
Аноним 16/03/20 Пнд 18:54:09 1634491297
>>1634002
Ну, кстати, да: а почему не массив?
Аноним 16/03/20 Пнд 19:38:44 1634511298
Карабасы, кто-нибудь знает, почему в visual studio комментирование двумя слэшами // и комментирование тремя /// имеет разные оттенки зеленого?

Этому есть какое-то общепринятое применение, типо яркозеленым комментим "такое-то", а темно-зеленым коментим "другое-то"? Или эту разницу цветов каждый использует по своему?

Первое что мне приходит в голову, это визуальное разделение двух разных близкостоящих комментов. Чтобы два близких коммента не сливались в один, ты их разделяешь разными цветами.
Аноним 16/03/20 Пнд 19:40:31 1634515299
>>1634511
Это для утилит документирования
Аноним 16/03/20 Пнд 20:27:30 1634542300
>>1634515
благодарю, открыл статью по doxygen
Аноним 16/03/20 Пнд 20:31:41 1634547301
Сап, пишу библиотечку для работы со звуком. Пользователь сначала создает экземпляр класса Lib и работает дальше через него. Еще есть класс SoundChain, и эти чейны создаются и удаляются во время работы, а Lib всегда содержит их актуальный список.
Проблема такая: все экземпляры SoundChain не связаны друг с другом, и для каждой в отдельном потоке вызывается какой-нибудь функционал, типа "получить звук на выходе". Когда пользователь удаляет один из чейнов (и я у себя вызываю delete soundChain, условно), его функционал все еще может выполняться. И пока этот функционал выполняется, я могу проверить, что раз больше саундчейнов нет, а пользователь вроде как хочет выйти, то я удаляю и экземпляр Lib. И все крашится, потому что функционал пытается обратиться к Lib, а его уже нет.
У Lib есть mutex, и я ставлю lock при любом обращении к библиотеке. Но это не помогает в моем случае. Чаще всего эксепшен падает в деструкторе Lib, и в стеке лежит вызов деструктора base mutex.

Можно ли как-то проверять для каждого SoundChain, что он сейчас не выполняет какой-то функционал? Или можно ли как-то встать в деструкторе Lib, дождаться выполнения всего функционала в чейных и только потом продолжить удаление?
Аноним 16/03/20 Пнд 21:00:55 1634578302
>>1634547
Мож делать шаред птр на твои чейны? Чтобы удалялись когда больше никем не используется
Аноним 16/03/20 Пнд 21:17:15 1634590303
>>1634547
>И пока этот функционал выполняется, я могу проверить, что раз больше саундчейнов нет
И как же ты это проверяешь?
> я удаляю и экземпляр Lib
А надо ли это делать тебе, если создавал пользователь?
Ну вообще все можно конечно сделать.
Аноним 17/03/20 Втр 00:00:47 1634654304
>>1634578
Да, была такая мысль, но не уверен, что могу так сделать. Библиотека для использования с игровыми движками, в т.ч. с Unity/C#, и по-моему я могу передавать между Unity/C++ либо простые типы, либо указатель на void.

>>1634590
Когда в Unity закрывается сцена/приложение, я вызываю Finalize() у своей библиотеки, которая проходит по вектору из чейнов. Как раз перед этим все чейны удаляются, поэтому вектор уже пуст. Но один из текущих потоков уже успел перейти на адрес метода "получить звук" и выполняет инструкции.
Собственно, пользователь не создает Lib напрямую: я предоставляю интерфейс, который создает Lib и возвращает указатель на него.
В любом случае проблема останется: потенциально можно вызвать деструктор Lib в тот момент, когда чейнов нет, но какой-то из их методов вызван и выполняется. И я не могу придумать, как этого избежать. Как сделать защиту от дурака, чтобы у пользователя либы любого уровня не возникло таких проблем.
Аноним 17/03/20 Втр 00:07:45 1634657305
1444326059524.png (71Кб, 1058x510)
1058x510
>>1634654
Хз как ты запускаешь потоки
В любом случае гугли, вариантов десятки
Начиная с подпиcки в ОС на сигнал/сообщение/семафор об этом
Заканчивая новомодными async/future
Аноним 17/03/20 Втр 10:49:55 1634794306
>>1634657
В том-то и дело, что потоки не я запускаю, это происходит где-то внутри Unity, и я не могу этим управлять.
Аноним 17/03/20 Втр 11:47:49 1634824307
>>1634794
Ну все равно ты как-то это делаешь. В юнити C# есть Thread.IsAlive, к нему никак не достучаться?
Аноним 17/03/20 Втр 11:51:12 1634826308
>>1634824
Поизучаю эту тему.
В идеале бы, правда, хотелось бы все сложные штуки спрятать внутрь библиотеки и предоставлять максимально простой API, чтобы пользователю не пришлось по мануалу реализовывать костыли.
Аноним 17/03/20 Втр 11:56:23 1634835309
Какой же ебнутый синтаксис у шаблонов с переменным количеством аргументов
Аноним 17/03/20 Втр 12:08:24 1634851310
Аноним 17/03/20 Втр 12:53:01 1634930311
Можно создавать файлы с расширением не .txt, а .TXT
Аноним 17/03/20 Втр 12:53:25 1634931312
Аноним 17/03/20 Втр 12:56:13 1634934313
Аноним 17/03/20 Втр 13:36:51 1634965314
>>1634930
А можно .jpeg вместо .JPG?
Аноним 17/03/20 Втр 13:59:16 1635001315
>>1634930
А c++ тут причем? Это особенности операционной системы.
В винде ты можешь называть и так и так, это будет один файл. А в линуксе разные. Так что проблемы гарантированы.
Аноним 17/03/20 Втр 14:06:41 1635014316
Аноним 17/03/20 Втр 16:36:04 1635170317
>>1635001
Та в линуксе ж как бы пофиг на экстеншон
Аноним 17/03/20 Втр 18:14:14 1635244318
Что значит failbit равный двум при открытии файла?
Аноним 17/03/20 Втр 18:16:22 1635248319
Аноним 17/03/20 Втр 18:19:27 1635255320
>>1635248
Как понять почему файл не открывается? Пишу fstream f("FILENAME.TXT")
cout << f.failbit
Выводит 2
Аноним 17/03/20 Втр 18:23:27 1635260321
>>1635255
failbit это константа.
Может ты уже откроешь доки? Как минимум вызывать надо fail()
Аноним 17/03/20 Втр 18:37:37 1635271322
Аноним 17/03/20 Втр 18:40:11 1635275323
>>1635260
А как понять в чем ошибка?
Аноним 17/03/20 Втр 18:43:52 1635280324
Аноним 17/03/20 Втр 18:47:17 1635282325
>>1635280

Не либо, а и.

Либо fail() как чел выше сказал, либо тайкеч.
Но он тебе не даст в эксепшене ошибку, а напишет "iostream stream error". Это системная ошибка.

За ошибкой зырь errno.
Аноним 17/03/20 Втр 18:49:29 1635284326
>>1635282
Посмотри последний ответ
e.what
Там есть и Permission denied, и No such file or directory, и File name too long
Аноним 17/03/20 Втр 18:49:49 1635285327
Аноним 17/03/20 Втр 18:52:40 1635287328
>>1635284
А как может быть ошибка No such file in directory, если он должен создаться при отсутствии
Аноним 17/03/20 Втр 18:55:49 1635289329
>>1635287
Для этого надо открывать с флагом
file.open("test.txt",fstream::out)
Но я рили советую почитать главу учебника какого нибудь, там все подряд объясняется
Аноним 17/03/20 Втр 19:29:53 1635315330
>>1634835
Нормальный синтаксис, не пизди. Не хватает только
using types = Types...;
Аноним 17/03/20 Втр 22:22:50 1635475331
>>1635170
На экстеншон пофигу, но файл abc.txt и abc.TXT будут разными файлами. Оба текстовые, но разные. Unix-like системы Case Sensitive.
>>1635001
Винда, кстати, внутри тоже, и файлы постоянно проходят через слой абстракции, чтобы от этого избавиться. Так что в зависимости от того, насколько ты своим с++ полезешь, для винды тоже вполне может разница между .txt и .TXT появиться.
Аноним 17/03/20 Втр 22:43:52 1635489332
Есть такая строка.
for (vector<int>::iterator i = Good.begin(); i < Good.end(); ++i) if (i != Good.end()) o << *i << ' ';
В этом месте if (i != Good.end()) происходит vector iterators incompatible. как фиксить?
Аноним 17/03/20 Втр 22:44:24 1635490333
Аноним 18/03/20 Срд 06:19:25 1635669334
>>1635489
>как фиксить?
for (auto i : Good) o << *i << ' ';
Аноним 18/03/20 Срд 06:59:14 1635674335
>>1635669
i без звёзды, это я скопировал
Аноним 18/03/20 Срд 08:28:05 1635690336
>>1635490
Ну так ты ещё спрашиваешь, почему инвалидируются итераторы?
Аноним 18/03/20 Срд 08:29:02 1635691337
>>1635690
Или это я залупоглазый спросонья.
Good - что за тип?
Аноним 18/03/20 Срд 10:20:01 1635733338
Аноним 18/03/20 Срд 10:20:42 1635735339
>>1635669
А почему не работает так, как я написал?
Аноним 18/03/20 Срд 11:08:16 1635766340
>>1635475
>На экстеншон пофигу, но файл abc.txt и abc.TXT будут разными файлами. Оба текстовые, но разные. Unix-like системы Case Sensitive.

А, ну фуйлы-то разные, есть такое. Я думал типа abc.txt будет работать, а abc.TXT нет
Аноним 18/03/20 Срд 11:16:47 1635773341
>>1635691
>>1635733

Ща бы переменные большими буквами называть. Конвенцию блюдите, товарищи. Наш язык и без этого читать невозможно
Аноним 18/03/20 Срд 11:20:10 1635775342
code.png (4Кб, 573x103)
573x103
>>1635735
В том виде как у тебя написано - работает, я прост короче написал.
Аноним 18/03/20 Срд 11:48:44 1635803343
>>1635773
> Конвенцию блюдите
Какую из?
Аноним 18/03/20 Срд 11:52:46 1635808344
>>1635803
А в любой же переменные camel case с маленькой, не? Ну или с маленькой и с подчеркиваниями...
Аноним 18/03/20 Срд 12:02:34 1635822345
>>1635808
Ты сейчас три абсолютно разных стиля назвал. Всё три видел в одном и том же проекте
Аноним 18/03/20 Срд 17:37:20 1636174346
>>1635773
Так а я-то тут причем, я из его кода взял имя переменной.

>>1635733
Круто, что вектор, а что в тебя внутри?
Ругается на несоответствие итераторов, будто ты хочешь итератору вектора интов присвоить итератор вектора даблов, например.
Аноним 18/03/20 Срд 19:45:22 1636277347
В тему конвенций и камел-блядь-кейсов.
Анон, посоветуй Code Style Guide чей-нибудь.
Давным-давно читал гугловый и lockheed martin'овский (для встраиваемых систем).
Но после работы в настоящих проектах стиль написания кода стал соотвествующим.
Аноним 18/03/20 Срд 19:59:08 1636305348
Аноним 18/03/20 Срд 20:19:32 1636342349
>>1636277
Пишу на Doom3 code style от Джона-Наше-Все-Кармака, с очень небольшими изменениями.

Пробелоблядям перо под ребро и хуй в жопу.
Аноним 18/03/20 Срд 20:33:48 1636364350
>>1636277
Венгерская нотация.
Аноним 18/03/20 Срд 21:50:03 1636439351
>>1636174
Вектор интов. Вроде. Я решил по старинке, задача зашла и код я стер
Аноним 18/03/20 Срд 21:53:10 1636441352
vector<bool> input(n);
for (int i = 0; i < n; i++) cin >> input;
Почему нельзя так? С интом можно, а булом нельзя?


Аноним 18/03/20 Срд 22:00:25 1636449353
>>1636441
Потому что это ебланство. Вот "123" - это true? А "0123"? А "хуй"? Вот и в комитете не стали заморачиваться. Пиши через getline и смотри на строку, или на крайний случай через boolalpha, но не обосрись с локалями.
Аноним 18/03/20 Срд 22:19:14 1636465354
>>1636441
> С интом можно,
Только делает не то что ты думаешь.
>а булом нельзя
Для вектор була своя хитровыебанная специализация пакующая по 8 элементов в байт, работа с элементами через прокси класс.
Аноним 18/03/20 Срд 22:20:36 1636468355
>>1636465
> Только делает не то что ты думаешь.
???
Аноним 18/03/20 Срд 22:33:15 1636486356
>>1636441
>vector<bool> input(n);
>for (int i = 0; i < n; i++) cin >> input;
>
Это не компилируется и с интом
Аноним 18/03/20 Срд 23:53:37 1636620357
Аноним 18/03/20 Срд 23:57:40 1636629358
Аноним 18/03/20 Срд 23:58:20 1636632359
>>1636629
Блять. Режет скобки квадратные. Там конечно же i ный элемент
Аноним 19/03/20 Чтв 00:23:55 1636673360
1467031441727.png (45Кб, 535x523)
535x523
Аноним 19/03/20 Чтв 02:51:59 1636737361
Как вынести тело метода за тело класса? Зачем это может быть нужно и когда и почему этого нельзя избежать?
Аноним 19/03/20 Чтв 02:55:12 1636738362
>>1636673
Пердолю забыли спросить.
Аноним 19/03/20 Чтв 03:00:55 1636740363
>>1636737
>Как вынести тело метода за тело класса?
Вперёд ногами.
Аноним 19/03/20 Чтв 06:07:09 1636764364
>>1636737
>Как вынести тело метода за тело класса?
Перейти с шарпа на кресты.
Аноним 19/03/20 Чтв 08:42:23 1636779365
>>1636764
А как же фабричный метод?
Аноним 19/03/20 Чтв 09:22:04 1636790366
>>1626937 (OP)
Сап, есть один класс, шаблонный, внутри ещё один public-класс (нешаблонный),в этом классе шаблонный (только чтобы передачу по универсальной ссылке сделать) метод operator(). Т.е.
template <typename T1=float, typename T2=uint32_t, enable_if_t<...>=0>
class A {
public:
class B {
template < typename vec, enable_if_t< decay(vec) == vector<T1>, tipa togo...> >
vec operator()(vec && input) {...}
....
};
...
};
В общем, не могу написать специализацию метода operator(), если T1 и T2 принимают дефолтные (float, uint32_t) значения. Как эо вообще сделать?
Нельзя переписывать весь вложенный класс B, не хочу.
Аноним 19/03/20 Чтв 09:23:17 1636792367
>>1636790
> vec operator()(vec && input) {...}
> vector<T1> operator()(vec && input) {...}
Быстрофикс
Аноним 19/03/20 Чтв 09:24:34 1636793368
нешаблонные классы должны опираться на шаблонные, иными словами нельзя впихнуть квадратное в круглое
Аноним 19/03/20 Чтв 09:25:43 1636794369
Аноним 19/03/20 Чтв 09:32:15 1636795370
790му
Аноним 19/03/20 Чтв 09:33:52 1636797371
>>1636795
Всмысле нельзя? Что это для меня значит?
Очевидно, что класс B тоже шаблонный.
Когда я говорю, что он "нешаблонный", я просто имею в виду, что для него не написано отдельного template<>, но класс B зависит от типов T1 и T2 внешнего класса А.
Аноним 19/03/20 Чтв 09:46:28 1636803372
пажжи, а зачем тебе два разных типа с которыми может работать этот класс?
Аноним 19/03/20 Чтв 09:48:37 1636804373
Ты делаешь маршрутизатор чтоли?
Аноним 19/03/20 Чтв 09:49:12 1636805374
>>1636803
Один тип арифметический, другой тип аналог size_t.
Ну внутри классов очень много всяких таких данных для расчётов.
>>1636804
Кек, нет, нейрон очка.
Аноним 19/03/20 Чтв 09:53:22 1636807375
Что кек? Отвечай нормально. имхо если типы никак не связаны это уже лакмусовая бумажка что что то тут не так.
Аноним 19/03/20 Чтв 09:55:08 1636810376
>>1636807
Ничего не кек...
В чём проблемы, если T1 и Т2 никак не связаны?
Всё равно класс будет работать, если T1 арифметический, а T2 беззнаковый.
Какие проблемы?
Аноним 19/03/20 Чтв 09:59:51 1636813377
Проблема в том что один из этих типов тоже должен быть темплейтный иначе внутри класса они не смогут собраться в какую либо конструкцию и у тебя класс будет делать по сути две разные вещи
Аноним 19/03/20 Чтв 10:03:04 1636814378
>>1636813
Я тебя не понимаю, T1 и T2 - простые типы.
Класс A содержит вектора T1, размерами всего оперирует с помощью T2.
Класс А содержит вектор<B>, поэтому класс B и объявлен внутри, он больше нигде не нужен.
Класс B тоже дробит арифметику T1, размерами оперирует в T2.
Вот и... всё. Господи, где я провинился?
Аноним 19/03/20 Чтв 10:15:02 1636818379
Я примерно понимаю. Ты не сможешь обьявить переменную типа класса А, так как походу ты не сможешь впихнуть в это обьявление тип B
Аноним 19/03/20 Чтв 10:22:15 1636822380
Товарищи.

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

Что можно посмотреть, почитать?
Непонимать предмет. Не понимать автомат.

Находил код. Там охуительный код длиной миллион символов из кучи кейсов.
https://github.com/nohajc/.KEK-on-Rails/blob/master/compiler/lexan.cpp
Аноним 19/03/20 Чтв 10:35:30 1636828381
Аноним 19/03/20 Чтв 10:36:32 1636829382
Аноним 19/03/20 Чтв 10:44:09 1636833383
>>1636828
>>1636829
Пасиба.
:3
Бля

Зачем я поступал на программиста...
Аноним 19/03/20 Чтв 11:39:08 1636882384
>>1636790
Для методов нет частичной специализации, нужно писать ещё обёртки...
Аноним 19/03/20 Чтв 11:41:51 1636887385
>>1636814
> Вот и... всё. Господи, где я провинился?
Написал какую-то залупу, которую даже сам не до конца понял. Попробуй заново
Аноним 19/03/20 Чтв 11:47:05 1636891386
>>1636818
Я все могу объявить, код рабочий, блять.
Я не могу специализацию метода класса В написать, чтобы дернуть С-функцию, которая АВХ-оптимизированна.
Аноним 19/03/20 Чтв 11:48:49 1636892387
>>1636887
ты про последний пост или про классы?
Классы самое то, долго над ними думал.
Почему я не могу просто для конкретного инстанса шаблона написать метод, но не для класса А, а для класса В - непонятно.
Аноним 19/03/20 Чтв 11:50:43 1636893388
>>1636882
Как это нет?
Я что, весь класс должен переписывать?
Что оборачивать-то?
Вынести за класс некую обобщенную функцию, из оператора() ее дергать - и уже для нее написать специализацию?
Аноним 19/03/20 Чтв 15:18:20 1637086389
>>1636893
так сишная функция принимает конкретный тип float. У тебя может быть обобщённый инстанс как с флоатом так и с другим типом. В общем любая обобщённая функция должна в конечном итоге вызывать обобщенную функцию, если она вызывает функцию с конкретным типом то он нуждается в явном привидении что делает бессмысленным саму идею
Аноним 19/03/20 Чтв 15:24:28 1637094390
>>1637086
дополню что это обычные функции должны вызывать обобщенные, если происходит наоборот то это в корне не верно.
Аноним 19/03/20 Чтв 15:32:44 1637099391
>>1637086
Ещё дополню. Даже так
>любая обобщённая функция должна в конечном итоге вызывать обобщенную функцию
Любая обобщённая функция должна вызывать ещё более обобщённую.
Кому это я всё пишу?
Аноним 19/03/20 Чтв 16:43:16 1637171392
image.png (262Кб, 729x486)
729x486
Сап, гайзы. Короче, миниопрос. Интересно тип. Что вы пишете? Какие коммерчисие проекты пишут двачеры? Начну с себя:

Майкросервисное говнище, связанное с банковским делом
Аноним 19/03/20 Чтв 16:44:12 1637173393
>>1636364
На С++ очень сложно придерживаться ей, уродливый код выходит, лучше снейк-кейс. А вот для сишечки самое то.
Аноним 19/03/20 Чтв 16:45:35 1637174394
Значи так, ранг такой:

Гут: Алгоритмы для гугла, хайлоад, веб-сервера, ну вы поняли.
Пайдот: микрокалл
Ну такое: игрушечки
Полный пиздец: Отечественный десктопный софт qt(бонус если на winapi)
Ватафак блять: микропенисы
Аноним 19/03/20 Чтв 16:46:59 1637177395
Аноним 19/03/20 Чтв 16:47:39 1637178396
>>1637174
> Пайдот: микрокалл
> Ватафак блять: микропенисы

Микрокалл это микросервисы, а микропенисы это микроконтроллеры...
Аноним 19/03/20 Чтв 16:58:29 1637194397
Аноним 19/03/20 Чтв 17:34:13 1637225398
>>1637194

Ну, то есть, кроме того что её придумали евреи? чтобы сделать тебя геем?

Ну как бы тебе сказать... Гейский недо-DSL со своим Q_OBJECT, слоты и сигналы просто убогие, библиотека Network калл.

Да и вообще вся их ИКОСИСТЕМА меня просто выносит, ну что это за пиздец? Если я хочу просто библиотеку для юая, нахуй вы мне решили всю stl переписать своей парашей?

Ещё и на modern C++ они большую бибу кладут.
Бля, вот рили, сделайте норм либу для отрисовки кроссплатформенного гуя и ВСЁ. Не надо qmake изобретать, не надо всё это.
Аноним 19/03/20 Чтв 17:52:41 1637240399
>>1637171
Абу-Бот плез, каждый тред одно и тоже.
Аноним 19/03/20 Чтв 19:40:54 1637313400
>>1637225
UI на Qt можно и без moc писать
Аноним 19/03/20 Чтв 19:41:11 1637314401
Почему во всяких контестах такой большой лимит по памяти? 256 мегабайт. Пиздец же, не? Почему не 10? Не 2?
Аноним 19/03/20 Чтв 20:36:56 1637379402
>>1637314
Помнится, в шкалке на олимпиадке по информатике было 2. Но это тоже сравнительно дохуя для задач, решающихся в 5 переменных.
Аноним 19/03/20 Чтв 20:43:26 1637387403
>>1637379
Я помню одну олимпиаду с лимитом вроде в 8Мб. Там была задача, где поле в память не влезало.
Пришлось паковать биты - единственный случай в моей жизни, где мог бы пригодиться вектор булов, но в то время я писал только на С и отлично себя чувствовал
Аноним 19/03/20 Чтв 20:45:02 1637389404
>>1637387
Вот он, нанохайлоад.
Аноним 19/03/20 Чтв 23:25:01 1637536405
изображение.png (5Кб, 262x293)
262x293
Можно ли как-то сделать в деструкторе класса удаление собственных объектое?
Аноним 19/03/20 Чтв 23:26:02 1637539406
>>1637536
Я там тильду забыл, ну да похуй.
Аноним 19/03/20 Чтв 23:36:05 1637550407
>>1637536
Деструктор для этого и существует как бы. Его задача - чистить память, связанную с объектами класса.
Аноним 19/03/20 Чтв 23:40:36 1637553408
>>1637550
Но можно ли реализовать удаление объекта в деструкторе самого объекта?
Аноним 19/03/20 Чтв 23:51:16 1637554409
J
Аноним 19/03/20 Чтв 23:54:17 1637557410
Аноним 20/03/20 Птн 00:04:11 1637563411
Вы на QT пишете десктоп?
А GTK-шники есть еще или они вымирают?
Особенно линукс интересует.
Аноним 20/03/20 Птн 00:06:58 1637564412
тип метод();
Так можно делать в описании класса? Метод возвращает переменную(объект) указанного типа.
Аноним 20/03/20 Птн 00:11:07 1637567413
>>1637553
Ты про delete this что ли? Никогда тпк не делай. И осиль смартпоинтеры.
Аноним 20/03/20 Птн 00:14:25 1637572414
>>1637567
Как раз про них и вспомнил, но решил тут спросить, может про this что подскажут. Что за тпк? И почему не делай? Покажи на примере куска куда, как именно не надо, ты говоришь, делать. И почему.
Аноним 20/03/20 Птн 00:16:51 1637573415
Аноним 20/03/20 Птн 00:44:44 1637591416
>>1637567
>осиль смартпоинтеры
Чтобы писать на JS прямо из под крестов?
Аноним 20/03/20 Птн 00:54:00 1637597417
Хранение произвольной лямбды, как член класса. Возможно? std::function не предлагать.
Аноним 20/03/20 Птн 00:55:15 1637598418
>>1637536
Нет. Гугли смартпоинтеры, к ним можно кастом аллокатор и делитер прикрутить.
Аноним 20/03/20 Птн 01:02:18 1637601419
>>1637591
Лучше уж разводить JS в крестах, чем из-за эксепшена насладиться утечкой памяти.
Аноним 20/03/20 Птн 01:37:40 1637620420
Аноним 20/03/20 Птн 04:13:56 1637636421
>>1637620
При том же, что и твоя будущая профессия.
Аноним 20/03/20 Птн 07:08:47 1637666422
>>1637597
Делай класс шаблонным где тип - это тип лямбды
Аноним 20/03/20 Птн 07:18:21 1637667423
>>1627129
Да и хуй на него. на самом деле нет
Аноним 20/03/20 Птн 07:18:54 1637668424
>>1627181
Я работаю, мне норм.
Аноним 20/03/20 Птн 07:56:41 1637677425
>>1637666
Вот только у каждой лябмды свой тип. Пусть использует std::function и не выебывается.
Аноним 20/03/20 Птн 08:36:07 1637692426
>>1637677
This.
хотя можно кастануть указатель на лямбду к void*
Аноним 20/03/20 Птн 08:38:09 1637693427
Аноним 20/03/20 Птн 12:41:04 1637844428
>>1637171
Инсталляторы.
Гуй на известном в узких кругах фреймворке и тонны логики по общению с системой, драйверами, сервисами.
Аноним 20/03/20 Птн 12:50:13 1637855429
1457215664550.png (208Кб, 1517x1007)
1517x1007
>>1637591
>Чтобы писать на JS прямо из под крестов?
Da.
Аноним 20/03/20 Птн 13:12:34 1637891430
>>1637636
Но я уже шестой год зарабатываю деньги сиплюсплюсом. Причем тут JS?
Аноним 20/03/20 Птн 14:16:42 1637985431
изображение.png (931Кб, 1020x649)
1020x649
>>1637572
>Что за тпк?

Транспортно - пусковой контейнер

Для стратегической стрельбы в ногу стратегической байторакетой.
Аноним 20/03/20 Птн 14:45:30 1638020432
.png (1Кб, 201x27)
201x27
Как это работает?
Аноним 20/03/20 Птн 15:11:28 1638065433
Screenshot2020-[...].png (34Кб, 416x443)
416x443
Хочу тут пройтись по БД, используя итераторы. Никакими библиотеками, кроме сишного sqlite3, не пользуюсь. Итераторы - для того, чтобы не возвращать целый вектор, который может не влезть в оперативочку.

И вот, оформляя API, столкнулся с тем, что как-то уж очень сложно получаются итераторы. Я все правильно делаю? На каждый запрос получается нужно создать аж по два класса: класс, реализующий простые однострочные begin/end, и класс, реализующий операторы.
Аноним 20/03/20 Птн 15:47:56 1638142434
Аноним 20/03/20 Птн 15:51:30 1638154435
>>1638142
Не могу понять как указатель приводится к ссылке.
Аноним 20/03/20 Птн 16:05:21 1638179436
>>1638154
По сути это создание ссылки на указатель. Такой синтаксис. Тоже самое в аргументах функций происходит, когда ты передаешь аргумент по ссылке - там объект кастится в ссылку на этот объект. Конретно в таком как у тебя виде его мало используют. Но оно со всем работает https://ideone.com/F99SH3
Аноним 20/03/20 Птн 16:17:49 1638194437
>>1638065
> класс, реализующий простые однострочные begin/end
В общем случае это будет класс контейнер который хранит колекцию результатов. А так как у тебя контейнера нет то у него мало работы. Скорее всего можно легко сделать его шаблонным.
Аноним 20/03/20 Птн 17:02:02 1638247438
уважаемые крестоносцы
вопрос такой
я переехал к вам с шарпов, поэтому не все шарю. Как трушнее подключать либы: через симейк или просто ебашить в папку с проектом?
Аноним 20/03/20 Птн 17:04:05 1638249439
Аноним 20/03/20 Птн 17:07:35 1638254440
Аноним 20/03/20 Птн 17:09:22 1638256441
>>1638254
и то и то кроссплатформенно
Аноним 20/03/20 Птн 17:11:30 1638257442
Аноним 20/03/20 Птн 18:04:26 1638286443
Аноним 20/03/20 Птн 18:32:55 1638310444
Сап Аноны, недавно вкатился в изучение C++ и столкнулся с такой проблемой, getline() не работает в switch. Поискав решение проблемы в интернете, я нашёл решение проблемы, но внятного объяснения почему так, а не по другому и как это вообще работает - я не нашёл. Аноны, подскажите, что такое cin.ignore(), cin.clear() и cin.sync(). С меня чай.
Аноним 20/03/20 Птн 18:41:45 1638314445
>>1638310
>getline() не работает в switch
Потому что switch работает только на целые числа, а не строки.
Потому что getline() не возвращает значением строку, а записывает ее в параметр.
>cin.ignore(), cin.clear() и cin.sync()
Этим все равно никто не пользуется.
Аноним 20/03/20 Птн 18:45:33 1638316446
>>1638314
Я понимаю, что в switch целое число, речь о том, что я не могу считать строку в свитче без выше перечисленного. В моём случае cin.sync и cin.cleaar
Аноним 20/03/20 Птн 19:29:16 1638349447
>>1638316
Я не знаю что такое getline в свиче.
Аноним 20/03/20 Птн 19:41:14 1638365448
>>1638316
У тебя cin перед switch, да? Он передает из потока только символы без \n. Когда доходит до твоего гетлайна, он сразу берет из потока этот \n и ты не можешь ничего ввести поэтому.
Добавь сразу после строки с cin cin.ignore();
Аноним 20/03/20 Птн 19:41:17 1638366449
>>1638310
Телепаты в отпуске, хз про что ты.
Аноним 20/03/20 Птн 19:48:49 1638378450
image.png (7Кб, 620x119)
620x119
Аноним 20/03/20 Птн 19:50:57 1638385451
>>1638365
Почему лучше использовать ignore(), а не sync()?
Аноним 20/03/20 Птн 19:55:24 1638392452
>>1638385
cin.ignore отбрасывает символы, вплоть до указанного числа, или до тех пор, пока не будет достигнут разделитель (если он включен). Если вы вызываете его без аргументов, он отбрасывает один символ из входного буфера.

Например, cin.ignore (80, '\n') будет игнорировать либо 80 символов, либо столько, сколько они найдут, пока не нажмет на новую строку.

cin.sync отбрасывает все непрочитанные символы из входного буфера. Однако в каждой реализации это не гарантируется. Поэтому ignore - лучший выбор, если вы хотите согласованности.
Аноним 20/03/20 Птн 20:18:09 1638417453
213.PNG (21Кб, 1049x209)
1049x209
Приветствую, запускаю с++ код с помощью VS Code, вроде все было норм (хотя я овердофига времени потратил на установку компилятора(ов), а в итоге через расширение Code Runner запускаю код (хз, нашло ли это расширение у меня компилятор и его юзает или там встроенно что-то))
Когда запускаю через Code Runner , там видно, что это g++ (который я поставил и пытался подружить с вс кодом, но чет не вышло). А у g++ есть такая фишка как #include <bits/stdc++.h>, но встроенный IntelliSense жалуется на него (он от майков). В настройках плагина С++ пытаюсь изменить положение компилятора, чтоб интелисенс не жаловался, но вылезает такая проблема. Кавычки везде пробовал - не работает. В гугле что-то непонятное (сори если туплю).
Можете помочь? Или есть способы запуска с++ кода лучше, чем те, что у меня?
Аноним 20/03/20 Птн 20:20:55 1638419454
>>1638417
> vs code
Удаляй этот блокнот, и ставь нормальное иде - CLion/Qt Creator
Аноним 20/03/20 Птн 20:46:35 1638440455
>>1638417
Пчел, ну ты даёшь.
Ставить vscode на windows, да ещё и g++, это просто пиздец
Аноним 20/03/20 Птн 20:49:46 1638446456
Аноним 20/03/20 Птн 20:52:32 1638450457
Аноним 20/03/20 Птн 20:56:31 1638461458
VIM
Аноним 20/03/20 Птн 20:57:58 1638467459
Аноним 20/03/20 Птн 21:38:21 1638527460
Аноним 20/03/20 Птн 23:37:48 1638711461
Анон, расскажи про C++ и веб-сервисы. Как так получилось, что ничего не получилось? Вот можно же FastCGI использовать, в теории очень даже пиздато будет, почему же всем похуй?
Аноним 21/03/20 Суб 01:30:22 1638808462
>>1637666
Я так и сделал, лютый кастыль, но работает. Хотелось бы рассмотреть другие варианты.

>>1637677
Вообще эту проблему должен решать темплейт аргумент дидакшен, но чето нихуя. Пофиксил через decltype(lambda).
std::function оверхед + оверинжинеринг, вот когда std::function_ref запилят, тогда можно будет подмуать.


Аноним 21/03/20 Суб 02:02:18 1638848463
Ебал я эти хитровыебанные коллизии скобочной инициализации и списков инициализации. Хули нельзя было запилить нормальный синтаксис {{1, 2, 3}}, а не играть в угадайку, какой конструктор вызовется?
Аноним 21/03/20 Суб 03:56:39 1638868464
>>1638417
Зачем этот пердолинг с компиляторами и расширениями? Просто ставишь вижуал студию комьюнити, и всё.
Аноним 21/03/20 Суб 04:05:22 1638870465
>>1638419
>Qt Creator
>Qt
Говнари пытались косплеить Эппл с их
>"изобретем свой язык со своими шлюхами? njkmrj e нас"
и предсказуемо обосрались. Кому нужна анальная залупа на неанальной платформе.
Аноним 21/03/20 Суб 06:48:29 1638884466
>>1638870
IDE то тут причем, дебилушка? Они уже взаимодействие с языковыми серверами прикрутили, что бы в идеале вообще на любом языке писать можно было.
Аноним 21/03/20 Суб 06:57:48 1638885467
>>1638884
>взаимодействие с языковыми серверами прикрутили
Какие еще, в жопу, сервера.
>что бы в идеале вообще на любом языке писать можно было
Вот когда воплотится в реальность, тогда и кукарекай, а пока свои шизоидные фантазии держи при себе.
Аноним 21/03/20 Суб 07:31:49 1638887468
>>1638885
>кококо покпок кукареку
Аноним 21/03/20 Суб 07:35:58 1638888469
Бамп
21/03/20 Суб 08:19:44 1638892470
>>1638711
Слишком сложно для жс-питухов.
Аноним 21/03/20 Суб 09:31:28 1638906471
>>1638711
Нужны квалифицированные кадры, а это непрактично, удобнее когда тупые макаки справляются.
Аноним 21/03/20 Суб 09:35:25 1638908472
>>1638711
Потому что веб-бляди должны страдать
21/03/20 Суб 10:02:27 1638914473
>>1638892
>>1638906
>>1638908
Чёт в голосину с крестоблядей, дефающих своё говно мамонта одной и той же мантрой РРРРЯЯЯ НИАСИЛЯТОРЫ

Крестобляди, крестобляди never change.



мимошёл
Аноним 21/03/20 Суб 10:15:29 1638921474
>>1638914
Настолько говно мамонта, что живее всех живых.
Аноним 21/03/20 Суб 11:10:52 1638955475
>>1638711
все получилось? Бэк фейсбука на С++. бэк яндекса на С++, дохуя подобного ХУЙЛОАДА в больших конторах - на С++.
Аноним 21/03/20 Суб 11:24:52 1638964476
>>1638955
и еще есть слушок, что Озон суровый хуйлоад хочет перевести на кресты с ГОвна, с приходом Александра Фокина
Аноним 21/03/20 Суб 12:05:04 1638981477
>>1637171
ничего не пишу как вкатиться в эту залупу
Аноним 21/03/20 Суб 13:17:39 1639036478
Аноним 21/03/20 Суб 13:59:05 1639067479
Почему я могу сделать специализацию шаблона хеш класса для своего класса, но например для string не могу?
Аноним 21/03/20 Суб 15:02:46 1639164480
>>1638955
>>1638964
Ясно.
А в каком виде все это делается? Типа, крутится на веб-сервере какое-нибудь java-приложение, которое обрабатывает HTTP-запросы; а когда этому приложению надо что-то суровое посчитать, оно по RPC обращается (напрямую или через очередь сообщений) к уже висящему в памяти написанному на плюсах 32-поточному чудовищу?
Аноним 21/03/20 Суб 16:10:12 1639270481
image.png (66Кб, 1366x768)
1366x768
Почему не хочет?
Аноним 21/03/20 Суб 16:12:27 1639275482
21/03/20 Суб 16:13:09 1639279483
Аноним 21/03/20 Суб 16:14:48 1639280484
>>1639279
Бля. я лошара. До этого он просто ругался на отсутствие этой функции
Аноним 21/03/20 Суб 16:15:00 1639282485
>>1639270
Смотришь сообщение об ошибке
Смотришь в доки какие же там параметры
21/03/20 Суб 16:18:20 1639294486
Аноним 21/03/20 Суб 16:20:19 1639301487
>>1639164
просто буст асио поллит серверный сокет и вся логика внутри.
Аноним 21/03/20 Суб 16:56:15 1639333488
Можно в плюсах использовать отступы вместо {}?
Аноним 21/03/20 Суб 17:04:46 1639336489
Аноним 21/03/20 Суб 17:10:43 1639339490
>>1639067
Потому что std::string это уже специализация.
Аноним 21/03/20 Суб 17:17:22 1639345491
>>1639333
Можешь простенький препроцессор написать сам
Аноним 21/03/20 Суб 17:27:00 1639353492
>>1639333
Подожди C++30, там будет полноценный компайлтайм, и можно будет перед компиляцией получить весь исходник в виде массива байт, передать его своему коллбеку и изменять как хочешь. Как в Perl
Аноним 21/03/20 Суб 17:41:40 1639366493
>>1628929
Теперь поддержка стабильных версий платная.
Аноним 21/03/20 Суб 19:13:29 1639451494
У меня есть шаблонная функция с такими параметрами (std::vector<T>&, T), и компилятор почему то не может подобрать шаблон при вызове ее с аргументами (vector<string>, "test"), почему?
Аноним 21/03/20 Суб 19:24:00 1639462495
>>1639451
Потому что "test" это const char*, а не string. T != T
Аноним 21/03/20 Суб 19:25:45 1639463496
Аноним 21/03/20 Суб 19:30:50 1639465497
>>1638808
А типа lambda это не оверхед + оверинжинеринг? Ок лол. Ты бенчмарки погоняй, говорят что если с параметрами не мудрить сильно то std::function работает так же быстро как и виртуальная функция.
Аноним 21/03/20 Суб 19:34:27 1639470498
>>1638249
CMake умеет подкачивать из GIT репозиториев, например.
Аноним 21/03/20 Суб 19:53:01 1639485499
p5y02dzgcgl41.jpg (124Кб, 960x640)
960x640
>>1626937 (OP)
Давайте на следующем перекате уже заменим картинки на что-нибудь симпатичное.
Аноним 21/03/20 Суб 19:58:27 1639492500
Что плохого в отказе от совместимости abi? Это же не апи меняют, код останется прежним.
Аноним 21/03/20 Суб 20:04:40 1639495501
>>1639492
Вот бы ещё все уже скомпилированные либы и все их копии магически перекомпилировались новым компилятором. А сейчас придётся очень внимательно следить за версиями всех либ, и не дай бог ещё придётся с новыми либами вынужденно юзать старые либы, когда новые версии не устраивают на уровне апи.
Аноним 21/03/20 Суб 20:11:22 1639503502
>>1639492
Писателям laba1 ничего, а банкам стремно перекомпилировать весь код, а вдруг что то не соберется.
Аноним 21/03/20 Суб 20:16:38 1639508503
>>1639495
Хуйня всё это. Какие есть варианты:
1) либа опенсорс - взял и пересобрал
2) либа не опенсорс, есть исходники - взял и пересобрал
3) либа не опенсорс, нет исходников - еби вендора, пусть пересобирает. Почему может не пересобрать? Потому что это древнее говно, тогда его нахуй нужно гнать, из проектов-то с c++23. Либо потому что вендор еблан, тогда бабло его покарает
Аноним 21/03/20 Суб 20:34:49 1639527504
>>1639508
> еби вендора
И сдвигай сроки релиза. Либо забивай на новые плюсы и сиди на говне мамонта.
Аноним 21/03/20 Суб 20:44:39 1639538505
>>1639508
Дело в том, что комитет и состоит из вендоров, лол.
Аноним 21/03/20 Суб 21:36:13 1639566506
>>1639270
>using namespace std;


Как хорошо, что ты не вкатишься к серьезным людям работать.
Аноним 21/03/20 Суб 21:47:53 1639576507
>>1639527
Пока не выбьешь, не обновляйся

Кстати, вот все говорят что у них там какая-то хуйня отвалится, если сломать ABI, но есть реальные примеры? Мне что-то сложно представить серьезную контору, которая покупает либы без исходников.
Аноним 21/03/20 Суб 22:02:38 1639605508
>>1639576
Почитай то, что Титус Винтерс про гугл писал, какие там эффорты должны быть при смене АБИ. Это при том, что Винтерс дико топит за смену АБИ
Аноним 21/03/20 Суб 22:13:44 1639614509
>>1639576
Наличие исходников ничего не гарантирует
Аноним 21/03/20 Суб 23:29:29 1639673510
>>1639566
Поясни про это поподробнее пожалуйста.
мимотольконачинаюизучатьязык
Аноним 21/03/20 Суб 23:49:35 1639689511
>>1639673
Неймспейсы специально придумали, чтобы снизить вероятность конфликта имён, а не чтобы их потом выключали. Вот будет в двух либах функция с одинаковым именем, и всё, пиздец, придётся искать, в каком из инклудов она проскочила. А с неймспейсами этого не будет.
Так что вместо using namespace лучше всегда явно писать std::string, std::cout и т д.

мимо
Аноним 22/03/20 Вск 00:06:34 1639698512
>>1639689
using namespace тоже ведь не просто так придумали, в небольших программах, как у анона выше, нет ничего предосудительного использовать это.
Аноним 22/03/20 Вск 00:26:26 1639709513
>>1639698
Да. И всё же лучше изначально готовить себя к большим проектам, где облегчить себе жизнь не удастся.
Аноним 22/03/20 Вск 09:33:12 1639789514
>>1639465
Что за чушь ты пишешь? Лямбда инлайнится в обычный вызов функции с параметрами на стеке, а std::function кроме виртуального вызова имеет еще дохуя бойлерплейта. Я бы и с указателем на функцию остался доволен, но тогда придется еще и аргументы отдельно в tuple хранить, а лямбда удобно все в один callable объект пакует.
Аноним 22/03/20 Вск 19:10:44 1640117515
>>1626937 (OP)
Как в Visual Studio 2019 Preview создать пустой проект WDM драйвера? Что для этого надо установить и как настроить среду?
Аноним 22/03/20 Вск 19:39:16 1640144516
расскажите почему Good night? какие подводные, как то повлияет на кроссплатформенность? на что вообще повиляет, что такое ABI, для чего нужно?

мимо нуфаг
Аноним 22/03/20 Вск 19:43:59 1640150517
>>1640144
> что такое ABI
Грубо говоря, изменится формат dll-ек, и новые не будут совместимы со старыми.

> для чего нужно
Для совместимости одних бинарных модулей с другими.

> какие подводные
Выше обсуждали.

> как то повлияет на кроссплатформенность
Нет. Раньше на всех платформах было всё было плохо, а теперь будет очень плохо.

> почему Good night
Нет.
Аноним 22/03/20 Вск 20:26:19 1640204518
>>1640150
спасибо добр человек

еще хотел бы спросить у всех, я кирилл, хочу игры учебные делать, но на linux, соответственно какой компилятор юзать, и какую либу
Аноним 22/03/20 Вск 20:34:52 1640212519
>>1640204
Компилятор - дефолтный g++
Либа - SFML.
Аноним 22/03/20 Вск 21:13:41 1640271520
Аноним 22/03/20 Вск 21:18:22 1640274521
Аноним 22/03/20 Вск 22:39:21 1640320522
Аноним 23/03/20 Пнд 03:26:45 1640436523
Есть ли способ обмазываться полиморфизмом подтипов "извне"?
Скажем, есть функция, принимающая указатель на Base, хочу сделать спецификацию для Derived1, Derived2,..., DerivedN.
Или только AD-HOC и dynamic_cast-ом приводить к нужному типу перед вызовом?

Аноним 23/03/20 Пнд 03:44:09 1640440524
>>1640150
>Грубо говоря, изменится формат dll-ек, и новые не будут совместимы со старыми.
Хмм, ну я и раньше считал, что кресты через длл работают только если всё откомпилено одним и тем же компилятором с одними и теми же настройками. То есть, ничего не изменилось?
Аноним 23/03/20 Пнд 04:04:53 1640442525
>>1640440
Если сменить abi то количество комбинаций настроек удвоится, очевидно. Как сейчас есть mutithread/singlethrrad, debug/release, станет еще prec++23/postc++23
Аноним 23/03/20 Пнд 04:18:20 1640447526
Вот у меня есть шаблонная функция, которая должна принимать класс и создавать его экземпляр внутри себя:
template<typename T> int Func() {
T t; t.func();
}
class T {public: void func();};
Func<T>();

Но пользователь может передать не имя класса, а экземпляр
T t;
Func<t>();

Как сделать чтобы он этого не мог? Понятно что оно всё равно работать не будет, но хочется сделать красивее

есть же всякие std::enable_if
Аноним 23/03/20 Пнд 04:20:43 1640449527
>>1639275
>return 0;
>не?
по стандарту функция int main() не обязана возвращать что-либо (и это единственное исключение)
Аноним 23/03/20 Пнд 09:50:32 1640504528
Посаны. Знаю Джаву. Точнее думал как, вот выучу её, весь учебник и будет охуенно. Но получилось немного не круто. Не зашла она в итоге, но что-то простое накалякать могу. За какое время можно освоить плюсы более-менее, чтобы устроиться на работу джуниором/стажёром?
Аноним 23/03/20 Пнд 10:00:13 1640510529
>>1640504
> За какое время можно освоить плюсы
Года два
Аноним 23/03/20 Пнд 11:00:40 1640531530
image.png (21Кб, 460x346)
460x346
image.png (34Кб, 347x796)
347x796
image.png (23Кб, 360x554)
360x554
не конпеляется в vs 2017 community, шо надо установить в vs installer 2017 для win 7, скочял тонны говна так оно еще и не работает, на втором скрине отмечено шо я установил, третий скрин продолжение второго
Аноним 23/03/20 Пнд 14:29:52 1640689531
библиотека для работы с json
Аноним 23/03/20 Пнд 14:42:09 1640699532
>>1640689
nlohmann json

>>1640531
Очень похоже на захардкоженные пути в проекте на виндовс сдк определенной версии.
Аноним 23/03/20 Пнд 14:58:54 1640709533
>>1640531
>>1640699
Да нет, тут пациент пытается скомпилить некрокод под древней студией под древней ОС
Аноним 23/03/20 Пнд 16:00:47 1640744534
может ли в json весь файл быть массивом? т. е. начинается файл [, а заканчивается ]
Аноним 23/03/20 Пнд 17:01:12 1640793535
Аноним 23/03/20 Пнд 17:04:09 1640799536
>>1640709
Предпоследняя версия винды и студии это теперь древняя? Ну это уже толстота, алсо у меня все работает на вин7+vs2017/vs2019
Аноним 23/03/20 Пнд 17:09:50 1640804537
>>1640744
Вроде бы по спекам может, но на практике не используется из за какой то уязвимости в браузерах.
Аноним 23/03/20 Пнд 17:52:43 1640840538
>>1640793
>>1640709
>>1640699
ну у мну всё работает теперь, нахуевертил там чот, нахера столько легаси пакетов просто в ахуе, в 7-й венде выбрал сдк для вин 10, фак логик, куча всякого говна накатил чтобы unreal project сконпелять. Вин 10 религия не позволяет ставить, надо будет на линухе затестить.
Аноним 24/03/20 Втр 02:40:19 1641237539
>>1640744
C++ тут при том, что..?
Аноним 24/03/20 Втр 07:02:15 1641265540
Всем здрасте, решил я вкатится в программирование и выбрал собственно язык С++ и у меня такой вопрос... С чего начинать? Я скачал на рутрекере видосы с обучением для новичков, посмотрел их, усвоил, но что дальше? Во всех гайдах рассказывают только про циклы, массивы и т.д И вот уже пару дней сижу и думаю как дальше изучать то, может вы что подскажите.
Аноним 24/03/20 Втр 11:23:34 1641361541
>>1640447
>пользователь может передать не имя класса, а экземпляр
При желании может хоть хуй сломать об одеяло.
Тем более что передать-то и не может. Ты сам-то пробовал скомпилировать что написал?
Аноним 24/03/20 Втр 12:15:37 1641419542
Когда wstring уже будет нормально работать?
Аноним 24/03/20 Втр 12:39:05 1641449543
>>1641419
он нормально работает
Аноним 24/03/20 Втр 12:57:15 1641468544
>>1640447
Вроде еще не 1 апреля.
Аноним 24/03/20 Втр 14:04:57 1641521545
Аноним 24/03/20 Втр 16:30:10 1641647546
>>1641419
Что тебя не устраивает?
Аноним 24/03/20 Втр 19:04:04 1641789547
Аноним 24/03/20 Втр 19:42:24 1641865548
for(int x : xs) - это что за итератор?
Аноним 24/03/20 Втр 20:13:29 1641893549
>>1641865
Ты посмотри во что range-based for loop раскрывается, и поймёшь.
Аноним 24/03/20 Втр 20:26:10 1641905550
>>1641893
Все, нашел, это C++11 фича. Кстати как vector инициализировали до 11й версии? Только через push_back?
Аноним 24/03/20 Втр 20:26:45 1641906551
>>1641905
либо преаллокация и поэлементное присваивание
Аноним 24/03/20 Втр 21:07:44 1641959552
>>1640436
Были разговоры завезти double/multiple dispatch но пока костылится паттерном визитор.
Аноним 24/03/20 Втр 21:16:13 1641971553
Аноним 24/03/20 Втр 22:13:15 1642048554
>>1641265
>решил я вкатится в программирование и выбрал собственно язык С++
Зачем? Больших денег ты тут не найдешь, если не суперспец в определённых предметных областях, вкатываться долго, вакансий со временем всё меньше, зарплаты падают.
>С чего начинать?
Со вката во что-нибудь из java/js+react/golang/php. Там не нужны серьезные знания в камплюхтер саенс, вкатывание может занять год или даже меньше при должном усердии.
Аноним 25/03/20 Срд 00:41:46 1642184555
>>1642048
Катись на хуй в java. Плюсы это хуевый первый язык для программирования (как и си). Сейчас везде объектная параша, так что я бы советовал такой путь
1. Python, сразу можно блять получить результат, пощупать программирование, твое не твое. Познакомиться с объектами, скриптами, структурами данных и админ и инженер и хуй пойми кто может попробовать.
2. Тут наверное Java - можно просто палкой потыкать пару месяцев, синтаксис классов, хуясов и т.д.
3. Си - для с++ это обязательно, только парадокс, си перед си++ мешает программированию на си++ т.к. объектная модель должна крепко уложиться в голове, а си этому не способствует, зато идет лучшее понимание архитектуры и вообще всего си++.
Аноним 25/03/20 Срд 00:46:35 1642186556
>>1642184
Но С — отличный первый язык программирования. Там всё такое.. програмистское. А питон — плохонький. В С всё понятно, вот тебе скобочки, вот тебе индексы, а в питоне какие-то значимые пробелы, листовая механика циклов. Непонятно, что важно, а что нет.
Аноним 25/03/20 Срд 02:42:07 1642197557
>>1641419
Ненужное говно ненужно
Аноним 25/03/20 Срд 02:42:41 1642198558
Аноним 25/03/20 Срд 04:19:46 1642225559
Работотадель в одном из требований к тестовому указал "написать инструкцию по сборке". Что это может означать, при условии, что в проекте 3 файла и все заголовки из STL?
Аноним 25/03/20 Срд 04:35:21 1642227560
Аноним 25/03/20 Срд 19:31:05 1642704561
image.png (236Кб, 1392x860)
1392x860
>>1637597
В с++20 завезли. Пикрилейтед.
Аноним 26/03/20 Чтв 00:55:01 1642865562
>>1642704
АХуеть какая важная фича, как же я без нее жил то!
Аноним 26/03/20 Чтв 19:14:32 1643363563
image.png (156Кб, 498x490)
498x490
Та как учить этот ебаный многопоток то блять?!
Уже больше года изучаю плюсы, в шаблонах освоился, в ООП, паттернах и прочей хуйне освоился, даже к смейку и уб привык. А вот многопоток меня всегда стороной обходил, всегда хватало асинкнуть что-то или детачнуть тред, и в принципе на том и доволен. А вот сейчас решил изучить эту тему и вообще нихуя не понимаю что мне делать. Аноны, как вы мастерили многопоток? Я устал пилить threadsafe_контейнернейм и тредпулы, посоветуйте что-то реальное задачу то есть, где будет упор именно на многопоток, чтобы не сильно на другое отвлекаться.
Аноним 26/03/20 Чтв 19:15:19 1643365564
>>1642865
Алсо, фича действительно неплохая, теперь можно в 20 строк написать constexpr счётчик на лупхолах, который работает на всей троице.
Аноним 26/03/20 Чтв 19:33:01 1643381565
image.png (458Кб, 1318x808)
1318x808
Вроде проблема решена, но ведь нет. Как мне этот err реюзать? Не буду же я каждый раз новую переменную с новым именем делать.
Аноним 26/03/20 Чтв 20:10:53 1643413566
>>1643381
Решена, у тебя хуевый гайд.
if (auto [err, val] = f(); !err) / use val /;
Аноним 26/03/20 Чтв 20:38:17 1643455567
Аноним 27/03/20 Птн 00:31:57 1643639568
>>1643413
Я скорее всего захочу использовать результат вызова функции вне локального скопа.
Аноним 27/03/20 Птн 08:29:46 1643698569
>>1643639
Т.е. даже при ошибке? Удачи.
Аноним 27/03/20 Птн 08:59:47 1643704570
Что можно написать, чтобы охватить как можно больший спектр возможностей крестов?
Аноним 27/03/20 Птн 10:35:23 1643734571
Аноним 27/03/20 Птн 10:53:03 1643740572
image.png (6Кб, 346x196)
346x196
Аноны, простите за тупость вопроса, но как реализовать платформо- и кодировко- независимое сравнение символов?
И еще вопрос, path путь и в windows и в linux же использует ASCII?
Аноним 27/03/20 Птн 10:59:57 1643741573
>>1631384
С сишным тоже range-based for работает.
Аноним 27/03/20 Птн 11:55:10 1643766574
>>1643704
Операционную систему, наверное.
Аноним 27/03/20 Птн 11:55:57 1643768575
Как сделать самое быстрое чтение бинарное файла?
Аноним 27/03/20 Птн 12:25:08 1643800576
1532208702917.png (6Кб, 152x54)
152x54
>>1643740
>path путь и в windows и в linux же использует ASCII?
Нет, в общем использует Unicode... Посмотри в сторону std::filesystem, но я слышал он не на всех платформах поддерживается пока.
Аноним 27/03/20 Птн 12:50:20 1643839577
>>1643768
Отобразить его в память.
Аноним 27/03/20 Птн 13:12:56 1643864578
>>1643698
Причем тут ошибка? Т.е ты мне предлагаешь городить дохуя вложенных if конструкций? Это code smells, при ошибке я хочу завершить работу функции, в ином случае продолжить. if (err) return err, а не if (!err) ... .
Аноним 27/03/20 Птн 13:45:53 1643905579
>>1643864
И как ты предлагаешь области видимости "забыть" про переменную? Давай предложи свой синтаксис, поугараю немного
Аноним 27/03/20 Птн 13:59:17 1643908580
>>1643864
>Причем тут ошибка? Т.е ты мне предлагаешь городить дохуя вложенных if конструкций?
Блядь, тебе вирус уже мозг съел.
Аноним 27/03/20 Птн 14:01:16 1643909581
Аноним 27/03/20 Птн 14:46:05 1643929582
>>1643905
Стандартный windows style C-code.

>>1643908
Получится вот такая хуйня, а если там еще какие условия есть, то вообще лапша лапшой. https://godbolt.org/z/kAjWPV

Короче это неюзабельный вариант.
Аноним 27/03/20 Птн 14:56:32 1643931583
>>1643929
Долбоёб...
auto ret = foo();
if (ret.second)
{
const auto &val = ret.first;
MoYaFuNkCiYa(val);
...
}
auto ret2 = bar()
...
Итогдалие
Аноним 27/03/20 Птн 15:00:07 1643932584
>>1643931
> ret2
> const auto &val = ret.first;
Ну так это же говнокод, причем лютый. Лучше уж просто писать на сях в таком случае.
Аноним 27/03/20 Птн 15:02:02 1643934585
>>1643932
>Лучше уж просто писать на сях
Да, ето так.
Аноним 27/03/20 Птн 15:15:12 1643939586
>>1643864
Вообщет
err1=func1()
if(err1) return err
err2=func2()
if(err2) return err2
func3()
return d3
тоже смеллс
Аноним 27/03/20 Птн 15:20:41 1643942587
>>1643939
Вообще то там:

my_error err;
err = func1();
if (err) return err;
err = func2();
if (err) return err;
...

Разница есть как бэ.
Аноним 27/03/20 Птн 15:24:57 1643944588
>>1643942
return должен быть только один в конце, это полезно для оптимизаций и для поддержки безопасного кода.
Аноним 27/03/20 Птн 15:39:01 1643957589
Аноним 27/03/20 Птн 21:45:55 1644144590
Компилятор VS2019 сыпет ошибками LNK2019, я так понимаю это что-то с линковкой, но не пойму что не так. Указывал путь до папки с либами в SDK, но не момогает. Как фиксить?
Аноним 27/03/20 Птн 22:32:02 1644178591
Аноним 27/03/20 Птн 23:12:55 1644213592
1585339975670.jpg (101Кб, 720x1280)
720x1280
Аноним 27/03/20 Птн 23:15:15 1644216593
Аноним 27/03/20 Птн 23:46:35 1644241594
>>1644144
нам ошибки угадывать?
Аноним 28/03/20 Суб 01:21:01 1644290595
Кто-нибудь пробовал юзать Anki для С++ ?
Аноним 28/03/20 Суб 08:36:48 1644361596
Аноним 28/03/20 Суб 09:55:54 1644391597
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов