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

Check this out!


<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
797 | 70 | 292

C++ №76 /cpp/ Аноним 13/09/18 Чтв 00:02:24  1263368  
Pullback(catego[...].png (14Кб, 518x417)
Вместо шапки: https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы: http://eel.is/c++draft/
http://eel.is/c++draft/, пропущенный через кишечник макак: https://en.cppreference.com/w/cpp
Аноним 13/09/18 Чтв 00:07:11  1263371
Зачем нужны виртуальные методы?
Аноним 13/09/18 Чтв 00:08:30  1263372
>>1263371
http://eel.is/c++draft/class.virtual#1.note-1
Аноним 13/09/18 Чтв 00:50:30  1263383
>>1263371
Если знаешь си, то есть упрощённое объяснение: виртуальные методы для класса хранятся в специальной структуре с указателями на функции (vtable), которая одна на класс. То есть функция вызывается не напрямую, а косвенно. Это позволяет делать такую штуку, как полиморфизм.
Аноним 13/09/18 Чтв 01:10:53  1263384
>>1263368 (OP)
Нет петуха на оппике. Не канон.
Аноним 13/09/18 Чтв 16:36:10  1263648
есть вектор интов. нужно создать вектор даблов сконвертировав инты в даблы.

Как в одну строчку всё это сконвертить?
Аноним 13/09/18 Чтв 16:46:35  1263653
>>1263648
https://play.rust-lang.org/?gist=16304ccfc33ad2fef0df703b9be30e30&version=stable&mode=debug&edition=2015
Аноним 13/09/18 Чтв 17:07:31  1263662
>>1263368 (OP)
> http://eel.is/c++draft/

Держите не драфт, лол
https://yadi.sk/i/9fnuzs3JjbDiDw
Аноним 13/09/18 Чтв 18:42:03  1263704
>>1263368 (OP)
Привет аноны. На связи кун 19 лет. Учу c# из-за unity и для запасного плана, если придется вкатываться во что-то серьезное учу c++. Первое время охреневал от синтаксиса c++ и как он разница с с#, но со временем свыкся ибо похожи, как по мне.

Скоро окончу шарагу и пойду учится на информационную инженерию из-за того что нравятся реализовать идеи или мысли в "реальные" объекты, сущности, почти чувствовать себя богом. Из-за этого начал изучать unity, а потом и c++.

Хотел спросить:
Стоит ли выкатываться из уютного c# в жестокий с++.

Даст ли мне высшее образование то что я не смогу получить, выучить?

И стоит с моими фантазиями выбрать именно этот факультет.

Ещё хотел спросить зачем писать
std::cout если можно объявить namespace std? Это просто как один из примеров.

И хотел спросить где я обосрался и как скоро мои фантазии о программировании превратятся в крах. И какое будущее ждет с++ и может с#

Хотелось бы ещё получить пару советов для начинающего.

Заранее спасибо.
Аноним 13/09/18 Чтв 19:32:02  1263725
>>1263704
> Стоит ли выкатываться из уютного c# в жестокий с++
Надо делать то, что тебе нравится. И шарп и кресты востребованы на рынке.

> Даст ли мне высшее образование то что я не смогу получить, выучить?
Высшее образование - трата времени. Получать придется, если хочешь сьебать с РФии, но знаний оно никаких не даст. Исключение МГУ- МГТУ и прочие топ вузы.

> Ещё хотел спросить зачем писать
std::cout если можно объявить namespace std? Это просто как один из примеров.
https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice

> И какое будущее ждет с++ и может с#
C++ точно ждет светлое будущее, про шарп не заню, но Майки его точно не бросят.

> Хотелось бы ещё получить пару советов для начинающего.
Учи английский язык, ежедневно программируй, читай книги, смотри конференции, не читай треды неудачников а-ля "МЫ ВАМ ПИРИЗВОНИМ", попробуй попасть в Яндекс на старте карьеры, очень многому научишься.

Аноним 13/09/18 Чтв 19:57:15  1263737
image.png (56Кб, 605x212)
>>1263662
Аноним 13/09/18 Чтв 20:07:43  1263742
>>1263725
>C++ точно ждет светлое будущее
Если из него всё легаси говно вычистят и сократят язык до смысла, то может и ждёт. Ну а пока c++ лишь теряет свои ниши.
Аноним 13/09/18 Чтв 20:10:06  1263744
original-60-1.jpg (229Кб, 655x442)
>>1263725
>Высшее образование - трата времени. Получать придется, если хочешь сьебать с РФии, но знаний оно никаких не даст. Исключение МГУ- МГТУ и прочие топ вузы.

А можно вот тут поподробнее?

Сам недоучился. Уже 7 лет как работаю недопрогроммистом 1С, в котором знаю достаточно много. При этом хоть в каждой вакансии и пишут высшее/неоконченное, но в большинстве контор, думаю, на это не смотрят. Только в гос конторах. Так вот знаю в 1С достаточно много, поэтому считаю что для поиска работы мне хватит опыта вместо корочки.

Суть в том что 1С заебал и хочу перекатиться в С++. Вариантов устроиться стажером без вышки, видимо, еще меньше
Аноним 13/09/18 Чтв 20:25:19  1263747
>>1263744
Единственное зачем мне пригодилась вышка — отдельный порядок съеба из рашки.
Аноним 13/09/18 Чтв 20:54:27  1263755
>>1263744
У меня нигде вышку не спрашивали, кроме командировки в Швецию. Т.е. мне пригодилась - большей части людей точно не пригодится.

Если сомневаешься - найди дистанционное обучение в любом гос-вузе (я закончил такую хуйню в СибГУТИ), и просто плати профессиональным делателям заданий и потом купи любой диплом.
Аноним 13/09/18 Чтв 21:42:53  1263773
>>1263755
думал об этом раньше. Но потом понял что в 1С я и так устроюсь благодаря опыту.
А если пойду в С++ это будет такой даунгрейд по ЗП что не до этого будет
Аноним 13/09/18 Чтв 21:55:32  1263784
>>1263773
Ты понимаешь что в среде программистов ты дно пишушее на хуево переведенном на русский вижуал бейсике?
Аноним 13/09/18 Чтв 22:02:14  1263791
>>1263784
У нас в городе 1Сники максимум 60к получают. Ну, кроме начальства.

Хотя вкатывальщик в cpp больше 30к не получит тоже
Аноним 14/09/18 Птн 08:36:30  1263961
Могу скинуть вам сюда вроде неплохую методичку по C++ из моего вузика для начинающих. Стоит её пиздить и заливать?
Аноним 14/09/18 Птн 08:54:14  1263967
>>1263784
Именно из-за этого и хочу съебать. Ну и по зп уже потолок близко, хоть и ДС.
Собственно, я это знал еще до того как увидел 1с,так как изучал с++ ещё со школы. Но надо было куда то устраиваться работать, стажёром с++ тогда не нашел вакансию. Может плохо и мало искал. Думал, посижу пол годика поизучаю с++. Но было слишком много нового по работе, стало не до этого. Так прошло 7 лет.
Думаю, если написать в резюме "работал в 1с 7 лет" так же и скажут как ты написал
Аноним 14/09/18 Птн 09:03:02  1263969
>>1263967
А почему кресты? Ты вряд ли любишь облизывать каждый байт, чем тебе JS не вкатывает?
Аноним 14/09/18 Птн 09:07:26  1263971
>>1263969
Грворю же, изучал с++ еще со школы. Хотя я тогда больше в opengl ударился, с++ толком и не изучал.
Не хочу в веб
Аноним 14/09/18 Птн 09:12:55  1263972
>>1263971
Лол, я на работе пишу узкие части веб приложения. Велком ту зы клаб, пэл
Аноним 14/09/18 Птн 09:44:25  1263978
>>1263972
На пюсах то? Можешь показать рабочий код.
Вообще меня очень интересует как происходит разработка такая реальная на плюсах. Как объединяется код разных разработчиков и тд.
На плюсах видел только или свой код иди движки quake doom3.
Аноним 14/09/18 Птн 10:01:47  1263986
>>1263978
Ну как, мне нельзя :З

А объединять можно по разному. Есть такая штука как CGI(Common Gateway Interface). Её обычно юзают когда пишут прошивки для всяких роутеров или других похожих девайсов в с веб интерфейсом. А в самом интернете считается устаревшей.

Можно вызывать написанную на крестах библиотеку из node.js
Аноним 14/09/18 Птн 11:41:25  1264033
>>1263967
Братишка, учили или уже сразу раст, или хаскель.
Аноним 14/09/18 Птн 11:45:05  1264037
>>1263961
Давай
Аноним 14/09/18 Птн 11:58:27  1264045
>>1263368 (OP)
Возникли вопросы насчет русского языка в консоли.
1) Что конкретно делает setlocale?
2) Понял, что кодировка файла с кодом должна совпадать с кодировкой консоли, поэтому использовал SetConsoleOutputCP() и SetConsoleCP(). Попытался установить значение 65001, сохранив файл в кодировке UTF-8. Вывод работал, а вот ввод — нет. Почему?
3) Следует ли мне, исходя из предыдущего пункта, сохранять код в стандартной кодировке консоли Windows (866), или я все же могу сохранить файл в кодировке UTF-8, а в консоли использовать другую кодировку?
Как-то хуево сформулировал вопросы =/
Аноним 14/09/18 Птн 11:59:44  1264047
>>1264045
Братишка, просто вкатывайся в раст. Там тебе не нужно будет думать о таком говне.
Аноним 14/09/18 Птн 12:01:10  1264048
>>1264047
Как-то попытался вкатиться. Хотел установить библиотеку random, но ничего не получил, кроме бесконечной загрузки. В итоге забил, хех.
Аноним 14/09/18 Птн 12:02:37  1264050
>>1264048
Один раз ставишь
> cargo install cargo-edit

Потом в любом проекте:
> cargo add rand

Напомни, как там в крестах либы ставятся?
Аноним 14/09/18 Птн 12:02:45  1264051
>>1264047
>>1264048
А вообще, я хочу разобраться именно с C++. Хочу ебаться с указателями, хуятелями и т.п.
Аноним 14/09/18 Птн 12:04:26  1264053
>>1264051
Хочешь ебаться с указателями, разберись с Си. Поймешь что ебаться с ними совершенно ненужно. Впрочем, если очень хочется ебаться с указателями, волшебный мир unsafe & undefined behaviour ждет тебя.

Современные кресты пытаются сделать все, чтобы ты с этими самым хуятелями не соприкасался.
Аноним 14/09/18 Птн 12:05:51  1264056
>>1264050
Cargo, насколько я помню, предполагает систему проектов. Не люблю такое. Мне больше нравится gcc файл1 файл2 файл3 -o вывод -разные -параметры, чем cargo соберимнепроектплеес.
Аноним 14/09/18 Птн 12:08:14  1264059
>>1264056
Тебе никто не запрещает ебаться с
> rustc файл1
Просто это настолько глупо в 2018
> cargo new fuck
> cd fuck
> cargo run
Это работает настолько просто и прозрачно (просто открой Cargo.toml), что совершенно неясно почему можно хотеть делать то же самое руками.
Аноним 14/09/18 Птн 12:26:45  1264067
>>1264059
Я хочу поебаться с этим как минимум для того, чтобы понять, как это работает, а не надеяться на то, что cargo сделает все за меня. Понятно, что если ты работаешь над большим проектом, лучше использовать подобное упрощение, которое организовывает проект за тебя. Но нельзя, обучаясь программированию, пропускать такие моменты, в этом нужно обязательно разобраться, по-моему. Передо мной не стоит цели научиться работать с огромными проектами, чтобы потом зарабатывать 300кк в секунду. Я хочу понять все тонкости C/C++, в том числе и указатели, которые, как ты сказал, сейчас практически не используются.
Аноним 14/09/18 Птн 12:29:50  1264068
2018-09-14-1129[...].png (93Кб, 1875x367)
>>1264067
Ну и кто тебе мешает?
Аноним 14/09/18 Птн 12:34:54  1264073
>>1264068
Так я не спорю с тем, что с rust можно ебаться таким же раком. Я это к тому, что твое
> Просто это настолько глупо в 2018
это не совсем верно, если речь идет об обучении. Я много хорошего слышал про Rust, но разобраться хочу с проверенным временем C++.
Аноним 14/09/18 Птн 12:37:32  1264076
>>1264073
С фортраном разберись. Она гораздо более проверенный временем.
Аноним 14/09/18 Птн 12:43:33  1264084
>>1264076
> C++ тред
> Помогите разобраться с C++
> Лучше вкатись в раст
> Лучше вкатись в фортран
Аноним 14/09/18 Птн 13:21:49  1264099
>>1263986
Мне вот еще интересно, как разрабатывают на с++ под всякое железо, микропроцы и прочее? Я понимаю под винду или линух, там есть свой компилятор, свои библиотеки. А как это там?
Аноним 14/09/18 Птн 13:33:12  1264104
>>1264045
Пиздец вендопроблемы.
Аноним 14/09/18 Птн 13:33:56  1264105
>>1264053
>unsafe behaviour

Чё это за новое слово в C?
Аноним 14/09/18 Птн 13:35:05  1264106
>>1264105
https://doc.rust-lang.org/book/second-edition/ch19-01-unsafe-rust.html
Аноним 14/09/18 Птн 13:45:45  1264112
Заливаю вам ту методичку, которую обещал
>>1263961
>>1264037


https://yadi.sk/i/vDXZ5QBh8VZfSQ
https://yadi.sk/i/vDXZ5QBh8VZfSQ
https://yadi.sk/i/vDXZ5QBh8VZfSQ
Аноним 14/09/18 Птн 13:48:06  1264113
>>1264112
Заодно поясните- это хлам, который писали совковые преподы, знающие C++ не лучше чем школьник 9 класса, или знающие люди?
Аноним 14/09/18 Птн 13:50:26  1264114
>>1264113
Ничего криминального, вроде. Но и ничего особенного. Обычная методичка усть-пиздюйского института. conio.h, _getch(), как в консоли кириллицей в винде писать и прочие очень важные вещи.
Аноним 14/09/18 Птн 13:51:58  1264117
>>1264114
Вообще- вуз достаточно престижный и хорошо финансируемый
Аноним 14/09/18 Птн 13:56:46  1264121
>>1264117
> педагогический университет
> вуз достаточно престижный
Мда.
Аноним 14/09/18 Птн 14:09:00  1264126
>>1264113
Выглядит как методичка для уроков по информатике в обычной церковно-приходской школе.
Код для вычислений всяких выражений написан по принципу: как написана формула так и в коде наваляем (один и тот же sin/cos вычисляется по много раз, куча лишних операций умножения/деления, которые легко заменяются константами).
Аноним 14/09/18 Птн 14:20:55  1264139
>>1264126
>один и тот же sin/cos вычисляется по много раз
Нормальный компилятор соптимизирует.
А читаемость должна быть.

Впрочем, с тем, что методичка для цирково-приходской школы я на 100% согласен.
Аноним 14/09/18 Птн 14:27:53  1264144
>>1264139
>Нормальный компилятор соптимизирует.
Пруф в студию.
Аноним 14/09/18 Птн 14:30:12  1264146
>>1264144
Хуюф.
Аноним 14/09/18 Птн 14:55:00  1264156
>>1264121
Если тебе кажется что в усть-залупинский вуз станут впихивать 22 миллиона, то сочувствую.
> > педагогический университет
Это не значит что там учителей информатики готовят. Не будь дебилом.
Аноним 14/09/18 Птн 14:55:53  1264157
>>1264126
>Выглядит как методичка для уроков по информатике в обычной церковно-приходской школе.
>>1264139
>Впрочем, с тем, что методичка для цирково-приходской школы я на 100% согласен.

Ладно. Понял.
Аноним 14/09/18 Птн 14:57:22  1264160
>>1264156
Да запихни в усть-залупинский хоть 22 трлн. — MIT он не станет.
Аноним 14/09/18 Птн 15:58:54  1264181
//QT
Анон, а как правильно завершать работу программы при событии выключения пеки, если у меня QT?
Я ловлю WM_QUERYENDSESSION при помощи nativeEventFilter, отвечаю false и начинаю корректное завершение программы
Затем по логам идёт всё нормально, за исключением того что WM_QUERYENDSESSION мне больше не приходит.
Но приходит WM_ENDSESSION, которому я тоже отвечаю false и пытаюсь завершиться.
Чяднт? Почему у меня не отвечается false? В QT это как-то нужно по другому обрабатывать?
Аноним 14/09/18 Птн 16:00:37  1264182
>>1264181
Всё, понял, спасибо.
Аноним 14/09/18 Птн 16:11:57  1264184
Перешёл на 3 курс, думал, что углублюсь в pythton и машинное обучение, но препод по численным методам так не считает. Есть необходимость строить графики на c++ (заставили в универе, да). Каким способом это быстрей и удобней всего сделать? Использовать окошки обязательно?
Аноним 14/09/18 Птн 16:12:49  1264185
>>1264184
gnuplot
Аноним 14/09/18 Птн 16:21:14  1264188
>>1264182
А, нет, не понял
>bool QAbstractNativeEventFilter::nativeEventFilter(const QByteArray &eventType, void message, long result)
>On Windows, eventType is set to "windows_generic_MSG" for messages sent to toplevel windows, and "windows_dispatcher_MSG" for system-wide messages such as messages from a registered hot key. In both cases, the message can be casted to a MSG pointer. The result pointer is only used on Windows, and corresponds to the LRESULT pointer.
Пишу
*res = false;
фейл

Пишу
long fl = 0;
res = &fl;
фейл.

Как вернуть LRESULT = false?
Аноним 14/09/18 Птн 16:26:51  1264189
>>1264160
Ну и он не усть залупинский. Екатеринбург это всё-таки город- милионник.
Короче проехали. Нахуй этот срач нужен
Аноним 14/09/18 Птн 17:39:27  1264211
>>1263653
Ты ошибся, дружок-пирожок, клешнерукий тред двумя экранами ниже.

https://ideone.com/dm5nYd
Аноним 14/09/18 Птн 17:42:05  1264214
>>1264211
Анон просил в одну строку, а не в две.
Я прист ржавого храма, пришел паству совращать
Аноним 14/09/18 Птн 17:46:56  1264215
>>1264045
>кодировка файла с кодом должна совпадать с кодировкой консоли
Нет, сконпелируй с -finput-charset=utf8 -fexec-charset=cp866 или как-то так.
Аноним 14/09/18 Птн 18:14:05  1264222
>>1263725
> В яндекс
А если попробовать в Сбербанк или похожие структуры? Им вроде нужны молодые умы. кроме Тинькофф. Просто для меня репутация Яндекса не очень
Аноним 14/09/18 Птн 18:31:12  1264228
>>1263648
doubles.assign(ints.begin(),ints.end());
Аноним 14/09/18 Птн 18:56:24  1264237
>>1264185
Нельзя использовать другие программные пакеты. Только c++ и всякие его библиотеки
Аноним 14/09/18 Птн 19:06:00  1264243
>>1264144
https://gcc.godbolt.org/z/ckOb7s
>call sincos

Костыли нужны, чтобы он сразу в контсэкспре все не посчитал

мимо-другой-анон
Аноним 14/09/18 Птн 19:06:43  1264244
>>1264222
Я в душе ниибу, что такое репутация-для-тебя. А вот научиться в яндексе работать над сложными проектами и получить отличную запись в резюме - это клево.
Аноним 14/09/18 Птн 19:47:22  1264272
15362437233190.png (642Кб, 970x330)
>>1264184
MFC + DirectX
Аноним 14/09/18 Птн 20:00:18  1264285
>>1264215
Спасибо большое, полезная штука. -finput отвечает за кодировку файла, а -fexec — за кодировку, используемую в самом exe, так?
Аноним 14/09/18 Птн 20:30:33  1264314
>>1264237
https://stackoverflow.com/questions/39414084/plotting-a-vector-in-c-with-cimg
Аноним 14/09/18 Птн 20:40:44  1264325
>>1264285
Всё так.
Аноним 15/09/18 Суб 02:05:14  1264431
>>1263368 (OP)
Где петух? Под стать треду.
Аноним 15/09/18 Суб 03:04:23  1264440
>>1264431
Мы тебя ждали
Это ты питух ))))))
Аноним 15/09/18 Суб 03:14:37  1264441
cppsenior.jpg (65Кб, 454x500)
>>1264431
Тут недавно синёр из топовой конторы заходил и всех петухов разогнал.
Аноним 15/09/18 Суб 03:52:38  1264448
Вкатился с proof of concept
https://git.movepoint.su/anton/iv
Аноним 15/09/18 Суб 16:58:50  1264681
>>1264448
релизить буду переписанное вплоть до другого контейнера для текста, еще пижже
Аноним 15/09/18 Суб 23:09:31  1264789
нужно вывести несколько строк в файл. после каждой веведеной строки делать переход на новую строку. но не делать после последней. сечас я просто пробегаюсь фором по вектору строк и ставлю перенос троки после каждой. как в ofstream запретить ввывод временно. удалить последний напечатаный символ. и только после этого смыть все символы из буфера в файл?
Аноним 16/09/18 Вск 00:05:53  1264805
>>1264448
> The text is stored in an augmented binary search tree, one glyph per node.

Небро, глиф — это графическое изображение буков. Одна и та же буква A может изображаться разными глифами, в зависимости от текущего шрифта.
Ты точно глифы хранишь?

Ну я про код я уже не буду писать. Он не менее безграмотно написан, чем ридми.
Аноним 16/09/18 Вск 02:15:29  1264832
>>1264805
лан, code point
Аноним 16/09/18 Вск 05:18:52  1264848
Аноны чем заполнять свое портфолио джуну на хабе?
Аноним 16/09/18 Вск 11:23:56  1264906
>>1264848
Сочини санэт. Эйчары любяць санэты.
Аноним 16/09/18 Вск 13:13:11  1264926
>>1264848
Как ни странно, но работающими программами.
Аноним 16/09/18 Вск 13:46:08  1264935
>>1264926
Хах. вот если я заполню свой хаб одними лишь типами сортировок, то как бы и кому я нужен буду?
Аноним 16/09/18 Вск 13:48:09  1264936
>>1264935
Сделай простенькие игры.
Аноним 16/09/18 Вск 16:45:17  1265013
>>1263368 (OP)
Пишу на плюсах высоконагруженные системы, поставил сервак, закодил бекенд для своего вуза. Впендярил неплохую туда еще верстку. Мне предлагают оставаться после магистратуры и учить недостудентов. Стоит ли?

Написал уже 4-5 клиентов двача, все летают как шустренькие, думаю выезжать из деревни и стремиться в большие города. Что скажете?
Аноним 16/09/18 Вск 17:17:06  1265035
Гайс, подскажите, как правильно инициализировать массив и передавать указатель на двумерный массив из мейна в функцию ? Заранее аригато.
Аноним 16/09/18 Вск 17:38:48  1265051
>>1265035
String str = new String() ?
Аноним 16/09/18 Вск 17:49:44  1265058
https://pastebin.com/unQ3PU0U

Мне нужно передавать данные из структуры в мейн, из мейна в функцию просто так надо. На 37ой строчке нереализуемая передача массива в функцию. Я так понимаю, что это можно сделать с помощью указателя, но не въебываю - как.
Аноним 16/09/18 Вск 17:50:09  1265059
>>1265051
>>1265058
Аноним 16/09/18 Вск 17:52:47  1265062
>>1265059
Иди нахуй со своими указателями. Я в вузе их не понял, с тех пор программирую под джаву. С++ говно, а не язык.
Аноним 16/09/18 Вск 18:06:17  1265073
>>1265058
>tr.points[3][3] = { x, y };
Что здесь происходит?
>is_true(tr.points[3][3], isPoint);
и тут?
Аноним 16/09/18 Вск 18:09:47  1265075
>>1265073
Хуйня происходит, пофиксил и сделол. Там просто рандомный код накидан для примера. Оказалось, довольно просто, лол.
Аноним 16/09/18 Вск 18:10:29  1265076
15305211689541.png (144Кб, 427x700)
>>1265062
На С++ написаны операционные системы а также виртуальные машины и рантаймы для всех управляемых языков, в том числе и джавы.

На джаве не написано нихуя, кроме 20-мегабайтных сайтов, которые прогружаются минуту.

Говно язык все равно С++
Аноним 16/09/18 Вск 18:11:53  1265077
>>1265076
> На джаве не написано нихуя
А как же ведроид?
Аноним 16/09/18 Вск 18:15:20  1265079
>>1265062
А мог бы как белый человек использовать ссылки.
Аноним 16/09/18 Вск 19:00:23  1265103
>>1265076
Эти вечные срачи.

У меня андройд, а не сайты. Изучать спринг хуинг и прочее говно оставляю легаси рабам. Вообще думаю закончить пару проектов писать и начать перебираться на иос.
Аноним 16/09/18 Вск 19:41:42  1265133
qqq.jpg (9Кб, 480x360)
>>1265013
>Что скажете?
Что товарищ Ленин хочет видеть вас в родном кишлаке.
Аноним 16/09/18 Вск 20:30:13  1265161
>>1265013
Ну я думаю, что если ты останешься то в профессиональном плане будешь развиваться лучше чем в ДСе в каком-нибудь интерпрайзе. Только помни одно, как сказал один человек, либо ты преподаёшь, либо кодишь, иного не дано. Так что хлопочи себе место лаборанта и развивайся как прогер+матем.
Аноним 16/09/18 Вск 21:37:10  1265201
1537085217688-g.png (31Кб, 774x738)
Что тут происходит? Что за Integers()?
Аноним 16/09/18 Вск 21:59:57  1265219
>>1265201
>Что тут происходит?
Кто-то установил на твой компьютер самый хуёвый шрифт во всём интернете а также библиотеку для функционального пердолинга.
Аноним 16/09/18 Вск 22:26:36  1265229
>>1265219
А что за библиотека?
Аноним 16/09/18 Вск 22:38:01  1265233
>>1265229
Один из нестандартных инклюдов, скорее всего range.
Аноним 17/09/18 Пнд 00:24:07  1265289
Как в mingw-w64 скомпилить 32 битное приложение? -m32 ключ, а что еще? ошибку ебашит
Аноним 17/09/18 Пнд 00:32:33  1265294
image.png (37Кб, 682x432)
>>1265289
Аноним 17/09/18 Пнд 00:46:05  1265300
>>1265294
> 2k!8
> emacs
Аноним 17/09/18 Пнд 00:48:00  1265301
>>1265294
все верно mingw-w64-install.exe ? что-то не вижу таких ярлыков у себя, есть x64
Аноним 17/09/18 Пнд 00:52:38  1265304
>>1265301
Скрин взял в гугле. Там через MSYS ставилось.

А если архитектуру выбрать другую?
Аноним 17/09/18 Пнд 00:55:02  1265306
>>1265300
https://docs.rtems.org/branches/master/user/_images/msys2-minw64-start-menu.png
Аноним 17/09/18 Пнд 00:56:21  1265308
Screenshot.2.png (4Кб, 238x102)
>>1265304
тоже самое, кажется там онли 64 бита
Аноним 17/09/18 Пнд 01:01:54  1265310
>>1265308
>C:/Program Files (x86)/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x
86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -
lkernel32
Аноним 17/09/18 Пнд 01:03:12  1265311
>>1265310
ХЗ знает.
Аноним 17/09/18 Пнд 01:07:19  1265314
разобрался, i686 нужно было ставить для x86 и x86_64 для 64 бит.
Аноним 17/09/18 Пнд 13:55:37  1265515
Доброго всем дня.
Я понимаю, но хочу уточнить у опытных спецов.
(♦ означает звёздочку, она тут не печатается)
Вот смотрите, есть у нас вектор std::vector<T> v(15);
После такого объявления v.size() вернет 15, а v.capacity() вернет >= 15.
Допустим, мы его чем-то заполнили и замутили пару итераторов auto iter_a = v.begin(); auto iter_b = v.end()-5;
А еще сделали пару указателей T♦ ptr_a = &v[0]; T♦ ptr_b = &v[10];

Теперь допустим, начинается реаллокация. И отсюда несколько вариантов, что бывает.
— Первый. Я пишу v.resize(20); Оба итератора и оба указателя могут инвалидироваться. То есть, возможно там подряд и была память на увеличение вектора, но полагаться на это — UB и вообще нельзя.
— Второй. Я пишу v.resize(10); iter_a и ptr_a остаются гарантированно валидными, а iter_b и ptr_b инвалидизируются.
— Третий. Я пишу v.reserve(20); По сути происходит то же, что и в первом варианте. Возможно, вектор реаллоцируется и элементы всем цыганским табором переезжают на новое место. Депеши по старым адресам идут в никуда.
— Четвертый. Я пишу v.reserve(4); Это меньше исходного размера и ничего не происходит. Указатели с итераторами остаются рабочими, соответственно.
— Джокер. Перед заполнением вектора вызвали v.reserve(20), тогда все вышеизложенные варианты сохраняют валидными оба итератора и оба указателя.

Я правильно всё понимаю?
Аноним 17/09/18 Пнд 14:45:09  1265528
>>1265515
ВРоде правильно.
Аноним 17/09/18 Пнд 19:00:07  1265648
Аноны прочитав про с++. Я понял, что он не прощает ошибок, требует выбор оптимального подхода к реализации проекта, нужно трястись за каждый байт памяти, думать трижды чем делать, заранее планировать всю архитектуру. Но в этом и вся прелесть языка, что она учить тебя правильному техническому мышлению или я где-то обосрался?
Аноним 17/09/18 Пнд 19:09:24  1265654
>>1265648
он учит тебя думать о ненужных вещах, деталях. в большинстве случаев этот язык является не выбором, а необходимостью. С является таковым еще больше
Аноним 17/09/18 Пнд 19:14:15  1265655
>>1265648
Не совсем так. Оптимального подхода никто не требует. Можешь хоть пузырьком сортировать и ебашить четырехэтажные иерархии виртуального наследования.
Аноним 17/09/18 Пнд 19:36:05  1265674
>>1265654
Но как я понял, благодаря этому будет вырисовываться красивая архитектура кода, ведь не зря же столько инструментов есть
Аноним 17/09/18 Пнд 19:39:39  1265677
>>1265648
Это выебщики пиздят. На стл, бусте и умных поинтерах можно не менее безопасно чем на жабе писать.
И все равно быстрее будет.
Но вот если решил прям супер оптимально написать, тогда можно и сегфолт в ебло словить и дедлок итд.
Аноним 17/09/18 Пнд 19:40:49  1265678
>>1265655
Если есть голова на плечах и желание двигаться дальше, ты будешь изучать инструментарий c++ и охуевать от его разнообразия, но разобравшись ты уже будешь подходить к разной реализации с лучшей точки, которую предлагает с++
Аноним 17/09/18 Пнд 20:11:30  1265691
>>1265648
>c++
>учить тебя правильному техническому мышлению
))
Аноним 17/09/18 Пнд 20:26:20  1265695
Возможно ли реализовать такую схему наследования?

class Pipeline
{
};

class GraphicsPipeline : public Pipeline
{
};

class ComputePipeline : public Pipeline
{
};

class DX_Pipeline : public Pipeline
{
};

class DX_GraphicsPipeline : public DX_Pipeline, public GraphicsPipeline
{
};

class DX_ComputePipeline : public DX_Pipeline, public ComputePipeline
{
};
Аноним 17/09/18 Пнд 20:30:40  1265697
>>1265695
Да, только получится говно с дублированием. Гугли виртуальное множественное наследование
Аноним 17/09/18 Пнд 20:31:25  1265699
>>1265697
Так я уже загуглил и уже как только не расставлял кейворд virtual, но везде возникают конфликты, помоги правильно расставить плз
Аноним 17/09/18 Пнд 20:33:04  1265702
>>1265699
Схема говно, зачем именно так?
Аноним 17/09/18 Пнд 20:34:30  1265703
>>1265702
Мне так видится это наследование, как бы ты посоветовал ее переделать?
Аноним 17/09/18 Пнд 20:37:18  1265704
>>1265703
Тебе интерфейс или реализацию надо наследовать? Если интерфейс, то выделяйте его в абстрактные классы, если реализацию, то используй композицию
Аноним 17/09/18 Пнд 20:40:01  1265707
>>1265704
Нужно наследовать интерфейс, но я не очень понял что ты имеешь ввиду. Что значит "выделяйте его в абстрактные классы"? У меня и так Pipeline, GraphicsPipeline, ComputePipeline - абстрактные, а те что с DX_ - их реализуют.
Аноним 17/09/18 Пнд 20:41:10  1265709
>>1265707
Тогда зачем наследоваться от dx, если можно от абстрактного?
Аноним 17/09/18 Пнд 20:44:56  1265713
DX_Pipeline Хренит общие поля для DX_GraphicsPipeline и DX_ComputePipeline, и объект DX_Pipeline нужно потом кастить в DX_GraphicsPipeline
Аноним 17/09/18 Пнд 21:04:05  1265731
Просматривал давеча хехе.ру. Искал там вакнсии для июней. В итоге выяснил, что для java, c#, php, python, js июней вакансий в достатке, а для c/c++ вакансий раза в три меньше и зп по ним на 20% меньше. Источник исследований конечно сомнительный, но данные с него выглядят как продолжение скатывания c++ в говно.
Аноним 18/09/18 Втр 03:03:32  1265883
>>1265731
Это консолидация перед взлетом.
Аноним 18/09/18 Втр 04:17:00  1265897
>>1265709
Зачем наследоваться от диффура?
Аноним 18/09/18 Втр 08:11:03  1265930
https://www.youtube.com/playlist?list=PLgeSUiT3pydG7KchiEhjYvwkORh7TSGNi&disable_polymer=1

Смотрел кто-нибудь эти лекции?
Есть профит?
Аноним 18/09/18 Втр 11:48:02  1265985
Гутен морген, бреш-компания.
Мне тут рекомендуют книжку Джефф Элджер. C++: Библиотека программиста.
Говорят, это основной учебник по продвинутому освоению языка C++. В шапке треда не нашел.
Что скажете?
Аноним 18/09/18 Втр 12:51:50  1266010
>>1265883
Если в отрасли не нужны молодые кадры, то она находится в состоянии рецессии с негативным прогнзом в сторону дальнейшего снижения.
Аноним 18/09/18 Втр 13:36:42  1266043
image.png (170Кб, 1591x455)
>>1265985
Дебильный тон изложения, куча отсебятины типа пикрил
Аноним 18/09/18 Втр 13:44:55  1266051
>>1266043
Въебал бы автору в щи с вертухана, а затем сняв скальп сожрал на глазах его матери, которую я буду ебать его нижней челюстью.
Аноним 18/09/18 Втр 14:11:34  1266065
UFi8G1MHi40[1].jpg (396Кб, 1920x1080)
Ребята, что за хуйня? Почему я еще ничего не написал, а у меня уже 418 ошибок ?
Аноним 18/09/18 Втр 14:22:54  1266067
>>1266065
Подключи locale.h
Аноним 18/09/18 Втр 14:27:22  1266068
6FmnXMtsO48[1].jpg (372Кб, 1920x1080)
>>1266067
Да вот даже так эти ошибки есть.
Аноним 18/09/18 Втр 14:52:46  1266084
>>1266065
У тебя студия без предупреждений поставилась? Ты качал было в installer'e пункт РАЗРАБОТКА КЛАССИЧЕСКИХ ПРИЛОЖЕНИЙ С++?
Аноним 18/09/18 Втр 14:56:08  1266088
>>1266084
Я там вообще все выбрал. На всякий случай, благо место на диске есть.
Аноним 18/09/18 Втр 15:09:42  1266093
Ананас, ты когда-нибудь юзал списки (любые) или дек?
В чём их профит?
Аноним 18/09/18 Втр 15:38:56  1266095
Сделал 2 батника для компиляции minigw 32 и 64

длл https://pastebin.com/raw/bEZ8jhHA

exe https://pastebin.com/raw/XQEF997n

нужно поменять пути на ваши
Аноним 18/09/18 Втр 15:47:33  1266100
>>1266093
Списки полезны если много вставок в середине, дек - если с краев.
Аноним 18/09/18 Втр 15:55:19  1266103
>>1266100
> Списки полезны если много вставок в середине, дек - если с краев.
Это написано в любой книжке/туторе про них.
Я имею ввиду реальное применение в своих программах. Как, например, элемент какой-то другой структуры данных.
Аноним 18/09/18 Втр 16:58:09  1266132
>>1266095
Дай рыбу.
Аноним 18/09/18 Втр 17:41:31  1266186
>>1266103
Ну вот я недавно делал кеширующий провайдер данных, был список указателей на структуры их описывающие, при обращении к ним они переносились в начало списка, при нехватке памяти удалялись с конца.
Дек вроде нигде не использовал.
Но для быстродействия на самом очень часто все делаю тупо на векторах, пусть даже в ущерб потребления памяти.
Аноним 18/09/18 Втр 17:48:36  1266192

>>1264053
>тобы ты с этими самым хуятелями не соприкасался

Как пистон?
Аноним 18/09/18 Втр 18:28:21  1266207
Шарящие стандарт, поясните, что это значит (не перевод естественно, а с точки зрения использования)?
https://cplusplus.github.io/LWG/issue2981

Да и в целом про deduction guides хотелось бы больше инфы на русском, объясняющей тонкости (а не сухое изложение с cppreference) ну или на английском но попроще (какое нибудь how to)
Аноним 18/09/18 Втр 19:11:09  1266222
>>1266207
> Шарящие стандарт, поясните, что это значит (не перевод естественно, а с точки зрения использования)?

Ничего.
Аноним 19/09/18 Срд 02:57:11  1266410
>>1266207
> Да и в целом про deduction guides хотелось бы больше инфы на русском
Тут рассказывалось про них
https://www.youtube.com/watch?v=rJWSSWYL83U
Где-то во второй половине вроде
Аноним 19/09/18 Срд 08:03:02  1266439
>>1266051
Хуле ты не на своей доске /б/итард?
Аноним 19/09/18 Срд 10:48:35  1266483
На собеседовании дали мне задачу. Есть вектор интов, удалить из него все нули. Я сделал это с помощью цикла, в котором использовал erase(). Сказали, всё правильно, только erase() должен вызываться 1 раз. Ещё одногруппница подсказала, что это делается с помощью erase() и remove().
Неподскажите ли оптимальный алгоритм?

И нахрена erase() делает последующий за ним итератор нерабочим?
https://ru.cppreference.com/w/cpp/container/vector/erase
Аноним 19/09/18 Срд 11:03:32  1266492
>>1266043
А там про параллельные штуки и про сетевое программирование что-то есть?
Аноним 19/09/18 Срд 11:04:38  1266493
>>1266483
Возможно, отсортировать, найти первый и последний нули и тогда уже один раз вызвать удаление?
Аноним 19/09/18 Срд 11:08:11  1266497
>>1266493
Возможно, а зачем там ремув?
Аноним 19/09/18 Срд 11:13:47  1266502
>>1266483
да, erase вызывается один раз
- https://ghostbin.com/paste/cqa5p
Аноним 19/09/18 Срд 11:30:38  1266512
>>1266502
Этот ремув, он сдвигает часть вектора после удаляемого элемента ближе к началу, тем самым перезаписывая удалаяемый элемент, так ведь?
Аноним 19/09/18 Срд 11:35:09  1266516
>>1266410
>Тут рассказывалось про них
О, спасибо
Аноним 19/09/18 Срд 12:55:08  1266538
>>1266512
https://ru.cppreference.com/w/cpp/algorithm/remove
Аноним 19/09/18 Срд 13:02:54  1266542
>>1266512
remove_if сдвигает все элементы, на которых предикат возвращает false в начало и возвращает итератор указывающий на начало последовательности элементов, возврающих true
Аноним 19/09/18 Срд 14:07:26  1266557
>>1266410
> 2k18
> смотреть что-то кроме cppcon/boostcon, особенно руснявые недоконференции
Продажа своего софта. C++ Builder Аноним 19/09/18 Срд 15:32:29  1266595
>>1263368 (OP)
Добрый день, господа программеры. Я написал небольшую утилиту, используя C++ Builder, и хочу начать её распространять за бабосики. При этом моя IDE, как это полагается, спирачена. Так вот, если я преобрету лицензию, с какими трудностями я столкнусь при попытке распространения моего софта?
Я об этом только начал задумываться и пока не знаю в какую сторону копать. Что лучше изучить в таком случае? Что там с авторскими правами и так далее?
Аноним 19/09/18 Срд 16:07:59  1266623
>>1266595
ну вродь у билдера дорогая лицензия. Хотя вроде выпустили какую-то версию билдера, аналог visual studio community edition, которая свободная и пиратить не надо, посмотри, можно ли твой проект перенести на него, авось проще будет.
Аноним 19/09/18 Срд 16:32:37  1266637
>>1266623
Да, слышал про неё. Как бы не оказалось, что она как в бесплатном Qt не собирает dll-ки. Ну а вообще, мне не обязательно нужна последняч версия. Я вообще свою на 2010-м написал, не думаю, что дороже 100к рублей выйдет. Такую сумму я более-менее смогу скопить. Просто, читал про лицензию Qt и там же месячная подписка идет. Так вот, если ты, например, за месяц подписки выдвинул в продажу продукт, то придется оформлять лиценщию на всё последующее время продаж. Поэтому и спросил про билдер, мало ли кто имел дело с распространением своего софта, сделанного на нём.
Аноним 19/09/18 Срд 16:51:03  1266641
24 лвл, вкатываюсь в плюсы после СИ. Не поздно ли я начал вкатываться? На си писал прошивку для СТМ микроконтроллеров.
Аноним 19/09/18 Срд 16:53:39  1266642
>>1266641
> Не поздно ли я начал вкатываться?
Нет. Сам я вкатился в плюсы после C в 24 или 25.
Через год открыл для себя стандарт.
Через полгода-год начал фиксить там баги, в том числе не-editorial.
ХЗ кто там про 10 лет пишет на то, чтоб выучить C++..
Аноним 19/09/18 Срд 16:55:23  1266643
>>1266542
В канец
Аноним 19/09/18 Срд 16:59:27  1266644
>>1266637
свои длл ты сколько угодно можешь собирать, другое дело Qt и вроде как OpenSource версия наоборот, обязывает тащить все с их dll и их динамической линковкой.
Аноним 19/09/18 Срд 18:03:04  1266704
>>1266644
В общем, я это и имел в виду.
Аноним 19/09/18 Срд 22:05:41  1266839
image.png (6Кб, 473x575)
СУКА ЧЕ за хуйня

почему 1 не меньше 4
Аноним 19/09/18 Срд 22:30:14  1266855
>>1266839
>std::cout << int(a);
Вот это сделай, и поймешь.
Аноним 19/09/18 Срд 22:44:39  1266858
>>1266093
>списки (любые) или дек?
У меня ECS на велосипедном деке. Память под элементы выделяется страницами, которые хранятся в списке. Доступ к элементам по указателю, итерация по страницам. При удалении на место элемента заносится последний в деке. У каждого элемента есть айди, по которому можно найти элемент через таблицу. При перемещении элемента (на место удаленного), меняется указатель в таблице. При доступе по указателю сравниваются айди полученного элемента с айди хранящимся в ссылке, если они отличаются, то элемент ищется через таблицу, а указатель в ссылке обновляется. Получается быстрее и удобнее, чем иерархии классов с наследованием колеса от машины.
Аноним 20/09/18 Чтв 08:04:52  1266951
>>1266839
Потому что надо катиться из c++ в js, а не наоборот.
Аноним 20/09/18 Чтв 10:39:22  1266995
>>1266839
>char a = ' 1 '
В данном случае у тебя 1 - символ. ASCII-код которого равен 49. Вот это значение и хранится в char a. Когда ты приводишь эту переменную к int, то ничего не поменяется толком (разве что она после этого станет 4-байтовой и ты сможешь сохранять в ней значения намного больше, чем 127 при char).
Если ты хочешь исправить свой код, то убери кавычки с 1 (ну и можешь выкинуть приведение к int, хотя и с ним будет работать).
Аноним 20/09/18 Чтв 14:37:37  1267119
Салют, народы!
Нужно получить путь папки, где лежит некая .so библиотека.

Походу это можно сделать через
int dladdr(void addr, Dl_info info);

А как узнать адрес библиотеки из кода в этой самой библиотеке? Желательно без трюков с глобальными функциями.

А может это можно сделать через буст?
Есть такая штука как shared_library(const shared_library &lib)
Опять же, где взять ссылку на библиотеку?

Обычно хендлер на неё получается из функции, которая её загружает. А вот мне надо в самой библиотеке знать. Подскажите?
Аноним 20/09/18 Чтв 14:38:02  1267120
>>1267119
Звёздочки полетели, но я думаю вы поймёте
Аноним 20/09/18 Чтв 18:21:47  1267251
>>1266839
Что за пиздец здесь происходит ?
Аноним 20/09/18 Чтв 19:12:57  1267275
>>1267119
> Походу это можно сделать через int dladdr(void addr, Dl_info info);
Я делал именно так, но не знаю, подойдёт ли это под твоё
> без трюков с глобальными функциями
void °init()
{
DL_info d;
dladdr((void °)init, &d);
return new object(d.dli_fname);
}
Аноним 20/09/18 Чтв 23:14:04  1267406
Ананас, такой вопрос.
Как часто ты юзаешь функции из algorithm?
Я имею ввиду find и все прочие.
Допустим есть пара или триплет в векторе и надо найти/изменить какое-то значение и тп.
С одной стороны для простоты хватит и цикла (тем более данных не так много), а с другой хороший тон и всё такое.
Аноним 21/09/18 Птн 13:59:37  1267702
>QtCreator
Стоит вместе с cmake, как сделать портабл проект? Вот чтобы можно было папку перенести в любое другое место и не править пути вручную в CMakeLists.txt.user
Если я заменяю их на относительные, он при сохранении всё-равно заменяет их на абсолютные.
Нашёл упоминания про CMAKE_USE_RELATIVE_PATHS, но оно больше не работает по каким-то идейным соображениям.

Это дико неудобно, я часто перетаскиваю код между двумя компьютерами и не знаю как это нормально организовать. Хоть пиши скрипт на питоне, который нужно будет запускать после каждого переноса для фикса путей.
Аноним 21/09/18 Птн 14:32:43  1267725
>>1267702
А в чём проблема с путями?
Это, вроде как, в шиндовсе надо писать вручную путь к библиотеке, например.
Аноним 21/09/18 Птн 14:49:07  1267742
image.png (72Кб, 909x326)
>>1267725
К какой библиотеке, причём тут библиотеки?
Вот у меня есть мой новый проект из одного файла на три строчки. Сейчас он на диске W и он записал абсолютные пути в свои внутренние файлы. Я переношу его на другой компьютер на диск D, а он всё-равно создаёт каталог сборки на местном диске W, хотя там он вообще никакого отношения не имеет к кодингу. В результате код и ексешники на разных дисках.

А всё что мне нужно, чтобы оно собирало проект в той же папке, где находится и CMakeLists.txt
Прописывать в конфиг не W:/code/graph/unknown, а что-то вроде ../unknown или ./unknown
Аноним 21/09/18 Птн 14:49:11  1267743
>>1267406
С парой ясен пень find или find_if прокатит. А вот с триплет (это же ты tuple имеешь в виду) даже и не знаю как организовать. Там же нужно std::get<N>(dopustim_triplet) и тогда это всё заворачивается в for от i = 0 до size и что-то с этим делать, выходит, лямбду в теле фора писать или делать функтор или функцию, короче, громоздкое что-то. Никогда их не использовал.

Кто в треде может назвать пример использования массива кортежей на практике?
Аноним 21/09/18 Птн 15:16:20  1267753
>>1267743
> А вот с триплет (это же ты tuple имеешь в виду)
Ну можно и через тапл, но я имел ввиду struct triple{ T first; U second; W thrid; } шаблонную йобу в начале опустил>


> Кто в треде может назвать пример использования массива кортежей на практике?
https://www.youtube.com/watch?v=fs6KV9iNi_U интересная штука
Аноним 21/09/18 Птн 15:31:29  1267757
>>1267702
CMakeLists.txt.user это настройки QtCreator.
Хочешь портабл проект — оставь только CMakeLists.txt, а CMakeLists.txt.user удали.
Аноним 21/09/18 Птн 16:04:02  1267778
>>1267757
Как вообще вкатиться в CMake? Я вот пробовал в точности повторить за https://cmake.org/cmake-tutorial/ но то ли у меня синдром Патау, то-ли еще в чем проблема, но не заработало.
Беда в том, что туториал ничего не показывает минимально рабочего а сразу громоздит кучу непонятной херни, в конце говорит мол, вуаля работает, а оно нихера не работает и ебись потом сам с кучей непонятной шляпы. Что делать? Есть пошаговые гайды какие?
Аноним 21/09/18 Птн 16:07:13  1267781
>>1267778
Я искал простенькие проекты на гитхабе уровня лаба1 с несколькими файлами. Собирал и запускал.
Потом исходя из своих нужд искал ещё что-то: как подключить библиотеку, как собрать с нуля что-то и тд
Аноним 21/09/18 Птн 16:29:34  1267789
>>1267757
И его каждый раз приходится удалять, а потом в иде кликать галочки. Это не очень сложно, но я себя идиотом чувствую занимаясь таким.
Аноним 21/09/18 Птн 16:47:22  1267804
15331262473150.gif (319Кб, 500x495)
Шалом. Есть три книги:
Марк Дж. Рочкинд. Программирование для Unix.
Уильям Ричард Стивенс. Unix: Взаимодействие процессов.
Уильям Ричард Стивенс. Unix: Разработка сетевых приложений.
На какую сам сядешь, на какую мать посадишь? Что вы о них можете сказать и в каком порядке их читать, если к теме только подошел и мало что понимаю?
Аноним 21/09/18 Птн 18:50:06  1267885
>>1267804
ПРи чём тут этот тред?
Аноним 21/09/18 Птн 23:02:58  1268015
>>1267753
Мои горе-доклады постят на дваче. Это успех. Про хэш-таблицу посмотри.
Аноним 21/09/18 Птн 23:19:59  1268021
>>1268015
На русских конфах не принято выкладывать слайды, как я понял.
Аноним 21/09/18 Птн 23:20:50  1268022
>>1268015
>>1268021
Оооо. Надо промотать до конца видео, чтобы увидеть ссылку на слайды.
В описание её засунуть — слишком сложна.
Аноним 21/09/18 Птн 23:25:46  1268025
>>1268015
> Про хэш-таблицу посмотри.
Кажется смотрел, но частями.
Та тема не особо была интересна поэтому не вдавался в подробности.
А вот про консоль вопрос.
Ты говорил что до твоей штуки была какая-то своя поделка в которой уже никто разобраться не мог.
Вот лично у меня ассоциация "консоль с командами" это выпадающая йоба сверху из Квейка.
То есть если бы я делал подобную вещь, то ориентировался бы на это.
А как та работала?
Были ли ещё какие варианты?

Аноним 22/09/18 Суб 00:03:14  1268041
>>1268021
Видео на ютуб заливал не я

>>1268025
Консоль в квейке теоретически проще, т.к. в основном в ней геттеры-сеттеры различных параметров, ну и возможность процессить команды через ;.

Как работала та - читала слово из потока, делала гигантский ИФ по поиску этого слова, потом изменяла флажок на рандомное значение а-ля 0xFAFB, читала следующие слово, и искала это слово внутри if (flag = 0xFAFB). Как было сделано автодополнение - я так и не понял, если честно. Слишком тяжело было этот ад читать, да и таски у меня были другие.

Когда нужно было добавить новую команду, я делал именно то, о чем рассказывал в докладе - копипастил похожую.
Аноним 22/09/18 Суб 00:28:55  1268055
>>1268041
Что бы ты посоветовал сделать для резюме?
Я имею ввиду какой-то проект который было бы не стыдно лол показать людям, вроде твоей консоли.
Просто когда начал смотреть, думал что нихера не пойму, но потом посмотрев исходники кроме ветвления и автодополнения, в них не стал разбираться без труда сделал своё подобие.
Аноним 22/09/18 Суб 00:39:13  1268059
>>1268055
Любой юзабельный и законченый. Настоятельно НЕ рекомендую делать игры, очень сложно, а толку мало. Лично я, когда начинал учить кресты (в 26 лет лол), писал хлам на qt, а-ля клиент для web api.

Вообще - если говорить про около-джунов, то я бы скорее не писал код, а старательно штудировал Майерса и прочие очень умные книги. И задрачивал алгоритмы на leetcode.com. Как показывает практика собеседований (я собесил больше 30 джунов), теория на данном уровне важнее практики.
Аноним 22/09/18 Суб 00:44:26  1268062
геймдев в россии в настоящий момент - будешь делать под мобилки с вероятностью 90%
всякие фермы, кристаллики в ряд..
Аноним 22/09/18 Суб 01:48:37  1268070
15330277041110.jpg (61Кб, 520x545)
>>1266839
Аноним 22/09/18 Суб 02:16:28  1268086
>>1263368 (OP)
Написал count << string вместо cout << string
@
Over 9000 ошибок при компиляции
Аноним 22/09/18 Суб 07:42:30  1268134
>>1268059
> Настоятельно НЕ рекомендую делать игры, очень сложно, а толку мало
Почему?
Кажется это самый простой вариант: сделать клон какой-то и добавить от себя что-то.
Аноним 22/09/18 Суб 08:49:29  1268140
Поясните кто-нибудь за clang. Скачал КодБлокс, скачал clang последний. В Кодблокс выбрал clang и оно нихера не собирает - нету стандартных либ. На сколько я понял - их надо качать отдельно, но при этом, вроде как, под винду их нет. В общем та ещё попа-боль. Вся надежда на шаряшего анона.
Аноним 22/09/18 Суб 13:14:49  1268246
>>1267885
Хорошо, тогда какой?
Думал, тут знают эту всю штуку.
Аноним 22/09/18 Суб 13:28:43  1268254
>>1263384
Что там забыла C#-макака?
Аноним 22/09/18 Суб 13:37:07  1268260
>>1268015
>Мои горе-доклады постят на дваче.
Ты няшный, может встретимся?
Аноним 22/09/18 Суб 15:04:32  1268287
>>1268134
В том то и дело, что кажется - на деле там очень много геморроя, если ты хочешь сделать что-то сложнее сапера или там крестиков-ноликов.

>>1268260
Ну, если ты готов играть со мной в Battletoads & Double Dragon разве что.
Аноним 22/09/18 Суб 15:35:54  1268299
>>1268140
Скачай MSVC и не еби голову, серьезно
Аноним 22/09/18 Суб 16:17:49  1268311
Псаны, приходится ли вам иногда пользоваться в своих проектах всякой lock-free хуйней? Или хуяк мьютекс туда, хуяк condition_variable сюда сойдет? Что-то меня пугают все эти memory ordering'и, да и вообще такой код очень сложно писать без ошибок.
Аноним 22/09/18 Суб 16:39:23  1268322
>>1268015
>Мои горе-доклады постят на дваче. Это успех.
А твой работодатель/коллеги знают, куда ты заходишь?
Ты задумывался над тем что будет, если они узнают?
Аноним 22/09/18 Суб 16:43:45  1268325
>>1268322
О господи, он сидит на программаче, срочно уволить и в тюрьму посадить
Аноним 22/09/18 Суб 17:36:51  1268350
>>1268287
>>Ну, если ты готов играть со мной
Конечно, милаш
Аноним 22/09/18 Суб 20:14:55  1268422
>>1268140
libc++
Аноним 22/09/18 Суб 20:15:19  1268423
>>1268325
Короля делает свита, понимаешь?
Аноним 22/09/18 Суб 20:44:48  1268443
>>1268422
написал о том, о чем не разбираюсь
не учитывать этот пост
Аноним 22/09/18 Суб 21:17:14  1268460
>>1268443
>написал о том, о чем не разбираюсь
>не учитывать этот пост
Мы обязательно учтём, что вы любите писать о том, в чём не разбираетесь.
Аноним 22/09/18 Суб 22:02:59  1268488
>>1268423
нет
Аноним 23/09/18 Вск 00:18:29  1268533
>>1268311
Смотрел как-то код lock-free очереди. Чуть крышей не поехал.
Это принципиально невозможно писать без ошибок, тесты тоже ничего не протестируют. Единственный выход – формальная верификация, которая пока сильно страдает от комбинаторного взрыва на больших программах.
Аноним 23/09/18 Вск 06:54:49  1268584
Пишу проект приложения и есть требование установки приложения в режим паузы (заказчик хочет, чтобы как в режиме дебага - нажал на кнопочку паузы и приложение ждет твоих действий).

Приложение многотопоточное и я сильно туплю не могу сообразить как это сделать правильно. До чего смог додуматься своими силами:
- Создаем флаг паузы в основном потоке графического интерфейса;
- Передаем флаг всем потокам в момент инициазации потока как указатель, чтобы его изменение из основного потока отображалось в остальных потоках;
- Ставим проверку этого флага через каждый N функций на проверку не включил ли пользователь паузу;
- Если он его включил, флаг меняется в основном потоке, меняется в побочных потоках, проходит проверку и побочные потоки уходят в вечный цикл до тех пор пока флаг не изменится, в свою очередь основной поток продолжает работать давай пользователю взаимодействовать с графическими эелментами.

Всё правильно? Или это можно как-то сделать изящней? Или это вообще всё хуйня и работать не будет? Пишу прогу в Qt 5.
Аноним 23/09/18 Вск 14:34:50  1268907
image.png (109Кб, 812x729)
image.png (7Кб, 337x124)
>>1268584
> Ставим проверку этого флага через каждый N функций
Я не знаю что там в стандартной библиотеке с потоками (только вкатываюсь в си), но через winapi можно явно заморозить нужные тебе потоки, без вечных циклов в фоне и проверок в непонятном месте твоей поточной функции.

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

По крайне мере вечный цикл - точно костыль. Просто так без необходимости твой поток десять раз в секунду забирает себе нить выполнения для проверки флага? Серьёзно? Сделай так, что дочерний поток замораживает сам себя, а разбудит его главный. Если апи для resume/suspend в стандартной библиотеке нет (почему-то не смог нагуглить за несколько минут), то сделай через WaitForSingleObject. Второй пик. Поток с вечный циклом проверки флага и Sleep(100) жгёт такты, и требует переключения потоков, а поток с WaitForSingleObject абсолютно мёртвый.
Аноним 23/09/18 Вск 16:55:36  1268989
>>1268907
Спасибо, пойду гуглить по той инфомции, что ты дал.
Аноним 23/09/18 Вск 17:49:02  1269012
изображение.png (14Кб, 1075x407)
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
int a,b;
cin >> a >> b;
srand ( time(NULL) );
cout << a+rand()%(b+1)<<" "<< a+rand()%(b+1)<<" "<< a+rand()%(b+1)<<" "<< a+rand()%(b+1)<<" "<< a+rand()%(b+1)<<" ";
}

Что не так?
Аноним 23/09/18 Вск 18:01:49  1269020
>>1269012
Ты результат то пробовал вывести?
a=29 b=30
29+rand()%31
Ты получаешь значения от 29 до 59.

Ещё при больших b у тебя это совсем неравномерное распределение будет. Про это конечно не говориться. Попробуй просто выведи 5 раз число а, шутки ради. Теоретически, нельзя лишь по результату строго утверждать что это не случайные числа.
Аноним 23/09/18 Вск 19:19:07  1269064
>>1269020
Спасибо, анон! Всё заработало.
Аноним 23/09/18 Вск 21:12:55  1269149
Господа крестоносцы, где почитать о параллельных штуках кроме как у Страуструпа? У него есть что-то, но мне недостаточно и слишком комкано, хочу материала где более разжевывают что куда.
Аноним 23/09/18 Вск 22:27:12  1269189
>>1269149
Вильямс
Аноним 23/09/18 Вск 23:09:54  1269213
>>1269189
Нирикаминдую.
Аноним 23/09/18 Вск 23:13:36  1269216
>>1269213
ничего более нету
Аноним 23/09/18 Вск 23:15:20  1269218
Гайс, у меня уже голова болит.

Как правильно передать двумерный массив в качестве аргумента функции ?
Заранее домо аригато.
Аноним 23/09/18 Вск 23:22:00  1269227
>>1268584
проблема всех вас, что вы просто, блядь, ебаные неучи
у вас нет теории, вы тычетесь как щенки
не разбираешься, тогда пользуйся высокоуровневыми абстракциями, в тех же либах дающих thread pool (это только в качестве примера), есть возможность остановить всех воркеров
а вы, блядь, на голых средствах синхронизации каждый раз переизобретаете ебаные костыли
Аноним 23/09/18 Вск 23:23:21  1269229
>>1269216
Хвалят https://leanpub.com/concurrencywithmodernc но я не читал.
Аноним 23/09/18 Вск 23:25:37  1269232
>>1269227
более того, если ты пользуешься голыми средствами синхронизации, ебаша промышленный код, то нужно сильно сомневаться в твоей квалификации
потому что на фирмах, даже если делают СВОЕ, то сначала реализуют собственные более высокоуровневые абстракции для работы с любой параллельностью
а в большинстве случаев достаточно пользоваться готовыми средствами
потому что, блядь, это сложно
это пишется годами серьезными дядями, а рядовой исполнитель который делает код который продается, хуй это осилит на коленке
Аноним 23/09/18 Вск 23:29:06  1269234
>>1268533
проблема lock-free либ в том что НЕТ еще открытых/продающихся вещей которые уже вступили в стадию зрелости
да, на крупных фирмах где-то уже смогли поднять свои решения, которые уже у них работают, но это все внутренние вещи
при этом чтобы это сделать им пришлось пойти на немалые капиталовложения, потому что делать такое чертовски сложно
Аноним 23/09/18 Вск 23:33:38  1269237
>>1269149
>>1269229
Это и сюда тоже
Аноним 24/09/18 Пнд 00:37:10  1269260
>>1269218
template<typename T, std::size_t M, std::size_t N>
void array(T (&a)[M][N]) { / code / }
А лучше заверни его в структуру и не еби мозги.
Аноним 24/09/18 Пнд 01:05:08  1269271
>>1268254
Ничего, она же макака, а не петух.
Аноним 24/09/18 Пнд 01:28:55  1269278
>>1269260
Со структурой, будет передаваться не массив, а его копия.
Аноним 24/09/18 Пнд 11:28:15  1269380
>>1268311
>хуяк мьютекс туда, хуяк condition_variable сюда
Так и живём. Хотя твой пост натолкнул на идею попрофилировать куски кода в паре проектах, где single producer/single consumer очереди. Хотя там contention мьютексов очень низкий, может и не стоит даже заморачиваться.
Аноним 24/09/18 Пнд 12:10:02  1269398
>>1269260
Ну, у меня задача была - отсортировать наименьшее число в массиве.
Сделал, правда без темплейта и довольно криво (как ящитаю).

Энивей, если кому- нибудь нужно, то вот. Вдруг пригодится, лул. https://pastebin.com/StWaRC81
Аноним 24/09/18 Пнд 13:23:26  1269419
>>1269398
Лучше переведи двумерный массив в одномерный
Аноним 24/09/18 Пнд 13:55:50  1269436
>>1269398
> return a[ncol * 0];
Аноним 24/09/18 Пнд 13:59:24  1269441
>>1269278
Move constructor не?
Аноним 24/09/18 Пнд 14:41:27  1269458
>>1269441
Не поможет если массив выделен не в куче.
Аноним 24/09/18 Пнд 14:54:10  1269465
>>1269436
it just works.
Аноним 24/09/18 Пнд 18:00:30  1269603
У меня есть несколько вопросов и мне нужен совет - то ли я вообще делаю или нет.

Я студент и хочу вкатиться хотя бы в фриланс. Сразу скажу что вроде погромировать как-то минимально умею, наверное не хуже веб макак которые решили вайти вайти, див2 олимпиады там решал, опенгл ковырял, шейдеры простенькие писал, стандарт С++(11) по толстым книгам на 1000 страниц два раза перечитывал целиком.
Полазил по англоязычным сайтам с фрилансом в категории С++ и обнаружил что в заказах до 30$ многим нужно вот что:
Содомирующие кубы на опенгл(причем довольно часто, видимо для курсачей)
Sql
Веб(либо клиент и сервер написать, либо скачать картинку и распарсить на ней что-то, вот такого уровня)
Разные программы с интерфейсом
CUDA

Так вот, собственно в чем мои вопросы:
На чем лучше всего делать интерфейс к программе на крестах(желательно чтобы еще и нормально можно было опенгл контекст создать)? На Qt что ли?
Через что удобнее всего работать с сетью(микроопыт и представление как это работает есть)?
Для sql как я видел есть много библиотек, какую лучше освоить?
Что вообще делать? Не понимаю куда двигаться. В вузе(такой себе, в топ3-5 дс2) математику и всякую там дискретку более-менее нормально преподают, но это само собой надо знать, а вот программирования нормального похоже там так и не будет, и я уж молчу про что-то прикладное типа того что я описал.
Аноним 24/09/18 Пнд 19:07:44  1269650
>>1269441
Да какая разница.
Просили передать массив. А не его копию. Хоть ты её перемещением сделаешь.
Аноним 24/09/18 Пнд 19:09:00  1269651
>>1269398
У тебя UB в коде.
Аноним 24/09/18 Пнд 19:33:07  1269662
>>1269603
Тупой, блядь, долбоеб. ХВАТИТ ДРОЧИТЬ НА ФРИЛАНС, КОТОРОГО ВСЕ РАВНО В КРЕСТАХ НЕТУ. Иди в офис, и нормально работай.
Аноним 25/09/18 Втр 10:54:29  1269869
Что вообще можно написать на c++?
Аноним 25/09/18 Втр 10:56:21  1269870
>>1269218
Просто по ссылке почему не устраивает?
void GiveMeArray(int array, size_t x, size_t y)
{
for (auto i = 0u; i < x; ++i)
for (auto j = 0u; j < y; ++j)
(array + i + j x) = 0;
}

int main(int /
argc/, char /argv[]*/)
{
int array[100][100];
GiveMeArray(&array[0][0],100,100);
Аноним 25/09/18 Втр 11:46:53  1269905
>>1269870
Спасибо, анончик.
Устраивает, но я - донный и еще не учил ссылки, вот.
Аноним 25/09/18 Втр 16:52:59  1270059
>>1269870
>по ссылке
Но это же указатель. А ссылку предлагал анон с темплейтами.
Если не упарываться, по ссылке можно и так:

void foo(int (&arr)[10][10]) {...}
...
int a[10][10];
foo(a);
Аноним 25/09/18 Втр 20:44:39  1270217
>>1269869
вообще все, начиная от ОС, заканчивая вебстраничкйй
Аноним 25/09/18 Втр 22:50:02  1270285
>>1269870
>Просто по ссылке почему не устраивает?
В твоём коде UB.
Аноним 25/09/18 Втр 23:07:22  1270303
>>1270059
Константы лучше вынести отдельно:
const size_t m = 3, n = 3;
void f(int (&a)[m][n]) {}
Аноним 26/09/18 Срд 00:37:52  1270344
>>1270285
Не, просто в его коде не отображаются звездочки.

void GiveMeArray(int⁂ array, size_t x, size_t y)
{
    for (auto i = 0u; i < x; ++i)
    for (auto j = 0u; j < y; ++j)
    ⁂(array + i + j ⁂ x) = 0;
}
...
int array[100][100];
GiveMeArray( &array[0][0], 100, 100 );

не вижу здесь UB
Аноним 26/09/18 Срд 00:41:30  1270346
>>1269465
Почему не "return a;"? У тебя же похоже просто указатель на начало массива возвращается. Код не читал, если что.
Аноним 26/09/18 Срд 00:49:15  1270348
>>1270344
> i + j ⁂ x
А это на sizeof(int) домножать не нужно? Там же адресом, а не индексом массива веришь.
Аноним 26/09/18 Срд 00:54:13  1270350
>>1270348
нит
a = ⁂(a + i) = ⁂(i + a) = i[a];
Аноним 26/09/18 Срд 00:54:47  1270351
>>1270350
да блятб, a[ i ]
Аноним 26/09/18 Срд 01:10:30  1270361
>>1270351
Но ведь i[a] == a. Ненавижу, блядь, c++ и пидоров, которые такое на собесах спрашивают.
Аноним 26/09/18 Срд 01:12:35  1270364
>>1270361
a[ i ] == i[ a ]
Аноним 26/09/18 Срд 01:55:08  1270370
Решил написать вебсервер. Подводные?
Аноним 26/09/18 Срд 02:09:50  1270374
>>1263368 (OP)
Доброго дня, аноны. Я не программист, но столкнулся с задачей скомпилить сорцы одной софтины с гитхаба. Как компилить файлы по одному я знаю, но как скомпилировать папку с кучей файлов формата .h и .cpp в один экзешник?
Аноним 26/09/18 Срд 02:44:15  1270380
>>1270344
>не вижу здесь UB
На то ты и макака.
Аноним 26/09/18 Срд 03:09:31  1270382
>>1270380
Ну так покажи где ты тут UB нашёл, эксперт мамкин.
Аноним 26/09/18 Срд 03:17:23  1270383
>>1270382
> эксперт мамкин.
Ха-ха. Макакич пыжится.

Ты знаешь, когда можно применять арифметику указателей?
Аноним 26/09/18 Срд 03:53:14  1270385
15334831977280.png (181Кб, 442x341)
>>1270383
Хочешь сказать, что здесь нельзя её применять?

Напомню, что статические "многомерные" массивы представляются в памяти в виде одномерного массива построчно. (§8.3.4 п. 9 стандарта С++11).
Таким образом приведенный в коде массив имеет размер 100×100=10000 элементов. Легко показать, что выражение (i + j × x), используемое в качестве индекса этого массива, никогда не превышает его размера. А следовательно
(array + i + j × x) удовлетворяет всем требованиям для адресной арифметики и является корректным указателем, а его разыменование не вызывает UB.

Принимая во внимание вышеизложенные факты, я утверждаю, что ты хуй и говно.
Аноним 26/09/18 Срд 03:57:08  1270386
>>1270385
>Хочешь сказать, что здесь нельзя её применять?
Да.

> Напомню, что статические "многомерные" массивы представляются в памяти в виде одномерного массива построчно.
Ну и? Пусть себе представляются.
struct { int i; int j; };
тоже может представляться в памяти как int[2]. Это не значит что из указателя на i можно получить указатель на j прибавлением единицы.

> А следовательно
(array + i + j × x) удовлетворяет всем требованиям для адресной арифметики и является корректным указателем, а его разыменование не вызывает UB.

Откуда это "следовательно"? Из предыдущего предложения это не следует. Ну или покажи, что следует.

> Принимая во внимание вышеизложенные факты, я утверждаю, что ты хуй и говно.

А что ещё тупая макака может утверждать?
Аноним 26/09/18 Срд 04:16:17  1270390
>>1270385
>Хочешь сказать, что здесь нельзя её применять?
Точнее, можно, но не так, как ты это делаешь.
Аноним 26/09/18 Срд 04:35:32  1270392
>>1270390
Может тогда поговорим, в чем здесь проблема, вместо того чтоб хуями друг друга обкладывать?
Аноним 26/09/18 Срд 04:41:38  1270397
>>1270392
О чём тут говорить? Очевидный выход за границу массива.
Вот аналогичный код.
В constexpr я не могу писать в массив, так что только чтение.

constexpr int sum(const int^ arr, int x, int y)
{
int sum = 0;
for (int i = 0; i < x; i++)
for (int j = 0; j < y; j++)
sum += ^(arr + i + j × x);

return sum;
}

int main()
{
constexpr int arr[2][3] = { +1, -1, +1, -1, +1, -1, };
constexpr int s = sum(&arr[0][0], 2, 3);

return s;
}

$ g++ prog.cc -Wall -Wextra -std=gnu++2a

prog.cc: In function 'int main()':
prog.cc:14:26: in 'constexpr' expansion of 'sum((& arr[0][0]), 2, 3)'
prog.cc:14:43: error: array subscript value '4' is outside the bounds of array type 'const int [3]'
14 | constexpr int s = sum(&arr[0][0], 2, 3);
| ^

(http://wandbox.org/permlink/OX47NBpU0vb1epjW)

Объясни это.
Аноним 26/09/18 Срд 04:57:41  1270398
>>1270397
Это какие-то фичи, связанные с constexpr?
Например без него замечательно выполняется.

int sum(const int^ arr, int x, int y)
{
int sum = 0;
for (int i = 0; i < x; i++)
for (int j = 0; j < y; j++)
sum += ^(arr + i + j × x);

return sum;
}

int main()
{
const int arr[2][3] = { +1, -1, +1, -1, +1, -1, };
int s = sum(&arr[0][0], 2, 3);

return s;
}

g++ prog.cc -Wall -Wextra -std=gnu++2a -pedantic
Аноним 26/09/18 Срд 04:58:51  1270399
>>1270398
А, или я мудак и компилятор тупо всё вырезал
Аноним 26/09/18 Срд 04:59:27  1270400
>>1270398
>Это какие-то фичи, связанные с constexpr?
Да. Выражение с UB (из Core Language) не является константным. Такой вот способ сделать UB видимым.
Аноним 26/09/18 Срд 05:03:13  1270401
>>1270400
Забавно. А хуле он не подсвечивает даже с -pedantic
Аноним 26/09/18 Срд 05:09:37  1270402
>>1270401
Потому что UB не относится к диагностируемым ошибкам.
Аноним 26/09/18 Срд 05:10:12  1270403
>>1270402
Пока не попадает в constexpr-контекст, конечно.
Аноним 26/09/18 Срд 05:57:58  1270407
>>1270397
>(arr + i + j × x)
Это у тебя что-то с индексами или обход по строкам матрицы aT[3][2]?
Аноним 26/09/18 Срд 06:00:23  1270408
>>1270407
Точнее по столбцам. Чёт сплю уже и плохо в код вдупляю.
Аноним 26/09/18 Срд 06:03:37  1270409
>>1270407
>>1270408
Я просто скопипастил твой код.
Один хрен, он неправильный, как бы ты ни расставил индексы.
Аноним 26/09/18 Срд 06:07:56  1270410
>>1270409
>Я просто скопипастил твой код.
Ну или не твой. Предыдущий, короч.
Аноним 26/09/18 Срд 07:40:47  1270415
>>1270374
Cmake
Аноним 26/09/18 Срд 12:43:17  1270496
>>1269603
С++ и фриланс не совместимы.
Аноним 26/09/18 Срд 13:39:38  1270516
>>1264099
Тоже компилятор. Ток там регистры и их состояния. Запись в регистр, чтение с регистра и много ещё манипуляций разных. Чтоб чётко понимать суть нужно знать архитектуру микрухи и ассемблер. Он даёт ясность в том, что от тебя нужно микрухе
Аноним 26/09/18 Срд 16:01:38  1270549
.png (156Кб, 1920x1080)
>>1270400
Ну давай, и где тут твое UB видно?
Пока больше похоже на то, что constexpr не может в многомерные массивы.
Аноним 26/09/18 Срд 16:23:37  1270557
>>1270496
>>1269662
Ну не совместимы так не совместимы, вообще не критично, мне это не для денег нужно все равно. Суть-то в том, что в том что я увидел, что там требовались какие-то конкретные практически применимые вещи, которые по идее я должен хотя бы на базовом уровне уметь, откуда и вытекает моя вторая часть вопроса:
> На чем лучше всего делать интерфейс к программе на крестах
> Через что удобнее всего работать с сетью
> Для sql как я видел есть много библиотек, какую лучше освоить?
По крайней мере первые два - это то что мне реально пригодилось бы. Не для какого-то даже фриланса, а просто потому что ну реально же как без этого обойтись можно?Вот захочу я какую-нибудь микрософтину написать именно на с++ просто для себя - и придется гуглить какой-нибудь кал, который еще и окажется неэффективным и неудобным говном мамонта.
Поэтому если не сложно - подскажите, на какие библиотеки(или в случае с интерфейсом наверное одной библиотекой не обойтись, ясное дело нужна целая среда с редактором форм) по вашему мнению мне стоит в первую очередь обратить внимание?
Аноним 26/09/18 Срд 16:25:25  1270559
>>1270557
Ncurses
Аноним 26/09/18 Срд 16:57:41  1270569
>>1270549
Так в коде на скрине нет UB.
> Пока больше похоже на то, что constexpr не может в многомерные массивы.
Больше похоже на то, что у тебя ICQ < 55.
Аноним 26/09/18 Срд 17:42:21  1270583
Какая книга топ для начала: Липман или Прат? После прочтения данной книги хватит ли знаний для джуна? Что делать дальше?
Аноним 26/09/18 Срд 17:49:41  1270587
>>1270583
Ты где-то видишь вакансии на джуна?
Аноним 26/09/18 Срд 18:49:08  1270612
>>1270569
Алло, долбоёб, ты? Это >>1270549 отличается от этого >>1270397 только одномерным массивом, на шесть элементов. Что абсолютно эквивалентно двухмерному массиву 2 на 3. И не берется ссылка на хуй пойми чего.
Аноним 26/09/18 Срд 19:56:13  1270634
>>1270587
У меня однажды получилось устроиться, но я проебал свой шанс.
Аноним 26/09/18 Срд 21:02:16  1270667
>>1270612
>>1270569
блять поясните в чем суть? почему при наличии думерного массива такая хуйня?
Аноним 26/09/18 Срд 21:07:47  1270674
>>1270667
https://en.cppreference.com/w/cpp/language/operator_arithmetic

If any of the operands is a pointer, the following rules apply:
...
In any case, if the pointed-to type is different from the array element type, disregarding cv qualifications, at every level if the elements are themselves pointers, the behavior of pointer arithmetic is undefined. In particular, pointer arithmetic with pointer to base, which is pointing at an element of an array of derived objects is undefined.
Аноним 26/09/18 Срд 22:31:40  1270703
>>1270612
>абсолютно эквивалентно двухмерному массиву 2 на 3
Я, конечно, чую, что тут троллинг тупостью, но отвечу
Как видишь, не эквивалентно.
Аноним 26/09/18 Срд 22:37:13  1270704
>>1270674
Ты не то процитировал. Вот:

If the pointer P points to the ith element of an array, then the expressions P+n, n+P, and P-n are pointers of the same type that point to the i+nth, i+nth, and i-nth element of the same array, respectively. The result of pointer addition may also be a one-past-the-end pointer (that is, pointer P such that the expression P-1 points to the last element of the array). Any other situations (that is, attempts to generate a pointer that isn't pointing at an element of the same array or one past the end) invoke undefined behavior.
Аноним 26/09/18 Срд 23:48:57  1270731
maxresdefault.jpg (36Кб, 1024x576)
Всем приветики на вашем форуме)))

Суть токова. Я уже много лет хуячу сложные штуки на плюсах, но кодинга получается очень мало, в основном проектирование, анализ и т д. И стандартная библиотека у нас почти не используется. Максимум - какой-нибудь вектор. Примитивы типа conditional variable, тредов у нас свои, со своим апи.
И вот задумал я сменить работу. Но понимаю, что везде нужен стл. Стл заботать, просто читая книжку/цппреференс - это убогое занятие. Идеальное знание мне не нужно, нужно просто не обосраться с общеизвестными функциями, применениями и паттернами.
Дак вот, как лучше всего стл-то до нужного мне уровня заботать? Может быть, есть ресурс с набором несложных задач на стл, аля leetcode?

пиксамхаурилейтед - это мой валпапер
Аноним 27/09/18 Чтв 00:19:35  1270742
>>1270731
Скотина Мейерс
Эффективное использование Stl
Аноним 27/09/18 Чтв 00:45:42  1270751
>>1270742
Бля и чо что майерс? Я его и книжку, в принципе, прочитал. И лекции смотрел. Все круто и интересно, только в голове сильно не оседает. Надо хотя бы на игрушечных задачах со всем поиграться.
Вопрос в том, где игрушечные задачи взять
Аноним 27/09/18 Чтв 07:54:06  1270808
>>1263368 (OP)
Здравия анонам, есть код:
catalan.hpp:
#pragma once
/! \file catalan.hpp
\author Your name here
\date Development date
\brief Student's Catalan number function implementations.
/


// ToDo:implement the catalan_bionomial() and catalan_product_series() functions.
#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision;

cpp_int catalan_bionomial(cpp_int n)
{
if (n < 2)
return 1;

cpp_int ret = 1;
for (int i = 2; i <= n; i++)
{
ret = ((n + i)/i);
}

return ret;
}

ut_catalan.cpp:
/
! \file ut_catalan.cpp
\author Garth Santor
\date 2018.09.09
\brief Test catalan number function implementations.
/


// import student's catalan implementation
#include "../include/catalan.hpp"

// import the boost unit test framework
#define BOOST_TEST_MODULE GradePellFunction
#include <boost/test/auto_unit_test.hpp>
#include <boost/mpl/list.hpp>

// import the boost multiprecision integer library
#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision;

// import standard libraries
#include <cstdint>
#include <vector>
using namespace std;


// Catalan tests
// =======================================================================================================

std::vector<cpp_int> catalanNumbers{ 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, 18367353072152, 69533550916004, 263747951750360, 1002242216651368, 3814986502092304,
};



BOOST_AUTO_TEST_CASE(catalan_test_binomial) {
cpp_int idx = 0;
for (auto cn : catalanNumbers)
BOOST_CHECK(cn == catalan_bionomial(idx++));
}



//BOOST_AUTO_TEST_CASE(catalan_test_product_series) {
// cpp_int idx = 0;
// for (auto cn : catalanNumbers)
// BOOST_CHECK(cn == catalan_product_series(idx++));
//
// BOOST_CHECK(catalan_product_series(cpp_int(100)) == cpp_int("896519947090131496687170070074100632420837521538745909320"));
//}

Но когда пытаюсь запустить:
Ошибка LNK2019 ссылка на неразрешенный внешний символ "int __cdecl cpp_main(int,char
* const)" (?cpp_main@@YAHHQEAPEAD@Z) в функции main ut_catalan G:\Projects\Programming\Фриланс\Task #214310 Numerical Limits\Numerical Series (Start)\ut_catalan\libboost_prg_exec_monitor-vc141-mt-gd-x64-1_68.lib(cpp_main.obj)

Ошибка LNK1120 неразрешенных внешних элементов: 1 ut_catalan G:\Projects\Programming\Фриланс\Task #214310 Numerical Limits\Numerical Series (Start)\x64\Debug\ut_catalan.exe

Аноним 27/09/18 Чтв 11:19:02  1270866
>>1270808
Ну буст хуёво установлен/собран. Что тут ещё можно сказать?
Аноним 27/09/18 Чтв 14:20:09  1270971
>>1270751
>Вопрос в том, где игрушечные задачи взять
у страуструпа в "языке программирования с++, специальное издание" неплохие упражнения
это если надо конкретно по языку и стандартной библиотеке знания закрепить практикой
Аноним 27/09/18 Чтв 15:42:14  1271018
>>1270751
Стефен Прата c++ primer, много материала и задач к нему
Аноним 27/09/18 Чтв 15:53:55  1271024
Не пинайте за ссылку на хабр, но вопрос именно об том, что там написанно: https://habr.com/post/147373/

Даются три синглтона. Первый — классический, как Банда завещала. Второй — хитрый-маерсовский из одной статической функции возвращающей свою статическую переменную. И третий — какой-то ленивый синглтон.

Так вот, там пошла Java. Я ее не понимаю, даже не знаю, актуальна ли сама проблема для C++ или там чисто жабские заморочки какие-то. Растолкуйте, что за ленивый синглтон, как его делать на крестах и нужно ли вообще?
Аноним 27/09/18 Чтв 16:46:09  1271050
>>1271024
Статическая переменная это и есть ленивый синглтон.
В C++11 её инициализация потокобезопасна и это достигается либо double-checked locking-ом, либо ещё оптимальнее (https://stackoverflow.com/a/27206650)
Аноним 28/09/18 Птн 09:38:14  1271311
Делаю лабу в C++ Builder 10, когда функцией StrToFloat преобразую ввод из Edit1, его пидорасит. 1,5 нормально переводит в float, а вот 0,525 превращается в 0,524999976158142, ответ в задаче не правильный. Как фиксить?
Аноним 28/09/18 Птн 12:11:02  1271386
>>1271311
Да ну нахуй! Не может быть!
дай-ка угадаю, 0.625 отображается правильно
Аноним 28/09/18 Птн 17:07:50  1271519
>>1263725
>Получать придется, если хочешь сьебать с РФии
Уже спрашивали >>1263744, но так как ответа не последовало, спрошу. Зачем нужно российское ВО за её пределами?
Аноним 28/09/18 Птн 19:17:34  1271562
239520573261307.jpg (156Кб, 939x684)
>>1263755
вышка удаленна в гути хоть как то котируется? перевелся из шараги средней на 3ий курс, потом институт закрыли и перекатился на 4год из 5 в сибгути , на удаленку решил вместо вечерней
щас думаю нахуй бросать или все таки 1.5 года доучиться, пригодится ли такой дисплом как исключительно формальный для выкатывания нннахуй из рашки? какие подводные, анон подскажи плс
Аноним 28/09/18 Птн 19:46:07  1271568
>>1271562
Для выкатывания из рашки нужен любой профильный диплом из аккредитованного вуза, доучивайся.
Аноним 28/09/18 Птн 19:56:13  1271571
cho.jpg (182Кб, 1280x875)
>>1271568
профиль программирование, надеюсь пока учусь не снимут аккредитацию и с него(с предыдущего сняли) , кек
Аноним 28/09/18 Птн 22:17:30  1271630
>>1271386
Ага. А почему так?
Аноним 29/09/18 Суб 02:22:51  1271695
>>1266839
тебе в жс
Аноним 29/09/18 Суб 02:28:23  1271697
>>1271630
По IEEE 754
Аноним 29/09/18 Суб 11:06:33  1271772
Может кто-то простыми словами обьяснить, что делает конструкция
#ifndef SLOVO
#define SLOVO

...


#endif
А то вижу ее постоянно, а при гугле этой комбинации нихуя не даёт
Аноним 29/09/18 Суб 11:26:33  1271778
>>1263368 (OP)

Есть тут кто? Я пытаюсь на Visual Studio VLD подключить, но он выдаёт ЭТО.
Аноним 29/09/18 Суб 11:27:28  1271779
>>1271772
Чтобы однажды выполнялся код, а так же дабы не было многократного использования include файлов, вроде так.
Аноним 29/09/18 Суб 11:28:42  1271780
>>1271779
Оно просто заменяет весь код каким-то словом?
Аноним 29/09/18 Суб 11:31:07  1271783
>>1271780

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

То есть ты подключаешь два заголовочных файла и в каждом из них уже есть один и тот же такой файл и дабы этого избежать используют это, а так же продумывают иерархию файлов всей программы.
Аноним 29/09/18 Суб 11:32:48  1271785
>>1271783
Да это я понял, оно в главе описывалось. Просто что этот код делает. Типо если код уже ранее подключён, то его заменяет SLOVO и всё?
Аноним 29/09/18 Суб 13:34:48  1271835
>>1271785
Нет. Перед тем, как включить код, определяется константа SLOVO. И если эта константа уже определена ранее, то код из файла не включается. Этакий аналог if.
Аноним 29/09/18 Суб 15:00:50  1271872
>>1271311
Потому что не бывает float равным 0,525 , а ближайшее к нему - 0,524999976158142
Аноним 29/09/18 Суб 15:06:17  1271877
>>1271780
Нет, это хорошо известная идиома, которая блокирует повторное включение кода. Например как уже написали так делается защита инклюдов, иначе будет сыпать ошибки e1488:zalupa already defined in zalupa.h(228). Можно её сломать в принципе, если вручную задефайнить, иди раздефайнить протектор.
Возможно лучше было бы использовать #pragma once, но это не стандарт, и свои проблемы имеет.
Аноним 29/09/18 Суб 16:18:08  1271901
>>1271877
>>1271835
Спасибо за помощь
Аноним 29/09/18 Суб 17:06:13  1271927
Гайс, подскажите.
Как мне перегрузить оператор ВНУТРИ класса ? То есть, я хочу, чтобы функция внутри класса была с перегруженным оператором. Заранее аригато.
Аноним 29/09/18 Суб 17:34:33  1271951
Ну чо, как там сппкон

Говорят Бьярн за ауто пояснил по хардкору
Аноним 29/09/18 Суб 20:11:56  1272033
>>1271927
Берешь и перегружаешь
https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
https://en.cppreference.com/w/cpp/language/operators

Всё, кроме user-defined literals перегружается как member function, большую часть можно перегрузить как non-member

Или разверни свой вопрос.
Аноним 29/09/18 Суб 20:34:54  1272051
>>1272033
К примеру
Class hooj
{
public:
int num;
hooj pidor;
}
Class bomj
{
hooj
numb;
bomj(int n) { numb->num = n; } //как здесь сделать так, чтобы не обосраться ? Ведь мы ссылаемся на несуществующий кусок памяти.
foo(int i)
{
numb->num = i; //как это сделать блядб, ведь мы пытаемся присвоить типу hooj инт ?
}
}
Аноним 29/09/18 Суб 20:50:55  1272064
>>1272051
Дак ты позаботься чтобы у bomj был hooj
Например
bomj(int n) {
numb = new hooj();
numb->num = n;
}
Только дальше ты всё равно обосрёшься при управлении памятью. Читай про конструкторы копирования/перемещения, деструкторы и смарт поинтеры. А перегрузка операторов тут ни при чём.
Аноним 30/09/18 Вск 11:26:24  1272264
Lain (6).jpg (143Кб, 1000x800)
Небольшой вопросик/

Нужно написать простой калькулятор (обычная лабораторка).

Суть в том, что умножать/делить/степенить(!) и прочее нужно производить не кнопочками, а символами, которые вводит пользователь.

Сами вопросы:
1. Как правильно реализовать "сканировние" и вычисление вводимой строки
2. Как расставить приоритеты сначала умножение, потом сложение и подобное
3. Реализовать скобочки.

Спасибо.
Аноним 30/09/18 Вск 11:30:07  1272266
>>1272264
Обратная польская запись.
Например, https://habr.com/post/100869/
Степени при помощи ^
Аноним 30/09/18 Вск 13:22:22  1272317
Может кто обьяснить, как написать код, который перебирает квадратную матрицу, находит максимум и минимум. После чего, если максимумов/минимумов больше 1, то выбрать первый. Пока-что написал вот такой код cpp.sh/6xshn, до этого пробовал сделать 3 цикла со счётчиками, но выходило слишком много и иррационально, да и один хуй не сработало
Аноним 30/09/18 Вск 14:43:33  1272376
>>1272317
Перемудрил ты что-то. Достаточно одного прохода с двумя ифами на проверку меньше минимума и больше максимума. В теле ифа присваиваешь новый мин/макс и тут же обновляешь рядок с колонкой, а не в следующем обходе.
Аноним 30/09/18 Вск 14:48:36  1272381
>>1272376
Так мне нужно чтобы оно взяло только одно значение максимума. Я думал по логике: если число равно максимуму - скип, иначе если больше максимума - новый максимум, если меньше минимума - новый минимум.
Аноним 30/09/18 Вск 15:51:58  1272405
Дохуя глупый вопрос, наверное.Вот у меня есть класс и нужно, чтобы пользователь мог удалять и создавать объекты по желанию. Можно ли это сделать без динамического распределения памяти?
Аноним 30/09/18 Вск 16:14:20  1272411
>>1272381
Всё, я разобрался. Просто присвоил в цикл проверки еще и значение, чтобы клетка равнялась нулю, и инициилизировал ее нулём до выполнения.
Аноним 30/09/18 Вск 16:27:15  1272415
Ребят подскажите, почему этот цикл будет работать?
vector<int> name = {5, 2, 4 ,1};
for(int i : name) { cout << i << " ";}
В чём суть это записи?
Аноним 30/09/18 Вск 16:41:11  1272420
>>1272415
Почленный цикл, берёт и работает.
Аноним 30/09/18 Вск 19:38:40  1272481
>>1272405
Фабричный метод
Аноним 30/09/18 Вск 19:43:43  1272486
>>1272415
цикл for(int i : name) {...} раскрывается в цикл
for(vector<int>::iterator it = name.begin(); it != name.end(); ++it)
{
int i = ^it;
...
}
^ -- это звездочка. Кури итераторы, в общем.
Аноним 30/09/18 Вск 19:45:22  1272489
>>1272415
Вот поэтому.
https://en.cppreference.com/w/cpp/language/range-for

Но не во всех случаях удобно пользоваться ею, omp не параллелит такой цикл
Аноним 30/09/18 Вск 19:53:51  1272497
Зачем подключать _CRT_SECURE_NO_WARNINGS?
Аноним 30/09/18 Вск 22:52:08  1272577
>>1272497
Шоб потом мамкины хацкеры могли выебать твою программу во все щели, а конкретнее там где ты используешь небезопасные функции типа gets и scanf, а конкретнее методом анального переполнения буфера, чтением и перезаписью в/из памяти там, где ты напишешь printf(...) c форматированием и забудешь указать типы данных, и прочим распылением в кучу.
Аноним 01/10/18 Пнд 01:18:25  1272618
>>1272489
>>1272486
Благодарю.
Аноним 01/10/18 Пнд 15:41:51  1272844
>>1271519
К сожалению, это требование на work permit вообще везде.
Аноним 01/10/18 Пнд 19:54:53  1272930
>>1272577
спасибо
Аноним 01/10/18 Пнд 20:06:45  1272933
>>1263725
Все советы годные, кроме работы в Яндексе. Автор, ты как будто обосрался с подливой в конце, ну как так то
Аноним 01/10/18 Пнд 23:31:10  1273037
>>1272933
есть большая разница между "на старте карьеры" и "просто попасть". Опытному разработчику там нехуй делать, а вот новичку посмотреть на большие проекты, процессы разработки и прочее - максимально полезно. Да и в резюме строчка почетная.
Аноним 02/10/18 Втр 00:33:45  1273052
Гайс, ну подскажите, как в данном коде реализовать деструктор, чтобы не прострелить себе ногу ? Компулятор говорит, что я - мудак и память в хипе не удаляется, не догоняю, как удалить. Заранее - аригато.
https://pastebin.com/6GUtDp1E
Аноним 02/10/18 Втр 00:52:51  1273058
>>1273037
А куда тогда податься опытному разработчику?
Аноним 02/10/18 Втр 00:58:51  1273061
>>1273052
Бро, прости, но компилятор прав.
Ты пытался написать стек, но сделал это настолько через задницу, что мне не понять твою задумку (то есть твоя реализация очень далека от того как это делается). Ты бы хоть комментарии оставлял, если хочешь чтобы тебе помогали разобраться.
Попробуй нарисовать схему устройства/работы твоего стека.
Аноним 02/10/18 Втр 01:19:50  1273064
>>1273061
Да не, тут суть не в стеке, мне хочется понять, как удалить динамический массив и всю память из хипа.
Аноним 02/10/18 Втр 02:02:57  1273072
>>1273058
Та же Нвидия
Аноним 02/10/18 Втр 02:09:25  1273074
>>1273064
А где у тебя там "динамический массив"?
Аноним 02/10/18 Втр 03:21:35  1273085
>>1273052
~Stack()
{
delete top->num;
delete top;
}
Аноним 02/10/18 Втр 03:28:27  1273086
>>1273064
>мне хочется понять, как удалить динамический массив и всю память из хипа.
Ты его сначала создай. У тебя же нет динамического массива.

>Stack() :arr(0) { top = new Elem; top->num = new int; };
new без [ ] - это не массив, а одиночный элемент.

>void push(int n){
>top->num[arr++] = n;
И попиздели гулять по памяти хуй знает куда

Слушай этого анона >>1273061
Аноним 02/10/18 Втр 04:25:33  1273091
Как вам вот такая вакансия?
https://spb.hh.ru/vacancy/27996564
Аноним 02/10/18 Втр 07:51:58  1273109
>>1273086
О, спасибо огромное, Анончик. Я понял, где проебался.
Аноним 02/10/18 Втр 09:58:19  1273175
>>1272405
Делаешь аллокатор на большом, заранее выделенном куске кучи.
Аноним 02/10/18 Втр 10:39:21  1273188
>>1273175
Не забудь в деструкторе прописать соответствующий оператор delete.
Аноним 02/10/18 Втр 11:12:59  1273209
Посоветуйте какой-нибудь способ сделать это не по говнокодерски:

SomeData get_static_data()
{
struct calculator
{
static SomeData calculate()
{
for (int i = 0; i < dohuya; ++i);
return "Calculated result";
}
};

static SomeData result;
return result.empty() ? result = calculator::calculate() : result;
}

Ну, суть вы поняли. Данные могут вычислиться только в рантайме, вычисляются 1 раз, требуются много раз.
Цикл имитирует сложную работу по вычислению.
Аноним 02/10/18 Втр 12:57:49  1273276
>>1273052
>>1273109
->
>>1273188
Аноним 02/10/18 Втр 15:53:39  1273406
Аноны, есть цикл в котором по результатам исчисления должно выводится наибольшее и наименьшее значение, он выполняется сколько-то раз. Если с максимумом всё просто, просто присвоил нулю и погнал сравнивать, как быть с минимумом? Присвоить ему значение первого элемента цикла не могу, так как в нём происходят все вычисления, а присваивать каждый раз смысла не имеет. А так выходит что минимум не изменится.
Аноним 02/10/18 Втр 16:00:28  1273411
>>1273406
Функцию напиши.
Аноним 02/10/18 Втр 16:13:04  1273422
image.png (29Кб, 438x356)
>>1273406
Аноним 02/10/18 Втр 17:11:06  1273454
image.png (40Кб, 653x431)
image.png (15Кб, 926x171)
image.png (21Кб, 860x334)
>>1273422
В том то и дело, что там не массив. Но на ту хуйню я уже забил. Думаю как обычно, внезапно прийдет озарение позже. Подскажите лучше почему не вызывается перегруженная функция.
На первом скрине заголовок класса, на втором реализация. А вызывается какого-то хуя обычная функция cout. Не знаю как скинуть код в трёх файлах
Аноним 02/10/18 Втр 17:32:32  1273466
>>1273454
>Подскажите лучше почему не вызывается перегруженная функция.

Потому, что для...
>complex1 c;
>cin>>c;
>cout<<c;

...прототипом будет...
>istream& operator>>(istream& is, complex1 clx);
>ostream& operator<<(ostream& os, complex1 clx);
Аноним 02/10/18 Втр 18:16:59  1273488
>>1273466
Ебать я долбаеб, аж стыдно стало, спасибо
Аноним 03/10/18 Срд 00:03:16  1273659
>>1273209
Кури ленивый синглтон. Как сделать не скажу, так как сам не применял.
Аноним 03/10/18 Срд 00:39:30  1273666
Аноны, а что с вордовским doc'ом не так?
Я хотел найти библиотеку, чтобы программно создавать доки, и надеялся что ее будет просто найти - это же все-таки DOC, охуеть какой популярный формат. Но ничего не нашёл. Рили ничего.
Может кто знает способ, который хотя бы позволит редактировать готовые доки, на уровне найти/изменить строку. Все решения что я смог нагуглить требуют установленного ворда, а такие решения не очень подходят.
Аноним 03/10/18 Срд 01:00:55  1273675
>>1273666
Не связывайся с DOC, ищи либу для DOCX aka Office Open XML format
Аноним 03/10/18 Срд 01:14:03  1273678
>>1273675
Уже связался, не по своей воле. Но не ожидал что все так плохо будет.
По сути мне просто нужно генерить доки по одному шаблону, форматирование там одинаковое, только количество текста разное в паре абзацев. С нуля я так понял мне не получится такие генерить, но хотя бы брать готовый док и текст изменять в нём. Я верю что есть способ.
Аноним 03/10/18 Срд 01:52:32  1273685
>>1273678
Если word установлен, то можешь заюзать его COM интерфейс. Но всё равно придётся хорошенько поебаться.
Аноним 03/10/18 Срд 13:41:30  1273903
>>1273666
Подобные вещи хорошо делаются на дотнете. Я ради подобных ништяков немного C++\CLI освоил, который дергаю из крестового кода
Аноним 03/10/18 Срд 14:55:45  1273937
У меня вопрос к крестопидорам. Я понимаю что раии, ексепшион-тред сэйфети и прочая хуита идущая в нагрузку к трехстрочному коду дефолтом сейчас стильно модно молодежно. Но зачем вы превращаете язык в тормознутый ждаваскипт? Понижаете уровень вхождения для ньюфагов?
Код http://cpp.sh/33c4e релейтед
Мимо из си треда.
Аноним 03/10/18 Срд 18:21:35  1274027
>>1273937
В случае с вектором очевидно: выделенная память заполняется значениями по умолчанию, то есть нулями.

Второй же тест медленнее третьего не из-за умного указателя ну, не только, а потому что calloc быстрее new. Вероятно, потому что new может вызвать исключение. Так что если вызывать noexcept-версию new честно, не ебу как, то может стать быстрее.
А может и нет.

Кстати, make_unique<uint8_t[]> тоже инициализирует объекты и работает ещё хуже вектора.
Аноним 04/10/18 Чтв 02:39:16  1274236
>>1273937
>>1274027
calloc хоть и отдает кусок памяти заполненный нулями, но само заполнение не происходит в этот момент. На этот область памяти мапируется уже обнуленная страница. А вот при дальнейшем изменении уже сработает copy-on-write.
Аноним 04/10/18 Чтв 07:43:37  1274264
>>1273937
>Код http://cpp.sh/33c4e релейтед
Да нихуя не релейтед. Только конченный дебил поведётся на это.
Компилятор просто выкинул calloc/free. Отключи оптимизации и calloc сравняется с unique_ptr.
Аноним 04/10/18 Чтв 07:45:05  1274265
>>1273937
>Код http://cpp.sh/33c4e релейтед
https://wandbox.org/permlink/AiNRFjjGe1ORAn0g вот.
2 фемтопикосекунды на создание вектора.
Шах и мат, си-дауны.
Аноним 04/10/18 Чтв 07:50:05  1274266
>>1273937
>Код http://cpp.sh/33c4e релейтед
https://wandbox.org/permlink/gHwU2iOcxoebK5wJ вот.
calloc/free — медленнее, чем вектор.
Аноним 04/10/18 Чтв 12:13:12  1274366
изображение.png (573Кб, 429x532)
Потсоны, это, блядь, законно чтоле?

class SpawnSystem : public ex::System<SpawnSystem> {

https://github.com/alecthomas/entityx/blob/master/examples/example.cc
Аноним 04/10/18 Чтв 12:21:54  1274370
>>1274366
CRTP
Аноним 04/10/18 Чтв 12:45:52  1274383
>>1274370

Охуеть.
Аноним 04/10/18 Чтв 13:16:47  1274396
>>1272264
У страуструпа в его The C++ Programming Language есть готовая реализация.
Аноним 04/10/18 Чтв 13:58:30  1274429
>>1272264

парсером и лексером
Аноним 04/10/18 Чтв 15:52:32  1274556
code.png (27Кб, 801x116)
result.png (2Кб, 200x87)
Добрый день.

Подскажите пожалуйста что можно почитать по поводу манипуляций с аутпутом в терминал. Есть код с пикрил 1 - он печатает содержимое двух std::map, результат на пикрил 2.

Я бы хотел узнать как сделать так, чтобы цифры были четко друг под другом, двоеточие под двоеточием и так далее, ну и длина строк со знаками "+" подбиралась под длину строки автоматически.
Аноним 04/10/18 Чтв 15:54:33  1274559
>>1274556
>двоеточие под двоеточием и так далее
printf не учил?
Аноним 04/10/18 Чтв 16:38:38  1274590
>>1274559
лутши fmtlib
Аноним 04/10/18 Чтв 18:50:15  1274670
Хелпаните с задачкой, я даун
Даны x,y,z найти a
Аноним 04/10/18 Чтв 19:20:17  1274685
>>1274670
Ты не можешь примитивное уравнение перевести в код?
Пиздец
Аноним 04/10/18 Чтв 19:58:44  1274716
>>1274670
a = 1 + sin^2(x + y) / 2 + |x-2x/(1 + x^2*y^2)| + x2

Не благодари
Аноним 04/10/18 Чтв 20:00:58  1274719
15386682159580.png (4Кб, 260x68)
>>1274670
>найти a
Не благодари
Аноним 04/10/18 Чтв 20:15:18  1274732
>>1274716
Ты долбоёб? ты долбоёб. не благодари. Блять бесят такие надменные уебаны. А модуль то как взять? Помогите нафане ёбаный стос.
Аноним 04/10/18 Чтв 20:28:22  1274749
>>1274716
Да пожалуйста, я не злой, помогу, вот код:

1 ^ ИП0 ИП1 + sin x^2 + 1 ИП0 x^2 ИП1 x^2 x + 2 ИП0 x / 1/x ИП0 - /x/ |x| 2 + / ИП0 + С/П
Аноним 04/10/18 Чтв 20:57:12  1274772
Пытаюсь в QT по нажатию кнопки (в слоте clicked()) запустить вот такой код
https://pastebin.com/Zu3Rtq8H
2 раза пересоздавал проект, выскакивает ошибка:


Semantic Issue

40:9: error: no matching function for call to 'CreateProcessW'
processthreadsapi.h:117:23: note: expanded from macro 'CreateProcess'
_mingw_unicode.h:12:32: note: expanded from macro '__MINGW_NAME_AW'
:2:1: note: expanded from here
processthreadsapi.h:116:29: note: candidate function not viable: 9th argument ('const _STARTUPINFOW *') would lose const qualifier

на CreateProcess
что это???
Аноним 05/10/18 Птн 00:43:35  1274877
>>1274732
Друг, если ты не можешь догадаться, как взять модуль - я настоятельно рекомендую тебе даже не пытаться учиться программировать.
Аноним 05/10/18 Птн 02:02:34  1274894
>>1263368 (OP)
Бля, нахуй вы православное расслоенное произведение называете pullback, вроде не смузихлёбы же коворкинговые, дядьки-крестовики, а туда же.
Аноним 05/10/18 Птн 05:45:57  1274904
>>1272264
1. Подглядываешь какой у тебя следующий символ с помощью cin.peek(), считываешь даблы оператором >>, а символы cin.get().
2. Получаешь число. Далее в цикле пока !cin.eof() складываешь\вычитаешь последующие числа. Возвращаешь результат если ничего не осталось или встретил неизвестный символ. Это функция add_sub(). Пишешь аналогичную функцию div_mul, которая умножает\делит и возвращает результат если встречает неизвестный символ. В функции add_sub заменяешь все получения следующих чисел на вызов div_mul. PROFIT!!1
3. Рекурсия.
Аноним 05/10/18 Птн 09:14:02  1274934
>>1274685
Соррии, я методичку дальше не прочитал к лабе
Первая лаба первый курс
Аноним 05/10/18 Птн 10:13:08  1274953
>>1263383
Скажи лучше, чем оправдано их существование, почему нельзя было сделать все методы виртуальными по-умолчанию? Неужели все дело в крошечном оверхеде при вызове?
Аноним 05/10/18 Птн 13:28:26  1275059
>>1274590
>fmtlib
Кстати, предлагают ко включению в стандарт wg21.link/p0645
Аноним 05/10/18 Птн 15:30:52  1275148
>>1274556
Что за шрифт на 1 пике?
Аноним 05/10/18 Птн 16:20:24  1275169
Кто-нибудь видел подобное?
https://github.com/id-Software/DOOM-3-BFG/blob/master/neo/d3xp/menus/MenuHandler_Shell.cpp#L385
Аноним 05/10/18 Птн 17:00:23  1275190
>>1275169
нет, но зачем так делать - строжайше не понимаю
Аноним 05/10/18 Птн 18:07:15  1275239
Как создать вероятность события?К примеру, вероятность крита в игре 30%.
Аноним 05/10/18 Птн 18:55:24  1275258
>>1275239
Блять ты ебанулся такие вопросы в пятницу вечером зодовать?
Аноним 05/10/18 Птн 19:08:25  1275266
>>1275239
if (rand() % 10 ) < 3 ?
Аноним 05/10/18 Птн 19:35:52  1275276
А ну да, посчитай рандом от 1 до 100 в натуральных числах, потом проверь если результат попал от 1 до 30, то хедшот, если нет, то промах.
Аноним 05/10/18 Птн 22:48:34  1275341
>>1275148
'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback', размер шрифта 12
Аноним 06/10/18 Суб 10:40:29  1275453
>>1274670
БГУИРовская методичка?
Аноним 06/10/18 Суб 11:22:13  1275463
Аноны памагите. Есть указатель на символьный массив
>char hobby;
Как его блять вывести на экран? Сейчас пытался простенький класс написать, и понял что не знаю как это сделать, ибо программа просто не работает если выводить hobby или
hobby
Аноним 06/10/18 Суб 11:24:44  1275464
>>1275463
Между char и hobby звёздочка, не отобразилось почему-то
Аноним 06/10/18 Суб 11:47:18  1275468
>>1275463

Попробуй вот так:


const char *hobby;
hobby = "sosat pisu";
std::cout<<"My hobby is:"<< hobby << std::endl;

Аноним 06/10/18 Суб 11:50:06  1275470
>>1275468
Почему ты константный указатель инициилизировал после обьявления, и это не работает, писал в первом посте. Сейчас код прикреплю cpp.sh/9n3oy
Аноним 06/10/18 Суб 12:06:07  1275476
>>1275470
Заметь, если оставить только вторую корову а первую и третью закомментить - он печатает как надо, т.е проблема где то в инициализации по умолчанию
Аноним 06/10/18 Суб 12:07:11  1275477
>>1275476
Хм, и вправду. Сейчас попробую поменять
Аноним 06/10/18 Суб 12:09:09  1275478
>>1275470
Все норм. Это не константный указатель, это указатель на константные данные.
Аноним 06/10/18 Суб 12:13:59  1275479
>>1275477
Я скорее всего из-за недостатка опыта не вижу какой-то очевиднешней хуйни. Хобби оно кстати присваивает по всей видимости, ибо если заменить вывод на вывод адреса то оно будет давать разные адреса, как и нужно. Если указатель никуда не указывает, его же нужно нулевым инициализировать, верно?
Аноним 06/10/18 Суб 12:22:01  1275485
>>1275479
>Хобби оно кстати присваивает по всей видимости, ибо если заменить вывод на вывод адреса то оно будет давать разные адреса, как и нужно. Если указатель никуда не указывает, его же нужно нулевым инициализировать, верно?
>

Я сам не особо опытный если быть честными, но твоя программа падает на методе ShowCow, и насколько я понимаю это из за того что ты пытаешься принтануть нулл поинтер, что если заменить в конструкторе по умолчанию hobby = NULL; на hobby = new char; ?
Аноним 06/10/18 Суб 12:24:14  1275487
image.png (37Кб, 1094x636)
>>1275485
Теперь всё работает, но в первом обьекте выдаёт хуйню вместо значений. Почему с NULL не работает? В книге написано либо с ним делать, либо с nullptr.
Аноним 06/10/18 Суб 12:28:03  1275488
Screenshot from[...].png (19Кб, 419x336)
>>1275487
> обьекте выдаёт хуйню вместо значений. Почему с NULL не работает? В книге написано либо с ним делать, либо с nullptr.

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

Пикрил - результат работы программы. у меня убунту - никаких артефактов не вижу в консоли
Аноним 06/10/18 Суб 12:29:51  1275489
>>1275488
Видимо опять студия шалит. Ладно, тут важнее было понять как это работает, спасибо за помощь всем отписавшимся. Если когда-то стану нормальным программистом тоже помогать буду
Аноним 06/10/18 Суб 12:32:56  1275490
>>1275489
Ну главное мы поняли что тут не в принте дело а в дефолтном конструкторе, я один здесь кстати :)
Аноним 06/10/18 Суб 12:35:01  1275491
>>1275490
Ну тогда тебе спасибо. Может позже шарящие аноны подтянутся, исправят его нормально, чтобы на всех платформах работал
Аноним 06/10/18 Суб 12:56:36  1275497
>>1275463
>Аноны памагите. Есть указатель на символьный массив
>>char hobby;
>Как его блять вывести на экран? Сейчас пытался простенький класс написать, и понял что не знаю как это сделать, ибо программа просто не работает если выводить hobby или hobby

>>1275476
>Заметь, если оставить только вторую корову а первую и третью закомментить - он печатает как надо, т.е проблема где то в инициализации по умолчанию

>Cow first;
>Cow second("Seryochka","Doing things",50.5);
>Cow third;

У тебя небольшой проеб в конструкторе по-умолчанию. Пытаешься вывести данные, обращаясь по нулевому указателю. Так не делают.

Можно сделать конструктор по-умолчанию таким:
>Cow::Cow(const char nm="empty",const char ho="empty",double wt=0.0)
... при этом не забудь закомменить в заголовочном файле объявление Cow::Cow() и в самом .cpp его определение.

Аноним 06/10/18 Суб 12:58:57  1275499
>>1275487
>но мне кажется нуллом можно инициализировать если ты не планируешь в дальнейшем где то использовать это значение по умолчанию, или если планируешь но ты чем то нормальным его перед этим перезапишешь.

AND WE HAVE A WINNER!!!

1275497-анон

Аноним 06/10/18 Суб 13:04:14  1275505
>>1275499
>>1275497
Спасибо, понял насчёт нулевого указателя. Алсо, где можно посмотреть на прототипы функций который обьявлены в библиотеках? Внутри какая-то странная дичь, а самих функций я не нашёл. Просто недавно узнал что с помощью strcpy() можно копировать со сдвигом, а если бы не пример я бы об этом никогда и не узнал.
Аноним 06/10/18 Суб 13:06:32  1275506
>>1275505
Ошибся, не прототипы а сами принципы их действия. Хочу посмотреть как strcat реализован, ибо когда пытаюсь сам конкатенацию строк сделать какие-то ошибки вылетают
Аноним 06/10/18 Суб 13:10:19  1275508
>>1275506
Насколько я понял ты пишешь в студии, попробуй по функции кликнуть правой кнопкой и там будет - перейти к дефинишну, декларейшну и тд
Аноним 06/10/18 Суб 13:14:30  1275510
image.png (36Кб, 709x202)
>>1275508
Ну вот напимер для сиаутов и сиинов. Это и есть определение? Я ожидал увидеть что-то типо ostream & ostream(...) {};
Аноним 06/10/18 Суб 14:05:07  1275529
>>1275497
Нихуя, тут кто-то до сих пор в 98й студии графоманит.
Аноним 06/10/18 Суб 14:11:50  1275531
>>1275529
Даже без подсветки есть
https://www.youtube.com/watch?v=kD93nsghj9A
Аноним 06/10/18 Суб 14:36:32  1275534
>>1275505
>Просто недавно узнал что с помощью strcpy() можно копировать со сдвигом, а если бы не пример я бы об этом никогда и не узнал.
Ссылку в студию.

>>1275506
>Хочу посмотреть как strcat реализован
Обычно такой хуйней никто не занимается. А тупо использую библиотечные функции. Ибо кому интересно заново в 100500 раз изобретать велосипед...

>>1275529
>Нихуя, тут кто-то до сих пор в 98й студии графоманит.
Так а хуле нет? Легкая, быстрая IDE. Ничего лишнего. Для новичка - самое то. Правда пришлось под это дело WinXP на виртуалку ставить, но все равно. Потом, когда садишься на MSVS 2017, охуеваешь от одной только возможности ебашить код сразу в 2 файла в одном окне.
Аноним 06/10/18 Суб 14:40:07  1275535
>>1275534
Пример уже не найду, сейчас по памяти напишу:
strcpy(result,st.str);
strcpy(result+st.str,st1.str);
https://ru.stackoverflow.com/questions/185114/%D0%9F%D0%B5%D1%80%D0%B5%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0-%D0%BA%D0%BE%D0%BD%D0%BA%D0%B0%D1%82%D0%B5%D0%BD%D0%B0%D1%86%D0%B8%D1%8F
Мне просто все говорят что нужно именно понять как оно работает, а не просто брать и использовать. В ВУЗе даже запрещают использовать библиотеку string, либо сначала продемонстрировать самостоятельную реализацию, а потом уже заменять на нормальный код.
Аноним 06/10/18 Суб 15:12:10  1275551
Подскажите плес, как добавлять библиотеки в CodeLite или подобную ide.
Аноним 06/10/18 Суб 15:46:43  1275565
>>1275535
Сишные функции уже скомпилированые лежат в виде объектых файлов.
Вот тебе пример strcpy, лол https://ideone.com/cCUn0j
Аноним 06/10/18 Суб 16:16:34  1275577
>>1275565
Бля. А если я захочу понять как работает та же strcat то мне на свой опыт прийдется опираться? Или всем похуй и ими пользуются так же как и каким-то cout, не задумываясь об использовании? Внезапно понял что это принципы ООП
Аноним 06/10/18 Суб 17:01:04  1275602
>>1275577
Тебе сначала нужно понять, что из себя представляет строка и научится работать с указателями. Интуитивное понимание всех этих строковых функций появится после. Но если тебе нужин быстрый фикс, то вот https://linux.die.net/man/3/strcat
Аноним 06/10/18 Суб 17:03:26  1275604
>>1275577
>всем похуй и ими пользуются так же как и каким-то cout, не задумываясь об использовании
This
Аноним 06/10/18 Суб 17:03:50  1275605
>>1275602
>>1275602
> научится работать с указателями
Тут выше писали что современный С++ делает всё, чтобы люди не ебались с этими указателями. А за ссыль спасибо, я так понимаю это все с практикой прийдет?
Аноним 06/10/18 Суб 17:08:21  1275608
>>1275605
> чтобы люди не ебались с этими указателями
enable_shared_from_this
Пиздец бесит
Аноним 06/10/18 Суб 17:54:39  1275632
>>1275341
Добра
Аноним 06/10/18 Суб 23:56:47  1275763
>>1275531
Я смотрю там у него ещё есть комментарии // TODO, { стоят без переноса. Чувак прямо из прошлого стримит.
Аноним 07/10/18 Вск 00:28:14  1275774
>>1275763
А чего добился ты?
https://github.com/nothings
Аноним 07/10/18 Вск 03:12:33  1275811
>>1275774
Я смог попасть в будущее.
Воксельные игрушки есть на compute shader'ах написанные. Его поделка сама по себе любопытная, но на данный момент уже сильно пахнет мамонтами.
Кстати странно, что он git вместо православной cvs использует как вспомню про неё, аж трисёт пздц.
Аноним 07/10/18 Вск 08:23:53  1275832
>>1275605
>Тут выше писали что современный С++ делает всё, чтобы люди не ебались с этими указателями
Не ебаться с ними это одно, не знать как они работают это другое. С++ дизайнился как язык с абстракциями, но при этом производительный как С. А производительность эта получается как-раз за счет низкоуровневой ебли с разными вещами, включая указатели.
Я бы на твоем месте задумался, а нужен ли мне С++. Моим первым языком были кресты, и, после того как я попробовал другие языки, я жалею о том, что не сдеал этого раньше. Я не хочу сказать, что С++ плох, просто так оказалось, что задачи которые я решал, луше подходили для других языков и я переплачивал своим временем за ненужную мне производительность.
Аноним 07/10/18 Вск 09:37:58  1275840
>>1275832
Ну понятное дело что я не забью на них. Без них я так понимаю никак, те же указатели на кучу делать как-то нужно.
Аноним 07/10/18 Вск 16:19:54  1276017
>>1275832
10 литров чаю этому адеквату
Аноним 07/10/18 Вск 20:38:12  1276167
>>1275832
Хотелось бы добавить что, чтобы ебаться с низкоуровневыми вещами не просто так, а реально увеличивая производительность программы, нужно обладать специфическими байтоёбскими скилами. И вообще редко у кого получаеться эффективно ебаться с байтами и делать высокоуровневые абстракции, зачастую просто не хватает времени. Именно по этой причине программирование медленно но верно разделяется на сишное байтоёбство и выскокуровневые абстракции, как в своё время от ассемблера отпочковался C.
Аноним 07/10/18 Вск 20:59:56  1276177
>>1276167
Зачем тогда отпочковывался ассемблер если был фортран?
Аноним 07/10/18 Вск 21:35:57  1276187
>>1276167
Мне вот наоборот байты поебывать и ковыряться в профайлере как-то проще, чем выдумывать всякие там абстракции. Я прям кончаю, когда программа начинает работать быстрее. А вот как-то структурировать код я не умею, от того и страдаю.
Аноним 08/10/18 Пнд 14:39:18  1276397
>>1276187
Такая же хуйня, брат.
Аноним 08/10/18 Пнд 16:24:19  1276430
Как лучше реализовать инвентарь в текстовой игре? Вектор юзать, массив объектов?
Аноним 08/10/18 Пнд 23:01:20  1276601
Привет,анон!Объясни назначение аллокаторов.До этого листинга страуструп использовал new и delete,и тут вдруг пошел такой изъёб.Зачем?
Аноним 08/10/18 Пнд 23:09:02  1276603
>>1276601
Очень редко (но иногда очень важно), чтобы память бралась не из кучи, а из чего-нибудь другого. Например, чтобы сделать всякого рода кеши. Или, например, Fixed-Size аллокаторы, которые работают именно так, как тебе надо, причём со скоростью света. Но это в принципе нужно только для эмбедщины и риалтаймщины. И хрен знает, как именно это сделано в плюсах, такие вещи я руками всегда писал. STL слишком непредсказуем.
Аноним 08/10/18 Пнд 23:12:39  1276608
>>1276603
Спасибо,анон!
Аноним 09/10/18 Втр 00:15:17  1276622
>>1276601
Добавлю к анону >>1276603

Работал над двумя разными проектами в разных местах и даже разных странах, ололо, где с самого начала выделялось несколько больших кусков памяти, и далее во всем проекте было ровно 0 аллокаций памяти. Писался собственный аллокатор, и весь STL в проекте был на нём завязан.
Аноним 09/10/18 Втр 09:35:20  1276702
>>1275529
>Нихуя, тут кто-то до сих пор в 98й студии графоманит.
Бывают чудаки, которые vim или emacs пользуются.
Аноним 09/10/18 Втр 09:37:15  1276704
>>1276702
>vim
Они просто из него выйти не могут.
Аноним 09/10/18 Втр 10:14:05  1276708
>>1276601

Ну вот как пример:

https://github.com/CRYTEK/CRYENGINE/tree/3ea599c619a30ee406dc3c9fd02a3427b597279c/Code/CryEngine/CryCommon/CryMemory
Аноним 09/10/18 Втр 10:27:57  1276713
>>1276177
>Зачем тогда отпочковывался ассемблер если был фортран?

Потому что:

1) Существуют не отображенные в языке сущности, с которыми можно оперировать только в ассемблере. Как пример - части кода операционной системы, отвечающие за запуск защищенного 32 (или длинного защищенного 64) битного режима, переключение задач - всё это задействует не отображенные в память сущности (специальные регистры).

2) Существуют платформы с малым объемом памяти программ и данных - например микроконтроллеры начальных линеек и иногда проще заплатить один раз зарплату/по договор-подряду за еблю байтов, чем увеличивать стоимость всей продукции на цену дорогого МК что на крупных партиях дает нехуёвые такие суммы.

3) SIMD-инструкции, даже сегодня заставить компилятор и увидеть в нетривиальном коде и использовать сложно. Впрочем, задача решается интринсиками и тут ассемблер, на самом деле, пролетает.

Ну и да, уже из предпоследней вижуалстудии ассемблер выкинули.

Что какбе намекает нам о его реальной необходимости во втором десятилетии 21 века.
Аноним 09/10/18 Втр 18:24:46  1276883
Анон, поясни за string_view
Когда и как его лучше использовать?
Интересует передача в функцию, возврат из функции.
Аноним 09/10/18 Втр 20:03:40  1276957
>>1276883
Замена для const string&, но только не тратятся ресурсы, если ты передаешь туда char*
Аноним 09/10/18 Втр 23:16:04  1277062
Что вообще делают на плюсах? Вот скажем есть чувак в ДС, он не знает никаких предметных областей, типа геймдева или машин лернинга. Но знает модерн С++.
Какие вот у него перспективы? Я чет смотрю вакансии на хх и там какая-то хуйня. Требования обычные, но что они блять пишут вообще на голых крестах? Калькуляторы на винапи или что блять? Я вот не могу представить.
Есть вообще смысл задротить плюсы, если ты не занимаешься наукоемкими штуками? Не выйдет так, что ты будешь через n лет сосать хуй в какой-нибудь отечественной компании за 50к в ДС?
Аноним 09/10/18 Втр 23:17:24  1277066
>>1277062
А ты быстро смекнул что к чему. У многих на это уходят годы.
Аноним 09/10/18 Втр 23:40:57  1277078
>>1277062
Игоры
Аноним 09/10/18 Втр 23:43:35  1277079
>>1277062
А по делу, бекенд например который работает со стримом видео. Кроссплатформенные либы, под разные архитектуры. Но пока ты достигнешь такого уровня у тебя волосня на яицах поседеет.
Аноним 09/10/18 Втр 23:45:24  1277080
Так же серъезные забугорные вакухи зачастую это стронг скил це плюс плюс. Так же погляди нпример на русский стартап nginx у них постоянно висят вакухи це плюс плюс
Аноним 09/10/18 Втр 23:52:12  1277082
>>1277062
>Что вообще делают на плюсах?
Поддержвают легаси десктопный софт (CADы, фотошопы, видеошопы, аудиошопы и плагины к ним), пишут системное ПО (в первую очередь эмбед), высокопроизводительные приложения с низкой латенси (например софт для стриминга видео, для крипты и т. п.).
>Какие вот у него перспективы?
Хуевые, так как конкурировать нужно будет с мужиками двадцатилетним опытом. Эти же мужики давят зарплаты вниз - их очень дохуя.
Учи CUDA, там процент шарящих мужиков с личинками и ипотекой значительно ниже.
>Есть вообще смысл задротить плюсы, если ты не занимаешься наукоемкими штуками?
Математик, знающий кресты, и рождающий более-менее приемлемый код (типа меня), обезьяна настолько редкая, что на фирмах, как правило, один дядька пишет алгоритмы на скриптовом языке, а второй уже переписывает их на C++ (особенно в случае CUDA). Поэтому имеет смысл. У меня коллега (который как раз 35+) сначала писал обвязки для моего говнокода, теперь уже сам вкатился в научную часть и пилит что-то.
>Не выйдет так, что ты будешь через n лет сосать хуй в какой-нибудь отечественной компании за 50к в ДС?
Как раз с крестами зарубежную удаленку найти просто, поэтому вопрос сосать хуи в отечественной компании или нет не стоит, после пары лет опыта надо уже подыскивать западную удаленку.
Аноним 10/10/18 Срд 00:20:11  1277090
>>1277082
>Учи CUDA
Что там учить? Там вопрос не скилла, а просто времени. И приложений твоей куды особо нет. Ну кроме как диффуры решать в нии, чем ты и занимаешься похоже.
Аноним 10/10/18 Срд 00:53:01  1277103
>>1277090
Манька с клиповым мышлением, предложение до конца дочитай.
Аноним 10/10/18 Срд 01:01:47  1277111
>>1277103
Дочитал и что там?
Аноним 10/10/18 Срд 01:05:28  1277114
>>1277111
Там ответ на вопрос, почему нужно учить CUDA.
На самом деле для молодежи сейчас есть ровно два стула, либо учить CUDA, либо не учить кресты вообще. Все остальное дно и прозябание в безуспешных попытках конкуренции с сорокалетними дядьками.
Аноним 10/10/18 Срд 01:24:16  1277119
>>1277114
Да ты заебал. Где твоя куда используется вообще? На хх 20 вакансий с кудой на весь ДС, из них 15 с машин лернингом. Че ты за дичь втираешь? Ни у кого блять нету кластеров с нвидиа, кроме каких-нибудь универов, а если какой-то софт на gpu, то там opencl юзают по понятным причинам.
Аноним 10/10/18 Срд 01:37:03  1277121
>>1277062
Там выше про сорокалетних мужиков уже антон отписался. А получилось это потому,что за последние лет этак десять с++ стабильно выдавливался из привычных ниш другими языками. Это вызвало жёсткую конкуренцию и навес предложения над спросом. Так что лучше выбрать другой язык для вкатывания, а c++ иметь прозапас (либо пару-тройку лет работать в говНИИ/касперском/яндексе за жрат, а потом уёбывать на галеру/удалёнку или за бугор).
Аноним 10/10/18 Срд 03:11:38  1277127
>>1277119
>Где твоя куда используется вообще?
Текущее десятилетие это миграция высокопроизводительного софта на видюхи. CUDA, OpenCL - не так важно, но у нвидии намного лучше тулчейн, а отлаженный CUDA-код переносится на OpenCL чисто механически. Софт, как правило, юзает, и то, и то, потому что на карточках nvidia opencl работает медленно, а особых проблем поддерживать два API нет, если, конечно, у тебя не софт уровня OpenCV.
>На хх 20 вакансий с кудой на весь ДС, из них 15 с машин лернингом.
И что? Со словом джава вакансий в два раза больше, чем со словом с++, однако почему-то ты в крестотреде. Если для тебя критерий - количество вакансий, что ты тут вообще забыл. Это рынок, можно работать на широком рынке взаимозаменяемых обезьянок, а можно быть эксклюзивным спецом, и искать новую работу на месяц дольше, но зато с зарплатой повыше автоматом. Тебе нужна одна вакансия, на которую тебя возьмут. Остальные это просто информационный шум.
А теперь пройдись по этой тысяче вакансий с++ на хх и выкинь оттуда поддержку легаси говна, ебанутых людей ("Проект - десктопный клиент лично-командного мессенджера." - на С++ в 2018 году), вакансии, где с++ упоминается в списке из 20 языков и прочий кал. Останется, может, сотня чего-то годного. Из них 10 будут теми, где знание видюх жирный плюс. И это дохуя.
Аноним 10/10/18 Срд 04:09:56  1277131
>>1277127
>а можно быть эксклюзивным спецом, и искать новую работу на месяц дольше
Ну тут такое... Можно и за год не дождаться.
Аноним 10/10/18 Срд 07:46:03  1277158
>>1277127
>Текущее десятилетие это миграция высокопроизводительного софта на видюхи

Угу, в формате "Бля, как к этому кораблю приделать крылья и колёса, чтобы он при этом ездил как болид Top Fuel и летал аки МиГ-31".

Нормально перекладывается по-сути только развертка цикла/map по большому количеству несвязанных объектов и то, только на простых алгоритмах в несколько строк. Тупо потому, что на сложных начинается ебань с плясками и архитектурой, заточенной под рендеринг потреблядской игроёбы с кинцом и прочих дрейкфейсов для даунов. Тут тебе и кеш размером как на Pentium 2 в его бюджетнейших модификациях, и выполнение обоих веток кода на ветвлениях (а если у тебя какой-нибудь паттерн-матчинг то вообще отсос фрактала).

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

Аноним 10/10/18 Срд 08:53:09  1277175
>>1277158
Как боженька расписал. Но с точки зрения наличия работы вся эта ебанина это очень хорошо.
Аноним 10/10/18 Срд 09:42:55  1277188
Ух, не думал что у вас все так плохо плюс сисисьники
Аноним 10/10/18 Срд 10:58:25  1277211
>>1277188
Да. Плохо и неинтересно. Не заходи сюда.
Аноним 10/10/18 Срд 10:59:09  1277213
>>1277090
>Ну кроме как диффуры решать в нии
Дифуры на куде как раз очень неудобно решать.
Аноним 10/10/18 Срд 19:59:49  1277399
>>1276957
А если у меня small string optimization срабатывает?
Аноним 10/10/18 Срд 23:06:58  1277472
image.png (6Кб, 569x107)
Пикрелейтед, temp - структура-шаблон intg, у которой есть метод l_3 с одним int в параметрах.
Как корректно записать тип r без auto или decltype? (Если попробовать его привести к другому типу, он обзывается как в комментарии, и такой тип даже не компилируется.
И как вообще этот объект называется, лол? По запросу "указатель на метод класса" в первых 4 пунктах что-то другое.

Вообще, там несколько десятков методов одинакового типа вроде l_3, их все нужно вызвать и ещё перед/после каждого выполнять одни и те же действия. Код для пяти штук раздулся уже на две страницы и для краткости хотелось бы или записать это в цикле (или просто передавать методы в другой метод с обёрткой).
Аноним 10/10/18 Срд 23:36:05  1277482
>>1277472
Всё просто и понятно, как это обычно бывает с указателями на функции.
RetT (intg<T>::⁎ r)(int) = &intg<T>::l_3;

https://en.cppreference.com/w/cpp/language/pointer#Pointers_to_member_functions
Аноним 10/10/18 Срд 23:45:24  1277486
>>1277472
>И как вообще этот объект называется, лол? По запросу "указатель на метод класса" в первых 4 пунктах что-то другое.
Указатель на метод отличается от указателя на функцию тем, что у метода первым параметром должен идти указатель this. Поэтому он и cannot convert.
Аноним 10/10/18 Срд 23:49:15  1277487
>>1277486
А если это static метод?
Аноним 11/10/18 Чтв 00:36:52  1277504
image.png (1Кб, 263x53)
>>1277482
Благодарю, разобрался. Заработало _zn<T> (intg<T>::* r)(int)=temp.l_3; (&temp.l_3 и &intg<T>::l_3 тоже работают)
Запутался с этим RetT - в текстовом классе (возвращающем нешаблонный тип) всё работало, что сильно меня смущало.

А ещё вопрос. Там внутри intg прописано using zn=_zn<T>. Возможно ли заменить явное указание вспомогательной структуры _zn<T> на что-то менее громоздкое, чем typename intg<T>::zn? Почему просто temp::zn не работает? Синтаксически довольно ясно что это означает, вроде бы.

>>1277486
>cannot convert
Это ошибка осталась, когда я написал int i = r, просто чтобы среда разработки показала свои соображения по поводу типа r. Код то нормально компилируется.

Аноним 11/10/18 Чтв 01:25:54  1277519
>>1277504
В студии кодишь? В gcc работает только &intg<T>::l_3

Здесь нельзя обойтись без typename, т.к. это какая-то залупа, связанная с name lookup
https://en.cppreference.com/w/cpp/language/dependent_name

Можно задефайнить тип метода как-то так:
template<class T>
using IntgFun = typename intg<T>::zn (intg<T>::*)(int);
...
IntgFun<double> r = &intg<double>::l_3;
Аноним 11/10/18 Чтв 02:24:55  1277524
image.png (11Кб, 375x267)
>>1277519
Нет, qtcreator+mingw64. Вот тут работает любое из a.f/&a.f/&A::f - даже предупреждений нет. Меня тоже удивило, по сравнению с требованием ко всяким typename это очень неожиданно.
Аноним 11/10/18 Чтв 09:26:29  1277558
>>1277524
Зачем таике ебанутые наименования?
Аноним 11/10/18 Чтв 12:40:59  1277614
Анон, вопрос не про с++, но тем не менее
Как проектируют системы? Не имею ввиду какие-то мегапрограммы типа игр, браузеров и тд. А, допустим, какие-то их небольшие элементы/части.
Например, система событий. Можно написать на switch/case что-то, можно с наследованием или какую йобу на шаблонах.
Как учиться таким штукам? Читать код, конечно, можно и нужно, но и авторы ведь тоже откуда-то эти мысли брали.
Аноним 11/10/18 Чтв 15:11:01  1277672
>>1277614
>Как проектируют системы?

В основном в меру своей компетенции, возможностей языка, своей эрудиции, любознательности и путём проб и ошибок. Удачные решения объявляют бест практисами и пишут про них в книгах.

Но до того как они становятся удачными решениями пишется куча прототипов/рабочих задач в том числе и кривых.
Аноним 11/10/18 Чтв 15:12:03  1277673
>>1277614

А так, "теорию решения изобретательских задач" почитай, там примерно требуемые приёмы работы головой в подобных задачах описываются.
Аноним 11/10/18 Чтв 16:41:31  1277739
>>1277614
>но и авторы ведь тоже откуда-то эти мысли брали.
Методом тыка скорее всего, ну или методом мысленного тыка, если опыта сильно дохуя. Читай код, а лучше всего используй его, нахуя сейчас, например, писать систему событий.
Аноним 11/10/18 Чтв 16:41:56  1277740
>>1277673
Говно уровня гербалайфа.
Аноним 11/10/18 Чтв 18:51:38  1277812
14487942828330.jpg (931Кб, 2000x2000)
>>1265219
Аноним 11/10/18 Чтв 18:59:01  1277817
>>1263368 (OP)
Добрый вечер дороги антуаны. Нужна ваша помощь.
https://pastebin.com/uE5sNGXj
Код для полиза. Не могу разобраться в строчках:
16)Stack() : head(0) {}
67)return head == 0 ? true : false;
Искал в интернете, 67 строчка связана с тернарным оператором. Я правильно понял, что если head == 0, то вернется true, если нет, то false?
Про 16-ю строчку вообще ничего не понял, нарыл только что-то связанное с конструкторами класса, но на сколько я понимаю, это не тот случай. По этому прошу помочь разобраться.
Аноним 11/10/18 Чтв 19:01:42  1277821
>>1277817
> Я правильно понял, что если head == 0, то вернется true, если нет, то false?
Йеп

> нарыл только что-то связанное с конструкторами класса, но на сколько я понимаю, это не тот случай. По этому прошу помочь разобраться.
Конструктор который ничего не принимает и инициализирует head в ноль

https://en.cppreference.com/w/cpp/language/initializer_list
Аноним 11/10/18 Чтв 19:03:50  1277824
>>1277817
Если это действительно, что-то связанное с классами, то есть ли другое объяснение этому двоеточию. Классы мы только начали проходить, а это долг полугодовой давности, т.е тогда мы знать не знали про классы. И возможно препода не устроит такой ответ.
Аноним 11/10/18 Чтв 19:07:30  1277826
>>1277821
Спасибо за помощь!
Аноним 11/10/18 Чтв 20:08:58  1277839
zetta slow!.jpg (19Кб, 300x300)
>>1277812
Аноним 11/10/18 Чтв 20:48:57  1277847
Screenshot1.png (36Кб, 902x659)
Ребят, поясните пожалуйста, как подобное реализовать на плюсах. Интересует та часть, что со статичным инстенсем класса.
Подобное юзал в юнити как синглтон для написания гейменеджеров, после переката на анрил возникла такая проблема.
Аноним 11/10/18 Чтв 21:01:36  1277850
>>1277847
https://habr.com/post/147373/
Аноним 11/10/18 Чтв 21:10:23  1277857
Screenshot2.png (26Кб, 646x603)
>>1277850
Спасибки, разобрался уже, до этого чёт не мог нагуглить. facepalm
Аноним 12/10/18 Птн 12:42:49  1278049
Кайтесь!
https://blog.knatten.org/2018/10/12/1662/
Аноним 12/10/18 Птн 14:12:19  1278076
image.png (7Кб, 278x219)
image.png (2Кб, 433x41)
Структура с полями abcdef. Почему в с++ отказались от подобного синтаксиса инициализации структур?
В си работает, в с++ только если указывать несколько последовательно объявленных в структуре полей, из-за чего весь смысл указания имён полей теряется.

>>1277558
Для краткости, это же пример. Да там и вся программа просто поделка на один день, просто попробовать сделать одну штуку.
Аноним 12/10/18 Птн 19:27:15  1278255
>>1278076
в c++ именованные аргументы в функциях/конструкторах заменяются правильным использованием системы типов
Аноним 12/10/18 Птн 21:32:16  1278338
>>1278076
Я слышал, что какие-то проблемы с грамматикой были раньше (хотя как будто их и не было никогда, грамматика плюсов дохрена перегружена и так). В двадцатых плюсах вроде исправили:
https://en.cppreference.com/w/cpp/language/aggregate_initialization
Аноним 13/10/18 Суб 01:14:30  1278406
>>1263368 (OP)
https://wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application#Linking_your_application_against_the_shared_library
[code]#include <QtGui>

#if defined TEST
#define TEST_COMMON_DLLSPEC Q_DECL_EXPORT
#else
#define TEST_COMMON_DLLSPEC Q_DECL_IMPORT
#endif

class TEST_COMMON_DLLSPEC Widget : public QWidget {
......[/code]
Что это за залупа такая? Реально эти макароны писать надо? Что-то я не припомню, как я раньше хоть раз такое видел.
Аноним 13/10/18 Суб 18:36:41  1278556
>>1274027
Исключения не тормозят рантайм.
Смотри не пиздани на собеседовании где нибудь такую хуйню.
Аноним 13/10/18 Суб 18:40:49  1278560
>>1277082
Ну кстати эти мужики с 20+ опытом потеряли мотивацию и кое как пашут за 100-120 и не особо толку много приносят.
Аноним 13/10/18 Суб 19:51:34  1278609
>>1278406
Возня с dllimport/dllexport для экспорта символов на венде есть всегда и везде.
Аноним 13/10/18 Суб 23:05:38  1278648
image.png (14Кб, 508x150)
>>1278076
>Почему в с++ отказались от подобного синтаксиса инициализации структур?
Аноним 14/10/18 Вск 02:07:17  1278693
Всегда хотел вкатиться в плюсы, но всегда было как-то лень, но месяц назад я сказал ВСЕ! Я СДЕЛАЮ ЭТО!. И как же у меня сгорела жопа за этот месяц, ЕБАНЫЙ ТЫЖ СТРАУСТРУП.

Но на самом деле пока все нравится. PS ебал визуал студио с его стандартами
Аноним 14/10/18 Вск 09:58:06  1278746
Будет ли прирост производительности если я каждую переменную буду инициализировать как type* varName = new type, а затем после ее ненадобности удалять их через delete varName?
Аноним 14/10/18 Вск 11:07:20  1278764
>>1278746
Нет.
Аноним 14/10/18 Вск 11:08:08  1278765
>>1278746
Визуал студио автоматически код оптимизирует. Лучше гугли как настроить компилятор грамотно.
Аноним 14/10/18 Вск 11:19:23  1278771
>>1278765
Окей, спасибо.
Кстати, как можно в студии узнать сколько памяти и времени скушала программа?
Аноним 14/10/18 Вск 11:22:45  1278775
>>1278746
Наоборот. То ты на стеке выделяешь простым сложением или вычитанием, а тут в куче. Прочитай кернигана и ричи
Аноним 14/10/18 Вск 11:24:59  1278777
>>1278771
Используй встроенный в VS отладчик.
Аноним 14/10/18 Вск 11:27:24  1278778
>>1278775
Я читал, но не нашел об этом инфы.
Аноним 14/10/18 Вск 11:30:14  1278782
Поясните за QT framework. Что за йоба такая и с чем его едят. Кроме того, можно откуда нибудь скачать просто нужные либы и юзать их? Не хочу я ставить сверх визуал студии 100гб этого фрейма.
Аноним 14/10/18 Вск 12:01:30  1278795
>>1278782
Плюсы - это голый язык, файлы да терминал. Чтобы использовать хоть что-то ещё, надо либо использовать вызовы ОС, либо самостоятельно, либо через фреймворк.
Qt - оконный интерфейс, сеть, интернет-соединения и очень много всего другого. В идеале, если ты не используешь платформенных особенностей и пишешь портабельный C++-код, твою программу можно собрать под любую платформу, которую поддерживает Qt.
Аноним 14/10/18 Вск 12:27:33  1278809
>>1278795
Допустим в планах десктоп под шиндоус + много работы с винапи и системой в целом. Стоит накатывать QT? Или есть какие-то другие библиотеки/что-то еще? И как это все гуглить? Пытался найти библиотеку для работы с винапи - соснул хуй, якобы везде всё пишут сами. Спасибо за ответ.
Аноним 14/10/18 Вск 13:32:58  1278851
>>1278809
> Пытался найти библиотеку для работы с винапи
M F C
F
C
Аноним 14/10/18 Вск 14:17:50  1278888
Есть тут чтецы книги Липмаана?
Заканчиваю главу про копирование, присвоение, удаление.

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

class QueryResult {
friend std::ostream& print(std::ostream&, const QueryResult&);
public:
typedef std::vector<std::string>::size_type line_no;
typedef std::set<line_no>::const_iterator line_it;
QueryResult(std::string s,
std::shared_ptr<std::set<line_no>> p,
std::shared_ptr<std::vector<std::string>> f):
sought(s), lines(p), file(f) { }
std::set<line_no>::size_type size() const { return lines->size(); }
line_it begin() const { return lines->cbegin(); }
line_it end() const { return lines->cend(); }
std::shared_ptr<std::vector<std::string>> get_file() { return file; }
private:
std::string sought; // word this query represents
std::shared_ptr<std::set<line_no>> lines; // lines it's on
std::shared_ptr<std::vector<std::string>> file; //input file
};

class TextQuery {
public:
#ifdef TYPE_ALIAS_DECLS
using line_no = std::vector<std::string>::size_type;
#else
typedef std::vector<std::string>::size_type line_no;
#endif
TextQuery(std::ifstream&);
QueryResult query(const std::string&) const;
void display_map(); // debugging aid: print the map
private:
std::shared_ptr<std::vector<std::string>> file; // input file
// maps each word to the set of the lines in which that word appears
std::map<std::string,
std::shared_ptr<std::set<line_no>>> wm;

// canonicalizes text: removes punctuation and makes everything lower case
static std::string cleanup_str(const std::string&);
};

Так вот в конце главы про копирование вопрос:
Должны ли классы TextQuery и QueryResult определять собственные версии функций-членов управления копированием?
Я так вижу что при текущей реализации класса достаточно синтезируемых. При копировании обоих классов у нас увеличиваются счетчики ссылок shared_ptr что исключает удаление данных. Если же один из скопированных экземпляров будет удален, счетчик уменьшится и все довольны.
Аноним 14/10/18 Вск 15:45:59  1278939
>>1278746
Почитай, что такое куча и стек.
Аноним 14/10/18 Вск 16:57:04  1278973
>>1278809
>библиотеку для работы с винапи
что это такое хоть ёбт
Аноним 14/10/18 Вск 17:17:10  1278976
Сап всем. Помогите начинающему. Искал на просторах сети код программы для перевода из 10чной в 16ную систему исчисления. Нашел, подправил чтоб нравилось мне. Работает код, поясните только откуда там блять взялись эти 48 и 55, понимаю что наверное тупой вопрос, но реально не понимаю. https://pastebin.com/E7E0xzNK

Заранее благодарю.
Аноним 14/10/18 Вск 17:49:24  1278987
>>1278851
Все говорят что говно + нихуя не упрощает работу. Ахуеть блять, почему за 20 лет никто нормальных библиотек не наклепал? Не верю, что все десктоп-мани на чистом winapi делают. Придется качать QT.
Аноним 14/10/18 Вск 18:39:05  1279012
Как можно найти минимум и максимум функции?не массива
Аноним 14/10/18 Вск 19:01:03  1279023
>>1278976
>https://pastebin.com/E7E0xzNK
Автор мудак просто конченный.
48 это код символа '0', а 55 это код 'A'-10.

И это если на время забыть тот неудобный факт, что преобразование в 16-ную систему делается одной строчкой sprintf(hexnum, "%X", num);
Аноним 14/10/18 Вск 19:04:36  1279024
>>1279012
Математико-тред там >>>>>>>>>>>
И вообще оптимизация функций это очень глубокая нора. Функция-то хоть унимодальная?
Аноним 14/10/18 Вск 19:04:57  1279025
>>1279012
Надо посмотреть её код, на основе кода можно сделать этот вывод.
Аноним 14/10/18 Вск 19:07:44  1279027
>>1279012
welcome to "Теория оптимизации"

http://bigor.bmstu.ru/?cnt/?doc=MO/MO.cou
Читай гл.4 и ебись как хочешь
Аноним 14/10/18 Вск 19:57:31  1279063
>>1279023
Можешь объяснить этот момент подробнее? С нулём я понял, а 'A' - 10 что значит?
Аноним 14/10/18 Вск 20:00:57  1279065
>>1279023
Таблицу ASCII я уже нашел, и значения в ней тоже совпадают с теми что ты сказал.
Аноним 14/10/18 Вск 22:28:15  1279127
>>1278987
>почему за 20 лет никто нормальных библиотек не наклепал?
Потому что появился WPF.
Аноним 14/10/18 Вск 23:37:24  1279166
>>1278693
Кидай вижуал студень. Лучше скачай Qt Creator - нормальная такая ide, можно с g++ и линуксом юзать, на винде тоже норм и главное НЕ ТОРМОЗИТ ААА СУКА КАК ЖЕ Я РАД ЧТО ПЕРЕШЕЛ НА НЕГО С ЕБАНОГО ВИЖУАЛ СТУДИО
Аноним 15/10/18 Пнд 10:07:38  1279258
>>1263368 (OP)
Obnovite v shapke faily s knigami. Nekotorie na mege uzhe ne rabotaut. Sorry za translit.
Аноним 15/10/18 Пнд 11:13:12  1279313
>>1279258
Либген тебе в помощь.
Аноним 15/10/18 Пнд 11:59:09  1279346
>>1278693
>>1279166
Кидай вижуал студень. Лучше скачай VIM - нормальная такая ide, можно с g++ и линуксом юзать, на винде тоже норм и главное НЕ ТОРМОЗИТ ААА СУКА КАК ЖЕ Я РАД ЧТО ПЕРЕШЕЛ НА НЕГО С ЕБАНОГО ВИЖУАЛ СТУДИО
Аноним 15/10/18 Пнд 13:47:48  1279428
>>1274732
Стандартная функция abs(сюда вставить значение).
Аноним 15/10/18 Пнд 13:50:27  1279432
>>1279346
>Лучше скачай VIM - нормальная такая ide
Лучше пусть нюфане сублайм или vscode.
Аноним 15/10/18 Пнд 13:58:55  1279438
Как можно узнать через g++ сколько памяти кушает программа?
Аноним 15/10/18 Пнд 14:21:33  1279449
>>1279346
Не слушай даунов с атлоном ХР вместо компуктера, и работай на нормальных тулзах. Лучше студии ничего не изобрели.
Аноним 15/10/18 Пнд 14:36:23  1279458
>>1279438
мать твою, нельзя ли потоньше?
Аноним 15/10/18 Пнд 14:42:51  1279463
>>1279458
Как можно узнать через GCC скорость работы?
Аноним 15/10/18 Пнд 15:57:04  1279507
>>1279438
Как можно узнать через g++ сколько жоского диска кушает программа?)
Аноним 15/10/18 Пнд 16:02:03  1279512
Есть ли смысл вкатываться в область 3D (OpenGL и иже с ним) в 2018, или это не особо перспективное направление?
Аноним 15/10/18 Пнд 16:59:13  1279537
Гайс, где найти хороших туториалов по OpenGL(желательно ES). Что- нибудь про запил мини- движка\игоры. Что-то такое.
Заранее аригато.
Аноним 15/10/18 Пнд 17:11:01  1279542
>>1279537
https://learnopengl.com/
https://guide.handmadehero.org/code/
Аноним 15/10/18 Пнд 17:24:58  1279545
как в QtLocation создать MapPolygon ручками, а не прихерачив его заранее в коде? ну тип, что я тыкая мышкой по карте, собрал свой полигон, и потом с ним что-нибудь делал?
Аноним 15/10/18 Пнд 17:41:21  1279548
>>1279449
Да твоя ебаная студия прям как твоя тян - сколько бы у тебя ни было ресурсов, ей все мало.
Аноним 15/10/18 Пнд 18:39:30  1279580
>>1279512
Если кратко, то нет.
Аноним 15/10/18 Пнд 22:05:05  1279687
>>1279463
Давай начнём с простого. Какая работа тебе нравится: повар в МакДональдс или курьер?
Аноним 15/10/18 Пнд 22:13:40  1279689
>>1279507
в голос
Аноним 15/10/18 Пнд 23:05:25  1279704
>>1279507
g++ это govno++?
Аноним 15/10/18 Пнд 23:12:37  1279711
>>1279537
https://habr.com/post/350156/
Студент 16/10/18 Втр 08:28:13  1279834
Может кто подскажет пару опенсорсов на плюсах, хочу вкатиться в чтение настоящего кода
Аноним 16/10/18 Втр 10:31:56  1279849
>>1279580
Почему?
Аноним 16/10/18 Втр 11:41:59  1279858
>>1279849
стамины не хватит чтобы чтобы дойти до хайэнд контента игры с работой за деньги
другой анон
Аноним 16/10/18 Втр 11:42:47  1279859
>>1279834
Тебе из какой сферы хоть?
Аноним 16/10/18 Втр 12:38:58  1279880
>>1279858
Я миддл разработчик, который сейчас находится без работы, и ищет новые предметные области, ибо пятый год подряд трачу жизнь на десктоп парашу (стек Qt/Qml). Меня просто уже заебало.
Аноним 16/10/18 Втр 12:48:05  1279884
>>1279880
А, ну так вот в общем ищу в какие смежные области вкатиться. Потихоньку ковыряю вулкан, но не знаю, есть ли резон in the long run.
Аноним 16/10/18 Втр 13:58:56  1279920
>>1279884
>Потихоньку ковыряю вулкан
Ну это ты зря. Реальный профит с него могут получить только те, кто прохавал работу с gpu с самого низа (вплоть до драйверов). Лучше ковыряй какой-нибудь UE и посмотри на opengl + glsl, чтобы понять общие принципы работы с графикой.
>>1279512
Основной спрос на графику составляет гейдев. Если ты опытный разраб с нормальной ставкой, то вкатываться в него ты скорее всего не станешь. Бесконечный поток студентов сильно режет зарплаты и создаёт на редкость скотские условия труда (дешманский "офис", забитый под завязку, испыталка от полугода, ~70% зп в серую, праздники рабочие, отпуск 2 недели, в "соцпакет" входит только оплачиваемый больничный, отношение к новичкам как к бесправному говну).
Аноним 16/10/18 Втр 14:06:20  1279924
>>1279920
> Бесконечный поток студентов сильно режет зарплаты и создаёт на редкость скотские условия труда (дешманский "офис", забитый под завязку, испыталка от полугода, ~70% зп в серую, праздники рабочие, отпуск 2 недели, в "соцпакет" входит только оплачиваемый больничный, отношение к новичкам как к бесправному говну).

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

>Если ты опытный разраб с нормальной ставкойx

Да не то что бы, я не особо далеко ушел, на $15 в час ковырял десктопную парашу, все проекты одинаковы и чувствую эмоциональное выгорание. Хочется свежего глотка воздуха да и предметную область с большим потолочком, чем десктоп.
Аноним 16/10/18 Втр 19:04:28  1280132
>>1279924
опиши примеры проектов? Сколько человек, что вообще получается на выходе?

Сам уже 7 лет работаю в 1С и меня уже доебала эта область. Я конечно не считаю это нормальным программированием, так еще и работа вся заключается в том что запрос - выборка таблицы ,обработка таблицы, ну и что-то в форме поковырять. И бесконечная ебота с проблемами пользователей, то остатки у них то еще что. Хотя именно этим я почти не занимаюсь.

Думаю перекатиться в с++, который когда то еще со школы изучал. Читаю пока Липпмана. Хочется работать над чем то реальным и на реальном ЯП. Правда как пережить даунгрейд по ЗП не представляю
Аноним 17/10/18 Срд 05:52:59  1280351
в чем разница между MapPolygon и GeoPolygon в Qt? в доках ни слова, ни где ни слова
Аноним 17/10/18 Срд 14:57:54  1280518
Такой вопрос. В консоль надо вводить числа. Если я введу букву, то cin ломается. Это понятно. Но почему не работает связка
cin.clear();
cin.sync();
после этого места, чтобы попытаться ввести число заново?
Аноним 17/10/18 Срд 16:31:00  1280577
>>1280518
Потому что букву ты не потребил и не пропустил. Надо делать ignore()
https://en.cppreference.com/w/cpp/io/basic_istream/ignore
Аноним 17/10/18 Срд 16:51:52  1280583
>>1280518
Короче, в зависимости от того, какой у тебя формат ввода, ты по-разному можешь пропускать. Можно по одному, можно пропустить до следующего пробела и т.д.
Аноним 17/10/18 Срд 17:47:42  1280614
>>1279548
Поставь еще планку на 4гб памяти, нищеблядь
Аноним 18/10/18 Чтв 01:38:44  1280818
>>1280518
https://pastebin.com/t9GPFYvy
Я в своем маленьком консольном проекте на си делал так.
Аноним 19/10/18 Птн 01:17:26  1281267
nkun:
Сап, С++ боги.

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

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

Так вот, реализовать само дерево могу, вставку двумя описанными выше вариантами тоже, но не могу определиться как будет правильно - left <= root < right или left < root <= right, не так много инфы по этому поводу смог найти. А так же, я хз как оптимизировать вставку, вот допустим, у нас есть дерево:

5(root)
4(left) 6(right)

Вставляем значение 5, присваивая новые связи по правилу left < root <= right:

5(root)
5(right)
4(left) 6(right)

Как теперь вставить 4?

Вот тут я и запутался, ибо если вставить новый ключ с значением 4 как левый потомок рута, как я понимаю, быстрый поиск по дереву наебнется, ибо если нужно будет найти все значения по ключу 4, то поиск пойдет по левой ветке, игнорируя правую, т.к 4 < 5. Решить это можно так:

5(root)
5(left & right)
4(left) 6(right)

Теперь при вставке нового ключа 4 он присвоится после уже имеющегося ключа 4:

5(root)
5(left & right)
4(left) 6(right)
4(left & right)

Теперь и быстрый поиск должен работать корректно.

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

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

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

Подскажите как лучше, или помогите нагуглить.

inb4: ЧЗНХ???????????? ПИЗДУЙ ОТСЕДА, ДОВН. - Я ньюфаг, читал пару книжек, но опыта работы с деревьями мало и я хз как это гуглить, гугл упорно молчит по поводу деревьев с дублирующимися значениями, либо я не так гуглю, не спорю. Если пригорело от того что я возможно не учел то что тебе кажется очевидным и ты считаешь лучшим вариантом меня оскорбить - скрой пост чтобы глаза не мазолило и иди себе дальше, пожалуйста, я очень ранимый, не доводи до греха...
Аноним 19/10/18 Птн 12:19:45  1281366
#include <stdio.h>
#include <cuda.h>
__global__ void hello() {
printf("Hello cuda\n");
}
int main() {
hello<<<1,1>>>();
cudaDeviceSynchronize();
return 0;
}
Компилируется, запускается, но при этом не печатает ничего. Что не так?
Аноним 19/10/18 Птн 12:59:24  1281377
image.png (88Кб, 982x941)
>>1281267
>5(root)
>5(right)
>4(left) 6(right)
Даже (4)5(6), 5((4)5(6)) нагляднее, мне кажется. Нарисовал бы на бумажке, сразу же сам бы понял.

>присваивая новые связи по правилу left < root <= right
>ибо если нужно будет найти все значения по ключу 4, то поиск пойдет по левой ветке, игнорируя правую
>игнорируя правую
Там и должно быть, у тебя требование, что в левой ветке все ключи строго меньше 5. Неправильная вставка, у тебя дерево 5((4)5(6)) не подходит под правило, 4 каким-то образом оказалось правее 5.

У тебя так или иначе образуется сегмент с двумя одинаковыми ключами один из которых правый для другого. Нужно или перемещать левую 4-ветвь к верхнему, или при добавлении спускаться вниз (пока значение не станет отличным от 5) и помещать новый 5-ключ на место старого 6-ключа. Тогда будет выполнено требование к дереву. Просто подумай чуть-чуть об алгоритме слияния двух деревьев, и всё станет ясно.

В общем никакого отличия от дерева со стогим неравенством ключей нет, я не понял где ты запутался. Просто при поиске если ключ совпадает, то не прекращаешь поиск, а спускаешься по правой ветке.
Ты каким-то образом вставляя в (4)5(6) новое 5 получил дерево 5((4)5(6)). Если бы ты вставлял 10 по тому же алгоритму, ты бы получил ((4)5(6))10 или 5((4)10(6)). То есть ты по каким-то причинам сам этого не замечая делаешь исключения для вставки элемента, если его ключ совпадает с уже имеющимся, хотя в твоём условии явно прописано left < root <= right, что говорит и критериях вставки любого элемента.
Аноним 19/10/18 Птн 14:04:40  1281384
>>1281377
Спасибо, я проебался только в том что подумал что надо обоих потомков присвоить новому элементу, по сути.
Аноним 19/10/18 Птн 14:05:52  1281385
>>1281377
>Даже (4)5(6), 5((4)5(6)) нагляднее, мне кажется. Нарисовал бы на бумажке, сразу же сам бы понял.
Вакаба сожрала табуляции, к сожалению, я такого не ожидал.
Аноним 19/10/18 Птн 20:11:47  1281554
15345955599990.png (181Кб, 341x394)
Ребят, много где при приеме на работу на плюсишках написано
>Опыт разработки на С++ многопоточных сетевых приложений для Linux;
Где можно поучиться разрабатывать приложения для работы с сетью? Дома такое вряд ли можно протянуть на приемлемый уровень
Аноним 19/10/18 Птн 21:15:52  1281577
>>1281554
Курс от мейл ру есть, прям так и называется.
Аноним 20/10/18 Суб 13:13:53  1281771
15308791884700.jpg (231Кб, 1024x769)
>>1281577
Спасибо, действительно. Надо будет глянуть
Аноним 20/10/18 Суб 16:59:41  1281857
image.png (127Кб, 1292x627)
Аноны, можете подсказать как это работает? Сейчас читаю Прату, тут в шаблонных класах примеры дружественных функций, и в одной из программ Прата задаёт значение статическому члену без функций, при том что он находится в закрытом разделе. Как это возможно то?
Аноним 20/10/18 Суб 20:42:51  1281913
Когда следует делать Class::func(int x) : x(x), а когда по стариночке инициаилизировать? Есть ли разница вообще на техническом уровне?
Аноним 20/10/18 Суб 20:49:00  1281914
>>1281913
Компилятр лучше код сгенерирует для версии :(), чем =.
Аноним 20/10/18 Суб 21:02:50  1281921
>>1281914
Хм, спасибо, буду знать!
Аноним 20/10/18 Суб 22:20:15  1281942
>>1281857
Это особенности плюсов, в шарпе например не так, там можно тупо в теле класса инициализировать статическую переменную. А вот в плюсах статические переменные должны инициализироваться в той же области видимости где находится класс, обычно сразу после тела класса по-моему даже обязательно, но это не точно. В методах класса ты можешь менять значение, но инициализация для дальнейшего использования происходит именно так.

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

Вот пример, почитай комментарии:
https://pastebin.com/z0tfaT2a
Аноним 21/10/18 Вск 01:17:06  1281987
>>1281913
>Когда следует делать Class::func(int x) : x(x), а когда по стариночке инициаилизировать?
Это и есть по-стариночке.
Аноним 21/10/18 Вск 01:48:00  1281994
>>1281366
>Что не так?
Карточка есть на компьютере?? драйвера?? все поставлено??
Аноним 21/10/18 Вск 09:39:28  1282055
>>1281942
Нихуя тут тонкости конечно, спасибо за ответ адекватный.
Аноним 21/10/18 Вск 09:43:27  1282057
>>1281913
Такую инициализацию можно использовать только в конструкторах класса. Она ещё список инициализации членов называется.

Если коротко, то она вызывает конкретные конструкторы для объектов, вместо операторов присваивания и прочего.
Аноним 21/10/18 Вск 09:46:34  1282058
>>1281913
В первом случае также данные инициализируются еще до создания объекта, бывают случаи, когда это нужно
Аноним 21/10/18 Вск 10:15:12  1282060
Как в с++ получить несколько различных хэш функций?
Типа с разными параметрами. Кроме как самому писать.
Аноним 21/10/18 Вск 11:14:42  1282085
>>1282060
Не понял вопроса. Что значит "Типа с разными параметрами"?
Аноним 21/10/18 Вск 11:19:47  1282087
>>1282060
Ты имеешь ввиду как printf()?

return_type funcname(...){ body }
Почитай тут например - https://rsdn.org/forum/cpp/418970.1

Функции с переменными параметрами называется вроде.

Только вот в плюсах немного муторно выцеплять из памяти переданные в такую функцию значения.
Аноним 21/10/18 Вск 14:06:50  1282168
>>1282058
Память под объект ещё не выделена, а данные (его поля) уже инициализируются? Это как?
Аноним 21/10/18 Вск 14:55:52  1282196
>>1281913
Для записи : a(_a), b(_b) не определён порядок инициализации. Если важно, что b инициализируется после a, то придётся писать a=_a, b=_b в теле конструктора.
Аноним 21/10/18 Вск 17:58:42  1282362
image.png (75Кб, 1142x542)
Ну ахуеть теперь. Один вопрос: ПОЧЕМУ? Почему, блять, так?
Аноним 21/10/18 Вск 18:19:59  1282373
>>1282362
знаешь сколько им резюмех прилетит? несколько сотен
Аноним 21/10/18 Вск 18:24:30  1282376
>>1282362
А что не так?
Аноним 21/10/18 Вск 18:28:41  1282377
>>1282085
Просто различных. Я могу получить одну, например std::hash<std::string>(), но мне нужно несколько разных. Для одного и того же типа. Просто чтобы разные значения возвращали.
Например, если там полиномиальный хэш, то с разными множителями.
Аноним 21/10/18 Вск 18:36:17  1282382
Нужно написать шаблонный класс для обработки контейнера. И в классе нужно хранить итератор, но непонятно какой у него тип. По идее это тип, возвращаемый container.begin(), но как это описать в коде?
Аноним 21/10/18 Вск 18:36:31  1282383
image.png (22Кб, 611x344)
Аноны, может кто подсказать почему после этой функции программа зависает. В самой программе всё рабочее, а после ее выполнения всё. Она по идее должна сортировать диагональ двумерной динамической матрицы
Аноним 21/10/18 Вск 18:44:38  1282385
>>1282383
Бля,я понял что за хуйню наделал, уже не нужно
Аноним 21/10/18 Вск 19:50:31  1282413
>>1282373
>>1282376
Почему джун на питоне == джуну на крестах?
Аноним 21/10/18 Вск 20:11:12  1282418
>>1282382
Обычно в контейнере делают так:
class <typename T> Container {
typedef T value_type;
typedef value_type* iterator;
}
И там, где тебе нужен тип итератора, ты пишешь (например):
Container<int>::iterator it;
Не ленись, посмотри исходники std.
Аноним 21/10/18 Вск 20:14:58  1282421
>>1263368 (OP)
Анон, я знаю, что меня скорее всего пошлют нахуй тут, но
1) если изучать с++ в 39 часов в неделю, за сколько можно стать джуном?
2) проганье, это внезапно то, на что у меня более менее стоит.
3) есть ли курсы годные(шапку читал) именно с задачками на то, чтобы вкатится на джуна.
Т.е. - смотрю видео- читаю книжечку- делаю домашку- вкатываюсь в с++.
От ваших ответов зависит, поставлю ли я анус или нет.
25 лет.
Аноним 21/10/18 Вск 20:15:14  1282422
>>1282413
Потому что кадровики не в курсе, чем кресты от питона отличаются. Для них это одинаковые погромисты, тем более минимальной квалификации. А вообще кресты посасывают по средней зарплате и дают реальный выигрыш только для синёров.
Аноним 21/10/18 Вск 20:16:33  1282423
>>1282421
Ты можешь вкатиться в какой-нибудь НИИ на джуна вообще без знания крестов. Там всегда дефицит кадров.
Аноним 21/10/18 Вск 20:17:29  1282425
>>1282382
А что за контейнеры?
Аноним 21/10/18 Вск 20:27:58  1282431
>>1282423
>>1282423
Меня интересует вкат в профессию, ибо алчный мудак и хочу денег и заниматься полезным. Вкат в С++ я думаю, возможен и дойти до ебучего IT-архитектора при должных усилиях жопы возможен за 7 лет.
Меня интересует нормальное проганье, но зайя на HH я вижу-нужен C++ 1 год проганья. Вопрос- это у меня в трудовой книжке записано
должно быть записано или я могу сказать ,что у меня год?
У меня так-то 6 лет,которых я пинал хуи в вузе С++.
Если нужен для этих тупорылых HR просто запись в книжке- я тебя внимательно слушаю, где такой НИИ, где я буду джуном C++ зная чуть более,чем нихуя.

Алсо, что вы думаете про курс специалист от МГТУ имени баумана?
Аноним 21/10/18 Вск 20:37:16  1282437
>>1282431
>Алсо, что вы думаете про курс специалист от МГТУ имени баумана?
Думаю что устаревшая дрисня. Вот неплохой курс бесплатно и без смс, как говорится. https://www.youtube.com/watch?v=Hh_zeW2P8uo&list=PLrCZzMib1e9raTDJ5IyuSHe9AmOUHAAsr
Аноним 21/10/18 Вск 20:37:46  1282438
>>1282437
2015 год.
Аноним 21/10/18 Вск 20:39:45  1282440
>>1282438
Кинул тебе выше свежачок 2017 от мейлру. С 2015 года уже дохуя стандартов ввели.
Аноним 21/10/18 Вск 20:48:04  1282444
>>1282440
Так, тогда ещё вопросы:
1) Актуальны ли книги в шапке- или нужно читать максимально близкие к 2018 книги по с++. Шлее норм?
2) Есть ЗАДАЧКИ ЧТОБЫ ВОТ СДЕЛАТЬ И ВЫЛОЖИТЬ НА ГИТХАБ ИХ ТЕБЯ ПРИНЯЛИ В КРУПНУЮ КОМПАНИЮ НА 300 КККК В НАНОСЕК.
ну или хотя бы бичом за 25к
25-кун близок к ставке ануса.
Аноним 21/10/18 Вск 20:54:57  1282446
>>1282431
>ибо алчный мудак и хочу денег
тогда тебе в Web
>дойти до ебучего IT-архитектора при должных усилиях жопы возможен за 7 лет
это вообще не про конкретный язык программирования
>но зайя на HH я вижу-нужен C++ 1 год проганья
Иди и собеседуйся. Скажи что в своей шараге курсачи писал на c++. Если будут посылать не стестняйся спросить как тебе получить необходимый опыт.

И вообще сцуко ты 25 летний жлоб, а вопросы, как будто ты только что из своего манямира вылез. Ты ведь ещё нигде не работал, да?
Аноним 21/10/18 Вск 21:00:31  1282448
>>1282444
1) Смотришь, когда вышли стандарты языка и смотришь дату выпуска книги. Если книга вышла позже - то смело читай.
2) Твой помойный гитхаб никто смотреть не будет. Понять, что это твой код, невозможно да и зачем в говне ковыряться. Обычно конторы дают тестовое или просят написать какой-нибудь код на месте.
Аноним 21/10/18 Вск 21:07:09  1282454
>>1282446
Понимаешь, есть такое понятие,как отложенная гратификация.
Вообщем был эксперимент, когда детям дали выбор- тебе дают конфету сейчас или две конфеты потом. Потом детям, которые выбрали 2 конфеты потом давали снова выбор- либо 2 конфеты сейчас либо 4 конфеты потом. И так несколько итераций.
Я думаю, не надо объяснять, что в жизни стали успешны те, кто выбрал отложенную гратификацию- т.е. несколько конфет, но потом.
Веб- это конфета сейчас.
С++ это несколько конфет потом.
Ибо полноценный вкат в С++ это около 700к при вжобывании потом.
веб не настолько прибыльный,как С++ Senior а меня интересует глубокое погружение. Т.е. если мы говорим про архитектуру то web- это около 300к после 5 лет, а с++ это 450к-700к при вжобывании.
К тому же С++еров мало, а веберов дохуя.

т.е. веб не настолько годный для мозга и все таки он скучный. На крестах же можно вкатится в очень хорошие зарплаты и самое главное это мне интересно более менее.
В шараге я писал на С++ первый курс, потом я пинал хуи и я теперь всё забыл.
работал и работаю.
Аноним 21/10/18 Вск 21:57:31  1282466
>>1282454
>в жизни стали успешны те, кто выбрал отложенную гратификацию
кто не сидел на жопе ровно
>С++ это несколько конфет потом.
Нахуй нужен язык, который тянет за собой легаси говно с начала 90-х, у которого уже сейчас стандарт более 1500 страниц? Его заменят на более лаконичную версию и тебе, пирожок, придётся переучиваться (опять).
>web- это около 300к после 5 лет, а с++ это 450к-700к при вжобывании.
Пример для тупых: ты работал 5 лет за 100к, а вася за 150к в вёбе. Потом тебе подняли зарплату до 200к. И вот вроде бы ты васю выебал, ан нет. Тебе ещё придётся поработать 5 лет, чтобы ваш суммарный доход за 10 лет стал одинаковым. И более того, васян мог поиметь процент с той суммы которую ты недополучил (купил хату раньше тебя или под процент их в банк положил). Поэтому тебе, будущий синёр-архитектор с++, придётся ещё пару-тройку лет васю догонять. (итого до получения реального профита потребуется въйобывать 13 лет).
>К тому же С++еров мало, а веберов дохуя.
Ну да, чем больше рынок, тем больше требуется рабочей силы для его насыщения.
>С++ это около 700к при вжобывании потом
>В шараге я пинал хуи и я теперь всё забыл
дайте мне 700к, а вжобывать я потом буду

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

Аноним 21/10/18 Вск 22:11:26  1282474
>>1282454
>>1282466
Кстати, хорошоий пример для тестового. Загугли, что такое сложный процент и напиши программу, которая вычисляет время, за которое суммарный доход c++ и web кодеров становится одинаковым. Входные данные - процент (можешь взять ставку рефинансирования с cbr.ru), массив с тройками: salary_web, salary_c, time_stamp (в моём примере {{150,100,0}, {150,200,5}}).
Аноним 21/10/18 Вск 23:08:09  1282498
>>1281942
> А вот в плюсах статические переменные должны инициализироваться в той же области видимости где находится класс
Неправильно. Объявление статической переменной должно быть повторено вне класса для того, чтобы она хранилась только в одном месте, а не в каждом коде, включившим заголовок. В какой-то версии плюсов есть static inline - каждая единица компиляции имеет копию статической переменной.
Аноним 21/10/18 Вск 23:08:49  1282499
>>1282498
>В какой-то версии плюсов есть static inline - каждая единица компиляции имеет копию статической переменной.
При этом повторять объявление вне класса не нужно.
Аноним 21/10/18 Вск 23:56:01  1282508
>>1282498
>>1282499
Ну может нам в универе недообъяснили про inline, но то что ты написал исходит из простой логики и я не вижу противоречия написанному мною.

static переменные, хоть паблик, хоть прайват - нельзя инициализировать в методах класса и любых других функциях в области видимости, хз что тут "неправильного".
Аноним 22/10/18 Пнд 07:51:29  1282565
>>1282508
А, это да. Просто вопрос бы скорее про то, почему это делается вне класса. Инлайн-переменные можно инициализировать прямо в классе.
"Нет" это в ответ на это:
>это существует сугубо для инициализации.
Нет, не для инициализации.
Аноним 22/10/18 Пнд 08:10:20  1282567
>>1282565
Или, ещё точнее: нет, не сугубо.
Аноним 22/10/18 Пнд 17:14:02  1282755
Аноны, можно ли где-то найти более-менее подробный гайд по рекурсивным функциям, желательно с примерами и задачами для самостоятельного решения? А то везде какие-то примитивные задачи уровня найти факториал и общая информация
Аноним 22/10/18 Пнд 17:45:06  1282782
Делаю текстовую рпг и возник вопрос, как лучше всего реализовать инвентарь? Думаю, что хорошо подходит вектор, но от советов анона не отказался бы.
Аноним 22/10/18 Пнд 17:46:16  1282784
>>1282782
Бля, в этом треде такого вопроса нет, но я помню что был один в один такой-же раньше. Ты репостнул или это боты шалят?
Аноним 22/10/18 Пнд 17:53:14  1282793
>>1282784
В этом треде такой вопрос есть , репостнул.И я уже сделал с вектором, но решил спросить.
Аноним 22/10/18 Пнд 18:34:06  1282820
>>1282755
На рекурсии сортировочки делаются и всякие алгоритмы на графах/деревьях. Можешь на таких задачках попрактиковаться или поизучать готовый код.
Аноним 22/10/18 Пнд 18:52:56  1282837
>>1282782
Я не шибко разбираюсь, но если у тебя РПГ с сохранением прогресса, то можешь хранить инвентарь в отдельном файле сохранений - а вообще для этого бд используют.
Либо какой-нибудь json заюзать.
А для сессионной текстовой РПГ можно и вектор использовать, мне кажется.
Аноним 22/10/18 Пнд 18:57:02  1282843
>>1282837
Понял, спасибо.
Аноним 22/10/18 Пнд 19:40:02  1282877
>>1282755

https://www.mccme.ru/free-books/shen/shen-logic-part3-2.pdf#chapter.11
Аноним 22/10/18 Пнд 19:41:17  1282878
>>1282877
>https://www.mccme.ru/free-books/shen/shen-logic-part3-2.pdf#chapter.11
Спасибо, вроде то что искал. Я правда со статьи на хабре порешал какие-то элементарные задачи. Думаю лишним не будет
Аноним 22/10/18 Пнд 19:42:07  1282880
>>1281857
А ещё можно приватные функции вне класса определять.
Охуеть вообще?
Аноним 22/10/18 Пнд 22:17:09  1282995
Аноны, может кто подсказать: код в плюсах всегда выполняется одновременно? Мне вот дали задание отсортировать диагонали матрицы и сравнить точку их пересечения, и если она равна то делать что-то. Я так понял нужно после сортировки главной диагонали запомнить середину, и после сортировки второй опять запомнить середину и сравнить. Сделал так - значения копируют друг друга. Попробовал распихнуть сортировку обоих диагоналей в функции и сравнить между собой потом - всё равно одинаково. Что я делаю не так?
Аноним 22/10/18 Пнд 22:17:25  1282996
>>1282995
>одновременно
Последовательно конечно, протупил
Аноним 22/10/18 Пнд 22:23:21  1282999
>>1282995
Блять, ошибка оказалась в том, что я на еденицу ошибся с центром диагонали и оно брало статичный элемент. Пиздец я тупой, извините что беспокою
Аноним 22/10/18 Пнд 23:10:49  1283012
int main() {
double number;
vector<double> numbers;
while (cin>>number)
numbers.push_back(number);
for(int i=0; i<2; ++i)
cout << numbers << '\n';
}


При вводе 127 и 127.0001 выводит 127 и 127, почему и как это исправить?
Аноним 22/10/18 Пнд 23:18:12  1283016
>>1283012
Ну давай разберем по частям. маня, тобою написанное )) Складывается впечатление что ты реально контуженный , обиженный жизнью имбицил )) Могу тебе и в глаза сказать, готов приехать послушать?) Вся та хуйня тобою написанное это простое пиздабольство , рембо ты комнатный)) от того что ты много написал, жизнь твоя лучше не станет)) пиздеть не мешки ворочить, много вас таких по весне оттаяло )) Про таких как ты говорят: Мама не хотела, папа не старался) Вникай в моё послание тебе< постарайся проанализировать и сделать выводы для себя)
Аноним 22/10/18 Пнд 23:44:19  1283037
>>1283012
Поставил бы интуитивно понятный printf("%f\n",numbers[i]) и сразу бы было всё понятно, зачем тебе этот новомодный мусор? Там и всякие настройки есть, вроде +07.3f, которые через cout оче неудобно выставлять. Пропиши что-то вроде cout.precision(8) перед выводом твоих чисел.
Аноним 22/10/18 Пнд 23:58:46  1283044
>>1283037
>зачем тебе этот новомодный мусор
Да я ж откуда могу знать? У Страуструпа про printf почти и не говорится поначалу.
Аноним 23/10/18 Втр 00:27:14  1283060
>>1282196
А вот липман говорит, что члены инициализируютя в порядке их описания в теле класса
Аноним 23/10/18 Втр 00:33:32  1283063
>>1283012
Я вообще не всекаю, как у тебя срабатывает cout для объекта класса vector, оно даже скомпилироваться не должно.
Сделай numbers[i] и должно будет работать
Аноним 23/10/18 Втр 00:34:08  1283064
>>1283060
struct S
{
int a;
float b;
S(int _a, float _b) : b(_b), a(_a) {}
};
Что инициализируется раньше: a или b и почему?
Аноним 23/10/18 Втр 00:43:18  1283067
>>1283064
По лимпану, б раньше.
Он даже приводил пример, когда один член инициализируется значением другого. Порядок именно по порядку объявления в классе, а не в инициализации конструктора. Я проверял
Аноним 23/10/18 Втр 00:44:30  1283068
>>1283067
Тоесть а раньше, ну ты понял
Аноним 23/10/18 Втр 00:59:55  1283078
>>1283068
да, сначала будет выполнено a(_a), потом b(_b).
а теперь напишем вот так:
struct S
{
int a;
float b;
S(int _a, float _b)
{
b = _b;
a = _a;
}
};
в данном случае сначала b получит значение _b, а потом a получит _a. вот про такую "смену порядка инициализации" я писал выше.
Аноним 23/10/18 Втр 01:04:39  1283079
>>1283078
я тут хуйню написал. забыл, что члены до тела конструктора инициализирутся. никакой порядок не поменяется.
Аноним 23/10/18 Втр 01:06:59  1283082
>>1283079
то есть нет, поменяются. пойду спать короч.
Аноним 23/10/18 Втр 06:18:53  1283133
>>1282196
>Для записи : a(_a), b(_b) не определён порядок инициализации.
Съеби в ньюфаг-тред.
Аноним 23/10/18 Втр 06:20:16  1283135
>>1283060
>А вот липман говорит
Это стандарт говорит
Аноним 23/10/18 Втр 10:34:07  1283217
>>1282880
Не вижу с этим проблемы.
Аноним 23/10/18 Втр 12:28:14  1283276
Стоит ли помечать как final не виртуальные функции в базовом классе?
Аноним 23/10/18 Втр 12:43:34  1283283
>>1283217
А со статическими членами какая проблема тогда?
Аноним 23/10/18 Втр 14:44:00  1283344
Читаю Липамана.
Есть свой класс аля вектор строк StrVec со своим аллокатором alloc и членами: elements - указатель, возвращенный alloc.allocate(), first_free - указатель после последнего созданного элемента.

Есть процедура очистки, которая вызывается в деструкторе:

For(auto p = first_free; p! =elements)
alloc.destroy(--p);

Как переписать этот цикл на for_each и лямбда-выражение?
Аноним 23/10/18 Втр 15:25:07  1283368
>>1283133
Запись не определяет порядок инициализации. Там из контекста понятно, о чём я написал, довен.
Аноним 23/10/18 Втр 16:47:38  1283413
>>1283283
Определение вне класса опять таки не значит что все в области видимости видят эту функцию, ты бы хоть для интереса попробовал.
Аноним 23/10/18 Втр 17:18:36  1283431
Screenshot2018-[...].png (872Кб, 1029x1141)
Что за подстава в книге Фундаментальные алгоритмы C++?
Роберт Седжвик
Во введении автор обещает рассмотреть во втором томе кучу всего, а на деле там только графы.
Как так?

Пикрилейтед, особенно обидно за геометрические алгоритмы, может кто посоветовать замену?
Аноним 23/10/18 Втр 17:32:20  1283439
>>1283044
Это из С потому что.
Аноним 23/10/18 Втр 17:34:20  1283445
>>1283431
Что тебя не устраивает? Это и есть фундаментальные алгоритмы. А ты чего ожидал?
Аноним 23/10/18 Втр 17:41:09  1283449
>>1283368
Не знаю, из какого контекста что понятно, но из твоей дальнейшей переписки понятно, что ты не
> Запись не определяет порядок инициализации.
имел в виду, а просто нихуя не знаешь.

>>1283413
А что, переменную все видят?
Аноним 23/10/18 Втр 17:41:56  1283450
>>1283445
А вот в оригинале книга называется просто Algorithms.
Не устраивает только то, что автор обещает одно, а на деле другое (либо я не увидел), причем издание третье, а текст со структурой тот же
Аноним 23/10/18 Втр 18:10:30  1283474
image.png (23Кб, 1415x141)
image.png (87Кб, 1394x550)
Аноны, помогите. Пытаюсь запустить программу, выдаёт эту хуйню. Код программы в 3 файлах, загружу отделяя чем-то
cpp.sh/34d4n
Аноним 23/10/18 Втр 19:42:22  1283536
Мудрейшие, помогите затупку.
Мне нужно узнать колво символов в string и положить это число в переменную int.
В гугл уже ходил, ничего не нашел.
Пишу в codeblock компилирую gnu gcc.
Аноним 23/10/18 Втр 19:53:41  1283545
>>1283536
14.88 символов.
Аноним 23/10/18 Втр 19:57:31  1283547
image.png (27Кб, 1371x451)
>>1283536
Так пробовал?
Аноним 23/10/18 Втр 19:58:55  1283549
>>1283547
Ща он тебе напишет, что для кириллицы не работает.
Аноним 23/10/18 Втр 19:59:58  1283550
>>1283549
А оно работает? Я кириллицой ни разу не пользовался еще, говорят это дурной тон.
Аноним 23/10/18 Втр 20:01:03  1283553
>>1283550
Вообще на русском говорить/писать — дурной тон.
Аноним 23/10/18 Втр 20:01:41  1283554
>>1283553
Агри с тобой, русский феллоу
Аноним 23/10/18 Втр 20:17:14  1283563
>>1283547
Спасибо.
Менее более разобрался.
Аноним 23/10/18 Втр 20:31:22  1283567
>>1283474
Твоя IDE ебанулась, va_list в коде нет. Что с этой вонючей студией делать - думай сам.
Аноним 23/10/18 Втр 20:35:11  1283568
>>1283567
Да там вообще библиотек разных подключило неявно дохуища. Создал новый проект, выдаёт ту же хуйню. Аноны, кому не лень, можете проверить у себя код?
Аноним 23/10/18 Втр 20:42:44  1283571
>>1283568
Прошлые проекты у меня работают, создал новый - тоже. Тут где-то в коде ошибка видимо, но я не пойму где, и почему оно подключает какие-то левые библиотеки и говорит что они не определены?
Аноним 23/10/18 Втр 20:47:57  1283576
>>1283568
>>1283571
А бля, падажжи. Инклуд - это инклуд, реально берётся и вставляется текст. Ты инклудишь iostream после своих заголовков. Инклудь до.
Аноним 23/10/18 Втр 20:50:15  1283580
>>1283576
Во, заработало. А почему так происходит то?
Аноним 23/10/18 Втр 21:20:46  1283594
>>1283580
На самом деле я надеялся на то, что ошибку в твоём коде покажет. Анализаторы кода чудеса творить не могут, и в общем случае ошибка в коде вызывает ошибки во всём оставшемся, так что сначала надо инклудить проверенный код.

Но если ошибки в коде, оказывается, не было, то варианта два:
- 5%: ты случайно определил какой-то макро или идентификатор, которые используется в одном из 100500 заголовочных файлов
- 95%: это блядская студия виновата, говнокод на говнокоде
Аноним 23/10/18 Втр 21:22:02  1283595
image.png (40Кб, 225x225)
>>1283594
Буду включать файлы до заголовочных.
Аноним 23/10/18 Втр 23:05:00  1283628
Немного совета тем, кто начинает свои кресто- блядские похождения. А у меня это уже 6ой год.
НАХУЙ кресты. Если вы - не совсем законченный нерд, то НАХУЙ. В постсовке - тем более нахуй. Работаю с геймдеве и у меня уже очко просто полыхает. Сука, каждый день - АНАЛитическая геометрия, вставки под АСМ, ебля с памятью, вечно что-то крашится, что-то наёбывается, триллион эсепшнов, вечная проблема с архитектурой потому что забыл мельчайшую хуйню - всё, пизданулось нахуй, а ЗП - хуйня при том, что я - СИНЬОР
Блядь, за что мне это. Мало того, что мне пришлось перед тем, как стать джуном ебануть 3 игоры, задрочить OpenGL и запилить их на гит, так еще и не брали нигде, но это похуй а на всё это я въебал полтора года жизни. Какого, мать его, хуя, у меня френд - ПАЙТОНИСТ пинает хуй в дейта сайнс и получает больше ?
Просто пидорская хуйня, у меня проф. выгорание, на этом всё. Сука, знал бы всё это, пошел бы в веб- дев.
У меня всё, очко порвано.
как пережить эту стадию проф. выгорания ?
Аноним 23/10/18 Втр 23:56:38  1283639
>>1283628
Просто не надо в гейдев идти. Я со смежной отрасли ходил на собесы в ваши конторы. Нигде большего дна я не видел. Зп мне 130к предлагали, но опять же в серую с "испытательным сроком" пол года, "трудовой договор" - сплошные обязанности и никаких прав плюс штрафы. Офис задроченный, погонщики вкрай охуевшие (особенно hr выбесили).
Кстати геометрия хуйня у вас там, ну по сравнению со всякими приблудами для машиностроения, робототехники и проч. Зато пердолилово с железом и памятью да - на уровне.
То что нахуй в Раисе кресты не нужны это верно. Раз уж выбрал кресты - то сразу готовь трактор.
Аноним 23/10/18 Втр 23:59:54  1283641
>>1283628
>как пережить эту стадию проф. выгорания ?
Возьми перерыв в полгода и за это время выучи новый язык/стек. Затем вкатывайся в новую сферу. Бывших крестовиков охотно берут на Go/Golang, например.
Аноним 24/10/18 Срд 03:04:08  1283666
>>1283576
>Ты инклудишь iostream после своих заголовков. Инклудь до.
>>1283595
>Буду включать файлы до заголовочных.
Вообще заголовочные файлы должны быть самодостаточными. Если у тебя компиляция зависит от порядка заголовков, то ты лох.
Аноним 24/10/18 Срд 08:46:05  1283697
>>1283666
Ну в этом проэкте такая проблема впервые возникла, раньше делал как попало и работало всё
Аноним 24/10/18 Срд 09:13:23  1283699
>>1283697
Если ты добавишь имена файлов в код, который ты запостил, я скажу точнее, в чём проблема.
Аноним 24/10/18 Срд 15:10:22  1283838
>>1283699
Стандартные Source.cpp Source1.cpp Header.h
Аноним 24/10/18 Срд 16:56:03  1283873
>>1283628
Перекатывайся потихоньку на другой ЯП, можешь сразу делать что-то посложнее хелловерлда т.к опыт в программировании есть.

После ебли с байтами все остальное будет казаться тебе легкой хуйней и в некотором смысле так и есть.
Аноним 24/10/18 Срд 18:47:34  1283912
>>1283873
Ну, у меня сейчас выбор - голанг и ведроидоприложухи или же пайтон и биг дейта. Вот не знаю, что выбрать. Математическая база у меня хорошая, вроде как.
Что подскажете, анонче ? Вчера, после очередной утечки памяти, с которой я ебался целый день, бомбанул прост (причем в родительском классе все было выкручено, что даже ПТРами не отделался).
Аноним 24/10/18 Срд 19:40:21  1283929
>>1283912
Иди на ведро - там за графениум хорошо платят. И да, ещё раз напомню - хуйня у вас там в геймдеве, а не математика. Векторные произведения и матрицы твои с кватернионами это максимум на 2 курс провинциального вузика тянет.
Аноним 24/10/18 Срд 19:48:39  1283934
Какая зп у плюсовика? Долго ли ещё будут жить плюсы? Хочу выучить плюсы, чтобы больше ничего не учить и работать плюсовиком всю жизнь.
Аноним 24/10/18 Срд 19:57:25  1283937
>>1283934
Тебе к нему -> >>1283628
Аноним 24/10/18 Срд 19:58:58  1283938
>>1283937
Я думаю, что у него просто был плохой день.
Аноним 24/10/18 Срд 20:58:32  1283973
>>1283838
Найди уже онлайн-компайлер с возможностью добавить несколько файлов и дай ссылку.
Аноним 25/10/18 Чтв 00:07:32  1284033
Кто-нибудь проходил курсы по с++ от яндекса (Основы разработки на C++: белый пояс) на площадке coursera? Стоит ли начать изучение с++ с этих курсов?
Аноним 25/10/18 Чтв 02:46:08  1284069
>>1284033
С учётом того, что надо начать хоть с чего-нибудь - да, стоит.
Аноним 25/10/18 Чтв 10:23:18  1284151
Киньте хороший пример обратной польской записи!!!
Аноним 25/10/18 Чтв 10:56:47  1284161
>>1284151
!!! ))0)))00))0)

http://algolist.manual.ru/syntax/revpn.php
Аноним 25/10/18 Чтв 15:24:33  1284287
В каких случаях вы переопределяете оператор "/". Я, например, столкнулся с таким его использованием.
Имеется класс Path, который определяет путь к каталогу, и мы хотим добавить к этому пути поддиректорию

Path p("a/b/c");
p = p / "d";

В итоге получаем путь "a/b/c/d"

У меня истерика. Зачем, двач? Почему не append("d") или add("d")? Зачем эти выебоны? Это что, сложность ради сложности?...
Аноним 25/10/18 Чтв 16:38:37  1284322
>>1284287
Ты порвался ради того, чтобы порваться?
Аноним 25/10/18 Чтв 16:49:52  1284328
sh.jpg (34Кб, 476x524)
>>1284322
Аноним 25/10/18 Чтв 16:50:10  1284329
>>1284287
Чтоб все охуели как мы можем.
Аноним 25/10/18 Чтв 16:52:56  1284332
>>1284329
Все фичи плюсов, на самом деле, делаются ради этого. Концепты, рефлексия, метаклассы, констэеспр, фолдинг выражения? Кому они нужны? Зато мы можем всем показать, как можно у нас классно сделать.
Аноним 25/10/18 Чтв 17:04:24  1284341
.png (139Кб, 394x360)
Может уже перекатите, а, блять?
Аноним 25/10/18 Чтв 17:14:36  1284348
>>1284287
https://www.linux.org.ru/forum/development/22475

ай лолд, читай.
Аноним 25/10/18 Чтв 18:05:04  1284376
>>1284287
Потому что написать /d легче чем писать append("d"). Экономит время.
Аноним 25/10/18 Чтв 19:34:03  1284439
>>1284287
Понимаешь, плюсы само по себе - это сложный язык с кучей неписанных правил.
http://libtins.github.io/ - вот, смотри, они тоже слэш перегружают.
Лично мне лишние скобки не нужны, я бы лучше оператор перегрузил. Если я в коде увижу path / file я сразу пойму, что это значит, это понятно интуитивно.
>>1284329
чо вы там можете блядь где перегрузка амперсанда сука
Аноним 25/10/18 Чтв 20:37:38  1284482
>>1263368 (OP)
Сап /cpp.
Я решил написать после вузовского перерыва свою первую задачку.
1. Начнем с того, что Я САМОСТОЯТЕЛЬНО НАСТРОИЛ ЭТОТ ЕБУЧИЙ QT, ЧТО УЖЕ ВИН!!!
2. Я написал программу, это оказалось немного легче.
Но есть проблема:
1. Как вставлять код, чтобы выглядело годно.У джаваскриптеров есть сайти для этого. Есть ли сайты у нас.
2. Программа.Дано: Есть биткоин-бот. который хуярит процент от суммы за месяц. Есть зарплата анана, и есть процент, под который бот хуярит в месяц. Есть количество месяцев.
Т.е. анан хочет денег и дает в первый месяц 200к. Бот делает под 4% Зарплата анана на 40к. Расчитать прибыль бота за год, при условии, что анан будет вносить туда каждый раз 40к.
1. Я написал код.
2. Он скомпилировался без ошибок.
Но, после того, как я ввожу input_bot_percent мне программа одновременно выдает введите current_amount и month_iteration и после этого закрывается.
Вопрос 1. ХУЛИ ЭТО ГОВНО НЕ ДАЕТ ВВЕСТИ МНЕ начальное количество денег.ЧЯДНТ?
Вопрос 2. Как сделать так, чтобы оно не закрывалось при окончании.
Не кидайтесь тапками,плиз. Это моя первая программа.
код
++++
#include<iostream>
using namespace std;
int main()
{
long double money_input, percent, current_amount;
int month_iteration = 0 ;
cout<<"Input your salary!";
cin>>money_input;
cout<<"input_bot_percent";
cin>>percent;
cout<<"input start_current_amount";
cin>>current_amount;
cout<<"month_iteration";
cin>>month_iteration;

while (month_iteration>0)
{
cout<<"month left";
cout<<month_iteration;
cout<<"current_amount is";
current_amount= current_amount+(current_amount*percent);
month_iteration--;
}
Аноним 25/10/18 Чтв 20:42:36  1284487
Screenshot2.png (35Кб, 669x385)
>>1284482
Прости меня двач. Я все исправил.
Ну господа, можете меня поздравить.
Если бы я не был таким ленивым мудаком, был бы сениором.
Аноним 25/10/18 Чтв 20:47:24  1284489
>>1284482
А не нихуя>>1284487
Я пофиксил. Была неправильная мат. формула.
Аноним 25/10/18 Чтв 20:55:12  1284495
>>1283639
>>1284482
>>1284487
>>1284489
>>1282466
Я этот кун.
Хотел бы узнать у вас некоторые вещи.
1) область, где вы кодите(геймдев,базы данных, машиностроение)
2) сколько шли до джуна
3) стаж в профессии.
4) З/П
Аноним 25/10/18 Чтв 21:30:01  1284517
>>1284482
>>1284482
все, уже нашел, куда можно вставлять код
Аноним 25/10/18 Чтв 23:28:54  1284581
кто может скинуть электронную версию книги Скотт Мейерс Эффективный и современный С++17
Аноним 26/10/18 Птн 00:04:31  1284592
Есть бинарник, хранящий standart layout структуры. Как осуществить удаление данных в нем?
Скажем, хранится два объекта структуры, нужно один из них удалить => файл должен стать вдвое меньше по размеру.

Интерфейс fstream, вроде, этого делать не позволяет.
Аноним 26/10/18 Птн 00:35:44  1284607
>>1269012
>for (int i = 0; i < 5; i++) {
cout << a + rand()% (b - a + 1) << '\t';
}
Аноним 26/10/18 Птн 00:57:20  1284615
Посоветуйте свежий контент по плюсам. Заебался читать Страуструпов и прочую неактуальную хуйню из нулевых. Спасибо.
Аноним 26/10/18 Птн 01:04:22  1284618
Аноны, есть вопрос по поводу компиляторов и проблемы с функцией Аккермана. В ВС17 после компиляции выводит дохуя значений и кнсоль дропается. На OnlineGDB после вывода значений пишет ошибку - ''core dumped''. А вот на С++ Shel у меня нахуй повис комп и всё пизданулось, пришлось перезагружать комп. Почему так происходит ? Почему в ВС17 и GDB всё нормально, а на Shel'ле нет ?
За переполнение стека знаю
Аноним 26/10/18 Птн 01:50:52  1284629
За год ежедневных часовых занятий можно накачаться хотя бы до джуна если я питонист-любитель?
Аноним 26/10/18 Птн 02:48:15  1284637
>>1284495
1. гейдев.
2. Полтора года.
3. 6 лет.
4. ~4к баксов.
Аноним 26/10/18 Птн 03:03:32  1284640
>>1284629
>часовых занятий
нет
8ч ебашь
Аноним 26/10/18 Птн 06:00:41  1284662
>>1284592
прочитать
удалить
перезаписать
????
PROFIT
Аноним 26/10/18 Птн 12:23:42  1284774
>>1284637
>4. ~4к баксов.
до налогов? это где-то в асашай?
Аноним 26/10/18 Птн 13:16:04  1284795
>>1284774
Лул, не асашай. Это Минск.
Аноним 26/10/18 Птн 14:15:27  1284821
>>1284774
У меня есть знакомый который в Киеве так зарабатывает, тимлид в компании какой-то.
Аноним 26/10/18 Птн 17:36:04  1284917
>>1284341
>Может уже перекатите, а, блять?
А сам что не перекатишь?
Аноним 26/10/18 Птн 21:18:12  1285010
Тред контроля версий тонет где-то очень глубоко, поэтому спрошу у крестовых бояр как мне быть, вы уж точно знаете не к веб-макакам же идти за советом. Хочу следить за изменениями и вести контроль версий своих хеллоувордов. Как это все организовать не выходя за пределы моего пк? Чтобы код лежал не на гитхабе, а допустим у меня на харде. А то я уже заебался, что-то поменяю и все перестает работать, а я даже не помню где код правил.
Аноним 26/10/18 Птн 21:20:33  1285011
>>1285010
В нужной папке делаешь git init. Всё, у тебя есть локальный репозиторий.
Аноним 26/10/18 Птн 21:35:59  1285013
>>1263368 (OP)
Как сделать так, чтобы программа считывала переносы на новую строку?
Аноним 26/10/18 Птн 23:02:16  1285063
>>1285010
Для удобства поставь себе графический клиент для git. Я юзаю черепашку TortoiseGit. После установки у тебя в меню по нажатию правой кнопки мыши появится gitclone и create repository here. Дальше всё очевидно.
Аноним 27/10/18 Суб 13:35:55  1285254
>>1285013
c = cin.get();
Аноним 27/10/18 Суб 14:40:10  1285299
>>1285013
https://en.cppreference.com/w/cpp/io/basic_istream/get
Считает даже аллаха.
Аноним 27/10/18 Суб 20:09:59  1285511
Поясните за константность здесь.Есть ли смысл и правильно ли я понимаю? Константная функция возвращает ссылку на константу?

const std::string& getName() const {
return name ;
}
Аноним 27/10/18 Суб 20:11:36  1285513
>>1285511
Сори, скопировал неудачно.
const string& getName()const(
return name;
}
Аноним 27/10/18 Суб 20:50:02  1285534
>>1285511
Константный метод возвращает константную ссылку.
Аноним 27/10/18 Суб 21:33:57  1285573
>>1285534
Спасибо.А есть ли в этом смысл? Экономия памяти и защита от изменения?
Аноним 28/10/18 Вск 02:07:50  1285740
>>1285573
В данном случае польза const не так очевидна. Почитай мейерса, там есть пример, в котором он показывает, почему const следует использовать где только можно. Это позволяет избежать неявных шибок во многих случаях
Аноним 28/10/18 Вск 03:27:54  1285749
>>1285740
>В данном случае польза const не так очевидна.
Вполне очевидна. Убери первый const и перестанет компилироваться.
Аноним 28/10/18 Вск 10:08:33  1285786
>>1285534
>Константный метод возвращает константную ссылку.
Неправильно. Не константную ссылку, а ссылку на константу.
>>1285573
Если это метод, const - это квалифаер. То есть, этот метод может вызываться только для const-объектов, и вернуть свой член по ссылке на неконстанту нельзя.
Аноним 28/10/18 Вск 10:14:18  1285788
>>1285573
Ты можешь ссылаться на переменную по двум причинам:
- тебе нужно, чтобы вне функции в неё что-то писали
- избежать копирования
Ставя или не ставя const ты говоришь именно это.
Аноним 28/10/18 Вск 11:00:55  1285797
image.png (83Кб, 1796x655)
Аноны, подскажите почему не работает обратный итератор. Вывод должен быть в обратном порядке.
Аноним 28/10/18 Вск 11:01:37  1285798
>>1285797
Блять стоп, извинияюсь. У меня просто обратный порядок и прямой очень похожи. Pizdets ya tupoi
Аноним 28/10/18 Вск 13:12:53  1285828
Посоветуйте книжку по MFC/WinAPI. Надо сделать утилитку на
dialog-based MFC, сам язык я, в принципе, знаю, а вот структура приложения какая-то непонятная
Аноним 28/10/18 Вск 15:01:07  1285873
>>1285786
Блять, метод возвращает "const string&", даже если поле не константное будет просто возвращена константная ссылка - https://pastebin.com/Zr8jCZsZ

Что за тип такой, ссылка на константу?
Аноним 28/10/18 Вск 15:06:57  1285879
А где C# тред, не могу найти.
Аноним 28/10/18 Вск 15:12:02  1285884
>>1285879
Его проебали или потерли, уже с неделю как, кстати.

Спрашивай, может я помогу, но я сам в шарпе ньюфак.
Аноним 28/10/18 Вск 15:13:25  1285885
>>1285884
Да я в общем искал шапку треда для вката.
Аноним 28/10/18 Вск 16:23:53  1285921
>>1285828
>MFC
не стоит вскрывать эту тему
Аноним 28/10/18 Вск 16:49:40  1285932
Аноны, есть ли книги конкретно по STL? А то Прата описывает теорию, но постоянно добавляет что ее слишком дохуя, и рассматривает основные концепции. Есть книжка именно с идеологией STL ну и задачками тоже или это всё на практике нужно понимать?
Аноним 28/10/18 Вск 16:50:29  1285933
>>1285873
Уазатели именуются так (именование формируется при разборе с конца):
1. const (int p) - указатель на константу (нельзя p = 1;)
2. (int p) const - константный указатель (нельзя p = nullptr;)
3. const (int p)
const - константный указатель на константу (нельзя 1 и 2)

Ссылки именуются аналогично. Разница лишь в том, что ссылка и так константная, поэтому писать 2 и 3 бессмысленно, хотя компилятор такой записи не воспрепятствует.
1. const (int r) & - ссылка на константу (нельзя r = 1).
2. (int r) & const - константная ссылка (то же что и (int r) &)
3. const (int r) & const - константная ссылка на константу (тоже что и п. 1)

Ну а ты обосрался с именованием и теперь копротивляешься.
Аноним 28/10/18 Вск 16:51:07  1285934
image.png (23Кб, 941x218)
>>1285932
В шапку заглянуть, не?
Аноним 28/10/18 Вск 16:52:32  1285935
>>1285934
Бля, протупил что-то. Думал там только по основному языку. Спасибо
Аноним 28/10/18 Вск 16:56:51  1285938
>>1285934
Можно еще вопрос? Лучше прочитать раздел с бест практисами сначала или то что ты скинул? Не знаю как лучше сделать.
Аноним 28/10/18 Вск 17:29:56  1285963
>>1285740
>>1285786
>>1285788
Понял, спасибо.
Аноним 28/10/18 Вск 19:56:44  1286052
image.png (68Кб, 1425x649)
Может кто обьяснить, почему такой код не работает? cpp.sh/4capy
Аноним 28/10/18 Вск 20:13:36  1286062
>>1286052
' ,
Аноним 28/10/18 Вск 20:17:05  1286064
>>1286062
В задании написано что должно превратить слово в подобие madamiamadam а потом выполнять проверку. Я два цикл написал нашёл на стаковерфлоу, которые выполняют проверку на знаки пробела и пунктуации. По идее должно сначала превратить слово в набор букв, а потом сравнивать
Аноним 28/10/18 Вск 20:32:49  1286079
>>1286064
Так-то tolower не перезаписывает аргумент значением, а возвращает его. И потому в for_each не годится, хуяч std::transform()
Аноним 28/10/18 Вск 20:37:06  1286085
>>1286079
Во ебать, работает. Спасибо. На >>1285938
не ответишь? STL пиздец прикольно выглядит, хотел бы изучить. Но там книга еще на 1.2к страниц, это займет месяца полтора хотя учитывая сессию даже больше. Стоит пройти сначала бест практисы? Или там тоже STL?
Аноним 28/10/18 Вск 20:57:37  1286102
image.png (22Кб, 565x312)
>>1286052
Почему просто на месте за O(n / 2) не проверить?
Аноним 28/10/18 Вск 21:11:54  1286109
>>1286102
> O(n / 2)
facepalm
Аноним 28/10/18 Вск 21:18:39  1286113
>>1285063
>>1285011
Спасибо!
Аноним 28/10/18 Вск 22:07:54  1286134
В программе под винду должно быть несколько простых кнопок/ползунков/полей ввода и изображение, которое попиксельно генерируется в зависимости от ползунков.
Для этого есть какая-то не слишком громоздкая библиотека или будет проще потратить час-два и вручную через gdi+ сделать изображение и эмулировать кнопки/ползунки? Никаких особых возможностей или удачности архитектуры не требуется, просто сделать как-нибудь и забыть.
Аноним 28/10/18 Вск 23:44:44  1286179
>>1286134
>В программе под винду должно
Кому?
Аноним 29/10/18 Пнд 12:53:22  1286352
>>1286134
https://github.com/fffaraz/awesome-cpp#gui
FLTK, например.
Аноним 31/10/18 Срд 17:13:19  1287604
Аноны, а на плюсах можно под андроид писать? Или это определенные языки только? Хочу себе цель поставить сапёра написать под свою слабую мобилку если нельзя то под пеку напишу
Аноним 31/10/18 Срд 17:52:03  1287626
>>1287604
Android NDK
Аноним 31/10/18 Срд 20:18:31  1287748
image.png (36Кб, 1462x635)
Аноны помогите. Почему-то затупил на какой-то очень простой задаче. Программа должна считывать строку и выводить кол-во символов до знака $. Выводит какие-то случайные значения. При небольших строках всегда один
Аноним 31/10/18 Срд 20:36:22  1287780
image.png (9Кб, 397x220)
>>1287748
В программе чуть-чуть разобрался, но всё же обьясните что не так в предыдущей версии. Ведь по идее cin.get должен по очереди изымать из потока по одному символу пока не дойдет до $. Или ошибка в том что cin.get(void) возвращает интовое значение?
И еще вопрос: как работает этот код? Я ввожу строку и он так же по очереди изымает по символу пока не триггернется? cin.peek() использовал потому-что в задании сказали чтобы триггер-символ не учитывался.
Аноним 31/10/18 Срд 21:07:42  1287805
>>1287780
>что не так в предыдущей версии
char* k = new char;
cin >> k;
Аноним 31/10/18 Срд 21:41:59  1287827
>>1287805
А как правильно будет тогда?
Аноним 31/10/18 Срд 21:47:11  1287830
>>1287827
Ошибка не в самой переменной, а в том что оно пытается считать не с входного потока а с переменной? Точнее считывает с переменной, а не с потока
Аноним 31/10/18 Срд 22:48:30  1287857
>>1287830
Што?

Переменная k имеет тип char
Оператор >> видит справа char
поэтому читает строку (до пробела) и пытается записать в k. При этом портит память, так как места там только на один элемент.
А цикл считает оставшиеся символы (тот самый пробел) и выводит 1.

Мне вообще интересно, что хотел сказать автор, когда писал эти строки.
Аноним 31/10/18 Срд 22:49:12  1287858
>>1287857
char -> char*
Аноним 31/10/18 Срд 22:51:44  1287859
>>1287857
Всё, спасибо. Строку эту я потом убрал. Просто не вышло с первого раза и начал пробовать всё подряд.
Аноним 02/11/18 Птн 11:26:44  1288689
image.png (32Кб, 720x641)
Прошу помощи. Хотел разобраться с тем как работает next_pemutation и завис. Нашёл хорошую статью на стаковерфлоу, там всё достаточно чётко обьяснили. Но я всё равно не пойму. Как функция меняет значения с 1243 до 1324 за один переход цикла? Я так понимаю мы берем число и проверяем, что если все числа справа от него в убывающем порядке то больше возможных комбинаций справа нет. Но как блять оно перешло с 1243 до 1324, там ведь только свап нужен. И как работает while (!(i < --k)), оно должно выбирать наибольший элемент или как? И почему j меняет значение только иногда, оно ведь по идее должно с каждой итерацией меняться, разве нет? Статью с оверфлоу и скрин вывода вывод значений я для удобства добавил прикладываю. https://stackoverflow.com/questions/11483060/stdnext-permutation-implementation-explanation
Аноним 02/11/18 Птн 15:57:01  1288810
image.png (23Кб, 647x383)
Может кто помочь? Почему компилятор выдаёт какие-то ошибки при использовании варайбл шаблонов? Сталкивался кто? Использую студию 2012 экспресс. На онлайн компиляторах всё работает
Аноним 02/11/18 Птн 15:57:47  1288811
image.png (8Кб, 1279x102)
>>1288810
Ошибки отклеялись
Аноним 02/11/18 Птн 17:58:25  1288872
>>1288810
C++11 включён? Почему именно 2012?
Аноним 02/11/18 Птн 21:15:19  1289002
>>1288872
Хуй знает, когда начинал кодить она первая попалась. Там все методы с С++11 работают, только #include <initializer_list> не хочет делать, но он в этой версии вроде не включён. А тут баг какой-то. Скачал себе студию 17 года от вуза бесплатно раздавали, если что буду переключаться.
Аноним 03/11/18 Суб 16:10:54  1289294
>>1289002
https://msdn.microsoft.com/en-gb/library/hh567368.aspx
>Variadic templates
>Visual Studio 2012
>No
Нормальный C++11 только в 15 версии завезли, нормальный C++14 только в 17
Аноним 03/11/18 Суб 16:48:53  1289302
>>1289294
> Visual Studio
Зачем вообще студией пользоваться?
То поддержка стандарта годами добавляется.
То автодополнение отлавливается.

Такое чувство что поддержка C# там сделана гораздо лучше кто бы мог подумать
Аноним 03/11/18 Суб 18:04:06  1289336
>>1289294
нормальный c++17 ещё не завезли?
Аноним 03/11/18 Суб 18:11:43  1289338
>>1289336
Они раз пять обновляли компилятор. В последней версии (15.8) вроде полная совместимость уже.
https://en.cppreference.com/w/cpp/compiler_support
Аноним 09/11/18 Птн 20:06:33  1292507
Работает ли медленнее вектор, чем обычный массив?
Аноним 10/11/18 Суб 00:29:45  1292605
>>1292507
Что значит работает? Какие операции ты собрался над ним выполнять?
Аноним 10/11/18 Суб 00:32:39  1292608
>>1292507
Ну а в целом вот, https://stackoverflow.com/questions/381621/using-arrays-or-stdvectors-in-c-whats-the-performance-gap
Ответ на твой вопрос:
>Using a pointer to a malloc-ed/new-ed array will be at best as fast as the std::vector version, and a lot less safe
Аноним 11/11/18 Вск 03:53:16  1293364
Пытаюсь прикрутить glew к программе. Шестой час не могу собрать.
У меня mingw-64 + cmake. Готовые билды с glew.sourceforge.net не работают (так как заточены под msvc или ещё что-то такое).
Собрал через mingw сам, получил файлы libglew32.a и glew32.dll - программа теперь компилируется, но glewInit() возвращает GLEW_ERROR_NO_GL_VERSION, и функции старше gl 1.1 не работают, соответственно. Никакое сочетание флага GLEW_STATIC, glew32.lib/glew32s.lib и двух разных *.dll не взлетает.
Единственное что заработало, это если явно добавить исходник glew.c к коду проекта, но мне не очень бы хотелось оставлять программу в таком виде.

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

Что, что мне прочитать, что мне сделать, чтобы разобраться наконец в .o/.lib/.a файлах, статических и не статических линковках, cmake/make и других непосредственно с языком не связанных вещах?
Аноним 11/11/18 Вск 19:10:54  1293705
Сап всем. Опять выхожу на связь. Столкнулся с проблемой которую не могу решить уже несколько дней. Есть single linked list в котором я никак не могу реализовать функцию считывания с файла. Ещё имеется дохуя не почищенной памяти по результатам valgrind, но это не главное. В общем кидаю код на пастебине, функция readFrom не делает то чего я хочу, постоянно выдаёт единицу ебаную. Читал всевозможные инструкции и гайды в интернете, последняя надежда на вас прежде чем пойду лобызить перед преподом.
https://pastebin.com/dVsNkNu2
Аноним 11/11/18 Вск 20:30:52  1293745
image.png (83Кб, 1119x653)
>>1293705
>single linked list
Понятия не имею что это, но считывание работает. Только что лишний ноль закрался, но если закомментировать create(0), то нуля не возникает. Может быть он и нужен зачем-то, без понятия.
Аноним 11/11/18 Вск 20:34:09  1293748
>>1293705
В общем, смотри содержание своего файла. Ты считываешь через getline по строкам, соответственно у тебя должно быть одно число в строке. Если в файле они через пробелы или ещё как, то нужно заменить getline и корректно это обрабатывать, вызывая atoi на каждое число, а не строку.
Аноним 11/11/18 Вск 20:55:41  1293759
>>1293748
Они у меня также как в фото выше, вводил через Enter числа от 11 до 25

Но не выводит никаких чисел кроме 1. Может это из-за того что я убунту вчера поставил?
Аноним 11/11/18 Вск 21:18:13  1293781
>>1293759
Разбей задачу на этапы, проведи исследование же.
1. Просто открой и закрой файл, посмотри нет ли ошибок, видит ли оно вообще твои файлы. Если не работает, попробуй через fopen или собственные убунтовые функции, если они есть.
2. Попробуй посимвольно без всяких atoi вывести файл. Потом построчно твои line, правильно ли работает getline (в люниксах вроде бы иначе переносы строк выполнены, если файл сделан на винде).
3. Попробуй вызови atoi для жестко заданных строк. Если не работает, считывай посимвольно и сам преобразуй символы в числа, например.
Дел на 3-10 минут, и ты достоверно выяснишь на каком этапе и в какой функции проблема, где бы она не возникала. А то чёрт его знает, зачем пальцем в небо тыкать.


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