Этого треда уже нет.
Это копия, сохраненная 22 апреля 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png89 Кб, 1200x1349
С++ thread #131 /cpp/ 2157621 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

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

Для указателей: ⚹
Прошлый тред: https://2ch.hk/pr/res/2111351.html#2156767 (М)
2 2157638
Вечер в хату
3 2157642
C++ лучше чем раст и шарп.
4 2157645
Джава лучше чем c++
py.png171 Кб, 1019x377
5 2157648
6 2157675
Ну, как новости? Имена переменных более чем из одной буквы завезли?
7 2157681
>>157675
Да, два символа, но второй может быть цифрой.
8 2157704
>>157642
>>157645
вам туда --> >>2150451 (OP)
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(), он должен итерироваться по всей озу, пока не надет нужный адрес ячейки. Однако происходит всего одна итерация.
10 2157785
>>157776

>Чем является итератор?


Итератор является итератором...

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


Просто определен operator⚹()

>Здесь я ожидаю что-то вроде бесконечного цикла


Это UB
2474CCC5-3935-416B-BAFB-2ECB27411E42.jpeg215 Кб, 1118x1892
11 2157790
>>157776
Бля, я перегрелся от плюсов. Уже сам понял, в чем моя ошибка, пока писал сообщение: там же после каждой итерации a.end() будет получать end вектора b, так что все ок.
Тогда объясните еще такой вывод. Правильно понимаю, что тут из-за ресайза такое получается и может ебнуть access violation, там, где он начинает печатать нули до последнего нуля включительно?
12 2157807
>>157793 (Del)

>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 пришла замена в виде модулей.


Модули нахуй не всрались
13 2157810
>>157790

> там же после каждой итерации a.end() будет получать end вектора b, так что все ок.


Я опять поторопился. Сейчас понял, мое изначальное предположение было правильным, и я этот факт уже учитывал. Лол. Так что вопрос актуален + хочу объяснение того пика, который скинул.
>>157785

> Это UB


Почему это ub?
image.png29 Кб, 908x272
14 2157820
>>157810

>Почему это ub?


https://en.cppreference.com/w/cpp/container/vector

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

>>157813 (Del)
Съеби отсюдя блядь
15 2157827
Исключения нинужны.

MyClass x;
if (!x.init())
{
log("error");
return;
}
16 2157832
>>157827

>Исключения нинужны.


ПАШОЛ НАХЮЙ!!!

Дрочи на свои коды возврата в другом местяе
17 2157835
>>157776

>a = b;


У тебя копируется содержимое вектора, а не ссылка на него, тут тебе не жс или откуда ты там. Но вообще это UB поскольку вектор меняется и могут инвалидироваться итераторы.

А итератор это такая абстракция работы с коллекциями данных, которая в принципе может делать что угодно. Например inserter итераторы никуда не указывают, а вставляет значения в контейнеры. Ты можешь написать итератор который работает по сети с базой данных и он будет работать со всеми стандартными алгоритмами стл.
18 2157837
>>157832
В каком?
19 2157866
>>157854 (Del)
Съеби отсюда школьник
20 2157868
>>157854 (Del)
>>157866
Шизики, спок.
21 2157878
>>157793 (Del)

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



В джаве она хотя бы обрыганская, но есть, а в С++ в принципе инфраструктуры нет...
22 2157881
>>157793 (Del)
большой скачек был бы если бы abi стандартизировали и как следствие стандартизированную динамическую загрузку классов
а все что сделали это добавили кучку синтаксического сахара чтобы было удобней делать шаблонную магию, добавление семантики вообще наверное только одно сделали - семантику перемещения ввели..
а так кресты в энтерпрайзе все и сдохли потому что не этого, а явка живет там и процветает
да че там, даже если хочешь сделать любую плагинную систему, в той же любой расширяемой игре, то будь готовь пердолить сишный код как 40 лет назад, по сути накручивая всю ту же компонентную модель на структурах и указателях на функции как в com или gtk
хотя нахуя я это написал, потому что кто это понимает, понимает и так, а кто не понимает, то посчитает мой текст шизофреническим бредом
23 2157885
>>157881

>скачек


Ты обосрался уже во втором слове.
24 2157886
>>157885
А мелкобуква норм, да?
25 2157887
>>157886
Я закончил чтение на втором слове.
26 2157893
>>157885
содержание важней формы
27 2157896
>>157893
Лозунг всратых.
28 2157900
>>157896

>всратых


ты, бля, в с++ треде, не думаю что тут обитают модельной внешности пареньки
.png8 Мб, 2000x2800
29 2157909
>>157900
Здесь модельной внешности деффки, просто пишут в мужском роде, чтобы не требовали сап с датой.
30 2157918
Как cpp выводит int в консоль? Он постоянно делит и берет остаток по модулю 10?
31 2157922
>>157918
Да, а как иначе?
32 2157935
>>157881

>большой скачек был бы если бы abi стандартизировали и как следствие стандартизированную динамическую загрузку классов


и поломали бы существующий софт

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


нет, у джавки был Сан, у Сана были Солярки и деньги. Собственно платформа+бабки = язык программирования. За плюсами никто не стоял и не пиарил.
56.png1,6 Мб, 1280x720
33 2157961
>>157909
Вот такие?
изображение.png109 Кб, 294x294
34 2157996
Если итератор инвалиднулся, ему можно новое значение присвоить? Самому итератору, а не туда, куда он указывает.
35 2158009
>>157837
В С++ треде
36 2158042
>>157996
Да, конечно. С итераторами вообще можно как угодно обращаться - копировать, перезаписывать. Они ж чаще всего просто хитрые указатели.
37 2158052
Вот бы поскорее фичи из раста спиздили в плюсы

удобные option и result, match еще очень хочется
и вместе со всем этим аналог карго
38 2158073
>>158052
Вот будет смеху то, если borrow checker завезут.
39 2158102
аноны, что за синтаксис такой
auto&&
int count(const Container& container)
{
int sum = 0;
for (auto&& elt : container) {
sum += 1;
}
return sum;
}
40 2158121
>>157793 (Del)

>Отсутствие какой-либо высокоуровневой поддержки конкурентности, нету тред пулов


Экзекуторы уже почти готовы, потерпи чутка и всё будет в сторонней библиотеке от фейсбука или гугла
41 2158128
>>158102
rvalue-ссылка с выводом типа?
42 2158132
>>157881

>большой скачек был бы если бы abi стандартизировали


Так аби и так стандартизировано, читай мануал по SystemV и пиши что хочешь.
43 2158210
>>158121

>в сторонней библиотеке от фейсбука или гугла


Ну так то в куте с 2008 года есть.
44 2158229
>>158073
Спасибо не надо
И без него ебли с компилятором хватает

да и не получиться никак
45 2158253
>>158042
Разобрался уже.
У меня в дебаге включена проверка итераторов и она не дает вообще ничего сделать с итератором, если решила, что он инвалид. Нельзя даже присвоить ему валидный итератор.
изображение.png5 Кб, 217x226
46 2158383
Как сделать, чтобы заработало?
В cmake версия языка 20
47 2158394
>>158383
spaceship operator нужно написать самому в своем классе
он неприменим к простым типам
image.png13 Кб, 423x276
48 2158398
>>158383
ну или используй как-то так я хз
49 2158414
>>158398
Что-то у меня нет либы compare
50 2158484
Приятно видеть, что треды с няшной и плюсами висят на нулевой. Думал, только веб-макаки остались.
51 2158574
>>158484
Один из самых популярных тредов
Не в последнюю очередь благодаря лабам
52 2158621
>>158574
лабы идут нахуй
53 2158726
Стоит ли вкатываться в кресты?В ньфаг треде уже писал, но хочется узнать больше мнений. Дело в том, что сейчас я перешёл на второй курс и решил к его окончанию вкатиться хотябы в стажировку лучшим вариком кнш является работа джуном, но опыта работы у мя 0, так что хз. Сам я предпочитаю плюсы, и есть чутка опыта в шарпе и питоне.Проскролив разные вакансии и просмотрев чарты популярности языков, я задумался о том, что мб резоннее было вкатиться во что-то другое, ибо работы больше, да и разнообразнее она, ибо в дс2 дохуя вакансий на c++ со всяких заводов и около КБ.
54 2158778
Каким надо быть уебаном чтобы сделать программу только для винды которая собирается только под Mingw?
Короче, хочу портировать её под нормальный компилятор, это сложно? Такой вопрос не смог нагуглить, на что лучше всего заменить ssize_t? Зачем эта хуета нужна, я тоже не понял спустя столько времени гуглёжки. Почему просто не использовать unsigned int?
55 2158782
>>158484
Запилите нормальную шапку с непротухшими книгами
56 2158787
>>158782
Кто я ?
57 2158797
>>158787
Ты хуй.
image.png8 Кб, 276x333
58 2158821
Что мужики говорят про такое?

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

Но на гитхабе такое не видел - мужики так не пишут. Так какие подводные?
59 2158843
>>158821
Пиздец, ты вообще конченный??
60 2158845
>>158843
аргументируй. Мне реально интересно что тут может быть не так, в плане показа кода другим (в том числе на собеседованиях).
61 2158855
>>158845
Я просто в шоке, даже расписывать не буду
62 2158857
>>158855
Что же там тебя шокировало?
63 2158874
>>158128
я вас спросить хотел
64 2158875
>>158726
Знать стоит, а вкатываться в плане заработка не стоит.
На мой взгляд начинать надо с
1. си
2. Java, С#
65 2158881
>>158778
Потому что size_t не на любой платформе является unsigned int
Это какой компилятор у тебя size_t не компилирует?
66 2158885
>>158874
rvalue-ссылка с выводом типа.
sage 67 2158909
Че за школьная шелупень в С++ треде, где хардкорные задроты, давайте обсуждать сложные задачи и сложные их решения на С++, а не эту хуету уровня хелоу ворлд.
68 2158925
>>158821

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


А почему просто не положить эти поля внутрь класса, и не внутрь структуры внутри класса?
69 2158941
>>158909
ну давай, ты начинаешь
70 2158952
>>158909
Недавно пришлось сделать бамп аллокатор. Минут 5-10 пишется, прикольно получилось и прямо зашло в архитектуре, получилось быстрее (хотя там инициализация программы, на скорость примерно пофиг) и намного меньше оверхеда чем от системного аллокатора. Ну вот и всё, как-то говорить не о чем.
71 2158984
test
72 2158985
Блять все заного писать, видимо случайным образом попался айпишник с баном.

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

>>158952
Так есть же tbb malloc, jemalloc, tcmalloc и прочее. Нахуя свой кривой велосипед пилить?. Лично я очень активно юзаю tbb во всех своих проектах. Очень классная либа где есть все из коробки и таски и парлель фор и конкурентные дата стракчерс и алокаторы.
73 2159009
>>158985
Опять это синьор+ пригорает тут
74 2159016
>>158985

>Нахуя свой кривой велосипед пилить


Потому что когда у тебя буквально почти сотня гигов данных которые ты должен держать в раме, проще написать штуку на 20 строчек чем теребить general-purpose маллоки.
75 2159031
>>159016
Что мешает держать сотни гигов с приведенными мной отлаженными аллокаторами еще и заточенными под многопоточность? Вот твоя поделка поддерживает многопоточное выделение памяти? Сомневаюсь. И наверняка там еще десяток багов неберется. В нормальном проекте такой велосипед бы не прошел код ревью 100% и тебя бы заставили юзать готовые проверенные алокаторы.
76 2159047
>>159031

>многопоточность


Мне не нужна, там инициализация в один тред при запуске идёт и дальше все обращения read-only. И там буквально 20 очевидных строчек кода, какие баги лол.
77 2159052
>>159047
И сразу предупрежу возможный вопрос: есть как юниты, так и интеграционные тесты, все гоняются под asan-сборкой. Только фаззирование у нас в далёких планах.
78 2159068
>>159047

>буквально 20 очевидных строчек кода, какие баги лол.


Этого достаточно чтобы совершить баг, работая с голо памятью, в лучшем случае это может привести к сегфолту в худшем к неочевидному трудновысисляемому багу и мемори ликам.
Вообще я не понимаю в чем сложность использовать готовые решения.
Просто я не сторонник изобретения велосипедов, и знаю каким боком это может обернуться в проекте. Поначалу может казаться что эти 20 строчек кода действительно проще написать самому чем подключать какую-то либу к проекту, но со временем такой код может начать обрастать зависимостями и костылями, что в конечном итоге приведёт к очень сложному рефакторингу по тскоренению всего этого самописного говна. На моей прошлой работе, именно так и было сначала тоже всякие умники практиковались в с++ доказывая себе и кому-то ещё что они могут, но в итоге потом с этими велосипедами были большие проблемы. Так что проще найти какие-то уже известные либы для себя которые покрывают большинство нужд в с++ и юзать их в любом проекте с самого начала.
79 2159086
>>159068
Я и не спорю, я сам не люблю велосипеды и хитровыебства без причины. У нас тоже для загрузки хватало обычного new/delete, но потом внезапно разрослись данные. И именно в этом месте я решил, что контроль важен и general-purpose аллокаторы не потянут, и переписал. Если бы нужно было что-то сложнее (или я бы думал, что впоследствии придётся делать что-то сложнее), я бы уже призадумался найти что-то готовое. Тут есть некая грань, которую нужно научиться ощущать, и лишь время покажет, оказался ли я прав. Вообще говорят что mimalloc сейчас топ в плане general-purpose, надо бы мне затестить как-нибудь.
80 2159131
>>159086

> У нас тоже для загрузки хватало обычного new/delete,


Вы прям так напрямую память через new выделяете?
Как на счет безопасных RAII контейнеров аля std::vector?

>general-purpose аллокаторы не потянут,


А чем они не потянул? Если у вас нету конкурентности. Даже стандартный аллокатор спокойно может выделить хоть 60 гб памяти за раз, при условии 64 битной архитектуры и наличия достаточного количества RAM + SWAP
81 2159146
>>159131

>Вы прям так напрямую память через new выделяете


Нет конечно, я просто как пример привёл.

>А чем они не потянул?


Изначально у нас и был вектор на несколько сотен тысяч объектов разного непредсказуемого размера (по сути строк, но с несколькими кусками метаданных), то есть приходилось выделять память как под сам вектор, так и дополнительно отдельно на каждый объект. Вот оверхед по памяти на каждую из стапиццот аллокаций я и хотел побороть, он там ~30-40% был. Теперь же всё как раз и лежит в одном большом блоке памяти, и этот блок бамп аллокатором и заполняется.
82 2159179
>>159146
Ок, ну ты же понимаешь, что теперь ты загнан в периметр этого большого блока памяти и не сможешь его просто так увеличить если что да и память он нерационально занимает. Но вот готовые аллокаторы могли бы тебе помочь с фрагментацией памяти при многократном выделении, т.к. внутри себя они выделяют память из пулов и по умному там все распределяют.
Вообще тут надо смотреть исходя из задачи и требований, может вообще лучше сменить ваш вектор на хешмапу, либо какой-нить btree, либо сделать какую-то древовидную структуру с чанками в виде векторов на липестках. Потому что сам понимаешь при добавлении или удалении элементов из такого огромного вектора всю память под него нужно будет реалоцировать заного и копировать туда старую, что уже довольно дорого и тоже не очень эффективно т.к. вектор внутри себя тоже аллоцирует всякий раз памяти с запасом в зависимости от текущего числа объектов в нем.
83 2159187
>>159179

>не сможешь его просто так увеличить


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

>память он нерационально занимает


Там всё вплотную лежит, ничего лишнего. В этом и суть бамп аллокатора. Думал правда некоторые величины в LEB128 закодировать вместо uint16_t потому что они по большей части в районе 20-100 были, но это уже точно лишнее, так как моя цель уже достигнута.

Короче, поэтому в этом треде и не стремятся "обсуждать сложные задачи и сложные их решения на С++"
84 2159377
>>158726
Хз. На первом курсе устроился в видеонаблюдение крестомакакой в мухосранске. Прошивка была готовая, поэтому стояла задача писать конфиги за 22к в месяц. По учёбе накопилось дохуя долгов и меня отчислили. один хуй не ит специальность, но техническая Скоро должна прийти повестка. Самое хуёвое, что работал не оффициально, поэтому опыта работы нет. опыт написания конфигов, лол
85 2159495
>>158782
если ты зелененький совсем, то читай липпмана, потом полирни последней книгой майерса
не читай последние книги страуструпа, он плохие книги в конце жизни стал писать, лениться
в идеале стоило бы сначала k&r прочитать пару раз с выполнением всех упражнений
86 2159496
>>158821

>мужики


а еще блатные, пидоры и черти"!
87 2159498
>>158909
ну я закинул удочку про то что в с++ нет стандартизированного abi и как следствие нет стандартизированной динамической загрузки классов, получил пару стандартных ответов + хейт
и все
как бы уровень этого треда понятен, можно дальше в нем бред и хуету писать, кекая и мекая, а нахуя серьезно что то делать? на вопросы ньюфагов отвечать что означает && в том или ином контексте? да нахуй нужно
88 2159501
>>158985

>Нахуя свой кривой велосипед пилить?.


с целью обфускации, защита от внутривидовой конкуренции между программистишками
89 2159505
присоединяюсь к совету что стоило продумать либо вообще поменять структуру хранения данных, а не сразу бросаться в омут и писать кастомный аллокатор
с другой стороны автор кастомного аллокатора возможно гораздо умнее: ибо понаписав подобного кода, хуй теперь его уволят с его работки, ибо только он сможет объяснить че он там вообще имел ввиду и зачем
90 2159536
>>159498

>нет стандартизированного abi


Что ты вообще имеешь в виду под этим? Что в стандарте не описывается загрузчики эльфов, мэнглинг, пэддинги и регистры всех-всех-всех процессоров?
91 2159582
Подскажите, что можно написать в качестве пет проекта на плюсах, связанное с распределенными системами/многопоточкой/сетью, мб базами данных. Сам в разработке давно не нуб, пишу на эрланге много лет, но хочется плюсы освоить на практике сразу.
92 2159583
>>159536
хотя бы имена
в общем минимум который позволил бы сделать стандартизированную динамическую загрузку классов
93 2159596
>>159582
Странно. Если ты в разработке давно не нуб и пишешь на эрланге много лет, то наоборот ты должен рассказывать, что можно написать, связанное с распределенными системами/многопоточкой/сетью и базами данных, не?

Например, если бы нужно было бы написать на эрланге, а не на плюсах, какие идеи проектов ты бы мог придумать?
94 2159599
>>159495
Тухлая паста, советовать изучать c это вообще клиника
95 2159609
>>159596
Ну, мне хочется написать то, что на плюсах было бы сделать лучше чем на эрланге, но в области которая мне знакома и интересна. Делал в основном всякие опердеи, платформу для месседжинга, биллинг, процессинг. Но не буду же я в качестве пет проджекта делать биллинг и процессинг, а очередной мессенджер скучно. В идеале бы хотелось еще писать то, в чем С++ проявил бы себя лучше, чем эрланг. Думал над каким-нибудь простеньким сервером для мультиплеерной консольной игры, но что-то не стоит особо на это, да и показывать потом как-то стыдно такое.
96 2159615
>>159609

> Делал в основном всякие опердеи, платформу для месседжинга, биллинг, процессинг.


Делай это.

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


Это просто отмазки.

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


И это тоже сделай. Не обращай внимания на отмазки.

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

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

Мне кажется, здесь может оказаться полезной такая штука, как само-анализ, само-диагностика, разобраться в себе. Взять тетрадь и записывать туда мысли, например, начав с вопроса "почему мне трудно придумать идею проекта?" и дальше перечисляешь всё, что приходит на ум, какие-то диалоги, воображаемые споры, предположения и т.д. Например, можно представить себе двух персонажей, живущих в твоей голове: Перфекционист и Начинающий Мастер. Начинающему Мастеру нужен опыт, практика, а Перфекционисту нужны идеальные проекты и идеальные реализации. Ты отправляешь идею Начинающему Мастеру, но её перехватывает Перфекционист, ему не нравится идея и он выбрасывает её в мусор. Нужно что-то делать с этим сумасшедшим Перфекционистом, чтобы он не мешал Начинающему Мастеру. Ну это как пример.
97 2159619
>>159615
Вот с перфекционистом и начинающим это прямо точно описал, еще часто вступает прагматик (зачем этот проект нужен? что мне с ним потом делать?).
Спасибо тебе, вдохновил. Начну, наверное, с распределенного чата, чтобы можно было просто общаться p2p, потом добавлю чат-комнаты и участников, чтобы порешать проблемы с консистентностью данных, прикручу CRDT, затем end-to-end шифрование, передачу файлов. Думаю для начала хватит.
98 2159671
Подскажите какую нибудь норм библиотеку для c++ чтобы можно было на экране всякие палочки хуялочки рисовать по пикселям (для учебы). И желательно гайд как эту хуйню в проект впихнуть. Заранее спасибо
99 2159672
>>159671
Рисовать программно или как в паинте?

смотри на различные гуи библиотеки, qt например
100 2159698
>>159377

>задача писать конфиги за 22к в месяц


>По учёбе накопилось дохуя долгов и меня отчислили


>Скоро должна прийти повестка


>работал не оффициально, поэтому опыта работы нет


>опыт написания конфигов, лол



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

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

Мб подскажете что умное, с уважением.
изображение.png183 Кб, 1169x683
102 2159919
Чому нельзя было сделать это как адаптер?
Нонсенс какой-то, все наружу торчит как в сишечке.
103 2159920
>>159919
Адепт тру-ООП?
104 2159943
>>159920
Вовсе нет. Просто это выпадает из общего дизайна библиотеки.
Интересуюсь, вдруг есть какая-то веская причина?
105 2160003
>>159919
Может тогда и из сортировки адаптер сделать?
106 2160034
Пограммиссты помогите с MPI

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

Вопросы:
Что такое регулярное заполнение квадрата и что я тут должен запараллелить?
107 2160052
>>160034
Спроси у препода, который дал тебе лабу.
108 2160084
>>158857
Сделай все поля открытыми. Приватность это каменный век. Пиши сразу как в питоне.
109 2160087
>>160084

> Пиши сразу как в питоне.


Как в сишке?
110 2160089
>>159599
Круче липмана еще ничего не придумали имхо.
111 2160094
>>160089
Придумали Страуструпа. Хз, чего все плюются, пишет хорошо.
112 2160096
>>157935
Джава сама себя пиарила сборщиком мусора например. Чтобы любой даун мог писать код. Теперь представь что Страуструп/Комитет и Степанов выпускают С++11 не в одинадцатом году, а сразу в 1995 со всеми смарт пойнерами. Чтобы сделала джава тогда. Скорее всего пососала. Но поезд уехал. Теперь питон дает пососать и плюсам и джаве. Может комитет и высрет что-нибудь лет через 20 чтобы соответствовать развитию. Если ворчун не откинет копыта.
113 2160099
>>160087
И сишке. Осталось отменить строгую типизацию и будет вообще заебца.
114 2160102
>>160003
Сортировка - это алгоритм. А тут структура данных, которая натягивается поверх другой структуры данных.
115 2160110
>>159852
Дак добавить в сервис проверку, живо ли ещё приложение.
116 2160136
>>160034

>Что такое регулярное заполнение квадрата


Я думаю что-то вроде linspace из numpy
117 2160221
Есть в треде математики? Ищу алгебраическую библиотеку для работы с многочленами, важно наличие возможности поиска обратных элементов, выполнение операций по модулю. Пока нашел GiNaC, но она вроде больше символьная, чем "боевая".
118 2160274
>>160221
Armadillo мб?
120 2160287
>>160274
>>160285
благодарю
image.png5 Кб, 241x126
1323123 121 2160429
Мужики
При вводе ctrl z выходит из цикла и пропускает последующий ввод
Что с этим делать?
122 2160434
>>160429
Смотря что тебе надо сделать. Ctrl+z в консольке закрывает инпут стрим. Если тебе нужно продолжить собирать инпут, попробуй сделать 2 цикла и переоткрывать std::cin, но не могу представить, зачем тебе это надо.
123 2160660
>>160434
Спасибо
124 2160768
>>160429

>Мужики


а еще блатные, пидоры и черти!
125 2160841
Можно ли visual studio настриоть так, чтобы оно форматировало как clang format с нужными флагами?
126 2160940
>>159496
>>160768
Ты черт.
127 2160987
>>160034
{ заполняешь квадрат -> опустошаешь } - делаешь так регулярно, наверное с помощью цикла.
запараллелить заполнение строк или столбцов, чтобы они, ну, шли слева направо столбиком, или строкой сверху вниз, или из верхнего левого угла равномерно заполняли квадрат к правому нижнему углу.
типа на поток несколько столбцов или строк, в зависимости от размера квадрата твоего
programming-challenges.jpeg921 Кб, 3456x1944
128 2161200
>>159619
Это тебе вдогонку, пес
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 внутри массива структуры, это нужно чтобы хоть как-то привязать определённую букву в строке к цифре введённой с клавиатуры
130 2161238
>>161228
Уже решил проблему
131 2161239
>>161238
Каким образом?
132 2161245
>>161239
Просто написал поиск символа через for, чёто тупанул что так можно было сделать
image.png102 Кб, 556x646
133 2161365
>>157621 (OP)
немогу пересобрать opencv под qt
нужна помощь
CMakeError
https://pastebin.com/y6xMY6up
134 2161369
>>161228

>Как мне можно выполнить поиск в массиве


>strchr не сработает


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

> т.к. это не char массив


Ебани преобразование в char, например.
135 2161579
>>160940
я чмоня
graphapp.mp43 Мб, mp4,
1920x1080, 0:52
136 2161917
>>159671
sfml
Реализовал такое приложение на нём,
137 2162190
>>157621 (OP)
Нет ли способа насильно засунуть в макрос перевод строки чтобы
#define X\
Y
разворачивалось в
X
Y
, а не X Y
138 2162197
>>162190
Зачем? Для компилятора разницы никакой, а в строковых литералах макросы не работают.
139 2162259
>>161917
src please
изображение.png18 Кб, 749x566
140 2162262
>>157621 (OP)
Каким образом в данном примере реализовать логику взаимодействия объектов одного типа?
1) getValue необходимо раньше конструктора Typename объявить?
2) Оператор+ после (A+B) возвращает ссылку на временный объект Typename, который затем взаимодействует с C? Если так, то что в поле m_value у этого временного объекта?
141 2162265
>>159609

>а очередной мессенджер скучно


Это понты или его реально так просто написать?
142 2162283
>>162262
m_value == 3 по теореме Cосновича. Алсо в строках 8-10 жуткий говнокод. За такое надо харкнуть преподу в лицо.
143 2162297
>>162262
Ого, выглядит как UB жаль, что это не так
435d55eebea844a156852cb1df5e4cc4cb1e53dd.jfif25 Кб, 300x300
144 2162319
>>162197
ты прав.
145 2162365
>>162297
потому что в конструкторе функция, которая еще не объявлена?
146 2162446
>>162265
Ну если какой-нибудь простой, где есть чаты, юзеры, обмен сообщениями и файлами, и сквозное шифрование, то на любом популярном языке будет элементарно, на Go/Erlang/Elixir особенно. Если звонки, то там уже придется WebRTC покурить или VoIP, видео тот же WebRTC или SIP. Если делать распределенный чат, то уже посложнее. Но в целом, само ядро мессенджера, штука элементарная.
Сложнее становится, когда всякие свистоперделки начинают сверху накручивать, а-ля боты, статусы юзеров, счетчики сообщений, мульти-девайсность и самое главное UI для всего этого.
147 2162619
>>162446

>Если делать распределенный чат, то уже посложнее


В чем сложность?
148 2162620
>>162262
A, B, C создаются в строчках, в которых объявляются. У них вызывается конструктор без аргументов, которого не определено.
149 2162623
>>162620
вангую это какой-то тест в путяге.
150 2162919
>>162283
Да тут всю программу можно сдавать в палату мер и весов как платиновый эталон говнокода.
Я никогда еще такого треша не видел, даже в шараге.
151 2162925
>>162919
Хорошая паста, буду писать её к каждому скриншоту
152 2162926
есть класс, он является обёрткой над статическим массивом, можно ли для него писать конструктор перемещения?
153 2162927
>>162619
Проблемы с консистентностью и прочим из CAP, с обходом NAT, поиском пиров. Это первое, что вспомнилось.
сделал так, но хз, правильно ли.JPG9 Кб, 909x98
154 2162936
>>162927
если чо ,сделал так, но хз правильно ли
155 2162975
>>162925
Не каждый скриншот демонстрирует такую концентрацию UB и шизы на строчку кода.

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

Дальше, думаю, можно не продолжать.
156 2163237
>>162926
Статический член живет всегда в одном экземпляре, независимо от экземпляров класса. Он будет существовать даже если ни один экземпляр класса не создан.

Написать конструктор перемещения можно, но если нет других членов, то делать этому конструктору будет нечего.
157 2163238
>>157621 (OP)
как макросами из этого
task_ ## __COUNTER__

получить

"task_№"
№ это получающийся __COUNTER__
158 2163253
>>163237
Я перепутал, не статический массив, а обычный, который создаётся на стеке.

что-то типа
template<typename TYPE, size_t size_>
class sArray
{
TYPE array_[size_];
};
159 2163255
>>163238
Ты наверное попался, что просто так в сях и плюсах нельзя сделать макрос конкатенации:
https://godbolt.org/z/xzxxh459n
160 2163266
>>163255
чтобы строка была, не переменная
161 2163279
>>163253
Тогда смотря какая у тебя обертка.
У std::array, например, вообще никаких конструкторов нет, кроме сгенерированного default конструктора.

Перемещение имеет смысл для классов-хендлеров. В твоем примере переместить член array_ никак не получится.
162 2163313
>>163266
Точно так же, но с оператором #:
https://godbolt.org/z/j789d487n
15918173989880.png102 Кб, 360x378
163 2163329
>>163313
спс анон, ты меня спас
164 2163335
>>162975
да это понятно все, кроме пункта 5 и 5а.
5. Ссылку от operator+ надо в любом случае возвращать, чтобы дальше в калькуляторе А+B+C это сработало, разве нет? По типу инкремента ++(++x). Это должен быть некий временный объект со значением m_value?
5a. Почему там каст от инта в бул неявный?

По сути через перегрузку оператора необходимо вернуть ссылку на временный объект с промежуточным значением bool m_value.
165 2163361
>>163335
Не ссылку, а сам новый объект с промежуточным значением.
Типа return Typename(m_value || A.m_value) или хуй тебя знает, что вы там хотите получить.
166 2163447
>>163361
то есть так?

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

и добавить конструктор для Typename(bool)?
изображение2021-09-22213049.png101 Кб, 1316x627
167 2164416
Решил покурить новую фичу в виде fold expression. Правильно ли я понимаю, как разворачивается последнее выражение?
image.png27 Кб, 927x258
168 2164889
169 2165302
>>164416
Нет.
170 2165304
Пидора ответ.
171 2165329
Юзайте folly
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.
И я вот нихуя не понимаю какой код я должен написать, чтоб увидеть как флаг работает. Помогите пожалуйста с минимальным примером
173 2165486
>>165404

>maximize the amount of register tying.


Скомпилируй под архитектуру с большим количеством регистров, например итаниум.
изображение.png46 Кб, 1546x764
174 2165534
Я не понимаю что он от меня хочет и почему оно не работает так как я хочу
175 2165544
>>165534
Ты хочешь агрегатную инициализацию параметра, но при передаче аргумента используется другая. На месте {1, 1} конпелятор видит initializer_list.
Допиши ch перед {1, 1} или определи в ch конструктор из initializer_list.
176 2165548
>>165534
А еще v ты инициализируешь внутри класса (не в конструкторе).
В этом случае инициализация через () не работает; только = или {}.
177 2165586
>>165548
спасиюо
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?
179 2165790
>>165779
Ему нужно знать размер твоего класса в, это же просто последовательный массив в куче, а класс в ещё не определен. Делай вектор указателей на в, их размер зависит только от платформы.
180 2165919
>>165790
Так у меня compilatio error не на попытке пушбека или чего-то подобного, где вектору нужно было бы знать размерность объекта, у меня ошибка при попытке создания инстанса класса A. Вопрос актуален
sage 182 2165969
>>165919
фейспалм.жпг
183 2165978
Стоит ли вкатываться в плюсы? Задача стоит прежде всего обучиться качественному программированию, сделать несколько реальных проектов, освоить алгоритмы и структуры данных. Или он для этого не подходит и лучше вкатиться во что-нибудь другое, но во что? Уровень знаний: новичок, но понимание программирование есть кроме ООП.
184 2166049
>>165978
Нет.
Хочешь ООП - пиздуй в джаву. Алгоритмы и структуры данных там же освоишь ничуть не хуже.
И можешь поупражняться немного в сишке. Чтобы понимать, как оно на низах работает. Нескольких глав из Кернигана и Ритчи тебе достаточно будет.
Кресты, в общем случае, не нужны. Их используют для специфичных проектов. Там выбора нет. Без надобности лучше туда не лезь.
185 2166070
>>166049
Касательно сишки, я прочитал всего Прату кроме пары глав и еще касался ассемблера немного. Однако сейчас это все немного подзабылось.

>Хочешь ООП - пиздуй в джаву. Алгоритмы и структуры данных там же освоишь ничуть не хуже.


Джаву впизду, точно нет. Смотрю в сторону шарпа, что по нему скажешь?
186 2166082
>>166070
Как язык шарп норм. Перегруженный правда, зато развивается.
И обрати внимание, что на дотнете доступны также языки F# и F*, так что тебе будет чем развлечься в будущем.
Но я не вижу у него перспектив применения особых. Шарп конкурирует с джавой, используется для разработки веб-бэкендов для всякого энтерпрайза, десктопных приложений под винду и геймдева. В мобильной разработке практически не задействован. В новомодной херне типа дата саенс, машинного обучения не задействован.
Подумай, чем хотел бы заниматься, в какую область податься и выбирай соответствующие языки тогда уж, мне кажется.
187 2166105
>>166082
Хотелось бы приятный язык в котором я смогу освоить ООП на высоком уровне, хорошо разбираться в алгоритмах, структурах данных. Что конкретно хочу делать пока точно не определился, сейчас хочу язык, чтобы без особых танцев с бубном реализовать свои идеи приложений, которыми сможет пользоваться обычный люд и хочу попробовать геймдев. А шарп эдакий швейцарский нож вроде неплохо подходит для этого всего. Вопрос денег пока не стоит.
188 2166113
>>166105

>хочу попробовать геймдев


Шарп и юнити.
189 2166118
>>166113
Ну да, я в курсе.
190 2166119
>>166105
Бери шарп. Он подходит под твои критерии.
А если углубишься в геймдев, перейдешь на плюсы. Но начинать с них, ну это такое. Там и танцы с бубном и "приятности".
Все три языка это тяжёлые промышленные комбайны со своими особенностями, которые выбираются под задачу. Специального языка для обучения нет.
191 2166132
>>166105
я думаю ни в одном современном языке в полной мере не реализованы все парадигмы ООП
192 2166143
>>166132
А что это за парадигмы? Обычно их всего три. Наследование, полиморфизм, инскапсуляция. Что еще надо реализовывать?
193 2166148
>>166119
А насчет плюсов, стоит ли их вообще знать, кроме как для геймдева или это будет юзлес? Всякие САПРы и научные симуляции/расчеты я точно делать не планирую.
194 2166183
>>166148
На плюсах дохуища всего написано. Твой браузер, юзерспейс твоей ОС, твой стим например.

Бэкенды бОльшей части сайтов, куда ты ходишь. Точно полезно.
195 2166189
>>166183
Проблема в том, что он скорее всего не будет писать браузеры, стим и бекенд гугла=))
196 2166190
>>166189
А вдруг будет? В том же яндексе - маркет\такси\поиск
197 2166194
>>166190
Ладно, уговорил, пусть пишет.
198 2166199
Под микроконтроллеры можно писать на плюсах, только без stl, rtti и исключений
199 2166236
Пытаюсь устроиться джава джуном, но бесконечно решая тестовые задачи не раз натыкался на код с++ и университетские воспоминания со всеми этими калок малок нахлынули на меня и я иногда посматриваю на него к своему стыду, это как запретный плод...я перебираю его глазами, эти сиауты... Вообще стек джава + с++ это норм или кал без задач?
200 2166270
>>166148

>джава + с++


Не знаю, как насчёт каких-то отдельных задач и вакансий. Но как бы существенная часть джава библиотек - это обёртки над сиплюсовыми либами, да и сама джава написана на плюсах. Иметь возможность что-то пофиксить, пропатчить в этой части, заюзать подходящую плюсовую либу в проекте, самостоятельно запилив под неё биндинг, это должно быть охуенно полезно.
Разве что, если таким заниматься, то ты в плюсовые разработчики и переедешь со временем..
201 2166276
>>166270
Бля, промахнулся
>>166236 -> >>166270
202 2166315
>>166236
Выбери один стэк и задрачивай его. Когда станешь крепким мидлом - перекатиться между стэками будет проще
203 2166341
>>166236
Java и с++ редко встречаются вместе. Обычно в паре к c++ идёт Python и наоборот.
204 2166550
>>166236
Есть JNI, используется в Андроиде для некоторых задач, где нужна производительность - некоторые игры с графикой, мультимедия. Ещё делают приложения на QML, но насколько много там плюсов, мне неведомо.
205 2167058
>>165919
Дёргаешь деструктор вектора — тип должен быть полным.
206 2167201
Каждый раз, когда приходится работать со строками в плюсах (разбавить по запятой и тому подобное), удивляюсь, почему всё так душно реализовано. То stringstream лучше использовать, то необходимо использовать substr или string_view и мучиться с индексами. Никак не сравнить с питоновским удобным stroka.split(','), возвращающим удобный массив. Да, есть стандартные алгоритмы, но через них по-моему не всё удобно делается. Это всё обосновано чем-то кроме нерасторопности Комитета? Есть ли надежда на будущие стандарты? Что делать сейчас, привыкнуть и вызубрить эти все приёмы для типовых задач со строками, или есть какая-нибудь годная библиотека?
207 2167210
>>167201

> питоновским удобным stroka.split(',')


То-то питон самый тормозной язык из всех реально используемых.
Если хочешь, как в питоне, то о перформансе можешь забыть, вот только зачем тогда тебе кресты?
208 2167218
>>167201

>Это всё обосновано чем-то кроме нерасторопности Комитета?


И чо должен .split возвращать?
vector? list? deque? И чего именно? строк или вью?
209 2167219
>>167218

> Есть ли надежда на будущие стандарты? Что делать сейчас


Можешь свалить отсюда, например. Нахер ты тут не нужен с платиновыми вопросами.
210 2167221
Это >>167219 было сюда >>167201
211 2167244
>>167201
Boost String algorithms. Или используй строки из своего фреймворка. А в целом страдай, особенно когда дело коснётся юникода, его обработки и разных кодировок
212 2167246
>>167218
А выбрать что то одно из этого это какая то проблема?
Или раз несколько вариантов реализации, то не бывать никому?
213 2167247
>>167246

>А выбрать что то одно из этого это какая то проблема?


Естественно. Ты же должен обосновать, почему этот выбор самый правильный.
214 2167255
>>167247
аааа
ну тогда да, будем без сплитов сидеть
215 2167278
>>167247
Контейнер пусть передаётся как шаблонный параметр. Значение по умолчанию - std::deque. Элементы контейнера std::string_view.
216 2167282
>>167218
Вектор строк, четко и ясно. 99.9% юзкейсов это покроет. Не надо городить универсального монстра.

Кому не нравится, пусть пишут свой велосипед.
217 2167299
>>167282

>Не надо городить универсального монстра.


И тут IBM такой "Не, голосуем SA. На наших системах вектор/список/whatever багованный, поэтому не хотим через него делать.".
218 2167310
Вот у меня такой вопрос, только начал изучать плюсы

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

Или это просто дрочь ненужная?
219 2167318
>>167310
все что создается после { удаляется после }
кроме того что ты выделил в динамической памяти с помощью new или malloc
также удаляются поинтеры к тем участкам динамической памяти, так как они являются переменными с адресом
220 2167323
Какая самая годная библиотека после стандартной? Boost?
221 2167325
>>167210
>>167218
Можно вернуть псевдо-массив с элементами типа string_view (заранее подсчитать его размер), по которому можно пробегаться, получая значения, генерируемые на ходу. Или вовсе вернуть итератор, который при разыменовании будет возвращать новое значение. Хочешь - строй из этого вектор, хочешь - используй иначе. И не нужно вручную возиться с циклами.

>>167244
Спасибо, посмотрю.
222 2167343
>>167244
два чая
Сам использую сплит оттуда.
Вообще работу с нитями без без библиотеки не представляю, на родной С++ нет нормального non-case-sensitive поиска.

У меня вопрос - Каким образом форматируется текст в письмах(в программе Outlook или веб версии Gmail). Я передаю текст в почтовую программу через wstring. Могу ли я в wstring отформатировать текст?(сделать часть текста цветным, жирным и т.д).
223 2167344
>>167318
То есть если я хочу освоболить память, которая выделялась на a до }, то я обязательно должен сделать переменную динамической?
224 2167345
>>167344
int *a = new int
a - это пойнтер к новой переменной int. Он не удалится из памяти до тех пор, пока ты не напишешь:

delete a;

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

В этом случае оно само очистится из памяти после окончания функции.
225 2167346
>>167345
*Она не удалится
226 2167351
>>167345
Да какой-то внутренний перфекционист заиграл внутри просто. Да и выйгрыш от такой штуки вряд-ли большой будет если функция маленькая
228 2167414
>>167343
Таким же как html или rich edit. Движок или поле редактирования решают какие параметры у буквы и соответствующим образом дёргают gdi/gdi+/direct 2d или что там ещё у них рендерит
229 2167443
>>167414
я так и не понял как сделать то, что я хочу. Просто добавление тэгов не работает
230 2167497
>>167443
Конечно не работает, а ты думал, теги распознаются магически сами по себе? А почему не распознаются в <b><u>этом</u></b> посте тогда, как думаешь?
231 2167529
>>167343
Может быть какой-нибудь RTF, наверняка похоже на то, как работает копипаст с цветом, размером и картинками. Я бы про копипаст и RTF погуглил
изображение.png14 Кб, 1085x199
232 2167543
В чем проблема? Я так понимаю, что у меня где то дважды оператор определен, но это не так.
233 2167555
>>167497

>А почему не распознаются в <b><u>этом</u></b> посте тогда, как думаешь?


Макака всё сломала
234 2167558
>>166190
Маркет написан на жабе, некоторая часть поиска тоже.
В такси да, там антошка любитель микросервисов на С++ работает, поэтому их там и используют, хотя изначально такси на питухоне было написано.
Хотя есть другие проекты, которые на С++ пишутся. Но не прям все, скорее половина или даже меньше.
235 2167559
>>166183

>Бэкенды бОльшей части сайтов, куда ты ходишь


Бэкенды написаны на пхп. Тот же фейсбук и вк используют пхп, хоть и с существенными модификациями.
236 2167562
>>166070

>Джаву впизду, точно нет


Почему? Если просто цель научиться в ооп и решать задачки с литкода, то норм выбор. Да и в промышленности жаба буквально везде.

>>166070

>Смотрю в сторону шарпа, что по нему скажешь?


Хороший язык, если хочешь в геймдев.
237 2167593
>>167558

>Маркет написан на жабе


То то меня уже 4 года туда крестовиком хайрят в 2 разные команды.

> фейсбук


Друг там в менло-парке крестовиком так же работает
238 2167607
>>167543
Че за bigint.inc?
239 2167638
>>167607
Это библиотека.
240 2167642
>>167638
Судя по расширению, она должна инклудиться как заголовочный файл.
А по твоему error report она компилируется как файл .cpp.
241 2167664
242 2167693
>>167593

>То то меня уже 4 года туда крестовиком хайрят в 2 разные команды.


Diversity in recruitment. Глянули твои поисковые запросы про членодевок и няшных кунчиков и решили, что надо тебя взять по квоте.
243 2167759
>>166190

>яндексе


Плотют нихуя, даже по сравнению со сраным сбером.
Топ места для плюсовика это хуавей, нвидиа и интел, но туда хуй попадешь, так как места буквально нужно резервировать будучи студентом 3 курса профильной кафедры мфти.
244 2167845
У меня есть класс с конструктором от int. то есть работает такая штука: 1 == myclass("24")
Как мне сделать, чтобы работало и static_cast<unsigned int>(myclass("12345678")) == 12345678? Я хз даже где и что начать писать.
245 2167847
>>167759
В Касперском вполне нормально. Хотя сейчас в основном на KOS набирают, а там я не знаю какая внутренняя кухня.. И слышал что в JetBrains хорошо, но там когда смотрел в последний раз почти все чисто плюсовые вещи заняты, извольте знать Джаву.
246 2167856
>>167845
Пишешь оператор приведения к инту myclass::operator unsigned int() const
https://en.cppreference.com/w/cpp/language/cast_operator
247 2167878
Я не понимаю зачем нужен стек, точнее я вот читаю и понимаю, но не понимаю зачем оно именно так.
Вот есть у нас сегмент данных и сегмент команд в ОЗУ.
Процессор выполняет одну операцию за раз (в нашем случае).
Заносим данные и команды из памяти в регистры процессора, волшебство, затем обратно в память. Так же это в простейшем случае?
Зачем создавать еще один буфер между программой и процессором, если мы можем обращаться к самой программе, к этим данным. Короче я спутано написал. Но вот может кто привести пример, когда это именно эффективно?
248 2167904
>>167878
Аппаратный Стек в первую очередь нужен для вложенных вызовов подпрограмм, чтобы туда складывать адреса возврата. Остальное уже добавили для удобства до кучи
249 2167911
>>167878
Раньше (да и, наверное, есть и сейчас такое) в некоторых микроконтроллерах для каждой переменной было своё место в памяти. Вот есть у тебя функция
int f(int x) {
int y = x + 2;
return y;
}
У "x" адрес, скажем, 0x1000, у "y" 0x1004. И все операции над ними действительно проводились с этой памятью. И вроде всё работает, но, если подумать, то рекурсивные вызовы становятся невозможными (напиши вычисление чисел Фибоначии и посмотри, что пойдёт не так). Но хрен с рекурсией, обойдёмся. Гораздо хуже дело обходится с многозадачностью. Любой кусок кода теряет реентерабельность. Если два потока одновременно зайдут в эту функцию, то они распидорасят данные друг друга. Если данные хранить на локальном стеке у каждого потока то всё получается как надо.
250 2167935
>>167878
Ещё стек нужен для обработки исключений. Иначе будет не понятно какие данные и операции над ними нужно провести для отката в валидное состояние.
251 2167950
>>167325

>Или вовсе вернуть итератор, который при разыменовании будет возвращать новое значение.


Это называется генератор, а не итератор.
252 2167952
>>167345

>a - это пойнтер к новой переменной int


Объекту, а не переменной
изображение.png5 Кб, 346x174
253 2167988
Этот тест кейс с какого то файла тянется. Можно ли какой нибудь дефайн прописал, чтобы это все как то развернулось в просто выражение между фигурными скобочками?
254 2168391
>>167847
А что в Касперском по зп?
Вообще тема инфобеза довольно интересная, тот же networking со всякими анализаторами трафиками на dpdk прикольная область, но кроме касперского знаю только positive technologies, на которые наложили санкции, и group-ib. Интересно что у них по зп.
Вообще с радостью пошел бы пилить всякие СОРМы, но боюсь условия труда будут крайне хуевые.
255 2168496
https://www.youtube.com/watch?v=6lDPRmk-T-w
Оправдывайтесь.
256 2168558
>>157621 (OP)
https://ideone.com/XdxRL9
1.Что за числа в выводе Apple (Red delicious,red,7.3)12142, откуда?
2. Почему если методы оставить константными, но убрать const у ссылок на возврат все перестает работать?
string& getName() const { return m_name; }
257 2168562
>>168391
СОРМы пилят в НТЦ Протей
258 2168576
>>168558

><< '/n';


слеш не в ту сторону у тебя
259 2168579
>>168558
Если метод const, то все члены считаются const.
return m_name; запросит запрещенное преобразование const string в неконстантную ссылку.

И вобще, возвращай по значению в подобных случаях. Return value optimization все сделает в лучшем виде.
260 2168606
>>168496
Извинись.
261 2168621
>>168606
Крестоблядок соснул у шарпобоярина
262 2168622
>>168576
>>168579
принято
263 2168623
>>168621
В гонке за право насасывать копетану галеры?
264 2168656
>>168579

>И вобще, возвращай по значению в подобных случаях


В подобных случаях надо кокрастыке возвращать "по ссылке"

> Return value optimization все сделает в лучшем виде.


Он тут вообще не при делах
265 2168665
здарова бандиты, задача такая: есть веб api которая содержит файлы (один на каждый день) внутри файлов данные.

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

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

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

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

Что мне реализовать? event -loop с пулом воркеров? или что то другое.
266 2168680
>>168656
Да, ты прав. get-метод не тот случай.
267 2168727
Итак задача. Перейти с Си на плюсы, плюсы и ООП не знаю от слова совсем. Уровень плюсов нужен минимальный, но со знанием тех особенностей которые его отличают от Си и минимальные знания стандартной либы. Как сделать это максимально быстро?
268 2168766
>>168727
Читай книги, пиши код
269 2168840
>>157621 (OP)
https://pastebin.com/MHjp8jt2

Хэлп плиз, не могу обратиться к методу во втором классе
270 2168846

>>>2168840


Ну ты и нахуевертил.
У тебя массив указателей. Память под сами указатели ты выделяешь, а указатели указывают в никуда.
271 2169082
>>157621 (OP)
Последний считанный cin'ом символ печатается при следующем вызове cout, в самом начале вывода (после этого потерявшегося символа идёт нормальный вывод cout). Может ли это возникать из-за того, что я в программе использую и cin/cout, и printf? Как фиксить, если fflush не помогает? вечно в крестах какая-то ебанина с вводом выводом
272 2169090
>>169082
Покажи контекст.
273 2169092
>>169082
У тебя так вообще всегда или с каким-то конкретным кодом?
274 2169164
>>169090
>>169092
Код показать не могу, меня за это набутылить могут (да и к интернету мы тут не подключены).
Короче проблема решилась сама себе, просто добавил новый метод классу и внезапно лишний символ перестал печататься, при том что ввод вывод имеющихся методов я никак не трогал. Ебать фантастика, как вы на этом пишете вообще.
275 2169168
>>169164
Пишется "фантастика", читается "UB".
276 2169172
>>169164
Это у тебя какая-то бага, запускай valgrind, санитайзеры и ищи. Даже sync_with_stdio(false) не должен таких эффектов показывать. Но вообще cin/cout та ещё хрень, не рекомендую пользоваться.
277 2169176
На всякий случай напишу все равно примерную структуру, как оно выглядит, мб подскажете что-нибудь на будущее

>считывается один символ cin'ом (это в главной функции)


>проходит передача по каналу и обработка информации, много чего выводится на экран cout'ом, всё это происходит внутри методов класса и выводится без каких-либо проблем


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


Очень ли плохо то, что у меня вывод делается иногда cout, а иногда printf? Или все из-за того, что внутри класса они используют какой-то другой поток вывода, не тот что в мейне?
278 2169202
>>169172
А чем пользоваться, scanf/printf? Или какую-нибудь кастомную библиотеку подключать?
279 2169277
слизь из жопы, жопный сок
280 2169285
>>168665
могу только подсказать что ты прекрасно все это сможешь сделать в одном потоке, и ни слова больше потому что лень объяснять что то таким мелкочеликам как ты, несмотря на то что ты по видимому уже зарабатываешь своим говнокодом на хлебушек с маслом а я безроботное говно, ну а вообще конечно ты можешь прикрутить "эвентлуп с пулом воркеров" чтобы когданибудь твой говнокод попался на глаза нормальному кодеру и он уссался бы с тебя
281 2169291
>>167759

>Топ места для плюсовика это хуавей


вчера в /b в одном из тредов кстати заявляли что хуайвей обосрался со своей новой операционкой потому что набрал кодеров из россиюшки
хз, пиздел ли анон, проверять лень
282 2169296
Может кто помочь с лабой? на с++ код

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

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

желательно с пояснениями
283 2169306
>>169296
бог поможет
image.png49 Кб, 1286x420
284 2169309
285 2169346
>>168840
Что значит не можешь? Заебали, пишите хотя бы компилируется оно или нет. А то что с памятью там пизда и при запуске всё полетит через три сегфолта, так это проблема не класса и не метода.
286 2169361
>>169309
Что за хейтер кстати? Небось давно уже помер от геморроя на пару со своей мамашей а шапку так никогда и не обновят.
287 2169367
>>169361
Сьеби уже
288 2169371
>>169361
Почему это должен быть какой-то конкретный анрн? Просто любой абстрактный шарпорастоблядок.
289 2169408
>>169346
что значит окмпилируется? ошибок красных нет, но выдает предупреждение по памяти

> так это проблема не класса и не метода.


так а как исправить? чтобы к методу можно обратиться было
290 2169546
Вечер добрый. Как думаете, бэк на плюсах будет когда-нибудь так же распространен и востребован, как написанный на Govnishe/Java/#/Py?
По сути из плюсовых вакансий в мск онли Яндекс за редким исключением, в то время, как всякие озоны, сберы да и тот же яндекс много всего пилят на вышеупомянутых языках и платят за это овердохуя шекелей.
291 2169564
>>169546
Когда в плюсы завезут нормальный тулинг, на это можно будет надеяться.
292 2169573
>>169546
Сбер крестовиков хайрит, но оверолл - язык не очень живой, и если хочешь денег - лучше задротить либо ГОвно, либо фронт. Да, продажа души за деньги
293 2169695
>>169408

>так а как исправить? чтобы к методу можно обратиться было


Пройдись отладчиком уже.

>tmp->get_name(); //почему я не могу обратиться к методу?


tmp имеет тип указателя на player. Проблема в том, что в этой точке (строка 43) этот указатель не указывает ни на какой объект player.

Простого исправления тут нет. Выпили весь класс нафик с этими new и используй vector. Плееров добавляй через push_back().
294 2169698
>>169695
Макаба сожрала квадратные скобки
tmp|i|
295 2169730
>>169695
Спасибо большое!
296 2169735
Пацаны скок вы на лабу/работу вообще тратите времени?
Ебался 8 часов с одной лабой и 70% времени заняло прыганье по форумам и гуглёжка потому что не знал за сщуествование векторов а потом ебался с оператором friend std::ostream& operator<<
И при этом большинство ошибок было банально из-за невнимательности, потому что к началу 1 часа голова уже плывёт невероятно
297 2169874
Есть вектор указателей на открытые потоки ifstream. Затем есть цикл for с перебором вектора по begin end. Я могу разыменовать указатель и направить потоки, например, в cout, но не могу сделать close() таким же образом. Почему так?
298 2169907
>>169735
У нас нет лаб. всем похуй. уже 3 курс идёт
299 2170009
>>169735
Вот поэтому универские лабы и должны быть на паскале или питоне, чтобы не ебаться с синтаксисом.
300 2170020
>>169874

> но не могу сделать close() таким же образом. Почему так?


точно можешь, кек.
301 2170119
>>169546

>Как думаете, бэк на плюсах будет когда-нибудь так же распространен и востребован, как написанный на Govnishe/Java/#/Py?


Какую задачу он будет решать? И какова скорость разработки? Есть ли удобные фреймворки или может как на go можно в 3 строчки поднять сервер?

>много всего пилят на вышеупомянутых языках


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

> пилишь бэк на плюсах


> падает прод


> зато 5% прирост

303 2170279
ты накрасил губы красным, все с тобою стало ясно
304 2170312
>>168391

>group-ib


Как показала практика, лучше в инфобез не лезть вообще.
Грузить джейсоны и клепать однообразные круды гораздо безопаснее, чем лезть в вундервафли и настоящий цифровой гулаг.
305 2170334
>>169546

>бэк на плюсах будет когда-нибудь так же распространен и востребован



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

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

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

>в то время, как всякие озоны, сберы


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

>>169573

>Сбер крестовиков хайрит


Там сбердевайсы вроде крутые. Но опять же, это не банкинг, а больше про IoT и желание сбера стать айти гигантом на рынке РФ.
Если брать классический С++ в банках, то это окажется ембеддед вроде pos терминалов и банкоматов с написанием хуевин под старый добрый winXP в некоторых особых случаях
306 2170346
>>170334

>ембеддед вроде pos терминалов


Оооо. Я в таких терминалах малварь sqlite видел. Вот в бэке есть базы данных с репликами, шардингами, бэкапами и вообще это ещё архитектить надо. а там тупо сделали sqlite файлик вместо бд чтобы чуть какая авария можно было его на флэшечку скинуть, отредактировать и вернуть обратно. Уже представляю грандиозность задач в ембеддед, где непременно нужны кресты
307 2170366
>>169546

>бэк на плюсах


Удел плюсов в будущем - всякие системные хуевины и платформы для разворачивания более высокоуровневых ЯП.

Чтобы поддерживать условные V8/JVM/CLR, mysql/postgres много людей не нужно - от силы по паре тысяч плюсовиков в google/oracle/microsoft. Для графики все аналогично, для всяких там кадов хуядов тоже.
С++ это очень штучная вещь, для которого много вакансий быть в принципе не может, особенно в СНГ или нищих странах европы, где толком и нет своих разработок в системщине, а основной доход в ит это энтерпрайзы, живущие за счет нефтяных бюджетов
308 2170373
>>170366

>особенно в СНГ


Здесь это может компенсировать всякий епам, который в снг на любой стэк нанимает даже плюсы.
309 2170376
>>169546
Смотря какой бек. Я вот поддерживаю на крестах компилятор внутрепроприетарного графического языка чтобы наши навигаторы мышкой свои алгоритмы рисовали и ещё кучу дсл. Это все бек по сути.
310 2170389
Сколько надо дрочить чтобы стать таким умным как вы?
311 2170414
>>170389
>>158726

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

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

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

>>158782
https://pdfdirectory.com/pdf/0880-learning-c-programming-lanuage.pdf
>>159596
паука для парсинга сайтов
>>167323
Смотря под какие задачи. Кроме буста есть ACE, POCO, SFML, RapidJSON,nlohmann,tinyxml,
312 2170426
>>170373
Крупные галеры погоды не делают. У них под C++ примерно такой же процент вакансий как и на открытом рынке. Ну и сами галеры предпочитают энтерпрайз с долгими контрактами или вёб, чтоб быстро и без гемора срубить бабла.
313 2170435
>>170389
бля, ты не слушай этого мудака залетного
вангую это тот же челик что недавно заявлял тут что "шаблоны с++ ничего не знают о типах языка" и его никто не смог переубедить
а щас он че-то там про явку в ритейле, банках и телекомах вещает ничего не понимая в откатных говносхемах наших манагеров-кабанчиков, что происходили в середине нулевых когда эти системы переписывали с крестов и дельфи на говноявку
314 2170442
>>170435

>переписывали с крестов и дельфи на говноявку


мировая практика же
315 2170549
>>170435

>че-то там про явку в ритейле, банках и телекомах вещает ничего не понимая в откатных говносхемах наших манагеров-кабанчиков, что происходили в середине нулевых когда эти системы переписывали с крестов и дельфи на говноявку



А что не так? Всем уже давно очевидно, что гораздо проще поддерживать жирный ритейл с легаси на явке, чем на С++. Банки туда же. Там где нет нужды в low latency, то смысла в С++ ровным счетом 0, одни убытки будут.
316 2170880
Как создать список списков через структуры и как к нему обращаться?

struct Node {
Node next;
subNode
subhead;
};

struct subNode {
int data;
subNode next;
};

Думал над таким вариантом, но в строке >subNode
subhead; выдаёт ошибку: C4430 отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Буду очень благодарен
317 2170883
>>170880
struct Node {
Node next;
subNode
subhead;
};

struct subNode {
int data;
subNode * next;
};
rКурсив включился
319 2170966
>>170880
std::list<std::list<T>>

>через структуры


Это в тред сей.
320 2170971
>>170966
У него предмет называется "Программирование на С++", значит, про лабы надо спрашивать здесь.
321 2171002
>>170971
Ну бля. Сами виноваты тогда. Нехуй было Паскаль выпиливать.
322 2171009
>>171002
Потихоньку с плюсов пересаживаются на жилистый мускулистый питон.
323 2171317
Хочу сделать функцию возможно, это будет метод класса, ещё точно не определились, которая в качестве аргумента принимает структуру. Проблема в том, что структура может быть любого размера (в разумных пределах) и включать в себя любое количество элементов, т.е. заранее её тип не прописать. Думаю передавать эту структуру в функцию через указатель void. Есть какой-нибудь вариант получше?
324 2171461
>>171317
Шаблоны. Не слышал?
325 2171527
>>171461
Слышал, но не изучал. Спасибо, пойду читать. А мой вариант с указателем не взлетит, да?
326 2171652
>>171317

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


Если ее структура будет известна только в рантайме, то шаблоны не помогут. Надо будет передавать в том числе информацию как она устроена в самой структуре, это ООП во все поля. У тебя будет древовидная структура полиморфных объектов представляющих собой какие то значения, юнионы, даблы , массивы и тп, которые будут выдавать о себе информацию в рантайме, для получения их значений или ссылки на свои дочерние объекты. Это не так сложно на самом деле, у нас постоянно используется.
327 2171729
>>157621 (OP)
Нужен годный аутсорс-сайт где я, бедная cpp-макака ,смогу заработать на еду. Сорок usd в месяц будет достаточно. Готов хуярить по 8 часов в день, лишь бы получать свои копейки на пропитание. Желательно что бы заказчиками были частные лица, которым нужен не сам код, а непосредственно работающая программа.

советуйте только то, чем пользовались сами
328 2171748
>>171729

> 8 часов в день за 40 баксов в месяц


А зачем?
329 2171757
>>171652

>Если ее структура будет известна только в рантайме


Ты сам то понимаешь, что сказал?
330 2171760
>>171748
Кушать хочу. Идти на дноработку не вариант. Да и не нужно на самом деле. Ведь я же не просто так 4 года на цпп пишу? Наверняка есть возможность заработать на паек. Тогда можно хикковать занимаясь любимым делом
331 2171771
>>171729
А на 40 баксов в месяц реально выжить? Даже с учётом в того что живёшь в нижнем усть-залупинске
332 2171774
>>171771
Конечно. На еду хватит
333 2171775
>>171771
Ну да, гречка, макароны красная цена, по праздникам фрукты.
334 2171777
>>171757
Эта фраза детектор дебилов на самом деле. Конечно понимаю, а ты - нет.
335 2171789
>>171757
Очевидно, что "структура" - это не только сишная хуйня struct, но и произвольная последовательность байтов, в которой закодированы поля.
336 2171795
Как написать компаратор для lower bound по вектору пар, ища в нем число?
337 2171826
>>171795
Смотря что у тебя пара символизирует.
338 2171848
>>171757
Очевидно имелась в виду точная структура в отличие от приблизительной.
339 2171863
>>171771
выжить можно было на подсчитываемый раньше государством прожиточный минимум (он был 10-12 тыщ рублей в регионах, в москве больше)
но при условии наличия собственного жилья и налаженого быта в квартире, плюс наличие каких-то запасов одежды, плюс (это важно) человек должен уметь готовить и быть подкованным в жизни, хоть немного
сейчас гос-во отказалось от рассчета минимального прожиточного минимума исходя из потребительской корзины, сделав другие метрики, сделав еще один шаг к демонтажу структур социальной помощи в государстве
340 2171864
>>171848
чел ты продолжаешь обнажать уровень своего невежества
341 2171865
>>171848
А создание структуры в рантайме через рефлексию.
342 2171898
>>171729
Ебать ты дебилоид. У меня средняя пека майнит 60 баксов в месяц, а тебе надо въябывать 8 часов. ОРУ С ДОДИКА
343 2171914
>>171865
Структура должна уметь создаваться в зависимости от действий пользователя, конфигурационных файлов, данных из сети и тп. А рефлексия для этой цели это костыль в языках типа шарпа для дебилов.
image.png39 Кб, 405x665
344 2171942
Я правильно понимаю что приложения с крутым нативным дизайном на винде возможно написать только на c#? хоть и калькулятор написан на c++, в нём используется управляемый код. qt так умеет? будет ли вообще уметь? qml?
345 2171944
>>171942

> написать только на c#? хоть и калькулятор написан на c++, в нём используется управляемый код. qt так умеет? будет ли вообще уметь? qml?


на WinRT вроде подобное реально сделать
346 2171969
>>171944
Ну да, c# если по нормальному
347 2171993
>>171898
Криптошвайн-маняфантазер,спок
348 2172072
>>171942
На qml пишется легко все кроме верхней полоски м крестиком. Работающую картинку как у тебя можно набросать за минут 15 наверное, там кресты будут нужны только для пуска, все остальное на qml и js.
349 2172079
Анончик, посоветовавший шаблоны, вот смотри что я слепил
https://pastebin.com/beM0n3s9
Этот код компилируется и даже запускается, но работоспособность проверить я уже не успел. Норм шаблон написал или хуйню сделал?
350 2172153
Задание написать программу парсер некоторых команд. У команд могут быть псевдонимы, то есть несколько слов, которые обозначают одну и ту же команду. Как аккуратнее это реализовать, что бы не пришлось в коде каждый раз писать 10 сравнений if(s == "cmd1" || s == "cmd2" || s=="cmd3") и тд.
351 2172190
>>172153
Поиск по вектору структур, состоящих из идентификатора команды и вектора строк ее обозначающих.
352 2172205
Что если я хочу, чтобы функция, генерирующая последовательность строк, вернула итератор по этим строкам? В бусте или стл есть что-то вроде итератора, который владеет коллекцией, по которой он проходится?

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

Но всё же..
353 2172215
>>172205
Тебе же нужен и итератор и сама коллекция. Возвращай кортеж из них, типа: auto [v, i] = f();
354 2172231
>>172215
А, да, я дебич, ещё же end нужен. Тогда нужно возвращать два итератора, begin и end. Возвращать и вектор, и итератор - это как-то странно, проще тогда один вектор вернуть и из него достать begin и end.

Просто у меня в голове интерфейс функции в этом случае хорошо бы сделать абстрагированным от того, какая конкретно коллекция используется для хранения строк. Чтобы была просто возможность просмотреть их, возможно, сохранить куда-то себе.
355 2172237
>>172072
И чем это будет отличаться от браузера? Зачем тут c++?
356 2172248
>>172231
Ты можешь возвращать через auto и пофиг какой там контейнер.
>>172237
Так qt это не только про кресты. Это как космические корабли у маска, там кишки на крестах, интерфейс на жс плюс свой реактивный фреймворк. И вообще нормальный крестовик знает обычно ещё пару языков минимум.
357 2172474
>>170414
а как именно АЛГОРИТМЫ учить?
358 2172627
Аноны, привет. Я залетный, не по вашему языку, но выслушайте.

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

Мне стало интересно откуда это, в хэлпе по самому VEX-у ничего подобного нет. Возможно, ноги растут из самого C++, вам знакома такая конструкция?
359 2172632
>>172627
Кастинг типов прямиком из с
360 2172640
>>172632
А разницы нет? Это просто два варианта явного преобразования?
image3 Кб, 390x46
361 2172641
>>172640
В с только первый вариант работает
362 2172644
>>172641
Ок, спасибо. Значит сделали для удобства оба варианта.
363 2172674
Местные аноны, посоветуйте книг программисту на С, чтобы выучить все нововведения в c++ и библиотеку stl, без самых базовых вещей по типу указателей, потоков ввода, вывода, и т. д.
364 2172754
>>157621 (OP)
Такой странный вопрос...

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

Такой вопрос: как правильно писать, что бы это рабьотало? И как быть с многомерными массивами?
365 2172755
>>172754
Забыл: *(array)
366 2172756
>>172674
Чел, если ты сишник - бери любую книгу для нюфань и читай. Ты уже на классах охуеешь.

Как вариант - курс на куросере от яндекса
367 2172757
>>172754
((array+2)+3)
368 2172758
>>172757
тупая ёбань, ⭐(⭐(array+2)+3)
369 2172760
>>172754
Не надо так делать. С этой хуйнёй иди в сишкотред.
370 2172761
>>172758
О, спасибо!

>>172760
Да просто интересно, никогда такой шизой не пользовался.
371 2172762
>>172758
[code]cout << pidr[/code]
372 2172763
>>172762

> cout


Ты нахуй написал using namespace std ? ? ?
16283319131730.png218 Кб, 1200x1168
373 2172765
Ну шо, хохлы аноны на гитхабе шапки что-то взбухли, и я про неё вспомнил поэтому перенёс шапку в readme репозитория, и если у кого-то есть желание её улучшить у меня, очевидно, нет — ждём-с пулл реквестов.

Для ОПа — надо в следующем треде воткнуть ссылку https://github.com/sosachbot/cppthreadhat
374 2172766
>>172758
С многомерными получается похожий способ?
((*(array+x)+y)+z) или что-то другое?
375 2172769
376 2172770
>>172766
Билять

⭐(⭐(⭐(array+x)+y)+z) или что-то другое?
377 2172791
>>172763
Да я мимошел. На доске про программирование нет специального тега для кода, лол.
Абу, explain yourself.
378 2172808
>>172791
Лайки в параше и флажки стран ему было пилить не лень, а один ебучий тег с заменой на <pre><code> хуй.
379 2172849
Шо. Когда там наконец можно будет как человек забить на эти разделения на cpp hpp файлики и как в той же жаве, шарпах, прости господи, джаваскрипте - пилить как человек код в одном файлике?
380 2172860
>>172849
Пиши свой сплиттер, делов на пару строк на питоне.

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

#file имя файла 2
Код
381 2172868
>>172860
Он тебя про модули спрашивал, а ты опять пирдолигн свой толкаешь((9
382 2172885
>>172849
Лет через 10-15, когда с Qt будет то же, что сейчас с Borland C++ Builder.
383 2172903
>>172756
Спасибо за совет, но я не думаю, что там будет очень сложно, ведь про ООП уже знаю, да и более-менее реализовывал его на сишке.
384 2173019
>>172849
Никто тебя и не заставляет разделять их, если тебе не нужны отдельные компилируемые единицы.
385 2173212
Что читать/делать по ООП чтобы понять как грамотно это все использовать?
386 2173218
>>173212
Хорошо почитать и посмотреть примеры про наследование\инкапсуляцию\полиморфизм.

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

И дальше писать код и набираться опыта.
387 2173264
>>173212
Объект - существительное.
Свойство - прилагательное.
Метод - глагол.

Все, теперь ты знаешь ООП лучше 90 % манятеоретиков.
388 2173270
>>173212

>ООП


>грамотно


Поделил на ноль.
389 2173273
>>173212
Хзы что ты именно хочешь, можешь про solid почитать
Узнаешь как ооп в архитектуре используется и для чего
390 2173284
>>173218

>инкапсуляция это охуенно, наследование хуйня


Наоборот.
391 2173316
>>173284
Питонист, иди в свой тред
392 2173447
>>173316
Но инкапсуляция и правда не нужна. Зачем мне самому себе строить ограничения на ровном месте?
393 2173543
>>173447
Пока ты один в проекте, то может быть и незачем. Когда у тебя команда - инкапсуляция становится критически важна. При грамотном подходе человек использующий твой класс не сможет разрушить заложенную тобой логику и будет его использовать его правильно. Когда у тебя нет инкапсуляции, то любой человек в проекте будет пытаться прострелить себе ногу.
394 2173550
>>172849
Зачем? Разделение .h и .cpp это лучшее, что придумано людьми. Ты без проблем можешь писать все в одном файле и сейчас.
395 2173555
Напоминаю вкатышам, что инкапсуляция - это не то же, что private.
396 2173628
>>173550
Да, охуенное разделение, охуенно работает. Определения шаблонов всё равно приходится писать в хедеры. Плюс говно по типу namespace impl, чтобы скрыть детали реализации.
397 2173680
>>173628

>Определения шаблонов всё равно приходится писать в хедеры.


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

>Плюс говно по типу namespace impl, чтобы скрыть детали реализации.


И что в этом плохого?
398 2173702
>>173628
Модули починят
399 2173708
>>173680
Не знаю, извини(( Я понимаю про шаблоны, но просто нахуй тогда пытаться делить на хедеры и сорсы, если всё равно всё в кучу в хедерах получается?(( Мне нравится идея того, что в хедерах публичный интерфейс, но то, что туда надо ещё пихать шаблоны и туда иногда ещё попадают вещи, не касающиеся публичного интерфейса, которые можно разве что попытаться скрыть...

Кажется, в модулях эти проблемы решены, вот насчёт шаблонов не уверен, но я ещё сам их не пробывал... Не знаю, какая там поддержка их в например симейке.
400 2173876
аноны как пофиксить это? я вроде скачал библиотеку же
image.png34 Кб, 536x553
401 2173877
>>173876
отвалилось
402 2173913
>>173876
>>173877
Либо криво встала, либо висуал студия её не видит
403 2173925
>>173913
Оказывается надо было буквы cv убирать перед названиями
404 2173935
>>173925
Питонист, ты? Ты же написал using namespace
405 2173936
>>173935
А ладно
406 2173962
>>173935
я на js пишу так-то, с++ только с лабами вот мучаюсь
407 2173963
>>173212

>ООП


понять что такое гомоморфные иерархии классов и статический/динамический/adhoc полиморфизм и их use cases
понимать что все остальное про что будут писать и говорить про ооп в контексте с++ - буллшит и игнорировать
не путать компонентное программирование через эмуляцию интерфейсов и ооп, это блядь разные приемы в с++
как то так
но лень объяснять, потому что кто это знает тот знает и молчит, кто не понимает тот посчитает этот текст сумашедшим высером
408 2173967
>>173963
Толсто.
409 2173978
>>173218
ну вот первый буллшитер, к примеру
инкапсуляция и ооп вообще никак не связаны, за мантру "ооп это наследование инкапсуляция полиморфизм" нужно валить на пол и бить ногами
410 2173984
>>173978
Расскажи нам, работник гугла\фейсбука, что такое ООП. Желательно без софистики, что тру ооп было в смоллтолке, а сейчас это все хуйня
411 2174006
ООП в крестах би лайк

template <typename T>
class MyClass : public T
{ ... };
412 2174100
как реализовать на с++ алгоритм шифрования при помощи случайной перестановки?
Пока прикинула план шифрования и дешифрования, но как-то с кодом не получается. Подскажите пожалуйста, как это сделать.
Шифрование:
1) берем алфавит, для него рандомно делаем таблицу, по которой будем шифровать (просто меняем буквы местами)
2) в кодовом слове определяем номер каждой буквы (например а-0, б-1, в-2 и тд)
3) по номерам заменяем эти буквы из таблицы для шифрования
Дешифровка:
Нам понадобится та же таблица, только уже в ней будем искать букву, смотреть ее порядковый номер и заменять на изначальную букву
413 2174112
>>174100

>прикинула


Правила знаешь
414 2174120
>>174100
Я нихуя не понял. Ты хочешь перемешать строку? Вот алгоритм
https://en.m.wikipedia.org/wiki/Fisher–Yates_shuffle

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

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

Тоже говно идея, но по крайней не такая шиза, как у тебя.
415 2174174
>>173708

>но просто нахуй тогда пытаться делить на хедеры и сорсы, если всё равно всё в кучу в хедерах получается?((


Я написал выше про шаблоны. Все остальное можно писать в одном .cpp файле. Есть даже прием для ускорения сборки - все собрать в один .cpp и оттранслировать только один юнит.

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

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


Так и должно быть.

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


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

>Не знаю, какая там поддержка их в например симейке.


cmake не поддерживает шаблоны, лол. А вот любой современный компилятор все это поддерживает нормально.
416 2174196
>>173984
ооп это та или иная форма полиморфизма и ничего больше
даже наследование не более чем инструмент для его организации
инкапсуляция вообще не причем, отдельно от ооп
417 2174235
>>173543

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


Помню как приходилось переписывать по половине функционала, потому что ОО-дебилы ИНКАПСУЛИРОВАЛИ всякие мелочи, которые внезапно оказались важными для решения некоторых задач. И это в питухоне, Карл!
418 2174358
>>173543
У меня есть коллега, который презирает уровни доступа С++. Он работает на низком уровне, использует С++, как С с классами. Драйвера, софт для embedded и т.п. Когда я ему начинаю говорить про типобезопасность, инкапсуляцию, он говорит, что возьмет и получит нужные данные по смещению. Ну и что ему возразишь? Ничего. Он прав. Если кто-то захочет - он сделает. Даже в мейнстримовых песочницах можно. Вопрос цены только.

Конечно это не значит, что нужно все это забыть. Но категоричность сбавить можно было бы :)
419 2174359
>>170414
Где на практике нужны эти алгоритмы, кроме графики и хайлоада? В десктопных приложениях, в реализации протоколов максимум std::sort пригодился.

мимо разраб жирного эмбеддеда
420 2174444
>>174358
долбоебам закон не писан
image.png215 Кб, 1460x690
421 2174586
Бляяя какой же сука тупой тайп инференс у С++.
Это что за хуйня он не может неявно преобразовать bool в std::optional? Пиздец как я заебался на этом говне писать.
422 2174595
>>174586
Это специально было сделано, тётя Дуня. Проверяй опшнлы и корректно забирай значения, а не забивай хуй.
423 2174613
>>174586
В чём смысл передавать в метод set optional? Это как-то тупо, проще и логичнее вынести этот if (value) в код, который вызывает set. Это не область ответственности сеттера, он не может корректно обработать отуствтие значения в опшенале, как мне кажется.

Вывод типов... Ну да, придётся добавить <bool> к вызову метода.
424 2174617
>>174613
Как раз таки это класс я сделал специально, т.к задача заключается в том, что приходит некий результат с полями обернутыми в optional и смысл в том, чтобы если значение есть формировать поле в джейсон, а если нет - нет.

>проще и логичнее вынести этот if (value) в код,


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

>Вывод типов... Ну да, придётся добавить <bool> к вызову метода.


Нет, приходится добавляться set("sdad", optional{true})
425 2174714
>>174586
Не явное преобразование - грех
426 2174766
>>174359
Обработка изображений и видео, машинное зрение, сеточки, RTOS.

мимо разраб умного эмбеддеда
427 2174800
Всем привет, изучаю c++ пару часов, вот пока мои самые умные строчки кода.
428 2174803
>>174800
Ты уже умнее 90% вкатунов, хоть и смешал плюсы с сишкой.
429 2174846
>>174800

>изучаю c++


Нахуя? Я вот пытаюсь наоборот с него перейти куда-то после 10 лет поедания говна на нем.
Запомни: С++ - это когда пахнет говном в офисе
430 2174867
>>174846
Кушать хочется. Ещё есть стул в виде раста, но он мне кажется сложноватым пока что.
431 2174884
Сап двач, мидл почти 5 лет опыта. Что скажете за условно русский FAANG: Сбер, Яндекс, Mail, Ozon, Вконтакте, Rambler относительно бэкэнда на крестах. Везде более менее одно и то же. Хоть какая-то разница есть? Может где-то премии пожирнее или соц пакет?
432 2174891
>>174867
Раст во-первых намного проще перегруженного цпп.
А во-вторых, нахуй тебе эта низкоуровенвая параша? Ебаш Котлин или С# и кайфуй от жизни.
433 2174893
>>174884

>условно русский FAANG: Сбер, Яндекс, Mail, Ozon, Вконтакте, Rambler


СЯМОВR
434 2174897
>>174891
Ну хз, концептуально раст кажется сложнее.

>А во-вторых, нахуй тебе эта низкоуровенвая параша?


Чтобы держать мозг в тонусе, так сказать. Ещё можно обмазаться абстракциями и стать фп-каргокультистом, но я пока ещё хз, хуже это или лучше.
435 2174907
>>174897
Ну конечно низкий уровень знать желательно, но не критично в зависимости от прикладной области. Но лучше знать и понимать алгоритмы и уметь выражать задачи на абстракциях языка. Так что чтобы держать мозг в тонусе, лучше фп. Но если ты только вкатываешься, начинать с хаскеля тебе будет сложно. Так что мой совет F# - это OCaml со встроенным dotnet, ахуенная штука, которая позволяет писать на функциональном языке и пользоваться dotnet фреймворком.
436 2174981
>>174893
Но но, мясовор же!
437 2175040
Чем наследование интерфейса отличается от наследования реализации?
438 2175062
>>175040
Интерфейс надо реализовать самому, а реализация уже реализована, осталось только расширять.
439 2175085
>>174846

>Запомни: С++ - это когда пахнет говном в офисе


дык это от тебя шмонит говнецом: разьебанная срака не держит уже
440 2175093
>>174891

>перегруженного цпп


в цпп нет ничего ненужного
целый комитет яйцеголовых стоит на страже не допуская добовления в язык лишней семантики! а существующий синтаксис лишь обслуживает семантику!
441 2175094
>>174897

>фп-каргокультистом


современный с++ к этому не располагает
разве что ты хочешь ретро-кодинга, развлекаясь метапрограммированием на с++98..
442 2175095
>>174907

>F# - это OCaml со встроенным dotnet, ахуенная штука, которая позволяет писать на функциональном языке и пользоваться dotnet фреймворком


если есть 2 квартиры, одну сдаешь, во второй живешь, и еще если умеешь жить экономно (варить борщ) то Ф решетка - твой выбор
в остальных случаях не советую
443 2175096
>>175040
следующий вопрос, это слишком легко
image.png16 Кб, 471x280
444 2175122
Как сделать вставку указателей лучше? хотел через insert - нихуя - мне же надо вставить указатели
sage 445 2175128
>>175122
моск себе вставь
IMG20211006062016447.png43 Кб, 710x376
446 2175134
Открыл пример блокнота на Qt, хочу добавить функцию для настройки печати. Как это сделать, не могу разобраться.
В справке написано
Constructs a page setup dialog that configures a default-constructed QPrinter with parent as the parent widget.
То есть, я могу вызвать опцию без параметров и он должен настроить принтер который есть в моём экземпляре класса? Но почему тогда в функции выше он создаётся заного при нажатии кнопки? Может его нужно создать один раз, при инициализации класса?
447 2175137
>>175128
типичная двачная пидоражка
448 2175139
>>175122
Ну можно ещё через итераторы попробовать сделать

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

только бы сделал фор по коллекции, а не по индексам
449 2175143
>>175139
как раз нельзя (или у меня не получилось), потому и вопрос. data1 и data2 хранятся на стеке, а в ptrData нужно передать указатели на них

Так-то было бы красиво написать ptrData.insert(data1.begin(), data1.end()) - но это не работает, так как итератор хранит значение.
450 2175213
>>175143
Transform + back-inserter + лямбда которая делает указатель
451 2175222
>>175213
Ктулху призываешь?
Screenshot 2021-10-06 122111.png36 Кб, 1137x392
452 2175412
>>175122
Пикрелейтед ответ на твой вопрос.
Мимо другой анон.
Screenshot 2021-10-06 122505.png34 Кб, 980x388
453 2175419
>>175412
Что бы тебя не обоссали на лабекодревью, то можешь лямбду вынести. Пикрелейтед агейн.
Все тот же мимо другой анон.
454 2175422
>>175419
Код говно на самом деле. У меня никогда не получается с первого раза норм. За это я получу страпон.
Все тот же мимо другой анон.
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;
}
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;
}
456 2175486
>>175469
Ложная тревога, сделал key статиком и ошибка пропала
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
Ничего из этого не заработало.
Выручайте, молю.
458 2175619
>>175618

>%lld


фиксанул
460 2175737
>>174766
А какие более-менее универсальные алгоритмы там применяются и как? Что-то связанное с деревьями, скорее всего?
image.png24 Кб, 1026x255
461 2175825
>>175095
Ну хуй знает...
462 2175864
>>175618
Как насчёт std::stoi?
463 2175973
Что за гений придумал в функции работающие с итераторами пихать бегин и энд
В итоге в 99% случаях пишешь фунс(а.бегин, а.енд)
464 2176005
>>175618
отпишись если все же получиться перевести 32 бита информации в 16 бит :D
465 2176008
>>175973
Александреску и Страуструп, кто ж ещё.
Их дело придумать, не им же потом на этом говне писать.
466 2176009
>>175618
алсо, остоеться надеяться что ты студентик еще, а не работаешь на российскую оборонку :P
467 2176010
>>176005
Слабо сжать 1 бит?
468 2176015
>>176010
я могу только сжимать свое очко чтобы говно не вываливалось, думаю в моем возрасте это неплохое достижение
469 2176020
>>176015
Попробуй пробку.
470 2176021
>>176020

>Попробуй пробку


js тред где-то рядом ^^
471 2176060
>>176015
а я язык трубочкой сворачивать - кто лучше?
жаль, что ушами двигать не могу и поднимать одну бровь тоже не умею
.png481 Кб, 1366x768
472 2176070
А куклоёбы тут есть?
473 2176242
>>175618
Пишу с телефона. Тебе надо сделать вот что. Берёшь arr[4] чаров и свой uint32_t val и делаешь так - arr[3] = val >> 24; arr[2] = val >> 16; arr[1]= val >> 8; arr[0] = val;
475 2176465
>>176242
>>175618
>>176005
>>175864
Всё, решил проблему. Оказалось что T - восемь бит и оно не могло умножиться на 30000 потому что для счетчика было достаточно 8 бит. Сделал Т 32 бита и всё заработало. Но вообще странно, почему С не может умножить 8-битную переменную и результат положить в 32-битную?
476 2176466
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
477 2176509
>>176465
Имеешь ввиду эту строчку? >uint32_t Time = (T * 30000) + Tn; где T у тебя был 8 бит? У тебя что за компилятор? MSVS собирает этот код, т.к. выполняет автоматическое преобразование типовю
478 2176523
>>176509

>У тебя что за компилятор?


gсс, среда atmel studio 7.0
479 2176700
БРАТЬЯ, научите решать задачи не перебором

Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 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 не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.
479 2176700
БРАТЬЯ, научите решать задачи не перебором

Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 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 не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.
480 2176707
>>175122
Почему, кстати, здесь не воспользоваться reference_wrapper?
481 2176766
есть вопрос. можно ли в конструкторе класса както получить адрес самого объекта класса который создается этим контруктором? хочу написать двусвязную очередь, и хочу чтобы при создании нового элемента конструктором в поле предыдущего элемента записывался адрес только что созданного. например
Class1(Сlass1* pre){
a=0;
prev=pre;
next=nullptr;
pre->next=И ВОТ ЧТО ТУТ ПИСАТЬ? ПРОСТО &Сlass1 НЕ КАТИТ, Т К ЭТО ИМЯ ТИПА
}
482 2176843
483 2177124
>>176700
1 - к cpp не имеет отношения
2 - лабы нахуй
484 2177133
>>176523
Возможно свои особенности какие то есть. Эта фича называется Implicit type conversions и возможно не поддерживается твоим компилятором.
485 2177135
В каких сферах крестовики зарабатывают лучше всего? Работаю в телекоме, чищу вилкой говна, получаю 180. Думаю о перспективах. Умею в ангелский разговорный - будет ли выхлоп, если запилить релевантное cv на линкедин?
486 2177197
>>177135

>лучше всего


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

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


легаси говна?

>будет ли выхлоп


Если ты действительно шаришь в какой-то предметной области, то да.
VisualStudioIcon2019.svg.png55 Кб, 1200x1200
487 2177259
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
VisualStudioIcon2019.svg.png55 Кб, 1200x1200
488 2177260
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
16336600177170.png55 Кб, 1200x1200
489 2177270
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
16336600177170.png55 Кб, 1200x1200
490 2177271
Анончики, где в VS2019 настроить чтобы мне при компиляции не было в output не было русских слов типа "Не удается найти указанный файл"? Сама студия, менюшки, все, на английском.
491 2177274
>>177135
Финансовая индустрия - во всех инвестбанках, хеджфондах, частных трейдерских компаниях есть внутренние монструозные числодробилки

Некоторое количество плюсовых работ есть в ФААНГах, но работать там это такое себе. Но платят норм.
492 2177329

>трейдинг, финтех


Ну кто бы сомневался, чем денежнее - тем унылее, кхе.

>>177197

>легаси говна?


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

>шаришь в какой-то предметной области


С позиционированием себя беда, конечно. Работал над всяким понемногу, ни от чего особо не угорал - только по графонию периодически чего-то ковыряю и почитываю. Я так понимаю без ясного и чёткого выпячивания какой-то своей фишечки и специализации в cv ловить особо нечего - в лучшем случае локальные же херки и будут написывать.
493 2177401
>>177329

>в лучшем случае локальные же херки и будут написывать


Да не, сейчас всякие пишут. На хедхантере очень сильный разброс - со всех наших пердей (НиНо, Нск, Красный, Дс1/2, Калина, даже с Томксков), с хохлоины, с восточной европы и кипра.
На линке к ним присоединяются дойчи и китайцы.
494 2177404
>>177259
>>177260
>>177270
>>177271
Этого забанить
495 2177500
Как инициализировать структуру в конструкторе класса?

struct st
{
int x;
int y;
}

class s
{

st a;

s() : a(???)
{

}
}
496 2177502
>>177500
s() : a({1,2}) ?
497 2177504
>>177502
Спасибо
498 2177508
>>177404

> Этого забанить



Ну а че, сложно подсказать что ли?
499 2177562
>>177508
Вероятно это сообщения не из студии, а из соснольных команд шиндовс типа dir или copy, которые она может запускать при сборке.
500 2177694
>>157621 (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>, поскольку оно потребуется в будущем.
501 2177887
Есть желание попилить воксельный движок не для коммерческой разработки, просто люблю матан, кодить и есть много свободного времени
Какие библиотеки для работы с 3d можете посоветовать?
502 2177909
>>177887
Зачем использовать что-то стороннее, связанное с графикой, если собрался делать свой графический движок? Просто возьми какие-нибудь либы для создания окна с opengl контекстом и для загрузки opengl функций, и пиши с нуля, что душе угодно. Ну или вулкан. Или этот бойлерплейт с созданием окна и загрузкой функций тоже сам напиши.
503 2178472
Кто шарит в opengl/glfw?
Как передать hex цвет #b765b7 в glColor...()?
504 2178475
>>178472
(0xb7, 0x65, 0xb7)
505 2178731
>>177887
Уже придумал, как кубы рендерить, воксельный?
506 2178738
>>178731
В майнкрафте.
507 2178818
Че сейчас на сеньерскую позицию спрашивают на собеседованиях в конторки выше среднего? Виртуальный деструктор. 4 года назад последний раз был на собесе.
508 2178988
>>178818
Почему вы хотите работать именно в нашей компании?
Кем вы видите себя через пять лет?
Почему ты не можешь решить FizzBuzz за три минуты?
509 2179035
>>178818
Параллелизм. Либо на него будет тестовое.
А вообще на синьёра катают по предметке, если это не яндексы-хуяндексы, а конторы поскромнее.
510 2179180
>>178818
А разве сеньер не должен сам уметь проводить собеседования?
511 2179185
>>179180
Нет.
512 2179332
Сильно ли заебисто написать деление в столбик больших чисел, которые в виде строки вводятся?
513 2179355
>>179332
берешь @ пишешь
514 2179360
>>179332
Да, очень-очень заебисто. Проще в нвидию устроиться, батники писать.
515 2179534
>>179360
Устраивайся, я тебя даже пособесю :3
изображение.png35 Кб, 1384x581
516 2180189
Че за хуйня? Я открыл в vs файлы, писал что то в них, а через консоль компилировал. Потом оказывается, что я файл не могу сохранить, а саму vs не могу закрыть. Че за хуйня?
517 2180265
>>180189
переустановите шиндовс
518 2180267
>>180189
переустановите шиндовс
519 2180482
На чем был написан первый плюсовой компилятор?
521 2180744
>>179180

>А разве сеньер не должен сам уметь проводить собеседования?


Как-то раз я пришел в Скотолоджик и не они мне, я им провел собеседование
522 2180876
Conan ещё жив?
Аннотация 2021-10-12 090723.jpg157 Кб, 1901x964
523 2180906
Посоны, где в Visual Studio настроить, чтобы эта хрень Tools -> Get Tools and Features была на английском?
524 2181009
>>180906
Инсталер - это отдельная программа. Насколько я помню, у нее нет настроек языка. Микрософт при скачивании подсовывает версию на том языке, который она считает подходящим для тебя.
525 2181200
>>178818

>Че сейчас на сеньерскую позицию спрашивают на собеседованиях в конторки выше среднего? Виртуальный деструктор


Sad, but true.
Мне в прошлом году прилетело несколько интересных предложений и я пошел на собеседования. Там везде спрашивали про виртуальный деструктор и прочую базовую херню. У меня на тот момент 24 года опыта было за плечами.
Мимо дед.
526 2181361
Что с такой ошибкой делать? (Решил написать свой клон diamond rush)
527 2181362
>>181361
заинклудить хедер, где есть определение gobjects?
528 2181366
>>181362
Не помогает, ошибка осталась
529 2181381
>>181366
Удали forward declaration - class gobjects; и подключи хедер с полным объявлением.
image.png41 Кб, 585x792
530 2181924
Ну нормальное же решение, бля..
531 2182028
>>181924
Зачем переизобретать 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
532 2182040
>>182028
Буст в конторе не используем, только STL и собственные наработки. Стандарт пока что 14-17 (либы 14, конпелятор 17). Короче, надеюсь тимлид не скажет, что сильно выебываюсь, когда дойдет до ревью кода ветки.
533 2182077
>>182040
Ты какое-то sdk шлёпаешь? Скукотища же ёбаная шаблоны шаблонить, не?
534 2182318
>>181381
Короче у меня взаимная зависимость классов и всю мою парашу нужно заново переписывать. Я в главном классе game вызываю метод отрисовки в классе draws, внутри которого вызывается метод внутри класса внутри gobjects, внутри которого вызывается метод внутри draws. И типа компилятор читает один h файл, там есть обращение к классу из другого h файла, который компилятор ещё вроде не прочитал. Я хз как пофиксить это не переписывая
535 2182327
>>182318
Нехуй было писать реализацию методов в хедерах.
536 2182340
>>182327
Да я сам уже допер что хуйню сделал, первый раз делаю прогу в которой больше 2 файлов
537 2182371
>>181200

>У меня на тот момент 24 года опыта было за плечами.


>Мимо дед.


Если бы у тебя было 24 года опыта, то у тебя так же должен был бы быть опыт проведения собеседований и ты должен был бы знать, что постоянно даже на сеньерские позиции приходят какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.
538 2182388
>>182340
Есть такое.
В книжках, в примерах с интернета все стараются скомкать код, определить внутри класса, или все вообще в main() засунуто и подперто глобальными переменными.
Взял за правило, когда смотрю такой пример, всегда изучаю дополнительно как это правильно раскидать по разным файлам, как можно избавиться от глобальных переменных, расчленить на отдельные функции.
изображение.png12 Кб, 560x413
539 2182643
>>157621 (OP)
Есть возможность вызывать объект по обращение к его полю, например? В данном случае в векторе 3 экземпляра Car, но обращаться к ним можно только по индексу вектора. Допустим при парсинге я не знаю, по какому индексу bmv, но мне необходим будет именно этот экземпляр.
540 2182657
>>182643
тогда вместо vector используй map
541 2182857
>>182040
Ты ж кстати надеюсь знаешь про std::ostream_iterator ?
542 2182909
>>182657
unordered_map быстрей если поддержание порядка не важно
543 2182926
>>182371

>Если бы у тебя было 24 года опыта, то у тебя так же должен был бы быть опыт проведения собеседований и ты должен был бы знать, что постоянно даже на сеньерские позиции приходят какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.


Всякие люди бывают на собеседованиях. Однако если человек приходит с опытом условного сеньора, то вполне достаточно задать ему сеньорские задачи. Например объяснить как он будет реализовывать какой нибудь шаблонный класс для обмена данными между потоками (для простоты пусть данные будут POD структурами) и все lock-free должно быть, плюсом спросить его почему он выбрал такое решение. Здесь можно узнать вообще знаком ли человек с lock-free многопотоком, с моделью памяти и вообще на сколько он адекватно воспринимает реальность. Мне, например, неинтересно может ли человек заобезьянить какой то быдлокод. Этому можно научить любую пыхомакаку. Мне нужен человек который может самостоятельно решать поставленные проблемы. Сеньор by default знает нахуй нужен виртуальный деструктор, зачем переспрашивать эволюционную лестницу у человека от сперматозоида до сеньора то? По моему это дерьмо и пустая трата времени, плюс неуважение к всем присутствующим на собеседовании. Джунам джуновское, а сеньорам сеньорское, просто потому что сеньор умеет все что умеет джун, а джун не может в сеньора.
544 2183096
>>182909
Не всегда он быстрее. Надо измерять (если быстрота вообще нужна).
545 2183108
>>182926

>пусть данные будут POD структурами


>для простоты


Вообще-то, POD структура - это довольно сложная штука; в том смысле, что ее формальное определение довольно упоротое и включает другие штуки с упоротыми определениями.

Вот мне что интересно, сеньеру это все реально нужно помнить и знать?
Ну то есть уметь по определению строго доказать, что такой-то класс - это POD, а вот такой - не POD потому, что...
Или сеньеру достаточно иметь представления, что POD - это такой достаточно простой объект? А за подробностями отослать к справочнику и/или к std::is_pod.
546 2183121
>>182926
Сеньер вообще имеет право сказать "Вот тут я не знаю/не помню, надо почитать справочники. А еще лучше обратиться к languge lawyer'у"?
547 2183138
>>183121
Естественно. Все от мала до велика пишут на некотором подмножестве языка. Разница только в том, что синьёр скажет, где быстро загуглить и как это сделать другим способом.
548 2183150
>>183138
А можно несколько примеров, если не трудно?
Когда можно, а когда точно нельзя.

Просто хочу для себя составить представление о хорошем подмножестве, насколько вообще стоит углубляться в чисто языковые дебри.
549 2183164
>>183150
Ну самое избитое это кидать исключения или возвращать код ошибки. Если ты долго педалил эмбед, то про catch/throw останутся лишь воспоминания.
550 2183167
А в C++ можно реализовать переменную, которая бы могла иметь возможные значения, которые я захочу. Ну т.е есть переменная a, и я могу ей присвоить значение a=empty; или a=filled;
551 2183175
>>183167
enum class val { empty, filled };
val a = val::empty;
552 2183306
>>183167
std::optional
553 2183329
>>183108

>Вообще-то, 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 - это такой достаточно простой объект?


Достаточно знать, да. Вопрос был в другом.

>>183121

>Сеньер вообще имеет право сказать "Вот тут я не знаю/не помню, надо почитать справочники.


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

>>183138

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


Поставлена конкретная задача, а не поиск другого способа или ебля гугла. Я хочу увидеть как человек думает над задачей и идет к решению. Готов даже подсказать, а не дать выебать гугл и стэковерфлоу. Это собеседование где оценивают его навыки и знания.
553 2183329
>>183108

>Вообще-то, 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 - это такой достаточно простой объект?


Достаточно знать, да. Вопрос был в другом.

>>183121

>Сеньер вообще имеет право сказать "Вот тут я не знаю/не помню, надо почитать справочники.


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

>>183138

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


Поставлена конкретная задача, а не поиск другого способа или ебля гугла. Я хочу увидеть как человек думает над задачей и идет к решению. Готов даже подсказать, а не дать выебать гугл и стэковерфлоу. Это собеседование где оценивают его навыки и знания.
554 2183510
>>183167
void* гыгы
image.png45 Кб, 769x639
555 2183603
Взял программу, работавшую на микроконтроллере, а в microchip studio для соответствующего контроллера, она не компилируется. В чем может быть дело?
556 2183663
>>183603
Я сегодня посрал в штаны. В чем может быть дело?
557 2183699
>>183663
Очень хорошо. Есть плата, к которой я не хочу гонять через весь город. Я скачал эмулятор. Набор букв и цифр, который ее обозначает, вроде бы совпадает. За чем еще мне следует проследить?
558 2183737
>>183603

> в чем может быть дело


Литерали в чем угодно
В любое место пальцем тыкай, там проблема может быть

Собственно аналогично и чинить пытайся, методом тыка
559 2183795
>>183737
Если твой единственный совет это "попытайся разобраться сам", тогда как выглядит вопрос, на который ты соблаговолишь ответить?
560 2183802
>>183795
Учитывая что ты дал примерно нихуя инфы, то и совет соответствующий
561 2183970
>>182857
Ой, звучит как слишком через жеппу
562 2183971
>>182077
Не, просто данные туда-сюда гоняем, и есть, грубо говоря, два упорядоченных контейнера с айдишниками, при чем две разные структуры с полем айди (то есть там еще и компаратор в алгоритм надо передавать). Вот решил избавиться от лишнего жора памяти back_inserter с последующим проходом.
563 2184161
Существует команда которая вызывает один метод у всех инициализированных в программе экземпляров класса/наследника?
564 2184216
>>184161
Нет. Скорее всего, твоя задача решается более адекватным способом.
565 2184405
>>183603

Нахуя у тебя комменты подчеркнуты как ошибки?
566 2184450
Бля а это нормально, что я вот что-то написал и мне иногда с нихуя вижуал студия в ошибках ругается, что какой-то там идентификатор не определён (какой нибудь endl), при том что программа нормально компилируется
567 2184502
>>184450
Интеллисенс и сборка используют разные компиляторы в разных режимах. Тем не менее, фикси инклюды
568 2184503
>>184405
Я не он, но знаю ответ. Это Visual Assist, он проверяет орфографию, но с русским у него не очень, даже если словарь прицепить
569 2184521
>>184503

И нахуй он нужен в IDE с проверкой лингвистики?
image.png8 Кб, 531x137
570 2184541
>>184521
Конченые пидорасы
571 2184805
>>184541
Большими буквами же.
572 2184826
>>184805
НВИДИЯ-КУН
573 2185232
С++ сложный
574 2185237
>>185232
Кэп, ты?
575 2185291
>>185232

В чем же его сложность?
изображение.png5 Кб, 377x334
576 2185299
Поясните за фигурные скобки плиз. Эти две штуки работают идентично. В первом случае я вызвал конструктор по умолчанию. Тут я понял. Как работает вторая строка? В чем разница?
577 2185306
Сап, крестач

Есть пет-проект, где очень нежелательно юзать исключения. Надумал такую штуку вангую, что изобрёл велосипед, но похуй - в приватном поле класса ебануть булевый флаг, означающий валидность объекта после того, как конструктор сделал всё необходимое. А последующий вызов методов данного класса через проверенный таким образом объект уже будет проверяться через обычный сишный return error code либо через std::optional в более сложных случаях. Это норма или антипаттерн? Заранее спасибо
578 2185311
>>185306
Борьба с исключениями - это антипаттерн. Но раз тебе так хочется, сделай пустой конструктор и ещё метод init(), который будет возвращать коды, как у дедов 50 лет назад.
изображение.png9 Кб, 436x243
579 2185319
>>185299
В чем же его сложность?

>>185299

>В чем разница?


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

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

По началу, лучше разбираться конкретно с теми контекстами, которые ты встречаешь на примерах, чем пытаться запомнить все со справочника.
Если тебе нужны примеры, то возьми какую-нибудь книжку и держи под рукой справочник. На одних ответах с двача ты осмысленную программу никогда не напишешь.
580 2185326
>>182926
настоящий сеньор если придет на собес и его начнут ебать многопоточкой поинтересуеться какие юз кейсы этой многопоточки на фирме вообще используються и по факту оказываеться что потоки им нахуй не нужны, а проэкт делают долбоебы используя хайпнутые технологии
типа запиливая свои тред пулы и прочуу поеботу когда достаточно организовать всего лишь асинхронный io в один поток и этого будет более чем достаточно под ту нагрузку под которую пишеться проэкт
вот так то
581 2185337
>>185311

>как у дедов 50 лет назад.


Я слышал, что в геймдеве не жалуют исключения.
Не из-за того что деды, а потому что все эти новенькие недеДские плойки-хуейки криво поддерживают исключения.
582 2185340
>>185326
А ещё бывает (причём довольно часть), что дебичи не могут в матан и алгоритмы, поэтому брутфорсят своё шаблонное говно параллелькой, гордясь что оно lock-free.
583 2185405
>>185306
ну если вспомнить историю вопроса то страуструпу пришлось ввести механизм исключений в язык по той причине что он ввел конструкторы классов в язык и возможность перегрузки операторов
а из конструкторов и операторов значит по другому никак не вернуть ошибку, нужно городить исключения
все это он подробно расписывал в своих книжонках пока еще не обленился совсем
кстати он расписывал и про то как писать код на крестах без исключений
значит он говорил что вам волей не волей придеться вводить двухэтапную инициализацию класса (а уж как вы будете это делать ваша воля, есть парочка общеупотребительных паттернов на это), а для операторов вам нужно будет рядом еще делать дублирующую функцию-член что не будет кидать исключение в случае ошибки, а вернет номер ошибки или как там у вас будет организовано
все это он тоже подробненько описывал
читайте книжки в общем
или не читайте
похуй
584 2185407
страуструп кстати охуенный челик, прижимистый
вот типа говорят что язык переусложнен бла бла
а вот он пишет что над каждой частью языка долго думал прикидывал и так и сяк и получалось что без этого не обойтись на уровне библиотек, что типа надо вводить в язык и все такое
то есть он не потому что модно было вводил что-то на уровень языка, а потому что надо было
16330942798150.png412 Кб, 588x604
585 2185430
>>185407

>прижимистый

586 2185435
>>185299

>В чем разница?


Во втором случае aggregate initialization, конструктор не вызывается.
587 2185454
>>185407
В Сях нуль-терминированные строки тоже считались хорошей, продуманной идеей. И array decay тоже хорошо помогал при портировании программ из B. Обе идеи продуманы, но на текущий момент считаются неудачными. Настоящая цена той или иной реализации идеи понимается только после её интенсивного использования.
588 2185467
>>185435
По-моему компилятор тут имеет право оптимизировать. Но это не точно.
589 2185475
>>185311
В гугле весь С++ код не имеет исключений, включая гугл хром. Выжимая максимум из программы, ты всё же захочешь от них избавиться.
590 2185550
Пишу библиотеку. В ней мне нужно заинклудить iostream. При этом если пользователь подключит iostream, то окажется, что iostream заинклюден дважды, что плохо. Как фиксить?
591 2185563
>>185550

> что плохо


Нормально, это обычное дело для хедеров. Поэтому в них и принято юзать include guards/pragma once.
592 2185620
>>185475
Да какая разница, что там в гугле.
Проектировать надо так, чтобы код, которому надо работать быстро, в принципе не имел необходимости бросать.
А всякая логика вроде "не нашёл такой-то файл" пусть бросает сколько ей угодно. Избавиться от неё захочет только любитель разодрать своё очко нашлёпать побольше говнокода, с которым потом очень весело возиться.
593 2185663
>>185563
Спасибо
594 2185666
Как внутри макроса склеить выражение и __LINE__? expr##__LINE__ делает просто expr##__LINE__.
596 2185683
>>185673
Да, спасибо. Есть еще вопросик. Нужно выполнить макросы в определенном порядке (макросы встречаются только вне main) . Для этого мне нужно как то понять, что все макросы обработаны. Нет ли никакого способа понять, что я обработал все макросы?
597 2185705
>>185683
#ifdef?
А вообще у меня холодный пот на жепе выступил при попытке представить цепочку умозаключений, которая привела к твоему вопросу. Скорее всего задачу будет лучше каким угодно другим способом.
598 2185706
>>185705
*лучше решить
изображение.png2 Кб, 1085x33
599 2185718
Есть где-нибудь хорошие стринги? Заебало такую хуиту писать

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

стрингбилдер хуйня с проблемами
600 2185721
Помогите, почему рисовка квадрата ломает круг? Если поставить отрисовку квадрата после отрисовки круга, то круг рисуется нормально, но квадрата уже нет, а треугольник рисуется через кадр (мигает). Библиотека glfw
image.png12 Кб, 318x239
601 2185723
602 2185790
>>185467
Оптимизировать что?
603 2185798
>>185718
В С++20 или в vcpkg install fmt

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

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

Сроазу видно, какой язык сделан для людей
604 2185803
Препроцессор при обработке файлов смотрит на define'ы из других файлов?
605 2185810
>>185803
Из всех хедеров заинклюженных, само собой.
606 2185813
>>185803
С презрением.
607 2185827
я новичок не бейте
Допустим я хочу вызывать метод, в котором должен быть параметр, но я не хочу передавать этот параметр в метод, однако он там быть должен. И сделать этот параметр параметром по умолчанию тоже не получается. Как это сделать максимально грамотно?
608 2185830
>>185827
Для начала скажи, почему не хочешь передавать и почему нельзя сделать по умолчанию. Может, у тебя нормальная причина, а не "Хочу, чтобы компилятор сам писал код за меня".
609 2185836
>>185830

>почему не хочешь передавать


Пытаюсь реализовать BST, для рекурсивного метода вставки нужны данные и указатель на указатель на корень, хочу передавать в метод только данные и хочу чтобы второй параметр был там по умолчанию. А по умолчанию его не получается вставить там требует static.
610 2185842
Нужно написать библиотеку. Она должна уметь компилиться либо с файлами test.cpp и testmain.cpp, либо с любым файлом пользователя, где есть main() и подключен test.h и ничего больше. В хедере я объявил вектор, к которому хочу обращаться из test.cpp и testmain.cpp. Если просто в хедере прописать вектор, то компилятор ругается на множественное определение, что не удивительно, ведь я когда хедер заинклудил, то у меня вектор объявился в test.cpp и testmain.cpp. Сначала я подумал дописать static, но так оказывается, что в test.cpp все работает, а в testmain.cpp вектор заново инициализируется и оказывается пустым. Че делать?
611 2185850
>>185790
the compiler can optimize away - это из лексикона Страуструпа.
Есть user defined конструктор - компилятор обязан давать гарантии на счет поведения конструктора.
Нет user defined конструктора - компилятор может решать на свое усмотрение. Подробности реализации.
Для случая пустого {}-инициализатора я в справочнике вижу только описание конечного эффекта, но не того, как он достигается, с вызовом скрытого конструктора или без него. В Стандарте я ориентируюсь плохо, чтобы такие тонкости искать.
612 2185851
>>185850
#ifdef VECTORDEF
extern nsp::myvec<...> vec
#endif

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

Почему то вставляем везе второе определение
613 2185852
>>185842
Я ничего не понял
Можешь просто хэдер онли лайбрери запилить
Создаёшь хпп файл, там же реализацию пишешь

Всезде где тебе понадобиться эта библиотека, просто кидаешь этот один файл
614 2185854
>>185852
Один из примеров использования: есть некий файл с тестами tests.cpp, в котором используется эта библиотека (test.h подключен). Так же есть test_main собственно с функцией main. Туда я тоже должен подключить test.h, чтобы использовать классы из хедера. Там мне нужно будет как то использовать результаты тестов из tests.cpp. Я хотел сделать глобальный вектор, но не получается.
1634470688121.jpg19 Кб, 415x320
615 2185855
>>185854
Только не понятнее стало
Ты точно что то не то делаешь
616 2185869
>>185855
Короче как сделать глобальную переменную, доступную из всех файлов и чтобы компилятор не ругался на множественное определение?
617 2185873
>>185869
В одном файле определяешь int a, в других exterm int a;
618 2185880
>>185869
Почитать книшку по С++ и понять что такое определение и что такое объявление.
В хедере ты должен объявить. Объяылять можно сколь угодно раз.
А вот определение может быть только одно

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

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

p.s. С++ - не тот язык в который можно вкатится по урокам с ютубса. Много всяких мелочей. Так что иди и читай Ламота
619 2185885
>>185873
>>185880
Я не могу в cpp с тестами писать ничего кроме подключения хедера по условию задачи. Я пытался ifdef'ами сделать так, чтобы оно в первый раз просто bool isLoh писало, а потом extern isLoh, но оно везде пишет bool isLoh
620 2185896
>>185885
Эта любовь придумать себе проблемы на равном месте без хорошего знания языка. Ты сейчас будешь дрочить всякую хуиту типа ifdef (которые ты тоже не понимаешь), потому что не понимаешь как это все работает.

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

Тебе тут не помогут с такой шизой.
Ну или давай вообще весь код и все условие (но тоже вряд ли помогут - ибо лень и никому не нужо)
621 2185989
>>185850

>В Стандарте я ориентируюсь плохо


Это ты зря, конечно.
622 2186084
Как написать макрофункцию так, чтобы можно было писать macrofunc(a,b) , macrofunc(a,b) ? Я сначала написал с помощью do{} while(0) чтобы работало с if, но теперь с запятой не работает
623 2186090
>>185896
Бывает четвертый вариант еще - ебанутая автоматизированная система проверки, типа той, что у курсов яндекса используется. Дали тебе задачу вот и ебись с системой сам.
624 2186103
>>185989
Да по стандарту по самому нужен гайд как им пользоваться.
С такой штукой, как инициализация та же, не сообразишь вообще где искать, в каком разделе? Там же куча контекстов. Получается, что зачастую ответ на простой вопрос размазан по нескольким разделам.
И чем новее Стандарт, тем хуже. На том же стек оверфлоу если и встречаю ссылки на Стандарт, то не старше 11 года.
625 2186143
>>186084
Не надо так делать.
626 2186182
>>186103

> Да по стандарту по самому нужен гайд как им пользоваться.


У страха глаза велики.

>С такой штукой, как инициализация та же, не сообразишь вообще где искать, в каком разделе?


В [dcl.init] всё собрано))0)0

> Получается, что зачастую ответ на простой вопрос размазан по нескольким разделам.


Стандарт не читал, но мнение имеешь? Диванный кукаретик?

> И чем новее Стандарт, тем хуже.


Тем лучше. Подразделы переносят в более логичном порядке.

> На том же стек оверфлоу если и встречаю ссылки на Стандарт, то не старше 11 года.


Ну в вопросах 2011-го года — наверное. А в свежих ­— на 17-й, 20-й или текущий драфт, если только явно не требуется старее.
627 2186238
>>185454
дзен заключаеться в том что в языке си нет никаких строк
и именно поэтому си живет и прекрасно себя чувствует уже скоро как пол века
628 2186241
>>185475
и че?
в гугл хроме полно сомнительных архитектурных решений и ни в коем случае эту кодовую базу не стоит брать за образец
629 2186245
>>185718
в стандартной библиотеке std::ostringstream уж больше четверти века вообще то
ну и альтернатив полно, начиная с boost::format и прочего
630 2186255
>>185827
call wrapper что ли надо?
всегда можешь написать еще одну функцию рядом, но это наивный подход
можешь написать перегрузку, причем в новой перегрузке просто вызывать старую функцию оборачивая ее
ну а вообще то в стандартной библиотеке всегда существовала кучка средств для подобной работы (и причем ее существенно дорабатывали в новых стандартах), типа std::bind
а вообще не слушай меня тк я хуйло безработное и лох фу таким быть, будь лучше четким, самое главное быть в жизни четким
631 2186257
>>185836
а, лабопроблемы
зря я распетушился тогда
632 2186262
>>186084
секрет любого макросописания - это наебашить побольше (((((()))))((()))) в код, потом ты узнаешь про склейку строк, а потом изучаешь boost::preprocessor
photo2021-10-1723-19-21.jpg56 Кб, 1200x780
633 2186346
Гениусы, расскажите, что делает этот кусок кода?
634 2186783
>>186182

>Стандарт не читал, но мнение имеешь?


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

>Диванный кукаретик?


Хоббист, не карьерист.
Даю неточные ответы всегда в расчете на то, что меня поправят лучше знающие люди. Что в этом криминального? На том же стековерфлоу обычно правильный ответ только один.
635 2187015
В классе есть поле static bool c. Есть метод bool& get_c(); Это все в хэдере. В cpp написал bool& namespacename::classname::get_c() {
return this->c;
}
При компиляции получаю ошибку error LNK2019: ссылка на неразрешенный внешний символ. Если попытаться вернуть ссылку на временный объект, то все ок. ЧЯДНТ?
636 2187022
>>187015
ВСе понял. Статики нельзя возвращать
1634579393049.jpg234 Кб, 1080x1074
637 2187048
>>186346
С каждым стандартом становится хуже и хуже
Что это за ужас
638 2187090
>>187015
можно, просто обьяви его в .срр дополнительно, или сделай инлайн
639 2187113
Вот есть макрос #, который в кавычки заключает текст. А нет обратного? __FILE__ подставляет имя файла в кавычках, а мне надо без.
640 2187141
>>187113
Не надо тебе этого.
изображение.png11 Кб, 620x246
641 2187206
Почему так не работает?
642 2187217
>>186783

>Я не говорю, что надо под меня переделывать Стандарт, я говорю, что не помешал бы гайд по его использованию.


1. Открываешь
2. Читаешь

> Даю неточные ответы всегда в расчете на то, что меня поправят лучше знающие люди. Что в этом криминального?


Это провокация.
644 2187315
>>186346
Начнем с того, что ты хуй это еще ни разу не стандарт. И ты идешь нахуй читать доку по ranges.

Могу предположить, что в коде происходит следующее:
1. собираем слова с ввода
2. находим те, которые отличаются только лишь одной буквой
3. выводим первое попавшееся выбрасывая пару букв, которые отличаются
4. получаем по пальцам за отсутствие return 0;
645 2187318
>>182371

>какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.


Двачую.

>>182926

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


Потому что годы идут, а мозгов не прибавляется.

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


И что же ты для этого будешь спрашивать?

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

>>183121

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


Зависит от вопроса, блин. Ответ "нет" в разы хуйовее чем "не знаю, но наверное...".

>>183164

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


Еще одна жертва говносборок конпеляторов

>>183167

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


std::variant

>>184161
>>184216

>Существует команда которая вызывает один метод у всех инициализированных в программе экземпляров класса/наследника?


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

>>185311

>Борьба с исключениями - это антипаттерн


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

>>185475

>В гугле весь С++ код не имеет исключений, включая гугл хром.


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

>Выжимая максимум из программы, ты всё же захочешь от них избавиться


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

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

>>185836
>>185827

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


>BST


Сделай метод-член класса, и вместо tree_insert(data, tree); будет tree.insert(data); Красивше.
645 2187318
>>182371

>какие-то деды с 10-20+ годами опыта, но которые 2+2 сложить не могут, не говоря уж про виртуальный деструктор.


Двачую.

>>182926

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


Потому что годы идут, а мозгов не прибавляется.

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


И что же ты для этого будешь спрашивать?

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

>>183121

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


Зависит от вопроса, блин. Ответ "нет" в разы хуйовее чем "не знаю, но наверное...".

>>183164

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


Еще одна жертва говносборок конпеляторов

>>183167

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


std::variant

>>184161
>>184216

>Существует команда которая вызывает один метод у всех инициализированных в программе экземпляров класса/наследника?


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

>>185311

>Борьба с исключениями - это антипаттерн


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

>>185475

>В гугле весь С++ код не имеет исключений, включая гугл хром.


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

>Выжимая максимум из программы, ты всё же захочешь от них избавиться


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

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

>>185836
>>185827

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


>BST


Сделай метод-член класса, и вместо tree_insert(data, tree); будет tree.insert(data); Красивше.
646 2187375
>>187318

>Еще одна жертва говносборок конпеляторов


кроссконепеляторов, third-party либ и всяких тулчейнов от блядских nvidia, не способных высрать нормальный nvcc.
647 2187405
>>187217

> провокация


Ну а что? Весь двач на этом стоит.
Карьеристам - деньги и слава, мне - РНН господину - знания и свобода от условностей карьеризма. Справедливо ящитаю.

Вот если бы я тебе ответил "сам не не нуб, а на нуба наезжаешь", вот это была бы провокация.
648 2187463
>>186346
Я не понял, это современные плюсы так выглядят, или это что то другое?

мимо вкатышь
649 2187466
>>187315

>4. получаем по пальцам за отсутствие return 0;


В ньюфаг-тред вернитесь пожалуйста.
650 2187472
>>187318

>POD - это структура, которую можно свободно memcpy / memset.


Это trivially-copyable. А чем от POD отличается даже я не хочу знать.
651 2187518
В ньюфаг-треде никто не ответил, поэтому я пришел к мудрецам.
Почему принято считать, что регистры процессора быстрее оперативной памяти? Я понимаю жесткий диск электромеханическое устройство, но оперативная память плата, где электрические сигналы, как и в процессоре распространяются со скоростью света. А кто-нибудь вообще проверял, может они равны по скорости?
652 2187523
>>187518
Не стоит вскрывать эту тему.
653 2187536
>>187518
Регистры они в процессоре, а оперативка снаружи. Прикинь во сколько раз больше путь сигнала. Скорость распространения сигнала же не бесконечная. А еще оперативке нужен контроллер памяти. Правда его давно уже в процессор встраивают.
654 2187539
>>187518

>распространяются со скоростью света


Сигналы сигналами, а есть еще переходные процессы всякие. 0 в 1 не со скоростью света превращается.
655 2187547
>>187518
Регистры > L1 > L2 > L3 > L4 > RAM > SSD > HDD > Network > Почтовые голуби
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 были какие-то такие функции форматирования?
657 2187688
>>187680

>Вроде же в STL были какие-то такие функции форматирования?


Какие-то были.
658 2187700
>>187680
Страуструпа почитай, как он это через локали делает в главе про локали.
659 2187711
>>187680
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 защекоинов
660 2187773
Вечер добрый.
Потребовалось написать приложение на win32 API. Как включить bmp изображения, загружаемые программой в ресурсы так, чтобы при компиляции они включались в exe? Работаю в Visual Studio 2019.
Заранее спасибо
661 2187849
>>187773
#embed типа?
662 2188005
>>187773

>приложение на win32 API


БОГ В ПОМОЩЬ!!
663 2188010
>>187547

> HDD > Network


мы вам перезвоним
664 2188012
>>188010
127.0.0.1 это ещё не Network
665 2188028
>>187773
В дереве проекта есть папка Файлы ресурсов/Resource files.
Кликаешь -> добавить ресурс -> импорт...
Либо пуками залезаешь в *.rc файл своего проекта и туда добавляешь путь к изображению.
Но по-хорошему если ресурсы крупные, то их надо хранить за пределами исполняемого бинаря.
666 2188046
>>187463
ага
soft obfuscation
защита от вкатунов
кресто-задротики так пытаюься защитить свой хлебушек с тонким слоем маспа сверху
667 2188054
>>188012
позоришься
изображение.png164 Кб, 675x175
668 2188953
669 2189176
>>187518
регистр - это как твой хуй или анус, вот хочешь подрочить, сразу взял и подрочил, потому что это под боком, на расстоянии вытянутой руки. А оперативная память - это скоуп доступных тебе телочек (или мальчиков), чтобы какую-то дрюкнуть тебе надо сначала знать ее контакт (адрес в памяти), позвонить, договориться что она придет, потом она к тебе на такси (по шине) едет. В общем мораль такова что быстрее и дешевле подрочить
image.png169 Кб, 1920x1080
670 2189285
Хелпаните!
почему если значение -а- меньше значение -b-, то нихуя не выводится.
ПЖ!!!
)
671 2189289
>>189285
Поставь явно все фигурные скобки во всех if-then-else.
672 2189293
>>189289
И ещё
- В логических выражениях поставь явно нужные круглые скобки, возможно у тебя проблема с прецедентностью
- Не используй альтернативные написания операторов (and -> &&, or -> ||), считается моветоном
- Не пихай всё в одну строчку, очень неудобно будет пошагово отлаживать и просто сложно на лету отличить условие от самого действия
- Пользуйся дебаггером
673 2189301
>>189293
Мало что понял, тк это второй урок информатики, но спасибо за ответ, прислушаюсь.
674 2189316
>>189176
А можете в таком стиле целую книгу по основам CS написать? Пользовалась бы успехом!
675 2189372
Как можно обратиться к методу класса/наследников, экземпляры которых я добавляю в <vector>?

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

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

Если я напишу my_class[0]. то мне в возможностях высвечивается только то, что добавлено либой вектора
676 2189381
>>189372
my_class[0]->
677 2189420
>>189316
ты имеешь в виду журнал хакер?
678 2189422
>>189381
Спасибо
679 2189446
Так, теперь такой вопрос, как можно удалить экземпляр класса из массива вектора методом этого же класса?

То есть я обращаюсь к методу my_class, внутри которого есть проверка на размер числа, и если число больше чем нужно, то вызывается другой метод, в котором я хочу реализовать удаление этого экземпляра из вектора.
680 2191435
>>189446
if (vector_name.method_name())
{
auto iter = vector_name.begin();
iter += i;
vector_name.erase(iter);
}
681 2191438
>>191435
if (vecor_name.method_name())
хотя проблему, наверное, ты уже решил
а тред умер
682 2191452
Куда в ДС-2 можно пойти на проекты для военной промышленности? Знаю 'Кронштадт' и 'Sitronics' что-то около военное пишут. senior c++
683 2191997
Я пытался узнать сколько памяти резервирует вектор через sizeof(), но он всегда показывает одинаковый размер 24 байта, я так понял потому что хранит только указатель на память. Может кто знает, сколько вектор при его создании заранее резервирует элементов из кучи?
684 2192009
Все, с векторами разобрался, зависит от реализации компилятора.
685 2192012
>>192009
Обращайся ещё.
686 2192027
Анон, посоветуй что-то для изучения плюсов
где учить c++ 687 2192037
скиньте ресурсы по плюсам
688 2192065
>>192027
>>192037
Пора уже в названии треда после номера добавить фразу "Читайте шапку бля"
689 2192173
Почему если я хочу написать конструктор для класса наследника, то у меня должен обязательно присутствовать конструктор по умолчанию у класса-родителя? (Без него выдаёт ошибку. Для класса не существует конструктор по умолчанию)
изображение.png8 Кб, 854x113
690 2192189
Но вот неправда, никакого разочарования я ни чувствую, а горжусь, что понимаю глубже, чем фронтендеры. Но если честно я до этого все таки писал на бейсике (очень мало), но это было давно, неправда и кроме ветвлений, циклов и goto я ничего не знал и не умел. Про операционные системы и архитектуру я смотрю параллельно лекции на ютубе.
691 2192194
>>192173
У меня все работает, код покажи.
692 2192373
>>191997

>только указатель на память


Ещё указатель на последний элемент, указатель на конец блока памяти и указатель на аллокатор. Итого 4sizeof(void) = 32 для x64 и 16 для x86(32).

>сколько вектор при его создании заранее резервирует элементов из кучи


Если ты явно не укажешь число в конструкторе или через инициализацию, то 0. Дальнейший рост зависит от реализации.
693 2192374
>>192009
От реализации библиотеки STL, а не от компилятора.
694 2192429
>>192373

> Ещё указатель на последний элемент


> указатель на конец блока памяти


А в интовой переменной религия хранить не позволяет? Типо переменная lengер и переменная capacity. Или бывают вектора длиной более 65,535 элементов?
695 2192489
>>192429
Тип int не используется как тип размера данных. Для этого в языке есть специальный тип - size_t (метод sizeof() возвращает значение именно этого типа). size_t меняет свой размер в зависимости от платформы, как и указатель - то есть для х64 он будет 8 байт, при том что int будет 4 (иногда больше).
696 2192493
>>192489
Каждый день узнаешь что-то новое о великом и необъятном С++
697 2192505
>>192493
это скорее наследие сишки. sizeof кста может вернуть число большее суммы размеров типов элементов структуры из-за выравнивания.
698 2192873
zero cost abstraction миф?
699 2192893
700 2193291
>>191452
ООО СТЦ?
701 2193336
>>193291
Ну эти больше по внутренним фсбшным делам, нежели по оборонным. Если с тем же "Кронштадтом" сравнивать.
702 2193426
>>192873
нет, не миф
благодаря шаблонам, благодаря статическому полиморфизму
да и рантайм полиморфизм в крестах самый быстрый, быстрее не сделать
благодаря тому что нет сборки мусора в самом языке
703 2193430
>>193426
нет, не миф
первое, благодаря шаблонам, благодаря статическому полиморфизму
да и рантайм полиморфизм в крестах самый быстрый, быстрее не сделать
второе, благодаря тому что нет сборки мусора в самом языке, а в различных подходах к управлению ресурсами почти всегда используеться та или иная форма "подсчета ссылок"
третье, за счет "размещающей формы new" можно создавать эффективные контейнеры
это то что навскидку можно вспомнить
704 2193478
А эксепшены это зеро кост абстракшен?
705 2193483
>>193478
Это овердохуялион кост.
706 2193485
>>193478
ловля - само собой нет. А все обвязки, если эксепшены не кидаются - ПРАКТИЧЕСКИ бесплатны (размер кода увеличивается и все)
707 2193552
>>192873
Там где оверхед не нулевой Страуструп говорит, что его оверхед минимальный по сравнению с возможными альтернативами. Там где решение Страуструпа сливает по скорости в рантайме, он находит всякие другие достоинства, вроде maintability.

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

>>193478
Вот кстати хороший пример. Не зеро кост в сравнении с полным отсутствием проверки и обработки ошибок.
708 2193631
>>193478
без исключений в языке не обойтись, их пришлось ввести
страуструп об этом и в книгах и в статьях писал и на конференциях об этом талдычил
потому что иначе никак не обработать ошибки в конструкторах и перегруженных операторах
а как раз конструкторы и возможность перегрузки операторов (особенно второе) и являются важнейшими инструментами для повышения уровня абстракции в коде на крестах

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

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

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

таким образом несмотря на то что исключения вроде как и дорогие при ловле, при правильном применении все это минимизируеться
709 2193635
Аночики, а что плюсовики делают в вебе? Мне тут просто рекрутер очень крупной фирмы уровня гугла кинул вакансию, я сначала-то думал что там какой-нибудь пыхапышник нужен, или на крайняк аспрешетник.. Но нет, вакансия на чистый С++, при том что работа именно вебовская (ну скорее-всего бэкенд).. И вот прост даже не знаю, откликаться. Вообще не в тебе что там в бэкенд вебе на С++
710 2193654
>>193635

>крупной фирмы уровня гугла


яндекс?)
711 2194560
>>193635
Очевидно, будешь говно вилкой чистить на заслуженном проектике, поддерживая его на плаву.
712 2194637
Двач, я хочу чтобы когда определённый чел пишет в беседу - мой бот отвечал на его сообщение фоткой его ебала

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

Поясните как это всё реализовать пж
713 2194773
>>194637
Берёшь код на пизоне и портируешь его на цпп. Хули тут сложного то?
714 2194810
>>194773
я не знаю синтаксис питона
715 2194868
>>194637
Ищешь библиотеку с работой ботов ВК подключаешь ее, читаешь доки, пишешь

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

ну или не использовать плюсы для этого, легче будет такое как уже сказали выше на питоне
716 2194879
>>157621 (OP)
Накидайте пожалуйста github репозиториев с эталонным качеством кода. Что бы я прочитал и охуел от того как все корректно и няшно
717 2194883
>>194879
Забыл добавить : чем новее стандарт тем лучше
718 2195039
>>194810
Весь питон это ~800 страниц спецификации. Из них тебе достаточно вдумчиво прочитать страниц 200.
719 2195055
>>194879
Очевидный https://github.com/microsoft/STL
Вполне корректно (хотя, баги есть), но совсем не няшно
720 2195065
>>157621 (OP)
Вешаю noexcept на все функции, в которых я не ловлю исключения.
В чем проблема? Ведь это просто убирает ненужные издержки. Почему нужно лечиться от "noexcept болезни" ?
https://youtu.be/LDoCQzSd3xo?t=786
721 2195074
>>195055
Ты серьезно? Вот это эталонный c++ код? Я так и должен писать в своих проектах, да?
https://github.com/microsoft/STL/blob/main/stl/src/filesystem.cpp
722 2195130
>>195055
STL пишется специально хуево, плохой пример
723 2195223
>>195074
>>195130
Нет, он хуевый с точки зрения читаемости, но его полезно почитать, посмотреть как реализуются требования стандарта, как делаются оптимизации в шаблоном кодев зависимости от характеристик аргумента (например, std::copy, vector::resize).
Так же интересно посмотреть на устройство рантайма, всё то, что выполняется до и после юзерского main()
724 2195282
>>195130
Да, ответственно подошли к вопросу хуевости. Даже табы пополам с пробелами навалили.
725 2195458
>>194879
а нету такого
весь промышленный код на крестах - это просто приплюснутая сишка
а state of art код устарел уже, 98м стандартом ограничен как правило, а модерновый код говнище, даже тот что не стыдяться на конференциях на слайдах показывать, во многом еще и потому что сам язык стал развиваться, стали быстрее выкатывать новые фичи в язык
а для того чтобы появилась красота, нужны ограничения платформы
если приводить сторонний пример, то лучший демо-арт на амигах и спектрумах и прочих альтернативах pc стали делать уже после того как эти платформы по сути умерли, но таким образом были определены рамки для (комьютерного) творчества - разрешение монитора, цветность, возможность или нет плавного скролинка, количество выводимых спрайтов, возможности для синтеза звука..
а в ситуации когда чуть ли не каждый год появляються новые инструменты (применительно к крестам, не только синтаксические возможности, но и чутка но и меняеться семантика), сложно начать писать действительно красивый код, потому что еще нужно накопить определенный опыт работы с этими новыми возможностями; большинство нового крестового кода что использует новые стандарты - это по сути грязный экспериментальный код, даже несмотря на то что часть этого кода используеться напрямую в продакшене
726 2195471

>>>>195458


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

> Чуть ли не каждый каждый год появляются новые инструменты


> с++


Это прикол такой?
728 2195514
>>195509
до до до , кроме мув семантики с 98 стандарта толком ничего не изменилось, вы главное не нервничайте, мы скоро выпишем вас домой
729 2195520
>>195514
Что?
toha.webm4,4 Мб, webm,
720x720, 1:04
730 2195524
>>195520
В смысле что? А может ты бака?
731 2195527
>>195514
в шаблоны еще добавили возможность императивного программирования, а до этого в 98 стандарте для метапрограммирования требовался функциональный подход используя различные трюки
чем не добавление новой семантики
732 2195528
>>195524
Понятно, так бы сразу и сказал что вкатун
733 2195532
>>195528
а вы из серьезного бизнеса ?
734 2195561
Короче, код на C++ стыдно показывать людям.
735 2195574
>>195561
Программировать вообще стыдно, даже признаваться в сосании хуйцов лучше.
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);
}

Лве функции которые делают одно и тоже, верхнюю написал я, вторая из интернета. Что лучше?
737 2195632
>>195623
форматирование съехало + звездочки съело, ахуенно

Лучше вторая т.к у char* нет оператора +=, так что в первой ошибка компиляции
738 2195637
>>195632

>s |= (1 << 5);


А зачем нужно постоянно сдвигать число 1 на 5 бит влево если это константа?
image.png17 Кб, 851x240
739 2195640
>>195632
>>195637
Почему двач такое дерьмо? Вот нормальная версия
740 2195644
>>195640
А ты не думаешь что снизу тоже нужен if( >65 && < 90 ?
741 2195646
>>195644
Нет, всё работает
742 2195648
>>195646
Ну ты сверху меняешь значение только если *s это от A до Z.
Т.е строка "1234rt_HEIL_HITLER" будет выглядеть так : "1234rt_heil_hitler"
А снизу вместо всех не A..Z симаолов будет что-то другое. Кстати ты в первом забыл указатель перемещать, так что он вообще в бесконечный цикл падает
743 2195650
>>195471

>няшный и корректный код


Ну вот допустим есть lambda expressions, введённые в с++11. Если почитать стандарт, то там сплошной since/until C++14,17,20,23. В таких условиях только экспериментальное говнецо можно писать.
744 2195653
>>195650

>Если почитать стандарт


А я и не собирался вычитывать до потери сознания стандарт/cppreference.
745 2195665
>>195623
Обе фигня. Не работают с литералами, ибо не const char⚹.
И вобще подобные операции над символами делаются через int, а не char.

>>195648

>вместо всех не A..Z симаолов будет что-то другое.


В половине случаев корректно будет.
746 2195666
>>195665

>И вобще подобные операции над символами делаются через int, а не char.


явный каст? А зачем?

>В половине случаев корректно будет.


Алгоритмы не эквивалентны. О каком сравнении по скорости идет речь если они выдают разный результат ?

Что будет быстрее в итоге сводится к тому что дешевле : + или битовое или. Чисто интуитивно кажется что второе
747 2195680
>>195666

>зачем


Посмотри документацию для <cctype>, там у всех функций сигнатура из int в int. В char не помещается EOF, поэтому int.

По скорости я вообще не сравнивал. Просто отмечаю, что в половине случаев второй вариант сработает корректно - там, где пятый бит равен 1 ничего не произойдет.
748 2195714
Как всё таки вкатиться в qt? Предположим что база c++ изучена. Глянул книгу Макс Шлее и просто охуел с перескакиваний на разные темы, сначала про одно говорится, потом про другое. Туториалы на Ютубе уровня создания калькуляторов. Можно на английском
749 2195738
>>195680
char это 1 байт = 8 бит = 2^8 = 256 значений. От 0 до 127 это ascii таблица, дальше от 127 до 255 это ansi таблица. Ты не можешь изменить хоть какой-то бит числа и внезапно попасть в ту же точку, в ascii и ansi таблице символы не повторяются
750 2195743
>>195738
Хотя стоп, у нас же битовое или .Если у нашего char 5 тый бит уже установлен то действительно ничего не поменяется. А таких символов 1*2^(7) = 128.

Чето я сразу не подумал
751 2195751
>>195714
Можно просто хелп читать, там все расписано.
752 2195756
>>172765

>надо в следующем треде воткнуть ссылку


>Файл, который вы пытаетесь скачать, больше не существует.


перезалей, тогда и воткнем
753 2195759
>>195756

>Видео недоступно, потому что связанный с ним аккаунт YouTube был удален.


Везде обосрался.
754 2195762
>>195714

>книгу Макс Шлее


Пытался как-то вкатиться через эту книгу. Читать имеет смысл только первые главы про сигналы Qobject и прочую базу. Дальше просто кидаешь чужой код и документацию. Учить фреймворк последовательно и всеобъемлюще это бессмыслица. Просто берешь нужный тебе инструмент и вперед
755 2195767
>>195762

>кидаешь чужой код и документацию


читаешь
756 2195978
Стало интересно, есть ли возможность состряпать такой контейнер, который будет совмещать в себе возможности списка и массива? То есть в кишках он будет реализован как вектор (элементы в памяти последовательно, индексация за O(1), вставка в конец за амортизированную константу), но при этом вставка в середину тоже за константу. В кишках идет вставка в конец, но для пользователя контейнера элемент будет расположен в середине.
Пытался как-то через мапу с индексами, поинтерами, но ничего не вышло.
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'шные функции не линкуются. Как это работает (и почему не работает?)
758 2196031
>>195987
Может зависеть от порядка файлов при линковке.
759 2196037
>>195987
Либы именуются как lib{name}, поэтому переименуй imgui.a в libimgui.a. Для линковки она передаётся как -limgui (без префикса lib и постфикса .a). Если надо линковать статически, то перед ней указываешь -static.

Вроде вот так должно быть
g++ -c main.c -o main.o -static -limgui
760 2196058
>>195978
Я помню Сэджвик в своей Algorithms in C похожее делал, можешь почитать.
762 2196100
>>196031
Да, действительно - поменял порядок

>g++ main.o imgui.a


- слинковалось... Эх, ещё больше не понимаю, что там внутри происходит))) Спасибо!

>>196037
Ну для меня сечас это не то, чтоб либа, а просто чтобы кучу объектных в один архив запихнуть. Но да, я в курсе, спасибо!
763 2196482
Как правильно установить Qt в оффлайне? Мне надо готовый QtCreator со всеми последними библиотеками.
Вот я скачал соурс код отсюда https://www.qt.io/offline-installers
Скачался zip-архив с соурсами. И что мне с ним делать? Как это совместить с QtCreator?
1635440642390.jpg21 Кб, 428x424
764 2196502
Написал прогу, которая отправляет запросы по USB на устройство и считывает данные. Данные потом вывожу в интерфейсе.
Запросы очень частые, раз в 20 мс. Чтобы интерфейс не зависал, пока воткнул костыль в виде qApp->processEvents(), но так делать вроде бы нельзя, да ведь?
Как правильно это все распараллелить, подскажите плиз.
765 2196514
>>195751
Слишком сложно, я нихуя не понял
>>195762
Ну вот эту базу где лучше прочитать?
766 2196522
>>196514

>где лучше


Да не знаю, я после знакомства с moc'ом блеванул и бросил это дерьмо. У шлее вроде бы все довольно просто объяснено было, насколько сейчас помню
767 2196532
>>195714
Через Qt Documentation.
Просто гуглишь, то что тебе нужно и гугл тебе выдает подходящий класс.
Например, тебе надо работать с картинками. Вбиваешь в гугле qt image, и первый же результат https://doc.qt.io/qt-5/qimage.html то что тебе нужно. Там все подробно описано, какие методы, сигналы и слоты там есть.
Ну и ты должен понимать, как сигналами и слотами пользоваться, это база qt так сказать. Тоже на их сайте можешь почитать, никакой Шлее не нужен особо.
768 2196622
>>195650
они ввели лямбды и стало сразу скучно и просто, понимаешь?
в 98 стандарте нужно было писать вообще по красоте - используя композицию функторов, в std был (и сейчас есть) набор средство для такого похода
можно было писать действительно интересный state of art код
почти заголовок <functional> был сделан для возможности композиционного программирования

это точно так же (повторюсь) как раньше возможность метапрограммирования на с++ была одна - только через функциональный подход, а сегодня они сделали возможности императивного программирования на этапе компиляции, стало проще, но гооораздо скучнее
769 2196637
>>196622
Ты кукаретик, а я практик. Ты видишь манягоризонты, а я проблемы с обратной совместимостью и людей делающих одно и то же, но на разных диалектах. В итоге мы имеем глиномесиво, а не state of art.
770 2196645
>>196622
Просто напомню тебе, что проекты на цпп выходят в нормальный продакшн не ранее 2х лет после начала разработки. Проект цпп является свежим, если ему 4-5 лет. За это время выходит 2-3 апгрейда стандарта и то, что написали 4 года назад никто в здравом уме портировать не станет.
771 2196660
>>196502
в отдельном треде это поллить
772 2196670
>>196660
Что именно? Запрос-обработку данных? А как потом данные передавать в интерфейс? Через сигнал?
773 2196678
>>196670
Через что угодно, хоть через сигнал, хоть через синхрозириванную общую переменную
774 2196683
>>196637
в этом случае это не "манягоризонты" а скорее ретро-кодинг, можно так назвать
ну это как сегодня, знаешь, все еще иногда выходят новые игры для спектрума, для амиги.. ну и само собой демо-арт процветает на no-pc платформах
в качестве развлечения мне интересно писать на 98 стандарте, используя рекурсивный подход для метапрограммирования, для кодогенерации в компайл-тайме, ну или делая композиции функторов используя возможности библиотеки stl, при этом я могу писать и модерновый код на новых стандартах делающий все то же самое, просто такой код получаеться более скучным и плоским
естественно это все это just for fun
775 2196685
>>196660
за предложение делать многопоточку для такого тупого io нужно сразу валить и бить ногами
776 2196687
>>196660
за предложение делать многопоточку для такого тупого io нужно сразу валить и бить ногами
777 2196690
>>196685
>>196687
Главное что на дваче io очень умное.
778 2196694
>>196687
А как правильно? Я юзаю QSerialPort, чтобы общаться с устройством.
779 2196697
>>196690
владелец двача даже барана чисто зарезать не может чего ты от него еще хочешь?
780 2196702
>>196694
Ну, если верить челику, высравшемуся выше, то через ioctl(), fcntl().
781 2196725
>>196702
А в qt?
782 2196764
>>196725
А я хз. Uart порт древний и есть практически на всех железячках. Qt большой и не везде влезает, так что обычно такое на C пишется через системное api.
image.png11 Кб, 742x92
783 2196838
Я немного затупил. Метод WindowSystem::Create() константный, что говорит что через него нельзя менять члены класса.

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

Почему это работает?
784 2196846
>>196532
Чел, охуенный совет. Вот я точно так же делал, возникла одна проблема. Нигде не было решения, здесь тоже никто не ответил. Хотел сделать кнопку параметров печати, улучшить пример калькулятора. Документация прочитал, нихера не понял, почему эти параметры не отображаются, а если и отображаются не сохраняются
785 2197104
Нет, ну что за мразь?

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

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

Это говно все равно не работает, сообщая якобы о undefined reference. Неужели нет компилятора, который не будет так тупить и просто возьмет и соберет все?
786 2197106
>>197104
покажи код, так ничего не понятно что там у тебя происходит
787 2197109
>>197106
Бля, я же максимально понятно расписал, ну ладно
788 2197115
>>197109
С кодом все хорошо(за исключением возможно того что __Ptagma__ уже занята кем-то, не надо использовать имена начинающиеся с _ или __ они зарезервированы под стандартную библиотеку дефайны компилятора и прочее)

если дело не в _Pragma_ то проверь собирается ли Pragma.cpp. Вполне возможно ты как-то не так добавил его в свою IDE
789 2197123
>>197115
Спасибо, я погуглил, виновата во всем IDE. Точнее способ добавления файлов в проект с галочками debag/release, в котором я не понимаю ничего.
790 2197192
>>196838

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


Потому что так это и работает. Константность метода не транзитивна.
Если б у тебя m_impl имел тип WindowSystem, то компилятор тебя бы тормознул. А так, через ссылку/указатель делай, что захочешь.
791 2197194
>>196838

>не константный и внутри себя он изменяет уже свои члены


Указатель m_impl куда указывал, туда и продолжает указывать. Его значение (адрес) не изменяется - вот, что тебе гарантирует Страуструп.
А состояние, на которое указывает m_impl, это уже состояние другого класса. Оно не рассматривается как часть состояния WindowSystem.
792 2197335
int n;
cin >> n;
int * arr = new[n];
delete [] arr;

Откуда delete[] знает сколько элементов в массиве если значение не известно на момент компиляции? Если new сохраняет его куда-то, то куда?
793 2197376
>>197335
Если коротко : компилятор секретно выделяет перед твоим массивом еще немного памяти чтобы сохранить там сколько ты выделил. delete[]
читает как бы -1-ый элемент где записан размер.Если ты напишешь delete[] для обычного указателя( не массива ) он тоже прочитает и будет пиздец
https://youtu.be/TQ5VPnKWqoY?t=228>>197335
изображение2021-10-29175543.png149 Кб, 1358x957
794 2197425
Вроде не первый год в плюсах, но не помню, чтобы так смачно обосрался на таком скользком месте. А я еблан думал, что где-то с синтаксисом напартачил или нужен forward declaration. Слава богам, что есть stack overflow.
795 2197457
>>197425
Кажется, это то место, где надо делать hidden friend
796 2197460
>>197457
С таким помогает посмотреть, как в stl сделано
изображение2021-10-29191848.png105 Кб, 928x953
797 2197559
>>197457
Почитал про hidden friend, но не совсем понял как его можно применить к шаблонам. Без адских костылей только так, реализация фрэнда внутри класса.
А как быть с обычными функциями, я так и не понял. Получается, что объект класса B никуда нельзя передать.
798 2197752
>>196764
А зачем что то на С писать, если в Qt уже есть все готовое? То есть изобретать велосипед? Там есть QSerialPort, в котором все уже написано.
QSerialPort port;
port.write("отправь данные");
QByteArray buffer = port.readAll(); //данные
Это если упрощенно, там еще ждать надо, пока устройство данные пошлет с помощью waitForReadyRead(int timeout) или как то так. Ну и параметры ком порта в port прописать.
799 2197776
>>197752
Если ты клиентскую часть для пеки пишешь, то скорее всего хватит.
800 2197821
Как не сдаваться при трудностях? Так надоело уже
801 2197824
>>197821
Интересно какой ответ ты ожидаешь услышать
802 2197825
>>197821
Просто постарайся
803 2197866
>>197776
Хорошо. А как все таки распараллеливать это, чтобы mainloop не захлебнулся? И если создавать новый поток под это - моветон, то что делать?
804 2197873
>>197821
сдавайся, ты говно
805 2197931
>>197821
Айда к нам в жаваскрипт. У нас годные тянучки, новейшие технологии, современные задача. Будешь на реакте писать, 300к получать.
806 2197934
>>197821
Могу только ультра дженерик совет дать: если ты не гипераутист, способный 24/7 заниматься одним и тем же - правильный режим дня, друзья, хобби, отдых. Хотя хз, вкатуном никогда не был, может у них по особому всё устроено.
807 2197968
Если можно передать ссылку на объект в функцию и работать с ним, почему нельзя скопировать ярлык игры на дискету и играть дома через этот ярлык?
808 2197969
>>197968
Ссылается на что? На область памяти. Ты ярлык забрал, а область памяти осталась на том компе.
809 2197971
>>197969
Получается раньше на дискете получали висячий указатель?
810 2197972
>>197971
Типа того.
image.png128 Кб, 375x250
811 2197973
>>197971
Да, и ебаная винда вместо логичного null reference exception выдает срань как на пике.
Спермохлебы, ваши оправдания?
812 2197979
>>197973

> Спермохлебы, ваши оправдания?


На сперме больше юзеров -> больше money получаешь, разрабатывая под нее
813 2198058
Так qt quick компилируется полностью в машинный код, правильно? На сайте вроде так написано. Там же не крутиться браузер который исполняет Ява скрипт?
image.png146 Кб, 1600x900
814 2198538
>>157621 (OP)
Есть тут работающие аноны? Подскажите где вы работаете, и интересна ли вам ваша сфера?
Работаю 2 года в геймдеве, год ебался с анриалом, потом сьебался в мобильный гейдев дрочильни для домохозяек со сверхприбылями. В принципе на текущей работе устраивает всё - зп выше рынка, 17 стандарт, CI/CD, адекватная команда, вобщем всё круто кроме одного - задач. Я пиздец не люблю геймдев, но других вакансий практически нет только эмбеддед с сишкой и стмками. Хотел в ближайшие года 2 подготовиться к смене области, пока потихоньку подтягиваю алгоритмы и дрочусь с разными технологиями как хобби. Был у кого опыт полной смены области разработки? Расскажите не пожалели ли о смене работы?
815 2198913
>>198058
Там вроде v8.
816 2198916
>>198058
В смысле да, v8 компилируется сразу в машинный код.
817 2199061
Какой быстрой операцией можно возвести отрицательное число в степень и чтобы минус остался? Также с вычислением квадратного корня нужно
818 2199086
>>199061
Через UB.
sage 819 2199196
>>198538

>Есть тут работающие аноны?


Нету. Так как современный с++ - это эзотерический язык для just for fun программирования.
Нвидиа-кун c зп 700к/месяц не в счет, тк он программирует bat-файлы и пишет excel-таблички для своего начальника. Что он делает в этом itt треде вообще непонятно.
820 2199278
Изучаю С++ и Python, какой пет-проект можно реализовать на этих двух языках?
821 2199280
>>199278
Игровой движок со скриптингом на питоне
Браузер с питоном вместо жс
Фреймворк для машоба
822 2199463
>>199278

> С++ и Python


Всё что угодно, буквально.
изображение.png69 Кб, 487x333
823 2199474
Почему я получаю пикрил, когда делаю pop от !!НЕПУСТОЙ!! priority_queue? Как это возможно?
824 2199476
>>199474
А, это я в компараторе накосячил. Все, понял
IMG20211101021331.jpg546 Кб, 1440x1351
825 2199482
Ебануться, как работает эта функция? Сколько не сидел с отладчиком, так и не понял, куда оно там добавляется, следующее в предыдущее и позаследущее. Есть какое-то объяснение?
826 2199487
>>199482
Это ты ещё std::launder не видел.
827 2199505
>>198538

>дрочильни для домохозяек со сверхприбылями


Что это значит?

>зп выше рынка


Сколько?
изображение.png5 Кб, 486x254
828 2199576
Узнал про такую структуру данных как список и решил попробовать реализовать двусвязный список.
Но что-то я не совсем понимаю, что значит "вставить" новый элемент? Вставить куда? У элементов нету же индексов, есть только значения, которые могут повторятся. Единственная информация, которая идентифицирует элемент списка, это набор указателей.
829 2199590
>>199576
В этом-то и дело, что нет просто "вставки". Есть вставка в начало, вставка в конец и вставка в середину (обычно перед i-ым элементом или после него). При вставке в середину ищешь циклом элемент устанавливаешь правильные значения указателей.
830 2199601
>>199590

> ищешь циклом элемент


Элементы
могут
пвторяться!
831 2199606
>>199601
И не просто могут, а будут. Но ты ищешь не по значению, а по порядку, переходишь к следующему элементу и увеличиваешь счётчик, пока он не будет равен порядку, там и вставляешь.
832 2199676
>>199576
Лол я так выше именно это и спрашивал. Вставляет в начало списка, первым элементом
833 2199711
>>199676
Падажжи. Один мужик на ютубе, с++ программер сказал, что преимущество списков перед массивами в том, что можно без затрат производительности просто взять и вставить новый элемент куда хочешь.
834 2199714
>>199711
Но есть один нюанс. Дополнительных затрат производительности не будет только если у тебя уже откуда-то есть указатель на место вставки.
835 2199734
Стоит ли заводить учетную запись microsoft ради visual studio?
836 2199744
>>199734
Дело пяти минут. Регаешься на десятиминутную почту, входишь в студию и забываешь.
837 2199745
>>199734
Стоит. Может потребовать телефон.
838 2199748
>>199745
Дианон же
То есть гнида и так про меня много знает, а теперь я ей говорю, да это я 100%
839 2199749
>>199745
Я так уже несколько раз перерегивался. Одна учётка начинает просить телефон, я открываю десятиминутную почту, м всё по новой.
840 2199774
>>199749
КЛЯТЫЙ МИКРОСОФТ ЗНАЕТ КАКИЕ ХЕЛЛОВОРЛДЫ ПИСАЛ ЭТОТ БИТАРД
841 2199777
>>199774
Мне похуй на анонимность, мой IP они и так видят. Но номер оставлять не хочу, пусть нахуй идут. У них есть моя почта, остальное их ебать не должно.
842 2199796
>>199482
Попробуй нарисовать на бумаге, как кто куда указывает.
843 2199835
>>199749
У меня так не получилось, пришлось указать номер. Вобще там любой прокатит, главное смску прочитать.

Да и че микрософт с моим телебоном сделает? Лучи 5G из Америки на меня направит чтоли?
В доставке пиццы в сто раз палевнее указывать номер, как и любые приложения на телебон ставить.
844 2199854
>>199835
У меня в винде тонны извращенного хентая, алеее. Вот буду я работать в тесла, все узнают об этом и че? Отправят меня синтезировать кошкодевочек. А я может не хочу, я хочу программировать роботов-убийц для наступления скорейшего кибергулага на планете.

> В доставке пиццы в сто раз палевнее указывать номер, как и любые приложения на телебон ставить.


А вот ты шиз и параноик.
изображение.png9 Кб, 846x217
845 2199857
Как работает ебаная куча в плюсах? Написал компаратор (пик 1). В итоге в один момент у меня оказывается, что на вершине кучи лежит 3, а не 0, хотя в массиве pairs size у pairs[0] = size у pairs[3] =1, но (зв)pairs[0].begin() равен 0, а (зв)pairs[0].begin() равен 3. Что блядь не так?
846 2199859
>>199857
Что означает строчка "comp=[]()", что за синтаксический пиздец? Мне это напомнило перегрузку операторов, но там должно быть "operator=()" или "оператор[]()"
847 2199860
>>199859
Это лямбда.
848 2199862
>>199860
Точно я забыл. Так где у тебя там обращение к куче, не увидел там оператора new
849 2199863
>>199862
Это не та куча, а структура данных внутри priority_queue.
850 2199871
>>199863
Используешь какие-то левые библиотеки, а потом недоволен. Ты бы еще спайсы за углом купил, а потом жаловался, что от него у тебя понос вместо кайфа.
851 2199872
>>199871
Да, правее левой стандартной библиотеки может быть только свой каноничный велосипед.
852 2199874
>>199872
Ну вот и пиши его. А то, как выяснилось вектор boolов лучше не использовать, потому что шизы сделали его неработоспособным в погоне за экономией памяти. Придется использовать другую структуру или писать свой динамический контейнер bool
853 2199878
>>199874
Крестушню вообще какие-то шизики левые проектировали. Один cout << hui чего стоит.
e1c281d061ff6e659653eb4d1b1bc483.jpg85 Кб, 1440x1096
854 2199880
>>199878
Ты это не пизди, залетный. Проектировали язык так, чтобы был мощный и универсальный инструмент.
855 2199911
>>199857
Странно, что компилируется - лямбда захватывает переменную pairs, а её нет в списке захвата. И вообще что это - вектор векторов?

>на вершине кучи лежит 3, а не 0, хотя в массиве pairs size у pairs[0] = size у pairs[3] =1, но (зв)pairs[0].begin() равен 0, а (зв)pairs[0].begin() равен 3.


Вообще ничего не понял из этого предложения. По компаратору мне кажется, что ты хочешь лексикографический порядок - сначала должны выводится с самой маленькой длиной, а затем с самым маленьким первым элементом. У pairs[3] размер 1 - он и идёт первым.
856 2199914
>>199911
А, и того шизика не слушай, он какой-то странный.
857 2199927
>>199914
Какого из?
858 2199948
Вопросы в треде уже начали пробивать дно. Что слцчилось? Корона взялась за пориджей?
859 2199953
>>199948
Дедлайны по лабам начали приближаться
860 2199958
>>199927
Вот этого >>199911
861 2199959
>>199953
Лабы не идут нахуй.
862 2199978
>>199911

>лямбда захватывает переменную pairs, а её нет в списке захвата


Значит это или static или глобальная переменная в том же .cpp, что и лямбда.
.png1,3 Мб, 800x600
863 2199985
Плюсотред, когда лабы действительно пошли нахуй
864 2200001
>>199854
Ты в теслу поедешь работать с росийским роумингом?
Да ты уже поехавший.
WallpapersMania №135 (34).jpg893 Кб, 1920x1200
865 2200036
Как в cmake задать сборку либы под 32 бита?
866 2200045
>>199948
Какие именно? У меня вообще нет лаб
867 2200107
>>184541
а что не так? написано что твоё значение нигде не используется, то есть ты эту переменную нигде не применил, ей все равно на "орфографию"
868 2200117
>>197931

>У нас годные тянучки


Которые переодетые мальчики?
869 2200169
Есть какие-нибудь годные ресурсы для изучения STL?
870 2200186
>>200169
Effective STL от майерса, устарела, но все еще ок для базового понимания идеи Итераторы-Алгоритмы
871 2200227
>>200186
Спасибо
872 2200273
>>199487
о да...
873 2200276
>>199948
Тоже охуел с вопроса про лямбду
874 2200297
Почему у плюсов такие итераторы странные?
875 2200484
Очередной выпуск рубрики "новые удивительные открытия в с++"
Оказывается есть указатели на массивы, это не, что указывают на нулевой элемент массива, а самые настоящие указатели на массив, сохраняющие информацию о его размере и не распадающиеся при передаче функцию. Синтаксис объвления чем-то схож с объявлением указателей на функцию T (⚹ptr)[N] = &arr; Если такой указатель увеличить на единицу, то получится адрес сдвинутый на размер всего массива? а не на размер одного элемента в массиве. Также есть ссылки на массив T(&ref)[N] = arr; Работают как и все ссылки как псевдонимы переменной, поэтому можно обращаться к элементам массива ref[5], ref[3]
Если вас бесит то, что один массив можно скопировать в другой только через цикл в языке С++, то можно облачить массив в структуру или класс struct A{T arr[N];}, а затем просто одному экземпляру структуры присвоить другой экземпляр, и все элементы массива будут автоматически скопированы.
876 2200490
>>200484
А теперь посмотри на std::array и шаблонные перегрузки Secure CRT
877 2200644
>>200484
Для легаси массивов давно есть удобные обертки span, можн и указатели делать и в stl пихать. А так используй array. Или вектор.
878 2200654
>>200484
А чё в этом нового, если это всё из С пришло? А скопировать можно через memcpy(to, from, sizeof(a[T])).
879 2200771
>>200036
target_compile_options(foo PUBLIC -m32) для GCC/Clang и какой там есть соответствующий флаг для MSVC
880 2200778
>>200484
Это ещё из сей тянется. Ну вот смотри, есть у тебя 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]
881 2200780
>>200778
Абу, введи ты уже теги для кода, Господи.
a[1][1] - int
&a[1][1] - int⚹
&a[1] - int (⚹)[5]
&a -int (⚹)[4][5]
!!KTBgAmNQdg 882 2200782
>>200780

> Абу, введи ты уже теги для кода, Господи.


Нет, иди нахуй
883 2200877
>>200644

> Для легаси массивов


> легаси


Вот оно как.. Штош
>>200644

> А так используй array. Или вектор


Я недавно только полюбил векторы, теперь не знаю, как бы жил без них.
>>200654
>>200778
А я начал с плюсов.
Хотя недавно прочитал, что в с гораздо понятней взаимодействие с операционной системой и мне стало интересно.
884 2201164
Как сделать у класса такой mutex который блокируется любым объектом класса один раз? А в другой функции сделать чтобы она ждала, пока не разблокируется. Может не особо понятно объяснил, типа как статическая переменная, у всех объектов она одна, вот мне так же нужен один mutex
885 2201183
>>201164
Статический unique_lock и condition_variable? Вот как это намутить, можно пример? Даже не компилируется у меня
1635883180134.PNG33 Кб, 775x444
886 2201187
Обновил Qt c 5.14 до 6.2. Проект, который раньше работал, выдал кучу ошибок. Из-за чего так может быть?
Ошибки даже не в моих исходниках, а в левой библиотеке, которую я юзаю, и почему то еще в бибилиотеках MinGW, который установился вместе с Qt 6.2.
Мне че теперь ползать по чужим библиотекам и править там эти ошибки?
887 2201195
>>200484

>Очередной выпуск рубрики "новые удивительные открытия в с++"


>Оказывается есть указатели на массивы


Бро. Нам вполне хватило того, что в этом ИТТ-треде открыли, что в C++ есть лямбды.
888 2201218
>>201164
class Huina
{
static std::mutex HuinaLock;
};
889 2201359
>>201187
Ошибки то сами прочитай
Кажись тебе надо просто инклуды пофиксить
Господи когда уже можно будет а модулями нормально работать, чтобы такого не было
890 2201364
Какие книги по олимпиадному программированию анон порекомендует?
891 2201542
Подскажите как сделать по нормальному без переменной r_locked? Логика в том, что пока данные редактируются, их считывать нельзя, нужно подождать. А если не редактируются, то их должно быть можно считывать во всех потоках, без блокировки мьютекса. Сколько не читал про condition_variable ничего не смог понять, он же может использоваться только если сам заблокировал
https://0bin.net/paste/AK5xDZi6#bWboWISE8tpAbL7Fea1KMP8a3RZylTpuWPQzYaOyAMz
892 2201582
>>201364
Тут скорее всего как с математикой. Ты не научишься решать задачи, если не будешь их решать.
893 2201656
>>201364
Любая книга по алгоритмам - а потом дрочить литкод
894 2201832
>>201582
В математике разжевываются общие методы, есть примеры решения задач (применения методов) и есть ответы для самопроверки. Можно буквально ограничиться парой книжек и задачником, даже без гугла вполне можно обойтись.
895 2201918
>>201832

>В олимпиадном программировании разжевываются общие алгоритмы, есть примеры решения задач (применения алгоритмов) и есть тесты для самопроверки.

896 2201958
>>201364
шень
897 2202006
>>201918
Ну так анон и спрашивает, где об этом прочитать.
898 2202094
>>201359
А какие именно инклуды, можешь подсказать? Хотя бы примерно почувствовать?
Он везде ругается на byte, хз чем он ему не нравится.
899 2202128
>>201359
>>202094
А может ли быть так, что я статическую библиотеку собирал на Qt 5.14, а сейчас на Qt 6 она не хочет работать?
900 2202192
901 2202202
>>202192
Спасибо, похоже ты прав, попробую починить.
А можешь еще подсказать, почему раньше работало, а теперь перестало? Чисто развития ради.
902 2202205
>>202202
А хз. Перешёл на c++17 например. Или ещё что (до фига чего) поменялось между 5 и 6 версией
903 2202209
>>202205
Перешел в смысле произошел жесткий переход с C++11 на C++17? Потому что в pro файле у меня C++11 остался прописан.
904 2202213
>>202209
Ну тогда хз вообще, я с Qt и mingw не работал никогда. Может ещё откуда определение типа подтягивает
905 2202215
>>202213
Ну ладно, ты итак мне помог, спасибо. А то я охренел, даже не знаю, че делат ьв таких случаях, да и загуглить как то не смог толком.
906 2202244
>>202215
Видимо, всё таки проблемы C++17 и niflib, про array подумали а про byte нет.
https://github.com/niftools/niflib/commit/dad027aa40bc4ea90b2cc6c80f2b22962a025f99
907 2202484
>>200484
Ололо, нашел чем удивить. А как тебе тип ссылки на массив неизвестной длины? T(&ref)[] = arr;
ifIpVKM.png87 Кб, 1024x810
908 2202531
>>202484

>тип ссылки на массив неизвестной длины

909 2202569
>>202484
Ну давайте письками померяемся.
Я довёл MSVC до Internal Compiler Error.
Вроде, это было сочетание Variadic template, CRTP и кажется множественные наследования, не помню точно.
А какую хуйню смогли устроить вы?
910 2202572
>>202484

> А как тебе тип ссылки на массив неизвестной длины?


У меня не собирается
invalid initialization of reference of type 'int (&)[]' from expression of type 'int [6]'
911 2202573
>>202569

>Я довёл MSVC до Internal Compiler Error.


>Вроде, это было сочетание Variadic template


Это классика. MSVC в некоторых вещах в плане поддержки (новых) стандартов стал заметно обгонять GCC и Clang, но сунь в него variadic template чуть нетривиально вложенный внутри другого variadic template, и он клеит ласты.
>>202572
цепепе туони включи
912 2202578
>>202573
Я потом долго пытался понять, что же я сделать хотел. А когда понял, понял
что можно проще реализовать
913 2202587
>>201542
Бамп
image.png84 Кб, 1667x434
914 2202728
аноны, помогите понять что не нравится компилятору. вроде все как надо сделано, однако же пишет что нет оператора = с такими операндами типа класса, онако же он есть вроде как. хотя там передача по ссылке. но по идее в примерах которые я смотрел это никак не мешало. передавать не ссылку а сам объект не пробовал, потому что тогда нужно будет писать еще и отдельный конструктор копирования.
915 2202732
>>202728
кстати да, дальше где есть действие просто а=б или б=а ошибок не выдает, только там где сложение
916 2202788
>>202728
Добавь const к аргументу operator=.
Твой operator+ возвращает matrix по значению, т.е. создаётся временный объект (rvalue), который существует только внутри выражения, где использовался +. Такие объекты подразумеваются неизменямыми (исключение move семантика). А в operator= ты передаешь значение по обычной ссылке, что позволяет изменять состояние переданного объекта. А это уже ошибка.
917 2202829
>>202788
А ещё лучше, сделать два оператора, для const matrix& и matrix&&. И конструкторы тоже. Гугли rule of 5
изображение.png61 Кб, 1128x553
918 2203099
>>200484

>новые удивительные открытия в с++


А еще в мире C++ можно археологией заниматься. Например, во времена динозавров можно было присваивать потоки (_withassign на пикрил).
919 2203233
>>203099
Нет уж, легаси, написанного неизвестным людьми из неизвестных соображений мне хватает в рабочих проектах.
920 2203253
>>203233
_withassign это часть библиотеки до принятия 98 стандарта.
921 2203375
гайз, посоветуйте годных англоязычных каналов по плюсам, так как хотелось бы совмещать полезное с приятным
922 2203858
>>199196

>Нету. Так как современный с++ - это эзотерический язык для just for fun программирования.


Ok.
923 2203880
>>203858
Ты хотел нормального ответа от шарпобляди?
924 2204516
Делаю программу на qt, которая работает с exel документами ,
появилась необходимость выводить на печать этот документ ,
подозреваю, что это можно сделать с помощью dynamicCall, но не знаю, где достать все обращения(Quit() и т.п.) для этой функции
можете пожалуйста подсказать где достать эти обращения.
Если я ошибаюсь и с помощь dynamicCall нельзя вывести на печать подскажите пожалуйста с помощью чего это можно сделать
925 2204705
>>204516

>на qt


при чем здесь с++ тред тогда?!
926 2204708
>>204705
Надо было называть тред "Первокурсных лаб по C++ тред"
927 2204710
>>204708
Лабы идут нахуй.
928 2204824
>>204516

> где достать все обращения(Quit() и т.п.) для этой функции


> можете пожалуйста подсказать где достать эти обращения.


На официальном сайте https://doc.qt.io/qt-5/qaxbase.html
929 2205125
Скажите, можно в проекте одновременно использовать библиотеки boost и qt? Подводных камней нет?
930 2205163
>>205125
Вроде нет, я запихивал в кют бустовские корутины (которые ебут стек и поганят на бинарном уровне) и все было норм. Остальное почти все там вроде просто на уровне хедеров, и никак не напортачат.
931 2205271
Что нужно знать на мидла? Я просто джуном отработал сначала в одной компании 2 года, а потом на мидла пошел в другую, но мне там вместо плюсов всучили джаву, теперь уже где-то год на плюсах почти ничего не писал. Что можно поделать, чтобы восстановить все знания? А то я думаю, наверное, ливать из этой компании хотя бы снова на мидла, но чтобы писать на плюсах, а не на джаве.
932 2205420
>>205271
Знание языка и "умение программировать" это разные вещи. Программировать, судя по всему ты умеешь - опыта в 3 года для мидла ок.

А язык - ну прочитай Майерса, вспомни все, и иди на собесы
933 2205459
>>205271

>чтобы писать на плюсах, а не на джаве


земля те пухом!!
934 2205467
>>205459
А что не так? Я до текущей работы два года вполне успешно на плюсах писал.
935 2205477
>>205163

>ебут стек


Самое наркоманское, что я видел это sljit в pcre, компиляющий регекспы в натиные бинарные куски
936 2205490
>>205467
Я не он, но с радостью писал бы десктоп (не обязательно UI) на шарпе.
Но пишу на плюсах, потому что
1 знаю их и подъёбы winapi лучше, чем что либо другое
2 студия божественна
3 надо дёргать сервисы, драйвера и COM объекты
937 2205614
>>205490

>десктоп, winapi, студия, COM объекты


Так легаси говном пахнуло, что аж вздрогнул.
938 2205662
>>205125
Можно. Но основное правило как и везде - взбалтывать, но не смешивать (любая используемая либа должна обитать в своей песочнице). Бэк пишешь на beast/asio, фронт на Qt. Между ними санитарный контроль в виде абстрактных интерфейсов. В бэке никаких QString'ов быть не должно и наоборот.
939 2205665
>>205614
Чей-то легаси, ком никуда не делся и не денется.
940 2205670

>просыпаешься


>2021


>уже реализуются фичи с++23


>ты еще толком не знаешь с++14


ну ептваю
941 2205736
>>205490

>надо дёргать сервисы, драйвера и COM объекты


знаешь, не у всех есть хата доставшаяся от бабки, чтобы работать за минималочку в нии
ты еще скажы что ты математик, тогда сразу нахуй -70% к зп
942 2205770
>>205614
Нет, не легаси, до некоторых мест винды только так можно адекватно (без адовых велосипедов и недокументированых костылей) достучаться.
>>205736
Хаты нет, снимаю сычевальню. Нет, не математик, не люблю алгоритмодрочерство. Обычные задачи. Положить-переименовать файл, установить и запустить сервис, из сервиса наоборот позапускать процессы под залогинеными юзерами, пообщаться с сервером, получить стейт из сервиса, что-то сказать драйверу. Незамутненная прикладуха, никакой наукоёмкости.
943 2206211
>>199280

> Игровой движок со скриптингом на питоне


> Фреймворк для машоба


А как подружить питон и плюсы? Типо нельзя же написать функцию на плюсах и вызывать её из питона или можно? Как?.
944 2206218
>>205665

>ком никуда не делся и не денется


У меня дома COM есть на 1 устройстве из 9. А у тебя?
945 2206242
>>206211
Можно, все базовые питоньи функции для взаимодействия с внешним миром так и написаны.
Гугли python ffi, boost python и прочее.
946 2206278
>>206218
А у нас кровавый энтерпрайз
947 2206280
>>206242
Именно так. А с lua это верно в обе стороны
948 2206304
>>206280
И у питона в обе стороны.
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=(...). Объект ведь не может инициализироваться дважды.
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=(...). Объект ведь не может инициализироваться дважды.
950 2206316
>>206305

> Почему вызывается конструктор копирования в строке b = B(10);,



«B(int) called» — это вызывается конструктор копирвоания?
951 2206323
>>206316
Сори, я, видимо, ночью уже туплю. Полчаса пытался разобраться, почему так происходит, но только сейчас увидел, что у меня там не B(const B & rvalue), а B(int a). Не знаю почему, но мой мозг упорно воспринимал это как конструктор копирования. Только теперь дошло, что это конструктор с параметром.
Значит, тут все нормально. B b в классе инициализируется конструктором по умолчанию. Потом в теле конструктора A инициализируется temporary object конструктором B(int) и он присваивается через operator=(const B & rvalue) члену b. Вопрос закрыт
952 2206329
>>206304
Догадывался, что так и должно быть.
Эх, как же у меня горел пердак, когда через час отладки я понял, что сравниваю не два числа, а число и строку.
image.png4 Мб, 1588x1030
953 2206364
>>206218
Это не тот СОМ
954 2206608
Если я хочу скачать qt и не отваливать бабла, то нужно качать версию для опен-сурс юзеров?
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]
956 2206774
>>206608
Да
>>206763
Обфускатор убери
957 2206780
>>206774

>Обфускатор


???

https://pastebin.com/WhAQ5HSs
958 2206812
>>206780
Во первых зачем писать ==true когда это не требуется. А ==false заменяется на !=
959 2206819
>>206812
потому что

>exit status 1


>expected ')' before 'true'



Ты поговорить хочешь ?
0c807cd0-6ac9-11eb-9994-8f378c471afa.png658 Кб, 1077x985
960 2207216
Тупой вопрос. Как мне собрать исполняемый файл со всеми либами? То есть это статическая линковка, как я понял

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

ЧЯДНТ ?
961 2207255
>>206364
Ковыряю легаси говнецо, пощу легаси шутеечки. Ясно/понятно.

>>207216
Попробуй дёрнуть ldconfig, чтобы либы проиндексировались.
Ещё посмотри от чего твой бинарь зависит с помощью ldd.
962 2207260
>>207255

> Попробуй дёрнуть ldconfig, чтобы либы проиндексировались.


Без понятия, что это

> Ещё посмотри от чего твой бинарь зависит с помощью ldd.


Ну я это и так знаю. Куча дерьма и нужная мне libcurlpp
изображение.png118 Кб, 653x529
963 2207262
964 2207272
>>207260
https://stackoverflow.com/questions/32102613/how-to-compile-a-program-with-static-libcurl

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

Если собирать либы с --enable-static, то что это даст? Будет какой-то новый особый файл, который можно будет склеить с бинарником?
966 2207289
>>207280

>Будет какой-то новый особый файл


Да.
Под виндой статическая либа - файл .lib, динамическая .dll (и к ней в пару создаётся .lib являющийся интерфейсом).
Под linux статическая .a, динамическая - .so.

>nmake


Это для сборки под windows, но через студию. Ты ничего там не путаешь?
967 2207292
>>207289
Возможно, да, что-то путаю. Я просто хочу удобную 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
968 2207306
>>207216

> ЧЯДНТ ?


Руками пердолишься, вместо vcpkg install curlpp:x64-linux-static
969 2207308
>>207306

>Vcpkg is a package manager for the different C and C++ libraries.


>Vcpkg can collect usage data. The data collected by Microsoft is anonymous.


Ясно
970 2207311
>>207308
очередной шизоид, который боится, что его хелловорлды украдут.

vcpkg полностью опенсорс, иди посмотри, что там по телеметрии
14599482085810.jpg6 Кб, 240x201
971 2207336
>>205736

>ты еще скажы что ты математик, тогда сразу нахуй -70% к зп


Ты сделал меня плакать.
Ну почему я не родился негром, а?
972 2207421

>>#elifdef (since C++23)


>>#elifndef (since C++23)



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

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

А еще лучше забыть уже всю эту макросовую хуиту, когда есть нормальные компалтайм условия
973 2207422
>>207306
А можно как-то этот vcpkg скачать в папку с проектом, чтоб например собрать проект оффлайн когда библиотеки сильно обновятся?
974 2207530
>>206763
короче, вот так правильно

if (vals < (p1 - p3 )) out = true;
else if (vals > (p1 + p3 )) out = false;
975 2207719
>>207422
у нас так и сделано, вцпкг лежит в папке с проектом и пребилд скрипт все скачивает и собирает, если не собрано.
image.png65 Кб, 1069x923
976 2207790
Что мне нужно исправить в этой функции, чтобы она заработала и не выдавала ошибку? (Скопировал из интернета). Решил написать полезную программу
977 2207791
Начал изучать эти ваши плюсы. Возник такой вопрос: если в функцию передается указатель именно на первый элемент массива, то как правильно написать функции для создания и удаления динамических массивов? Ведь функция удаления не получит указатель на весь массив
978 2207793
>>207791
Заодно спрошу: как проверять правильно ли отработал delete[]?
979 2207978
>>207719
Интересно, покажешь пример скрипта? Это нормально для каждого проекта тащить свой vcpkg?
980 2207979
>>207791
Не надо писать свои функции по созданию массива, а нужно пользоваться vector
981 2207980
>>207979
А если надо?
982 2208030
>>207978

> Интересно, покажешь пример скрипта?


Там нихуя интересного, просто vcpkg install с манифестом, дополнительные костыли для бинарного кэширования и все.

> Это нормально для каждого проекта тащить свой vcpkg?


Микрософт сам это рекомендовал до того, как сделал версионирование. У нас свои либы запакованные в вцпкг, по-этому мы просто вцпкг и нужные порты храним в проекте и не ебем голову
983 2208197
У меня есть цикл
for(std::set<int>::iterator it = clients.begin(); it != clients.end(); it++)

И есть беда, что в случае удаления элемента из сета мне надо продолжать цикл либо с самого начала либо со следующего элемента (лучше последний вариант)
Пробовал переставить итератор снова в начало и continue, но тогда если элемент был всего один то сега
Вариант с goto сработал, ток хотелось бы без него
Как делать?
984 2208276
Точка останова в обратную сторону только в vs enterprise есть?
985 2208305
>>208197
https://en.m.wikipedia.org/wiki/Erase–remove_idiom
Remove или remove_if сдвигают элементы для удаления в конец контейнера, erase их удаляет одним действием.
986 2208340
>>208305
Ты не способен даже прочесть то, что сам советуешь, пиздец.

> The erase–remove idiom cannot be used for containers that return const_iterator (e.g.: set)

987 2208344
>>208197
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;
}
988 2208389
989 2208456
>>207336
в следующей жизни повезет
990 2208812
>>157621 (OP)
Дайте ссылку на викторину по c++14
991 2209085
>>208344
>>208305
К сожалению 98-й стандарт так что не выйдет
1636562611733.jpg31 Кб, 343x343
992 2209102
Насколько правильно в одной паре ".h - .cpp" держать несколько классов? Ну то есть чтобы не плодить кучу файлов для каждого класса вместо этого схожие классы собирать в одном файле h и cpp???
993 2209104
>>209102
Норм, оссобенно если они маленькие и по названию спп и х файла будет понятно что в них находится
994 2209106
>>209104
А как правильнее инклуды писать в таком случае? Для всех классов писать в самом начале хедера? Или можно перед объявлением класса писать заголовочники, которые нужны именно ему?
Мне второй вариант кажется более читабельным, только не будет ли ошибок каких нибудь из-за этого?
995 2209107
>>209106
Принято в самом начале
Никогда не видел чтобы для каждого класса писали над ним
996 2209109
Там кажись VS 2022 вышла. Че интересного? Стоит установть или 2019 норм?
1636563599027.jpg14 Кб, 300x300
997 2209111
Этот >>201187 многострадальный анон снова на связи. Все никак не могу решить свою проблему. Почистил свой код от using namespace, теперь их вообще нету нигде. Но компилятор продолжает ругаться.
Начал смотреть хедеры Niflib, оказывается там везде понатыканы using namespace std, почти в каждом хедере. Из-за этого наверно компилятор ругается, вроде начиная с С++14 так нельзя.
Как по уму решить эту проблему? Пока на ум кроме ручной чистки хедеров Niflib ничего не приходит.
998 2209112
>>209109
Ставь вим

а что там нового в 2022?
999 2209113
>>209112

>Ставь вим


Зачем?
1000 2209115
>>209113
Будешь самым крутым на работе

у нас пару дедов на нем сидят
1001 2209124
>>209115

>Будешь самым крутым на работе


в НИИ, да
изображение.png4 Кб, 470x88
1002 2209147
В чем разница между этими строчками? Одна из них компилируется, другая нет. Говорит невозможно присваивать значения переменной, которая объявлена как константа
1003 2209149
>>209147
То есть я понимаю разницу, но как мне сделать во вотром случае не константную ссылку?
1004 2209150
>>209149
А бля, я тупой, понял все
1005 2209151
>>209150
Нет, не понял. Все таки я реально не понял как изменить значение через get.
1006 2209154
>>209151
Короче указателей там накостылил, пойдет пока
1007 2209166
>>209147

>В чем разница между этими строчками?


в каааждой строчке только точки после буквы L
ты поймешь конечно все что я сказать хотел!
1008 2209179
>>157621 (OP)
Что почитать по c++14
1009 2209219
Посмотрите плез код. Я правильно понял концепцию фабрики?
1010 2209230
>>209219
Никогда так не делай в проде
1011 2209231
>>209219
Правильно, только тип зверя надо передавать аргументом createAnimal, цикл перенести в foo(), для него можно енум завести. И сырые указатели с утечкой памяти в foo() режут глаз.
изображение.png3 Кб, 321x161
1012 2209239
>>209231

> цикл перенести в foo()


Везде пишут мол надо отделять изменяемую часть от неизменной, а все что меняется от рантайма к рантайму переносится в фабрику, которая, я если я все понял, является здесь createAnimal()
1013 2209245
>>209239
Что считать "изменяемой" частью? Пусть "изменяемым" будет источник названия зверя, а фабрика будет создавать только то, что ей говорят. Источник может быть любым - ввод с клавиатуры, конфиг, БД и т.д. Если понадобится создавать 10000 заранее известных типов зверей, не придётся дорабатывать фабрику, чтобы убрать из неё ввод с клавиатуры.
1014 2209246
>>209245
А, ебать понял
1015 2209281
>>209179
библию, книгу апокалипсиса, на этой неделе патриарх затирал про то что апокалипсис мол начнется с полного порабощения и контроля человека, а мол современные цифровые технологии позволяют это сделать! а значит ускоряют приближение Конца и Судного дня!!
1016 2209283
>>209230
в каком проде? але
разве мы не в треде умерающего эзотерического языка?
1017 2209285
>>209283

> разве мы не в треде умерающего эзотерического языка?


Растотред по соседству
1018 2209303
>>209154
Нельзя таким образом менять ключ в set и map, они не просто так константы возвращаются.
Screenshot20.png93 Кб, 846x410
1019 2209344
Братишки, я вам это... покушать принес.
Помогите, словом.
Начал дрочить кресты, ебусь с указателями.
Задача такова:
Объявите указатель на массив типа 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;

};
Screenshot20.png93 Кб, 846x410
1019 2209344
Братишки, я вам это... покушать принес.
Помогите, словом.
Начал дрочить кресты, ебусь с указателями.
Задача такова:
Объявите указатель на массив типа 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;

};
1020 2209355
>>209344
Так толсто, что даже толсто.
15556159308800.png103 Кб, 736x736
1021 2209405
>>209344
Так ничего сложного, берешь и решаешь. Любой школьник справится!

https://ideone.com/bWeRcz
1022 2209487
У меня появился вопрос. Вот я делаю какую-то программу и в ней есть объекты (Графический интерфейс, кнопки или игровые объекты). Метод отрисовки на экране нужно помещать внутрь самого объекта, который я планирую отрисовать или лучше создать отдельный класс, в котором есть все методы для прорисовки всех объектов?
1023 2209614
>>209179
Как прокачать c++11 до c++14?*
1024 2209671
>>209405
Помилуй бох, я мало что понял из написанного.
1025 2210276
Хочу в multiset пар число, строка, при этом чтобы оно сортировало по числу, но мог найти элемент по строке. Какие решения?
1026 2210303
>>210276
Boost multiindex
1027 2210307
>>210303
Мне нужно только STL. ДАже без самописных структур. Если нет адекватного способа, то ок, я подумаю над другим
1028 2210321
>>210307
Говнокодер создатель велосипедов итт
1029 2210435
>>210276
Вроде компаратор можно самому написать. Или я не прав?
1030 2210441
>>210435
Для поиска для вставки разные компараторы?
1031 2211482
Как построить STATIC библиотеку OpenCV? Есть гайды?
1032 2211500
Кто нибудь использовал doctest? Что происходит с SUBCASE в циклах?
1033 2211514
>>211482
-DBUILD_SHARED_LIBS=OFF
Или в самом Cmake UI снимаешь галку BUILD_SHARED_LIBS
Можешь ещё build_opencv_world выставить, чтобы собралось в виде одной большой либы.

А вообще на самом сайте OpenCV есть масса ссылок для сборки под всё и вся. Пошевели свое жопой хоть немного.
1034 2211540
>>211514
Да шевелил и ставил, что ты говоришь, только потом в проекте Unresolved extensials, хотя библиотеки присоединены и все headerы тоже.
Только "build_opencv_world" не пробовал, спасибо за наводку.

Ищу именно туториал от начала до конца.
1035 2211543
>>211482
vcpkg install opencv:x64-%yourOS%-static
1036 2211575
>>211540
Ну так залезь в исходники OpenCV и посмотри к какой либе externals относится. Ещё ты мог проебаться с opencv_contirb. Это либы идут вместе с OCV, но они от сторонних разрабов и требуют явного указания при сборке.
-DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>

Вот этого >>211543 говноеда не слушай. OCV дико модульная хуйня с кучей фич под разные платформы. Для laba.cpp конечно хватит, но в реале через стандартные пакеты её никто не ставит.
1037 2211587
>>211575
Я взял тестовый application из построенной папки через CMAKE и скопировал все "include" пути и список библиотек и сука заработало!

Спасибо, братюнь, ещё в феврале хотел использовать OpenCV, но не мог присоединить к проекту.
1038 2211589
>>211575
Когда обезьяна не знает про конфигурации и фичи вцпкг, из которых ты можешь собрать ровно то, что тебе нужно, и продолжает делать руками то, что уже автоматизировано у всех бояр.

ты еще поди в виме код пишешь, да, додик?
1039 2211616
>>211589
Devops макака, зачем ты мажешься говном в треде для разработчиков?
Flandre.Scarlet.full.2294979.jpg55 Кб, 443x600
1040 2211623
>>157621 (OP)
Объясните, как c++ компонует свои классы в портабл екзекьютабл? Под каждый класс создаёт дефолтный прототип? Где хранятся функции-члены? Где берется место для статичных переменных? Где про всё это почитать в подробностях?
1041 2211624
>>211623
"Классов" нету в бинаре, там просто месиво из байтов и функций (которые раньше были методами).

Место для статических переменных берется в .bss (https://en.wikipedia.org/wiki/.bss)
1042 2211627
>>211623
Попробуй exe открыть в IDA
1043 2211633
>>211587
Не помню как в других IDE, но если студия, то попробуй в Code Generation->Runtime Library убрать DLL. Если подключаешь статическую либу, то библиотека среды выполнения тоже должна быть статической.
1044 2211651
>>211624
В C, статично-алоковані об'єкти без явного ініціалізатора значення будуть ініціалізовані нулями (для арифметичних типів) або нульовим вказівником (для вказівних типів). В реалізації C, як правило, нульові значення і вказівники у бітовому представленні складаються лише із бітів з нульовими значеннями (хоча це не вимагається стандартом C). Таким чином, сегмент BSS як правило містить всі неініціалізовані об'єкти (змінні і константи), що оголошені в області видимості файлу (тобто, за межами будь-якої функції) а також не ініціалізовані локальні статичні змінні (локальні змінні[en] оголошені із ключовим словом static ); статичні локальні константи повинні ініціалізуватися в оголошенні, оскільки вони не мають окремого оголошення, вони як правило не розміщуються у BSS секції, хоча вони можуть явним чи неявним чином ініціалізувати в нульове значення.

Пітер ван дер Лінден[en], автор мови C і програміст, говорить, "Деякі люди люблять запам'ятовувати цей сегмент, як 'Краще залишити місце'" ("Some people like to remember it as 'Better Save Space'). Оскільки BSS сегмент містить змінні, які ще не мають будь-якого значення, не потрібно зберігати представлення цих змінних. В об'єктний файл записується розмір BSS сегмента, але BSS (на відміну від сегмента даних) не займає ніякого фактичного місця в об'єктному файлі."[3]
1045 2211967
Привет, мне стало любопытно за подобный стиль написания кода на C++, который можно встретить в исходниках соурса и у javidx9, и что конкретно значат приставки перед названиями аттрибутов? m_b, m_p и т.д, заранее благодарствую
1046 2211968
>>211967
Венгерская нотация называется
1047 2211971
>>211968
Понял, спасибо
image.png91 Кб, 803x232
1048 2211975
хотел только спросить, но уже сам понял. поэтому просто немного какну в тред
1049 2211978
Перекат будет? Или будем сидеть до победного потопления?
1050 2211981
>>211978
Перекати.
1051 2211986
Что думаете об этих лекциях?
https://youtu.be/Bym7UMqpVEY
1052 2212014
http://eel.is/c++draft/ хуй знает есть в шапке или нет, но штука ахуенная, здесь собраны библиотеки плюсов с пояснениями
1053 2212055
>>212014
Товсто
image.png108 Кб, 919x297
1054 2212166
Липпман. Чё нахуй? Последние строки объяснить может кто?
1055 2212168
а блять там скобки разные пршу прощения
1056 2212302
Надо написать крайне простой сайтик с одной формой для личных целей. Потом это мне надо будет ручками разобрать. Опасаюсь наплыва ботов от шутливых друзей, поэтому нужно подрубить какую нибудь капчу. Что посоветуйте?
1057 2212325
>>212302
Посоветуем пхп или ноду. Скорее всего, даже программировать не придётся.
1058 2212334
>>212325
Так а капчу откуда взять?
1059 2212337
>>212334
Через готовые плагины для капчи. Настраиваются мышкой и копипастой.
1060 2212339
>>212337
Ну может есть проверенная простая для подключения капча? Чтобы я не пробовал разные варианты в поисках адекватной. Ну если нет, то я конечно найду сам, но думал тут подскажут
1061 2212340
>>157621 (OP)
сап, накидайте идей для диплома на с++
(пока думаю писать веб сервак)
1062 2212341
>>212340
Напиши чат сервер с шифрованием и чтобы это было максимально быстро. Чтобы миллиард человек могли пользовать этой хуйней в один момент, а прога пыхтела на твоей пентиуме и все работало
1063 2212345
>>212340
Вообще это очень странно, что у тебя за 4 года не было ни одной идеи, достойной стать дипломной работой. Так что иди нахуй, дибил.
1064 2212349
>>212345
если бы ты смог осилить информацию в скобочках, то понял бы, что идешь сходу нахуй
1065 2212350
>>212349
Ну это ебать какая неоригинальная идея
1066 2212351
>>212350
маневр.
1067 2212353
>>212350
но доля правды есть (
1068 2212496
У меня программа из нескольких файлов, причем есть 2 файла с main, чтобы я мог компилировать 2 вида программ. Обычно я из командной строки просто указывал какие файлы компилировать и все было заебись, но сейчас мне надо отладить прогу. Как в vs выбрать файлы для компиляции и отладки, если нет проекта, а только файлы?
1069 2212499
>>212166
Липпман норм чел вобще, он причастен к разработке языка если чё.

Тут у тебя трудности перевода. Держи под рукой всегда английское издание. А еще на сайте паблишера всегда есть пополняемый список опечаток. Об этом всегда во введении к книге говорится и дается ссылка в интернеты.
1070 2212501
>>212166
По фактам Липпман здесь хочет подчеркнуть важное различие между ()-инициализацией и {}-инициализацией.
Липпман не может тебе изложить все и сразу, поэтому он часто прибегает к таким фигурам речи, как "по причинам, которые будут понятны в дальнейшем" и тп.

Это как запутанный клубок ниток. А C++-дрочеры - это такие няшные котики, которые любят играть с клубками пряжи.
1071 2212516
>>212496
Начинать использовать cmake
1072 2212739
>>212496
сделай проект и не еби голову
1073 2213802
>>212345

>у тебя за 4 года не было ни одной идеи, достойной стать дипломной работой



А что можно нормальное написать в качестве дипломной работы, причем такое, что твой научник согласился бы это вести?
Компилятор/Интерпретатор своего ЯП?
Аналог 3дс макса?
Realtime анализатор трафика?
1074 2213823
>>212340
Придумай, что можно автоматизировать. Программирование для этого нужно.
1075 2213834
>>213823

>автоматизировать


Это про какую-нибудь 1С, джаву, питон, шарпик, ну язык на котором можно быстро бизнес логику написать.
На С++ особо ничего и не автоматизируешь из простых вещей.
1076 2213839
>>213834
Почему это? Есть qt, есть boost, на них можешь че угодно создавать.
1077 2213856
>>213839

>на них можешь че угодно создавать


И на голом си, и даже на асме можно че угодно создавать.
Другое дело, что у каждого языка своя ниша, и писать систему учету товаров на складе с микросервисами на С++ никто в здравом уме не станет.
1078 2213860
>>213856
Учёт товаров это одна задача из миллиона. Автоматизировать много чего надо.
Сделай сам какой нибудь diy датчик чего нибудь и напиши программу, которая данные с него снимает и выводит непрерывный график на компе.
1079 2213958
>>213802
В моем вузе люди алгоритмы придумывали новые и писали по этому дипломную работу
1080 2214019
>>213856

>писать систему учету товаров на складе с микросервисами на С++ никто в здравом уме не станет


1с вообще то на с++ написан
кхе кхе
1081 2214023
>>212340
ля, челик
на нормальной кафедре с нормальными преподами они сами придумывают темы для дипломов а потом раздают их студентикам на выбор..
1082 2214038
>>211482
100% у них уже есть готовые статиклибы под распространенные платформы, тебе только линкануться нужно правильно будет и все..
наверняка в любых линуксах в любом менеджере пакетов opencv поставляеться вместе со статиклибами.. а под винду еще проще..
ну а если ты понимаешь opencv под какую-нибудь экзотику, то тогда респект тебе и я умываю руки
так чтож 2 варианта либо ты слишком тупой либо слишком умный..
1083 2214039
>>214038

>понимаешь


поднимаешь
1084 2214040
>>211623
если ты знаешь этапы компиляции и линковки си программ, знаешь структуру исполняемого файла, обладаешь теорией о построении компиляторов, то можно будет тебе объяснить здесь и некие специфичные особенности связанные с компиляцией и линковкой уже с++
если ты не знаешь вышеперечисленного, то в треде это не объяснить, ты слишком многого просто не поймешь
1085 2214054
>>198538
Раньше долго сидел в болоте НИИ, пилил всякую херню от работы с бд, до всяких визуализаторов на простом попенжл и ГИСин. Было интересно, тк ассорти задач и коллектив приятный. Но денег нихуя, да роста тоже, тк команда маленькая и варишься в своём соку. Карьеру проебал считай зависнув там.
Потом рискнул попробовать в одну фирму с графонтехнологиями, тк это единственная относительно интересная сфера в вайти, но не осилил - слишком мозг протух от НИИ. Хотя после этого из пяти собесов я получил офферы по всем, по одному даже за нарисовали на 50% выше запрошенного.
В итоге работаю в телекоме вот третий год. Уже подзаёбыает, тк задачи тоска в основном. Кодовая база большая, вменяемой доки нет, мейнтейнить и расширять это больно. Думал буду в энтерпрайзе дохуя опыт получать, но что-то в итоге оказалось, что команда перегружена и каждый пилит в основном одни и те же модули/проекты, обсуждать нечего или некогда. Из плюсов - фирма комфортная, прогеров облизывает. Поднял ЗП до человеческого уровня. Надо бы дальше сьебывать, но теперь ещё страшнее: вроде нихуя не обогатился по навыкам, а меньше получать уже не годится. Опять же, найти интересную сферу - сложна. Из интересного недавно приглашали только конторы из Маськвы. Но чисто из дома работать я не могу - эффективность низкая и начинает крыша протекать быстро из-за отсутствия пассивной социализации. Пока думаю как выкатиться на забугорного пана, тк сносный разговорный английский без дела томится.
%Спасибо, что прочитали личный бложик крестоёба. Подписывайтесь, ставьте лайк, жмите колокольчик%
1086 2214175
>>214054
Типичный сториз стареющего омежки.
Мимо выкатился из ГовНИИ в графений и трёхмерку (не гейдев) а потом в машоб/зрение и умный эмбед. Иду в ногу с прогрессом, от энтерпрайз и легаси говна ловко ускользаю, с плюсами постепенно прощаюсь. Зп продолжает расти, intel/huawei и прочие яндексы сами ищут знакомства. Так то.
1087 2214195
Пытаюсь собрать lib файл, а Qt Creator вместо него собирает *.a файл. Как его заставить собирать именно в lib формате?
1088 2214198
>>214195
Параметры компиляции?
1089 2214203
>>214198
Я кажется понял, у меня там компилятор MinGW, а он только *.a файлы умеет собирать, так ведь?
1090 2214207
>>214203
MinGW это GCC под винду - у него свой формат .a

.lib - это вижуал штудия
1091 2214212
>>214207
Оба ведь можно юзать в любых проектах под виндой?
1092 2214222
>>214212
ты никак не слинкуешь то, что было высрано разными компиляторами.

нет, конечно можно, у кланга там есть возможности высирать в нужных форматах, да и линковать можно динамически через extern "C", но это уже не совсем новичковая тема
1093 2214236
>>214222
То есть если я в проекте использую MinGW, то не смогу линкануть *.lib файл?
1094 2214247
>>214236
Да, там ABI другое
1095 2214250
>>214247
Найc, спасибо
1096 2214316
>>214040
https://www.blackhat.com/presentations/bh-dc-07/Sabanal_Yason/Paper/bh-dc-07-Sabanal_Yason-WP.pdf
А дальше насиловать IDA, читать блоги разработчиков тулсета, смотреть как в нём устроена CRT, что и как происходит до и после main(), как устроен манглинг.
На блюдечке такой инфы нет, потому что мало кому надо, а кому надо, сам разберётся с учётом того, что хочет сделать
1097 2214453
>>214175

>яндексы сами ищут знакомства


Но ведь яндексы и так ищут знакомства со всеми подряд. Мне за ноябрь порядка 20 херочек и херов написало с предложением порещать интереснейшие задачи в Лавке
Ну а если серьёзно, то как не быть омежкой, а быть как ты? Научи, о дваче-мудрец.
1098 2214600
>>211543
Вот этого двачую.
vcpkg уже давно стал полноценным пакетным менеджером не хуже pip там или maven
1099 2214612
>>211975
В core guidelines говорят не использовать беззнаковые переменные, даже когда значение не может быть отрицательным. Бъярне сам признал обсёр с беззнаковыми индексами в STL
1100 2214665
>>211543
А если opencv-contrib нужен? Он вряд ли будет там.
1101 2214734
>>214665
vcpkg install opencv4[contrib]
1102 2214750
>>214734
А он там есть? Я вообще только вчера про vcpkg узнал (что только зумеры не придумают, чтобы самим либы не собирать)
1103 2214759
>>214750
Бля чел, я спецом посмотрел есть ли такая фича, и после этого запостил. Есть, есть.

> (что только зумеры не придумают, чтобы самим либы не собирать)


Я бы сказал - что главная проблема С++ это ебаные деды с вимом, мейкфайлами и ручной сборкой всего на свете. Мы не в каменном веке живем, много где в С++ уже просто не надо ебаться.
1104 2214795
>>214759
Не буду спорить о проблемах крестов. Просто скажу, что не сильно разделяю твое мнение. Но все равно в какой-то момент нужно будет делать кастомную сборку того же opencv с выпиленные/впиленными фичами и вообще любыми их комбинациями. В vcpkg все равно нет на любой вкус собранных либ.
1105 2214855
>>214795
Само собой - уметь надо всё, но и тулинг надо использовать там, где такие лютые каштомизации не нужны.
изображение.png34 Кб, 1010x522
1106 2214866
Ебучая магия...
где перекат?
1107 2215071
>>214453

>порядка 20 херочек и херов


из них 80% хуй пойми кто из "кадровых агентств"

>интереснейшие задачи в Лавке


Мне предлагают задачи для беспилотного транспорта.

>как не быть омежкой


Не соглашаться на легаси говно и энтерпрайз. Быть там, где молодёжь. Не сидеть годами в одном месте, особенно если тебя облизывают.
1108 2215101
>>214855
Но ты же кроме vcpkg install ничего не умеешь, верно?
1109 2215136
>>213958

>люди алгоритмы придумывали новые


Ну это уже ближе к чему-то математическому. Какой-нибудь новый алгоритм придумать для быстрого верчения деревьев нужно нехило так дрочиться алгоритмами еще со школы, имхо.
1110 2215143
>>214175

>с плюсами постепенно прощаюсь


Куда перекатывашься? На раст? Или в питон, раз в зрение вкатился?

>>214175

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



Интересные задачи (не энтерпрайз и не легаси) хорошо оплачиваются у нас? Я когда-то думал вкатиться в С++ писать йоба-софт вроде компиляторов или зрения, а в итоге стал джавадебилом, который грузит джейсоны на 8 джаве в одном зеленом банке...
1111 2215154
>>215143

>Куда перекатывашься?


В сторону Python. Но c++ всё равно нужен, когда надо софт в эмбед запихивать.

>хорошо оплачиваются у нас


В российских реалиях Java/Kotlin/Enterprise в любом случае будут выгоднее по деньгам. Разрыв можно покрыть, только если работать с иностранцами.
1112 2215159
>>215143

> Куда перекатывашься?


Любой успешный программист перекатывается на повер поинт обычно. Если этого не происходит, то нужно задуматься.
1113 2215160
>>215101
Я умею дохуя всего, и именно по-этому я выбираю нужный тулинг для нужной задачи
1114 2215206
>>215160
Звучит как слоган из рекламы для домохозяек.
1115 2215217
>>215160
Я не боюсь человека, знающего тысячу тулов. Я боюсь человека, который использовал один тул тысячу раз.
1116 2215362
Почему некоторые программы не собираются разными компиляторами? Чаще всего требуют GCC или Mingw. Как этого избежать? И сложно ли перенести такую программу на MSVC? Кстати, почему все не пересели на clang, он же есть на всех системах, более свободная лицензия и остальные плюсы
1117 2215396
В общем, не трогал С++ года с 2012. Решил посмотреть, что там интересненького появилось.
Вижу модули. Прочитал коротко - думаю, .ну наконец-то что-то нормальное в язык завезли.
Потом смотрю как оно сделано в плане кодерского экспириенса. Это же пиздец какой-то. Нахуй они в таком виде-то нужны?
У меня на самом деле уже закрадывается подозрение, что это все делается спецом чтоб добить бедненький С++. Иначе я не могу понять - на кой хуй объявлять нормальные вроде как фичи, но делать их в конечном счете так, что никто абсолютно не будет ими пользоваться, ведь сделано он именно так, что пользоваться этим тупо невозможно.
Блин, да посмотрите как в ебучем JS модули сделаны. Да, там тоже есть свои хуевости, но уж получше чем плюсовские это 100%
1118 2215437
>>215362

>Как этого избежать?


Использовать вместо make файлов или проектов студии (или какой-то конкретной IDE) CMake.

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

>почему все не пересели на clang


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

> Почему некоторые программы не собираются разными компиляторами?


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

> Как этого избежать?


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

> И сложно ли перенести такую программу на MSVC?


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

> Кстати, почему все не пересели на clang


А зачем? Работает - не трогай. Да и кланг развивается все медленнее и медленнее, учитывая конфликт в комитете по слому ABI, после которого гугл как-то подостыл к С++
1121 2215559
>>215476

>после которого гугл как-то подостыл к С++


Уже 10 лет прошло, они ещё не успели перекомпилировать все бмблиотеки?
1122 2215569
>>215559
они то успели, все остальные проголосовали за ШТАБИЛЬНОСТЬ
1123 2215621
>>214795
В чем проблема, взял portfile и поменял как тебе нужно. Только вряд ли тебе нужно что-то кроме умолчаний и фич.
1124 2215786
Хочу заниматься движками баз данных, отказоустойчивым распределенным хуйлоадом, компиляторами, графикой. Как вкатиться в это, если я джавадебил?
А то смотрю вакансии на С++: одно говно, либо НИИ, либо днищеконторы с формочками на Qt/MFC/WinAPI.
1125 2215810
>>215786

> как вкатиться


Учеба + практика

> в вакансиях одно говно


Есть такое, но и если поискать хорошо, то найдешь нормальное
графика это скорее всего геймдев
1126 2215811
>>215810

>Учеба + практика


Где учиться и где практиковаться? Учился в бакалавриате "информатика и вычислительная техника", толком ничему не учили, так для общего развития можно сказать 4 года просидел там.
И практику где брать?

Я вот смотрю вакансии на ХХ - по компиляторам если еще что-то есть и по графике тоже, то вот с базами данных нет ничего толком. Ну и хуйлоад на С++ видимо у нас только в яндексе есть.
1127 2215823
>>215811

> Где учиться


Дома за компьютером можешь

> где брать практику


Берешь свои знания и пытаешься из реализовать

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

> По базам данных нет ничего толком


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

ну и у тебя какие то странные желания и графика, и бд, и хайлоад, не думаешь что то одно выбрать?
1128 2215828
>>215823

>тебе конкретно какой то литры покидать


Ну вообще да. Хочу сначала просто попробовать-потыкать различные отрасли, может потом найду что-то самое интересное.
1129 2216145
>>215786
Хуёво всё это закончится, братюнь. Ну разве что в гейдеве есть устойчивый спрос и сносная пайка. В остальном в год по этим направлениям постится 5-6 нормальных вакух и половина не в твоём городе без права на удалёнку.
1130 2216150
На LinkedIn в Москве начального уровня кто-то ищет, или hh достаточно?
1131 2216345
Хочу простенький консольный чатик(клиент+сервер)
Так вот. Я чет не вижу в стандартной библиотеке сокетов. Понимаю, что платформозависимо, но блин. Неужели придется извращаться с макросами или брать библиотеки сторонние?
1132 2216366
>>216345
Тут на любой вопрос о сетях пишут boost.
1133 2216376
какой лимит постов в этом итт треде?
в начале лета вроде было 1к
сегодня 2к что ли уже?
когда легитимные перекат уже
1134 2216383
>>216150
начального уровня вообще никто не ищет
это ты должен умолять чтобы тебя взяли
вот в яндекс чтобы попасть нада 5 лет в вузике отпахать, ездить на олимпиадки, а до этого в обычной специальной с мат уклоном школке отучиться, погрызть математику с физикой, ну еще не забывай что ты должен быть юрким челиком и понять что не достаточно просто учиться в вузике на 4-5 (иначе в 30 окажешься в петле как невостребованное говно), а на курсе 2-3 уже начать суетиться и мутить разные темы с преподами, ну или на специализированные курсы от того же яндекса ходить
и тогда тарам пам пам может быть ты попадешь в яндекс роботать программистом
и да, пожалуйста не пишите как вы в конце нулевых с пары собесов прошли в хуяндекс и свалили оттуда через 3 года на большие бабки
щас другие времена и другая конкуренция
вот
1135 2216384
>>216345
boost::asio::ip::tcp::socket
Или в Qt смотри.
1136 2216388
>>216345
вариантов кроссплатформенных оберток беркли сокетов полно, более того сокеты сами по себе и являються межоперационным обобщением
вот
1137 2216394
>>216145
будем честны и скажем что российский геймдев большую часть прибылей генерирует с мобильного рынка и то по той причине что ниша была незанята
но скоро кризис начнет давить всех и на этот рынок выйдут динозавры
и тогда к примеру тем же жидам из плейрикса придет пиздец
ну как пиздец, бизнес у них задавят или отожмут
сами то они уже срубили бабла и себе и внукам
1138 2216395
>>216383

>щас другие времена и другая конкуренция


Не, ну ща получше чем пару лет назад. Молодняка поменьше и часть народу укатилась в питоны/вёбы/мобилки там всякие.
1139 2216430
>>216345
В qt простенький веб чатик есть в экзамплах/туториалах, не подойдёт? Консольный сервак, веб страничка клиент.
1140 2216452
>>216430
>>216388
>>216384
>>216366
Спасибо за ответы, няши.
Видимо таки придется на макросах делать.
Я же как-бы на данном этапе хотел руки размять и попробовать словить вьетнамские флешбкеи. А то в средах со сборщиком мусора и прочими асинхронностями из коробки - как-то слишком скучно. Уже пропало чувство того что я идиот, а именно это чувство в свое время мотивировало изучать больше.
1141 2216506
Помогите разобраться. Просто для себя изучаю С++ и не совсем понимаю, именно на практике, когда используются указатели? Вот как они работаю спокойно уложилось в голове, а вот когда их стоит применять, а когда нет - так и осталось вопросом.
1142 2216520
>>216506
По указателю обычно передают не примитивные типы, а структуры, которые не хотелось бы каждый раз копировать.
1143 2216566
>>216383
Хуя ты пиздабол, одногруппник устроился на 40 тысяч c# вообще зная только основы
1144 2216571
>>216566
тред не попутал?
1145 2216576
>>216571
Какая разница
1146 2216579
>>216383
Та хуй знает. Меня на первую работу взяли с уровнем: знает синтаксис, может отличить передачу по ссылке и по значению, знает стандартную либу, умеет по памяти сортировку пузырьком сделать.
1147 2216582
>>214175

> huawei


Работаю там. В целом в московском хуавее всегда хуй клали на кодинг. Потому что китайцы и сами могут наговнокодить (на самом деле нет). Только недавно открылось несколько лабораторий, которые занимаются софтом. Та лаба, которая рядом с моим отделом, занимается довольно низкоуровневыми вещами. Про другие не могу сказать.

По поводу "на самом деле нет", написанному выше, есть кулстори. Хуавей пару лет назад со всех концов света собирал людей на длительную работу у них в китайском офисе с целью аврального допиливания их Harmony OS. Брали всех, кто был согласен ехать и был способен кодить. Вот так оказалось, что в Китае с их бешенной конкуренцией за рабочие места не хватает кодеров.
1148 2216587
>>216582
нихуя
ни кого попали
нужен был engrish, дипломчик по специальности, опыт роботы по специальности
1149 2216588
>>216579
Вот, я не только знаю язык на начальном уровне, так ещё и кучу остальной херни полезной. Написал это всё в резюме и скинул троим, жду ответа
1150 2216596
>>216579
и чЁ? в каком седом году это было
не надо рассматривать тогда и сейчас
сейчас для вкатунов жОпа
1151 2216602
>>216596

>сейчас для вкатунов жОпа


В С++ может быть и да, так как вкатуны в кресты не особо нужны, ну кроме говноформочек на Qt.

>>216383

>вот в яндекс чтобы попасть


Нужно научиться прорешать 150-200 задачек на литкоде, преимущественно уровня медиум, вот тогда на стажировку в яндекс попасть просто. Знаю несколько людей, которые после обычных мухорсранских школ, с неоконченными говновузами и после армии, не обладая высоким интеллектом, вкатывались на стажки в яндекс, просто нарешав задачи на литкоде и найдя того, кто их сможет пореферить. Вот и все. Может, конечно, в поиск и беспилотники нужны толковые люди, но сейчас яндекс становится похожим на сбер, в который вообще чуть ли не всех подряд берут.
1152 2216619
>>216582
Хуйвей сейчас на конпеляторы и тулчейны к ним набирает. Нв rust говно ещё. Другое дело, что это узкая специализация нахуй никому не нужная.

>>216602

>яндекс становится похожим на сбер


Скорее на Luxoft, если знать как они бомбят говном на почту. Но в лохсофте хотя бы пайки лучше.
1153 2216626
>>216587
Если я тебя правильно понял.
Английский нужен. Высшее нужно. Опыт нужен, но можно например в мою группу без опыта через интернатуру попасть (если ответишь на вопросы на собесе). Но и я не кодер ни разу. Просто решил освежить свои плюсы. Вот пока с вами тусую.

>>216619

> Хуйвей сейчас на конпеляторы и тулчейны к ним набирает. Нв rust говно ещё. Другое дело, что это узкая специализация нахуй никому не нужная.


Конпеляторы сейчас котируются как минимум в хуйвее, самсунге, нвидии и интеле. И это только в Москве. Но специальность по конпеляторам с хорошей дискреткой ещё нужно заработать.
1154 2216633
>>216626

>английский


Это сертификат нужен, или просто для коммуникации?
1155 2216634
>>216626

>как минимум


Как максимум.
1156 2216637
>>216633
Ну ты чего. Сертификат понадобится, если ты будешь релоцироваться и то далеко не всегда.
1157 2216640
>>216626

>с хорошей дискреткой


Все дороги открыты и нет смысла заходить в подворотню.
1158 2216641
>>216633
Просто на собесе попросят какой-нибудь технический вопрос по-английски ответить. Китайцы тоже, знаешь, такие себе инглиш-спикеры.
>>216634
Из приличных, может быть, и как максимум. Но есть еще подсосавшиеся к госзаказу кб-шки, клепающие нейропроцы. Или лабы в институтах, загимающиеся подобными вещами.
1159 2216644
>>216640
Редкая специализация это всегда палка о двух концах. С одной стороны можно ломить цену за свои навыки и жить припеваючи. Но с другой, что делать, когда все четыре вышеперечисленных конторы перепробовал и тебе не понравилось.
1160 2216645
>>216644

>что делать


Читать лекции за еду и пенсию в местном институте.
1161 2216649
>>216644

>все четыре


Есть только в маськве. В питере есть только хуйвей, а в нижнем только интэл. Раньше на удалёнку они никого не брали, а сейчас готова только одна из.
1162 2216650
>>216649

> в нижнем только интэл


Хуйвей там тоже есть чуть-чуть. Но с другой стороны, чего ловить человеку с хорошим редким образованием в мухосранске?
1163 2216651
>>216650

>в мухосранске?


Российское подразделение интел появилось в мухосранске, потом переползло в мухосранск-милионник, а потом в маськву. И оно за собой перетаскивало людей с "редким образованием", которое можно получить почти во всех мухосрансках-миллионниках.
1164 2216653
>>216651
Но ты же сам понимаешь, что это исключение. Или ты лишь бы возразить все это пишешь?
1165 2216654
>>216602

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


в каком году але? в швятые нулевые? дО крыма?
в 21 году это уже не прокатит
1166 2216655
>>216619

>Huawei uses Rust to develop a real-time OS for IoT devices, and in the StratoVirt project, a high-performance virtualization platform


хе хе
земля им пухом
те они сначала должны будут поднять те сделать всю инфраструктуру (одного компелятора недостаточно, хотя и сделать компелятор такой дрисни как раст еще хуже делать чем компеляторы швятых крестов) вокруг этого сырого говна под названием раст, а только потом уже начать пердолить свои иот операционки и виртуализаци
хехе
вот это мянямирки
1167 2216658
>>216655
ну хотя для программистов то приятненько такое писать
ну там компеляторы, инфраструктура к ним, всякие иде и отладчики, ну там всякие рантайм ос, и всякая виртуализация
одни из самых приятных занятий для программистов
и денежку платят
1168 2216660
>>216653
Исключение из чего? Конторы открывают свои представительства там, где есть мозги (нормальные вузы или нии), а не там, где кремль краше. А потом да, менеджмент перевозит головной офис туда, где удобнее вести бизнес (и жить краше). Но работяги остаются в своих Новосибирсках.
1169 2216662
ммм даже представляю этого поехавшего хитреца тим лидера какого нибудь который впаривал топ менеджменту хуайвея что мол ща нахуярим побыстрому рантайм операционку на модный иот! мол язык современный и безопасный бля буду и поэтому у нас все летать будет и сделаем все за срок! бля буду
только сначала по бырому запилим компелятор ну и чутка тулзов к нему! это просто!
даже интересно есть ли вообще в природе хоть одна успешная коммерческая операционка написанная НЕ на си, хе хе, разве что мертвый сумбайн
1170 2216663
>>216662
Ты не совсем правильно представляешь, как все в хуавее устроено. Там на рисеч тратятся просто мегатонны юаней. Написать операционку на любом говне это для них рисеч-челлендж. Помимо этого отдела еще в мире в других исследовательских центрах будут отделы-компетиторы с такой же разработкой. И в самом Китае еще несколько отделов будет этим заниматься.
>>216660
То-то я вижу в каждом мухосранске технокластеры с представителями международных компаний.
1171 2216688
Че там на cppconf было интересного? Гле глянуть можно?
1172 2216692
Делаю свой гит, чтоб не зависеть от всяких хуесосов. Дифф уже готов, вот пруфы. В чем я не прав?
https://pastebin.com/3VF7My9N
1173 2216695
>>216692
Перепрошую, панове, трішки обісрався...
https://pastebin.com/W5FwGYBa
1174 2216717
>>216663
Ну так huawei и samsung прежде всего смотрели на Россию, как на рынок сбыта своей продукции. Если все крупные конторы сидят в москве - надо идти туда. Сначала открылись департаменты по работе с корпоративными клиентами, маркетингу и продажам. Потом по фану добавили "департамент разработки".
В плане организации тоже очевидно - если в москве сидят все, кроме газпрома, то и инфраструктура (кластеры-хуястеры) соответствующая. В регионах местный бизнес максимум на что способен - построить торговый центр с фонтаном. А муниципалитет - такое же говно без задач как и Сколково.

Соответственно разрабы собираются по 10-15 человек и скромно педалят код для иностранцев под вывеской "ООО ЗалупкиЛабз". Если "ООО ЗалупкиЛабз" пишет IPP, MPI или OpenCV, то он потом превращается в Intel Russia и ползёт в Москву к остальным.
sage 1175 2216766
>>216695
Удали компилятор, ide, блокнот или всё что угодно связанное с программированием на твоём компьютере пожалуйста
1176 2216784
>>216695
Особо не вчитывался, но похоже на (странный) алгоритм Левенштейна. Почитай про алгоритм диффа и как он синхронизируется на новых строчках. Алсо, ты не инициализируешь данные в матрице и можешь читать мусор оттуда. Используй valgrind/санитайзеры для проверки кода.
1177 2216859
>>216766
Почему?
>>216784

>похоже на (странный) алгоритм Левенштейна


Я просто думал, как компактно хранить изменения, чтоб не класть полные копии файлов на каждый коммит, и вспомнил, что существует некий эффективный longest common subsequence. Загуглил, увидел фразу dynamic programming и какую-то таблицу NxM, дальше додумал сам.
1178 2216928
>>216784
>>216859
>>216695
Кстати хорошая идея, проводить code review itt. Может, попробуем развить тему? Все же любят обосрать других.

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

Но для laba1 код сойдет, конечно.
1179 2216986
>>216654

>в каком году але


2021 год, период с июня по октябрь. Как раз таки 2-3 года назад в Яндекс попасть было попасть тяжелее, у мидлов бывало по 6-7 алго интервью просто чтобы попасть на 150к. После этого к ним народ с опытом стал менее охотно идти, вот они и начали брать себе стажеров и джунов в бОльших количествах.
Ну и сам яндекс разросся и стал похож на обычную галеру. Всякая элитарность осталась только в поиске, такси и беспилотниках.
1180 2216990
>>216626

>хуйвее, самсунге, нвидии и интеле


В нвидии у нас открытых компиляторных вакансий не видел ни разу, но может анон оттуда прояснит ситуацию.
А так еще есть очевидный jetbrains с его компилятором котлина и вообще статистическими анализаторами для IDE, ЦИТМ Экспонента и конечно же МЦСТ.
Вроде бы все. Ну как бы штук 10-15 компиляторных вакансий на всю страну наверняка наскребется.
1181 2216996
>>216649
Кстати интел в москве есть, но основное место концентрации разработчиков именно в нижнем. На стажировки нанимают в первую очередь в нижний.

>>216644

>что делать, когда все четыре вышеперечисленных конторы перепробовал и тебе не понравилось


Перекатиться в другую отрасль. Ну если ты действительно стал крутым спецом в компиляторах, то наверняка не составит труда релоцироваться куда-нибудь в US/UK/Китай, там компиляторной работы наверняка гораздо больше.
1182 2217006
>>216990
Нвидия в Москве вообще как закрытый клуб. Мониторю их вакансии. Там их совсем немного всегда висит. Даже как-то сам резюме засылал их hr'у (далеко не на джунскую позицию). Вообще ничего не ответили, собаки.
>>216996

> Кстати интел в москве есть, но основное место концентрации разработчиков именно в нижнем.


Сейчас они вводят полную удаленку и нанимают со всей страны. Вот сейчас к ним в несколько отделов собеседуюсь.

> Перекатиться в другую отрасль.


Верно, конечно.
1183 2217097
>>216663
Да, слышал инсайды, что они там настолько в своем познании преисполнились, что хуярят с нуля вообще весь тулчейн включая собственную ide.
1184 2217358
>>217097
Как и эппл. У них же, насколько я знаю, куча секретных тулзов внутри компании для разработки, и сами не сидят на ссаном xcode.
image.png993 Кб, 608x1080
1185 2217368
Сап двач, помоги с домашкой по C++
1186 2217375
>>217368
Они ебанулись давать с++ в 10 классе?
А так, тебе хотя бы в каком стиле надо писать? ООП или функции?
1187 2217381
>>217375
Функции
1188 2217396
>>217381
Ну тебе нужно написать функцию
[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]
1189 2217402
>>217396
Аригато, анон
1190 2217411
привет, анон
короче я по образованию робототехник и у меня опыт работы только в робототехнике: всякие SLAM немного cv. Короче алгоритмы
Вот, и недавно в силу бэкграунда и прочего ощутил комплекс неполноценности нехватку базовых знаний комплюктер саенс: как работает сеть (ну основы понимаю), криптография, да даже те же плюсы у нас используются не то что бы по полной - не юзаются прелести мув семантики и тд. Короче чисто как быдлан пишу
Посоветуйте плиз, каким бы проектиком можно заняться дома для себя. А то из-за низкой осведомленности могу придумать задачу, например, по зрению, но вот чтобы все это охватывало те знания о которых я написал, то вообще идей нет. Да и хочется отдохнуть от всей это роботохуйни и написать СВОЙ МЕССЕНДЖЕР. Короче хочу чуть вширь прокачаться, помоги плез советом
1191 2217420
>>217368
дура блядь
пока есть время ебашь математику с физикой чтобы баллов на еге набрать и не обосраться дальше с вузиком и жизнью
1192 2217430
>>217420

>пук

1193 2217433
>>217411
Купи малинку/пердуинку и подключи к ней камеру или привод какой-нибудь и запили управление пердуинкой со своего компа или мобилки. Сразу выйдешь за пределы своего уютненького.
sage 1194 2217449
>>217430
буэшь через 5ть лет в красной безрукавке тогда раскладывать товар по полочкам в магните
а пока сьеби из треда
в шапке написано: лабы идут нахуй
1195 2217470
>>217433
Человек же сказал, что его подзаебали cv и робототехника. Что посоветовать не знаю.
Я купил себе стереопару realsense d435i с инерциальным модулем и сначала решил написать свой слам, но потом передумал и пишу фильтр Калмана с автокалибровкой ковариационных матриц. При этом основной проблемой все равно является непонимание того, как надо правильно, а не чтобы просто работало.
1196 2217496
>>217470
Ну так в чём проблема то? Мобилки не робототехника, управление железкой - сети, фронтенд, бекенд и ещё вёб сервак допустим сверху. Всё это не про зрение и не про роботов. На жалезку можно накатить какой-то базовый софт коих овердохуя из коробки есть. Для него это будет самый быстрый старт от того, что он и так умеет.

>непонимание того, как надо правильно, а не чтобы просто работало


Потому что у самурая нет цели, только путь.
sage 1197 2217606
>>217420
>>217449
Поссал тебе на ебалник, сдал математику на 50 баллов а щяс успешно вкатился
IMG0862.JPG1,6 Мб, 4032x3024
1198 2217972
>>216928
Это я наскоро набросал мейновую программулину, чтоб глянуть, какой получится дифф. Разумеется, архитектура моей системы контроля версий будет безупречной, и после релиза tit 1.0 весь исходный код мигрирует из git репозитория в tit репозиторий. С этого момента ни одному нормальному кодеру профессиональная честь не позволит контрибьютить сюда https://github.com/git/git, ведь, в отличие от tit, там ни один коммит не проходил предварительное код-ревью двача. Таким образом, разработка всех серьезных программных продуктов рано или поздно перейдет на tit.
1199 2218053
>>217972
Люди до сих пор perforce и VCS используют.
1200 2218416
как относитесь к этой залупе?
https://ru.wikipedia.org/Венгерская_нотация
начал изучать вин апи, наткнулся на это.
до этого использовал с++ только для лаб, для своих проектов и работы использовал более высокоуровневые япы, потому практически любой нейминг в коде на поюсах кажется мне чрезмерно оптимизированным и максимально неочевидным
1201 2218420
>>218416
Ну тут нарушается абстракция данных и, если тип объекта меняется в будущем (допустим при переносе на новую платформу), то придётся больше кода педалить и больше ошибок ловить после этого.

А вообще, когда ты приходишь на проект, то пишешь так, как заведено на проекте. Поэтому просто забей.
sage 1202 2218433
>>218416
А, вот почему winapi выглядит как такое говно, не знал. Полная хуйня эти нотации
1203 2218536
>>218053
Скоро перестанут
https://github.com/VimDefecator/tit
1204 2218541
>>218420

>Ну тут нарушается абстракция данных и, если тип объекта меняется в будущем


Венгерская нотация это не обязательно про типы.
Мы вам перезвоним.
1205 2218646
Подскажите в какую сторону смотреть - нужно проиграть видео в полноэкранном приложении как отдельное окно(без рамок).
С DirectShow не получилось. Другие варианты есть?
1206 2218771
1207 2218846
1208 2218894
>>218846
>>218771
благодарю!
1209 2218934
>>218541
Из 2007 перезвоните?
image.png192 Кб, 720x405
1210 2219125
https://pastebin.com/jn0Ua8zz
Почему так я должен проебывать время, нахуй? Чтоб обойтись стандартный istream_iterator, надо делать свой locale, в котором ничего кроме \n не является whitespace, или я не так понял?
1211 2219199
>>218646
По идее можешь посмотреть, как ffplay устроен. Там как раз SDL и есть полноэкранный режим.
1212 2219248
Привет. Если скажем делаю хэдер, внутри есть пара функций которые возвращают вектор стрингов. Соответственно мне внутри хэдера нужно подключить вектор и стринг. Я понимаю, что в файле где я определяю моих функции для корректной работы мне не нужно повторно включать вектор с стринг. Но с точки зрения хорошего тона, или может быть какого-нибудь код конвешена нужно ли повторно включить их исключительно для ясности читающего?
1213 2219252
https://habr.com/ru/post/352570/
Наткнулся на эту статью. Это кликбейт? В C++ будут удалены указатели? Нахуя? Кому не надо их не используют, но если вдруг захотелось побайтойобить, то в чем проблема?
1214 2219254
>>219252
Я думаю, что дата 1 апреля говорит сама за себя и отвечает на твой вопрос.
1215 2219255
>>219252
Бля, первое апреля. Я уже охуел. Хорошая шутка
изображение2021-11-22000008.png163 Кб, 772x784
1216 2219256
1217 2219264
1218 2219278
Я хочу в базовом классе сделать функцию, которая будет возвращать указатель на тип класса. Мне ее делать виртуальной? Но у нее есть реализация. Или какой тип ставить? Вроде не могу просто сделать тип базового класса сделать.
Screenshot from 2021-11-22 16-28-23.png393 Кб, 1600x900
1219 2219519
1220 2219574
>>219519
https://gcc.godbolt.org/z/eEdGaWo8G
Достаточно оптимально?
1221 2219586
>>219574
Если матчей больше одного, оно должно возвращать тоже нулльопт
1222 2219588
>>219586
Причем после оптимизаций -- проходить только до второго матьча.
1223 2219596
>>219588
А, понял. Надо было мне повнимательнее читать. Ну, я думаю, компилятор сможет оптимизировать нормально, если ты просто условие поменяешь, типа
return std::ranges::size(matched) == 1 ? opt : nullopt;
В любом случае, такой вариант гораздо оптимальнее твоего, потому что новый список не создаёт.
1224 2219598
>>219588
А если ещё маленько подумать, то скорее всего не оптимизируется так, что идти будет до второго матча. Это можно провернуть, если руками напишешь что-то вроде std::views::filter, но скорее всего это перебор. Оставь так, чтобы читалось нормально, потом при необходимости наговнякаешь чего-нибудь.
1225 2219600
>>219598
Ну вот в этом и писечка, чтобы на уровне компилятора было разумное решение, и в стандарте.
1226 2219607
>>219600
О, я, кажется, придумал. Хорошо будет, если от matches откусить std::views::take(1), и потом проверить хвост на пустоту.
1227 2219610
>>219607
Чаепитие, густой волос, крепкий нефритовый стержень.
1228 2219613
>>219610
Да щас набросаю, падажжи.
1229 2219617
1230 2219618
>>219617
Оч похоже на правду.
Чаепитие -- двойное, с кошкодевочкой-офисменеджером.
1231 2219619
>>219618
Чаепитие с кошкодевочками -- это просто прекрасно.
Единственное, не знаю, откуда компилятор пойдёт считать !xs.empty(), с самого начала списка или ему чудом удастся переиспользовать x.empty(). Но, если это важно, я думаю, можно изъебнуться. Но мне уже лень.
1232 2219625
>>219619
Добавил ссылку на свой сайт:
http://movepoint.su/anekforhire/
1233 2219906
На всякий случай и тут спрошу, потому что С++ ближе к заводам и больше вероятность, что тут кто-то знает.
В общем, вдруг тут есть те кто разрабатывали скада-системы.
Поясните, вот на работе коллега старший говорит что для поддержания соединения с устройством - нужно на каждое устройство поток выделять.
Я - не занимался скадами, но не понимаю зачем. Разве нельзя это обычной асинхронщиной делать? Ну, типа устройства же не без остановки будут слать нам сообщения, будет какая-то IO-задержка связанная с сетью, так на кой хуй нам целый поток выделять, чтоб тот ждал пока к нему кто-то обратиться, если можно его переиспользовать для других задач.
Или я что-то не понимаю и я просто тупой?
1234 2219944
>>219906
Ну в целом да, на каждый клиент/устройство заводить поток не стоит. Достаточно одного (или пула из нескольких), который будет слушать порты и через future/promise/async выдавать результат в основной поток.
1235 2219945
>>157621 (OP)
Хочу в це++ вкатиться, чё надо для этого? Книги какие-нибудь, желательно курсы?
1236 2219948
>>219945
В шапку залез, книжки. В другом треде рекомендовали Стивена Прата. Достойный ли?
1237 2219949
>>219945

> Хочу в це++ вкатиться


Не пизди.
1238 2219950
>>219949
Хочу много зарабатывать чтобы ездить на машине и есть свои любимые макароны каждый день.
1239 2219972
>>219950
Удачи, анон. Я в тебя верю.
мимо устроился C++ разработчиком 5 месяцев назад и уже приобрел желтенький Москвич, а отказывать себе в любимой еде из-за денег и подавно не приходится
1240 2219974
>>219950

> макароны каждый день


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

>в рантайме


компайлтайме конечно же
quick fix
1242 2219999
>>219976

>он не занимается кодогенерацией в рантайме


Зря. Всякие Halide прикольные вещи делают.
1243 2220011
Для чего вообще нужно использовать ссылку, кроме как для возможности в функции изменять внешние передаваемые ей данные? В каких случаях она нужна?
1244 2220062
>>220011
Чтобы избежать дорогостоящего копирования передают const&. Это самое очевидное.
1245 2220111
>>219999
Я видел sljit в pcre. Как развидеть?
1246 2220149
>>219625

>English


>Fluent spoken and written technical


Анон, ты seriously?
1247 2220426
здарова анон
короче пилю курсач в унике: нужно из сырых картинок заебашить видос (кодировка h2640, в каждом кадре которого помимо самих картинок будут еще и данные (если говорить конкретнее - время кодирования). Сначала думал сделать это сырым ffmpeg-ом, но он такое не может. Сел за плюсовую libav - там, вроде, есть такая хуйня как AVPacket и вот в нем есть side_data. Казалось бы, проблема решена, но нихуя ничего в файл с видосом не записывается. Вопрос: был ли у кого-нибдуь подобный опыт или кто-нибудь хотя бы знает куда копать? А то почему-то в гугле с этим все архихуево - пару неотвеченных вопросов на стэк оверфлоу и 0 туториалов. Такое ощуещение, что я единственный в мире, кто решил в видос записать еще и данные к кадру
В общем, бомбит уже, спасибо
1248 2220428
>>220426
h2640 h264
Быстрофикс
1249 2220457
>>220426
Зачем их туда записывать? Тебе какие-то Hal данные нужны
1250 2220468
>>220457
мне нужно точно знать, когда кадр был закодирован.
Этот модуль будет частью еба боба системы видеоанализа ебал на росе, которую прошлые студенты написали. А рос, как я понял, так устроен, что он кидает по сокетам сообщения, в которых есть timestamp.
В данной реализации там кидается стандартное росовское сообщение: сырая картинка + стэмп. Прикол в том, что записывать сырые картинки дико разъебывает по размеру лог - у нас он вести порядка 100гб, хотя видоса секунд 20, что пиздецки
Ну и появилась идея все это кодировать в видос, чтобы весил меньше. Все идет окейно, но как записать timestamp в видос - мне не очень понятно.
точнее можно сделать отдельный стрим, там, либо записывать в отдельный файл. Но я не хочу ебаться с синхронизацией стримов, потому что вот, мне приходит сообщение, я его кодирую и хочу вот прям тут взять и записать время к кадру и заебашить его в файл.
Идейно вот зачем
Android NDK 1251 2220530
Сап сиплюсплюсач.
Хочу вкатиться в android NDK. Насколько похож на win32? Быстро разберусь, имея опыт в win32? Нужно ли джаву знать или можно чисто на С++ писать?
1252 2220550
>>220530

>Насколько похож на win32? Быстро разберусь, имея опыт в win32?


Перечел и понял, что хуйню сморозил. Хочу приложуху портировать на ведроид вот и все дело. Последний вопрос не отменяю.
1253 2220625
>>220468
Запиши как поток субтитров
1254 2220644
>>220625
поток субтитров - это отдельный поток. Есть функционал добавления именно к пакету - add_side_data . Но он нихуя не работает. Не пойму почему. Может эта side data вообще для чего-то другого?
1255 2221000
Какую хуетень сделать для портфолио? Идей вообще нет. Особо сложное не советуйте. Можно вместе с питоном
1256 2221002
>>221000
А ты в какую область собираешься идти?
Или похуй главное чтобы плюсы?
1257 2221014
>>221002
да впринципе не особо важно, только не сильно связанное с веб. Как опыт будет определюсь точнее
1258 2221020
Где про STL на русском можно почитать? зачем какой контейнер нужен и какие проблемы решает
sage 1259 2221025
>>221020
В любой книге про C++.
1260 2221061
>>221014
Иди в Java. Там денег больше платят - беспроигрышная мотивация. А с твоим "не знаю чего хочу" закатишься в НИИ или эмбед и там утонешь.
1261 2221119
>>221014
Тут важно понимать, что каждое из полей применения плюсов нуждается в своих знаниях. Не получится, как в питоне, знать scipy, pytorch/flask, django , чтобы покрыть 99 процентов ваканский
Я в плюсах около года и, насколько успел понять, остались они только в эмбедед, HFT, всякие деплои нейросеток (как правило, деплои сеток CV) и в некоторых проектах на них пишут критичные к скорости ядра. А ну и еще Яндекс на плюсах разрабатывает ВСЕ
Наверное, знания того, как работать с сетью + многопоточность и углубленное знание плюсов покроет процентов 60 вакансий, но есть вероятность, что другие 40 требуют совершенно иных знаний: opencv, pointcloud и тд
Бля пишу пьяный и сумбурно, сорян
Короче учи сети и углубляйся в плюсы, пока не понимаешь чего хочешь
Говоришь, что просил проект а не сферу знаний куда углубляться? Так вот проект не ебу
Торрент свой напиши, хуй его
1262 2221128
Так, раз уж пошла пьянка с проектами. Я сейчас работаю в CV, хочу перекатиться в HFT,тк есть интерес попробовать свои силы в другой сфере. Какой проект бы лучше сделать, чтобы техлид руку жал, на свое место звал а хрюша плакала от счастья увидев мой гит?
1263 2221292
После установки пакета vcpkg пишет, какие строчки он поддерживает из cmake. Как посмотреть эту информацию ещё раз?
1264 2221299
>>221061
Это конченный язык чтоб он сдох блять. Мне хватило его после майнкрафта.
После пары лет вката выкачусь и буду делать системы, эмуляторы ещё что посложнее, профит
1265 2221303
>>220149
rlyyea
1266 2221309
>>221292
Последний раз, когда это тыкал, команды для этого не было. Надо было ручками зайти в каталог vcpkg с этим пакетом, и там где-то сохранялся этот лог.
1267 2221548
>>221299
Ты тред то читал? На "системы, эмуляторы" и прочее обычно есть 2.5 вакансии по каждому направлению. Хорошее знание с++ там только 50% от условий для вката.
1268 2221553
>>221299
Если ты от жавы сгорел, то в плюсах тебе пизда
Ненависть к языку и средствам разработки тут это твое стандартное состояние
1269 2221730
Что за пиздец, как собрать простенький проект в GitHub actions? Он постоянно выдает всякие ошибки, которых нихуя нет в моей командной строке. Например Skipped Deploy Configuration Debug Any CPU project not selected to build, хотя я ему хоть как указывал и 64 бит, и Release, но ему похуй. На appveyour собирает из под пинка
1270 2222103
>>217375

>Они ебанулись давать с++ в 10 классе?


Двачую, полная деградация. Надо в плюсы вкатываться в 5м
1271 2222105
Есть ли какой-то способ распечатать pdf файл на локальном принтере с помощью qt c++ или просто c++?
Если есть можете пожалуйста подсказать.
1272 2222122
>>222103
Ну серьёзно. Я сейчас лекции для баколовриата от мужика из мфти слушаю. Там куча мест где можно прострелить себе колено.

И где ебучий перекат?
1273 2222475
>>221119

>Я в плюсах около года и, насколько успел понять, остались они только в эмбедед, HFT, всякие деплои нейросеток (как правило, деплои сеток CV) и в некоторых проектах на них пишут критичные к скорости ядра. А ну и еще Яндекс на плюсах разрабатывает ВСЕ



А игры? На чем игры-то делают? Я думал, учить плюсы с прицелом на игры, это самое оно.
1274 2222481
>>222475
Из конструкторов и блюпринтов ляпают, на unity + c#, на java под мобилки, на python пишут логику и только движки и критичные по производительности куски пилится на c++.
1275 2222485
>>222481
А как же Unreal Engine
1276 2222494
>>222481
Следует ли из этого, что на плюсах с вакансиями дела обстоят так себе, особенно для новичков?
1277 2222518
>>222494
Открой hh и введи там junior develoer. Сразу всё узнаешь - где сколько и почём.
1278 2222538
>>222518
Там в большинстве вакансий не указана зарплата, так ещё и охуевшие компании требуют высшую корочку, портфолио, и ещё дохуя чего, и это для начинающего разработчика
>>222494
Да, так себе
1279 2222543
>>222538
А по каким критериям тогда отбор вести? Кто первый прислал резюме, того и нанимаем?
1280 2222653
>>222475
да, забыл, соре
конечно и анриал
1281 2222845
>>222105
Кресты ничего не знают про принтеры, про них знает система. На Винде например типа этого https://stackoverflow.com/questions/33998227/print-a-pdf-file-with-mfc
1282 2223038
>>222845
спасибо за ответ
1283 2223168
>>217006

>Нвидия в Москве вообще как закрытый клуб. Мониторю их вакансии. Там их совсем немного всегда висит. Даже как-то сам резюме засылал их hr'у (далеко не на джунскую позицию). Вообще ничего не ответили, собаки.


Такого быть не может, у нас адовый пиздец с народом, и эйчары работают
1284 2223170
>>223168
8 вакансий на хэдхантере. Сравни, сколько у интела.
1285 2223171
>>223170
Вакансии надо на воркдее смотреть, и подаваться тоже на воркдее хотя на HH закинулся в свое время

https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/
1286 2223200
>>223171
Чайна, Чайна, сша, Индия, там вообще России нет
image.png150 Кб, 1214x1040
1287 2223428
>>223200
Когда ты не очень умный
1288 2223868
Есть абстрактный класс. Хочу создать вектор умных указателей на его наследников, чтобы потом в произвольные места можно было замувать объекты. Но я не могу просто взять и сделать вектор определенного размера, потому что компилятор ругается на то, что у класса не определен конструктор.
1289 2223869
>>223868
Я так понимаю дело в том, что вектор потом должен будет вызвать деструктор, но мне так делать не придется. Можно ли вектору запретить вызывать деструкторы?
1290 2223930
>>223868
.reserve()
1291 2224028
Где ещё поискать работу для джюниора кроме hh в Москве? Оправил 20 компаниям, никто чёт не пригласил пока
1292 2224044
>>223869
Это очень плохая идея. Потому как деструктор необходим для чистки твоей памяти которую зарезервировал конструктор. Более того, если хочешь наследоваться от абстрактного класса деструктор должен быть виртуальным. А иначе перед удалением указателя родителя, тебе нужно будет проверять и приводить каждый указатель к соответствующему классу.

Господа мы скоро получим срыв стека и UB. Думаю срочно нужно перекатываться.
1293 2224253
>>224028

>Где ещё поискать работу для джюниора кроме hh в Москве?


Напрямую подаваться в Яндекс, Хуавей, Самсунг, Интел, МЦСТ и прочие относительно крупные конторы, где нужен С++.
Если никто не ответит, ну или никто не возьмет джуном, то поздравляю, рыночек С++ для тебя будет закрыть, тогда смело начинай учить js/python/php
1294 2224401
>>224253
В Яндексе дохера вакансий, там же должны разные ХР сидеть, то есть есть смысл в несколько подавать?
Ещё есть стажёр с какими то непонятными пунктами, типа что вы изучали в институте, какие самые интересные ваши проекты, впринципе это и можно придумать, но там ещё и покажите портфолио, а с этим трудно
1295 2224627
Есть класс. Есть наследник этого класса. Хочу в базовом классе создать поле-указатель на наследника, но компилятор ругается, потому что наследник не определен.
1296 2224633
>>224627
Ты не можешь, можно только сделать указатель того же типа, что и базовый класс, ему присваивать адреса наследников.
1297 2224634
>>224627
Обязательно на наследника?
Если нет, то просто делаешь указатель на сам базовый класс

а вобще так делать лучше не стоит
1298 2224637
>>224634
>>224633
Нужно именно на наследника. Я не понимаю че ему не нравится. Создай указатель размером 8 байт, да потом уже смотри по определению че с ним делать.
изображение.png18 Кб, 884x241
1299 2224641
>>224627
Он вообще лютые ошибки пишет.
1300 2224644
>>224637
Ну тогда ты делаешь что то убер костыльное, соответственно и пользуйся анологичными вещами
Войд звёздочка ну или стд эни звёздочка
1301 2224646
>>224634
Может попробовать перед родительским классом написать
class b;

Но подумай тебе точно это надо?
1302 2224653
>>224646
Сработало. Спасибо.
>>224644
Ну зато снаружи все хорошо теперь будет выглядеть
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;
}
1304 2224690
>>224679
А забейте, всё работает
1305 2224713
Только подскажите istreamstring нормальный способ? std::stoi стоит использовать, остальное легаси хлам?
sage 1306 2224720
>>224713
Есть std::to_chars если ты об этом
https://en.cppreference.com/w/cpp/utility/to_chars
sage 1307 2224726
>>224713
>>224720
Ошибся. Тебе же наоборот нужно?
Есть и в другую сторону
https://en.cppreference.com/w/cpp/utility/from_chars
1308 2224729
Анонче, получилось уже модули потестить? На какой платформе?
gcc? clang? msvc?
1309 2224746
>>224729
В швятой штудии 22 поигрался немножко. Ну, работает, все охуенно.

Жду, пока решарпер под них допилят (Обещают в середине 22) и на работу все проекты перевезу на 22 студию, и будем новый код писать с модулями (и мб старый тоже, если будут большие бусты по времени компиляции).
1310 2224748
>>224746
Я так и не понял че там с 2022 студией? Она вышла? А то я инсталлер открыл, ниче нет. Или мне другой надо скачивать?
image.png62 Кб, 1290x720
1311 2224754
>>224748
Инсталлер 2022 скачивай
1312 2224757
>>224754
А имеет смысл вообще или нет? Есть там че то прикольное? А модули разве в 19 не завезут?
1313 2224758
>>224757
Модули в 19 - компилируются только из КОНСОЛЬКИ ручками с кучей багов. А тут полноценная поддержка в IDE в том числе.
1314 2224759
>>224758
Понял. Спасибо
1638135889560.jpg79 Кб, 615x472
1315 2224853
Анон, помоги с архитектурой
Предположим, есть яблоки, все нумерованы. Я яблоки всячески сортирую, что-то выкидываю, распихиваю в разные ведра, в шестом ведре яблоки помыл. А потом приходит Вася, ищет и откусывает яблоко четыре.

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

Может быть стоит использовать shared_ptr? У меня с ним опыта мало, плохо чувствую его работу.
1316 2224868
>>224853
я нихуя не понял
1317 2224880
>>224853
Какие яблоки? Ты ебанутый. Нормально задачу сформулируй
1318 2224900
>>224729
Что ещё за модули?
1319 2224910
>>224868
>>224880
Студенты?
1320 2224912
>>224910
Шизоид?
image.png10 Кб, 384x327
1322 2225305
Требуется построить матрицу 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;
}
1323 2225381
>>224401

>В Яндексе дохера вакансий, там же должны разные ХР сидеть, то есть есть смысл в несколько подавать?



В яшке вакансий не так уж и много для джунов-стажеров, попробуй податься к ним на стажку, а дальше у тебя будет несколько алгоинтервью, после чего интервью с командами, может и возьмут куда.
1324 2235611
Как самоучке на РАБоту устроиться? Вышки нет, но опыт охуеть. Знаю ассемблер х86 и х64
1325 2241541
почему устанавливать либы - это обязательно ручная жопаболь с настройкой компилятора?
где рабочие аналоги пипа и градла?
1326 2248140
Лаба горит. Помогите, пожалуйста. Вот задание. Создать два класса: матрица (int ) и координаты (две пары
чисел). Описать функцию, которая меняет местами два
элемента, положение которых задается координатами во
втором классе, как дружественную. Предусмотреть проверку
соответствия координат и размерности матрицы. Вот тут мои наработки: https://pastebin.com/BiaczWFK
1327 2298335
>>241541
Смотри в сторону vcpkg
1328 2317636
Что, плюсы придумали хорошо аль нет?
Инвестиции в фундаментальные разработки кто-то пробовал вести?
100 человекочасов Анеку доверите?
1329 2326458
std::schema std::disklog std::floppa
Тред утонул или удален.
Это копия, сохраненная 22 апреля 2022 года.

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

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