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

С++ thread #131 /cpp/

 Аноним 14/09/21 Втр 18:06:19 #1 №2157621 
image.png
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

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

Для указателей: ⚹
Прошлый тред: https://2ch.hk/pr/res/2111351.html#2156767
Аноним 14/09/21 Втр 18:21:51 #2 №2157638 
Вечер в хату
Аноним 14/09/21 Втр 18:24:55 #3 №2157642 
C++ лучше чем раст и шарп.
Аноним 14/09/21 Втр 18:25:51 #4 №2157645 
Джава лучше чем c++
Аноним 14/09/21 Втр 18:30:19 #5 №2157648 
py.png
>>2157645
>>2157642
Аноним 14/09/21 Втр 18:54:46 #6 №2157675 
Ну, как новости? Имена переменных более чем из одной буквы завезли?
Аноним 14/09/21 Втр 18:58:55 #7 №2157681 
>>2157675
Да, два символа, но второй может быть цифрой.
Аноним 14/09/21 Втр 19:12:06 #8 №2157704 
>>2157642
>>2157645
вам туда --> >>2150451 (OP)
Аноним 14/09/21 Втр 20:05:25 #9 №2157776 
Чем является итератор? Например, в векторе? Это то, что хранит тип данных и текущий офсет от begin()? Или это все-таки поинтер? Ведь обычно мы разыменовываем итератор звездочкой, чтобы получить элемент, на которой он указывает.

vector<int> a;
a.push_back(10);
vector<int> b;
b.push_back(20);

for (auto it = a.begin(); it != a.end(); ++it)
{
cout << ⚹it << ‘\n’;
a = b;
}

Output:
10

Здесь я ожидаю что-то вроде бесконечного цикла, потому что итератор был инициализирован итератором вектора a, который указывал на начало оного. На первой же итерации делаю a = b, таким образом, так как цикл должен работать, пока итератор оригинального вектора a не будет равен его end(), он должен итерироваться по всей озу, пока не надет нужный адрес ячейки. Однако происходит всего одна итерация.
Аноним 14/09/21 Втр 20:11:14 #10 №2157785 
>>2157776
>Чем является итератор?
Итератор является итератором...

>Ведь обычно мы разыменовываем итератор звездочкой, чтобы получить элемент, на которой он указывает.
Просто определен operator⚹()

>Здесь я ожидаю что-то вроде бесконечного цикла
Это UB
Аноним 14/09/21 Втр 20:14:48 #11 №2157790 
2474CCC5-3935-416B-BAFB-2ECB27411E42.jpeg
>>2157776
Бля, я перегрелся от плюсов. Уже сам понял, в чем моя ошибка, пока писал сообщение: там же после каждой итерации a.end() будет получать end вектора b, так что все ок.
Тогда объясните еще такой вывод. Правильно понимаю, что тут из-за ресайза такое получается и может ебнуть access violation, там, где он начинает печатать нули до последнего нуля включительно?
Аноним 14/09/21 Втр 20:24:28 #12 №2157807 
>>2157793
>2. ебучие исключения которые работают по умолчанию, и что вся стандартная библиотека написана так, предполагая их использование. еще не завезенный std::expected приходится пилить свои велосипеды.
Нахуй пойди со своим говном. Исключения - топчик.

>4. Уебищные макросы, которые приходится городить если хочешь запилить свой логер, с компайл тайм верификацией формата, к тому же макросы единственный способ получить Source location откуда этот лог вызывается, чтобы скрыть всю имплементацию внутри удобной функции аля LOG_ERROR("Error: {}", err)
https://en.cppreference.com/w/cpp/utility/source_location

>6. Отсутствие встроенных высококоуровневых утилит для работы с сетью, приходится инклюдить мамонтов аля буст азио или бус бист, котоыре тянут за собой половину остального буста.
Ссу тебе в ротешник, буст асио требует только буст систем.

>9. Бесит std::move не обнуляющий примитивные типы после мува.
Убейся блядь.

>11. Ебучие инклюды, в С++20 пришла замена в виде модулей.
Модули нахуй не всрались
Аноним 14/09/21 Втр 20:25:25 #13 №2157810 
>>2157790
> там же после каждой итерации a.end() будет получать end вектора b, так что все ок.
Я опять поторопился. Сейчас понял, мое изначальное предположение было правильным, и я этот факт уже учитывал. Лол. Так что вопрос актуален + хочу объяснение того пика, который скинул.
>>2157785
> Это UB
Почему это ub?
Аноним 14/09/21 Втр 20:29:29 #14 №2157820 
image.png
>>2157810
>Почему это ub?
https://en.cppreference.com/w/cpp/container/vector

Потому что присвоением ты инвалидировал все полученные ранее итераторы. И их использование теперь - UB

>>2157813
Съеби отсюдя блядь
Аноним 14/09/21 Втр 20:33:51 #15 №2157827 
Исключения нинужны.

MyClass x;
if (!x.init())
{
log("error");
return;
}
Аноним 14/09/21 Втр 20:35:52 #16 №2157832 
>>2157827
>Исключения нинужны.
ПАШОЛ НАХЮЙ!!!

Дрочи на свои коды возврата в другом местяе
Аноним 14/09/21 Втр 20:36:07 #17 №2157835 
>>2157776
>a = b;
У тебя копируется содержимое вектора, а не ссылка на него, тут тебе не жс или откуда ты там. Но вообще это UB поскольку вектор меняется и могут инвалидироваться итераторы.

А итератор это такая абстракция работы с коллекциями данных, которая в принципе может делать что угодно. Например inserter итераторы никуда не указывают, а вставляет значения в контейнеры. Ты можешь написать итератор который работает по сети с базой данных и он будет работать со всеми стандартными алгоритмами стл.
Аноним 14/09/21 Втр 20:37:35 #18 №2157837 
>>2157832
В каком?
Аноним 14/09/21 Втр 21:03:53 #19 №2157866 
>>2157854
Съеби отсюда школьник
Аноним 14/09/21 Втр 21:05:03 #20 №2157868 
>>2157854
>>2157866
Шизики, спок.
Аноним 14/09/21 Втр 21:21:37 #21 №2157878 
>>2157793
>джава это самый обрыганский, самые ебаный, ублюдский язык, даже не сам язык а просто вся эта инфраструктура его

В джаве она хотя бы обрыганская, но есть, а в С++ в принципе инфраструктуры нет...
Аноним 14/09/21 Втр 21:24:09 #22 №2157881 
>>2157793
большой скачек был бы если бы abi стандартизировали и как следствие стандартизированную динамическую загрузку классов
а все что сделали это добавили кучку синтаксического сахара чтобы было удобней делать шаблонную магию, добавление семантики вообще наверное только одно сделали - семантику перемещения ввели..
а так кресты в энтерпрайзе все и сдохли потому что не этого, а явка живет там и процветает
да че там, даже если хочешь сделать любую плагинную систему, в той же любой расширяемой игре, то будь готовь пердолить сишный код как 40 лет назад, по сути накручивая всю ту же компонентную модель на структурах и указателях на функции как в com или gtk
хотя нахуя я это написал, потому что кто это понимает, понимает и так, а кто не понимает, то посчитает мой текст шизофреническим бредом
Аноним 14/09/21 Втр 21:35:39 #23 №2157885 
>>2157881
>скачек
Ты обосрался уже во втором слове.
Аноним 14/09/21 Втр 21:39:29 #24 №2157886 
>>2157885
А мелкобуква норм, да?
Аноним 14/09/21 Втр 21:41:12 #25 №2157887 
>>2157886
Я закончил чтение на втором слове.
Аноним 14/09/21 Втр 21:46:53 #26 №2157893 
>>2157885
содержание важней формы
Аноним 14/09/21 Втр 21:50:26 #27 №2157896 
>>2157893
Лозунг всратых.
Аноним 14/09/21 Втр 21:54:08 #28 №2157900 
>>2157896
>всратых
ты, бля, в с++ треде, не думаю что тут обитают модельной внешности пареньки
Аноним 14/09/21 Втр 22:00:18 #29 №2157909 
.png
>>2157900
Здесь модельной внешности деффки, просто пишут в мужском роде, чтобы не требовали сап с датой.
Аноним 14/09/21 Втр 22:09:33 #30 №2157918 
Как cpp выводит int в консоль? Он постоянно делит и берет остаток по модулю 10?
Аноним 14/09/21 Втр 22:13:07 #31 №2157922 
>>2157918
Да, а как иначе?
Аноним 14/09/21 Втр 22:24:24 #32 №2157935 
>>2157881
>большой скачек был бы если бы abi стандартизировали и как следствие стандартизированную динамическую загрузку классов
и поломали бы существующий софт

>а так кресты в энтерпрайзе все и сдохли потому что не этого, а явка живет там и процветает
нет, у джавки был Сан, у Сана были Солярки и деньги. Собственно платформа+бабки = язык программирования. За плюсами никто не стоял и не пиарил.
Аноним 14/09/21 Втр 23:16:07 #33 №2157961 
56.png
>>2157909
Вот такие?
Аноним 15/09/21 Срд 00:15:56 #34 №2157996 
изображение.png
Если итератор инвалиднулся, ему можно новое значение присвоить? Самому итератору, а не туда, куда он указывает.
Аноним 15/09/21 Срд 00:49:59 #35 №2158009 
>>2157837
В С++ треде
Аноним 15/09/21 Срд 05:49:44 #36 №2158042 
>>2157996
Да, конечно. С итераторами вообще можно как угодно обращаться - копировать, перезаписывать. Они ж чаще всего просто хитрые указатели.
Аноним 15/09/21 Срд 07:36:09 #37 №2158052 
Вот бы поскорее фичи из раста спиздили в плюсы

удобные option и result, match еще очень хочется
и вместе со всем этим аналог карго
Аноним 15/09/21 Срд 08:49:52 #38 №2158073 
>>2158052
Вот будет смеху то, если borrow checker завезут.
Аноним 15/09/21 Срд 09:35:43 #39 №2158102 
аноны, что за синтаксис такой
auto&&
int count(const Container& container)
{
int sum = 0;
for (auto&& elt : container) {
sum += 1;
}
return sum;
}
Аноним 15/09/21 Срд 10:10:23 #40 №2158121 
>>2157793
>Отсутствие какой-либо высокоуровневой поддержки конкурентности, нету тред пулов
Экзекуторы уже почти готовы, потерпи чутка и всё будет в сторонней библиотеке от фейсбука или гугла
Аноним 15/09/21 Срд 10:12:08 #41 №2158128 
>>2158102
rvalue-ссылка с выводом типа?
Аноним 15/09/21 Срд 10:16:28 #42 №2158132 
>>2157881
>большой скачек был бы если бы abi стандартизировали
Так аби и так стандартизировано, читай мануал по SystemV и пиши что хочешь.
Аноним 15/09/21 Срд 11:51:10 #43 №2158210 
>>2158121
>в сторонней библиотеке от фейсбука или гугла
Ну так то в куте с 2008 года есть.
Аноним 15/09/21 Срд 12:11:21 #44 №2158229 
>>2158073
Спасибо не надо
И без него ебли с компилятором хватает

да и не получиться никак
Аноним 15/09/21 Срд 12:56:37 #45 №2158253 
>>2158042
Разобрался уже.
У меня в дебаге включена проверка итераторов и она не дает вообще ничего сделать с итератором, если решила, что он инвалид. Нельзя даже присвоить ему валидный итератор.
Аноним 15/09/21 Срд 15:13:48 #46 №2158383 
изображение.png
Как сделать, чтобы заработало?
В cmake версия языка 20
Аноним 15/09/21 Срд 15:20:56 #47 №2158394 
>>2158383
spaceship operator нужно написать самому в своем классе
он неприменим к простым типам
Аноним 15/09/21 Срд 15:26:33 #48 №2158398 
image.png
>>2158383
ну или используй как-то так я хз
Аноним 15/09/21 Срд 15:43:20 #49 №2158414 
>>2158398
Что-то у меня нет либы compare
Аноним 15/09/21 Срд 17:07:33 #50 №2158484 
Приятно видеть, что треды с няшной и плюсами висят на нулевой. Думал, только веб-макаки остались.
Аноним 15/09/21 Срд 19:02:28 #51 №2158574 
>>2158484
Один из самых популярных тредов
Не в последнюю очередь благодаря лабам
Аноним 15/09/21 Срд 20:17:23 #52 №2158621 
>>2158574
лабы идут нахуй
Аноним 15/09/21 Срд 23:57:08 #53 №2158726 
Стоит ли вкатываться в кресты?В ньфаг треде уже писал, но хочется узнать больше мнений. Дело в том, что сейчас я перешёл на второй курс и решил к его окончанию вкатиться хотябы в стажировку лучшим вариком кнш является работа джуном, но опыта работы у мя 0, так что хз. Сам я предпочитаю плюсы, и есть чутка опыта в шарпе и питоне.Проскролив разные вакансии и просмотрев чарты популярности языков, я задумался о том, что мб резоннее было вкатиться во что-то другое, ибо работы больше, да и разнообразнее она, ибо в дс2 дохуя вакансий на c++ со всяких заводов и около КБ.
Аноним 16/09/21 Чтв 01:46:09 #54 №2158778 
Каким надо быть уебаном чтобы сделать программу только для винды которая собирается только под Mingw?
Короче, хочу портировать её под нормальный компилятор, это сложно? Такой вопрос не смог нагуглить, на что лучше всего заменить ssize_t? Зачем эта хуета нужна, я тоже не понял спустя столько времени гуглёжки. Почему просто не использовать unsigned int?
Аноним 16/09/21 Чтв 02:03:58 #55 №2158782 
>>2158484
Запилите нормальную шапку с непротухшими книгами
Аноним 16/09/21 Чтв 03:00:25 #56 №2158787 
>>2158782
Кто я ?
Аноним 16/09/21 Чтв 03:42:37 #57 №2158797 
>>2158787
Ты хуй.
Аноним 16/09/21 Чтв 05:52:40 #58 №2158821 
image.png
Что мужики говорят про такое?

Просто мне понравилось так писать - группировать приватные поля не выделяя под них класс/структуру где-то в ебенях в отдельном файле (и потом хуй поймешь нахуя эти сотни файлов исходников), а внутри класса.

Но на гитхабе такое не видел - мужики так не пишут. Так какие подводные?
Аноним 16/09/21 Чтв 07:44:12 #59 №2158843 

>>2158821
Пиздец, ты вообще конченный??
Аноним 16/09/21 Чтв 07:52:25 #60 №2158845 
>>2158843
аргументируй. Мне реально интересно что тут может быть не так, в плане показа кода другим (в том числе на собеседованиях).
Аноним 16/09/21 Чтв 08:29:42 #61 №2158855 
>>2158845
Я просто в шоке, даже расписывать не буду
Аноним 16/09/21 Чтв 08:38:55 #62 №2158857 
>>2158855
Что же там тебя шокировало?
Аноним 16/09/21 Чтв 09:29:16 #63 №2158874 
>>2158128
я вас спросить хотел
Аноним 16/09/21 Чтв 09:33:02 #64 №2158875 
>>2158726
Знать стоит, а вкатываться в плане заработка не стоит.
На мой взгляд начинать надо с
1. си
2. Java, С#
Аноним 16/09/21 Чтв 09:41:19 #65 №2158881 
>>2158778
Потому что size_t не на любой платформе является unsigned int
Это какой компилятор у тебя size_t не компилирует?
Аноним 16/09/21 Чтв 09:50:49 #66 №2158885 
>>2158874
rvalue-ссылка с выводом типа.
sageАноним 16/09/21 Чтв 10:30:49 #67 №2158909 
Че за школьная шелупень в С++ треде, где хардкорные задроты, давайте обсуждать сложные задачи и сложные их решения на С++, а не эту хуету уровня хелоу ворлд.
Аноним 16/09/21 Чтв 10:57:15 #68 №2158925 
>>2158821
>группировать приватные поля не выделяя под них класс/структуру где-то в ебенях в отдельном файле (и потом хуй поймешь нахуя эти сотни файлов исходников), а внутри класса
А почему просто не положить эти поля внутрь класса, и не внутрь структуры внутри класса?
Аноним 16/09/21 Чтв 11:27:51 #69 №2158941 
>>2158909
ну давай, ты начинаешь
Аноним 16/09/21 Чтв 11:47:08 #70 №2158952 
>>2158909
Недавно пришлось сделать бамп аллокатор. Минут 5-10 пишется, прикольно получилось и прямо зашло в архитектуре, получилось быстрее (хотя там инициализация программы, на скорость примерно пофиг) и намного меньше оверхеда чем от системного аллокатора. Ну вот и всё, как-то говорить не о чем.
Аноним 16/09/21 Чтв 12:16:02 #71 №2158984 
test
Аноним 16/09/21 Чтв 12:21:30 #72 №2158985 
Блять все заного писать, видимо случайным образом попался айпишник с баном.

>>2158941
Короче по работе особо нихуя сейчас нету сложного, единственное с чем я сейчас ебусь это с тем, что ебучие создатели numpy не позаботились о том чтобы спроектировать свою говноподелку нормальным образом чтобы люди в других языках могли это так же юзать как и в питухоне. Просто мрази тупые, как и все питон сообщество. Ну так вот, перевел говнокод с питухона с нампай на с++ использую опенсиви и свои кастомные реализации нампай функционала и это работает почему то не так как там. А все эти имплементации нампая в с++ аля xtensor говно полное.

>>2158952
Так есть же tbb malloc, jemalloc, tcmalloc и прочее. Нахуя свой кривой велосипед пилить?. Лично я очень активно юзаю tbb во всех своих проектах. Очень классная либа где есть все из коробки и таски и парлель фор и конкурентные дата стракчерс и алокаторы.
Аноним 16/09/21 Чтв 12:48:40 #73 №2159009 
>>2158985
Опять это синьор+ пригорает тут
Аноним 16/09/21 Чтв 12:52:54 #74 №2159016 
>>2158985
>Нахуя свой кривой велосипед пилить
Потому что когда у тебя буквально почти сотня гигов данных которые ты должен держать в раме, проще написать штуку на 20 строчек чем теребить general-purpose маллоки.
Аноним 16/09/21 Чтв 13:06:35 #75 №2159031 
>>2159016
Что мешает держать сотни гигов с приведенными мной отлаженными аллокаторами еще и заточенными под многопоточность? Вот твоя поделка поддерживает многопоточное выделение памяти? Сомневаюсь. И наверняка там еще десяток багов неберется. В нормальном проекте такой велосипед бы не прошел код ревью 100% и тебя бы заставили юзать готовые проверенные алокаторы.
Аноним 16/09/21 Чтв 13:22:06 #76 №2159047 
>>2159031
>многопоточность
Мне не нужна, там инициализация в один тред при запуске идёт и дальше все обращения read-only. И там буквально 20 очевидных строчек кода, какие баги лол.
Аноним 16/09/21 Чтв 13:26:38 #77 №2159052 
>>2159047
И сразу предупрежу возможный вопрос: есть как юниты, так и интеграционные тесты, все гоняются под asan-сборкой. Только фаззирование у нас в далёких планах.
Аноним 16/09/21 Чтв 13:42:37 #78 №2159068 
>>2159047
>буквально 20 очевидных строчек кода, какие баги лол.
Этого достаточно чтобы совершить баг, работая с голо памятью, в лучшем случае это может привести к сегфолту в худшем к неочевидному трудновысисляемому багу и мемори ликам.
Вообще я не понимаю в чем сложность использовать готовые решения.
Просто я не сторонник изобретения велосипедов, и знаю каким боком это может обернуться в проекте. Поначалу может казаться что эти 20 строчек кода действительно проще написать самому чем подключать какую-то либу к проекту, но со временем такой код может начать обрастать зависимостями и костылями, что в конечном итоге приведёт к очень сложному рефакторингу по тскоренению всего этого самописного говна. На моей прошлой работе, именно так и было сначала тоже всякие умники практиковались в с++ доказывая себе и кому-то ещё что они могут, но в итоге потом с этими велосипедами были большие проблемы. Так что проще найти какие-то уже известные либы для себя которые покрывают большинство нужд в с++ и юзать их в любом проекте с самого начала.
Аноним 16/09/21 Чтв 14:03:10 #79 №2159086 
>>2159068
Я и не спорю, я сам не люблю велосипеды и хитровыебства без причины. У нас тоже для загрузки хватало обычного new/delete, но потом внезапно разрослись данные. И именно в этом месте я решил, что контроль важен и general-purpose аллокаторы не потянут, и переписал. Если бы нужно было что-то сложнее (или я бы думал, что впоследствии придётся делать что-то сложнее), я бы уже призадумался найти что-то готовое. Тут есть некая грань, которую нужно научиться ощущать, и лишь время покажет, оказался ли я прав. Вообще говорят что mimalloc сейчас топ в плане general-purpose, надо бы мне затестить как-нибудь.
Аноним 16/09/21 Чтв 14:53:06 #80 №2159131 
>>2159086
> У нас тоже для загрузки хватало обычного new/delete,
Вы прям так напрямую память через new выделяете?
Как на счет безопасных RAII контейнеров аля std::vector?

>general-purpose аллокаторы не потянут,
А чем они не потянул? Если у вас нету конкурентности. Даже стандартный аллокатор спокойно может выделить хоть 60 гб памяти за раз, при условии 64 битной архитектуры и наличия достаточного количества RAM + SWAP
Аноним 16/09/21 Чтв 15:06:44 #81 №2159146 
>>2159131
>Вы прям так напрямую память через new выделяете
Нет конечно, я просто как пример привёл.
>А чем они не потянул?
Изначально у нас и был вектор на несколько сотен тысяч объектов разного непредсказуемого размера (по сути строк, но с несколькими кусками метаданных), то есть приходилось выделять память как под сам вектор, так и дополнительно отдельно на каждый объект. Вот оверхед по памяти на каждую из стапиццот аллокаций я и хотел побороть, он там ~30-40% был. Теперь же всё как раз и лежит в одном большом блоке памяти, и этот блок бамп аллокатором и заполняется.
Аноним 16/09/21 Чтв 15:41:57 #82 №2159179 
>>2159146
Ок, ну ты же понимаешь, что теперь ты загнан в периметр этого большого блока памяти и не сможешь его просто так увеличить если что да и память он нерационально занимает. Но вот готовые аллокаторы могли бы тебе помочь с фрагментацией памяти при многократном выделении, т.к. внутри себя они выделяют память из пулов и по умному там все распределяют.
Вообще тут надо смотреть исходя из задачи и требований, может вообще лучше сменить ваш вектор на хешмапу, либо какой-нить btree, либо сделать какую-то древовидную структуру с чанками в виде векторов на липестках. Потому что сам понимаешь при добавлении или удалении элементов из такого огромного вектора всю память под него нужно будет реалоцировать заного и копировать туда старую, что уже довольно дорого и тоже не очень эффективно т.к. вектор внутри себя тоже аллоцирует всякий раз памяти с запасом в зависимости от текущего числа объектов в нем.
Аноним 16/09/21 Чтв 15:51:31 #83 №2159187 
>>2159179
>не сможешь его просто так увеличить
Мне и не нужно. Я уже раза 3 сказал, что я один раз заполняю блок на старте и дальше только читаю из этой части. Мутабельные структуры сразу на порядок увеличивают сложность, и тогда бы действительно лучше какое-нибудь библиотечное решение взять.
>память он нерационально занимает
Там всё вплотную лежит, ничего лишнего. В этом и суть бамп аллокатора. Думал правда некоторые величины в LEB128 закодировать вместо uint16_t потому что они по большей части в районе 20-100 были, но это уже точно лишнее, так как моя цель уже достигнута.

Короче, поэтому в этом треде и не стремятся "обсуждать сложные задачи и сложные их решения на С++"
Аноним 16/09/21 Чтв 19:23:57 #84 №2159377 
>>2158726
Хз. На первом курсе устроился в видеонаблюдение крестомакакой в мухосранске. Прошивка была готовая, поэтому стояла задача писать конфиги за 22к в месяц. По учёбе накопилось дохуя долгов и меня отчислили. один хуй не ит специальность, но техническая Скоро должна прийти повестка. Самое хуёвое, что работал не оффициально, поэтому опыта работы нет. опыт написания конфигов, лол
Аноним 16/09/21 Чтв 22:27:16 #85 №2159495 
>>2158782
если ты зелененький совсем, то читай липпмана, потом полирни последней книгой майерса
не читай последние книги страуструпа, он плохие книги в конце жизни стал писать, лениться
в идеале стоило бы сначала k&r прочитать пару раз с выполнением всех упражнений
Аноним 16/09/21 Чтв 22:28:14 #86 №2159496 
>>2158821
>мужики
а еще блатные, пидоры и черти"!
Аноним 16/09/21 Чтв 22:31:35 #87 №2159498 
>>2158909
ну я закинул удочку про то что в с++ нет стандартизированного abi и как следствие нет стандартизированной динамической загрузки классов, получил пару стандартных ответов + хейт
и все
как бы уровень этого треда понятен, можно дальше в нем бред и хуету писать, кекая и мекая, а нахуя серьезно что то делать? на вопросы ньюфагов отвечать что означает && в том или ином контексте? да нахуй нужно


Аноним 16/09/21 Чтв 22:35:32 #88 №2159501 
>>2158985
>Нахуя свой кривой велосипед пилить?.
с целью обфускации, защита от внутривидовой конкуренции между программистишками

Аноним 16/09/21 Чтв 22:42:29 #89 №2159505 
присоединяюсь к совету что стоило продумать либо вообще поменять структуру хранения данных, а не сразу бросаться в омут и писать кастомный аллокатор
с другой стороны автор кастомного аллокатора возможно гораздо умнее: ибо понаписав подобного кода, хуй теперь его уволят с его работки, ибо только он сможет объяснить че он там вообще имел ввиду и зачем

Аноним 17/09/21 Птн 00:05:48 #90 №2159536 
>>2159498
>нет стандартизированного abi
Что ты вообще имеешь в виду под этим? Что в стандарте не описывается загрузчики эльфов, мэнглинг, пэддинги и регистры всех-всех-всех процессоров?
Аноним 17/09/21 Птн 01:48:09 #91 №2159582 
Подскажите, что можно написать в качестве пет проекта на плюсах, связанное с распределенными системами/многопоточкой/сетью, мб базами данных. Сам в разработке давно не нуб, пишу на эрланге много лет, но хочется плюсы освоить на практике сразу.
Аноним 17/09/21 Птн 01:49:34 #92 №2159583 
>>2159536
хотя бы имена
в общем минимум который позволил бы сделать стандартизированную динамическую загрузку классов
Аноним 17/09/21 Птн 02:24:48 #93 №2159596 
>>2159582
Странно. Если ты в разработке давно не нуб и пишешь на эрланге много лет, то наоборот ты должен рассказывать, что можно написать, связанное с распределенными системами/многопоточкой/сетью и базами данных, не?

Например, если бы нужно было бы написать на эрланге, а не на плюсах, какие идеи проектов ты бы мог придумать?
Аноним 17/09/21 Птн 02:31:09 #94 №2159599 
>>2159495
Тухлая паста, советовать изучать c это вообще клиника
Аноним 17/09/21 Птн 02:56:17 #95 №2159609 
>>2159596
Ну, мне хочется написать то, что на плюсах было бы сделать лучше чем на эрланге, но в области которая мне знакома и интересна. Делал в основном всякие опердеи, платформу для месседжинга, биллинг, процессинг. Но не буду же я в качестве пет проджекта делать биллинг и процессинг, а очередной мессенджер скучно. В идеале бы хотелось еще писать то, в чем С++ проявил бы себя лучше, чем эрланг. Думал над каким-нибудь простеньким сервером для мультиплеерной консольной игры, но что-то не стоит особо на это, да и показывать потом как-то стыдно такое.
Аноним 17/09/21 Птн 03:26:54 #96 №2159615 
>>2159609
> Делал в основном всякие опердеи, платформу для месседжинга, биллинг, процессинг.
Делай это.

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

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

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

А вообще есть такое, да. Я имею в виду, бывает такое, что трудно придумывать себе задачи, генерировать идеи.

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

Аноним 17/09/21 Птн 03:56:06 #97 №2159619 
>>2159615
Вот с перфекционистом и начинающим это прямо точно описал, еще часто вступает прагматик (зачем этот проект нужен? что мне с ним потом делать?).
Спасибо тебе, вдохновил. Начну, наверное, с распределенного чата, чтобы можно было просто общаться p2p, потом добавлю чат-комнаты и участников, чтобы порешать проблемы с консистентностью данных, прикручу CRDT, затем end-to-end шифрование, передачу файлов. Думаю для начала хватит.
Аноним 17/09/21 Птн 09:14:27 #98 №2159671 
Подскажите какую нибудь норм библиотеку для c++ чтобы можно было на экране всякие палочки хуялочки рисовать по пикселям (для учебы). И желательно гайд как эту хуйню в проект впихнуть. Заранее спасибо
Аноним 17/09/21 Птн 09:15:48 #99 №2159672 
>>2159671
Рисовать программно или как в паинте?

смотри на различные гуи библиотеки, qt например
Аноним 17/09/21 Птн 10:08:38 #100 №2159698 
>>2159377
>задача писать конфиги за 22к в месяц
>По учёбе накопилось дохуя долгов и меня отчислили
>Скоро должна прийти повестка
>работал не оффициально, поэтому опыта работы нет
>опыт написания конфигов, лол

Сочувствую, надо же было так сильно проебаться по жизни. Но ничего страшного. От армии можно откосить, а потом поступить в нормальный вуз на ИТ направление и пойти работать куда-нибудь во фронтенд.
Аноним 17/09/21 Птн 15:09:18 #101 №2159852 
Сап /зк/, есть такая задача:
Win10. Есть приложение на плюсах. Во время его жизни оно может общаться с виндовым сервисом, который стучится на некий сервер и просит выдать экземпляр лицензии.

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

Мб подскажете что умное, с уважением.
Аноним 17/09/21 Птн 16:57:55 #102 №2159919 
изображение.png
Чому нельзя было сделать это как адаптер?
Нонсенс какой-то, все наружу торчит как в сишечке.
Аноним 17/09/21 Птн 17:00:02 #103 №2159920 
>>2159919
Адепт тру-ООП?
Аноним 17/09/21 Птн 17:19:43 #104 №2159943 
>>2159920
Вовсе нет. Просто это выпадает из общего дизайна библиотеки.
Интересуюсь, вдруг есть какая-то веская причина?
Аноним 17/09/21 Птн 18:19:04 #105 №2160003 
>>2159919
Может тогда и из сортировки адаптер сделать?
Аноним 17/09/21 Птн 18:42:06 #106 №2160034 
Пограммиссты помогите с MPI

Задача по MPI (через point to point)
Регулярное заполнение квадрата точками. Точки должны быть расположены
через равные промежутки (подобно клеткам в тетради).

Вопросы:
Что такое регулярное заполнение квадрата и что я тут должен запараллелить?
Аноним 17/09/21 Птн 18:48:40 #107 №2160052 
>>2160034
Спроси у препода, который дал тебе лабу.
Аноним 17/09/21 Птн 19:11:11 #108 №2160084 
>>2158857
Сделай все поля открытыми. Приватность это каменный век. Пиши сразу как в питоне.
Аноним 17/09/21 Птн 19:12:25 #109 №2160087 
>>2160084
> Пиши сразу как в питоне.
Как в сишке?
Аноним 17/09/21 Птн 19:14:21 #110 №2160089 
>>2159599
Круче липмана еще ничего не придумали имхо.
Аноним 17/09/21 Птн 19:21:44 #111 №2160094 
>>2160089
Придумали Страуструпа. Хз, чего все плюются, пишет хорошо.
Аноним 17/09/21 Птн 19:23:39 #112 №2160096 
>>2157935
Джава сама себя пиарила сборщиком мусора например. Чтобы любой даун мог писать код. Теперь представь что Страуструп/Комитет и Степанов выпускают С++11 не в одинадцатом году, а сразу в 1995 со всеми смарт пойнерами. Чтобы сделала джава тогда. Скорее всего пососала. Но поезд уехал. Теперь питон дает пососать и плюсам и джаве. Может комитет и высрет что-нибудь лет через 20 чтобы соответствовать развитию. Если ворчун не откинет копыта.
Аноним 17/09/21 Птн 19:25:58 #113 №2160099 
>>2160087
И сишке. Осталось отменить строгую типизацию и будет вообще заебца.
Аноним 17/09/21 Птн 19:28:20 #114 №2160102 
>>2160003
Сортировка - это алгоритм. А тут структура данных, которая натягивается поверх другой структуры данных.
Аноним 17/09/21 Птн 19:31:53 #115 №2160110 
>>2159852
Дак добавить в сервис проверку, живо ли ещё приложение.
Аноним 17/09/21 Птн 19:53:58 #116 №2160136 
>>2160034
>Что такое регулярное заполнение квадрата
Я думаю что-то вроде linspace из numpy
Аноним 17/09/21 Птн 21:35:26 #117 №2160221 
Есть в треде математики? Ищу алгебраическую библиотеку для работы с многочленами, важно наличие возможности поиска обратных элементов, выполнение операций по модулю. Пока нашел GiNaC, но она вроде больше символьная, чем "боевая".
Аноним 17/09/21 Птн 22:01:55 #118 №2160274 
>>2160221
Armadillo мб?
Аноним 17/09/21 Птн 22:11:33 #119 №2160285 
>>2160221
https://github.com/fffaraz/awesome-cpp#math
Аноним 17/09/21 Птн 22:19:58 #120 №2160287 
>>2160274
>>2160285
благодарю
1323123 18/09/21 Суб 03:18:47 #121 №2160429 
image.png
Мужики
При вводе ctrl z выходит из цикла и пропускает последующий ввод
Что с этим делать?
Аноним 18/09/21 Суб 05:29:06 #122 №2160434 
>>2160429
Смотря что тебе надо сделать. Ctrl+z в консольке закрывает инпут стрим. Если тебе нужно продолжить собирать инпут, попробуй сделать 2 цикла и переоткрывать std::cin, но не могу представить, зачем тебе это надо.
Аноним 18/09/21 Суб 15:31:17 #123 №2160660 
>>2160434
Спасибо
Аноним 18/09/21 Суб 20:04:11 #124 №2160768 
>>2160429
>Мужики
а еще блатные, пидоры и черти!

Аноним 18/09/21 Суб 22:36:50 #125 №2160841 
Можно ли visual studio настриоть так, чтобы оно форматировало как clang format с нужными флагами?
Аноним 19/09/21 Вск 01:30:33 #126 №2160940 
>>2159496
>>2160768
Ты черт.
Аноним 19/09/21 Вск 05:56:53 #127 №2160987 
>>2160034
{ заполняешь квадрат -> опустошаешь } - делаешь так регулярно, наверное с помощью цикла.
запараллелить заполнение строк или столбцов, чтобы они, ну, шли слева направо столбиком, или строкой сверху вниз, или из верхнего левого угла равномерно заполняли квадрат к правому нижнему углу.
типа на поток несколько столбцов или строк, в зависимости от размера квадрата твоего
Аноним 19/09/21 Вск 14:35:36 #128 №2161200 
programming-challenges.jpeg
>>2159619
Это тебе вдогонку, пес
Аноним 19/09/21 Вск 15:40:34 #129 №2161228 
struct un
{
char unk;
int chislo;
};

struct mem
{
un memo[27];
};

mem pam;

Как мне можно выполнить поиск в массиве на соответствие хоть 1 символа pam.memo[].unk к strochka[j] без кучи if?
strchr не сработает т.к. это не char массив, а одиночная char внутри массива структуры, это нужно чтобы хоть как-то привязать определённую букву в строке к цифре введённой с клавиатуры
Аноним 19/09/21 Вск 15:57:42 #130 №2161238 
>>2161228
Уже решил проблему
Аноним 19/09/21 Вск 15:58:02 #131 №2161239 
>>2161238
Каким образом?
Аноним 19/09/21 Вск 16:00:36 #132 №2161245 
>>2161239
Просто написал поиск символа через for, чёто тупанул что так можно было сделать
Аноним 19/09/21 Вск 17:56:36 #133 №2161365 
image.png
>>2157621 (OP)
немогу пересобрать opencv под qt
нужна помощь
CMakeError
https://pastebin.com/y6xMY6up
Аноним 19/09/21 Вск 18:00:10 #134 №2161369 
>>2161228
>Как мне можно выполнить поиск в массиве
>strchr не сработает
Ну так ты пиши свои классы таким образом, чтобы они работали со стандартной библиотекой (или с той библиотекой, что у тебя заменяет стандартную).

> т.к. это не char массив
Ебани преобразование в char, например.
Аноним 19/09/21 Вск 23:17:13 #135 №2161579 
>>2160940
я чмоня
Аноним 20/09/21 Пнд 13:39:21 #136 №2161917 
graphapp.mp4
>>2159671
sfml
Реализовал такое приложение на нём,
Аноним 20/09/21 Пнд 19:28:02 #137 №2162190 
>>2157621 (OP)
Нет ли способа насильно засунуть в макрос перевод строки чтобы
#define X\
Y
разворачивалось в
X
Y
, а не X Y
Аноним 20/09/21 Пнд 19:42:56 #138 №2162197 
>>2162190
Зачем? Для компилятора разницы никакой, а в строковых литералах макросы не работают.
Аноним 20/09/21 Пнд 20:54:33 #139 №2162259 
>>2161917
src please
Аноним 20/09/21 Пнд 20:56:15 #140 №2162262 
изображение.png
>>2157621 (OP)
Каким образом в данном примере реализовать логику взаимодействия объектов одного типа?
1) getValue необходимо раньше конструктора Typename объявить?
2) Оператор+ после (A+B) возвращает ссылку на временный объект Typename, который затем взаимодействует с C? Если так, то что в поле m_value у этого временного объекта?
Аноним 20/09/21 Пнд 21:00:00 #141 №2162265 
>>2159609
>а очередной мессенджер скучно
Это понты или его реально так просто написать?
Аноним 20/09/21 Пнд 21:14:54 #142 №2162283 
>>2162262
m_value == 3 по теореме Cосновича. Алсо в строках 8-10 жуткий говнокод. За такое надо харкнуть преподу в лицо.
Аноним 20/09/21 Пнд 21:22:10 #143 №2162297 
>>2162262
Ого, выглядит как UB жаль, что это не так
Аноним 20/09/21 Пнд 21:53:13 #144 №2162319 
435d55eebea844a156852cb1df5e4cc4cb1e53dd.jfif
>>2162197
ты прав.
Аноним 20/09/21 Пнд 23:40:50 #145 №2162365 
>>2162297
потому что в конструкторе функция, которая еще не объявлена?
Аноним 21/09/21 Втр 02:37:40 #146 №2162446 
>>2162265
Ну если какой-нибудь простой, где есть чаты, юзеры, обмен сообщениями и файлами, и сквозное шифрование, то на любом популярном языке будет элементарно, на Go/Erlang/Elixir особенно. Если звонки, то там уже придется WebRTC покурить или VoIP, видео тот же WebRTC или SIP. Если делать распределенный чат, то уже посложнее. Но в целом, само ядро мессенджера, штука элементарная.
Сложнее становится, когда всякие свистоперделки начинают сверху накручивать, а-ля боты, статусы юзеров, счетчики сообщений, мульти-девайсность и самое главное UI для всего этого.
Аноним 21/09/21 Втр 10:07:49 #147 №2162619 
>>2162446
>Если делать распределенный чат, то уже посложнее
В чем сложность?
Аноним 21/09/21 Втр 10:08:36 #148 №2162620 
>>2162262
A, B, C создаются в строчках, в которых объявляются. У них вызывается конструктор без аргументов, которого не определено.
Аноним 21/09/21 Втр 10:10:13 #149 №2162623 
>>2162620
вангую это какой-то тест в путяге.
Аноним 21/09/21 Втр 16:26:05 #150 №2162919 
>>2162283
Да тут всю программу можно сдавать в палату мер и весов как платиновый эталон говнокода.
Я никогда еще такого треша не видел, даже в шараге.
Аноним 21/09/21 Втр 16:42:40 #151 №2162925 
>>2162919
Хорошая паста, буду писать её к каждому скриншоту
Аноним 21/09/21 Втр 16:43:00 #152 №2162926 
есть класс, он является обёрткой над статическим массивом, можно ли для него писать конструктор перемещения?
Аноним 21/09/21 Втр 16:43:40 #153 №2162927 
>>2162619
Проблемы с консистентностью и прочим из CAP, с обходом NAT, поиском пиров. Это первое, что вспомнилось.
Аноним 21/09/21 Втр 16:53:06 #154 №2162936 
сделал так, но хз, правильно ли.JPG
>>2162927
если чо ,сделал так, но хз правильно ли
Аноним 21/09/21 Втр 17:15:07 #155 №2162975 
>>2162925
Не каждый скриншот демонстрирует такую концентрацию UB и шизы на строчку кода.

1. Мудацкое форматирование, абсолютно.
2. m_value неинициализировано если х<=0
3. UB в getValue() при этом же условии.
4. ; после } (см. п.1)
5. UB: возврат висячей ссылки на временный объект.
5а. Этот объект создается неявным кастом из инта, полученного неявным кастом из була.
6. this.getValue
7. Незакрытая, блять, скобка (см. п.1)
8. Классический посос на конструкторе по умолчанию.

Дальше, думаю, можно не продолжать.
Аноним 21/09/21 Втр 19:42:05 #156 №2163237 
>>2162926
Статический член живет всегда в одном экземпляре, независимо от экземпляров класса. Он будет существовать даже если ни один экземпляр класса не создан.

Написать конструктор перемещения можно, но если нет других членов, то делать этому конструктору будет нечего.
Аноним 21/09/21 Втр 19:43:37 #157 №2163238 
>>2157621 (OP)
как макросами из этого
task_ ## __COUNTER__

получить

"task_№"
№ это получающийся __COUNTER__
Аноним 21/09/21 Втр 19:55:14 #158 №2163253 
>>2163237
Я перепутал, не статический массив, а обычный, который создаётся на стеке.

что-то типа
template<typename TYPE, size_t size_>
class sArray
{
TYPE array_[size_];
};
Аноним 21/09/21 Втр 19:56:00 #159 №2163255 
>>2163238
Ты наверное попался, что просто так в сях и плюсах нельзя сделать макрос конкатенации:
https://godbolt.org/z/xzxxh459n
Аноним 21/09/21 Втр 20:09:20 #160 №2163266 
>>2163255
чтобы строка была, не переменная
Аноним 21/09/21 Втр 20:18:50 #161 №2163279 
>>2163253
Тогда смотря какая у тебя обертка.
У std::array, например, вообще никаких конструкторов нет, кроме сгенерированного default конструктора.

Перемещение имеет смысл для классов-хендлеров. В твоем примере переместить член array_ никак не получится.
Аноним 21/09/21 Втр 20:51:36 #162 №2163313 
>>2163266
Точно так же, но с оператором #:
https://godbolt.org/z/j789d487n
Аноним 21/09/21 Втр 21:08:44 #163 №2163329 
15918173989880.png
>>2163313
спс анон, ты меня спас
Аноним 21/09/21 Втр 21:19:55 #164 №2163335 
>>2162975
да это понятно все, кроме пункта 5 и 5а.
5. Ссылку от operator+ надо в любом случае возвращать, чтобы дальше в калькуляторе А+B+C это сработало, разве нет? По типу инкремента ++(++x). Это должен быть некий временный объект со значением m_value?
5a. Почему там каст от инта в бул неявный?

По сути через перегрузку оператора необходимо вернуть ссылку на временный объект с промежуточным значением bool m_value.
Аноним 21/09/21 Втр 21:44:52 #165 №2163361 
>>2163335
Не ссылку, а сам новый объект с промежуточным значением.
Типа return Typename(m_value || A.m_value) или хуй тебя знает, что вы там хотите получить.
Аноним 21/09/21 Втр 23:52:44 #166 №2163447 
>>2163361
то есть так?

Typename operator+(const Typename& A)
{return Typename(m_value || A.m_value)}

и добавить конструктор для Typename(bool)?
Аноним 22/09/21 Срд 21:33:50 #167 №2164416 
изображение2021-09-22213049.png
Решил покурить новую фичу в виде fold expression. Правильно ли я понимаю, как разворачивается последнее выражение?
Аноним 23/09/21 Чтв 13:34:52 #168 №2164889 
image.png
>>2164416
Да.
Аноним 23/09/21 Чтв 21:49:07 #169 №2165302 
>>2164416
Нет.
Аноним 23/09/21 Чтв 21:50:40 #170 №2165304 
Пидора ответ.
Аноним 23/09/21 Чтв 22:17:04 #171 №2165329 
Юзайте folly
Аноним 24/09/21 Птн 00:22:06 #172 №2165404 
Посоны, помогите с лабой. Надо показать как флаги гцц влияют на оптимизацию (на примере асм кода, который гцц через -S выдаёт).
У меня флаг -foptimize-register-move ака -fregmove
Attempt to reassign register numbers in move instructions and as operands of other simple instructions in order to maximize the amount of register tying. This is especially helpful on machines with two-operand instructions.
И я вот нихуя не понимаю какой код я должен написать, чтоб увидеть как флаг работает. Помогите пожалуйста с минимальным примером
Аноним 24/09/21 Птн 08:00:02 #173 №2165486 
>>2165404
>maximize the amount of register tying.
Скомпилируй под архитектуру с большим количеством регистров, например итаниум.
Аноним 24/09/21 Птн 10:17:54 #174 №2165534 
изображение.png
Я не понимаю что он от меня хочет и почему оно не работает так как я хочу
Аноним 24/09/21 Птн 10:36:29 #175 №2165544 
>>2165534
Ты хочешь агрегатную инициализацию параметра, но при передаче аргумента используется другая. На месте {1, 1} конпелятор видит initializer_list.
Допиши ch перед {1, 1} или определи в ch конструктор из initializer_list.
Аноним 24/09/21 Птн 10:59:04 #176 №2165548 
>>2165534
А еще v ты инициализируешь внутри класса (не в конструкторе).
В этом случае инициализация через () не работает; только = или {}.
Аноним 24/09/21 Птн 11:55:29 #177 №2165586 
>>2165548
спасиюо
Аноним 24/09/21 Птн 15:22:11 #178 №2165779 
class B;

class A
{
private:
std::vector<B> my_vector;
};

int main()
{
A a; // при компиляции пишет, что incomplete type в векторе
return 0;
}

Почему нельзя сделать инстанс класса A с вектором значений с fd класса B? Я понимаю, если бы это был массив, где у нас статическое количество объектов, поэтому sizeof(A) менялся бы в зависимости от размерности массива, следовательно, нужно было бы знать sizeof(B). Но в чем проблема с вектором? Ведь он же просто хранит поинтер на последовательный блок памяти. sizeof(vector) всегда const. Зачем ему definition класса B?
Аноним 24/09/21 Птн 15:41:35 #179 №2165790 
>>2165779
Ему нужно знать размер твоего класса в, это же просто последовательный массив в куче, а класс в ещё не определен. Делай вектор указателей на в, их размер зависит только от платформы.
Аноним 24/09/21 Птн 18:01:40 #180 №2165919 
>>2165790
Так у меня compilatio error не на попытке пушбека или чего-то подобного, где вектору нужно было бы знать размерность объекта, у меня ошибка при попытке создания инстанса класса A. Вопрос актуален
Аноним 24/09/21 Птн 18:22:10 #181 №2165950 
>>2162259
https://github.com/mamkad/graph_creator
sageАноним 24/09/21 Птн 18:37:52 #182 №2165969 
>>2165919
фейспалм.жпг
Аноним 24/09/21 Птн 18:53:37 #183 №2165978 
Стоит ли вкатываться в плюсы? Задача стоит прежде всего обучиться качественному программированию, сделать несколько реальных проектов, освоить алгоритмы и структуры данных. Или он для этого не подходит и лучше вкатиться во что-нибудь другое, но во что? Уровень знаний: новичок, но понимание программирование есть кроме ООП.
Аноним 24/09/21 Птн 19:56:24 #184 №2166049 
>>2165978
Нет.
Хочешь ООП - пиздуй в джаву. Алгоритмы и структуры данных там же освоишь ничуть не хуже.
И можешь поупражняться немного в сишке. Чтобы понимать, как оно на низах работает. Нескольких глав из Кернигана и Ритчи тебе достаточно будет.
Кресты, в общем случае, не нужны. Их используют для специфичных проектов. Там выбора нет. Без надобности лучше туда не лезь.
Аноним 24/09/21 Птн 20:25:37 #185 №2166070 
>>2166049
Касательно сишки, я прочитал всего Прату кроме пары глав и еще касался ассемблера немного. Однако сейчас это все немного подзабылось.
>Хочешь ООП - пиздуй в джаву. Алгоритмы и структуры данных там же освоишь ничуть не хуже.
Джаву впизду, точно нет. Смотрю в сторону шарпа, что по нему скажешь?
Аноним 24/09/21 Птн 20:57:46 #186 №2166082 
>>2166070
Как язык шарп норм. Перегруженный правда, зато развивается.
И обрати внимание, что на дотнете доступны также языки F# и F*, так что тебе будет чем развлечься в будущем.
Но я не вижу у него перспектив применения особых. Шарп конкурирует с джавой, используется для разработки веб-бэкендов для всякого энтерпрайза, десктопных приложений под винду и геймдева. В мобильной разработке практически не задействован. В новомодной херне типа дата саенс, машинного обучения не задействован.
Подумай, чем хотел бы заниматься, в какую область податься и выбирай соответствующие языки тогда уж, мне кажется.
Аноним 24/09/21 Птн 21:29:31 #187 №2166105 
>>2166082
Хотелось бы приятный язык в котором я смогу освоить ООП на высоком уровне, хорошо разбираться в алгоритмах, структурах данных. Что конкретно хочу делать пока точно не определился, сейчас хочу язык, чтобы без особых танцев с бубном реализовать свои идеи приложений, которыми сможет пользоваться обычный люд и хочу попробовать геймдев. А шарп эдакий швейцарский нож вроде неплохо подходит для этого всего. Вопрос денег пока не стоит.
Аноним 24/09/21 Птн 21:51:05 #188 №2166113 
>>2166105
>хочу попробовать геймдев
Шарп и юнити.
Аноним 24/09/21 Птн 21:54:22 #189 №2166118 
>>2166113
Ну да, я в курсе.
Аноним 24/09/21 Птн 21:55:04 #190 №2166119 
>>2166105
Бери шарп. Он подходит под твои критерии.
А если углубишься в геймдев, перейдешь на плюсы. Но начинать с них, ну это такое. Там и танцы с бубном и "приятности".
Все три языка это тяжёлые промышленные комбайны со своими особенностями, которые выбираются под задачу. Специального языка для обучения нет.
Аноним 24/09/21 Птн 22:05:52 #191 №2166132 
>>2166105
я думаю ни в одном современном языке в полной мере не реализованы все парадигмы ООП
Аноним 24/09/21 Птн 22:13:14 #192 №2166143 
>>2166132
А что это за парадигмы? Обычно их всего три. Наследование, полиморфизм, инскапсуляция. Что еще надо реализовывать?
Аноним 24/09/21 Птн 22:14:44 #193 №2166148 
>>2166119
А насчет плюсов, стоит ли их вообще знать, кроме как для геймдева или это будет юзлес? Всякие САПРы и научные симуляции/расчеты я точно делать не планирую.
Аноним 24/09/21 Птн 22:40:48 #194 №2166183 
>>2166148
На плюсах дохуища всего написано. Твой браузер, юзерспейс твоей ОС, твой стим например.

Бэкенды бОльшей части сайтов, куда ты ходишь. Точно полезно.
Аноним 24/09/21 Птн 22:45:41 #195 №2166189 
>>2166183
Проблема в том, что он скорее всего не будет писать браузеры, стим и бекенд гугла=))
Аноним 24/09/21 Птн 22:47:24 #196 №2166190 
>>2166189
А вдруг будет? В том же яндексе - маркет\такси\поиск
Аноним 24/09/21 Птн 22:51:41 #197 №2166194 
>>2166190
Ладно, уговорил, пусть пишет.
Аноним 24/09/21 Птн 22:57:19 #198 №2166199 
Под микроконтроллеры можно писать на плюсах, только без stl, rtti и исключений
Аноним 24/09/21 Птн 23:37:08 #199 №2166236 
Пытаюсь устроиться джава джуном, но бесконечно решая тестовые задачи не раз натыкался на код с++ и университетские воспоминания со всеми этими калок малок нахлынули на меня и я иногда посматриваю на него к своему стыду, это как запретный плод...я перебираю его глазами, эти сиауты... Вообще стек джава + с++ это норм или кал без задач?
Аноним 25/09/21 Суб 00:01:05 #200 №2166270 
>>2166148
>джава + с++
Не знаю, как насчёт каких-то отдельных задач и вакансий. Но как бы существенная часть джава библиотек - это обёртки над сиплюсовыми либами, да и сама джава написана на плюсах. Иметь возможность что-то пофиксить, пропатчить в этой части, заюзать подходящую плюсовую либу в проекте, самостоятельно запилив под неё биндинг, это должно быть охуенно полезно.
Разве что, если таким заниматься, то ты в плюсовые разработчики и переедешь со временем..
Аноним 25/09/21 Суб 00:04:14 #201 №2166276 
>>2166270
Бля, промахнулся
>>2166236 -> >>2166270
Аноним 25/09/21 Суб 00:42:49 #202 №2166315 
>>2166236
Выбери один стэк и задрачивай его. Когда станешь крепким мидлом - перекатиться между стэками будет проще
Аноним 25/09/21 Суб 01:10:23 #203 №2166341 
>>2166236
Java и с++ редко встречаются вместе. Обычно в паре к c++ идёт Python и наоборот.
Аноним 25/09/21 Суб 11:02:47 #204 №2166550 
>>2166236
Есть JNI, используется в Андроиде для некоторых задач, где нужна производительность - некоторые игры с графикой, мультимедия. Ещё делают приложения на QML, но насколько много там плюсов, мне неведомо.
Аноним 25/09/21 Суб 20:04:33 #205 №2167058 
>>2165919
Дёргаешь деструктор вектора — тип должен быть полным.
Аноним 26/09/21 Вск 00:45:15 #206 №2167201 
Каждый раз, когда приходится работать со строками в плюсах (разбавить по запятой и тому подобное), удивляюсь, почему всё так душно реализовано. То stringstream лучше использовать, то необходимо использовать substr или string_view и мучиться с индексами. Никак не сравнить с питоновским удобным stroka.split(','), возвращающим удобный массив. Да, есть стандартные алгоритмы, но через них по-моему не всё удобно делается. Это всё обосновано чем-то кроме нерасторопности Комитета? Есть ли надежда на будущие стандарты? Что делать сейчас, привыкнуть и вызубрить эти все приёмы для типовых задач со строками, или есть какая-нибудь годная библиотека?
Аноним 26/09/21 Вск 01:31:30 #207 №2167210 
>>2167201
> питоновским удобным stroka.split(',')
То-то питон самый тормозной язык из всех реально используемых.
Если хочешь, как в питоне, то о перформансе можешь забыть, вот только зачем тогда тебе кресты?
Аноним 26/09/21 Вск 02:05:05 #208 №2167218 
>>2167201
>Это всё обосновано чем-то кроме нерасторопности Комитета?
И чо должен .split возвращать?
vector? list? deque? И чего именно? строк или вью?
Аноним 26/09/21 Вск 02:06:46 #209 №2167219 
>>2167218
> Есть ли надежда на будущие стандарты? Что делать сейчас
Можешь свалить отсюда, например. Нахер ты тут не нужен с платиновыми вопросами.
Аноним 26/09/21 Вск 02:07:59 #210 №2167221 
Это >>2167219 было сюда >>2167201
Аноним 26/09/21 Вск 05:40:13 #211 №2167244 
>>2167201
Boost String algorithms. Или используй строки из своего фреймворка. А в целом страдай, особенно когда дело коснётся юникода, его обработки и разных кодировок
Аноним 26/09/21 Вск 06:00:38 #212 №2167246 
>>2167218
А выбрать что то одно из этого это какая то проблема?
Или раз несколько вариантов реализации, то не бывать никому?
Аноним 26/09/21 Вск 06:20:13 #213 №2167247 
>>2167246
>А выбрать что то одно из этого это какая то проблема?
Естественно. Ты же должен обосновать, почему этот выбор самый правильный.
Аноним 26/09/21 Вск 07:26:14 #214 №2167255 
>>2167247
аааа
ну тогда да, будем без сплитов сидеть
Аноним 26/09/21 Вск 08:27:23 #215 №2167278 
>>2167247
Контейнер пусть передаётся как шаблонный параметр. Значение по умолчанию - std::deque. Элементы контейнера std::string_view.
Аноним 26/09/21 Вск 09:01:05 #216 №2167282 
>>2167218
Вектор строк, четко и ясно. 99.9% юзкейсов это покроет. Не надо городить универсального монстра.

Кому не нравится, пусть пишут свой велосипед.
Аноним 26/09/21 Вск 10:16:26 #217 №2167299 
>>2167282
>Не надо городить универсального монстра.
И тут IBM такой "Не, голосуем SA. На наших системах вектор/список/whatever багованный, поэтому не хотим через него делать.".
Аноним 26/09/21 Вск 10:46:02 #218 №2167310 
Вот у меня такой вопрос, только начал изучать плюсы

У меня есть функция, и внутри неё я создал переменную int a, я что-то с ней сделал и вывел её на экран, или присвоил её значение другой переменной (Она больше не нужна), дальше в функции я написал ещё что-то и функция закончилась. Переменная a очищается из памяти когда я последний раз её использую, или когда заканчивается функция?
Если она очищается при конце функции, имеет ли смысл запись int *a = new int, а пототом delete a, когда она не будет уже нужна, раньше чем скомпилируется остальной код функции (Чтобы переменная меньше времени лежала в памяти). Просто когда читал про динамическое выделение памяти, везде писали что такую штуку только для массивов используют.

Или это просто дрочь ненужная?
Аноним 26/09/21 Вск 11:04:09 #219 №2167318 
>>2167310
все что создается после { удаляется после }
кроме того что ты выделил в динамической памяти с помощью new или malloc
также удаляются поинтеры к тем участкам динамической памяти, так как они являются переменными с адресом
Аноним 26/09/21 Вск 11:16:44 #220 №2167323 
Какая самая годная библиотека после стандартной? Boost?
Аноним 26/09/21 Вск 11:20:51 #221 №2167325 
>>2167210
>>2167218
Можно вернуть псевдо-массив с элементами типа string_view (заранее подсчитать его размер), по которому можно пробегаться, получая значения, генерируемые на ходу. Или вовсе вернуть итератор, который при разыменовании будет возвращать новое значение. Хочешь - строй из этого вектор, хочешь - используй иначе. И не нужно вручную возиться с циклами.

>>2167244
Спасибо, посмотрю.

Аноним 26/09/21 Вск 11:57:10 #222 №2167343 
>>2167244
два чая
Сам использую сплит оттуда.
Вообще работу с нитями без без библиотеки не представляю, на родной С++ нет нормального non-case-sensitive поиска.



У меня вопрос - Каким образом форматируется текст в письмах(в программе Outlook или веб версии Gmail). Я передаю текст в почтовую программу через wstring. Могу ли я в wstring отформатировать текст?(сделать часть текста цветным, жирным и т.д).
Аноним 26/09/21 Вск 11:57:41 #223 №2167344 
>>2167318
То есть если я хочу освоболить память, которая выделялась на a до }, то я обязательно должен сделать переменную динамической?
Аноним 26/09/21 Вск 12:03:09 #224 №2167345 
>>2167344
int *a = new int
a - это пойнтер к новой переменной int. Он не удалится из памяти до тех пор, пока ты не напишешь:

delete a;

не понимаю зачем тебе вообще заморачиваться с этим и не использовать просто
int a;

В этом случае оно само очистится из памяти после окончания функции.



Аноним 26/09/21 Вск 12:03:38 #225 №2167346 
>>2167345
*Она не удалится
Аноним 26/09/21 Вск 12:09:18 #226 №2167351 
>>2167345
Да какой-то внутренний перфекционист заиграл внутри просто. Да и выйгрыш от такой штуки вряд-ли большой будет если функция маленькая
Аноним 26/09/21 Вск 12:10:34 #227 №2167353 
>>2167351
https://stackoverflow.com/questions/10157122/object-creation-on-the-stack-heap
Аноним 26/09/21 Вск 13:50:34 #228 №2167414 
>>2167343
Таким же как html или rich edit. Движок или поле редактирования решают какие параметры у буквы и соответствующим образом дёргают gdi/gdi+/direct 2d или что там ещё у них рендерит
Аноним 26/09/21 Вск 14:17:26 #229 №2167443 
>>2167414
я так и не понял как сделать то, что я хочу. Просто добавление тэгов не работает
Аноним 26/09/21 Вск 15:11:31 #230 №2167497 
>>2167443
Конечно не работает, а ты думал, теги распознаются магически сами по себе? А почему не распознаются в <b><u>этом</u></b> посте тогда, как думаешь?
Аноним 26/09/21 Вск 15:42:56 #231 №2167529 
>>2167343
Может быть какой-нибудь RTF, наверняка похоже на то, как работает копипаст с цветом, размером и картинками. Я бы про копипаст и RTF погуглил
Аноним 26/09/21 Вск 15:51:20 #232 №2167543 
изображение.png
В чем проблема? Я так понимаю, что у меня где то дважды оператор определен, но это не так.
Аноним 26/09/21 Вск 16:02:41 #233 №2167555 
>>2167497
>А почему не распознаются в <b><u>этом</u></b> посте тогда, как думаешь?
Макака всё сломала
Аноним 26/09/21 Вск 16:05:40 #234 №2167558 
>>2166190
Маркет написан на жабе, некоторая часть поиска тоже.
В такси да, там антошка любитель микросервисов на С++ работает, поэтому их там и используют, хотя изначально такси на питухоне было написано.
Хотя есть другие проекты, которые на С++ пишутся. Но не прям все, скорее половина или даже меньше.
Аноним 26/09/21 Вск 16:07:26 #235 №2167559 
>>2166183
>Бэкенды бОльшей части сайтов, куда ты ходишь
Бэкенды написаны на пхп. Тот же фейсбук и вк используют пхп, хоть и с существенными модификациями.
Аноним 26/09/21 Вск 16:09:10 #236 №2167562 
>>2166070
>Джаву впизду, точно нет
Почему? Если просто цель научиться в ооп и решать задачки с литкода, то норм выбор. Да и в промышленности жаба буквально везде.

>>2166070
>Смотрю в сторону шарпа, что по нему скажешь?
Хороший язык, если хочешь в геймдев.
Аноним 26/09/21 Вск 16:49:12 #237 №2167593 
>>2167558
>Маркет написан на жабе
То то меня уже 4 года туда крестовиком хайрят в 2 разные команды.

> фейсбук
Друг там в менло-парке крестовиком так же работает
Аноним 26/09/21 Вск 16:57:07 #238 №2167607 
>>2167543
Че за bigint.inc?
Аноним 26/09/21 Вск 17:27:16 #239 №2167638 
>>2167607
Это библиотека.
Аноним 26/09/21 Вск 17:30:47 #240 №2167642 
>>2167638
Судя по расширению, она должна инклудиться как заголовочный файл.
А по твоему error report она компилируется как файл .cpp.
Аноним 26/09/21 Вск 17:47:04 #241 №2167664 
>>2167323
Qt
Аноним 26/09/21 Вск 18:05:56 #242 №2167693 
>>2167593
>То то меня уже 4 года туда крестовиком хайрят в 2 разные команды.
Diversity in recruitment. Глянули твои поисковые запросы про членодевок и няшных кунчиков и решили, что надо тебя взять по квоте.
Аноним 26/09/21 Вск 18:57:48 #243 №2167759 
>>2166190
>яндексе
Плотют нихуя, даже по сравнению со сраным сбером.
Топ места для плюсовика это хуавей, нвидиа и интел, но туда хуй попадешь, так как места буквально нужно резервировать будучи студентом 3 курса профильной кафедры мфти.
Аноним 26/09/21 Вск 20:32:08 #244 №2167845 
У меня есть класс с конструктором от int. то есть работает такая штука: 1 == myclass("24")
Как мне сделать, чтобы работало и static_cast<unsigned int>(myclass("12345678")) == 12345678? Я хз даже где и что начать писать.
Аноним 26/09/21 Вск 20:33:59 #245 №2167847 
>>2167759
В Касперском вполне нормально. Хотя сейчас в основном на KOS набирают, а там я не знаю какая внутренняя кухня.. И слышал что в JetBrains хорошо, но там когда смотрел в последний раз почти все чисто плюсовые вещи заняты, извольте знать Джаву.
Аноним 26/09/21 Вск 20:47:16 #246 №2167856 
>>2167845
Пишешь оператор приведения к инту myclass::operator unsigned int() const
https://en.cppreference.com/w/cpp/language/cast_operator
Аноним 26/09/21 Вск 21:18:06 #247 №2167878 
Я не понимаю зачем нужен стек, точнее я вот читаю и понимаю, но не понимаю зачем оно именно так.
Вот есть у нас сегмент данных и сегмент команд в ОЗУ.
Процессор выполняет одну операцию за раз (в нашем случае).
Заносим данные и команды из памяти в регистры процессора, волшебство, затем обратно в память. Так же это в простейшем случае?
Зачем создавать еще один буфер между программой и процессором, если мы можем обращаться к самой программе, к этим данным. Короче я спутано написал. Но вот может кто привести пример, когда это именно эффективно?
Аноним 26/09/21 Вск 21:52:57 #248 №2167904 
>>2167878
Аппаратный Стек в первую очередь нужен для вложенных вызовов подпрограмм, чтобы туда складывать адреса возврата. Остальное уже добавили для удобства до кучи
Аноним 26/09/21 Вск 22:02:49 #249 №2167911 
>>2167878
Раньше (да и, наверное, есть и сейчас такое) в некоторых микроконтроллерах для каждой переменной было своё место в памяти. Вот есть у тебя функция
int f(int x) {
int y = x + 2;
return y;
}
У "x" адрес, скажем, 0x1000, у "y" 0x1004. И все операции над ними действительно проводились с этой памятью. И вроде всё работает, но, если подумать, то рекурсивные вызовы становятся невозможными (напиши вычисление чисел Фибоначии и посмотри, что пойдёт не так). Но хрен с рекурсией, обойдёмся. Гораздо хуже дело обходится с многозадачностью. Любой кусок кода теряет реентерабельность. Если два потока одновременно зайдут в эту функцию, то они распидорасят данные друг друга. Если данные хранить на локальном стеке у каждого потока то всё получается как надо.
Аноним 26/09/21 Вск 22:20:47 #250 №2167935 
>>2167878
Ещё стек нужен для обработки исключений. Иначе будет не понятно какие данные и операции над ними нужно провести для отката в валидное состояние.
Аноним 26/09/21 Вск 22:41:13 #251 №2167950 
>>2167325
>Или вовсе вернуть итератор, который при разыменовании будет возвращать новое значение.
Это называется генератор, а не итератор.
Аноним 26/09/21 Вск 22:41:45 #252 №2167952 
>>2167345
>a - это пойнтер к новой переменной int
Объекту, а не переменной
Аноним 26/09/21 Вск 23:19:00 #253 №2167988 
изображение.png
Этот тест кейс с какого то файла тянется. Можно ли какой нибудь дефайн прописал, чтобы это все как то развернулось в просто выражение между фигурными скобочками?
Аноним 27/09/21 Пнд 15:16:31 #254 №2168391 
>>2167847
А что в Касперском по зп?
Вообще тема инфобеза довольно интересная, тот же networking со всякими анализаторами трафиками на dpdk прикольная область, но кроме касперского знаю только positive technologies, на которые наложили санкции, и group-ib. Интересно что у них по зп.
Вообще с радостью пошел бы пилить всякие СОРМы, но боюсь условия труда будут крайне хуевые.
Аноним 27/09/21 Пнд 17:36:10 #255 №2168496 
https://www.youtube.com/watch?v=6lDPRmk-T-w
Оправдывайтесь.
Аноним 27/09/21 Пнд 19:12:33 #256 №2168558 
>>2157621 (OP)
https://ideone.com/XdxRL9
1.Что за числа в выводе Apple (Red delicious,red,7.3)12142, откуда?
2. Почему если методы оставить константными, но убрать const у ссылок на возврат все перестает работать?
string& getName() const { return m_name; }

Аноним 27/09/21 Пнд 19:14:47 #257 №2168562 
>>2168391
СОРМы пилят в НТЦ Протей
Аноним 27/09/21 Пнд 19:33:57 #258 №2168576 
>>2168558
><< '/n';
слеш не в ту сторону у тебя
Аноним 27/09/21 Пнд 19:42:58 #259 №2168579 
>>2168558
Если метод const, то все члены считаются const.
return m_name; запросит запрещенное преобразование const string в неконстантную ссылку.

И вобще, возвращай по значению в подобных случаях. Return value optimization все сделает в лучшем виде.
Аноним 27/09/21 Пнд 20:25:03 #260 №2168606 
>>2168496
Извинись.
Аноним 27/09/21 Пнд 20:53:28 #261 №2168621 
>>2168606
Крестоблядок соснул у шарпобоярина
Аноним 27/09/21 Пнд 20:54:26 #262 №2168622 
>>2168576
>>2168579
принято
Аноним 27/09/21 Пнд 20:55:06 #263 №2168623 
>>2168621
В гонке за право насасывать копетану галеры?
Аноним 27/09/21 Пнд 21:48:08 #264 №2168656 
>>2168579
>И вобще, возвращай по значению в подобных случаях
В подобных случаях надо кокрастыке возвращать "по ссылке"
> Return value optimization все сделает в лучшем виде.
Он тут вообще не при делах
Аноним 27/09/21 Пнд 21:57:07 #265 №2168665 
здарова бандиты, задача такая: есть веб api которая содержит файлы (один на каждый день) внутри файлов данные.

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

Как мне реализовать реалтайм тайм загрузкуи показ этих файлов?

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

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

Что мне реализовать? event -loop с пулом воркеров? или что то другое.
Аноним 27/09/21 Пнд 22:09:20 #266 №2168680 
>>2168656
Да, ты прав. get-метод не тот случай.
Аноним 27/09/21 Пнд 23:19:40 #267 №2168727 
Итак задача. Перейти с Си на плюсы, плюсы и ООП не знаю от слова совсем. Уровень плюсов нужен минимальный, но со знанием тех особенностей которые его отличают от Си и минимальные знания стандартной либы. Как сделать это максимально быстро?
Аноним 28/09/21 Втр 00:05:51 #268 №2168766 
>>2168727
Читай книги, пиши код
Аноним 28/09/21 Втр 05:41:11 #269 №2168840 
>>2157621 (OP)
https://pastebin.com/MHjp8jt2

Хэлп плиз, не могу обратиться к методу во втором классе
Аноним 28/09/21 Втр 06:36:29 #270 №2168846 
>>>2168840
Ну ты и нахуевертил.
У тебя массив указателей. Память под сами указатели ты выделяешь, а указатели указывают в никуда.
Аноним 28/09/21 Втр 14:51:52 #271 №2169082 
>>2157621 (OP)
Последний считанный cin'ом символ печатается при следующем вызове cout, в самом начале вывода (после этого потерявшегося символа идёт нормальный вывод cout). Может ли это возникать из-за того, что я в программе использую и cin/cout, и printf? Как фиксить, если fflush не помогает? вечно в крестах какая-то ебанина с вводом выводом
Аноним 28/09/21 Втр 14:59:58 #272 №2169090 
>>2169082
Покажи контекст.
Аноним 28/09/21 Втр 15:00:47 #273 №2169092 
>>2169082
У тебя так вообще всегда или с каким-то конкретным кодом?
Аноним 28/09/21 Втр 15:43:35 #274 №2169164 
>>2169090
>>2169092
Код показать не могу, меня за это набутылить могут (да и к интернету мы тут не подключены).
Короче проблема решилась сама себе, просто добавил новый метод классу и внезапно лишний символ перестал печататься, при том что ввод вывод имеющихся методов я никак не трогал. Ебать фантастика, как вы на этом пишете вообще.
Аноним 28/09/21 Втр 15:46:20 #275 №2169168 
>>2169164
Пишется "фантастика", читается "UB".
Аноним 28/09/21 Втр 15:48:48 #276 №2169172 
>>2169164
Это у тебя какая-то бага, запускай valgrind, санитайзеры и ищи. Даже sync_with_stdio(false) не должен таких эффектов показывать. Но вообще cin/cout та ещё хрень, не рекомендую пользоваться.
Аноним 28/09/21 Втр 15:52:10 #277 №2169176 
На всякий случай напишу все равно примерную структуру, как оно выглядит, мб подскажете что-нибудь на будущее
>считывается один символ cin'ом (это в главной функции)
>проходит передача по каналу и обработка информации, много чего выводится на экран cout'ом, всё это происходит внутри методов класса и выводится без каких-либо проблем
>возвращаемся обратно в главную функцию, здесь первый же cout сначала выводит считанный когда-то ранее символ, а потом уже то, что должен
Очень ли плохо то, что у меня вывод делается иногда cout, а иногда printf? Или все из-за того, что внутри класса они используют какой-то другой поток вывода, не тот что в мейне?
Аноним 28/09/21 Втр 16:27:27 #278 №2169202 
>>2169172
А чем пользоваться, scanf/printf? Или какую-нибудь кастомную библиотеку подключать?
Аноним 28/09/21 Втр 17:35:47 #279 №2169277 
слизь из жопы, жопный сок
Аноним 28/09/21 Втр 17:44:20 #280 №2169285 
>>2168665
могу только подсказать что ты прекрасно все это сможешь сделать в одном потоке, и ни слова больше потому что лень объяснять что то таким мелкочеликам как ты, несмотря на то что ты по видимому уже зарабатываешь своим говнокодом на хлебушек с маслом а я безроботное говно, ну а вообще конечно ты можешь прикрутить "эвентлуп с пулом воркеров" чтобы когданибудь твой говнокод попался на глаза нормальному кодеру и он уссался бы с тебя

Аноним 28/09/21 Втр 17:53:03 #281 №2169291 
>>2167759
>Топ места для плюсовика это хуавей
вчера в /b в одном из тредов кстати заявляли что хуайвей обосрался со своей новой операционкой потому что набрал кодеров из россиюшки
хз, пиздел ли анон, проверять лень
Аноним 28/09/21 Втр 18:06:08 #282 №2169296 
Может кто помочь с лабой? на с++ код


Надо написать программу, выполняющую один раз ввод последовательности
целых чисел, признаком конца которой будет ввод числа ноль (ноль не считается членом
последовательности) и определяющую значения в соответствии с условием варианта.
Входные данные: Последовательность целых чисел, заканчивающаяся нулем.
Выходные данные: Найденные значения с пояснениями
При выполнении работы необходимо учитывать, что
• последовательность может быть пуста
• может не содержать элементов нужного типа для решения задачи типа
• может не содержать необходимого для решения задачи количества элементов.

И так же определите наибольшую длину монотонного убывающего фрагмента последовательности (то
есть такого фрагмента, где все элементы меньше предыдущего).


желательно с пояснениями
Аноним 28/09/21 Втр 18:17:30 #283 №2169306 
>>2169296
бог поможет
Аноним 28/09/21 Втр 18:20:33 #284 №2169309 
image.png
>>2169296
Аноним 28/09/21 Втр 18:57:55 #285 №2169346 
>>2168840
Что значит не можешь? Заебали, пишите хотя бы компилируется оно или нет. А то что с памятью там пизда и при запуске всё полетит через три сегфолта, так это проблема не класса и не метода.
Аноним 28/09/21 Втр 19:03:14 #286 №2169361 
>>2169309
Что за хейтер кстати? Небось давно уже помер от геморроя на пару со своей мамашей а шапку так никогда и не обновят.
Аноним 28/09/21 Втр 19:04:33 #287 №2169367 
>>2169361
Сьеби уже
Аноним 28/09/21 Втр 19:07:34 #288 №2169371 
>>2169361
Почему это должен быть какой-то конкретный анрн? Просто любой абстрактный шарпорастоблядок.
Аноним 28/09/21 Втр 19:25:38 #289 №2169408 
>>2169346
что значит окмпилируется? ошибок красных нет, но выдает предупреждение по памяти
> так это проблема не класса и не метода.
так а как исправить? чтобы к методу можно обратиться было
Аноним 28/09/21 Втр 22:31:33 #290 №2169546 
Вечер добрый. Как думаете, бэк на плюсах будет когда-нибудь так же распространен и востребован, как написанный на Govnishe/Java/#/Py?
По сути из плюсовых вакансий в мск онли Яндекс за редким исключением, в то время, как всякие озоны, сберы да и тот же яндекс много всего пилят на вышеупомянутых языках и платят за это овердохуя шекелей.
Аноним 28/09/21 Втр 22:51:40 #291 №2169564 
>>2169546
Когда в плюсы завезут нормальный тулинг, на это можно будет надеяться.
Аноним 28/09/21 Втр 23:04:21 #292 №2169573 
>>2169546
Сбер крестовиков хайрит, но оверолл - язык не очень живой, и если хочешь денег - лучше задротить либо ГОвно, либо фронт. Да, продажа души за деньги
Аноним 29/09/21 Срд 01:16:08 #293 №2169695 
>>2169408
>так а как исправить? чтобы к методу можно обратиться было
Пройдись отладчиком уже.

>tmp->get_name(); //почему я не могу обратиться к методу?
tmp имеет тип указателя на player. Проблема в том, что в этой точке (строка 43) этот указатель не указывает ни на какой объект player.

Простого исправления тут нет. Выпили весь класс нафик с этими new и используй vector. Плееров добавляй через push_back().
Аноним 29/09/21 Срд 01:19:01 #294 №2169698 
>>2169695
Макаба сожрала квадратные скобки
tmp|i|
Аноним 29/09/21 Срд 03:47:28 #295 №2169730 
>>2169695
Спасибо большое!
Аноним 29/09/21 Срд 05:12:22 #296 №2169735 
Пацаны скок вы на лабу/работу вообще тратите времени?
Ебался 8 часов с одной лабой и 70% времени заняло прыганье по форумам и гуглёжка потому что не знал за сщуествование векторов а потом ебался с оператором friend std::ostream& operator<<
И при этом большинство ошибок было банально из-за невнимательности, потому что к началу 1 часа голова уже плывёт невероятно
Аноним 29/09/21 Срд 11:59:19 #297 №2169874 
Есть вектор указателей на открытые потоки ifstream. Затем есть цикл for с перебором вектора по begin end. Я могу разыменовать указатель и направить потоки, например, в cout, но не могу сделать close() таким же образом. Почему так?
Аноним 29/09/21 Срд 12:23:06 #298 №2169907 
>>2169735
У нас нет лаб. всем похуй. уже 3 курс идёт
Аноним 29/09/21 Срд 14:37:48 #299 №2170009 
>>2169735
Вот поэтому универские лабы и должны быть на паскале или питоне, чтобы не ебаться с синтаксисом.
Аноним 29/09/21 Срд 14:54:43 #300 №2170020 
>>2169874
> но не могу сделать close() таким же образом. Почему так?
точно можешь, кек.
Аноним 29/09/21 Срд 17:13:18 #301 №2170119 
>>2169546
>Как думаете, бэк на плюсах будет когда-нибудь так же распространен и востребован, как написанный на Govnishe/Java/#/Py?
Какую задачу он будет решать? И какова скорость разработки? Есть ли удобные фреймворки или может как на go можно в 3 строчки поднять сервер?

>много всего пилят на вышеупомянутых языках
А тут все просто, каждый язык и фреймворки решают свою задачу.
Go - микросервисы с хайлоадом и многопоточностью, все есть из коробки, запустить сервер можно в 3 строчки прям как в express.js и это дает высокую скорость разработки. Но делать что-то большое уже сложно.
Java - тут на спринге делают большие тырпрайзные приложения с длительным сроком поддержки, сюда же можно и .net припахать, иногда на спринге пилят микросеервисы, но я в живую не видел.
python, php, js, ruby - всяко-разно для бэка от пхпшного симфони, который почти спринг, до express.js, sinatra, flask на которых хуяк-хуяк и в продакшн. Там заняты все ниши которые возможны, скорость разработки высокая.
Короче в бэке +/- все уже есть, скорость быстродействия в большинстве случаев не так важна поскольку для клиента не особо важно ответили ему за 100 мс или за 10, плюс еще всякие запросы в базу, время коннекта, запросы во внешние апи и прочее танцы с плясками, которые нивелируют эти милисекунды. Плюс нагрузку можно распределять, девопс напишет заклинание в конфиг балансировщика, поднимет еще пару подов и готово. А если в конечном итоге нет большой разницы что брать, то выбирая между go и c++ выберут то на чем можно быстрее разрабатывать или то что лучше поддерживать
Аноним 29/09/21 Срд 17:35:50 #302 №2170143 
> пилишь бэк на плюсах
> падает прод
> зато 5% прирост

Аноним 29/09/21 Срд 20:49:42 #303 №2170279 
ты накрасил губы красным, все с тобою стало ясно

Аноним 29/09/21 Срд 21:50:13 #304 №2170312 
>>2168391
>group-ib
Как показала практика, лучше в инфобез не лезть вообще.
Грузить джейсоны и клепать однообразные круды гораздо безопаснее, чем лезть в вундервафли и настоящий цифровой гулаг.
Аноним 29/09/21 Срд 22:14:14 #305 №2170334 
>>2169546
>бэк на плюсах будет когда-нибудь так же распространен и востребован

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

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

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

>в то время, как всякие озоны, сберы
В ритейле, банках и телекоме (если не брать железячные темы), С++ не место. Там как раз популярна джава на бекенде, так как можно десятилетиями поддерживать один и тот же проект, изредка перекатываясь на новую версию спринга и jvm.

>>2169573
>Сбер крестовиков хайрит
Там сбердевайсы вроде крутые. Но опять же, это не банкинг, а больше про IoT и желание сбера стать айти гигантом на рынке РФ.
Если брать классический С++ в банках, то это окажется ембеддед вроде pos терминалов и банкоматов с написанием хуевин под старый добрый winXP в некоторых особых случаях
Аноним 29/09/21 Срд 22:24:43 #306 №2170346 
>>2170334
>ембеддед вроде pos терминалов
Оооо. Я в таких терминалах малварь sqlite видел. Вот в бэке есть базы данных с репликами, шардингами, бэкапами и вообще это ещё архитектить надо. а там тупо сделали sqlite файлик вместо бд чтобы чуть какая авария можно было его на флэшечку скинуть, отредактировать и вернуть обратно. Уже представляю грандиозность задач в ембеддед, где непременно нужны кресты
Аноним 29/09/21 Срд 22:57:18 #307 №2170366 
>>2169546
>бэк на плюсах
Удел плюсов в будущем - всякие системные хуевины и платформы для разворачивания более высокоуровневых ЯП.

Чтобы поддерживать условные V8/JVM/CLR, mysql/postgres много людей не нужно - от силы по паре тысяч плюсовиков в google/oracle/microsoft. Для графики все аналогично, для всяких там кадов хуядов тоже.
С++ это очень штучная вещь, для которого много вакансий быть в принципе не может, особенно в СНГ или нищих странах европы, где толком и нет своих разработок в системщине, а основной доход в ит это энтерпрайзы, живущие за счет нефтяных бюджетов
Аноним 29/09/21 Срд 23:02:35 #308 №2170373 
>>2170366
>особенно в СНГ
Здесь это может компенсировать всякий епам, который в снг на любой стэк нанимает даже плюсы.
Аноним 29/09/21 Срд 23:09:54 #309 №2170376 
>>2169546
Смотря какой бек. Я вот поддерживаю на крестах компилятор внутрепроприетарного графического языка чтобы наши навигаторы мышкой свои алгоритмы рисовали и ещё кучу дсл. Это все бек по сути.
Аноним 29/09/21 Срд 23:25:39 #310 №2170389 
Сколько надо дрочить чтобы стать таким умным как вы?
Аноним 30/09/21 Чтв 00:33:56 #311 №2170414 
>>2170389
>>2158726

дрочить не надо. Заниматься надо.
Прочти Прату или Липпмана ( Essential C++) или Эккеля.
Из нового Ivor Horton Beginning C++17/20
Короче бери любую базовую книгу по плюсам. потом смотри более углубленно темы. Надо читать, надо запускать, надо гуглить.

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

Да, язык можно изучать бесконечно.

>>2158782
https://pdfdirectory.com/pdf/0880-learning-c-programming-lanuage.pdf
>>2159596
паука для парсинга сайтов
>>2167323
Смотря под какие задачи. Кроме буста есть ACE, POCO, SFML, RapidJSON,nlohmann,tinyxml,
Аноним 30/09/21 Чтв 01:17:37 #312 №2170426 
>>2170373
Крупные галеры погоды не делают. У них под C++ примерно такой же процент вакансий как и на открытом рынке. Ну и сами галеры предпочитают энтерпрайз с долгими контрактами или вёб, чтоб быстро и без гемора срубить бабла.
Аноним 30/09/21 Чтв 02:10:31 #313 №2170435 
>>2170389
бля, ты не слушай этого мудака залетного
вангую это тот же челик что недавно заявлял тут что "шаблоны с++ ничего не знают о типах языка" и его никто не смог переубедить
а щас он че-то там про явку в ритейле, банках и телекомах вещает ничего не понимая в откатных говносхемах наших манагеров-кабанчиков, что происходили в середине нулевых когда эти системы переписывали с крестов и дельфи на говноявку
Аноним 30/09/21 Чтв 02:41:04 #314 №2170442 
>>2170435
>переписывали с крестов и дельфи на говноявку
мировая практика же
Аноним 30/09/21 Чтв 10:34:48 #315 №2170549 
>>2170435
>че-то там про явку в ритейле, банках и телекомах вещает ничего не понимая в откатных говносхемах наших манагеров-кабанчиков, что происходили в середине нулевых когда эти системы переписывали с крестов и дельфи на говноявку

А что не так? Всем уже давно очевидно, что гораздо проще поддерживать жирный ритейл с легаси на явке, чем на С++. Банки туда же. Там где нет нужды в low latency, то смысла в С++ ровным счетом 0, одни убытки будут.
Аноним 30/09/21 Чтв 17:43:51 #316 №2170880 
Как создать список списков через структуры и как к нему обращаться?

struct Node {
Node next;
subNode
subhead;
};

struct subNode {
int data;
subNode next;
};

Думал над таким вариантом, но в строке >subNode
subhead; выдаёт ошибку: C4430 отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Буду очень благодарен
Аноним 30/09/21 Чтв 17:47:20 #317 №2170883 
>>2170880
struct Node {
Node next;
subNode
subhead;
};

struct subNode {
int data;
subNode * next;
};
rКурсив включился
Аноним 30/09/21 Чтв 18:17:09 #318 №2170897 
>>2170880
https://en.cppreference.com/w/cpp/language/class#Forward_declaration
Аноним 30/09/21 Чтв 19:40:17 #319 №2170966 
>>2170880
std::list<std::list<T>>

>через структуры
Это в тред сей.
Аноним 30/09/21 Чтв 19:43:09 #320 №2170971 
>>2170966
У него предмет называется "Программирование на С++", значит, про лабы надо спрашивать здесь.
Аноним 30/09/21 Чтв 20:30:42 #321 №2171002 
>>2170971
Ну бля. Сами виноваты тогда. Нехуй было Паскаль выпиливать.
Аноним 30/09/21 Чтв 20:38:34 #322 №2171009 
>>2171002
Потихоньку с плюсов пересаживаются на жилистый мускулистый питон.
Аноним 01/10/21 Птн 10:03:21 #323 №2171317 
Хочу сделать функцию возможно, это будет метод класса, ещё точно не определились, которая в качестве аргумента принимает структуру. Проблема в том, что структура может быть любого размера (в разумных пределах) и включать в себя любое количество элементов, т.е. заранее её тип не прописать. Думаю передавать эту структуру в функцию через указатель void. Есть какой-нибудь вариант получше?
Аноним 01/10/21 Птн 13:24:28 #324 №2171461 
>>2171317
Шаблоны. Не слышал?
Аноним 01/10/21 Птн 14:40:05 #325 №2171527 
>>2171461
Слышал, но не изучал. Спасибо, пойду читать. А мой вариант с указателем не взлетит, да?
Аноним 01/10/21 Птн 16:27:40 #326 №2171652 
>>2171317
>структура может быть любого размера (в разумных пределах) и включать в себя любое количество элементов
Если ее структура будет известна только в рантайме, то шаблоны не помогут. Надо будет передавать в том числе информацию как она устроена в самой структуре, это ООП во все поля. У тебя будет древовидная структура полиморфных объектов представляющих собой какие то значения, юнионы, даблы , массивы и тп, которые будут выдавать о себе информацию в рантайме, для получения их значений или ссылки на свои дочерние объекты. Это не так сложно на самом деле, у нас постоянно используется.
Аноним 01/10/21 Птн 18:49:25 #327 №2171729 
>>2157621 (OP)
Нужен годный аутсорс-сайт где я, бедная cpp-макака ,смогу заработать на еду. Сорок usd в месяц будет достаточно. Готов хуярить по 8 часов в день, лишь бы получать свои копейки на пропитание. Желательно что бы заказчиками были частные лица, которым нужен не сам код, а непосредственно работающая программа.

советуйте только то, чем пользовались сами
Аноним 01/10/21 Птн 19:11:29 #328 №2171748 
>>2171729
> 8 часов в день за 40 баксов в месяц
А зачем?
Аноним 01/10/21 Птн 19:23:56 #329 №2171757 
>>2171652
>Если ее структура будет известна только в рантайме
Ты сам то понимаешь, что сказал?
Аноним 01/10/21 Птн 19:27:23 #330 №2171760 
>>2171748
Кушать хочу. Идти на дноработку не вариант. Да и не нужно на самом деле. Ведь я же не просто так 4 года на цпп пишу? Наверняка есть возможность заработать на паек. Тогда можно хикковать занимаясь любимым делом
Аноним 01/10/21 Птн 19:45:03 #331 №2171771 
>>2171729
А на 40 баксов в месяц реально выжить? Даже с учётом в того что живёшь в нижнем усть-залупинске
Аноним 01/10/21 Птн 19:48:24 #332 №2171774 
>>2171771
Конечно. На еду хватит
Аноним 01/10/21 Птн 19:50:04 #333 №2171775 
>>2171771
Ну да, гречка, макароны красная цена, по праздникам фрукты.
Аноним 01/10/21 Птн 19:52:32 #334 №2171777 
>>2171757
Эта фраза детектор дебилов на самом деле. Конечно понимаю, а ты - нет.
Аноним 01/10/21 Птн 20:09:54 #335 №2171789 
>>2171757
Очевидно, что "структура" - это не только сишная хуйня struct, но и произвольная последовательность байтов, в которой закодированы поля.
Аноним 01/10/21 Птн 20:38:12 #336 №2171795 
Как написать компаратор для lower bound по вектору пар, ища в нем число?
Аноним 01/10/21 Птн 21:39:56 #337 №2171826 
>>2171795
Смотря что у тебя пара символизирует.
Аноним 01/10/21 Птн 22:08:35 #338 №2171848 
>>2171757
Очевидно имелась в виду точная структура в отличие от приблизительной.
Аноним 01/10/21 Птн 22:46:55 #339 №2171863 
>>2171771
выжить можно было на подсчитываемый раньше государством прожиточный минимум (он был 10-12 тыщ рублей в регионах, в москве больше)
но при условии наличия собственного жилья и налаженого быта в квартире, плюс наличие каких-то запасов одежды, плюс (это важно) человек должен уметь готовить и быть подкованным в жизни, хоть немного
сейчас гос-во отказалось от рассчета минимального прожиточного минимума исходя из потребительской корзины, сделав другие метрики, сделав еще один шаг к демонтажу структур социальной помощи в государстве
Аноним 01/10/21 Птн 22:47:51 #340 №2171864 
>>2171848
чел ты продолжаешь обнажать уровень своего невежества
Аноним 01/10/21 Птн 22:51:05 #341 №2171865 
>>2171848
А создание структуры в рантайме через рефлексию.
Аноним 02/10/21 Суб 00:16:02 #342 №2171898 
>>2171729
Ебать ты дебилоид. У меня средняя пека майнит 60 баксов в месяц, а тебе надо въябывать 8 часов. ОРУ С ДОДИКА
Аноним 02/10/21 Суб 00:38:58 #343 №2171914 
>>2171865
Структура должна уметь создаваться в зависимости от действий пользователя, конфигурационных файлов, данных из сети и тп. А рефлексия для этой цели это костыль в языках типа шарпа для дебилов.
Аноним 02/10/21 Суб 02:01:10 #344 №2171942 
image.png
Я правильно понимаю что приложения с крутым нативным дизайном на винде возможно написать только на c#? хоть и калькулятор написан на c++, в нём используется управляемый код. qt так умеет? будет ли вообще уметь? qml?
Аноним 02/10/21 Суб 02:05:36 #345 №2171944 
>>2171942
> написать только на c#? хоть и калькулятор написан на c++, в нём используется управляемый код. qt так умеет? будет ли вообще уметь? qml?
на WinRT вроде подобное реально сделать
Аноним 02/10/21 Суб 04:09:37 #346 №2171969 
>>2171944
Ну да, c# если по нормальному
Аноним 02/10/21 Суб 08:43:13 #347 №2171993 
>>2171898
Криптошвайн-маняфантазер,спок
Аноним 02/10/21 Суб 11:31:58 #348 №2172072 
>>2171942
На qml пишется легко все кроме верхней полоски м крестиком. Работающую картинку как у тебя можно набросать за минут 15 наверное, там кресты будут нужны только для пуска, все остальное на qml и js.
Аноним 02/10/21 Суб 11:40:36 #349 №2172079 
Анончик, посоветовавший шаблоны, вот смотри что я слепил
https://pastebin.com/beM0n3s9
Этот код компилируется и даже запускается, но работоспособность проверить я уже не успел. Норм шаблон написал или хуйню сделал?
Аноним 02/10/21 Суб 14:12:18 #350 №2172153 
Задание написать программу парсер некоторых команд. У команд могут быть псевдонимы, то есть несколько слов, которые обозначают одну и ту же команду. Как аккуратнее это реализовать, что бы не пришлось в коде каждый раз писать 10 сравнений if(s == "cmd1" || s == "cmd2" || s=="cmd3") и тд.
Аноним 02/10/21 Суб 15:00:50 #351 №2172190 
>>2172153
Поиск по вектору структур, состоящих из идентификатора команды и вектора строк ее обозначающих.
Аноним 02/10/21 Суб 15:20:07 #352 №2172205 
Что если я хочу, чтобы функция, генерирующая последовательность строк, вернула итератор по этим строкам? В бусте или стл есть что-то вроде итератора, который владеет коллекцией, по которой он проходится?

Знаю, что можно просто из функции вектор по значению вернуть, и за счёт RVO + move конструктора, если просто так написать
vector<string> v = f();
то всё будет норм.

Но всё же..
Аноним 02/10/21 Суб 15:31:06 #353 №2172215 
>>2172205
Тебе же нужен и итератор и сама коллекция. Возвращай кортеж из них, типа: auto [v, i] = f();
Аноним 02/10/21 Суб 15:49:39 #354 №2172231 
>>2172215
А, да, я дебич, ещё же end нужен. Тогда нужно возвращать два итератора, begin и end. Возвращать и вектор, и итератор - это как-то странно, проще тогда один вектор вернуть и из него достать begin и end.

Просто у меня в голове интерфейс функции в этом случае хорошо бы сделать абстрагированным от того, какая конкретно коллекция используется для хранения строк. Чтобы была просто возможность просмотреть их, возможно, сохранить куда-то себе.
Аноним 02/10/21 Суб 15:53:07 #355 №2172237 
>>2172072
И чем это будет отличаться от браузера? Зачем тут c++?
Аноним 02/10/21 Суб 16:02:44 #356 №2172248 
>>2172231
Ты можешь возвращать через auto и пофиг какой там контейнер.
>>2172237
Так qt это не только про кресты. Это как космические корабли у маска, там кишки на крестах, интерфейс на жс плюс свой реактивный фреймворк. И вообще нормальный крестовик знает обычно ещё пару языков минимум.
Аноним 02/10/21 Суб 21:24:57 #357 №2172474 
>>2170414
а как именно АЛГОРИТМЫ учить?
Аноним 03/10/21 Вск 09:49:07 #358 №2172627 
Аноны, привет. Я залетный, не по вашему языку, но выслушайте.

Есть такой язык VEX, он является внутренним языком скриптинга в программе Houdini, и его синтаксис частично основан на C/C++. Так вот, недавно столкнулся с такой вот конструкцией:
var_a = (int) number;
хотя я бы написал так:
var_a = int (number);

Мне стало интересно откуда это, в хэлпе по самому VEX-у ничего подобного нет. Возможно, ноги растут из самого C++, вам знакома такая конструкция?
Аноним 03/10/21 Вск 10:03:16 #359 №2172632 
>>2172627
Кастинг типов прямиком из с
Аноним 03/10/21 Вск 10:28:35 #360 №2172640 
>>2172632
А разницы нет? Это просто два варианта явного преобразования?
Аноним 03/10/21 Вск 10:37:57 #361 №2172641 
image
>>2172640
В с только первый вариант работает
Аноним 03/10/21 Вск 10:43:01 #362 №2172644 
>>2172641
Ок, спасибо. Значит сделали для удобства оба варианта.
Аноним 03/10/21 Вск 12:14:02 #363 №2172674 
Местные аноны, посоветуйте книг программисту на С, чтобы выучить все нововведения в c++ и библиотеку stl, без самых базовых вещей по типу указателей, потоков ввода, вывода, и т. д.
Аноним 03/10/21 Вск 14:43:08 #364 №2172754 
>>2157621 (OP)
Такой странный вопрос...

Вот можно писать массивы не как array[3], а (array+3).
А что на счет многомерных? Получается там же array[2][3] = array[2
3] = (array+23) или тут все таки 2+3?? Но вот незадача - последний вариант не работет даже с "+"!

Такой вопрос: как правильно писать, что бы это рабьотало? И как быть с многомерными массивами?

Аноним 03/10/21 Вск 14:43:55 #365 №2172755 
>>2172754
Забыл: *(array)
Аноним 03/10/21 Вск 14:44:48 #366 №2172756 
>>2172674
Чел, если ты сишник - бери любую книгу для нюфань и читай. Ты уже на классах охуеешь.

Как вариант - курс на куросере от яндекса
Аноним 03/10/21 Вск 14:46:14 #367 №2172757 
>>2172754
((array+2)+3)
Аноним 03/10/21 Вск 14:46:57 #368 №2172758 
>>2172757
тупая ёбань, ⭐(⭐(array+2)+3)
Аноним 03/10/21 Вск 14:47:53 #369 №2172760 
>>2172754
Не надо так делать. С этой хуйнёй иди в сишкотред.
Аноним 03/10/21 Вск 14:50:03 #370 №2172761 
>>2172758
О, спасибо!

>>2172760
Да просто интересно, никогда такой шизой не пользовался.
Аноним 03/10/21 Вск 14:50:20 #371 №2172762 
>>2172758
[code]cout << pidr[/code]
Аноним 03/10/21 Вск 14:51:36 #372 №2172763 
>>2172762
> cout
Ты нахуй написал using namespace std ? ? ?
Аноним 03/10/21 Вск 14:53:12 #373 №2172765 
16283319131730.png
Ну шо, хохлы аноны на гитхабе шапки что-то взбухли, и я про неё вспомнил поэтому перенёс шапку в readme репозитория, и если у кого-то есть желание её улучшить у меня, очевидно, нет — ждём-с пулл реквестов.

Для ОПа — надо в следующем треде воткнуть ссылку https://github.com/sosachbot/cppthreadhat
Аноним 03/10/21 Вск 14:54:24 #374 №2172766 
>>2172758
С многомерными получается похожий способ?
((*(array+x)+y)+z) или что-то другое?
Аноним 03/10/21 Вск 14:55:08 #375 №2172769 
>>2172766
да
Аноним 03/10/21 Вск 14:55:11 #376 №2172770 
>>2172766
Билять

⭐(⭐(⭐(array+x)+y)+z) или что-то другое?
Аноним 03/10/21 Вск 15:06:41 #377 №2172791 
>>2172763
Да я мимошел. На доске про программирование нет специального тега для кода, лол.
Абу, explain yourself.
Аноним 03/10/21 Вск 15:21:07 #378 №2172808 
>>2172791
Лайки в параше и флажки стран ему было пилить не лень, а один ебучий тег с заменой на <pre><code> хуй.
Аноним 03/10/21 Вск 16:16:30 #379 №2172849 
Шо. Когда там наконец можно будет как человек забить на эти разделения на cpp hpp файлики и как в той же жаве, шарпах, прости господи, джаваскрипте - пилить как человек код в одном файлике?
Аноним 03/10/21 Вск 16:28:47 #380 №2172860 
>>2172849
Пиши свой сплиттер, делов на пару строк на питоне.


#file имя файла
Код
...

#file имя файла 2
Код
Аноним 03/10/21 Вск 16:35:25 #381 №2172868 
>>2172860
Он тебя про модули спрашивал, а ты опять пирдолигн свой толкаешь((9
Аноним 03/10/21 Вск 16:58:32 #382 №2172885 
>>2172849
Лет через 10-15, когда с Qt будет то же, что сейчас с Borland C++ Builder.
Аноним 03/10/21 Вск 17:21:34 #383 №2172903 
>>2172756
Спасибо за совет, но я не думаю, что там будет очень сложно, ведь про ООП уже знаю, да и более-менее реализовывал его на сишке.
Аноним 03/10/21 Вск 19:22:59 #384 №2173019 
>>2172849
Никто тебя и не заставляет разделять их, если тебе не нужны отдельные компилируемые единицы.
Аноним 04/10/21 Пнд 01:30:32 #385 №2173212 
Что читать/делать по ООП чтобы понять как грамотно это все использовать?
Аноним 04/10/21 Пнд 02:13:46 #386 №2173218 
>>2173212
Хорошо почитать и посмотреть примеры про наследование\инкапсуляцию\полиморфизм.

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

И дальше писать код и набираться опыта.
Аноним 04/10/21 Пнд 08:26:14 #387 №2173264 
>>2173212
Объект - существительное.
Свойство - прилагательное.
Метод - глагол.

Все, теперь ты знаешь ООП лучше 90 % манятеоретиков.
Аноним 04/10/21 Пнд 08:52:44 #388 №2173270 
>>2173212
>ООП
>грамотно
Поделил на ноль.
Аноним 04/10/21 Пнд 08:58:05 #389 №2173273 
>>2173212
Хзы что ты именно хочешь, можешь про solid почитать
Узнаешь как ооп в архитектуре используется и для чего
Аноним 04/10/21 Пнд 09:48:34 #390 №2173284 
>>2173218
>инкапсуляция это охуенно, наследование хуйня
Наоборот.
Аноним 04/10/21 Пнд 10:18:21 #391 №2173316 
>>2173284
Питонист, иди в свой тред
Аноним 04/10/21 Пнд 12:09:46 #392 №2173447 
>>2173316
Но инкапсуляция и правда не нужна. Зачем мне самому себе строить ограничения на ровном месте?
Аноним 04/10/21 Пнд 13:14:14 #393 №2173543 
>>2173447
Пока ты один в проекте, то может быть и незачем. Когда у тебя команда - инкапсуляция становится критически важна. При грамотном подходе человек использующий твой класс не сможет разрушить заложенную тобой логику и будет его использовать его правильно. Когда у тебя нет инкапсуляции, то любой человек в проекте будет пытаться прострелить себе ногу.
Аноним 04/10/21 Пнд 13:23:04 #394 №2173550 
>>2172849
Зачем? Разделение .h и .cpp это лучшее, что придумано людьми. Ты без проблем можешь писать все в одном файле и сейчас.
Аноним 04/10/21 Пнд 13:25:32 #395 №2173555 
Напоминаю вкатышам, что инкапсуляция - это не то же, что private.
Аноним 04/10/21 Пнд 14:45:37 #396 №2173628 
>>2173550
Да, охуенное разделение, охуенно работает. Определения шаблонов всё равно приходится писать в хедеры. Плюс говно по типу namespace impl, чтобы скрыть детали реализации.
Аноним 04/10/21 Пнд 16:20:10 #397 №2173680 
>>2173628
>Определения шаблонов всё равно приходится писать в хедеры.
Потому что .cpp это единица трансляции который в конечном итоге дает скомпилированный, но не линкованный .obj файл. Все шаблоны/их типы должны быть вычислены ДО начала трансляции кода, т.к. язык строго типизирован.

>Плюс говно по типу namespace impl, чтобы скрыть детали реализации.
И что в этом плохого?
Аноним 04/10/21 Пнд 16:41:48 #398 №2173702 
>>2173628
Модули починят
Аноним 04/10/21 Пнд 16:47:18 #399 №2173708 
>>2173680
Не знаю, извини(( Я понимаю про шаблоны, но просто нахуй тогда пытаться делить на хедеры и сорсы, если всё равно всё в кучу в хедерах получается?(( Мне нравится идея того, что в хедерах публичный интерфейс, но то, что туда надо ещё пихать шаблоны и туда иногда ещё попадают вещи, не касающиеся публичного интерфейса, которые можно разве что попытаться скрыть...

Кажется, в модулях эти проблемы решены, вот насчёт шаблонов не уверен, но я ещё сам их не пробывал... Не знаю, какая там поддержка их в например симейке.
Аноним 04/10/21 Пнд 18:41:14 #400 №2173876 
аноны как пофиксить это? я вроде скачал библиотеку же
Аноним 04/10/21 Пнд 18:41:38 #401 №2173877 
image.png
>>2173876
отвалилось
Аноним 04/10/21 Пнд 19:04:02 #402 №2173913 
>>2173876
>>2173877
Либо криво встала, либо висуал студия её не видит
Аноним 04/10/21 Пнд 19:09:29 #403 №2173925 
>>2173913
Оказывается надо было буквы cv убирать перед названиями
Аноним 04/10/21 Пнд 19:16:56 #404 №2173935 
>>2173925
Питонист, ты? Ты же написал using namespace
Аноним 04/10/21 Пнд 19:17:26 #405 №2173936 
>>2173935
А ладно
Аноним 04/10/21 Пнд 19:39:45 #406 №2173962 
>>2173935
я на js пишу так-то, с++ только с лабами вот мучаюсь
Аноним 04/10/21 Пнд 19:40:46 #407 №2173963 
>>2173212
>ООП
понять что такое гомоморфные иерархии классов и статический/динамический/adhoc полиморфизм и их use cases
понимать что все остальное про что будут писать и говорить про ооп в контексте с++ - буллшит и игнорировать
не путать компонентное программирование через эмуляцию интерфейсов и ооп, это блядь разные приемы в с++
как то так
но лень объяснять, потому что кто это знает тот знает и молчит, кто не понимает тот посчитает этот текст сумашедшим высером


Аноним 04/10/21 Пнд 19:43:14 #408 №2173967 
>>2173963
Толсто.
Аноним 04/10/21 Пнд 19:50:38 #409 №2173978 
>>2173218
ну вот первый буллшитер, к примеру
инкапсуляция и ооп вообще никак не связаны, за мантру "ооп это наследование инкапсуляция полиморфизм" нужно валить на пол и бить ногами

Аноним 04/10/21 Пнд 19:54:43 #410 №2173984 
>>2173978
Расскажи нам, работник гугла\фейсбука, что такое ООП. Желательно без софистики, что тру ооп было в смоллтолке, а сейчас это все хуйня
Аноним 04/10/21 Пнд 20:21:34 #411 №2174006 
ООП в крестах би лайк

template <typename T>
class MyClass : public T
{ ... };
Аноним 04/10/21 Пнд 22:22:23 #412 №2174100 
как реализовать на с++ алгоритм шифрования при помощи случайной перестановки?
Пока прикинула план шифрования и дешифрования, но как-то с кодом не получается. Подскажите пожалуйста, как это сделать.
Шифрование:
1) берем алфавит, для него рандомно делаем таблицу, по которой будем шифровать (просто меняем буквы местами)
2) в кодовом слове определяем номер каждой буквы (например а-0, б-1, в-2 и тд)
3) по номерам заменяем эти буквы из таблицы для шифрования
Дешифровка:
Нам понадобится та же таблица, только уже в ней будем искать букву, смотреть ее порядковый номер и заменять на изначальную букву
Аноним 04/10/21 Пнд 22:33:18 #413 №2174112 
>>2174100
>прикинула
Правила знаешь
Аноним 04/10/21 Пнд 22:41:14 #414 №2174120 
>>2174100
Я нихуя не понял. Ты хочешь перемешать строку? Вот алгоритм
https://en.m.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

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

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

Тоже говно идея, но по крайней не такая шиза, как у тебя.
Аноним 05/10/21 Втр 00:11:04 #415 №2174174 
>>2173708
>но просто нахуй тогда пытаться делить на хедеры и сорсы, если всё равно всё в кучу в хедерах получается?((
Я написал выше про шаблоны. Все остальное можно писать в одном .cpp файле. Есть даже прием для ускорения сборки - все собрать в один .cpp и оттранслировать только один юнит.

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

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

>но то, что туда надо ещё пихать шаблоны и туда иногда ещё попадают вещи, не касающиеся публичного интерфейса, которые можно разве что попытаться скрыть...
Тебя никто не заставляет использовать шаблоны (исходя из своего опыта могу сказать, что если ты собрался заюзать шаблоны, то возможно стоит пересмотреть архитектуру того, что ты делаешь сейчас, т.к. есть вероятность, что ты делаешь что то не так). Тем не менее они полезны. Метапрограммирование в крестах весьма мощная штука и позволяет решать нетривиальные задачи. В моей практике это иногда встречается (геймдевелопер 25 лет опыта). Однако необходимость пилить шаблоны в хедерах не является какой то проблемой по сравнению с задачами которые они позволяют решить относительно малой кровью.

>Не знаю, какая там поддержка их в например симейке.
cmake не поддерживает шаблоны, лол. А вот любой современный компилятор все это поддерживает нормально.
Аноним 05/10/21 Втр 01:37:41 #416 №2174196 
>>2173984
ооп это та или иная форма полиморфизма и ничего больше
даже наследование не более чем инструмент для его организации
инкапсуляция вообще не причем, отдельно от ооп
Аноним 05/10/21 Втр 07:28:13 #417 №2174235 
>>2173543
>человек использующий твой класс не сможет разрушить заложенную тобой логику и будет его использовать его правильно.
Помню как приходилось переписывать по половине функционала, потому что ОО-дебилы ИНКАПСУЛИРОВАЛИ всякие мелочи, которые внезапно оказались важными для решения некоторых задач. И это в питухоне, Карл!
Аноним 05/10/21 Втр 11:02:41 #418 №2174358 
>>2173543
У меня есть коллега, который презирает уровни доступа С++. Он работает на низком уровне, использует С++, как С с классами. Драйвера, софт для embedded и т.п. Когда я ему начинаю говорить про типобезопасность, инкапсуляцию, он говорит, что возьмет и получит нужные данные по смещению. Ну и что ему возразишь? Ничего. Он прав. Если кто-то захочет - он сделает. Даже в мейнстримовых песочницах можно. Вопрос цены только.

Конечно это не значит, что нужно все это забыть. Но категоричность сбавить можно было бы :)
Аноним 05/10/21 Втр 11:03:04 #419 №2174359 
>>2170414
Где на практике нужны эти алгоритмы, кроме графики и хайлоада? В десктопных приложениях, в реализации протоколов максимум std::sort пригодился.

мимо разраб жирного эмбеддеда
Аноним 05/10/21 Втр 13:03:12 #420 №2174444 
>>2174358
долбоебам закон не писан
Аноним 05/10/21 Втр 15:44:41 #421 №2174586 
image.png
Бляяя какой же сука тупой тайп инференс у С++.
Это что за хуйня он не может неявно преобразовать bool в std::optional? Пиздец как я заебался на этом говне писать.
Аноним 05/10/21 Втр 15:55:52 #422 №2174595 
>>2174586
Это специально было сделано, тётя Дуня. Проверяй опшнлы и корректно забирай значения, а не забивай хуй.
Аноним 05/10/21 Втр 16:21:26 #423 №2174613 
>>2174586
В чём смысл передавать в метод set optional? Это как-то тупо, проще и логичнее вынести этот if (value) в код, который вызывает set. Это не область ответственности сеттера, он не может корректно обработать отуствтие значения в опшенале, как мне кажется.

Вывод типов... Ну да, придётся добавить <bool> к вызову метода.
Аноним 05/10/21 Втр 16:28:56 #424 №2174617 
>>2174613
Как раз таки это класс я сделал специально, т.к задача заключается в том, что приходит некий результат с полями обернутыми в optional и смысл в том, чтобы если значение есть формировать поле в джейсон, а если нет - нет.

>проще и логичнее вынести этот if (value) в код,
Как раз наоборот, изначально было в коде тупо проверка ифами по всем полям, где я нашел пару ошибок + это дублирование кода.

>Вывод типов... Ну да, придётся добавить <bool> к вызову метода.
Нет, приходится добавляться set("sdad", optional{true})
Аноним 05/10/21 Втр 18:21:20 #425 №2174714 
>>2174586
Не явное преобразование - грех
Аноним 05/10/21 Втр 19:05:22 #426 №2174766 
>>2174359
Обработка изображений и видео, машинное зрение, сеточки, RTOS.

мимо разраб умного эмбеддеда
Аноним 05/10/21 Втр 19:52:49 #427 №2174800 
image.png
image.png
Всем привет, изучаю c++ пару часов, вот пока мои самые умные строчки кода.
Аноним 05/10/21 Втр 20:01:38 #428 №2174803 
>>2174800
Ты уже умнее 90% вкатунов, хоть и смешал плюсы с сишкой.
Аноним 05/10/21 Втр 20:40:59 #429 №2174846 
>>2174800
>изучаю c++
Нахуя? Я вот пытаюсь наоборот с него перейти куда-то после 10 лет поедания говна на нем.
Запомни: С++ - это когда пахнет говном в офисе
Аноним 05/10/21 Втр 20:51:22 #430 №2174867 
>>2174846
Кушать хочется. Ещё есть стул в виде раста, но он мне кажется сложноватым пока что.
Аноним 05/10/21 Втр 21:00:11 #431 №2174884 
Сап двач, мидл почти 5 лет опыта. Что скажете за условно русский FAANG: Сбер, Яндекс, Mail, Ozon, Вконтакте, Rambler относительно бэкэнда на крестах. Везде более менее одно и то же. Хоть какая-то разница есть? Может где-то премии пожирнее или соц пакет?
Аноним 05/10/21 Втр 21:10:12 #432 №2174891 
>>2174867
Раст во-первых намного проще перегруженного цпп.
А во-вторых, нахуй тебе эта низкоуровенвая параша? Ебаш Котлин или С# и кайфуй от жизни.
Аноним 05/10/21 Втр 21:11:40 #433 №2174893 
>>2174884
>условно русский FAANG: Сбер, Яндекс, Mail, Ozon, Вконтакте, Rambler
СЯМОВR
Аноним 05/10/21 Втр 21:20:30 #434 №2174897 
>>2174891
Ну хз, концептуально раст кажется сложнее.
>А во-вторых, нахуй тебе эта низкоуровенвая параша?
Чтобы держать мозг в тонусе, так сказать. Ещё можно обмазаться абстракциями и стать фп-каргокультистом, но я пока ещё хз, хуже это или лучше.
Аноним 05/10/21 Втр 21:31:23 #435 №2174907 
>>2174897
Ну конечно низкий уровень знать желательно, но не критично в зависимости от прикладной области. Но лучше знать и понимать алгоритмы и уметь выражать задачи на абстракциях языка. Так что чтобы держать мозг в тонусе, лучше фп. Но если ты только вкатываешься, начинать с хаскеля тебе будет сложно. Так что мой совет F# - это OCaml со встроенным dotnet, ахуенная штука, которая позволяет писать на функциональном языке и пользоваться dotnet фреймворком.
Аноним 05/10/21 Втр 23:25:02 #436 №2174981 
>>2174893
Но но, мясовор же!
Аноним 06/10/21 Срд 00:46:53 #437 №2175040 
Чем наследование интерфейса отличается от наследования реализации?
Аноним 06/10/21 Срд 01:07:05 #438 №2175062 
>>2175040
Интерфейс надо реализовать самому, а реализация уже реализована, осталось только расширять.
Аноним 06/10/21 Срд 01:35:17 #439 №2175085 
>>2174846
>Запомни: С++ - это когда пахнет говном в офисе
дык это от тебя шмонит говнецом: разьебанная срака не держит уже
Аноним 06/10/21 Срд 01:52:42 #440 №2175093 
>>2174891
>перегруженного цпп
в цпп нет ничего ненужного
целый комитет яйцеголовых стоит на страже не допуская добовления в язык лишней семантики! а существующий синтаксис лишь обслуживает семантику!

Аноним 06/10/21 Срд 01:54:30 #441 №2175094 
>>2174897
>фп-каргокультистом
современный с++ к этому не располагает
разве что ты хочешь ретро-кодинга, развлекаясь метапрограммированием на с++98..
Аноним 06/10/21 Срд 01:56:47 #442 №2175095 
>>2174907
>F# - это OCaml со встроенным dotnet, ахуенная штука, которая позволяет писать на функциональном языке и пользоваться dotnet фреймворком
если есть 2 квартиры, одну сдаешь, во второй живешь, и еще если умеешь жить экономно (варить борщ) то Ф решетка - твой выбор
в остальных случаях не советую

Аноним 06/10/21 Срд 01:57:20 #443 №2175096 
>>2175040
следующий вопрос, это слишком легко

Аноним 06/10/21 Срд 05:22:30 #444 №2175122 
image.png
Как сделать вставку указателей лучше? хотел через insert - нихуя - мне же надо вставить указатели
sageАноним 06/10/21 Срд 05:46:31 #445 №2175128 
>>2175122
моск себе вставь
Аноним 06/10/21 Срд 06:23:28 #446 №2175134 
IMG20211006062016447.png
Открыл пример блокнота на Qt, хочу добавить функцию для настройки печати. Как это сделать, не могу разобраться.
В справке написано
Constructs a page setup dialog that configures a default-constructed QPrinter with parent as the parent widget.
То есть, я могу вызвать опцию без параметров и он должен настроить принтер который есть в моём экземпляре класса? Но почему тогда в функции выше он создаётся заного при нажатии кнопки? Может его нужно создать один раз, при инициализации класса?
Аноним 06/10/21 Срд 07:00:28 #447 №2175137 
>>2175128
типичная двачная пидоражка
Аноним 06/10/21 Срд 07:10:40 #448 №2175139 
>>2175122
Ну можно ещё через итераторы попробовать сделать

Но итераторы в плюсах уродливые, получится только хуже
Так что я бы так оставил

только бы сделал фор по коллекции, а не по индексам
Аноним 06/10/21 Срд 07:25:49 #449 №2175143 
>>2175139
как раз нельзя (или у меня не получилось), потому и вопрос. data1 и data2 хранятся на стеке, а в ptrData нужно передать указатели на них

Так-то было бы красиво написать ptrData.insert(data1.begin(), data1.end()) - но это не работает, так как итератор хранит значение.
Аноним 06/10/21 Срд 09:08:54 #450 №2175213 
>>2175143
Transform + back-inserter + лямбда которая делает указатель
Аноним 06/10/21 Срд 09:21:10 #451 №2175222 
>>2175213
Ктулху призываешь?
Аноним 06/10/21 Срд 12:22:57 #452 №2175412 
Screenshot 2021-10-06 122111.png
>>2175122
Пикрелейтед ответ на твой вопрос.
Мимо другой анон.
Аноним 06/10/21 Срд 12:26:53 #453 №2175419 
Screenshot 2021-10-06 122505.png
>>2175412
Что бы тебя не обоссали на лабекодревью, то можешь лямбду вынести. Пикрелейтед агейн.
Все тот же мимо другой анон.
Аноним 06/10/21 Срд 12:29:56 #454 №2175422 
>>2175419
Код говно на самом деле. У меня никогда не получается с первого раза норм. За это я получу страпон.
Все тот же мимо другой анон.
Аноним 06/10/21 Срд 13:09:30 #455 №2175469 
Начал работать с библиотекой glfw и возникла проблемка
Вот код, который я скопировал с какого-то сайта и он рабочий, создаётся окно, в котором вращается треугольничек

Я решил перенести весь этот код внутрь класса (Всё что внутри main я перенёс в отдельный метод setwindow). И в итоге в методе setwindow при вызове glfwSetKeyCallback(window, key); возникает ошибка

аргумент типа "void (class1::)(GLFWwindow, int key, int scancode, int action, int mods)" несовместим с параметром типа "GLFWkeyfun"

c glfwSetErrorCallback(error); примерно та же ошибка
как фиксить?


Изначальный код:

void error(int error, const char
description)
{
fputs(description, stderr);
}

void key(GLFWwindow window, int key, int scancode, int action, int mods)
{
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetWindowShouldClose(window, GL_TRUE);
}

void display(GLFWwindow
window)
{
int width, height;

glfwGetFramebufferSize(window, &width, &height);

float ratio = width / (float)height;

glViewport(0, 0, width, height);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef((float)glfwGetTime() 50.f, 0.f, 0.f, 1.f);
glBegin(GL_TRIANGLES);
glColor3f(1.f, 0.f, 0.f);
glVertex3f(-0.6f, -0.4f, 0.f);
glColor3f(0.f, 1.f, 0.f);
glVertex3f(0.6f, -0.4f, 0.f);
glColor3f(0.f, 0.f, 1.f);
glVertex3f(0.f, 0.6f, 0.f);
glEnd();
}

int main()
{

glfwSetErrorCallback(error);

if (!glfwInit())
exit(1);

GLFWwindow
window = glfwCreateWindow(1000, 1000, "TEST", NULL, NULL);

if (!window)
{
glfwTerminate();
exit(1);
}

glfwMakeContextCurrent(window);
glfwSwapInterval(1);
glfwSetKeyCallback(window, key);

while (!glfwWindowShouldClose(window))
{
display(window);
glfwSwapBuffers(window);
glfwPollEvents();
}

glfwDestroyWindow(window);
glfwTerminate();

return 0;
}
Аноним 06/10/21 Срд 13:17:20 #456 №2175486 
>>2175469
Ложная тревога, сделал key статиком и ошибка пропала
Аноним 06/10/21 Срд 14:57:32 #457 №2175618 
Сап двач, пишу программу для мк Atmega8. Мне надо перевести unsigned int 32 бита в массив char. Я использовал функцию sprintf, и я никак не могу перевести число больше чем 65535, любое число которое больше 65535 превращается в рандомный бред, в отрицательные числа и тд.
Вот код:

uint32_t Tn = TCNT1 / 2;
uint32_t Time = (T * 30000) + Tn;
char Str[16];
uint8_t n=sprintf(Str, "%lu\n", Time);

Я пробовал модификаторы
%u
%d
%lu
%ld
%llu
%%lld
%lu\n
%ld\n
%llu\n
%lld\n
Ничего из этого не заработало.
Выручайте, молю.
Аноним 06/10/21 Срд 14:59:07 #458 №2175619 
>>2175618
>%lld
фиксанул
Аноним 06/10/21 Срд 16:42:14 #459 №2175692 
>>2175122
чмоня https://en.cppreference.com/w/cpp/algorithm/fill
Аноним 06/10/21 Срд 17:16:12 #460 №2175737 
>>2174766
А какие более-менее универсальные алгоритмы там применяются и как? Что-то связанное с деревьями, скорее всего?
Аноним 06/10/21 Срд 19:03:56 #461 №2175825 
image.png
>>2175095
Ну хуй знает...
Аноним 06/10/21 Срд 19:43:41 #462 №2175864 
>>2175618
Как насчёт std::stoi?
Аноним 06/10/21 Срд 21:13:35 #463 №2175973 
Что за гений придумал в функции работающие с итераторами пихать бегин и энд
В итоге в 99% случаях пишешь фунс(а.бегин, а.енд)

Аноним 06/10/21 Срд 21:28:14 #464 №2176005 
>>2175618
отпишись если все же получиться перевести 32 бита информации в 16 бит :D

Аноним 06/10/21 Срд 21:29:02 #465 №2176008 
>>2175973
Александреску и Страуструп, кто ж ещё.
Их дело придумать, не им же потом на этом говне писать.
Аноним 06/10/21 Срд 21:29:15 #466 №2176009 
>>2175618
алсо, остоеться надеяться что ты студентик еще, а не работаешь на российскую оборонку :P
Аноним 06/10/21 Срд 21:29:49 #467 №2176010 
>>2176005
Слабо сжать 1 бит?
Аноним 06/10/21 Срд 21:32:21 #468 №2176015 
>>2176010
я могу только сжимать свое очко чтобы говно не вываливалось, думаю в моем возрасте это неплохое достижение
Аноним 06/10/21 Срд 21:34:30 #469 №2176020 
>>2176015
Попробуй пробку.
Аноним 06/10/21 Срд 21:35:41 #470 №2176021 
>>2176020
>Попробуй пробку
js тред где-то рядом ^^
Аноним 06/10/21 Срд 22:04:02 #471 №2176060 
>>2176015
а я язык трубочкой сворачивать - кто лучше?
жаль, что ушами двигать не могу и поднимать одну бровь тоже не умею
Аноним 06/10/21 Срд 22:09:42 #472 №2176070 
.png
А куклоёбы тут есть?
Аноним 07/10/21 Чтв 00:06:09 #473 №2176242 
>>2175618
Пишу с телефона. Тебе надо сделать вот что. Берёшь arr[4] чаров и свой uint32_t val и делаешь так - arr[3] = val >> 24; arr[2] = val >> 16; arr[1]= val >> 8; arr[0] = val;
Аноним 07/10/21 Чтв 08:01:41 #474 №2176414 
>>2175618
https://en.cppreference.com/w/cpp/numeric/bit_cast
Аноним 07/10/21 Чтв 09:58:54 #475 №2176465 
>>2176242
>>2175618
>>2176005
>>2175864
Всё, решил проблему. Оказалось что T - восемь бит и оно не могло умножиться на 30000 потому что для счетчика было достаточно 8 бит. Сделал Т 32 бита и всё заработало. Но вообще странно, почему С не может умножить 8-битную переменную и результат положить в 32-битную?
Аноним 07/10/21 Чтв 10:03:50 #476 №2176466 
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
Аноним 07/10/21 Чтв 10:58:01 #477 №2176509 
>>2176465
Имеешь ввиду эту строчку? >uint32_t Time = (T * 30000) + Tn; где T у тебя был 8 бит? У тебя что за компилятор? MSVS собирает этот код, т.к. выполняет автоматическое преобразование типовю
Аноним 07/10/21 Чтв 11:11:53 #478 №2176523 
>>2176509
>У тебя что за компилятор?
gсс, среда atmel studio 7.0
Аноним 07/10/21 Чтв 13:59:51 #479 №2176700 
image.png
image.png
БРАТЬЯ, научите решать задачи не перебором


Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число— максимально возможную сумму, соответствующую условиям задачи.

Входные данные.
(Пикрил )
Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар N (1≤N≤100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.

Пример организации исходных данных во входном файле:

6

1 3

5 12

6 9

5 4

3 3

1 1

Для указанных входных данных значением искомой суммы должно быть число 32.

В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.



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

Аноним 07/10/21 Чтв 14:10:40 #480 №2176707 
>>2175122
Почему, кстати, здесь не воспользоваться reference_wrapper?
Аноним 07/10/21 Чтв 15:19:23 #481 №2176766 
есть вопрос. можно ли в конструкторе класса както получить адрес самого объекта класса который создается этим контруктором? хочу написать двусвязную очередь, и хочу чтобы при создании нового элемента конструктором в поле предыдущего элемента записывался адрес только что созданного. например
Class1(Сlass1* pre){
a=0;
prev=pre;
next=nullptr;
pre->next=И ВОТ ЧТО ТУТ ПИСАТЬ? ПРОСТО &Сlass1 НЕ КАТИТ, Т К ЭТО ИМЯ ТИПА
}
Аноним 07/10/21 Чтв 16:34:08 #482 №2176843 
>>2176766
this?
Аноним 07/10/21 Чтв 21:48:14 #483 №2177124 
>>2176700
1 - к cpp не имеет отношения
2 - лабы нахуй
Аноним 07/10/21 Чтв 21:53:27 #484 №2177133 
>>2176523
Возможно свои особенности какие то есть. Эта фича называется Implicit type conversions и возможно не поддерживается твоим компилятором.
Аноним 07/10/21 Чтв 21:57:47 #485 №2177135 
В каких сферах крестовики зарабатывают лучше всего? Работаю в телекоме, чищу вилкой говна, получаю 180. Думаю о перспективах. Умею в ангелский разговорный - будет ли выхлоп, если запилить релевантное cv на линкедин?
Аноним 07/10/21 Чтв 23:18:11 #486 №2177197 
>>2177135
>лучше всего
в трейдинге были неплохие зарплаты

>чищу вилкой говна
легаси говна?

>будет ли выхлоп
Если ты действительно шаришь в какой-то предметной области, то да.
Аноним 08/10/21 Птн 05:26:33 #487 №2177259 
VisualStudioIcon2019.svg.png
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
Аноним 08/10/21 Птн 05:26:56 #488 №2177260 
VisualStudioIcon2019.svg.png
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
Аноним 08/10/21 Птн 07:35:10 #489 №2177270 
16336600177170.png
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
Аноним 08/10/21 Птн 07:35:33 #490 №2177271 
16336600177170.png
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
Аноним 08/10/21 Птн 07:53:02 #491 №2177274 
>>2177135
Финансовая индустрия - во всех инвестбанках, хеджфондах, частных трейдерских компаниях есть внутренние монструозные числодробилки

Некоторое количество плюсовых работ есть в ФААНГах, но работать там это такое себе. Но платят норм.
Аноним 08/10/21 Птн 10:13:53 #492 №2177329 
>трейдинг, финтех
Ну кто бы сомневался, чем денежнее - тем унылее, кхе.

>>2177197
>легаси говна?
Ещё как. зазывали на "с++17 в проектах", оказалось как всегда.

>шаришь в какой-то предметной области
С позиционированием себя беда, конечно. Работал над всяким понемногу, ни от чего особо не угорал - только по графонию периодически чего-то ковыряю и почитываю. Я так понимаю без ясного и чёткого выпячивания какой-то своей фишечки и специализации в cv ловить особо нечего - в лучшем случае локальные же херки и будут написывать.
Аноним 08/10/21 Птн 11:57:14 #493 №2177401 
>>2177329
>в лучшем случае локальные же херки и будут написывать
Да не, сейчас всякие пишут. На хедхантере очень сильный разброс - со всех наших пердей (НиНо, Нск, Красный, Дс1/2, Калина, даже с Томксков), с хохлоины, с восточной европы и кипра.
На линке к ним присоединяются дойчи и китайцы.
Аноним 08/10/21 Птн 12:04:13 #494 №2177404 
>>2177259
>>2177260
>>2177270
>>2177271
Этого забанить
Аноним 08/10/21 Птн 15:05:53 #495 №2177500 
Как инициализировать структуру в конструкторе класса?

struct st
{
int x;
int y;
}

class s
{

st a;

s() : a(???)
{

}
}
Аноним 08/10/21 Птн 15:09:53 #496 №2177502 
>>2177500
s() : a({1,2}) ?
Аноним 08/10/21 Птн 15:12:55 #497 №2177504 
>>2177502
Спасибо
Аноним 08/10/21 Птн 15:30:38 #498 №2177508 
>>2177404
> Этого забанить

Ну а че, сложно подсказать что ли?
Аноним 08/10/21 Птн 16:32:13 #499 №2177562 
>>2177508
Вероятно это сообщения не из студии, а из соснольных команд шиндовс типа dir или copy, которые она может запускать при сборке.
Аноним 08/10/21 Птн 18:33:17 #500 №2177694 
изображение.png
изображение.png
>>2157621 (OP)
Подскажите как организовать парсинг данного текста. Объект строится из частей путем унарных и бинарных операций над частями. То есть необходимо реализовать калькулятор, который работает с типом <Part>. В самом определение типа <Part> будут перегружены все возможные операции с типом.
Первая идея была спарсить с помощью boost::property::tree. В тексе находим "Part_derived (type" и создаем объект <Part_derived_manager>, который в полях содержит строку "a,b,c" для инициализации полей объекта <Part_derived> в дальнейшем. Рабочая схема, как думайте?
Все сложнее с объектами.В тексе находим "OBJ" и создаем объект и создаем объект <object_manager>, который содержит индентификатор и строку-выражение "PR2*(PR1+PR2)". Что с ней делать? Части уже созданы, в каждой из них перегружены арифметические операции. Придется писать полноценный калькулятор на boost::spirit, с токенизатором, лексером для этой строки-выражения, калькулятор который работает с типом <part>? Если да, то как затем хранить это выражение в объекте <object>, поскольку оно потребуется в будущем.
Аноним 09/10/21 Суб 00:52:43 #501 №2177887 
Есть желание попилить воксельный движок не для коммерческой разработки, просто люблю матан, кодить и есть много свободного времени
Какие библиотеки для работы с 3d можете посоветовать?
Аноним 09/10/21 Суб 01:36:44 #502 №2177909 
>>2177887
Зачем использовать что-то стороннее, связанное с графикой, если собрался делать свой графический движок? Просто возьми какие-нибудь либы для создания окна с opengl контекстом и для загрузки opengl функций, и пиши с нуля, что душе угодно. Ну или вулкан. Или этот бойлерплейт с созданием окна и загрузкой функций тоже сам напиши.
Аноним 09/10/21 Суб 17:35:15 #503 №2178472 
Кто шарит в opengl/glfw?
Как передать hex цвет #b765b7 в glColor...()?
Аноним 09/10/21 Суб 17:38:24 #504 №2178475 
>>2178472
(0xb7, 0x65, 0xb7)
Аноним 09/10/21 Суб 20:56:12 #505 №2178731 
>>2177887
Уже придумал, как кубы рендерить, воксельный?
Аноним 09/10/21 Суб 20:59:32 #506 №2178738 
>>2178731
В майнкрафте.
Аноним 09/10/21 Суб 22:36:04 #507 №2178818 
Че сейчас на сеньерскую позицию спрашивают на собеседованиях в конторки выше среднего? Виртуальный деструктор. 4 года назад последний раз был на собесе.
Аноним 10/10/21 Вск 03:37:59 #508 №2178988 
>>2178818
Почему вы хотите работать именно в нашей компании?
Кем вы видите себя через пять лет?
Почему ты не можешь решить FizzBuzz за три минуты?
Аноним 10/10/21 Вск 09:23:55 #509 №2179035 
>>2178818
Параллелизм. Либо на него будет тестовое.
А вообще на синьёра катают по предметке, если это не яндексы-хуяндексы, а конторы поскромнее.
Аноним 10/10/21 Вск 12:16:36 #510 №2179180 
>>2178818
А разве сеньер не должен сам уметь проводить собеседования?
Аноним 10/10/21 Вск 12:19:30 #511 №2179185 
>>2179180
Нет.
Аноним 10/10/21 Вск 15:36:39 #512 №2179332 
Сильно ли заебисто написать деление в столбик больших чисел, которые в виде строки вводятся?
Аноним 10/10/21 Вск 16:07:08 #513 №2179355 
>>2179332
берешь @ пишешь
Аноним 10/10/21 Вск 16:12:19 #514 №2179360 
>>2179332
Да, очень-очень заебисто. Проще в нвидию устроиться, батники писать.
Аноним 10/10/21 Вск 18:05:35 #515 №2179534 
>>2179360
Устраивайся, я тебя даже пособесю :3
Аноним 11/10/21 Пнд 13:41:08 #516 №2180189 
изображение.png
Че за хуйня? Я открыл в vs файлы, писал что то в них, а через консоль компилировал. Потом оказывается, что я файл не могу сохранить, а саму vs не могу закрыть. Че за хуйня?
Аноним 11/10/21 Пнд 14:53:46 #517 №2180265 
>>2180189
переустановите шиндовс
Аноним 11/10/21 Пнд 14:54:02 #518 №2180267 
>>2180189
переустановите шиндовс
Аноним 11/10/21 Пнд 18:58:58 #519 №2180482 
На чем был написан первый плюсовой компилятор?
Аноним 11/10/21 Пнд 19:03:14 #520 №2180484 
>>2180482
https://ru.wikipedia.org/wiki/Cfront
Аноним 11/10/21 Пнд 23:18:02 #521 №2180744 
>>2179180
>А разве сеньер не должен сам уметь проводить собеседования?
Как-то раз я пришел в Скотолоджик и не они мне, я им провел собеседование
Аноним 12/10/21 Втр 06:01:36 #522 №2180876 
Conan ещё жив?
Аноним 12/10/21 Втр 09:12:58 #523 №2180906 
Аннотация 2021-10-12 090723.jpg
Посоны, где в Visual Studio настроить, чтобы эта хрень Tools -> Get Tools and Features была на английском?
Аноним 12/10/21 Втр 10:53:37 #524 №2181009 
>>2180906
Инсталер - это отдельная программа. Насколько я помню, у нее нет настроек языка. Микрософт при скачивании подсовывает версию на том языке, который она считает подходящим для тебя.
Аноним 12/10/21 Втр 13:19:01 #525 №2181200 
>>2178818
>Че сейчас на сеньерскую позицию спрашивают на собеседованиях в конторки выше среднего? Виртуальный деструктор
Sad, but true.
Мне в прошлом году прилетело несколько интересных предложений и я пошел на собеседования. Там везде спрашивали про виртуальный деструктор и прочую базовую херню. У меня на тот момент 24 года опыта было за плечами.
Мимо дед.
Аноним 12/10/21 Втр 16:33:59 #526 №2181361 
image.png
image.png
Что с такой ошибкой делать? (Решил написать свой клон diamond rush)
Аноним 12/10/21 Втр 16:36:10 #527 №2181362 
>>2181361
заинклудить хедер, где есть определение gobjects?
Аноним 12/10/21 Втр 16:39:17 #528 №2181366 
>>2181362
Не помогает, ошибка осталась
Аноним 12/10/21 Втр 16:49:17 #529 №2181381 
>>2181366
Удали forward declaration - class gobjects; и подключи хедер с полным объявлением.
Аноним 12/10/21 Втр 23:40:18 #530 №2181924 
image.png
Ну нормальное же решение, бля..
Аноним 13/10/21 Срд 01:12:02 #531 №2182028 
>>2181924
Зачем переизобретать boost? https://www.boost.org/doc/libs/1_77_0/libs/iterator/doc/function_output_iterator.html

На дворе 21 год, давно есть range v3 - https://godbolt.org/z/f5ch4M1bz
Аноним 13/10/21 Срд 01:24:50 #532 №2182040 
>>2182028
Буст в конторе не используем, только STL и собственные наработки. Стандарт пока что 14-17 (либы 14, конпелятор 17). Короче, надеюсь тимлид не скажет, что сильно выебываюсь, когда дойдет до ревью кода ветки.
Аноним 13/10/21 Срд 06:56:09 #533 №2182077 
>>2182040
Ты какое-то sdk шлёпаешь? Скукотища же ёбаная шаблоны шаблонить, не?
Аноним 13/10/21 Срд 13:02:22 #534 №2182318 
>>2181381
Короче у меня взаимная зависимость классов и всю мою парашу нужно заново переписывать. Я в главном классе game вызываю метод отрисовки в классе draws, внутри которого вызывается метод внутри класса внутри gobjects, внутри которого вызывается метод внутри draws. И типа компилятор читает один h файл, там есть обращение к классу из другого h файла, который компилятор ещё вроде не прочитал. Я хз как пофиксить это не переписывая
Аноним 13/10/21 Срд 13:22:44 #535 №2182327 
>>2182318
Нехуй было писать реализацию методов в хедерах.
Аноним 13/10/21 Срд 13:45:36 #536 №2182340 
>>2182327
Да я сам уже допер что хуйню сделал, первый раз делаю прогу в которой больше 2 файлов
Аноним 13/10/21 Срд 14:37:21 #537 №2182371 
>>2181200
>У меня на тот момент 24 года опыта было за плечами.
>Мимо дед.
Если бы у тебя было 24 года опыта, то у тебя так же должен был бы быть опыт проведения собеседований и ты должен был бы знать, что постоянно даже на сеньерские позиции приходят какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.
Аноним 13/10/21 Срд 14:47:59 #538 №2182388 
>>2182340
Есть такое.
В книжках, в примерах с интернета все стараются скомкать код, определить внутри класса, или все вообще в main() засунуто и подперто глобальными переменными.
Взял за правило, когда смотрю такой пример, всегда изучаю дополнительно как это правильно раскидать по разным файлам, как можно избавиться от глобальных переменных, расчленить на отдельные функции.
Аноним 13/10/21 Срд 18:42:14 #539 №2182643 
изображение.png
>>2157621 (OP)
Есть возможность вызывать объект по обращение к его полю, например? В данном случае в векторе 3 экземпляра Car, но обращаться к ним можно только по индексу вектора. Допустим при парсинге я не знаю, по какому индексу bmv, но мне необходим будет именно этот экземпляр.
Аноним 13/10/21 Срд 18:47:31 #540 №2182657 
>>2182643
тогда вместо vector используй map
Аноним 13/10/21 Срд 22:05:49 #541 №2182857 
>>2182040
Ты ж кстати надеюсь знаешь про std::ostream_iterator ?
Аноним 13/10/21 Срд 22:37:26 #542 №2182909 
>>2182657
unordered_map быстрей если поддержание порядка не важно
Аноним 13/10/21 Срд 23:01:20 #543 №2182926 
>>2182371
>Если бы у тебя было 24 года опыта, то у тебя так же должен был бы быть опыт проведения собеседований и ты должен был бы знать, что постоянно даже на сеньерские позиции приходят какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.
Всякие люди бывают на собеседованиях. Однако если человек приходит с опытом условного сеньора, то вполне достаточно задать ему сеньорские задачи. Например объяснить как он будет реализовывать какой нибудь шаблонный класс для обмена данными между потоками (для простоты пусть данные будут POD структурами) и все lock-free должно быть, плюсом спросить его почему он выбрал такое решение. Здесь можно узнать вообще знаком ли человек с lock-free многопотоком, с моделью памяти и вообще на сколько он адекватно воспринимает реальность. Мне, например, неинтересно может ли человек заобезьянить какой то быдлокод. Этому можно научить любую пыхомакаку. Мне нужен человек который может самостоятельно решать поставленные проблемы. Сеньор by default знает нахуй нужен виртуальный деструктор, зачем переспрашивать эволюционную лестницу у человека от сперматозоида до сеньора то? По моему это дерьмо и пустая трата времени, плюс неуважение к всем присутствующим на собеседовании. Джунам джуновское, а сеньорам сеньорское, просто потому что сеньор умеет все что умеет джун, а джун не может в сеньора.
Аноним 14/10/21 Чтв 08:38:22 #544 №2183096 
>>2182909
Не всегда он быстрее. Надо измерять (если быстрота вообще нужна).
Аноним 14/10/21 Чтв 09:03:55 #545 №2183108 
изображение.png
изображение.png
изображение.png
>>2182926
>пусть данные будут POD структурами
>для простоты
Вообще-то, POD структура - это довольно сложная штука; в том смысле, что ее формальное определение довольно упоротое и включает другие штуки с упоротыми определениями.

Вот мне что интересно, сеньеру это все реально нужно помнить и знать?
Ну то есть уметь по определению строго доказать, что такой-то класс - это POD, а вот такой - не POD потому, что...
Или сеньеру достаточно иметь представления, что POD - это такой достаточно простой объект? А за подробностями отослать к справочнику и/или к std::is_pod.
Аноним 14/10/21 Чтв 09:16:23 #546 №2183121 
>>2182926
Сеньер вообще имеет право сказать "Вот тут я не знаю/не помню, надо почитать справочники. А еще лучше обратиться к languge lawyer'у"?
Аноним 14/10/21 Чтв 09:31:13 #547 №2183138 
>>2183121
Естественно. Все от мала до велика пишут на некотором подмножестве языка. Разница только в том, что синьёр скажет, где быстро загуглить и как это сделать другим способом.
Аноним 14/10/21 Чтв 09:40:27 #548 №2183150 
>>2183138
А можно несколько примеров, если не трудно?
Когда можно, а когда точно нельзя.

Просто хочу для себя составить представление о хорошем подмножестве, насколько вообще стоит углубляться в чисто языковые дебри.
Аноним 14/10/21 Чтв 09:48:25 #549 №2183164 
>>2183150
Ну самое избитое это кидать исключения или возвращать код ошибки. Если ты долго педалил эмбед, то про catch/throw останутся лишь воспоминания.
Аноним 14/10/21 Чтв 09:51:02 #550 №2183167 
А в C++ можно реализовать переменную, которая бы могла иметь возможные значения, которые я захочу. Ну т.е есть переменная a, и я могу ей присвоить значение a=empty; или a=filled;
Аноним 14/10/21 Чтв 09:54:58 #551 №2183175 
>>2183167
enum class val { empty, filled };
val a = val::empty;
Аноним 14/10/21 Чтв 12:43:20 #552 №2183306 
>>2183167
std::optional
Аноним 14/10/21 Чтв 13:07:31 #553 №2183329 
>>2183108
>Вообще-то, POD структура - это довольно сложная штука; в том смысле, что ее формальное определение довольно упоротое и включает другие штуки с упоротыми определениями.
POD в условиях задания взят для упрощения задачи(так как не POD структуры имеют кучу нюансов в поставленной задаче, что бы не тратить время на них, а поговорить предметно по задаче успеть). Никаких упоротых определений тут нет. Это структура без наследования, без виртуальных методов, у всех членов тривиальный конструктор копирования. Если простыми словами, то

Это POD
[code]struct PODYoba
{
int one;
int two;
}[/code]

Не POD
[code]struct NonPODYoba
{
std::string one;
int two;
}[/code]

Задача стоит не про POD поговорить, там нечего обсуждать. А посмотреть понимает ли человек за lock-free алгоритмы, за модель памяти. Я писал выше про это.
>Вот мне что интересно, сеньеру это все реально нужно помнить и знать?
Зависит от специфики работы на которую он претендует. У меня это гейдев(пека, свое пихло и экосистема, не анрыл) с заветными 4к@60фпс ну или VR режим где чем больше тем лучше. Ну, а где то похуй будет, потому что производительность не важна и там зададут другие вопросы.
>Или сеньеру достаточно иметь представления, что POD - это такой достаточно простой объект?
Достаточно знать, да. Вопрос был в другом.

>>2183121
>Сеньер вообще имеет право сказать "Вот тут я не знаю/не помню, надо почитать справочники.
Ну, если сеньор не знает, что такое POD и ему нужен справочник для этого, то он какое то кю, а не сеньор. Конечно я не вижу ничего плохого в справочнике в том числе и на собеседовании, т.к. std:: в голове не держится весь или что то из мета-программирования того же. Но базовые вещи человек на такой должности должен знать без справочника.

>>2183138
>Разница только в том, что синьёр скажет, где быстро загуглить и как это сделать другим способом.
Поставлена конкретная задача, а не поиск другого способа или ебля гугла. Я хочу увидеть как человек думает над задачей и идет к решению. Готов даже подсказать, а не дать выебать гугл и стэковерфлоу. Это собеседование где оценивают его навыки и знания.
Аноним 14/10/21 Чтв 16:45:07 #554 №2183510 
>>2183167
void* гыгы
Аноним 14/10/21 Чтв 18:16:11 #555 №2183603 
image.png
Взял программу, работавшую на микроконтроллере, а в microchip studio для соответствующего контроллера, она не компилируется. В чем может быть дело?
Аноним 14/10/21 Чтв 18:54:41 #556 №2183663 
>>2183603
Я сегодня посрал в штаны. В чем может быть дело?
Аноним 14/10/21 Чтв 19:15:52 #557 №2183699 
>>2183663
Очень хорошо. Есть плата, к которой я не хочу гонять через весь город. Я скачал эмулятор. Набор букв и цифр, который ее обозначает, вроде бы совпадает. За чем еще мне следует проследить?
Аноним 14/10/21 Чтв 19:42:18 #558 №2183737 
>>2183603
> в чем может быть дело
Литерали в чем угодно
В любое место пальцем тыкай, там проблема может быть

Собственно аналогично и чинить пытайся, методом тыка
Аноним 14/10/21 Чтв 20:15:59 #559 №2183795 
>>2183737
Если твой единственный совет это "попытайся разобраться сам", тогда как выглядит вопрос, на который ты соблаговолишь ответить?
Аноним 14/10/21 Чтв 20:18:27 #560 №2183802 
>>2183795
Учитывая что ты дал примерно нихуя инфы, то и совет соответствующий
Аноним 14/10/21 Чтв 23:29:57 #561 №2183970 
>>2182857
Ой, звучит как слишком через жеппу
Аноним 14/10/21 Чтв 23:32:09 #562 №2183971 
>>2182077
Не, просто данные туда-сюда гоняем, и есть, грубо говоря, два упорядоченных контейнера с айдишниками, при чем две разные структуры с полем айди (то есть там еще и компаратор в алгоритм надо передавать). Вот решил избавиться от лишнего жора памяти back_inserter с последующим проходом.
Аноним 15/10/21 Птн 10:38:22 #563 №2184161 
Существует команда которая вызывает один метод у всех инициализированных в программе экземпляров класса/наследника?
Аноним 15/10/21 Птн 11:51:54 #564 №2184216 
>>2184161
Нет. Скорее всего, твоя задача решается более адекватным способом.
Аноним 15/10/21 Птн 15:17:48 #565 №2184405 
>>2183603

Нахуя у тебя комменты подчеркнуты как ошибки?
Аноним 15/10/21 Птн 15:56:07 #566 №2184450 
Бля а это нормально, что я вот что-то написал и мне иногда с нихуя вижуал студия в ошибках ругается, что какой-то там идентификатор не определён (какой нибудь endl), при том что программа нормально компилируется
Аноним 15/10/21 Птн 16:41:45 #567 №2184502 
>>2184450
Интеллисенс и сборка используют разные компиляторы в разных режимах. Тем не менее, фикси инклюды
Аноним 15/10/21 Птн 16:43:12 #568 №2184503 
>>2184405
Я не он, но знаю ответ. Это Visual Assist, он проверяет орфографию, но с русским у него не очень, даже если словарь прицепить
Аноним 15/10/21 Птн 16:52:10 #569 №2184521 
>>2184503

И нахуй он нужен в IDE с проверкой лингвистики?
Аноним 15/10/21 Птн 17:08:55 #570 №2184541 
image.png
>>2184521
Конченые пидорасы
Аноним 15/10/21 Птн 21:24:42 #571 №2184805 
>>2184541
Большими буквами же.
Аноним 15/10/21 Птн 21:54:16 #572 №2184826 
>>2184805
НВИДИЯ-КУН
Аноним 16/10/21 Суб 14:07:19 #573 №2185232 
С++ сложный
Аноним 16/10/21 Суб 14:17:18 #574 №2185237 
>>2185232
Кэп, ты?
Аноним 16/10/21 Суб 16:13:07 #575 №2185291 
>>2185232

В чем же его сложность?
Аноним 16/10/21 Суб 16:25:39 #576 №2185299 
изображение.png
Поясните за фигурные скобки плиз. Эти две штуки работают идентично. В первом случае я вызвал конструктор по умолчанию. Тут я понял. Как работает вторая строка? В чем разница?
Аноним 16/10/21 Суб 16:32:13 #577 №2185306 
Сап, крестач

Есть пет-проект, где очень нежелательно юзать исключения. Надумал такую штуку вангую, что изобрёл велосипед, но похуй - в приватном поле класса ебануть булевый флаг, означающий валидность объекта после того, как конструктор сделал всё необходимое. А последующий вызов методов данного класса через проверенный таким образом объект уже будет проверяться через обычный сишный return error code либо через std::optional в более сложных случаях. Это норма или антипаттерн? Заранее спасибо
Аноним 16/10/21 Суб 16:44:13 #578 №2185311 
>>2185306
Борьба с исключениями - это антипаттерн. Но раз тебе так хочется, сделай пустой конструктор и ещё метод init(), который будет возвращать коды, как у дедов 50 лет назад.
Аноним 16/10/21 Суб 17:02:51 #579 №2185319 
изображение.png
>>2185299
В чем же его сложность?

>>2185299
>В чем разница?
Это надо всего Страуструпа прочитать. И то, там у него не все рассказано.

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

По началу, лучше разбираться конкретно с теми контекстами, которые ты встречаешь на примерах, чем пытаться запомнить все со справочника.
Если тебе нужны примеры, то возьми какую-нибудь книжку и держи под рукой справочник. На одних ответах с двача ты осмысленную программу никогда не напишешь.
Аноним 16/10/21 Суб 17:15:28 #580 №2185326 
>>2182926
настоящий сеньор если придет на собес и его начнут ебать многопоточкой поинтересуеться какие юз кейсы этой многопоточки на фирме вообще используються и по факту оказываеться что потоки им нахуй не нужны, а проэкт делают долбоебы используя хайпнутые технологии
типа запиливая свои тред пулы и прочуу поеботу когда достаточно организовать всего лишь асинхронный io в один поток и этого будет более чем достаточно под ту нагрузку под которую пишеться проэкт
вот так то



Аноним 16/10/21 Суб 17:33:11 #581 №2185337 
>>2185311
>как у дедов 50 лет назад.
Я слышал, что в геймдеве не жалуют исключения.
Не из-за того что деды, а потому что все эти новенькие недеДские плойки-хуейки криво поддерживают исключения.
Аноним 16/10/21 Суб 17:36:03 #582 №2185340 
>>2185326
А ещё бывает (причём довольно часть), что дебичи не могут в матан и алгоритмы, поэтому брутфорсят своё шаблонное говно параллелькой, гордясь что оно lock-free.
Аноним 16/10/21 Суб 19:24:24 #583 №2185405 
>>2185306
ну если вспомнить историю вопроса то страуструпу пришлось ввести механизм исключений в язык по той причине что он ввел конструкторы классов в язык и возможность перегрузки операторов
а из конструкторов и операторов значит по другому никак не вернуть ошибку, нужно городить исключения
все это он подробно расписывал в своих книжонках пока еще не обленился совсем
кстати он расписывал и про то как писать код на крестах без исключений
значит он говорил что вам волей не волей придеться вводить двухэтапную инициализацию класса (а уж как вы будете это делать ваша воля, есть парочка общеупотребительных паттернов на это), а для операторов вам нужно будет рядом еще делать дублирующую функцию-член что не будет кидать исключение в случае ошибки, а вернет номер ошибки или как там у вас будет организовано
все это он тоже подробненько описывал
читайте книжки в общем
или не читайте
похуй

Аноним 16/10/21 Суб 19:27:07 #584 №2185407 
страуструп кстати охуенный челик, прижимистый
вот типа говорят что язык переусложнен бла бла
а вот он пишет что над каждой частью языка долго думал прикидывал и так и сяк и получалось что без этого не обойтись на уровне библиотек, что типа надо вводить в язык и все такое
то есть он не потому что модно было вводил что-то на уровень языка, а потому что надо было
Аноним 16/10/21 Суб 20:11:51 #585 №2185430 
16330942798150.png
>>2185407
>прижимистый
Аноним 16/10/21 Суб 20:15:55 #586 №2185435 
>>2185299
>В чем разница?
Во втором случае aggregate initialization, конструктор не вызывается.
Аноним 16/10/21 Суб 20:51:20 #587 №2185454 
>>2185407
В Сях нуль-терминированные строки тоже считались хорошей, продуманной идеей. И array decay тоже хорошо помогал при портировании программ из B. Обе идеи продуманы, но на текущий момент считаются неудачными. Настоящая цена той или иной реализации идеи понимается только после её интенсивного использования.
Аноним 16/10/21 Суб 21:18:02 #588 №2185467 
>>2185435
По-моему компилятор тут имеет право оптимизировать. Но это не точно.
Аноним 16/10/21 Суб 21:30:50 #589 №2185475 
>>2185311
В гугле весь С++ код не имеет исключений, включая гугл хром. Выжимая максимум из программы, ты всё же захочешь от них избавиться.
Аноним 16/10/21 Суб 23:24:18 #590 №2185550 
Пишу библиотеку. В ней мне нужно заинклудить iostream. При этом если пользователь подключит iostream, то окажется, что iostream заинклюден дважды, что плохо. Как фиксить?
Аноним 16/10/21 Суб 23:32:39 #591 №2185563 
>>2185550
> что плохо
Нормально, это обычное дело для хедеров. Поэтому в них и принято юзать include guards/pragma once.
Аноним 17/10/21 Вск 00:26:25 #592 №2185620 
>>2185475
Да какая разница, что там в гугле.
Проектировать надо так, чтобы код, которому надо работать быстро, в принципе не имел необходимости бросать.
А всякая логика вроде "не нашёл такой-то файл" пусть бросает сколько ей угодно. Избавиться от неё захочет только любитель разодрать своё очко нашлёпать побольше говнокода, с которым потом очень весело возиться.
Аноним 17/10/21 Вск 01:24:39 #593 №2185663 
>>2185563
Спасибо
Аноним 17/10/21 Вск 01:35:27 #594 №2185666 
Как внутри макроса склеить выражение и __LINE__? expr##__LINE__ делает просто expr##__LINE__.
Аноним 17/10/21 Вск 01:43:35 #595 №2185673 
>>2185666
https://stackoverflow.com/questions/16591642/combining-two-defined-symbols-in-c-preprocessor/16591789

?
Аноним 17/10/21 Вск 02:23:05 #596 №2185683 
>>2185673
Да, спасибо. Есть еще вопросик. Нужно выполнить макросы в определенном порядке (макросы встречаются только вне main) . Для этого мне нужно как то понять, что все макросы обработаны. Нет ли никакого способа понять, что я обработал все макросы?
Аноним 17/10/21 Вск 05:04:21 #597 №2185705 
>>2185683
#ifdef?
А вообще у меня холодный пот на жепе выступил при попытке представить цепочку умозаключений, которая привела к твоему вопросу. Скорее всего задачу будет лучше каким угодно другим способом.
Аноним 17/10/21 Вск 05:04:51 #598 №2185706 
>>2185705
*лучше решить
Аноним 17/10/21 Вск 07:41:28 #599 №2185718 
изображение.png
Есть где-нибудь хорошие стринги? Заебало такую хуиту писать

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

стрингбилдер хуйня с проблемами
Аноним 17/10/21 Вск 08:10:19 #600 №2185721 
image.png
image.png
image.png
Помогите, почему рисовка квадрата ломает круг? Если поставить отрисовку квадрата после отрисовки круга, то круг рисуется нормально, но квадрата уже нет, а треугольник рисуется через кадр (мигает). Библиотека glfw
Аноним 17/10/21 Вск 08:23:46 #601 №2185723 
image.png
>>2185721
Аноним 17/10/21 Вск 12:06:08 #602 №2185790 
>>2185467
Оптимизировать что?
Аноним 17/10/21 Вск 12:29:07 #603 №2185798 
>>2185718
В С++20 или в vcpkg install fmt

это выглядело бы как
std::string frog = std::format("Message: {}, line: {}", GetMessage(), GetLine());

В шарпе (который я безумно обожаю и на С++ стараюсь не писать, когда можно писать на шарпе)
string frog = $"Message: {GetMessage()}, line: {GetLine()}";

Сроазу видно, какой язык сделан для людей
Аноним 17/10/21 Вск 12:43:26 #604 №2185803 
Препроцессор при обработке файлов смотрит на define'ы из других файлов?
Аноним 17/10/21 Вск 13:00:57 #605 №2185810 
>>2185803
Из всех хедеров заинклюженных, само собой.
Аноним 17/10/21 Вск 13:08:32 #606 №2185813 
>>2185803
С презрением.
Аноним 17/10/21 Вск 13:39:38 #607 №2185827 
я новичок не бейте
Допустим я хочу вызывать метод, в котором должен быть параметр, но я не хочу передавать этот параметр в метод, однако он там быть должен. И сделать этот параметр параметром по умолчанию тоже не получается. Как это сделать максимально грамотно?
Аноним 17/10/21 Вск 13:46:40 #608 №2185830 
>>2185827
Для начала скажи, почему не хочешь передавать и почему нельзя сделать по умолчанию. Может, у тебя нормальная причина, а не "Хочу, чтобы компилятор сам писал код за меня".
Аноним 17/10/21 Вск 13:58:49 #609 №2185836 
>>2185830
>почему не хочешь передавать
Пытаюсь реализовать BST, для рекурсивного метода вставки нужны данные и указатель на указатель на корень, хочу передавать в метод только данные и хочу чтобы второй параметр был там по умолчанию. А по умолчанию его не получается вставить там требует static.
Аноним 17/10/21 Вск 14:08:48 #610 №2185842 
Нужно написать библиотеку. Она должна уметь компилиться либо с файлами test.cpp и testmain.cpp, либо с любым файлом пользователя, где есть main() и подключен test.h и ничего больше. В хедере я объявил вектор, к которому хочу обращаться из test.cpp и testmain.cpp. Если просто в хедере прописать вектор, то компилятор ругается на множественное определение, что не удивительно, ведь я когда хедер заинклудил, то у меня вектор объявился в test.cpp и testmain.cpp. Сначала я подумал дописать static, но так оказывается, что в test.cpp все работает, а в testmain.cpp вектор заново инициализируется и оказывается пустым. Че делать?
Аноним 17/10/21 Вск 14:28:48 #611 №2185850 
>>2185790
the compiler can optimize away - это из лексикона Страуструпа.
Есть user defined конструктор - компилятор обязан давать гарантии на счет поведения конструктора.
Нет user defined конструктора - компилятор может решать на свое усмотрение. Подробности реализации.
Для случая пустого {}-инициализатора я в справочнике вижу только описание конечного эффекта, но не того, как он достигается, с вызовом скрытого конструктора или без него. В Стандарте я ориентируюсь плохо, чтобы такие тонкости искать.

Аноним 17/10/21 Вск 14:30:29 #612 №2185851 
>>2185850
#ifdef VECTORDEF
extern nsp::myvec<...> vec
#endif

#ifndef VECTORDEF
#define VECTORDEF
namespace nsp {
myvec<...> vec;
}
#endif // !VECTORDEF

Почему то вставляем везе второе определение
Аноним 17/10/21 Вск 14:30:47 #613 №2185852 
>>2185842
Я ничего не понял
Можешь просто хэдер онли лайбрери запилить
Создаёшь хпп файл, там же реализацию пишешь

Всезде где тебе понадобиться эта библиотека, просто кидаешь этот один файл

Аноним 17/10/21 Вск 14:34:29 #614 №2185854 
>>2185852
Один из примеров использования: есть некий файл с тестами tests.cpp, в котором используется эта библиотека (test.h подключен). Так же есть test_main собственно с функцией main. Туда я тоже должен подключить test.h, чтобы использовать классы из хедера. Там мне нужно будет как то использовать результаты тестов из tests.cpp. Я хотел сделать глобальный вектор, но не получается.
Аноним 17/10/21 Вск 14:38:09 #615 №2185855 
1634470688121.jpg
>>2185854
Только не понятнее стало
Ты точно что то не то делаешь
Аноним 17/10/21 Вск 15:02:39 #616 №2185869 
>>2185855
Короче как сделать глобальную переменную, доступную из всех файлов и чтобы компилятор не ругался на множественное определение?
Аноним 17/10/21 Вск 15:06:15 #617 №2185873 
>>2185869
В одном файле определяешь int a, в других exterm int a;
Аноним 17/10/21 Вск 15:12:22 #618 №2185880 
>>2185869
Почитать книшку по С++ и понять что такое определение и что такое объявление.
В хедере ты должен объявить. Объяылять можно сколь угодно раз.
А вот определение может быть только одно

Короче, в твоем хедере надо писать объявление:
extern bool IsLoh;

в твоем цпп надо писать определение:
bool IsLoh = true;

p.s. С++ - не тот язык в который можно вкатится по урокам с ютубса. Много всяких мелочей. Так что иди и читай Ламота
Аноним 17/10/21 Вск 15:19:53 #619 №2185885 
>>2185873
>>2185880
Я не могу в cpp с тестами писать ничего кроме подключения хедера по условию задачи. Я пытался ifdef'ами сделать так, чтобы оно в первый раз просто bool isLoh писало, а потом extern isLoh, но оно везде пишет bool isLoh
Аноним 17/10/21 Вск 15:32:48 #620 №2185896 
>>2185885
Эта любовь придумать себе проблемы на равном месте без хорошего знания языка. Ты сейчас будешь дрочить всякую хуиту типа ifdef (которые ты тоже не понимаешь), потому что не понимаешь как это все работает.

Ты сначала сделай чтобы работало. И отправь нахуй того кто тебе там условия задачи выставляет:
- преподу лабу можешь и на питоне сделать
- на работе? - я хуй знаю кто там тебя с таким уровнем взял
- сам себе такое условие выставил? Лечи свою шизу и не страдай хуитой - любой код сначала пишется чтобы работало, а уж потом выебываешься. А не как ты - хочу сделать через жопу потому что мне не нравится как все делают.


Тебе тут не помогут с такой шизой.
Ну или давай вообще весь код и все условие (но тоже вряд ли помогут - ибо лень и никому не нужо)
Аноним 17/10/21 Вск 17:37:17 #621 №2185989 
>>2185850
>В Стандарте я ориентируюсь плохо
Это ты зря, конечно.
Аноним 17/10/21 Вск 19:39:58 #622 №2186084 
Как написать макрофункцию так, чтобы можно было писать macrofunc(a,b) , macrofunc(a,b) ? Я сначала написал с помощью do{} while(0) чтобы работало с if, но теперь с запятой не работает
Аноним 17/10/21 Вск 19:41:28 #623 №2186090 
>>2185896
Бывает четвертый вариант еще - ебанутая автоматизированная система проверки, типа той, что у курсов яндекса используется. Дали тебе задачу вот и ебись с системой сам.
Аноним 17/10/21 Вск 19:48:22 #624 №2186103 
>>2185989
Да по стандарту по самому нужен гайд как им пользоваться.
С такой штукой, как инициализация та же, не сообразишь вообще где искать, в каком разделе? Там же куча контекстов. Получается, что зачастую ответ на простой вопрос размазан по нескольким разделам.
И чем новее Стандарт, тем хуже. На том же стек оверфлоу если и встречаю ссылки на Стандарт, то не старше 11 года.
Аноним 17/10/21 Вск 20:09:31 #625 №2186143 
>>2186084
Не надо так делать.
Аноним 17/10/21 Вск 20:26:45 #626 №2186182 
>>2186103
> Да по стандарту по самому нужен гайд как им пользоваться.
У страха глаза велики.
>С такой штукой, как инициализация та же, не сообразишь вообще где искать, в каком разделе?
В [dcl.init] всё собрано))0)0
> Получается, что зачастую ответ на простой вопрос размазан по нескольким разделам.
Стандарт не читал, но мнение имеешь? Диванный кукаретик?
> И чем новее Стандарт, тем хуже.
Тем лучше. Подразделы переносят в более логичном порядке.
> На том же стек оверфлоу если и встречаю ссылки на Стандарт, то не старше 11 года.
Ну в вопросах 2011-го года — наверное. А в свежих ­— на 17-й, 20-й или текущий драфт, если только явно не требуется старее.
Аноним 17/10/21 Вск 20:56:00 #627 №2186238 
>>2185454
дзен заключаеться в том что в языке си нет никаких строк
и именно поэтому си живет и прекрасно себя чувствует уже скоро как пол века

Аноним 17/10/21 Вск 20:58:18 #628 №2186241 
>>2185475
и че?
в гугл хроме полно сомнительных архитектурных решений и ни в коем случае эту кодовую базу не стоит брать за образец
Аноним 17/10/21 Вск 21:02:42 #629 №2186245 
>>2185718
в стандартной библиотеке std::ostringstream уж больше четверти века вообще то
ну и альтернатив полно, начиная с boost::format и прочего
Аноним 17/10/21 Вск 21:12:44 #630 №2186255 
>>2185827
call wrapper что ли надо?
всегда можешь написать еще одну функцию рядом, но это наивный подход
можешь написать перегрузку, причем в новой перегрузке просто вызывать старую функцию оборачивая ее
ну а вообще то в стандартной библиотеке всегда существовала кучка средств для подобной работы (и причем ее существенно дорабатывали в новых стандартах), типа std::bind
а вообще не слушай меня тк я хуйло безработное и лох фу таким быть, будь лучше четким, самое главное быть в жизни четким
Аноним 17/10/21 Вск 21:14:26 #631 №2186257 
>>2185836
а, лабопроблемы
зря я распетушился тогда
Аноним 17/10/21 Вск 21:18:41 #632 №2186262 
>>2186084
секрет любого макросописания - это наебашить побольше (((((()))))((()))) в код, потом ты узнаешь про склейку строк, а потом изучаешь boost::preprocessor
Аноним 17/10/21 Вск 23:22:28 #633 №2186346 
photo2021-10-1723-19-21.jpg
Гениусы, расскажите, что делает этот кусок кода?
Аноним 18/10/21 Пнд 15:57:49 #634 №2186783 
>>2186182
>Стандарт не читал, но мнение имеешь?
Я пытался и говорю о своих попытках. Я не говорю, что надо под меня переделывать Стандарт, я говорю, что не помешал бы гайд по его использованию.

>Диванный кукаретик?
Хоббист, не карьерист.
Даю неточные ответы всегда в расчете на то, что меня поправят лучше знающие люди. Что в этом криминального? На том же стековерфлоу обычно правильный ответ только один.
Аноним 18/10/21 Пнд 20:16:46 #635 №2187015 
В классе есть поле static bool c. Есть метод bool& get_c(); Это все в хэдере. В cpp написал bool& namespacename::classname::get_c() {
return this->c;
}
При компиляции получаю ошибку error LNK2019: ссылка на неразрешенный внешний символ. Если попытаться вернуть ссылку на временный объект, то все ок. ЧЯДНТ?
Аноним 18/10/21 Пнд 20:22:43 #636 №2187022 
>>2187015
ВСе понял. Статики нельзя возвращать
Аноним 18/10/21 Пнд 20:49:55 #637 №2187048 
1634579393049.jpg
>>2186346
С каждым стандартом становится хуже и хуже
Что это за ужас
Аноним 18/10/21 Пнд 21:35:47 #638 №2187090 
>>2187015
можно, просто обьяви его в .срр дополнительно, или сделай инлайн
Аноним 18/10/21 Пнд 22:07:13 #639 №2187113 
Вот есть макрос #, который в кавычки заключает текст. А нет обратного? __FILE__ подставляет имя файла в кавычках, а мне надо без.
Аноним 18/10/21 Пнд 22:27:12 #640 №2187141 
>>2187113
Не надо тебе этого.
Аноним 18/10/21 Пнд 23:29:34 #641 №2187206 
изображение.png
Почему так не работает?
Аноним 18/10/21 Пнд 23:39:23 #642 №2187217 
>>2186783
>Я не говорю, что надо под меня переделывать Стандарт, я говорю, что не помешал бы гайд по его использованию.
1. Открываешь
2. Читаешь
> Даю неточные ответы всегда в расчете на то, что меня поправят лучше знающие люди. Что в этом криминального?
Это провокация.
Аноним 19/10/21 Втр 00:55:14 #643 №2187275 
>>2187206
См. http://eel.is/c++draft/dcl.meaning.general#3.4 и http://eel.is/c++draft/basic.scope.scope#def:nominable
Аноним 19/10/21 Втр 04:54:29 #644 №2187315 
>>2186346
Начнем с того, что ты хуй это еще ни разу не стандарт. И ты идешь нахуй читать доку по ranges.

Могу предположить, что в коде происходит следующее:
1. собираем слова с ввода
2. находим те, которые отличаются только лишь одной буквой
3. выводим первое попавшееся выбрасывая пару букв, которые отличаются
4. получаем по пальцам за отсутствие return 0;
Аноним 19/10/21 Втр 05:36:04 #645 №2187318 
>>2182371
>какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.
Двачую.

>>2182926
>Сеньор by default знает нахуй нужен виртуальный деструктор, зачем переспрашивать эволюционную лестницу у человека от сперматозоида до сеньора то?
Потому что годы идут, а мозгов не прибавляется.

>Мне нужен человек который может самостоятельно решать поставленные проблемы.
И что же ты для этого будешь спрашивать?

>>2183108
POD - это структура, которую можно свободно memcpy / memset. А сеньору-помидору нужно знать в чем разница между std::copy и memcpy.

>>2183121
>Сеньер вообще имеет право сказать "Вот тут я не знаю/не помню, надо почитать справочники. А еще лучше обратиться к languge lawyer'у"?
Зависит от вопроса, блин. Ответ "нет" в разы хуйовее чем "не знаю, но наверное...".

>>2183164
>Если ты долго педалил эмбед, то про catch/throw останутся лишь воспоминания.
Еще одна жертва говносборок конпеляторов

>>2183167
>А в C++ можно реализовать переменную, которая бы могла иметь возможные значения, которые я захочу.
std::variant

>>2184161
>>2184216
>Существует команда которая вызывает один метод у всех инициализированных в программе экземпляров класса/наследника?
Добавь базовый класс с виртуальным методом, который регистрирует в конструкторе, дерегистрирует в деструкторе. Только помни, что в многопотоке оно работать не будет.

>>2185311
>Борьба с исключениями - это антипаттерн
Люто плюсую!
Самое смешное - есть куча книжек про ООП паттерны, но нигде не обесняется как сделать расширяемую архитектуру ошибок. enum { OK, FAILED, FILE_NOT_FOUND }; ебаный в рот!

>>2185475
>В гугле весь С++ код не имеет исключений, включая гугл хром.
А знаешь почему? У них в кодестайле написано: "мы активно юзаем сторонний говнокод и вот он то в эксепшены не умеет. Потому обходимся без них"

>Выжимая максимум из программы, ты всё же захочешь от них избавиться
Наоборот. Экспешены ускоряют success-flow программы за счет торможения fail-flow. Вопрос только в том, что у тебя чаще выполняется - success или fail.

>>2185721
glBegin/glEnd, OpenGL 1.0, прослезился. Никто так уже не пишет - все гоняют массивы точек одной командой. Эти команды депрекейтнули еще в OpenGL ES 2.0 кажись, а в декстопных - где-то в 3.х. Алсо >>2185723

>>2185836
>>2185827
>Допустим я хочу вызывать метод, в котором должен быть параметр, но я не хочу передавать этот параметр в метод, однако он там быть должен.
>BST
Сделай метод-член класса, и вместо tree_insert(data, tree); будет tree.insert(data); Красивше.

Аноним 19/10/21 Втр 10:21:05 #646 №2187375 
>>2187318
>Еще одна жертва говносборок конпеляторов
кроссконепеляторов, third-party либ и всяких тулчейнов от блядских nvidia, не способных высрать нормальный nvcc.
Аноним 19/10/21 Втр 11:14:01 #647 №2187405 
>>2187217
> провокация
Ну а что? Весь двач на этом стоит.
Карьеристам - деньги и слава, мне - РНН господину - знания и свобода от условностей карьеризма. Справедливо ящитаю.

Вот если бы я тебе ответил "сам не не нуб, а на нуба наезжаешь", вот это была бы провокация.
Аноним 19/10/21 Втр 12:55:49 #648 №2187463 
>>2186346
Я не понял, это современные плюсы так выглядят, или это что то другое?

мимо вкатышь
Аноним 19/10/21 Втр 12:58:48 #649 №2187466 
>>2187315
>4. получаем по пальцам за отсутствие return 0;
В ньюфаг-тред вернитесь пожалуйста.
Аноним 19/10/21 Втр 13:05:04 #650 №2187472 
>>2187318
>POD - это структура, которую можно свободно memcpy / memset.
Это trivially-copyable. А чем от POD отличается даже я не хочу знать.
Аноним 19/10/21 Втр 14:29:04 #651 №2187518 
В ньюфаг-треде никто не ответил, поэтому я пришел к мудрецам.
Почему принято считать, что регистры процессора быстрее оперативной памяти? Я понимаю жесткий диск электромеханическое устройство, но оперативная память плата, где электрические сигналы, как и в процессоре распространяются со скоростью света. А кто-нибудь вообще проверял, может они равны по скорости?
Аноним 19/10/21 Втр 14:36:58 #652 №2187523 
>>2187518
Не стоит вскрывать эту тему.
Аноним 19/10/21 Втр 14:47:31 #653 №2187536 
>>2187518
Регистры они в процессоре, а оперативка снаружи. Прикинь во сколько раз больше путь сигнала. Скорость распространения сигнала же не бесконечная. А еще оперативке нужен контроллер памяти. Правда его давно уже в процессор встраивают.
Аноним 19/10/21 Втр 14:50:23 #654 №2187539 
>>2187518
>распространяются со скоростью света
Сигналы сигналами, а есть еще переходные процессы всякие. 0 в 1 не со скоростью света превращается.
Аноним 19/10/21 Втр 15:00:25 #655 №2187547 
>>2187518
Регистры > L1 > L2 > L3 > L4 > RAM > SSD > HDD > Network > Почтовые голуби
Аноним 19/10/21 Втр 17:29:44 #656 №2187680 
Как переписать без fmt на std::string?

const std::string formattedMessage = fmt::format("[{:02d}:{:02d}:{:02d}:{:03d}] {:s}\n", hours, minutes, seconds, milliseconds, message);

Вывод
[00:00:00:000] Test

То есть как отформатировать чтобы числа выводились двумя символами? Например hours равен 1, тогда в строку пишется 01?

Вроде же в STL были какие-то такие функции форматирования?
Аноним 19/10/21 Втр 17:39:14 #657 №2187688 
>>2187680
>Вроде же в STL были какие-то такие функции форматирования?
Какие-то были.
Аноним 19/10/21 Втр 17:46:46 #658 №2187700 
>>2187680
Страуструпа почитай, как он это через локали делает в главе про локали.
Аноним 19/10/21 Втр 17:54:39 #659 №2187711 
>>2187680
sstream ss;
ss << '['
<< setw(2) << setfill('0') << hours << ':'
<< setw(2) << setfill('0') << minutes << ':'
<< setw(2) << setfill('0') << seconds << ':'
<< setw(3) << setfill('0') << milliseconds << "] "
<< message << endl;
auto formattedMessage = ss.str();

С тебя 5 защекоинов
Аноним 19/10/21 Втр 18:26:44 #660 №2187773 
Вечер добрый.
Потребовалось написать приложение на win32 API. Как включить bmp изображения, загружаемые программой в ресурсы так, чтобы при компиляции они включались в exe? Работаю в Visual Studio 2019.
Заранее спасибо
Аноним 19/10/21 Втр 19:15:11 #661 №2187849 
>>2187773
#embed типа?
Аноним 19/10/21 Втр 20:54:09 #662 №2188005 
>>2187773
>приложение на win32 API
БОГ В ПОМОЩЬ!!
Аноним 19/10/21 Втр 20:58:32 #663 №2188010 
>>2187547
> HDD > Network
мы вам перезвоним
Аноним 19/10/21 Втр 21:01:29 #664 №2188012 
>>2188010
127.0.0.1 это ещё не Network
Аноним 19/10/21 Втр 21:14:01 #665 №2188028 
>>2187773
В дереве проекта есть папка Файлы ресурсов/Resource files.
Кликаешь -> добавить ресурс -> импорт...
Либо пуками залезаешь в *.rc файл своего проекта и туда добавляешь путь к изображению.
Но по-хорошему если ресурсы крупные, то их надо хранить за пределами исполняемого бинаря.
Аноним 19/10/21 Втр 21:22:23 #666 №2188046 
>>2187463
ага
soft obfuscation
защита от вкатунов
кресто-задротики так пытаюься защитить свой хлебушек с тонким слоем маспа сверху
Аноним 19/10/21 Втр 21:27:03 #667 №2188054 
>>2188012
позоришься
Аноним 20/10/21 Срд 20:01:13 #668 №2188953 
изображение.png
Аноним 21/10/21 Чтв 02:38:19 #669 №2189176 
>>2187518
регистр - это как твой хуй или анус, вот хочешь подрочить, сразу взял и подрочил, потому что это под боком, на расстоянии вытянутой руки. А оперативная память - это скоуп доступных тебе телочек (или мальчиков), чтобы какую-то дрюкнуть тебе надо сначала знать ее контакт (адрес в памяти), позвонить, договориться что она придет, потом она к тебе на такси (по шине) едет. В общем мораль такова что быстрее и дешевле подрочить
Аноним 21/10/21 Чтв 11:31:37 #670 №2189285 
image.png
Хелпаните!
почему если значение -а- меньше значение -b-, то нихуя не выводится.
ПЖ!!!
)
Аноним 21/10/21 Чтв 11:38:00 #671 №2189289 
>>2189285
Поставь явно все фигурные скобки во всех if-then-else.
Аноним 21/10/21 Чтв 11:42:48 #672 №2189293 
>>2189289
И ещё
- В логических выражениях поставь явно нужные круглые скобки, возможно у тебя проблема с прецедентностью
- Не используй альтернативные написания операторов (and -> &&, or -> ||), считается моветоном
- Не пихай всё в одну строчку, очень неудобно будет пошагово отлаживать и просто сложно на лету отличить условие от самого действия
- Пользуйся дебаггером
Аноним 21/10/21 Чтв 11:53:28 #673 №2189301 
>>2189293
Мало что понял, тк это второй урок информатики, но спасибо за ответ, прислушаюсь.
Аноним 21/10/21 Чтв 12:29:36 #674 №2189316 
>>2189176
А можете в таком стиле целую книгу по основам CS написать? Пользовалась бы успехом!
Аноним 21/10/21 Чтв 13:52:03 #675 №2189372 
Как можно обратиться к методу класса/наследников, экземпляры которых я добавляю в <vector>?

std::vector<std::unique_ptr<My_Class>> my_class;

my_class.push_back(std::make_unique<Naslednik>());

Если я напишу my_class[0]. то мне в возможностях высвечивается только то, что добавлено либой вектора
Аноним 21/10/21 Чтв 14:02:24 #676 №2189381 
>>2189372
my_class[0]->
Аноним 21/10/21 Чтв 14:43:50 #677 №2189420 
>>2189316
ты имеешь в виду журнал хакер?
Аноним 21/10/21 Чтв 14:45:15 #678 №2189422 
>>2189381
Спасибо
Аноним 21/10/21 Чтв 15:05:54 #679 №2189446 
Так, теперь такой вопрос, как можно удалить экземпляр класса из массива вектора методом этого же класса?

То есть я обращаюсь к методу my_class, внутри которого есть проверка на размер числа, и если число больше чем нужно, то вызывается другой метод, в котором я хочу реализовать удаление этого экземпляра из вектора.
Аноним 23/10/21 Суб 14:58:09 #680 №2191435 
>>2189446
if (vector_name.method_name())
{
auto iter = vector_name.begin();
iter += i;
vector_name.erase(iter);
}
Аноним 23/10/21 Суб 15:00:55 #681 №2191438 
>>2191435
if (vecor_name.method_name())
хотя проблему, наверное, ты уже решил
а тред умер
Аноним 23/10/21 Суб 15:11:12 #682 №2191452 
Куда в ДС-2 можно пойти на проекты для военной промышленности? Знаю 'Кронштадт' и 'Sitronics' что-то около военное пишут. senior c++
Аноним 24/10/21 Вск 11:42:38 #683 №2191997 
Я пытался узнать сколько памяти резервирует вектор через sizeof(), но он всегда показывает одинаковый размер 24 байта, я так понял потому что хранит только указатель на память. Может кто знает, сколько вектор при его создании заранее резервирует элементов из кучи?
Аноним 24/10/21 Вск 12:14:59 #684 №2192009 
Все, с векторами разобрался, зависит от реализации компилятора.
Аноним 24/10/21 Вск 12:17:35 #685 №2192012 
>>2192009
Обращайся ещё.
Аноним 24/10/21 Вск 12:28:57 #686 №2192027 
Анон, посоветуй что-то для изучения плюсов
где учить c++ Аноним 24/10/21 Вск 12:35:34 #687 №2192037 
скиньте ресурсы по плюсам
Аноним 24/10/21 Вск 12:53:11 #688 №2192065 
>>2192027
>>2192037
Пора уже в названии треда после номера добавить фразу "Читайте шапку бля"
Аноним 24/10/21 Вск 15:15:29 #689 №2192173 
Почему если я хочу написать конструктор для класса наследника, то у меня должен обязательно присутствовать конструктор по умолчанию у класса-родителя? (Без него выдаёт ошибку. Для класса не существует конструктор по умолчанию)
Аноним 24/10/21 Вск 15:23:57 #690 №2192189 
изображение.png
Но вот неправда, никакого разочарования я ни чувствую, а горжусь, что понимаю глубже, чем фронтендеры. Но если честно я до этого все таки писал на бейсике (очень мало), но это было давно, неправда и кроме ветвлений, циклов и goto я ничего не знал и не умел. Про операционные системы и архитектуру я смотрю параллельно лекции на ютубе.
Аноним 24/10/21 Вск 15:29:25 #691 №2192194 
>>2192173
У меня все работает, код покажи.
Аноним 24/10/21 Вск 17:57:48 #692 №2192373 
>>2191997
>только указатель на память
Ещё указатель на последний элемент, указатель на конец блока памяти и указатель на аллокатор. Итого 4sizeof(void) = 32 для x64 и 16 для x86(32).

>сколько вектор при его создании заранее резервирует элементов из кучи
Если ты явно не укажешь число в конструкторе или через инициализацию, то 0. Дальнейший рост зависит от реализации.
Аноним 24/10/21 Вск 17:59:00 #693 №2192374 
>>2192009
От реализации библиотеки STL, а не от компилятора.
Аноним 24/10/21 Вск 19:11:02 #694 №2192429 
>>2192373
> Ещё указатель на последний элемент
> указатель на конец блока памяти
А в интовой переменной религия хранить не позволяет? Типо переменная lengер и переменная capacity. Или бывают вектора длиной более 65,535 элементов?

Аноним 24/10/21 Вск 19:54:38 #695 №2192489 
>>2192429
Тип int не используется как тип размера данных. Для этого в языке есть специальный тип - size_t (метод sizeof() возвращает значение именно этого типа). size_t меняет свой размер в зависимости от платформы, как и указатель - то есть для х64 он будет 8 байт, при том что int будет 4 (иногда больше).
Аноним 24/10/21 Вск 19:57:50 #696 №2192493 
>>2192489
Каждый день узнаешь что-то новое о великом и необъятном С++
Аноним 24/10/21 Вск 20:27:38 #697 №2192505 
>>2192493
это скорее наследие сишки. sizeof кста может вернуть число большее суммы размеров типов элементов структуры из-за выравнивания.
Аноним 25/10/21 Пнд 10:33:53 #698 №2192873 
zero cost abstraction миф?
Аноним 25/10/21 Пнд 10:57:41 #699 №2192893 
>>2192873
Да.
Аноним 25/10/21 Пнд 18:00:06 #700 №2193291 
>>2191452
ООО СТЦ?
Аноним 25/10/21 Пнд 18:44:49 #701 №2193336 
>>2193291
Ну эти больше по внутренним фсбшным делам, нежели по оборонным. Если с тем же "Кронштадтом" сравнивать.
Аноним 25/10/21 Пнд 20:39:47 #702 №2193426 
>>2192873
нет, не миф
благодаря шаблонам, благодаря статическому полиморфизму
да и рантайм полиморфизм в крестах самый быстрый, быстрее не сделать
благодаря тому что нет сборки мусора в самом языке

Аноним 25/10/21 Пнд 20:47:21 #703 №2193430 
>>2193426
нет, не миф
первое, благодаря шаблонам, благодаря статическому полиморфизму
да и рантайм полиморфизм в крестах самый быстрый, быстрее не сделать
второе, благодаря тому что нет сборки мусора в самом языке, а в различных подходах к управлению ресурсами почти всегда используеться та или иная форма "подсчета ссылок"
третье, за счет "размещающей формы new" можно создавать эффективные контейнеры
это то что навскидку можно вспомнить
Аноним 25/10/21 Пнд 21:30:43 #704 №2193478 
А эксепшены это зеро кост абстракшен?
Аноним 25/10/21 Пнд 21:40:13 #705 №2193483 
>>2193478
Это овердохуялион кост.
Аноним 25/10/21 Пнд 21:40:49 #706 №2193485 
>>2193478
ловля - само собой нет. А все обвязки, если эксепшены не кидаются - ПРАКТИЧЕСКИ бесплатны (размер кода увеличивается и все)
Аноним 25/10/21 Пнд 23:09:37 #707 №2193552 
>>2192873
Там где оверхед не нулевой Страуструп говорит, что его оверхед минимальный по сравнению с возможными альтернативами. Там где решение Страуструпа сливает по скорости в рантайме, он находит всякие другие достоинства, вроде maintability.

Не стоит понимать zero cost как буквально всегда равно нулю.

>>2193478
Вот кстати хороший пример. Не зеро кост в сравнении с полным отсутствием проверки и обработки ошибок.
Аноним 26/10/21 Втр 02:25:21 #708 №2193631 
>>2193478
без исключений в языке не обойтись, их пришлось ввести
страуструп об этом и в книгах и в статьях писал и на конференциях об этом талдычил
потому что иначе никак не обработать ошибки в конструкторах и перегруженных операторах
а как раз конструкторы и возможность перегрузки операторов (особенно второе) и являются важнейшими инструментами для повышения уровня абстракции в коде на крестах

ну а так как раскрутка стека оче дорогая операция, страуструп предлагал как раз использовать в критических по производительности библиотеках исключения только там где ни обойтись и ловить их по месту (те сразу же)

конструкторы можно оборачивать различными порождающими паттернами

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

таким образом несмотря на то что исключения вроде как и дорогие при ловле, при правильном применении все это минимизируеться
Аноним 26/10/21 Втр 03:44:26 #709 №2193635 
Аночики, а что плюсовики делают в вебе? Мне тут просто рекрутер очень крупной фирмы уровня гугла кинул вакансию, я сначала-то думал что там какой-нибудь пыхапышник нужен, или на крайняк аспрешетник.. Но нет, вакансия на чистый С++, при том что работа именно вебовская (ну скорее-всего бэкенд).. И вот прост даже не знаю, откликаться. Вообще не в тебе что там в бэкенд вебе на С++
Аноним 26/10/21 Втр 06:55:45 #710 №2193654 
>>2193635
>крупной фирмы уровня гугла
яндекс?)

Аноним 27/10/21 Срд 07:04:54 #711 №2194560 
>>2193635
Очевидно, будешь говно вилкой чистить на заслуженном проектике, поддерживая его на плаву.
Аноним 27/10/21 Срд 10:42:58 #712 №2194637 
Двач, я хочу чтобы когда определённый чел пишет в беседу - мой бот отвечал на его сообщение фоткой его ебала

А на ютубе все видео про чат ботов в вк - это либо ебаный питон, либо реклама сервисов долбоёбских

Поясните как это всё реализовать пж
Аноним 27/10/21 Срд 13:02:06 #713 №2194773 
>>2194637
Берёшь код на пизоне и портируешь его на цпп. Хули тут сложного то?
Аноним 27/10/21 Срд 13:21:54 #714 №2194810 
>>2194773
я не знаю синтаксис питона
Аноним 27/10/21 Срд 13:58:46 #715 №2194868 
>>2194637
Ищешь библиотеку с работой ботов ВК подключаешь ее, читаешь доки, пишешь

Ну или сразу смотришь api который даёт тебе ВК и пользуешься им напрямую

ну или не использовать плюсы для этого, легче будет такое как уже сказали выше на питоне
Аноним 27/10/21 Срд 14:04:46 #716 №2194879 
>>2157621 (OP)
Накидайте пожалуйста github репозиториев с эталонным качеством кода. Что бы я прочитал и охуел от того как все корректно и няшно
Аноним 27/10/21 Срд 14:06:48 #717 №2194883 
>>2194879
Забыл добавить : чем новее стандарт тем лучше
Аноним 27/10/21 Срд 15:33:27 #718 №2195039 
>>2194810
Весь питон это ~800 страниц спецификации. Из них тебе достаточно вдумчиво прочитать страниц 200.
Аноним 27/10/21 Срд 15:39:31 #719 №2195055 
>>2194879
Очевидный https://github.com/microsoft/STL
Вполне корректно (хотя, баги есть), но совсем не няшно
Аноним 27/10/21 Срд 15:42:16 #720 №2195065 
>>2157621 (OP)
Вешаю noexcept на все функции, в которых я не ловлю исключения.
В чем проблема? Ведь это просто убирает ненужные издержки. Почему нужно лечиться от "noexcept болезни" ?
https://youtu.be/LDoCQzSd3xo?t=786
Аноним 27/10/21 Срд 15:46:41 #721 №2195074 
>>2195055
Ты серьезно? Вот это эталонный c++ код? Я так и должен писать в своих проектах, да?
https://github.com/microsoft/STL/blob/main/stl/src/filesystem.cpp
Аноним 27/10/21 Срд 16:09:19 #722 №2195130 
>>2195055
STL пишется специально хуево, плохой пример
Аноним 27/10/21 Срд 17:08:29 #723 №2195223 
>>2195074
>>2195130
Нет, он хуевый с точки зрения читаемости, но его полезно почитать, посмотреть как реализуются требования стандарта, как делаются оптимизации в шаблоном кодев зависимости от характеристик аргумента (например, std::copy, vector::resize).
Так же интересно посмотреть на устройство рантайма, всё то, что выполняется до и после юзерского main()
Аноним 27/10/21 Срд 17:55:54 #724 №2195282 
>>2195130
Да, ответственно подошли к вопросу хуевости. Даже табы пополам с пробелами навалили.
Аноним 27/10/21 Срд 21:37:56 #725 №2195458 
>>2194879
а нету такого
весь промышленный код на крестах - это просто приплюснутая сишка
а state of art код устарел уже, 98м стандартом ограничен как правило, а модерновый код говнище, даже тот что не стыдяться на конференциях на слайдах показывать, во многом еще и потому что сам язык стал развиваться, стали быстрее выкатывать новые фичи в язык
а для того чтобы появилась красота, нужны ограничения платформы
если приводить сторонний пример, то лучший демо-арт на амигах и спектрумах и прочих альтернативах pc стали делать уже после того как эти платформы по сути умерли, но таким образом были определены рамки для (комьютерного) творчества - разрешение монитора, цветность, возможность или нет плавного скролинка, количество выводимых спрайтов, возможности для синтеза звука..
а в ситуации когда чуть ли не каждый год появляються новые инструменты (применительно к крестам, не только синтаксические возможности, но и чутка но и меняеться семантика), сложно начать писать действительно красивый код, потому что еще нужно накопить определенный опыт работы с этими новыми возможностями; большинство нового крестового кода что использует новые стандарты - это по сути грязный экспериментальный код, даже несмотря на то что часть этого кода используеться напрямую в продакшене


Аноним 27/10/21 Срд 21:51:25 #726 №2195471 
>>>>2195458
Ну, даже если это и так как ты сказал, все же хочется верить что где-то там есть толковые дяди которые умеют делать няшный и корректный код(как на том же шарпе), а не как у меня - корявое говно работающее только после часов дебага
Аноним 27/10/21 Срд 22:13:44 #727 №2195509 
> Чуть ли не каждый каждый год появляются новые инструменты
> с++
Это прикол такой?
Аноним 27/10/21 Срд 22:17:42 #728 №2195514 
>>2195509
до до до , кроме мув семантики с 98 стандарта толком ничего не изменилось, вы главное не нервничайте, мы скоро выпишем вас домой
Аноним 27/10/21 Срд 22:22:57 #729 №2195520 
>>2195514
Что?
Аноним 27/10/21 Срд 22:25:29 #730 №2195524 
toha.webm
>>2195520
В смысле что? А может ты бака?
Аноним 27/10/21 Срд 22:26:27 #731 №2195527 
>>2195514
в шаблоны еще добавили возможность императивного программирования, а до этого в 98 стандарте для метапрограммирования требовался функциональный подход используя различные трюки
чем не добавление новой семантики
Аноним 27/10/21 Срд 22:27:00 #732 №2195528 
>>2195524
Понятно, так бы сразу и сказал что вкатун
Аноним 27/10/21 Срд 22:29:04 #733 №2195532 
>>2195528
а вы из серьезного бизнеса ?
Аноним 27/10/21 Срд 23:01:17 #734 №2195561 
Короче, код на C++ стыдно показывать людям.
Аноним 27/10/21 Срд 23:09:03 #735 №2195574 
>>2195561
Программировать вообще стыдно, даже признаваться в сосании хуйцов лучше.
Аноним 28/10/21 Чтв 00:20:31 #736 №2195623 
void to_lower(char s){
while(
s != '\0'){
if (s >= 65 && s <= 90)
s += 32;
s++;
}
}

void to_lower(char
s){
for (; s != '\0'; ++s)
s |= (1 << 5);
}

Лве функции которые делают одно и тоже, верхнюю написал я, вторая из интернета. Что лучше?
Аноним 28/10/21 Чтв 00:40:07 #737 №2195632 
>>2195623
форматирование съехало + звездочки съело, ахуенно

Лучше вторая т.к у char* нет оператора +=, так что в первой ошибка компиляции
Аноним 28/10/21 Чтв 00:45:53 #738 №2195637 
>>2195632
>s |= (1 << 5);
А зачем нужно постоянно сдвигать число 1 на 5 бит влево если это константа?
Аноним 28/10/21 Чтв 00:57:02 #739 №2195640 
image.png
>>2195632
>>2195637
Почему двач такое дерьмо? Вот нормальная версия
Аноним 28/10/21 Чтв 01:01:20 #740 №2195644 
>>2195640
А ты не думаешь что снизу тоже нужен if( >65 && < 90 ?
Аноним 28/10/21 Чтв 01:04:21 #741 №2195646 
>>2195644
Нет, всё работает
Аноним 28/10/21 Чтв 01:08:43 #742 №2195648 
>>2195646
Ну ты сверху меняешь значение только если *s это от A до Z.
Т.е строка "1234rt_HEIL_HITLER" будет выглядеть так : "1234rt_heil_hitler"
А снизу вместо всех не A..Z симаолов будет что-то другое. Кстати ты в первом забыл указатель перемещать, так что он вообще в бесконечный цикл падает
Аноним 28/10/21 Чтв 01:16:56 #743 №2195650 
>>2195471
>няшный и корректный код
Ну вот допустим есть lambda expressions, введённые в с++11. Если почитать стандарт, то там сплошной since/until C++14,17,20,23. В таких условиях только экспериментальное говнецо можно писать.
Аноним 28/10/21 Чтв 01:19:27 #744 №2195653 
>>2195650
>Если почитать стандарт
А я и не собирался вычитывать до потери сознания стандарт/cppreference.
Аноним 28/10/21 Чтв 01:37:31 #745 №2195665 
>>2195623
Обе фигня. Не работают с литералами, ибо не const char⚹.
И вобще подобные операции над символами делаются через int, а не char.

>>2195648
>вместо всех не A..Z симаолов будет что-то другое.
В половине случаев корректно будет.
Аноним 28/10/21 Чтв 01:43:44 #746 №2195666 
>>2195665
>И вобще подобные операции над символами делаются через int, а не char.
явный каст? А зачем?
>В половине случаев корректно будет.
Алгоритмы не эквивалентны. О каком сравнении по скорости идет речь если они выдают разный результат ?

Что будет быстрее в итоге сводится к тому что дешевле : + или битовое или. Чисто интуитивно кажется что второе
Аноним 28/10/21 Чтв 02:10:45 #747 №2195680 
>>2195666
>зачем
Посмотри документацию для <cctype>, там у всех функций сигнатура из int в int. В char не помещается EOF, поэтому int.

По скорости я вообще не сравнивал. Просто отмечаю, что в половине случаев второй вариант сработает корректно - там, где пятый бит равен 1 ничего не произойдет.
Аноним 28/10/21 Чтв 08:15:34 #748 №2195714 
Как всё таки вкатиться в qt? Предположим что база c++ изучена. Глянул книгу Макс Шлее и просто охуел с перескакиваний на разные темы, сначала про одно говорится, потом про другое. Туториалы на Ютубе уровня создания калькуляторов. Можно на английском
Аноним 28/10/21 Чтв 09:59:24 #749 №2195738 
>>2195680
char это 1 байт = 8 бит = 2^8 = 256 значений. От 0 до 127 это ascii таблица, дальше от 127 до 255 это ansi таблица. Ты не можешь изменить хоть какой-то бит числа и внезапно попасть в ту же точку, в ascii и ansi таблице символы не повторяются
Аноним 28/10/21 Чтв 10:06:16 #750 №2195743 
>>2195738
Хотя стоп, у нас же битовое или .Если у нашего char 5 тый бит уже установлен то действительно ничего не поменяется. А таких символов 1*2^(7) = 128.

Чето я сразу не подумал
Аноним 28/10/21 Чтв 10:16:05 #751 №2195751 
>>2195714
Можно просто хелп читать, там все расписано.
Аноним 28/10/21 Чтв 10:20:44 #752 №2195756 
>>2172765
>надо в следующем треде воткнуть ссылку
>Файл, который вы пытаетесь скачать, больше не существует.
перезалей, тогда и воткнем
Аноним 28/10/21 Чтв 10:23:50 #753 №2195759 
>>2195756
>Видео недоступно, потому что связанный с ним аккаунт YouTube был удален.
Везде обосрался.
Аноним 28/10/21 Чтв 10:25:29 #754 №2195762 
>>2195714
>книгу Макс Шлее
Пытался как-то вкатиться через эту книгу. Читать имеет смысл только первые главы про сигналы Qobject и прочую базу. Дальше просто кидаешь чужой код и документацию. Учить фреймворк последовательно и всеобъемлюще это бессмыслица. Просто берешь нужный тебе инструмент и вперед
Аноним 28/10/21 Чтв 10:31:41 #755 №2195767 
>>2195762
>кидаешь чужой код и документацию
читаешь
Аноним 28/10/21 Чтв 13:24:52 #756 №2195978 
Стало интересно, есть ли возможность состряпать такой контейнер, который будет совмещать в себе возможности списка и массива? То есть в кишках он будет реализован как вектор (элементы в памяти последовательно, индексация за O(1), вставка в конец за амортизированную константу), но при этом вставка в середину тоже за константу. В кишках идет вставка в конец, но для пользователя контейнера элемент будет расположен в середине.
Пытался как-то через мапу с индексами, поинтерами, но ничего не вышло.
Аноним 28/10/21 Чтв 13:30:42 #757 №2195987 
Пытаюсь сделать статическую библиотеку, но явно делаю это неправильно(((
Помогите со следующей проблемой:
если я компилю просто объектники, грубо говоря:
>g++ imgui.o imgui_draw.o main.o
- всё хорошо и даже вроде работает
но мне хочется сделать
>g++ imgui.cpp imgui_draw.cpp -c
>ar rsv imgui.a imgui.o imgui_draw.o
>g++ imgui.a main.o
- как результат, в main'е imgui'шные функции не линкуются. Как это работает (и почему не работает?)
Аноним 28/10/21 Чтв 14:18:30 #758 №2196031 
>>2195987
Может зависеть от порядка файлов при линковке.
Аноним 28/10/21 Чтв 14:23:51 #759 №2196037 
>>2195987
Либы именуются как lib{name}, поэтому переименуй imgui.a в libimgui.a. Для линковки она передаётся как -limgui (без префикса lib и постфикса .a). Если надо линковать статически, то перед ней указываешь -static.

Вроде вот так должно быть
g++ -c main.c -o main.o -static -limgui
Аноним 28/10/21 Чтв 14:49:51 #760 №2196058 
>>2195978
Я помню Сэджвик в своей Algorithms in C похожее делал, можешь почитать.
Аноним 28/10/21 Чтв 15:23:15 #761 №2196098 
>>2195978
Вот такой?
https://ru.m.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%BF_(%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)
Аноним 28/10/21 Чтв 15:24:10 #762 №2196100 
>>2196031
Да, действительно - поменял порядок
>g++ main.o imgui.a
- слинковалось... Эх, ещё больше не понимаю, что там внутри происходит))) Спасибо!

>>2196037
Ну для меня сечас это не то, чтоб либа, а просто чтобы кучу объектных в один архив запихнуть. Но да, я в курсе, спасибо!
Аноним 28/10/21 Чтв 19:48:56 #763 №2196482 
Как правильно установить Qt в оффлайне? Мне надо готовый QtCreator со всеми последними библиотеками.
Вот я скачал соурс код отсюда https://www.qt.io/offline-installers
Скачался zip-архив с соурсами. И что мне с ним делать? Как это совместить с QtCreator?
Аноним 28/10/21 Чтв 20:04:01 #764 №2196502 
1635440642390.jpg
Написал прогу, которая отправляет запросы по USB на устройство и считывает данные. Данные потом вывожу в интерфейсе.
Запросы очень частые, раз в 20 мс. Чтобы интерфейс не зависал, пока воткнул костыль в виде qApp->processEvents(), но так делать вроде бы нельзя, да ведь?
Как правильно это все распараллелить, подскажите плиз.
Аноним 28/10/21 Чтв 20:16:08 #765 №2196514 
>>2195751
Слишком сложно, я нихуя не понял
>>2195762
Ну вот эту базу где лучше прочитать?
Аноним 28/10/21 Чтв 20:18:55 #766 №2196522 
>>2196514
>где лучше
Да не знаю, я после знакомства с moc'ом блеванул и бросил это дерьмо. У шлее вроде бы все довольно просто объяснено было, насколько сейчас помню
Аноним 28/10/21 Чтв 20:24:11 #767 №2196532 
>>2195714
Через Qt Documentation.
Просто гуглишь, то что тебе нужно и гугл тебе выдает подходящий класс.
Например, тебе надо работать с картинками. Вбиваешь в гугле qt image, и первый же результат https://doc.qt.io/qt-5/qimage.html то что тебе нужно. Там все подробно описано, какие методы, сигналы и слоты там есть.
Ну и ты должен понимать, как сигналами и слотами пользоваться, это база qt так сказать. Тоже на их сайте можешь почитать, никакой Шлее не нужен особо.
Аноним 28/10/21 Чтв 21:58:29 #768 №2196622 
>>2195650
они ввели лямбды и стало сразу скучно и просто, понимаешь?
в 98 стандарте нужно было писать вообще по красоте - используя композицию функторов, в std был (и сейчас есть) набор средство для такого похода
можно было писать действительно интересный state of art код
почти заголовок <functional> был сделан для возможности композиционного программирования

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

Аноним 28/10/21 Чтв 22:14:58 #769 №2196637 
>>2196622
Ты кукаретик, а я практик. Ты видишь манягоризонты, а я проблемы с обратной совместимостью и людей делающих одно и то же, но на разных диалектах. В итоге мы имеем глиномесиво, а не state of art.
Аноним 28/10/21 Чтв 22:20:46 #770 №2196645 
>>2196622
Просто напомню тебе, что проекты на цпп выходят в нормальный продакшн не ранее 2х лет после начала разработки. Проект цпп является свежим, если ему 4-5 лет. За это время выходит 2-3 апгрейда стандарта и то, что написали 4 года назад никто в здравом уме портировать не станет.
Аноним 28/10/21 Чтв 22:34:59 #771 №2196660 
>>2196502
в отдельном треде это поллить
Аноним 28/10/21 Чтв 22:41:03 #772 №2196670 
>>2196660
Что именно? Запрос-обработку данных? А как потом данные передавать в интерфейс? Через сигнал?
Аноним 28/10/21 Чтв 22:47:52 #773 №2196678 
>>2196670
Через что угодно, хоть через сигнал, хоть через синхрозириванную общую переменную
Аноним 28/10/21 Чтв 22:51:36 #774 №2196683 
>>2196637
в этом случае это не "манягоризонты" а скорее ретро-кодинг, можно так назвать
ну это как сегодня, знаешь, все еще иногда выходят новые игры для спектрума, для амиги.. ну и само собой демо-арт процветает на no-pc платформах
в качестве развлечения мне интересно писать на 98 стандарте, используя рекурсивный подход для метапрограммирования, для кодогенерации в компайл-тайме, ну или делая композиции функторов используя возможности библиотеки stl, при этом я могу писать и модерновый код на новых стандартах делающий все то же самое, просто такой код получаеться более скучным и плоским
естественно это все это just for fun

Аноним 28/10/21 Чтв 22:53:39 #775 №2196685 
>>2196660
за предложение делать многопоточку для такого тупого io нужно сразу валить и бить ногами
Аноним 28/10/21 Чтв 22:53:57 #776 №2196687 
>>2196660
за предложение делать многопоточку для такого тупого io нужно сразу валить и бить ногами
Аноним 28/10/21 Чтв 22:56:35 #777 №2196690 
>>2196685
>>2196687
Главное что на дваче io очень умное.
Аноним 28/10/21 Чтв 23:03:05 #778 №2196694 
>>2196687
А как правильно? Я юзаю QSerialPort, чтобы общаться с устройством.
Аноним 28/10/21 Чтв 23:05:07 #779 №2196697 
>>2196690
владелец двача даже барана чисто зарезать не может чего ты от него еще хочешь?

Аноним 28/10/21 Чтв 23:08:14 #780 №2196702 
>>2196694
Ну, если верить челику, высравшемуся выше, то через ioctl(), fcntl().
Аноним 28/10/21 Чтв 23:20:14 #781 №2196725 
>>2196702
А в qt?
Аноним 29/10/21 Птн 00:03:16 #782 №2196764 
>>2196725
А я хз. Uart порт древний и есть практически на всех железячках. Qt большой и не везде влезает, так что обычно такое на C пишется через системное api.
Аноним 29/10/21 Птн 02:50:14 #783 №2196838 
image.png
Я немного затупил. Метод WindowSystem::Create() константный, что говорит что через него нельзя менять члены класса.

Но метод m_impl->Create() - не константный и внутри себя он изменяет уже свои члены.

Почему это работает?

Аноним 29/10/21 Птн 03:48:52 #784 №2196846 
>>2196532
Чел, охуенный совет. Вот я точно так же делал, возникла одна проблема. Нигде не было решения, здесь тоже никто не ответил. Хотел сделать кнопку параметров печати, улучшить пример калькулятора. Документация прочитал, нихера не понял, почему эти параметры не отображаются, а если и отображаются не сохраняются
Аноним 29/10/21 Птн 12:18:08 #785 №2197104 
Нет, ну что за мразь?

Создал класс(максимально простой для проверки всего этого)

Объявление класса с прототипами методов поместил в заголовочный файл "classname.h", как меня учили.
Определения методов класса поместил в файл classname.cpp, не забыл #include "classname.h", как меня учили.
В файле main.cpp прописал #include "classname.h".

Это говно все равно не работает, сообщая якобы о undefined reference. Неужели нет компилятора, который не будет так тупить и просто возьмет и соберет все?

Аноним 29/10/21 Птн 12:19:18 #786 №2197106 
>>2197104
покажи код, так ничего не понятно что там у тебя происходит
Аноним 29/10/21 Птн 12:21:54 #787 №2197109 
изображение.png
изображение.png
изображение.png
>>2197106
Бля, я же максимально понятно расписал, ну ладно
Аноним 29/10/21 Птн 12:27:33 #788 №2197115 
>>2197109
С кодом все хорошо(за исключением возможно того что __Ptagma__ уже занята кем-то, не надо использовать имена начинающиеся с _ или __ они зарезервированы под стандартную библиотеку дефайны компилятора и прочее)

если дело не в _Pragma_ то проверь собирается ли Pragma.cpp. Вполне возможно ты как-то не так добавил его в свою IDE
Аноним 29/10/21 Птн 12:37:58 #789 №2197123 
>>2197115
Спасибо, я погуглил, виновата во всем IDE. Точнее способ добавления файлов в проект с галочками debag/release, в котором я не понимаю ничего.
Аноним 29/10/21 Птн 13:48:34 #790 №2197192 
>>2196838
>Почему это работает?
Потому что так это и работает. Константность метода не транзитивна.
Если б у тебя m_impl имел тип WindowSystem, то компилятор тебя бы тормознул. А так, через ссылку/указатель делай, что захочешь.
Аноним 29/10/21 Птн 13:53:45 #791 №2197194 
>>2196838
>не константный и внутри себя он изменяет уже свои члены
Указатель m_impl куда указывал, туда и продолжает указывать. Его значение (адрес) не изменяется - вот, что тебе гарантирует Страуструп.
А состояние, на которое указывает m_impl, это уже состояние другого класса. Оно не рассматривается как часть состояния WindowSystem.
Аноним 29/10/21 Птн 16:46:58 #792 №2197335 
int n;
cin >> n;
int * arr = new[n];
delete [] arr;

Откуда delete[] знает сколько элементов в массиве если значение не известно на момент компиляции? Если new сохраняет его куда-то, то куда?
Аноним 29/10/21 Птн 17:16:18 #793 №2197376 
>>2197335
Если коротко : компилятор секретно выделяет перед твоим массивом еще немного памяти чтобы сохранить там сколько ты выделил. delete[]
читает как бы -1-ый элемент где записан размер.Если ты напишешь delete[] для обычного указателя( не массива ) он тоже прочитает и будет пиздец
https://youtu.be/TQ5VPnKWqoY?t=228>>2197335
Аноним 29/10/21 Птн 17:55:55 #794 №2197425 
изображение2021-10-29175543.png
Вроде не первый год в плюсах, но не помню, чтобы так смачно обосрался на таком скользком месте. А я еблан думал, что где-то с синтаксисом напартачил или нужен forward declaration. Слава богам, что есть stack overflow.
Аноним 29/10/21 Птн 18:19:22 #795 №2197457 
>>2197425
Кажется, это то место, где надо делать hidden friend
Аноним 29/10/21 Птн 18:21:05 #796 №2197460 
>>2197457
С таким помогает посмотреть, как в stl сделано
Аноним 29/10/21 Птн 19:23:11 #797 №2197559 
изображение2021-10-29191848.png
>>2197457
Почитал про hidden friend, но не совсем понял как его можно применить к шаблонам. Без адских костылей только так, реализация фрэнда внутри класса.
А как быть с обычными функциями, я так и не понял. Получается, что объект класса B никуда нельзя передать.
Аноним 30/10/21 Суб 00:49:55 #798 №2197752 
>>2196764
А зачем что то на С писать, если в Qt уже есть все готовое? То есть изобретать велосипед? Там есть QSerialPort, в котором все уже написано.
QSerialPort port;
port.write("отправь данные");
QByteArray buffer = port.readAll(); //данные
Это если упрощенно, там еще ждать надо, пока устройство данные пошлет с помощью waitForReadyRead(int timeout) или как то так. Ну и параметры ком порта в port прописать.
Аноним 30/10/21 Суб 01:50:11 #799 №2197776 
>>2197752
Если ты клиентскую часть для пеки пишешь, то скорее всего хватит.
Аноним 30/10/21 Суб 05:56:30 #800 №2197821 
Как не сдаваться при трудностях? Так надоело уже
Аноним 30/10/21 Суб 06:48:00 #801 №2197824 
>>2197821
Интересно какой ответ ты ожидаешь услышать
Аноним 30/10/21 Суб 07:15:35 #802 №2197825 
>>2197821
Просто постарайся
Аноним 30/10/21 Суб 09:28:34 #803 №2197866 
>>2197776
Хорошо. А как все таки распараллеливать это, чтобы mainloop не захлебнулся? И если создавать новый поток под это - моветон, то что делать?
Аноним 30/10/21 Суб 09:54:51 #804 №2197873 
>>2197821
сдавайся, ты говно
Аноним 30/10/21 Суб 11:40:45 #805 №2197931 
>>2197821
Айда к нам в жаваскрипт. У нас годные тянучки, новейшие технологии, современные задача. Будешь на реакте писать, 300к получать.
Аноним 30/10/21 Суб 11:43:24 #806 №2197934 
>>2197821
Могу только ультра дженерик совет дать: если ты не гипераутист, способный 24/7 заниматься одним и тем же - правильный режим дня, друзья, хобби, отдых. Хотя хз, вкатуном никогда не был, может у них по особому всё устроено.
Аноним 30/10/21 Суб 12:43:42 #807 №2197968 
Если можно передать ссылку на объект в функцию и работать с ним, почему нельзя скопировать ярлык игры на дискету и играть дома через этот ярлык?
Аноним 30/10/21 Суб 12:45:41 #808 №2197969 
>>2197968
Ссылается на что? На область памяти. Ты ярлык забрал, а область памяти осталась на том компе.
Аноним 30/10/21 Суб 12:47:51 #809 №2197971 
>>2197969
Получается раньше на дискете получали висячий указатель?
Аноним 30/10/21 Суб 12:51:35 #810 №2197972 
>>2197971
Типа того.
Аноним 30/10/21 Суб 12:53:07 #811 №2197973 
image.png
>>2197971
Да, и ебаная винда вместо логичного null reference exception выдает срань как на пике.
Спермохлебы, ваши оправдания?
Аноним 30/10/21 Суб 12:56:53 #812 №2197979 
>>2197973
> Спермохлебы, ваши оправдания?
На сперме больше юзеров -> больше money получаешь, разрабатывая под нее
Аноним 30/10/21 Суб 14:42:21 #813 №2198058 
Так qt quick компилируется полностью в машинный код, правильно? На сайте вроде так написано. Там же не крутиться браузер который исполняет Ява скрипт?
Аноним 30/10/21 Суб 21:59:38 #814 №2198538 
image.png
>>2157621 (OP)
Есть тут работающие аноны? Подскажите где вы работаете, и интересна ли вам ваша сфера?
Работаю 2 года в геймдеве, год ебался с анриалом, потом сьебался в мобильный гейдев дрочильни для домохозяек со сверхприбылями. В принципе на текущей работе устраивает всё - зп выше рынка, 17 стандарт, CI/CD, адекватная команда, вобщем всё круто кроме одного - задач. Я пиздец не люблю геймдев, но других вакансий практически нет только эмбеддед с сишкой и стмками. Хотел в ближайшие года 2 подготовиться к смене области, пока потихоньку подтягиваю алгоритмы и дрочусь с разными технологиями как хобби. Был у кого опыт полной смены области разработки? Расскажите не пожалели ли о смене работы?
Аноним 31/10/21 Вск 14:21:05 #815 №2198913 
>>2198058
Там вроде v8.
Аноним 31/10/21 Вск 14:23:35 #816 №2198916 
>>2198058
В смысле да, v8 компилируется сразу в машинный код.
Аноним 31/10/21 Вск 16:10:00 #817 №2199061 
Какой быстрой операцией можно возвести отрицательное число в степень и чтобы минус остался? Также с вычислением квадратного корня нужно
Аноним 31/10/21 Вск 16:20:07 #818 №2199086 
>>2199061
Через UB.
sageАноним 31/10/21 Вск 18:21:15 #819 №2199196 
>>2198538
>Есть тут работающие аноны?
Нету. Так как современный с++ - это эзотерический язык для just for fun программирования.
Нвидиа-кун c зп 700к/месяц не в счет, тк он программирует bat-файлы и пишет excel-таблички для своего начальника. Что он делает в этом itt треде вообще непонятно.

Аноним 31/10/21 Вск 20:13:25 #820 №2199278 
Изучаю С++ и Python, какой пет-проект можно реализовать на этих двух языках?
Аноним 31/10/21 Вск 20:16:36 #821 №2199280 
>>2199278
Игровой движок со скриптингом на питоне
Браузер с питоном вместо жс
Фреймворк для машоба
Аноним 01/11/21 Пнд 00:52:47 #822 №2199463 
>>2199278
> С++ и Python
Всё что угодно, буквально.
Аноним 01/11/21 Пнд 01:46:33 #823 №2199474 
изображение.png
Почему я получаю пикрил, когда делаю pop от !!НЕПУСТОЙ!! priority_queue? Как это возможно?
Аноним 01/11/21 Пнд 01:52:22 #824 №2199476 
>>2199474
А, это я в компараторе накосячил. Все, понял
Аноним 01/11/21 Пнд 02:15:10 #825 №2199482 
IMG20211101021331.jpg
Ебануться, как работает эта функция? Сколько не сидел с отладчиком, так и не понял, куда оно там добавляется, следующее в предыдущее и позаследущее. Есть какое-то объяснение?
Аноним 01/11/21 Пнд 02:36:47 #826 №2199487 
>>2199482
Это ты ещё std::launder не видел.
Аноним 01/11/21 Пнд 05:11:56 #827 №2199505 
>>2198538
>дрочильни для домохозяек со сверхприбылями
Что это значит?
>зп выше рынка
Сколько?
Аноним 01/11/21 Пнд 10:43:13 #828 №2199576 
изображение.png
Узнал про такую структуру данных как список и решил попробовать реализовать двусвязный список.
Но что-то я не совсем понимаю, что значит "вставить" новый элемент? Вставить куда? У элементов нету же индексов, есть только значения, которые могут повторятся. Единственная информация, которая идентифицирует элемент списка, это набор указателей.
Аноним 01/11/21 Пнд 11:00:37 #829 №2199590 
>>2199576
В этом-то и дело, что нет просто "вставки". Есть вставка в начало, вставка в конец и вставка в середину (обычно перед i-ым элементом или после него). При вставке в середину ищешь циклом элемент устанавливаешь правильные значения указателей.
Аноним 01/11/21 Пнд 11:17:19 #830 №2199601 
>>2199590
> ищешь циклом элемент
Элементы
могут
пвторяться!
Аноним 01/11/21 Пнд 11:21:11 #831 №2199606 
>>2199601
И не просто могут, а будут. Но ты ищешь не по значению, а по порядку, переходишь к следующему элементу и увеличиваешь счётчик, пока он не будет равен порядку, там и вставляешь.
Аноним 01/11/21 Пнд 13:10:17 #832 №2199676 
>>2199576
Лол я так выше именно это и спрашивал. Вставляет в начало списка, первым элементом
Аноним 01/11/21 Пнд 14:12:58 #833 №2199711 
>>2199676
Падажжи. Один мужик на ютубе, с++ программер сказал, что преимущество списков перед массивами в том, что можно без затрат производительности просто взять и вставить новый элемент куда хочешь.
Аноним 01/11/21 Пнд 14:27:40 #834 №2199714 
>>2199711
Но есть один нюанс. Дополнительных затрат производительности не будет только если у тебя уже откуда-то есть указатель на место вставки.
Аноним 01/11/21 Пнд 15:00:44 #835 №2199734 
Стоит ли заводить учетную запись microsoft ради visual studio?
Аноним 01/11/21 Пнд 15:07:49 #836 №2199744 
>>2199734
Дело пяти минут. Регаешься на десятиминутную почту, входишь в студию и забываешь.
Аноним 01/11/21 Пнд 15:08:11 #837 №2199745 
>>2199734
Стоит. Может потребовать телефон.
Аноним 01/11/21 Пнд 15:10:36 #838 №2199748 
>>2199745
Дианон же
То есть гнида и так про меня много знает, а теперь я ей говорю, да это я 100%
Аноним 01/11/21 Пнд 15:11:37 #839 №2199749 
>>2199745
Я так уже несколько раз перерегивался. Одна учётка начинает просить телефон, я открываю десятиминутную почту, м всё по новой.
Аноним 01/11/21 Пнд 16:05:07 #840 №2199774 
>>2199749
КЛЯТЫЙ МИКРОСОФТ ЗНАЕТ КАКИЕ ХЕЛЛОВОРЛДЫ ПИСАЛ ЭТОТ БИТАРД
Аноним 01/11/21 Пнд 16:08:57 #841 №2199777 
>>2199774
Мне похуй на анонимность, мой IP они и так видят. Но номер оставлять не хочу, пусть нахуй идут. У них есть моя почта, остальное их ебать не должно.
Аноним 01/11/21 Пнд 16:48:51 #842 №2199796 
>>2199482
Попробуй нарисовать на бумаге, как кто куда указывает.
Аноним 01/11/21 Пнд 17:40:08 #843 №2199835 
>>2199749
У меня так не получилось, пришлось указать номер. Вобще там любой прокатит, главное смску прочитать.

Да и че микрософт с моим телебоном сделает? Лучи 5G из Америки на меня направит чтоли?
В доставке пиццы в сто раз палевнее указывать номер, как и любые приложения на телебон ставить.
Аноним 01/11/21 Пнд 17:57:05 #844 №2199854 
>>2199835
У меня в винде тонны извращенного хентая, алеее. Вот буду я работать в тесла, все узнают об этом и че? Отправят меня синтезировать кошкодевочек. А я может не хочу, я хочу программировать роботов-убийц для наступления скорейшего кибергулага на планете.
> В доставке пиццы в сто раз палевнее указывать номер, как и любые приложения на телебон ставить.
А вот ты шиз и параноик.
Аноним 01/11/21 Пнд 17:59:13 #845 №2199857 
изображение.png
Как работает ебаная куча в плюсах? Написал компаратор (пик 1). В итоге в один момент у меня оказывается, что на вершине кучи лежит 3, а не 0, хотя в массиве pairs size у pairs[0] = size у pairs[3] =1, но (зв)pairs[0].begin() равен 0, а (зв)pairs[0].begin() равен 3. Что блядь не так?
Аноним 01/11/21 Пнд 18:02:44 #846 №2199859 
>>2199857
Что означает строчка "comp=[]()", что за синтаксический пиздец? Мне это напомнило перегрузку операторов, но там должно быть "operator=()" или "оператор[]()"
Аноним 01/11/21 Пнд 18:03:18 #847 №2199860 
>>2199859
Это лямбда.
Аноним 01/11/21 Пнд 18:05:04 #848 №2199862 
>>2199860
Точно я забыл. Так где у тебя там обращение к куче, не увидел там оператора new
Аноним 01/11/21 Пнд 18:09:25 #849 №2199863 
>>2199862
Это не та куча, а структура данных внутри priority_queue.
Аноним 01/11/21 Пнд 18:15:09 #850 №2199871 
>>2199863
Используешь какие-то левые библиотеки, а потом недоволен. Ты бы еще спайсы за углом купил, а потом жаловался, что от него у тебя понос вместо кайфа.
Аноним 01/11/21 Пнд 18:19:15 #851 №2199872 
>>2199871
Да, правее левой стандартной библиотеки может быть только свой каноничный велосипед.
Аноним 01/11/21 Пнд 18:22:39 #852 №2199874 
>>2199872
Ну вот и пиши его. А то, как выяснилось вектор boolов лучше не использовать, потому что шизы сделали его неработоспособным в погоне за экономией памяти. Придется использовать другую структуру или писать свой динамический контейнер bool
Аноним 01/11/21 Пнд 18:29:59 #853 №2199878 
>>2199874
Крестушню вообще какие-то шизики левые проектировали. Один cout << hui чего стоит.
Аноним 01/11/21 Пнд 18:31:33 #854 №2199880 
e1c281d061ff6e659653eb4d1b1bc483.jpg
>>2199878
Ты это не пизди, залетный. Проектировали язык так, чтобы был мощный и универсальный инструмент.
Аноним 01/11/21 Пнд 19:17:41 #855 №2199911 
>>2199857
Странно, что компилируется - лямбда захватывает переменную pairs, а её нет в списке захвата. И вообще что это - вектор векторов?
>на вершине кучи лежит 3, а не 0, хотя в массиве pairs size у pairs[0] = size у pairs[3] =1, но (зв)pairs[0].begin() равен 0, а (зв)pairs[0].begin() равен 3.
Вообще ничего не понял из этого предложения. По компаратору мне кажется, что ты хочешь лексикографический порядок - сначала должны выводится с самой маленькой длиной, а затем с самым маленьким первым элементом. У pairs[3] размер 1 - он и идёт первым.
Аноним 01/11/21 Пнд 19:18:41 #856 №2199914 
>>2199911
А, и того шизика не слушай, он какой-то странный.
Аноним 01/11/21 Пнд 19:28:34 #857 №2199927 
>>2199914
Какого из?
Аноним 01/11/21 Пнд 19:38:28 #858 №2199948 
Вопросы в треде уже начали пробивать дно. Что слцчилось? Корона взялась за пориджей?
Аноним 01/11/21 Пнд 19:40:41 #859 №2199953 
>>2199948
Дедлайны по лабам начали приближаться
Аноним 01/11/21 Пнд 19:42:14 #860 №2199958 
>>2199927
Вот этого >>2199911
Аноним 01/11/21 Пнд 19:43:20 #861 №2199959 
>>2199953
Лабы не идут нахуй.
Аноним 01/11/21 Пнд 19:50:20 #862 №2199978 
>>2199911
>лямбда захватывает переменную pairs, а её нет в списке захвата
Значит это или static или глобальная переменная в том же .cpp, что и лямбда.
Аноним 01/11/21 Пнд 19:53:49 #863 №2199985 
.png
Плюсотред, когда лабы действительно пошли нахуй
Аноним 01/11/21 Пнд 20:09:55 #864 №2200001 
>>2199854
Ты в теслу поедешь работать с росийским роумингом?
Да ты уже поехавший.
Аноним 01/11/21 Пнд 21:09:05 #865 №2200036 
WallpapersMania №135 (34).jpg
Как в cmake задать сборку либы под 32 бита?
Аноним 01/11/21 Пнд 21:20:56 #866 №2200045 
>>2199948
Какие именно? У меня вообще нет лаб
Аноним 01/11/21 Пнд 22:29:08 #867 №2200107 
>>2184541
а что не так? написано что твоё значение нигде не используется, то есть ты эту переменную нигде не применил, ей все равно на "орфографию"
Аноним 01/11/21 Пнд 22:39:13 #868 №2200117 
>>2197931
>У нас годные тянучки
Которые переодетые мальчики?
Аноним 01/11/21 Пнд 23:16:31 #869 №2200169 
Есть какие-нибудь годные ресурсы для изучения STL?
Аноним 01/11/21 Пнд 23:38:33 #870 №2200186 
>>2200169
Effective STL от майерса, устарела, но все еще ок для базового понимания идеи Итераторы-Алгоритмы
Аноним 02/11/21 Втр 00:26:26 #871 №2200227 
>>2200186
Спасибо
Аноним 02/11/21 Втр 02:10:22 #872 №2200273 
>>2199487
о да...
Аноним 02/11/21 Втр 02:20:25 #873 №2200276 
>>2199948
Тоже охуел с вопроса про лямбду
Аноним 02/11/21 Втр 04:41:30 #874 №2200297 
Почему у плюсов такие итераторы странные?
Аноним 02/11/21 Втр 12:26:25 #875 №2200484 
Очередной выпуск рубрики "новые удивительные открытия в с++"
Оказывается есть указатели на массивы, это не, что указывают на нулевой элемент массива, а самые настоящие указатели на массив, сохраняющие информацию о его размере и не распадающиеся при передаче функцию. Синтаксис объвления чем-то схож с объявлением указателей на функцию T (⚹ptr)[N] = &arr; Если такой указатель увеличить на единицу, то получится адрес сдвинутый на размер всего массива? а не на размер одного элемента в массиве. Также есть ссылки на массив T(&ref)[N] = arr; Работают как и все ссылки как псевдонимы переменной, поэтому можно обращаться к элементам массива ref[5], ref[3]
Если вас бесит то, что один массив можно скопировать в другой только через цикл в языке С++, то можно облачить массив в структуру или класс struct A{T arr[N];}, а затем просто одному экземпляру структуры присвоить другой экземпляр, и все элементы массива будут автоматически скопированы.
Аноним 02/11/21 Втр 12:30:40 #876 №2200490 
>>2200484
А теперь посмотри на std::array и шаблонные перегрузки Secure CRT
Аноним 02/11/21 Втр 14:40:10 #877 №2200644 
>>2200484
Для легаси массивов давно есть удобные обертки span, можн и указатели делать и в stl пихать. А так используй array. Или вектор.
Аноним 02/11/21 Втр 14:51:56 #878 №2200654 
>>2200484
А чё в этом нового, если это всё из С пришло? А скопировать можно через memcpy(to, from, sizeof(a[T])).
Аноним 02/11/21 Втр 17:04:07 #879 №2200771 
>>2200036
target_compile_options(foo PUBLIC -m32) для GCC/Clang и какой там есть соответствующий флаг для MSVC
Аноним 02/11/21 Втр 17:11:18 #880 №2200778 
>>2200484
Это ещё из сей тянется. Ну вот смотри, есть у тебя int a[4][5].
a[1][1] - int
&a[1][1] - int
&a[1] - ???
&a - ???
&a[1] это не int
, потому что это не указатель на указатель, а указатель на массив из пяти элементов, и ему при инкременте, например, нужно будет перешагнуть через пять интов.
Вот и получается, что
&a[1] - int (
)[5]
&a - int (*)[4][5]
Аноним 02/11/21 Втр 17:12:36 #881 №2200780 
>>2200778
Абу, введи ты уже теги для кода, Господи.
a[1][1] - int
&a[1][1] - int⚹
&a[1] - int (⚹)[5]
&a -int (⚹)[4][5]
Аноним !!KTBgAmNQdg 02/11/21 Втр 17:15:15 #882 №2200782 
>>2200780
> Абу, введи ты уже теги для кода, Господи.
Нет, иди нахуй
Аноним 02/11/21 Втр 18:56:38 #883 №2200877 
>>2200644
> Для легаси массивов
> легаси
Вот оно как.. Штош
>>2200644
> А так используй array. Или вектор
Я недавно только полюбил векторы, теперь не знаю, как бы жил без них.
>>2200654
>>2200778
А я начал с плюсов.
Хотя недавно прочитал, что в с гораздо понятней взаимодействие с операционной системой и мне стало интересно.
Аноним 02/11/21 Втр 22:40:20 #884 №2201164 
Как сделать у класса такой mutex который блокируется любым объектом класса один раз? А в другой функции сделать чтобы она ждала, пока не разблокируется. Может не особо понятно объяснил, типа как статическая переменная, у всех объектов она одна, вот мне так же нужен один mutex
Аноним 02/11/21 Втр 22:56:02 #885 №2201183 
>>2201164
Статический unique_lock и condition_variable? Вот как это намутить, можно пример? Даже не компилируется у меня
Аноним 02/11/21 Втр 22:59:40 #886 №2201187 
1635883180134.PNG
Обновил Qt c 5.14 до 6.2. Проект, который раньше работал, выдал кучу ошибок. Из-за чего так может быть?
Ошибки даже не в моих исходниках, а в левой библиотеке, которую я юзаю, и почему то еще в бибилиотеках MinGW, который установился вместе с Qt 6.2.
Мне че теперь ползать по чужим библиотекам и править там эти ошибки?
Аноним 02/11/21 Втр 23:03:18 #887 №2201195 
>>2200484
>Очередной выпуск рубрики "новые удивительные открытия в с++"
>Оказывается есть указатели на массивы
Бро. Нам вполне хватило того, что в этом ИТТ-треде открыли, что в C++ есть лямбды.
Аноним 02/11/21 Втр 23:17:57 #888 №2201218 
>>2201164
class Huina
{
static std::mutex HuinaLock;
};
Аноним 03/11/21 Срд 05:43:57 #889 №2201359 
>>2201187
Ошибки то сами прочитай
Кажись тебе надо просто инклуды пофиксить
Господи когда уже можно будет а модулями нормально работать, чтобы такого не было
Аноним 03/11/21 Срд 07:05:50 #890 №2201364 
Какие книги по олимпиадному программированию анон порекомендует?
Аноним 03/11/21 Срд 11:57:31 #891 №2201542 
Подскажите как сделать по нормальному без переменной r_locked? Логика в том, что пока данные редактируются, их считывать нельзя, нужно подождать. А если не редактируются, то их должно быть можно считывать во всех потоках, без блокировки мьютекса. Сколько не читал про condition_variable ничего не смог понять, он же может использоваться только если сам заблокировал
https://0bin.net/paste/AK5xDZi6#bWboWISE8tpAbL7Fea1KMP8a3RZylTpuWPQzYaOyAMz
Аноним 03/11/21 Срд 12:23:03 #892 №2201582 
>>2201364
Тут скорее всего как с математикой. Ты не научишься решать задачи, если не будешь их решать.
Аноним 03/11/21 Срд 13:21:20 #893 №2201656 
>>2201364
Любая книга по алгоритмам - а потом дрочить литкод
Аноним 03/11/21 Срд 16:08:04 #894 №2201832 
>>2201582
В математике разжевываются общие методы, есть примеры решения задач (применения методов) и есть ответы для самопроверки. Можно буквально ограничиться парой книжек и задачником, даже без гугла вполне можно обойтись.
Аноним 03/11/21 Срд 17:16:13 #895 №2201918 
>>2201832
>В олимпиадном программировании разжевываются общие алгоритмы, есть примеры решения задач (применения алгоритмов) и есть тесты для самопроверки.
Аноним 03/11/21 Срд 17:30:15 #896 №2201958 
>>2201364
шень
Аноним 03/11/21 Срд 17:52:44 #897 №2202006 
>>2201918
Ну так анон и спрашивает, где об этом прочитать.
Аноним 03/11/21 Срд 18:46:57 #898 №2202094 
>>2201359
А какие именно инклуды, можешь подсказать? Хотя бы примерно почувствовать?
Он везде ругается на byte, хз чем он ему не нравится.
Аноним 03/11/21 Срд 19:07:47 #899 №2202128 
>>2201359
>>2202094
А может ли быть так, что я статическую библиотеку собирал на Qt 5.14, а сейчас на Qt 6 она не хочет работать?
Аноним 03/11/21 Срд 19:37:09 #900 №2202192 
>>2202094
https://stackoverflow.com/questions/60793009/error-using-qt-during-build-c2872-byte-ambiguous-symbol

Никогда не делай using namespace std; в хидерах
Аноним 03/11/21 Срд 19:41:51 #901 №2202202 
>>2202192
Спасибо, похоже ты прав, попробую починить.
А можешь еще подсказать, почему раньше работало, а теперь перестало? Чисто развития ради.
Аноним 03/11/21 Срд 19:44:28 #902 №2202205 
>>2202202
А хз. Перешёл на c++17 например. Или ещё что (до фига чего) поменялось между 5 и 6 версией
Аноним 03/11/21 Срд 19:46:54 #903 №2202209 
>>2202205
Перешел в смысле произошел жесткий переход с C++11 на C++17? Потому что в pro файле у меня C++11 остался прописан.
Аноним 03/11/21 Срд 19:49:58 #904 №2202213 
>>2202209
Ну тогда хз вообще, я с Qt и mingw не работал никогда. Может ещё откуда определение типа подтягивает
Аноним 03/11/21 Срд 19:51:33 #905 №2202215 
>>2202213
Ну ладно, ты итак мне помог, спасибо. А то я охренел, даже не знаю, че делат ьв таких случаях, да и загуглить как то не смог толком.
Аноним 03/11/21 Срд 20:10:40 #906 №2202244 
>>2202215
Видимо, всё таки проблемы C++17 и niflib, про array подумали а про byte нет.
https://github.com/niftools/niflib/commit/dad027aa40bc4ea90b2cc6c80f2b22962a025f99
Аноним 04/11/21 Чтв 00:33:17 #907 №2202484 
>>2200484
Ололо, нашел чем удивить. А как тебе тип ссылки на массив неизвестной длины? T(&ref)[] = arr;
Аноним 04/11/21 Чтв 02:01:16 #908 №2202531 
ifIpVKM.png
>>2202484
>тип ссылки на массив неизвестной длины
Аноним 04/11/21 Чтв 05:07:47 #909 №2202569 
>>2202484
Ну давайте письками померяемся.
Я довёл MSVC до Internal Compiler Error.
Вроде, это было сочетание Variadic template, CRTP и кажется множественные наследования, не помню точно.
А какую хуйню смогли устроить вы?
Аноним 04/11/21 Чтв 05:43:55 #910 №2202572 
>>2202484
> А как тебе тип ссылки на массив неизвестной длины?
У меня не собирается
invalid initialization of reference of type 'int (&)[]' from expression of type 'int [6]'
Аноним 04/11/21 Чтв 06:29:12 #911 №2202573 
>>2202569
>Я довёл MSVC до Internal Compiler Error.
>Вроде, это было сочетание Variadic template
Это классика. MSVC в некоторых вещах в плане поддержки (новых) стандартов стал заметно обгонять GCC и Clang, но сунь в него variadic template чуть нетривиально вложенный внутри другого variadic template, и он клеит ласты.
>>2202572
цепепе туони включи
Аноним 04/11/21 Чтв 07:09:04 #912 №2202578 
>>2202573
Я потом долго пытался понять, что же я сделать хотел. А когда понял, понял
что можно проще реализовать
Аноним 04/11/21 Чтв 08:10:47 #913 №2202587 
>>2201542
Бамп
Аноним 04/11/21 Чтв 12:36:20 #914 №2202728 
image.png
аноны, помогите понять что не нравится компилятору. вроде все как надо сделано, однако же пишет что нет оператора = с такими операндами типа класса, онако же он есть вроде как. хотя там передача по ссылке. но по идее в примерах которые я смотрел это никак не мешало. передавать не ссылку а сам объект не пробовал, потому что тогда нужно будет писать еще и отдельный конструктор копирования.
Аноним 04/11/21 Чтв 12:40:00 #915 №2202732 
>>2202728
кстати да, дальше где есть действие просто а=б или б=а ошибок не выдает, только там где сложение
Аноним 04/11/21 Чтв 13:26:03 #916 №2202788 
>>2202728
Добавь const к аргументу operator=.
Твой operator+ возвращает matrix по значению, т.е. создаётся временный объект (rvalue), который существует только внутри выражения, где использовался +. Такие объекты подразумеваются неизменямыми (исключение move семантика). А в operator= ты передаешь значение по обычной ссылке, что позволяет изменять состояние переданного объекта. А это уже ошибка.
Аноним 04/11/21 Чтв 13:42:49 #917 №2202829 
>>2202788
А ещё лучше, сделать два оператора, для const matrix& и matrix&&. И конструкторы тоже. Гугли rule of 5
Аноним 04/11/21 Чтв 16:36:53 #918 №2203099 
изображение.png
>>2200484
>новые удивительные открытия в с++
А еще в мире C++ можно археологией заниматься. Например, во времена динозавров можно было присваивать потоки (_withassign на пикрил).
Аноним 04/11/21 Чтв 18:35:44 #919 №2203233 
>>2203099
Нет уж, легаси, написанного неизвестным людьми из неизвестных соображений мне хватает в рабочих проектах.
Аноним 04/11/21 Чтв 18:59:18 #920 №2203253 
>>2203233
_withassign это часть библиотеки до принятия 98 стандарта.
Аноним 04/11/21 Чтв 21:18:41 #921 №2203375 
гайз, посоветуйте годных англоязычных каналов по плюсам, так как хотелось бы совмещать полезное с приятным
Аноним 05/11/21 Птн 17:36:18 #922 №2203858 
>>2199196
>Нету. Так как современный с++ - это эзотерический язык для just for fun программирования.
Ok.
Аноним 05/11/21 Птн 17:51:33 #923 №2203880 
>>2203858
Ты хотел нормального ответа от шарпобляди?
Аноним 06/11/21 Суб 14:30:37 #924 №2204516 
Делаю программу на qt, которая работает с exel документами ,
появилась необходимость выводить на печать этот документ ,
подозреваю, что это можно сделать с помощью dynamicCall, но не знаю, где достать все обращения(Quit() и т.п.) для этой функции
можете пожалуйста подсказать где достать эти обращения.
Если я ошибаюсь и с помощь dynamicCall нельзя вывести на печать подскажите пожалуйста с помощью чего это можно сделать
Аноним 06/11/21 Суб 18:47:46 #925 №2204705 
>>2204516
>на qt
при чем здесь с++ тред тогда?!
Аноним 06/11/21 Суб 18:51:49 #926 №2204708 
>>2204705
Надо было называть тред "Первокурсных лаб по C++ тред"
Аноним 06/11/21 Суб 18:53:21 #927 №2204710 
>>2204708
Лабы идут нахуй.
Аноним 06/11/21 Суб 21:02:20 #928 №2204824 
>>2204516
> где достать все обращения(Quit() и т.п.) для этой функции
> можете пожалуйста подсказать где достать эти обращения.
На официальном сайте https://doc.qt.io/qt-5/qaxbase.html
Аноним 07/11/21 Вск 12:15:05 #929 №2205125 
Скажите, можно в проекте одновременно использовать библиотеки boost и qt? Подводных камней нет?
Аноним 07/11/21 Вск 13:17:43 #930 №2205163 
>>2205125
Вроде нет, я запихивал в кют бустовские корутины (которые ебут стек и поганят на бинарном уровне) и все было норм. Остальное почти все там вроде просто на уровне хедеров, и никак не напортачат.
Аноним 07/11/21 Вск 15:48:46 #931 №2205271 
Что нужно знать на мидла? Я просто джуном отработал сначала в одной компании 2 года, а потом на мидла пошел в другую, но мне там вместо плюсов всучили джаву, теперь уже где-то год на плюсах почти ничего не писал. Что можно поделать, чтобы восстановить все знания? А то я думаю, наверное, ливать из этой компании хотя бы снова на мидла, но чтобы писать на плюсах, а не на джаве.
Аноним 07/11/21 Вск 18:27:37 #932 №2205420 
>>2205271
Знание языка и "умение программировать" это разные вещи. Программировать, судя по всему ты умеешь - опыта в 3 года для мидла ок.

А язык - ну прочитай Майерса, вспомни все, и иди на собесы
Аноним 07/11/21 Вск 18:56:34 #933 №2205459 
>>2205271
>чтобы писать на плюсах, а не на джаве
земля те пухом!!
Аноним 07/11/21 Вск 19:02:57 #934 №2205467 
>>2205459
А что не так? Я до текущей работы два года вполне успешно на плюсах писал.
Аноним 07/11/21 Вск 19:08:47 #935 №2205477 
>>2205163
>ебут стек
Самое наркоманское, что я видел это sljit в pcre, компиляющий регекспы в натиные бинарные куски
Аноним 07/11/21 Вск 19:21:03 #936 №2205490 
>>2205467
Я не он, но с радостью писал бы десктоп (не обязательно UI) на шарпе.
Но пишу на плюсах, потому что
1 знаю их и подъёбы winapi лучше, чем что либо другое
2 студия божественна
3 надо дёргать сервисы, драйвера и COM объекты
Аноним 07/11/21 Вск 20:57:31 #937 №2205614 
>>2205490
>десктоп, winapi, студия, COM объекты
Так легаси говном пахнуло, что аж вздрогнул.
Аноним 07/11/21 Вск 21:57:40 #938 №2205662 
>>2205125
Можно. Но основное правило как и везде - взбалтывать, но не смешивать (любая используемая либа должна обитать в своей песочнице). Бэк пишешь на beast/asio, фронт на Qt. Между ними санитарный контроль в виде абстрактных интерфейсов. В бэке никаких QString'ов быть не должно и наоборот.
Аноним 07/11/21 Вск 22:05:45 #939 №2205665 
>>2205614
Чей-то легаси, ком никуда не делся и не денется.
Аноним 07/11/21 Вск 22:11:14 #940 №2205670 
>просыпаешься
>2021
>уже реализуются фичи с++23
>ты еще толком не знаешь с++14
ну ептваю
Аноним 07/11/21 Вск 22:59:39 #941 №2205736 
>>2205490
>надо дёргать сервисы, драйвера и COM объекты
знаешь, не у всех есть хата доставшаяся от бабки, чтобы работать за минималочку в нии
ты еще скажы что ты математик, тогда сразу нахуй -70% к зп
Аноним 07/11/21 Вск 23:17:12 #942 №2205770 
>>2205614
Нет, не легаси, до некоторых мест винды только так можно адекватно (без адовых велосипедов и недокументированых костылей) достучаться.
>>2205736
Хаты нет, снимаю сычевальню. Нет, не математик, не люблю алгоритмодрочерство. Обычные задачи. Положить-переименовать файл, установить и запустить сервис, из сервиса наоборот позапускать процессы под залогинеными юзерами, пообщаться с сервером, получить стейт из сервиса, что-то сказать драйверу. Незамутненная прикладуха, никакой наукоёмкости.
Аноним 08/11/21 Пнд 01:48:06 #943 №2206211 
>>2199280
> Игровой движок со скриптингом на питоне
> Фреймворк для машоба
А как подружить питон и плюсы? Типо нельзя же написать функцию на плюсах и вызывать её из питона или можно? Как?.
Аноним 08/11/21 Пнд 01:50:48 #944 №2206218 
>>2205665
>ком никуда не делся и не денется
У меня дома COM есть на 1 устройстве из 9. А у тебя?
Аноним 08/11/21 Пнд 01:57:21 #945 №2206242 
>>2206211
Можно, все базовые питоньи функции для взаимодействия с внешним миром так и написаны.
Гугли python ffi, boost python и прочее.
Аноним 08/11/21 Пнд 02:22:49 #946 №2206278 
>>2206218
А у нас кровавый энтерпрайз
Аноним 08/11/21 Пнд 02:23:27 #947 №2206280 
>>2206242
Именно так. А с lua это верно в обе стороны
Аноним 08/11/21 Пнд 02:49:37 #948 №2206304 
>>2206280
И у питона в обе стороны.
Аноним 08/11/21 Пнд 02:51:07 #949 №2206305 
#include <iostream>

class B
{
public:
B()
{
std::cout << "B() called\n";
}

B(int a)
{
std::cout << "B(int) called\n";
}
};

class A
{
public:
B b;

A() : b(10)
{
b = B(10);
}
};

int main()
{
A a;
return 0;
}

На выходе получаю:
B(int) called
B(int) called

Почему вызывается конструктор копирования в строке b = B(10);,
ведь в списке инициализации b(10) объект уже был инициализирован конструктором копирования? Соответственно, здесь b = B(10); должен вызываться operator=(...). Объект ведь не может инициализироваться дважды.
Аноним 08/11/21 Пнд 03:35:53 #950 №2206316 
>>2206305
> Почему вызывается конструктор копирования в строке b = B(10);,

«B(int) called» — это вызывается конструктор копирвоания?
Аноним 08/11/21 Пнд 03:43:35 #951 №2206323 
>>2206316
Сори, я, видимо, ночью уже туплю. Полчаса пытался разобраться, почему так происходит, но только сейчас увидел, что у меня там не B(const B & rvalue), а B(int a). Не знаю почему, но мой мозг упорно воспринимал это как конструктор копирования. Только теперь дошло, что это конструктор с параметром.
Значит, тут все нормально. B b в классе инициализируется конструктором по умолчанию. Потом в теле конструктора A инициализируется temporary object конструктором B(int) и он присваивается через operator=(const B & rvalue) члену b. Вопрос закрыт
Аноним 08/11/21 Пнд 03:52:34 #952 №2206329 
>>2206304
Догадывался, что так и должно быть.
Эх, как же у меня горел пердак, когда через час отладки я понял, что сравниваю не два числа, а число и строку.
Аноним 08/11/21 Пнд 05:02:03 #953 №2206364 
image.png
>>2206218
Это не тот СОМ
Аноним 08/11/21 Пнд 12:32:27 #954 №2206608 
Если я хочу скачать qt и не отваливать бабла, то нужно качать версию для опен-сурс юзеров?
Аноним 08/11/21 Пнд 14:26:00 #955 №2206763 
Анончики, помогите псевдокодом гистезерис на водяной насос
морщу лоб уже 2 дня ни как не могу сообразить, делаю ифами
Итак - при включении качает от нуля до уставки (100), ждет падения до гис (95) и качает до 100 опять

кажется очень простым но что то идёт не так
vals-датчик давления int 0-100
p1-уставка int-100
p3-гистерезис int 0-40
key1 признак включения -bool
full признак первого набора давления bool

[code]sum=p1-p3;
if (vals>=p1 && f_key1 == true && full == false) {
full = true;
}else{ out= HIGH); }
if (full == true && f_key1 == true ) {
if (vals>p1){ out= LOW);
} if (vals<sum){ out= HIGH); }}
[/code]
Аноним 08/11/21 Пнд 14:33:42 #956 №2206774 
>>2206608
Да
>>2206763
Обфускатор убери
Аноним 08/11/21 Пнд 14:37:57 #957 №2206780 
>>2206774
>Обфускатор
???

https://pastebin.com/WhAQ5HSs
Аноним 08/11/21 Пнд 15:02:31 #958 №2206812 
>>2206780
Во первых зачем писать ==true когда это не требуется. А ==false заменяется на !=
Аноним 08/11/21 Пнд 15:06:01 #959 №2206819 
>>2206812
потому что
>exit status 1
>expected ')' before 'true'

Ты поговорить хочешь ?
Аноним 08/11/21 Пнд 21:01:55 #960 №2207216 
0c807cd0-6ac9-11eb-9994-8f378c471afa.png
Тупой вопрос. Как мне собрать исполняемый файл со всеми либами? То есть это статическая линковка, как я понял

g++ -lcurl -lcurlpp -Wall main.cpp
Работает хорошо и файл есть. Но его нельзя запустить на другой тачке, ибо libcurlpp.so.1: cannot open shared object file: No such file or directory

А когда я делаю g++ -lcurl -lcurlpp -Wall main.cpp -static, то
/usr/bin/ld: cannot find -lcurl
/usr/bin/ld: cannot find -lcurlpp
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status

ЧЯДНТ ?
Аноним 08/11/21 Пнд 21:48:52 #961 №2207255 
>>2206364
Ковыряю легаси говнецо, пощу легаси шутеечки. Ясно/понятно.

>>2207216
Попробуй дёрнуть ldconfig, чтобы либы проиндексировались.
Ещё посмотри от чего твой бинарь зависит с помощью ldd.
Аноним 08/11/21 Пнд 21:52:59 #962 №2207260 
>>2207255
> Попробуй дёрнуть ldconfig, чтобы либы проиндексировались.
Без понятия, что это
> Ещё посмотри от чего твой бинарь зависит с помощью ldd.
Ну я это и так знаю. Куча дерьма и нужная мне libcurlpp
Аноним 08/11/21 Пнд 21:53:59 #963 №2207262 
изображение.png
>>2207260
Аноним 08/11/21 Пнд 22:03:56 #964 №2207272 
>>2207260
https://stackoverflow.com/questions/32102613/how-to-compile-a-program-with-static-libcurl

Вообще если ты libcurl ручками собираешь, то для статической линковки нужно в ./configure указывать --enable-static. Если пакетами ставишь, то пакеты тоже не все подходят (для разработки обычно ставястя "libname"-devel).
Аноним 08/11/21 Пнд 22:09:21 #965 №2207280 
>>2207272
Я ставлю libcurlpp, обёртку для curl. И как я понял, тут чтобы его собрать надо nmake какой-то. Пиза у вас тут, крестовиков, с линковкой и подключением библиотек, конечно.

Если собирать либы с --enable-static, то что это даст? Будет какой-то новый особый файл, который можно будет склеить с бинарником?
Аноним 08/11/21 Пнд 22:21:41 #966 №2207289 
>>2207280
>Будет какой-то новый особый файл
Да.
Под виндой статическая либа - файл .lib, динамическая .dll (и к ней в пару создаётся .lib являющийся интерфейсом).
Под linux статическая .a, динамическая - .so.

>nmake
Это для сборки под windows, но через студию. Ты ничего там не путаешь?
Аноним 08/11/21 Пнд 22:28:11 #967 №2207292 
>>2207289
Возможно, да, что-то путаю. Я просто хочу удобную http либу для плюсов. Пока колупаюсь. Возможно, стоит просто разобраться с ванильным curl.

>Под linux статическая .a,
Статическая либа ведь линкуется (вклеивается) в исполняемый файл? Я же не путаю?


>Это для сборки под windows, но через студию.
You can build curlpp in three different ways
A. from within MS Visual Studio IDE
B. using msbuild tool and solution files
C. using namke and makefile
Аноним 08/11/21 Пнд 22:50:52 #968 №2207306 
>>2207216
> ЧЯДНТ ?
Руками пердолишься, вместо vcpkg install curlpp:x64-linux-static
Аноним 08/11/21 Пнд 22:56:13 #969 №2207308 
>>2207306
>Vcpkg is a package manager for the different C and C++ libraries.
>Vcpkg can collect usage data. The data collected by Microsoft is anonymous.
Ясно
Аноним 08/11/21 Пнд 22:59:32 #970 №2207311 
>>2207308
очередной шизоид, который боится, что его хелловорлды украдут.

vcpkg полностью опенсорс, иди посмотри, что там по телеметрии
Аноним 08/11/21 Пнд 23:58:12 #971 №2207336 
14599482085810.jpg
>>2205736
>ты еще скажы что ты математик, тогда сразу нахуй -70% к зп
Ты сделал меня плакать.
Ну почему я не родился негром, а?
Аноним 09/11/21 Втр 03:24:09 #972 №2207421 
>>#elifdef (since C++23)
>>#elifndef (since C++23)

Интересно, они долго это придумывали? Аж целый 23 стандарт... Наверное даже устали придумывать и разрабатывать


А главное - нахуя?
Вместо #ifdef лучше таки писать #if defined - позволяет чище делать более сложные условия.
А еще лучше делать просто #if X - чтобы делать нормальные красивые конфиги

А еще лучше забыть уже всю эту макросовую хуиту, когда есть нормальные компалтайм условия
Аноним 09/11/21 Втр 03:49:55 #973 №2207422 
>>2207306
А можно как-то этот vcpkg скачать в папку с проектом, чтоб например собрать проект оффлайн когда библиотеки сильно обновятся?
Аноним 09/11/21 Втр 08:52:18 #974 №2207530 
>>2206763
короче, вот так правильно

if (vals < (p1 - p3 )) out = true;
else if (vals > (p1 + p3 )) out = false;
Аноним 09/11/21 Втр 13:05:42 #975 №2207719 
>>2207422
у нас так и сделано, вцпкг лежит в папке с проектом и пребилд скрипт все скачивает и собирает, если не собрано.
Аноним 09/11/21 Втр 14:15:03 #976 №2207790 
image.png
Что мне нужно исправить в этой функции, чтобы она заработала и не выдавала ошибку? (Скопировал из интернета). Решил написать полезную программу
Аноним 09/11/21 Втр 14:16:34 #977 №2207791 
Начал изучать эти ваши плюсы. Возник такой вопрос: если в функцию передается указатель именно на первый элемент массива, то как правильно написать функции для создания и удаления динамических массивов? Ведь функция удаления не получит указатель на весь массив
Аноним 09/11/21 Втр 14:18:12 #978 №2207793 
>>2207791
Заодно спрошу: как проверять правильно ли отработал delete[]?
Аноним 09/11/21 Втр 17:02:12 #979 №2207978 
>>2207719
Интересно, покажешь пример скрипта? Это нормально для каждого проекта тащить свой vcpkg?
Аноним 09/11/21 Втр 17:03:15 #980 №2207979 
>>2207791
Не надо писать свои функции по созданию массива, а нужно пользоваться vector
Аноним 09/11/21 Втр 17:04:39 #981 №2207980 
>>2207979
А если надо?
Аноним 09/11/21 Втр 17:42:50 #982 №2208030 
>>2207978
> Интересно, покажешь пример скрипта?
Там нихуя интересного, просто vcpkg install с манифестом, дополнительные костыли для бинарного кэширования и все.

> Это нормально для каждого проекта тащить свой vcpkg?
Микрософт сам это рекомендовал до того, как сделал версионирование. У нас свои либы запакованные в вцпкг, по-этому мы просто вцпкг и нужные порты храним в проекте и не ебем голову
Аноним 09/11/21 Втр 19:41:04 #983 №2208197 
У меня есть цикл
for(std::set<int>::iterator it = clients.begin(); it != clients.end(); it++)

И есть беда, что в случае удаления элемента из сета мне надо продолжать цикл либо с самого начала либо со следующего элемента (лучше последний вариант)
Пробовал переставить итератор снова в начало и continue, но тогда если элемент был всего один то сега
Вариант с goto сработал, ток хотелось бы без него
Как делать?
Аноним 09/11/21 Втр 20:40:08 #984 №2208276 
Точка останова в обратную сторону только в vs enterprise есть?

Аноним 09/11/21 Втр 21:07:52 #985 №2208305 
>>2208197
https://en.m.wikipedia.org/wiki/Erase%E2%80%93remove_idiom
Remove или remove_if сдвигают элементы для удаления в конец контейнера, erase их удаляет одним действием.
Аноним 09/11/21 Втр 21:45:58 #986 №2208340 
>>2208305
Ты не способен даже прочесть то, что сам советуешь, пиздец.
> The erase–remove idiom cannot be used for containers that return const_iterator (e.g.: set)
Аноним 09/11/21 Втр 21:51:59 #987 №2208344 
>>2208197
https://en.cppreference.com/w/cpp/container/set/erase
Вот тут есть пример, как делать: erase возвращает итератор на следующий элемент, поэтому можно просто

for(auto it = set.begin(); it != set.end();)
{
----if(condition)
--------it = set.erase(it);
----else
--------++it;
}
Аноним 09/11/21 Втр 22:55:52 #988 №2208389 
>>2208276
да
Аноним 10/11/21 Срд 01:16:46 #989 №2208456 
>>2207336
в следующей жизни повезет
Аноним 10/11/21 Срд 15:00:22 #990 №2208812 
>>2157621 (OP)
Дайте ссылку на викторину по c++14
Аноним 10/11/21 Срд 19:01:41 #991 №2209085 
>>2208344
>>2208305
К сожалению 98-й стандарт так что не выйдет
Аноним 10/11/21 Срд 19:43:28 #992 №2209102 
1636562611733.jpg
Насколько правильно в одной паре ".h - .cpp" держать несколько классов? Ну то есть чтобы не плодить кучу файлов для каждого класса вместо этого схожие классы собирать в одном файле h и cpp???
Аноним 10/11/21 Срд 19:45:34 #993 №2209104 
>>2209102
Норм, оссобенно если они маленькие и по названию спп и х файла будет понятно что в них находится
Аноним 10/11/21 Срд 19:49:36 #994 №2209106 
>>2209104
А как правильнее инклуды писать в таком случае? Для всех классов писать в самом начале хедера? Или можно перед объявлением класса писать заголовочники, которые нужны именно ему?
Мне второй вариант кажется более читабельным, только не будет ли ошибок каких нибудь из-за этого?
Аноним 10/11/21 Срд 19:51:52 #995 №2209107 
>>2209106
Принято в самом начале
Никогда не видел чтобы для каждого класса писали над ним
Аноним 10/11/21 Срд 19:59:33 #996 №2209109 
Там кажись VS 2022 вышла. Че интересного? Стоит установть или 2019 норм?
Аноним 10/11/21 Срд 19:59:55 #997 №2209111 
1636563599027.jpg
Этот >>2201187 многострадальный анон снова на связи. Все никак не могу решить свою проблему. Почистил свой код от using namespace, теперь их вообще нету нигде. Но компилятор продолжает ругаться.
Начал смотреть хедеры Niflib, оказывается там везде понатыканы using namespace std, почти в каждом хедере. Из-за этого наверно компилятор ругается, вроде начиная с С++14 так нельзя.
Как по уму решить эту проблему? Пока на ум кроме ручной чистки хедеров Niflib ничего не приходит.

Аноним 10/11/21 Срд 20:00:31 #998 №2209112 
>>2209109
Ставь вим

а что там нового в 2022?
Аноним 10/11/21 Срд 20:01:10 #999 №2209113 
>>2209112
>Ставь вим
Зачем?
Аноним 10/11/21 Срд 20:06:18 #1000 №2209115 
>>2209113
Будешь самым крутым на работе

у нас пару дедов на нем сидят
Аноним 10/11/21 Срд 20:16:19 #1001 №2209124 
>>2209115
>Будешь самым крутым на работе
в НИИ, да
Аноним 10/11/21 Срд 21:39:46 #1002 №2209147 
изображение.png
В чем разница между этими строчками? Одна из них компилируется, другая нет. Говорит невозможно присваивать значения переменной, которая объявлена как константа
Аноним 10/11/21 Срд 21:42:45 #1003 №2209149 
>>2209147
То есть я понимаю разницу, но как мне сделать во вотром случае не константную ссылку?
Аноним 10/11/21 Срд 21:44:38 #1004 №2209150 
>>2209149
А бля, я тупой, понял все
Аноним 10/11/21 Срд 21:45:56 #1005 №2209151 
>>2209150
Нет, не понял. Все таки я реально не понял как изменить значение через get.
Аноним 10/11/21 Срд 21:53:50 #1006 №2209154 
>>2209151
Короче указателей там накостылил, пойдет пока
Аноним 10/11/21 Срд 22:17:12 #1007 №2209166 
>>2209147
>В чем разница между этими строчками?
в каааждой строчке только точки после буквы L
ты поймешь конечно все что я сказать хотел!
Аноним 10/11/21 Срд 22:39:22 #1008 №2209179 
>>2157621 (OP)
Что почитать по c++14
Аноним 10/11/21 Срд 23:17:36 #1009 №2209219 
изображение.png
изображение.png
изображение.png
Посмотрите плез код. Я правильно понял концепцию фабрики?
Аноним 10/11/21 Срд 23:36:19 #1010 №2209230 
>>2209219
Никогда так не делай в проде
Аноним 10/11/21 Срд 23:37:17 #1011 №2209231 
>>2209219
Правильно, только тип зверя надо передавать аргументом createAnimal, цикл перенести в foo(), для него можно енум завести. И сырые указатели с утечкой памяти в foo() режут глаз.
Аноним 10/11/21 Срд 23:46:06 #1012 №2209239 
изображение.png

>>2209231
> цикл перенести в foo()
Везде пишут мол надо отделять изменяемую часть от неизменной, а все что меняется от рантайма к рантайму переносится в фабрику, которая, я если я все понял, является здесь createAnimal()
Аноним 10/11/21 Срд 23:52:18 #1013 №2209245 
>>2209239
Что считать "изменяемой" частью? Пусть "изменяемым" будет источник названия зверя, а фабрика будет создавать только то, что ей говорят. Источник может быть любым - ввод с клавиатуры, конфиг, БД и т.д. Если понадобится создавать 10000 заранее известных типов зверей, не придётся дорабатывать фабрику, чтобы убрать из неё ввод с клавиатуры.
Аноним 10/11/21 Срд 23:53:16 #1014 №2209246 
>>2209245
А, ебать понял
Аноним 11/11/21 Чтв 00:43:42 #1015 №2209281 
>>2209179
библию, книгу апокалипсиса, на этой неделе патриарх затирал про то что апокалипсис мол начнется с полного порабощения и контроля человека, а мол современные цифровые технологии позволяют это сделать! а значит ускоряют приближение Конца и Судного дня!!
Аноним 11/11/21 Чтв 00:47:39 #1016 №2209283 
>>2209230
в каком проде? але
разве мы не в треде умерающего эзотерического языка?
Аноним 11/11/21 Чтв 00:50:56 #1017 №2209285 
>>2209283
> разве мы не в треде умерающего эзотерического языка?
Растотред по соседству
Аноним 11/11/21 Чтв 01:34:08 #1018 №2209303 
>>2209154
Нельзя таким образом менять ключ в set и map, они не просто так константы возвращаются.
Аноним 11/11/21 Чтв 08:24:41 #1019 №2209344 
Screenshot20.png
Братишки, я вам это... покушать принес.
Помогите, словом.
Начал дрочить кресты, ебусь с указателями.
Задача такова:
Объявите указатель на массив типа int и выделите память память для 12-ти элементов. Необходимо написать функцию, которая поменяет значения четных и нечетных ячеек массива. Например есть массив из 4-х элементов: (пик1)
Скажу сразу, я решил заполнять массивы рандомом и тут-то повсплывали всякие сложности, но отступать мне не хотелось и я выдал такой вот пахомистый код (пик2)
В чем задумка? Я создаю массив, рандомно его заполняю, затем создаю массив, где четные и нечетные числа меняются местами, для чего в заполнении массива прописываю функцию. Функция сия создает два динамических массива: один с четными числами оригинального массива, другой - с нечетными. Затем функция проверяет каждое число оригинального массива на предмет его четности или нечетности и заменяет его соответствующим по индексу числом из противоположного массива. На случай, когда один из массивов закончится я предусмотрел поместить в индекс результат остатка от деления текущего значения итератора на размер заканчивающегося массива.
Сам код:
#include <iostream>
#include <cstdlib>
#include <ctime>


int addFoo(int massiv, int razmer_massiva);

int main()
{
srand(time(NULL));
int size_of_array = 12;
int
arr = new int[size_of_array];
std::cout << "Original array: ";
for (int i = 0; i < size_of_array; i++)
{
arr = 1 + (rand()%20);
std::cout << "\t" << arr << " | ";
}
std::cout << std::endl;
std::cout << "Reversal array: ";
for (int i = 0; i < size_of_array; i++)
{
arr = Foo(arr, size_of_array, i);
std::cout << "\t" << arr << " | ";
};
std::cout << std::endl;
delete[]arr;
return 0;
}

int Foo(int massiv, int razmer_massiva, int iterator)
{
int size_of_even_arr = 0;
int size_of_odd_arr = 0;
for (int i = 0; i < razmer_massiva; i++)
{
if (massiv % 2 == 0) size_of_even_arr += 1;
else size_of_odd_arr += 1;
}
int
even_arr = new int[size_of_even_arr];
int* odd_arr = new int[size_of_odd_arr];
for (int i = 0, y = 0, z = 0; i < razmer_massiva; i++)
{
if (massiv % 2 == 0)
{
even_arr[y] = massiv;
y++;
}
else
{
odd_arr[z] = massiv;
z++;
}
}
int result = 0;
if (massiv[iterator] % 2 == 0)
{
if (massiv[iterator] <= size_of_odd_arr)
{
result = odd_arr[iterator];
}
else
{
result = odd_arr[(iterator%size_of_odd_arr)];
}
}
else
{
if (massiv[iterator] <= size_of_even_arr)
{
result = even_arr[iterator];
}
else
{
result = even_arr[(iterator%size_of_even_arr)];
}
}
return result;
delete[]even_arr;
delete[]odd_arr;

};
Аноним 11/11/21 Чтв 08:42:17 #1020 №2209355 
>>2209344
Так толсто, что даже толсто.
Аноним 11/11/21 Чтв 09:53:01 #1021 №2209405 
15556159308800.png
>>2209344
Так ничего сложного, берешь и решаешь. Любой школьник справится!

https://ideone.com/bWeRcz
Аноним 11/11/21 Чтв 12:09:07 #1022 №2209487 
У меня появился вопрос. Вот я делаю какую-то программу и в ней есть объекты (Графический интерфейс, кнопки или игровые объекты). Метод отрисовки на экране нужно помещать внутрь самого объекта, который я планирую отрисовать или лучше создать отдельный класс, в котором есть все методы для прорисовки всех объектов?
Аноним 11/11/21 Чтв 15:59:14 #1023 №2209614 
>>2209179
Как прокачать c++11 до c++14?*
Аноним 11/11/21 Чтв 17:12:37 #1024 №2209671 
>>2209405
Помилуй бох, я мало что понял из написанного.
Аноним 12/11/21 Птн 14:49:08 #1025 №2210276 
Хочу в multiset пар число, строка, при этом чтобы оно сортировало по числу, но мог найти элемент по строке. Какие решения?
Аноним 12/11/21 Птн 15:23:53 #1026 №2210303 
>>2210276
Boost multiindex
Аноним 12/11/21 Птн 15:29:06 #1027 №2210307 
>>2210303
Мне нужно только STL. ДАже без самописных структур. Если нет адекватного способа, то ок, я подумаю над другим
Аноним 12/11/21 Птн 15:43:14 #1028 №2210321 
>>2210307
Говнокодер создатель велосипедов итт
Аноним 12/11/21 Птн 16:55:09 #1029 №2210435 
>>2210276
Вроде компаратор можно самому написать. Или я не прав?
Аноним 12/11/21 Птн 16:57:16 #1030 №2210441 
>>2210435
Для поиска для вставки разные компараторы?
Аноним 13/11/21 Суб 19:39:48 #1031 №2211482 
Как построить STATIC библиотеку OpenCV? Есть гайды?
Аноним 13/11/21 Суб 19:44:12 #1032 №2211500 
Кто нибудь использовал doctest? Что происходит с SUBCASE в циклах?
Аноним 13/11/21 Суб 19:56:17 #1033 №2211514 
>>2211482
-DBUILD_SHARED_LIBS=OFF
Или в самом Cmake UI снимаешь галку BUILD_SHARED_LIBS
Можешь ещё build_opencv_world выставить, чтобы собралось в виде одной большой либы.

А вообще на самом сайте OpenCV есть масса ссылок для сборки под всё и вся. Пошевели свое жопой хоть немного.
Аноним 13/11/21 Суб 20:15:35 #1034 №2211540 
>>2211514
Да шевелил и ставил, что ты говоришь, только потом в проекте Unresolved extensials, хотя библиотеки присоединены и все headerы тоже.
Только "build_opencv_world" не пробовал, спасибо за наводку.

Ищу именно туториал от начала до конца.
Аноним 13/11/21 Суб 20:19:13 #1035 №2211543 
>>2211482
vcpkg install opencv:x64-%yourOS%-static
Аноним 13/11/21 Суб 21:01:08 #1036 №2211575 
>>2211540
Ну так залезь в исходники OpenCV и посмотри к какой либе externals относится. Ещё ты мог проебаться с opencv_contirb. Это либы идут вместе с OCV, но они от сторонних разрабов и требуют явного указания при сборке.
-DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>

Вот этого >>2211543 говноеда не слушай. OCV дико модульная хуйня с кучей фич под разные платформы. Для laba.cpp конечно хватит, но в реале через стандартные пакеты её никто не ставит.
Аноним 13/11/21 Суб 21:16:57 #1037 №2211587 
>>2211575
Я взял тестовый application из построенной папки через CMAKE и скопировал все "include" пути и список библиотек и сука заработало!

Спасибо, братюнь, ещё в феврале хотел использовать OpenCV, но не мог присоединить к проекту.
Аноним 13/11/21 Суб 21:18:28 #1038 №2211589 
>>2211575
Когда обезьяна не знает про конфигурации и фичи вцпкг, из которых ты можешь собрать ровно то, что тебе нужно, и продолжает делать руками то, что уже автоматизировано у всех бояр.

ты еще поди в виме код пишешь, да, додик?
Аноним 13/11/21 Суб 21:53:16 #1039 №2211616 
>>2211589
Devops макака, зачем ты мажешься говном в треде для разработчиков?
Аноним 13/11/21 Суб 22:03:57 #1040 №2211623 
Flandre.Scarlet.full.2294979.jpg
>>2157621 (OP)
Объясните, как c++ компонует свои классы в портабл екзекьютабл? Под каждый класс создаёт дефолтный прототип? Где хранятся функции-члены? Где берется место для статичных переменных? Где про всё это почитать в подробностях?
Аноним 13/11/21 Суб 22:05:56 #1041 №2211624 
>>2211623
"Классов" нету в бинаре, там просто месиво из байтов и функций (которые раньше были методами).

Место для статических переменных берется в .bss (https://en.wikipedia.org/wiki/.bss)
Аноним 13/11/21 Суб 22:11:50 #1042 №2211627 
>>2211623
Попробуй exe открыть в IDA
Аноним 13/11/21 Суб 22:27:48 #1043 №2211633 
>>2211587
Не помню как в других IDE, но если студия, то попробуй в Code Generation->Runtime Library убрать DLL. Если подключаешь статическую либу, то библиотека среды выполнения тоже должна быть статической.
Аноним 13/11/21 Суб 23:05:07 #1044 №2211651 
>>2211624
В C, статично-алоковані об'єкти без явного ініціалізатора значення будуть ініціалізовані нулями (для арифметичних типів) або нульовим вказівником (для вказівних типів). В реалізації C, як правило, нульові значення і вказівники у бітовому представленні складаються лише із бітів з нульовими значеннями (хоча це не вимагається стандартом C). Таким чином, сегмент BSS як правило містить всі неініціалізовані об'єкти (змінні і константи), що оголошені в області видимості файлу (тобто, за межами будь-якої функції) а також не ініціалізовані локальні статичні змінні (локальні змінні[en] оголошені із ключовим словом static ); статичні локальні константи повинні ініціалізуватися в оголошенні, оскільки вони не мають окремого оголошення, вони як правило не розміщуються у BSS секції, хоча вони можуть явним чи неявним чином ініціалізувати в нульове значення.

Пітер ван дер Лінден[en], автор мови C і програміст, говорить, "Деякі люди люблять запам'ятовувати цей сегмент, як 'Краще залишити місце'" ("Some people like to remember it as 'Better Save Space'). Оскільки BSS сегмент містить змінні, які ще не мають будь-якого значення, не потрібно зберігати представлення цих змінних. В об'єктний файл записується розмір BSS сегмента, але BSS (на відміну від сегмента даних) не займає ніякого фактичного місця в об'єктному файлі."[3]
Аноним 14/11/21 Вск 14:10:36 #1045 №2211967 
image.png
image.png
Привет, мне стало любопытно за подобный стиль написания кода на C++, который можно встретить в исходниках соурса и у javidx9, и что конкретно значат приставки перед названиями аттрибутов? m_b, m_p и т.д, заранее благодарствую
Аноним 14/11/21 Вск 14:11:04 #1046 №2211968 
>>2211967
Венгерская нотация называется
Аноним 14/11/21 Вск 14:14:56 #1047 №2211971 
>>2211968
Понял, спасибо
Аноним 14/11/21 Вск 14:21:57 #1048 №2211975 
image.png
хотел только спросить, но уже сам понял. поэтому просто немного какну в тред
Аноним 14/11/21 Вск 14:25:26 #1049 №2211978 
Перекат будет? Или будем сидеть до победного потопления?
Аноним 14/11/21 Вск 14:27:19 #1050 №2211981 
>>2211978
Перекати.
Аноним 14/11/21 Вск 14:30:37 #1051 №2211986 
Что думаете об этих лекциях?
https://youtu.be/Bym7UMqpVEY
Аноним 14/11/21 Вск 15:37:53 #1052 №2212014 
http://eel.is/c++draft/ хуй знает есть в шапке или нет, но штука ахуенная, здесь собраны библиотеки плюсов с пояснениями
Аноним 14/11/21 Вск 16:42:11 #1053 №2212055 
>>2212014
Товсто
Аноним 14/11/21 Вск 19:23:07 #1054 №2212166 
image.png
Липпман. Чё нахуй? Последние строки объяснить может кто?
Аноним 14/11/21 Вск 19:23:58 #1055 №2212168 
а блять там скобки разные пршу прощения
Аноним 14/11/21 Вск 21:46:07 #1056 №2212302 
Надо написать крайне простой сайтик с одной формой для личных целей. Потом это мне надо будет ручками разобрать. Опасаюсь наплыва ботов от шутливых друзей, поэтому нужно подрубить какую нибудь капчу. Что посоветуйте?
Аноним 14/11/21 Вск 22:03:13 #1057 №2212325 
>>2212302
Посоветуем пхп или ноду. Скорее всего, даже программировать не придётся.
Аноним 14/11/21 Вск 22:12:41 #1058 №2212334 
>>2212325
Так а капчу откуда взять?
Аноним 14/11/21 Вск 22:14:32 #1059 №2212337 
>>2212334
Через готовые плагины для капчи. Настраиваются мышкой и копипастой.
Аноним 14/11/21 Вск 22:15:51 #1060 №2212339 
>>2212337
Ну может есть проверенная простая для подключения капча? Чтобы я не пробовал разные варианты в поисках адекватной. Ну если нет, то я конечно найду сам, но думал тут подскажут
Аноним 14/11/21 Вск 22:16:27 #1061 №2212340 
>>2157621 (OP)
сап, накидайте идей для диплома на с++
(пока думаю писать веб сервак)
Аноним 14/11/21 Вск 22:18:28 #1062 №2212341 
>>2212340
Напиши чат сервер с шифрованием и чтобы это было максимально быстро. Чтобы миллиард человек могли пользовать этой хуйней в один момент, а прога пыхтела на твоей пентиуме и все работало
Аноним 14/11/21 Вск 22:28:29 #1063 №2212345 
>>2212340
Вообще это очень странно, что у тебя за 4 года не было ни одной идеи, достойной стать дипломной работой. Так что иди нахуй, дибил.
Аноним 14/11/21 Вск 22:33:20 #1064 №2212349 
>>2212345
если бы ты смог осилить информацию в скобочках, то понял бы, что идешь сходу нахуй
Аноним 14/11/21 Вск 22:34:03 #1065 №2212350 
>>2212349
Ну это ебать какая неоригинальная идея
Аноним 14/11/21 Вск 22:35:02 #1066 №2212351 
>>2212350
маневр.
Аноним 14/11/21 Вск 22:36:34 #1067 №2212353 
>>2212350
но доля правды есть (
Аноним 15/11/21 Пнд 01:15:09 #1068 №2212496 
У меня программа из нескольких файлов, причем есть 2 файла с main, чтобы я мог компилировать 2 вида программ. Обычно я из командной строки просто указывал какие файлы компилировать и все было заебись, но сейчас мне надо отладить прогу. Как в vs выбрать файлы для компиляции и отладки, если нет проекта, а только файлы?
Аноним 15/11/21 Пнд 02:03:39 #1069 №2212499 
>>2212166
Липпман норм чел вобще, он причастен к разработке языка если чё.

Тут у тебя трудности перевода. Держи под рукой всегда английское издание. А еще на сайте паблишера всегда есть пополняемый список опечаток. Об этом всегда во введении к книге говорится и дается ссылка в интернеты.
Аноним 15/11/21 Пнд 02:16:13 #1070 №2212501 
изображение.png
изображение.png
изображение.png
изображение.png
>>2212166
По фактам Липпман здесь хочет подчеркнуть важное различие между ()-инициализацией и {}-инициализацией.
Липпман не может тебе изложить все и сразу, поэтому он часто прибегает к таким фигурам речи, как "по причинам, которые будут понятны в дальнейшем" и тп.

Это как запутанный клубок ниток. А C++-дрочеры - это такие няшные котики, которые любят играть с клубками пряжи.
Аноним 15/11/21 Пнд 03:45:56 #1071 №2212516 
>>2212496
Начинать использовать cmake
Аноним 15/11/21 Пнд 12:32:51 #1072 №2212739 
>>2212496
сделай проект и не еби голову
Аноним 16/11/21 Втр 12:59:44 #1073 №2213802 
>>2212345
>у тебя за 4 года не было ни одной идеи, достойной стать дипломной работой

А что можно нормальное написать в качестве дипломной работы, причем такое, что твой научник согласился бы это вести?
Компилятор/Интерпретатор своего ЯП?
Аналог 3дс макса?
Realtime анализатор трафика?
Аноним 16/11/21 Втр 13:13:31 #1074 №2213823 
>>2212340
Придумай, что можно автоматизировать. Программирование для этого нужно.
Аноним 16/11/21 Втр 13:17:56 #1075 №2213834 
>>2213823
>автоматизировать
Это про какую-нибудь 1С, джаву, питон, шарпик, ну язык на котором можно быстро бизнес логику написать.
На С++ особо ничего и не автоматизируешь из простых вещей.
Аноним 16/11/21 Втр 13:19:23 #1076 №2213839 
>>2213834
Почему это? Есть qt, есть boost, на них можешь че угодно создавать.
Аноним 16/11/21 Втр 13:25:47 #1077 №2213856 
>>2213839
>на них можешь че угодно создавать
И на голом си, и даже на асме можно че угодно создавать.
Другое дело, что у каждого языка своя ниша, и писать систему учету товаров на складе с микросервисами на С++ никто в здравом уме не станет.
Аноним 16/11/21 Втр 13:30:13 #1078 №2213860 
>>2213856
Учёт товаров это одна задача из миллиона. Автоматизировать много чего надо.
Сделай сам какой нибудь diy датчик чего нибудь и напиши программу, которая данные с него снимает и выводит непрерывный график на компе.
Аноним 16/11/21 Втр 15:17:01 #1079 №2213958 
>>2213802
В моем вузе люди алгоритмы придумывали новые и писали по этому дипломную работу
Аноним 16/11/21 Втр 16:25:06 #1080 №2214019 
>>2213856
>писать систему учету товаров на складе с микросервисами на С++ никто в здравом уме не станет
1с вообще то на с++ написан
кхе кхе
Аноним 16/11/21 Втр 16:26:40 #1081 №2214023 
>>2212340
ля, челик
на нормальной кафедре с нормальными преподами они сами придумывают темы для дипломов а потом раздают их студентикам на выбор..
Аноним 16/11/21 Втр 16:50:49 #1082 №2214038 
>>2211482
100% у них уже есть готовые статиклибы под распространенные платформы, тебе только линкануться нужно правильно будет и все..
наверняка в любых линуксах в любом менеджере пакетов opencv поставляеться вместе со статиклибами.. а под винду еще проще..
ну а если ты понимаешь opencv под какую-нибудь экзотику, то тогда респект тебе и я умываю руки
так чтож 2 варианта либо ты слишком тупой либо слишком умный..



Аноним 16/11/21 Втр 16:51:36 #1083 №2214039 
>>2214038
>понимаешь
поднимаешь
Аноним 16/11/21 Втр 16:54:14 #1084 №2214040 
>>2211623
если ты знаешь этапы компиляции и линковки си программ, знаешь структуру исполняемого файла, обладаешь теорией о построении компиляторов, то можно будет тебе объяснить здесь и некие специфичные особенности связанные с компиляцией и линковкой уже с++
если ты не знаешь вышеперечисленного, то в треде это не объяснить, ты слишком многого просто не поймешь

Аноним 16/11/21 Втр 17:09:06 #1085 №2214054 
>>2198538
Раньше долго сидел в болоте НИИ, пилил всякую херню от работы с бд, до всяких визуализаторов на простом попенжл и ГИСин. Было интересно, тк ассорти задач и коллектив приятный. Но денег нихуя, да роста тоже, тк команда маленькая и варишься в своём соку. Карьеру проебал считай зависнув там.
Потом рискнул попробовать в одну фирму с графонтехнологиями, тк это единственная относительно интересная сфера в вайти, но не осилил - слишком мозг протух от НИИ. Хотя после этого из пяти собесов я получил офферы по всем, по одному даже за нарисовали на 50% выше запрошенного.
В итоге работаю в телекоме вот третий год. Уже подзаёбыает, тк задачи тоска в основном. Кодовая база большая, вменяемой доки нет, мейнтейнить и расширять это больно. Думал буду в энтерпрайзе дохуя опыт получать, но что-то в итоге оказалось, что команда перегружена и каждый пилит в основном одни и те же модули/проекты, обсуждать нечего или некогда. Из плюсов - фирма комфортная, прогеров облизывает. Поднял ЗП до человеческого уровня. Надо бы дальше сьебывать, но теперь ещё страшнее: вроде нихуя не обогатился по навыкам, а меньше получать уже не годится. Опять же, найти интересную сферу - сложна. Из интересного недавно приглашали только конторы из Маськвы. Но чисто из дома работать я не могу - эффективность низкая и начинает крыша протекать быстро из-за отсутствия пассивной социализации. Пока думаю как выкатиться на забугорного пана, тк сносный разговорный английский без дела томится.
%Спасибо, что прочитали личный бложик крестоёба. Подписывайтесь, ставьте лайк, жмите колокольчик%
Аноним 16/11/21 Втр 19:50:05 #1086 №2214175 
>>2214054
Типичный сториз стареющего омежки.
Мимо выкатился из ГовНИИ в графений и трёхмерку (не гейдев) а потом в машоб/зрение и умный эмбед. Иду в ногу с прогрессом, от энтерпрайз и легаси говна ловко ускользаю, с плюсами постепенно прощаюсь. Зп продолжает расти, intel/huawei и прочие яндексы сами ищут знакомства. Так то.
Аноним 16/11/21 Втр 20:23:49 #1087 №2214195 
Пытаюсь собрать lib файл, а Qt Creator вместо него собирает *.a файл. Как его заставить собирать именно в lib формате?
Аноним 16/11/21 Втр 20:25:54 #1088 №2214198 
>>2214195
Параметры компиляции?
Аноним 16/11/21 Втр 20:29:05 #1089 №2214203 
>>2214198
Я кажется понял, у меня там компилятор MinGW, а он только *.a файлы умеет собирать, так ведь?
Аноним 16/11/21 Втр 20:34:40 #1090 №2214207 
>>2214203
MinGW это GCC под винду - у него свой формат .a

.lib - это вижуал штудия
Аноним 16/11/21 Втр 20:37:40 #1091 №2214212 
>>2214207
Оба ведь можно юзать в любых проектах под виндой?
Аноним 16/11/21 Втр 20:48:09 #1092 №2214222 
>>2214212
ты никак не слинкуешь то, что было высрано разными компиляторами.

нет, конечно можно, у кланга там есть возможности высирать в нужных форматах, да и линковать можно динамически через extern "C", но это уже не совсем новичковая тема
Аноним 16/11/21 Втр 21:17:33 #1093 №2214236 
>>2214222
То есть если я в проекте использую MinGW, то не смогу линкануть *.lib файл?
Аноним 16/11/21 Втр 21:39:53 #1094 №2214247 
>>2214236
Да, там ABI другое
Аноним 16/11/21 Втр 21:40:53 #1095 №2214250 
>>2214247
Найc, спасибо
Аноним 16/11/21 Втр 23:08:55 #1096 №2214316 
>>2214040
https://www.blackhat.com/presentations/bh-dc-07/Sabanal_Yason/Paper/bh-dc-07-Sabanal_Yason-WP.pdf
А дальше насиловать IDA, читать блоги разработчиков тулсета, смотреть как в нём устроена CRT, что и как происходит до и после main(), как устроен манглинг.
На блюдечке такой инфы нет, потому что мало кому надо, а кому надо, сам разберётся с учётом того, что хочет сделать
Аноним 17/11/21 Срд 08:33:56 #1097 №2214453 
>>2214175
>яндексы сами ищут знакомства
Но ведь яндексы и так ищут знакомства со всеми подряд. Мне за ноябрь порядка 20 херочек и херов написало с предложением порещать интереснейшие задачи в Лавке
Ну а если серьёзно, то как не быть омежкой, а быть как ты? Научи, о дваче-мудрец.
Аноним 17/11/21 Срд 11:25:14 #1098 №2214600 
>>2211543
Вот этого двачую.
vcpkg уже давно стал полноценным пакетным менеджером не хуже pip там или maven
Аноним 17/11/21 Срд 11:29:24 #1099 №2214612 
>>2211975
В core guidelines говорят не использовать беззнаковые переменные, даже когда значение не может быть отрицательным. Бъярне сам признал обсёр с беззнаковыми индексами в STL
Аноним 17/11/21 Срд 12:03:07 #1100 №2214665 
>>2211543
А если opencv-contrib нужен? Он вряд ли будет там.
Аноним 17/11/21 Срд 13:02:50 #1101 №2214734 
>>2214665
vcpkg install opencv4[contrib]
Аноним 17/11/21 Срд 13:14:31 #1102 №2214750 
>>2214734
А он там есть? Я вообще только вчера про vcpkg узнал (что только зумеры не придумают, чтобы самим либы не собирать)
Аноним 17/11/21 Срд 13:17:48 #1103 №2214759 
>>2214750
Бля чел, я спецом посмотрел есть ли такая фича, и после этого запостил. Есть, есть.

> (что только зумеры не придумают, чтобы самим либы не собирать)
Я бы сказал - что главная проблема С++ это ебаные деды с вимом, мейкфайлами и ручной сборкой всего на свете. Мы не в каменном веке живем, много где в С++ уже просто не надо ебаться.
Аноним 17/11/21 Срд 13:35:54 #1104 №2214795 
>>2214759
Не буду спорить о проблемах крестов. Просто скажу, что не сильно разделяю твое мнение. Но все равно в какой-то момент нужно будет делать кастомную сборку того же opencv с выпиленные/впиленными фичами и вообще любыми их комбинациями. В vcpkg все равно нет на любой вкус собранных либ.
Аноним 17/11/21 Срд 13:57:54 #1105 №2214855 
>>2214795
Само собой - уметь надо всё, но и тулинг надо использовать там, где такие лютые каштомизации не нужны.
Аноним 17/11/21 Срд 14:02:26 #1106 №2214866 
изображение.png
Ебучая магия...
где перекат?
Аноним 17/11/21 Срд 16:33:01 #1107 №2215071 
>>2214453
>порядка 20 херочек и херов
из них 80% хуй пойми кто из "кадровых агентств"

>интереснейшие задачи в Лавке
Мне предлагают задачи для беспилотного транспорта.

>как не быть омежкой
Не соглашаться на легаси говно и энтерпрайз. Быть там, где молодёжь. Не сидеть годами в одном месте, особенно если тебя облизывают.
Аноним 17/11/21 Срд 16:51:07 #1108 №2215101 
>>2214855
Но ты же кроме vcpkg install ничего не умеешь, верно?
Аноним 17/11/21 Срд 17:13:15 #1109 №2215136 
>>2213958
>люди алгоритмы придумывали новые
Ну это уже ближе к чему-то математическому. Какой-нибудь новый алгоритм придумать для быстрого верчения деревьев нужно нехило так дрочиться алгоритмами еще со школы, имхо.
Аноним 17/11/21 Срд 17:19:34 #1110 №2215143 
>>2214175
>с плюсами постепенно прощаюсь
Куда перекатывашься? На раст? Или в питон, раз в зрение вкатился?

>>2214175
>Иду в ногу с прогрессом, от энтерпрайз и легаси говна ловко ускользаю

Интересные задачи (не энтерпрайз и не легаси) хорошо оплачиваются у нас? Я когда-то думал вкатиться в С++ писать йоба-софт вроде компиляторов или зрения, а в итоге стал джавадебилом, который грузит джейсоны на 8 джаве в одном зеленом банке...
Аноним 17/11/21 Срд 17:33:29 #1111 №2215154 
>>2215143
>Куда перекатывашься?
В сторону Python. Но c++ всё равно нужен, когда надо софт в эмбед запихивать.

>хорошо оплачиваются у нас
В российских реалиях Java/Kotlin/Enterprise в любом случае будут выгоднее по деньгам. Разрыв можно покрыть, только если работать с иностранцами.
Аноним 17/11/21 Срд 17:38:33 #1112 №2215159 
>>2215143
> Куда перекатывашься?
Любой успешный программист перекатывается на повер поинт обычно. Если этого не происходит, то нужно задуматься.
Аноним 17/11/21 Срд 17:39:01 #1113 №2215160 
>>2215101
Я умею дохуя всего, и именно по-этому я выбираю нужный тулинг для нужной задачи
Аноним 17/11/21 Срд 18:13:23 #1114 №2215206 
>>2215160
Звучит как слоган из рекламы для домохозяек.
Аноним 17/11/21 Срд 18:26:53 #1115 №2215217 
>>2215160
Я не боюсь человека, знающего тысячу тулов. Я боюсь человека, который использовал один тул тысячу раз.
Аноним 17/11/21 Срд 21:21:47 #1116 №2215362 
Почему некоторые программы не собираются разными компиляторами? Чаще всего требуют GCC или Mingw. Как этого избежать? И сложно ли перенести такую программу на MSVC? Кстати, почему все не пересели на clang, он же есть на всех системах, более свободная лицензия и остальные плюсы
Аноним 17/11/21 Срд 21:51:48 #1117 №2215396 
В общем, не трогал С++ года с 2012. Решил посмотреть, что там интересненького появилось.
Вижу модули. Прочитал коротко - думаю, .ну наконец-то что-то нормальное в язык завезли.
Потом смотрю как оно сделано в плане кодерского экспириенса. Это же пиздец какой-то. Нахуй они в таком виде-то нужны?
У меня на самом деле уже закрадывается подозрение, что это все делается спецом чтоб добить бедненький С++. Иначе я не могу понять - на кой хуй объявлять нормальные вроде как фичи, но делать их в конечном счете так, что никто абсолютно не будет ими пользоваться, ведь сделано он именно так, что пользоваться этим тупо невозможно.
Блин, да посмотрите как в ебучем JS модули сделаны. Да, там тоже есть свои хуевости, но уж получше чем плюсовские это 100%
Аноним 17/11/21 Срд 22:42:55 #1118 №2215437 
>>2215362
>Как этого избежать?
Использовать вместо make файлов или проектов студии (или какой-то конкретной IDE) CMake.

>сложно ли перенести такую программу на MSVC?
Зависит от размера. А ещё от того, есть ли в программе системные вызовы POSIX/WinApi или какие-то особенности операционной системы или железа (допустим в Linux есть из коробки shared memory и через неё можно передавать данные между процессами, а в Windows - нет и надо городить свой огород).

>почему все не пересели на clang
Есть очень большое наследие, написанное без clang и никаких денег не хватит, чтобы его портировать. Ещё есть всякий эмбед и ебля с кросскомпиляцией под непопулярные железки, где не всё так однозначно.



Аноним 17/11/21 Срд 22:45:14 #1119 №2215442 
>>2215396
Продолжай вести наблюдение.
Аноним 17/11/21 Срд 23:06:10 #1120 №2215476 
>>2215362
> Почему некоторые программы не собираются разными компиляторами?
У каждого компилятора есть расширения и разные статусы поддержки всяких С++20. Но, оверолл - хорошо написанный код соберется и Студией, и шлангом, и гцц.

> Как этого избежать?
Писать без компиляторных расширений, и, опционально, не пользоваться фичами С++20 которые есть не везде

> И сложно ли перенести такую программу на MSVC?
По идее нет. Тут еще вопрос в билд системе. Если это симейк - то просто хачишь куски которые непортабельные и все. Если это какие-нибудь стариковские мейкфайлы - то надо поссать на лицо их автору.

> Кстати, почему все не пересели на clang
А зачем? Работает - не трогай. Да и кланг развивается все медленнее и медленнее, учитывая конфликт в комитете по слому ABI, после которого гугл как-то подостыл к С++
Аноним 18/11/21 Чтв 00:40:14 #1121 №2215559 
>>2215476
>после которого гугл как-то подостыл к С++
Уже 10 лет прошло, они ещё не успели перекомпилировать все бмблиотеки?
Аноним 18/11/21 Чтв 01:03:47 #1122 №2215569 
>>2215559
они то успели, все остальные проголосовали за ШТАБИЛЬНОСТЬ
Аноним 18/11/21 Чтв 04:04:44 #1123 №2215621 
>>2214795
В чем проблема, взял portfile и поменял как тебе нужно. Только вряд ли тебе нужно что-то кроме умолчаний и фич.
Аноним 18/11/21 Чтв 10:57:41 #1124 №2215786 
Хочу заниматься движками баз данных, отказоустойчивым распределенным хуйлоадом, компиляторами, графикой. Как вкатиться в это, если я джавадебил?
А то смотрю вакансии на С++: одно говно, либо НИИ, либо днищеконторы с формочками на Qt/MFC/WinAPI.
Аноним 18/11/21 Чтв 11:11:09 #1125 №2215810 
>>2215786
> как вкатиться
Учеба + практика

> в вакансиях одно говно
Есть такое, но и если поискать хорошо, то найдешь нормальное
графика это скорее всего геймдев
Аноним 18/11/21 Чтв 11:16:40 #1126 №2215811 
>>2215810
>Учеба + практика
Где учиться и где практиковаться? Учился в бакалавриате "информатика и вычислительная техника", толком ничему не учили, так для общего развития можно сказать 4 года просидел там.
И практику где брать?

Я вот смотрю вакансии на ХХ - по компиляторам если еще что-то есть и по графике тоже, то вот с базами данных нет ничего толком. Ну и хуйлоад на С++ видимо у нас только в яндексе есть.
Аноним 18/11/21 Чтв 11:23:24 #1127 №2215823 
>>2215811
> Где учиться
Дома за компьютером можешь

> где брать практику
Берешь свои знания и пытаешься из реализовать

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

> По базам данных нет ничего толком
Ну так сфера достаточно небольшая, откуда там взяться большому количеству вакансий?

ну и у тебя какие то странные желания и графика, и бд, и хайлоад, не думаешь что то одно выбрать?
Аноним 18/11/21 Чтв 11:29:18 #1128 №2215828 
>>2215823
>тебе конкретно какой то литры покидать
Ну вообще да. Хочу сначала просто попробовать-потыкать различные отрасли, может потом найду что-то самое интересное.
Аноним 18/11/21 Чтв 16:11:19 #1129 №2216145 
>>2215786
Хуёво всё это закончится, братюнь. Ну разве что в гейдеве есть устойчивый спрос и сносная пайка. В остальном в год по этим направлениям постится 5-6 нормальных вакух и половина не в твоём городе без права на удалёнку.
Аноним 18/11/21 Чтв 16:19:23 #1130 №2216150 
На LinkedIn в Москве начального уровня кто-то ищет, или hh достаточно?
Аноним 18/11/21 Чтв 18:55:32 #1131 №2216345 
Хочу простенький консольный чатик(клиент+сервер)
Так вот. Я чет не вижу в стандартной библиотеке сокетов. Понимаю, что платформозависимо, но блин. Неужели придется извращаться с макросами или брать библиотеки сторонние?
Аноним 18/11/21 Чтв 19:09:28 #1132 №2216366 
>>2216345
Тут на любой вопрос о сетях пишут boost.
Аноним 18/11/21 Чтв 19:23:00 #1133 №2216376 
какой лимит постов в этом итт треде?
в начале лета вроде было 1к
сегодня 2к что ли уже?
когда легитимные перекат уже
Аноним 18/11/21 Чтв 19:28:14 #1134 №2216383 
>>2216150
начального уровня вообще никто не ищет
это ты должен умолять чтобы тебя взяли
вот в яндекс чтобы попасть нада 5 лет в вузике отпахать, ездить на олимпиадки, а до этого в обычной специальной с мат уклоном школке отучиться, погрызть математику с физикой, ну еще не забывай что ты должен быть юрким челиком и понять что не достаточно просто учиться в вузике на 4-5 (иначе в 30 окажешься в петле как невостребованное говно), а на курсе 2-3 уже начать суетиться и мутить разные темы с преподами, ну или на специализированные курсы от того же яндекса ходить
и тогда тарам пам пам может быть ты попадешь в яндекс роботать программистом
и да, пожалуйста не пишите как вы в конце нулевых с пары собесов прошли в хуяндекс и свалили оттуда через 3 года на большие бабки
щас другие времена и другая конкуренция
вот

Аноним 18/11/21 Чтв 19:28:56 #1135 №2216384 
>>2216345
boost::asio::ip::tcp::socket
Или в Qt смотри.
Аноним 18/11/21 Чтв 19:29:52 #1136 №2216388 
>>2216345
вариантов кроссплатформенных оберток беркли сокетов полно, более того сокеты сами по себе и являються межоперационным обобщением
вот

Аноним 18/11/21 Чтв 19:32:48 #1137 №2216394 
>>2216145
будем честны и скажем что российский геймдев большую часть прибылей генерирует с мобильного рынка и то по той причине что ниша была незанята
но скоро кризис начнет давить всех и на этот рынок выйдут динозавры
и тогда к примеру тем же жидам из плейрикса придет пиздец
ну как пиздец, бизнес у них задавят или отожмут
сами то они уже срубили бабла и себе и внукам
Аноним 18/11/21 Чтв 19:33:00 #1138 №2216395 
>>2216383
>щас другие времена и другая конкуренция
Не, ну ща получше чем пару лет назад. Молодняка поменьше и часть народу укатилась в питоны/вёбы/мобилки там всякие.
Аноним 18/11/21 Чтв 20:01:58 #1139 №2216430 
>>2216345
В qt простенький веб чатик есть в экзамплах/туториалах, не подойдёт? Консольный сервак, веб страничка клиент.
Аноним 18/11/21 Чтв 20:12:38 #1140 №2216452 
>>2216430
>>2216388
>>2216384
>>2216366
Спасибо за ответы, няши.
Видимо таки придется на макросах делать.
Я же как-бы на данном этапе хотел руки размять и попробовать словить вьетнамские флешбкеи. А то в средах со сборщиком мусора и прочими асинхронностями из коробки - как-то слишком скучно. Уже пропало чувство того что я идиот, а именно это чувство в свое время мотивировало изучать больше.
Аноним 18/11/21 Чтв 20:58:27 #1141 №2216506 
Помогите разобраться. Просто для себя изучаю С++ и не совсем понимаю, именно на практике, когда используются указатели? Вот как они работаю спокойно уложилось в голове, а вот когда их стоит применять, а когда нет - так и осталось вопросом.
Аноним 18/11/21 Чтв 21:07:13 #1142 №2216520 
>>2216506
По указателю обычно передают не примитивные типы, а структуры, которые не хотелось бы каждый раз копировать.
Аноним 18/11/21 Чтв 22:08:09 #1143 №2216566 
>>2216383
Хуя ты пиздабол, одногруппник устроился на 40 тысяч c# вообще зная только основы
Аноним 18/11/21 Чтв 22:14:39 #1144 №2216571 
>>2216566
тред не попутал?
Аноним 18/11/21 Чтв 22:25:34 #1145 №2216576 
>>2216571
Какая разница
Аноним 18/11/21 Чтв 22:29:18 #1146 №2216579 
>>2216383
Та хуй знает. Меня на первую работу взяли с уровнем: знает синтаксис, может отличить передачу по ссылке и по значению, знает стандартную либу, умеет по памяти сортировку пузырьком сделать.
Аноним 18/11/21 Чтв 22:31:24 #1147 №2216582 
>>2214175
> huawei
Работаю там. В целом в московском хуавее всегда хуй клали на кодинг. Потому что китайцы и сами могут наговнокодить (на самом деле нет). Только недавно открылось несколько лабораторий, которые занимаются софтом. Та лаба, которая рядом с моим отделом, занимается довольно низкоуровневыми вещами. Про другие не могу сказать.

По поводу "на самом деле нет", написанному выше, есть кулстори. Хуавей пару лет назад со всех концов света собирал людей на длительную работу у них в китайском офисе с целью аврального допиливания их Harmony OS. Брали всех, кто был согласен ехать и был способен кодить. Вот так оказалось, что в Китае с их бешенной конкуренцией за рабочие места не хватает кодеров.
Аноним 18/11/21 Чтв 22:36:48 #1148 №2216587 
>>2216582
нихуя
ни кого попали
нужен был engrish, дипломчик по специальности, опыт роботы по специальности

Аноним 18/11/21 Чтв 22:37:22 #1149 №2216588 
>>2216579
Вот, я не только знаю язык на начальном уровне, так ещё и кучу остальной херни полезной. Написал это всё в резюме и скинул троим, жду ответа
Аноним 18/11/21 Чтв 22:48:43 #1150 №2216596 
>>2216579
и чЁ? в каком седом году это было
не надо рассматривать тогда и сейчас
сейчас для вкатунов жОпа
Аноним 18/11/21 Чтв 22:55:31 #1151 №2216602 
>>2216596
>сейчас для вкатунов жОпа
В С++ может быть и да, так как вкатуны в кресты не особо нужны, ну кроме говноформочек на Qt.

>>2216383
>вот в яндекс чтобы попасть
Нужно научиться прорешать 150-200 задачек на литкоде, преимущественно уровня медиум, вот тогда на стажировку в яндекс попасть просто. Знаю несколько людей, которые после обычных мухорсранских школ, с неоконченными говновузами и после армии, не обладая высоким интеллектом, вкатывались на стажки в яндекс, просто нарешав задачи на литкоде и найдя того, кто их сможет пореферить. Вот и все. Может, конечно, в поиск и беспилотники нужны толковые люди, но сейчас яндекс становится похожим на сбер, в который вообще чуть ли не всех подряд берут.
Аноним 18/11/21 Чтв 23:28:09 #1152 №2216619 
>>2216582
Хуйвей сейчас на конпеляторы и тулчейны к ним набирает. Нв rust говно ещё. Другое дело, что это узкая специализация нахуй никому не нужная.

>>2216602
>яндекс становится похожим на сбер
Скорее на Luxoft, если знать как они бомбят говном на почту. Но в лохсофте хотя бы пайки лучше.
Аноним 18/11/21 Чтв 23:43:27 #1153 №2216626 
>>2216587
Если я тебя правильно понял.
Английский нужен. Высшее нужно. Опыт нужен, но можно например в мою группу без опыта через интернатуру попасть (если ответишь на вопросы на собесе). Но и я не кодер ни разу. Просто решил освежить свои плюсы. Вот пока с вами тусую.

>>2216619
> Хуйвей сейчас на конпеляторы и тулчейны к ним набирает. Нв rust говно ещё. Другое дело, что это узкая специализация нахуй никому не нужная.
Конпеляторы сейчас котируются как минимум в хуйвее, самсунге, нвидии и интеле. И это только в Москве. Но специальность по конпеляторам с хорошей дискреткой ещё нужно заработать.
Аноним 18/11/21 Чтв 23:58:54 #1154 №2216633 
>>2216626
>английский
Это сертификат нужен, или просто для коммуникации?
Аноним 19/11/21 Птн 00:00:14 #1155 №2216634 
>>2216626
>как минимум
Как максимум.
Аноним 19/11/21 Птн 00:03:49 #1156 №2216637 
>>2216633
Ну ты чего. Сертификат понадобится, если ты будешь релоцироваться и то далеко не всегда.
Аноним 19/11/21 Птн 00:07:58 #1157 №2216640 
>>2216626
>с хорошей дискреткой
Все дороги открыты и нет смысла заходить в подворотню.
Аноним 19/11/21 Птн 00:09:19 #1158 №2216641 
>>2216633
Просто на собесе попросят какой-нибудь технический вопрос по-английски ответить. Китайцы тоже, знаешь, такие себе инглиш-спикеры.
>>2216634
Из приличных, может быть, и как максимум. Но есть еще подсосавшиеся к госзаказу кб-шки, клепающие нейропроцы. Или лабы в институтах, загимающиеся подобными вещами.
Аноним 19/11/21 Птн 00:15:17 #1159 №2216644 
>>2216640
Редкая специализация это всегда палка о двух концах. С одной стороны можно ломить цену за свои навыки и жить припеваючи. Но с другой, что делать, когда все четыре вышеперечисленных конторы перепробовал и тебе не понравилось.
Аноним 19/11/21 Птн 00:18:02 #1160 №2216645 
>>2216644
>что делать
Читать лекции за еду и пенсию в местном институте.
Аноним 19/11/21 Птн 00:53:44 #1161 №2216649 
>>2216644
>все четыре
Есть только в маськве. В питере есть только хуйвей, а в нижнем только интэл. Раньше на удалёнку они никого не брали, а сейчас готова только одна из.
Аноним 19/11/21 Птн 00:57:05 #1162 №2216650 
>>2216649
> в нижнем только интэл
Хуйвей там тоже есть чуть-чуть. Но с другой стороны, чего ловить человеку с хорошим редким образованием в мухосранске?
Аноним 19/11/21 Птн 01:19:34 #1163 №2216651 
>>2216650
>в мухосранске?
Российское подразделение интел появилось в мухосранске, потом переползло в мухосранск-милионник, а потом в маськву. И оно за собой перетаскивало людей с "редким образованием", которое можно получить почти во всех мухосрансках-миллионниках.
Аноним 19/11/21 Птн 01:28:37 #1164 №2216653 
>>2216651
Но ты же сам понимаешь, что это исключение. Или ты лишь бы возразить все это пишешь?
Аноним 19/11/21 Птн 01:31:43 #1165 №2216654 
>>2216602
>которые после обычных мухорсранских школ, с неоконченными говновузами и после армии, не обладая высоким интеллектом, вкатывались на стажки в яндекс
в каком году але? в швятые нулевые? дО крыма?
в 21 году это уже не прокатит
Аноним 19/11/21 Птн 01:36:06 #1166 №2216655 
>>2216619
>Huawei uses Rust to develop a real-time OS for IoT devices, and in the StratoVirt project, a high-performance virtualization platform
хе хе
земля им пухом
те они сначала должны будут поднять те сделать всю инфраструктуру (одного компелятора недостаточно, хотя и сделать компелятор такой дрисни как раст еще хуже делать чем компеляторы швятых крестов) вокруг этого сырого говна под названием раст, а только потом уже начать пердолить свои иот операционки и виртуализаци
хехе
вот это мянямирки
Аноним 19/11/21 Птн 01:41:11 #1167 №2216658 
>>2216655
ну хотя для программистов то приятненько такое писать
ну там компеляторы, инфраструктура к ним, всякие иде и отладчики, ну там всякие рантайм ос, и всякая виртуализация
одни из самых приятных занятий для программистов
и денежку платят
Аноним 19/11/21 Птн 01:43:19 #1168 №2216660 
>>2216653
Исключение из чего? Конторы открывают свои представительства там, где есть мозги (нормальные вузы или нии), а не там, где кремль краше. А потом да, менеджмент перевозит головной офис туда, где удобнее вести бизнес (и жить краше). Но работяги остаются в своих Новосибирсках.
Аноним 19/11/21 Птн 01:46:49 #1169 №2216662 
ммм даже представляю этого поехавшего хитреца тим лидера какого нибудь который впаривал топ менеджменту хуайвея что мол ща нахуярим побыстрому рантайм операционку на модный иот! мол язык современный и безопасный бля буду и поэтому у нас все летать будет и сделаем все за срок! бля буду
только сначала по бырому запилим компелятор ну и чутка тулзов к нему! это просто!
даже интересно есть ли вообще в природе хоть одна успешная коммерческая операционка написанная НЕ на си, хе хе, разве что мертвый сумбайн
Аноним 19/11/21 Птн 01:51:19 #1170 №2216663 
>>2216662
Ты не совсем правильно представляешь, как все в хуавее устроено. Там на рисеч тратятся просто мегатонны юаней. Написать операционку на любом говне это для них рисеч-челлендж. Помимо этого отдела еще в мире в других исследовательских центрах будут отделы-компетиторы с такой же разработкой. И в самом Китае еще несколько отделов будет этим заниматься.
>>2216660
То-то я вижу в каждом мухосранске технокластеры с представителями международных компаний.
Аноним 19/11/21 Птн 03:49:19 #1171 №2216688 
Че там на cppconf было интересного? Гле глянуть можно?
Аноним 19/11/21 Птн 03:59:40 #1172 №2216692 
Делаю свой гит, чтоб не зависеть от всяких хуесосов. Дифф уже готов, вот пруфы. В чем я не прав?
https://pastebin.com/3VF7My9N
Аноним 19/11/21 Птн 04:05:12 #1173 №2216695 
>>2216692
Перепрошую, панове, трішки обісрався...
https://pastebin.com/W5FwGYBa
Аноним 19/11/21 Птн 05:51:28 #1174 №2216717 
>>2216663
Ну так huawei и samsung прежде всего смотрели на Россию, как на рынок сбыта своей продукции. Если все крупные конторы сидят в москве - надо идти туда. Сначала открылись департаменты по работе с корпоративными клиентами, маркетингу и продажам. Потом по фану добавили "департамент разработки".
В плане организации тоже очевидно - если в москве сидят все, кроме газпрома, то и инфраструктура (кластеры-хуястеры) соответствующая. В регионах местный бизнес максимум на что способен - построить торговый центр с фонтаном. А муниципалитет - такое же говно без задач как и Сколково.

Соответственно разрабы собираются по 10-15 человек и скромно педалят код для иностранцев под вывеской "ООО ЗалупкиЛабз". Если "ООО ЗалупкиЛабз" пишет IPP, MPI или OpenCV, то он потом превращается в Intel Russia и ползёт в Москву к остальным.
sageАноним 19/11/21 Птн 08:54:12 #1175 №2216766 
>>2216695
Удали компилятор, ide, блокнот или всё что угодно связанное с программированием на твоём компьютере пожалуйста
Аноним 19/11/21 Птн 09:18:26 #1176 №2216784 
>>2216695
Особо не вчитывался, но похоже на (странный) алгоритм Левенштейна. Почитай про алгоритм диффа и как он синхронизируется на новых строчках. Алсо, ты не инициализируешь данные в матрице и можешь читать мусор оттуда. Используй valgrind/санитайзеры для проверки кода.
Аноним 19/11/21 Птн 10:50:50 #1177 №2216859 
>>2216766
Почему?
>>2216784
>похоже на (странный) алгоритм Левенштейна
Я просто думал, как компактно хранить изменения, чтоб не класть полные копии файлов на каждый коммит, и вспомнил, что существует некий эффективный longest common subsequence. Загуглил, увидел фразу dynamic programming и какую-то таблицу NxM, дальше додумал сам.
Аноним 19/11/21 Птн 11:56:15 #1178 №2216928 
>>2216784
>>2216859
>>2216695
Кстати хорошая идея, проводить code review itt. Может, попробуем развить тему? Все же любят обосрать других.

Я например вижу примерно следующее:
1. Хранить 16-битные размерности массива особо не имеет смысла (так же как и передавать их параметром)
2. Нижние подчеркивания в начале заменить на подчеркивания в конце.
3. Разберись, в чем ты хранишь размеры массива: в знаковых или беззнаковых переменных. В зависимости от этого добавь проверки допустимых границ значений.
4. main должен состоять из 3-4 строчек. Все методы должны быть внутри классов.

Но для laba1 код сойдет, конечно.
Аноним 19/11/21 Птн 13:00:23 #1179 №2216986 
>>2216654
>в каком году але
2021 год, период с июня по октябрь. Как раз таки 2-3 года назад в Яндекс попасть было попасть тяжелее, у мидлов бывало по 6-7 алго интервью просто чтобы попасть на 150к. После этого к ним народ с опытом стал менее охотно идти, вот они и начали брать себе стажеров и джунов в бОльших количествах.
Ну и сам яндекс разросся и стал похож на обычную галеру. Всякая элитарность осталась только в поиске, такси и беспилотниках.
Аноним 19/11/21 Птн 13:05:56 #1180 №2216990 
>>2216626
>хуйвее, самсунге, нвидии и интеле
В нвидии у нас открытых компиляторных вакансий не видел ни разу, но может анон оттуда прояснит ситуацию.
А так еще есть очевидный jetbrains с его компилятором котлина и вообще статистическими анализаторами для IDE, ЦИТМ Экспонента и конечно же МЦСТ.
Вроде бы все. Ну как бы штук 10-15 компиляторных вакансий на всю страну наверняка наскребется.
Аноним 19/11/21 Птн 13:10:50 #1181 №2216996 
>>2216649
Кстати интел в москве есть, но основное место концентрации разработчиков именно в нижнем. На стажировки нанимают в первую очередь в нижний.

>>2216644
>что делать, когда все четыре вышеперечисленных конторы перепробовал и тебе не понравилось
Перекатиться в другую отрасль. Ну если ты действительно стал крутым спецом в компиляторах, то наверняка не составит труда релоцироваться куда-нибудь в US/UK/Китай, там компиляторной работы наверняка гораздо больше.
Аноним 19/11/21 Птн 13:17:42 #1182 №2217006 
>>2216990
Нвидия в Москве вообще как закрытый клуб. Мониторю их вакансии. Там их совсем немного всегда висит. Даже как-то сам резюме засылал их hr'у (далеко не на джунскую позицию). Вообще ничего не ответили, собаки.
>>2216996
> Кстати интел в москве есть, но основное место концентрации разработчиков именно в нижнем.
Сейчас они вводят полную удаленку и нанимают со всей страны. Вот сейчас к ним в несколько отделов собеседуюсь.
> Перекатиться в другую отрасль.
Верно, конечно.
Аноним 19/11/21 Птн 14:57:29 #1183 №2217097 
>>2216663
Да, слышал инсайды, что они там настолько в своем познании преисполнились, что хуярят с нуля вообще весь тулчейн включая собственную ide.
Аноним 19/11/21 Птн 19:35:08 #1184 №2217358 
>>2217097
Как и эппл. У них же, насколько я знаю, куча секретных тулзов внутри компании для разработки, и сами не сидят на ссаном xcode.
Аноним 19/11/21 Птн 19:47:04 #1185 №2217368 
image.png
Сап двач, помоги с домашкой по C++

Аноним 19/11/21 Птн 19:55:26 #1186 №2217375 
>>2217368
Они ебанулись давать с++ в 10 классе?
А так, тебе хотя бы в каком стиле надо писать? ООП или функции?
Аноним 19/11/21 Птн 20:00:09 #1187 №2217381 
>>2217375
Функции
Аноним 19/11/21 Птн 20:17:43 #1188 №2217396 
>>2217381
Ну тебе нужно написать функцию
[code]
int fibonachiResolve(int N)
{
//Тут будет лежать решение твоей задачи
return solve
}
[/code]
Для самого решения тебе понадобится ещё 3 переменных и цикл while в котором ты будешь вычислять следующее число, зная 2 предыдущих, добавлять его к сумме и обновлять последнее и предпоследние число.
[code]
int fibonachiCount = 1; //Тут мы храним сумму цифр фибоначи
int fibonachiFirst = 0; //Тут у нас будет последние полученное число фибоначи
int fibonachiSecond = 1; //Тут у нас будет предпоследние полученное число фибоначи
...
while(lastFibonachi < N)
{
...
}
[/code]
Аноним 19/11/21 Птн 20:21:51 #1189 №2217402 
>>2217396
Аригато, анон
Аноним 19/11/21 Птн 20:38:51 #1190 №2217411 
привет, анон
короче я по образованию робототехник и у меня опыт работы только в робототехнике: всякие SLAM немного cv. Короче алгоритмы
Вот, и недавно в силу бэкграунда и прочего ощутил комплекс неполноценности нехватку базовых знаний комплюктер саенс: как работает сеть (ну основы понимаю), криптография, да даже те же плюсы у нас используются не то что бы по полной - не юзаются прелести мув семантики и тд. Короче чисто как быдлан пишу
Посоветуйте плиз, каким бы проектиком можно заняться дома для себя. А то из-за низкой осведомленности могу придумать задачу, например, по зрению, но вот чтобы все это охватывало те знания о которых я написал, то вообще идей нет. Да и хочется отдохнуть от всей это роботохуйни и написать СВОЙ МЕССЕНДЖЕР. Короче хочу чуть вширь прокачаться, помоги плез советом
Аноним 19/11/21 Птн 20:46:54 #1191 №2217420 
>>2217368
дура блядь
пока есть время ебашь математику с физикой чтобы баллов на еге набрать и не обосраться дальше с вузиком и жизнью
Аноним 19/11/21 Птн 21:00:56 #1192 №2217430 
>>2217420
>пук
Аноним 19/11/21 Птн 21:02:25 #1193 №2217433 
>>2217411
Купи малинку/пердуинку и подключи к ней камеру или привод какой-нибудь и запили управление пердуинкой со своего компа или мобилки. Сразу выйдешь за пределы своего уютненького.
sageАноним 19/11/21 Птн 21:28:59 #1194 №2217449 
>>2217430
буэшь через 5ть лет в красной безрукавке тогда раскладывать товар по полочкам в магните
а пока сьеби из треда
в шапке написано: лабы идут нахуй
Аноним 19/11/21 Птн 22:07:40 #1195 №2217470 
>>2217433
Человек же сказал, что его подзаебали cv и робототехника. Что посоветовать не знаю.
Я купил себе стереопару realsense d435i с инерциальным модулем и сначала решил написать свой слам, но потом передумал и пишу фильтр Калмана с автокалибровкой ковариационных матриц. При этом основной проблемой все равно является непонимание того, как надо правильно, а не чтобы просто работало.
Аноним 19/11/21 Птн 22:48:56 #1196 №2217496 
>>2217470
Ну так в чём проблема то? Мобилки не робототехника, управление железкой - сети, фронтенд, бекенд и ещё вёб сервак допустим сверху. Всё это не про зрение и не про роботов. На жалезку можно накатить какой-то базовый софт коих овердохуя из коробки есть. Для него это будет самый быстрый старт от того, что он и так умеет.

>непонимание того, как надо правильно, а не чтобы просто работало
Потому что у самурая нет цели, только путь.
sageАноним 20/11/21 Суб 05:13:14 #1197 №2217606 
>>2217420
>>2217449
Поссал тебе на ебалник, сдал математику на 50 баллов а щяс успешно вкатился
Аноним 20/11/21 Суб 17:16:50 #1198 №2217972 
IMG0862.JPG
>>2216928
Это я наскоро набросал мейновую программулину, чтоб глянуть, какой получится дифф. Разумеется, архитектура моей системы контроля версий будет безупречной, и после релиза tit 1.0 весь исходный код мигрирует из git репозитория в tit репозиторий. С этого момента ни одному нормальному кодеру профессиональная честь не позволит контрибьютить сюда https://github.com/git/git, ведь, в отличие от tit, там ни один коммит не проходил предварительное код-ревью двача. Таким образом, разработка всех серьезных программных продуктов рано или поздно перейдет на tit.
Аноним 20/11/21 Суб 19:25:33 #1199 №2218053 
>>2217972
Люди до сих пор perforce и VCS используют.
Аноним 21/11/21 Вск 04:50:34 #1200 №2218416 
как относитесь к этой залупе?
https://ru.wikipedia.org/Венгерская_нотация
начал изучать вин апи, наткнулся на это.
до этого использовал с++ только для лаб, для своих проектов и работы использовал более высокоуровневые япы, потому практически любой нейминг в коде на поюсах кажется мне чрезмерно оптимизированным и максимально неочевидным
Аноним 21/11/21 Вск 05:32:24 #1201 №2218420 
>>2218416
Ну тут нарушается абстракция данных и, если тип объекта меняется в будущем (допустим при переносе на новую платформу), то придётся больше кода педалить и больше ошибок ловить после этого.

А вообще, когда ты приходишь на проект, то пишешь так, как заведено на проекте. Поэтому просто забей.
sageАноним 21/11/21 Вск 06:59:48 #1202 №2218433 
>>2218416
А, вот почему winapi выглядит как такое говно, не знал. Полная хуйня эти нотации
Аноним 21/11/21 Вск 12:56:49 #1203 №2218536 
>>2218053
Скоро перестанут
https://github.com/VimDefecator/tit
Аноним 21/11/21 Вск 13:09:16 #1204 №2218541 
>>2218420
>Ну тут нарушается абстракция данных и, если тип объекта меняется в будущем
Венгерская нотация это не обязательно про типы.
Мы вам перезвоним.
Аноним 21/11/21 Вск 14:28:18 #1205 №2218646 
Подскажите в какую сторону смотреть - нужно проиграть видео в полноэкранном приложении как отдельное окно(без рамок).
С DirectShow не получилось. Другие варианты есть?
Аноним 21/11/21 Вск 16:04:53 #1206 №2218771 
>>2218646
sdl
Аноним 21/11/21 Вск 16:45:55 #1207 №2218846 
>>2218646
SFML
Аноним 21/11/21 Вск 17:15:43 #1208 №2218894 
>>2218846
>>2218771
благодарю!
Аноним 21/11/21 Вск 17:53:59 #1209 №2218934 
>>2218541
Из 2007 перезвоните?
Аноним 21/11/21 Вск 21:09:39 #1210 №2219125 
image.png
https://pastebin.com/jn0Ua8zz
Почему так я должен проебывать время, нахуй? Чтоб обойтись стандартный istream_iterator, надо делать свой locale, в котором ничего кроме \n не является whitespace, или я не так понял?
Аноним 21/11/21 Вск 22:41:10 #1211 №2219199 
>>2218646
По идее можешь посмотреть, как ffplay устроен. Там как раз SDL и есть полноэкранный режим.
Аноним 22/11/21 Пнд 00:52:06 #1212 №2219248 
Привет. Если скажем делаю хэдер, внутри есть пара функций которые возвращают вектор стрингов. Соответственно мне внутри хэдера нужно подключить вектор и стринг. Я понимаю, что в файле где я определяю моих функции для корректной работы мне не нужно повторно включать вектор с стринг. Но с точки зрения хорошего тона, или может быть какого-нибудь код конвешена нужно ли повторно включить их исключительно для ясности читающего?
Аноним 22/11/21 Пнд 00:57:42 #1213 №2219252 
https://habr.com/ru/post/352570/
Наткнулся на эту статью. Это кликбейт? В C++ будут удалены указатели? Нахуя? Кому не надо их не используют, но если вдруг захотелось побайтойобить, то в чем проблема?
Аноним 22/11/21 Пнд 00:59:28 #1214 №2219254 
>>2219252
Я думаю, что дата 1 апреля говорит сама за себя и отвечает на твой вопрос.
Аноним 22/11/21 Пнд 01:00:04 #1215 №2219255 
>>2219252
Бля, первое апреля. Я уже охуел. Хорошая шутка
Аноним 22/11/21 Пнд 01:00:38 #1216 №2219256 
изображение2021-11-22000008.png
>>2218416
Аноним 22/11/21 Пнд 01:07:32 #1217 №2219264 
>>2219256
>>2218541
Аноним 22/11/21 Пнд 01:44:03 #1218 №2219278 
Я хочу в базовом классе сделать функцию, которая будет возвращать указатель на тип класса. Мне ее делать виртуальной? Но у нее есть реализация. Или какой тип ставить? Вроде не могу просто сделать тип базового класса сделать.
Аноним 22/11/21 Пнд 14:28:51 #1219 №2219519 
Screenshot from 2021-11-22 16-28-23.png
https://2ch.hk/pr/res/2219461.html
Аноним 22/11/21 Пнд 15:28:17 #1220 №2219574 
>>2219519
https://gcc.godbolt.org/z/eEdGaWo8G
Достаточно оптимально?
Аноним 22/11/21 Пнд 15:43:29 #1221 №2219586 
>>2219574
Если матчей больше одного, оно должно возвращать тоже нулльопт
Аноним 22/11/21 Пнд 15:44:26 #1222 №2219588 
>>2219586
Причем после оптимизаций -- проходить только до второго матьча.
Аноним 22/11/21 Пнд 15:57:08 #1223 №2219596 
>>2219588
А, понял. Надо было мне повнимательнее читать. Ну, я думаю, компилятор сможет оптимизировать нормально, если ты просто условие поменяешь, типа
return std::ranges::size(matched) == 1 ? opt : nullopt;
В любом случае, такой вариант гораздо оптимальнее твоего, потому что новый список не создаёт.
Аноним 22/11/21 Пнд 16:00:58 #1224 №2219598 
>>2219588
А если ещё маленько подумать, то скорее всего не оптимизируется так, что идти будет до второго матча. Это можно провернуть, если руками напишешь что-то вроде std::views::filter, но скорее всего это перебор. Оставь так, чтобы читалось нормально, потом при необходимости наговнякаешь чего-нибудь.
Аноним 22/11/21 Пнд 16:02:42 #1225 №2219600 
>>2219598
Ну вот в этом и писечка, чтобы на уровне компилятора было разумное решение, и в стандарте.
Аноним 22/11/21 Пнд 16:06:38 #1226 №2219607 
>>2219600
О, я, кажется, придумал. Хорошо будет, если от matches откусить std::views::take(1), и потом проверить хвост на пустоту.
Аноним 22/11/21 Пнд 16:11:54 #1227 №2219610 
>>2219607
Чаепитие, густой волос, крепкий нефритовый стержень.
Аноним 22/11/21 Пнд 16:13:42 #1228 №2219613 
>>2219610
Да щас набросаю, падажжи.
Аноним 22/11/21 Пнд 16:22:29 #1229 №2219617 
>>2219607
>>2219610
https://gcc.godbolt.org/z/zv8hbW45n
Вроде получилось.
Аноним 22/11/21 Пнд 16:25:12 #1230 №2219618 
>>2219617
Оч похоже на правду.
Чаепитие -- двойное, с кошкодевочкой-офисменеджером.
Аноним 22/11/21 Пнд 16:28:39 #1231 №2219619 
>>2219618
Чаепитие с кошкодевочками -- это просто прекрасно.
Единственное, не знаю, откуда компилятор пойдёт считать !xs.empty(), с самого начала списка или ему чудом удастся переиспользовать x.empty(). Но, если это важно, я думаю, можно изъебнуться. Но мне уже лень.
Аноним 22/11/21 Пнд 16:36:23 #1232 №2219625 
>>2219619
Добавил ссылку на свой сайт:
http://movepoint.su/anekforhire/
Аноним 22/11/21 Пнд 22:00:52 #1233 №2219906 
На всякий случай и тут спрошу, потому что С++ ближе к заводам и больше вероятность, что тут кто-то знает.
В общем, вдруг тут есть те кто разрабатывали скада-системы.
Поясните, вот на работе коллега старший говорит что для поддержания соединения с устройством - нужно на каждое устройство поток выделять.
Я - не занимался скадами, но не понимаю зачем. Разве нельзя это обычной асинхронщиной делать? Ну, типа устройства же не без остановки будут слать нам сообщения, будет какая-то IO-задержка связанная с сетью, так на кой хуй нам целый поток выделять, чтоб тот ждал пока к нему кто-то обратиться, если можно его переиспользовать для других задач.
Или я что-то не понимаю и я просто тупой?
Аноним 22/11/21 Пнд 22:48:24 #1234 №2219944 
>>2219906
Ну в целом да, на каждый клиент/устройство заводить поток не стоит. Достаточно одного (или пула из нескольких), который будет слушать порты и через future/promise/async выдавать результат в основной поток.
Аноним 22/11/21 Пнд 22:50:49 #1235 №2219945 
>>2157621 (OP)
Хочу в це++ вкатиться, чё надо для этого? Книги какие-нибудь, желательно курсы?
Аноним 22/11/21 Пнд 22:54:19 #1236 №2219948 
>>2219945
В шапку залез, книжки. В другом треде рекомендовали Стивена Прата. Достойный ли?
Аноним 22/11/21 Пнд 22:54:29 #1237 №2219949 
>>2219945
> Хочу в це++ вкатиться
Не пизди.
Аноним 22/11/21 Пнд 22:55:43 #1238 №2219950 
>>2219949
Хочу много зарабатывать чтобы ездить на машине и есть свои любимые макароны каждый день.
Аноним 22/11/21 Пнд 23:28:25 #1239 №2219972 
>>2219950
Удачи, анон. Я в тебя верю.
мимо устроился C++ разработчиком 5 месяцев назад и уже приобрел желтенький Москвич, а отказывать себе в любимой еде из-за денег и подавно не приходится
Аноним 22/11/21 Пнд 23:30:15 #1240 №2219974 
>>2219950
> макароны каждый день
макароны "каждый день" - невкусная хуйня, но если ты их так любишь, то достаточно устроиться грузаном в пятерочку и тебе будет хватать зп как раз на то чтобы употреблять их каждый день
зачем тебе изучать такой эзотерический вымирающий язык программирования как с++ вообще не понятно тогда
вот если бы ты был наследником двух, а еще лучше трех квартир, то тогда было бы другое дело, в одной квартире ты бы чилил, а вторую сдавал, свободное же время как раз и можно было бы посвятить изучению тонкостей метапрограммированя на шаблонах для кодогенерации в рантайме либо экспериментам над обобщенными функциями применяемыми к универсальным контейнерам
Аноним 22/11/21 Пнд 23:31:35 #1241 №2219976 
>>2219974
>в рантайме
компайлтайме конечно же
quick fix
Аноним 22/11/21 Пнд 23:58:41 #1242 №2219999 
>>2219976
>он не занимается кодогенерацией в рантайме
Зря. Всякие Halide прикольные вещи делают.
Аноним 23/11/21 Втр 00:10:36 #1243 №2220011 
Для чего вообще нужно использовать ссылку, кроме как для возможности в функции изменять внешние передаваемые ей данные? В каких случаях она нужна?
Аноним 23/11/21 Втр 00:53:04 #1244 №2220062 
>>2220011
Чтобы избежать дорогостоящего копирования передают const&. Это самое очевидное.
Аноним 23/11/21 Втр 04:03:33 #1245 №2220111 
>>2219999
Я видел sljit в pcre. Как развидеть?
Аноним 23/11/21 Втр 08:19:03 #1246 №2220149 
>>2219625
>English
>Fluent spoken and written technical
Анон, ты seriously?
Аноним 23/11/21 Втр 16:09:56 #1247 №2220426 
здарова анон
короче пилю курсач в унике: нужно из сырых картинок заебашить видос (кодировка h2640, в каждом кадре которого помимо самих картинок будут еще и данные (если говорить конкретнее - время кодирования). Сначала думал сделать это сырым ffmpeg-ом, но он такое не может. Сел за плюсовую libav - там, вроде, есть такая хуйня как AVPacket и вот в нем есть side_data. Казалось бы, проблема решена, но нихуя ничего в файл с видосом не записывается. Вопрос: был ли у кого-нибдуь подобный опыт или кто-нибудь хотя бы знает куда копать? А то почему-то в гугле с этим все архихуево - пару неотвеченных вопросов на стэк оверфлоу и 0 туториалов. Такое ощуещение, что я единственный в мире, кто решил в видос записать еще и данные к кадру
В общем, бомбит уже, спасибо
Аноним 23/11/21 Втр 16:10:55 #1248 №2220428 
>>2220426
h2640 h264
Быстрофикс
Аноним 23/11/21 Втр 16:46:54 #1249 №2220457 
>>2220426
Зачем их туда записывать? Тебе какие-то Hal данные нужны
Аноним 23/11/21 Втр 17:00:53 #1250 №2220468 
>>2220457
мне нужно точно знать, когда кадр был закодирован.
Этот модуль будет частью еба боба системы видеоанализа ебал на росе, которую прошлые студенты написали. А рос, как я понял, так устроен, что он кидает по сокетам сообщения, в которых есть timestamp.
В данной реализации там кидается стандартное росовское сообщение: сырая картинка + стэмп. Прикол в том, что записывать сырые картинки дико разъебывает по размеру лог - у нас он вести порядка 100гб, хотя видоса секунд 20, что пиздецки
Ну и появилась идея все это кодировать в видос, чтобы весил меньше. Все идет окейно, но как записать timestamp в видос - мне не очень понятно.
точнее можно сделать отдельный стрим, там, либо записывать в отдельный файл. Но я не хочу ебаться с синхронизацией стримов, потому что вот, мне приходит сообщение, я его кодирую и хочу вот прям тут взять и записать время к кадру и заебашить его в файл.
Идейно вот зачем
Android NDK Аноним 23/11/21 Втр 18:03:19 #1251 №2220530 
Сап сиплюсплюсач.
Хочу вкатиться в android NDK. Насколько похож на win32? Быстро разберусь, имея опыт в win32? Нужно ли джаву знать или можно чисто на С++ писать?
Аноним 23/11/21 Втр 18:12:49 #1252 №2220550 
>>2220530
>Насколько похож на win32? Быстро разберусь, имея опыт в win32?
Перечел и понял, что хуйню сморозил. Хочу приложуху портировать на ведроид вот и все дело. Последний вопрос не отменяю.
Аноним 23/11/21 Втр 19:01:40 #1253 №2220625 
>>2220468
Запиши как поток субтитров
Аноним 23/11/21 Втр 19:25:31 #1254 №2220644 
>>2220625
поток субтитров - это отдельный поток. Есть функционал добавления именно к пакету - add_side_data . Но он нихуя не работает. Не пойму почему. Может эта side data вообще для чего-то другого?
Аноним 24/11/21 Срд 06:20:28 #1255 №2221000 
Какую хуетень сделать для портфолио? Идей вообще нет. Особо сложное не советуйте. Можно вместе с питоном
Аноним 24/11/21 Срд 06:39:57 #1256 №2221002 
>>2221000
А ты в какую область собираешься идти?
Или похуй главное чтобы плюсы?
Аноним 24/11/21 Срд 07:33:10 #1257 №2221014 
>>2221002
да впринципе не особо важно, только не сильно связанное с веб. Как опыт будет определюсь точнее
Аноним 24/11/21 Срд 08:24:55 #1258 №2221020 
Где про STL на русском можно почитать? зачем какой контейнер нужен и какие проблемы решает
sageАноним 24/11/21 Срд 09:05:55 #1259 №2221025 
>>2221020
В любой книге про C++.
Аноним 24/11/21 Срд 10:24:38 #1260 №2221061 
>>2221014
Иди в Java. Там денег больше платят - беспроигрышная мотивация. А с твоим "не знаю чего хочу" закатишься в НИИ или эмбед и там утонешь.
Аноним 24/11/21 Срд 11:20:15 #1261 №2221119 
>>2221014
Тут важно понимать, что каждое из полей применения плюсов нуждается в своих знаниях. Не получится, как в питоне, знать scipy, pytorch/flask, django , чтобы покрыть 99 процентов ваканский
Я в плюсах около года и, насколько успел понять, остались они только в эмбедед, HFT, всякие деплои нейросеток (как правило, деплои сеток CV) и в некоторых проектах на них пишут критичные к скорости ядра. А ну и еще Яндекс на плюсах разрабатывает ВСЕ
Наверное, знания того, как работать с сетью + многопоточность и углубленное знание плюсов покроет процентов 60 вакансий, но есть вероятность, что другие 40 требуют совершенно иных знаний: opencv, pointcloud и тд
Бля пишу пьяный и сумбурно, сорян
Короче учи сети и углубляйся в плюсы, пока не понимаешь чего хочешь
Говоришь, что просил проект а не сферу знаний куда углубляться? Так вот проект не ебу
Торрент свой напиши, хуй его
Аноним 24/11/21 Срд 11:27:37 #1262 №2221128 
Так, раз уж пошла пьянка с проектами. Я сейчас работаю в CV, хочу перекатиться в HFT,тк есть интерес попробовать свои силы в другой сфере. Какой проект бы лучше сделать, чтобы техлид руку жал, на свое место звал а хрюша плакала от счастья увидев мой гит?
Аноним 24/11/21 Срд 15:15:09 #1263 №2221292 
После установки пакета vcpkg пишет, какие строчки он поддерживает из cmake. Как посмотреть эту информацию ещё раз?
Аноним 24/11/21 Срд 15:18:52 #1264 №2221299 
>>2221061
Это конченный язык чтоб он сдох блять. Мне хватило его после майнкрафта.
После пары лет вката выкачусь и буду делать системы, эмуляторы ещё что посложнее, профит
Аноним 24/11/21 Срд 15:20:01 #1265 №2221303 
>>2220149
rlyyea
Аноним 24/11/21 Срд 15:31:59 #1266 №2221309 
>>2221292
Последний раз, когда это тыкал, команды для этого не было. Надо было ручками зайти в каталог vcpkg с этим пакетом, и там где-то сохранялся этот лог.
Аноним 24/11/21 Срд 21:40:12 #1267 №2221548 
>>2221299
Ты тред то читал? На "системы, эмуляторы" и прочее обычно есть 2.5 вакансии по каждому направлению. Хорошее знание с++ там только 50% от условий для вката.
Аноним 24/11/21 Срд 21:47:11 #1268 №2221553 
>>2221299
Если ты от жавы сгорел, то в плюсах тебе пизда
Ненависть к языку и средствам разработки тут это твое стандартное состояние
Аноним 25/11/21 Чтв 03:55:29 #1269 №2221730 
Что за пиздец, как собрать простенький проект в GitHub actions? Он постоянно выдает всякие ошибки, которых нихуя нет в моей командной строке. Например Skipped Deploy Configuration Debug Any CPU project not selected to build, хотя я ему хоть как указывал и 64 бит, и Release, но ему похуй. На appveyour собирает из под пинка
Аноним 25/11/21 Чтв 16:19:45 #1270 №2222103 
>>2217375
>Они ебанулись давать с++ в 10 классе?
Двачую, полная деградация. Надо в плюсы вкатываться в 5м
Аноним 25/11/21 Чтв 16:23:17 #1271 №2222105 
Есть ли какой-то способ распечатать pdf файл на локальном принтере с помощью qt c++ или просто c++?
Если есть можете пожалуйста подсказать.
Аноним 25/11/21 Чтв 16:51:40 #1272 №2222122 
>>2222103
Ну серьёзно. Я сейчас лекции для баколовриата от мужика из мфти слушаю. Там куча мест где можно прострелить себе колено.

И где ебучий перекат?
Аноним 25/11/21 Чтв 23:33:41 #1273 №2222475 
>>2221119
>Я в плюсах около года и, насколько успел понять, остались они только в эмбедед, HFT, всякие деплои нейросеток (как правило, деплои сеток CV) и в некоторых проектах на них пишут критичные к скорости ядра. А ну и еще Яндекс на плюсах разрабатывает ВСЕ

А игры? На чем игры-то делают? Я думал, учить плюсы с прицелом на игры, это самое оно.
Аноним 25/11/21 Чтв 23:57:42 #1274 №2222481 
>>2222475
Из конструкторов и блюпринтов ляпают, на unity + c#, на java под мобилки, на python пишут логику и только движки и критичные по производительности куски пилится на c++.
Аноним 26/11/21 Птн 00:00:55 #1275 №2222485 
>>2222481
А как же Unreal Engine
Аноним 26/11/21 Птн 00:20:18 #1276 №2222494 
>>2222481
Следует ли из этого, что на плюсах с вакансиями дела обстоят так себе, особенно для новичков?
Аноним 26/11/21 Птн 01:41:54 #1277 №2222518 
>>2222494
Открой hh и введи там junior develoer. Сразу всё узнаешь - где сколько и почём.
Аноним 26/11/21 Птн 03:56:07 #1278 №2222538 
>>2222518
Там в большинстве вакансий не указана зарплата, так ещё и охуевшие компании требуют высшую корочку, портфолио, и ещё дохуя чего, и это для начинающего разработчика
>>2222494
Да, так себе
Аноним 26/11/21 Птн 04:23:23 #1279 №2222543 
>>2222538
А по каким критериям тогда отбор вести? Кто первый прислал резюме, того и нанимаем?
Аноним 26/11/21 Птн 11:03:16 #1280 №2222653 
>>2222475
да, забыл, соре
конечно и анриал
Аноним 26/11/21 Птн 16:21:50 #1281 №2222845 
>>2222105
Кресты ничего не знают про принтеры, про них знает система. На Винде например типа этого https://stackoverflow.com/questions/33998227/print-a-pdf-file-with-mfc
Аноним 26/11/21 Птн 20:58:41 #1282 №2223038 
>>2222845
спасибо за ответ
Аноним 27/11/21 Суб 02:19:49 #1283 №2223168 
>>2217006
>Нвидия в Москве вообще как закрытый клуб. Мониторю их вакансии. Там их совсем немного всегда висит. Даже как-то сам резюме засылал их hr'у (далеко не на джунскую позицию). Вообще ничего не ответили, собаки.
Такого быть не может, у нас адовый пиздец с народом, и эйчары работают
Аноним 27/11/21 Суб 02:34:16 #1284 №2223170 
>>2223168
8 вакансий на хэдхантере. Сравни, сколько у интела.
Аноним 27/11/21 Суб 02:38:43 #1285 №2223171 
>>2223170
Вакансии надо на воркдее смотреть, и подаваться тоже на воркдее хотя на HH закинулся в свое время

https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/
Аноним 27/11/21 Суб 07:09:43 #1286 №2223200 
>>2223171
Чайна, Чайна, сша, Индия, там вообще России нет
Аноним 27/11/21 Суб 14:55:01 #1287 №2223428 
image.png
>>2223200
Когда ты не очень умный
Аноним 27/11/21 Суб 23:09:27 #1288 №2223868 
Есть абстрактный класс. Хочу создать вектор умных указателей на его наследников, чтобы потом в произвольные места можно было замувать объекты. Но я не могу просто взять и сделать вектор определенного размера, потому что компилятор ругается на то, что у класса не определен конструктор.
Аноним 27/11/21 Суб 23:14:04 #1289 №2223869 
>>2223868
Я так понимаю дело в том, что вектор потом должен будет вызвать деструктор, но мне так делать не придется. Можно ли вектору запретить вызывать деструкторы?
Аноним 28/11/21 Вск 00:36:03 #1290 №2223930 
>>2223868
.reserve()
Аноним 28/11/21 Вск 10:33:51 #1291 №2224028 
Где ещё поискать работу для джюниора кроме hh в Москве? Оправил 20 компаниям, никто чёт не пригласил пока
Аноним 28/11/21 Вск 11:06:57 #1292 №2224044 
>>2223869
Это очень плохая идея. Потому как деструктор необходим для чистки твоей памяти которую зарезервировал конструктор. Более того, если хочешь наследоваться от абстрактного класса деструктор должен быть виртуальным. А иначе перед удалением указателя родителя, тебе нужно будет проверять и приводить каждый указатель к соответствующему классу.

Господа мы скоро получим срыв стека и UB. Думаю срочно нужно перекатываться.
Аноним 28/11/21 Вск 15:12:08 #1293 №2224253 
>>2224028
>Где ещё поискать работу для джюниора кроме hh в Москве?
Напрямую подаваться в Яндекс, Хуавей, Самсунг, Интел, МЦСТ и прочие относительно крупные конторы, где нужен С++.
Если никто не ответит, ну или никто не возьмет джуном, то поздравляю, рыночек С++ для тебя будет закрыть, тогда смело начинай учить js/python/php
Аноним 28/11/21 Вск 17:05:07 #1294 №2224401 
>>2224253
В Яндексе дохера вакансий, там же должны разные ХР сидеть, то есть есть смысл в несколько подавать?
Ещё есть стажёр с какими то непонятными пунктами, типа что вы изучали в институте, какие самые интересные ваши проекты, впринципе это и можно придумать, но там ещё и покажите портфолио, а с этим трудно
Аноним 28/11/21 Вск 19:51:36 #1295 №2224627 
Есть класс. Есть наследник этого класса. Хочу в базовом классе создать поле-указатель на наследника, но компилятор ругается, потому что наследник не определен.
Аноним 28/11/21 Вск 19:55:05 #1296 №2224633 
>>2224627
Ты не можешь, можно только сделать указатель того же типа, что и базовый класс, ему присваивать адреса наследников.
Аноним 28/11/21 Вск 19:55:50 #1297 №2224634 
>>2224627
Обязательно на наследника?
Если нет, то просто делаешь указатель на сам базовый класс

а вобще так делать лучше не стоит
Аноним 28/11/21 Вск 19:57:27 #1298 №2224637 
>>2224634
>>2224633
Нужно именно на наследника. Я не понимаю че ему не нравится. Создай указатель размером 8 байт, да потом уже смотри по определению че с ним делать.
Аноним 28/11/21 Вск 19:58:21 #1299 №2224641 
изображение.png
>>2224627
Он вообще лютые ошибки пишет.
Аноним 28/11/21 Вск 19:59:29 #1300 №2224644 
>>2224637
Ну тогда ты делаешь что то убер костыльное, соответственно и пользуйся анологичными вещами
Войд звёздочка ну или стд эни звёздочка
Аноним 28/11/21 Вск 20:00:38 #1301 №2224646 
>>2224634
Может попробовать перед родительским классом написать
class b;

Но подумай тебе точно это надо?
Аноним 28/11/21 Вск 20:05:27 #1302 №2224653 
>>2224646
Сработало. Спасибо.
>>2224644
Ну зато снаружи все хорошо теперь будет выглядеть
Аноним 28/11/21 Вск 21:05:09 #1303 №2224679 
Что за ебанутый язык, я хуею! Как блять по нормальному сука сделать простейшую задачу, считать два числа из аргументов консоли? Уже как только не перепробовал. Ни первый, ни второй вариант нихера не работают

int main(int argc, char argv[]) {
if (argc > 1) {
std::istringstream iss(argv[1]);
int a = 0, b = 0;
iss >> a >> b;
std::cout << a + b;
}
return 0;
}
int main(int argc, char
argv[]) {
std::cout << std::stoi(argv[1]) + std::stoi(argv[2]);
return 0;
}
Аноним 28/11/21 Вск 21:22:52 #1304 №2224690 
>>2224679
А забейте, всё работает
Аноним 28/11/21 Вск 21:50:09 #1305 №2224713 
Только подскажите istreamstring нормальный способ? std::stoi стоит использовать, остальное легаси хлам?
sageАноним 28/11/21 Вск 21:53:54 #1306 №2224720 
>>2224713
Есть std::to_chars если ты об этом
https://en.cppreference.com/w/cpp/utility/to_chars
sageАноним 28/11/21 Вск 21:58:15 #1307 №2224726 
>>2224713
>>2224720
Ошибся. Тебе же наоборот нужно?
Есть и в другую сторону
https://en.cppreference.com/w/cpp/utility/from_chars
Аноним 28/11/21 Вск 22:00:41 #1308 №2224729 
Анонче, получилось уже модули потестить? На какой платформе?
gcc? clang? msvc?
Аноним 28/11/21 Вск 22:14:16 #1309 №2224746 
>>2224729
В швятой штудии 22 поигрался немножко. Ну, работает, все охуенно.

Жду, пока решарпер под них допилят (Обещают в середине 22) и на работу все проекты перевезу на 22 студию, и будем новый код писать с модулями (и мб старый тоже, если будут большие бусты по времени компиляции).
Аноним 28/11/21 Вск 22:16:27 #1310 №2224748 
>>2224746
Я так и не понял че там с 2022 студией? Она вышла? А то я инсталлер открыл, ниче нет. Или мне другой надо скачивать?
Аноним 28/11/21 Вск 22:17:48 #1311 №2224754 
image.png
>>2224748
Инсталлер 2022 скачивай
Аноним 28/11/21 Вск 22:19:32 #1312 №2224757 
>>2224754
А имеет смысл вообще или нет? Есть там че то прикольное? А модули разве в 19 не завезут?
Аноним 28/11/21 Вск 22:20:23 #1313 №2224758 
>>2224757
Модули в 19 - компилируются только из КОНСОЛЬКИ ручками с кучей багов. А тут полноценная поддержка в IDE в том числе.
Аноним 28/11/21 Вск 22:22:53 #1314 №2224759 
>>2224758
Понял. Спасибо
Аноним 29/11/21 Пнд 00:44:52 #1315 №2224853 
1638135889560.jpg
Анон, помоги с архитектурой
Предположим, есть яблоки, все нумерованы. Я яблоки всячески сортирую, что-то выкидываю, распихиваю в разные ведра, в шестом ведре яблоки помыл. А потом приходит Вася, ищет и откусывает яблоко четыре.

Как это всё лучше хранить? Инб4 копипастой. Я использовал карту в глобальном хранилище, а корзины уже хранили std::const_reference<Apple>, средне удобно, да ещё бесит пиздец в лямбдах из карты .second аргумент всегда брать, плохо зделоли.
Сейчас использую std::list и его замечательное свойство splice, которым удобнейше сортировать и разбрасывать яблоки по корзинам. Зато поиск так себе, чтобы взять яблоко 6, придется все корзины перерыть.

Может быть стоит использовать shared_ptr? У меня с ним опыта мало, плохо чувствую его работу.
Аноним 29/11/21 Пнд 01:47:13 #1316 №2224868 
>>2224853
я нихуя не понял
Аноним 29/11/21 Пнд 03:25:32 #1317 №2224880 
>>2224853
Какие яблоки? Ты ебанутый. Нормально задачу сформулируй
Аноним 29/11/21 Пнд 07:12:46 #1318 №2224900 
>>2224729
Что ещё за модули?
Аноним 29/11/21 Пнд 08:56:03 #1319 №2224910 
>>2224868
>>2224880
Студенты?
Аноним 29/11/21 Пнд 09:02:50 #1320 №2224912 
>>2224910
Шизоид?
Аноним 29/11/21 Пнд 14:44:15 #1321 №2225173 
https://2ch.hk/pr/res/2225172.html
https://2ch.hk/pr/res/2225172.html
https://2ch.hk/pr/res/2225172.html
Аноним 29/11/21 Пнд 17:24:22 #1322 №2225305 
image.png
Требуется построить матрицу B, где каждый эл-т bij равен произведению эл-тов akl из области Омега. Что не так?

double bild_matr(doubleA, int n)
{
int i, j, k, l;
double B;
B=new double[n];
for(i=0;i<n;i++)
B=new double[n];
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
B[j]=A[j];
for(k=0; k<=i; k++)
for(l=j-i+k;l<=j+i-k;l++)
B[j]
=A[k][l];
}
return B;
}
Аноним 29/11/21 Пнд 18:36:35 #1323 №2225381 
>>2224401
>В Яндексе дохера вакансий, там же должны разные ХР сидеть, то есть есть смысл в несколько подавать?

В яшке вакансий не так уж и много для джунов-стажеров, попробуй податься к ним на стажку, а дальше у тебя будет несколько алгоинтервью, после чего интервью с командами, может и возьмут куда.
Аноним 12/12/21 Вск 10:51:35 #1324 №2235611 
Как самоучке на РАБоту устроиться? Вышки нет, но опыт охуеть. Знаю ассемблер х86 и х64
Аноним 19/12/21 Вск 06:14:58 #1325 №2241541 
почему устанавливать либы - это обязательно ручная жопаболь с настройкой компилятора?
где рабочие аналоги пипа и градла?
Аноним 26/12/21 Вск 04:16:24 #1326 №2248140 
Лаба горит. Помогите, пожалуйста. Вот задание. Создать два класса: матрица (int ) и координаты (две пары
чисел). Описать функцию, которая меняет местами два
элемента, положение которых задается координатами во
втором классе, как дружественную. Предусмотреть проверку
соответствия координат и размерности матрицы. Вот тут мои наработки: https://pastebin.com/BiaczWFK
Аноним 15/02/22 Втр 20:07:41 #1327 №2298335 
>>2241541
Смотри в сторону vcpkg
Аноним 16/03/22 Срд 12:13:42 #1328 №2317636 
Что, плюсы придумали хорошо аль нет?
Инвестиции в фундаментальные разработки кто-то пробовал вести?
100 человекочасов Анеку доверите?
Аноним 31/03/22 Чтв 14:49:18 #1329 №2326458 
std::schema std::disklog std::floppa
comments powered by Disqus

Отзывы и предложения