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


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

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

C++ №96 /cpp/ /cpp/ Аноним # OP 23/10/19 Срд 22:40:05 15034201
image.png (624Кб, 1920x862)
1920x862
image.png (62Кб, 760x466)
760x466
image.png (172Кб, 500x496)
500x496
Аноним # OP 23/10/19 Срд 22:42:25 15034232
Проплаченный.
23/10/19 Срд 22:43:41 15034243
Аноним 23/10/19 Срд 22:51:09 15034304
Сипипи ван лав
Плюсач, кроме самого языка который хуй выучишь от корки до корки, ну да ладно что необходимо знать, чтобы приняли на работу разрабом? Джуном пока офк (учусь пока в институте). Нужно обязательно знать буст? Слышал, что в индустрии кресты без буста не юзают почти, хз правда ли
С точным направлением пока не определился, но подумываю о сетевом направлении (распределенные системы, разработка протоколов, прокси и т.п.)
Аноним 23/10/19 Срд 22:55:28 15034345
>>1503430
>распределенные системы, разработка протоколов, прокси
o_О
какие запросы у студентика!

Аноним 23/10/19 Срд 23:48:10 15034776
>>1503434
Вчера студентик собирался писать низкоуровневый сниффер с перехватом и модификацией пакетов. Мне бы такие амбиции.
Аноним 23/10/19 Срд 23:53:44 15034837
>>1503430
>Сипипи ван лав
Скоро передумаешь.
>Слышал, что в индустрии кресты без буста не юзают почти, хз правда ли
Да нет, почти у всех свои велосипеды (по крайней мере в больших компаниях), лол. Разве что говеный asio почему-то популярен и всякие костыли для старых плюсов вроде плейсхолдеров.
>Нужно обязательно знать буст?
В вакансиях смотри, у всех своё легасиговно, это же не джава где есть спринг и всё.
Аноним 24/10/19 Чтв 00:09:13 15034898
>>1503483
> Скоро передумаешь.
Ну хз, уже почти год (был перерыв посередине, но все же) учу плюсы, писал уже вещи посложнее хэллоуворлда, но и пока не ебейший софт офк. Мне норм. Джаву пробовал учить - не зашла, говно какое-то из-под коня, имхо.
> Почему говеный?
Аноним 24/10/19 Чтв 00:10:22 15034909
>>1503483
>Разве что говеный asio
Почему говеный?
Аноним 24/10/19 Чтв 00:19:32 150349410
>>1503489
>говно какое-то из-под коня
Ну она и есть говно из под коня, тебе не показалось. Плюсы правда тоже, позже поймёшь.
>>1503490
>Почему говеный?
Потому что а) его апи неудобное и переусложнённое говно; б) сосёт хуй по производительности у всего, чего можно.
Аноним 24/10/19 Чтв 00:28:50 150350111
>>1503494
А сам на чем пишешь? Просто есть тенденция доебываться до всех языков, но на практике в итоге самые обсераемые языки и юзают. Тот же пример джавы и макакаскрипта, лол.

>Потому что а) его апи неудобное и переусложнённое говно; б) сосёт хуй по производительности у всего, чего можно.
А какой сетевой API тогда юзать на плюсах? Qt Network? Poco? Я удивлен, кстати, почему Qt менее популярен, чем буст. Как по мне, фреймворк пиздец какой сильный, и документирован гораздо лучше буста хотя мб я просто нихуя не понимаю и вообще долбоеб
Аноним 24/10/19 Чтв 00:32:12 150350312
>>1503501
Собстно главная проблема qt в том, что это фреймворк. А буст - лишь набор библиотек. Если тебе нужна только сеть - то тащить QT это пиздец.
Аноним 24/10/19 Чтв 00:34:30 150350513
>>1503503
Ну, там гуи еще прикрутить... Для одного проекта, другой будет в терминале.
Аноним 24/10/19 Чтв 00:35:31 150350614
>>1503505
Если у тебя гуи уже есть на кутях - то как раз, тогда буст смысла нет юзать.
Аноним 24/10/19 Чтв 00:37:46 150350715
>>1503506
Привязывать функциональность к гую моветон.
Самый главный вопрос в том а нахуя тебе вообще сеть и с++. Для задач с++ как правило синхронного апи достаточно.
мимо
Аноним 24/10/19 Чтв 00:40:41 150351016
>>1503507
Один из проектов - простой мессенджер с прикрученной OpenSSL либой, чтобы совсем уже ламерским не был. Не хотелось бы его писать без гуи, хз.
Есть еще другой проект, его буду делать без гуи
Аноним 24/10/19 Чтв 00:47:16 150351417
>>1503501
>но на практике в итоге самые обсераемые языки и юзают.
Я же говорю — попишешь на них пару лет и тоже будешь считать говном, очевидно что я на них пишу. Но по фатку — они ебать говно. Просто все умудряются делать альтернативы еще хуже, лол.
>Как по мне, фреймворк пиздец какой сильный
Потому и не юзают — придется тащить такую кучу говна в проект что ты ахуеешь.
А еще он под лгпл растпространяется, и это рак.
>А какой сетевой API тогда юзать на плюсах?
https://github.com/microsoft/cpprestsdk
https://github.com/facebook/wangle
Да хоть свою обвязку над какой нибудь libuv напиши, даже это лучше будет.
Аноним 24/10/19 Чтв 00:52:49 150351818
Screenshot20191[...].jpg (133Кб, 720x1480)
720x1480
Аноним 24/10/19 Чтв 00:56:29 150352119
>>1503514
Потрясно. В моих краях много вакансий на плюсы, но яхз что учить чтобы быть хоть минимально востребованным джуном. В описаниях вакансий расплывчато мямлят, часто требования к скиллам в мультитрединге, но больше никаких подробностей.
Аноним 24/10/19 Чтв 00:58:30 150352220
>>1503518
Это нормальная ситуация в мастере, для того релизы и лежат отдельно.
Аноним 24/10/19 Чтв 01:05:32 150352521
>>1503521
>но яхз что учить чтобы быть хоть минимально востребованным джуном
Если это ебеня — то можешь смело C++Builder 98 учить, лол.
Если это мааасква или просто предприятия делают что-то про графику/какие нибудь вычисления хуйнии — то там нужно знать что нибудь про математику и иметь какую-то базу в плюсах.

Короче, пока не сходишь на собеседование — не узнаешь. Первые пару раз энивэй обосрёшься.
Аноним 24/10/19 Чтв 01:12:41 150352822
Аноним 24/10/19 Чтв 01:16:41 150353023
>>1503525
Я не живу в стране СНГ. Здесь плюсы и для блокчейнов юзают, например. Ну и для автономных машин, всякого йоба-имбэддэда, распределенных систем и т.п.
Аноним 24/10/19 Чтв 01:21:50 150353324
>>1503503
Ниасилил кастомную сборку Qt?
Аноним 24/10/19 Чтв 01:25:22 150353625
>>1503533
Я вообще не очень люблю qt, потому-что это диалект, и, когда пердолил их, использовал verdigris. Но это была хорошая попытка самоутвердиться на дваче.
Аноним 24/10/19 Чтв 01:33:40 150353926
>>1503536
Какой диалект? Это просто набор классов. Вот буст - это больше похоже на диалект, особенно древний код, пестрящий макросами из буста.
Аноним 24/10/19 Чтв 01:34:57 150354027
Аноним 24/10/19 Чтв 01:35:24 150354128
Аноним 24/10/19 Чтв 01:39:49 150354329
>>1503530
Это всё даже в снг есть, но тебе уже писали, что в эти области без опыта не попасть, про то и речь. Если ты конечно не заканчиваешь какой нибудь вузик лиги плюща. Разве что в йоба эмбеддед уровня магнитол на Qt, лол.

Алсо, буста в этих областях точно нигде нет. Правда, для типичной работёнки, куда возьмут без опыта скорее всего будет нужен, так что придётся пострадать.
Аноним 24/10/19 Чтв 01:40:08 150354430
>>1503540
Если рефлексия не нужна, в чем проблема
Аноним 24/10/19 Чтв 01:41:44 150354531
>>1503533
Кастомная сборка настолько панацея без кучи зависимостей каждой библиотеки от кучи других, что уже не первый год почему-то мутят Qt lite.
Аноним 24/10/19 Чтв 01:43:57 150354732
>>1503544
а сигналы как сгенерируешь?
Аноним 24/10/19 Чтв 01:56:44 150354833
Аноним 24/10/19 Чтв 08:59:35 150361134
image.jpg (23Кб, 500x283)
500x283
Аноны, помогите. В первый раз создал репозиторий на гитхабе, чтобы загрузить свой проект, но в итоге криво сделал и решил удалить репозиторий, как вернулся увидел, что пропал Main.cpp. Репозитория уже нет, программы для восстановления удалённых файлов не помогли. Что делать? У меня есть exe разных версий + ilk + pdb, sln. Осталась папка .git. Я могу как-то восстановить свой cpp?
Аноним 24/10/19 Чтв 11:59:56 150371635
>>1503611
Пофиксил через откат по хешу комита
Аноним 24/10/19 Чтв 14:10:28 150378036
>>1503430
Надо знать как работать с гитом, основные приемы, по крайней мере. Структуры данных/ алгоритмы пусть на самом простом уровне.(в идеале написать свой вектор, стек, очередь, чтобы знать что там и куда) Но это в принципе для любого языка нужно, разумеется.

>>1503501
Ну так напиши на WinSock (сокетам беркли если красноглазый) и все.
Там не особо много придется мучиться.
Аноним 24/10/19 Чтв 14:12:30 150378137
>>1503780
Вендоблядок, тебя стало слишком много
Аноним 24/10/19 Чтв 14:13:20 150378338
>>1503781
Это вас стало слишком мало.
Аноним 24/10/19 Чтв 14:16:31 150378839
>>1503781
Сейчас бы гореть с того, что линуксоидов любя зовут красногоазыми, мде.
Я точно не тот кто то местный на кого ты подумал, но вообще да, я на венде работаю, потому что не было причин перекатываться на Линукс, давайте не устраивать тут подобные срачи.
Аноним 24/10/19 Чтв 14:29:31 150380240
Что я делаю не так?
{&i-numbers.begin(),&b-numbers.begin()}
Надо вывести позиции элементов i и b в векторе.
Сами элементы получаются вот так
for(const int& i:numbers)
for(const int& b:numbers)
Аноним 24/10/19 Чтв 14:32:50 150380741
>>1503514
> А еще он под лгпл растпространяется, и это рак.
Чаю, только гпл3
Аноним 24/10/19 Чтв 14:33:49 150380842
>>1503788
>вообще да, я на венде работаю, потому что не было причин перекатываться на Линукс
Ну и молчи в тряпочку, ущербный, этот тред дети читают
Аноним 24/10/19 Чтв 14:34:33 150381043
>>1503780
>вектор, стек, очередь
Это несерьезно. Ладно там AVL дерево или реализация графа с большим количеством алгоритмов, а это хэллоуворлды, нужен софт посерьезнее.

> сокетам беркли если красноглазый
Выходит громоздко и некроссплатформенно (только если не выдумывать костыли), да и гуй хочу к нему прикрутить, чтобы норм смотрелось.
Аноним 24/10/19 Чтв 14:38:17 150381544
>>1503810
>Ладно там AVL дерево или реализация графа с большим количеством алгоритмов, а это хэллоуворлды, нужен софт посерьезнее.
С софтом посерьезнее ты станешь оверквалифаед для джуна и попадешь в неприятную ситуацию, когда ты на 50% мидл, а на 50% криворукий хуй, не могущий тикет в трекере заполнить.
Не откладывай поиск работы, после устройства ты откроешь много нового, например то, что велосипедостроение библиотек на графах не является чем-то хорошим и продвинутым.
Аноним 24/10/19 Чтв 14:39:50 150381845
>>1503802
В прочем написали {&i-&numbers[0],&b-&numbers[0]} и всё заработало. Странно, учитывая что &numbers[0] и umbers.begin() должно быть одним и тем же по сути, или я не прав?
Аноним 24/10/19 Чтв 14:42:18 150382046
>>1503802
Блядь, напиши через итераторы и std::distance, зачем это говно костылировать?
24/10/19 Чтв 14:42:53 150382247
>>1503815
Ощущение что джуны это люди которые знают что такое С++ и иногда им пользуются, почему такие низкие требования? От джунов вообще ничего не ждут чтоль?
Аноним 24/10/19 Чтв 14:47:56 150382548
>>1503820
Я уже накостылил. По мне так вышло вполне симпатично
std::pair<std::size_t, std::size_t> two_sum(const std::vector<int>& numbers, int target) {
for(const int& i:numbers)
for(const int& b:numbers)
if(&i < &b && i+b==target)
return {&i-&numbers[0],&b-&numbers[0]};
}
Аноним 24/10/19 Чтв 14:55:23 150383449
>>1503825
А теперь замени вектор на какой-нибудь другой контейнер, который не хранит данные последовательно или хранит данные разного размера.
И вообще, арифметика указателей - это плохо
Аноним 24/10/19 Чтв 14:59:31 150384150
>>1503822
С чего ты взял, что они низкие? Если я буду брать джуна, мне будет намного интереснее, как он работает с существующими либами (насколько быстро может выбрать нужную, въехать), чем то, может ли он написать 1000 имплементацию алгоритма из учебника Кормена. Лично я нашел первую работу, показав 1 коммит строчек на 100 в не очень популярный опенсорсный компилятор.
А за 10 лет коммерческой разработки с графами я не работал вообще ни разу.
Естественно с подобными скиллами ты работу найдешь, но на самом деле ты слишком жестко к себе относишься.
Аноним 24/10/19 Чтв 15:12:29 150384951
>>1503815
>велосипедостроение библиотек на графах не является чем-то хорошим и продвинутым.
Я это прекрасно понимаю и именно по этой причине я хочу написать софтину с испольхованием Qt или Boost, это даст мне гораздо больше, чем писать имплементации структур данных
Аноним 24/10/19 Чтв 15:21:27 150385252
>>1503841
И какие самые такие важные и часто используемые библиотеки какие ты бы спросил?
Аноним 24/10/19 Чтв 15:22:23 150385453
Ку, плюсач.
Что в крестах нужно знать наизусть? Чтобы от зубов отскакивало, без гуглежа. Весь STL? Какие-то критически важные фичи из 11/17 стандартов?
Аноним 24/10/19 Чтв 15:25:41 150385554
Аноним 24/10/19 Чтв 15:27:11 150385755
Какова рационализация использования такого финта ушами:

//Код
switch(0) {default: {
//Код
}}
//Код
Аноним 24/10/19 Чтв 15:46:31 150386256
>>1503849
1) Составляешь список возможных библиотек
2) Смотришь по какой больше всех вопросов на стековерфлоу
3) Юзаешь её!
Аноним 24/10/19 Чтв 15:53:29 150386657
>>1503857
Получишь больше денег (если ты индус с построчной оплатой).
Аноним 24/10/19 Чтв 17:09:32 150389358
Сап плюсач
Я иду на конфу с первого пикрила >>1503420 (OP)
Аноним 24/10/19 Чтв 17:10:57 150389559
Аноним 24/10/19 Чтв 17:14:39 150390160
std::remove_copy(text.begin(),text.end(),std::back_inserter(t),[](char c){return c!='-' && c!='_';});
Выдает километровую ошибку. text, t - строки
Аноним 24/10/19 Чтв 17:27:28 150391161
2019-10-24-1726[...].png (66Кб, 946x363)
946x363
>>1503893
Блядь, вопрос-то не написал

А вопрос вот какой:
У меня есть указатель на байты и количество байтов
Как мне с такими нехитрыми входными данными преобразовать байты в cpp-шные классы?
Допустим, вот что есть на входе:
02 05 01 00 03 31 32 33 04 01 00 DE AD BE EF

По порядку:
02 - количество пакетов
05 - тип первого пакета(сообщение из чата например)
01 00 - id отправителя строки
03 - длина строки
31 32 33 - сама строка(123)
04 - тип второго пакета(какие-нибудь координаты)
01 00 - id того, кому принадлежат координаты
DE AD - координата X
BE EF - координата Y

В коде у меня есть типы message_chat_t и message_coords_t

Как создавать объекты, имея эти данные, чтобы сохранялась масштабируемость? Подозреваю что нужна какая-то фабрика, может быть даже абстрактная.

Сейчас я делаю это вот таким монстром, выглядит отвратительно. Хочу как-нибудь через шаблоны. Подскажите, в общем.
24/10/19 Чтв 17:47:42 150392362
>>1503901
ты хотел remove_copy_if очевидно
Аноним 24/10/19 Чтв 18:07:06 150393363
>>1503923
Да, я уже понял. Почти 40 минут ебался. Хоспаде, что мешало это говно перегрузить. И как же хочется нормальные сообщения об ошибках.
Аноним 24/10/19 Чтв 18:08:02 150393664
>>1503933
> что мешало это говно перегрузить.
Так не принято
Аноним 24/10/19 Чтв 19:09:29 150397065
Кто нибудь писал короутины? Имплементация должна вся лежать в хидере или можно в cpp писать?
Аноним 24/10/19 Чтв 19:14:51 150397766
5e1138e6df26.jpg (106Кб, 900x755)
900x755
Аноним 24/10/19 Чтв 19:21:19 150397867
Аноним 24/10/19 Чтв 19:24:31 150398068
>>1503978
Поясните для ньфага в двух словах, что там происходит
Аноним 24/10/19 Чтв 19:25:29 150398169
Аноним 24/10/19 Чтв 19:26:18 150398370
>>1503980
Шизик доказывает, что неведомая хуйня это нормально
Аноним 24/10/19 Чтв 19:30:33 150398671
> В глобальном неймспейсе (но не в глобальной области видимости
Что это значит?
24/10/19 Чтв 19:51:23 150399672
>>1503911
>чтобы сохранялась масштабируемость
Если бинарное представление определяешь ты, то можно библиотеки де/сериализации, типа протобуфа. Хотя если вариантов данных мало можно и самому набайтоебить.
Аноним 24/10/19 Чтв 19:57:58 150400273
>>1503996
А без протобуфа никак?
Аноним 24/10/19 Чтв 20:02:39 150400574
>>1504002
Лучше без этой параши. Это блядь худшая библиотека в мире, еще и с кучей бинарно несовместимого говна
Аноним 24/10/19 Чтв 20:04:47 150400775
>>1504005
Ну вот я и интересуюсь, как мне это сделать. Это же весьма распространённая задача, я уверен.
Аноним 24/10/19 Чтв 20:15:00 150401276
>>1503911
Это бинарный парсер. Если писать с нуля, набор функций
int read_int(stream) {...}
float read_float(stream){...}
vector<int> read_int_array(stream) {
int length = read_int();
for (length) {
yoba.push_back(read_int());
}
}
Дальше пишешь функцию read_class, который распарсит поток и создаст класс.

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

std::istream& operator >>(std::istream &is, vector<paket>& pakety)
{
int kolvo_paketov;
is >> kolvo_paketov;
while (is-- > 0) {
paket novy_paket;
is >> novy_paket;
pakety.push_back(novy_paket);
}
return is;
}

std::istream& operator >>(std::istream &is, paket& pakety) {
int tip_paketa;
is >> tip_paketa;
//вместо свитча можно использовать всякую виртуальную поебень, но зачем
switch (tip_paketa) {
case 01: //парсим первый тип, и так далее
}
}

А так есть хуйни типа протобуфа, которые по декларативному описанию сгенерят подобный код. Но сам протобуф не рекомендую. Вроде у фейсбука было че получше.
Аноним 24/10/19 Чтв 20:16:03 150401577
1504488399982.PNG (5Кб, 502x161)
502x161
Пытаюсь отправить указатель в сигнале. Раньше вроде бы получалось, но сейчас программа почему то крашится. Крашится именно на моменте эмитирования сигнала.
Эмит прописан так:
emit pointAdded((Point*)scene->items().first());
Что я делаю не так?
Попробовал через точку останова влезть внутрь метода Qt и внутри пройтись, получил сообщение об ошибке, на пикче.
Аноним 24/10/19 Чтв 20:20:57 150402278
2019-10-24-2016[...].png (48Кб, 503x515)
503x515
2019-10-24-2019[...].png (35Кб, 802x230)
802x230
>>1504012
Парсер у меня уже есть. Вот с таким интерфейсом(пик1). Проблема начинается на сопоставлении айдишника и cpp-шного типа.

> switch (tip_paketa) {
Неудобно, т.к. при добавлении нового пакета хуй пойми куда надо залезать и править этот код. Мне нужна масштабируемость.

Из говна и палок я уже всё сделал. Работает это всё на пик2. Сами макросы вот тут >>1503911
Я хочу без макросов.
Аноним 24/10/19 Чтв 20:24:27 150402479
>>1504015
Используй буст. Нахуй тебе Qt?
24/10/19 Чтв 20:27:45 150402880
>>1504015
А мы типа телепаты и знаем что у тебя в контейнере и на что законекчен сигнал.
Аноним 24/10/19 Чтв 20:30:37 150402981
>>1504028
Контейнер - это контейнер items из QGraphicsScene. В нем находятся QGraphicItem-ы. Point - это наследник класса QGraphicItem.
> на что законекчен сигнал
А слот же тут не важен, т.к. ошибка вылезает еще до отправки сигнала.
Аноним 24/10/19 Чтв 20:31:18 150403182
>>1504024
Что за буст? Боюсь, мне придется тратить кучу времени, чтобы его изучить, вместо того, чтобы заниматься делом.
Аноним 24/10/19 Чтв 20:32:03 150403283
>>1504031
Ловите ньюфага!

Буст - это dev ветка либы stl, грубо говоря.
Аноним 24/10/19 Чтв 20:38:48 150403484
>>1504022
>Неудобно, т.к. при добавлении нового пакета хуй пойми куда надо залезать и править этот код
На самом деле это максимально удобно: код парсера у тебя в одном месте, а не размазан тонким слоем говна по всему проекту. Захочешь задокументировать протокол - вон он, пожалуйста. А ты оверинженеришь. Эти макросы - это вообще пиздец.

Ну а так если, допустим, у тебя есть интерфейс IMessage и куча потомков от него, то достаточно создать
std::map<int, std::function<IPacket()>> вместо свича. Если ты не любишь интерфейсы, можно использовать std::variant с той же целью.

Далее остается наполнить мапу функцией типа register_message(int, std::function<IPacket()>).
Желательно правда заменить ридера на ридера/райтера, но это уже такое.
Аноним 24/10/19 Чтв 20:49:04 150404285
>>1503970
Компилятор не компилирует заголовки, конечно можно
Аноним 24/10/19 Чтв 20:51:40 150404486
>>1504015
Дружочек, как можно скорее осваивай дебаггер, ставь бряк и иди по строчкам
Аноним 24/10/19 Чтв 20:57:00 150405187
>>1504044
Чел, дебаггер не помог никак. Все, что он выдал - это сообщение на пикче выше.
Но я уже разобрался в проблеме. Оказалось, что это все таки на стадии коннекта со слотом, хотя я думал, что на стадии эмитирования сигнала.
Спс.
Аноним 24/10/19 Чтв 21:01:01 150405388
>>1503911
>Подозреваю что нужна какая-то фабрика, может быть даже абстрактная.
Ну да, она получает на вход тип пакета и выдает подфабрику/стратегию для этого пакета, которая считывает сколько ей надо данных и строит объекты или чего там тебе надо делает.
Аноним 24/10/19 Чтв 21:04:00 150405489
38141843.jpg (141Кб, 1080x1080)
1080x1080
Зашёл посмотреть, как выглядит с++ в 2019, а тут такое
>>1504012
>pakety.push_back(novy_paket);
Аноним 24/10/19 Чтв 21:05:08 150405690
>>1504022
Ты про шаблоны не слышал? Говорят крутая вещь.
Аноним 24/10/19 Чтв 21:07:00 150405891
>>1504034
Может вместо лямбд лучше хранить интерфейсы?
Аноним 24/10/19 Чтв 21:08:35 150405992
>>1504056
Слышал, но не знаю как их тут применить
Аноним 24/10/19 Чтв 21:13:08 150406293
>>1504054
Мне больше нравится
> while (is-- > 0) {
Аноним 24/10/19 Чтв 21:18:07 150406694
>>1504058
Вместо лямбд можно хранить абстрактные фабрики, прости господи
Аноним 24/10/19 Чтв 21:22:15 150407195
>>1503978
Багоры говнокомпиляторов. У MSVC бояр такой хуйни нет.
Аноним 24/10/19 Чтв 21:23:43 150407496
Аноним 24/10/19 Чтв 21:42:36 150409897
>>1503911
если бинарный протокол нормально спроектирован, то его пакеты должны ложится на пожатые структурки вооб ще то
далается это специально для того чтобы ничего не надо было парсить или там считывать, а сразу накладывать структурки на кусок памяти в котором лежит собственно этот байтовый массив (в независимости от того прилетел ли он по сети, или взят с дисковой подсистемы)

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

если проще, в терминологии "мы вам перезвоним треда" ты обычный жулик
Аноним 24/10/19 Чтв 21:53:59 150410998
>>1504098
>накладывать структурки на кусок памяти
BIG ENDIAN
@
LITTLE ENDIAN
24/10/19 Чтв 22:10:05 150412899
>>1504098
Ага, а потом надо оказывается передавать строки переменной длины, в пакетах есть необязательные параметры, нужна обратная совместимость, и ты в жопе.
Аноним 24/10/19 Чтв 22:11:41 1504131100
>>1504109
это не такая проблема как ты себе представляешь
сетевой порядок байтов в правильных протоколах всегда big endian
они все тагже считываются
а если есть необходимость (для платформы с little endian), что прямо в числе уже свопаются через специальные функциий типа из posix - htonl(), тем более эти функции используют зачастую специальные инструкции процессора (на x86-64) они есть

Аноним 24/10/19 Чтв 22:14:43 1504135101
>>1504131
Правильные сетевые протоколы являются текстовыми, тупая ты мелкобуква
Аноним 24/10/19 Чтв 22:21:23 1504142102
>>1504051
Значит ты не так им пользовался. Опиши свои действия
Аноним 24/10/19 Чтв 22:22:26 1504144103
>>1504128
еще и сажу влепил, ай лолд
ты накладываешь структурки на постоянные части пакета только
а переменные части пакета (типа строки) представляются как все те же указатели на начало переменной части и их длина
а вообще пакет у тебя будет представлен структурой, которая состоит из указателей на структуры постоянной части, указателей на переменные части пакета, пустых указателей на необязательные параметры если их нет и все такое...

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


Аноним 24/10/19 Чтв 22:23:15 1504146104
>>1504135
иногда, мой дорогой, скорость таки важна
даже в 2к19


Аноним 24/10/19 Чтв 22:24:58 1504148105
бля, да просто откройте реализацию tcp/ip стека в том же freebsd..

Аноним 24/10/19 Чтв 22:28:11 1504151106
>>1504148
При чем тут протоколы прикладного уровня?
Аноним 24/10/19 Чтв 22:33:06 1504158107
>>1504151
> TCP/IP
> прикладной уровень
Ясно.
Аноним 24/10/19 Чтв 22:39:47 1504166108
>>1504158
У >>1504022 прикладной уровень, аутист ты ебаный
Аноним 24/10/19 Чтв 22:44:29 1504168109
>>1504151
при том что они бинарные

Аноним 24/10/19 Чтв 22:56:48 1504174110
int x {}; <- что за хуйня и кто так декларирует переменные в плюсах и с каких пор?
Аноним 24/10/19 Чтв 23:00:55 1504178111
>>1504174
о, недавно с криосна?
Аноним 24/10/19 Чтв 23:31:56 1504191112
>>1504178
Да, меня учили старому стандарту языка, сейчас самостоятельно вернулся к плюсам и вижу эту хуйню. Вас ис дас? Типа обнуляет, вместо того, чтобы хранить мусор в неинициализированной переменной? Но мой g++ и так автоматически помещает 0 в неинициализированную переменную, а не мусор, как это было ранее или в си. В чем прикол тогда?
Аноним 24/10/19 Чтв 23:39:58 1504194113
>>1504191
>мой g++ и так автоматически помещает 0 в неинициализированную переменную
Дед, ты че буянишь, опять нахуярился?
Аноним 24/10/19 Чтв 23:41:10 1504196114
>>1504191
>g++ и так автоматически помещает 0 в неинициализированную переменную
В дебаге
Аноним 24/10/19 Чтв 23:46:35 1504198115
>>1504191
И эти скобки в языке уже лет 15, тебя вообще говну трилобитов видимо учили
Аноним 24/10/19 Чтв 23:48:36 1504202116
Насколько важен Гитхаб при устройстве на работу крестовиком? Стоит сделать там парочку небольших проектов?
Аноним 25/10/19 Птн 00:25:23 1504225117
>>1504144
Такой оверинжиниринг до добра не доведёт. Объекты и так весьма быстро парсятся, без таких велосипедов которые больше отнимут чем дадут.

> если проще, в терминологии "мы вам перезвоним треда" ты обычный жулик
чего бля
Аноним 25/10/19 Птн 00:41:30 1504230118
>>1504225
хех
очевидно же что если это бинарный протокол, то работать с ним нужно максимально быстро
а это значит не гонять данные туда-сюда по памяти..
так чтож это не какой ни оверинжиниринг
Аноним 25/10/19 Птн 01:00:04 1504231119
Начиная с С++17, принято инициализировать константы сочетанием inline constexpr (да, я знаю, что констэкспр юзается тогда, когда константа инициализируется литералом, а не переменной), до этого это было просто constexpr. В чем прикол?
Аноним 25/10/19 Птн 01:11:41 1504235120
>>1504231
Теперь линкер не будет выёбываться на копии этой константы в нескольких TU
Аноним 25/10/19 Птн 01:17:59 1504236121
>>1504230
Flatbuffers vs protobuf. Protobuf круче, если что. Учитывая, что все нормальные люди будут данные сжимать, как ебанного шакала (а затем и шифровать), то твой лохопердолинг для экономии тактов проца нахуй не нужен. Ты походу забыл, что узкое место ващет I/O, а не проц.
Аноним 25/10/19 Птн 01:24:39 1504240122
>>1503911
С какими же уебанами приходилось работать, когда писал на плюсах. Вот такое говно пишет каждый второй. Натурально, в каждом коммерческом проекте свой вариант сериализации, часто даже не один. У вас в жопе чешется не взять эталонный protobuf, а написать свой, родной сериализатор? А потом уволиться и заставить страдать следующего бедолагу, который прийдет это говно саппортить.
Аноним 25/10/19 Птн 01:32:36 1504246123
>>1504230
Я использую бинарный протокол лишь для того, чтобы уменьшить размер пакета. Быстродействие меня устраивает, байты читаются и так весьма быстро.
Аноним 25/10/19 Птн 01:33:11 1504247124
>>1504236
Есть ненормальные, которым latency важнее чем throughput при потоке в пару гбит/сек

мимосижурядомсhftшниками
Аноним 25/10/19 Птн 01:34:15 1504248125
>>1504240
Ну, просто это первое, что приходит на ум. Сделаю через std::map<int, builder> - станет заебись же. А протобуф говорят лютейшая ебанина.
Аноним 25/10/19 Птн 01:35:39 1504249126
>>1504240
если у тебя есть яйца, выкидиваешь предыдущий код на помоечку, пишешь свой
Аноним 25/10/19 Птн 01:46:55 1504253127
>>1504248
Неквалифицированные уебаны тебе это говорят. protobuf - прекрасный, качественный, быстрый инструмент. Все его используют, потому что он просто охуенно сбалансированный и идеально подходит под прикладные задачи.

>>1504247
Ну разве что. Хотя вопрос открытый - что лучше: в два раза быстрее передать и в два раза медленнее декодировать или наоборот. Хоть у тебя там и несколько гигабит канал связи, а ram в приличных современных серверах 40+ Гигабит/с. Чего уж говорить про кеши проца.
Аноним 25/10/19 Птн 02:33:06 1504263128
>>1504253
протобуфы в оригинальном гугловском варианте - полное говно. А вот Capn Proto, и прочие вариации - уже сильно лучше
Аноним 25/10/19 Птн 02:50:29 1504269129
>>1504253
А можно читать протобуф в браузерном джсе?
Аноним 25/10/19 Птн 05:34:31 1504278130
>>1504263
Обоснуй, маня.

>>1504269
Конечно епта, там полноценный grpc есть
Аноним 25/10/19 Птн 05:45:13 1504280131
Как это работает https://ideone.com/Qv7ywL
Sheldon, Leonard, Penny, Rajesh and Howard are in the queue for a "Double Cola" drink vending machine; there are no other people in the queue. The first one in the queue (Sheldon) buys a can, drinks it and doubles! The resulting two Sheldons go to the end of the queue. Then the next in the queue (Leonard) buys a can, drinks it and gets to the end of the queue as two Leonards, and so on.
Write a program that will return the name of the person who will drink the n-th cola.
Аноним 25/10/19 Птн 10:22:53 1504325132
>>1504042
Ага, а то насколько я знаю он по разному код генерит если сразу видит возвращаемые значения для некоторых методов.
Аноним 25/10/19 Птн 10:56:31 1504341133
Шаблоны генерит компилятор, или препроцессор?
Аноним 25/10/19 Птн 11:07:36 1504347134
Аноним 25/10/19 Птн 11:14:13 1504351135
>>1504280
Пересмотри сериал, там это объясняется
Аноним 25/10/19 Птн 12:09:33 1504374136
int est_probitie { yoba_func() };
int est_probitie = yoba_func();

В 2к19 какой вариант считается не говнокодом?
Аноним 25/10/19 Птн 12:13:42 1504376137
Аноним 25/10/19 Птн 12:16:55 1504378138
Аноним 25/10/19 Птн 12:22:32 1504380139
>>1503978
Буду на собеседованиях спрашивать, как работает этот код и почему, когда нужно будет продавить челика с зп.
Аноним 25/10/19 Птн 12:23:07 1504381140
Аноним 25/10/19 Птн 14:09:28 1504456141
>>1504191
Вместо:
MyStruct st = { 0 };
Можно:
MyStruct st{};

Сахарок короче.
Аноним 25/10/19 Птн 14:17:12 1504459142
>>1504380
Говорю, что это говнокод и пояснять тут нечего. Твои действия?
Аноним 25/10/19 Птн 14:27:29 1504462143
>>1504380
Да я тебя сам продавлю и займу твое место с такими говнопримерами. Хотел альфача - получай.
Аноним 25/10/19 Птн 14:44:37 1504474144
>>1504191
>В чем прикол тогда?
std::vector v1(10,2); // содержит [2,2,2,2,2,2,2,2,2,2]
std::vector v2{10,2}; // содержит [10,2]
Аноним 25/10/19 Птн 14:56:05 1504480145
Аноним 25/10/19 Птн 14:58:23 1504481146
c++initforest.gif (8159Кб, 400x170)
400x170
>>1504174
>>1504191
Это Uniform initialization.

>>1504456
>Сахарок короче.
Нет.

>>1504480
Хотели починить инициализацию, а в итоге недочинили. Тащемто такое поведение только у объектов принимающих std::initializer_list , а он обычно только у всяких контейнеров.
Аноним 25/10/19 Птн 15:01:47 1504484147
Аноним 25/10/19 Птн 15:02:28 1504486148
Аноним 25/10/19 Птн 15:06:24 1504488149
>>1504484
>Что нет? Да.
Зависит от имеющихся конструкторов.
Аноним 25/10/19 Птн 15:07:24 1504490150
Screenshot from[...].png (363Кб, 1330x1570)
1330x1570
Screenshot from[...].png (117Кб, 1768x724)
1768x724
В любой статье о C++ на хабре минимум треть обсуждения будет посвящена Rust. Это о чем-нибудь да говорит.

Алсо, пикрелейтед можно ставить в шапку следующего треда
Аноним 25/10/19 Птн 15:10:55 1504494151
>>1504490
лобби ржавых хуесосов
Аноним 25/10/19 Птн 15:11:32 1504495152
>>1504494
Но ведь всё верно слева написано.
Аноним 25/10/19 Птн 15:17:56 1504501153
>>1504490
> В любой статье о C++ на хабре минимум треть обсуждения будет посвящена Rust

Пидорасы везде вопят о том, как они долбятся в жопу, и как это здорово и прогрессивно. Это не значит, что долбиться в жопу - норма.
Аноним 25/10/19 Птн 15:23:22 1504504154
>>1504501
Как и не следует то, что это не норма, из того, что норма не следует из приведенного тобой утверждения.
Аноним 25/10/19 Птн 15:23:41 1504505155
Почему раст говно и у него нет шансов вытеснить кресты в своей области?
Аноним 25/10/19 Птн 15:26:34 1504508156
kek.png (152Кб, 1586x1096)
1586x1096
Аноним 25/10/19 Птн 15:49:47 1504521157
Плохой ли тон использовать auto? Я стараюсь использовать его везде, где это возможно, в основном чтобы не писать std::shared_ptr<huynya_name> x = std::make_shared<...

Но в последнее время я начал применять его и для обычных типов вроде int. Подскажите мне правильный путь.
Аноним 25/10/19 Птн 15:54:52 1504531158
>>1504521
odnajdi napisheh auto t = 4, kogda tebe nujna double peremennaya, i sosnesh
Аноним 25/10/19 Птн 16:02:18 1504547159
>>1504505
возможно мой пост останется не понят, но попробую объяснить:
дело не в самом расте
а дело в разработчиках мозиллы
они, в свое время сделали первый браузер (нетскейп навигатор), который по сути занимал весь рынок браузеров, а количество пользователей интернета тогда росло сумашедшими темпами
что они сделали? решили заморозить кодовую базу, не выпускать новые версии браузера, а переписать код браузера целиком, потому что он им, видители не нравился, ну и переписали за пару лет, сделали файрфокс
ну и что получилось? пока они переписывали все с нуля, они проебали рынок, по итогу, весь рынок захватил ie в 90е, те не было даже и конкурентной борьбы
об этом еще спольски писал в своих статьях как о примере настоящего коммерческого идиотизма
но, дзен заключается в том, что люди не учатся даже на собственных ошибках
и уже в нулевые, разрабы файрфокса решили наступать на те же грабли еще раз, но уже в большем маштабе: а именно не просто переписать еще разок кодовую базу файрфокс, но сделать новый язык и уже на нем заново все переписать
последствия этого мы уже видим: хром отжал и те проценты что были у файрфокса раньше по сути делит рынок с браузерами от майрософт, а файрфокс где то в жопе сейчас по количеству пользователей, держась лишь на фанатах и ретроградах
вообще, историю с разработчиками файрфокса следует рассматривать в экономических учебниках, как кейс о том как просирать бизнес
Аноним 25/10/19 Птн 16:08:54 1504554160
>>1504521
Я его использую когда переменная нужна в контексте какого-нибудь API, особенно если инициализируется она через этот же интерфейс, т.к. в этих ситуациях мне 100% похуй какой там хитровыебанный тип оно хочет. Ну и в шаблонной дрисне тоже, ясное дело.
Аноним 25/10/19 Птн 16:09:31 1504556161
>>1504521
>Но в последнее время я начал применять его и для обычных типов вроде int
Насосёшся же ты.
Аноним 25/10/19 Птн 16:18:12 1504570162
>>1504521
auto i = 5ull;
Если используешь суффиксы, то пожалуйста. А вообще не стоит.
Аноним 25/10/19 Птн 16:43:26 1504590163
>>1504521
Если тип длиннее 4 букв то пишу auto
Аноним 25/10/19 Птн 16:48:38 1504595164
Аноним 25/10/19 Птн 17:26:38 1504608165
Котаны, какой самый не заебистый способ объявить константы в хедере, чтобы не ебаться с этими вашими экстернами в константах?

#pragma once
namespace yoba {
inline constexpr int var {1337};
} // yoba.h

Покатит? И в дальнейшем в .cpp файлах с включенным хэдэром yoba.h обращаться вот так: yoba::var
Аноним 25/10/19 Птн 17:31:27 1504614166
Аноним 25/10/19 Птн 18:05:11 1504637167
>>1504521
У меня наверное не самое популярное мнение: если auto может повредить твоему коду - у тебя говнокод.
Аноним 25/10/19 Птн 18:07:03 1504640168
Имеют ли крупные конторы во владении копию стандарта c++ в печатном виде?
Аноним 25/10/19 Птн 18:09:40 1504643169
>>1504547
Раст в отличие от нетскейпа не проёбан же. У него есть огромное преимущество - уёбищность с++. Это дырявое поделие стоило пристрелить ещё 20 лет назад
Аноним 25/10/19 Птн 18:21:42 1504652170
Аноним 25/10/19 Птн 18:26:58 1504655171
>>1504640
а зачем?
имхо, уж если и фирма хочет чтобы у ее сотрудников был доступ к бумажным книгам, пусть купит майерса последнюю книгу и "шаблоны" вандервуда второе издание
вот это действительно полезные книжки по крестам
Аноним 25/10/19 Птн 18:41:01 1504663172
images.jpeg (13Кб, 225x225)
225x225
Аноним 25/10/19 Птн 18:51:58 1504674173
Аноним 25/10/19 Птн 18:53:16 1504676174
>>1504490
1) Видишь упоминание монад - перед тобой ебанутый борщеед. Лапша из колбэков не является хорошим решением никогда, а ничем другим монадический код не является
2) Только вот раст от легаси-проектов на С++ не спасает, а наоборот. Теперь ты не только мучаешься со сборкой легаси, но еще и мучаешься с кривым растовским FFI. Короче тупо выкинь старый код и наслаждайся сборкой
3) Когда его сделают для С++, где останется раст?
4) Используй компилятор с таким же ллвм бэкендом, как и у раста
5) При этом отсутствующие нахуй темплейты. А значит, если ты хочешь простой обобщенный код - ебись с системой типов, как будто у тебя хаскель.

А язык, который старше С++11, не продакшен-реди, да. И пока он станет продакшен-реди, в слоупочный комитет запилит в С++ все, чего там не хватало, чтобы закопать раст
Аноним 25/10/19 Птн 18:53:50 1504678175
>>1504608
Пиздец, мне этот код чем то джава/донет парашу напоминает. Как мужик дефайни ебт.
Аноним 25/10/19 Птн 18:57:47 1504682176
marginalnii-gen[...].jpg (182Кб, 1440x1080)
1440x1080
>>1504676
>слоупочный комитет запилит в С++ все, чего там не хватало, чтобы закопать раст
Маня, ну расскажи. Как по-твоему в с++ запилят проверку заимствований без убийства всей крестовой системы памяти
Аноним 25/10/19 Птн 18:59:46 1504684177
>>1504676
Да это и ослу понятно, можно было не расписывать для этих дуриков. С++ - unbeatable programming language.
Аноним 25/10/19 Птн 19:04:58 1504687178
>>1504678
> дефайни
Дедушка, си тред два блока вниз
Аноним 25/10/19 Птн 19:06:14 1504688179
>>1504678
ты чё, пёс, ты чё? вот запилят в с++42 вменяемые модули, полетишь вместе с препроцессором на помойку
Аноним 25/10/19 Птн 19:11:34 1504692180
>>1504682
>Как по-твоему в с++ запилят проверку заимствований
Не нужно
Аноним 25/10/19 Птн 19:21:21 1504699181
>>1504682
си с классами достаточно для любой программы
Аноним 25/10/19 Птн 19:22:42 1504701182
Аноним 25/10/19 Птн 19:22:57 1504702183
>>1504490
>хабр
Ну ты ещё Пикабу приплел бы сюда.
Аноним 25/10/19 Птн 19:25:20 1504703184
posoni, a est phd po plusam?
Аноним 25/10/19 Птн 19:26:47 1504705185
Аноним 25/10/19 Птн 19:43:16 1504713186
>>1504676
>Видишь упоминание монад - перед тобой ебанутый борщеед. Лапша из колбэков не является хорошим решением никогда, а ничем другим монадический код не является
>А значит, если ты хочешь простой обобщенный код - ебись с системой типов, как будто у тебя хаскель
Че еще спизданешь, неуч? Сразу видно неборщехлеба, судорожно выбирающего свой любимый ООП паттерн из GoF.

> Только вот раст от легаси-проектов на С++ не спасает, а наоборот. Теперь ты не только мучаешься со сборкой легаси, но еще и мучаешься с кривым растовским FFI. Короче тупо выкинь старый код и наслаждайся сборкой
В расте есть то, чего так сильно не хватает сообществу плюсанов - культура разработки и чувство прекрасного. Где FFI неудобный - напишут нормальный фасад к C/C++ либам и будут радоваться жизни дальше.

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

>>1504682
В clang-е уже пилят lifetime analysis. В течении года завезут. Пока будет опциональным в виде навешивания аттрибутов на функции.
Думаю в C++23 или в C++-26 это попадет в стандарт и у плюсанов появится свой родной borrow checker, который, как известно, не нужен, а надо ПРОСТО хорошо знать плюсы и уметь правильно писать код.

>>1504701
>>1504702
Щас бы двачерам вякать на хабр.

Аноним 25/10/19 Птн 19:54:20 1504725187
>>1504682
>проверку заимствований
это какая то хуйня, связанная с владением ресурсов и с правильной передачей владения
это что ли?
умные указатели, не?
Аноним 25/10/19 Птн 19:57:24 1504728188
>>1504682
хех, в 98м стандарте по итогу самый православный способ хранить константы был трюк со статической переменной в классе..

Аноним 25/10/19 Птн 20:00:22 1504730189
Аноним 25/10/19 Птн 20:11:02 1504733190
>>1504713
>прекрасный код
Ты на него дрочить собрался, что ли?
Из-за вот такой хуйни я жалею, что появилось что-то, кроме ассемблера и сишечки. Щас бы сидели как 80-ых и пердели в мейнфрейм под хруст магнитной ленты, программируя на бумажке.
Ебаные срачи про архитектуру, про фп vs императивка, про гейтса, про небо.
И никакой четкой аргументации с метриками или хоть чем-то, что доказывает, что вот ТАК быстрее, а так НЕТ.
Про уДоБнЕе и "у вас архитектура языка говно!!!" это вообще рот ебал. Унифицировать и гомогенезировать од паттернами можно только запил крудов.
Аноним 25/10/19 Птн 20:18:31 1504740191
>>1504730
Заимствования это же маняврирование когда оказывается что на одном move semantics жить нельзя. Как одно может проверять другое?
Аноним 25/10/19 Птн 20:20:53 1504743192
>>1504733
>И никакой четкой аргументации с метриками или хоть чем-то, что доказывает, что вот ТАК быстрее, а так НЕТ.
В этом суть моего наезда на ООП и GoF. В ООП есть большая почва для спекуляций и много бессмысленного срача как результат.

В FP как минимум такой хуйни нет. Есть substitution computational model - которая по сути сводит весь код без эффектов к обычной школьной алгебре и до 10 всеми применяемых паттернов у которых по факту нет альтернатив. В какой проект не прийдешь - там всегда будут одни и те же архитектурные приемы: ленивость, комбинаторы, монады, аппликативы и функторы. Ты ПРОСТО берешь и делаешь работу.
Аноним 25/10/19 Птн 20:30:08 1504748193
>>1504743
бля
fp-шизик в треде
все по укрытиям, срочно надеваем на головы шапочки из фольги!

Аноним 25/10/19 Птн 20:38:33 1504753194
>>1504713
>Сразу видно неборщехлеба, судорожно выбирающего свой любимый ООП паттерн из GoF.
Сразу видно борщехлеба с кругозором ленточного червя. Мальчик, ты в своей жизни не видел нихуя, чтобы делать хоть какие-то вангования о собеседнике. Не позорься.
>В расте есть то, чего так сильно не хватает сообществу плюсанов - культура разработки и чувство прекрасного.
Тогда почему эти люди создали такой хуевый язык? Которому не 30 лет и он не тянул за собой сотни тысяч легаси-проектов, которые нужно было не поломать.
>сектант
Сказал хуй, который пришел в крестотред доказывать нужность раста
Аноним 25/10/19 Птн 20:42:17 1504757195
>>1504748
Уебак, ты вместо смехуечков бы взял и нормально ответил.
Аноним 25/10/19 Птн 20:44:03 1504758196
>>1504757
конепции fp плохо ложатся на семантическую модель с++

Аноним 25/10/19 Птн 20:44:24 1504759197
>>1504733
>в 2к19 кукарекать про скорость
Есть ДВЕ метрики по которым выбирается язык:
Средняя частота ошибок для продуктов с высокой ценой пиздеца в продакшене и среднее время запила новых фич для всего остального.
Другие языки (да, кресты тоже) нужны исключительно из-за легаси-говна.
Аноним 25/10/19 Птн 20:48:14 1504763198
>>1504759
>Есть ДВЕ метрики по которым выбирается язык:
В глазах неадекватного школьника черно-белым миром - возможно. Потому что школьники тупые и принять сложность окружающего мира не могут.
Аноним 25/10/19 Птн 20:52:50 1504767199
>>1504763
По существу есть что ответить?
Аноним 25/10/19 Птн 20:54:16 1504770200
>>1504767
Ты спизданул - ты и доказывай. Почему именно две? Почему скорость не важна? Как ты пришел к таким глубокомысленным выводам?
Аноним 25/10/19 Птн 20:58:06 1504773201
>>1504713
>уже пилят
Круто, чо. Но до 23го года всё может поменяться кардинально
Аноним 25/10/19 Птн 20:58:35 1504774202
>>1504770
Двачую этого.

>>1504759
> Есть ДВЕ метрики по которым выбирается язык:
Ты скозал? Пидор-студентик, ты?
Аноним 25/10/19 Птн 21:01:46 1504777203
Аноним 25/10/19 Птн 21:12:23 1504792204
>>1504770
Скорость неважна потому что купить час работы хардвари в тысячи раз дешевле чем купить час времени разработки. Поэтому вторая метрика применима в большинстве ситуаций. Применимость первой мной уже описана. К выводам я пришёл продаваясь кодопроизводящим конторам.
>>1504774
Нет, я разгребатель крестописанины из 90х. Но пидор, да.
Аноним 25/10/19 Птн 21:16:31 1504794205
>>1504753
>баттхертит от вангвания
>в то же время вангует опыт собеседника
Мальчик, ты в своей жизни не видел нихуя, чтобы делать хоть какие-то вангования о собеседнике. Не позорься.

>Сказал хуй, который пришел в крестотред доказывать нужность раста
Не хуй, а уважаемый дядя-плюсовик, который пилил первые плюсотреды еще в 2014-2015. Так что да, у меня есть полное право называть тебя сектантом, сектант.

>Тогда почему эти люди создали такой хуевый язык
Ну давай для начала ты, школьник, объяснишь почтенной публике, почему раст - хуевый, а только потом я начну тебя по-отечески обоссывать, ок?

>>1504777
И 10 лет не прошло. Наконец-то win-говноеды начнут использовать современные промышленные практики разработки на C++
Аноним 25/10/19 Птн 21:16:59 1504796206
>>1504792
>Скорость неважна потому что купить час работы хардвари в тысячи раз дешевле чем купить час времени разработки.
Ну то есть ты описываешь вебоговно, в котором С++ никогда и не был популярен.
Аноним 25/10/19 Птн 21:25:18 1504809207
>>1504796
>>1504792
Вы уж определитесь, вы про memory footprint, latency или throughput, а то от вашего школолоспора попахивает.
Если throughput, то на какой-нибудь jvm можно написать сопоставимо с C++. А мест, где надо memory footprint или latency - не так уж много.
Аноним 25/10/19 Птн 21:27:53 1504812208
>>1504794
>Не хуй, а уважаемый дядя-плюсовик, который пилил первые плюсотреды еще в 2014-2015.
В 2011 я ковырял компилятор раста с целью изучения llvm. Пройдет 3 года, и на дваче появится школьник, перекатывающий плюсотреды. Пройдет еще какое-то количество времени, и школьник станет фп-шизиком, уверенным, что вокруг все идиоты, один он умный. Иди нахуй, дядя-плюсовик.
Аноним 25/10/19 Птн 21:28:04 1504814209
>>1504794
>пилил первые плюсотреды еще в 2014-2015
Чего добился? Хотя-бы 300к зарплаты есть?
Аноним 25/10/19 Птн 21:30:03 1504817210
>>1504809
>Если throughput, то на какой-нибудь jvm можно написать сопоставимо с C++.
На jvm легко баззвордами ссать в уши своему энтерпрайз-начальству.
Аноним 25/10/19 Птн 21:31:05 1504819211
>>1504794
> И 10 лет не прошло. Наконец-то win-говноеды начнут использовать современные промышленные практики разработки на C++
Линуксочмоня, у вас такого нет и никогда не будет. Иди в виме по памяти говнокод пиши, порождая кучу багов.
Аноним 25/10/19 Птн 21:34:07 1504822212
>>1504794
> Не хуй, а уважаемый дядя-плюсовик, который пилил первые плюсотреды еще в 2014-2015
Сука, заорал с этого успешного плюсовика. Нвидия-кун, сеньор-цпп-тян, ла-кун и прочие олды треда обмякли при виде этого БОЯРИНА!
Аноним 25/10/19 Птн 21:36:46 1504824213
>>1504812
Ну нихуя ж себе, вот это достижения! Целый llvm изучал в 2011.
Я в 2011 году писал промышленный парсер-синтезатор-анализатор vhdl/verilog и че теперь?

>Чего добился? Хотя-бы 300к зарплаты есть?
Именно столько и есть. Теперь завидую тому пидору из nvidia, который 350к зашибает Ну че там, поковырял bazel, пес?

>>1504822
ОЛДЫ ТРЕДА!!111 орнул с тебя
Аноним 25/10/19 Птн 21:39:36 1504826214
>>1504824
> который 350к зашибает
Это только зарплата, тут акции подросли, с акций еще ~90, суммарно ~440.

Но вообще комично, что ты ЛЛВМ изучал в 2011, а я в 2014 только плюсы учить начал, и где ты, а где я.

Собстно, нвидия-кун
Аноним 25/10/19 Птн 21:51:05 1504830215
>>1504826
Где ты, где, понтуешься зарплатой в каждом треде, в жопе ты в общем.
Аноним 25/10/19 Птн 21:53:50 1504833216
>>1504822
> сеньор-цпп-тян
Можно контакты? Готов стать ее собачкой
Аноним 25/10/19 Птн 21:54:14 1504835217
>>1504826
Ты попал в хорошую, богатую компанию - молодец, никто этого не отрицает. Но о твоем скилле это говорит опосредственно, потому что в процессе найма есть много вещей, которые от тебя не зависят.

Рядом с тобой наверняка сидят типы того же грейда и зп, но с опытом 10+ лет. Тоже комично, что они в два раза больше работают, а добились того же? Короче, мде
Аноним 25/10/19 Птн 21:56:06 1504838218
>>1504835
>Рядом с тобой наверняка сидят типы того же грейда и зп, но с опытом 10+ лет. Тоже комично, что они в два раза больше работают, а добились того же? Короче, мде
Ну, мне кажется да, это достаточно забавно.

>>1504830
Хорошо, я больше не буду. или все таки буду.
Аноним 25/10/19 Птн 22:05:59 1504842219
>>1504838
>Ну, мне кажется да, это достаточно забавно.
А мне кажется, что ты не понимаешь, что в твоей профессии есть некоторый потолок знаний и зарплат, за который, будучи обычным плюсовиком, выйти нельзя. Твои коллеги тоже могли за 5 лет дойти до такой же зп, что и ты. С чего ты решил, что через 5 лет на той же позиции ты будешь получать больше? Я тебе больше скажу, ты уже достиг потолка зп для данной позиции во всем мире. Даже если ты переедешь в SF, по чистым деньгам для тебя ничего не поменяется.

Что, все плюсовики во всем мире с опытом >5 лет - хуже тебя, потому что ты с 5 годами опыта начал зарабатывать как они?
Аноним 25/10/19 Птн 22:10:24 1504845220
Кем нужно стать, чтобы получать лям в месяц, в какой либо стране, после вычета налогов?
Аноним 25/10/19 Птн 22:13:43 1504847221
>>1504842
>Даже если ты переедешь в SF, по чистым деньгам для тебя ничего не поменяется
В SF у сеньеров в гугле компенсация больше 300к долларов в год. Даже если около половины отдавать на налоги (сомнительно) это около миллиона на руки в месяц.
Аноним 25/10/19 Птн 22:14:19 1504848222
>>1504845
Бизнесменом. Либо топ манагером каким
жаль, что шутки про картофельную страну уже не актуальны
Аноним 25/10/19 Птн 22:14:31 1504849223
>>1504847
>около миллиона
Рублей. Против его 400к.
Аноним 25/10/19 Птн 22:16:23 1504851224
>>1504847
>компенсация
Какое пидорское слово
Аноним 25/10/19 Птн 22:17:27 1504853225
>>1504851
Говорить зарплата не совсем корректно, так как учитываются премии и акции.
Аноним 25/10/19 Птн 22:17:46 1504854226
>>1504824
>Я в 2011 году писал промышленный парсер-синтезатор-анализатор vhdl/verilog и че теперь?
Хуй в очо. Аргументы ad дядюм в жопу себе засунь. Монадический код - костыли и говнище, когда от бедности нет вменяемой альтернативы. Чтобы понять, что такое вменяемая альтернатива, можно сравнить код на Go и код для ноды. Или квиксорт на С++ и на хаскеле с использованием ST. Монады всегда говно, говно во всем. Не понимают это только ФП-шизики типа тебя.
И у ФП-шизиков с растом возникает конвергенция: ФП-шизики тянут язык в сторону ФП-параши, а сам раст и не против.
>Именно столько и есть. Теперь завидую тому пидору из nvidia, который 350к зашибает
Я зашибаю больше этого пидора, например. Просто я не пидор и мне неинтересно, когда меня обсуждают.
Аноним 25/10/19 Птн 22:18:41 1504855227
>>1504854
Сколько получаешь?
Аноним 25/10/19 Птн 22:25:54 1504859228
>>1504842
> А мне кажется, что ты не понимаешь, что в твоей профессии есть некоторый потолок знаний и зарплат, за который, будучи обычным плюсовиком, выйти нельзя.
Вполне можно. Можно и пицот получать, живя в Москве. Можно и 700 (привет, Хуавей). Потолок где-то в районе ебейшего принципал инженера, но там уже столько денег, что можно дальше и не расти.

> Что, все плюсовики во всем мире с опытом >5 лет - хуже тебя, потому что ты с 5 годами опыта начал зарабатывать как они?
Я этого не говорил. Но тут вспоминается кулстори с моей прошлой работы, когда ко мне подошел зам начальника отдела разработки с опытом 15 лет, и спросил, что такое std::move у меня в коде.


>>1504847
>В SF у сеньеров в гугле компенсация больше 300к долларов в год. Даже если около половины отдавать на налоги (сомнительно) это около миллиона на руки в месяц.
Не забывай про то, что там безумная недвижимость, и очень дорогие услуги. Так что, равнять СФ и Москву по абсолютным значениям ЗП - глупо.

Ну и да, 300к для SF это мало, в том же FB можно 400-500 иметь.



Аноним 25/10/19 Птн 22:26:39 1504861229
>>1504854
Не мог бы ты пояснить нубу, что такое монады? Мне даже википедия не помогла, тупо не понимаю и всё
Аноним 25/10/19 Птн 22:34:51 1504866230
>>1504826
Чет я не понял. Как ты за 4 года сеньором то стал? Вундеркинд что ли?
Аноним 25/10/19 Птн 22:37:29 1504869231
>>1504859
>Можно и 700 (привет, Хуавей)
А что, там реально столько платят? А-то ходят слухи, что в филиале в нашем мухосранске мидлам платят около 200, что для нашего городка как-то дохуя.
Аноним 25/10/19 Птн 22:39:01 1504870232
>>1504845
Нужно вычитать не только налоги, но и расходы на жизнь.
Вариантов несколько:
- R&D. Топовые спецы по ML вполне получают под лям в ДС
- Свой бизнес. Будешь забирать себе всю добавочную стоимость
- Блогер, актер, коррупционер
- HFT
- Можно накопить 100 лямов и вложить в акции. При доходности 12% годовых будешь получать как раз лям в месяц.

>>1504847
С 300к после налогов останется 15к в месяц. После затрат на квартиру и жизнь останется 7-9к в месяц, что как бэ не потрясающие деньги. Вон у какого-то типа из netflix брали интервью. Чуви занимается chrome web tools и попал на топ вилки по этому направлению. Он сказал, что в netflix стало хоть что-то оставаться после расходов, а пока он работал в гугле, вообще в ноль уходил.
Аноним 25/10/19 Птн 22:39:27 1504873233
>>1504866
Каким сеньором, у нас столько джуны на стажировке получают.

шучу офкос
Аноним 25/10/19 Птн 22:39:54 1504875234
Какие блять 500 тыс в год в гугле? Вы ебанулись? Нет таких зарплат, даже в Microsoft йоба разработчики ядра столько не зарабатывают. А может как раз они столько и зарабатывают.
Аноним 25/10/19 Птн 22:40:51 1504876235
>>1504870
>Топовые спецы по ML вполне получают под лям в ДС
Не
Аноним 25/10/19 Птн 22:42:55 1504878236
>>1504869
Там платят дохуя из-за хуевых параноидальных условий работы
Аноним 25/10/19 Птн 22:43:14 1504879237
>>1504866
за 3, но у меня до программирования был хороший технический бэкграунд. Перекатился из смежной области.

>>1504869
Говорят, что да. Сам я ходил на собес Писал в прошлом треде, дали 260 до налогов, рофл. Видать, там лидам+ хорошо платят.

>>1504875
Майкрософт никогда не платил. И находится он далеко не в долине, а в Сиэтле, где жизнь дешевле.
Аноним 25/10/19 Птн 22:44:03 1504880238
>>1504870
Какая-то жиденькая аргументация от студентоты. Хуйни понаписал короче. Мл под лям, лол блять просто, сейчас все математики страны посмеялись хором.
Аноним 25/10/19 Птн 22:46:55 1504883239
Аноним 25/10/19 Птн 22:47:37 1504885240
image.png (17Кб, 764x78)
764x78
>>1504879
Судя по-всему начал с этого года. Они на топ-1 ведь вышли, обоссав гуглы и амазоны и вообще всех сразу. В 500 в гугле не верю, даже в 300 не верю.
Аноним 25/10/19 Птн 22:51:27 1504890241
>>1504885
https://www.levels.fyi

Вот более-менее честные зарплаты.
Алсо - еще есть teamblind.com - там тоже их пишут.
Аноним 25/10/19 Птн 22:57:43 1504896242
>>1504859
>вполне можно. Можно и пицот получать, живя в Москве. Можно и 700 (привет, Хуавей). Потолок где-то в районе ебейшего принципал инженера, но там уже столько денег, что можно дальше и не расти.
Хуй с пальцем сравниваешь. Этих вакансий по пальцах двух рук пересчитать можно и там надо быть куда круче, чем стандартный плюсовик в nvidia вроде тебя. Круто, если ты туда доберешься, вполне искренне желаю тебе в этом успехов, но когда доберешься, тогда и поговорим. Попасть на зп 350к+ за пять лет - это, конечно, слегка необычно, но только слегка. На вундеркинда ты пока не тянешь.

>Я этого не говорил
Именно это ты и говорил, просто другими словами.

>>Сам я ходил на собес Писал в прошлом треде, дали 260 до налогов
Ну собственно ты сам подтвердил, что далеко не все околотоп компании оценивают тебя в 440к. Значит есть фактор удачи или совпадения твоих узких скиллов с конкретной потребностью работодателя в момент найма. Хотя судя по тому, что ты CI/CD настраиваешь, то скорее удача.

>>1504869
700к платят там единицам. Мой бывший коллега туда ушел сеньером-плюсовиком на зп 280к. Это в ДС. Еще надо учитывать, что там офис-стойло с дешевыми перегородками и бывают случаи, когда китайцы-менеджеры смотрят на работников как на людей низшего сорта (это, правда, слышал давно и через третьи руки).

>>1504880
В mail.ru есть датасаентисты, которые зашибают 600к+. Уверен, что в yandex research есть ребята, которые зашибают еще больше. Я очень сомневаюсь, что какой-нибудь Райгородский или Воронцов (они вроде не в отделе ресерча работают, но все же) зашибают меньше 700к. Хотя, возможно, у них вся зп - это сток и тогда разговор именно о зп у нас не получится.
Аноним 25/10/19 Птн 22:57:51 1504897243
Аноним 25/10/19 Птн 23:02:13 1504904244
>>1504890
Мне аж хуево стало, реально платят столько? Пора продумывать план по релокации.
Аноним 25/10/19 Птн 23:06:41 1504911245
>>1504896
> Хуй с пальцем сравниваешь. Этих вакансий по пальцах двух рук пересчитать можно и там надо быть куда круче, чем стандартный плюсовик в nvidia вроде тебя. Круто, если ты туда доберешься, вполне искренне желаю тебе в этом успехов, но когда доберешься, тогда и поговорим. Попасть на зп 350к+ за пять лет - это, конечно, слегка необычно, но только слегка. На вундеркинда ты пока не тянешь.

В следующем году на ревью должен 500к тотал-компа перешагнуть, и получить лычку Senior II (оно же +грейд). Босс слезно обещал хотя знаем мы эти обещания. Я, собстно, про себя и говорил, упоминая ебейшего принципал инженера. Это вполне реально, работая в одном месте долгое время, если контора большая.

> Ну собственно ты сам подтвердил, что далеко не все околотоп компании оценивают тебя в 440к.
Безусловно. Мейл.ру меня скорее всего вообще оценит в 150к. А какой-нить новгородский яндекс в 90к и карточку на обед. Однако нвидия оценивает меня выше, и этого мне достаточно.

>Хотя судя по тому, что ты CI/CD настраиваешь, то скорее удача.
Щас обидно было. Настраиваю, хуле делать, когда никто до меня не озаботился и шлепали говно.

>>1504904
Вычитай налоги, помни про конскую аренду. И да, зарплату ты получаешь, а вот всякие акции должны еще завеститься. Т.е. этот доход далеко не сразу.
Аноним 25/10/19 Птн 23:08:13 1504913246
>Райгородский или Воронцов
Это уже не /pr/, а реальная наука с математикой и статьями. Такие люди код не пишут. Хотя я не знаю, с чего ты взял про
>600к+
Ибо такие люди сидят и очень медленно генерируют идеи. Они столько прибыли не приносят.
Аноним 25/10/19 Птн 23:10:22 1504915247
>>1504870
>ложить в акции. При доходности 12% годовых
блядь, какой же ты фантазер
Аноним 25/10/19 Птн 23:13:29 1504920248
>>1504913
Да сказочник он. Ни в каких мейлру столько не платят. Усманову на кокс денег не хватит с такими расходами.
Аноним 25/10/19 Птн 23:15:13 1504923249
имхо, тред выходит в несколько опасную тему, а именно: меряние хуями, а именно размером своей зарплаты
так можно только разругаться друг с другом и все





Аноним 25/10/19 Птн 23:16:33 1504924250
Аноним 25/10/19 Птн 23:19:09 1504927251
>>1504794
алсо, раст не хуевый
раст не нужный тупа
держится на самоподдуве кодеров из мозилы
и, кстати именно благодаря тому что умные дураки из мозиллы решили второй раз переписать свой браузер, щас они занимают меньше 10ти процентов рынка, лол

Аноним 25/10/19 Птн 23:20:04 1504929252
>>1504913
>Это уже не /pr/, а реальная наука с математикой и статьями. Такие люди код не пишут
Я же написал, что это r&d. Что тебя смущает?

>>1504920
Лично получал оффер на 250к в мейле. Бывший коллега сейчас в одноклассниках работает за 240к. Не знаю, с чего ты вдруг решил, что в мейле мало платят
Аноним 26/10/19 Суб 00:01:21 1504945253
>>1504923
но хороше же померялись?
Аноним 26/10/19 Суб 00:02:15 1504946254
>>1504945
Ага. Один чел получает больше всех остальных итт вместе взятых.
Аноним 26/10/19 Суб 00:33:44 1504955255
>>1504896
>700к платят там единицам
В 2019 даже реакт-макака как я делает изи 700к, ремотно естественно, не знаю в чем у вас сложности

мимо реакт-макака
Аноним 26/10/19 Суб 01:08:51 1504976256
здесь есть хоть у кого-нибудь зп меньше 200?
судя по этому треду: нет
Аноним 26/10/19 Суб 01:10:10 1504977257
>>1504976
Конечно есть, у меня 0, например.
Аноним 26/10/19 Суб 01:10:15 1504978258
>>1504976
у всех остальных, кроме 3.5 пиздунов?
Аноним 26/10/19 Суб 01:11:26 1504979259
>>1504976
Есть, я удаленщик на PL/SQL, получаю меньше:(
Аноним 26/10/19 Суб 01:12:23 1504981260
>>1504978
50к, полтора года опыта, мухосрань 1кк
Аноним 26/10/19 Суб 01:42:20 1504990261
BOOL a = fun(x);
BOOL b - fun(x);
if ( (a + b) > 1 )

Это преобразование можно считать безопасным?
Аноним 26/10/19 Суб 01:42:47 1504991262
>>1504990
>BOOL b - fun(x);
*BOOL b = fun(x);
Аноним 26/10/19 Суб 02:06:29 1504994263
>>1504979
>удаленщик на PL/SQL
зато ты уникальная скотина, прямо белый амурский тигр :P
Аноним 26/10/19 Суб 02:11:31 1504995264
>>1504994
Ну, нас таких в конторе человек 10-12, условно уникальные.
Прикольно, конечно(особенно когда видишь результат работы), но как-то всё равно тянет в свободное время пытаться учить плюсы. Даже в паре случаев смог для работы написать утилиты на них, охуенная практика.
Аноним 26/10/19 Суб 04:16:41 1505009265
>>1504927
Почему ненужный? Он безопаснее и проще крестов, а по перформансу такой же. Пройдет лет 5-7 и кресты канут в лету, так как ёбщество поймет, что здоровенный дедуля-франкенштейн, источник кучи багов, нахуй ненужОн
Аноним 26/10/19 Суб 05:02:06 1505015266
>>1505009
Кресты переживут тебя и твоих внуков.
Аноним 26/10/19 Суб 09:10:25 1505036267
std::accumulate(te.begin(),te.end(),0.0)/te.size()
Как настроить округление, вместо 50.199999 выдает 50.2
Oksana Chan 26/10/19 Суб 09:36:41 1505041268
>>1505036
А если написать 0.0000000 вместо 0.0?
Аноним 26/10/19 Суб 09:59:31 1505048269
>>1504990
Пиздец. Оператор && ещё не проходили?
Аноним 26/10/19 Суб 10:52:02 1505065270
Использование статических членов в функциях плохой тон?
Аноним 26/10/19 Суб 10:56:07 1505067271
Аноним 26/10/19 Суб 11:15:06 1505071272
>>1505036
Ты хоть приложи числа, которые в сумме дают 50.199999, а не 50.2.
Или попробуй float, может, будет другой ответ не факт, что будет, это только предположение.
Аноним 26/10/19 Суб 11:15:14 1505072273
>>1505067
А как же правило что функция при одних и оех же входных данных должна возвращать одно и тоже значение?
26/10/19 Суб 11:34:08 1505078274
>>1504196
В релизе тоже, но использование неинициализированной переменной всё равно ub, было и будет.
Аноним 26/10/19 Суб 11:49:46 1505082275
>>1505048
Это для примера, у меня там 4 булла и нужно вернуть фолс, если хотя бы 2 из них true.
Аноним 26/10/19 Суб 11:58:04 1505085276
>>1505082
Ну так ты не делай bool b = fun(x), делай int n = 0; n += fun1(x) ? 1 : 0; n += fun2(x) ? 1 : 0;
Аноним 26/10/19 Суб 12:39:10 1505106277
>>1505072
Зачем тебе тогда static?
Обычно пишут что-то вроде
[code]
MyCls const & GetDefault() const
{
static const MyCls def;
return def;
}
[/code]
Если тебе хочется перед первокурсницами изъебнуться, то есть ещё миллион других способов, от статика отъебись
Аноним 26/10/19 Суб 12:43:54 1505108278
>>1505085
Мне тогда придется преобразовывать то, что функция возвращает + проебать на инт в 4 раза больше памяти.
Аноним 26/10/19 Суб 12:44:54 1505109279

>>1505108
ТРИ СУКА БАЙТА ПРОЕБАТЬ
НУ ТЫ КОНЕЧНО МОЧИШЬ)))
Аноним 26/10/19 Суб 12:45:30 1505111280
>>1505109
Байт там, байт тут, в итоге уже проебал гигабайт
Аноним 26/10/19 Суб 12:46:27 1505112281
>>1505108
Ну а если серьёзно, пиши
int s = 0;
if(f())
++s;
и т.д.
Компилятор умнее тебя
Аноним 26/10/19 Суб 13:00:58 1505117282
>>1504976
Есть, получаю 30к, пытаюсь понять, где я свернул не туда
Аноним 26/10/19 Суб 13:01:33 1505118283
>>1505112
Не, вру, пиши как анон выше советовал. Точно такой же ассемблер получается, что и у тебя
Аноним 26/10/19 Суб 13:08:12 1505120284
Аноны, годятся ли кресты для разработки прошивок? Если да, то как? Вряд ли есть фреймворк под эту тему)0
Аноним 26/10/19 Суб 13:14:49 1505123285
>>1505120
Прошивок чего именно?
годятся
Аноним 26/10/19 Суб 13:35:43 1505135286
>>1505117
>где я свернул не туда
вкатился в с++
Аноним 26/10/19 Суб 14:02:31 1505151287
Почему на codewars доля решивших задачу на крестах не превышает 1/20?
Аноним 26/10/19 Суб 14:06:39 1505152288
>>1505117
портишь статистику
тут выше по треду получают 250, 430, 600, 700, .. один даже за миллион если в рублях пересчитать
а ты тут влез со своими 450 баксами..

Аноним 26/10/19 Суб 15:12:43 1505172289
>>1505151
Потому что там задротские задачи для которых нужно знать матан.
Аноним 26/10/19 Суб 15:14:36 1505174290
>>1505120
Сейчас вся DIY разработка SOC идёт на PHP5
Аноним 26/10/19 Суб 15:35:14 1505181291
15598936079170.jpg (11Кб, 230x215)
230x215
Аноним 26/10/19 Суб 15:45:41 1505192292
109610900.jpg (72Кб, 900x528)
900x528
>>1505181
В с++ это нормально. Локальные переменные выделяются на стеке в порядке объявления. А борроу чекера тонет!
Аноним 26/10/19 Суб 16:17:32 1505216293
Ананасы, boost::ui кто-то юзал? Если да, то как оно? Покамест не особо хочется прыгать по фреймворкам/либам, так как всю мякотку пишу на бусте и не хочется заводить зоопарк, да и в индустрии гораздо больше распространен буст, нежели тот же Qt, поэтому гораздо выгоднее учить буст
Аноним 26/10/19 Суб 16:26:22 1505223294
>>1503199
>многопоточку спрашиваем
memory model и всякие false sharing или про ссаные rwlock и condvar из stdlib?
Аноним 26/10/19 Суб 16:32:32 1505225295
Как правильно завершать приложение, чтобы иконка из трея сразу удалилась, а не только при наведении мышкой? Пробовал вот так, но не помогает.
case WM_DESTROY:
{
Shell_NotifyIcon(NIM_DELETE, &nid);
DestroyIcon(hIcon);
PostQuitMessage(EXIT_SUCCESS);
}
return 0;
Аноним 26/10/19 Суб 16:33:58 1505226296
>>1505225
Пиздец, дружище, в 2k19 писать на WINAPI - это диагноз
Аноним 26/10/19 Суб 16:39:16 1505228297
>>1505226
Не хочу с собой тоскать многомегабайтные гробы, которые тратят в 100 раз больше ресурсов, чем нужно.
Oksana Chan 26/10/19 Суб 16:40:55 1505229298
Аноним 26/10/19 Суб 16:55:09 1505232299
>>1505181
Мейерс сказал, что volatile для пидоров.
Аноним 26/10/19 Суб 17:04:37 1505243300
>>1505181
Не понял. А в чем буругрт?
Аноним 26/10/19 Суб 17:29:35 1505254301
>>1505181
угу, и что? Специально залазишь в UB и плохой тут С++?
Аноним 26/10/19 Суб 17:29:44 1505255302
wtf.png (16Кб, 693x396)
693x396
Объясните что это за такая дичь?
Oksana Chan 26/10/19 Суб 17:32:30 1505257303
>>1505255
Там же объяснение есть.
Аноним 26/10/19 Суб 17:32:33 1505258304
Аноним 26/10/19 Суб 17:35:04 1505260305
>>1505254
>Специально залазишь в UB
Не специально. С++ виноват, он дырявый

мимо
Аноним 26/10/19 Суб 17:39:00 1505265306
>>1505255
Квадратные скобки -- синтаксический сахар, маскирующий выражение (a + b). Необходимо только, чтобы одно слагаемое было указателем, а второе числом, иначе выражение не имеет смысла. В твоем примере a -- указатель на начало массива, поэтому (1 + 3)[a] == ((1 + 3) + a) == *(a + (1 + 3)) == a[1 + 3]
Аноним 26/10/19 Суб 17:40:40 1505268307
>>1505265
Бля, самого ведь раздражает, когда люди про разметку забывают
>Квадратные скобки -- синтаксический сахар, маскирующий выражение #(a + b). Необходимо только, чтобы одно слагаемое было указателем, а второе числом, иначе выражение не имеет смысла. В твоем примере a -- указатель на начало массива, поэтому (1 + 3)[a] == #((1 + 3) + a) == #(a + (1 + 3)) == a[1 + 3]
Аноним 26/10/19 Суб 17:46:09 1505274308
Аноним 26/10/19 Суб 17:46:31 1505275309
Аноним 26/10/19 Суб 17:48:35 1505276310
>>1505260
Когда ты пихаешь хуй в трансформаторную будку - виновата, вестимо, будка?
Аноним 26/10/19 Суб 17:54:51 1505278311
1230220-690x690.jpg (58Кб, 690x690)
690x690
>>1505276
На каждой трансформаторной будке есть пикрил. Если нет, то да - будка виновата
Аноним 26/10/19 Суб 17:55:12 1505279312
>>1505278
в любой книге по крестам тоже есть предупреждения про UB, однако ты их проигнорировал
Аноним 26/10/19 Суб 17:59:08 1505281313
Ананасы, если я выучу SFML и буду пилить разные хуйни с графикой, кому это нахуй будет нужно? Куда берут на работу с такими знаниями? В общем и в целом, не только в срашке
Аноним 26/10/19 Суб 17:59:19 1505282314
>>1505279
Т.е. в той области, которую можно автоматизировать, крестовики полагаются на человеческий фактор. Всё ясно, тред можно закрывать нахуй
Аноним 26/10/19 Суб 18:01:03 1505283315
>>1505279
Я их не обязан знать. В компьютерных программах есть такая вещь, как защита от дурака. Если её нет - это плохая программа
Аноним 26/10/19 Суб 18:01:09 1505284316
>>1505281
это отличное хобби.
Аноним 26/10/19 Суб 18:01:30 1505285317
>>1505283
> Я их не обязан знать
Так пиздуй из профессии, умник.
26/10/19 Суб 18:05:30 1505286318
>>1505265
>Квадратные скобки -- синтаксический сахар, маскирующий выражение (a + b).
Но ведь я могу раздельно определить сложение, скобки и звезду для класса, и они никак не будут с собой связаны...
Аноним 26/10/19 Суб 18:05:34 1505287319
>>1505285
Тебя забыл спросить
Аноним 26/10/19 Суб 18:06:13 1505289320
Аноним 26/10/19 Суб 18:08:29 1505292321
А что такое UB?
Аноним 26/10/19 Суб 18:09:42 1505294322
Аноним 26/10/19 Суб 18:10:41 1505295323
Аноним 26/10/19 Суб 18:13:06 1505298324
>>1505287
Ну, когда выгонят с собеседования ссаными тряпками - поймешь, что забыл спросить.
Аноним 26/10/19 Суб 18:14:42 1505303325
image.png (74Кб, 385x183)
385x183
>>1505294
>The order that function parameters are evaluated is unspecified behavior. (This won't make your program crash, explode, or order pizza... unlike undefined behavior.)
>unspecified behavior
Чо бля?
Аноним 26/10/19 Суб 18:17:06 1505307326
>>1505298
Ты фанатик, гонишь меня из профессии хотя я просто указал на брешь в инструменте. Если бы ты работал дорожником, то кидал бы асфальт лопатой, а утрамбовывал ногами
Аноним 26/10/19 Суб 18:21:46 1505313327
Что происходит с программой после компиляции? Как всё это превращается в нолики и единички? Вот например цикл for, все его итерации будут записаны в виде последовательности нулей/единиц в экзешнике, или он будет как то в процессе выполняться?
Аноним 26/10/19 Суб 18:22:38 1505315328
Аноним 26/10/19 Суб 18:35:54 1505337329
>>1505313
Про JMP* инструкции процессоров слышал?
Аноним 26/10/19 Суб 18:36:52 1505339330
>>1505313
Компилятор парсит твой говнокод, идет целая куча йоба-анализов, если после них нет ошибок, то идет конвертация кода в ассемблерный листинг. Сборщик, ассемблер (не путать с ассемблИ), читает опкоды всех инструкций, превращая их из шестнадцатиричных значений в двоичные. На выходе получается object file, линкер потом связывает этот файл с shared libraries и на выходе получается бинарник с нулями и единицами, который процессор готов исполнять.
26/10/19 Суб 18:38:47 1505342331
>>1505303
Вот так это сеньор-помидор обьяснил на пальцах
>Важно понимать, что unspecified и undefined различны, что implementation-defined это когда то ли true то ли false (и задокано), unspecified это когда то ли true, то ли false (и может быть не задокано и в худшем случае таки undefined), а undefined это когда bool не true, не false, а его чтение может отправлять команду форматирования жесткого диска
Аноним 26/10/19 Суб 18:39:21 1505343332
>>1505313
А насчет циклов: в языке ассемблера есть инструкции вроде jmp, loop, которые реализуют циклы. Вместо переменных - регистры, которые по сути являются контейнерами по 8, 16, 32, 64 бит (есть еще конкатенация регистров для операций умножения, но это уже из другой оперы) для нулей и единиц, пермутации которых образуют самые разные числа.
Аноним 26/10/19 Суб 18:49:59 1505364333
>>1505313
А вообще шел бы ты читать dragon book, sicp и прочую классику.
Аноним 26/10/19 Суб 19:29:17 1505416334
>>1505181
Веб-макака начинает понимать как работает выделение памяти?
Аноним 26/10/19 Суб 19:34:11 1505420335
>>1505281
Пацаны, объясните зачем SFML и SDL, если есть OpenGL?
Аноним 26/10/19 Суб 19:35:05 1505421336
>>1505243
>>1505416
Довены так и не поняли, что это должно быть ошибкой компиляции.
Аноним 26/10/19 Суб 19:37:14 1505424337
>>1505292
Это то, что нормальные люди никогда не видели, но от чего у манек-неосиляторов оче сильно полыхает.
Аноним 26/10/19 Суб 19:40:48 1505428338
>>1505421
Иди репорти тогда, умник. Посмеемся всем тредом над тобой.
Аноним 26/10/19 Суб 19:41:10 1505429339
>>1505421
Довен пока здесь ты, объясняй чему это ошибка компиляции, если ты подряд выделил инты, указав volatile, что они могут измениться вне обозримого для компилятора кода, затем взял указатель первого инта и с помощью арифметики указателей поменял значение в 4-м по счёту инте?
Аноним 26/10/19 Суб 19:42:33 1505433340
>>1505420
Вроде же Sdl более высокоуровневый, чем OpenGL.
Аноним 26/10/19 Суб 19:42:51 1505434341
>>1505420
И то и то, в первую очередь, мини-фреймворки для абстракции создания окна, оконных эвентов, клавомыши и прочее. Если ты хочешь и там и там нарисовать что-то сложнее квадрата\жпега - все равно придется использовать OpenGL в контексте созданного окна.

>>1505429
Он дурачок, который ниразу не трогал системное апи, в котором бывают структуры типа:

struct yobastring
{
int length;
char[1] buf;
}
Аноним 26/10/19 Суб 19:43:11 1505435342
Аноним 26/10/19 Суб 19:43:46 1505436343
>>1505192
Чем тут борроу-чекер поможет, если все захуярилось через копирование, а не через move.
Аноним 26/10/19 Суб 19:55:41 1505444344
>>1505435
В struct такое можно сделать?
Вроде union все в одном месте хранит.
Аноним 26/10/19 Суб 19:58:17 1505448345
>>1505444
Так это 2 разные переменные в структуре. Первая - размер буфера, вторая - первый элемент. В винапи есть вообще адовый ад, где 2 строки в одной такой структуре. Т.е. у тебя размер первой строки, размер второй строки (начинающейся после первой) - и первый элемент
Аноним 26/10/19 Суб 20:13:59 1505459346
>>1505339
Ещё вроде loader перед самим выполнением, ну или же dynamic linker для .dll или .so
>читает опкоды всех инструкций, превращая их из шестнадцатиричных значений в двоичные
Эмм, какая-то тавтология вышла. Может, ты имел в виду, трансляцию из асм листингов в объект код (бинарный код)?
>идет целая куча йоба-анализов, если после них нет ошибок, то идет конвертация кода в ассемблерный листинг
Можно подробнее расписать - в более-менее йоба компиляторах на этом этапе ещё идёт intermediate representation, этот IR оптимизируется таргет-независимо, потом таргет-зависимо.
Ещё в самом начале препроцессор, кстати.
Линкер может тоже что-то оптимизировать и выкидывать.
Аноним 26/10/19 Суб 20:32:57 1505479347
>>1505434
Судя по тому, что ты сравниваешь local vars memory layout с object memory layout, то дурачек здесь только ты

>>1505429
Во-первых, даже несмотря на volatile, никем и ничем не гарантируется, что локальные переменные будут лежать подряд или в том порядке, в котором их объявили.
Во-вторых, в нормальном прикладном коде арифметика указателей используется в исключительных случаях. Это просто не нужно, потому что ты работаешь с сущностями предметной области и они не должны зависеть от memory layout. По-хорошему такие операции надо обрамлять чем-то вроде unsafe {}, как в других языках.

Когда я писал про ошибку компиляции - это в смысле она там должна быть концептуально. По стандарту ошибки там нет и вообще это UB
Аноним 26/10/19 Суб 20:37:50 1505484348
>>1505479
ну и да, вижуал студия выводит все нули, если что.
Аноним 26/10/19 Суб 20:46:24 1505495349
image.png (40Кб, 1465x136)
1465x136
image.png (25Кб, 656x88)
656x88
image.png (54Кб, 1314x103)
1314x103
Сап крестач
Как мне передать указатель на функцию в метод register_client_message?

Сам метод пик1
Передаю на пик2
Определение методов на пик3

На пик2 выдаёт ошибку:
> error: no matching member function for call to 'register_client_message'
> note: candidate function template not viable: no overload of 'on_message' matching 'const std::function<void (std::shared_ptr<network::connection_t> &, const std::shared_ptr<chat_global_t>)>' for 1st argument

Хотя на пик3 видно, что эта перегрузка есть.
Аноним 26/10/19 Суб 20:50:56 1505500350
>>1505495
std function написал, а до std bind не додумался?
Аноним 26/10/19 Суб 20:52:59 1505503351
>>1505500
А что лучше использовать? Bind я часто видел в легаси-коде, во те времена ещё не было лямбд.
Аноним 26/10/19 Суб 20:53:20 1505504352
>>1505503
Ай, бля, объебался. Вроде понял, что ты имеешь ввиду. Сейчас попробую.
Аноним 26/10/19 Суб 20:55:10 1505506353
>>1505484
Ну так стек растет не в сторону увеличения адресов, хули. (&a0)[3] вообще за пределы стекфрейма выйдет

https://godbolt.org/z/nPySa0
Аноним 26/10/19 Суб 20:58:32 1505513354
>>1505495
Ну и вообще скажите, как вы сами реализовали бы такую схему.
У меня есть массив сообщений(login_t, chat_t, delta_state_t, etc), но все они хранятся под типом message_t. Нужно вызвать для каждого из них свой обработчик on_message.
Аноним 26/10/19 Суб 21:08:50 1505525355
Аноним 26/10/19 Суб 21:09:57 1505527356
>>1505525
Ну и как мне кастовать из базового типа в дочерний? Без switch-case разумеется.
Аноним 26/10/19 Суб 21:13:21 1505528357
>>1505504
Можешь и в лямбду обернуть, но лично я, если параметры "длинные", пишу bind - так короче выходит
Аноним 26/10/19 Суб 21:13:46 1505529358
Аноним 26/10/19 Суб 21:16:56 1505533359
>>1505527
Ну либо цепочка if dynamic_cast else..., либо храни variant и делай std::visit
ну или заведи enum с типами сообщений и в наследниках метод, возвращающий "тип", а потом switch, да
Аноним 26/10/19 Суб 21:17:59 1505534360
>>1505533
> без swich-case
> предлагает if-else и switch-case
Oh you


За std::visit спасибо, сейчас почитаю
Аноним 26/10/19 Суб 21:22:04 1505538361
>>1505533
Ох уж этот pattern matching из говна и палок. Не надоело говно жрать? В расте есть pm, между прочим.
Аноним 26/10/19 Суб 21:22:44 1505540362
>>1505538
Ну и уёбывай отсюда нахуй жрать говно в раст, пидор блядь.
Аноним 26/10/19 Суб 21:27:08 1505547363
>>1505495
У тебя монитор не треснул от таких длинный строк?
Аноним 26/10/19 Суб 21:30:27 1505552364
>>1505547
Я рефакторю, разнося работающий код по неймспейсам. Раньше он не был таким длинным. Зато, когда закончу - работать с ним станет удобнее, я надеюсь.
Аноним 26/10/19 Суб 21:38:16 1505557365
>>1505552
Нужно банально бить длинные объявления функций хотя бы по запятым у параметров.
Плюс делать typedef'ы для умных указателей.
Я тебя на 3-м пике 2 аргумента, а на 2-м 1. Я не понимаю, что ты хочешь и почему ты считаешь, что это должно работать.
Аноним 26/10/19 Суб 21:42:32 1505564366
>>1505557
На 2 пике 1 аргумент, потому что метод register_client_message принимает 1 аргумент.
Аноним 26/10/19 Суб 21:52:45 1505572367
>>1505528
Ага, блять, а как дело дойдёт до взятия адреса перегрузки - что будешь делать?
Аноним 26/10/19 Суб 22:03:27 1505584368
Аноним 26/10/19 Суб 22:05:22 1505586369
>>1505495
Про using/typedef/deduction guide не слышал? Я ахуел этот код глазами штудировать.
Аноним 26/10/19 Суб 22:05:24 1505587370
smeh2.jpg (48Кб, 600x600)
600x600
Аноним 26/10/19 Суб 22:07:36 1505593371
Короче, видимо тру-C++ стиль это городить switch-case'ы. Через них и сделаю, всем спасибо. Строки укорочу, как закончу с рефакторингом.
Аноним 26/10/19 Суб 22:11:39 1505597372
Я бы сделал хотя бы так https://ideone.com/O8JqvM
Но вообще там напрашивается виртуальный метод
Аноним 26/10/19 Суб 22:12:13 1505598373
>>1505593
тру - это visitor классический или он же, с помощью std::variant+std::visit

Аноним 26/10/19 Суб 22:12:38 1505599374
Потому что даункасты это в любом случае антипаттерн
Аноним 26/10/19 Суб 22:13:37 1505600375
>>1505598
При чем тут визитор вообще. Он хочет по численному id генерить класс.
Аноним 26/10/19 Суб 22:14:58 1505602376
>>1505597
Зачем сообщениям метод on_message?
Аноним 26/10/19 Суб 22:17:42 1505607377
>>1505600
он хочет сделать даункаст

>>1505599
разработчики компиляторов с тебя лольнули. А все пользователи pattern matching вообще в истерике бьются
Аноним 26/10/19 Суб 22:18:15 1505608378
>>1505607
Ты очень тупой, иди нахуй
Аноним 26/10/19 Суб 22:19:50 1505609379
>>1505599
А ты как бы сделал?
Сообщения приходят в виде байт. Я перевожу байты в C++-ные классы с помощью мапы <int, function<message(vector<char>&)>>на самом деле там интерфейс builder в значении, но не суть
Дальше запихиваю эти сообщения в vector<shared_ptr<message>> и работаю уже с ними. Хули мне остаётся то? И как этого избежать?
Аноним 26/10/19 Суб 22:21:42 1505611380
>>1505608
ору с долбоеба, который не понимает, что без даункастов невозможно обойти AST
Аноним 26/10/19 Суб 22:22:32 1505613381
>>1505611
Орущая мелкобуква, от тебя воняет, отойди
Аноним 26/10/19 Суб 22:26:45 1505617382
>>1505534
А в чём проблема switch?
Аноним 26/10/19 Суб 22:27:22 1505618383
Аноним 26/10/19 Суб 22:29:25 1505620384
>>1505609
>Хули мне остаётся то
Заебенить виртуальных методов в message
Аноним 26/10/19 Суб 22:29:28 1505621385
>>1505572
> взятия адреса перегрузки
Чиво блядь? Если ты про bind и перегруженные функции, то тут уж да, оберну в лямбду. На весь проект >1kk LOC при переходе с буста на стд нашлось от силы десяток таких мест
Аноним 26/10/19 Суб 22:30:46 1505622386
>>1505620
И что они будут делать, как будут называться?
Аноним 26/10/19 Суб 22:32:11 1505625387
>>1505618
В каком месте? Если уж не хочешь свитч, тогда запили мапку с обработчиками
Аноним 26/10/19 Суб 22:33:27 1505629388
image.png (36Кб, 580x173)
580x173
image.png (81Кб, 1508x173)
1508x173
>>1505625
Вот в этих двух местах
Аноним 26/10/19 Суб 22:37:10 1505635389
>>1505622
Я ебу, это твой код. С абстрактной точки зрения, у тебя есть две задачи. Первая по id конструировать объекты. Это делает мапа из id -> function<message()>, который ты зачем-то обозвал билдером, хотя тебе было достаточно строчки
m_builders[T::id] = []() { return std::make_shared<T>(); };

Вторая - это работа с гетерогенным контейнером типа vector<message>.
У тебя в контейнере лежат черные ящики, о типе которых ты не знаешь. Самый нативный для С++ способ работы с гетерогенными контейнерами - это виртуальные методы. Почему они тебя тут не устраивают, я не знаю. Если не устраивают, можно о std::function подумать. Ну УЖ ТОЧНО тебе не нужно делать m_processors[T::id], потому что это такой кривой способ создать таблицу виртуальных методов, матчащихся почему-то не по самому типу, а по его id.
Аноним 26/10/19 Суб 22:39:43 1505642390
Т.е. на том этапе, когда тип у тебя создан, он уже знает о своей внутренней структуре. Другие мапы, поомимо m_builders, тебе не нужны. Тебе нужно добираться до обработчиков с помощью системы типов, которая уже знает, какой у тебя тип.
Аноним 26/10/19 Суб 22:44:09 1505651391
>>1505629
Ну и где тут дублирование?
и если знаешь тип сообщения, можешь делать static_cast и ЕБ ТВОЮ МАТЬ ЗАЧЕМ ТЫ shared_ptr'Ы туда-сюда тягаешь?
26/10/19 Суб 22:48:42 1505658392
>>1505635
>это виртуальные методы
Это разве не медленная хуйня?
Аноним 26/10/19 Суб 22:49:19 1505660393
image.png (31Кб, 784x185)
784x185
>>1505635
> m_builders[T::id] = []() { return std::make_shared<T>(); };
Сообщения из святого духа что ли создаются?
Билдер у меня выглядит вот так. Позволяет легко подключить новый протокол.

> У тебя в контейнере лежат черные ящики, о типе которых ты не знаешь. Самый нативный для С++ способ работы с гетерогенными контейнерами - это виртуальные методы.
Допустим, я сделаю виртуальный метод callback. В конструктор каждого сообщения буду передавать какой-нибудь messages_receiver_t, у которого в методе callback буду вызывать метод on_message? Я правильно понял?

>>1505651
В смысле где? message::in::login_t например. Я пишу его 3 раза, хотя должен писать только 2(в вызове register_client_message и в объявлении on_message)
dynamic_cast уберу, он и правда тут лишний. А с поинтерами что не так? Мне использовать ссылки вместо них?
Аноним 26/10/19 Суб 22:55:08 1505667394
Ананасы, без рофлов, какая самая лучшая IDE для крестов? Только не говорите, что это тормознутый говновскод на электроне
Аноним 26/10/19 Суб 22:56:20 1505669395
>>1505667
QtCreator
К сожалению, кроме него для C++ нет вообще ни одной приемлемой IDE.
Аноним 26/10/19 Суб 22:56:24 1505670396
>>1505658
+6 тактов на вызов примерно. То есть, ты никогда не заметишь разницы нигде, кроме максимального дрочения чисел

>>1505667
Вижуал Студия + решарпер С++
Аноним 26/10/19 Суб 22:57:06 1505672397
>>1505670
>Вижуал Студия + решарпер С++
Давно есть Clion, маня
Аноним 26/10/19 Суб 22:58:46 1505674398
>>1505672
Тот же эклипс, только отремонтированный дошиком студентов из говновуза ИТМО.
Аноним 26/10/19 Суб 23:00:11 1505677399
>>1505672
Eсть конечно. А еще говно в унитазе есть. Только это не меняет того факта, что всей этой залупе до Студии+Решарпера еще несколько лет разработки.
Аноним 26/10/19 Суб 23:00:15 1505678400
>>1505674
по твоей логике решарпер тоже сделан дошиком студентов из говновуза ИТМО. Алсо, как там твоя 32-битная студия поживает?
Аноним 26/10/19 Суб 23:00:15 1505679401
>>1505660
Позволь взглянуть на структуру твоих классов.
> А с поинтерами что не так? Мне использовать ссылки вместо них?
Конечно, если указатель не может быть nullptr. Иначе голый указатель (или то, что core guidelines предлагают вместо него). Если не собираешься становится владельцем - не передавай shared_ptr.
Аноним 26/10/19 Суб 23:01:05 1505680402
>>1505677
Назови мне фичи студии+решарпера (который бля сделан тем же JB), которых нет в clion
Аноним 26/10/19 Суб 23:01:22 1505681403
>>1505678
Студия ещё хуже, к чему ты вообще про неё спросил?
QtCreator пока что лучший
Аноним 26/10/19 Суб 23:01:49 1505682404
>>1505678
Нормально. Если ты пытаешься развести на жор памяти - то иди нахуй, дебаггер x64 и в отдельном процессе, а больше 4гб ide жрать не может.
Аноним 26/10/19 Суб 23:02:06 1505684405
>>1505680
Нормальный дебаггер

/thread
Аноним 26/10/19 Суб 23:02:52 1505686406
Аноним 26/10/19 Суб 23:04:36 1505689407
>>1505674
>дошиком
джетбрайн хорошо платит вообще то
Аноним 26/10/19 Суб 23:05:20 1505691408
>>1505667
Лучшая IDE для крестов называется emacs. Все остальное провоцирует тебя говнокодить
Аноним 26/10/19 Суб 23:09:50 1505697409
>>1505689
копеечные 200к суперсениорам в двух+ языках то?

>>1505691
дедуль, плиз
Аноним 26/10/19 Суб 23:12:19 1505703410

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

Аноним 26/10/19 Суб 23:13:57 1505707411
>>1505697
>копеечные 200к
ты шутишь что ли? 200к для дс2 - безумные деньги вообще то
столько зарабатывают наверное только сотые центиля..

Аноним 26/10/19 Суб 23:15:04 1505708412
>>1505707
а теперь сравни с 400к+ в нвидии
Аноним 26/10/19 Суб 23:46:27 1505748413
>>1505707
>>1505708
ща сравнил офф статистку
к сожалению они не дают децильного распределения разделенного по областям деятельности
но в целом по россии верхняя децильная группа айтишников зарабатывает 267 тысяч рублей
так чтож я был НЕ прав

Аноним 26/10/19 Суб 23:48:06 1505749414
>>1505748
>к сожалению они не дают децильного распределения разделенного по областям деятельности
по каждой конкретной области в россии, имел в виду
то есть не посмотреть, например, конкретно для питера
только для россии в целом
Аноним 26/10/19 Суб 23:50:32 1505751415
>>1505748
где статистику взял?
Аноним 26/10/19 Суб 23:50:51 1505752416
>>1505748
>>1505749
и, причем по этой статистике, виден жуткий несправедливый дисбаланс в оплате айтишников а именно:
верхняя децильная группа зарабатывает 37% всех средств
те 10% забирают себе 37% зарплаты, а остальные 90% - 63%
:D
Аноним 26/10/19 Суб 23:52:28 1505754417
>>1505752
ты бы штаны постирал, несправедливый
Аноним 26/10/19 Суб 23:52:43 1505756418
Аноним 26/10/19 Суб 23:53:12 1505758419
изображение.png (151Кб, 1366x768)
1366x768
Что ему не нравиться?
Аноним 26/10/19 Суб 23:53:32 1505760420
>>1505754
я в обоссаных щас трусах сижу поддерживаю традиции левого движения
Аноним 26/10/19 Суб 23:57:48 1505762421
>>1505667
Студия.

Ноудискасс.
26/10/19 Суб 23:59:50 1505763422
>>1505758
Точку с запятой на прошлой строке поставил? Пиздец как так писать можно вообще, enter нажимай когда перестаешь строку видеть, оно само шифт добавит на нужную длину
Аноним 26/10/19 Суб 23:59:59 1505764423
>>1505681
Я на топовом железе жду зачастую секунд по 10, когда нажимаю F2 при курсоре на переменной (перейти к определению), вот что это за хуйня?
Аноним 27/10/19 Вск 00:00:52 1505765424
Что за шизик уже второй день жидбрейнс форсит? Сравнивать clion с vs... Вот мудак то! Пиздец просто, слов нет.
Аноним 27/10/19 Вск 00:03:53 1505769425
>>1505763
Точка с запятой стоит. На какой строке у меня проблема с написанием? Где я enter не поставил?
Аноним 27/10/19 Вск 00:10:00 1505775426
>>1505758
Проверяй что все фигурные скобки в файле (и инклудах) правильно спарены
Аноним 27/10/19 Вск 00:17:21 1505781427
>>1505775
>скобки
>в инклудах
Лол. Инклуд с незакрытым неймспейсом это диверсия уровня #define true false а то и выше.
Аноним 27/10/19 Вск 00:26:18 1505786428
изображение.png (116Кб, 1366x768)
1366x768
ЧО НАХУЭ?
Аноним 27/10/19 Вск 00:35:42 1505793429
>>1505786
QObject.h может быть хочет?
Аноним 27/10/19 Вск 00:36:48 1505795430
Аноним 27/10/19 Вск 00:40:05 1505797431
>>1505793
>>1505795
Все решилось перезапуском. Теперь только две предыдущие ошибки остались
Аноним 27/10/19 Вск 00:46:18 1505800432
изображение.png (151Кб, 1366x768)
1366x768
>>1505797
Ошибки из неоткуда появляются. До этого всегда 51 строка работала, а сейчас ошибка выскочила
Аноним 27/10/19 Вск 00:52:45 1505803433
>>1505800
где-то ты опять проебался со скобками
Аноним 27/10/19 Вск 01:01:58 1505808434
>>1505758
Я, конечно, могу быть старым пердуном-консерватором, но с каких пор в плюсах булевые операторы можно писать как and и or вместо православных && и ||?
Аноним 27/10/19 Вск 01:04:58 1505810435
>>1505808
всегда можно было, просто это никто не использовал, кроме странных людей без &| на клавиатуре. Собстно, та же история с триграфами
Аноним 27/10/19 Вск 01:07:02 1505812436
>>1505808
Ага, я бы пиздил за такое.
Аноним 27/10/19 Вск 01:12:58 1505813437
>>1505810
Так а почему тогда ошибка "пропущена ")" перед идентификатором and"?
Ключевое/зарезервированное словое - нихуя не идентификатор.

>>1505812
Двачую, это пиздец.
Аноним 27/10/19 Вск 01:21:25 1505819438
>>1505813
Какой же, повторюсь, пиздец - это действительно компилится.
Аноним 27/10/19 Вск 01:46:40 1505826439
Аноним 27/10/19 Вск 01:50:35 1505829440
>>1505826
А битовые тогда как?
Аноним 27/10/19 Вск 02:00:46 1505836441
>>1505808
> Я, конечно, могу быть старым пердуном-консерватором, но с каких пор в плюсах булевые операторы можно писать как and и or вместо православных && и ||?
В C++98 уже было. Ты настолько пердун, что кодил на плюсах до 98-го года?
Аноним 27/10/19 Вск 02:01:59 1505838442
>>1505813
>Так а почему тогда ошибка "пропущена ")" перед идентификатором and"?
>Ключевое/зарезервированное словое - нихуя не идентификатор.
Спроси это у тех, кто писал/переводил диагностические ошибки в твоём компиляторе.
Аноним 27/10/19 Вск 02:02:23 1505839443
>>1505765
Выходные - нормальные люди тусят, одни шизики в треде
Аноним 27/10/19 Вск 02:07:29 1505840444
>>1505265
>Квадратные скобки -- синтаксический сахар, маскирующий выражение (a + b).
Начиная с C++17 (или даже 14) между E1[E2] и *((E1) + (E2)) есть некоторая разница.
Аноним 27/10/19 Вск 02:33:49 1505845445
>>1505840
Кокая? Неужели bound check?
Аноним 27/10/19 Вск 02:34:57 1505847446
>>1505845
>Кокая?
Самому посмотреть никак?
Аноним 27/10/19 Вск 02:50:21 1505851447
y78.jpg (137Кб, 500x429)
500x429
Сделал небольшое приложение для скриншота рабочего стола на winapi, укажите на ошибки, кому не лень, буду благодарен.
https://github.com/AI-Decay/ScreenDesktop
ньюфаг-студент
Аноним 27/10/19 Вск 03:12:24 1505856448
>>1505851
а че оно может то?
режим выделения мышкой есть?
а скрин текущего активного окна есть?

Аноним 27/10/19 Вск 03:17:27 1505857449
>>1505851
копирование в буфер обмена есть?
скрытие курсора есть?
скрытие оформления окна в режиме снятия скриншота с текущего активного окна есть?

Аноним 27/10/19 Вск 03:20:27 1505858450
>>1505856
>>1505857
Есть выбор 1 из 4 форматов, сохранение скринов с актоименованием в отдельную папку, сворачивание в трей, скрин на принтскрин или кнопку в окне, сохранение выбранного формата до след запуска. Больше ничего не умеет.
Аноним 27/10/19 Вск 03:22:16 1505859451
>>1505851
а вообще винда десяточка умеет делать все это
разве что отложенные скриншоты не умеет и запись видеоряда
Аноним 27/10/19 Вск 03:25:13 1505860452
Аноним 27/10/19 Вск 03:28:13 1505862453
>>1505859
>отложенные скриншоты не умеет
и это умеет
печалька для юных программистов
они ощущают свою ненужность
Аноним 27/10/19 Вск 03:39:13 1505863454
thewackyweirdne[...].png (463Кб, 604x403)
604x403
>>1505839
>Выходные - нормальные люди тусят, одни шизики в треде
Аноним 27/10/19 Вск 03:51:53 1505865455
image.png (3Кб, 462x24)
462x24
image.png (384Кб, 700x700)
700x700
жду
Аноним 27/10/19 Вск 04:11:31 1505870456
Ку, крестач
Пилю на бустах проект, хочу впоследствие прикрутить к нему гуи (таков проект, только в терминале он будет слегка уебищен), что лучше юзать? Не тащить же весь Qt из-за одного только гуи
Аноним 27/10/19 Вск 04:37:50 1505877457
>>1505870
>что лучше юзать?
electron
Аноним 27/10/19 Вск 04:46:35 1505878458
>>1505870
Почему нет? Не понимаю этого "не тащить же весь qt из-за модульнейм". У тебя ограничение на размер приложения?
Аноним 27/10/19 Вск 05:34:54 1505889459
Чет я нихуя не понимаю, почему
while(pow(++g,2) < 2500)
std::cout << pow(++g,2) << " " << temp << "\n";
g достигает значения 51? Разве цикл не должен завершиться на 50?
Аноним 27/10/19 Вск 05:47:13 1505896460
>>1505889
Не забывай, что pow работает с числами с плавающей точкой, и pow(50,2) может вернуть что-то вроде 2499.9999666
Аноним 27/10/19 Вск 05:49:41 1505897461
Спасибо, если заменить на g*g то всё работает. Странно, что в ideone такой проблемы не было.
Аноним 27/10/19 Вск 05:50:04 1505898462
>>1505870
Не хочешь тащить - выбора мало. Чистый windows api или mfc, или дотнетовский windows forms через c++/cli
Аноним 27/10/19 Вск 08:40:45 1505923463
>>1505889
Ты, дегенерат, два раза g увеличиваешь.
Аноним 27/10/19 Вск 08:43:34 1505924464
>>1505669
>тормозящее говно, иногда у qmake отваливается синхронизация с файлами и приходится перезагружать всю IDE
ноудискасс
Аноним 27/10/19 Вск 08:51:09 1505926465
>>1505829
Ну смотри
&& -> &
|| -> |
Тогда
any -> a
or -> o
Аноним 27/10/19 Вск 08:51:59 1505928466
>>1505847
Ты спизданул, ты и пиши
Аноним 27/10/19 Вск 08:56:36 1505929467
Аноним 27/10/19 Вск 09:09:06 1505932468
Аноним 27/10/19 Вск 09:52:09 1505940469
Снимок.PNG (50Кб, 1696x419)
1696x419
Двач образовательный, подскажи плз как сделать каст, что только не пробовал, но компилятор вечно ругается.
Аноним 27/10/19 Вск 10:10:56 1505947470
>>1505940
Мне кажется проблема в том, что ты преобразовываешь перед auto
Аноним 27/10/19 Вск 10:25:30 1505949471
Снимок.PNG (56Кб, 1736x469)
1736x469
>>1505947
Вот так тоже пробовал.
Аноним 27/10/19 Вск 10:34:34 1505953472
>>1505949
Во-первых, почини вывод студии.
Во-вторых, ты мог сам загуглить ошибку C2280, ознакомиться с ее текстом и предположить, что же не так с тем классом, к которому ты пытаешься скастить.
Аноним 27/10/19 Вск 11:36:13 1505985473
>>1505923
Я это сразу как скинул увидел, но проблема была не в этом.
Аноним 27/10/19 Вск 11:39:53 1505990474
image.png (31Кб, 499x296)
499x296
15559843514840.png (195Кб, 680x680)
680x680
А теперь можно лабы поделать
Аноним 27/10/19 Вск 11:51:59 1505994475
>>1505990
аватарка, че у тебя за лабы с бустом и сфмл?
Аноним 27/10/19 Вск 12:23:17 1506003476
>>1505994
буст для юнит тестов, сфмл для отрисовки фигур. Вместо неё также можно информацию в консоль выводить, но тогда меньше баллов будет
Аноним 27/10/19 Вск 13:38:03 1506043477
>>1506003
тянуть 300+ пакетов буста для буст юниттестов это вин.
Аноним 27/10/19 Вск 14:18:21 1506069478
>>1506003
>буст для юнит тестов
слухи ходят что не самая лучшая либа, что лучше таки гугл моск..
Аноним 27/10/19 Вск 14:37:31 1506076479
>>1506069
Ещё есть слухи, что в 2к20 лучше вообще взять хэдэронли catch2 и не ебать мозг с жирными либами для тестов.
Аноним 27/10/19 Вск 14:53:47 1506084480
>>1506069
наверное, ты имел ввиду гуглтест, который, кстати, полное говно

>>1506076
Этого джентельмена двачую
Аноним 27/10/19 Вск 15:09:04 1506097481
>>1505898
кто тебе сказал, что я на винде?с:
Аноним 27/10/19 Вск 15:20:15 1506107482
>>1506097
если что-то очень небольшое - то imgui или nanogui
Аноним 27/10/19 Вск 15:22:13 1506108483
Указатель на массив и указатель на первый элемент массива это же разные вещи?
Аноним 27/10/19 Вск 15:27:25 1506113484
>>1506108
имя массива == указатель на его нулевой элемент (только если это си-стайл массив, а не std::array, который нужно передавать по ссылке в функции, чтобы изменить напрямую)
Аноним 27/10/19 Вск 15:41:18 1506129485
Аноним 27/10/19 Вск 15:41:27 1506130486
>>1506113
Просто есть ведь такая хрень (™p)[3]=&arr, которая почему то не одно и тоже что ™p = arr
Аноним 27/10/19 Вск 15:42:33 1506133487
>>1505924
Так используй CMake, нахуя тебе qmake? Лично я с qmake е работаю и у меня ничего не тормозит в сравнении с другими IDE.
Аноним 27/10/19 Вск 15:42:39 1506134488
>>1506108
Технически на linux, win, mac - одно и то же. Если массив не POD типов выделяется динамически, то у массива есть -1 элемент, в котором лежит кол-во объектов в массиве. Эту инфу потом считывает delete [] для вызова необходимого количества деструкторов. Насколько я помню, это - unspecified behaviour, так что вполне может оказаться, что указатель на массив и указатель на первый объект могут различаться.

Буду рад, если кто-то залезет в говностандарт и чекнет
Аноним 27/10/19 Вск 15:43:48 1506136489
>>1506134
> то у массива есть -1 элемент, в котором лежит кол-во объектов в массиве.
А если массив char? В -1 элемент количество ведь не поместится
Аноним 27/10/19 Вск 15:44:36 1506137490
>>1506134
> указатель на массив и указатель на первый объект могут различаться.
what_the_fuck_am_i_reading.jpeg
Аноним 27/10/19 Вск 15:44:57 1506138491
>>1505851
Все хорошо, только код ты написал на Си, вместо С++. Переделывай.
Аноним 27/10/19 Вск 15:45:51 1506140492
>>1506136
Компилятору похуй, он рассчитывает, что перед началом массива есть ячейка size_t.
Аноним 27/10/19 Вск 15:46:37 1506142493
Мужики, я походу в шаблонах утонул. Сел порефакторить блять...
Аноним 27/10/19 Вск 15:47:05 1506145494
>>1505765
Зачем форсить объективно лучшее иде?
Аноним 27/10/19 Вск 15:47:26 1506147495
>>1506003
> буст для юнит тестов
Обосрался.
Аноним 27/10/19 Вск 15:47:34 1506148496
>>1506145
Тебе и нетбинс лучшая иде
Аноним 27/10/19 Вск 15:49:52 1506151497
>>1506148
> пук
Какие альтернативы у clion? Студия, которая работает как черепаха, не кроссплатформенна и весит 6 гигов?
Аноним 27/10/19 Вск 15:50:03 1506153498
>>1505765
Маня, не все сидят на винде и даже на винде не все сидят в студии. Я студию не переношу из-за тормозов. Отключаю в ней вообще весь интеллисенс и оставляю ее только для дебагера. Все остальное делаю в clion (а до стабилизации clion - в богомерзком eclipse. Да, даже сраный eclipse cdt был лучше студии+resharper/vassist)
Аноним 27/10/19 Вск 15:50:43 1506154499
>>1506151
Нет, студия - это говно. Я выбираю QtCreator.
Аноним 27/10/19 Вск 15:51:31 1506156500
А еще clion наше, русское творение. Вы не патриоты?
Аноним 27/10/19 Вск 15:52:22 1506157501
>>1506154
ну и сиди без рефакторинга и с лагающим codecomplete. Алсо, как там, нормальное открытие исходников в отдельном окне уже добавили?
Аноним 27/10/19 Вск 15:52:31 1506158502
>>1506156
Вот поэтому он и говно. JetBrains - отвратительная контора для андроид разработчиков-пидоров.
Аноним 27/10/19 Вск 15:54:03 1506160503
image.png (34Кб, 476x237)
476x237
>>1506157
Лично у меня рефакторинг работает и codecomplete не лагает.
> открытие исходников в отдельном окне
Я никогда этим не пользовался. А ты можешь сам написать плагин, если тебе это сильно нужно.
Аноним 27/10/19 Вск 15:54:22 1506161504
>>1506158
Что тебе не нравится в clion? Jetbrains один из лучших работодателей в россии, где прогеры решают действительно сложные задачи и получают очень хорошо.
Аноним 27/10/19 Вск 15:54:46 1506162505
>>1506160
размер исходников в студию, пожалуйста
Аноним 27/10/19 Вск 15:55:04 1506164506
>>1506161
За настолько сложные задачи нужно платить больше.
Аноним 27/10/19 Вск 15:56:04 1506165507
>>1506138
Старался использовать С++ как мог, сделал лямбда-функцию и использовал _cast. Разве что malloc на new поменять и умных указателей добавить. Как я ещё могу использовать возможности C++?
Аноним 27/10/19 Вск 15:56:12 1506166508
>>1506151
>>1506153
Ты понимаешь, что Clion это вообще не иде, а текстовый редактор со свистоперделками? А студия полноценная иде. Про лаги пиздеж полный, это ваш Clion валится на проектах >20k строк кода.
Аноним 27/10/19 Вск 15:57:52 1506171509
image.png (36Кб, 469x91)
469x91
Аноним 27/10/19 Вск 15:58:48 1506174510
Аноним 27/10/19 Вск 16:00:15 1506176511
>>1506166
Шизик, свои манякритерии ide оставь при себе. Про "валится на проектах >20k строк кода" - тоже пиздеж полный. Спокойно открываю в нем всякие clang/llvm и прочие шняги на 450+mb только исходников.

>>1506171
детский сад. Алсо, ты в мегафоне работаешь? Сколько платят? Себя ненавидишь?
Аноним 27/10/19 Вск 16:02:31 1506180512
>>1506176
В смысле детский сад? 8.8мб чистого кода - это тебе не хуй собачий.
Нет, не в мегафоне. Платят 100к, хотелось бы больше.
Аноним 27/10/19 Вск 16:07:17 1506185513
>>1506176
Мань, начнем с того, что в твоем текстовом редакторе нет нормального отладчика, работа с которым занимает больше времени, чем написание кода. Тестов нормальных тоже нет. На этом можно закончить, это говноподелие от жидбрейнс не подходит для чего-то крупнее хеллоуворлда. Про написание драйверов и прочих низкоуровневых компонентов ос вообще молчу.
Аноним 27/10/19 Вск 16:10:28 1506191514
>>1506180
>8.8мб чистого кода - это тебе не хуй собачий
уговорил. Сколько компилится?

>>1506185
>нормального отладчика, работа с которым занимает больше времени, чем написание кода
Интерфейс к отладчику есть, работает стабильно. А вот gdb/llvm работают херово, да. Поэтому я отладчиками практически не пользуюсь. Хватает тестов и санитайзеров
>Тестов нормальных тоже нет
Есть
Аноним 27/10/19 Вск 16:13:36 1506195515
>>1506191
> Сколько компилится?
Минут 5.
Аноним 27/10/19 Вск 16:15:38 1506198516
Аноним 27/10/19 Вск 16:42:52 1506229517
Вот тут у кого то 8 мегабайт исходников 5 минут компилиться. Если в эти 8 мб допусать одну строку оно все пересобираться будет?
Аноним 27/10/19 Вск 17:00:16 1506242518
Аноним 27/10/19 Вск 17:06:39 1506244519
>>1506229
Если в .h, который включается повсеместно, то да. Если в CPP что-то поправил - то только один файл пересоберется. Ну и перелинковать затронутое разумеется.
мимо собираю проект 1,5 часа с распределённой системой сборки
Аноним 27/10/19 Вск 17:22:10 1506256520
>>1506244
А если у меня cpp файл на мегабайт? Почему нельзя компилировать типо построчно где это возможно. Питон же так исполняется
Аноним 27/10/19 Вск 17:22:36 1506257521
>>1506153
> Я студию не переношу из-за тормозов. Отключаю в ней вообще весь интеллисенс и оставляю ее только для дебагера. Все остальное делаю в clion
windbg не пробовал? советую, если что


Аноним 27/10/19 Вск 17:22:50 1506258522
>>1506256
Съебал с треда, пидор.
Аноним 27/10/19 Вск 17:26:31 1506260523
>>1506134
>Если массив не POD типов выделяется динамически, то у массива есть -1 элемент, в котором лежит кол-во объектов в массиве.
не, не у массива..
как правильно хранить (те сколько памяти нужно выделить, а потом удалить) лежит на реализации new[]/delete[], стандарту это без разницы, способ реализации он оставляет за теми кто будет реализовывать стандартну библиотеку..
Аноним 27/10/19 Вск 17:32:44 1506264524
>>1506113
>имя массива == указатель на его нулевой элемент
формально, это не так
формально, в некоторых случаях производится низведение типа
к примеру, при передаче по значению в функцию фактический аргумент типа массив низведется, и формальный аргумент станет типа указатель элемента массива

Аноним 27/10/19 Вск 17:34:19 1506266525
>>1506076
>catch2
спасибо за наводку

Аноним 27/10/19 Вск 17:48:35 1506281526
сап, анчоусы.
А где-нибудь можно взять core guidlines в pdfочке?
Хочу напечать, чтоб на бумажке читать от экранов уже глаза пиздец как болят, хочу бумажку
Аноним 27/10/19 Вск 17:51:58 1506284527
Аноним 27/10/19 Вск 17:53:46 1506285528
>>1506069
>>1506084
>>1506076

Есть ещё TUT и Qt Test (работал только с последним)
Вообще, есть есть какие-нибудь сравнения? Чем плох буст? Чем плох гугл? Почему Catch2 лучше?

Есть какой-нибудь анон, который в этом говне копался?
Аноним 27/10/19 Вск 17:59:33 1506288529
>>1506284
Потому что cpp на 1 метр - это лютейший пиздец и тем, кто хуярит такие файлы в 99% случаев надо нахуй отрубать руки, чтобы они больше писать ничего не могли
Аноним 27/10/19 Вск 18:06:08 1506292530
>>1506288
То есть при малейшем изменении пересобирается весь файл? Зачем?
Аноним 27/10/19 Вск 18:33:08 1506312531
>>1506257
Ну ты советчик конечно, неосилятор со студией совладать не может, а ты ему дедушку windbg советуешь взять.
Аноним 27/10/19 Вск 18:45:05 1506320532
>>1506312
Что именно нужно осиливать в студии: тормоза или креши? Просто хочу разобраться
Аноним 27/10/19 Вск 19:05:43 1506339533
>>1506285
у google test тесты как тесты. много вариантов запуска у раннера, удобно. В целом похоже на все остальные тестовые фрейворки. boost test по функционалу победнее google test, но жить можно.
Аноним 27/10/19 Вск 19:26:56 1506906534
>>1506320
> Чем плох буст?
Стрельба ядерными боеголовками по воробьям

> Чем плох гугл?
не header-only

> Почему Catch2 лучше?
Header only, и не застрял в С++98, как буст
Аноним 27/10/19 Вск 19:27:42 1506908535
>>1506292
А как ещё? Ты, например, переставил местами поля в структуре. Формально изменения в двух строчках, на практике паддинги и смещения пошли по пизде во всей программе.
Аноним 27/10/19 Вск 19:34:16 1506912536
>>1506292
далеко не весь. У тебя от старой компиляции остаются обьектники, и при изменении и рекомпиляции - старые обьектники частично могут переиспользоваться, компилируя только измененный код
Аноним 27/10/19 Вск 19:40:30 1506917537
>>1506912
разве cpp не целиком компилируется в объектник?
Аноним 27/10/19 Вск 19:50:14 1506923538
>>1506917
да, но если ты изменил 1 функцию, а еще 999 не тронул - то смысл перекомпилировать 999, когда их можно взять из обьектника? Собстно, студия так и делает.

А вот если ты сменил какую-нибудь там структуру, то перекомпилируется все, что ее использует. Но не вообще все.
Аноним 27/10/19 Вск 20:46:56 1506984539
>>1506312
почему дедушку
windbg активно развивают, постоянно выходят новые версии..
посмотри хоть скриншотики..

Аноним 27/10/19 Вск 20:50:34 1506986540
>>1506984
и есть еще типа WinDbg Preview, это новая морда к windbg, которая доступна в магазине windows//
Аноним 27/10/19 Вск 20:57:24 1506992541
>>1505928
Тебя ебёт "кокая", ты и выясняй
Аноним 27/10/19 Вск 22:39:04 1507083542
>>1506147
Чем буст тест плох?
Аноним 27/10/19 Вск 23:42:18 1507111543
>>1506992
Так он и выясняет у тебя
Аноним 28/10/19 Пнд 03:19:06 1507156544
image.png (168Кб, 1452x919)
1452x919
Я закончил с рефакторингом и теперь у меня всё через шаблоны! А я уж было решил что убил проект!

Алсо, рейтаните кусок кода.
Аноним 28/10/19 Пнд 04:15:45 1507160545
>>1507156
Уже нашёл баг в перегрузке метода create, не обращайте внимание
Аноним 28/10/19 Пнд 08:27:51 1507192546
Имеется библиотека, написанная на C, мой проект на C++, как мне из С++ работать с этой библиотекой, и как компилить, если либа через gcc компиляю, а сам проект на g++?
Аноним 28/10/19 Пнд 08:35:32 1507194547
>>1507192
не библиотека а заголовок
Аноним 28/10/19 Пнд 09:15:31 1507205548
>>1507156
Нахуя тебе parameter pack, если ты им не пользуешься?
Аноним 28/10/19 Пнд 10:20:20 1507217549
>>1505279
Там стандарт на 1000 страниц с предупреждениями, хочешь сказать, ты его прочитал и всё наизусть знаешь?
Аноним 28/10/19 Пнд 10:23:08 1507218550
>>1507156
Сколько ж ты шаблонного говна написал для 3 ссаных сообщений.
Аноним 28/10/19 Пнд 10:23:20 1507219551
Аноним 28/10/19 Пнд 13:12:04 1507298552
шо, опять? бьем до 700 пстов и только тогда перекатываем?
Аноним 28/10/19 Пнд 13:12:24 1507299553
Как поумнеть и написать лабы по С++ ?
Аноним 28/10/19 Пнд 13:18:17 1507301554
изображение.png (19Кб, 1104x646)
1104x646
while (ct++ < 5)
{
cin >> ch;
stackSymbol.push(ch); // помещаем элементы в стек
}
cout << endl;
stackSymbol.printStack(); // печать стека
cout << "\n\nУдалим элемент из стека\n";
stackSymbol.pop();
stackSymbol.printStack(); // печать стека
Stack<char> newStack(stackSymbol);
cout << "\n\nСработал конструктор копирования!\n";
newStack.printStack();
cout << "Второй в очереди элемент: " << newStack.Peek(2) << endl;
return 0;

Посоны а для чего нужен конструктор копирования.
Я лабу списал, но не понимаю как она работает.
:(
(Ну то есть там ещё h и срр файл со стеком)
Но примерно можете сказать для чего он нужен.
А то я довн. Или направьте меня куда нибудь нахуй по адресу.
Аноним 28/10/19 Пнд 13:20:18 1507305555
Аноним 28/10/19 Пнд 13:22:49 1507309556
>>1507156
послушай
комбинация std::variant в связке std::visit может использоваться как некий аналог динамического полиморфизма в крестах
но, блядь, зачем
когда у тебя есть проверенный десятилетиями пусть через гомогенные иерархии классов и виртуальные методы
std::variant в первую очередь как замена union, и в том числе для работы с встроенными типами; как один из инструментов type erashure, а не замена наследованию и интерфейсам


Аноним 28/10/19 Пнд 16:38:15 1507552557
>>1507309
>динамического полиморфизма
Разве это не статический полиморфизм?

>>1507309
>гомогенные иерархии
Чоткие поцаны таких не любят
Аноним 28/10/19 Пнд 19:22:24 1507748558
Что могут спросить на собеседовании при наличии следующей фразы в требованиях
>знаком со средствами обобщенного программирования в С++ (templates);
Впервые такую формулировку вижу. И еще, сколько обычно отвечают на резюме, и отвечают ли на него вообще если ты не проходишь?
Аноним 29/10/19 Втр 19:30:39 1508603559
Аноним 30/10/19 Срд 09:25:51 1508932560
Хочу вкатиться в qt, чтобы сделать сапер. Что почитать?
Аноним 30/10/19 Срд 10:53:26 1508982561
>>1507748
Например написать функцию суммирования принимающую рандомное количество аргументов какого либо типа.
Аноним 31/10/19 Чтв 19:49:23 1510102562
Аноним 01/11/19 Птн 22:13:07 1511025563
почаны, подскажите как православно возвращать вектор из метода? по значению? или как?
Аноним 02/11/19 Суб 14:52:03 1511360564
777777.png (27Кб, 870x213)
870x213
Почему auto выводит точно такой же тип, но студия не ругается?
Аноним 02/11/19 Суб 17:01:00 1511414565
>>1511025
если вектор был создан непосредственно в методе, то его придется возвращать по значению, ибо в конце метода он разрушается и если ты вернешь его по ссылке - ты вернешь участок памяти с мусором вместо вектора. Если вектор был передан в метод, то возвращать его лучше, конечно же, по ссылке.
Аноним 03/11/19 Вск 23:13:02 1512499566
>>1511025
по значению, там будет либо (N)RVO, либо перемещение.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов