Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски

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

Check this out!


<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
519 | 19 | 160

C++ №70 Аноним 30/04/18 Пнд 01:21:15  1181867  
c-logo.png (32Кб, 600x400)
Вместо шапки — https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы:
- http://en.cppreference.com/w/
- http://www.cplusplus.com/reference/
Прошлый: >>1169708 (OP)
Аноним 30/04/18 Пнд 01:31:15  1181872
Как скачать файл одной командой, без winapi и тяжёлых библиотек типа curl, wget. Есть ли специально заточенная под это библиотека?
Аноним 30/04/18 Пнд 01:44:01  1181876
>>1181872
Писать самому. Или отправить команду на скачку через system();
Аноним 30/04/18 Пнд 01:54:33  1181879
>>1181872
http://cpp-netlib.org/
Аноним 30/04/18 Пнд 02:18:00  1181883
>>1181879
ofs << static_cast<std::string>(body(response)) << std::endl;
Я должен быть сеньором чтоб эту строчку понять? Из примера simple wget
Аноним 30/04/18 Пнд 02:43:06  1181891
>>1181883
Даже не старайся.
Аноним 30/04/18 Пнд 02:45:40  1181893
>>1181891
Постараюсь
Я ее впишу, что она делает мне похуй
Аноним 30/04/18 Пнд 03:02:29  1181899
>>1181883
В этой строчки ничего сложного нет. Ты видимо C++ мало учил или наверное не понимаешь как устроен http.
Аноним 30/04/18 Пнд 03:05:48  1181900
>>1181899
> не понимаешь как устроен http
А то ты RFC вызубрил и сходу можешь назвать ключевые отличия HTTP/1.0 от HTTP/1.1
Аноним 30/04/18 Пнд 03:07:36  1181901
>>1181900
Да.
Аноним 30/04/18 Пнд 03:11:27  1181902
>>1181901
Молодец
Аноним 30/04/18 Пнд 12:41:43  1181986
>>1181899
Видимо ты прав
Пойду учить
Аноним 30/04/18 Пнд 14:33:41  1182031
Ди наху э
Аноним 30/04/18 Пнд 15:11:20  1182051
>>1181872
Это curl то тяжёлый, блеать?
Ну ок, пиши сам. Если линупс - всего то, создаешь клиентский сокет, биндишься к нужному адресу (если адреса нет - то ещё ресолвишь его, коннектишься, составляешь ручками GET запрос, ручками парсишь ответ, сохраняешь данные. Если там https то ты соснул, руками это не написать, а openssl таки тяжёлая.
Аноним 30/04/18 Пнд 15:26:23  1182056
Сап. Есть такая строчка в мануале по OpenCV:
CVAPI(IplImage) cvQueryFrame( CvCapture capture );
Таки CVAPI - это просто тип указание? При подстановке в код не конпелируется.
Аноним 30/04/18 Пнд 17:47:42  1182142
>>1182056
Это скорее всего какой-нибудь макрос, который подставляет всякие атрибуты и прочее.
Аноним 30/04/18 Пнд 21:20:46  1182273
FTLK или wxWidgets? Или какая нибудь другая легковесная библеотека для графики? Или сразу нырнуть в бездну шинАпи?
Чего поставить начинающему чтобы оно потом могло пригодиться и не испортило вкуса.
Из задач - тетрисы там всякие графики хуяфики.
Аноним 30/04/18 Пнд 21:21:27  1182276
>>1182273
C#
Аноним 30/04/18 Пнд 22:19:19  1182320
>>1182273
Qt
Аноним 30/04/18 Пнд 23:15:10  1182345
>>1182273
временами по работе приходится GUI на крестах пилить. Я ибав, если честно( особенно, если требуют WinAPI), однако, знаешь, навострился, а так удобнее qt или embarcadero Ничего не видел.
Аноним 01/05/18 Втр 00:11:45  1182364
>>1182273
Если чистый WinAPI, тогда бери GDI+, с ним можешь рисовать линии, прямоугольники, круглешки. И классы для загрузок картинок разных форматов там тоже есть. Короче все что нужно для мини игры типа тетриса.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms533797(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms533802(v=vs.85).aspx
Аноним 01/05/18 Втр 01:38:55  1182382
Почему нихуя не выдаёт, после того как вынес в функцию

#include "stdafx.h"
#include <iostream>
#include "string"
#define CURL_STATICLIB
#include "curl/curl.h"

#ifdef _DEBUG
# pragma comment (lib, "curl/libcurl_a_debug.lib")
#else
# pragma comment (lib, "curl/libcurl_a.lib")
#endif


static int writer(char data, size_t size, size_t nmemb, std::string writerData)
{
if (writerData == NULL)
return 0;

writerData->append(data, sizenmemb);

return size
nmemb;
}

std::string getFile(std::string url)
{
std::string content;
curl_global_init(CURL_GLOBAL_ALL);
CURL *curl = nullptr;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &content);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
CURLcode code = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return content;
}

int main()
{
std::cout << getFile("https://curl.haxx.se/libcurl/c/htmltitle.html");
std::cin.get();
return 0;
}
Аноним 01/05/18 Втр 01:46:32  1182384
>>1182382
Доебал со своими вопросами уже, неосилятор, может перекатишься на другой язык?
Аноним 01/05/18 Втр 14:26:17  1182571
Зачем нужно xvalue?
Аноним 01/05/18 Втр 14:53:39  1182586
>>1182382
>getFile(std::string url)
Где ссылки блять, питуз?
Аноним 01/05/18 Втр 14:57:33  1182591
>>1182586
А какая тут разница? Ну вызовется лишний move-конструктор (начиная с C++17 даже он вызываться не будет), делов-то.
Аноним 01/05/18 Втр 16:18:08  1182631
Есть один виндоус сервер на котором должны проводится тесты гуя.
Пока только начал над этим работать, написал простую программку с SetForegroundWindow и SendInput из Windows.h

Она прекрасно работает, но ровно до того момента как отключится RDP-сессия.
Алсо, тут есть легаси-программа, которой похуй на отключения от RDP, работает как часы. Но сорсов нет.

Что делать? Есть ли что-то еще более низкоуровневое для отправки нажатий клавиш в окно? Мышь не нужна.
Аноним 01/05/18 Втр 16:46:07  1182646
Есть платка с процессором и ОЗУ. К ней подключено внешнее ПЗУ. ОС нет. Программа переписывает какой-то программный модуль/блок из МПЗУ и запускает его.
Вопрос: как это все организовать? Проект на плюсах.
Я порылся в документации на линковщик, обнаружил ключевое слово overlay, с помощью которого можно обозначить секции, которые будут запускаться с одного и того же адреса, но по результате сборки будут лежать в другом месте.
А как, например, указать входную точку каждого такого оверлея? В моем понимании один оверлей - это несколько функций плюс какие-то данные.
Аноним 01/05/18 Втр 17:20:11  1182686
>>1182646
Что за процессор?
Аноним 01/05/18 Втр 17:28:10  1182692
>>1182686

Rocket-chip на архитектуре RISC-V.
Аноним 02/05/18 Срд 01:12:28  1182911
>>1182646
Убедись, что у тебя адреса основной программы не пересекаются с адресами программы из ПЗУ, а потом смело перекатывай ПЗУшку в память и вызывай её по захардкоженным адресам, скастованным в указатель на функцию. Хидер с адресами генерируй автоматически из map-файла, создаваемого линкером при компиляции кода ПЗУшки (зависит от того, какой компилятор используешь). Если в оперативку всё не влезает, то опять бери map-файл и генерируй из него регионы памяти, которые можно подгружать отдельно.
Аноним 02/05/18 Срд 09:01:28  1182971
>>1182911

Я использую gcc.
Как мне спарсить нужные адреса из map-файла в хидер? Получается, я могу сгенерить этот хидер только после сборки всего проекта, а тогда как его использовать?
Аноним 02/05/18 Срд 13:11:09  1183083
>>1182971
Почему всего проекта-то? Собирай бинарник для ПЗУшки первым, для остальной программы вторым. Хотя если есть возможность объединить код, то всё проще - читай мануал по ld, раздел Memory Layout, и отдельно про раздел SECTIONS. Линкер позволяет рассовать .o-шки по отдельным секциям, а секции - по заданным адресам. Потом просто разрежешь готовый бинарник на части и после загрузки недостающих частей в оперативку он будет работать как единое целое. Это примерно то, что ты имел ввиду когда говорил про оверлей, но оверлей - это такая устаревшая досовская терминология, сейчас это слово означает пересекающиеся адресные пространства.
Аноним 02/05/18 Срд 17:11:24  1183206
Есть программа в 500 строчек на go. Стоит ли её переписывать на c++? Хотелось бы добавить пару функций. А прежний разработчик сдох
Аноним 02/05/18 Срд 19:55:19  1183264
Почему вы до сих пор не перекатились на Rust? Работу в расчёт не берём.
Аноним 02/05/18 Срд 22:33:43  1183343
>>1183264
Менять одни костыли на другие?
Аноним 02/05/18 Срд 22:35:45  1183345
>>1183264
Зачем нужен раст, когда есть D?
Аноним 02/05/18 Срд 23:13:08  1183370
>>1183345
Затем, что GC не нужен.
Аноним 03/05/18 Чтв 00:04:32  1183432
>>1183264
Потому-что я работаю на С++
/thread
Аноним 03/05/18 Чтв 00:05:50  1183433
>>1183264
Все более или менее приличные проекты, написанные на нём за 8 лет, влезли в 30 строк википедии. На hh целых 42 вакансии с потолком в 4к в москвабаде. Зачем вкатываться в такое дно?
Аноним 03/05/18 Чтв 00:17:53  1183441
Какую вторую книжку читать после страуструпа?
Аноним 03/05/18 Чтв 00:35:24  1183454
>>1183370
Не нужен - не используй, @nogc в помощь
Аноним 03/05/18 Чтв 00:45:25  1183460
>>1183441
Липпман, Майерс
Аноним 03/05/18 Чтв 00:50:18  1183466
>>1183432
>/thread
Питух?
Аноним 03/05/18 Чтв 02:47:05  1183503
>>1183460
Сколько часов уйдет на осиливание?
Аноним 03/05/18 Чтв 02:57:29  1183504
И вообще, я тут постоянно замечаю, что тут сидят прям закоренелые эксперты, вы серьезные вещи можете сделать на этом языке, и не только?
Аноним 03/05/18 Чтв 10:40:49  1183566
>>1183504
Мастера в своём деле, в левой руке "Hello, world!", в правой сортировка пузырьком.
Аноним 03/05/18 Чтв 11:49:27  1183576
>>1183466
да
Аноним 03/05/18 Чтв 12:29:26  1183604
>>1183504
Пишу на работе виртуализацию ФС. Серьезно достаточно.
Аноним 03/05/18 Чтв 18:56:50  1183798
>>1183504
На одном языке серьёзных вещей уже давно не делают.
Аноним 03/05/18 Чтв 20:15:25  1183853
>>1183604
какая зп? дс?
Аноним 03/05/18 Чтв 21:10:42  1183903
>>1181867 (OP)
Попробую спросить в вашем треде. Часто ли встречаются лексичекие анализаторы с страшными и нечитаемыми таблицами переходов? Я видел такое только в теории, а на практике пока встречался только с простыми анализаторами на ветвлениях и без таблиц. Зачем тогда вообще рисовать эти автоматы, вычислять, составлять таблицы?
Аноним 03/05/18 Чтв 21:37:44  1183923
>>1183903
Извини, что? Лексеры же тридцать лет уже пишут на dsl-ах с регулярками. Бывают парсеры с заданными таблицей автоматами, но только в редких случаях, типа разбора ебанутого синтаксиса Си с кучей исключений. Встречается это почти исключительно в больших проектах, оптимизированных по самое небалуй.
Аноним 03/05/18 Чтв 21:51:28  1183935
>>1183923
Я не разбираюсь и не хочу наговорить лишнего, но мне бы очень хотелось научиться писать парсеры и интерпретаторы/компиляторы. Скачал книжку с драконами на обложке, а там такая адская жесть, что я дропнул в самом начале главы про парсеры. Как раз много рассказывается про конечные автоматы в лексическом анализе, но все это без примеров и нихуя не понятно в итоге. Как вкатиться вообще в это дело? Посоветуй инфы или книжек для простых смертных, будь другом
Аноним 03/05/18 Чтв 22:01:54  1183942
>>1183935
Поиграйся с генераторами парсеров на каком-нибудь динамическом языке: жс, петоне или пыхе. У тех, которые хорошие, есть туториалы чтобы вкатиться, а там экспериментируй и смотри на результаты. Гугли их по запросу "имяязыка parser generator". На жс, например. есть pegjs.org с коротким туториалом. Но если начнешь лепить конпелятор в бинарники, Книга дракона вообще самая годная для начинающих. Хотя можешь сделать просто транслятор из исходника в исходник, это гораздо проще, достаточно просто в несколько проходов пройтись прямо по созданному парсер-генератором дереву и выдать эквивалентный код на другом языке.
Аноним 03/05/18 Чтв 22:09:51  1183947
>>1183935
Свой компилятор собрался писать? Для этого тебе нужен IQ 150+
Аноним 03/05/18 Чтв 22:16:12  1183952
>>1183903
Хуй знает, мы на работке для парсеров-шмарсеров ragel используем. Разве что ебучий минус - хз как к этой хуйне подсветку синтаксиса написать чтобы в ide красной хуйней не заебывало.
Аноним 04/05/18 Птн 00:27:56  1184029
>>1183206
bump
вот сам файл если кому то не лень будет чекнуть https://github.com/superhacker777/hikka/blob/master/src/hikka.go
Аноним 04/05/18 Птн 00:37:18  1184032
>>1184029
Помнится первая версия этой проги была как раз на с++ написано.
Yoba кажется называлась, лол.
Аноним 04/05/18 Птн 00:38:17  1184034
>>1183942
Спасибо. Я тут нашел цикл простеньких статей для ньюфагов, попробую начать с них. А книга с драконами все равно очень сложная, хоть ее все и советуют для новичков.
>>1183947
Нет, просто хочется разобраться в их устройстве и не чувстовать себя инвалидом в мире программирования.
>>1183952
А ты понимаешь принцип работы этой программы?
Аноним 04/05/18 Птн 00:40:03  1184035
>>1184034
Какой? Ты компилятор столе хочешь написать, лол? Я тоже свой писать собирался, да дропнул - так и лежит эта платка отладочная, пылью покрывается.
Аноним 04/05/18 Птн 00:48:05  1184038
>>1184032
Что-то не гуглится, можешь более точно вспомнить?
Аноним 04/05/18 Птн 00:50:45  1184039
>>1184038
https://lenta.ru/articles/2016/05/12/haclercamera/

Довольно скоро народ понял, что подбирать пароль вручную сложно и непродуктивно. Так на свет появилась первая версия брутфорса для взлома паролей — «Йоба».
Аноним 04/05/18 Птн 02:25:52  1184056
>>1183566
Посмеялся, спасибо, крестовой анон.
Аноним 04/05/18 Птн 11:19:04  1184131
>>1182382
>std::string url
Недавно реверсил одну программу, которую переписывал, судя по всему, шарпист. И он наделал подобных конструкций в каждой функции. Из-за этого перед вызовом любой функции с таким аргументом вызывался конструктор и создавалась новая строка, а перед выходом из функции удалялась. Если не править прототип функции, то в ней получалось по 6 х кол-во строк аргументов, а использовался только первый параметр. И приходилось в каждую интересующую меня функцию добавлять прототип вместо формального void'а. А также, разработчик не придумал ничего лучше, чем добавить строки открытым текстом типа "SecretString1" для генерации ключа, видимо, он надеялся, что никто не поймёт их предназначение (или не найдёт в откомпилированной программе). Версия для маков содержала отладочные символы (не знаком с маком, это поведение компилятора по умолчанию или их нельзя удалить?) со всеми названиями функций. Жаль, что в его голову не пришла светлая идея распространять pdb файлы для Windows-версии. И ещё он забыл удалить отладочный запрос (и все юнит-тесты, которые, вроде бы, невозможно запустить, потому что не было перекрёстных ссылок на функцию), который содержал кучу параметров запроса, имя и пароль тестового пользователя, который мне не удалось по каким-то причинам использовать, но стали понятны некоторые механизмы работы программы без её запуска (самостоятельная регистрация не возможна, а работу программы проверить хотелось). А другой человек в официальном (вроде бы) ролике спалили свой пароль, который можно было увидеть при покадровом просмотре, ведь тот же разработчик сделал мегаудобную вещь, как показ введённого символа примерно одну секунду перед тем, как он превратится в звёздочку. А это, в свою очередь, мне очень помогло понять механизм генерации ключа и даже написать брутфорсер на OpenCL. К сожалению, кто-то подсказал разработчику (сам он вряд ли додумался) использовать большое число раундов для генерации ключа, поэтому брутфорсер оказался практически бесполезным, разве только для паролей до 7 символов. Также разработчик использовал захардкоженый абсолютный путь к файлам программы без возможности его изменения (а если ОС на другом диске или диска C нет). И да, думаешь, что это мелкая никому не известная программа? А вот и нет, без преувеличения, миллионы пользователей, несколько стран, программа платная, аналогов нет, а без неё низзя, обязаловка. И это не в России.
Не делай больше так.
Аноним 04/05/18 Птн 11:41:06  1184136
>>1184038
https://github.com/superhacker777/ivms-bf
В том же репозитории вот это есть с пометкой
>UPD: Currently abandoned, rewritten in Go
Аноним 04/05/18 Птн 12:56:40  1184154
>>1183798
Ну , как сказать, я вот не считаю всякие кути шляпы отдельным языком от плюсов, а они позволяют написать ВСЁ.
Аноним 04/05/18 Птн 14:39:18  1184181
>>1184136
Так хуле мне делать, на каком языке форк делать?
Аноним 04/05/18 Птн 14:40:49  1184182
>>1183935
Начни с написания простого форта на асме, дальше оно само пойдет.
Аноним 04/05/18 Птн 15:06:06  1184186
>>1184181
Блять, ты не можешь добавить функционал в c++ версию или что?
Аноним 04/05/18 Птн 15:23:48  1184193
>>1184131
Ну достаточно поставить ссылку? Возможно константную, не знаю нужна там работа непосредственно с этой строкой.
Аноним 04/05/18 Птн 16:13:54  1184220
>>1184154
Если тебе захочется нормальную графику или вычисления на gpu, то придётся осваивать шейдерные языки. Тот же кути в качестве одного из инструментов даёт тебе QML.
А в целом экономически неоправданно всё на c++ писать. Ту же автоматизацию сборки и тестирования проекта намного быстрее и проще написать на python (считай дешевле и надёжнее).
Аноним 04/05/18 Птн 18:05:38  1184248
>>1184220
>то придётся осваивать шейдерные языки
Шейдеры и opencl - это сишка, куда - С++.
Аноним 04/05/18 Птн 19:09:22  1184269
>>1183853
270к чистыми, ДС
Аноним 04/05/18 Птн 19:47:47  1184273
>>1184248
Наркоман штоле? Шейдерные языки GLSL, HLSL это никакая не сишка и уж тем более не C++. Синтаксис похож, но этим всё и ограничивается (указателей нет, ссылок нет, встроенные типы матриц и векторов, swizzle оператор, динамического выделения памяти напрямую нет, нет рекурсии и ещё сотни отличий).
OpenCL C тоже основан на сишке и тоже её стандарт переопределяет.
Заимствование синтаксиса не делает Java наследником C++.
Аноним 04/05/18 Птн 20:43:20  1184289
Хочу подзаработать на удалёнке, тыщ 30, нужны для апгрейда ноута.
Скилы:
Англицкий:
письменный - ок
на слух - более менее
говорение - летмиспикфроммайхарт

Основные скиллы:
-программирование ARM контроллеров
-прикладное на С/С++ под Windows/Linux
-тулчейны для контроля версий сборки и тестов

Дополнительные скиллы:
-Python со словарём.

Как я вижу для удалёнки нужна экспертиза в конкретной предметной области, например Linux Kernel.
Пацаны, в какую область можно вкатиться, что разово, за пару выходных поднять немного денег?
Аноним 04/05/18 Птн 20:45:24  1184290
>>1184289
> Пацаны, в какую область можно вкатиться, что разово, за пару выходных поднять немного денег?
Дворником.
Аноним 04/05/18 Птн 20:48:25  1184291
>>1184290
UPD
inb4: дворник, фронтенд
Аноним 04/05/18 Птн 20:54:09  1184293
>>1184289
Есть у меня подозрение, что у тебя всё перечисленное со словарём, а не только питон. Ищи колым для студентов в дно треде.
Аноним 04/05/18 Птн 21:07:37  1184301
>>1184293
Проходи мимо.
Аноним 04/05/18 Птн 21:53:26  1184322
В чем разница на уровне инструкций? Что оптимальнее использовать?

bool func(int a) {
return a > 0;
}

std::uint8_t func(int a) {
return a > 0;
}
Аноним 04/05/18 Птн 22:05:51  1184324
>>1184322
Ни в чем. https://godbolt.org/g/Bm4LVR
Как по мне, так первый вариант более читабелен.
Аноним 04/05/18 Птн 23:00:34  1184342
>>1184273
https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/html/vkspec.html#VK_KHR_variable_pointers
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#c-cplusplus-language-support
https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-openclc++.pdf
Аноним 05/05/18 Суб 00:05:54  1184369
>>1184342
Что сказать то хотел?

vulkan это очередное api для загрузки на видяху тех же шейдеров, написанных на glsl или hlsl (отличие от opengl в том, что он использует шейдерные программы в виде "байт кода" spir-v).

OpenCL C++ по документации не поддерживает такие важные средства C++, как:
1.8 Restrictions
- recursive function calls (section 5.2.2, item 9)
- new and delete operators (sections 5.3.4, 5.3.5)
- function pointers (sections 8.3.5, 8.5.3)
- virtual functions and abstract classes (sections 10.3, 10.4)
- exception handling (section 15)
Аноним 05/05/18 Суб 00:19:42  1184377
>>1184369
>Что сказать то хотел?
Что в шейдерах почти полноценный С++ с указателями и темплейтами.
>не поддерживает такие важные средства
На самом деле указатели на функции там есть, только адово тормозят.
А так естественно, что многие возможности не поддерживаются - архитектура у железа другая.
Аноним 05/05/18 Суб 00:47:38  1184392
>>1184369
Я особо не интересовался OpenCL, я думал это просто API для параллельных вычисленей на видеокарте в языке C/C++. А это получается вообще другой язык? Для него нужен специальный компилятор?
Аноним 05/05/18 Суб 00:59:21  1184397
Учу кресты по Страуструпу и что-то я нихуя не понял: у него есть целый параграф, посвященный концептам в шаблонах, но какой бы я компилятор не взял (gcc, msvc, clang), все меня послали нахуй. Хотя Страуструп пишет, что концепты есть с С++14. Получается он наебал или что?
Аноним 05/05/18 Суб 01:23:01  1184405
>>1184392
>А это получается вообще другой язык?
Только для ядра, которое выполняется на видяхе, сам API - сишный. В старых версиях у шейдоров - сиподобный язык, начиная с 2.1 - урезанный С++14. У нвидии на CUDA с самого начала C++.
>Для него нужен специальный компилятор?
Да, но можно просто текстовую строку с шейдером передавать API.
Можешь сам посмотреть (это не OpenCL, а пиксельные шейдеры для WebGL, но суть похожая.): https://www.shadertoy.com/


Аноним 05/05/18 Суб 01:25:18  1184406
>>1184397
Это экспериментальная фича еще, надо флаг компилятору передать, у GCC -fconcepts, clang вроде не поддерживает еще.
Аноним 05/05/18 Суб 01:37:27  1184407
>>1184406
Все равно хуита: https://godbolt.org/g/nCnMUV
Аноним 05/05/18 Суб 02:00:10  1184412
>>1184407
У них по -foncepts старая версия концептов, не та, которая в стандарт войдет, да и та неполная. Так что тебе придется самому нужную ветку GCC собирать.
Аноним 05/05/18 Суб 15:43:34  1184583
>>1184322
Такие функции лучше через макрос делать или inline.
Аноним 05/05/18 Суб 16:11:58  1184590
viking of disap[...].jpg (31Кб, 520x390)
>>1184583
Аноним 05/05/18 Суб 16:35:04  1184595
>>1184322
Лучше не заморачиваться такой хуйней, premature optimisation и вся хуйня.
Аноним 05/05/18 Суб 21:09:26  1184757
>>1184583
В современом C++ забудь макросы, используй их только в крайних случаях. И для таких простых функций, как выше, не надо писать inline. Компилятор сам инлайнит функции где возможно.
Аноним 05/05/18 Суб 22:02:35  1184803
>>1184583
и constexpr
Аноним 06/05/18 Вск 01:16:12  1184876
>>1184757
>Компилятор сам инлайнит функции где возможно.
Только когда с -O3 компилишь.
Аноним 06/05/18 Вск 07:54:56  1184938
>>1184876
А посоветуй литературы где подобную информацию можно почитать? Я имею ввиду про работу компилятора. Я просто читал книгу ещё 99 года и там уже писалось что все эти онлайн устаревшие.
Аноним 06/05/18 Вск 08:22:25  1184943
>>1184938
Инлайн
фикс
Аноним 06/05/18 Вск 12:26:51  1185016
>>1184876
-O3 -fno-inline-functions
шах и мат, атеисты!
Аноним 06/05/18 Вск 13:29:17  1185058
.png (452Кб, 789x445)
>>1184938
Есть такая книжка, но она 2004 года
Аноним 06/05/18 Вск 14:04:10  1185076
>>1184757
> не надо писать inline. Компилятор сам инлайнит функции где возможно.
Где-то читал, что какой-то конпилятор если видит слишком много инлайнов (вроде как оценивается не общее количество, а относительно количество функций или что-то подобное), то он считает программиста идиотом и вручную написанные инлайны полностью игнорирует (что стандартом не запрещено, лол). Заставить инлайнить в таком случае можно либо написав перед функцией template <>, либо нестандартными атрибутами (которыми все кому прям сильно надо инлайнить и пользуются).
Аноним 06/05/18 Вск 14:13:32  1185084
>>1185076
Вроде как единственная 100% гарантия заинлайнить и сделать именно точно как тебе надо - ебнуть асмовставочку.
Аноним 06/05/18 Вск 17:32:42  1185216
>>1185076
А если инлайн в заголовке, компилятор все равно создает отдельную функцию в программе?
Аноним 06/05/18 Вск 17:44:07  1185233
>>1185216
По стандарту слово INLINE для функции дает возможность забить хуй на ODR, не более
Аноним 06/05/18 Вск 21:22:32  1185380
>>1181867 (OP)
Если нужно передавать в функцию или конструктор список чисел определенного типа (int, uint32_t), каким типом данных представить этот список для удобства и производительности? std::tuple?
Аноним 06/05/18 Вск 21:22:34  1185381
>>1185076
>>1185084
Есть еще такая хуйня
#define __forceinline inline __attribute__((always_inline))
Аноним 06/05/18 Вск 22:10:30  1185406
>>1185380
Чем тебе не нравится список из стд?
Аноним 06/05/18 Вск 22:10:55  1185407
>>1185380
Чем тебе не нравится список из стд?
Аноним 06/05/18 Вск 22:13:22  1185410
>>1185380
>список
Связанный список или массив?
Аноним 06/05/18 Вск 23:33:31  1185457
>>1185380
http://en.cppreference.com/w/cpp/utility/initializer_list
Аноним 07/05/18 Пнд 01:25:07  1185497
ребзя пару слов, почему -32767 должно возвращатся?

if(GetAsyncKeyState(klavisha)==-32767)
file(klavisha,"text.txt");
Аноним 07/05/18 Пнд 01:28:31  1185500
>>1185497
Мамкин кулхацкер, открой для себя raw input.
Аноним 07/05/18 Пнд 02:13:36  1185505
Объясните есть ли смысл расставлять мьютексы для класса, в котором с одним инстансом работает несколько потоков.

class A {
public:
void routine()
while ( true ) {
if ( _bs_ ) {
counter++;
}
}
}

std::uint64_t counter;

};

если два потока выполняют routine();, правда что может произойти креш при одновременной записи в counter?
Аноним 07/05/18 Пнд 02:44:01  1185510
>>1185505
Здесь нужен std atomic
Аноним 07/05/18 Пнд 07:34:49  1185533
>>1185505
Ну это просто критическая секция, потенциально ты можешь просрать данныетак и будет. Если будешь без синхронизации использовать свою функцию.
Аноним 07/05/18 Пнд 17:40:18  1185741
>>1185505
>креш
Нет. Если все указатели валидные, чему крэшиться? Но в общем случае у тебя будет обычный race condition, и получится каша, а не данные.
Конкретно в этом случае всё будет норм на x64, так как обновление машинного слова - атомарная операция. На этой фишке основана такая штука, как RCU. Но с этим нужно быть очень аккуратно, так как зависит от конкретного проца, поэтому всё равно следуй советам >>1185510 и >>1185533.
Аноним 07/05/18 Пнд 19:26:43  1185777
А чем отлиается атомик от мутекса?
Аноним 07/05/18 Пнд 21:23:35  1185847
Пилил програмку с использованием QT в MVS 2015
Закончил делать x64 версию, решил скомпилировать и x86. Оригинальная QT поддерживала только x64, пришлось скачать ещё дистр для x86 и развернуть его. В настройках плагина для MVS прописал путь к x86 версии QT. Проект пересобрался и начал сыпать ошибки вида
UAC.cpp
1>...\qtguiapplication4\qtguiapplication4\UAC.h(3): fatal error C1083: Не удается открыть файл включение: QWidget: No such file or directory

Вернул всё обратно. Теперь проект и x64 пишет то же самое.
Есть идеи как чинить? Не переносить всё в QT Creator а именно чинить
Аноним 07/05/18 Пнд 22:08:53  1185866
>>1185777
Всем, блять. Суть мьютекса - блокировка. Мьютекс - это считай толчок, срать там может только один человек, а остальные будут ждать пока он освободится, или обосрутся по таймауту.
Аноним 07/05/18 Пнд 22:15:11  1185873
>>1185777
Почитай Таненбаума.
Аноним 07/05/18 Пнд 22:55:33  1185889
>>1185847
Проверяй пути к инклюдам
Аноним 07/05/18 Пнд 23:00:50  1185893
>>1185889
Это в целом понял уже. Я сейчас на этапе - "Как пофиксить QTDIR?"
Т.е. насколько я понял проблема в том, что установка второй QT, для x86 где-то распидорасила заданый ранее QTDIR, который указывается в настройках MVS как $(QTDIR)\include\ итд. Но где и как мне прописать теперь QTDIR?
Пробовал через дополнительные параметры системы->переменные среды, но
1. Там её вообще не было
2. После того как я её задал там - ничего не произошло (Возможно нужна перезагрузка?)
Аноним 07/05/18 Пнд 23:08:51  1185900
Анончики. Я заебался уже с этими стримами. Мне нужно-то всего лишь получить данные по сети и обработать их. Но я столкнулся с проблемой. Как вообще можно управлять данными stringstream? Как получить количество байт в нем, а не до первого нуля до считать? Со всеми этими вопросами я решил просто отойти от стримов и использовать строки. Но штука, которая считывает данные, работает только со стримами. Я попробовал создавать для неё стрим и в rdbuf подменять буфер данными из строки, но это не работает в msvc по какой-то причине. Слышал есть ещё strstream, который, вроде, для этого и предназначен, но стандарт говорит, что он устарел.
Внимание вопрос: как лучше всего навешать istream интерфейс на std::string?
Аноним 07/05/18 Пнд 23:36:21  1185908
>>1185866
Ну извините за такой тупой вопрос, я думал это и атомик делает? Я никогда мултитредингом не занимался. А в чем тогда смысл атомика?
Аноним 07/05/18 Пнд 23:43:00  1185912
>>1185908
Атомик, внезапно, делает операции атомарными. Другими словами, треды не будут видеть "промежуточного" состояния при изменении атомика. То есть в атомиках нет семантики владения каким-то ресурсом в отличии от мьютекса. Вот как атомик реализован (через мьютекс, или архитектура проца такая, что можно лок-фри сделать) - зависит от конкретной реализации.
Аноним 07/05/18 Пнд 23:46:30  1185914
>>1185908
Атомик может быть на инструкциях проца быстро сделан, а мьютекс скорее всего будет ебошить сискол. Атомик нужен тупо на одну переменную потому что даже в сраном инкременте i++ может гонка возникнуть.
Аноним 08/05/18 Втр 01:09:31  1185949
image.png (74Кб, 1262x732)
image.png (1Кб, 171x28)
Суп. Предпринимаю уже вторую попытку вкатиться в Qt. И уже во второй раз я даже не могу написать не строчки кода. Пикрил ебанина один в один была у меня уже на двух разных компах с двумя разными операционными системамисперма и дрисня. В тот раз я пропердолился с этим немало времени, накатывал блядь всякие разные левые компилы, нихуя не работало. Спрашивал где-то здесь, в /pr, но никто нихуя не знал, говорили что мол все должно из коробки работать и это не нормально. Я уж подумал это у меня в системе что-то поломалось, блядь, раз так, и забил. Но теперь на новой чистенькой ОС и даже на другой пеке та же хуйня. Анон, юзавший сабж, отозвись, прошу.
Линк, по которому качал: https://www.qt.io/download (опен сорс версия).
Путь к кьюту без пробелов, пикрил.
Аноним 08/05/18 Втр 01:13:01  1185952
>>1185949
Просто береш и ставиш линупс.
Аноним 08/05/18 Втр 01:13:18  1185953
>>1185949
Нажми на Примеры.
Открой пример.
Скомпилируй.
Что происходит?
Аноним 08/05/18 Втр 01:18:19  1185956
image.png (52Кб, 1262x732)
Аноним 08/05/18 Втр 01:49:11  1185961
>>1185900
Тебе данные в каком виде нужны? Инфа или набор битов/байтов? Если 2, то считай как массив unsigned char
Аноним 08/05/18 Втр 10:16:56  1186036
>>1185949
У тебя комплекты походу не установлены, открой настройки->cборка и запуск->комплекты. Должны быть хоть какие то комплекты))
Аноним 08/05/18 Втр 10:37:06  1186045
>>1185777
Атомик — это маленький атом.
Аноним 08/05/18 Втр 12:31:47  1186095
>>1185961
Проблема в том, что я активно использую библиотеку сериализации Cereal, которая понимает только потоки данных. Так-то они у меня уже в форме массива char-ов, за это и отвечает string, но теперь нужно как-то на этот массив навешать интерфейс потока, что бы его можно было считать. Думаю сейчас просто свой класс-наследник от istream сделать, вдруг получится
Аноним 08/05/18 Втр 13:31:04  1186123
>>1186095
https://stackoverflow.com/a/43148806
Аноним 08/05/18 Втр 13:43:46  1186129
Пагни, гайд из шапки подходит, если я опытная жава-макак, а плюсы решил изучить для общего развития.
Аноним 08/05/18 Втр 13:45:08  1186132
>>1186129
?
Аноним 08/05/18 Втр 13:48:11  1186134
>>1186129
Лол, Ява это игрушка по сравнению с си. вкатывайся самый начальный уровень от стрроуструпа, надеюсь хоть что-то поймёшь
Аноним 08/05/18 Втр 17:41:30  1186245
Реквестирую годный 16-битный компилятор для С/C++.
Аноним 08/05/18 Втр 17:42:46  1186248
>>1186134
>Ява это игрушка по сравнению с си
Нет, если бы это был яваскрипт, то да. А вот ява еще ему поможет.
Аноним 08/05/18 Втр 17:50:23  1186255
>>1186248
Чем поможет? Без GC он только и будет что наступать на грабли. Особенно учитывая, что в Си нет умных указателей, которые хоть как-то облегчают работу с памятью.
Аноним 08/05/18 Втр 17:52:40  1186256
>>1186255
Хотя ты прав. Мне потребовалось целых 2 месяца, чтобы умело извращаться с указателями.
Аноним 08/05/18 Втр 17:53:26  1186257
Посоны, что писать: загрузчик или программу защиты приложений от пиратства?
Аноним 08/05/18 Втр 17:55:01  1186258
>>1186257
Пиши ИИ, а он пусть потом пишет всё что нужно.
Аноним 08/05/18 Втр 17:55:51  1186260
>>1186258
Я похож на бородатого машинлёрнигопидораса? Нет, я лучше байты посчитаю.
Аноним 08/05/18 Втр 18:03:42  1186265
>>1186257
Загрузчик чего, оси? Там же всё стандартно делается.
Аноним 08/05/18 Втр 18:04:56  1186266
>>1186265
Ну я со своими прибабахами хочу сделать. Имел с этим опыт? Посоветуешь лит-ры?
Аноним 08/05/18 Втр 19:08:15  1186320
>>1186266
Курс осей N лет назад и wiki.osdev.org, так что сейчас уже ничего не помню.
Аноним 08/05/18 Втр 19:32:05  1186342
>>1186320
Спасибо. Чисто на асме или на слиянии асмы и си делал?
Аноним 08/05/18 Втр 20:15:10  1186369
Безымянный.jpg (57Кб, 574x255)
как это кушать?
Аноним 08/05/18 Втр 21:09:11  1186446
>>1186245
Turbo C
Аноним 08/05/18 Втр 21:57:05  1186486
image.png (72Кб, 1103x586)
>>1186036
Аноним 08/05/18 Втр 22:19:13  1186497
>>1185777
race condition в твоей ситуации может быть из за того, что ++ для некоторого типа данных делается в несколько команд на ассемблере. потому один поток может сделать одну команду и внезапно быть прерванным другим потоком, который тоже начнет что-то делать и т.д..
так вот - мутекс - это как замок. у тебя переменная лежит в ящике стола запертом на замок и ключ только один. соответственно переменную меняет только тот, у кого ключ.
взял ключ - открыл ящик - поменял - закрыл - ключ положил и теперь другой поток его может брать.
а атомик - это когда ++ кодируется в ассемблер так, что его нельзя прервать. родные виндовые функции это Interlocked*
Аноним 08/05/18 Втр 22:31:45  1186501
>>1186486
При установке надо было включить установку mingw. В режиме обслуживания и сейчас это можешь сделать.
Аноним 08/05/18 Втр 22:32:14  1186502
1.png (52Кб, 1203x751)
>>1186486
Ты походу установил только QtCreator. Это только IDE, скачай сам фреймворк. Должно быть что-то типа такого, как на пике.
Аноним 08/05/18 Втр 22:33:43  1186503
>>1186497
Не отличаешь race condition от data race? В ньюфаг-тред.
Аноним 08/05/18 Втр 22:33:53  1186504
>>1186502
Sources нинужны, если ты только не собираешься ручками компилировать сам qt.
Аноним 08/05/18 Втр 22:35:49  1186507
>>1186504
Ну да, из всех галок можно оставить только одну: MSVC или MinGW. Остальное для начала не нужно.
Аноним 08/05/18 Втр 23:49:44  1186537
>>1186501
>>1186502
Уже нагуглил. Сейчас качаю. Посмотрю, что из этого выйдет.
4гб на скорости ~200 кб/с. Филсгудман, блядь.
Аноним 09/05/18 Срд 01:15:20  1186572
>>1186537
Всем отписавшимся анончикам нефти, заработало.
Аноним 09/05/18 Срд 02:52:05  1186613
Шарпоблядок на связи, портирую одну хуйню с этих ваших крестов и есть квик вопрос о порядке математических действий:

х y / z будет (xy)/z или x * (y/z) ?

Спасиба
Аноним 09/05/18 Срд 04:02:54  1186616
>>1186613
Так же как и в шарпе слева направо -> (xy)/z.
https://msdn.microsoft.com/en-us/library/126fe14k.aspx
https://msdn.microsoft.com/en-us/library/2bxt6kc4.aspx
Аноним 09/05/18 Срд 11:56:49  1186709
Крестогоспода, здравствуйте. Осматривал вакансии, много где пишут про работу с Linux. До этого нажимал всё строго под Виндой в Вижуал Студии. Есть ли смысл накатывать линукс для дальнейшего успешного движения?
Аноним 09/05/18 Срд 12:33:31  1186729
>>1186709
Не лезь в кресты. Джунских вакансий на крестах практически нет, все ищут уже бородатого задрота с килотоннами опыта.
Аноним 09/05/18 Срд 12:35:25  1186731
>>1186729
Так уже полез. И там примерно на собеседованиях так и есть. Лол.

В духе: ну вы знаете, нам нужен человек, который кроме крестов может в кьют, сети, базы данных, строительство звездолетов, а еще бы неплохо написать под них драйвера
Аноним 09/05/18 Срд 12:42:20  1186734
>>1186731
Отож. Лезь лучше в петушиный жс, как ни прискорбно - это говно повсюду, и наверное в будущем и питухон с рубями сожрет.
Аноним 09/05/18 Срд 12:44:57  1186736
>>1186734
Я как-то капитально взялся, так что один хуй буду пробовать вкатиться хоть куда-то
Аноним 09/05/18 Срд 12:57:06  1186743
>>1186729
Интересно, есть ли вообще кулстори людей, которые вкатились в плюсы с джуна?
Аноним 09/05/18 Срд 12:59:33  1186745
>>1186743
а нормальные люди вкатываются в кресты уже с других языков?
Аноним 09/05/18 Срд 12:59:40  1186746
>>1186743
Ну я наверное как раз в последний вагон уходящего поезда запрыгнул.
Аноним 09/05/18 Срд 13:01:39  1186749
так, пацаны, а что вот должен уметь джун?

если я осилю кроме крестов, еще кьют, ебучие сети, и базы данных, это я уже джун или еще нет?
Аноним 09/05/18 Срд 13:04:22  1186750
>>1186745
Да хуй знает, я сам студиозус с амбициями "войти в ойти с плюсов". Судя по всему будет тяжело.
Аноним 09/05/18 Срд 13:07:42  1186755
>>1186749
В том то и прикол что джун должен уметь все. Но хотеть мало денех.
Аноним 09/05/18 Срд 13:08:48  1186757
>>1186755
так. а если мне по ходу ебашить проектики в няшный гит по мере осиления стека технологий, и все это четенько пояснять в резюме?
прокатит?
Аноним 09/05/18 Срд 13:09:20  1186759
>>1186755
алсо, просил чуть больше скромной тысячи долларов.
Аноним 09/05/18 Срд 13:13:21  1186762
>>1186759
И как, напросил? Джуна хотят за 40-45к.
Аноним 09/05/18 Срд 13:14:48  1186764
>>1186757
Нет. Даже если проекты будут охуенными - я тебя уверяю, никто в твой гит смотреть и близко не будет, нахуй это нужно. Сам подумой - там в день несколько человек собеседовать, что у каждого смотреть?
Аноним 09/05/18 Срд 13:25:00  1186771
>>1186764
но как же тогда вкатирововаться?
Аноним 09/05/18 Срд 13:26:22  1186775
>>1186771
Никак.
Аноним 09/05/18 Срд 13:28:33  1186777
>>1181872
UrlDownloadToFile
используется всякой шаболдой в верусах, возможен детект аверами
(подобные вопросы лучше задавать в топике системного программирования / реверс-инжиниринга и асм)
Аноним 09/05/18 Срд 13:28:38  1186778
>>1186771
В кресты никак, без шансов. Вкатывайся в жс, питон или ещё какую нить хуйню.
Да и писал бы ты на крестах - напротив искал бы как выкатываться тому до это пиздец, язык-червь, язык-пидор, язык-страус, язык-труп.
Аноним 09/05/18 Срд 13:45:03  1186794
1012024090.jpg (33Кб, 341x500)
Стоит ли начать изучение c++ с пикрелейтед? Книга Страуструпа не сильно зашла, так как он заставил скачать библиотеку со своего сайта и которая ни как не принималась Visual Studio 2016. Поэтому ищу другой самоучитель.
Аноним 09/05/18 Срд 13:48:25  1186798
>>1186794
Начинать изучение c++ вообще не стоит. Язык пиздецки сложный и кривая сложности растёт со временем по экспоненте, а работу на крестах ты все равно не найдешь и с каждым днём найти её будет все сложнее.
Аноним 09/05/18 Срд 13:58:25  1186810
>>1186798

Не соглашусь, у меня на работе автоматизацию и цеховые программы пишут на c++.
Аноним 09/05/18 Срд 14:00:12  1186813
>>1186810
Госпараша за копейки не считается. Там и дельфи ещё есть наверное.
Аноним 09/05/18 Срд 14:00:35  1186815
>>1186798
> Язык пиздецки сложный
Сам язык не сложный. Никто ж не заставляет писать код с кучей шаблонных шаблонов. Основная сложность - это инструменыт для работы с C++. Отсутствие нормального менеджера зависимостей и мегаубогие инструменты для автоматизации конпеляции (чего только распиаренный cmake стоит) делают своё дело.
Аноним 09/05/18 Срд 14:01:13  1186816
>>1186798
>>1186810

Но на самом деле я хочу, может быть, если представится такая возможность, вкатиться в геймдев. Я вот умею рисовать, но неплохо было бы иметь еще и технический навык.
Аноним 09/05/18 Срд 14:04:22  1186819
>>1186813

Отнюдь, у них самые большие зарплаты, хоть и госы, да.
Аноним 09/05/18 Срд 14:05:40  1186822
>>1186815
> > Язык пиздецки сложный
> Сам язык не сложный.
Ну да, действительно. А полтора косаря страниц только текущего стандарта (выйдет ++20 за два косаря перевалит) это так, хуйня
>Никто ж не заставляет писать код с кучей шаблонных шаблонов.
Заставляет. Посмотри на блядский буст.
>Основная сложность - это инструменыт для работы с C++. Отсутствие нормального менеджера зависимостей
Он невозможен потому что эта параша до сих пор работает на препроцессоре, модульности нет
> и мегаубогие инструменты для автоматизации конпеляции (чего только распиаренный cmake стоит) делают своё дело.
Я на работке для себя использую qbs. Так то проекты в boost build захуячены, но IDE jam-хуйню не скормишь, а в виме пердолиться не хочется.
Аноним 09/05/18 Срд 14:07:43  1186824
>>1186777
Эта хуйня работает максимум в 4 потоках, а мне надо намного больше
Аноним 09/05/18 Срд 14:08:11  1186827
Ах да. Ещё пиздец в том, что кресты как бе надмножество сишки - и в то же время - нихуя.
Аноним 09/05/18 Срд 14:09:08  1186829
>>1186824
Ну нахуярь руками get реквесты на сокетах, блять.
Аноним 09/05/18 Срд 14:10:20  1186830
>>1186822
> Ну да, действительно. А полтора косаря страниц только текущего стандарта (выйдет ++20 за два косаря перевалит) это так, хуйня
Никто не заставляет читать всю спецификацию. У спецификации JS тоже около тысячи страниц. Это делает язык мегасложным?
> Заставляет. Посмотри на блядский буст.
Основная сложность в написании подобных библиотек. При использовании тебе чаще всего ничего кроме как вставить с угловые скобки имя типа и не потребуется.
> Он невозможен потому что эта параша до сих пор работает на препроцессоре, модульности нет
Сильное заявление.
Аноним 09/05/18 Срд 14:12:46  1186835
>>1186830
> Основная сложность в написании подобных библиотек.
Основная сложность потом читать километровые выхлопы шаблонного говна в ошибках компилятора и гадать че этой суке не нравится.
Аноним 09/05/18 Срд 14:14:53  1186837
>>1186835
Это да. Впрочем обе твои претензии будут исправлены в C++20 (непонятные ошибки - концептами, модульность - модулями).
Аноним 09/05/18 Срд 14:17:07  1186838
>>1186798
да не сложный он нифига. просто изучать надо постепенно.
если начинаешь с нуля - бери какого нить кернигана и ричи и учи то, что там есть.
простые типы, указатели, (ссылки тоже добавь до кучи), битовые операции, функции. ВСЁ. в этом куске самое сложно - указатели на функции. уж очень мудреный синтаксис. но их обычно наизусть никто не знает.
выучил этот кусок, со всем разобрался? иди дальше.
классы (БЕЗ ШАБЛОНОВ!). уровни доступа, статические члены, наследование, множественное наследование, виртуальное, указатели на функции-члены класса. тут тоже ничего сложного нет, вполне себе небольшой кусок знания.
дальше шаблоны смотри уже.. даже перед шаблонами или чуть попозже, когда будешь знать что-то типа template <typename T> class C { public: T myvar; } и как использовать STL контейнеры - тебя уже джуном везде возьмут как нефик делать. а то и мидлом.
Аноним 09/05/18 Срд 14:19:19  1186840
>>1186838
Ты ему советуешь изучать Си, а не С++. В своих проектах я указателями почти не пользуюсь, везде стоят unique_ptr или shared_ptr, а указатели используются только для взаимодействия с Сишными библиотеками.
Аноним 09/05/18 Срд 14:19:44  1186841
>>1186837
Я про концепты с модулями кажется ещё в ++11 слышал, а воз и ныне там. А какой-то хотя б минимальной рефлексии и близко нет. К примеру - нужен тебе final switch, чтобы покрыть весь enum или не компилировать - а хуй тебе. И костыли-костылики (протобуф вроде генерит Value_MAX и VALUE_MIN). Сука блять.
Аноним 09/05/18 Срд 14:20:52  1186843
>>1186841
> А какой-то хотя б минимальной рефлексии и близко нет.
Рефлексии и в С++20 скорее всего не будет.
Аноним 09/05/18 Срд 14:21:44  1186844
>>1186840
Самое смешное это потом пробрасывать shared_ptr на unique_ptr на какую то хуйню потому что видите ли Handler в io_service::post должен быть CopyConstructable...
Аноним 09/05/18 Срд 14:23:24  1186845
>>1186844
А ну да, ещё взаимодействовать с C++98 библиотекми или библиотеками, которые написаны на Си с классами. Впрочем, я их стараюсь по возможности избегать.
Аноним 09/05/18 Срд 14:27:25  1186850
>>1186845
Ах да, а ещё по стопицот видов строк, массивов и умных указателей, у каждой библиотеки свой блять. И крестопараша которая в стандарте не умеет в юникод - точнее там кажись since c++17 deprecated. Необходимость в блядском icu, ебаный wchar/wstring который в линупсе 4 байта а в шинде - 2. Блядская хуйня уровня "ну ета - в крестах sizeof(void*) не существует а в сишке gcc ета 1" и тупорвлвми мудаками которые написали такого говна в хедерах ядра, так что под шлангом ты в крестах ты хуй че скомпилишь, а в gcc только с fpermissive.
Аноним 09/05/18 Срд 14:27:42  1186851
>>1186840
но ты же знаешь, что такое ptr вообще? для чего нужны эти unique и shared? вот чтобы с ними работать не как обезьяна с гранатой, а осознанно, и надо понимать что такое обычные указатели.
Аноним 09/05/18 Срд 14:28:59  1186855
>>1186851
Они тоже костыль блядский. Чего стоит только ебаная параша с enable_shared_from_this
Аноним 09/05/18 Срд 14:30:27  1186856
>>1186838
Я заканчиваю второй курс, и все что ты написал я знаючасть рассказали на лекциях/практике, большую часть прочитал и понял самостоятельно и то мне кажется, что я вообще нихуя не знаю и дно ебаное.
Аноним 09/05/18 Срд 14:37:58  1186859
>>1186850
> Ах да, а ещё по стопицот видов строк
Это да, почему-то за столько-то лет сущзествования языка о поддержке юникода никто не задумался. Впрочем надежда есть. Вон недавно std::optional добавили (впрочем он там достаточно неполноценный: без метода map [1], которым я пользуюсь чаще всего, лол)
> умных указателей
Это я полагаю из до C++11 эры.


[1]: https://doc.rust-lang.org/std/option/enum.Option.html#method.map
Аноним 09/05/18 Срд 14:38:47  1186860
>>1186856
Так и должно быть.
Аноним 09/05/18 Срд 14:39:42  1186862
>>1186850
Макак, иди порвись где-нибудь в PHP-треде.
Аноним 09/05/18 Срд 14:41:09  1186863
>>1186860
И что же делать, изучать конкретные библиотеки? Начинать бездумно изучать буст в надежде, что это понадобится? Или начать делать собственный проект? Все таки какой-никакой опыт, и изучать то в чем будут трудности?
Аноним 09/05/18 Срд 14:42:11  1186865
>>1186863
Изучай js или пиздон. Не трать зря время.
Аноним 09/05/18 Срд 14:45:36  1186869
>>1186856
если под винду хочешь работать - напиши пару программок типа калькулятора с mfc или qt (mfc я бы посоветовал - оно к нативным функциям ближе) чтобы разобраться как виндовая гуя работает, почитай чуток теории про коллекции stl - оценки скорости работы, как внутри устроены и т.д. и иди по собесам.
под винду на джуна возьмут стопудово.
Аноним 09/05/18 Срд 14:46:31  1186871
>>1186869
> mfc я бы посоветовал
Это чтобы он 100% отказался от идеи писать что-либо на плюсах? Умно.
Аноним 09/05/18 Срд 15:16:47  1186896
>>1186865
Двачую этого. Я учил кресты в вузе. Тогда мы сделали с другом небольшую двумерную игрушку больше мне этот язык ни разу не понадобился. В крестах столько говна, что >>1186778 больше прав чем не прав.
Аноним 09/05/18 Срд 15:27:12  1186909
>>1186896
Кресты могли бы быть спасены если бы популярная ОС имела апи и сисколы на крестах. Но так сложилось что и винапи - сишное, и линупс трольвардс - пердун и неосилятор, и так и повелось. А на крестах ядро емнип только у гаечки-беоси, но не срослось, отличная ОС была в своё время, но убита менеджментом и негрософтом. Было бы ядро на крестах и апи - были бы и библиотеки, и не было бы того говна что сейчас.
Аноним 09/05/18 Срд 16:58:48  1186963
>>1186909
Прими брому.
Аноним 09/05/18 Срд 17:03:16  1186972
>>1186909
Гугл Хром и WebKit на плюсах написаны.
Аноним 09/05/18 Срд 21:14:15  1187164
>>1186972
Firefox и Gecko тоже.
Аноним 09/05/18 Срд 21:17:34  1187167
>>1187164
Firefox уже частично на расте (как минимум CSS-парсер).
Аноним 09/05/18 Срд 21:18:31  1187169
>>1187167
ты нихуя не понял.
Аноним 09/05/18 Срд 21:22:30  1187171
>>1186871
>чтобы разобраться как виндовая гуя работает
>под винду на джуна возьмут
Ты пост-то его прочитай как следует. Он имеет ввиду околосистемное программирование под винду, отсюда и мфц.
Аноним 09/05/18 Срд 21:46:07  1187192
Бля, а в неплохое время живем, аноны

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

Чота я даже как-то влюбился обратно в С++
Аноним 09/05/18 Срд 22:20:30  1187229
>>1187192
Охуенно наверное писать на реинкарнации pl/1.
Однажды все рухнет окончательно под весом томов стандарта и костылей.
Аноним 09/05/18 Срд 22:38:49  1187245
>>1187229
Жопоголик, попей брому.
Аноним 09/05/18 Срд 22:52:22  1187256
>>1187229
Все другие промышленные языки как-то не рушатся, значит норм. Хотя жабка наверное исключение, там все говно в библиотеках, а не в стандарте языка.
Аноним 09/05/18 Срд 22:54:29  1187260
>>1187256
Рушатся. Все эти жабы, питоны, раби и жабаскрипты с го вылезли не на ровном месте - они отожрали долю именно у крестов. Теперь пизда последнему оплоту - даже десктопный софт все больше пишут не на крестах а уебищном электроне.
Аноним 09/05/18 Срд 22:58:16  1187264
>>1187260
С каких пор жабаскрипт с пайтоном отожрали свою долю у крестов? Кресты никогда не были ни сценарным ни веб-языком. Про твой электрон никогда не слышали писаки большинства настольного софта (который пишется таки-на плюсах) имхо.
Аноним 09/05/18 Срд 23:01:44  1187271
>>1187260
ну да, пусть отожрали

я и говорю кресты стали таки нишевым языком и это хорошо. графика, финансы, медицина, по тихой embedded подтягивают.
Аноним 09/05/18 Срд 23:01:50  1187273
>>1187264
Атом, vs code, шкайп и дискорд - да дохуя чего десктопного пишется на электроне. А раньше это были кресты only. И это только начало. Сперва пидорнули дельфи - теперь пидорнут и кресты.
Аноним 09/05/18 Срд 23:09:52  1187277
>>1187273
>Electron

kek
Эту хуету в серьез никто не воспринимает, любая программа на этом говне кроме VS Code лагает пиздец как. Ты дебил?

Весь мир борется с электроно-залупой. Даже сами майки которые этот вс код и создали
Аноним 09/05/18 Срд 23:13:45  1187281
>>1187277
Как борется? Я пока что вижу как то что писалось на крестах теперь пишут на электроне - но не вижу обратного, чтобы веб парашу типичную переписывали на крестах.
Когда то кресты и в мабилках были, емнип под симбианом проги на крестах были а он был лидером рынка. Пидорнули-с, жаба правит бал.
Аноним 09/05/18 Срд 23:15:12  1187284
>>1187281
webassembly жи лол

автокад вот выпустил вебверсию, тот же с++ только в броузере, а это покруче текстового редактора будет. вполне возможно кресты веба порцию заберут себе в ближайшем будушем
Аноним 09/05/18 Срд 23:29:50  1187299
>>1187273
Дельфи взлетели, на них что-то писали (в т.ч. гуи скайпа под винду), затем плюсы опять взяли свое. Мне кажется это всё хуйня и электрон это просто новомодная тема, которая скоро заглохнет. Осло, не слышал что скайп переписали на электрон. Меньшей хуетой он от этого не стал, лучше бы откатили в 2012.
Аноним 09/05/18 Срд 23:58:41  1187314
>>1187273
> Атом, vs code, шкайп и дискорд - да дохуя чего десктопного пишется на электроне. А раньше это были кресты only. И это только начало. Сперва пидорнули дельфи - теперь пидорнут и кресты.
Если честно, я просто не представляю, как люди пользуются любыми веб-приложениями. Либо я вырос на десктопных, не тормозящих приложениях, и такой требовательный, либо что-то не так с моим софтом, либо люди не знают, каким вообще приложение должно быть.

Вот, скажем, открываете вы документ в Google Docs. Открываете страницу, начинаете набирать, и понимаете, что полностью страница еще не загрузилась, и джаваскрипт не успел перевести фокус на поле ввода. Первые три набранные буквы пропали.
Это просто первая мелочь, пришедшая мне в голову, но она для меня столько значит, что сразу ставит крест на Google Docs.
Или, например, нажимаете во многих веб-приложениях правую кнопку мыши на каком-нибудь объекте, ожидая, что вы получите меню объекта, и видите там «назад», «вперед», «сохранить страницу», и так далее. Понимаю, что нажатие правой кнопки мыши можно перехватывать, как это делает тот же Google Docs, но когда ты такое видишь в, казалось бы, десктопном приложении (написанном на node.js, который тащит с собой chrome.exe и ffmpeg.dll, и простейшее приложение занимает больше 50 мегабайт в архиве), то это просто неприемлемо.

«Десктопные» приложения Slack, Mattermost, текстовый редактор Atom, который раньше не умел открывать файлы с размером более 2 МБ, а сейчас открывает мегабайтный файл несколько секунд — просто какой-то мусор, непонятно, кто в здравом уме будет пользоваться такими программами, пока есть альтернативы в виде нормальных десктопных приложений.
Аноним 10/05/18 Чтв 00:04:21  1187320
>>1187314
А я о чем блять. И при всем при этом люди пользуются этой парашей, а не десктоп-прогами. Взлетают всякие говно-хромоси где кроме браузера нет нихрена. А люди смотрят кинчики в веб-интерфейсе вместо того чтобы качать файлики в поррент-клиенте на крестах, слушают музычку вбыдлятне вместо того чтобы делать это в плеере на крестах, пишут мыльца в веб-интерфейсе гмыла и яндекса вместо того чтобы делать это в прогах мейл-клиентах на крестах... Вылезли всякие saas-параши, теперь и фотошопы и прочая хуйня в браузере.
А лет 10 назад все было кардинально не так. Кресты пиздец как сдали позиции.
Аноним 10/05/18 Чтв 00:31:40  1187348
>>1187320
Сдали позиции не кресты, а настольный софт. Попробуй-ка поиграй в ААА в вебе, поработай с мультимедиа в вебе, обработай пресловутую бигдату в вебе. Нихуя. Все с крестами нормально, просто половину всякого барахла которое на них писали, утащили в веб и придумали на это новые языки с нескучными обоями.
Аноним 10/05/18 Чтв 01:00:50  1187362
>>1187348
>Попробуй-ка поиграй в ААА в вебе
Давно придумали. От стриминга игор с сервака до "прошёл на ютубе" и твичей.
>просто половину всякого барахла которое на них писали, утащили в веб и придумали на это новые языки с нескучными обоями.
Вот именно. А утащили в веб это по некоторым причинам - из-за крестов и того что на жс макакить проще чем ебаться с шаблончиками, и потому что зонды в анус проще пихать со слежкой.
Аноним 10/05/18 Чтв 01:25:25  1187375
>>1187362
Процент плюсов упал из-за низкого порога вхождения в скриптовые языки, хипстеры и быдло вкатываются пачками, но проблема в том что без плюсов вся скриптопараша просто умрет. Скриптопараша держится на фундаменте из плюсов и си, и без этого фундамента ей конец. Как ты сделаешь гуй на питоне если прекратится разработка qt/gtk+? Что станет с js если хром и вэбкит исчезнут?
Аноним 10/05/18 Чтв 03:36:39  1187417
>>1187375
Си - да, а вот кресты не держит ничего. Си то останется навечно как минимум из-за того что на нем все системные апи, и нет никаких сраных манглингов, имена функций экспортируются как есть.
Аноним 10/05/18 Чтв 11:04:21  1187506
>>1187417

> Си то останется навечно как минимум из-за того что на нем все системные апи, и нет никаких сраных манглингов, имена функций экспортируются как есть.

ИРЛ практически все бэкендики-рантаймчики-игродвижочки пишутся как раз на плюсях/си-с-классами потому что reinterpret_cast и прочие ништяки.
Аноним 10/05/18 Чтв 12:05:21  1187532
>>1187362
>Давно придумали. От стриминга игор с сервака до "прошёл на ютубе" и твичей.
Что ты несешь? Поиграй != посмотри.

>А утащили в веб это по некоторым причинам - из-за крестов...
Бритва Оккама отсекает твои охуительные догадки, основанные на неприязни к крестам. Я к ним тоже отношусь настороженно, но мне кажется что в веб всё перешло потому что появился собственно веб (быстрый безлимит, продвинутые сайты уеб2.0, вагон памяти на современных машинках и т.д.).
Аноним 10/05/18 Чтв 12:09:55  1187536
>>1187532
Ну стриминг игр это тоже "поиграй", но он всё равно несёт хуйню, потому что там очень нескоро будет аналогичный уровень, ибо оверхеда овердохуя, никому нахуй не нужно ещё болше задержки в инпуте.
Аноним 10/05/18 Чтв 21:09:24  1187926
>>1187536
G E F O R C E N O W
Аноним 11/05/18 Птн 10:10:18  1188127
Плюсач, я писал лабу с деревьями и программа иногда крашится, а иногда не крашится с сегфолтом. Деструктор для узла дерева выглядит так:

if (left) delete left;
if (right) delete right;

В своей программе я создаю один указатель на узел, типа это корень. Но я не написал деструктор, потому что если я явно удаляю верхний узел, то крашиться начинает всегда. Как это можно починить?
Аноним 11/05/18 Птн 10:25:56  1188131
>>1188127
nullptr в конструкторе присваиваешь? И при удалении ветви?
Аноним 11/05/18 Птн 12:53:46  1188211
>>1188127
>if (left) delete left;
>if (right) delete right;
:facepalm:
Аноним 11/05/18 Птн 13:19:12  1188218
>>1188127
Без всего кода это ни о чём. Действительно попробуй вначале выставить указатели в ноль (хотя я на 99% уверен, что под те ебанутые случаи, когда это не делается за тебя, твой код не подпадает). А так - гоняй код под отладчиком и не еби мозг себе и мне.

On a side note, а вот в Русте нужно быть сеньором, чтобы крашить программы как джун на крестах =)

>>1188211
Хех, лаба же, препод может не знать про умные указатели :3
Аноним 11/05/18 Птн 13:26:39  1188220
>>1188127
>иногда крашится, а иногда не крашится с сегфолтом
enjoy your C++-говно
Аноним 11/05/18 Птн 13:32:07  1188225
Кстати, есть крестьяне-задроты с глазами горящими в треде? На днях в Bountysource выложили работу аж за 50 ебаных косарей грина, интегрировать webrtc с остатками сетевого стека firefox-a. Если сейчас сесть и неделю не спать, можно таки успеть :)
Аноним 11/05/18 Птн 15:20:35  1188259
>>1188218
Дело не в умных указателях.
Аноним 11/05/18 Птн 15:25:04  1188263
>>1188259
Лучше после делита явно присваивал этому указателю нуллптр, а ещё проверь места где ты ходишь по дереву, сегфолт вылетает в момент когда ты идёшь в память, которую твоему процессу не выделила ОС, скорее всего ты либо пытаешься считать не свои данные, либо вообще с нуллптра считываешь.
Аноним 11/05/18 Птн 15:28:26  1188266
>>1188218
>Хех, лаба же, препод может не знать про умные указатели :3
Я про то, что на nullptr при удалении проверять не надо. Бох с ними, с умными указателями.
Аноним 11/05/18 Птн 15:30:04  1188268
>>1188127
Алсо, undefined behavior, как он есть.
Аноним 11/05/18 Птн 15:36:54  1188272
>>1188266
Ты прав, мне явно не хватает опыта крестьянской жизни :(
Аноним 11/05/18 Птн 16:59:57  1188302
>>1188218
>Русте
Был бы не мёртв ещё
Аноним 11/05/18 Птн 17:10:41  1188306
>>1188131
>>1188263
>>1188218
Там как-то интересно получается, что сегфолт вызывает, видимо, строка if(left).

class Node
{
\tNode left;
\tNode
right;
\tint value
}

У меня даже значения никакого нет
Аноним 11/05/18 Птн 18:06:22  1188328
>>1188302
Ну по твоим меркам, наверное, всё мертво, что ниже Руби по популярности. Карьерные перспективы меня не особо волнуют, я хочу вкатиться в продакт-разработку и ебашить в одно рыло софт, который иначе пишет отдел из десятка весляров и погонщика. Если наработаю навыки и нахуярю библиотек, то вполне смогу этого добиться.

Вообще, ковбойская суть плюсов - не самое в них неприятное. Куда больше меня отвращает от них стремительное устаревание кода, когда то, что писалось под стандарт 2003 сейчас превратилось в технический долг, который нужно изолировать от нового кода. Это не говоря уже о проходящей моде на Буст и извращения дизайна им. Александреску.
Аноним 11/05/18 Птн 18:12:35  1188330
>>1188306
Это не код, это твои маняфантазии. Код подавай или седлай отладчик и хауау.
Аноним 11/05/18 Птн 21:50:28  1188453
>>1188306
Вряд ли строка с условие порождает сегфолт.
Аноним 11/05/18 Птн 23:37:51  1188518
>>1188328
Стремительное? Код на плюсах просто охуительно живуч не в тему. По-моему это нормально что портянки стандарта пятнадцатилетней давности сегодня устарели, вся писечка лишь в том что тебе надо их поддерживать, в какой-нибудь другой среде (соответственно с другим языком, не плюсами) ты бы уже по десять раз переписал их набело с ног до головы и всё было бы ок.
Аноним 12/05/18 Суб 02:24:48  1188568
>>1188328
Замена крестам - не сраный раст, а няшная дишечка.
Аноним 12/05/18 Суб 11:49:23  1188636
>>1187273
>раньше это были кресты only
А Java и C# забыл? По-моему на них гораздо больше писали десктопных приложений чем на C++. Кресты доминировали всегда там где производительность критична, например браузеры, графические-, видео-, 3д-редакторы, игровые движки, драйвера.

>>1187299
С чего ты взял что Дельфи взлетел? Последний раз я на нем писал лет 10 назад и тогда он уже был на закате.
Аноним 12/05/18 Суб 11:51:40  1188639
>>1188636
Java и C# тоже появились не на ровном месте и долю отожрали именно у крестов.
Аноним 12/05/18 Суб 12:10:04  1188643
>>1181867 (OP)
Хочу переписать этот код с Go на C++/Boost

package main

import "time"
import "strconv"
import "bytes"
import "crypto/sha256"

type Block struct {
Timestamp int64
Data []byte
PrevBlockHash []byte
Hash []byte
}

Возникли вопросы насчет выбора типов данных. Timestamp из структуры Block можно оставить таким же uint64_t.

Data, PrevBlockHash и Hash здесь массивы произвольной длины, кроме хэшей, которые представлены 32-байтными массивами байт. Чем можно заменить эти массивы байт в C++? Использовать std::string? std::basic_string<char>? Я ведь не буду использовать const char* и рисковать сделать учечку памяти.
Аноним 12/05/18 Суб 12:14:14  1188645
>>1188636
Когда на джаве и сишарпе во времена настольного софта (в нулевые) кто-то его писал? Шарпа тогда не было, а кресты доминировали ВЕЗДЕ на пару с дельфи, это сейчас они в описанных тобой нишах правят бал.
Аноним 12/05/18 Суб 12:22:35  1188648
>>1188643
Если тебе нужнен динамичный массив, то std::vector<unsigned char>, если статичный то std::array<unsigned char>
Аноним 12/05/18 Суб 14:23:22  1188681
>>1188643
std::basic_string<char> и std::string это одно и тоже
Аноним 12/05/18 Суб 15:46:35  1188713
Аноны, почти нюфаг просит помощи. Разбираюсь с OpenGL, написал небольшую хуйню, всё работает на моей машине. Exeшник собранный в режиме debug весит 50кб и на другой машине требует VCRUNTIME140D.dll, ucrtbased.dll и glut32.dll, первые две это, полагаю, из Microsoft Visual C++ Redistributable, третья это сам OpenGL. Если собираю через Release, то exe весит 12кб и на другой машине требует только glut32.dll.
Собственно вопрос: где можно почитать как оно всю эту хуйню собирает?
Аноним 12/05/18 Суб 16:23:45  1188729
>>1188713
Забыл уточнить, делаю всё в Visual Studio 2017.
Аноним 12/05/18 Суб 16:35:31  1188735
>>1188713
Гугли "динамическая/статическая линковка". Видимо ты в релизной версии включил статическую линковку.
Аноним 12/05/18 Суб 16:51:47  1188746
>>1188713
С д на конце это дебажные длл которые у обычных пользователей не стоят.
Аноним 12/05/18 Суб 20:09:37  1188823
>>1181867 (OP)
Как написать обобщенный код, который бы сериализовал целочисленные типы вроде int32_t, uint64_t, int в массив байт?
Аноним 12/05/18 Суб 21:07:55  1188840
>>1188823
А в чем проблема? Всего то 2 параметра - тип(или размер в байтах, внутри трейтов натолкаешь что целочисленный) да порядок байт.
Аноним 13/05/18 Вск 00:53:17  1188921
>>1181867 (OP)
Анон, как в моей функции сериализации выбрать порядок байт?
https://ideone.com/kPqKg4
Аноним 13/05/18 Вск 00:59:03  1188922
>>1188921
Чем тебе не угодили htonl/ntohl?
Аноним 13/05/18 Вск 01:00:40  1188923
>>1188921
>https://ideone.com/kPqKg4
Выбором направления при перезаписи числа в std::array, очевидно же.
Аноним 14/05/18 Пнд 19:47:44  1189806
В одном файле имеется глобальная константа, хочу "передать" её в другой файл, для этого использую ключевое слово extern.
Константа объявлена как extern const int имя = 3.
В другом файле написано extern const int имя.
Казалось бы все работает, в файле, куда передаётся эта константа я могу создать статический массив размера [имяконстанты], всё компилится, но при этом я не могу создать объект типа std::array<int,имяконстанты>, что с ним не так?
Ошибка: "expression must have a constant value"
Аноним 14/05/18 Пнд 19:49:34  1189808
>>1189806
Вообще я там не создаю array, а передаю его параметром в метод класса, но создать тоже не получается, также ошибка.
Вдруг это поможет.
Аноним 14/05/18 Пнд 22:24:55  1189913
>>1189808
>>1189806
Сделай какой-нибудь хедер misc.h или common.h в котором буду нужные тебе константы и которые могут понадобиться в разных местах программы.
Аноним 15/05/18 Втр 00:07:29  1189989
>>1189913
Я в итоге просто и объявил её в хедере, просто хотел изменятьизменять до времени компиляции переменную из сурс файла, а буду изменять из хедера.
Аноним 15/05/18 Втр 10:25:38  1190102
Помогите с синтаксисом.
Ввод на стандартный поток какой-то последовательности. Последовательность завершается признаком конца ввода.
Что это за признак? ctrl+d? Если да, то это много проблем порождает.
Я питался писать по всякому, и
while (cin >> a)
и
while (!cin.eof())
Оба эти варианта не принимаются авто системой - ошибка ввода. При этом во втором случае, еще и последний символ считывается два раза.
Аноним 15/05/18 Втр 10:30:53  1190103
>>1190102
Ввод, вроде бы, просто представляет собой
cin >> a
мимо
Аноним 15/05/18 Втр 10:37:10  1190104
>>1190103
Последовательность. Мне нужно считать последовательность неизвестной длины, концом которой является признак конца ввода. Я спрашиваю как это сделать.
Аноним 15/05/18 Втр 10:53:21  1190119
>>1190102
Что ты хочешь сделать? Что ты подразумеваешь под последовательностью? Какой именно признак конца ввода? Если вводить через cin >>, то по дефолту признак конца ввода это пробел или собственно конец ввода.
Если ты вводишь строку можно использовать getline, у него признаком конца ввода является только нажатие на энтер.
Аноним 15/05/18 Втр 10:57:32  1190122
>>1190119
Понятия не имею, что вижу, то и говорю.
На стандартном потоке ввода вводится последовательность целых чисел. Последовательность завершается признаокм конца ввода. Сделайте там какое-то действие с последовательностью.
Компилятор gnu c++
В интернете вычитал, что признак конца ввода - ctrl+d или z но у меня во втором варианте, к примеру, программа просто останавливается.
Аноним 15/05/18 Втр 11:05:13  1190127
image.png (12Кб, 471x163)
>>1190122
Как вводятся числа не сказано? Например через пробел или через строку.
Странное задание, какое-то неконкретное.
Могу предложить такое решение, чтобы закончить ввод нужно ввести Ctrl+Z.
Аноним 15/05/18 Втр 11:07:28  1190129
>>1190127
Вводятся через стандартный поток ввода. Нет ни пробелов, ни строк, просто числа идут на стандартный поток ввода.
Аноним 15/05/18 Втр 11:18:57  1190139
>>1190122
Я не понимаю, что тебе не нравится. Ctrl-Z - признак конца ввода. Грубо говоря твоя последовательность выглядит вот так
1 2 43 67 8 43 89 34 ^Z
В цикле while(cin >> a) ты делаешь все необходимые действия со своей последовательностью. Как только встречается конец ввода, программа выводит результат и останавливается.

>>1190127
Сам найдешь ошибку? Чему будет равно i если я введу строку
1 34 67 43 0 76 123 87 ^Z?
EOF кстати тоже использовать нельзя. Программа завалится вот на этой строке
1 2 3 -1 54 32
Аноним 15/05/18 Втр 11:20:41  1190140
>>1190139
>Я не понимаю, что тебе не нравится
Как ловить то конец ввода? Ну допустим пробел. А как мне его ловить, если я считываю в интовую переменную?
Аноним 15/05/18 Втр 11:23:25  1190143
image.png (10Кб, 493x160)
>>1190139
В первом случае i будет равно 4.
Алсо не понял почему она завалится. Ничего не падает вроде.
Аноним 15/05/18 Втр 11:25:44  1190144
>>1190143
Бля, а ты вообще имеешь право так быдлокодить? Есть гарантия что логические выражения будут справа налево вычисляться?
Аноним 15/05/18 Втр 11:26:51  1190145
>>1190144
>Есть гарантия что логические выражения будут справа налево вычисляться?
Насколько я помню, да, слево направо, лениво
Аноним 15/05/18 Втр 11:27:02  1190146
>>1190144
Они же слева направо вычисляются.
Аноним 15/05/18 Втр 11:27:09  1190147
>>1190145
мимо автор исходного вопроса.
Аноним 15/05/18 Втр 11:29:08  1190151
>>1189806
https://stackoverflow.com/questions/1433204/how-do-i-use-extern-to-share-variables-between-source-files
Аноним 15/05/18 Втр 11:29:36  1190152
>>1190151
Уже разобрался, спасибо.
Аноним 15/05/18 Втр 14:46:57  1190308
>>1190140
>>Я не понимаю, что тебе не нравится
>Как ловить то конец ввода? Ну допустим пробел.
А ты можешь скинуть полностью формулировку задачи. По тому что написано можно предположить, что после введения строки чисел пользователь просто нажимает CTRL-Z и программа завершается, выполнив все требуемые действия

>>1190143
Ну не валится конечно, я неправильно выразился. Просто результат будет неправильным если встречается 0. А если использовать вместо '\0' EOF (выше кто то советовал), то результат будет неправильным если встретится -1.
Аноним 15/05/18 Втр 15:07:09  1190316
>>1190308
Ну это да, я просто не видел, что кто-то EOF советовал.
Теперь понял.
Аноним 15/05/18 Втр 15:08:27  1190318
>>1190308
На самом деле довольно странно выглядит "пользователь введёт ctrl+z", скорее всего в задании есть какой-то символ который будет играть роль конца строки.
Аноним 15/05/18 Втр 15:23:54  1190327
>>1190318
>>1190318
Да похуй на самом деле что он там введет, главное чтоб это было не целое число. cin здесь ожидает int и как только он натолкнется на первый !int цикл закончится. Так что можно вводить хоть
1 2 3 54 -100 x
хоть
1 2 3 54 -100х или 1 2 3 4 5;
результат один хер будет правильным.
Аноним 15/05/18 Втр 15:25:18  1190328
>>1190327
Ну это понятно, там ведь результат оператора >> же неявно кастуется к булу через проверку флага потока?
Аноним 15/05/18 Втр 15:39:22  1190338
>>1190328
Если я правильно понял, то вот ответ на твой вопрос https://stackoverflow.com/questions/38978266/how-can-stdcin-return-a-bool-and-itself-at-the-same-time
Аноним 15/05/18 Втр 15:51:22  1190343
Тупые вопросы от вкатывальщика к практикующим крестовикам:
1) Как часто используете в проектах ебанутую идиому SFINAE, сколько бы ни читал никак не могу въехать
2) В каких случаях пишете кастомный аллокатор?
И самый тупой вопрос: никак не могу перейти от написания элементарных заданий из учебника к чему-то более серьезному, проект в голове вроде бы родился, но вот с архитектурой проблемы, как вы проектируете?
Аноним 15/05/18 Втр 15:55:42  1190352
>>1190343
Я использовал на работе 1 раз по приколу. Просто кусок сделал люто-шаблонным. А так - ты врятли это где-то увидишь в коде.

2. В качестве саморазвития онли. Все, что нужно, уже есть в бусте.

3.Долбись головой об стену, и старайся писать серьезное, как можешь. Это нарабатывается только опытом
Аноним 15/05/18 Втр 15:57:07  1190353
>>1190343
> 1) Как часто используете в проектах ебанутую идиому SFINAE, сколько бы ни читал никак не могу въехать
Начиная с C++17 заметно меньше, ибо теперь множество кода можно написать с if constexpr. SFINAE использую в основном только для compile-time определения особенностей типа (где стандартные утилиты из type_traits не помогают) и подобного, чтобы потом написать что-то вроде if constexpr(is_yoba_type<T>), где is_yoba_type - SFINAE-функция для проверки типа.
Аноним 15/05/18 Втр 15:59:54  1190358
>>1190343
> но вот с архитектурой проблемы, как вы проектируете?
Читать книжки по этой теме, посты в блогах/форумах, читать чужой код в похожих проектах (в которых есть похожий функционал)
Ну и самое важное: уметь формулировать задачу конкретно, а не слишком абстрактно

Например, думал себе сделать что-то вроде таск треккера в котором был бы функционал парсинга исходников на предмет TODO/FIXME и прочих комментариев
Сначала тупо решил парсить комменты и смотреть что там в них. Плохой был вариант т.к. много лишней работы.
Потом конечно допёр что мне не нужны все комментарии.
Аноним 15/05/18 Втр 18:44:56  1190490
>>1186245
DJGPP
Аноним 15/05/18 Втр 20:35:25  1190581
>>1190102
ctrl-z попробуй
Аноним 16/05/18 Срд 00:41:18  1190731
>>1190343
1) Часто. Мета-программирование очень популярно в финтехе, ибо оптимизации.
2) Редко. Это сложнее SFINAE и редко нужно.
3) сам хуй научишься. Пробуй, но лучше поработать с кем-то, кто тебя будет носом тыкать. Постепенно наберёшься от него.
Аноним 16/05/18 Срд 18:00:30  1191075
На следующей неделе иду на собеседование, меня назначили в команду разработки драйверов, посоветуйте, пожалуйста, что можно почитать, а то я только прикладной софт и писал.
Аноним 16/05/18 Срд 18:08:35  1191080
>>1191075
Драйверов для чего? А то это такое широкое понятие, что "драйвер" может быть и прикладным ПО.
Аноним 16/05/18 Срд 18:36:11  1191103
>>1191080
Драйвер протокола под винду для отправки/приёма сетевых пакетов.
Аноним 16/05/18 Срд 19:29:20  1191132
>>1191103
https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/writing-your-first-driver
Аноним 16/05/18 Срд 19:41:30  1191142
>>1191132
Спасибо.
Аноним 16/05/18 Срд 19:51:36  1191144
>>1181867 (OP)
Я тоже драйвероеб. У меня стоит VS2017 и WDK для Win7 в директории C:\WinDDK. Я создал пустой солюшен WDM и написал main.cpp с подключением ntddk.h и точкой входа. Ничего не компилируется. Что надо прописать в настройках проекта кроме инклудов?
Аноним 16/05/18 Срд 19:52:26  1191147
>>1191144
Ну хоть ошибку конпеляции покажи.
Аноним 16/05/18 Срд 20:03:57  1191153
>>1191147
Building 'Driver' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
1>C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.common.targets(482,5): error MSB6004: Указанное расположение исполняемого файла задачи "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86\stampinf.exe" является недопустимым.
Аноним 17/05/18 Чтв 16:40:46  1191580
qstnmrk.jpg (73Кб, 1920x1440)
Привет.
Читал пример объявления класса Х (с полем m), встретил такой конструктор:
X(int i =0) :m{i} { }
Поясните, пожалуйста:
1) зачем =0
2) что такое :m{i}
Аноним 17/05/18 Чтв 16:55:39  1191586
>>1191580
nvm, ответ был через пару параграфов :\
Аноним 17/05/18 Чтв 19:11:14  1191707
>>1191586
Еще и вот так далают :m(i)
Аноним 17/05/18 Чтв 22:00:12  1191837
>>1191580
=0 - значение по умолчанию.
{} - 99% на то что долбоеб какой-то узнал про них и прям решил резко их везде юзать.
а так обычно () круглые скобки используют для инициализации.
Аноним 17/05/18 Чтв 22:06:58  1191842
Ананасы, в чём я не прав? С хуев он тип вывести не может?
Аноним 17/05/18 Чтв 22:10:09  1191844
Короче, посоны, ЕОР.
(?:31\.(?:0?[13578]|1[02])\.\d{4})|(?:30\.(?:0?[13456789]|1[012])\.\d{4})|(?:[0-2][0-9]\.(?:0?[1-9]|1[012])\.\d{4})
Это дата в формате dd.mm.yyyy(без проверки на високосные года). Хуле оно так медленно работает? Например, взял я текстовый файл(скопировал статью по истории с вики с датами), весом 120кб, оно там что-то ебошит 4 секунды примерно, и это без всяких проверок!


С другой стороны, нашел на стековерфлоу вот такое выражение примерно для той же задачи:
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Оно работает быстро.


Еще ранее сегодня я ебанулся и написал такое:
((?:(?:(?:(?:\n|\s|^)0?\d)|(?:[12]\d)|(3[01]))[.\-\s](?:(?:0?[13578])|(?:10)|(?:12)|(?:jan)|(?:mar)|(?:may)|(?:jul)|(?:aug)|(?:oct)|(?:dec)|(?:january)|(?:march)|(?:july)|(?:august)|(?:october)|(?:december)|(?:январь)|(?:января)|(?:март)|(?:марта)|(?:май)|(?:мая)|(?:июль)|(?:июля)|(:?август)|(?:августа)|(?:октябрь)|(?:октября)|(?:декабрь)|(?:декабря))[.\-\s]\d{4})|(?:(?:(?:(?:\n|\s|^)0?\d)|(?:[12]\d))[.\-\s]0?2[.\-\s](?:(?:(?:[02468][048]00)|(?:[13579][26]00))|(?:(?:\d{2}[2468][048])|(?:\d{2}0[48])|(?:\d{2}[13579][26])))|(?:(?:(?:(?:\n|\s|^)+0?\d)|(?:1\d)|(?:2[0-8]))[.\-\s]0?2[.\-\s]\d{4}))|(?:(?:(?:(?:\n|\s|^)0?\d)|(?:[12]\d)|(?:30))[.\-\s](?:(?:0?[469])|(?:11))[.\-\s]\d{4}))
Правда, эту хуйню я не закончил(не добавил все месяцы),т.к. протестил на том самом файле весом 120кб и увидил, сколько оно работает.

Помогите, тапками не кидайтесь, я новенький в этом деле. Что я делаю не так(например, в самом верхнем выражении)? Как это можно ускорить?
Аноним 17/05/18 Чтв 22:11:29  1191845
>>1191844
>увидил
Короче, помогите тупому пожалуйста.
Аноним 17/05/18 Чтв 23:57:44  1191966
>>1191844
>Как это можно ускорить?
Вроде в плюсах была какая-то залупа по превращению конкретного регекспа в компайл-тайм код. Не помню как называлась.
>Помогите, тапками не кидайтесь, я новенький в этом деле.
Есть ли задачи? Не проще ли как диды if( str[2]=='.' ) return str.substr(1,2 и т.д. и т.п?
Тем более что разных пар dd.mm всего 356, засунь в хешмапу, хуле ты.
Аноним 18/05/18 Птн 00:26:23  1191980
>>1191966
>Вроде в плюсах была какая-то залупа по превращению конкретного регекспа в компайл-тайм код.
Не слышал о таком, спасибо, погуглю.
>Не проще ли как диды
Проще, но так не интересно.
Аноним 18/05/18 Птн 00:29:17  1191983
>>1191966
> Вроде в плюсах была какая-то залупа по превращению конкретного регекспа в компайл-тайм код. Не помню как называлась.
Ragel? Там не совсем регексп, там пиздец генератор...
Есть boost xpressive, но там в рантайме. Ну а в компайлтайме шаблоном вроде регекспы в дишечке задаются.
Аноним 18/05/18 Птн 08:47:24  1192058
>>1191980
Вот оно:
http://re2c.org/
Аноним 18/05/18 Птн 10:02:00  1192075
Господа программисты, как перевести массив int в массив char?
Например, у меня есть {231, 5, 78, 45, 89, 9, 0, 12}
Надо получить "2315784589012"
Да, я совсем нуб, в гугле не нашел.
Аноним 18/05/18 Птн 10:27:31  1192083
111.png (5Кб, 350x170)
>>1192075
Можно так.
Если нужны именно массивы, можно потом из строки каждый символ добавить в массив(и в начале вместо вектора тоже взять массив).
Аноним 18/05/18 Птн 10:33:48  1192087
>>1192083
> Можно так.
> Если нужны именно массивы, можно потом из строки каждый символ добавить в массив(и в начале вместо вектора тоже взять массив).
Зачем? Просто union
Аноним 18/05/18 Птн 12:22:50  1192122
>>1192087
Ты ебобо? Как ему поможет union?
>>1192075
Именно в массив (в сишном) или строку/вектор? Ты в тот тред зашел? Потому что в первом случае >>1192083. А если имеется в виду сишный массив и работать надо сишными методами (бывают такие ебанутые преподы, если это задание), то там придется чутка поебаться.
Аноним 18/05/18 Птн 12:25:55  1192125
>>1192122
Не так прочитал.
А как он собрался блять конвертить то что в большем типе? Там известно что числа в интах будут влезать в байт?
Аноним 18/05/18 Птн 12:34:17  1192127
>>1192125
Нахуя МНЕ конвертировать? to_string - стандартная функция, которая делает всю работу за меня.
Если бы пришлось самому этим заниматься, я бы брал каждое число из массива, получал его цифры остатком от деления на 10, переводил бы их в char(прибавляя значение нуля из ascii таблицы - 48) и записывал в массив char'ов. Наверное, to_string как-то так и делает для одного конкретного числа.
Аноним 18/05/18 Птн 12:35:11  1192128
>>1192125
у него есть массив {231, 5, 78, 45, 89, 9, 0, 12}
ему нужен массив {'2', '3', '5', '7', '8', '4', '5', '8', '9', '9', '0', '1', '2'}

Со строкой выше анон предложил вариант со строками. В пур сишке это бы делалось так. Объявлялся массив чаров. Последовательно берется каждый инт, объявляется для него промежуточный массив, инт конвертится в массив чаров (деление с остатком, потом + '0', потом это записывается в промежуточный массив, потом этот массив реверсится и копируется в результирующий массив - есть и другие варианты с рекурсией, например или itoa(int), короче каждый изобретает свой велосипед на то она и сишка) и так до победного.

Тут нихуя непонятна постановка задачи.
Аноним 18/05/18 Птн 15:18:14  1192184
>>1192128
> Тут нихуя непонятна постановка задачи.
Двачую, пусть анон постарается получше объяснить, что ему нужно.
Аноним 18/05/18 Птн 16:20:49  1192210
tostring.png (11Кб, 690x472)
>>1192075
Зацени мой велосипед.
Аноним 18/05/18 Птн 16:24:36  1192212
>>1192210
Потенциально может упасть, если массива чаров не хватит.
Аноним 18/05/18 Птн 16:32:38  1192217
>>1192212
Да это почти сишный код. А в сишечке потенциально что угодно может упасть. Можно конечно колхозить через realloc'и, но, во-первых, это медленно, а во-вторых область знаний анона-вопросителя вряд ли простирается до этого момента, если он задает такие вопросы.
Аноним 18/05/18 Птн 16:36:04  1192219
>>1192210
В общем это не критично, но все таки доебусь со скуки. Нахуя писать auto если тип входных данных известен и нахуя использовать магическое 48 вместо очевидного '0'?
Аноним 18/05/18 Птн 16:46:54  1192223
image.png (26Кб, 375x633)
>>1192219
У него же шаблонный код, поэтому он просто пишет auto вместо чего-то подобного.
Аноним 18/05/18 Птн 16:47:25  1192224
>>1192223
А насчёт магического 48 согласен, лучше писать просто '0'.
Аноним 18/05/18 Птн 16:52:22  1192227
>>1192223
>>1192224
Хотя частично с тобой согласен, если ему это нужно только для конкретного случая, то можно было даже шаблон не делать.
Аноним 18/05/18 Птн 16:53:38  1192228
>>1192219
>Нахуя писать auto если тип входных данных известен
Патамушта это модерн C++.
>нахуя использовать магическое 48 вместо очевидного '0'
Да какая разница, 48 это ASCII код цифры 0. И char по сути 8-битный integer, вот и сделал все в интегерах.
Аноним 18/05/18 Птн 16:54:02  1192229
А во что обходится использование auto в плане скорости компиляции? Скажем, если юные адепты c++11 засрали им весь код?
Аноним 18/05/18 Птн 16:56:07  1192233
>>1192228
>Патамушта это модерн C++.
Вообщет патамушта там тип не известен до инстанцирования шаблона.
Аноним 18/05/18 Птн 17:39:35  1192250
>>1192224
А еще можно было вконце стринга вместо c[pos] = 0 написать c[pos] = '\0' , это то же самое. Эти одиночные кавычки же тупо алиас для интегера, можно даже макро назвать. В конце концов компилятор их в интегер превращает. Я тут старался велосипед свой писал, а вы как изверги до мелочей докапываетесь!
Аноним 18/05/18 Птн 17:43:18  1192253
>>1192229
Лол, спешите видеть! Вместо исправления говнозовисимостей и перекомпиляции сотни файлов при изменении одной строчки спешит заклеймить auto. Старпер ас ис, используй мост деб
Аноним 18/05/18 Птн 17:50:37  1192259
>>1192253
Ты на вопрос то ответь. Насколько труднозатратно для компилятора выводить тип?
Аноним 18/05/18 Птн 17:50:58  1192260
>>1192253
Что такое мост?
Аноним 18/05/18 Птн 18:13:55  1192278
>>1192223
Тьфу блядь действительно шаблон
Аноним 18/05/18 Птн 21:42:13  1192399
>>1192260
Шаблон проектирования мост, он же pimpl. Разделение объявления и реализации
Аноним 18/05/18 Птн 22:36:58  1192426
>>1192399
Ну так это обычные вещи, известные до появления auto засирателей (разделение реализации и объявления, минимальность по включению, указатели вместо объектов, etc...). Как auto то использовать, чтобы не тормозить сборку? int i = 0; auto j = i + 1; норм или не норм?
Аноним 19/05/18 Суб 00:10:12  1192468
>>1192426
В твоём случае никак не повлияет.
Аноним 19/05/18 Суб 00:48:39  1192479
>>1191842
remove_pointer_t как вложенный относительно самого шаблона тип не является контекстом вывода.

Тут подробнее:
http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0293r0.pdf
Аноним 19/05/18 Суб 00:48:43  1192480
>>1192468
а в каком повлияет?
Аноним 19/05/18 Суб 01:10:20  1192485
Как нормально сделать switch со string
Аноним 19/05/18 Суб 01:11:54  1192487
>>1192485
Никак. Он для этого не предназначен.
Аноним 19/05/18 Суб 01:13:34  1192488
>>1192480
Вообще не встречал упоминаний о том что авто замедляет сборку.
Аноним 19/05/18 Суб 02:29:21  1192499
>>1192480
Вообще если логически подумать, то компилятор в любом случае проверяет соответствие типов слева и справа от знака равенства. Так что навряд ли замедляет. Просто вместо сравнения делается подстановка в зависимости от выражения справа. Поэтому не должно влиять настолько, чтобы это было заметно
Аноним 19/05/18 Суб 02:50:01  1192503
>>1192487
unordered map
Аноним 19/05/18 Суб 02:54:16  1192504
>>1192229
>А во что обходится использование auto в плане скорости компиляции?
Очень сильно зависит от конкретного случая. От нулевого оверхеда, вроде auto i = 1, где тайпчекер и так все будет проверять, до теймплейтной пиздецомы вроде эйгена, где на каждом auto будет накапливаться expression template, и в результате тайпчекеру придется ресолвить стоэтажное выражение, где вполне вероятна экспоненциальная сложность от каждого предыдущего auto. В обычных случаях, если не злоупотреблять, больше на читаемость влияет.
Аноним 19/05/18 Суб 02:56:25  1192505
>>1192503
Не совсем подходит. Если ему нужен именно аналог switch, это значит что все строки известны заранее, а простой unordered map как минимум добавит рантайм оверхеад не просчитывание хэша строк. Лучше всего в данном случае взять какую-нибудь библиотеку с compile-time высчитыванием хэша, к тому же если все строки заранее известны можно сделать идеальное хеширование (т.е. хеши разных строк совпадать не будут), а значит сами строки в бинарнике даже хранить не надо будет.
Аноним 19/05/18 Суб 03:07:00  1192507
>>1192505
не надо ебать голову и изобретать велосипед там, где можно справиться простыми вещами, которые тяжелее по времени исполнения (в пикосекундах), но в разы сложнее при написании (в часах, а иногда сутках)
Аноним 19/05/18 Суб 03:49:42  1192513
>>1192507
Самое сложное тут будет написать функцию хэширования, а с C++17 сам АПИ будет выглядеть довольно красиво, как-то так:
https://pastebin.com/CKjAx9G5
Аноним 19/05/18 Суб 10:51:43  1192585
>>1192503
Я бы тебя к хуям уволил за мап ради свитча.
Аноним 19/05/18 Суб 12:48:19  1192617
>>1192505
Нахуя хэш-то? В свитче обычно меньше десяти значений, проще и быстрее тупо сравнить в цикле.
Аноним 19/05/18 Суб 12:52:32  1192619
>>1192513
Что плюсик делает перед лямбдой?
Аноним 19/05/18 Суб 12:54:03  1192620
>>1192617
> Нахуя хэш-то?
Чтобы не хранить сами строки в бинарнике, очевидно же. Опять таки можно сделать идеальный хеш (например сам хеш будет занимать 48 бит, а оставшиеся 16 бит будут занимать счётчик, увеличивающийся на 1 в случае коллизии), а значит сравнение строк вообще никогда не понадобится.
>>1192619
Если лямбда не захватывает значений, то превращает её в указатель на функцию.
Аноним 19/05/18 Суб 13:03:01  1192628
>>1192620
>превращает её в указатель на функцию.
Нихуясе. А где об этом почитать можно?
Аноним 19/05/18 Суб 13:17:59  1192637
>>1192620
> например сам хеш будет занимать 48 бит, а оставшиеся 16 бит будут занимать счётчик, увеличивающийся на 1 в случае коллизии
Хотя вру. Придётся делать минимум две таблицы. В первой теблице будут счётчики коллизий (или псевдо-значения, например отрицательные числа будут хешами второй таблицы, а положительные - счётчиками коллизий), а во второй нормальный хеш-мап. Считываем хеш с начальным значением равным нулю, если счётчик коллизий равен нулю, то сразу считываем значение со второй таблицы, если нет, то считаем хэш ещё раз на этот раз с новым начальным значением и затем берём значение со второй таблицы.
>>1192628
> А где об этом почитать можно?
А что читать-то? Очередная неочевидная перегрузка оператора. Ещё можно использовать static_cast, но плюсик занимает меньше места и скобки нинужны. https://ideone.com/WGl8nF
Аноним 19/05/18 Суб 14:05:10  1192670
>>1192620
>Чтобы не хранить сами строки в бинарнике
Тебе все равно придется их там хранить - хэш-таблица хранит значения ключей, по хэшу ищется нужная запись в таблице, по которой потом производится сравнение строк. Так что строки в бинарнике по-любому останутся.
Аноним 19/05/18 Суб 14:08:19  1192672
>>1192670
> по которой потом производится сравнение строк.
Я выше обисал алгоритм идеального хеширования. Там строки хранить не нужно.
Аноним 19/05/18 Суб 14:16:17  1192677
>>1192672
>идеального хеширования
Чтобы коллизии считать, тебе все равно исходная строка нужна. Для строк, генерируемых в рантайме такое работать не будет. К тому же идеальный хэш возможен только для строк ограниченной длины. То есть у тебя в программе будет потенциальный баг, когда заматчится неправильное значение. Привет тому, кто это дебажить будет.
Аноним 19/05/18 Суб 14:18:00  1192678
>>1192677
> Чтобы коллизии считать, тебе все равно исходная строка нужна.
Нут так речь идёт о свитче, а значит все строки заранее известны. Все коллизии можно пересчитать ещё при конпеляции и хранить таблицу коллизий вместо самих строк. Идеальное хеширование по-определению будет работать, только если заранее известны все входные данные.
Аноним 19/05/18 Суб 14:27:56  1192682
>>1192678
>Нут так речь идёт о свитче, а значит все строки заранее известны
Строка, с которой они будут матчится-то неизвестна. Если она задана на этапе компиляции - вопросов нет, но если генерируется в рантайме, твой свитч превращается в тыкву.
Аноним 19/05/18 Суб 14:34:45  1192684
>>1192682
> Строка, с которой они будут матчится-то неизвестна.
Хотя да, если сами строки будут генерироваться непонятно откуда, то может произойти бида.
Аноним 19/05/18 Суб 15:04:15  1192699
Почаны, взяли джуном на крестах на испытательный срок, но я давно кресты не трогал, а когда трогал кроме заданий из страуструпа ничего не делал, хотя все их прорешал, сейчас есть пару недель пока переезд вот это всё что можно повторить, чтобы совсем не обосраться?
Аноним 19/05/18 Суб 15:32:32  1192713
>>1192699
А что делать-то будешь хоть?
Вдруг там у тебя будут какие-то йоба-ограничения на стандарт и на функционал?
Аноним 19/05/18 Суб 15:36:46  1192717
test
Аноним 19/05/18 Суб 15:41:53  1192721
>>1192713
Насколько понял юнит тесты писать.Если я правильно понимаю, что такое юниттесты
Аноним 19/05/18 Суб 15:44:42  1192722
>>1192721
Странно тогда, что с++, а не питон какой-нибудь.
Аноним 19/05/18 Суб 15:51:01  1192726
>>1192722
Да я сам охуел, я бы лучше на питоне, на нём гораздо больше писал.
Аноним 19/05/18 Суб 15:56:15  1192731
>>1192722
Как ты собрался тестировать крестовый код на питоне блжад?
Аноним 19/05/18 Суб 15:58:11  1192733
>>1192731
Так что, может что-то повторить стоит я даже не знаю, я последний раз на С++11 писал, а тут уже 17. Боюсь обосраться.
Аноним 19/05/18 Суб 16:00:56  1192737
>>1192731
Или норм, объяснят, а там по ходу втянусь, разберусь? Никто же не выгонит меня в первую неделю? Или могут?
Аноним 19/05/18 Суб 17:51:29  1192782
>>1192737
>>1192733
Почитай книжки какие-нибудь про с++ уже после 11 стандарта.
Естественно от тебя в первый день не будут требовать йоба магию на шаблонах.
Но, например, разобраться в стандартной библиотеке. Какие там есть контейнеры, функции какие и тд.
К примеру
http://goalkicker.com/CPlusPlusBook/CPlusPlusNotesForProfessionals.pdf
Аноним 19/05/18 Суб 18:32:25  1192805
image.png (52Кб, 814x507)
>>1192782
>http://goalkicker.com/CPlusPlusBook/CPlusPlusNotesForProfessionals.pdf
Охуенная книга!
Аноним 19/05/18 Суб 20:38:16  1192895
>>1192782
Благодарю.
Аноним 19/05/18 Суб 20:43:53  1192900
>>1192782
>http://goalkicker.com/CPlusPlusBook/CPlusPlusNotesForProfessionals.pdf
>может что-то повторить стоит
Анон, спасибо, это то, что нужно.
Аноним 19/05/18 Суб 21:38:11  1192923
>>1192128
>>1192184
Короче, вся суть в том, что мне надо зарандомить число на 128 битов в char. И я думал использовать стандартный rand().

И еще очень тупой вопрос - можно ли преобразовать unsigned char
в char*, чтобы все осталось ОК и без лишней возни?

Пишу на С++, но использую чужой код, написанный на C.
Аноним 19/05/18 Суб 21:39:41  1192924
>>1192923
фикс: unsigned char в char
Аноним 19/05/18 Суб 21:41:40  1192926
>>1192924
звездочки полетели, короче там везде массивы
Аноним 19/05/18 Суб 22:20:23  1192945
>>1192805
Не понял инклюдов. Ошибка отображения?
Аноним 20/05/18 Вск 04:10:26  1193041
>>1192585
Хуево быть тобой, фантазер-увольнятель
Аноним 20/05/18 Вск 11:13:53  1193095
>>1192923
Если значение больше 175, то нет.
Вообще рекомендую посмотреть, как считает ли твой компилятор тип char - знаковым или беззнаковым, т.е стандарт этого не оговаривает
Аноним 20/05/18 Вск 11:37:18  1193101
>>1192733
узнай на чем тесты пишут. буст там, что-то еще.. узнай специфику проекта - что он делает глобально, разберись.
сам цпп в тестах тупой как пробка обычно.
Аноним 20/05/18 Вск 17:28:14  1193443
>>1192699
Охуеть. Я студиозус в ДС1 пилю свою хуйню на гитхабе целыми днями (пизжу, но таки-пилю, пусть не целыми днями) и на работу никуда не берут, а тут тип устроился на кресты, на которых он один только труп страуса и дрочил на предмет заданий. Охуеть.
Аноним 20/05/18 Вск 17:46:23  1193456
>>1193443
Потому что надо ходить и устраиваться а не сидеть на жопе. Гит это хорошо, но его одного мало.
Сам скоро пойду устраиваться в филиал одной большой американской компании
2-курс
Аноним 20/05/18 Вск 17:51:10  1193460
>>1193443
Тренируйся проходить собеседования (продавать себя). А гитхаб можешь смело в помойку выкинуть. В начале карьеры работодатели смотрят в основном на потенциал кандидатов.
Аноним 20/05/18 Вск 18:01:18  1193467
Какие библиотеки подойдут для геймдева? Не хочу быть юнити-дебилом.
Из очевидных вариантов SDL/SFML + OpenGL, что ещё сюда присобачить?
Аноним 20/05/18 Вск 18:02:27  1193469
>>1193467
Библиотеку с физикой какой-нибудь.
Аноним 20/05/18 Вск 18:03:16  1193472
>>1193469
Ну, я хочу некоторую долю велосипедства сохранить, поэтому кое-какой физон сам напишу
Аноним 20/05/18 Вск 19:07:56  1193523
>>1193467
glm - математика
sdl_image/gli/stb_image - загрузка текстур
Ну а дальше в меру своих навыков можешь реализовывать функционал который нужен
Аноним 20/05/18 Вск 19:23:52  1193532
Можно ли за лето выучить C++ для узкой задачи - программирования avr микроконтроллера? Все нужные библиотеки на C++ для подключаемых к микроконтроллеру устройств есть. Мне нужно лишь всё связать воедино и написать логику обработки информации. Навскидку сколько часов в день нужно будет тратить на обучение?
Аноним 20/05/18 Вск 19:29:02  1193537
>>1193532
А зачем там C++ учить? Всё равно большая часть стандартной библиотеки там не доступна. Лучше учи Си (ну можешь прочитать ещё про классы) и не выёбывайся.
Аноним 20/05/18 Вск 19:38:34  1193543
>>1193537
Так язык программирования avr - урезанный C++. И библиотеки с расширением .cpp.
Я не выёбываюсь. Просто не очень разбираюсь.
Аноним 20/05/18 Вск 20:02:28  1193567
>>1193456
А мне тупо не отвечают когда я отправляю письмо в контору.
Пили кулстори про свою подготовку.
Аноним 20/05/18 Вск 20:03:32  1193570
>>1193460
Попахивает хуитой. Работодатель будет кормить меня в обмен на код. Ему что, похуй как я пишу этот код и он будет проверять мой потенциал задачками на собесах? Если у меня есть потенциал, то я раскрываю его в решении боевых задач, я так думаю.
Аноним 20/05/18 Вск 20:04:32  1193573
>>1193567
Да просто отослал резюме.
Компания занимается в основном сетевыми адаптерами и написанием дров под них.
В итоге на след. день перезвонили, вот 22 числа пойду на собеседование.
Аноним 20/05/18 Вск 20:05:30  1193574
>>1193532
>программирования avr микроконтроллера
Для восьмибиток кресты излишни. Там и сишка-то жирновата. Лучше сразу на асме кодить.
Аноним 20/05/18 Вск 20:06:35  1193576
>>1193467
>что ещё сюда присобачить?
API блендера, чтобы экспортить модельки.
Аноним 20/05/18 Вск 20:09:39  1193577
>>1193574
На форте. Там можно даже ООП сделать.
Аноним 20/05/18 Вск 20:11:35  1193578
>>1193573
Красава.
Аноним 20/05/18 Вск 20:13:05  1193579
>>1193574
>Лучше сразу на асме кодить.
Библиотеки самому написать с нуля тоже? Я не такой программист. Ассемблер слишком слоен для меня.
Аноним 20/05/18 Вск 20:15:01  1193581
>>1193578
Ага только надо успеть почитать насчёт этих протоколов, NDIS, и остальную хуету вроде WDF и WFP
Аноним 20/05/18 Вск 20:17:58  1193587
>>1193581
Мне кажется что с таким подходом тебя пошлют на хуй. "Почитать насчет этих протоколов и остальную хуету", лол. Тебе работать с этой хуетой. Главное чтобы собеседовать было некому.
Аноним 20/05/18 Вск 20:19:47  1193588
>>1193587
Посмотрим, хех.
Всё равно у меня опыта в этой сфере нет, о чём я писал в резюме, но всё равно позвонили же.
Аноним 20/05/18 Вск 20:19:51  1193589
>>1193587
>с таким подходом
Всё знать невозможно, тем более джуну, важно обучаемость показать и адекватность.
Аноним 20/05/18 Вск 20:37:07  1193605
Если в моей программе больше одного файла, то в одном только функции (добавочный файл), а в другом main(главный файл), где я эти функции использую? Нельзя ли вставить файл в проект и выполнить его перед остальными файлами, при этом не вызывая функции из него?
Аноним 20/05/18 Вск 20:39:53  1193609
>>1193605
>Если в моей программе больше одного файла, то в одном только функции (добавочный файл), а в другом main(главный файл), где я эти функции использую?
У тебя два файла: один с объявлениями функций, полей, вложенных классов, перечислений и прочей хуйни - так называемый заголовочный файл, или header (.h), а второй с реализацией всей этой хуйни.

>Нельзя ли вставить файл в проект и выполнить его перед остальными файлами, при этом не вызывая функции из него?
Что сделать? Выполнение программы в плюсах начинается и заканчивается в main. А чтобы пользоваться твоими файлами, тебе надо подключить хэдэры в main, или один хэдэр, а он пускай другие подключает.
Аноним 20/05/18 Вск 20:50:50  1193613
>>1193609
Кажется, задаю тупые вопросы.
У меня два .срp файла, в одном пишу функции, в другом сперва объявляю их, потом вызываю. Функций мало, поэтому в .h файл ничего выносить не стал. Две функции main не сделать, так?
Аноним 20/05/18 Вск 21:04:08  1193619
>>1193613
Ты можешь хоть все функции в одном файле писать. При запуске с++ кода операционная система вызывает функцию main. Соответственно, если у тебя туева хуча функции написано вне мейна, а в мейне ты их не вызываешь, то вызываться они не будут вовсе.
Надеюсь ты это имел в виду.
Аноним 20/05/18 Вск 21:07:01  1193620
>>1193619
Под вне мейна я подразумеваю всякие обычные функции, которые находятся в области видимости файла/класса, а не какие-нибудь лямбда-выражения, функторы, который можно прямо внутри функции объявлять.
Аноним 20/05/18 Вск 21:18:42  1193628
>>1193619
У меня один файл рисует фрейм и обрабатывает действия, в функцию это не вынести, а майна в привычном понимании там нет, только эвенты и их код.
Аноним 20/05/18 Вск 21:23:08  1193633
>>1193628
> майна в привычном понимании там нет, только эвенты и их код.
Event loop в любом случае находится в мейне, так что не надо тут врать нам.
Аноним 20/05/18 Вск 21:27:47  1193635
>>1193589
Ни хуя себе. Вакансия "Программист C++, опыт работы 1-3 года", ты приходишь весь такой адекватный, тебе дают работу. Так?
Аноним 20/05/18 Вск 21:31:46  1193636
>>1193635
Если у тебя нет опыта, но ты идёшь на объявление, где опыт 1-3 года, то ты где-то ошибся.
Аноним 20/05/18 Вск 21:43:10  1193639
>>1193636
На C++ нет никаких вакансий без опыта.
Я листаю hh по Москве, и единственная вакансия джуна, которую я пока что увидел - это Коломна, непонятно как попавшая в выдачу.
Аноним 20/05/18 Вск 21:44:45  1193641
>>1193639
Забыл добавить, переключаюсь в "Опыт работы -> Без опыта" - заебись, первые двадцать вакансий "Опыт работы с X от 2 лет, опыт работы 3-6 лет, Senior Software Blahblahblah".
Аноним 20/05/18 Вск 21:44:47  1193642
>>1193639
>На C++ нет никаких вакансий без опыта.
Есть.
Аноним 20/05/18 Вск 21:47:48  1193646
>>1193642
Хотелось бы пруфы трёх вакансий в Москве без опыта.
Аноним 20/05/18 Вск 21:52:27  1193650
>>1193646
https://hh.ru/search/vacancy?from=cluster_experience&area=1&enable_snippets=true&customDomain=1&experience=noExperience&text=%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA+c%2B%2B&clusters=true&search_field=name
Аноним 20/05/18 Вск 21:56:03  1193652
>>1193650
Я попросил пруфы трёх вакансий в Москве без опыта
, а не ссылку на выдачу, про которую я сказал пять минут назад. Твоя (а по факту моя) ссылка ведет на "Опыт не менее двух лет; опыт CUDA" и прочую парашу.
Аноним 20/05/18 Вск 21:56:20  1193653
>>1193650
>Написание программ для управления процессом фото съёмки с применением промышленных камер.
>Под руководством ведущих разработчиков - работа над проектами, связанными с банковским оборудованием.
>Ускорение и оптимизация алгоритмов, написанных на С/С++ или Matlab (эффективная реализация на GPU с использованием CUDA или OpenCL).
>Опыт разработки на CUDA. Знание С++11 (особенно concurrency). Уверенное программирование на С++, STL (опыт не менее 2-х лет).
Это не вакансии для новичков, это фирмы без денег.
Аноним 20/05/18 Вск 21:57:36  1193654
>>1193652
>Опыт не менее двух лет
>Отличное знание С++, STL (опыт не менее 2-х лет)
>Требуемый опыт работы: не требуется
Это опыт программирования, а не опыт работы.
Аноним 20/05/18 Вск 22:00:06  1193657
>>1193654
Ты пытаешься троллить? В этой же вакансии на которую ты ссылаешься, по тексту далее:
https://hh.ru/vacancy/25606305?query=%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%20c%2B%2B
"пыт написания программ для управления процессом съёмки с использованием промышленных камер (например, камеры Basler, Автоматическое управление экспозицией, Exposure control, Gain)."
Тут явно речь не об "опыте программирования", блядь. Угу, студиозусы через одного по приколу пишут софт для камер Basler и т.д.
Аноним 20/05/18 Вск 22:01:28  1193659
>>1193657
Почему это? Нет, не троллю. Это твоя дипломная могла быть, например.
Аноним 20/05/18 Вск 22:03:58  1193662
>>1193659
Угу, я покупаю весь необходимый обвес, год пишу эту дипломную, затем захожу на Hh - вакансия закрыта. Доброе утро.
Не пизди, что не троллишь. Требования, описанные в вакансии, неприменимы к студенту. Тут же фактически требуется знать относительно узкую предметную область. То есть пришел на работу и сразу хуяришь набело нужный софт для конкретных каких-то камер. Джуна они ищут, прости господи.
Аноним 20/05/18 Вск 22:06:23  1193664
>>1193662
Ты какой-то дурак, ты хочешь, чтобы тебя взяли работать, платили тебе деньги и при этом ты нихуя не умел.
Аноним 20/05/18 Вск 22:10:37  1193665
>>1193664
>Всё знать невозможно, тем более джуну, важно обучаемость показать и адекватность.
Это твои слова или тот анон куда-то съебал, и ты решил поотвечать за него? Ты (вы) уж определись (-тесь), надо ли задрачивать гитхаб или ходить по собеседованиям (ну я пока что делаю и то и другое), знать предметную область или чисто плюсы с stl. Я студент, блядь, я не могу по выпуску из своей шараги знать технологию производства говяжьих анусов, но я могу ей научиться. Кто может меня взять на работу без опыта, чтобы я (без шуток) вникал в эту самую область и пилил свой говнокод?
Аноним 20/05/18 Вск 22:13:51  1193668
>>1193665
Я это к тому, что "обучаемость и одыкватность" разбиваются об:
>Опыт написания программ для управления процессом съёмки с использованием промышленных камер (например, камеры Basler, Автоматическое управление экспозицией, Exposure control, Gain).
Аноним 20/05/18 Вск 23:05:48  1193707
>>1193668
>>1193665
Ладно, сдаюсь, ты меня подловил.
Аноним 21/05/18 Пнд 01:45:06  1193786
>>1193664
https://career.ru/vacancy/23914795?query=разработчик%20c%2B%2B вот это вакансия без опыта (вернее на нее похожа).

Хуета про камеры - это типичный ооо вектор (особенно строчка про исторический центр Москвы порадовала - вектор векторный)
Аноним 21/05/18 Пнд 14:15:07  1194020
Сап. Вот есть игра Connect-4 на MVC. К основному классу игры со всей логикой я подключаю классы ViewConsole и PlayerConsole - это кагбэ вид и контроллер. ViewConsole отображает игровое поле в stdout консольки (стоит subsystem:console), PlayerConsole читает ходы из stdin той же консольки, я ввожу их с клавиатуры последовательно за обоих игроков. В конечном итоге я хочу дописать класс ViewQtWindow, чтобы играть не из консоли а из окошка. Только я одного не учел - PlayerConsole по-прежнему читает из stdin, а не из кьютовых формочек. Да и с консолью непонятно, линкер же заточен на одну subsystem, чтобы оставить классы прежними, придется проверять, где игра до того как включается вид - в консоли или окошке, и если окошке, то пердолиться со включением консоли, а если в консоли - то с включением окошка.
Короче, пора перепиливать всё нахуй не под MVC, а под M(VC), чтобы класс игрока включал в себя и ввод и вывод? Или есть еще надежда на спасение и я не настолько объебался в проектировании?
Аноним 21/05/18 Пнд 14:45:54  1194048
>>1193665
Без опыта наверно только по знакомству сможешь устроиться на такую работу.
Аноним 21/05/18 Пнд 15:01:36  1194054
>>1194020

Пиздец, ты ж не этерпрайзный опердень пишешь.

https://habr.com/post/343778/
Аноним 21/05/18 Пнд 20:52:28  1194277
Есть код, который вывод список файлов и директорий в текущей папке

int main() {
setlocale(LC_ALL, "rus");
WIN32_FIND_DATA f;
HANDLE hf;
hf = FindFirstFile("./", &f);
if (hf != INVALID_HANDLE_VALUE) {
do {
puts(f.cFileName);
} while (FindNextFile(hf, &f) != 0);
FindClose(hf);
}
Что сделать чтобы он этот список ещё и в файл сохранял?
Пробовал обычным дедовским способом file<<f.cFilename дак он мне туда вместо списка выводит
targetver.h* не ебу что это вообще такое
Аноним 21/05/18 Пнд 20:53:28  1194278
>>1194277
блядь почему код так криво вставился
Аноним 21/05/18 Пнд 20:55:36  1194280
>>1194278
Потому что надо было вставить ссылку на код, а не сам код.
Аноним 21/05/18 Пнд 21:09:22  1194290
>>1194280
в первый раз на доске, мискузи
Аноним 21/05/18 Пнд 21:19:00  1194293
>>1194290
Хули шапку прикрепленного треда не прочитал?
Аноним 21/05/18 Пнд 21:27:14  1194298
>>1194293
многабукафф
Аноним 21/05/18 Пнд 23:07:57  1194395
>>1194277
Гугли dirent.h, там попроще работа с файлами - когда-то правил простую прогу для вывода списка файлов в папке, разобрался быстро
Можешь кинуть сюда свою почту, но не обещаю, что откопаю файл с кодом
Аноним 21/05/18 Пнд 23:22:46  1194401
>>1194395
> Гугли dirent.h, там попроще работа с файлами
Зачем что-то гуглить, если давно есть стандарт для работы с файлами? Пусть изучает std::filesystem и не ебёт мозг. Полностью поддерживается в VS 2017 15.7 - последней (на данный момент) стабильной версии вижуал студии.
Аноним 21/05/18 Пнд 23:38:43  1194415
>>1194401
Да, ты прав
Я-то ему сишную библиотеку посоветовал, а про плюсовый filesystem не знал сам
Аноним 21/05/18 Пнд 23:50:18  1194425
>>1194401
>давно есть стандарт для работы с файлами
Так давно, что пиздец.
Сколько лет он есть? 30? 40? 50?
Аноним 21/05/18 Пнд 23:54:39  1194428
>>1194425
Год уже есть. Если бы это был жаваскрипт, то уже успело бы смениться двадцать фреймворком и три принципиально новых подходов к программированию.
Аноним 22/05/18 Втр 00:08:45  1194435
>>1194428
>Год уже есть.
https://www.iso.org/standard/68564.html ISO/IEC 14882:2017
Publication date : 2017-12
Аноним 22/05/18 Втр 09:58:04  1194542
Аноны, как проходят собеседования? У меня пиздец, почти паника, иду первый раз.
Что обычно спрашивают на что обращают внимание.
Аноним 22/05/18 Втр 13:10:56  1194647
>>1194542
Я не программист, но некоторые моменты скажу. Скорее всего там будет такой человек, который будет анализировать твоё поведение в обществе и коллективе. Не рассказывай ничего такого, что может тебя показать необщительным и зажатым человеком.
Аноним 22/05/18 Втр 13:20:49  1194658
>>1194647
Хорошо, попробую, спасибо за совет.
Аноним 22/05/18 Втр 13:25:16  1194665
>>1194647
>Я не программист
Что ты тут вообще делаешь?
Аноним 22/05/18 Втр 13:32:26  1194674
>>1194665
Собираюсь остановиться программистом конечно же.
Аноним 22/05/18 Втр 13:32:41  1194675
Пацаны, расскажите, если ваш байтострел такой охуенный, то зачем

UCLASS()
class AMyActor : public AActor
{
GENERATED_BODY()

public:
// Sets default values for this actor's properties
AMyActor();

// Called every frame
virtual void Tick( float DeltaSeconds ) override;

protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
};

А?
Аноним 22/05/18 Втр 13:33:44  1194676
>>1194674
>остановиться
Аноним 22/05/18 Втр 13:45:58  1194687
>>1194675
Что зачем?
Аноним 22/05/18 Втр 13:47:08  1194689
>>1194687
UCLASS()
GENERATED_BODY()
Аноним 22/05/18 Втр 13:48:51  1194694
>>1194689
Макросы
Аноним 22/05/18 Втр 19:04:35  1194937
>>1194675
>Пацаны, расскажите, если ваш байтострел такой охуенный, то зачем
Макросы? Это часть охуенного языка. В чём проблема?
Аноним 22/05/18 Втр 23:07:11  1195085
13824386516068.jpg (47Кб, 600x400)
Антоша, подкинь статью про наследование классов. Чтобы понятно было разжёвано. Я прост запутался у Липмана как то хуёво расписано, да и заебал он уже своей хуйнёй про ебучий ,блядь книжный магазин, со скидками. Пиздец ну зачем такую сука скучную хуйню выбирать для примеров. ISBN на хуй.
Приват там всякий протектед и ебля с друзьями.
Асло, не сумел на скомпилить некоторые либы на минГВ, прост компиляция обрывалась с ошибками и хуй его знает в чём дело. В итоге поставил пингвина порядком подизъёбся с ним недели две, но вся хуйня успешно работает. Насколько полезен вреден/линукс для изучения крестов и Си? Не впустую ли я трачу время читая мануалы?
Аноним 23/05/18 Срд 00:26:41  1195135
>>1195085
Ты впустую тратишь время изучая кресты
Аноним 23/05/18 Срд 00:33:18  1195136
>>1195085
Пердачую этого >>1195135
Причины аж две - во-первых перейди на язык с ООП, реализованным без киллер-фич вроде дружественных функций и множественного наследования, а во-вторых ты серьезно не осилил всю эту хуйню про ООП? Ну Лафоре штоле прочитай, у него есть книга про ООП. Хотя я когда на втором курсе шараги добрался до нее, мне было очевидно 90% хуйни что там написана, и 80% я умел написать руками сразу и набело.
Аноним 23/05/18 Срд 01:55:06  1195153
>>1195136 Липман прост материал подаёт оче последовательно и ни разу не использовал хоть какой нибудь графики для облегчения понимания. Я реально просто запутался, возвращаться к книге после перерыва сложно, там все примеры взаимосвязаны. И в довесок перевод не очень, функции класса вместо методов и прочие неприятные мелочи. Порой такая тавтология получается.

А чоу, френды и множественное наследования разве только на крестах есть? За наводку на Лафоре спасибо.
Аноним 23/05/18 Срд 11:20:14  1195257
Какая IDE имеет функцию форматирования кода? Лень самому следить за единством оформления кода.
Аноним 23/05/18 Срд 11:31:01  1195267
>>1195257
Попробуй cline
Аноним 23/05/18 Срд 12:39:59  1195314
>>1195257
Visual Studio (2017) Ctrl + K, Ctrl + D
Аноним 23/05/18 Срд 12:48:05  1195322
>>1195257
NetBeans.
Аноним 23/05/18 Срд 16:58:18  1195544
>>1195257
Наверное любая, потому что этим занимается не ide а посторонние инструменты - astyle, ckang formatter и так далее. К креатору точно подключаются
Аноним 23/05/18 Срд 17:20:52  1195569
>>1193613
Представь, идёшь ты по дороге, а впереди развилка с надписями. Направо - Москва, Налево - Москва. Тебе это введёт в заблуждение? Так вот, компилятор тоже охуеет.
Аноним 23/05/18 Срд 19:26:32  1195656
Надо за неделю написать курсач. Задание -
"Разработка информационно-поисковой системы «Деканат»
Для хранения информации использовать файл. Функционал программы:
1) добавление информации;
2) удаление информации;
3) редактирование информации;
4) поиск информации по заданным критериям."
При написании использовать классы и другую ООП хуйню.
Какие книжечки/статьи/сайтики покурить?
Аноним 23/05/18 Срд 19:33:20  1195661
>>1195656
LibXML кури.
По поводу классов — быстрее всего Трей Нэш, учебник по C# 2010 года.
Аноним 23/05/18 Срд 19:35:35  1195664
>>1195656
>за неделю написать
>C++
Ебу дал?
Аноним 23/05/18 Срд 19:37:21  1195665
>>1195664
Ну а хули делать
Аноним 23/05/18 Срд 19:41:08  1195670
>>1195661
Разреши вопрос, зачем читать книжечку по C#, если мне нужны плюсы?
Аноним 23/05/18 Срд 19:51:38  1195684
>>1195670
Разрешил.
Аноним 23/05/18 Срд 19:55:55  1195689
>>1195684
А ответишь?
Аноним 23/05/18 Срд 20:02:51  1195695
>>1195689
И ещё как!
Ты же спрашивал книгу по классам и ООП, а не по языку программирования. По языку — это нужен Стенли Липпман, но вот у него-то как раз совсем и не разобрано ООП, не хватило места, наверное. Тысяча страниц...
Аноним 23/05/18 Срд 20:06:49  1195696
>>1195656
> Функционал программы
А каким образом идут запросы-то? CLI? Или какой-нибудь rest-api?
Аноним 23/05/18 Срд 20:09:40  1195697
>>1195656
Тут нужна четырехслойная архитектура бизнес-приложения (уровень бизнеса, сценариев, интерфейсов и инфраструктуры). Описываешь сущности на уровне бизнеса, описываешь сценарии работы пользователя с сущностями на уровне сценариев, интерфейсы вызывают активность в твоем приложении, а в инфраструктуре хоронишь всякий убогий вырвиглазный низкоуровневый пиздец.
Аноним 23/05/18 Срд 20:10:16  1195699
>>1195696
Не ебу, что это
Аноним 23/05/18 Срд 20:11:27  1195700
>>1195697
Что за четырехслойная архитектура? Где почитать?
Аноним 23/05/18 Срд 20:12:03  1195702
>>1195699
CLI - консолька. rest - web-сервис (хотя можно сделать и на websocket если нужен пирформанс и получение событий от сервера без геморроя).
Аноним 23/05/18 Срд 20:12:52  1195704
>>1195700
https://habr.com/post/271157/

Это надо долго и внимательно раскуривать, разрабатывая свою архитектуру.
Аноним 23/05/18 Срд 20:15:19  1195705
>>1195702
Короче, насколько я понял, поху как это реализовано будет.
Аноним 23/05/18 Срд 20:19:04  1195706
>>1195704
Да ему это нахуй не нужно. Пусть создаст простые классы для хранения инфы (надеюсь хоть типы хранимых данных ему известны). Сделает реализацию сериализации/десериализации. В файл будут записываться классы.

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

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

Если типы данных неизвестны и могут меняться при работе программы, то только могу предложить сделать недо-документоориентированную БД, а данные хранить и получать от пользователя в виде JSON.
Аноним 23/05/18 Срд 20:26:57  1195712
>>1195706
Шот сложно пизда.
Нахуя я на программиста поступал?
Аноним 23/05/18 Срд 20:39:27  1195720
>>1195712
Ну, вариант с JSON не такой уж и сложный. Благо библиотек (в том числе header-only) дохуя. Можно сделать няшный CLI, вроде

create 15:{"name": "Хуй Петрович", "age": 43}
remove "@id"=15
remove "age" = 43
update 15:{"dick_size": 12}
delete "@id"=15

get "@id"=15

Для create или update синтаксис будет такой

(create|update) ID:JSON

обе функции возвращают id объекта или ошибку, если используется поле с именем "@id" (в нём программа хранить id и его использовать нельзя) или в случае create если объект с id уже существует.

remove, delete, get имеют схожий синтаксис. Можешь использовать элементарные логические операции + несколько встроенных функций. Например

get contains("name", "иван") && "age" > 34

возвратить все объекты имя которых содержит "иван" и возраст больше 34.
Аноним 23/05/18 Срд 20:46:16  1195727
>>1195720
Нихуя не стало понятнее, но все равно спасибо.
В пизду, перепоступать буду нахуй
Аноним 23/05/18 Срд 21:47:35  1195759
>>1195656
> Надо за неделю написать курсач. Задание -
> "Разработка информационно-поисковой системы «Деканат»
> Для хранения информации использовать файл. Функционал программы:
> 1) добавление информации;
> 2) удаление информации;
> 3) редактирование информации;
> 4) поиск информации по заданным критериям."
Блокнот что ли?
Аноним 23/05/18 Срд 22:21:48  1195787
>>1195656
Структуры, сортировка структур, хранение структур в списке, удаление из списка, поиск в списке по критериям, всё это обёрнутое в классы. Эта ебанина на любом С-языке пишется за час под пиво. Не слушай всех этих мудил которые пишут тебе хуйню и записывай подводящие задачи.
Решаешь эти задачи и приступаешь сразу к написанию своего курсачеговнокода, никакие статьи с книгами тебе не понадобятся.

Итак, задачи:
1) Объявить структуру с парой строк и парой чисел, спросить у пользователя число структур, создать массив структур заданной длины, заполнить его вводом с клавиатуры. Далее спросить у пользователя строку и пройтись по заполненному массиву. Если такая строка найдется в поле одной из структур (скажем поле string name), то вывести номер этой структуры и все ее поля.
2) Всё то же самое, только не массив структур, а список. Пользователь нон-стоп вводит поля структур (заполняет структуру-буфер, которую ты каждую итерацию присоединяешь к имеющемуся списку), а когда он вводит что-то вроде "$exit" - ты переходишь к поиску по строке, как в предыдущем задании.
3) Всё то же самое, только кроме вывода на экран найденной структуры ты ее удаляешь. Из списка.
4) Всё то же самое, только поиск по строке, вывод на экран и удаление - функции.
5) Всё то же самое, только деканат и список - классы, а вся хуйня которую они делают - методы, чтобы можно было сделать так:
db.fill();
db.removeByCriteria(db.findByCriteria());
и в этих двух строках в main умещался весь ход работы.

Не благодари.
2)
Аноним 24/05/18 Чтв 00:37:44  1195915
>>1195656
Пиши.
Аноним 24/05/18 Чтв 16:44:53  1196136
>>1191075
>>1194542
Меня взяли, держу в курсе.
Аноним 24/05/18 Чтв 19:18:01  1196214
Итак, я веб-макака, перекатился в этот ваш ДС2. Полгода тут работаю в модном/молодежном стартапе, по вечерам пишу хелоуворды на плюсах. Стартап мой вот вот испустит последний вздох, и надо бы уже искать что то новое, но сука, никто не хочет даже приглашать меня на собеседования. Что делать анонимас? Может попробовать поучавствовать в каком нибудь опесорсном гвонище, или попробовать наговнокодить что нибудь большое в качестве пет проекта. Думаю пару месяцев текущий работодатель еще протянет. Мне 29, нет вышки и разговорного английского, при этом хочу прогроммировать всякие сложные штуки типа распознования ихображений и нейронных сетей, что предпринять в такой ситуации?
Аноним 24/05/18 Чтв 19:19:28  1196215
>>1196214
И да, при этом на отклики по пхп/пайтон-макакингу сыпятся тонны приглашений, а на крестах хуй кто почесался. Хули то так сложно блять сюда вкатится?
Аноним 24/05/18 Чтв 20:38:19  1196256
>>1196214
> что предпринять в такой ситуации
Учиться этим вещам и делать полезные йобы.
Аноним 24/05/18 Чтв 21:46:53  1196318
>>1196214
А зачем оно тебе надо? Вакансий меньше, чем на вёб-макакинг. Зарплаты такие же или меньше. Если ты к 30 годам не смог в английский и образование, то видимо ты не очень умный и "сложные штуки" не для тебя.
Аноним 25/05/18 Птн 00:08:50  1196374
>>1193456
>>1196215
>>1194048
>>1193707

Вот мои посты:
>>1193587
>>1193635
>>1193639
>>1193641
>>1193646
>>1193652
>>1193657
>>1193662
>>1193665
>>1193668
>>1194020

Короче, вы поняли какой. И я устроился плюсоводом, лол. В понедельник на работу.
Аноним 25/05/18 Птн 00:26:39  1196379
>>1196374
Надеюсь ты не к нам устроился, лол.
Аноним 25/05/18 Птн 00:51:56  1196390
>>1196379
К вам.
Аноним 25/05/18 Птн 13:52:05  1196653
> О: Связанные с софтом вопросы обсуждаются в /s/. Исключение - IDE и прочие инструменты программирования, которые можно обсудить в тредах соответствующих языков.
Ладно, спрошу тут. Перекатился на линух, какой ИДЕ лучше будет? Под виндой юзал Dev C++, вот мне бы такое же, простое и с функционалом. Гуглил, да. Но мне интересен живой опыт, а не описания.
Аноним 25/05/18 Птн 16:57:36  1196757
>>1196653
Никакой, берешь любой текстовый редактор, прикручиваешь к нему плагин+подсветку на основе элементов установленного компилятора, и работаешь.
Перекат Аноним 25/05/18 Птн 17:58:51  1196792
https://2ch.hk/pr/res/1196791.html
https://2ch.hk/pr/res/1196791.html
https://2ch.hk/pr/res/1196791.html
https://2ch.hk/pr/res/1196791.html
Аноним 26/05/18 Суб 05:47:22  1197007
>>1196653
>>1196757
Говноедов полон тред. Текстовый редактор блять, линукс нахуй. Дали им вижуал студию, не хочу вижуал студию, хочу говно жрать. И это программисты, тьфу блять
Аноним 26/05/18 Суб 06:09:03  1197012
>>1197007
А нахуй нужна IDE в плюсах? Всё равно при использовании шаблонов большая часть фич IDE не работает.
Аноним 26/05/18 Суб 10:55:35  1197079
>>1196374
> я устроился плюсоводом, лол. В понедельник на работу.
Ну видишь, а ты переживал.
>>1192699-кун
Ебать я охуел съёмную хату искать, везде наёбсики.
Аноним 26/05/18 Суб 11:49:32  1197105
>>1197012
в laba1.cpp да, не нужна. В продакшене нужна.
Аноним 28/05/18 Пнд 12:41:06  1198228
Есть файл с псевдографикой, хочу написаиь конвертер в эксель. Так как там всякие ебучие таблички, т просто так не сохраняется. Есть готовые или интересные решения на плюсах?
Аноним 28/05/18 Пнд 13:41:48  1198254
>>1197007
Толсто.
Аноним 27/07/18 Птн 22:00:24  1236541
test


Топ тредов
Избранное