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


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

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

C++ тред #102 /cpp/ Аноним # OP 18/01/20 Суб 20:15:04 15767371
C++.jpg (5Кб, 222x250)
222x250
C++20.png (27Кб, 862x433)
862x433
bjarne.png (291Кб, 500x808)
500x808
msvc.jpg (30Кб, 760x428)
760x428
Аноним # OP 18/01/20 Суб 20:15:35 15767402
Аноним 18/01/20 Суб 21:10:38 15768113
Первый итт
Аноним 18/01/20 Суб 21:22:02 15768204
>>1576740
В Align Technology годно работать?
Аноним 18/01/20 Суб 21:22:53 15768225
image.png (30Кб, 581x242)
581x242
image.png (3Кб, 545x40)
545x40
Я что даун?
Почему неправильно сравнивает?
Аноним 18/01/20 Суб 21:25:53 15768246
image.png (12Кб, 731x38)
731x38
>>1576822
Входные данные
Из этих строк нужно найти самую большую длину
Почему при сравнении -2147483647< a1.length() (4 на первой итерации) результат false, если -2147483647 < 4?
Аноним 18/01/20 Суб 21:26:29 15768257
>>1576820
Есть пара знакомых оттуда, говорят что вполне неплохо. Я бы сам даже на митапчик сьездил на офис посмотреть, только дико лень пердолить в эти чертановские перди.
Аноним 18/01/20 Суб 21:31:50 15768358
>>1576825
Добавлю, что знакомого мидлом туда недавно взяли, дали 200к. Не так плохо.
Аноним 18/01/20 Суб 21:32:32 15768379
>>1576824
>результат false, если -2147483647 < 4?
Енжой йор АНСИГНЕД.
Аноним 18/01/20 Суб 21:33:59 157683910
>>1576835
О, а давайте за зп потрем. Че там у нас по кресторынку труда в родном отечестве?
Аноним 18/01/20 Суб 21:34:16 157684011
>>1576839
Лучше нвидии ничего нету, ты же сам знаешь
Аноним 18/01/20 Суб 21:35:29 157684112
>>1576840
Неужели больше 200к мидл из нвидии имеет?
Аноним 18/01/20 Суб 21:36:37 157684413
>>1576841
Сениор 300+ имеет изи. Мидлов не хайрили вообще.
Аноним 18/01/20 Суб 21:37:25 157684514
>>1576837
Лол, не знал, что size_t не может в сравнение с int без явного преобразования, спасибо
Аноним 18/01/20 Суб 21:47:36 157685415
Сап, программач, студент 3 курса, нормально понимаю учебную программу, хотелось бы порешать какие-нибудь задачи и получить новые знания в принципе?
Что посоветуете?
Искал книги, большинство - дроч алгоритмов или основы
Аноним 18/01/20 Суб 21:51:28 157686116
>>1576854
Сделай простую игру, платформер или лабиринт. Потрогаешь сразу много областей, что-то про ui и графику, что-то про многопоточность, про общую архитектуру более-менее громоздкой программы. Если ещё и сетку прикрутишь с компенсацией пинга и чтобы без десинхронов было - это уже вообще круто. Можно простейший интеллект для мобов или компьютерных противников поделать, там все эти алгоритмы на графах на деле могут пригодиться.
Аноним 18/01/20 Суб 21:53:27 157686617
>>1576861
Хорошо, а как начать?
Может, есть какой-нибудь материал, который расскажет, в какой последовательности все делать и хотя бы примерная реализация?
Аноним 18/01/20 Суб 22:05:53 157689718
>>1576866
Платформер или лабиринт в окно кстати - плохие жанры. Лучше top-down шутер, наверное.

Ну, смотря что тебе интереснее. Можно вывести квадрат через opengl и прикрутить чтобы по нажатию клавиш он двигался - тут просто рандомный hello world для opengl нужно загуглить, прикрутить туда таймер отсчитывающий время и на него завязать игровую логику, добавить квадрат который будет двигаться вокруг тебя, потом добавить чтобы по нажатию клавиши ты стрелял, и при попадании снаряда по вражескому квадрату у него уменьшалось хп. По крайне мере я так делал и более чем доволен.
При этом каким образом ты организуешь все игровые объекты и игровую логику только от тебя зависит - можно прибить гвоздями кучу костылей, можно сделать громадную полиморфную ооп мусорку где все объекты наследуются друг от друга. А если подразумеваются разные уровни и карты, где можно из одного состояние в другое перескакивать то тут ещё больше вариантов как это переключается, пространство для творчества безграничное.
Аноним 18/01/20 Суб 22:08:09 157690319
Аноним 18/01/20 Суб 22:12:12 157691720
>>1576903
Сам посмотри только, может быть совет говно полное и тебе не зайдёт, и вообще тебя другие области интересуют, какая-нибудь обработка и анализ тестовой и другой информации.
Аноним 18/01/20 Суб 22:12:17 157691821
>>1576897
>Платформер или лабиринт в окно кстати - плохие жанры
С чего бы?
Аноним 18/01/20 Суб 22:26:42 157694522
>>1576918
Уныло, нет никакой сложной иерархии объектов и упирается просто в проверку пересечения линий. Лабиринт это вовсе лишь форма уровня. В top-down шутере можно сделать отряды мобов, состоящие из отдельных юнитов, которые пытаются тебя окружить что уже в бесконечность раз интереснее любого платформера. И top-down шутер можно переделать в стратегию со строительством и сложными иерархиями объектов или в гонки с видом сверху не сильно модифицируя логику пространства. А из платформера ничего особо большего чем платформер не сделаешь.
Аноним 18/01/20 Суб 22:28:33 157694723
>>1576861
Он не сможет написать игру без знания паттернов.

>>1576854
Либу напиши какую-нибудь, логгер например. Свой аллокатор со свистелками и перделками. Вот в таком духе таски выбирай.
Аноним 18/01/20 Суб 23:48:47 157710924
>>1576945
>А из платформера ничего особо большего чем платформер не сделаешь.
Нелинейный платформер с процедурной генерацией уровней и динамической сложностью врагов, например, мне кажется очень хорошим вариантом, особенно для начала.
Аноним 19/01/20 Вск 00:05:57 157713225
>>1576947
Ему не нужны паттерны. И паттерны не требуют отдельного изучения - часть из них интуитивно очевидная и он напишет их сам собой, другая часть - костыли, которые нужно чтобы притянуть ооп или ещё что-то туда, где оно не нужно и лишь усложняет код. Вдвойне бесполезная штука, если он пишет код один, а не с кем-то, где нужно понимать друг-друга и говорить на общем языке.
Прочитать книжку про паттерны и взять-опробовать нужные можно за несколько часов.
Ему и не нужно написать игру - ему нужно её пописать, чтобы попробовать что-то новое и научиться чему-то.

>>1577109
Я просто хейтер платформеров.
Аноним 19/01/20 Вск 00:14:22 157714326
вопрос чиста теоретический. если я в крестах выделяю память под какой нибудь массив примитивного типа через new[], могу ли я, передав указатель и размер массива в шарп например крестовая функция в .dll через pinvoke возвращает структуру с этими данными, в шарпе вызвать через pinvoke VirtualFree на полученный указатель? Или что нибудь наебнется и распидорасится?
Аноним 19/01/20 Вск 00:15:42 157714527
>>1577143
Оператор new не обязан на каждый твой чих вызывать VirtualAlloc. Он может делать вообще все, что считает нужным, пока это конфермит стандарту. Соответственно - UB
Аноним 19/01/20 Вск 00:17:09 157714628
>>1577145
понял принял, спасибо
Аноним 19/01/20 Вск 01:00:11 157717129
>>1577132
Они всем нужны. Кури матчасть.
Аноним 19/01/20 Вск 03:10:47 157721630
>>1577132
Удваиваю насчет паттернов. Написать какую-нибудь фабрику можно и без знания, что такое фабрика. Ты её в любом случае напишешь, когда тебе надо будет создавать нужный тип монстра в зависимости от того, какая строка написана в конфиге уровня. Ты просто не будешь знать, что она так называется.
Аноним 19/01/20 Вск 16:22:43 157766231
Насколько стрёмно делать visitor friend'ом класса, к которому он будет применяться?
19/01/20 Вск 17:12:26 157770132
>>1577216
Конкретно то что ты написал это вообще не про фабрику.
Аноним 19/01/20 Вск 19:13:43 157781933
image.png (52Кб, 678x706)
678x706
Сап, кто может пояснить почему эта хуйня отказывается компилится? Я понимаю, что нельзя underlying_type использовать не на енумы, но там же блять стоит if constexpr, т.е. не емуны туда вообще не могут попасть и компилятор тупо должен пропустить этот кусок кода.
Мне эта хуйня нужна для генерации метаданных, все это будет завернуто в макрос
Аноним 19/01/20 Вск 19:55:04 157785434
>>1577819
попробуй decay_t перед is_enum_v
Аноним 19/01/20 Вск 20:48:35 157792435
Аноним 19/01/20 Вск 23:00:29 157808836
>>1577819
>Сап, кто может пояснить почему эта хуйня отказывается компилится?
[temp.res]/8, 100 раз обсасывали на SO

The program is ill-formed, no diagnostic required, if: no valid specialization can be generated for a template or a substatement of a constexpr if statement within a template and the template is not instantiated
Аноним 20/01/20 Пнд 03:03:17 157821637
>>1577701
Конкретно то, что я написал, это вообще-то про фабрику.
huidgi 20/01/20 Пнд 19:04:07 157886638
/postcount
Аноним 20/01/20 Пнд 19:05:53 157886939
>>1578866
Что, не работает, да?))0))0))
Аноним 20/01/20 Пнд 19:22:23 157888740
>>1578869
Я программист, меня просто так не наебать
Аноним 20/01/20 Пнд 19:29:52 157889241
>>1578887
Я двач, это погромист, меня не обманеш
Аноним 20/01/20 Пнд 20:40:06 157895442
Сап программач. Насколько норм делать visitor friend'ом класса, к которому этот visitor применяется?
Аноним 20/01/20 Пнд 21:07:48 157897043
Как сделать так чтобы в переменную char *str ввести несколько слов(последовательность символов вместе с пробелами)? Обычный cin >> считывает только одно слово.
Аноним 20/01/20 Пнд 21:11:11 157897444
Аноним 20/01/20 Пнд 21:11:26 157897545
>>1554724
Упоминание эффекта Даннинга-Крюгера выявляет находящихся под ним ещё надёжнее.
А всё потому, что впоследствии оказалось, что сами учёные подошли к исследованиям спустя рукава и впоследствии их исследование было пересмотрено и подвергнуто критике.
https://scholarcommons.usf.edu/numeracy/vol9/iss1/art4/
И это я пихаю каждому, кто в окружающих видит тупых дилетантов, но сам-то, конечно, никакой не тупой и не дилетант. Настолько не тупой, что даже не удосуживается почитать про баззворд, который использует.
Аноним 20/01/20 Пнд 21:20:24 157898346
В классе есть protected поле
std::vector<double> > content;
и перегрузка оператора []
std::vector<double> & operator (const unsigned long &i) const {
return &(content);
}

В чём ошибка?

Такое мне пишет IDE, но я её непонел
Non-const lvalue reference to type 'std::vector<double>' cannot bind to a temporary of type 'const __gnu_cxx::__alloc_traits<std::allocator<std::vector<double, std::allocator<double> > >, std::vector<double, std::allocator<double> > >::value_type ' (aka 'const std::vector<double, std::allocator<double> > ')
Аноним 20/01/20 Пнд 21:21:11 157898447
Снимок экрана 2[...].png (200Кб, 1226x553)
1226x553
>>1578974
вот что компилятор выдает
Аноним 20/01/20 Пнд 21:23:00 157898648
>>1578983
std::vector< std::vector<double> >
Аноним 20/01/20 Пнд 21:25:16 157898849
>>1578974
Насколько я понял ему нужен второй аргумент - кол-во вводимых символов. Но что если я хочу большой текст вставить? Типа 5000 символов. Много ли памяти это будет занимать?
Аноним 20/01/20 Пнд 21:29:59 157899250
>>1578988
5000 байт же.
Есть более удобный вариант:
std::string s;
std::getline(std::cin, s);
Аноним 20/01/20 Пнд 21:30:56 157899351
>>1578992
Ну, точнее не 5000, там не всё так просто. Но не мегабайт уж точно.
Аноним 20/01/20 Пнд 21:59:45 157903252
Аноним 20/01/20 Пнд 22:11:44 157904453
>>1578983
Ты либо метод делай не const, либо возвращай const &, либо вектор свой делай mutable
Аноним 20/01/20 Пнд 23:39:52 157910654
>>1578954
Не очень. Фактически, с помощью visitor'а ты расширяешь функциональность уже существующей иерархии классов, у которой один из методов принимает аргумент типа visitor. Эта иерархия может быть в какой-нибудь библиотеке, которую ты не можешь изменять, постоянно создавая новые visitor'ы и делая их там френдами
Аноним 20/01/20 Пнд 23:41:33 157910855
с
Аноним 20/01/20 Пнд 23:56:25 157911556
>>1578954
Делай лучше double dispatch, на cppcon осенью был доклад
Аноним 21/01/20 Втр 04:42:37 157918857
error.jpg (202Кб, 1629x637)
1629x637
error2.jpg (64Кб, 816x273)
816x273
Аноны, хелп. Разбираю игрушку на unity dnSpay-ем. Как профиксить данную ошибку (пик1)? Пик 2 соответственно тоже такая же ошибка.
Этот прокрутка по чату на последнее сообщение.
Аноним 21/01/20 Втр 04:51:01 157919158
>>1579188
Бля, не в тот тред написал. Надо было в С#
Аноним 21/01/20 Втр 09:05:33 157923159
В c++ нельзя использовать объект класса с недефолтным конструктором в качестве глобальной переменной другого класса? Как бы я не пытался ее инициализировать, ничего не выходит.
Аноним 21/01/20 Втр 09:25:30 157923760
Аноним 21/01/20 Втр 10:12:41 157926761
>>1579231
>глобальной
Статической что-ли?
class class1
{
static inline class2{parameters...};
}
Аноним 21/01/20 Втр 11:07:13 157931362
>>1579267
Имя переменной забыл
>static inline class2 c2{parameters...};
Аноним 21/01/20 Втр 16:44:18 157957363
Есть ли для плюсов IDE, которая может организовывать заголовки так же просто, как Eclipse?
Аноним 21/01/20 Втр 18:22:18 157963064
>>1579573
А как делает эклипс?
Аноним 21/01/20 Втр 18:48:29 157964965
Аноним 21/01/20 Втр 19:56:20 157969966
Сообщество заблокировано за размещение материалов, оправдывающих совершение суицида.
Аноним 21/01/20 Втр 20:12:37 157972367
>>1579699
Социальный дарвинизм рулит!
Аноним 21/01/20 Втр 20:15:14 157972668
>>1579699
таки кто то выстрелил себе в ногу ирл
Аноним 21/01/20 Втр 20:52:59 157979069
>>1579699
>заблокировано за размещение материалов, оправдывающих совершение суицида
Кто-то туда закинул стандарт плюсов?
Аноним 21/01/20 Втр 21:06:49 157981470
Двощ, кто-нибудь пользовался такой штукой - onedev.io ?
Аноним 21/01/20 Втр 22:15:11 157998671
>>1579699
блядь, не то спастил, но суть та же
помогите, пожалуйста, с задачкой по плюсам. буду очень благодарен. Завтра сдавать надо, не понимаю как сделать + не успеваю
Задан массив структур «Покупатель» (фамилия покупателя;
имя; номер карты; наименование товара; стоимость покупки).
Вывести на экран сведения о покупателях и суммарной
стоимости покупок в порядке возрастания суммы.
буду очень признателен, аноны
Аноним 21/01/20 Втр 23:11:03 158010972
>>1579790
Нет, кто-то написал
delete this;
Аноним 21/01/20 Втр 23:41:49 158016573
Короче, платина.
Насколько сильно нужно углубляться в кресты, чтобы смочь в UE4? с детства мечтал делать игори, но сделал только танчики на pygame :(
Я не полный нюфаг, сейчас работают бэкэнд макакой на пистоне. В вебе чувствую себя комфортно, но дико боюсь крестов, потому что есть явные пробелы в CS.
Нужны ли какие входные данные, или тупым не дано? Может SICP какой прочитать еще раз попробовать? Или уже неактуально? Может какие то конкретные области математики подтянуть? Есть тут увлекающиеся этим дерьмом?

В /gd/ не отправляйте плз, там шиз на шизе.
Аноним 21/01/20 Втр 23:55:25 158017874
>>1580165
Открою тебе тайну - тебе С++ нахуй не нужен. Почти все можно нашлепать на блюпринтах. Современные игры как бы вообще к программированию мало отношения имеют, если делать на готовом движке.

Сам пилил по работе небольшую демку на UE4, обошелся только блюпринтами, все мои сениорские крестоскиллы не пригодились вообще.
Аноним 21/01/20 Втр 23:58:40 158018275
>>1580165
В УЕче от крестов только название.
Берёш туториал по уечу, делоеш. Гуглишь непонятные слова.
Аноним 22/01/20 Срд 00:01:24 158018576
>>1579986
Угу, спрашивай сколько угодно такие вопросы, тред же именно для них и предназначен. Удачи тебе разобраться в этом :3
https://ideone.com/g2t3Nd
>Вывести на экран сведения о покупателях и суммарной
стоимости покупок в порядке возрастания суммы.
Может быть в порядке возрастания стоимостей покупки? Не очень понятное условие. Ну, там два варианта, надеюсь тебе нужен второй.
Аноним 22/01/20 Срд 07:36:30 158032777
image.png (13Кб, 489x315)
489x315
Собственно вопрос, что не так?
Аноним 22/01/20 Срд 07:42:49 158033478
>>1580327
Ты бы хоть написал, что компилятор пишет.
Аноним 22/01/20 Срд 07:45:14 158033779
image.png (13Кб, 699x157)
699x157
Аноним 22/01/20 Срд 07:46:20 158033980
image.png (3Кб, 380x70)
380x70
Аноним 22/01/20 Срд 10:01:23 158044281
>>1580185
спасибо, анончик
а что ты делаешь на 82 строке?
Аноним 22/01/20 Срд 11:20:50 158047182
>>1580327
Влом проверять, но скорее всего boost::asio::io_context не копируемый. А std::thread копирует аргументы.
Аноним 22/01/20 Срд 11:47:33 158049383
Анон, хочу в качестве параметра шаблона передать enum. В зависимости от этого enum будут определены разные типы внутри класса, типа

enum class Type {type1, type2};
template<Type TP>
struct Foo{
using A = TP == type1 ? int : double;
using B = TP == type1 ? Some1 : Some2;
}

Мне кажется, что задачка типовая, но мое решение какое-то сложное и не красивое, предполагает (я еще не сделал) std::conditional.
Как сделать правильно и красиво?
Аноним 22/01/20 Срд 11:55:57 158050384
>>1580493
ты все правильно делаешь, и std::conditional это верно
Аноним 22/01/20 Срд 15:19:37 158073085
>>1580442
Записываю в bb соответствие имени-карточки и стоимости покупок - добавляю новое имя или (если такое имя-карточка уже есть) то добавляю к суммарной стоимости покупок стоимость этой.
Аноним 22/01/20 Срд 16:14:35 158080986
>>1579630
Он может проверять исходник и добавлять заголовки классов и прочего, если нужно, или удаляет их, если они лишние.
Аноним 22/01/20 Срд 17:44:31 158087887
>>1580809
Добавлять автоматом умеет решарпер под студией, про убирать не уверен, наверное только выделяет что не используется.
Аноним 22/01/20 Срд 19:35:14 158093288
class Matrix{
publuc:
friend Matrix loadFromFile (std::fstream &file);
};

Matrix loadFromFile (std::fstream &file){
//...
}

int main{
std::fstream inpBin("inpBin", std::ios::binary);
std::fstream inpTxt("inpTxt");

Matrix bin = loadFromFile(inpBin);
Matrix txt = loadFromFile(inpTxt);
//...
}

error: ‘loadFromFile’ was not declared in this scope
Matrix bin = loadFromFile(inpBin);

Я вообще не подрубаю, в чём проблема, причём он тригеррится только на первом вызове loadFromFile. g++
Аноним 22/01/20 Срд 19:47:44 158093989
Сап, программисты. Поясните за физическое представление файла. Если все файлы это последовательность 0 и 1, то я могу создать программу, которая выдает все возможные последовательности, состоящие из 0 и 1 (да, я знаю, что это как с числами Фиббоначи, даже все последовательности из 64 битов будут генерироваться очень долго, но мы идеализируем), то будут ли среди этих файлов существующие? Т.е можно ли перебором сгенерировать песню Фейса, или картину звездная ночь, к примеру?
Аноним 22/01/20 Срд 19:55:17 158094890
>>1580939
да, но ты скорее сдохнешь, чем что-то получишь
Аноним 22/01/20 Срд 19:58:32 158095091
>>1580939
Погугли вавилонскую библиотеку, тебе понравится.
Аноним 22/01/20 Срд 19:59:51 158095192
>>1580939
уже есть такая хуёвина. гугли library of babel
Аноним 22/01/20 Срд 20:06:41 158095393
>>1580878
В cleanup можно добавить
Аноним 22/01/20 Срд 20:07:28 158095494
Аноним 22/01/20 Срд 20:15:45 158095995
>>1580948
>>1580950
>>1580951
>>1580953
Спасибо за ответы, не давало покоя эта мысль
Наверное, в результате таких генерации немало криповых файлов может быть создано
Аноним 22/01/20 Срд 20:17:55 158096296
>>1580959
Людей посмотревших сойдут с ума.
Аноним 22/01/20 Срд 20:27:55 158096797
>>1580932
Закоментил эту строку - теперь он ругается на следующую.
Аноним 22/01/20 Срд 21:10:45 158098698
>>1580932
>Matrix::loadFromFile
Если не инлайновая, по идее так надо функции реализовывать.
Аноним 22/01/20 Срд 21:16:15 158099499
>>1580986
error: no declaration matches ‘Matrix Matrix::loadFromFile(std::fstream&)’

Там friend
Аноним 22/01/20 Срд 21:24:44 1581006100
>>1580932
Долбоёбина, код на pastebin закинь
Аноним 22/01/20 Срд 21:46:58 1581029101
Аноним 22/01/20 Срд 22:08:07 1581058102
>>1581029
> const unsigned long& n
Чёт обзмеился
Аноним 22/01/20 Срд 22:14:07 1581060103
>>1581058
Расскажи, позмеюсь с тобой
Аноним 22/01/20 Срд 22:20:25 1581063104
>>1581060
Ну, во-первых size_t, во-вторых по значению
22/01/20 Срд 23:06:22 1581119105
>>1581058
Двачну, пиздец какой-то. Студенты обезумели.
Аноним 22/01/20 Срд 23:21:14 1581133106
>>1581119
> void stringToVector(std::string line
Да почему, чел очень даже шарит
Аноним 22/01/20 Срд 23:25:03 1581135107
>>1581063
Почему именно size_t и почему именно по значению? Ссылку я использую, чтобы не выделять память под unsigned long при вызове функции, unsigned long чтобы наверняка не выйти за пределы инта, не вижу проблем в этих решениях.
Аноним 22/01/20 Срд 23:26:06 1581137108
22/01/20 Срд 23:28:40 1581140109
>>1581135
Ты дурак, только честно? 1 курс прогуливал? Ссылка бесплатная у тебя? Она тоже память кушает, если что. Зато строку по значению передал, молодец. Садись, два.
Аноним 22/01/20 Срд 23:29:34 1581141110
>>1581135
>чтобы не выделять память под unsigned long при вызове функции
А какой размер у указателя, которым будет представляться ссылка? Какова потеря скорости из-за обращения к памяти (пусть даже к L1) вместо регистра? Ты смотрел как микроопы на порты скедьюлятся?
Аноним 22/01/20 Срд 23:34:26 1581148111
Аноним 23/01/20 Чтв 00:27:49 1581176112
>>1581135
https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B5#cdecl
Ссылка - довольно дорогая операция разыменовывания (а ещё она занимает по меньшей мере 8 байт, когда unsigned long всего 4). Передача по значению - у тебя просто через регистр без каких-либо выделений и даже обращений к памяти пробрасывается значение.
Аноним 23/01/20 Чтв 00:33:25 1581178113
Даже в core guidelines пишут, что объекты размером два-три машинных слова проще копировать
Аноним 23/01/20 Чтв 02:03:20 1581200114
>>1581178
Все гораздо проще, если объект превышает размер регистра, то он должен передаваться по ссылке.
Аноним 23/01/20 Чтв 02:04:02 1581201115
>>1581148
Алсо, в С++ 17 завезли string_view.
Аноним 23/01/20 Чтв 10:02:56 1581308116
Аноним 23/01/20 Чтв 10:34:05 1581323117
>>1581140
>>1581141
>>1581176
Ясно, спасибо

А что, собственно, по error: ‘loadFromFile’ was not declared in this scope?
Аноним 23/01/20 Чтв 10:40:24 1581327118
>>1581323
И нормально, что я пишу const у всех аргументов, которые не будут меняться в теле функции?
Аноним 23/01/20 Чтв 10:59:34 1581337119
>>1581327
Хз, мне например глаза режет, когда метод не помещается на экран 120 символов из-за const для примитивных типов.
Аноним 23/01/20 Чтв 12:04:09 1581382120
>>1581327
я так делал, потом осознал, насколько же это ебанизм, и перестал
Аноним 23/01/20 Чтв 12:09:32 1581387121
Аноним 23/01/20 Чтв 12:16:51 1581395122
Лол, да const писать в простом коде это вообще какая-то лажа. Конст, с учётом того, как он работает в js, вообще не нужен.
Аноним 23/01/20 Чтв 12:19:18 1581398123
Или вы не про js? В любом случае, мне сложно припомнить оправданное использование const где бы то ни было. Это слово больше сигнал для разраба, мол, тут у нас хранится какое-то значение, неизменное и пользуемое акросс всего приложения.
Аноним 23/01/20 Чтв 12:33:12 1581415124
>>1581387
Много времени на расстановку констов, много времени на поддержку, чтобы теперь везде так было, даже на небе и даже у аллаха.
Аноним 23/01/20 Чтв 12:55:51 1581435125
>>1581337
Переносить строки не пробовал?
Аноним 23/01/20 Чтв 13:22:27 1581453126
>>1581398
>вы не про js?
Здравствуйте, это С++ тред? А вы знаете, в жс конст не нужен!
Аноним 23/01/20 Чтв 13:27:18 1581459127
>>1581453
тредом ошибся, они тут рядом
Аноним 23/01/20 Чтв 14:49:32 1581531128
Перегрузил std::ostream& operator<< (std::ostream& out, Matrix &matrix)

Matrix sample1 (3, 3);
//...
std::cout << sample1;
Работает, а
std::cout << sample1.transpose();
выдаёт ошибку error: no match for ‘operator<<’ (operand types are ‘std::ostream’ {aka ‘std::basic_ostream<char>’} and ‘Matrix’)

Если сделать так
Matrix transposed = sample1.transpose();
std::cout << transposed;
то всё ок

Matrix Matrix::transpose ();

gcc ёбнулся или я?
Аноним 23/01/20 Чтв 14:55:43 1581536129
>>1581531
Могу быть не прав год не кодил на плюсах, но у тебя оператор ссылку на матрицу принимает, а ты пытаешься ему саму матрицу скормить, может по этому ругается.
Аноним 23/01/20 Чтв 15:06:50 1581552130
>>1581536
У меня появилось предположение, что это потому что объект, возвразённый transpose(), не пожет быть преобразован в ссылку, потому что никуда не сохранён или что-то типа того.
Походу, придётся реал сделать второй аргумент без ссылки
Аноним 23/01/20 Чтв 15:10:41 1581557131
>>1581552
Если объект существует и доступен для кода - то у него есть ссылка. Попробуй так &(sample1.transpose()).
Аноним 23/01/20 Чтв 15:12:31 1581558132
>>1581557
error: taking address of temporary [-fpermissive]
Аноним 23/01/20 Чтв 15:13:51 1581561133
>>1581558
> error: taking address of temporary [-fpermissive]
Ну значит пихай в переменную :)
Аноним 23/01/20 Чтв 15:17:49 1581565134
Просто transpose() возвращает по значению, а не по ссылке. Можешь свою функцию/метрд замутить, которая будет принимать матрицу и возвращать ссылку на результат уже с transpose() если не хочешь захламлять кол объявлениями переменных.
Аноним 23/01/20 Чтв 15:18:32 1581566135
>>1581565
функцию/метод
быстрофикс
Аноним 23/01/20 Чтв 16:34:32 1581638136
>>1581531
decl_type(sample1.transpose()) что возвращает?
Аноним 23/01/20 Чтв 18:30:26 1581725137
Аноним 23/01/20 Чтв 18:46:15 1581734138
>>1581435
Тогда не режет, но глаза в разные стороны косятся.
Аноним 23/01/20 Чтв 18:58:37 1581746139
>>1581734
Думаю проблема в количестве параметров, а не конст.
Аноним 23/01/20 Чтв 23:28:11 1581931140
>>1581308
Это стандарт ассемблера и он полностью применим к плюсам.
Аноним 23/01/20 Чтв 23:46:20 1581940141
Анон, очень важный вопрос. Хочу в программу добавить векторизируемые участки, и два пути:
1. Использовать openmp, но он не из стандарта нихуя
2. Использовать c++17, но это будет единственная фича 17, сейчас все на 11 и потенциальна миграция библиотеки на хуевый компилятор на Эльбрус.
Как быть, анон? Совершенно не хочется городить чехарду из #ifndef и условной компиляцией
Аноним 23/01/20 Чтв 23:54:07 1581945142
Не понимаю такой момент. Мне приходится часто делать парсинг байт ориентированных массивов. Самый топовый способ на си - описать структурку и прикастовать через void*. Прекрасно и быстро, все довольны.
А в реалиях крестов начинается параша - структуры приходится выравнивать через #pragma pack(push, 1), чтобы в памяти были выровнены по байту, причем что-то стандартное типа alignas(1) работать не будет, так как он только на повышение порядка. Почему так нахуй? Как удобно парсить сериализованное говно? Переписывать оператор << заебисто просто пиздец
Аноним 24/01/20 Птн 00:36:01 1581976143
>>1581940
Руками векторизируй компиляторными интрисиками

Аноним 24/01/20 Птн 01:22:10 1581990144
>>1581945
Пример покажи, у меня таких проблем не возникало.
Аноним 24/01/20 Птн 07:12:27 1582023145
>>1581990
struct P {
uint8_t a;
int32_t b;
};

#pragma pack(push, 1)
struct PA {
uint8_t a;
int32_t b;
};
#pragma pack(pop)

void main(){
sizeof(A); //8 бай
sizeof(PA); // 5 байт

// Всё ради протокола, первый байт имеет значение 3, второй инт - 5
// блин ендиан, забьем на Литл
char buf[5] = {3, 0, 0, 0, 5};
A a = reinterpret_cast<A>(buf); // хуй
PA pa = reinterpret_cast<PA>(buf); // нормас
}
Аноним 24/01/20 Птн 07:48:09 1582030146
Аноним 24/01/20 Птн 08:00:27 1582032147
>>1582023>>1581945
>Прекрасно и быстро, все довольны.
Не понял, первая структура в си вроде бы тоже имеет размер в 8 байт.
Расскажи поподробнее, как это выглядит в си? Я попробовал различным образом "прикастовать через void*", но не нашёл никакого способа, которым си может прикастовать 5 байт структуре размером в 8 байт.
Аноним 24/01/20 Птн 08:36:09 1582043148
>>1581945
Зачем ты на крестах пытаешься повторить си? Очередной борец с ООП?
Мы в таких случаях делаем стандартные структуры (не struct, а в плане организации данных) объектов-значений, которые сами рассчитывают свое положение в массиве, знают кто они, флоат там или битовое поле, пишут/возвращают значения.
Их можно создавать динамически, грузить из конфигурационных файлов, автоматом делать из них модели и интерфейсы.
А твои структуры - не пришей к пизде рукав, автоматизировать работу с ними можно только внешними парсерами, я такое делаю только если надо с сишечкой контактировать.
Аноним 24/01/20 Птн 08:36:48 1582044149
>>1582032
Честно говоря, я не помню, нужно ли писать директиву #pragma pack в Си. В си есть плюс каста только в том, что не нужно писать приведение типов типа reinterp_cast или static_cast<void>
https://ideone.com/o7prBL сишный пример
И вообще, https://habr.com/ru/post/142662/
Аноним 24/01/20 Птн 08:36:58 1582045150
>>1581945
>Как удобно парсить сериализованное говно?
Вылокой и каждый байт чисти чисти чисти вот так, если не хочешь внезапно соснуть эндиану когда привезут сервачок от IBM.
Аноним 24/01/20 Птн 08:47:17 1582052151
>>1581945
>структуры приходится выравнивать через #pragma pack(push, 1), чтобы в памяти были выровнены по байту
Стоп, но в сях же то же самое
Аноним 24/01/20 Птн 09:11:38 1582064152
>>1581945
А, я еще видел код наших железячников-сишников, они тоже распаковывают входные массивы данных тоже каким то подобием объектов из смеси struct ов и указателей, которые создают в динамике.
>>1582043 й
Аноним 24/01/20 Птн 15:17:37 1582277153
>>1582044
>нужно ли писать директиву #pragma pack в Си
Ну, она работает - с ней размер 5 байт, без неё размер 8 байт. Никаким других очевидных способов без директив сделать структуру на 5 байт с переменной с 4-байтовым выравниванием я не нашёл.
>reinterp_cast
Можно и в с++ же не писать оставив сишное преобразование.


Аноним 24/01/20 Птн 16:21:22 1582323154
>>1581945
> Как удобно парсить сериализованное говно?
Спец. либами.
Аноним 24/01/20 Птн 18:19:56 1582413155
Ананасы, есть ли в гцц предупреждение о том, что при наследовании я явно не написал public\private\protected?
Аноним 24/01/20 Птн 20:01:39 1582463156
>>1582413
Я думаю можно самому написать плагин к clang-tidy, если не найдётся.
Аноним 24/01/20 Птн 20:21:40 1582475157
Нетривиальный вопрос. Начал писать обертки для managed языков над нативными либами. И столкнулся с одной проблемой. Если в винде все с зависимостями решаются установкой необходимой версии Visual C++. То под линухом идет зависимость от libstdc++ и libcxxabi и libc, версий которых сотни. При этом версии совместимости ABI переваливает за два десятка. Хотелось бы решение без sudo apt get install для разработчиков, которые юзают конечную библиотеку. Есть ли вариант хранить все зависисимости в одной директории и грузить их вручную dlopen с относительным путем и флагом RTLD_GLOBAL? Не рушиться ли в этом случае совместимость этих библиотек с версией ядра Linux?
24/01/20 Птн 21:21:13 1582495158
>>1582475
> Есть ли вариант хранить все зависисимости в одной директории и грузить их вручную
Так даже на винде делают.
Аноним 25/01/20 Суб 21:53:23 1583019159
Что думаете за конан? Используете?
Аноним 25/01/20 Суб 21:57:17 1583024160
>>1582475
контейнеризируй енвайромент, будь мужиком.
какие нахуй директории?
госполдь дал вам fedora silverblue, но нет, хотим ебаться
Аноним 25/01/20 Суб 22:09:42 1583029161
>>1583019
Conan для быдла.
Нормальные люди используют vcpkg
Аноним 25/01/20 Суб 22:11:47 1583032162
>>1583029
Так там же версий нет. Небыдлу не нужны версии?
Аноним 25/01/20 Суб 23:13:23 1583055163
Аноним 25/01/20 Суб 23:17:28 1583057164
Подскажите, в плюсах без вышматана никак?
Аноним 25/01/20 Суб 23:25:48 1583064165
>>1583057
как, но они заебистые
Аноним 25/01/20 Суб 23:35:15 1583066166
Почему Qt designer генерирует код в xml а не как в visual studio в h файл?
Аноним 25/01/20 Суб 23:46:25 1583072167
>>1583066
Чёт я не понял, как ты собрался окно в h файле описывать?
Аноним 25/01/20 Суб 23:54:35 1583074168
Присутствует ли каким-то образом в крестах realloc, или он просто не нужен? Все же, mremap быстрее, чем копирование пары гигов руками? Потом, при копировании руками на некоторое время будет занято целых четыре гига. Или это лучше спросить в ньюфаг-треде?
Аноним 25/01/20 Суб 23:56:59 1583077169
>>1583072
А то, что uic на выходе даёт .h со всем UI тебя не смущает?
Аноним 26/01/20 Вск 00:34:05 1583088170
>>1583074
У меня получилось что realloc в искусственных тестах равен или быстрее копирования через стандартные new-delete, но ничего лучше, чем вручную использовать realloc и вручную вызывать placement new и подходящие операторы для перемещения я не придумал.
>или он просто не нужен?
С другой стороны программы, где производительность слишком сильно упиралось в копирование через new-delete я пока тоже не встречал.
Аноним 26/01/20 Вск 00:44:46 1583089171
>>1583074
Почему просто в таком случае не использовать std::vector?
Аноним 26/01/20 Вск 00:51:38 1583093172
>>1583088
Вопрос, собственно, откуда взялся. Я затестил realloc из glibc против mremap в хаотическом перерезервировании 10000 указателей на 4 процессах и размерах данных от 4K до 64K, то есть такие размеры, когда realloc не пользуется пулами или самим mmap. Почему-то mmap оказался в 10 раз быстрее.
Аноним 26/01/20 Вск 01:03:09 1583097173
>>1583088
>>1583093
То есть, понятно, что копи-он-райт и все такое, все ссылается на одну единственную страницу, но mremap просто перестраивает таблицы страниц силами ядра без копирования всех данных руками. Надо будет тест с реально выделенной памятью сделать.

>Почему просто в таком случае не использовать std::vector?
Вроде, std::vector не использует realloc в каком-либо виде. Если использует, то да, это все решает.
Аноним 26/01/20 Вск 01:20:36 1583101174
>>1583097
>glibc
Не знаю таких подробностей внутреннего устройства realloc и всяких страниц памяти - я просто тесты со своей стороны стены проводил для дефолтных mingw-шных реаллоков, ничего не могу посоветовать.

>Если использует
Не использует совершенно точно. Когда ты его вызываешь очередной push_back - он перевыделяет память не для n+1 элемента, а для 1.6n (число 1.6 настраивается, если необходимо), старые n удаляет. Ты это и так понимаешь скорее всего лучше моего, но это считай ещё один дополнительный уровень менеджера памяти, чтобы лишний раз память не теребить; realloc всё ещё лучше, потому что он в отличие от вектора может знать что можно без временного буфера и перемещений расширить 1.6n до 10*n просто поставив метку в менеджере памяти - если менеджер позволяет изменять размеры уже выделенных кусков и за куском есть свободное место.
Аноним 26/01/20 Вск 01:22:34 1583102175
>>1583101
Как это мать его возможно. Спойлер должен был быть до конца сообщения. А вместо звёздочек я поставил <i>*</i>, то есть по идее звёздочки должны быть курсивом, а остальной текст нормальным, если тег <i> экранирует звёздочку.
Аноним 26/01/20 Вск 15:17:45 1583295176
>>1583074
realloc'а не существует. Ты можешь попробовать написать свой аллокатор через placement new там, но в среднем это нахер не сдалось.
Аноним 26/01/20 Вск 16:11:18 1583327177
Аноним 26/01/20 Вск 16:27:56 1583342178
>>1583327
потому-что у тебя одно создание строки и одно удаление в варианте const char*

А в варианте строк - 2 создания и 2 удаления.
Аноним 26/01/20 Вск 16:38:17 1583351179
>>1583342
Схуяле одно, если там цикл. Пишут, оно меряет только код внутри цикла, а там в обоих случаях одно создание.

Можно для чистоты и в первую фукцию запилить:
http://quick-bench.com/05VIGmMjuYgK52bNcYaWfvTDO0g
Аноним 26/01/20 Вск 18:56:21 1583458180
>>1583327
Такая большая разница из-за short string optimization. Если ты посмотришь на ассемблер то с короткой строкой в первом варианте нет вызовов new (тогда как во втором есть). Если использовать более длинную строку то new появляется и в первом вариате. Правда он все равно остается более быстрым (хоть и не настолько). Скорее всего там еще есть какие-то оптимизации связаные с тем что const char* читается со статической памяти а string& с динамической.
Аноним 27/01/20 Пнд 20:19:21 1584242181
Что по стажировками для студентов на лето в Москве?
На хх только яндекс и хуавей отсвечиваются, но там заранее все забито задротами из вшэ и мфти.
Есть какие-нибудь варианты менее известных контор, в которых можно постажироваться?
Аноним 27/01/20 Пнд 20:53:10 1584280182
Поясните, есть структура
struct test {
int a, b, c, d, e;
}
есть массив этих структур. Нужно получить допустим, суммы всех a, сумму всех b, сумму всех c. Как не пилить велосипеды для каждой из таких значений, а написать одну функцию для всего (при этом не меняя структуры и ее полей, желательно, на деле она другая).
Аноним 27/01/20 Пнд 21:02:07 1584292183
>>1584280
Пишешь функцию в которой считаешь сумму всего. С чем у тебя проблема?
Аноним 27/01/20 Пнд 21:17:16 1584301184
>>1584280
Тебе нужно считать суммы всех b не считая суммы других a/c, или тебе нужно считать суммы для всего?

Если считать нужно часто - возможно есть смысл сделать внешний счётчик вокруг массива (или внутри синглтона), который будет содержать суммы, а при добавлении/удалении структур изменять суммы?
Аноним 27/01/20 Пнд 21:51:15 1584354185
Как передать объект созданного мною класса через сокеты в Qt?
Аноним 27/01/20 Пнд 21:52:42 1584358186
>>1584354
- сериализовать
- передать
- десериализовать
Аноним 27/01/20 Пнд 21:54:19 1584362187
>>1584358
А можно ссылку на какой-нибудь example?
Аноним 27/01/20 Пнд 22:10:06 1584382188
1580152206196.jpg (30Кб, 399x399)
399x399
Анончики, помогите с математикой плиз, уже два часа бьюсь над задачей, не могу решить.
В общем есть функция простого градиента, рисующая градиент в круге радиусом R. Цвет N присваивается точке в зависимости от удаленности от центра. Соответственно получается такая формула: N = C - C x d/R, где С - цвет центра, d - расстояние точки до центра.
Теперь я хочу ввести в расчет градиента еще одну переменную, назовем ее интенсивностью цвета I, например.
Должно быть как: при I = 1 весь круг должен закрашиваться равномерно, без градиента, то есть коэффициент d/R = 0 при I = 1.
А при I = 0 круг вообще не должен краситься.
И вот здесь я встрял. Не могу никак модифицировать первоначальную формулу, чтобы условия интенсивности выполнялись. Вроде бы просто, а никак додуматься не могу.
По идее d/R должно умножаться на (1 - I), тогда при I = 1 d/R будет равно 0. Но при I = 0 круг все равно будет краситься. Как правильно?
Аноним 27/01/20 Пнд 22:17:48 1584390189
>>1584382
Причем если юзать только интенсивность I или только d/R по отдельности, то все работает супер четко.
То есть N = C x I будет красить полностью при I = 1, и не будет красить при I = 0.
А N = C - C x d/R красит в градиент.
А вот как вместе это соединить, я хз.
Аноним 27/01/20 Пнд 22:21:04 1584393190
>>1584382
>математикой
Математика для пидоров
Аноним 27/01/20 Пнд 22:23:15 1584394191
>>1584393
Как будто что то плохое.
Аноним 27/01/20 Пнд 22:35:22 1584402192
>>1584280
Внутри только простые одинаковые типы?
Если да - то передавай в функцию "индекс аргумента", смещай указатель на структуру и доставай оттуда нужное поле.

То есть для
struct test
{
int x;
int y;
};

test t;
(int)(&t); // поле x
(int)(&t + sizeof(int); // поле y

Мог чутка напутать, но смысл таков.

Если поля разных типов, то придется немного ифов нагородить, но смысл будет тот же.
Надо сейчас попробовать со сложными типами вроде string.
Аноним 27/01/20 Пнд 22:48:12 1584407193
Аноним 27/01/20 Пнд 23:38:50 1584425194
15713451834630.jpg (72Кб, 727x950)
727x950
Аноним 27/01/20 Пнд 23:40:35 1584427195
>>1584425
я несколько проебался, можно и без шаблонов:

int sum_member(vector<test> const& v, int test::* p)
Аноним 27/01/20 Пнд 23:46:23 1584428196
>>1584301
сначала суммы а, потом суммы б... считать нужно один раз, потом массив меняется.

>>1584402
>>1584425
спасибо, то что и искал.
Аноним 28/01/20 Втр 03:11:50 1584477197
Анон, хочу к своей проге написанной на С++ прикрутить скриптовый язык JavaScript (в идеале TypeScript, но JS тоже пойдет), чтобы скрипты писать.

поискал... и не нашел, хотя уже видел полноценный софт с JS скриптами (нет, не с помощью node.js)

Может кто-то видели бинд JS для C++?

Надо полноценный, строго соблюдающий стандарт, а не типа JS (как ChaiScript)
Аноним 28/01/20 Втр 04:08:07 1584485198
>>1584477
есть возможность встроить v8
но это будет то еще развлечение, скорей всего
тот же луа или питон легче встроить
не говоря уж о забытых технологиях наших более продвинутых предков из майкрософт, а именно active scripting на com
Аноним 28/01/20 Втр 04:10:42 1584486199
>>1584485
ах да, есть еще ведь QtScript, как я забыл
просто не использую qt в своих работах
Аноним 28/01/20 Втр 05:46:51 1584494200
>>1584477
Есть в кюте, причем в qml он вообще язык скриптов по умолчанию
Аноним 28/01/20 Втр 06:26:31 1584496201
>>1584280
std::accumulate с лямбдой суммирующей значения полей, за тебя все давно навелосипедили
>>1584354
Там вроде это как-то прозрачно делалось сигналами без сериализаций
Аноним 28/01/20 Втр 09:55:09 1584541202
>>1584280
Я имел в виду что то типа
function<int(s)> getter[] = {
[](s str){ return str.a; },
[](s str){ return str.b; },
[](s str){ return str.c; },
[](s str){ return str.d; },
[](s str){ return str.e; }
};
auto sum = [&getter](gsl::span<s> sss, int index){
return accumulate( begin(sss), end(sss), 0,
[&getter, index](int sum , s str){ return sum + getter[index](str); });
};
Аноним 28/01/20 Втр 11:30:41 1584590203
15714773197190.png (133Кб, 366x303)
366x303
>>1576737 (OP)
Якой иде пользуетесь под линуксом? Эклипс уродливый + ломающийся, CLion проприетарная
Аноним 28/01/20 Втр 11:31:42 1584591204
Аноним 28/01/20 Втр 12:47:39 1584638205
>>1584590
vscode + rg; обычно, достаточно
Аноним 28/01/20 Втр 12:55:20 1584643206
Аноним 28/01/20 Втр 13:25:54 1584676207
Аноним 28/01/20 Втр 15:12:52 1584796208
Аноним 28/01/20 Втр 20:02:33 1585050209
>>1576737 (OP)
>C++20.png
Лол. Чего они добиваются, чтоб в C++ было вообще ВСЁ, что есть в других языках и даже больше? Нахуй это нужно? Может кто-то знает?
Аноним 28/01/20 Втр 20:09:06 1585058210
>>1585050
Потому что могут. Ну и всего там точно не будет по концептуальным причинам.
28/01/20 Втр 20:25:02 1585068211
Аноним 29/01/20 Срд 00:58:47 1585204212
131.png (17Кб, 631x517)
631x517
Пытаюсь сделать что-то вроде небольшой игры, застрял на месте с передвижением в воздухе(когда прыгаешь, чтобы можно было в лево\право двигаться),перемещаться сейчас можно только если быстро нажимать на кнопку, но мне нужно чтобы работало при зажатии. Не в воздухе такой проблемы не было.
Игра 2д на direct2d, перемещение на winapi, реализация на пикче.
Аноним 29/01/20 Срд 01:13:15 1585217213
15523221145930.jpg (806Кб, 1280x720)
1280x720
>>1585204
Весь код выложен на гитхабе, могу скинуть, если нужно, там говнокод, я ещё учусь.
Студент-кун
Аноним 29/01/20 Срд 04:57:09 1585295214
>>1585204
>перемещаться сейчас можно только если быстро нажимать на кнопку
По WM_KEYDOWN ставишь speed+=5, по WM_KEYUP ставишь speed-=5, при этом каждый кадр у тебя x+=speed*dt?
Можешь скидывать, я могу попробовать помочь чем смогу.
Аноним 29/01/20 Срд 05:25:30 1585297215
14555.png (32Кб, 628x539)
628x539
>>1585295
>По WM_KEYDOWN ставишь speed+=5, по WM_KEYUP ставишь speed-=5, при этом каждый кадр у тебя x+=speed*dt?
У прыжка подобная механика, у перемещения просто + константа.
Решил проблему вот таким способом, до этого эти нажатия обрабатывались в WndProc. Почему-то из-за этого и анимации передвижения стали плавнее, я думал WndProc вызывается каждую итерацию.
Аноним 29/01/20 Срд 07:05:45 1585306216
Ньюфаг в треде!
Подскажите как подружить VS 2019 с русским языком?
#include <locale.h>
и после main()
{

setlocale(LC_ALL,"RUS");
пробовал, как и замена кодировки самого файла.
Аноним 29/01/20 Срд 07:35:10 1585312217
Аноним 29/01/20 Срд 09:07:34 1585328218
>>1585306
Исходники в utf-8, строки wstring
В консоли шрифт с поддержкой юникода
Аноним 29/01/20 Срд 09:08:04 1585329219
>>1585297
Я не шибко разбираюсь, но думаю, что все из-за того, что влево-вправо ты ходишь на константу.
Если сделаешь вектор ускорения, а при нажатии на клавишу движения изменять его координаты, то тогда в прыжке сможешь двигаться.
Только пока не представляю, как закодить. Пока нажата клавиша движения - направляем вектор в эту сторону постепенно, чтобы движение было с ускорением(вспомни, например, того же Соника), как-то так, наверное.

>>1585306
Не надо, пожалуйста, учи сразу английский и учись писать вывод и имена переменных/функций на нем же.
бтв проблема не только в проге, а ещё и в кодировке консоли.
Попробуй system("chcp 1251"). Или system("chcp 65001"), если все же не прокатит.
Аноним 29/01/20 Срд 14:59:07 1585474220
image.png (546Кб, 500x630)
500x630
>>1576737 (OP)
Почему в шапке нет этой книги?
Аноним 29/01/20 Срд 15:25:10 1585496221
>>1585306
Попробуй
setlocale(LC_ALL,"Russian");
29/01/20 Срд 17:02:11 1585592222
>>1585474
Потому что С++ ненужен.
Аноним 29/01/20 Срд 17:20:29 1585610223
Аноним 29/01/20 Срд 17:42:44 1585623224
Ананасы, вопрос не совсем по языку.
Вот допустим нужны программе некие конфиги (не те, которые через argc/argv задаются) которые считываются из файла.
Если пользователь программы удалил файл или изменил его (и прочитать файл стало невозможно), то по идее, нужно загрузить дефолтные конфиги.
Стоит ли в коде дублировать их или оставить только конфиг файл?
Аноним 29/01/20 Срд 18:39:42 1585664225
>>1585623
Нахуй пусть идёт такой пользователь, который удаляет или портит конфиг. Ошибку выдавай и закрывай приложение.
В шарпах, например, за неправильно написанный app.config тебя либо компилятор пошлёт, либо в рантайме исключение словишь.
Аноним 29/01/20 Срд 19:06:18 1585703226
>>1585623
Поставляй софт без конфига, сохраняй при изменении. Один хрен у тебя в конструкторе где-то задаются параметры по умолчанию (задаются ведь? или ты любитель уб?)
Аноним 29/01/20 Срд 19:33:34 1585733227
.png (296Кб, 637x358)
637x358
>>1585703
> Один хрен у тебя в конструкторе где-то задаются параметры по умолчанию (задаются ведь? или ты любитель уб?)
Есть параметры которые в конфиге можно опустить и тогда будут подставлены дефолтные значения.
Есть параметры без которых конфиг прочитать и распарсить будет невозможно.

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

Короче, сейчас посмотрел, подумал, что похер. Даже при отсутствии конфига или его порче, всё будет работать.
Будут использоваться стандартные зашитые значения (как, например, отсутствие текстур на пикрелейтеде).
Аноним 29/01/20 Срд 19:48:22 1585742228
image.png (793Кб, 750x1000)
750x1000
Аноним 29/01/20 Срд 19:50:12 1585743229
a0195bd09121f9f[...].jpg (38Кб, 602x796)
602x796
Аноним 29/01/20 Срд 22:26:04 1585829230
Как называется готовый алгоритм для такой проблемы: есть набор стран на карте, в виде разных многоугольников, нужно составить матрицу смежности. В данный момент мой алгоритм тупо перебирает все страны на соседство для каждой страны, трудно придумать что-то неэффективнее.
Аноним 29/01/20 Срд 22:37:15 1585839231
Аноним 29/01/20 Срд 22:43:14 1585843232
>>1585829
Как многоугольники заданы?
Аноним 29/01/20 Срд 22:47:31 1585846233
>>1585843
как множество пар точек.
{{1,2},{3,4},{5,6},{7,8}}
Аноним 29/01/20 Срд 22:55:08 1585853234
>>1585829
Я бы попробовал сопоставить к каждрй цифре страну, а потом попарное перебирать соседние вершинв нужной страны и применять and к множествам стран подходящих к этим точкам
Аноним 29/01/20 Срд 22:56:13 1585854235
>>1585846
Из точек получаешь ребра (ребро - две точки). Если страны соседние - у них есть общее ребро. Создаешь список (массив или лучше словарь) всех ребер (проходишь один раз по всем странам). В списке для каждого ребра помечаешь у какой страны оно нашлось (для каждого ребра будет одно или два значения). Потом еще раз проходишь по всем странам, переберешь ребра и выписываешь номера стран-соседей.
Аноним 29/01/20 Срд 22:58:25 1585855236
>>1585854
Двачую
Я выше хуйню предложил
Аноним 30/01/20 Чтв 00:53:45 1585898237
30/01/20 Чтв 07:23:36 1585966238
>>1585474
Потому что протухшее говно 2000 года.
Аноним 30/01/20 Чтв 12:12:50 1586055239
>>1585966
Ага, и K&R тоже протухшее говно, ведь ANSI не нужон, есть C99... Аноний, ты реально шизик, или троллишь? Я хочу сраться только с настоящими шизиками. Книги для вката не должны вдаваться во все актуальные фичи, а должны ускорить дальнейшее освоение обнов в десятки раз. Только такая многоходовОЧКА позволит угнаться за поездом изменчивого мира IT. И книги такого плана в 21-м веке пишут крайне хуево. Это факт. Алсо, годнота по сабжу как правило выходит при жизни и ясном уме создателей, и спустя полвека неизбежно наступает драма поколений, когда ньюфаг никогда не станет рядом с дедами, изучавшими в золотое время. Покормил.
Аноним 30/01/20 Чтв 14:24:14 1586127240
Сап, аноны. Использую Eigen, возник вопрос, есть ли в нем какой-то удобный инструмент типа View, который, по заданному вектору, формирует матрицу?
Есть Eigen::Map со всякими Eigen::Stride, но там, как я понял, можно задать фиксированный шаг.
Мне нужно, например, из матрицы M{6, 6} получить элементы по индексам, типа M( [0 1 4]; [1 2 3] ). В матлабах и питонах такое есть.
Аноним 30/01/20 Чтв 14:58:36 1586150241
1.PNG (13Кб, 430x383)
430x383
2.PNG (54Кб, 773x840)
773x840
Сап, всем. Есть вопрос про динамическую память и нулевой указатель. Я реализовал стек (тип элементов - char) с помощью дин. мас. , используя ООП. Вопрос - имеет ли смысл в конструкторе/деструкторе писать nullptr при инициализации и удалении массива? Важно ли обнулять указатели.

А также в функции Resize (Она нужна для увеличения размера стека)
Аноним 30/01/20 Чтв 15:35:31 1586161242
Можно ли как-нибудь написать парсер уравнений типа "x1^2 + 3 * x2"?
Простой парсер без переменных понимаю как сделать, а с переменными нет
И можно ли получить результат в виде функции?
Аноним 30/01/20 Чтв 15:36:50 1586164243
>>1586150
Важно: если у тебя например будет ошибка выделения памяти в конструкторе, то на Пуш программа упадет с сегфолтом, т.к. нет проверки что память выделилась.
Аноним 30/01/20 Чтв 15:38:18 1586166244
>>1586150
А после такого ресайза твоя прога будет падать вообще в любом случае, аррай же удален.
Аноним 30/01/20 Чтв 15:58:47 1586179245
>>1586161
Я не велосипедил, использовал жс движок в куте для такого.
Аноним 30/01/20 Чтв 16:09:31 1586188246
Аноним 30/01/20 Чтв 16:12:05 1586189247
>>1586166
Ничего не падает, проверил для 100000 значений. Вызов же:
char Array = resize(const char Array, size_t old_size, size_t new_size);
То есть в него сразу же записывается новый расширенный массив со всеми старыми значениями. Но тогда не понятно нужно ли в resize обнулять Array.
Аноним 30/01/20 Чтв 16:14:01 1586191248
Аноним 30/01/20 Чтв 16:20:10 1586194249
>>1586055
Это действительно древнее говно, сейчас С++ выглядит вообще не так как 20 лет назад, эта книга может быть даже вредной
Аноним 30/01/20 Чтв 16:22:22 1586195250
Аноним 30/01/20 Чтв 16:22:58 1586196251
Аноним 30/01/20 Чтв 16:25:44 1586201252
>>1585854
Возник вопрос, а правильно ли хранить ребра как set из unordered_set (пар)?
Аноним 30/01/20 Чтв 16:31:25 1586202253
>>1586201
Осознал, что лучше map.
Аноним 30/01/20 Чтв 17:42:16 1586312254
image.png (776Кб, 748x782)
748x782
>>1586202
Не важно, осознаешь ли ты осознанное, а важно, осознаешь ли неосознанное.
Аноним 30/01/20 Чтв 17:45:31 1586319255
Аноним 30/01/20 Чтв 17:58:48 1586332256
>>1586319
уже не лучше.

Насосался хуев короче, создал set "ребро" из двух точек, написав хеш-функцию для точки, пытаюсь insert его в set всех ребер, компилятор выдает всякие простыни, что он не умеет сравнивать такое. Проще уже свой set написать, который не выебывается.
Аноним 30/01/20 Чтв 18:19:28 1586357257
>>1586189
Да, я не заметил где ты её используешь. Тогда непонятно зачем ты не присваеваешь прямо в ресайзе.
Аноним 30/01/20 Чтв 18:24:52 1586365258
>>1586164
Если память не выделилась, будет брошенот исключение
Аноним 30/01/20 Чтв 18:27:39 1586371259
>>1586332
>написав хеш-функцию для точки,
Зачем? Кидаешь в std::pair, операции сравнения автоматом генерятся.
Аноним 30/01/20 Чтв 18:29:57 1586378260
Аноним 30/01/20 Чтв 18:30:30 1586380261
Аноним 30/01/20 Чтв 18:47:21 1586404262
>>1586371
да, так и сделал, чем ебаться с перегрузками.
Аноним 30/01/20 Чтв 22:01:15 1586578263
>>1586055
K&R это книга по Си, а не С++. Первый в отличии от второго не изменился за эти годы.
Аноним 30/01/20 Чтв 22:13:00 1586593264
>>1586578
Ващет изменился, хотя кресты однозначно стали одновременно более простыми местами, местами бля пиздец нахуй как это вообще работает. За это мы их и любим=)
Аноним 30/01/20 Чтв 23:09:07 1586616265
s
Аноним 31/01/20 Птн 01:21:21 1586687266
image.png (14Кб, 846x69)
846x69
Сап, двач, почему этот код, когда я иду по циклу и дохожу x2 до 0, вызывает аварийное завершение?
Если я вызываю не в цикле, а просто подставив значение, то все нормально, проблема в этих циклах, но я не понимаю, в чем может быть проблема
Аноним 31/01/20 Птн 01:50:06 1586693267
изображение.png (3Кб, 210x256)
210x256
изображение.png (0Кб, 184x38)
184x38
>>1586687
>просто подставив значение, то все нормально
А то ли значение ты подставляешь? Подставь вот это -2.03e-15 (или что у тебя там получается) и проверь падает ли с ним.
Если к -10 прибавлять по 0.2, то ты получаешь не ровно 0 из-за особенностей плавающей запятой. Стандартная же ошибка, у меня даже собаки во дворе про неё знают.
Аноним 31/01/20 Птн 02:08:11 1586698268
>>1586693
А как это пофиксишь можно?
Объясни, пожалуйста
Аноним 31/01/20 Птн 02:20:35 1586702269
>>1586312
а седьмое положение логико-философского трактата витгенштейна:
О чём невозможно говорить, о том следует молчать.


Аноним 31/01/20 Птн 02:21:07 1586704270
Аноним 31/01/20 Птн 02:28:20 1586707271
>>1586693
Можно ли как-нибудь отключить мантиссу, чтобы в функцию попадали числа без нее?
Аноним 31/01/20 Птн 02:30:27 1586708272
>>1586698
Пофиксить? В этом нет ошибки. 2e-15 - это ноль. Если у тебя такая функция, которая при 0 выдаёт один результат, а при 2e-15 другой, то проблема скорее в функции.
Если ты напишешь -10+0.2*i, где i целочисленное, то будет лучше, потому что ты складываешь большое число с большим. Наибольшая ошибка, когда ты складываешь числа разные по порядку, что-то вроде 10000+0.01.
Ещё лучше будет, если цикл будет целочисленный (i=-50 .. +50), а x=i/5.0 на каждой итерации, тогда вообще не будет проблем от сложения плавающих запятых.
Аноним 31/01/20 Птн 02:35:28 1586709273
>>1586708
У меня в функции что-то типо парсера, я не учел, что может число может быть передано в таком виде
Может, можно как-нибудь избежать передачу числа с мантиссотой?
Переделывать парсер желания нет
Аноним 31/01/20 Птн 02:46:25 1586711274
>>1586708
Вообщем, разобрался с проблемой, спасибо большое, анонче
Аноним 31/01/20 Птн 10:50:52 1586791275
>>1586707
плакала половина маршрутки.
Аноним 31/01/20 Птн 11:11:44 1586794276
Аноним 31/01/20 Птн 11:38:16 1586808277
>>1586707
Можно, накидай по-быстрому расширение для gcc.
Аноним 31/01/20 Птн 13:09:20 1586847278
У меня есть вектор из моих классов, при количестве больше 20 тыщ он перестает выдавать свой size. В чем проблема может быть?
Аноним 31/01/20 Птн 13:56:02 1586897279
>>1586847
А что он выдает? Как ты получаешь size и куда кладешь?
Аноним 31/01/20 Птн 14:02:52 1586903280
>>1586897
Код примерно такой:
vector<Object> MyVector;
for (...<20000)
MyVector.pushback(...)

далее из-за этой строчки segfault:
int MyArray[MyVector.size()];
Аноним 31/01/20 Птн 14:07:47 1586907281
>>1586903
>MyVector.size()
Ничего, что элементы считаются от нуля и последний элемент - MyVector.size()-1 ? Конечно сегфолт.
Аноним 31/01/20 Птн 14:11:33 1586912282
>>1586907
>Ничего, что элементы считаются от нуля и последний элемент - MyVector.size()-1 ? Конечно сегфолт.
почему тогда для 19 тысяч обьектов не сегфолтится?
Аноним 31/01/20 Птн 14:16:25 1586921283
>>1586912
Не вылазит за пределы сегмента стека, который выделен твоей программе. Для объектов разного другого размера крашилось бы при другом количестве.
Аноним 31/01/20 Птн 14:51:24 1586958284
>>1586921
спасибо, все исправил.
Аноним 31/01/20 Птн 15:18:13 1586991285
Как можно кратко записать:
if (сложное условие A) && (сложное условие B)
if (сложное условие B) && (сложное условие C)
...
if (сложное условие X) && (сложное условие Z)

или так оставить?
Аноним 31/01/20 Птн 15:19:07 1586992286
>>1586903
>int MyArray[MyVector.size()];
Выглядит как место с потенциальным переполнением стека.
Аноним 31/01/20 Птн 15:41:28 1587012287
>>1586991
Обернуть в функции с понятными именами, что ты собственно проверяешь.
Хотя непонятно что у тебя эти ифы делают, возможно можно гораздо элегантнее сделать.
Аноним 31/01/20 Птн 17:05:19 1587122288
>>1587012
квестовые сценарии
Аноним 31/01/20 Птн 17:45:39 1587168289
>>1586991
Выноси свои условия в методы
if (DungeonUnlocked() && PussyDestroyed())
...
Аноним 31/01/20 Птн 18:48:54 1587221290
Аноним 31/01/20 Птн 19:00:32 1587234291
>>1587122
Хардкодить квесты стоит только если их очень мало. Я бы вынес логику во внешние скрипты на каком-нибудь луа, или делал их в виде машин состояний грузящихся из простенького дсл.
Если квесты линейные и хочется в коде, то енум со всеми именами квестов, и вектор объектов квестов, в них стадия квеста и вектор пар лямбд условия и действия по нему для каждой стадии. Внешний вектор это список квестов, берется по енуму.
Аноним 31/01/20 Птн 21:30:05 1587358292
Как стать высокооплачиваемым спецом на крестах? Джависты и питонисты учат фреймворки всякие, а как нам набивать себе цену?
Аноним 31/01/20 Птн 21:43:53 1587364293
>>1587358
Писать на крестах, смотреть конфы, читать книги, ебать байты.
Аноним 31/01/20 Птн 22:09:22 1587390294
>>1587364
>ебать байты
Думаю проблема как раз в том, что в наших вузах постоянно выпускается толпа людей, думающих что программирует на крестах, а в реальности ебущая байты на си с классами. Естественно при таком предложении работодатель давать много не будет. Решение - пропагандировать питон.
Аноним 31/01/20 Птн 22:25:19 1587397295
>>1587364
Какие области, где можно писать на крестах, сейчас прибыльные и без огромного порога вхождения типа машоба? Типа как бэк на джаве пописывать за 200к, только для крестов.
Аноним 31/01/20 Птн 22:29:34 1587400296
>>1587390
Ты так описываешь студентов, будто они все:
1. Идут в вуз с уверенностью, что их там всему научат
2. Уверены, что программирование = плюсы
3. Вообще не мониторят рынок
4. Выпускаются, уверенные, что их всему научили.

А на самом деле:
1. Большинство охуевает от сложности плюсов и забивает на программирование вообще
2. Те, кто не забил, открывают-таки хедхантер и учат жабы, жсы и пхпы.
3. Единицы осиливают плюсы и находят работу.
Аноним 31/01/20 Птн 22:31:17 1587402297
>>1587390
Согласен с тобой частично. Модерновый хороший С++ выучить реально только на собственной шкуре, и то, после пары-тройки лет работы.

>>1587397
Прибыльность зависит от конторы, а не от области. Оверолл - финтех всегда платит. Нвидия платит, чем бы ты не занимался. Яндекс вроде как платит в последнее, а требует вообще только алгоритмы.

Но я бы не рекомендовал вкатываться в С++ на данный момент. Веб обезьянничать сильно проще, да и денег выше, рынок поживее.
Аноним 31/01/20 Птн 22:34:31 1587404298
>>1587402
Я уже вкатился, просто недоволен своей зарплатой в сравнении со знакомыми, которые пишут на питоне и жс.
Аноним 31/01/20 Птн 22:37:09 1587409299
>>1587404
Если ты вкатился - тогда смотри на вакансии нвидии, сбербанка (он платит, но специфика), Дойчебанка, ну и хз даже, что еще посоветовать. Жидбрейнс какой-нить хайрить крестовиков на шлион.

И вот задрачивай их требования
Аноним 31/01/20 Птн 22:48:50 1587417300
>>1587400
>1. Большинство охуевает от сложности плюсов и забивает на программирование вообще
на самом деле можно не учить все плюсы, видел код энтерпрайзного матмоделирования, так там будто на чистом си писалось
Аноним 31/01/20 Птн 22:54:25 1587427301
>>1587417
Я вообще читал несколько историй, где на конкретных проектах заранее договариваются, какие фичи плюсов вообще использовать не будут из-за сложности. Вот только в разных проектах такие соглашения разные, и волей-неволей приходится учить всё.
Аноним 31/01/20 Птн 23:00:49 1587432302
>>1587427
единственные ограничения на разных работах, которые я видел - это ограничение по стандарту, и запрет на буст. Все

Нвидияблядь
Аноним 31/01/20 Птн 23:19:08 1587442303
Аноним 31/01/20 Птн 23:22:39 1587448304
>>1587442
Как это поможет?
Приходишь ты такой и говоришь "я знаю алгоритм Кнута-Морриса-Пратта", и все такие "ебааать, пойдешь к нам на 300к?"
Аноним 31/01/20 Птн 23:34:57 1587456305
>>1587448
Знание этой хуйни поможет стать лучше в плане кодинга, лучшие кодеры получают больше. Вроде очевидная хуйня, не? Кроме ещё более очевидной, что зарплата растет при переходе в другую контору (или на более высокую должность) относительно текущей зарплаты. То есть надо просто устраиваться на более высокооплачиваемую работу и делать это каждый год. Потом можно а америку съебнуть и там повторить. Ну и понятно, что с чего то нужно начать, но я так понял ты уже в пути.

Ну а вообще нехуй меня слушать, я два часа назад решил в кресты вкатиться и пришел за этим сюда. Только откомпилил свой первый хелоу ворлд.
Аноним 31/01/20 Птн 23:44:56 1587461306
>>1587432
Чем буст не угодил? Алсо, че в нвидии происходит, какая работа? Мне пиздец интересна математика, и я хорошо шарю в железе, был бы смысл мне туда идти?
Аноним 31/01/20 Птн 23:48:01 1587465307
>>1587461
Ну ты же знаешь, что шаблоны это тьюринг-полный язык, а значит позволяют добиться сколь угодно долгой компиляции. А теперь вспомним, из чего состоит весь буст.
Аноним 31/01/20 Птн 23:55:38 1587472308
>>1587456
На крестах работу хер поменяешь. Язык один, но предметные области и задачи сильно отличаются между конторами. Это не джава, где можно бегать из одного места в другое каждые полгода, потому что везде нужен спринг и делать надо одно и то же.
Аноним 01/02/20 Суб 00:07:53 1587482309
>>1587465
Вроде как прекомпилед хедеры позволяют сильно ускорить компиляцию. Да и АSIO хорош, я хз как без него с сетью работать
Аноним 01/02/20 Суб 00:09:26 1587484310
>>1587472
Типа, если попал на работу то до смерти никуда не денешься? Чет сомнительно звучит.
Аноним 01/02/20 Суб 00:45:52 1587520311
>>1587484
Область фиг сменишь. Если телеком, например, то придется либо искать следующую работу в телекоме, либо переучиваться и искать младшие позиции. Мобильность ограничена, не получится побегать между работами, набивая себе цену.
Аноним 01/02/20 Суб 00:49:42 1587524312
>>1587461
> Чем буст не угодил?
Есть нюансы в связи с внутренними процессами и сборкой.

> был бы смысл мне туда идти?
Идти точно есть смысл - это лучшее место работы в ДС. А скиллы в железе\математике - зависит от команды. Мне, например, знание ИГРУЛЕК сильно помогает в работе, рофл.

> Алсо, че в нвидии происходит, какая работа?
Зависит от команды очень сильно.
Аноним 01/02/20 Суб 01:30:03 1587580313
Кто-нибудь писал нейросети на плюсах? Как это вообще происходит, с помощью каких-то библиотек или все с нуля делается?
Аноним 01/02/20 Суб 02:01:56 1587621314
Можно ли как-нибудь в Qt проверить, используется ли файл другим процессом/программой/etc?
Пробовал менять имя файла на тоже самое, всегда false выдаёт и это не позволяет детектить
Может, есть ещё какие-нибудь способы?
Аноним 01/02/20 Суб 09:18:40 1587791315
>>1587580
Tensorflow же. Обычно те либы, что есть на питоне, имеют реализацию или очень хорошую основу на крестах. Из-за скорости.
Аноним 01/02/20 Суб 10:19:40 1587797316
>>1587621
Проверить что он есть и попытаться открыть для записи?
Аноним 01/02/20 Суб 11:10:55 1587810317
>>1587390
>а в реальности ебущая байты на си с классами
Это, кстати, не такой плохой вариант. Хуже работать с проектом, в котором, например, три разных вида умных указателей (стд, самописный, навелосипженный до С++11, и из сторонней либы) или какая-нибудь ебанистическая шаблонная магия, весь код в хидерах, и на каждый чих требуется полная пересборка минут на пять.
Аноним 01/02/20 Суб 11:41:58 1587818318
>>1587791
Понял, спасибо. Я слышал про питон кстати.
Аноним 01/02/20 Суб 12:02:41 1587834319
>>1587810
Да хуевый это вариант, надо всегда развиваться программистам. Си с классами явно отдает хреновым общим опытом разработки
Аноним 01/02/20 Суб 12:42:38 1587878320
>>1587834
>Си с классами явно отдает хреновым общим опытом разработки
Иногда - наоборот. Люди с опытом пишут простой и понятный код без большого количества абстракций.
Аноним 01/02/20 Суб 12:45:45 1587884321
>>1587834
Тут нужен баланс. Си с классами - это не очень хорошо, но и ехал AbstractFactoryProxyBeanFactory - это тоже оверкилл.

Мне в последнее время нравится идея небольших классов без наследований, и дальше - ну, почти процедурный код.
Аноним 01/02/20 Суб 14:47:02 1588071322
>>1587390
Ну почему, чистый код на сишечке очень хорошо читается и аккуратно выглядит. Другое дело, что разбухает он действительно быстро.
Аноним 01/02/20 Суб 17:20:19 1588219323
Ананасы, можете посоветовать книги по Qt QML Шлее не предлагать или в целом годные книги про построение интерфейсов которые GUI.
В целом мне интересно, как лучше разделять gui и "ядро", чтобы при каких-то пиздецовых операциях гуи не лагало. И как организовывать гуи, чтобы с минимальными трудозатратами адаптировать его к разным устройствам (телефоны, пк)
Аноним 01/02/20 Суб 17:37:22 1588254324
>>1588219
А чего не так со Шлее?
Аноним 01/02/20 Суб 17:56:42 1588302325
>>1588219
> как организовывать гуи, чтобы с минимальными трудозатратами адаптировать его к разным устройствам (телефоны, пк)
А никак блядь.
Аноним 01/02/20 Суб 18:01:21 1588313326
>>1588219
> с минимальными трудозатратами адаптировать его к разным устройствам (телефоны, пк)

Веб. Единственный реалистичный вариант.
Аноним 01/02/20 Суб 20:11:54 1588447327
>>1588071
О.о я не предъявлял никаких претензий сишечке.
Аноним 01/02/20 Суб 20:29:45 1588460328
>>1588254
Он уже прочитан. Не понравился. Больше понравился М. Саммерфилд

>>1588302
>>1588313
Что-то не нравятся мне ваши предложения...
Аноним 01/02/20 Суб 21:43:17 1588585329
>>1588219
>И как организовывать гуи, чтобы с минимальными трудозатратами адаптировать его к разным устройствам (телефоны, пк)
Самому написать на OpenGL (ES). Это самый портируемый вариант.
Аноним 01/02/20 Суб 22:12:37 1588603330
>>1588460
Да никому веб не нравится. Но в отличие от мобильного Qt, реакта нативе, флаттера и прочих киви, веб хорошо изучен, проверен и все его плюсы и минусы давно известны. Он реально требует минимальных трудозатрат, реально кроссплатформенный и реально везде работает одинаково (не совсем, но уж точно одинаковее, чем тот же "кроссплатформенный" GTK). А всё остальное тупо не исследовано и может таить кучу подводных камней.
Аноним 01/02/20 Суб 22:28:09 1588616331
>>1588460
> Что-то не нравятся мне ваши предложения...
Нехуй экономить на разработчиках. Вот раньше пиздато было, на каждую платформу был свой клиент, не зависящий от других. А теперь пернул под Винду, завоняло под ведром
Аноним 01/02/20 Суб 23:53:43 1588766332
Ананасы, хочу выкатиться в нейросети, а учить другой язык из-за этого пока не хочу. Если ли на плюсах библиотеки, адаптированные для этого?
Аноним 02/02/20 Вск 00:08:12 1588782333
Хочу распараллелить код с помощью OpenMP.
Функция полностью состоит из цикла, поэтому я просто пытаюсь воткнуть #pragma omp parallel for schedule(auto) в начало:
https://pastebin.com/gmyf1Y4E
В результате никакого ускорения не получаю, скорость выполнения с каждой новой нитью только падает.
Что делать?
Аноним 02/02/20 Вск 00:12:20 1588797334
>>1588766
Вряд ли взлетит, ты же даже гуглом пользоваться не умеешь.
Аноним 02/02/20 Вск 00:45:41 1588884335
А тут есть аноны,которые вкатывались в программирование именно с плюсов?
Аноним 02/02/20 Вск 01:16:16 1588927336
>>1588884
Есть, что ты хочешь спросить?
Аноним 02/02/20 Вск 01:17:44 1588928337
>>1588884
Есть, правда теперь я джавист.
Аноним 02/02/20 Вск 01:17:44 1588929338
Аноним 02/02/20 Вск 01:26:13 1588942339
>>1588927
>>1588928
Простой вопрос, с чего начинали и как не теряли мотивацию?
Аноним 02/02/20 Вск 01:35:14 1588952340
>>1588942
Тупо учил, учил и учил. Каждый день открывал литературу, читал до полного понимания, выполнял упражнения и шёл дальше. Почему-то я тогда не заебался. А вот hh.ru мотивацию убил мгновенно.
Аноним 02/02/20 Вск 01:36:17 1588953341
>>1588942
Начинал с того, что было понимание, что надо что-то в жизни менять, потому-что я работал около-админом, и это было днище бесперспективное абсолютно.

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

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

Устроился на первую работу не сиплюсплюсером, но уже программистом - продолжал ежевечерне задрачивать кресты, разбираться, читать всё подряд.

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

Сейчас работаю в Нвидии все в треде знают кем и за сколько
Аноним 02/02/20 Вск 01:39:11 1588957342
>>1588953
> понимание, что надо что-то в жизни менять.
>либо работать в мухосранске говном из жопы, когда тебя ненавидит начальство, либо все таки ебашить в надежде на светлое будущее и перекат в какую-нить классную компанию.

Вот я пока на этом этапе,лол)
Аноним 02/02/20 Вск 01:46:32 1588959343
>>1588957
Ты вполне можешь повторить мой путь, он реален, как видишь.

Правда, буду честен, второй раз я этот ебучий подвиг под названием "Ебучее задротство 24х7" уже не повторил бы.
Аноним 02/02/20 Вск 03:43:13 1589019344
Аноним 02/02/20 Вск 04:17:54 1589021345
158060624370047[...].jpg (123Кб, 635x355)
635x355
Аноним 02/02/20 Вск 04:28:08 1589022346
>>1589019
Потому что дефолт хуйня всё ещё user defined, а значит конпелятор не будет генерировать никаких лишних конструкторов
Аноним 02/02/20 Вск 04:31:29 1589023347
>>1589022
То есть правильный ответ - undefined behavior?
Да не может быть такого чтобы не было четкого ответа какой конструктор будет вызываться - явно дефолтный или просто дефолтный
Аноним 02/02/20 Вск 04:32:38 1589024348
>>1589023
Там же по ссылке есть ответ. Я думал тебя смутило то, что вызвался не мув конструктор Y
Аноним 02/02/20 Вск 07:32:26 1589043349
>>1589019
>он же генерится автоматически
Пока ты не определил хотя бы одного из большой шестерки афаик
Аноним 02/02/20 Вск 12:24:55 1589138350
>>1589024
То и смутило
> but since Y has no move constructor, its copy constructor is called.
Ответ есть в целом, но не на мой вопрос

>>1589043
Можно линк на афаик, было бы бесценно
Аноним 02/02/20 Вск 12:39:22 1589143351
>>1589138
Declaring any special member function except a default constructor, even as =default or =delete, will suppress the implicit declaration of a move constructor and move assignment operator. Declaring a move constructor or move assignment operator, even as =default or =delete, will cause an implicitly generated copy constructor or implicitly generated copy assignment operator to be defined as deleted. So as soon as any of the special functions is declared, the others should all be declared to avoid unwanted effects like turning all potential moves into more expensive copies, or making a class move-only.
Аноним 02/02/20 Вск 17:15:50 1589384352
Привет! Посоветуйте плз алгоритм для хеширования строк небольшой длины, желательно быстрый, на коллизии пох
Аноним 02/02/20 Вск 17:35:21 1589409353
>>1589384
size_t hash(string &s){
return s.size();
}
Аноним 02/02/20 Вск 17:37:17 1589411354
>>1588953
А ты можешь вот конкретно сказать, что ты делаешь на работе? Мне кажется, ньюфагам было бы полезно узнать это. Я вот даже отчасти ссу идти на собеседование хотя уже год дрочу плюсы, потому что не знаю что меня ждет. Как проверить свои знания вообще?
Аноним 02/02/20 Вск 17:45:33 1589423355
>>1589411
Сходи, никто тебя не зачмырит, если не попадёшь на галеру.
Аноним 02/02/20 Вск 17:53:20 1589431356
>>1589423
Галера, кстати, галере рознь. Работал в галере, где было вполне нормальное отношение к сотрудникам, хотя 90% - это были студенты, и платили им 17-20к в серую пиздец конечно, там серая часть тыщь пять была. Но никто никого не чмырил, офис был вполне комфортный, на кухне всегда были халявные печенюхи, фрукты и кофе. Даже короткий "больничный" оплачивали не требуя больничный лист.
Но текучка была пиздецовая, каждый год сменялось около половины, а может даже и больше, сотрудников.
Но качество кода в такой компании было на уровне 0. Поэтому нахуй в такой работать, если хочется опыта. Там его нет. Даже на 11 стандарт они перелазили в 17 году

Нахуй я это рассказал? Не знаю
Аноним 02/02/20 Вск 18:00:35 1589441357
>>1586707
Напиши класс где целая часть и дробная части хранятся отдельно в size_t
Аноним 02/02/20 Вск 18:08:38 1589458358
>>1589431
> Даже на 11 стандарт они перелазили в 17 году
А чего не на 17 сразу? Или хотя бы на 14?
Аноним 02/02/20 Вск 18:11:39 1589466359
>>1589431
Почему присутствует ограничение по стандарту на работах? В чем сложность сразу взять и перейти на новый стандарт? По сути дописывать ничего не нужно, там убрал, тут урезал и все.
Аноним 02/02/20 Вск 18:15:43 1589476360
>>1589466
Тестирование. Обновление библиотек. Рефакторинг того пердолинга, которого за nn лет набралось порядком.
Аноним 02/02/20 Вск 18:18:50 1589485361
>>1589466
хуй знает, но если есть выстреливший продукт с набранной клиентской базы, то я бы кодовую базу вообще ни на новые компиляторы и стандарты не переводил, ни, боже упаси, не занимался бы написанием типа новой охуенной платформы с нуля которая заменит старую
сосредоточился бы на исправлении ошибок и добавлении функционала
но это такие маняфантазии о том если бы у тебя был собственный продукт
Аноним 02/02/20 Вск 18:24:32 1589491362
>>1589466
Хуево когда ты на него перешел, а никто его не знает
А в случае с Java он еще и платный
Аноним 02/02/20 Вск 18:38:27 1589499363
>>1589491
В джаве наоборот: ты либо вынужден постоянно переписывать легаси, либо платить за право использовать старые версии.
Аноним 02/02/20 Вск 18:43:49 1589501364
>>1589499
>платить за право использовать старые версии
Чем и кому платить?
Аноним 02/02/20 Вск 18:52:18 1589505365
Аноним 02/02/20 Вск 19:04:40 1589511366
>>1589505
Что ты несешь, идиотина?
Аноним 02/02/20 Вск 19:09:21 1589516367
>>1589501
> Чем
Деньгами.

> кому
Ораклу.
Аноним 02/02/20 Вск 19:11:51 1589517368
>>1589516
Под старыми версиями имеешь в виду до 8 версии?
Аноним 02/02/20 Вск 19:16:13 1589519369
>>1589517
Да это школьник решил потроллить тупостью
Аноним 02/02/20 Вск 19:27:49 1589526370
Аноны, посоветуйте IDE новичку, кроме MVS.
Аноним 02/02/20 Вск 19:33:32 1589529371
>>1589526
Советую Code::Blocks
Они часто в вузах стоят.
Аноним 02/02/20 Вск 19:40:14 1589532372
image.png (42Кб, 641x642)
641x642
>>1589517
Да хуй его знает, я так до конца и не понял. Есть какие-то запланированные сроки окончания поддержки версий жабы, после которых либо обновляешься до новой, либо платишь за старую. Но это только оракле ждк, в других сборках может быть бесплатно, но нет поддержки от оракла.
Аноним 02/02/20 Вск 19:52:32 1589538373
Аноним 02/02/20 Вск 20:26:18 1589567374
>>1589411
На всех моих работах было одно и то же.

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

Потом, обычно, дают простенькие баги, это те, которые с наименьшим приоритетом, чтобы ты стабильно научился проходить некие конторские процессы, типа Мердж реквест - Ревью - Прогон CI\CD - Коммит.

Ну а дальше потихоньку вктаываешься в рутину разработки и все.

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

Если сильно хочешь проверить свои знания - пиши на jordanrudess@yandex.ru с пруфом того, что это твой пост - я тебя фейкоотсобесю на джуна и скажу, где ты проебываешься.
Аноним 02/02/20 Вск 21:24:42 1589622375
>>1589567
Ты только того анона будешь фейкособесать?
Я сам хочу как-то уровень знаний плюсов узнать, но они у меня только самоприобретенные, работаю не плюсовиком.
Аноним 02/02/20 Вск 21:30:04 1589625376
>>1589458
Там ниасилили бы его, слишком дохера студентов, для которых шаблоны сродни магии, а основной костяк - уже застаревшие типы лет 45-50, которым это нафиг не надо и проще написать 100500 функций, которые будут принимать "бесконечное" количество аргументов, чем заморачиваться с variadic templates. Ну одним словом пиздец, прогресс там остановился в 90х

>>1589466
Что-то где-то может неожиданно отвалиться, после этого надо с нуля тестировать всё приложение.
А во вторых, команда должна понимать, что происходит в проекте. У нас там половина не знала, что такое move semantic и с трудом читала код на шаблонах, который ничем особо сложным не выделялся ну студенты далеко не самого тового вуза, работающие за двадцадку, что с них требовать то? Что-то поправить могут, не сломав при этом ничего, и заебись

>>1589485
Продукты обычно развиваются. Как развиваются и программисты, которые их пишут. Вечно на С99 никто писать не будет, молодые прогеры, которым нравятся плюсы, туда не пойдут, а старые рано или поздно уйдут например я ушёл как раз из-за отсутствия развития

>сосредоточился бы на исправлении ошибок и добавлении функционала
Так вот с новыми стандартами часть работы можно делать быстрее, чише и безопасней. Стагнация в нашей сфере = смерть
ИМХО
Аноним 02/02/20 Вск 21:51:51 1589653377
>>1589625
> ну студенты далеко не самого тового вуза, работающие за двадцадку, что с них требовать то? Что-то поправить могут, не сломав при этом ничего, и заебись
Те, кто писали приложение изначально по идее более опытные программисты, верно? Но у них все равно остаются ошибки?
Аноним 02/02/20 Вск 22:06:43 1589659378
>>1589622
Есть разница между челиком, который задрачивает и пытается вкатиться и праздным любопытством.
Аноним 02/02/20 Вск 22:15:54 1589671379
>>1589653
Да, там основной костяк состоял да и состоит из двух прогеров, которые там сидят с самого начала основания компании. Ребята норм, но без какого либо желания развиваться дальше. Си с классами их более чем устраивает.
А ошибки есть у всех. А ещё куча ошибок появляется после того, как приложение попадает в реальный мир. Там всегда возникает чувство, что тестеры нихерна не тестировали ну если это не под какое-то определённое устройство делалось, которое у всех одинаковое
Аноним 02/02/20 Вск 22:17:53 1589674380
>>1589671
Ясно. Просто интересно про процесс разработки узнать, просто странно когда исправлять ошибки назначают менее опытных сотрудников. Мне кажется в других сферах обычно наоборот происходит.
Аноним 02/02/20 Вск 22:53:50 1589746381
>>1589671
> Там всегда возникает чувство, что тестеры нихерна не тестировали
Ну а хули, повезло что тестировщики вообще есть, ибо если программисты - это студенты за 20к, то тестировщики скорее всего просто бомжи с улицы.
Аноним 02/02/20 Вск 23:11:47 1589783382
>>1589746
Нет, это студенты, которые тоже учились и учатся на программистов, но не осилили программирование
03/02/20 Пнд 00:45:17 1589932383
>>1589674
> исправлять ошибки назначают менее опытных сотрудников.

Дописывать проект будут мене опытные сотрудники когда синьер уже съебал в галеру пожирнее и чтоб не изговняться продакшеном
Аноним 03/02/20 Пнд 01:08:15 1589951384
>>1589659
Принял. Логично, я тоже хочу в плюсы, но пока просто изучаю, а не ищу работу.
Только не принимай пруф из дашчана, там любой пост можно своим пометить.
Аноним 03/02/20 Пнд 03:03:22 1589977385
>>1589932
Текучка как в пятерочке везде что ли? И чего с сажей?
Аноним 03/02/20 Пнд 04:01:14 1589981386
>>1589932
У нас синьеры работают по двадцать лет над одной хуйней, как раз с момента конца студенчества.
Аноним 03/02/20 Пнд 08:18:13 1590012387

while (msg.message != WM_QUIT)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
DispatchMessage(&msg);
else
{
//Update
GameController::Update();
}
}
Аноны, есть подобный код, хочу добавить сюда отдельный поток для GameController::Update(), как мне это сделать?
Метод в лоб std::thread DrawThread{GameController::Update} будет же создавать тред каждую итерацию цикла? Я могу как-то создать поток, а потом указать какие функции будут должны в нём выполняться?
Аноним 03/02/20 Пнд 08:34:54 1590015388
>>1590012
>как-то создать поток, а потом указать какие функции будут должны в нём выполняться?
Более-менее да.
Ты уверен что тебе нужно сначала создать поток, а потом указывать функции в нём выполняющиеся и на момент создания этого сделать нельзя?
>создавать тред каждую итерацию цикла?
Просто создай его в WM_NCCREATE или в месте, где окно создаётся и передай потоку указатель на класс твоей игры. Другой поток сам будет смотреть на флаги твоего класса и исходя из этого действовать, вызывать методы или ещё что.

Основная проблема в том, каким образом синхронизировать рендер, ввод с клавиатуры-мышки и физический цикл (цикл игровой механики). Можно хранить копию состояния игры, рисовать эту копию, пока новое физическое состояние обсчитывается в другом потоке. Мьютексы с большим шансом в говно тормозное превратятся, но не обязательно.
Ещё виндоус почти не умеет в таймеры, либо ты физический цикл делаешь с очень большой частотой, либо привязываешь к рендеру и тогда смысл второго потока теряется, либо сам через условные asm("nop;nop;nop;nop;") ждёшь интервал времени, чтобы добиться ровно 100 обновлений (или сколько тебе захочется) игрового мира в секунду. Если попытаешь заслипать поток, то он будет засыпать на сколько ему захочется милисекунд и обновления будут очень неравномерные во времени.
Вообще не знаю как нормальные люди делают - просто описал какая у меня с этим была проблема.
Аноним 03/02/20 Пнд 08:48:36 1590018389
>>1590012
>потом указать какие функции будут должны в нём выполняться
Какую проблемы ты хочешь решить? При создании ты можешь указать только одну функцию. Но в той функции ты можешь вызывать сколько угодно других. Если тебе именно динамически нужно выполнять функции то обычный подход - сделать очередь в которую будут скидывать потоку задания, а он время от времени просыпаться и выполнять их. Если ничего нет - то засыпать. Ты в такую очередь скидываешь std::bind (или что-то подобное) с нужными для выполнения функциями. Если у тебя постоянный (но динамический) набор функций для выполнения то создаешь просто вектор с такими биндами (или ссылками на функции например) и в треде пробегаешся по нему и засыпаешь на время. Потом повторяешь
Аноним 03/02/20 Пнд 08:51:40 1590020390
>>1590015
>Вообще не знаю как нормальные люди делают
Используют готовый движок, хотя бы в виде обертки вокруг директ икса и винапи.
Аноним 03/02/20 Пнд 09:09:06 1590024391
>>1590020
Как будто в готов движке оно каким-то магическим образом само-собой работает.
Один хрен в 98% играх ввод с клаво-мышки привязан к рендеру, и в 90% игровая механика прибита гвоздями к рендеру.

Но слипать поток с циклом обновления игры в любом случае не стоит, даже на 60 фпс скорее всего он уснёт больше чем на 16 мс. По крайне мере я никаким образом не смог добиться стабильного интервала между обновлениями, если поток с ними слипается.
Аноним 03/02/20 Пнд 09:32:10 1590034392
>>1590024
>98% играх ввод с клаво-мышки привязан к рендеру, и в 90% игровая механика прибита гвоздями к рендеру.
Нет.
Аноним 03/02/20 Пнд 10:09:38 1590045393
>>1590012
Зачем там else, типа если кто-то спамит очередь сообщениями, пошел нахуй юзер, не до тебя сейчас?
>Аноны, есть подобный код, хочу добавить сюда отдельный поток для GameController::Update(), как мне это сделать?
Зачем? Пока видюха рендерит, основному потоку все равно нехуй делать. Если же ты хочешь заняться чем-то тяжелым, физикой какой-нибудь, которую на видюху нельзя либо влом, то именно это и нужно пихать в отдельный тред. Не надо наворачивать сложность там, где она не нужна.
Аноним 03/02/20 Пнд 10:24:21 1590058394
Аноним 03/02/20 Пнд 10:30:19 1590066395
Аноним 03/02/20 Пнд 18:50:56 1590737396
>>1576737 (OP)
Что здесь происходит?

strBuilder.Append(word.Substring(0, width - 1) + "-");
word = word.Substring(width - 1);

С++ не знаю. Нужно для конвертации в другой язык.
Аноним 03/02/20 Пнд 19:35:25 1590753397
>>1589529
а норм, если последняя версия 30 декабря 2017?
Аноним 03/02/20 Пнд 21:36:27 1590928398
>>1589526
Почему ты выбираешь любую IDE кроме самой лучшей существующей IDE?
Аноним 03/02/20 Пнд 21:44:05 1590936399
>>1590753
Ночные сборки ставь.
Аноним 03/02/20 Пнд 22:56:02 1591024400
>>1590928
А чем тот же code blocks хуже mvs?
Аноним 03/02/20 Пнд 23:30:59 1591057401
>>1591024
Ты щас смеешься?
Ни дебаггера, ни компилятора, ни системы сборки, ни статического анализа, ни раннера юниттестов.

Это так, блокнотик с подсветкой. А вижуал студия - полноценный профессиональный инструмент, лол.
Аноним 03/02/20 Пнд 23:39:05 1591068402
>>1591057
> Ни дебаггера, ни компилятора, ни системы сборки, ни статического анализа, ни раннера юниттестов.
Ты щас смеешься? Ты щас смеешься? Ты щас смеешься? Ты щас смеешься? Ты щас смеешься?

> Это так, блокнотик с подсветкой.
Лол. Лол. Лол. Лол.

пиздец миленниалы пошли
Аноним 03/02/20 Пнд 23:42:24 1591072403
>>1591068
Зато я ебал твою мамашу
Аноним 03/02/20 Пнд 23:49:19 1591079404
>>1591068
Достойная аргументация, друг.
Аноним 03/02/20 Пнд 23:55:44 1591088405
>>1591057
> дебаггер
gdb
> компилятор
Такие же как и везде - gcc и clang
> система сборки
qmake, ninja, make, waf, scons, meson...
> статический анализ
clang analyzer и semmle
> раннер юниттестов
gunit
> вижуал студия - полноценный профессиональный инструмент
Уж лучше бы профессиональные инструменты из неё упомянул. Их там есть немного.
Аноним 03/02/20 Пнд 23:56:43 1591089406
>>1591079
Какую аргументацию предлагаешь привести для школьника (>>1591072), который очевидно ни разу не пользовался CB? Хотя может просто ниасилил?
Аноним 03/02/20 Пнд 23:59:43 1591091407
>>1591088
И как, весь зоопарк тобой перечисленный относится к Code::blocks, и конкретно, самому определению IDE?
Аноним 04/02/20 Втр 00:00:56 1591093408
>>1591089
Зачем пользоваться (и, о боги) осиливать заведомо инфериорный продукт? Если ты идейный хейтер всего майкрософтовского, то всегда есть CLion. Если у тебя аргумент "ТАРМАЗИТ" - то ты не зарабатываешь деньги программированием, и твое мнение априори не интересно. ЛАБА3 можно писать и в nano
Аноним 04/02/20 Втр 00:04:13 1591097409
>>1591068
>code blocks
Не умеет выводить подсказки (список полей и методов структуры) при использовании auto, decltype и сколько угодно простых шаблонов. Код компилируется, но в редакторе всё красным зачёркнуто-перечёркнуто, никаких полезных предупреждений от среды нельзя получить. В автоматическую установку отступов соответственно не умеет, если там вообще такое есть.
Может быть и пофиксили что-то или это можно настроить, но у меня самые отвратительные впечатления остались (хуже только от визуал студии) - зачем это нужно, если в другой среде это всё без особых проблем работает?
Аноним 04/02/20 Втр 00:05:06 1591098410
Аноним 04/02/20 Втр 00:08:25 1591105411
>>1591098
Студия, CLion, qtCreator и даже CodeLite. Может быть ещё какие-то умеют, я не проверял.
Аноним 04/02/20 Втр 00:40:17 1591132412
>>1591093
А действительно, почему CLion тормозит?
Аноним 04/02/20 Втр 00:45:36 1591135413
Аноним 04/02/20 Втр 00:45:46 1591137414
Аноним 04/02/20 Втр 00:46:50 1591138415
Аноним 04/02/20 Втр 01:01:58 1591146416
>>1591093
Ну а зачем тогда высираться тут, если ниасилил?
>>1591091
Тогда и VS не IDE.
Аноним 04/02/20 Втр 13:32:51 1591387417
>>1591146
> Ну а зачем тогда высираться тут, если ниасилил?
Сидит челик, обмазывается говном, и на все вопросы отвечает "АХАХА ТЫ НЕАСИЛИЛ ПРОСТО, НЕАСИЛЯТОР АХАХАХА", и продолжает обмазываться. Это выглядит примерно так.

> Тогда и VS не IDE.
Как раз - фактически это единственная IDE, ставишь только ее, у тебя сразу и редактор, и весь тулчейн, и редактор.
Аноним 04/02/20 Втр 13:33:33 1591388418
>>1591387
>, и редактор.
, и дебаггер, самофикс
Аноним 04/02/20 Втр 14:25:59 1591447419
Аноним 04/02/20 Втр 14:45:22 1591475420
>>1590737
Перенос строки. Язык может быть любой, хоть шарп хоть жава.
Аноним 04/02/20 Втр 17:15:14 1591698421
>>1591387
> и на все вопросы
Какие вопросы? Там были лишь заведомо ложные утверждения.
> Как раз - фактически это единственная IDE, ставишь только ее, у тебя сразу и редактор, и весь тулчейн, и редактор.
В студии есть рабочие нагрузки, так что можно вполне себе поставить студию без компилятора.
Тащемта CB, насколько я помню, тоже поставляется со всей этой хуетой.
Аноним 04/02/20 Втр 19:02:43 1591783422
Аноним 04/02/20 Втр 21:15:44 1591890423
>>1591097
>>1591105
Кроме студии с шаблонами везде беда, двачую анона
Аноним 04/02/20 Втр 21:18:47 1591891424
>>1589977
По моим наблюдениям, есть несколько человек, которые десятилетиями сидят и есть остальные, которые каждый год сменяются
Аноним 05/02/20 Срд 00:31:13 1591978425
>>1591890
У меня в свежей студии после шаблонной мангии intelliSense глючит, порой вообще отказывается синтаксис светить. Хз что делать, наверное, буст его перегружает
Аноним 05/02/20 Срд 02:54:35 1592038426
>>1589466
Может быть это неочевидно, но при смене стандарта, есть ломающие изменения, когда программа просто не соберется из-за изменившейся сигнатуры функции в стандартной библиотеке.
Но, кроме этого, меняются некоторые правила, например, вывода типов в шаблонах. Из за чего может поменяться семантика некоторых выражений. То есть, ты или кто то еще пишет строчку, подразумевая одно поведение, а оно с разными флагами отличается. Сам я примеров не приведу, но вот тут - вызовется другая перегрузка функции https://stackoverflow.com/questions/6399615/what-breaking-changes-are-introduced-in-c11
А вот тут содержимое объектов поменялось с уникального на одинаковое для всех https://stackoverflow.com/questions/5759232/stdvector-default-construction-c11-and-breaking-changes/5759296
Вот еще разное поведение constexpr https://stackoverflow.com/questions/23980929/what-changes-introduced-in-c14-can-potentially-break-a-program-written-in-c1
Так что кому то придется каким то образом просмотреть все строчки кода и используемых библиотек (или надеяться что все покрыто тестами)
Аноним 05/02/20 Срд 09:36:18 1592091427
>>1591978
От жидбрейнс плагин установи для студии и попердоль оптимизацию, у меня вроде как перестало лагать, но время загрузки проекта увеличилось.

Аноним 05/02/20 Срд 09:53:31 1592093428
>>1592091
Какого размера солюшн?
у меня на 200 проектов загружается где-то минуту, если почистить кеш, то минуты три
Аноним 05/02/20 Срд 11:07:33 1592110429
Снимок4.PNG (87Кб, 1365x630)
1365x630
Снимок2.PNG (21Кб, 541x371)
541x371
Снимок.PNG (37Кб, 617x462)
617x462
Снимок3.PNG (68Кб, 1047x526)
1047x526
Объясните пожалуйста дураку, как сделать...

У меня есть класс Socket. Я хочу, чтобы когда он принимал соединение, он возвращал шейрд указатель на объект класса Connection, который бы сразу и конструировал из хэндла, полученного функцией WinSock. В свою очередь объект класса Connection содержит в себе Socket. Я пытался сделать через форвард декл., но не выходит. В Socket.cpp заинклюжен Socket.h, а в него Connection.h, что не дает мне заинклюдить Socket.h в Connection.h. Как такое делается?
Аноним 05/02/20 Срд 11:23:27 1592116430
Аноним 05/02/20 Срд 11:24:47 1592119431
>>1592110
>>1592116
А, лол, глаза замылились уже - в Connection.cpp забыл добавить #include "Socket.h"
Аноним 05/02/20 Срд 11:30:04 1592123432
>>1592119
Поставь решарпер++ - он тебе такие вещи сам показываь будет
Аноним 05/02/20 Срд 11:35:00 1592125433
>>1592123
Нвидиа-кун, если это ты, я помню твой гайдлайн <3
В планах, сейчас пока пилю этот чат как тестовое на джуна, и руки не доходят.
Аноним 05/02/20 Срд 16:38:10 1592360434
>>1592110
if(acceptedConnectionHandle=INVALID_SOCKET){...

Мы вам перезвоним
Аноним 05/02/20 Срд 16:50:32 1592366435
>>1592360
Что не так? Задефайнил как -1 на *nix
Аноним 05/02/20 Срд 17:01:32 1592371436
Поясните, как лучше написать. Есть такой набор строк:
test[1] = function[1,2,3,a,b,c];
...
test[10] = function[4,3,6,e,f,g];
была идея завести отдельную структуру для параметров функции и итерировать по ней.
Аноним 05/02/20 Срд 17:51:31 1592408437
>>1592366
у тебя присваивание вместо проверки на четвертом скрине
Аноним 05/02/20 Срд 17:55:10 1592411438
Аноним 05/02/20 Срд 17:59:06 1592414439
>>1592110
Деструктор нужен, если хранишь unique_ptr и хочешь forward declare.
Деструктор в cpp разумеется.
Аноним 05/02/20 Срд 18:08:56 1592430440
Аноним 05/02/20 Срд 20:05:28 1592518441
>>1592123
>решарпер++
У тебя куча ошибок в слове "вижуал ассист"
Аноним 05/02/20 Срд 20:19:00 1592536442
>>1592518
> вижуал ассист
Хуйня для быдла.
Аноним 05/02/20 Срд 21:26:04 1592598443
Хочу вкатиться в Embedded на С/С++

Есть опыт работы с Ардуинами также чуток Мплаб (ПИКи) и чуток Андроид. Большой опыт в промышленной автоматике и чуть меньше в электронике.

Посоветуйте как вкатываться, что читать/ учить.
Аноним 05/02/20 Срд 22:13:32 1592675444
Сап, программисты. Вопрос по QProccess. По нажатию на кнопку, я запускаю скрипт python. Все работает нормально некоторое время, но потом Qt закрывает скрипт, не дождавшись его окончания. Скрипт для дефолтного вывода графика. В чем может быть проблема?
Ошибка QProcess: Destroyed while process ("python3") is still running.
Мой
QProcess
p.start("python3",{"draw3d"});
p.waitForFinished();
Аноним 05/02/20 Срд 22:16:09 1592680445
>>1592675
Лол, я довен
waitForFinished ждет 30 секунд только
waitForFinished(-1) ждет сколько угодно
Аноним 06/02/20 Чтв 12:55:49 1593102446
Есть функция принимающая ссылку на вектор, как рекурсивно вызывать эту функцию? Надо например каждый раз тот же вектор обрезать с краев.
Аноним 06/02/20 Чтв 13:06:13 1593122447
>>1593102
Сделать так, чтобы функция принимала итераторы на начало и конец.
Аноним 06/02/20 Чтв 13:07:36 1593124448
>>1593122
Функция уже задана, ее не поменять
Аноним 06/02/20 Чтв 13:12:39 1593133449
>>1593102
>Надо например каждый раз тот же вектор обрезать с краев.
Вектор так не умеет, вроде бы. Ты либо делаешь новый вектор (меняешь уже имеющийся) на каждой итерации, либо создаёшь свой тип / передаёшь итераторы.
Аноним 06/02/20 Чтв 13:33:21 1593155450
>>1593102
передавай итераторы
Аноним 06/02/20 Чтв 14:30:36 1593278451
>>1593133
>Вектор так не умеет, вроде бы.
erase

Но передавать изменяемый вектор по ссылке при рекурсии - сомнительное решение, это будет или куча багов или легко меняется на цикл.
Аноним 06/02/20 Чтв 14:35:07 1593286452
Аноним 06/02/20 Чтв 19:11:11 1593596453
почему такой код не работает
while(std::getline(input,str))
if(str == "\n") std::cout << "\n"
Аноним 06/02/20 Чтв 19:16:13 1593602454
>>1593596
А что он у тебя должен делать, выводить столько символов переводов строки, сколько в введенном тексте? Очень полезно.
std::cin.ignore();
Аноним 06/02/20 Чтв 19:29:25 1593607455
Поясните когда следует добавлять const у метода класса? Допустим я пишу обертку над сишным FILE* да я знаю про fstream. У меня есть функция записи в файл, в которой я передаю указатель по значению в сишный fprintf. Компилятор позволяет мне объявить этот метод константным, сами поля класса при этом не изменятся, но поведение класса изменится. При следующей записи он уже будет писать в файл с другим смещением. Так вот следует ли в такой ситуации оставлять const?
Аноним 06/02/20 Чтв 19:50:33 1593614456
>>1593607
ты не меняешь значение FILE* - по-этому можно. ебануто, да
Аноним 06/02/20 Чтв 20:17:24 1593632457
изображение.png (6Кб, 244x255)
244x255
изображение.png (2Кб, 371x63)
371x63
>>1593607
const в методах нужен (можно поставить), когда ты не изменяешь не-mutable поля класса, не вызываешь других не-const методов и всё в таком роде.

Константный указатель не есть указатель на константу - если у тебя класс содержит указатели - можешь сколько угодно изменять значения на которые они указывают. FILE - простая структура, указатель на неё ничем не отличается от указателя на число. Ты не сможешь использовать fprintf, только потому что у него в объявлении нет const, но фактически сам указатель ты передаёшь по значению и у функции просто нет возможностей его (указатель) изменить (const в объявлении аргумента функции влияет только на возможности записи в этот аргумент внутри функции и существенный смысл имеет только вместе с ссылками). Ещё ты можешь поставить const_cast<FILE✲>(f1) вместо f1 если понимаешь что ты делаешь и зачем тебе это нужно, и тогда ты сможешь использовать fprintf вместе с const FILE✲.

Ещё по большей части const нужен для людей, просто чтобы не ошибиться лишний раз, компилятору более-менее без разницы и если ты не записываешь значения в переменную он и так может провести оптимизацию во многих случаях.
Аноним 06/02/20 Чтв 20:23:48 1593641458
Аноним 06/02/20 Чтв 21:01:08 1593682459
image.png (19Кб, 363x433)
363x433
>>1593632
Ну вот тут например я по могу использовать fprintf в константном методе, передавая туда неконстантный указатель. Но в то же время я не могу использовать константный указатель т.к. fprintf принимает неконстантный.
Аноним 06/02/20 Чтв 21:15:46 1593692460
>>1593682
Если логически это не const, то и не делай const.
Аноним 06/02/20 Чтв 21:16:04 1593693461
>>1593682
Ну так прикрути const_cast, если тебе нужен константный - в действительности указатель всё-равно не изменяется.
Аноним 06/02/20 Чтв 21:16:42 1593694462
>>1593693
Или не прикручивай, если не нужен. Я бы не стал.
Аноним 06/02/20 Чтв 22:07:51 1593776463
Поясните, есть два цикла выдающих инфу:
AAAAAA
BBBBBBBB
Как попроще получить (без промежуточных хранилищ) из этого
ABABABABABBBBB
Аноним 06/02/20 Чтв 22:47:59 1593819464
Аноним 07/02/20 Птн 00:45:23 1593902465
>>1593819
Есть есть заготовочка, где настроена обёртка вокруг winapi для создания окна, инициализации опенгля и вывода текста, то побью его (за 20 часов кодинга)!
Аноним 07/02/20 Птн 00:48:11 1593903466
>>1593902
>обёртка вокруг winapi для создания окна
Зойчем, когда есть glfw?
Аноним 07/02/20 Птн 00:50:29 1593905467
>>1593819
Но вообще совсем не впечатляет. У него десять текстур, статичные блоки и простой генератор мира. Интерфейса или ещё чего-то нет, показан только режим полёта (прыгать по кубам нельзя). Сделаю за три-пять часов плюс-минус такое. Могу с записью, если ты хочешь поспорить со мной.

>>1593903
Не знаю что это.
Аноним 07/02/20 Птн 03:09:00 1593935468
>>1593607
Тоже задумывался над этим вопросом, когда писал свой враппер над FILE. Решил сделать read и write константными, просто потому, что сырой константный FILE тоже можно писать и читать. Получилось прикольно в том плане, что можно передать куда-то const File&, и это будет означать "можешь писать и читать, но не можешь закрыть и переоткрыть".
Хотя потом оказалось, что такой подход плохо расширяется — захочешь вместо File передать другую читалку-писалку, а у неё read и write уже могут быть не константными.
Аноним 07/02/20 Птн 03:09:57 1593936469
>>1593935
бля, парные звездочки после FILE превратились в курсив
Аноним 07/02/20 Птн 03:44:32 1593940470
Слышали про статью "the camel has two humps"? Что думаете?
Аноним 07/02/20 Птн 06:16:59 1593968471
>>1593607
Константными можно делать методы вроде .size(), .readPos()

Когда ты читаешь из файла, ты меняешь позицию указаетля чтения. Так что хотя технически метод чтения можно сделать константным, логически он меняет объект.
Аноним 07/02/20 Птн 07:27:10 1593989472
PongIntro.jpg (6Кб, 650x351)
650x351
Аноны, я тут пытаюсь устроится на работу джуном C++ и мне с ходу выслали тз, сделать игру Pong без движков, + обязательно должен быть режим битвы против бота. К тому же назвали всё это очень простым тз. Я конечно кое-как сделаю скорее всего эту игру, но не слишком ли это большие требования для джуна? Если это простая задача, то что ждет меня дальше.
Аноним 07/02/20 Птн 07:31:56 1593992473
>>1593989
Задача простая, но объемная. Ничего сложного, но придется потратить время, день-два. Хорошее задание, интересное.

В принципе отрисовку можно сделать на GDI в виндоусе, и вообще все сделать тупо на Windows API

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

Постарайся в коде не сделать хуйню вроде текущих ресурсов (будь внимателен к исключениям) или битых ссылок.
Аноним 07/02/20 Птн 07:35:12 1593994474
>>1593992
Я хотел сделать на DirectX(это же нельзя отнести к категории движков?), в любом случае собираюсь делать конечно, даже если не возьмут, получу хоть какой-то опыт.
Аноним 07/02/20 Птн 07:38:48 1593995475
>>1593994
DirectX тоже пойдет, это не движок. Хотя это оверкил, тебе надо нарисовать 2 прямоугольника, линию и кружок. Почитай у Петцольда про GDI, у тебя реально всю отрисовку можно в 10-20 строчек уместить.


Аноним 07/02/20 Птн 07:44:39 1593997476
>>1593989
А можно мне тоже такие тз будут давать? Хорошее задание.
Аноним 07/02/20 Птн 07:56:20 1593998477
>>1593989
Вообще расскажи подробнее, если не сложно. Я просто десять лет кодю, но никогда не работал, потому что хикка социофоб, но нужно как-то устраиваться. Твоё задание кажется очень простым, но когда я попробовал приходить на собеседование, меня спрашивали что я знаю, и я не мог ни про что сказать, что я что-то знаю, потому что в чём угодно есть много вещей и дополнительных функций, которые я не знаю - я честно так и отвечал, что имею какой-то опыт работы с тем-то, с этим, после чего меня благополучно посылали.
Аноним 07/02/20 Птн 07:59:23 1593999478
>>1593998
Я тоже никогда ещё не работал, сейчас на 2 курсе учусь и просто разместил свое резюме и потом уже со мной связались, собеседования ещё не было, оно после выполнения тз.
Аноним 07/02/20 Птн 08:58:00 1594021479
>>1593995
>>1593989
Можно взять тот же imgui чисто для рисования, не думаю, что это могут посчитать готовым движком.
Аноним 07/02/20 Птн 11:38:14 1594108480
>>1593989
Без движков? Без б, ебани в консоли ascii графикой.
Я так "жизнь" сделал.
Три совета для скорости печати: собирай в релизе, ставь в консоли курсор на левый верхний угол и печатай каждый раз один раз одно и то же количество символов(они будут перекрывать друг друга, быстрее, чем очищать вывод) и печатай сразу все, что есть для отрисовки, а не построчно.
Аноним 07/02/20 Птн 11:50:02 1594115481
>>1594021
Могут и не посчитать, но сам факт сторонней либы может понизить "рейтинг", если у них несколько кандидатов.
Аноним 07/02/20 Птн 12:15:46 1594129482
image.png (19Кб, 328x476)
328x476
Поясните за эту хуйню, почему я могу использовать функцию из неймспейса не указывая этот самый неймспейс просто потому что я в нее посылаю аргумент, тип которого объявляется в этом же неймспейсе? Это типо так и должно быть?
Аноним 07/02/20 Птн 12:21:15 1594134483
>>1593989
Ну загугли, хули ты как маленький. Немного код укрась и готово.
Аноним 07/02/20 Птн 13:11:56 1594168484
Аноним 07/02/20 Птн 13:59:50 1594194485
>>1594129
В первой строке test-a ты (обосрал себе штаны) объявил новую функцию, а не вызвал существующую из zalupa
Аноним 07/02/20 Птн 14:03:33 1594197486
>>1594194
А хотя нет, это я кал уронил, там же нет ret type
Аноним 07/02/20 Птн 14:32:17 1594217487
>>1593776
бампую вопрос, т.к. до сих пор использую вектор в котором храню значения из первого цикла в нечетных местах, а значения из второго цикла в четных, а потом вывожу это в файл.
Аноним 07/02/20 Птн 14:40:23 1594221488
>>1594217
Чем тебя не устраивает это решение?
Аноним 07/02/20 Птн 15:03:25 1594233489
>>1594168
Нахуя это вообще так сделали? А если у меня в глобальном неймспейсе функция с таким же названием, то какая из них вызовется?
Аноним 07/02/20 Птн 15:04:06 1594236490
>>1594217
Делаешь один цикл, где на каждой итерации записываешь два значения, а когда одно из условий нарушается - выходишь из цикла и добиваешь всё оставшимися A или B в зависимости от нарушенного условия? Удобнее через while.
07/02/20 Птн 16:42:54 1594308491
Хочу стать волшбником, чтобы быдло текло, а тянки боялись. Какие для этого макросы надо знать?
Аноним 07/02/20 Птн 16:49:11 1594313492
Аноним 07/02/20 Птн 17:50:42 1594381493
>>1594308
>макросы
Триграфы учи. ??/??/
Аноним 07/02/20 Птн 17:51:55 1594382494
>>1594381
> Триграфы
Депрекейтед.
Аноним 07/02/20 Птн 17:52:55 1594384495
Аноним 07/02/20 Птн 17:54:01 1594387496
>>1594134
>Немного код украсть и готово.
Пофиксил.
Аноним 07/02/20 Птн 17:54:53 1594388497
>>1594233
Иначе всякие пользовательские операторы + - * и и.д. работать не будут нормально
Аноним 07/02/20 Птн 17:56:48 1594393498
>>1593940
Загуглил, давно читал, да, есть те кто может и кто не может. Не считаю это чем то плохим, я например рисовать не умею, а другие умеют.
Хотя думаю с 2006 прошло много времени и умеет больший процент, тупо потому что больше пользуются электронной техникой.
Аноним 07/02/20 Птн 18:03:06 1594400499
>>1594233
Чтобы не писать всю эту дрисню
std::operator<<(std::cout, "Hello, world").operator<<(std::endl);
Аноним 07/02/20 Птн 18:38:21 1594439500
>>1593905
>Но вообще совсем не впечатляет.
Он первым сделал демонстративный пример на крестах, все норм
>У него десять текстур, статичные блоки и простой генератор мира.
Больше всего он ебался с созданием окна и правильным отображением мира, только в конце уже можно было бы что-нибудь добавить
>Сделаю за три-пять часов плюс-минус такое. Могу с записью, если ты хочешь поспорить со мной.
На что споришь?
Аноним 07/02/20 Птн 19:07:43 1594491501
>>1594387
Шизик воришка, ты? Копирование не воровство, сколько раз тебе говорить.
Аноним 07/02/20 Птн 19:12:27 1594496502
Не даёт покоя пикча, где типа совершенство использования c++ - использовать си. и линукс блядский на сишке Сука блять, с++ же силен либами и всяким ьаким говном. Я например использую Eigen и не представляю даже, сколько страшной ебли было бы на си. Или я ошибаюсь, и сишка совершенна?
07/02/20 Птн 19:13:52 1594500503
Аноним 07/02/20 Птн 19:14:08 1594501504
>>1594496
Не слушай сектантов плиз, с++ как раз и полезна тем, что много абстракций добавлено и либ спрограммировано.
Аноним 07/02/20 Птн 19:16:32 1594506505
>>1594496
У С в 2020 году есть 2 юзкейса.
1. Отсуствие компилятора С++ под твою платформу
2. Экспозинг extern C интерфейсов для FFI других языков\компиляторов.

Все, больше нахуй нигде не сдалось, не слушай луддитов.
Аноним 07/02/20 Птн 19:18:36 1594507506
15723753740901.png (61Кб, 270x186)
270x186
Сап программач. Какие есть годные книги/сайты для изучения gtk?
Аноним 07/02/20 Птн 19:36:40 1594529507
>>1594506
Иронично, что C++ предназначен быть полезным в куче юзкейсов, когда очевидно, что в еще большей куче он не подходит, то этот ИТТ петуховен так уверен в себе.
Аноним 07/02/20 Птн 19:38:06 1594532508
>>1594501
Жаль что все либы с++ написаны в разном стиле и с разным интерфейсом, считай на 10-ке разных диалектов. Ну и на сях либ то наверное побольше.
Аноним 07/02/20 Птн 19:38:36 1594533509
>>1594529
Назови хоть 1 юзкейс, где С лучше чем С++, за исключением двух, перечисленных мной
Аноним 07/02/20 Птн 19:38:40 1594535510
>>1594529
Вообще нет ни одного кейса где модерн с++ бы не подошел.
Аноним 07/02/20 Птн 19:42:01 1594545511
>>1594533
Жесткое ограничение на размер шеллкода, например.

>>1594535
Вообще нет ни одного кейса, где бы Java не подошла.
Аноним 07/02/20 Птн 19:45:27 1594553512
>>1594545
> Жесткое ограничение на размер шеллкода, например.
Ты вполне можешь получить такой же размер, как в си. Минус РТТИ, минус эксепшены - пожалуйста.

Но мы тут, все таки про разработку полноценную, а не упражнения

> Вообще нет ни одного кейса, где бы Java не подошла.
Напишешь мне кернел драйвер виндовый на джаве? Я на С++ пишу вот щас сижу.
Аноним 07/02/20 Птн 19:50:36 1594559513
>>1594553
>Ты вполне можешь получить такой же размер, как в си. Минус РТТИ, минус эксепшены - пожалуйста.
Скажи мне, ты в своем уме? В Си у меня на выбор кучи заменяющих libc библиотек, из которых можно взять только самое нужное, в C++ мне нужно будет тащить весь libc++ без альтернатив, не говоря уже о том, что там все завязано на работу с памятью, а это означает еще библиотеки, заменяющие работу с памятью ОС.

>Но мы тут, все таки про разработку полноценную, а не упражнения
Ясно @ понятно. Настоящая разработка ведется исключительно в винде. Спасибо, что пояснил.

> Напишешь мне кернел драйвер виндовый на джаве?
Не вижу никакой причины не захуярить JVM прямо в драйвер.
Аноним 07/02/20 Птн 19:53:59 1594561514
>>1594559
>драйвер
>GC
Проиграно.
Аноним 07/02/20 Птн 19:56:57 1594563515
>>1594561
> Не знает про расширения JVM для риалтайма
> пук
Аноним 07/02/20 Птн 19:57:54 1594566516
>>1594559
у тебя и в С и в С++ можно линковаться только на платформенное АПИ вообще без какого-либо рантайма, если ты не в курсе.

> Ясно @ понятно. Настоящая разработка ведется исключительно в винде. Спасибо, что пояснил.
Не передергивай, любой большой проект на любой ОС.

> Не вижу никакой причины не захуярить JVM прямо в драйвер.
Ну, как захуяришь - свисни.
Аноним 07/02/20 Птн 20:06:30 1594574517
>>1594439
Да не на что.
На репутацию моей критики в том посте. Не получится - тот тип с ютуба молодец, а я хуесос; получится - я молодец, и тот тип тоже молодец, потому что сделал видео и привнёс что-то интересное в этот мир. В конце концов я то уже знаю что нужно сделать, а он может быть тыкался ещё не видя конечного результата.
Аноним 07/02/20 Птн 20:13:22 1594578518
>>1594566
>у тебя и в С и в С++ можно линковаться только на платформенное АПИ вообще без какого-либо рантайма, если ты не в курсе.
И? Нахуя мне C++ без библиотек и исключений?

>Ну, как захуяришь - свисни.
Лол, ты себя илиткой считаешь, чтоле?
Такой-то гонор, и нихуя по существу вопроса, а все заявления основаны на кодинге под одну платформу.
Аноним 07/02/20 Птн 20:17:39 1594585519
>>1594566
>у тебя и в С и в С++ можно линковаться только на платформенное АПИ вообще без какого-либо рантайма, если ты не в курсе.
Попробуй, кстати, написать что-то нетривиальное на том же C без рантайма под ту же винду. Тебя ждет мир удивительных открытий типа необходимости реализовывать свой memset, например.
Аноним 07/02/20 Птн 20:35:32 1594601520
>>1594578
>И? Нахуя мне C++ без библиотек и исключений?
Шаблоны, классы.

>>1594585
В настройках компилятора просто ставишь статичную линковку(MT) и и у тебя весь рантайм сам встроится в твое приложение используя исключительно winapi.
Аноним 07/02/20 Птн 20:38:02 1594604521
>>1594578
> И? Нахуя мне C++ без библиотек и исключений?
Хотя-бы ради классов. RAII и инкапсуляция - это такая киллерфича, что на этом можно закончить. В чистом СИ ты в лучшем случае будешь как майкрософт GOTO cleanup делать.

Считай - тот же си, только с классами, шаблонами и прочим сахарком типа лямбд, и о боги, даже распаковкой аггрегатов в structured bindings - это все удобно, и не требует рантайма.

> Лол, ты себя илиткой считаешь, чтоле?
Хорошо сманеврировал. Но я еще посмотрел бы на потуги писать на джаве драйвера, особенно с использованием многопоточки. Как бы ты там сочно половил бсодов с IRQL violation'ами.

> Такой-то гонор, и нихуя по существу вопроса, а все заявления основаны на кодинге под одну платформу.
Кто тебе сказал такое? Я писал под линукс на крестах охуевший high performance. 98% кода красиво и абстрагировано, 2% (исполняющиеся 99% времени) выдрочены до замеров промахов кэша процессора. Но да, винду я знаю сильно лучше, этого отрицать смысла нет.

> Попробуй, кстати, написать что-то нетривиальное на том же C без рантайма под ту же винду. Тебя ждет мир удивительных открытий типа необходимости реализовывать свой memset, например.
Да без проблем вообще. В кернеле есть крошечные куски сишного рантайма, анивей, использую кернел апи, а сверху уже нашлепал нормальных абстракций, тот же operator new, например. Обернуть сишное апи - получаем хороший С++.
Аноним 07/02/20 Птн 20:40:09 1594608522
>>1594604
> Обернуть сишное апи - получаем хороший С++.
Перефразирую - обернуть платформенное сишное апи - получаем хороший С++, даже сишные либы не нужны нахер.
Аноним 07/02/20 Птн 20:43:52 1594614523
>>1594601
>Шаблоны, классы.
Макросы, структуры.
Реальный профит от C++ начинается с возможности использовать RAII и исключений для обработки ошибок.

>>>1594585
>В настройках компилятора просто ставишь статичную линковку(MT) и и у тебя весь рантайм сам встроится в твое приложение используя исключительно winapi.
Без рантайма, не статисчная линковка, а без рантайма.

>>1594604
RAII без исключений не дает профита.
И да, в C я именно, что делаю goto, а хуле ты хотел-то? Выбора нет.
Ну а инкапсуляция это приятный бонус, решения о выборе языка не принимаются на таком основании.

>Да без проблем вообще. В кернеле есть крошечные куски сишного рантайма
Вся суть, а совсем без рантайма твой любимый VS начнет смачно обсираться и звать маму.
Аноним 07/02/20 Птн 20:48:21 1594622524
>>1594604
Сколько платят за такой скиллсет сейчас?
Аноним 07/02/20 Птн 20:50:57 1594628525
>>1594614
>Макросы
Хуйня, не сравнится с шаблонами
>структуры
Нет RAII
>RAII без исключений не дает профита.
Действительно, вот у меня есть функция которая возвращает какой-нибудь важный ресурс, в си мне придется КАЖДЫЙ раз вручную его освобождать, а в с++ я могу обернуть его в RAII и все.
Аноним 07/02/20 Птн 20:51:21 1594630526
>>1594614
> RAII без исключений не дает профита.
RAII дает профит всегда, потому-что тебе не надо думать об освобождении ресурсов - привет GOTO cleanup. ты можешь думать на более высоком уровне абстракции, там где нужно. И опускаться во врапперах на более низкие. Те же хэндлы и прочие opaque поинтеры.

> Вся суть, а совсем без рантайма твой любимый VS начнет смачно обсираться и звать маму.
Еще раз, для необучаемых - ВС умеет в компиляцию native приложений, когда еще даже Winapi нету, не говоря уж о рантайме, только Native api. В драйверах есть майкрософтовские бастарды, сишного ни рантайма, ни библиотеки нету. Студия отлично справляется.

В который раз смачно обсираешься, абсолютно не зная винду, но продолжаешь это делать. Зачем?

>>1594622
Очень сильно зависит от конторы. Кому-то 50к в НИИ, мне 400к+. В касперском можно вроде 200-250 выбить.
Аноним 07/02/20 Птн 20:56:27 1594634527
>>1594630
>В который раз смачно обсираешься, абсолютно не зная винду, но продолжаешь это делать. Зачем?
Обсираешься здесь лишь ты, т.к. из-за своего ЧСВ даже не можешь понять, о чем пишешь. При компиляции драйвера VS добавляет свой псевдо-рантайм, без рантайма он не будет находить тривиальные функции во время линковки, которые ему нужны просто так, блеать, из-за того, как компилятор генерирует код.
Вообще, я угараю с твоего ЧСВ, маня, ты думаешь, что один тут драйверы писал? Так-то понятно, что в Рашке среди говна легко чувствовать себя таким царьком, но включи мозг-то.
Аноним 07/02/20 Птн 20:59:28 1594639528
>>1594630
>RAII дает профит всегда, потому-что тебе не надо думать об освобождении ресурсов - привет GOTO cleanup.
А, и еще раз.
goto нужен только в случае обработки ошибок, другими словами — реальный профит от RAII, а не отсутствие необходимости вызвать лишнюю функцию для освобождения ресурсов, начинается с возможности использовать исключения для обработки ошибок.
Про абстракции и врапперы он мне тут рассказывает, лол. Жену поучи щи варить, петуховен.
Аноним 07/02/20 Птн 21:00:49 1594641529
>>1594634
>без рантайма он не будет находить тривиальные функции
Какие блять тривиальные функции? Ты хоть перечисли несколько. Почему я спокойно пишу драйвер и могу юзать хэш карты, вектора и т.д.?
Аноним 07/02/20 Птн 21:01:03 1594642530
>>1594639
> goto нужен только в случае обработки ошибок, другими словами — реальный профит от RAII, а не отсутствие необходимости вызвать лишнюю функцию для освобождения ресурсов, начинается с возможности использовать исключения для обработки ошибок.
Ладно, здесь уже можно закончить. Удачи с дипломом.
Аноним 07/02/20 Птн 21:03:45 1594648531
Аноним 07/02/20 Птн 21:05:13 1594652532
>>1594642
Просто типичнейший рашкопрограммист в вакууме.
ЧСВ, неспособность к коммуникации, неадекватность в общении — все на месте.
Аноним 07/02/20 Птн 21:06:27 1594653533
>>1594652
да, да, считай как хочешь. Я понял, что ты невменяемый, и сраться с тобой смысла 0.
Аноним 07/02/20 Птн 21:09:44 1594659534
>>1594653
Ты понял, что обосрался по всем пунктам, и сейчас у тебя бомбит от осознания собственной профессиональной несостоятельности. Пишешь драйверы и не понимаешь, как генерируется код, лол. В своем узкоспециализированном домене не знать, что VS вставляет вызовы в CRT где попало — это нужно быть типичнейшим кодомакакой, хоть и от C++, лол. Не знать, зачем на самом деле нужен goto в C — аналогично. Ты просто привык понтоваться умными словами перед джунами, но чем-то их подкрепить не в состоянии.
Аноним 07/02/20 Птн 21:11:03 1594661535
>>1594659
продолжай, продолжай. Ну, как минимум курс операционных систем в вузике ты не проспал, но судя по всему, продакшен код еще не писал.
Аноним 07/02/20 Птн 21:11:06 1594662536
>>1594648
И в чем проблема? Реализуешь эти функции сам и все.
Аноним 07/02/20 Птн 21:12:31 1594666537
>>1594661
>Ну, как минимум курс операционных систем в вузике ты не проспал, но судя по всему, продакшен код еще не писал.
Good, good, let the butthurt flow through you.

>>1594662
Для этого надо хотя бы понимать суть проблемы, а не как этот петуховен, код работает и ладно, лол.
Аноним 07/02/20 Птн 21:13:58 1594670538
>>1594666
Ты слишком любишь слово ПЕТУХОВЕН. Под шконарем слушал радио классику? Такой смешной.
Аноним 07/02/20 Птн 21:15:10 1594674539
>>1594670
Туда ли ты зашел, петушок?
Зачем сидишь на двачике, ньюфажик? С коллегами общаться не в состоянии, они неспособны понять твой ОБВМ?
Аноним 07/02/20 Птн 21:18:34 1594677540
38225a.jpg (67Кб, 500x651)
500x651
Аноним 07/02/20 Птн 21:18:42 1594678541
>>1594674
С коллегами я на работе общаюсь, а на двачиках\ментачиках\сосачиках\педаликах я уже лет 12 сижу.
Но ты смешно проецируешь.
Аноним 07/02/20 Птн 21:20:26 1594680542
>>1594678
С коллегами я на работе общаюсь, а на двачиках\ментачиках\сосачиках\педаликах я уже лет 12 сижу — раздался пронзительный голос со стороны параши.

Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?

Петух — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём банку сгущёнки.
Аноним 07/02/20 Птн 21:21:07 1594684543
>>1594680
Спасибо, насмешил. Клоунада - это твое, в отличии от С++.
Аноним 07/02/20 Птн 21:22:37 1594685544
>>1594684
«В отличие от», безграмотный школотунчик с ЧСВ.
Аноним 07/02/20 Птн 21:23:21 1594688545
>>1594685
Доебы до орфографии! Отлично! Что же еще меня ждет этом восхитительном диалоге?
Аноним 07/02/20 Птн 21:23:56 1594689546
>>1594688
>Доебы до орфографии!
Ты точно туда зашел, петушок?
Аноним 07/02/20 Птн 21:24:59 1594694547
>>1594689
Тюремная тема? Ну, отлично. Я смотрю ты много о петухах и их жизни знаешь. Батя сидел, или сам по малолетке?
Аноним 07/02/20 Птн 22:09:32 1594729548
>>1594496
>сколько страшной ебли было бы на си
Берёшь блас с лапаком и не паришься.
Аноним 07/02/20 Птн 22:15:56 1594734549
Не забывайте ребятки, что тюремную культуру принесли русские евреи незадолго перед революцией. Если вы куколды и гои, то окей хуле.

>>1594574
А вообще хочется разработать такую же игру, примерно. Тут огромный простор для творчества, на самом деле. Вот в мажонг не попадешь, да и они сами на жава пишут. Вот интересно, есть идеи у тебя какие либо?
я думаю в майнкрафте мало экшена и реального выживания, думаю может что-то похожее запилить.
Аноним 07/02/20 Птн 22:17:54 1594735550
>>1594734
>Не забывайте ребятки, что тюремную культуру принесли русские евреи незадолго перед революцией.
Именно поэтому пидарашки в любом закрытом коллективе устраивают анальную иерархию, а в израильской армии дедовщина отсутствует, как класс, лол.
Аноним 07/02/20 Птн 22:22:04 1594738551
Аноним 07/02/20 Птн 22:25:11 1594740552
Аноним 07/02/20 Птн 22:30:13 1594742553
>>1594734
Зачем вообще с нуля разрабатывать свой движок и потом на нем еще и игру? Есть UE, Unity, не хочу, хочу жрать говно и пилить свой велосипед.
Аноним 07/02/20 Птн 22:31:26 1594743554
>>1594742
Это достаточно неплохой образовательный проект.
Аноним 07/02/20 Птн 22:44:43 1594749555
>>1594648
лол, какие же костыли все-таки
Аноним 07/02/20 Птн 22:46:12 1594750556
Аноним 07/02/20 Птн 22:57:24 1594759557
>>1594729
А чтобы оно мне само ещё и распараллелило? А вдруг видеокарта будет, и можно будет на ней посчитать?
Аноним 07/02/20 Птн 23:17:22 1594774558
Через что лучше пердолить Qt, а конкретно QtWidgets, книги или документация с примерами?
И ещё вопросик такой, что обычно означает в вакансиях: «знание Qt (QtWidgets/QtCore)»? Умение применять в реальных проектах?
Аноним 07/02/20 Птн 23:34:49 1594788559
Безымянный3.png (35Кб, 1729x806)
1729x806
Удалил .cpp файл, программа не определяет функцию, как виртуальную. Что делать?
Аноним 07/02/20 Птн 23:38:41 1594794560
>>1594742
Так весь кайф с нуля.
Аноним 07/02/20 Птн 23:43:29 1594803561
Аноним 08/02/20 Суб 00:21:07 1594867562
>>1594774
> Через что лучше пердолить Qt, а конкретно QtWidgets, книги или документация с примерами?
Через написание кода. А с чем ты будешь консультироваться при написании кода - похуй, но, наверное, с документацией.

> И ещё вопросик такой, что обычно означает в вакансиях: «знание Qt (QtWidgets/QtCore)»? Умение применять в реальных проектах?
Ты понимаешь, как работает мемори менеджмент в qt, сигналы\слоты, moc, uic, как рисовать гуй, как наследуются\переопределяются методы в qt и так далее.
Аноним 08/02/20 Суб 00:21:30 1594868563
>>1594788
Зачем тебе МАСТЕР КЛАССОВ? Пиши все это руками лол, 3.5 строчки
Аноним 08/02/20 Суб 00:22:45 1594870564
Аноним 08/02/20 Суб 00:36:10 1594881565
>>1594788
А где почитать вот про эту модульность, где классы в хедерах и отдельных cpp файлах реализуются, как они с главным файлом стыкуются и т.д.? А то я только маленькие делал пока только программы.
Аноним 08/02/20 Суб 00:43:11 1594885566
>>1594881
В любой книге по C/C++, модульность в Си очень примитивная на уровне препроцессора ее нет.
Аноним 08/02/20 Суб 00:50:31 1594893567
>>1581140
блять, а мне 80-летний препод на первом курсе говорил все что можно, даже небо, даже аллаха, по ссылкам передавать, чтобы память экономить, ну охуеть блядь, пойду читать.
Мимодругойанон
Аноним 08/02/20 Суб 01:06:39 1594909568
>>1594885
Похоже, что не в любой, учитывая, что я не знаю как это делать.
Аноним 08/02/20 Суб 01:08:22 1594912569
>>1594893
void foo(std::string name)
{
...
}

void bar()
{
string str;
foo(std::move(str));
}

80-летний дед то про это поди не рассказывал?
Аноним 08/02/20 Суб 01:09:49 1594914570
>>1594788
МАСТЕР КЛАССОВ?

Первый раз такую хуйню вижу.
Аноним 08/02/20 Суб 01:11:25 1594916571
>>1594909
Ну гугли #include, #pragma once, вот это все.
Аноним 08/02/20 Суб 01:14:18 1594918572
>>1594604
Последнее, если надо, если есть задача обоснованная, например, если у тебя железка какая-нить голая без ведра линуксовского, то делаешь и не выебываешься.

Бля, поставят задачу - написать линкер свой на работе - не думаю, что у нас кто-то скажет "ОХУЕТЬ КАК СЛОЖНА, ЭТО МЫ НЕ СМОЖЕМ".
Аноним 08/02/20 Суб 01:14:53 1594919573
>>1594885
Ну расскажи нам, что такое модульность.
Аноним 08/02/20 Суб 01:45:54 1594942574
>>1594919
Модульность это когда ты можешь просто, без задней мысли, импортнуть нужный модуль, очевидно же. Без сайд-эффектов на остальные включаемые модули, с инкапсуляцией объектов в каждом модуле. Как в жабе и Питоне.
Аноним 08/02/20 Суб 03:00:10 1594976575
>>1593989
Дополнили немного тз: разрешено использовать только сдл2.
Я сделал небольшую заготовку и у меня возник вопроса, я сделал управление таким образом(на пикче), но у меня нельзя одновременно двигать обе платформы, только 1, как решить эту проблему?
Аноним 08/02/20 Суб 03:00:45 1594977576
Screenshot1.png (16Кб, 590x402)
590x402
Аноним 08/02/20 Суб 03:48:27 1594989577
>>1594977
Ну покежь, что у тебя в enableMoveUp/Down
Аноним 08/02/20 Суб 04:09:54 1594994578
>>1581135
У меня на собедовании как-то кандидат инт по ссылке передавал с таким же объяснением.

Написал "не знает С++" в фидбеке.
Аноним 08/02/20 Суб 04:28:22 1594999579
Screenshot2.png (24Кб, 740x581)
740x581
>>1594989
Там enableMoveUp() { moveUp = true; }
А вот реализация самих методов
Аноним 08/02/20 Суб 04:42:22 1595002580
Screenshot3.png (25Кб, 708x542)
708x542
>>1594976
Всё, решил проблему вот таким методом
Аноним 08/02/20 Суб 04:46:14 1595005581
Аноним 08/02/20 Суб 05:07:06 1595011582
>>1595005
Это чтобы платформа двигалась быстро, но плавно
Аноним 08/02/20 Суб 05:58:32 1595021583
изображение.png (14Кб, 601x451)
601x451
>>1594742
Майнкрафт требует специфичного движка, у тебя куча кубов, которые даже в массиве нельзя хранить по нормальному и нужно в чуть ли не прямо в сжатом виде обрабатывать. Хранить кубы как объекты с разными виртуальными методами для камня и сундука не получится. Помимо этого графон там простой без эффектов, и ещё там нереальное количество специфичной геометрии без lod-ов. Движок почти ничего не даст, а если он делает какую-то дополнительную обработку, пытается геометрию разбить по дереву для оптимизации, то он утонет - по сути ты будешь писать всю механику без движка, а движок использовать лишь на 5% для создания окна, обработки мышки, и вывода меню и других элементов интерфейса. Оверкилл, в общем.
>Unity
>не хочу хочу жрать говно
На ноль поделил, кстати. Посмотри игры на юнити, даже очень простые игры вроде робокрафта лагают как не в себя, хотя выглядят на уровне 2005 года. Ksp и cities:skylines имеют утечки памяти и имеют проблемы с производительностью в очень странных местах (в cities:skylines например фпс увеличивается в два раза при скрытии интерфейса - то есть вывод двух панелек с текстом и цветными кнопками занимает ресурсов больше, чем рендер крупного района города).

>>1594734
>есть идеи у тебя какие либо
Нету.
Когда я когда-то очень давно играл в бету 1.5_01, я заблудился в пещерах и 8 часов искал выход переставляя факелы. Потом ещё метки на стенах рисовал (выкладывал из цветной шерсти), чтобы можно было ориентировать в пещерах. Это был самый интересный опыт игры. На что мне ребята сказали, что я глупый и нужно было просто проход наверх прокопать.
Вот мне кажется тут самое интересное что можно сделать - убрать возможность так просто копать унылые блоки, и добавить больше глубины в мир и более сложную организацию пещер. Когда ты заблудился - это перестаёт быть игровой условностью, потому заблудился ты сам, а не персонаж - и никакие "нарисованные" уровни или хорошая экипировка тут не помогут. Вот сделать что-то как на картинке по сложности, только объёмное, чтобы можно было месяц реального времени искать выход, если заблудился и всё развитие и геймплей сделать внутри этих пещер с конечной целью найти выход.
Аноним 08/02/20 Суб 09:23:21 1595048584
Кто-то рендерил цифры в SDL2? Можете показать как вы это делали?
Аноним 08/02/20 Суб 10:40:15 1595074585
>>1594912
Если строку не хранишь потом, то ты только что пустил жиденького в кодовую базу
Аноним 08/02/20 Суб 12:25:10 1595163586
>>1594912
неа, не рассказывал
Аноним 08/02/20 Суб 12:49:55 1595192587
Аноним 08/02/20 Суб 12:55:17 1595197588
>>1595021
Охуенно про майнкрафт расписал, действительно не хватает какого-то приключения, в котором ты не чувствуешь себя всемогущим.
Аноним 08/02/20 Суб 14:27:46 1595318589
>>1594559
> Не вижу никакой причины не захуярить JVM прямо в драйвер.
Бля, какие же сука Васяны в треде сидят, каждый раз ахуеваю.
Аноним 08/02/20 Суб 14:32:46 1595332590
>>1594604
О узнал нвидия-куна. Так ты все таки драйвера пишешь. Так и знал.

Аноним 08/02/20 Суб 15:05:25 1595388591
>>1594742
Движки идут во-первых с оверхедом ненужного тебе, во-вторых нехватающие технологии тебе все равно самому дописывать, в-третьих, они своими интерфейсами навязывают свой стиль кодинга, который может тебе не подходить.
Аноним 08/02/20 Суб 15:06:31 1595391592
>>1594614
В чем проблема использовать RAII без исключений? Условно говоря, в конструкторе проверяешь открылся ли файл, в деструкторе закрываешь.
Аноним 08/02/20 Суб 15:10:39 1595399593
>>1595332
Раньше драйвера писал, сейчас я одновременно на трех проектах, еще четвертый подсунуть хотят, и сбоку тыкают, чтобы ресерчил какую-то неведомую хуйню. Весело, короче.
Аноним 08/02/20 Суб 15:11:38 1595400594
>>1595048
У тебя есть два варианта, первый посмотреть как делается вывод SDL_ttf. Второй - просто рендерить картинки цифр. Вообще говоря, даже не обязательно картинки, их можно рисовать толстыми линиями-прямоугольниками, которыми ты рисуешь платформы.
Аноним 08/02/20 Суб 15:28:26 1595420595
>>1581135
Сейчас компеляторы умные стали, сами оптимизируют многое, поэтому на всяких конференциях советуют почти все передавать и возвращать просто по значению.
Аноним 08/02/20 Суб 16:41:10 1595505596
>>1595318
Васян здесь только ты, типичный пидорахен-вайтишник, не способный создать ничего принципиально нового. А люди, которые не ставят себе искусственные ограничения — делают.
https://dl.acm.org/doi/10.1145/1408654.1408657
Аноним 08/02/20 Суб 16:43:02 1595507597
>>1595391
Использовать можно, где профит?
Без исключений RAII удобен, не более того.
С исключениями он меняет весь стиль программирования.
Аноним 08/02/20 Суб 16:43:30 1595508598
>>1595399
Охренеть, ты и дома до ночи сидишь пишешь/читаешь что-то?
Аноним 08/02/20 Суб 16:45:05 1595510599
>>1595420
Сейчас бы полагаться на оптимизации компилятора в продакшене.
Аноним 08/02/20 Суб 16:55:16 1595514600
>>1595508
я прямо сейчас (в субботу, ага) сижу и тестирую говно, написанное в пятницу, т.к. задачек сильно больше, чем времени.

Ну, из хороших новостей лишь то, что в этом году скорее всего запромоутят до Senior II, ради этого и потею.
Аноним 08/02/20 Суб 16:58:42 1595516601
>>1595514
>в этом году скорее всего запромоутят до Senior II, ради этого и потею
Никогда не понимал такой хуйни.
Аноним 08/02/20 Суб 16:59:44 1595517602
>>1595516
Это буквально ирл левел-ап.
Аноним 08/02/20 Суб 17:00:23 1595519603
>>1595516
В переводе на русский - +70-90 тысяч к зарплате, которая и так охуевшая.
Аноним 08/02/20 Суб 17:02:24 1595523604
>>1595517
>>1595519
Ну, лично я левел-ап получал образованием, тянки добился, гранты всякие, проекты известные, устроился на работу, на которую всегда мечтал. Но чисто бабло? Вообще никаких эмоций не вызывает. Если бы меня интересовало бабло, я бы менял компании каждую пару лет, наверное.
Аноним 08/02/20 Суб 17:04:51 1595526605
>>1595523
Я много вещей делаю параллельно. Лучше иметь +бабло, чем не иметь.
Аноним 08/02/20 Суб 17:06:53 1595528606
>>1595526
Ну хуй знает, добиваться лычек в какой-то компании это не самый эффективный метод для зарабатывания бабла, тем более потеть ради этого.
Аноним 08/02/20 Суб 17:09:17 1595529607
>>1595528
Аххха, ну давай, поучи нвидиа-куна эффективно зарабатывать бабло, лол.
Аноним 08/02/20 Суб 17:09:56 1595532608
>>1595528
С моей зарплатой чисто теоретически уже не возможно "сменить контору", прыгнув на более высокий рейт. Единственный вариант - сьебывать в США, чего я пока не хочу.

По-этому расту вертикально и медленно. Но, анивей, чем выше твой грейд - тем интереснее задачи. Чем интереснее задачи - тем больше бизнес-импакт компании, обычно. И так далее.

Короче, меня текущее развитие событий устраивает. Если все пойдет как надо - перешагну 550к в месяц.
Аноним 08/02/20 Суб 17:13:49 1595535609
>>1595505
> В этой статье мы предложили модель безопасного драйвера устройства для ОС Linux
> ОС Linux
Дальше не читал. Можешь не продолжать, у тебя нулевой уровень экспертности.
Аноним 08/02/20 Суб 17:17:57 1595538610
>>1595529
Не проецируй, маня.

>>1595532
Ну так ты ограничен таким вертикальным ростом из-за решений, которые принял до того, очевидно же. Я предпочитаю, когда у меня много опций. Если меня прямо сейчас заебет хайтек, то легко съебу на постдок в любую страну, например. Заебет писать под Линукс — буду писать под винду в своей компании или в другой. Заебет программирование — уйду в академию. Мне психологически важно иметь возможность послать все нахуй в любой момент.
Аноним 08/02/20 Суб 17:18:33 1595539611
>>1595535
Можешь не продолжать, у тебя нулевой уровень экспертности — раздался пронзительный голос со стороны параши.

Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?

Петух — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём банку сгущёнки.
Аноним 08/02/20 Суб 17:18:56 1595540612
>>1595539
Посоны, ПЕТУХОВЕН вернулся!
Аноним 08/02/20 Суб 17:20:44 1595542613
>>1595535
>>1595540
Мне вот интересно, насколько сильным должен быть эффект Даннинга-Крюгера у человека, чтобы считать, что я не видел, что в статье речь идет о Линуксе, а не о винде? Тупое одноклеточное, блеать.
Аноним 08/02/20 Суб 17:24:19 1595544614
>>1595538
Я искренне рад за тебя, что у тебя есть такая свобода. Меня NV полностью устраивает вообще всем, по-этому смысла менять нету.
Аноним 08/02/20 Суб 17:30:52 1595546615
>>1595544
А если уволят тебя?
Аноним 08/02/20 Суб 17:32:52 1595550616
>>1595546
Смысл увольнять достаточно хорошего инженера, по меркам конторы?

Ну, даже если так - у меня есть однушка в мухосранске, и достаточно денег на счете чтобы не работать примерно 12 лет (я считал, кек).

За 12 лет я уж задрочу литкод достаточно, для оффера из гугла\фейсбука и прочего топа.
Аноним 08/02/20 Суб 17:37:23 1595553617
>>1595550
>Смысл увольнять достаточно хорошего инженера, по меркам конторы?
Ты серьезно? Тупо упадет акция, закроют направление / офис в Рашке / еще овер9к вариантов. Компании такого масштаба увольняют людей десятками тысяч, и тогда не до разборок, кто хороший инженер, а кто нет.

Понятно, что не пропадешь, я больше в психологическом плане на такие вещи смотрю, т.к. меня самого увольняли не раз и не два.
Аноним 08/02/20 Суб 17:40:48 1595555618
>>1595553
1 раз было общее снижение зарплаты по всей конторе на год, потом это опционами выдали. Прям сокращений - не было вообще, в Московском офисе.

Ну и да, судя по тому, как яндекс мне письма любви написывает на почту и линкедин нонстопом - точно не пропаду, даже если не захочу 12 лет сычевать дома.
Аноним 08/02/20 Суб 17:49:49 1595563619
>>1595555
Кстати, ты, наверное, разбираешься.
Компания "Код Безопасности", сколько могут платить в такой?
Когда-то очень давно звали туда, а я подумываю о том, чтобы поработать в Рашке, если уж подался назад в хайтек.
Вот на такую позицию, скажем:
https://www.securitycode.ru/company/hr/vedushchiy-programmist-c-c/
Аноним 08/02/20 Суб 17:52:20 1595567620
Аноним 08/02/20 Суб 18:00:14 1595573621
Анончики, уважаемые. Подскажите пожалуйста Я C++ не изучаю, мне просто надо подкорректировтаь одну прошивку., что значит:

dval &= ((1 << PWRES)-1);
dval >>= PWRES - timer_cfg.duty_resolution;

Допустим, как я понимаю, PWRES = 1024. Могу ли я получить dval = 1024? Суть в том, что при этой конструкции максимальный dval = 1023, а мне надо чтобы был 1024, как это сделать?
Аноним 08/02/20 Суб 18:01:58 1595576622
>>1595567
Выглядит неплохо, спасибо проиграл со start of the art, лол.
Я в этом году точно не уйду со своей РАБотки, разве что мне все руководство разом на голову сядет, потому что жутко интересно пока, и не сгорел еще.
Если хочешь в будущем быть на связи, ну и не терять возможность получить профит с референса кандидата, если у вас такое практикуется, то черкани на mk@dee.su.
Блин, если бы норм ваканси были и в ДС2, а не только в ДС, то я бы даже жену легко уговорил на переезд, наверное.
Аноним 08/02/20 Суб 18:09:22 1595582623
>>1595573
PWRES это число бит.
Скажем PWRES=5.
Первая строчка обнуляет все биты в dval, кроме нижних пяти.
Вторая делит на 2, (PWRES - timer_cfg.duty_resolution) раз.
Насколько я понимаю, PWRES это резолюция чего-то одного, там низкая частота, а у таймера более высокая частота.
Так что, как минимум, PWRES это не 1024, ну а дальше сам выведешь, что надо, думаю.
Аноним 08/02/20 Суб 18:13:22 1595585624
>>1595567
> BS or MS in EE, CE, CS, Systems Engineering
Сразу нахуй.
Аноним 08/02/20 Суб 18:16:49 1595587625
>>1595585
Это не для вас написано, молодой человек.
Аноним 08/02/20 Суб 18:18:33 1595590626
>>1595587
Я и говорю, сразу нахуй.
Аноним 08/02/20 Суб 19:33:14 1595666627
Как оно там, сидеть и компилировать хуево тучу часов какой-нибудь файрфокс и жарить яйца на процике?
Аноним 08/02/20 Суб 19:37:47 1595672628
>>1595567
Я вот много раз видел эту сеньорскую вакансию на ххру, но ты вроде как-то писал, что и джуна можете взять, я ж верно помню?
Аноним 08/02/20 Суб 19:39:27 1595676629
>>1595672
Джуна прогера - нет.

Джуна паковать игры для Geforce now (какая-то такая хйуня есть вроде) - да, это Junior Gaming Engineer. Но с нее дальше в кодинг перекатиться реально.

>>1595576
Будет надо - дай клич в С++ треде, и я появлюсь, кек
Аноним 08/02/20 Суб 19:40:12 1595677630
>>1595676
>Джуна паковать игры для Geforce now (какая-то такая хйуня есть вроде) - да, это Junior Gaming Engineer. Но с нее дальше в кодинг перекатиться реально.
А что для этого требуется, из знаний?
Аноним 08/02/20 Суб 19:41:42 1595681631
>>1595677
https://hh.ru/vacancy/35332731

Оверолл - еще надо уметь в игры, понимать как работает прости господи СТИМ, ИГРЫ В СТИМЕ, ДЕНУВО, АНТИЧИТЫ. Мам, я не в игы играю, я к собесу в нвидию готовлюсь, лул
Аноним 08/02/20 Суб 19:42:51 1595683632
>>1595681
блин вабще кайф, хочу туда
Аноним 08/02/20 Суб 19:43:16 1595684633
>>1595676
И скока там можно ожидать?
Аноним 08/02/20 Суб 19:44:39 1595688634
>>1595684
Вангую что-то в духе 90-120 + 3.5 акции, это реально энтрилевел.
Аноним 08/02/20 Суб 19:57:07 1595701635
15804114652600.png (433Кб, 700x527)
700x527
Товарищи крестовики, посоветуйте литературу. Хочу по современному стандарту пройтись, с захватом 20. И что-нибудь не похожее на справочник. Почитал какую-то книгу в духе строгого справочника по языку и нахуй послал этот ад. Даже раст так не выбешивал. Пусть там будет хоть 1к страниц, не вопрос. Главное, чтоб жутко скучно. Хотя бы терпимо.
Александреску может? Или все-таки Страуструп?
Аноним 08/02/20 Суб 19:57:38 1595702636
>>1595688
А в ИБ в Рашке нет норм зарплат?
Кроме дяди Жени если.
Аноним 08/02/20 Суб 19:57:41 1595704637
>>1595576
Двачую.

Может кто-нибудь подкинет контактики годных галерок ДС-2?
Аноним 08/02/20 Суб 19:57:44 1595705638
Аноним 08/02/20 Суб 19:58:48 1595708639
>>1595701
Очевидный Modern Effective C++ же.
Аноним 08/02/20 Суб 19:59:42 1595710640
>>1595702
Я кроме дяди Жени не знаю никого, кто хоть как-то платит и занимается интересными вещами в области ИБ.
Аноним 08/02/20 Суб 20:02:33 1595718641
Аноним 08/02/20 Суб 20:05:28 1595721642
>>1595718
Похоже, что нет.
Если тебе основы только, то 5-го издания в любом случае за глаза хватит.
Аноним 08/02/20 Суб 20:21:42 1595741643
>>1595688
>>1595681
Анон, а резюме на английском кидать? Что лучше написать чтоб взяли?)) Могут вабще рассматривть резюме замкадыша? Где жить в москве найду
Аноним 08/02/20 Суб 20:32:04 1595757644
>>1595741
На русском норм.
Что написать, ну кроме дефолтного содержания резюме, что ты ИГРУЛЬКИ любишь, наверное.
Замкадышей рассматривают, и даже если нужно face2face интеврью - оплачивают билеты и гостиницу на денек.
Аноним 08/02/20 Суб 20:47:14 1595766645
>>1595757
А как в Нвидии относятся к Линуксу/Линусу после его знаменитого фак-ю? Поменялось ли что-то в корпоративной культуре в плане открытой документации?
Аноним 08/02/20 Суб 20:55:19 1595768646
>>1595766
Я видел, что парни выкладывают потихоньку документацию к GPU на гитхаб, да и драйвера проприетарные работают. Но какой-то интернал инфы у меня нет абсолютно.
Аноним 08/02/20 Суб 23:53:56 1595928647
>>1595701
Professional C++ programming 4th edition и сверху какого-нибудь джосуттиса
Аноним 09/02/20 Вск 00:28:28 1595944648
Screenshot4.png (4Кб, 481x103)
481x103
Есть ли какая-то разница между подобным принятием аргументов, если я потом в списке инициализации сделаю std::move() ?
Аноним 09/02/20 Вск 00:51:34 1595949649
Аноним 09/02/20 Вск 01:03:16 1595951650
>>1595701
С захватом 20 хз. Вот из последнего:
C++17 - The Complete Guide
C++ 17 STL Cookbook
C++ Templates The Complete Guide
Аноним 09/02/20 Вск 01:26:31 1595959651
>>1595949
Извини, не понял, в каком случае эта идиома? И как вообще лучше делать?
Аноним 09/02/20 Вск 01:32:21 1595961652
>>1595959
Лучше делать так, как надо в контексте твоего кода, о котором ничего не известно.

При помощи copy-and-swap, или unique_ptr&& ты передаешь ВЛАДЕНИЕ обьектом куда-то. Если тебе не надо передавать владение, тогда просто референс передавай (возможно константный).

Если мы говорим о разнице между unique_ptr и unique_ptr&& - то ее тут, фактически нет, потому-что оно не копируемо. Если бы оно было копируемо - там были бы нюансы. В твоем кейсе - разницы фактической нету между unique_ptr&& и unique_ptr как аргументом функции
Аноним 09/02/20 Вск 01:34:45 1595963653
>>1595961
> разницы фактической нету между unique_ptr&& и unique_ptr как аргументом функции
Ну вообще, когда стоит && хуй его знает, что там будет с объектом. Может его переместят, а может и не переместят. Лучше в таких случаях по значению принимать.
Аноним 09/02/20 Вск 01:43:08 1595964654
>>1595963
когда стоит && будет ошибка компиляции, если аргументом выступает не rvalue ссылка (или prvalue, если ты эстет)
Аноним 09/02/20 Вск 02:01:03 1595974655
>>1595964
А ну да, перепутал с universal references
Аноним 09/02/20 Вск 05:34:48 1596011656
Аноним 09/02/20 Вск 13:02:06 1596151657
Погромист 1 курса на связи, можно ли в таблице ASCII в выбранной кодировке заменить конкретные символы на свои, в идеале загрузить их как массив пикселей?
Аноним 09/02/20 Вск 13:12:19 1596155658
>>1596151
Если речь о работе в текстовом режиме, как олды, то да, а так вопрос лишен смысла.
Аноним 09/02/20 Вск 13:18:38 1596161659
>>1596155
Да, в консольном. Мне надо заметь несколько символов либо на символы из юникода(всю программу переписывать под юникод лень), либо поменять где-то файлы, можно даже через код.
Аноним 09/02/20 Вск 13:19:43 1596162660
Аноним 09/02/20 Вск 13:53:05 1596190661
>>1596161
>Да, в консольном.
Я не об этом писал, но зумерам не понять.
Аноним 09/02/20 Вск 14:07:47 1596201662
>>1596161
Кто тебе позволит где-то файлы менять? Ни препод, ни админ на работе не позволит. Нормально делай.
Аноним 09/02/20 Вск 16:31:59 1596369663
Появился ещё 1 вопрос по SLD, когда я сворачиваю окно начинается утечка памяти, когда разворачиваю обратно, но память стабилизируется и удаляется лишнее. Как это пофиксить?
Аноним 09/02/20 Вск 22:09:03 1596727664
Как реализованы корутины? Какие системные механизмы используются для их реализации?
Аноним 10/02/20 Пнд 06:29:30 1597016665
Аноним 10/02/20 Пнд 08:11:08 1597024666
Снимок.PNG (43Кб, 653x506)
653x506
Существует простой способ удалять из консоли то, что ты напечатал, а затем выводить снова строкой ниже с сохранением введенных данных и возможностью их редактирования?
Аноним 10/02/20 Пнд 10:05:31 1597042667
>>1597024
Простого нет, придётся городить свой ввод через какой-нибудь getch(), и перерисовывать/затирать текущую строку символами \b и пробелами.
Аноним 10/02/20 Пнд 10:19:07 1597053668
>>1597042
Ну и хуй с ним значит.
Аноним 10/02/20 Пнд 10:24:13 1597054669
>>1597024
Да, ffmpeg же как-то делает.
conio.h и его менее пожилые последователи.
Аноним 10/02/20 Пнд 11:29:32 1597081670
>>1597024
Может быть это не то, что ты имеешь в виду, но \r\n означает carriage Return и New line, соответственно, если вывести только \r, то перевода строки не произойдет, а курсор окажется в начале строки, и ты можешь выводить текст поверх старого.
Аноним 10/02/20 Пнд 12:13:04 1597100671
>>1597081
Нет, тут ситуация такая: пока пишешь сообщение/команду, может прийти пакет от сервера и записаться посередине ввода.
Аноним 10/02/20 Пнд 14:42:47 1597239672
Здесь задают тупые вопросы? Можно ли создать простенькое интерактивное меню в консоли без чистки всего экрана system("cls") и повторного вывода всего при каждом мелком изменении? Если знаете где об этом подробно написано то скиньте ссылку. Заранее благодарен. Если этот метод будет пригоден для создания змейки, тетриса, понга и шашек то вообще заебись.
Аноним 10/02/20 Пнд 14:48:56 1597246673
10/02/20 Пнд 17:02:43 1597363674
>>1597016
Гуглится только абстрактный щиттолк, а лезть в исходники буста мне лень, да и вникать там муторно. А мне нужен лишь список правильных винапи и спецификация.
Аноним 10/02/20 Пнд 17:56:37 1597391675
Аноним 10/02/20 Пнд 18:33:34 1597423676
15723753740901.png (61Кб, 270x186)
270x186
Сап программач, помогите нубу. Есть два файла: "A.h" и "A.cpp". К ним нужно подключить "B.h". Его нужно к .h или .cpp подключать?
Аноним 10/02/20 Пнд 19:00:01 1597433677
>>1597423
Если используется в а.h то туда, если только в срр то туда.
Аноним 10/02/20 Пнд 19:33:40 1597457678
Может кто помочь с написанием мейкфайла? Там вопрос плёвый для знающего, срочно нужно и не получается никак
Аноним 10/02/20 Пнд 19:36:40 1597458679
Аноним 10/02/20 Пнд 19:42:20 1597465680
Аноним 10/02/20 Пнд 19:51:03 1597474681
Безымянный.png (126Кб, 772x587)
772x587
>>1597458
У меня есть 3 директории: в одной лежат общие файлы из которых я делал .lib в VS, а в двух других Source.cpp с мейнами, пытался изменить мейкфайл с хабра и не вышло, говорит, что нет файлов
Аноним 10/02/20 Пнд 19:59:31 1597480682
>>1597474
Бля, там OBJECTS поменял еще на SERVER/CLIENT соответственно
Аноним 10/02/20 Пнд 20:04:43 1597483683
>>1597474
Мейк гонял давно, но по идее у тебя префикс только к первому имени приклеивается. И какой смысл зависимости цели servermake от, например, utilities.cpp?
Аноним 10/02/20 Пнд 20:07:54 1597488684
>>1597483
По сути все хедеры из папки SockNet в итоге есть в SockNet/SockNet.h, а он уже инклудится в Server/Source.cpp и в Client/Source.cpp
Аноним 10/02/20 Пнд 20:10:07 1597489685
>>1597483
А, я тебя понял про первое имя, ща попробую что-то сделать
Аноним 10/02/20 Пнд 20:15:36 1597492686
Аноним 10/02/20 Пнд 20:45:14 1597508687
Анончик, нужен твой совет. Хочу выкатиться из веба в системщину и прочее байтоебство. Вопрос в том, куда вкатываться. Есть плюсы и есть раст. Работы на первом больше, на втором вообще ничего не видно(по крайней мере в России). Но слышал, что со временем будет, но и набирать они скорее всего будут бывших крестовиков. Даже читал блог, крутого разраба из гугла, где он не советовал писать новый код на плюсах. Поэтому немного в сомнении. Насколько сейчас перспективно вкатываться именно в плюсы?
Аноним 10/02/20 Пнд 20:49:44 1597516688
>>1597474
Аноны с линуксом, может кто помочь скомпилить код? У меня по заданию должно собираться на линуксе, я конечно дефайнил всякие вещи для совместимости, но проверить нужно, а виртуалку сейчас накатывать заебусь - очень слабый ноут
Аноним 10/02/20 Пнд 20:53:15 1597520689
>>1597516
Ну так накати продсистему linux в windows
Аноним 10/02/20 Пнд 21:04:17 1597529690
>>1597474
Говняный какой-то мейкфайл, еще и синтакс уровня говна мамонта.
Не буду помогать тебе.
Аноним 10/02/20 Пнд 21:05:44 1597534691
>>1597508
>Даже читал блог, крутого разраба из гугла, где он не советовал писать новый код на плюсах.
Без описания цели разработки, это вообще ни о чем.
Ну а дрочить на лычки в 21-м веке тем более моветон.
Аноним 10/02/20 Пнд 21:07:53 1597535692
Снимок.PNG (21Кб, 626x375)
626x375
>>1597529
Я первый раз вообще такое щупаю.. Подправил, но все равно не работает :(
Аноним 10/02/20 Пнд 21:12:00 1597540693
>>1597534
>Без описания цели разработки, это вообще ни о чем.
Как я понял, речь шла вообще о любом новом проекте за парой исключений. Не хочу спорить на эту тему, просто насторожил его пост.
https://cliffle.com/blog/prefer-rust/
сама статья, если интересно
Аноним 10/02/20 Пнд 21:52:06 1597572694
>>1597540
>Prefer Rust to C/C++ for new code
>inside the firmware community
Ясно.
Он может нахуй пройти.
Я у себя в компании Rust отсеял уже на уровне хакатона.
То есть мы хотели во время хакатона проверить соответствие Раста на уровне какого-нибудь близкого к железу POC, и уже на этом этапе быстро стало ясно, насколько он неадекватен для таких задач.
Ни библиотек нет, нихуя.
Наху пусть идет этот фанбой.
Аноним 10/02/20 Пнд 22:18:02 1597604695
Помидоры на месте?
Дано:
struct A
{
using MyTypes = std::tuple<int, char>;
}
struct C : A {}

Нужно внутри C определить MyTypes, который был бы конкатенацией двух std::tuple. Если бы у меня был буст и вместо tuple был mpl::list<>, то я бы это через mpl::joint_view написал. А с tuple хз как.
struct C : A
{
using MyTypes = /std::tuple<int, char, long, Person>/;
}

Можно попробовать через tuple_cat, но что-то мне не очень нравится количество decltype и declval.
Аноним 10/02/20 Пнд 22:19:45 1597607696
>>1597604
> конкатенацией двух std::tuple
*Того, который в A, и своих каких-то типов.
Аноним 10/02/20 Пнд 22:37:31 1597623697
>>1597516
Всё ещё актуально, пожалуйста, кто-нибудь

3 гб оперативки, прямо сейчас убунта повисла на установке в виртуалбоксе сегодня последний день
Аноним 10/02/20 Пнд 22:40:09 1597626698
>>1597623
Дебилушка, ты ведь даже код не выложил. Алсо, убунту бы поставил как вторую систему, вышло бы быстрее и производительнее
Аноним 10/02/20 Пнд 22:42:57 1597630699
>>1597626
Я не хочу в тред кидать, хочу связаться в телеге или ещё где-то
Аноним 10/02/20 Пнд 23:05:57 1597644700
>>1597630
А, ну тогда иди нахуй, сорри
Аноним 10/02/20 Пнд 23:12:49 1597650701
Аноним 10/02/20 Пнд 23:23:26 1597656702
>>1597650
Ну а хули ты всё в последний день делаешь?
Я тебе сразу говорил, сгенерируй. Загугли утилиту вроде vcxproj to makefile или напиши cmakelists.txt и перегони в makefile (хотя тебе походу cmake и нужен, лол)
Аноним 10/02/20 Пнд 23:26:37 1597660703
>>1597656
Я делаю это почти неделю уже, сокеты не знал абсолютно. По заданию мейкфайл надо именно написать, а не сгенерировать, и я гуглил, такие есть, но но на старые версии VS
Аноним 10/02/20 Пнд 23:48:01 1597667704
>>1597660
Не пиши сложный мейкфайл. Напиши простой, без общих правил и переменных.

all: server client

server: server1.o server2.o
[tab]gcc -o server server1.o server2.o

server1.o: server1.cpp server1.h
[tab]gcc -c -o server1.o server1.cpp

Нутыпонел.
Аноним 11/02/20 Втр 01:57:29 1597721705
>>1581531
cout << static_cast<Matrix>(m. transpose())....
Аноним 11/02/20 Втр 03:38:50 1597731706
>>1576737 (OP)
Анчоус, есть книга С++ для чайников, Стефан Р. Девис 2007 года, нормально, просто в свое время поккупал печатное издание, с тех пор и лежит
Аноним 11/02/20 Втр 13:19:18 1598005707
C++20 coroutines чем они отличаются от std::async?
Аноним 11/02/20 Втр 15:18:59 1598151708
>>1598005
std::async - это обертка на тредом, возвращающая фучуру.
Корутины - это вообще абсолютно другое
Аноним 11/02/20 Втр 17:01:18 1598254709
>>1598151
>Корутины - это вообще абсолютно другое
Объясни вкратце.
Аноним 11/02/20 Втр 17:09:53 1598261710
>>1598254
Я сам нихуя не понимаю из всех обьяснений.

Т.е. на уровне "ЭТО ФУНКЦИЯ, КОТОРАЯ ИМЕЕТ СТЕЙТ И МОЖЕТ ВОЗВРАЩАТЬ НЕСКОЛЬКО РАЗ" - я понимаю. Уебищные примеры с питоном и его генераторами - я понимаю.

Он когда начинается co_await - все, выносите меня ногами вперед. Но да, я еще сильно не раскуривал эту тему, а надо...
Аноним 11/02/20 Втр 17:33:30 1598290711
Аноны, как реализован substr?
Я вот тут делал и ничего умнее не придумал как выделить строку и просто перекопировать элементы. Может есть способы как весь участок памяти скопировать?
Аноним 11/02/20 Втр 17:34:30 1598291712
Аноним 11/02/20 Втр 17:35:32 1598292713
>>1598261
У Таненбаума в "архитектуре компьютера" очень компактное и доступное объяснение с картинками для даунов, только там корутины называются сопрограммами.
Аноним 11/02/20 Втр 17:37:01 1598295714
Аноним 11/02/20 Втр 17:37:23 1598296715
>>1598292
Я перефразирую свой высер. Я понимаю, что такое "просто корутина, yield, и тд". Я не понимаю, как к этому относится co_await, и где там какая-то волшебная кооперативная многозадачность.

Надо на C++ Russia сходить, там Гор Нишанов заяснит.
Аноним 11/02/20 Втр 17:42:52 1598306716
>>1598291
как такое вообще реализуют? Такое копирование прям на уровне ядра сделано и нельзя реализовать самому?
Аноним 11/02/20 Втр 17:55:54 1598332717
>>1598261
Насколько я понял корутины асинхроны, но выполняются на одном треде. И если ты вызываешь внутри корутины другую корутину, то тебе нужно использовать co_await, чтобы подождать пока она вернет что-нибудь.
Аноним 11/02/20 Втр 18:06:46 1598352718
>>1598332
Я вызываю функцию внутри другой функции, и жду пока функция вернет чето. Чем это отличается от co_await? И причем, блядь, тут корутины, учитывая что это лишь функция со стейтом.

>>1598306
Копирование элементов - это стандартный процессорный mov(и его деривативы, типа movq) - фактически. Положил кусочек строки в регистр из памяти. Потом из этого регистра положил в другой кусочек памяти.

В случае строк - ты можешь копировать от 1 байта за такт до 64 (при каком-нибудь адовом AVX512.
Аноним 11/02/20 Втр 18:12:18 1598360719
>>1598352
Регистр? Я думаю что контролер умеет копировать данные без этого.
Операция явно распространенная и засирать кэш и занимать регистры нет практической надобности
Аноним 11/02/20 Втр 18:13:20 1598361720
Аноним 11/02/20 Втр 18:16:51 1598367721
Аноним 11/02/20 Втр 18:17:56 1598368722
>>1598361
Так себе пруф. В ПК куча устройств вроде дисков которые работают в режиме DMA.
Аноним 11/02/20 Втр 18:18:34 1598369723
>>1598368
DMA - это совсем другое, тут срач про копирование строк в памяти
Аноним 11/02/20 Втр 18:20:34 1598373724
>>1598369
Тут нет никакого срача. Я это как пример необязательности PIO для манипуляций в ОЗУ.
Аноним 11/02/20 Втр 18:21:42 1598376725
Аноним 11/02/20 Втр 18:58:09 1598426726
Аноним 11/02/20 Втр 18:58:31 1598428727
Анонче, тут немного упоротый вопрос.
Кто-нибудь курил Android NDK?
Нужно по работе пилить приложение для ведра, а, значит, осваивать котлин.
Но уже есть знания плюсов, получится ли полностью на этом NDK бахнуть приложение или там урезанный функционал плюсов и/или старый стандарт?
Где-то я нашел инфу, что на c++ можно только требующие скорости места писать, хотя Android Studio предлагает сделать проект только на них.
Аноним 11/02/20 Втр 19:01:23 1598431728
>>1598426
Элегантно. Я продумывал способ со сверткой, т.е. поэлементно цеплять к новому tuple типы, что больше времени потребовало бы.
Аноним 11/02/20 Втр 19:35:04 1598456729
Аноним 11/02/20 Втр 20:37:24 1598521730
>>1598369
Смотри что нашел
>Как вы правильно указали, DMA_MEMCPY следует использовать для выполнения копирования RAM-to-RAM. Это описано в Documentation/dmaengine/provider.txt . Вот только соответствующий отрывок, пожалуйста, смотрите весь файл для получения более подробной информации:

https://codengineering.ru/q/kak-perenesti-dannye-cherez-dma-iz-operativnoy-pamyati-v-operativnuyu-pamyat-58776/
Аноним 11/02/20 Втр 20:54:27 1598556731
>>1598426
Спасибо, нвидия-кун.
Аноним 11/02/20 Втр 21:23:38 1598584732
>>1598556
эх, скинул вам свою потешную резюмешку, думаю не возьмут, лол. На хедхантере написано что менеджер чекает только 36% резюме. Чому так?
Аноним 11/02/20 Втр 21:51:33 1598612733
image.png (192Кб, 421x583)
421x583
Нормальные люди так делают?
Аноним 11/02/20 Втр 21:54:38 1598615734
Аноним 11/02/20 Втр 21:55:11 1598616735
Аноним 11/02/20 Втр 21:55:55 1598618736
>>1598612
std chrono
boost posix_time
QDateTime

Но ты умнее всех.
Аноним 12/02/20 Срд 13:38:29 1599121737
>>1598612
Нормальные люди на английском комментарии пишут
Аноним 12/02/20 Срд 14:47:46 1599175738
>>1598612
> ПрДатаРожд

1C-бабуин не палится
Аноним 12/02/20 Срд 18:31:10 1599424739
>>1598352
Корутина - это функция, которую можно ставить на паузу. Ко- в том плане, что две таких корутины могут работать одновременно. Одна поработала, недоделала, вторая поработала, недоделала, вернулась в первую, первая доделала, вернулась во вторую, доделала.
Аноним 12/02/20 Срд 20:06:53 1599509740
Перекат моча удалила что ли?
Аноним 12/02/20 Срд 20:40:36 1599565741
>>1598428
Заипешься отлаживать.
Аноним 12/02/20 Срд 21:09:42 1599589742
>>1599509 Бамплимит в тематике 1000 постов.
Аноним 12/02/20 Срд 21:17:26 1599597743
>>1599121
То есть когда одни русские люди пишут комментарии для других русских людей в проекте, который уж точно никогда не покинет рашку, на ломаном и одним им понятном английском - это нормально?
Аноним 12/02/20 Срд 21:20:09 1599601744
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов