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


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

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

C++ №93 /cpp/ Аноним 10/09/19 Втр 20:34:42 14713681
1568136862194.png (23Кб, 360x405)
360x405
Аноним 10/09/19 Втр 20:39:44 14713702
1568137163629.PNG (813Кб, 604x624)
604x624
Кто нибудь работал с QGraphicsScene и прочим? Как эту хуйню скейлить? До этого работал с QLabel, он скейлился без проблем, легко и просто, а эта ебола не хочет.
Мне надо открывать картинку и по нажатию на кнопку зумить ее, как в фотошопе. На QGraphicsScene добавляю QGraphicsPixmapItem с картинкой. Что дальше то делать? Менять размер QGraphicsPixmapItem и QGrapicsView?
Аноним 10/09/19 Втр 22:18:34 14714373
Аноны, смотрите. Данные хранятся в контейнере, и я беру часть этих данных (не упорядоченных) в дальнейшую обработку. Сейчас я уебищно сделал лист ссылок, которые ссылаются на нужное мне, чтобы не копировать байты, но это все как-то выглядит пиздец дико. Как корректнее всего делать выборку? Чувствую, что должны быть алгоритмы и функторы
Аноним 10/09/19 Втр 23:59:14 14714894
>>1471437
В общем случае - список указателей на элементы контейнера. Ну или итераторов (пар итераторов), но плиз не вводи людей в заблуждение.
Аноним 11/09/19 Срд 07:28:46 14715945
>>1471489
В какое заблуждение?
Аноним 11/09/19 Срд 08:50:12 14716246
>>1471594
Ну вот посмотрит человек на твой код со списком итераторов и сразу же подумает, что его писал какой-то псих
Аноним 11/09/19 Срд 13:18:15 14717387
>>1471624
В том то и проблема, что я не понимаю, как от этой проблемы уйти, чтобы не делать копирований в подсписки. Может быть делать сортировку по признаку, и работать с этим?
Аноним 11/09/19 Срд 14:35:07 14717768
Аноним 11/09/19 Срд 15:39:50 14718179
>>1471738
Отталкивайся от условий задачи. В создании списка указателей ничего плохого нет. Этот вариант пойдёт для любого контейнера. Конкретно для вектора можно по-своему отсортировать и хранить список пар индексов от-до. Короче ебаш список указателей и не еби мозг, даже миллион указателей на x64 это меньше 8мб
Аноним 11/09/19 Срд 16:42:58 147185410
Аноним 11/09/19 Срд 16:57:05 147186111
image.png (97Кб, 1600x920)
1600x920
Аноны я просто создал проект и уже проебался. Что я делаю не так?
Я даже нажать нихуя кроме F5 не успел. Просто на хелоу ворлд посомтреть хотел, а меня и тут посылают нахуй.
Аноним 11/09/19 Срд 17:00:42 147186312
>>1471861
Судя по всему, ты c++-ный код пытаешься компилировать как сишный. Пересохрани файл с расширением .cpp и передобавь в проект.
Аноним 11/09/19 Срд 17:08:03 147186513
Аноним 11/09/19 Срд 17:52:26 147187814
>>1471368 (OP)
Как проще всего создать битмап, заполнить его и вывести в окошке? Цель -- рендеринг всякой залупы вроде вращающихся кубиков без opengl и direct3D. Платформа -- винда.
Аноним 11/09/19 Срд 17:56:26 147188015
>>1471878
Велосипед изобрести хочешь?
Аноним 11/09/19 Срд 18:00:34 147188216
>>1471878
Смотри в сторону GDI. Но сразу тебе скажу, что это медленнее опенгл/директа раз в 10-20.
Аноним 11/09/19 Срд 18:01:19 147188317
>>1471878

Своей рендерер пишешь? Можешь глянуть в сторону sfml, оно для 2d-графики.
Аноним 11/09/19 Срд 18:13:57 147188818
sfml.png (19Кб, 964x380)
964x380
>>1471880
>Велосипед изобрести хочешь?
Exactly.
>>1471882
>Но сразу тебе скажу, что это медленнее опенгл/директа раз в 10-20.
Я знаю.
>>1471883
Да, спасибо, вроде нашел нужную функцию.
Аноним 11/09/19 Срд 19:44:56 147195719
>>1471854
Спасибо! Вот я ожидал нечто такое, стандартное, шаблонное
Аноним 11/09/19 Срд 20:44:11 147198420
>>1471888
На хабре чувак написал довольно плотный курс по 3d рендеру - https://habr.com/ru/post/248153/ может интересно будет. Он там правда в TGA файлы рендерит потому что поставил задачу не использовать вообще никаких сторонних библиотек (кроме стандартных естественно).
Аноним 11/09/19 Срд 21:05:03 147199121
Аноним 11/09/19 Срд 21:32:27 147201022
>>1471984
>хабре
Говноед, уходи
11/09/19 Срд 21:35:23 147201523
>>1472010

О, медиумоснобы подтянулись.
Аноним 11/09/19 Срд 21:36:24 147201624
Аноним 11/09/19 Срд 21:43:21 147201925
>>1472016

Да, почаще зимой такое пиши, хоть не замёрзну.
Аноним 11/09/19 Срд 22:07:54 147203626
>>1471888
ЕМНИП если ты хочешь чистым винапи рисовать, тебе нужна функция StretchDIBits. Но тебе придётся познать основы Windows Message Loop.
Аноним 12/09/19 Чтв 20:12:17 147243927
Привет крестобогам. Мне сегодня апнули зарплату до 350к\м чистыми. Держу в курсе.
Аноним 12/09/19 Чтв 21:13:08 147247228
Анончики вот моя ситуация: 2 курс вуза, первый год активно развивался в плюсах, написал пару пэт-проектов, позже вылижу их и запилю в резюме. Но в итоге я знаю на более-менее нормальном уровне Qt/QML/стандартная библиотека, но в каких-то тонкостях не разбираюсь. Есть какой-то роадмап для подготовки к собеседованиям, который я бы за год смог комплитнуть. В день могу тратить до 8 часов в основном так и выходит на обучение.
Аноним 12/09/19 Чтв 21:28:50 147247929
>>1472472
читай книги майерса, Саттера и всякую модерновую хуйню. Вот Николай Джоссутис выпустил книгу про С++17.

Мимо-350к-кун
Аноним 12/09/19 Чтв 21:32:13 147248230
>>1472479
А практика? Что бы ты спросил у джуна если бы тебя посадили вести собесы?
Аноним 12/09/19 Чтв 21:33:12 147248331
>>1472439
На чем пишешь?
>>1472472
Я с уровнем около твоего легко ворвался на стажировку. На всех собесах спрашивали алгоритмы, поэтому подучи их и реши на литкоде хотя бы 30 задач уровня медиум. Хотя у меня в твое время даже аккаунтов там не было и я как-то сам без подготовки вывозил. По крестам спрашивали либо всякие тонкости уровня cppquiz (загугли, решай, вот это я практиковал для вката), либо вполне адекватные вопросы типа как хранить в объектах класса лямбду и искать в мапе ключи по значению, но как к последним подготовиться я не знаю.
А вообще считаю, что подготовка к собеседованиям это зло и жульничество, надо приходить и вывозить чисто на реальном опыте и скилле.
Аноним 12/09/19 Чтв 21:34:37 147248532
>>1472472
Алсо, могут ли в 2020 спрашивать за 20 стандарт? Стоит ли на него силы тратить, знаю там много клёвых фич завезли, но неизвестно когда их будут поддерживать компиляторы.
Аноним 12/09/19 Чтв 21:39:50 147248933
>>1472483
>алгоритмы
Из стандартной библиотеки или какие-то другие? Можешь уточнить пожалуйста.
Аноним 12/09/19 Чтв 21:49:02 147249334
>>1472489
Я про теорию алгоритмов
Аноним 12/09/19 Чтв 22:45:11 147251835
Такой вопрос. Почему copy assigment operator вызывается только при присвоении к уже созданному элементу, когда при создании типа Foo a = b вызывается copy constructor? Почему так было придумано? По этой же причине, видимо, если есть конст-члены класса, то дефолтный оператор удаляется?
Аноним 12/09/19 Чтв 23:13:16 147253136
>>1472482
Указатели, ооп, raii, шаблоны, управление памятью, вопросы по стл, от джуна много не надо.

>>1472483
Кресты 17ые под шинду
Аноним 12/09/19 Чтв 23:16:00 147253237
>>1472531
Судя по вашим ответам я уже могу искать себе вакансию трейни но они все требуют хотя-бы студента 3 курса сука . Спасибо в любом случае
Аноним 12/09/19 Чтв 23:16:38 147253438
>>1472518
к чему ты применишь оператор, если у тебя еще что-то не создалось, а?
A copy assignment operator of class T is a non-template non-static member function
Аноним 12/09/19 Чтв 23:30:58 147254039
>>1472485
Вряд ли, еще 17 далеко не везде используют, могут спросить только чтобы понять, насколько ты заинтересован языком и в курсе его новшеств
Аноним 12/09/19 Чтв 23:36:31 147254140
>>1472532
Забыл исключения еще. Про срр20 вообще забей, его еще прилично не будет в проде везде, кроме яндекса
Аноним 13/09/19 Птн 01:15:26 147258341
>>1472531
> Что бы спросил у джуна?
> ООП
Галера as is.
Аноним 13/09/19 Птн 01:22:08 147258542
>>1472439
> Привет крестобогам. Мне сегодня апнули зарплату до 350к\м чистыми. Держу в курсе.
>>1472479
>Мимо-350к-кун

Какой унылый уебок.
Аноним 13/09/19 Птн 01:23:35 147258743
Аноним 13/09/19 Птн 09:11:15 147267044
>>1472541
А что будет а cpp20? Что нибудь крутое? Заживем?
Аноним 13/09/19 Птн 09:31:16 147267545
Сап, аноны. Мой проект на C++ заключается в приеме инфы по сети (в будущем pcie), ее обработке и выдаче, предполагается перенос проекта на arm или еще какую-то архитектуру.
И вот для пеки, на время разработки, родилась идея хорошего и удобного вывода в виде веб-странички. Я в веб-технологиях и апи не шарю, и хочу узнать, как сделать лучше?
Мне не очень нравится идея сделать веб-сервер внутри моей проги, и запускать/компилировать его флагами, хотя вариант рабочий. Веб-страничка может быть даже скомпилена, и можно даже прикрутить AJAX и JSON обмен с браузером (такое я делал в LwIP, вышло хорошо и годно).
Какие еще есть варианты? Может быть, выводить статусы проги в консоль или какой-то системный поток, и его подхватывать внешним, отдельным скриптом с сервером в ОС? Или сделать в моей программке tcp-сокет со своим простеньким протоколом, к которой уже будет подключаться http сервак (выйдет так же, как если http сервер встроить в программку).
Не знаю, как нагуглить эту проблему, поэтому пишу сюда.
Аноним 13/09/19 Птн 11:52:23 147271646
>>1472675
Еще есть вариант отдавать json'ы и рисовать все уже на клиенте жабаскриптом. Плюс в том, что облегчает работу серверу, и допускает написание других фронтэндов. А если логика формирования данных простая, то можно сделать это и на С++, и даже без асинхронности, чисто в отдельном треде.

Я бы выбрал подход с отдельным сервером на питоне.
Как реализовать обмен между сервером и твоей прогой - вопрос, решение которого зависит непосредственно от данных. Например, если тебе нужно гонять гигабайты, то консоль не подходит, а memory mapped files - вполне заебись.
Аноним 13/09/19 Птн 13:35:15 147277847
>>1472670
корутины (при том, что они крутые, но как их готовить пока не ясно), концепты (средний двачер не ебашит шаблонное метапрограммирование), контракты не завезли.

Самое страшное - это будет С++26 с метаклассами и рефлексией, там просто ад
Аноним 13/09/19 Птн 13:42:53 147278548
>>1472778
Бустовские корутины я года три назад использовал, проблем не вызвало.
>Самое страшное - это будет С++26 с метаклассами и рефлексией, там просто ад
Из C++ наконец-то сделают Clay?
Аноним 13/09/19 Птн 14:12:32 147280649
>>1471368 (OP)
Что насчет чистоты кода, интересности проектов на C++, ощущение величия и значимости того, что ты делаешь?
Есть преимущества у C++ перед джавой по этим параметрам?
Стоит ли, допустим, уходить с долларовой немодной и говняной вебсферы и легаси кода на джаве на язык C++ ради того, чтобы было бодро, модно, круто, интересно? Или в C++ точно так же пенсионеры месят говно с препроцессором и гордятся переходом на C++11 в 2019 году?
Аноним 13/09/19 Птн 14:23:43 147281550
>>1472716
REST Api - применимое слово к этому говно? Хочу делать всё как все
Аноним 13/09/19 Птн 14:51:28 147282851
>>1472778
>метаклассами и рефлексией, там просто ад
В qt давно сделали и ниче, работает.
Аноним 13/09/19 Птн 17:16:36 147287652
Аноним 13/09/19 Птн 17:36:06 147288653
>>1472778
>корутины
boost
>рефлексия
boost
Аноним 13/09/19 Птн 18:18:24 147290054
Посоветуйте свежих книг по С++ 17, желательно с переводом. С меня как всегда.
Аноним 13/09/19 Птн 18:32:20 147290555
>>1472828
Че за метаклассы и рефлексия?
Аноним 13/09/19 Птн 18:40:40 147290756
1568389220436.jpg (219Кб, 850x839)
850x839
>>1472900
Пикрил.
Нихуя не понял ценовую политику озона.
Аноним 13/09/19 Птн 18:48:41 147291257
Аноним 13/09/19 Птн 18:49:00 147291458
>>1472907
Читаю эту годноту, всё по делу и с примерами, я правда еще ожидал увидеть какие-то общие имлементации стандартных контейнеров или хотя-бы рассказ о внутреннем устройстве, а там в основном фичи с ними.
Аноним 13/09/19 Птн 18:58:58 147292159
>>1472914
>>1472912
Тогда вон тебе анон Йосуттиса посоветовал.
Жаль, что ты проебали эксклюзивное для рашки предложение за 5 баксов. Но мб где-то на торрентах найдешь.
Аноним 13/09/19 Птн 20:57:55 147296760
>>1472675
прога срет в обычный текстовый лог, если надо сложнее - то организуется ротация логов и прочая поебота связаная с организацией процесса логирования (смотри хотя бы как организовано логирование в том же энжинх)
далее эти текстовые логи открываются тексовыми редакторами, которые умеют подхватывать обновляющийся файл (тот же вим)
и все

второй вариант - прога тупо срет в stdout/stderror, а ты в консольке уже все там все смотришь и обрабатываешь это все утилитами 50ти летней давности


Аноним 13/09/19 Птн 21:12:32 147297261
>>1472967
Текстовый лог? Я не разбираюсь в ос, но, надеюсь, диск особо не используется? А если файловой системы в принципе нет?
Аноним 13/09/19 Птн 21:13:45 147297362
>>1472905
Ну ты можешь в рантайме узнать что есть в enum, какие у класса есть методы, узнать в функции кто её вызывает и т.п.
Аноним 13/09/19 Птн 21:56:13 147300363
Аноним 13/09/19 Птн 22:01:13 147300464
>>1472972
никто не мешает тебе срать в файл, даже если на целевой системе нет фс

Аноним 13/09/19 Птн 22:03:29 147300565
>>1472972
>диск особо не используется?
у тебя настолько сильная нагрузка? тогда делают более продвинутые системы логирования - отключают своп буферов, к примеру, и делают его ручками, либо вообще пишут сначала в мапу, а потом уже эту мапу скидывают куском, плюс подключают асинхронку.. вариантов оптимизации масса..

Аноним 13/09/19 Птн 22:30:41 147301466
Захотел сделать так, чтобы комп движения мыши преобразовывал в такой bluetooth сигнал, какой геймпад посылает консоли. Реально ли это или у них sony какая то защита?
Аноним 13/09/19 Птн 23:56:41 147304867
Ситуация следующая, учил кресты 2 года, вроде надрочился, поры бы искать галеру, но есть одно НО! У меня образование внезапно 9 классов. Нет вообще никакого опыта работы, гитхабов и хоть чего-то из чего можно составить резюме. Что мне делать в таком случае?
Аноним 14/09/19 Суб 00:17:05 147305968
Аноним 14/09/19 Суб 00:42:57 147306969
>>1473048
все просто
идешь в технарь, учишся там пару лет, переводишся в технический вузик на кодера, три года бака, 2 года магистратура


OksanaChan 14/09/19 Суб 01:06:15 147307470
Аноним 14/09/19 Суб 01:17:32 147307971
Аноним 14/09/19 Суб 01:23:06 147308372
>>1473014
Я думаю, это зависит от того, что принимает твой блюпуп сигнал.
Если ты сам это регулируешь, то отыщи идентификатор комповного блютус-устройства, научись им посылать сообщения и передавай движения мыши через него.
Но я с этим не сталкивался, это только предположение.
Так-то вряд ли это по логике от тех же сокетов отличается.
Аноним 14/09/19 Суб 01:25:53 147308473
>>1473069
Мне 24, какой технарь, лол. На РАБоту гонят уже во всю. Прям что вообще никуда не возьмут? Язык то я знаю. ДС если что.
Аноним 14/09/19 Суб 01:35:38 147308774
>>1473074
получаешь диплом инженера со специализацией программирование, идешь работать по специальности


Аноним 14/09/19 Суб 08:51:46 147312875
>>1473084
Не слушай студентиков даунов, иди в любую галеру. Если спросят про диплом, говори, что не брал даже, про шарагу можешь сказать, что бросил. Если им нужен диплом - беги нахуй из этой галеры, оттуда ещё совок не ушёл.
Аноним 14/09/19 Суб 09:17:27 147313276
>>1473128
Долбоеб, причём тут совок и диплом? Точнее я знаю почему, но в любом случае диплом стоит показывать. А уж 9 оконченных классов это вообще смех, недочеловек необразованный. Не удивлюсь если он и на митинги ходит
Аноним 14/09/19 Суб 13:30:08 147323977
>>1473132
Если он годный специалист и есть рвение, я бы его вместо многих своих коллег взял
совок-на-заводе-кун
Аноним 14/09/19 Суб 13:32:05 147324078
Аноним 14/09/19 Суб 13:32:20 147324179
Как работает back_inserter? Допустим i имеет этот тип, тогда
(ЗВ)i=5 и
(ЗВ)(++i)=5
Делают абсолютно одно и тоже, как так?
Аноним 14/09/19 Суб 15:33:23 147329280
На пет прожекты смотрят на собесах?
Если да, то что лучше выбрать в качестве пет прожетка на плюсах? В шараге делал небольшой компилятор на пару тысяч строк для выдуманного императивного языка, мне понравилось, но этого мало. Также смотрю в сторону чего то связанного с играми или графикой, можно сделать демку на opengl или игрушку. Еще можно сделать эмулятор какой-нибудь старой консоли типа NES (вот конкретно с этим не работал еще, поэтому не знаю, потяну ли).
Аноним 14/09/19 Суб 15:53:11 147329881
>>1473292
>На пет прожекты смотрят на собесах?
nop
бывает что на тех собес прискакивает челик кабанчиком, а даже и твое резюме не видел..
поэтому, кстати, рекомендуют на собес приходить с распечаткой своего резюме


Аноним 14/09/19 Суб 15:56:13 147329982
>>1473239
конечно он годный специалист
образование 9 классов, никогда не работал до 24 лет и 2 года читал книжечки по с++

Аноним 14/09/19 Суб 16:46:16 147331783
>>1473298
>приходить с распечаткой своего резюме
Чтобы на тебя как на школьника смотрели?
Аноним 14/09/19 Суб 18:33:17 147336184
backinserter.png (28Кб, 850x659)
850x659
Аноним 14/09/19 Суб 19:55:13 147339685
Как нахуй читать msdn? Пытаюсь разобраться с блютузом. Статьи по 3 строчки , миллион ссылок, непонятно в каком порядке читать.
Аноним 14/09/19 Суб 20:04:49 147340086
>>1473396
>миллион ссылок
Сылки в конце статей - дань моде не пришей к пизде рукав. Забей на них, ничего важного не пропустишь.

>в каком порядке читать
В логической последовательности все упорядочено в менюшке слева, ориентируйся на здеся.
Аноним 14/09/19 Суб 20:39:05 147342487
>>1473361
Почему он делает пушбек вместо emplace_back(forward<value_type>(val))?
Аноним 14/09/19 Суб 21:15:09 147344288
Аноним 14/09/19 Суб 21:36:30 147344889
>>1473442
Короче возьму qt. Там норм документация
Аноним 14/09/19 Суб 21:37:40 147345090
>>1473132
У тебя стереотипное мышление.
Аноним 14/09/19 Суб 22:04:50 147346591
>>1473448
>Короче возьму qt. Там норм документация
Тебе для чего надо то? Для десктопа интерфейс проще делать на WPF каком-нибудь. Да, сишарп, но если не лезть в залупу, разницу с плюсами не почувствуешь.
Аноним 14/09/19 Суб 22:55:19 147349392
Вот разделена у меня в qt программа на 3 файла. Как сделать так, чтобы не пришлось в каждом файле отдельно подключать библиотеки?
Аноним 14/09/19 Суб 23:01:53 147349693
изображение.png (76Кб, 1832x1004)
1832x1004
изображение.png (14Кб, 423x607)
423x607
>>1473442
А хуй наны не видел у шпаны?
Аноним 14/09/19 Суб 23:26:32 147350294
>>1473493
Создать хедер, в нём заинклудить нужные библиотеки, а сам хедер инклудить в этих 3 файлах. Но это хуёвая идея, читать код потом невозможно. Оставь как есть, всё равно инклуды пишутся только один раз.
Аноним 14/09/19 Суб 23:33:07 147350595
>>1473502
Нормальная идея. Можно еще precompiled headers настроить.
Аноним 15/09/19 Вск 08:06:08 147355496
Чем кресты от джавы отличаются?
Аноним 15/09/19 Вск 08:09:16 147355597
Аноним 15/09/19 Вск 09:41:19 147357298
>>1473554
токсичным коммьюнити
Аноним 15/09/19 Вск 10:11:44 147358499
>>1473554
>кресты
Элита.
>джавы
Работяги.
Аноним 15/09/19 Вск 10:16:42 1473588100
>>1473465
На qml гораздо проще интерфейс делать ващет, ксамл заебанный местами у биндингов например.
Аноним 15/09/19 Вск 10:46:52 1473596101
>>1473554
На джаве ты можешь писать на джаве. А так, вроде бы всегда по вакансии кресты писал, но 20-50% времени тратилось и на другие языки. Хотя возможно мне так угораздило.
Аноним 15/09/19 Вск 11:27:02 1473610102
хакерманы выручайте
скомпилируйте пожалуйста этот проект - http://itnotesblog.ru/note.php?id=272 (я пишу не на плюсах, так бы справился сам)
ну или подскажите если есть готовый аналог где можно пощупать эффекты от OpenCV с ползунками
Аноним 15/09/19 Вск 12:34:50 1473639103
хоспаде как же хочется на цппкон
Аноним 15/09/19 Вск 17:55:55 1473801104
Аноны, пишу сейчас бэк для сайта на плюсах + кьют не бейте, я для практики, и не пойму с чего начинать. Создал пару синглтонов бд и сервер, а что дальше делать? Мне выходит в базе данных нужно хранить все страницы доступные на сайте? А как отправить http запрос после клика на сайт? Есть у кого пример какого-то элементарного бэка на плюсах?
Аноним 15/09/19 Вск 18:18:23 1473810105
>>1473801
Ой зря ты эту тему поднял...

Копай в сторону cgi. Страницы лучше хранить в виде отдельных файлов, которые нужно будет читать и отправлять клиенту (в cgi их содержимое нужно будет писать в stdout). Ещё понадобится веб-сервер, который будет на каждый запрос дёргать исполняемый файл твоего приложения.
Но так никто уже лет 15 не делает. Бек лучше писать на специально предназначенных для этого языках.
Возможно, для C++ особо упоротые даже создали свои веб-фреймворки. Может, там и годнота есть. Но вряд ли это приведёт к чему-то хорошему.
Аноним 15/09/19 Вск 18:31:46 1473819106
>>1473810
Ну вот есть бд, в ней хранятся ссылки на страницы сайта + часть страницы генерируется динамически. Мне нужно просто отсылать ну или генерировать файлы клиенту? В кьюте есть вебфреймворк, нашел еще Wt но честно говоря не хочется с ним разбираться, каким-то он уж очень мудрёным выглядит
Аноним 15/09/19 Вск 19:58:04 1473876107
Аноним 15/09/19 Вск 20:20:22 1473896108
>>1473801
статический контент ты будешь и так раздавать через веб-сервер, или цепочку веб-серверов когда большая нагрузка, в общем тема эта к крестам не относится
а динамический контент, который надо генерировать, можно отдавать и нативным кодом на крестах, для этого раньше либо пилили свои html шаблонизаторы либо использовали готовые либы для этого, отдаваться они будут cgi либо fastcgi расширениями веб-серверов
но щас типа веб 2.0 и подход есть другой: типа наружу с твоего бэка торчит rest api, а уже фронтендеры делают с ним магию на js; и никто тебе не мешает сделать этот rest api на крестах, к примеру, используя специально заточенную для этого библиотеку cpprestsdk


Аноним 15/09/19 Вск 20:43:57 1473915109
>>1473896
То есть по факту мне просто нужно сделать бд и апи, а остальное делают фронты? В целом звучит логично, но разве не быстрее будет генерировать страницу на сервере и отсылать готовую, чем генерить ее каким-нибудь жсом? Или перфоманс сейчас не в моде?
Аноним 15/09/19 Вск 21:38:45 1473943110
>>1473915
UPD: Узнал про web assembly который может заменить жс, так что всё заебись. Буду пилить рест апи. Анонам спасибо за ответы
Аноним 15/09/19 Вск 21:53:36 1473956111

>>1473896
1. У тебя будет http сервер, который занимается обработкой POST, GET, формированием страниц, обработкой скриптов.
2. У тебя в qt будет ещё один сервак, на каком-нибудь :8099 порте, который будет отправлять json твоему сайту, все в идеологии rest.api. Причем какой-то даже спецлибы иметь не надо, фреймворки js с джейсонами на ты яваскрипт обджект нотейшн же, а qt прекрасно умеет эти json создавать, лучше даже, чем boost (в нем почему-то любой тип будет строкой, я не понимаю почему так нахуй)
Аноним 15/09/19 Вск 22:00:01 1473961112
>>1473915
>разве не быстрее будет генерировать страницу на сервере и отсылать готовую
Тут старый добрый выбор между latency и throughput. В вебе предпочитают throughput.
Считается, что бизнес логика дольше отдачи обычной страницы, поэтому и выделяют фронт-энд (то, что показывается пользователю) и бек-энд (то, что производит действия с базами данных, что-то усердно считает и тд). Да, есть оверхед на каждый запрос, но теоретически, если один какой-то конкретный бек-энд перегружен, можно просто поднять ещё пару инстансов и уменьшится среднее время каждого запроса.
Аноним 15/09/19 Вск 22:10:18 1473969113
>>1473956
То есть вот на примере имиджборды. В базе данных хранятся некоторые статичные страницы, которые редко изменяются и лежат в кэше. Пользователь заходит на сайт - мы ему отсылаем index.html со списком борд. Этим у нас занимается один сервер. Второй сервер при нажатии на какую-то из досок формирует json на основе базы данных список тредов скажем, а дальше это отсылается и парситься фронтом/передаётся первому серверу и он формирует html. Правильная схема?
Аноним 15/09/19 Вск 23:11:17 1474011114
>>1473943
Не может, пока у него нет доступа к DOM. Когда реализуют, заменит.
Аноним 15/09/19 Вск 23:13:02 1474013115
Почему пример поиска блютуз устройств qt не находит мой телефон? видимость включена. Сейчас даже другой телнфон принес. Друг друга видят, а qt нет.
Аноним 15/09/19 Вск 23:16:05 1474014116
>>1474013
А у тебя в компе есть блютуз модуль? Он включен?
Аноним 15/09/19 Вск 23:18:41 1474017117
>>1474014
Некоторые другие устройства видны некоторые я даже не знаю
Аноним 15/09/19 Вск 23:48:28 1474036118
>>1474017
Мож дрова старые, или настройки не те, или частота какая-нибудь не та.
Аноним 16/09/19 Пнд 18:51:47 1474498119
Как скомпилить openmp без -fopenmp в gcc.
Или где почитать что он делает конкретно?
Аноним 16/09/19 Пнд 21:56:38 1474860120
Где можно хостить С++ код? Нашел AWS Edu, но не могу разобраться, можно ли туда залить просто мой код на плюсах и его будут хостить? Почему мне впихивают амазоновские либы на пол гига, и хеллоуворды на 100 строк?
Аноним 16/09/19 Пнд 22:00:46 1474863121
>>1474860
купить впску за 5 баксов в месяц?
Аноним 16/09/19 Пнд 22:06:01 1474868122
>>1474863
А бесплатные варианты для студентов есть? Нам aws, azure и гугл клауд дали бесплатно, на чём-то из них можно без костылей деплойнуть крестокод чтобы он выполнялся без лишних морок?
Аноним 16/09/19 Пнд 22:09:08 1474869123
>>1474860
Копай в сторону VPS. Там можно хостить что угодно, софт ставишь сам. Есть даже такие, где можно даже свой образ ОС накатить.
Бесплатно и бессрочно, конечно, такое встречается редко. Но есть пробные на несколько месяцев, там наиграться успеешь. Да и 200-300 р в месяц - это не так уж и много.
Аноним 16/09/19 Пнд 22:11:43 1474872124
>>1474868
Сделай впску на Азуре или АВС, и туда задеплой.
Аноним 16/09/19 Пнд 22:32:36 1474889125
>>1474872
Можно туповатый вопрос? Мне выходит дали бесплатную машину, которую хостит майкрософт, а я туда могу хоть вычисления протеинов поставить, и оно будет работать пока деньги не закончатся? Я думал что необходимо написать код, а сервис будет хостить конкретно его.
Аноним 16/09/19 Пнд 22:37:14 1474895126
>>1474889
Я не знаю, что у тебя за бенефиты, как у студентика, по-этому тяжело сказать. Но если можешь бесплатно создавать ВПСки - то делай так.

В моем примере - у меня ежемесячно есть халявные 50 бачей в ажуре (у меня MSDN подписка на вижуал студию, на работе купленная, в них это входит), я там хостю впску для майнкрафта и телегопрокси, в месяц сжирается бачей 40, вот и всё.
Аноним 16/09/19 Пнд 22:38:38 1474899127
>>1474895
Да мне много не надо, для обучения и хостинга небольших серверов, дают мне 100 баксов при старте и всё, спасибо за ответ.
Аноним 16/09/19 Пнд 23:07:25 1474929128
Screenshot20190[...].jpg (143Кб, 720x1280)
720x1280
Как сделать так, чтобы ui был виден в любом месте программы? Знаю что это плозая практика, но программа у меня маленькая, а геттеры и сеттеры только усложнят все. Перенос объявления ui и private в public не дал результата. че за причина блокировки на пике? абу пидорас
Аноним 17/09/19 Втр 03:14:45 1475004129
>>1474929
чо, глобал больше нелзья делать в плюсах?
Аноним 17/09/19 Втр 11:33:28 1475128130
Аноним 17/09/19 Втр 19:00:34 1475443131
istream_iterator<string> instr(cin),end;
vector<string> str;
copy(instr, end,back_inserter(str));
Как сделать, чтобы слова читались после ввода символа новой строки? А то они начинают читаться только после ctrl z
Аноним 17/09/19 Втр 20:12:25 1475516132
1568740324380.png (554Кб, 518x499)
518x499
Почему не выводится центральный виджет в QMainWindow???
Пишу:
setCentralWidget(paintArea);
paintArea->setGeometry(0,0,300,300);
paintArea->setStyleSheet("background-color: black");
paintArea->show();

Делаю сборку, нихуя не выводится. Пустое окно. А должен появится черный квадрат в центре окна.
Аноним 17/09/19 Втр 20:28:20 1475533133
>>1474929
Дотнет быдло, ты? Хуярь глобальный контекст, кресты это не тоталитарная ОПП-параша, так что не ссы, тут так можно делать.
Аноним 17/09/19 Втр 20:41:44 1475542134
>>1475443
string s;
while (cin >> s) str.push_back(s);
17/09/19 Втр 21:27:43 1475581135
17/09/19 Втр 21:29:01 1475585136
>>1475516
кури примеры ты ещё должен компонент засунуть в QMainWindow
Аноним 17/09/19 Втр 22:50:43 1475699137
>>1475585
Что значит "компонент"? Имеется в виду, что я должен написать ImageEditor::ImageEditor()
: paintArea(new PaintArea)
так?
ImageEditor наследует у QMainWindow, если что.
Аноним 17/09/19 Втр 23:05:42 1475712138
>>1474872
В итоге так и сделал, просто скомпилил и залил на виртуалку, оттуда запустил и готово. Всем спасибо за помощь
Аноним 17/09/19 Втр 23:35:25 1475742139
1568752504385.PNG (5Кб, 1178x692)
1178x692
Почему у меня центральный виджет присваивает себе размер всего лишь 640х480, хотя у него стоит setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored)? То есть по sizePolicy он должен занимать все свободное место. а на деле - пикрил, дохуя свободного места.
Ничего не понимаю.
Аноним 17/09/19 Втр 23:43:05 1475747140
15687476601900.png (1586Кб, 1600x1184)
1600x1184
В каких случаях может пригодиться ручной вызов деструктора?
Аноним 17/09/19 Втр 23:48:01 1475751141
>>1475747
Когда пишешь свой std::vector контейнер
Аноним 18/09/19 Срд 00:04:55 1475762142
>>1475747
А они трапиковов принласы потому, что те реально классные прогеры? Или есть другая уважамая причина?
Аноним 18/09/19 Срд 00:28:51 1475772143
>>1475747
я хз, но комменты на трубе отключили, хех
раньше они комменты отключали у видео где телки выступали с тупыми докладами и их начинали обсирать, DDD
Аноним 18/09/19 Срд 00:29:12 1475773144
Аноним 18/09/19 Срд 01:39:48 1475789145
>>1475747
В тех случаях, когда у тебя был ручной вызов конструктора
Аноним 18/09/19 Срд 01:43:10 1475792146
>>1475762
> Или есть другая уважамая причина?
Это новый стандарт.
Аноним 18/09/19 Срд 05:43:52 1475810147
>>1475542
А используя итератор?
Аноним 18/09/19 Срд 06:11:35 1475813148
>>1475747
Если у тебя правильное строение класса, то никогда.
Аноним 18/09/19 Срд 06:24:18 1475814149
>>1475747
В общем случае, если у тебя выделение/освобождение памяти отделено от конструирования/удаления объектов.

Вектор уже упоминули, как пример.
Аноним 18/09/19 Срд 07:34:34 1475830150
Аноним 18/09/19 Срд 08:29:39 1475846151
>>1471368 (OP)
Ньюфаг вкатился с парой вопросов:
1. Каковы перспективы языка? Есть ли шанс, что его доля на рынке резко упадёт через пару лет?
2. Велика ли разница между C и C++? Стоит сначала выучить C для лаб в вузе, а только потом вкатываться в плюсы?
Аноним 18/09/19 Срд 09:15:57 1475858152
>>1475846
1. Даже если сегодня внезапно появится йоба-язык который займет все ниши плюсов, то еще лет 30 нужно будет поддерживать уже написанный софт, но зарплаты по сравнению с аналогичным стеком на других языках ниже, так что сравнивай по своему городу.
2. Часто вижу что рекомендуют сначала учить С, а потом переходить к плюсам, но одни говорят одно, другие другое. Если время есть то в принципе можно, но тут пусть более опытные ответят
Аноним 18/09/19 Срд 10:30:35 1475880153
>>1475846
>Каковы перспективы языка?
В разработке новых стандартов активно участвуют крупные разработчики => значит у них есть планы на будущее крестов.

>доля на рынке
Ты на бирже собрался играт или што?

>Велика ли разница между C и C++?
Огромна

>Стоит сначала выучить C
Без знания Си в любом случае не обойтись.
Аноним 18/09/19 Срд 15:17:38 1476088154
>>1475846
1. В фейсбук\гугл\амазон\нетфликс\микрософт крестовики всегда будут нужны. То, что крестам пиздец уже пару десятков лет точно все квохчат, однако они живее всех живых. Язык активно развивается. Через пару лет ничего в этом плане не изменится

2. Если ты студентик и думаешь во что вкатываться - вкатывайся в вебговно.
Аноним 18/09/19 Срд 16:33:41 1476173155
>>1476088
>фейсбук\гугл\амазон\нетфликс\микрософт крестовики всегда будут нужны
хуйня
веб обезьян туда надо на несколько порядков больше
даже и в майкрософт тот же, внезапно
в майкрософт еще много на шарпе кодят, студентосов что туда приходят вджобывать пересаживают с крестов на шарп и вперед, пахай

Аноним 18/09/19 Срд 17:16:02 1476202156
>>1476173
твой тезис никак не противоречит моему
Аноним 18/09/19 Срд 17:25:07 1476206157
>>1475810
Гугли smart iterators. Это хрень типа back_inserter, которая не просто передвигается по контейнеру, а может делать что угодно, например считывать ввод или докладывать о тебе товарищу майору по сети.
Аноним 18/09/19 Срд 18:11:40 1476248158
>>1475712
Опять я, аноны которые работали с азурой подскажите: скомпилил для теста програмку простого сервер, запускаю через консоль на сайте эхо-бот для телеги, всё работает как надо, но через 15 минут просто перестаёт отвечать на запросы. Залил вторую програмку которая дебажит таймер каждые 5 секунд, судя по всему не умирает, так что проблема где-то в соединении. Может азура блочить сеть для виртуалки? Нашел такое только для WebApp
Аноним 18/09/19 Срд 23:26:54 1476487159
>>1476248
Починил запуская программу не через онлайн консоль, а через Run Shell Script
Аноним 19/09/19 Чтв 02:30:57 1476560160
>>1474929
Раскури, что такое ui там и нахуя там агрегация.
Как поймешь - больше таких вопросов возникать не будет, сможешь даже наследовать.
Аноним 19/09/19 Чтв 02:34:14 1476561161
Объясните, почему тут вопросы такие унылые?
Зачем спрашивать то, что в справочниках или на стековерфлоу найти можно?

Где вопросы по дизайну, архитектуре, по бусту, по алгоритмам, сплошные какие-то Кьютопроблемы.

Что может быть проще формошлёпства на КуТэ, и с этим справиться не могут.
Аноним 19/09/19 Чтв 02:52:38 1476570162
>>1476561
У буста есть хелп, остальное дженерик программирование а не кресты.
Аноним 19/09/19 Чтв 03:19:14 1476576163
Аноним 19/09/19 Чтв 03:46:26 1476578164
Кстати про шапку
>>> Его никак не получится выучить за 21 день, ну вот совсем никак.

Ложь-пиздежь и провокация. C++ легко учится за 21 день по той самой книге.
Аноним 19/09/19 Чтв 04:07:36 1476585165
В Qt, я так понимаю, есть выбор, пилить интерфейс с помощью ui-форм или qml? В чём преимущество одного перед другим?
Аноним 19/09/19 Чтв 07:03:14 1476596166
Аноним 19/09/19 Чтв 08:29:03 1476603167
ДСаны, огласите свои заплаты. Не знаю, стоит ли перекатываться из провинции ради надбавки к пайке.
Аноним 19/09/19 Чтв 08:40:41 1476606168
Аноним 19/09/19 Чтв 09:03:58 1476617169
>>1476606
Да ну, не может быть. Я столько в провинции получаю.
Аноним 19/09/19 Чтв 09:04:28 1476618170
Аноним 19/09/19 Чтв 09:17:22 1476621171
cppcon.png (331Кб, 817x430)
817x430
Аноним 19/09/19 Чтв 09:17:49 1476622172
Аноним 19/09/19 Чтв 09:21:13 1476624173
Аноним 19/09/19 Чтв 09:24:31 1476626174
Аноним 19/09/19 Чтв 09:26:46 1476627175
>>1476626
Почему он Страуструпа назвал "Струстрап"?
Аноним 19/09/19 Чтв 10:09:49 1476639176
>>1476561
Ну конкретно по кутям достаточно сложно нагуглить как реализовать определённый элемент интерфейса, тот же TreeView только в первых контролсах, которые депрекейтнут в следующих обновах, вот и спрашивают как костылить самому. А с остальным в принципе согласен, но без таких вопросов тред то особо и не нужен, будут два сеньора сидеть друг с другом общаться
Аноним 19/09/19 Чтв 10:32:33 1476643177
2345678.png (30Кб, 680x444)
680x444
Вот я написал в Qt блокнот и калькулятор, оба экзешника весят по 50 кб (с иконкой 220 кб). Когда я использую на них программу windeployqt, к ним в папку добавляются всякие зависимости. И теперь они весят по 50 мб. Что-то многовато для простенького блокнота и калькулятора? Может оно там чего лишнего насоздавало, чем мои приложения даже не пользуются? Зачем там D3Dcompiler, например? Как сделать, чтобы windeployqt добавлял только самый минимум зависимостей?
Аноним 19/09/19 Чтв 10:37:02 1476644178
Аноним 19/09/19 Чтв 13:49:56 1476780179
Аноним 19/09/19 Чтв 14:23:33 1476817180
Аноны, кто пользуется visual studio, как на ней работать с консолью? Можно ли открыть консоль в проекте прописать хуйню для препроцессора time и проч? (gcc -E аналог)
Аноним 19/09/19 Чтв 14:50:17 1476847181
>>1476817
есть консоль разработчика отдельно, где ты можешь поделать все, что считаешь нужным.

В 2019 апдейт 3 который скоро выйдет - консоль будет внутри студии
Аноним 19/09/19 Чтв 17:50:55 1476984182
>>1476780
Надеюсь ты пробовал ставить Expanded
Аноним 19/09/19 Чтв 17:53:49 1476987183
>>1476847
А в IDEA уже давно консоль внутри, гыыыыыыыыыыыы
Аноним 19/09/19 Чтв 18:50:21 1477026184
>>1472472
> написал пару пэт-проектов, позже вылижу их и запилю в резюме.
Что за проекты?
Аноним 19/09/19 Чтв 18:54:05 1477029185
>>1476987
здорово. Жаль правда, что это юзлесс.
Аноним 19/09/19 Чтв 19:52:06 1477085186
Аноним 19/09/19 Чтв 19:54:49 1477088187
>>1477085
Или начать с книги Страуструпа?
Аноним 19/09/19 Чтв 20:06:49 1477102188
>>1477085
>>1477088
имхо, если ты задаешь такие вопрос, то скорей всего тебе лучше надо прочитать K&R сначала с выполнением всех упражнений

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

курс на степик - это такой вариант для совсем нищих, хотя и тоже относительно неплохой

Аноним 19/09/19 Чтв 20:12:26 1477110189
>>1477102
> K&R
"Язык программирования Си?" После неё курсы не будут лишними?
Аноним 19/09/19 Чтв 20:19:32 1477114190
>>1476621
Пиздец. Были бы у Бьерна волосы, он бы полысел еще раз после такого.
Аноним 19/09/19 Чтв 20:21:27 1477115191
>>1476576
Ебать там тонко в коментах, моча даже не заметила.
Аноним 19/09/19 Чтв 20:24:48 1477117192
>>1476603
Если жилье оплачивают и всячески помогают в релокации, то езжай. Снимать жилье 30-40к, транспорт 5-10к, еда дороже. Вот и считай. Если хотя бы 50-60к надбавки будет, то езжай, если нет, то думаю не стоит.
Аноним 19/09/19 Чтв 20:27:10 1477118193
>>1477117
Что это за транспорт в ДС за 10к? 2500 стоит безлимит на месяц на общественный транспорт
Аноним 19/09/19 Чтв 20:30:50 1477119194
>>1477118
Такси из бара, которое ты будешь вызывать каждый день, потому что жизнь в ДС такая тоскливая, что выход один - алкоголизм
Аноним 19/09/19 Чтв 20:40:01 1477122195
>>1476984
Все пробовал, заебало.
Аноним 19/09/19 Чтв 20:41:00 1477124196
Аноним 19/09/19 Чтв 20:47:22 1477128197
>>1477122
Код сюда брось и объясни по-русски, что собираешься сделать
Аноним 19/09/19 Чтв 20:50:22 1477129198
>>1477110
это самая базовая книга
имхо, начинать нужно с нее
ебашишь все упраждения обязательно

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

после всего этого можно считать что ты хотя бы понял что-то в крестах, самое базовое

говорю с высоты своих прожитых лет
Помогите ньюфагу Аноним 19/09/19 Чтв 21:17:04 1477150199
1568917003895.jpg (746Кб, 2310x2306)
2310x2306
Прывітанне, анон. Хочу как хобби изучить С++. Не считая школьного паскаля, не кодил. С чего начать? Стоит перед учебой языка читать книги из раздела "Информатика" в предложке? Все? Если читать их, то сколько времени это займет? Книги в предложке норм или что-то другое брать?
Я хочу добиться уровня знаний, достаточного для помощи в разработке опенсорса, написание своих небольших программок и драйверов, и работы в игровых движках.
Аноним 19/09/19 Чтв 21:37:20 1477186200
Аноним 19/09/19 Чтв 22:14:18 1477211201
15686895976520.png (1087Кб, 1200x675)
1200x675
Аноним 19/09/19 Чтв 23:01:42 1477256202
>>1477026
Простенький п2п мессенжер денег на сервера нет, расписание для пар вуза с фичами которых нет у аналогичных приложений (может видел я тут раньше советов спрашивал), шахматы со всеми правилами, и по мелочи еще пару, в основном всё простенькое, ради обучения какой-то технологии. Если посоветуете что-то годное и я смогу за год его написать то буду премного благодарен
Аноним 19/09/19 Чтв 23:38:55 1477278203
>>1477129
Ну хз, мне не зашла, слишком много воды, функции только под конец книги изучают, лол. Грубо говоря переменные, массивы, указатели, функции растянуты на 1к страниц, тоже самое можно навернуть за полчаса на ютубе.
Аноним 20/09/19 Птн 00:39:23 1477313204
image.png (325Кб, 660x280)
660x280
когда с 10летним опытом программирования в говносредах(типо жса) делаю свои первые вызовы винапи
Аноним 20/09/19 Птн 01:21:57 1477322205
>>1477256
> Если посоветуете что-то годное и я смогу за год его написать то буду премного благодарен

Поиск ошибок оформления госта в работах (курсовые, дипломные). Ну всякие отступы, интервалы и тд.
Аноним 20/09/19 Птн 04:35:44 1477343206
>>1477278
k&r 300 страниц книга, причем без приложений - 150 страниц
это апофеоз лаконичности и краткости вообще то


Аноним 20/09/19 Птн 07:52:26 1477386207
copy(k.begin(),k.end(),back_inserter(h));
Компилятор выдает гигантскую ошибку из за этой строки. h multiset, v vector
В чем проблема? Если использовать inserter то все работает.
Аноним 20/09/19 Птн 09:02:03 1477398208
>>1477386
А где у мультисета по твоему бек?
Аноним 20/09/19 Птн 09:04:15 1477399209
>>1475858
Как опытный говорю: учить C вначале не надо. Учи сразу C++
Аноним 20/09/19 Птн 09:06:52 1477400210
Как запихнуть виджет во viewport [code]QTableView[/code]?
Аноним 20/09/19 Птн 13:50:05 1477593211
>>1477322
Для этого ведь надо знать все эти работы, а я диплом и не писал еще. Ну попробую, если там не тысячи правил то может напишу
Аноним 20/09/19 Птн 14:24:56 1477608212
>>1477593
Работы знать не нужно.
Обычно преподы дают некую методичку\файл по оформлению работ. Там всё прописано со ссылками.
Аноним 20/09/19 Птн 15:44:49 1477654213
Аноним 20/09/19 Птн 17:11:12 1477709214
>>1477654
> пользоваться стл, вместо написания своих собственных реализаций, более подходящих под конкретный случай
Аноним 20/09/19 Птн 17:21:22 1477715215
Аноним 20/09/19 Птн 17:25:22 1477717216
В книге второй вариант назван более удачным, но по мне так он тяжелее для понимания и вообще более длинный. Разве я не прав?
while(cin >> w)
++word[w];


while(cin >> w){
auto ret = word.insert({w,1});
if(!ret.second)
++ret.first->second;
20/09/19 Птн 17:30:46 1477720217
Аноны, пишу свой простенький сервер для своего же приложения, пользуюсь Qt Network. Не могу ничего найти, в каком виде мне нужно отсылать/получать данные от клиентов? Я так понял можно это делать как угодно, а как правильно?
Аноним 20/09/19 Птн 17:42:18 1477726218
Аноним 20/09/19 Птн 19:01:42 1477766219
>>1477709
Насколько я разумею, у современного стл есть только один большой изъян - это аллокация памяти. Поэтому писать свои велосипеды вне этого контекста - суета и томление духа.
Вон EA, например, давно уже хер положили на свою EA STL.
Аноним 20/09/19 Птн 19:25:44 1477770220
>>1477709
Ты вектор то корректный напишешь, с перемещением и гарантией корректности для исключений, писатель?
Аноним 20/09/19 Птн 20:48:26 1477817221
>>1477709
> писать собственные реализации из говна и палок, ничего не зная о собственной операционной системе, вместо того, чтобы пользоваться готовым инструментом от знающий людей.
Аноним 20/09/19 Птн 21:38:33 1477916222
>>1477720
Бля, я понял что у меня недостаточно знаний чтобы написать то что я задумал. Можете посоветовать что-то почитать/посмотреть об архитектуре сетевых приложений? Танненбаума по сетям читал, но там немного не та инфа что мне нужна.
Аноним 20/09/19 Птн 22:17:26 1478009223
Аноним 20/09/19 Птн 22:18:34 1478013224
Аноним 21/09/19 Суб 02:24:27 1478166225
У WinApi есть стили оформления окна? Есть что-то вроде VNS, но там замечены лютые тормоза, возможно из-за того, что все окна там в стиле вин хп, хотелось бы узнать какой параметр отвечает за стиль хп/вин7/вин10
Аноним 21/09/19 Суб 03:29:05 1478178226
Хочу сделать flat интерфейс, без всяких рамок, верхней полоски и прочих говен стандартных окон винды. Просто белый квадрат, который можно двигать, захватив его в любом месте. В какую сторону курить?
Аноним 21/09/19 Суб 03:35:51 1478179227
Нужно ли оборачивать функции в extern "C" в файле имплементации(cpp) и в заголовке или достаточно только в заголовке?
Аноним 21/09/19 Суб 04:26:37 1478184228
>>1476643
Потому что Qt5Core, Qt5Gui, QtWidgets, например, внутри себя содержат код всех классов, описанных в этих модулях, и поверь, их там дохуя.

Эта проблема описывается двумя аспектами
1. Шинда ебанутая, в которой всё по принципу "23 копии одного и того же, но зато всё свое ношу с собой". В прыщах Qt с системой поставляется, и кроме исполняемого там ничего вообще не нужно.

2. Кьют - монстр, что пиздец. Всё на все случаи жизни. По этой причине модули дохуя весят, и соответсвенно их бинари.

Пользуйся советом другого анона - линкуй статикой, тогда возьмешь только то, что реально используется.
Аноним 21/09/19 Суб 04:28:55 1478185229
>>1478179
Это не оборачивание.
Это директива экспорта.

Пишешь его только в декларации, в hpp файле. В cpp писать не нужно.
Аноним 21/09/19 Суб 04:44:58 1478186230
>>1478179
Только в тех файлах, что инклудишь.

Не забывай - там где помечены функции как extern "C", нельзя ничего плюсового использовать. Ибо потом в чисто сишный проект не подрубишь, Си о плюсах не знает.
Аноним 21/09/19 Суб 09:51:44 1478211231
>>1477709
А я этого анона поддвачну. STL создана быть простой и надёжной, а не производительной. А заточка под конкретный случай -- это как раз то, для чего и нужны плюсы. Часто бывает, что нужно хранить в контейнере тривиальные типы, часто ещё известен характер доступа и так далее. В любом случае, информации куда больше, и можно писать контейнеры с минимальным функционалом, которые могут оказаться во много раз быстрее стандартных решений. У меня так валяются тривиальный вектор и хэшмап на реаллоках.
Аноним 21/09/19 Суб 10:20:55 1478217232
>>1477593
@
ЯЗЫК ДЛЯ КОМПИЛЯЦИИ РИСЕРЧ ПЭЙПЕРС
Аноним 21/09/19 Суб 10:44:21 1478228233
>>1477322
Для этого есть правила в TeX
Писать работы в ворде это совсем пиздец
Аноним 21/09/19 Суб 10:57:19 1478231234
>>1478184
Что такое линковать статически?
Аноним 21/09/19 Суб 11:06:25 1478235235
>>1478184
>линкуй статикой, тогда возьмешь только то, что реально используется.
А разве линкер не будет библиотеки целиком цеплять?
Аноним 21/09/19 Суб 11:21:32 1478237236
>>1478231
Это значит, что все _используемые_ символы будут в одном бинарнике, т.е. не будет необходимости поставлять с приложением библиотеки
Аноним 21/09/19 Суб 12:54:13 1478260237
>>1478211
не верьте этому сученку
он наебашил кривой хешмап с коллизиями, никак его не тестировал, тупо замерил скорость вставки в тривиальных случаях, и такой: "ЭЭЭ я пиздатый, а разрабы stl - дауны, DDD"
стался с ним пару месяцев назад, но ему ничего не доказать, непробиваемый

Аноним 21/09/19 Суб 12:54:43 1478261238
>>1478260
>стался
срался (спорил)
Аноним 21/09/19 Суб 13:37:24 1478280239
>>1478260
Так пусть пруфанет тестами на 100 000 элементов тогда посмотрим кто прав а кто нет.
Аноним 21/09/19 Суб 13:40:44 1478282240
>>1478237
А, понял, это без дллок, да? Получается, что я всю жизнь линкую статически, т.к. с дллками никогда не имел дела. Я многое потерял?
Аноним 21/09/19 Суб 13:56:21 1478287241
>>1478282
Скорее всего ты через ide запускал, которая настраивает окружение и пути к библиотекам.
Или не использовал библиотеки вообще
Аноним 21/09/19 Суб 14:56:05 1478321242
>>1478178
Зависит от библиотек, но обычно это что-то вроде "window hints", "window mode", "window flags".
Захват и перемещение - это нужно обрабатывать события мыши.
Аноним 21/09/19 Суб 14:57:39 1478323243
Глупый вопрос, но как реализованы базовые типы вроде int? Вот есть всякие строки, но с ними то понятно, они реализованы с использованием базового char, а вот как работает сам чар не понятно.
Аноним 21/09/19 Суб 15:15:30 1478328244
>>1478323
Они реализованы аппаратно.
В памяти или регистрах хранятся байты, а в них - биты. На уровне машинного кода можно работать с группами байтов строго определённых размеров, например 1, 2, 4 или 8 байт. Ещё над ними определены арифметические и другие операции, которые тоже реализованы аппаратно.
А высокоуровневые языки просто обращаются ко всему этому и вводят свои обозначения, вроде int или char.
Аноним 21/09/19 Суб 15:17:08 1478329245
Аноним 21/09/19 Суб 15:17:16 1478330246
Почему нельзя все массивы и переменные хранить в стеке? Ведь проц быстрее эти данные обрабатывает чем в куче.
Аноним 21/09/19 Суб 15:34:53 1478342247
Аноним 21/09/19 Суб 15:36:34 1478343248
Аноним 21/09/19 Суб 16:17:10 1478377249
>>1478330
Потому-что почти везде стек размером в 1мб, редко где больше. Если ты хеллоуворд пишешь то может этого и хватит, иначе пиши нормальный код.
Аноним 21/09/19 Суб 16:27:45 1478382250
>>1478377
Почему его сделали таким маленьким? Почему не гиг хотя бы?
Аноним 21/09/19 Суб 16:30:08 1478386251
>>1478382
>Почему не гиг хотя бы?
=____=
Аноним 21/09/19 Суб 16:31:53 1478387252
>>1478382
С таким же успехом можно спросить почему кэш процессора всего пару килобайт а не 16гб.
Аноним 21/09/19 Суб 16:39:55 1478396253
>>1478382
Похоже, ты не понимаешь, как работает стек.
Стек на каждый процесс свой. Если каждому процессу давать по гигу, представь, что будет.
Аноним 21/09/19 Суб 16:41:52 1478398254
>>1478396
Добавлю что даже если у тебя овердохуя памяти, то найти 1гб или сколько там последовательно лежащей памяти не всегда является возможным, а если и возможно то это будет нести такие накладные расходы что ты охуеешь.
Аноним 21/09/19 Суб 16:43:17 1478403255
>>1478343
Потому что иначе он бы не был стеком и не обрабатывал данные быстрее, чем куча.
Аноним 21/09/19 Суб 16:43:33 1478404256
Что делает данная строка
return hash<string>()(s.isbn());
s.isbn() возвращает string.
В частности не понятно, что за пустые скобки после hash<string>
Аноним 21/09/19 Суб 16:45:31 1478407257
>>1478404
[std::hash<string>()(s.isbn()] == [std::hash<string> obj; obj(s.isbn())]
Аноним 21/09/19 Суб 16:56:15 1478420258
Аноним 21/09/19 Суб 17:15:57 1478439259
uzSBecgA9A0.jpg (28Кб, 540x419)
540x419
Доброго времени суток, господа пацаны. Хочу освоить чистый WinApi. Не спрашивайте зачем. Подскажите-ка пжлст годной литературы по этой теме. Заранее дякую.
Аноним 21/09/19 Суб 17:17:21 1478440260
>>1478439
Наверни Чарльза Петцольда.
Аноним 21/09/19 Суб 17:17:48 1478442261
>>1478439
Programming Windows, Charles Petzold
Windows via C/C++, Jeffrey Richter
Windows System Programming, Johnson Hart
Аноним 21/09/19 Суб 17:24:46 1478446262
Аноним 21/09/19 Суб 19:52:16 1478559263
>>1478330
>эти данные обрабатывает чем в куче.
Уверен? И те и те просто указывают на разные зоны памяти, а как эти зоны отображены на физическую одной ос известно.
Аноним 21/09/19 Суб 20:28:34 1478581264
>>1478559
>Уверен?
Так в книге было написано.
Аноним 21/09/19 Суб 21:33:28 1478627265
>>1472778
Какие же плюсаны говноеды, прости божечки.
Как можно этим говном заниматься в 2019, когда есть java/scala/rust/go и FFI?

мимо-оп-1x-тредов
Аноним 21/09/19 Суб 21:50:06 1478647266
>>1478627
Одно слово - перформанс. Оно отсекает java, scala, kotlin, python, js и кучу других языков. Да, иногда важна не скорость написания кода, а скорость выполнения.
Go - недостаточно зрелый и сейчас по возможностям это явный шаг назад. Инструментов мало, библиотек мало, нужных конструкций в языке мало.
Rust и D - вообще шило на было.

Будут ещё альтернативы? Убийцы крестов до сих пор нет и пока не предвидится.
Аноним 21/09/19 Суб 21:51:06 1478648267
>>1478647
Что такое перформанс?
Аноним 21/09/19 Суб 21:51:27 1478649268
>>1478647
Забыл добавить, что в основном пишу на питоне и жабе. Это на случай, если тебе моё мнение кажется предвзятым.
Аноним 21/09/19 Суб 21:58:37 1478657269
>>1478627
Которые написаны на крестах бгг
Аноним 21/09/19 Суб 22:04:42 1478660270
>>1478657
Ну, это не всегда верно из-за моды на self-hosting. Жаба - да, на крестах.
Аноним 21/09/19 Суб 22:19:37 1478667271
>>1478647
Одно слово - предварительная оптимизация.
Так вышло, что в одной компании, где я работал, писали две версии одного продукта на джаве и на плюсах. Я бывший плюсан, но перешел на джаву. 4 человека за полтора года написали тот же функционал, что 8 крестух за 4 года. Когда начали бенчмаркать, джава версия на тяжелых сценариях отставала на 15%. После небольших оптимизаций, отставание стало 5%.

Все это манясказки про перфоманс. Вот памяти джава жрет дохуя - это да. Но в любой ситуации можно либо заоптимайзить горячие участки кода прямо в джаве (в том числе и по памяти), либо вынести в плюсы/c/rust через FFI.

Вот что на языках с gc сложно писать - так это latency critical сервисы. Но опять же - rust, либо ffi.

Писать продукт целиком на плюсах в 2019 году - это или легаси или аутизм.
Аноним 21/09/19 Суб 22:37:32 1478677272
Аноним 21/09/19 Суб 22:40:15 1478678273
>>1478667
> 4 человека за полтора года написали тот же функционал, что 8 крестух за 4 года
Я конечно понимаю, что с пастой говорю, но написать продукт с нуля != переписать на другой язык
Аноним 21/09/19 Суб 22:48:47 1478685274
>>1478677
>>1478678
Вы ебанулись, какая паста?

>написать продукт с нуля != переписать на другой язык
Команды между собой не общались в виду религиозных предпочтений крестанов. Оттуда ничего не заимствовали. Алсо плюсаны сами занимались переписыванием с нуля старой версии того же продукта. Так что аргумент мимо кассы.

И вообще ты пропустил суть моего сообщения - джаву совсем не сложно заоптимайзить до плюсовой скорости, по памяти сложнее, но как минимум можно избавиться от неприличного жранья.
Аноним 21/09/19 Суб 22:52:29 1478687275
>>1478667
>>1478685
Тогда почему игровые движки пишут на плюсах а не на джаве?
Аноним 21/09/19 Суб 22:54:51 1478688276
>>1478687
Потому что latency critical, маня. GC никто не отменял.
Вы тут все такие нубы, что ли? Что за тупые вопросы.
Аноним 21/09/19 Суб 22:59:57 1478693277
>>1478685
Только ты забыл суть джавы, джава это как виртуальная машина которая исполняет спецефический код. Виртуалка никогда не будет быстрее готового ехе файла.
Аноним 21/09/19 Суб 23:04:21 1478698278
>>1478693
Лолшто. Во-первых схуяли не будет, во-вторых в некоторых кейсах может даже обгонять. Слышал про profile-guided optimization?
Аноним 22/09/19 Вск 00:00:25 1478733279
>>1478667
Просто не надо на крестах писать такой софт, который можно написать и на других языках. Кресты нужны там, где без никак -- low latency или системщина. А бэкенд для интернет-магазина можно и на питоне сделать.
Аноним 22/09/19 Вск 00:39:09 1478748280
>>1478667
дурачок несет чушь. Джава у него быстрая, как кресты. А питон быстрый, как ассемблер, ага
Аноним 22/09/19 Вск 00:44:35 1478751281
>>1478321
Так я и спрашиваю, какую библиотеку выбрать под это дело, даже не знаю с чего начать, в винапи не хочу углубляться.
Аноним 22/09/19 Вск 00:48:59 1478754282
>>1478751
Смотря что тебе нужно.
Если просто рисовать 2D-графику, хватит SFML или SDL. Здесь и белый квадрат, и рамки можно скрыть.
Если нужен сложный гуй со всеми возможными кнопками, событиями и виджетами, то бери Qt, там тоже можно настроить всё, что хочешь. Можно всё то же, что можно в двух предыдущих.
Аноним 22/09/19 Вск 00:49:38 1478755283
>>1478667
> Писать продукт целиком на плюсах в 2019 году - это или легаси или аутизм
Лол. Найс у тебя выводы по результатам собственного опыта работы в ООО Галера #1, небось вы там на СИ с классами писали, а не на современном С++. Стандарты хоть откройте, почитайте, легаси блять.
Аноним 22/09/19 Вск 03:18:07 1478787284
>>1478755
Секта свидетелей нового стандарта? Модули заюзал уже, говноед? Еще небось собираешь cmake'ом свое говно в Galera LTD
Аноним 22/09/19 Вск 04:07:01 1478792285
>>1478787
хорошо рвешься, продолжай
Аноним 22/09/19 Вск 04:12:01 1478793286
>>1478792
Я собираю свои божественные проекты sbt и cargo, а ты маня в 2к19 до сих пор парсишь хедеры
22/09/19 Вск 04:38:10 1478794287
>>1478793
Имплаинг у этого говна не С++ под капотом. Тебе напомнить как твоя джава работает?
Аноним 22/09/19 Вск 04:47:43 1478797288
>>1478794
И шо? Я не ухожу в отрицание как местные фанатики
Аноним 22/09/19 Вск 05:48:14 1478803289
>>1478794
Какая разница, что там под капотом? Пиши тогда на ассемблере, зачем тебе C++. Это если ты аутист и не понимаешь, что уровни абстракции – благо.
22/09/19 Вск 07:47:43 1478818290
>>1478803
Имплаинг у С++ ассемблер под капотом, лол. Тут то ты и спалилась, джаваблядь. Иди фундаментальные вещи учи, потом с дядями спорить будешь.
Аноним 22/09/19 Вск 08:16:03 1478822291
>>1478818
Каргоребенок, просвети же нас, что там у C++ под капотом. Божья помощь? Или швитой перфонманс? Или все же закодированный ассемблер?
Ты же в курсе, что джаву тоже можно компилить ahead of time? А C++ можно компилить just in time? И компиляторы C++ так же, как и javac, создают «богомерзкий»(в твоем представлении) IR в процессе своей работы?

А еще твой охуенный бинарничек helloworld, скомпиленный из святого C++ кода, нельзя запустить без массивной поддержки со стороны операционной системы, которая, о боже, не написана на этом языке богов под названием C++.

А потом это все запускается на процессоре, который внезапно не на плюсах написан, а на verilog и vhdl. Как они посмели создавать настолько производительные вычислительные устройства без участия C++!
Аноним 22/09/19 Вск 08:43:34 1478836292
>>1478822
>verilog
>vhdl
>a Hardware Description Language; a textual format for describing electronic circuits and systems. Applied to electronic design, Verilog is intended to be used for verification through simulation, for timing analysis, for test analysis (testability analysis and fault grading) and for logic synthesis.
Это же языки для описания чипов ты че
Аноним 22/09/19 Вск 08:58:18 1478838293
>>1478822
Сразу видно что ты низкоквалифицированный маняфантазер, свалил в кучу никак не связанные между собой вещи. Я вижу ты умеешь выхватывать рандомные фразы и модные слова из вики, думаю тебе не составит труда самому взять и загуглить ответы на вопросы.

>А еще твой охуенный бинарничек helloworld, скомпиленный из святого C++ кода, нельзя запустить без массивной поддержки со стороны операционной системы, которая, о боже, не написана на этом языке богов под названием C++.
Всем офисом смеялись. Да, никто ничего на плюсах не пишет, и у нас тоже ОС написана не на плюсах.
Аноним 22/09/19 Вск 10:40:08 1478865294
>>1478818
Лол, а что там по-твоему, нюфаня? С каких пор процессоры стали выполнять C++ код?
gcc -S main.cpp
Аноним 22/09/19 Вск 11:02:40 1478875295
>>1478838
>Всем офисом смеялись
>Вск 08:58
Ты чтоли вообще галеру не покидаешь?
22/09/19 Вск 12:24:41 1478947296
>>1478865
Джавадети путают ассемблер с машинным кодом, классика как есть.
Аноним 22/09/19 Вск 12:36:22 1478954297
135478.png (32Кб, 1314x632)
1314x632
>>1478947
А это что, по-твоему? Это язык ассемблера, в который gcc компилирует твой исходный код перед тем, как передать его ассемблеру as для получения машинного (объектного) кода.
Аноним 22/09/19 Вск 12:46:45 1478964298
Аноним 22/09/19 Вск 13:57:06 1479016299
>>1478836
А с каких пор чипы у нас не являются алгоритмами? Чип - это обычный конечный автомат.

>>1478947
Специально для дауна-тебя я написал «закодированный ассемблер»

>>1478838
> Да, никто ничего на плюсах не пишет, и у нас тоже ОС написана не на плюсах
Во-первых пишут и много (к сожалению), во-вторых ОС и на джаве можно писать, но нормальные люди делают это на C, в-третьих мой тезис в том, что C++ мир не ограничивается, C++ - плохой язык по многим критериям и в большинстве случаев на нем что-либо писать не стоит. Причем, ситуаций, где на плюсах все же стоит писать, много меньше, чем считают большинство крестух.
Аноним 22/09/19 Вск 14:03:29 1479022300
>>1478954
шланг напрямую в машкоды хуячит
22/09/19 Вск 14:03:52 1479023301
>>1478954
Причем здесь ассемблерный листинг сгенерированный компилятором и работа под капотом? Какую работу под капотом выполняет ассемблер? Процессор выполняет не ассемблерный, не объектный, а машинный код.
Аноним 22/09/19 Вск 14:07:16 1479028302
>>1478822
>А еще твой охуенный бинарничек helloworld, скомпиленный из святого C++ кода, нельзя запустить без массивной поддержки со стороны операционной системы, которая, о боже, не написана на этом языке богов под названием C++.
можно, сладенький
сходи, послушай
https://cppconf-piter.ru/2019/spb/talks/6qg8fm0kyjee4cqoiv1rda/
ну или в гугл c++ bare metal
Аноним 22/09/19 Вск 14:22:47 1479041303
>>1479016
А, то есть на С нормально, а на С++ нет? Типичный хейтер экей джавадебил. Все главные оси винда, линукс и макос написаны на С, только потому, что крестов как таковых просто не было, был С с классами. Естественно ядро никто переписывать не будет, но все новые компоненты ОС обычно пишутся на С++.

>>1479028
Тсссс, не пали.Пусть думает, что все кофеваркина джаве работают, а С++ так не может! У него рантайм тяжелый, который конечно же нельзя выбросить! Только на винде все запускается, только на винде!
Аноним 22/09/19 Вск 14:48:46 1479058304
>>1478667
>человека за полтора года написали тот же функционал, что 8 крестух за 4 года.
Объясните мне, для наемного работника какая нахуй в пизду разница?
Какой бы эффективный инструмент ты не юзал, у твоего работодателя все равно всегда цель одна - выжать тебя до капли.
Аноним 22/09/19 Вск 15:07:47 1479076305
>>1479022
Разве? Я всегда думал, что он сначала llvm IR генерит.
Аноним 22/09/19 Вск 15:18:15 1479097306
.png (23Кб, 615x288)
615x288
>>1479023
> Какую работу под капотом выполняет ассемблер
Аноним 22/09/19 Вск 15:22:37 1479099307
>>1479041
> Все главные оси винда, линукс и макос написаны на С, только потому, что крестов как таковых просто не было, был С с классами
В ядре ООП (или что ты там от плюсов хотел) нахуй не нужен, он перегружен и разворачивается в дерьмище. C с struct хватает. А всякие окошечки, гуи, какие-нибудь компоненты ОС где память, производительность не нужны можно писать на чем хочешь.
Аноним 22/09/19 Вск 15:30:43 1479108308
>>1479097
Хватит уже из пальца высасывать и подменять понятия. Сборщик и язык ассемблера это не одно и тоже. Современные компиляторы могут исключать этот пункт вообще, листинг генерируется исключительно для удобства.
Аноним 22/09/19 Вск 15:40:20 1479116309
.png (27Кб, 607x692)
607x692
>>1479108
> Современные компиляторы могут исключать этот пункт вообще
Где об этом прочитать? Могут это значит что они так делают или как? Насколько современные?

> Step Two: Compilation & Assembly
> The next stage of compilation in C++ is very similar to what happens in C. The compiler takes each output from the preprocessor and creates an object file from it in two steps.
>
> First, it converts the pure C++ code (without any # directives) into assembly code. Assembly code is binary code that we can read.
>
> Step 3: Assembly
> Next, the assembler converts the assembly code into bit code, line by line. The output of this stage is a binary file in format COFF, ELF, a.out and similar. You can always stop compiling at this point, which is a useful feature since you can compile each code separately.
Аноним 22/09/19 Вск 15:47:05 1479121310
>>1479116
>Где об этом прочитать?
Научиться пользоваться компилятором из консоли вместо IDE.
Аноним 22/09/19 Вск 15:49:18 1479124311
.png (22Кб, 1353x113)
1353x113
>>1479121
Допустим умею, а в чем разница расскажешь?
Аноним 22/09/19 Вск 15:50:45 1479126312
123546.png (61Кб, 822x478)
822x478
Аноним 22/09/19 Вск 16:06:08 1479136313
>>1479124
Сейчас стадии примерно такие:
1. препроцессор препроцессит
2. лексер=>парсер=>абстрактное синтаксическое дерево. На этом этапе реализуется синтаксический сахар.
3. Из AST генерируется IR-код (данные которыми общаются между собой фронтэнд и бэкенд компилятора). Это тоже по сути дерево. Если программист попросит, можно выдать текстовое представление IR-кода
4. К IR применяются оптимизации - разного рода преобразования ветвей дерева. После оптимизаций можно получить опять текстовое представление
5. Из IR напрямую генерится объектный код ЛИБО если программист попросит - его текстовое представление. Тратить время на создание текстовой портянки, когда компиляция занимает часы - дорогое удовольствие.

Линковка, скорее всего, тоже производится на уровне IR, я в этом не разбирался.

Пример самого современно компилятора си-семьи - clang/llvm. С gcc все сложнее, потому что он древний и в нем куча легаси консольных команд.
Аноним 22/09/19 Вск 16:50:15 1479199314
>>1478793
честно говоря, не вижу в этом никакой проблемы. И да, я последний год парсю хедеры
22/09/19 Вск 19:47:10 1479336315
>>1479136
>я в этом не разбирался
Да мы уже поняли, IR у него без ассемблера исполняется, охуеть.

Всем остальным пидорам, которые этому дауну отвечают желаю выкатиться из айти, если этот семен сам себе не написывает канеш.
Аноним 22/09/19 Вск 19:53:59 1479345316
>>1479199
>честно говоря, не вижу в этом никакой проблемы. И да, я последний год ем говно

>>1479041
>Естественно ядро никто переписывать не будет, но все новые компоненты ОС обычно пишутся на С++
Тут ты прав. Этот мой аргумент - инвалид:
>во-вторых ОС и на джаве можно писать, но нормальные люди делают это на C

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

Алсо не понял, вы всерьез сретесь на счет того, что процессор исполняет не ассемблер, а машинные коды? Пиздец просто
Аноним 22/09/19 Вск 20:09:24 1479360317
>>1479345
Ебанатский спор про машинные коды двачую, а про сихуйцы че против имеешь, какой язык дает норм скорость, возможность ебать память и достаточно абстракций?
Ржавую залупу с пересиливанием борроу чекера не предлагать, такая же хуйня, как и котлин.
Аноним 22/09/19 Вск 20:58:40 1479398318
>>1479360
После многих лет разработки на плюсах у меня на расте с борроу чекером проблем совсем не возникает. Уж плюсовику жаловаться на борроу чекеры как-то совсем не комильфо.

>какой язык дает норм скорость, возможность ебать память и достаточно абстракций
Только rust, но он только на ноги становится. Другое дело, что ультимативная скорость и потребление памяти нужны очень не всегда, особенно с учетом потенциального превозмогания C++.
Отсюда тезис:
>Писать продукт целиком на плюсах в 2019 году - это или легаси или аутизм


Аноним 22/09/19 Вск 23:08:44 1479535319
>>1479336
>Да мы уже поняли, IR у него без ассемблера исполняется, охуеть.
шланг ебашит прямо в машкоды, но может и асм код сгенерить который уже ассемблером целевой машины в объектник буде перегнан
гсс ебашит асм который в as скармливает, но может уже сейчас и тоже напрямую в машкоды ебашить научился, я не в курсе этого
в общем и так и так можно

Аноним 22/09/19 Вск 23:12:33 1479539320
>>1479076
генерит само собой
а потом генерит из ir объектники с машкодами
ну или может сгенерить асм код чтобы потом он ассемблером целевой платформы скомпилился в объектник
но второе нихуя не удобно тк замедляет компиляцию
это если вкратце говорить

Аноним 22/09/19 Вск 23:13:54 1479541321
>>1479336
У тебя дислексия и твои фантазии к тому, что я написал, отношения не имеют
Аноним 23/09/19 Пнд 00:05:24 1479568322
>>1479336
Ты реально такой тупой? IR у него исполняется. Жопой воротишь и искажаешь понятия из-за своей некомпетентности.
Аноним 23/09/19 Пнд 11:58:42 1479722323
>>1478260
Пользуюсь этим хэшмапом сам. Тестил на куче входных данных, прирост производительности раза в 4 в среднем. Размеры данных до 10 миллионов вхождений, коллизий процентов 30, но в моей задаче лучше быстрая хэш-функция, чем меньше коллизий. Мапу юзая в основном для вставки и поиска.
Аноним 23/09/19 Пнд 12:18:40 1479740324
>>1479722
о, да детка
стандартный хешмап сначала 15 лет в бусте обкатывали, потом 5 лет в стандарт принимали
при этом трудились десятки людей, как с cs бэкграундом, так и практикующие se разрабы
а тут васян взял и написал на коленке хешмап и на вставку пиздатый и на поиск пиздатый и вообще охуенный
иди ты подальше
самое хуевое что может случится - это унаследовать код от таких ублюдков, которые пишут свои необоснованные велосипеды, функционал которых дублирует возможности стандартной библиотеки
Аноним 23/09/19 Пнд 12:40:09 1479747325
>>1479722
>Не смог настроить стандартный unordered_map
>Наговнокодил свой вариант
>Мам, у меня быстрее, слышишь?
Аноним 23/09/19 Пнд 13:44:32 1479765326
>>1479722
Вангую, что ты просто хешфункцию сменил. Нахуя надо было писать свою хештаблицу для этого? И что там принципиально вообще можно ускорить? Для тебя, наверное, будет открытием, но все оптимизированные хешмапы в серьезных языках работают с +/- одинаковой скоростью, потому что упираются в железо
Аноним 23/09/19 Пнд 14:10:28 1479777327
Аноним 23/09/19 Пнд 14:55:56 1479824328
>>1479765
Тестил, очевидно, на одинаковых хэшфункциях, от них ускорение не зависело
Аноним 23/09/19 Пнд 15:00:14 1479829329
>>1479740
Стандартный -- он обобщённый, на все случаи жизни, понимаешь? Если бы в стандартной библиотеке был хэшмап для тривиальных типов, я бы пользовался им. А так, у меня два жирных куска памяти, с правильной хэш-функцией кэши моего процессора счастливы. При доступе без промаха у меня происходит одно разыменовывание, в стндартном контейнере два. И так далее, он тупо устроен принципиально по-другому, работает только на моей задаче, и только поэтому быстрее.
Аноним 23/09/19 Пнд 15:30:49 1479879330
>>1479829
Так что конкретно ты хранишь и что поменял в реализации таблицы? Структуру бакета? Аллокатор?
Аноним 23/09/19 Пнд 15:33:55 1479887331
>>1479879
Я же написал. У меня бакетов как таковых нет, есть большой кусок памяти основной и специальная структура данных для хранения коллизий, тоже одним куском. Хуярю реаллок, не вызываю пустых конструкторов и деструкторов (только копирование, но это для тривиального типа memcpy). Коллизии, получается, рядышком лежат.
Аноним 23/09/19 Пнд 15:52:37 1479899332
>>1479765
Можно написать мапу с открытой адресацией, она будет быстрее в среднем (в STL закрытая адресация), но этот даунич врятли знает такие тонкости
Аноним 23/09/19 Пнд 15:55:55 1479902333
>>1479899
Ты ебанёшься отлаживать свой велосипед с этой твоей умной открытой адресацией. Теоретик хуев, у тебя тупая и простая оптимизация перед глазами, а ты лезешь в дебри.
Аноним 23/09/19 Пнд 15:58:22 1479904334
>>1479765
>оптимизированные хешмапы в серьезных языках работают с +/- одинаковой скоростью, потому что упираются в железо
нихуя!
у него в 4 раза быстрей все работает )_)
мы уже срались с ним в прошлых тредах, он даже свой код кидал, там такой пиздец, я ебу

Аноним 23/09/19 Пнд 16:02:26 1479905335
>>1479904
Ты какой-то припёзднутый. Я сюда пока ничего не кидал. Можешь почитать мою структурку данных для хранения коллизий, она правда непричёсанная.
https://pastebin.com/Tkvb2ktb
Аноним 23/09/19 Пнд 16:12:30 1479907336
>>1479905
о, дак ты оказывается не первый
в прошлых тредах тут тоже был персонаж который свой хешмап написал, а потом до усрачки утверждал, что у него лучше чем в стандарте ))
бля, теперь понимаю за что крестовиков недолюбливают - велосипедостроение у них в крови

Аноним 23/09/19 Пнд 16:16:14 1479908337
>>1479907
Я не утверждаю, что мой лучше, алло! Мой хэшмап вообще не поддерживает нетривиальные типы, ты это понимаешь? Ты точно читаешь то, что я пишу, или лишь показать, какой ты умный?
Аноним 23/09/19 Пнд 16:28:12 1479911338
>>1479907
Велосипедостроение -- это вообще лучшее, что может произойти с кодером, если это происходит в процессе обучения. Если на работе, то это тяжёлая работа и большая ответственность. Поди объясни начальнику, какого хуя ты не взял готовый контейнер, а проебал неделю рабочего времени на написание своего. Результат может быть положительным, а можно и хуйца соснуть. Мне коллега решительно не верил, когда я взялся писать хэшмап. Хотел мне по губам провести шершавым, накачал всяких google_dense_map-ов и уселся тестить. Ничё, на моей конкретной задаче мой конкретный мап спокойно давал всем пососать. Не потому, что он там лучше всех остальных, а потому, что он заточен под конкретный таск. Это позволяет вводить охуенные предположения при его проектировании, и всё.
Аноним 23/09/19 Пнд 16:28:25 1479913339
>>1479908
эй, по ссылке вообще не хешмап, о чем вообще речь? ты шутишь чтоли?
ты организовал доступ по целочисленному индексу в разреженном массиве
Аноним 23/09/19 Пнд 16:28:56 1479914340
>>1479913
>ты организовал доступ по целочисленному индексу в разреженном массиве
хотя нет, там даже еще тупее сделано
Аноним 23/09/19 Пнд 16:30:28 1479916341
>>1479913
>>1479914
а, понятно, это какая то вспомогательная хуйня
саму мапу ты постеснялся запостить
Аноним 23/09/19 Пнд 16:31:11 1479917342
>>1479911
>какого хуя ты не взял готовый контейнер, а проебал неделю рабочего времени на написание своего
и, правда, какого хуя..
Аноним 23/09/19 Пнд 16:31:23 1479919343
>>1479914
Ты читаешь то, что я пишу, или нет? Это хуета для хранения коллизий.
Аноним 23/09/19 Пнд 16:31:52 1479920344
>>1479917
Такого, что скорость была пиздец нужна, и она появилась.
Аноним 23/09/19 Пнд 16:32:08 1479921345
>>1479911
ты понимаешь что следующий кодер, который сядет на сопровождение твоего велосипеда, который доедет до продакшена, буде тебя проклинать?
Аноним 23/09/19 Пнд 16:32:25 1479922346
>>1479916
Да, мапу стесняюсь, там код похуже. Но я в принципе могу скинуть на потестить, не жалко.
Аноним 23/09/19 Пнд 16:32:47 1479923347
>>1479920
какой юзкейс твоей супер скорости? Что ты там делаешь с ней?
Аноним 23/09/19 Пнд 16:33:06 1479924348
>>1479921
Он написан тупо, там мало логики, он простой! Хуле там сопровождать?
Аноним 23/09/19 Пнд 16:34:07 1479926349
Аноним 23/09/19 Пнд 16:34:52 1479928350
>>1479923
Мне подают меш, объёмами, по очереди. Один объём -- это вершины (трёхмерные вектора), грани и рёбра (индексами). Мапами срезаю дубликаты плюс собираю границу меша, чтоб потом рисовать.
Аноним 23/09/19 Пнд 16:35:38 1479930351
>>1479926
Если кодеру не захочется трогать мой мап, он его заменит на стандартный. Интерфейсы абсолютно совпадают, как и эффект.
Аноним 23/09/19 Пнд 16:37:29 1479931352
>>1479922
лучше пиши про юзкейс, в котором unordered_map не подошел по скорости
деанонить и срать на тебя rl никто не буде, это в интернете мы храбрые ))

напоминаю, что комитет оче долго сопротивлялся включению мапы на хешах в стандарт, потому что вообще считали что скорости мапы на деревьях достаточно для подавляющего большинства применений этой структуры..
Аноним 23/09/19 Пнд 16:37:38 1479932353
>>1479887
>коллизии рядом лежат
уйди нахуй а
коллизия это когда хеш получился такой же для двух разных элементов, знаешь слово такое пиндосское есть collision
Аноним 23/09/19 Пнд 16:39:29 1479934354
>>1479931
Под мои юзкейсы std::unordered_map подходит отлично (сильно лучше std::map), но внутри него происходило то, без чего можно было обойтись -- лишние уровни косвенности, короче. Ну я их и вырезал, всё.
Аноним 23/09/19 Пнд 16:40:04 1479935355
Да расслабьтесь, парниша ничего криминального не сделал. Максимум за говнокод и отсутствие доки можно покритиковать, но про доку мы наверняка не знаем. Ну и мб все же можно было найти/настроить структуру данных из уже поддерживаемой внешней либы, но тут кода с гулькин хуй
Аноним 23/09/19 Пнд 16:40:23 1479936356
>>1479932
Ты, по-моему, вообще нихуя не понимаешь, что происходит.
Аноним 23/09/19 Пнд 16:41:27 1479939357
>>1479935
Да я сделал самое криминальное из всего, что только мог -- упрекнул их в некомпетентности и лени. Видал, как крышу сорвало?
Аноним 23/09/19 Пнд 16:47:41 1479943358
>>1479939
Ты хотел сказать «жирно набросил на вентилятор про STL, основываясь на очень специфичном кейсе в обработке физики или рендеринге»?
Аноним 23/09/19 Пнд 16:49:48 1479944359
>>1479943
Я вообще не упрекал STL, она по моему мнению шикарно сделана. Я просто внёс тезис по поводу оптимизации на специфичном кейсе, а меня попытались обоссать. Получилось или нет, пусть решают зрители.
Аноним 23/09/19 Пнд 16:50:36 1479945360
>>1479934
>без чего можно было обойтись -- лишние уровни косвенности
это какие такие уровни?
по тому коду что ты запостил, видно всего лишь что ты выделеление памяти делаешь через маллок (и это в крестах в 19 году), держишь все одним куском памяти и делаешь реаллок - техника аж пятидесятилетней давности..
в то время как в стандартных контейнерах работа с памятью вынесена в аллокаторы и интенсивно используется placement new
в новых стандартах работу с контейнерами можно сделать еще быстрее за счет того что они поддерживают перемещающие операции, теперь нет необходимости в трюках с указателями

Аноним 23/09/19 Пнд 16:55:16 1479952361
вообще, идея, к которой ты подошел, далеко не нова
правда заключается в том, что в стандартной библиотеке контейнеры неинтрузитивные
альтернативный подход - сделать интрузитивный контейнер (какие любили делать на голой сишке), типа boost::intrusive и типа можно выгрызть чутка в производительности еще (за счет удобства и универсальности)

Аноним 23/09/19 Пнд 16:57:17 1479955362
>>1479945
Всё так, ты прав. Я просто выигрываю за счёт того, что у моих объектов не надо вызывать T(). Если мне не изменяет память, то классическая реализация std::unordered_map -- это вектор односвязных списков. Получается, для доступа к элементу (если сразу попали, без коллизий) надо сделать два разыменовывания. А можно нахер вырезать лишнее разыменовывание, плюс выиграть по локальности в памяти. Хотя, я могу чего-то не знать, и эти черти как-то борются с подобными проблемами.
Аноним 23/09/19 Пнд 16:57:50 1479956363
>>1479952
Я не говорил, что придумал что-то новое и ахуительное. Я просто взял и сделал.
Аноним 23/09/19 Пнд 17:00:41 1479961364
>>1479956
А надо было взять и поискать, кто еще такое же придумывал.
Аноним 23/09/19 Пнд 17:02:25 1479963365
>>1479961
А то я не искал! Конкретно того, что мне было нужно, я не нашёл. А опыт велосипедирования у меня положительный, поэтому взял и сделал. Я счастлив, начальник счастлив, юзер счастлив, двачеры недовольны.
Аноним 23/09/19 Пнд 17:04:47 1479967366
>>1479963
Плохо искал значит. Поэтому и недовольны.
Аноним 23/09/19 Пнд 17:06:18 1479968367
>>1479955
>Я просто выигрываю за счёт того, что у моих объектов не надо вызывать T()
тыж писал что у тебя хешмап типо оптимизировал под примитивыные типы? при чем здесь конструкторы?
Аноним 23/09/19 Пнд 17:08:05 1479972368
>>1479968
Он не просто оптимизирован под примитивные типы, он не работает с нетривиальными в принципе.
Аноним 23/09/19 Пнд 17:08:55 1479973369
>>1479967
Да двачеры всегда недовольны. Хоть флажок в жёпу вставляй. Поэтому похуй.
Аноним 23/09/19 Пнд 17:09:18 1479975370
>>1479955
>Если мне не изменяет память, то классическая реализация std::unordered_map -- это вектор односвязных списков. ну, там нету std::vector и std::list внутри, не надо понимать буквально
>Получается, для доступа к элементу (если сразу попали, без коллизий) надо сделать два разыменовывания.
не очень понимаю, как в своей внутренней структуре ты от этого смог избавится

Аноним 23/09/19 Пнд 17:09:42 1479977371
>>1479975
>Если мне не изменяет память, то классическая реализация std::unordered_map -- это вектор односвязных списков.
ну, там нету std::vector и std::list внутри, не надо понимать буквально
>Получается, для доступа к элементу (если сразу попали, без коллизий) надо сделать два разыменовывания.
не очень понимаю, как в своей внутренней структуре ты от этого смог избавится
Аноним 23/09/19 Пнд 17:10:53 1479979372
>>1479972
ну дак и при чем здесь конструкторы? стандартные контейнеры тоже никаких конструторов не вызывают для примитивных типов
Аноним 23/09/19 Пнд 17:11:31 1479980373
>>1479973
>флажок в жёпу вставляй
мы же не в ios треде, не надо
Аноним 23/09/19 Пнд 17:13:00 1479982374
у std:unordered_map есть типа недостаток, а именно то что он сложный, его нужно настраивать для конкретных случаев
страуструпу он поэтому не нравился, он бурчал что типа прикладные кодеры его не поймут..

Аноним 23/09/19 Пнд 17:15:47 1479986375
>>1479977
Грубо говоря, односвязные списки у меня и остались, но оно всё хранится чуть хитрее.
У меня есть основной кусок памяти для нод -- это пара ключ-значение и индекс следующего элемента с совпадающим хэшом. и ещё флажок (в жопу). Совпадающие элементы хранятся вон в том bookshelf-е, что я кидал. Ну и всё, доступ идёт по хэшу в одно разыменовывание сразу, куда надо. Потом шагает по коллизиям, они ещё могут и в одном кэшлайне оказаться (это как работу с контейнером организуешь).
Аноним 23/09/19 Пнд 17:17:51 1479989376
>>1479979
Но их устройство под примитивные типы не подстраивается.
Аноним 23/09/19 Пнд 17:19:16 1479990377
Вообще, можно прекратить пиздёж и пробовать эту мапу тестить всем двачем, так сказать. Вбросить?
Аноним 23/09/19 Пнд 17:26:19 1479993378
Ну вот, куча желающих обоссать и ни одного желающего потестить :(
Аноним 23/09/19 Пнд 17:51:21 1480022379
Аноним 23/09/19 Пнд 17:54:18 1480025380
Аноним 23/09/19 Пнд 17:58:33 1480028381
>>1480025
зато теперь мы знаем, какой код пишут в nvidia за 320к
Аноним 23/09/19 Пнд 17:59:33 1480030382
>>1480028
Там всё-таки мужики работают с многолетним опытом, а не пиздюки вроде меня.
Аноним 23/09/19 Пнд 18:00:49 1480033383
Аноним 23/09/19 Пнд 18:00:54 1480034384
>>1479989
в смысле не подстравивается? unordered_map вообще то шаблон, хех, не стоит об этом забывать
Аноним 23/09/19 Пнд 18:01:20 1480036385
>>1480034
Бля, код есть, бери тестируй.
Аноним 23/09/19 Пнд 18:01:51 1480038386
>>1480033
Не, я на небольшую контору работаю.
Аноним 23/09/19 Пнд 18:04:04 1480041387
>>1480025
Забыл добавить -- цепляйте bookshelf отсюда.
>>1479905
Аноним 23/09/19 Пнд 18:14:04 1480052388
>>1480028
не, это не я, лол. Я, конечно, люблю велосипеды, но переизобретать STL - это оверкилл. Тем более, большая часть тормозов в моем проекте - это i\o.

Алсо, уже 350к, а не 320к.
Аноним 23/09/19 Пнд 18:16:42 1480055389
>>1480052
Где я переизобрёл STL?
Аноним 23/09/19 Пнд 18:21:28 1480057390
>>1479936
ну давай объясни хуйланчик
или нет, давай ты высрешь свое обычное
ну оооок и пойдешь драить сортир потому что это потолок твоих умственных способностей
Аноним 23/09/19 Пнд 18:21:34 1480058391
>>1480052
Ну ты пидор, за что тебе зп подняли, мразь? Че ты там такого делаешь?
Аноним 23/09/19 Пнд 18:26:32 1480063392
>>1480057
Ты не понял, что значит "коллизии рядом лежат"? В самом деле, я изъяснился хуёво, но вроде понятно, о чём я. Если ты даун, то давай объясню. Представь, что в твоих данных по хэшу никаких коллизий нет. Тогда оно всё может в одном массиве лежать, прям как в векторе, и всё заебись. А теперь представь, что ты ещё немного навалил туда. Вот это самое "немного", у которого хэши пересекаются (collide, правда?) с уже существующими, я сгружаю в отдельную структуру данных и коротко обзываю "коллизиями".
Аноним 23/09/19 Пнд 18:26:33 1480064393
>>1480025
Я чет не пойму, лето вроде кончилось, а вот такие школьные дебилы все равно лезут.
Аноним 23/09/19 Пнд 18:26:58 1480065394
>>1480055
Окей, переписал функционал, который существует в STL.

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

>>1480058
Ежегодное ревью, хорошо работаю типа. Вот и бампнули.
Это еще только зарплату считаю, так то мне еще акции капают, с которых еще тридцаточка в месяц стабильно выходит :3

Аноним 23/09/19 Пнд 18:29:08 1480069395
>>1480065
Такой хуеты, что я написал, в STL нет.
Аноним 23/09/19 Пнд 18:30:00 1480071396
>>1480064
Нешкольный дебил, возьми да потесть сначала.
Аноним 23/09/19 Пнд 18:30:08 1480072397
>>1480063
пидарас выкатывайся из айти
>немножко навалил и появились коллизии
>сую в отдельную структуру
это структура называется бакет, а ты жирнишь и изобретаешь велосипед
Аноним 23/09/19 Пнд 18:31:03 1480073398
>>1480071
Мань, ну не рвись, я же любя, лучше собери портфельчик на завтра.
Аноним 23/09/19 Пнд 18:32:13 1480074399
>>1480072
Я ваще охуеваю с вас, любители не подумать головой и спиздануть хуйню. Я ещё раз спрошу, ты точно понимаешь, о чём речь? Ты в проблеме разобрался прежде, чем пиздеть?
Аноним 23/09/19 Пнд 18:32:37 1480077400
>>1480073
С утра собираю, не переживай за меня.
Аноним 23/09/19 Пнд 18:36:37 1480086401
>>1480065
А таски какие делаешь?
Аноним 23/09/19 Пнд 18:43:31 1480089402
>>1480086
Странный вопрос, но я могу сказать, что я последнее некоторое время не просто С++ программист. Занимаюсь кучей всякой херни, начиная от автотестов\CI, заканчивая профилированием всякой параши, сменой билд системы, и прочие странные задачи. Но, на крестах иногда пописываю, просто щас очень много инфраструктурных задач.
Аноним 23/09/19 Пнд 18:54:19 1480093403
>>1480089
На bazel поменял билд систему? Признавайся, негодник
Аноним 23/09/19 Пнд 18:57:07 1480096404
>>1480093
Симейк + конан или вцпкг, думаем пока. С вцпкг запилили полноценный кроссплатформенный пруф оф концепт рабочий.

Щас все на MSBuild, при всей моей извращенной к нему любви, там где начинается кроссплатформа - там MSBuild заканчивается. А кроссплатформа началась.
Аноним 23/09/19 Пнд 19:00:19 1480099405
>>1480096
Вы там только инфраструктурное говно пилите или есть что повеселее? Deep learning проекты есть?
Аноним 23/09/19 Пнд 19:05:10 1480101406
>>1480096
Вы bazel-то рассматривали вообще? Переходить с msbuild и пилить концепты(!) на vcpkg, когда bazel подружили с vc++ еще год назад - это немного странно
Аноним 23/09/19 Пнд 19:06:53 1480105407
>>1480025
удолил )
баттхерт засчитан
Аноним 23/09/19 Пнд 19:08:06 1480108408
>>1480105
Ты сидел и отслеживал, пока час пройдет и она кончится, чтобы меня потом обоссать? Неужели тебя так задело?
Аноним 23/09/19 Пнд 19:08:36 1480109409
>>1480101
а я бы вообще менеджеры зависимостей не юзал
потому что в крестах это нахуй не надо
Аноним 23/09/19 Пнд 19:09:10 1480112410
>>1480105
Ни один двачер так и не потестил мапу, хотя вскукареков было немеряно. Я могу конечно тупые тесты для вас написать, мне не лень.
Аноним 23/09/19 Пнд 19:10:12 1480113411
>>1480108
насколько я понял твой юз кейс ты вообще пехаешь в свой "хэшмап" тупо ради удаления дубликатов а потом делаешь обход всех элементов? это оче странное использование хешмапа

Аноним 23/09/19 Пнд 19:10:35 1480114412
>>1480099
мы дохуя всего пилим, сейчас там просто надо инфраструктуру сборки менять, а до этого я контрибутил крестами. Моя команда вполне продуктовая.

Диплернинг есть конечно, просто не у меня в бизнесюните. В самом московском офисе его дохера.

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



Аноним 23/09/19 Пнд 19:11:08 1480115413
>>1480109
Ох дружок, поверь, они очень сильно нужны.
Аноним 23/09/19 Пнд 19:11:43 1480117414
>>1480112
тестить на каком конкретно юзкейсе?
там даже вопрос выбора std::map и std::unordered_map всегда стоит, зачастую классический map на деревьях оказывается выгодней хешмапа
Аноним 23/09/19 Пнд 19:12:42 1480118415
>>1480114
>Диплернинг есть конечно, просто не у меня в бизнесюните. В самом московском офисе его дохера.
Пили инсайды. Что с зарплатами?
Аноним 23/09/19 Пнд 19:12:46 1480119416
>>1480114
нафиг тебе менеджер зависимостей
дзен заключается что в случае крестов нужно строить ci/cd без него

Аноним 23/09/19 Пнд 19:13:04 1480121417
>>1480112
Одно дело попиздеть, другое бенчить твой говнокод. Потерпи, пока дяди с работы приедут
Аноним 23/09/19 Пнд 19:13:11 1480122418
>>1480115
нахуя? вот серьезно, не троллю

Аноним 23/09/19 Пнд 19:13:39 1480125419
>>1480101
Расскажи деду, чем bazel лучше cmake
Аноним 23/09/19 Пнд 19:13:46 1480127420
>>1480113
Не только. Если дубликат есть, нужен его индекс. Ещё, если грань встретилась дважды, её надо выкинуть. Вполне себе оправданное использование. Буду рад, если придумаешь чего получше.
Аноним 23/09/19 Пнд 19:14:04 1480128421
>>1480121
> Потерпи, пока дяди с работы приедут
бля дак 7м вечера же уже
или дяди 2 часа до дому добираются до третьего кольца?
Аноним 23/09/19 Пнд 19:14:51 1480130422
>>1480117
Да хоть надристать туда несколько миллионов интов подряд, уже будет в три раза быстрее. Могу сам собрать, покатаете.
Аноним 23/09/19 Пнд 19:15:15 1480131423
>>1480118
не знаю, но вангую 300+ за сениора, 200+ за мидла.
У нас там просто зарплатная вилка зависит от грейда и должности.
Сениор Диплернинг - это очень ЖЪРно. На хх кстати открыта диплернинг вакансия, можешь заапплаиться.

>>1480119
У меня есть 3рдпати зависимости. Я могу их как даун хранить у себя в репо, и собирать. А могу подсасывать депенденси менеджером.

Плюс, у нас есть каша из нескольких проектов, которые кросс-зависимы друг от друга, и собираются только все вместе. Вот от такой блевотины и хотим уйти, разбив их на библиотеки
Аноним 23/09/19 Пнд 19:16:26 1480136424
>>1480125
шо то хуйня шо то
для кроссплатформы нада юзать gnu autotols
а если на одну платформу то тупа make, msbuild или еще чето, то что родное для платформы в общем

Аноним 23/09/19 Пнд 19:17:24 1480137425
>>1480136
>gnu autotools
Дедуль, как в окопе на второй мировой сиделось?
Аноним 23/09/19 Пнд 19:17:32 1480138426
image.png (33Кб, 977x304)
977x304
>>1479777
Неприятно тут только тебе.
Аноним 23/09/19 Пнд 19:18:44 1480139427
>>1479722
> коллизий процентов 30
> а мне норм
Ясно. Лабу дописал уже?
Аноним 23/09/19 Пнд 19:18:55 1480140428
>>1480114
Как батя в системах сборок, рекомендую тебе сразу переходить на базел, а не страдать херней. Выйдет быстрее и приятнее. Всякие санитайзеры, распределенные билд серверы и кешеры промежуточных результатов идут в подарок из коробки

>>1480119
Нерепродьюсибл билд закукарекал. Маня, каждый девелопер должен иметь возможность в одну команду собрать с нуля что угодно на своей тачиле, а ci/cd сводится к запуску таргетов билд системы и прокидыванию переменных/креденшелов.
Аноним 23/09/19 Пнд 19:19:01 1480141429
>>1480136
>для кроссплатформы нада юзать gnu autotols
Спасибо, я как-то cmake обхожусь уже лет 6 как.
Аноним 23/09/19 Пнд 19:19:33 1480142430
>>1480128
Дяди к 13 приходят на работу
Аноним 23/09/19 Пнд 19:20:04 1480143431
>>1480131
>Сениор Диплернинг - это очень ЖЪРно. На хх кстати открыта диплернинг вакансия, можешь заапплаиться.
Выпущу проект в продакшен, буду аплаиться. А то сейчас и показать нечего.
Аноним 23/09/19 Пнд 19:20:31 1480144432
>>1479722
Я тебе больше скажу, в моей задаче 50% коллизий с хэш-функцией return a + b; работает сильно быстрее, чем 20% с хитрой побитовой еблей.
Аноним 23/09/19 Пнд 19:21:34 1480145433
>>1480131
>У меня есть 3рдпати зависимости. Я могу их как даун хранить у себя в репо, и собирать. А могу подсасывать депенденси менеджером.
кста, на следующей конфе по с++ что в питере буде, там один из мастер классов как раз по настройке ci для крестовых проектов
может пригодится, мастер классы имхо пополезней тупых выступлений где тупо пялишься на говорящего
Аноним 23/09/19 Пнд 19:22:58 1480146434
Аноним 23/09/19 Пнд 19:24:12 1480147435
>>1480145
CI я настраивать умею, тот же вцпкг мы в CI без проблем прокинули. Вопрос именно в пакетах и депендах.
Аноним 23/09/19 Пнд 19:25:00 1480148436
>>1480142
одно время вставал в 2 часа дня, а ложился в 5 утра
чуть не сдох
больше такого не позволяю себе
Аноним 23/09/19 Пнд 19:27:40 1480150437
питерская конференция вообще выглядит интересней основной, которая в москве была
по заявленным докладам
гораздо ближе к земле, более прикладные вопросы

Аноним 23/09/19 Пнд 19:29:51 1480152438
>>1480147
>Вопрос именно в пакетах и депендах.
дык я толкую, что смысл менеджера зависимостей это в том чтобы не обосраться с версией библиотеки
это более нужно для динамикодрисни (js к примеру)
в крестах же у тебя компилятор сам проверит что интерфейс библиотеки поменялся и выругается

Аноним 23/09/19 Пнд 19:33:23 1480153439
просто раскидываешь библиотеки по разным репам и делаешь ссылки и все
на сборке тупо вытягивается что надо из всех реп и собирается и дальше пыхтит там, тесты-хуетесты
Аноним 23/09/19 Пнд 19:33:58 1480155440
>>1480152
не факт, что интерфейс поменяется. Да и хочется без сюрпризов :)
Аноним 23/09/19 Пнд 19:36:09 1480157441
Ебать тут мамины оптимизаторы собрались с 50% коллизий. Если вы действительно хотите получить буст перфоманса, то нужно как минимум использовать кастомный аллокатор с прямым обращением к системе. Узкое место именно здесь. Только ебаная школота может думать, что их хэш функция заебись и вообще они алгоритмы знают лучше дядек с лысиной на голове.
Аноним 23/09/19 Пнд 19:39:03 1480163442
>cmake
>conan
>msbuild
>autotools
>кроссплатформенность
Мде, ребята, я в ахуе с вас.

>>1480131
>У меня есть 3рдпати зависимости. Я могу их как даун хранить у себя в репо, и собирать. А могу подсасывать депенденси менеджером.
Ващет ты как раз должен их хранить у себя в исходниках в монорепе и собирать каждый раз (на самом деле нет - базел кеширует результаты на удаленном серваке). Тогда у тебя получается reproducible build и 0 геморроя, что и под какую платформу ты бы не собирал. Кстати, компилятор ты внезапно тоже должен выкачивать, потому что это тоже зависимость. И линковаться должен не на glibc, а на musl в случае linux.

>>1480152
>в крестах же у тебя компилятор сам проверит что интерфейс библиотеки поменялся и выругается
Ага, и залинкует твой бинарь на системную либу. Потом соснешь хуйца после деплоя.
Также у таких манек типичная проблема: "ой, а почему у Ерохина все компилится на компе, а у меня нет??"
Не забудь еще, что билды бывают мультиязыковые и тогда ты со своим франкенштейном, который не трекает зависимости, будет сосать просто нонстоп еще до деплоя.
Аноним 23/09/19 Пнд 19:39:57 1480165443
>>1480157
Ещё один нихуя не понявший? У меня там пара кусков памяти, которые мне любезно предоставляет std::realloc, нахуй твои аллокаторы оказываются не нужны.
Аноним 23/09/19 Пнд 19:42:56 1480171444
>>1480163
у нас сейчас да, даже КОМПИЛЯТОР в монорепе и самопальный говносборщик. Ебал такое счастье. Каким-нибудь йоба GPU-драйверам это, вероятно, нужно. Нам с нашими в разы более простыми проектами - нет.
Аноним 23/09/19 Пнд 19:43:00 1480172445
>>1480157
кастомный аллокатор тоже нахуй не надо, не даст он прироста значительного

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

НО ведь если случай частный, то уже нужно использовать просто более специализированную структуру данных, чем хешмам, не так ли?
таких структур полно, cs не стоит на месте..

Аноним 23/09/19 Пнд 19:44:24 1480176446
>>1480165
бля, чувак, уже только то что ты пользуешь православные маллоки в крестовом коде в 2к19 уже настораживает..

Аноним 23/09/19 Пнд 19:46:50 1480181447
>>1480163
>Мде, ребята, я в ахуе с вас.
ну ладно, похуй
cmake тогда
необходимое зло

Аноним 23/09/19 Пнд 19:47:00 1480182448
>>1480176
Ты понимаешь, что realloc может что-то такое, чего не может new?
Аноним 23/09/19 Пнд 19:48:47 1480186449
>>1480182
ты же знаешь да, что realloc не гарантирует реаллокацию на том же месте без копирования?
Аноним 23/09/19 Пнд 19:50:07 1480187450
>>1480186
Естественно, не гарантирует! А ты же знаешь, какова примерно вероятность этого и каков суммарный эффект?
Аноним 23/09/19 Пнд 19:50:31 1480189451
>>1480172
Стандартный рантайм оче хуевый и задействует только малую часть интерфейсов ос. Под 10 выню можно дикие оптимизации делать, например.

>>1480165
> 50 % коллизий
> malloc/сalloc
> Ты ничиво нипонял
Ладно ладно.
Аноним 23/09/19 Пнд 19:51:23 1480191452
>>1480189
Вон код лежит, бери тестируй, чего выёбываться.
Аноним 23/09/19 Пнд 19:52:41 1480192453
>>1480191
Да делать мне нехуй. Я даже твои потуги целиком не осилил. Кстати, а вот на твои тесты было бы интересно взглянуть. Вангую тестил ты криво. Методологию какую использовал?
Аноним 23/09/19 Пнд 19:54:41 1480196454
>>1480192
Я взял и задеплоил блять, получил ускорение и успокоился. Я же не контейнер на все случаи жизни написал. Так, тестил на вставку подряд, на вставку рандомную, на вставку смешанную с удалениями, короче как раз то, что мне нужно было. Хэш-функции одинаковые, данные одинаковые, интерфейс одинаковый.
Аноним 23/09/19 Пнд 19:57:40 1480203455
>>1480189
>Под 10 выню можно дикие оптимизации делать, например
Например? Не в целях тралленга, правда интересно.
Аноним 23/09/19 Пнд 21:14:31 1480278456
1569262449028.webm (1807Кб, 1100x850, 00:00:05)
1100x850
Подскажите плез, как переопределить метод члена класса в С++?
Мне надо как то переопределить mousePressEvent для QGraphicsPixmapItem, который является членом класса QMainWindow.
Аноним 23/09/19 Пнд 21:16:31 1480283457
>>1480146
Там весь код, который анон выкладывал на pastebin?
Аноним 23/09/19 Пнд 21:33:07 1480307458
>>1480283
Да, это я сложил пару файлов плюс main накинул с тестом на упорядоченную вставку.
Аноним 23/09/19 Пнд 21:39:06 1480314459
1569263924387.jpg (5Кб, 243x207)
243x207
Как правильно использовать QGraphicsSceneMouseEvent?
Допустим, у меня есть QMainWidget, в котором есть сцена. Мне надо по маусивенту на сцене делать какое-то действие. Как мне вытащить этот ивент? В каком месте QMainWidget его прописывать вообще?
Аноним 23/09/19 Пнд 21:49:18 1480333460
>CppCon
>одни белые цис-мужчины
Объяснитесь, плюсисты. Почему у вас нет инклюзивности?
Аноним 23/09/19 Пнд 22:01:11 1480354461
Опытные аноны, можете на пальцах обьяснить что такое OpenAPI (Swagger) и зачем он нужен? Я так это типо конструктора, где мы записываем схему апи сайта, а он генерит под это дело всё необходимые серверные заглушки, а нам выходит только их реализацию написать остается? Сложно это всё изучать не понимая слов на которых это всё рассказывается, извините если тупые вопросы задаю.
Аноним 23/09/19 Пнд 22:02:27 1480355462
>>1480333
Не знаю есть какие-то инклюды но я ими не пользуюсь
Аноним 23/09/19 Пнд 22:31:59 1480399463
>>1480333
Там бы трапик когда страус труп выходил
Аноним 23/09/19 Пнд 22:33:16 1480400464
Аноним 23/09/19 Пнд 22:34:36 1480403465
>>1480399
я дак испытал чувство неловкости когда смотрел видео
в зале наверное тоже задали себе многие вопрос wtf?
а там вроде больше тыщи человек сидело

Аноним 23/09/19 Пнд 22:34:49 1480404466
Аноним 23/09/19 Пнд 22:36:11 1480406467
>>1480314
фууу это скучно
давай сам как нибудь!
Аноним 23/09/19 Пнд 22:43:38 1480414468
>>1473424
Потому что есть rvalue пуш
Аноним 23/09/19 Пнд 23:22:45 1480443469
>>1480146
394 строка почему не do..while?
Аноним 23/09/19 Пнд 23:27:04 1480448470
>>1480278
//hpp
pragma once
#include <QGraphicsPixmapItem>

class MyItem: public QGraphicsPixmapItem
{
protected:
void mousePressEvent(QGraphicsSceneMouseEvent event) override;
};

//cxx
#include "header.cpp"

MyItem::mousePressEvent(QGraphicsSceneMouseEvent
event)
{
//Hamder
}
Аноним 23/09/19 Пнд 23:37:35 1480451471
>>1480443
Ты серьёзно сидишь это читаешь? Я теперь чувствую себя виноватым в трате твоего времени :( не do...while потому, что мне так проще было сообразить, что куда совать, потому что цикл непростой.
Аноним 23/09/19 Пнд 23:38:38 1480452472
>>1480443
Типа последний иф заворачивается под while, да? действительно симпатичнее, спасибо.
Аноним 24/09/19 Втр 00:37:53 1480485473
Screenshot from[...].png (44Кб, 1144x330)
1144x330
>>1480146
Не быстрее. Реально в два раза медленнее. Но если поставить кастомный аллокатор, который я наговнокодил, то скорость unordered_map становится такой же, как и у trivial_hash_map
https://pastebin.com/DC7cP8sj
Аноним 24/09/19 Втр 01:42:43 1480505474
>>1480485
То есть что, очередной велосипедостроитель наебнулся с неумением пользоваться кастомными аллокаторами?
Аноним 24/09/19 Втр 07:38:57 1480547475
>>1480189
>Под 10 выню можно дикие оптимизации делать, например.
Где почитать можно?
Аноним 24/09/19 Втр 07:43:13 1480550476
>>1480505
два чую
Этот даун тупо скопипастил stl и даже не знает как там хэшмапа работает.
Аноним 24/09/19 Втр 08:54:19 1480562477
Screenshot at 2[...].png (21Кб, 402x134)
402x134
>>1480485
Не знаю, где ты там чего подшаманил, но у меня так. Ну и конечно меня заинтересовал segfault на размере в пару раз больше. Я вообще тестил unordered_map с кастомным аллокатором (тоже велосипедный, тоже можешь обоссать), но эта хуета оказалась тупо в полтора раза на моей задаче быстрее.
Аноним 24/09/19 Втр 08:55:56 1480564478
>>1480485
Время будет вечером, я сам тесты устрою, мне на самом деле тоже не верится, что мой говномап сильно быстрее стандартного с норм аллокатором.
Аноним 24/09/19 Втр 08:58:11 1480567479
>>1480562
сегфолт тоже ловил, судя по всему от того, что malloc не может выделить блок памяти и возвращает nullptr
Аноним 24/09/19 Втр 09:01:22 1480569480
>>1480562
Какая система? релиз?
Аноним 24/09/19 Втр 09:51:14 1480589481
>>1480569
Debian 10
Ещё, думаю, важно:
gcc version 8.3.0 (Debian 8.3.0-6)
флажки -O3 -march=native -DNDEBUG
проц i5-8250u
Я глупенький, что такое релиз?
Аноним 24/09/19 Втр 10:46:29 1480599482
>>1480562
А, очень важную вещь забыл. Я выставил load_factor = 1, как у самого unordered_map (строка 183), на этот конкретный синтетический тест влияет сильно.
Аноним 24/09/19 Втр 10:50:10 1480600483
Screenshot at 2[...].png (22Кб, 411x134)
411x134
>>1480485
Вот так выглядит рандомная вставка, последовательные erase-ы
Аноним 24/09/19 Втр 12:26:28 1480628484
>>1480600
А на случайных erase-ах, как и ожидалось, на стековом аллокаторе результат оказывается хуже, чем у стандартного контейнера. Вот и написать нормальный аллокатор под это оказывается сложнее, чем написать тупой мап.
Аноним 24/09/19 Втр 13:45:09 1480660485
Не могу понять как работает try catch. Как например сделать, чтобы программа писала ошибку, а не вылетала, с таким кодом?
std::unique_ptr<int> p1(new int(33));
p1.release();
std::cout << (ЗВ)p1;
Аноним 24/09/19 Втр 13:59:22 1480661486
>>1480660
Перед cout проверять указатель
Что-то вроде if( p1 ) { std::cout << ... }
Аноним 24/09/19 Втр 14:52:04 1480711487
>>1480660
Оборачиваешь все в трай, в кетче ловишь, ты учебник не читал?
Алсо голые нью это бед практис, надо
auto p1 = std::make_unique<int>(33);
Аноним 24/09/19 Втр 14:52:52 1480712488
>>1480660
Ты пытаешься вызвать оператор вывода в поток от nullptr. Какого результата ты ожидаешь?
Аноним 24/09/19 Втр 17:03:46 1480795489
>>1480660
try ... catch (...) { std::cerr << e.what(); std::cerr << "pizda"; }
Аноним 24/09/19 Втр 17:51:51 1480819490
Аноним