М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 17 ноября 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

14 Кб, 518x417
C++ №76 /cpp/ 13 сен, 00:02 1263368 В конец треда | Веб

Вместо шапки: https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы: http://eel.is/c++draft/
http://eel.is/c++draft/, пропущенный через кишечник макак: https://en.cppreference.com/w/cpp

Ответы633846366263704640456443165013665956808670374708087177874894778177840679258824218448285013

13 сен, 00:07 2 1263371

Зачем нужны виртуальные методы?

Ответы6337263383

13 сен, 00:08 3 1263372

>>1263371
http://eel.is/c++draft/class.virtual#1.note-1

13 сен, 00:50 4 1263383

>>1263371
Если знаешь си, то есть упрощённое объяснение: виртуальные методы для класса хранятся в специальной структуре с указателями на функции (vtable), которая одна на класс. То есть функция вызывается не напрямую, а косвенно. Это позволяет делать такую штуку, как полиморфизм.

Ответы74953

sage 13 сен, 01:10 5 1263384

>>1263368 (OP)
Нет петуха на оппике. Не канон.

Ответы68254

13 сен, 16:36 6 1263648

есть вектор интов. нужно создать вектор даблов сконвертировав инты в даблы.

Как в одну строчку всё это сконвертить?

Ответы6365364228

13 сен, 16:46 7 1263653

>>1263648
https://play.rust-lang.org/?gist=16304ccfc33ad2fef0df703b9be30e30&version=stable&mode=debug&edition=2015

Ответы64211

13 сен, 17:07 8 1263662

>>1263368 (OP)
> http://eel.is/c++draft/

Держите не драфт, лол
https://yadi.sk/i/9fnuzs3JjbDiDw

Ответы63737

13 сен, 18:42 9 1263704

>>1263368 (OP)
Привет аноны. На связи кун 19 лет. Учу c# из-за unity и для запасного плана, если придется вкатываться во что-то серьезное учу c++. Первое время охреневал от синтаксиса c++ и как он разница с с#, но со временем свыкся ибо похожи, как по мне.

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

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

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

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

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

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

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

Заранее спасибо.

Ответы63725

13 сен, 19:32 10 1263725

>>1263704
> Стоит ли выкатываться из уютного c# в жестокий с++
Надо делать то, что тебе нравится. И шарп и кресты востребованы на рынке.

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

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

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

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

Ответы6374263744642227151972933

56 Кб, 605x212
13 сен, 19:57 11 1263737

>>1263662

13 сен, 20:07 12 1263742

>>1263725
>C++ точно ждет светлое будущее
Если из него всё легаси говно вычистят и сократят язык до смысла, то может и ждёт. Ну а пока c++ лишь теряет свои ниши.

229 Кб, 655x442
13 сен, 20:10 13 1263744

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

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

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

Суть в том что 1С заебал и хочу перекатиться в С++. Вариантов устроиться стажером без вышки, видимо, еще меньше

Ответы637476375571519

13 сен, 20:25 14 1263747

>>1263744
Единственное зачем мне пригодилась вышка — отдельный порядок съеба из рашки.

13 сен, 20:54 15 1263755

>>1263744
У меня нигде вышку не спрашивали, кроме командировки в Швецию. Т.е. мне пригодилась - большей части людей точно не пригодится.

Если сомневаешься - найди дистанционное обучение в любом гос-вузе (я закончил такую хуйню в СибГУТИ), и просто плати профессиональным делателям заданий и потом купи любой диплом.

Ответы6377371562

13 сен, 21:42 16 1263773

>>1263755
думал об этом раньше. Но потом понял что в 1С я и так устроюсь благодаря опыту.
А если пойду в С++ это будет такой даунгрейд по ЗП что не до этого будет

Ответы63784

13 сен, 21:55 17 1263784

>>1263773
Ты понимаешь что в среде программистов ты дно пишушее на хуево переведенном на русский вижуал бейсике?

Ответы6379163967

13 сен, 22:02 18 1263791

>>1263784
У нас в городе 1Сники максимум 60к получают. Ну, кроме начальства.

Хотя вкатывальщик в cpp больше 30к не получит тоже

14 сен, 08:36 19 1263961

Могу скинуть вам сюда вроде неплохую методичку по C++ из моего вузика для начинающих. Стоит её пиздить и заливать?

Ответы6403764112

14 сен, 08:54 20 1263967

>>1263784
Именно из-за этого и хочу съебать. Ну и по зп уже потолок близко, хоть и ДС.
Собственно, я это знал еще до того как увидел 1с,так как изучал с++ ещё со школы. Но надо было куда то устраиваться работать, стажёром с++ тогда не нашел вакансию. Может плохо и мало искал. Думал, посижу пол годика поизучаю с++. Но было слишком много нового по работе, стало не до этого. Так прошло 7 лет.
Думаю, если написать в резюме "работал в 1с 7 лет" так же и скажут как ты написал

Ответы6396964033

14 сен, 09:03 21 1263969

>>1263967
А почему кресты? Ты вряд ли любишь облизывать каждый байт, чем тебе JS не вкатывает?

Ответы63971

14 сен, 09:07 22 1263971

>>1263969
Грворю же, изучал с++ еще со школы. Хотя я тогда больше в opengl ударился, с++ толком и не изучал.
Не хочу в веб

Ответы63972

14 сен, 09:12 23 1263972

>>1263971
Лол, я на работе пишу узкие части веб приложения. Велком ту зы клаб, пэл

Ответы63978

14 сен, 09:44 24 1263978

>>1263972
На пюсах то? Можешь показать рабочий код.
Вообще меня очень интересует как происходит разработка такая реальная на плюсах. Как объединяется код разных разработчиков и тд.
На плюсах видел только или свой код иди движки quake doom3.

Ответы63986

14 сен, 10:01 25 1263986

>>1263978
Ну как, мне нельзя :З

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

Можно вызывать написанную на крестах библиотеку из node.js

Ответы64099

14 сен, 11:41 26 1264033

>>1263967
Братишка, учили или уже сразу раст, или хаскель.

14 сен, 11:45 27 1264037

>>1263961
Давай

Ответы64112

14 сен, 11:58 28 1264045

>>1263368 (OP)
Возникли вопросы насчет русского языка в консоли.
1) Что конкретно делает setlocale?
2) Понял, что кодировка файла с кодом должна совпадать с кодировкой консоли, поэтому использовал SetConsoleOutputCP() и SetConsoleCP(). Попытался установить значение 65001, сохранив файл в кодировке UTF-8. Вывод работал, а вот ввод — нет. Почему?
3) Следует ли мне, исходя из предыдущего пункта, сохранять код в стандартной кодировке консоли Windows (866), или я все же могу сохранить файл в кодировке UTF-8, а в консоли использовать другую кодировку?
Как-то хуево сформулировал вопросы =/

Ответы640476410464215

14 сен, 11:59 29 1264047

>>1264045
Братишка, просто вкатывайся в раст. Там тебе не нужно будет думать о таком говне.

Ответы6404864051

14 сен, 12:01 30 1264048

>>1264047
Как-то попытался вкатиться. Хотел установить библиотеку random, но ничего не получил, кроме бесконечной загрузки. В итоге забил, хех.

Ответы6405064051

14 сен, 12:02 31 1264050

>>1264048
Один раз ставишь
> cargo install cargo-edit

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

Напомни, как там в крестах либы ставятся?

Ответы64056

14 сен, 12:02 32 1264051

>>1264047
>>1264048
А вообще, я хочу разобраться именно с C++. Хочу ебаться с указателями, хуятелями и т.п.

Ответы64053

14 сен, 12:04 33 1264053

>>1264051
Хочешь ебаться с указателями, разберись с Си. Поймешь что ебаться с ними совершенно ненужно. Впрочем, если очень хочется ебаться с указателями, волшебный мир unsafe & undefined behaviour ждет тебя.

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

Ответы6410566192

14 сен, 12:05 34 1264056

>>1264050
Cargo, насколько я помню, предполагает систему проектов. Не люблю такое. Мне больше нравится gcc файл1 файл2 файл3 -o вывод -разные -параметры, чем cargo соберимнепроектплеес.

Ответы64059

14 сен, 12:08 35 1264059

>>1264056
Тебе никто не запрещает ебаться с
> rustc файл1
Просто это настолько глупо в 2018
> cargo new fuck
> cd fuck
> cargo run
Это работает настолько просто и прозрачно (просто открой Cargo.toml), что совершенно неясно почему можно хотеть делать то же самое руками.

Ответы64067

14 сен, 12:26 36 1264067

>>1264059
Я хочу поебаться с этим как минимум для того, чтобы понять, как это работает, а не надеяться на то, что cargo сделает все за меня. Понятно, что если ты работаешь над большим проектом, лучше использовать подобное упрощение, которое организовывает проект за тебя. Но нельзя, обучаясь программированию, пропускать такие моменты, в этом нужно обязательно разобраться, по-моему. Передо мной не стоит цели научиться работать с огромными проектами, чтобы потом зарабатывать 300кк в секунду. Я хочу понять все тонкости C/C++, в том числе и указатели, которые, как ты сказал, сейчас практически не используются.

Ответы64068

93 Кб, 1875x367
14 сен, 12:29 37 1264068

>>1264067
Ну и кто тебе мешает?

Ответы64073

14 сен, 12:34 38 1264073

>>1264068
Так я не спорю с тем, что с rust можно ебаться таким же раком. Я это к тому, что твое
> Просто это настолько глупо в 2018
это не совсем верно, если речь идет об обучении. Я много хорошего слышал про Rust, но разобраться хочу с проверенным временем C++.

Ответы64076

14 сен, 12:37 39 1264076

>>1264073
С фортраном разберись. Она гораздо более проверенный временем.

Ответы64084

14 сен, 12:43 40 1264084

>>1264076
> C++ тред
> Помогите разобраться с C++
> Лучше вкатись в раст
> Лучше вкатись в фортран

14 сен, 13:21 41 1264099

>>1263986
Мне вот еще интересно, как разрабатывают на с++ под всякое железо, микропроцы и прочее? Я понимаю под винду или линух, там есть свой компилятор, свои библиотеки. А как это там?

Ответы70516

14 сен, 13:33 42 1264104

>>1264045
Пиздец вендопроблемы.

14 сен, 13:33 43 1264105

>>1264053
>unsafe behaviour

Чё это за новое слово в C?

Ответы64106

14 сен, 13:35 44 1264106

>>1264105
https://doc.rust-lang.org/book/second-edition/ch19-01-unsafe-rust.html

14 сен, 13:45 45 1264112

Заливаю вам ту методичку, которую обещал
>>1263961
>>1264037

https://yadi.sk/i/vDXZ5QBh8VZfSQ
https://yadi.sk/i/vDXZ5QBh8VZfSQ
https://yadi.sk/i/vDXZ5QBh8VZfSQ

Ответы64113

14 сен, 13:48 46 1264113

>>1264112
Заодно поясните- это хлам, который писали совковые преподы, знающие C++ не лучше чем школьник 9 класса, или знающие люди?

Ответы6411464126

14 сен, 13:50 47 1264114

>>1264113
Ничего криминального, вроде. Но и ничего особенного. Обычная методичка усть-пиздюйского института. conio.h, _getch(), как в консоли кириллицей в винде писать и прочие очень важные вещи.

Ответы64117

14 сен, 13:51 48 1264117

>>1264114
Вообще- вуз достаточно престижный и хорошо финансируемый

Ответы64121

14 сен, 13:56 49 1264121

>>1264117
> педагогический университет
> вуз достаточно престижный
Мда.

Ответы64156

14 сен, 14:09 50 1264126

>>1264113
Выглядит как методичка для уроков по информатике в обычной церковно-приходской школе.
Код для вычислений всяких выражений написан по принципу: как написана формула так и в коде наваляем (один и тот же sin/cos вычисляется по много раз, куча лишних операций умножения/деления, которые легко заменяются константами).

Ответы6413964157

14 сен, 14:20 51 1264139

>>1264126
>один и тот же sin/cos вычисляется по много раз
Нормальный компилятор соптимизирует.
А читаемость должна быть.

Впрочем, с тем, что методичка для цирково-приходской школы я на 100% согласен.

Ответы6414464157

14 сен, 14:27 52 1264144

>>1264139
>Нормальный компилятор соптимизирует.
Пруф в студию.

Ответы6414664243

14 сен, 14:30 53 1264146

>>1264144
Хуюф.

14 сен, 14:55 54 1264156

>>1264121
Если тебе кажется что в усть-залупинский вуз станут впихивать 22 миллиона, то сочувствую.
> > педагогический университет
Это не значит что там учителей информатики готовят. Не будь дебилом.

Ответы64160

14 сен, 14:55 55 1264157

>>1264126
>Выглядит как методичка для уроков по информатике в обычной церковно-приходской школе.
>>1264139
>Впрочем, с тем, что методичка для цирково-приходской школы я на 100% согласен.

Ладно. Понял.

14 сен, 14:57 56 1264160

>>1264156
Да запихни в усть-залупинский хоть 22 трлн. — MIT он не станет.

Ответы64189

14 сен, 15:58 57 1264181

//QT
Анон, а как правильно завершать работу программы при событии выключения пеки, если у меня QT?
Я ловлю WM_QUERYENDSESSION при помощи nativeEventFilter, отвечаю false и начинаю корректное завершение программы
Затем по логам идёт всё нормально, за исключением того что WM_QUERYENDSESSION мне больше не приходит.
Но приходит WM_ENDSESSION, которому я тоже отвечаю false и пытаюсь завершиться.
Чяднт? Почему у меня не отвечается false? В QT это как-то нужно по другому обрабатывать?

Ответы64182

14 сен, 16:00 58 1264182

>>1264181
Всё, понял, спасибо.

Ответы64188

14 сен, 16:11 59 1264184

Перешёл на 3 курс, думал, что углублюсь в pythton и машинное обучение, но препод по численным методам так не считает. Есть необходимость строить графики на c++ (заставили в универе, да). Каким способом это быстрей и удобней всего сделать? Использовать окошки обязательно?

Ответы6418564272

14 сен, 16:12 60 1264185

>>1264184
gnuplot

Ответы64237

14 сен, 16:21 61 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 сен, 16:26 62 1264189

>>1264160
Ну и он не усть залупинский. Екатеринбург это всё-таки город- милионник.
Короче проехали. Нахуй этот срач нужен

14 сен, 17:39 63 1264211

>>1263653
Ты ошибся, дружок-пирожок, клешнерукий тред двумя экранами ниже.

https://ideone.com/dm5nYd

Ответы64214

14 сен, 17:42 64 1264214

>>1264211
Анон просил в одну строку, а не в две.
Я прист ржавого храма, пришел паству совращать

14 сен, 17:46 65 1264215

>>1264045
>кодировка файла с кодом должна совпадать с кодировкой консоли
Нет, сконпелируй с -finput-charset=utf8 -fexec-charset=cp866 или как-то так.

Ответы64285

14 сен, 18:14 66 1264222

>>1263725
> В яндекс
А если попробовать в Сбербанк или похожие структуры? Им вроде нужны молодые умы. кроме Тинькофф. Просто для меня репутация Яндекса не очень

Ответы64244

14 сен, 18:31 67 1264228

>>1263648
doubles.assign(ints.begin(),ints.end());

14 сен, 18:56 68 1264237

>>1264185
Нельзя использовать другие программные пакеты. Только c++ и всякие его библиотеки

Ответы64314

14 сен, 19:06 69 1264243

>>1264144
https://gcc.godbolt.org/z/ckOb7s
>call sincos

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

мимо-другой-анон

14 сен, 19:06 70 1264244

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

642 Кб, 970x330
14 сен, 19:47 71 1264272

>>1264184
MFC + DirectX

14 сен, 20:00 72 1264285

>>1264215
Спасибо большое, полезная штука. -finput отвечает за кодировку файла, а -fexec — за кодировку, используемую в самом exe, так?

Ответы64325

14 сен, 20:30 73 1264314

>>1264237
https://stackoverflow.com/questions/39414084/plotting-a-vector-in-c-with-cimg

14 сен, 20:40 74 1264325

>>1264285
Всё так.

sage 15 сен, 02:05 75 1264431

>>1263368 (OP)
Где петух? Под стать треду.

Ответы6444064441

15 сен, 03:04 76 1264440

>>1264431
Мы тебя ждали
Это ты питух ))))))

65 Кб, 454x500
15 сен, 03:14 77 1264441

>>1264431
Тут недавно синёр из топовой конторы заходил и всех петухов разогнал.

15 сен, 03:52 78 1264448

Вкатился с proof of concept
https://git.movepoint.su/anton/iv

Ответы6468164805

15 сен, 16:58 79 1264681

>>1264448
релизить буду переписанное вплоть до другого контейнера для текста, еще пижже

15 сен, 23:09 80 1264789

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

16 сен, 00:05 81 1264805

>>1264448
> The text is stored in an augmented binary search tree, one glyph per node.

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

Ну я про код я уже не буду писать. Он не менее безграмотно написан, чем ридми.

Ответы64832

16 сен, 02:15 82 1264832

>>1264805
лан, code point

16 сен, 05:18 83 1264848

Аноны чем заполнять свое портфолио джуну на хабе?

Ответы6490664926

16 сен, 11:23 84 1264906

>>1264848
Сочини санэт. Эйчары любяць санэты.

16 сен, 13:13 85 1264926

>>1264848
Как ни странно, но работающими программами.

Ответы64935

16 сен, 13:46 86 1264935

>>1264926
Хах. вот если я заполню свой хаб одними лишь типами сортировок, то как бы и кому я нужен буду?

Ответы64936

16 сен, 13:48 87 1264936

>>1264935
Сделай простенькие игры.

16 сен, 16:45 88 1265013

>>1263368 (OP)
Пишу на плюсах высоконагруженные системы, поставил сервак, закодил бекенд для своего вуза. Впендярил неплохую туда еще верстку. Мне предлагают оставаться после магистратуры и учить недостудентов. Стоит ли?

Написал уже 4-5 клиентов двача, все летают как шустренькие, думаю выезжать из деревни и стремиться в большие города. Что скажете?

Ответы6513365161

16 сен, 17:17 89 1265035

Гайс, подскажите, как правильно инициализировать массив и передавать указатель на двумерный массив из мейна в функцию ? Заранее аригато.

Ответы65051

16 сен, 17:38 90 1265051

>>1265035
String str = new String() ?

Ответы65059

16 сен, 17:49 91 1265058

https://pastebin.com/unQ3PU0U

Мне нужно передавать данные из структуры в мейн, из мейна в функцию просто так надо. На 37ой строчке нереализуемая передача массива в функцию. Я так понимаю, что это можно сделать с помощью указателя, но не въебываю - как.

Ответы6505965073

16 сен, 17:50 92 1265059

>>1265051
>>1265058

Ответы65062

16 сен, 17:52 93 1265062

>>1265059
Иди нахуй со своими указателями. Я в вузе их не понял, с тех пор программирую под джаву. С++ говно, а не язык.

Ответы6507665079

16 сен, 18:06 94 1265073

>>1265058
>tr.points[3][3] = { x, y };
Что здесь происходит?
>is_true(tr.points[3][3], isPoint);
и тут?

Ответы65075

16 сен, 18:09 95 1265075

>>1265073
Хуйня происходит, пофиксил и сделол. Там просто рандомный код накидан для примера. Оказалось, довольно просто, лол.

144 Кб, 427x700
16 сен, 18:10 96 1265076

>>1265062
На С++ написаны операционные системы а также виртуальные машины и рантаймы для всех управляемых языков, в том числе и джавы.

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

Говно язык все равно С++

Ответы6507765103

16 сен, 18:11 97 1265077

>>1265076
> На джаве не написано нихуя
А как же ведроид?

16 сен, 18:15 98 1265079

>>1265062
А мог бы как белый человек использовать ссылки.

16 сен, 19:00 99 1265103

>>1265076
Эти вечные срачи.

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

9 Кб, 480x360
16 сен, 19:41 100 1265133

>>1265013
>Что скажете?
Что товарищ Ленин хочет видеть вас в родном кишлаке.

16 сен, 20:30 101 1265161

>>1265013
Ну я думаю, что если ты останешься то в профессиональном плане будешь развиваться лучше чем в ДСе в каком-нибудь интерпрайзе. Только помни одно, как сказал один человек, либо ты преподаёшь, либо кодишь, иного не дано. Так что хлопочи себе место лаборанта и развивайся как прогер+матем.

31 Кб, 774x738
16 сен, 21:37 102 1265201

Что тут происходит? Что за Integers()?

Ответы65219

16 сен, 21:59 103 1265219

>>1265201
>Что тут происходит?
Кто-то установил на твой компьютер самый хуёвый шрифт во всём интернете а также библиотеку для функционального пердолинга.

Ответы6522977812

16 сен, 22:26 104 1265229

>>1265219
А что за библиотека?

Ответы65233

16 сен, 22:38 105 1265233

>>1265229
Один из нестандартных инклюдов, скорее всего range.

17 сен, 00:24 106 1265289

Как в mingw-w64 скомпилить 32 битное приложение? -m32 ключ, а что еще? ошибку ебашит

Ответы65294

37 Кб, 682x432
17 сен, 00:32 107 1265294

>>1265289

Ответы6530065301

17 сен, 00:46 108 1265300

>>1265294
> 2k!8
> emacs

Ответы65306

17 сен, 00:48 109 1265301

>>1265294
все верно mingw-w64-install.exe ? что-то не вижу таких ярлыков у себя, есть x64

Ответы65304

17 сен, 00:52 110 1265304

>>1265301
Скрин взял в гугле. Там через MSYS ставилось.

А если архитектуру выбрать другую?

Ответы65308

17 сен, 00:55 111 1265306

>>1265300
https://docs.rtems.org/branches/master/user/_images/msys2-minw64-start-menu.png

4 Кб, 238x102
17 сен, 00:56 112 1265308

>>1265304
тоже самое, кажется там онли 64 бита

Ответы65310

17 сен, 01:01 113 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

Ответы65311

17 сен, 01:03 114 1265311

>>1265310
ХЗ знает.

17 сен, 01:07 115 1265314

разобрался, i686 нужно было ставить для x86 и x86_64 для 64 бит.

17 сен, 13:55 116 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), тогда все вышеизложенные варианты сохраняют валидными оба итератора и оба указателя.

Я правильно всё понимаю?

Ответы65528

17 сен, 14:45 117 1265528

>>1265515
ВРоде правильно.

17 сен, 19:00 118 1265648

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

Ответы65654656556567765691

17 сен, 19:09 119 1265654

>>1265648
он учит тебя думать о ненужных вещах, деталях. в большинстве случаев этот язык является не выбором, а необходимостью. С является таковым еще больше

Ответы65674

17 сен, 19:14 120 1265655

>>1265648
Не совсем так. Оптимального подхода никто не требует. Можешь хоть пузырьком сортировать и ебашить четырехэтажные иерархии виртуального наследования.

Ответы65678

17 сен, 19:36 121 1265674

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

17 сен, 19:39 122 1265677

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

17 сен, 19:40 123 1265678

>>1265655
Если есть голова на плечах и желание двигаться дальше, ты будешь изучать инструментарий c++ и охуевать от его разнообразия, но разобравшись ты уже будешь подходить к разной реализации с лучшей точки, которую предлагает с++

17 сен, 20:11 124 1265691

>>1265648
>c++
>учить тебя правильному техническому мышлению
))

17 сен, 20:26 125 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
{
};

Ответы65697

17 сен, 20:30 126 1265697

>>1265695
Да, только получится говно с дублированием. Гугли виртуальное множественное наследование

Ответы65699

17 сен, 20:31 127 1265699

>>1265697
Так я уже загуглил и уже как только не расставлял кейворд virtual, но везде возникают конфликты, помоги правильно расставить плз

Ответы65702

17 сен, 20:33 128 1265702

>>1265699
Схема говно, зачем именно так?

Ответы65703

17 сен, 20:34 129 1265703

>>1265702
Мне так видится это наследование, как бы ты посоветовал ее переделать?

Ответы65704

17 сен, 20:37 130 1265704

>>1265703
Тебе интерфейс или реализацию надо наследовать? Если интерфейс, то выделяйте его в абстрактные классы, если реализацию, то используй композицию

Ответы65707

17 сен, 20:40 131 1265707

>>1265704
Нужно наследовать интерфейс, но я не очень понял что ты имеешь ввиду. Что значит "выделяйте его в абстрактные классы"? У меня и так Pipeline, GraphicsPipeline, ComputePipeline - абстрактные, а те что с DX_ - их реализуют.

Ответы65709

17 сен, 20:41 132 1265709

>>1265707
Тогда зачем наследоваться от dx, если можно от абстрактного?

Ответы65897

17 сен, 20:44 133 1265713

DX_Pipeline Хренит общие поля для DX_GraphicsPipeline и DX_ComputePipeline, и объект DX_Pipeline нужно потом кастить в DX_GraphicsPipeline

17 сен, 21:04 134 1265731

Просматривал давеча хехе.ру. Искал там вакнсии для июней. В итоге выяснил, что для java, c#, php, python, js июней вакансий в достатке, а для c/c++ вакансий раза в три меньше и зп по ним на 20% меньше. Источник исследований конечно сомнительный, но данные с него выглядят как продолжение скатывания c++ в говно.

Ответы65883

sage 18 сен, 03:03 135 1265883

>>1265731
Это консолидация перед взлетом.

Ответы66010

18 сен, 04:17 136 1265897

>>1265709
Зачем наследоваться от диффура?

18 сен, 08:11 137 1265930

https://www.youtube.com/playlist?list=PLgeSUiT3pydG7KchiEhjYvwkORh7TSGNi&disable_polymer=1

Смотрел кто-нибудь эти лекции?
Есть профит?

18 сен, 11:48 138 1265985

Гутен морген, бреш-компания.
Мне тут рекомендуют книжку Джефф Элджер. C++: Библиотека программиста.
Говорят, это основной учебник по продвинутому освоению языка C++. В шапке треда не нашел.
Что скажете?

Ответы66043

18 сен, 12:51 139 1266010

>>1265883
Если в отрасли не нужны молодые кадры, то она находится в состоянии рецессии с негативным прогнзом в сторону дальнейшего снижения.

170 Кб, 1591x455
18 сен, 13:36 140 1266043

>>1265985
Дебильный тон изложения, куча отсебятины типа пикрил

Ответы6605166492

18 сен, 13:44 141 1266051

>>1266043
Въебал бы автору в щи с вертухана, а затем сняв скальп сожрал на глазах его матери, которую я буду ебать его нижней челюстью.

Ответы66439

396 Кб, 1920x1080
18 сен, 14:11 142 1266065

Ребята, что за хуйня? Почему я еще ничего не написал, а у меня уже 418 ошибок ?

Ответы6606766084

18 сен, 14:22 143 1266067

>>1266065
Подключи locale.h

Ответы66068

372 Кб, 1920x1080
18 сен, 14:27 144 1266068

>>1266067
Да вот даже так эти ошибки есть.

18 сен, 14:52 145 1266084

>>1266065
У тебя студия без предупреждений поставилась? Ты качал было в installer'e пункт РАЗРАБОТКА КЛАССИЧЕСКИХ ПРИЛОЖЕНИЙ С++?

Ответы66088

18 сен, 14:56 146 1266088

>>1266084
Я там вообще все выбрал. На всякий случай, благо место на диске есть.

18 сен, 15:09 147 1266093

Ананас, ты когда-нибудь юзал списки (любые) или дек?
В чём их профит?

Ответы6610066858

18 сен, 15:38 148 1266095

Сделал 2 батника для компиляции minigw 32 и 64

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

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

нужно поменять пути на ваши

Ответы66132

18 сен, 15:47 149 1266100

>>1266093
Списки полезны если много вставок в середине, дек - если с краев.

Ответы66103

18 сен, 15:55 150 1266103

>>1266100
> Списки полезны если много вставок в середине, дек - если с краев.
Это написано в любой книжке/туторе про них.
Я имею ввиду реальное применение в своих программах. Как, например, элемент какой-то другой структуры данных.

Ответы66186

18 сен, 16:58 151 1266132

>>1266095
Дай рыбу.

18 сен, 17:41 152 1266186

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

18 сен, 17:48 153 1266192

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

Как пистон?

18 сен, 18:28 154 1266207

Шарящие стандарт, поясните, что это значит (не перевод естественно, а с точки зрения использования)?
https://cplusplus.github.io/LWG/issue2981

Да и в целом про deduction guides хотелось бы больше инфы на русском, объясняющей тонкости (а не сухое изложение с cppreference) ну или на английском но попроще (какое нибудь how to)

Ответы6622266410

18 сен, 19:11 155 1266222

>>1266207
> Шарящие стандарт, поясните, что это значит (не перевод естественно, а с точки зрения использования)?

Ничего.

19 сен, 02:57 156 1266410

>>1266207
> Да и в целом про deduction guides хотелось бы больше инфы на русском
Тут рассказывалось про них
https://www.youtube.com/watch?v=rJWSSWYL83U
Где-то во второй половине вроде

Ответы6651666557

19 сен, 08:03 157 1266439

>>1266051
Хуле ты не на своей доске /б/итард?

19 сен, 10:48 158 1266483

На собеседовании дали мне задачу. Есть вектор интов, удалить из него все нули. Я сделал это с помощью цикла, в котором использовал erase(). Сказали, всё правильно, только erase() должен вызываться 1 раз. Ещё одногруппница подсказала, что это делается с помощью erase() и remove().
Неподскажите ли оптимальный алгоритм?

И нахрена erase() делает последующий за ним итератор нерабочим?
https://ru.cppreference.com/w/cpp/container/vector/erase

Ответы6649366502

19 сен, 11:03 159 1266492

>>1266043
А там про параллельные штуки и про сетевое программирование что-то есть?

19 сен, 11:04 160 1266493

>>1266483
Возможно, отсортировать, найти первый и последний нули и тогда уже один раз вызвать удаление?

Ответы66497

19 сен, 11:08 161 1266497

>>1266493
Возможно, а зачем там ремув?

19 сен, 11:13 162 1266502

>>1266483
да, erase вызывается один раз
- https://ghostbin.com/paste/cqa5p

Ответы66512

19 сен, 11:30 163 1266512

>>1266502
Этот ремув, он сдвигает часть вектора после удаляемого элемента ближе к началу, тем самым перезаписывая удалаяемый элемент, так ведь?

Ответы6653866542

19 сен, 11:35 164 1266516

>>1266410
>Тут рассказывалось про них
О, спасибо

19 сен, 12:55 165 1266538

>>1266512
https://ru.cppreference.com/w/cpp/algorithm/remove

19 сен, 13:02 166 1266542

>>1266512
remove_if сдвигает все элементы, на которых предикат возвращает false в начало и возвращает итератор указывающий на начало последовательности элементов, возврающих true

Ответы66643

19 сен, 14:07 167 1266557

>>1266410
> 2k18
> смотреть что-то кроме cppcon/boostcon, особенно руснявые недоконференции

Продажа своего софта. C++ Builder 19 сен, 15:32 168 1266595

>>1263368 (OP)
Добрый день, господа программеры. Я написал небольшую утилиту, используя C++ Builder, и хочу начать её распространять за бабосики. При этом моя IDE, как это полагается, спирачена. Так вот, если я преобрету лицензию, с какими трудностями я столкнусь при попытке распространения моего софта?
Я об этом только начал задумываться и пока не знаю в какую сторону копать. Что лучше изучить в таком случае? Что там с авторскими правами и так далее?

Ответы66623

19 сен, 16:07 169 1266623

>>1266595
ну вродь у билдера дорогая лицензия. Хотя вроде выпустили какую-то версию билдера, аналог visual studio community edition, которая свободная и пиратить не надо, посмотри, можно ли твой проект перенести на него, авось проще будет.

Ответы66637

19 сен, 16:32 170 1266637

>>1266623
Да, слышал про неё. Как бы не оказалось, что она как в бесплатном Qt не собирает dll-ки. Ну а вообще, мне не обязательно нужна последняч версия. Я вообще свою на 2010-м написал, не думаю, что дороже 100к рублей выйдет. Такую сумму я более-менее смогу скопить. Просто, читал про лицензию Qt и там же месячная подписка идет. Так вот, если ты, например, за месяц подписки выдвинул в продажу продукт, то придется оформлять лиценщию на всё последующее время продаж. Поэтому и спросил про билдер, мало ли кто имел дело с распространением своего софта, сделанного на нём.

Ответы66644

19 сен, 16:51 171 1266641

24 лвл, вкатываюсь в плюсы после СИ. Не поздно ли я начал вкатываться? На си писал прошивку для СТМ микроконтроллеров.

Ответы66642

19 сен, 16:53 172 1266642

>>1266641
> Не поздно ли я начал вкатываться?
Нет. Сам я вкатился в плюсы после C в 24 или 25.
Через год открыл для себя стандарт.
Через полгода-год начал фиксить там баги, в том числе не-editorial.
ХЗ кто там про 10 лет пишет на то, чтоб выучить C++..

19 сен, 16:55 173 1266643

>>1266542
В канец

19 сен, 16:59 174 1266644

>>1266637
свои длл ты сколько угодно можешь собирать, другое дело Qt и вроде как OpenSource версия наоборот, обязывает тащить все с их dll и их динамической линковкой.

Ответы66704

19 сен, 18:03 175 1266704

>>1266644
В общем, я это и имел в виду.

6 Кб, 473x575
19 сен, 22:05 176 1266839

СУКА ЧЕ за хуйня

почему 1 не меньше 4

Ответы668556695166995672516807071695

19 сен, 22:30 177 1266855

>>1266839
>std::cout << int(a);
Вот это сделай, и поймешь.

19 сен, 22:44 178 1266858

>>1266093
>списки (любые) или дек?
У меня ECS на велосипедном деке. Память под элементы выделяется страницами, которые хранятся в списке. Доступ к элементам по указателю, итерация по страницам. При удалении на место элемента заносится последний в деке. У каждого элемента есть айди, по которому можно найти элемент через таблицу. При перемещении элемента (на место удаленного), меняется указатель в таблице. При доступе по указателю сравниваются айди полученного элемента с айди хранящимся в ссылке, если они отличаются, то элемент ищется через таблицу, а указатель в ссылке обновляется. Получается быстрее и удобнее, чем иерархии классов с наследованием колеса от машины.

20 сен, 08:04 179 1266951

>>1266839
Потому что надо катиться из c++ в js, а не наоборот.

20 сен, 10:39 180 1266995

>>1266839
>char a = ' 1 '
В данном случае у тебя 1 - символ. ASCII-код которого равен 49. Вот это значение и хранится в char a. Когда ты приводишь эту переменную к int, то ничего не поменяется толком (разве что она после этого станет 4-байтовой и ты сможешь сохранять в ней значения намного больше, чем 127 при char).
Если ты хочешь исправить свой код, то убери кавычки с 1 (ну и можешь выкинуть приведение к int, хотя и с ним будет работать).

20 сен, 14:37 181 1267119

Салют, народы!
Нужно получить путь папки, где лежит некая .so библиотека.

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

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

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

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

Ответы6712067275

20 сен, 14:38 182 1267120

>>1267119
Звёздочки полетели, но я думаю вы поймёте

20 сен, 18:21 183 1267251

>>1266839
Что за пиздец здесь происходит ?

20 сен, 19:12 184 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 сен, 23:14 185 1267406

Ананас, такой вопрос.
Как часто ты юзаешь функции из algorithm?
Я имею ввиду find и все прочие.
Допустим есть пара или триплет в векторе и надо найти/изменить какое-то значение и тп.
С одной стороны для простоты хватит и цикла (тем более данных не так много), а с другой хороший тон и всё такое.

Ответы67743

21 сен, 13:59 186 1267702

>QtCreator
Стоит вместе с cmake, как сделать портабл проект? Вот чтобы можно было папку перенести в любое другое место и не править пути вручную в CMakeLists.txt.user
Если я заменяю их на относительные, он при сохранении всё-равно заменяет их на абсолютные.
Нашёл упоминания про CMAKE_USE_RELATIVE_PATHS, но оно больше не работает по каким-то идейным соображениям.

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

Ответы6772567757

21 сен, 14:32 187 1267725

>>1267702
А в чём проблема с путями?
Это, вроде как, в шиндовсе надо писать вручную путь к библиотеке, например.

Ответы67742

72 Кб, 909x326
21 сен, 14:49 188 1267742

>>1267725
К какой библиотеке, причём тут библиотеки?
Вот у меня есть мой новый проект из одного файла на три строчки. Сейчас он на диске W и он записал абсолютные пути в свои внутренние файлы. Я переношу его на другой компьютер на диск D, а он всё-равно создаёт каталог сборки на местном диске W, хотя там он вообще никакого отношения не имеет к кодингу. В результате код и ексешники на разных дисках.

А всё что мне нужно, чтобы оно собирало проект в той же папке, где находится и CMakeLists.txt
Прописывать в конфиг не W:/code/graph/unknown, а что-то вроде ../unknown или ./unknown

21 сен, 14:49 189 1267743

>>1267406
С парой ясен пень find или find_if прокатит. А вот с триплет (это же ты tuple имеешь в виду) даже и не знаю как организовать. Там же нужно std::get<N>(dopustim_triplet) и тогда это всё заворачивается в for от i = 0 до size и что-то с этим делать, выходит, лямбду в теле фора писать или делать функтор или функцию, короче, громоздкое что-то. Никогда их не использовал.

Кто в треде может назвать пример использования массива кортежей на практике?

Ответы67753

21 сен, 15:16 190 1267753

>>1267743
> А вот с триплет (это же ты tuple имеешь в виду)
Ну можно и через тапл, но я имел ввиду struct triple{ T first; U second; W thrid; } шаблонную йобу в начале опустил>

> Кто в треде может назвать пример использования массива кортежей на практике?
https://www.youtube.com/watch?v=fs6KV9iNi_U интересная штука

Ответы68015

21 сен, 15:31 191 1267757

>>1267702
CMakeLists.txt.user это настройки QtCreator.
Хочешь портабл проект — оставь только CMakeLists.txt, а CMakeLists.txt.user удали.

Ответы6777867789

21 сен, 16:04 192 1267778

>>1267757
Как вообще вкатиться в CMake? Я вот пробовал в точности повторить за https://cmake.org/cmake-tutorial/ но то ли у меня синдром Патау, то-ли еще в чем проблема, но не заработало.
Беда в том, что туториал ничего не показывает минимально рабочего а сразу громоздит кучу непонятной херни, в конце говорит мол, вуаля работает, а оно нихера не работает и ебись потом сам с кучей непонятной шляпы. Что делать? Есть пошаговые гайды какие?

Ответы67781

21 сен, 16:07 193 1267781

>>1267778
Я искал простенькие проекты на гитхабе уровня лаба1 с несколькими файлами. Собирал и запускал.
Потом исходя из своих нужд искал ещё что-то: как подключить библиотеку, как собрать с нуля что-то и тд

21 сен, 16:29 194 1267789

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

319 Кб, 500x495
21 сен, 16:47 195 1267804

Шалом. Есть три книги:
Марк Дж. Рочкинд. Программирование для Unix.
Уильям Ричард Стивенс. Unix: Взаимодействие процессов.
Уильям Ричард Стивенс. Unix: Разработка сетевых приложений.
На какую сам сядешь, на какую мать посадишь? Что вы о них можете сказать и в каком порядке их читать, если к теме только подошел и мало что понимаю?

Ответы67885

21 сен, 18:50 196 1267885

>>1267804
ПРи чём тут этот тред?

Ответы68246

21 сен, 23:02 197 1268015

>>1267753
Мои горе-доклады постят на дваче. Это успех. Про хэш-таблицу посмотри.

Ответы6802168022680256826068322

21 сен, 23:19 198 1268021

>>1268015
На русских конфах не принято выкладывать слайды, как я понял.

Ответы6802268041

21 сен, 23:20 199 1268022

>>1268015
>>1268021
Оооо. Надо промотать до конца видео, чтобы увидеть ссылку на слайды.
В описание её засунуть — слишком сложна.

21 сен, 23:25 200 1268025

>>1268015
> Про хэш-таблицу посмотри.
Кажется смотрел, но частями.
Та тема не особо была интересна поэтому не вдавался в подробности.
А вот про консоль вопрос.
Ты говорил что до твоей штуки была какая-то своя поделка в которой уже никто разобраться не мог.
Вот лично у меня ассоциация "консоль с командами" это выпадающая йоба сверху из Квейка.
То есть если бы я делал подобную вещь, то ориентировался бы на это.
А как та работала?
Были ли ещё какие варианты?

Ответы68041

22 сен, 00:03 201 1268041

>>1268021
Видео на ютуб заливал не я

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

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

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

Ответы68055

22 сен, 00:28 202 1268055

>>1268041
Что бы ты посоветовал сделать для резюме?
Я имею ввиду какой-то проект который было бы не стыдно лол показать людям, вроде твоей консоли.
Просто когда начал смотреть, думал что нихера не пойму, но потом посмотрев исходники кроме ветвления и автодополнения, в них не стал разбираться без труда сделал своё подобие.

Ответы68059

22 сен, 00:39 203 1268059

>>1268055
Любой юзабельный и законченый. Настоятельно НЕ рекомендую делать игры, очень сложно, а толку мало. Лично я, когда начинал учить кресты (в 26 лет лол), писал хлам на qt, а-ля клиент для web api.

Вообще - если говорить про около-джунов, то я бы скорее не писал код, а старательно штудировал Майерса и прочие очень умные книги. И задрачивал алгоритмы на leetcode.com. Как показывает практика собеседований (я собесил больше 30 джунов), теория на данном уровне важнее практики.

Ответы68134

22 сен, 00:44 204 1268062

геймдев в россии в настоящий момент - будешь делать под мобилки с вероятностью 90%
всякие фермы, кристаллики в ряд..

61 Кб, 520x545
22 сен, 01:48 205 1268070

>>1266839

22 сен, 02:16 206 1268086

>>1263368 (OP)
Написал count << string вместо cout << string
@
Over 9000 ошибок при компиляции

22 сен, 07:42 207 1268134

>>1268059
> Настоятельно НЕ рекомендую делать игры, очень сложно, а толку мало
Почему?
Кажется это самый простой вариант: сделать клон какой-то и добавить от себя что-то.

Ответы68287

22 сен, 08:49 208 1268140

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

Ответы6829968422

22 сен, 13:14 209 1268246

>>1267885
Хорошо, тогда какой?
Думал, тут знают эту всю штуку.

22 сен, 13:28 210 1268254

>>1263384
Что там забыла C#-макака?

Ответы69271

22 сен, 13:37 211 1268260

>>1268015
>Мои горе-доклады постят на дваче.
Ты няшный, может встретимся?

Ответы68287

22 сен, 15:04 212 1268287

>>1268134
В том то и дело, что кажется - на деле там очень много геморроя, если ты хочешь сделать что-то сложнее сапера или там крестиков-ноликов.

>>1268260
Ну, если ты готов играть со мной в Battletoads & Double Dragon разве что.

Ответы68350

22 сен, 15:35 213 1268299

>>1268140
Скачай MSVC и не еби голову, серьезно

22 сен, 16:17 214 1268311

Псаны, приходится ли вам иногда пользоваться в своих проектах всякой lock-free хуйней? Или хуяк мьютекс туда, хуяк condition_variable сюда сойдет? Что-то меня пугают все эти memory ordering'и, да и вообще такой код очень сложно писать без ошибок.

Ответы6853369380

22 сен, 16:39 215 1268322

>>1268015
>Мои горе-доклады постят на дваче. Это успех.
А твой работодатель/коллеги знают, куда ты заходишь?
Ты задумывался над тем что будет, если они узнают?

Ответы68325

22 сен, 16:43 216 1268325

>>1268322
О господи, он сидит на программаче, срочно уволить и в тюрьму посадить

Ответы68423

22 сен, 17:36 217 1268350

>>1268287
>>Ну, если ты готов играть со мной
Конечно, милаш

22 сен, 20:14 218 1268422

>>1268140
libc++

Ответы68443

22 сен, 20:15 219 1268423

>>1268325
Короля делает свита, понимаешь?

Ответы68488

22 сен, 20:44 220 1268443

>>1268422
написал о том, о чем не разбираюсь
не учитывать этот пост

Ответы68460

22 сен, 21:17 221 1268460

>>1268443
>написал о том, о чем не разбираюсь
>не учитывать этот пост
Мы обязательно учтём, что вы любите писать о том, в чём не разбираетесь.

22 сен, 22:02 222 1268488

>>1268423
нет

23 сен, 00:18 223 1268533

>>1268311
Смотрел как-то код lock-free очереди. Чуть крышей не поехал.
Это принципиально невозможно писать без ошибок, тесты тоже ничего не протестируют. Единственный выход – формальная верификация, которая пока сильно страдает от комбинаторного взрыва на больших программах.

Ответы69234

23 сен, 06:54 224 1268584

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

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

Всё правильно? Или это можно как-то сделать изящней? Или это вообще всё хуйня и работать не будет? Пишу прогу в Qt 5.

Ответы6890769227

23 сен, 14:34 225 1268907

109 Кб, 812x7297 Кб, 337x124

>>1268584
> Ставим проверку этого флага через каждый N функций
Я не знаю что там в стандартной библиотеке с потоками (только вкатываюсь в си), но через winapi можно явно заморозить нужные тебе потоки, без вечных циклов в фоне и проверок в непонятном месте твоей поточной функции.

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

По крайне мере вечный цикл - точно костыль. Просто так без необходимости твой поток десять раз в секунду забирает себе нить выполнения для проверки флага? Серьёзно? Сделай так, что дочерний поток замораживает сам себя, а разбудит его главный. Если апи для resume/suspend в стандартной библиотеке нет (почему-то не смог нагуглить за несколько минут), то сделай через WaitForSingleObject. Второй пик. Поток с вечный циклом проверки флага и Sleep(100) жгёт такты, и требует переключения потоков, а поток с WaitForSingleObject абсолютно мёртвый.

Ответы68989

23 сен, 16:55 226 1268989

>>1268907
Спасибо, пойду гуглить по той инфомции, что ты дал.

14 Кб, 1075x407
23 сен, 17:49 227 1269012

#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)<<" ";
}

Что не так?

Ответы6902084607

23 сен, 18:01 228 1269020

>>1269012
Ты результат то пробовал вывести?
a=29 b=30
29+rand()%31
Ты получаешь значения от 29 до 59.

Ещё при больших b у тебя это совсем неравномерное распределение будет. Про это конечно не говориться. Попробуй просто выведи 5 раз число а, шутки ради. Теоретически, нельзя лишь по результату строго утверждать что это не случайные числа.

Ответы69064

23 сен, 19:19 229 1269064

>>1269020
Спасибо, анон! Всё заработало.

23 сен, 21:12 230 1269149

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

Ответы6918969237

23 сен, 22:27 231 1269189

>>1269149
Вильямс

Ответы69213

23 сен, 23:09 232 1269213

>>1269189
Нирикаминдую.

Ответы69216

23 сен, 23:13 233 1269216

>>1269213
ничего более нету

Ответы69229

23 сен, 23:15 234 1269218

Гайс, у меня уже голова болит.

Как правильно передать двумерный массив в качестве аргумента функции ?
Заранее домо аригато.

Ответы6926069870

23 сен, 23:22 235 1269227

>>1268584
проблема всех вас, что вы просто, блядь, ебаные неучи
у вас нет теории, вы тычетесь как щенки
не разбираешься, тогда пользуйся высокоуровневыми абстракциями, в тех же либах дающих thread pool (это только в качестве примера), есть возможность остановить всех воркеров
а вы, блядь, на голых средствах синхронизации каждый раз переизобретаете ебаные костыли

Ответы69232

23 сен, 23:23 236 1269229

>>1269216
Хвалят https://leanpub.com/concurrencywithmodernc но я не читал.

Ответы69237

23 сен, 23:25 237 1269232

>>1269227
более того, если ты пользуешься голыми средствами синхронизации, ебаша промышленный код, то нужно сильно сомневаться в твоей квалификации
потому что на фирмах, даже если делают СВОЕ, то сначала реализуют собственные более высокоуровневые абстракции для работы с любой параллельностью
а в большинстве случаев достаточно пользоваться готовыми средствами
потому что, блядь, это сложно
это пишется годами серьезными дядями, а рядовой исполнитель который делает код который продается, хуй это осилит на коленке

23 сен, 23:29 238 1269234

>>1268533
проблема lock-free либ в том что НЕТ еще открытых/продающихся вещей которые уже вступили в стадию зрелости
да, на крупных фирмах где-то уже смогли поднять свои решения, которые уже у них работают, но это все внутренние вещи
при этом чтобы это сделать им пришлось пойти на немалые капиталовложения, потому что делать такое чертовски сложно

23 сен, 23:33 239 1269237

>>1269149
>>1269229
Это и сюда тоже

24 сен, 00:37 240 1269260

>>1269218
template<typename T, std::size_t M, std::size_t N>
void array(T (&a)[M][N]) { / code / }
А лучше заверни его в структуру и не еби мозги.

Ответы6927869398

24 сен, 01:05 241 1269271

>>1268254
Ничего, она же макака, а не петух.

24 сен, 01:28 242 1269278

>>1269260
Со структурой, будет передаваться не массив, а его копия.

Ответы69441

24 сен, 11:28 243 1269380

>>1268311
>хуяк мьютекс туда, хуяк condition_variable сюда
Так и живём. Хотя твой пост натолкнул на идею попрофилировать куски кода в паре проектах, где single producer/single consumer очереди. Хотя там contention мьютексов очень низкий, может и не стоит даже заморачиваться.

24 сен, 12:10 244 1269398

>>1269260
Ну, у меня задача была - отсортировать наименьшее число в массиве.
Сделал, правда без темплейта и довольно криво (как ящитаю).

Энивей, если кому- нибудь нужно, то вот. Вдруг пригодится, лул. https://pastebin.com/StWaRC81

Ответы694196943669651

24 сен, 13:23 245 1269419

>>1269398
Лучше переведи двумерный массив в одномерный

24 сен, 13:55 246 1269436

>>1269398
> return a[ncol * 0];

Ответы69465

24 сен, 13:59 247 1269441

>>1269278
Move constructor не?

Ответы6945869650

24 сен, 14:41 248 1269458

>>1269441
Не поможет если массив выделен не в куче.

24 сен, 14:54 249 1269465

>>1269436
it just works.

Ответы70346

24 сен, 18:00 250 1269603

У меня есть несколько вопросов и мне нужен совет - то ли я вообще делаю или нет.

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

Так вот, собственно в чем мои вопросы:
На чем лучше всего делать интерфейс к программе на крестах(желательно чтобы еще и нормально можно было опенгл контекст создать)? На Qt что ли?
Через что удобнее всего работать с сетью(микроопыт и представление как это работает есть)?
Для sql как я видел есть много библиотек, какую лучше освоить?
Что вообще делать? Не понимаю куда двигаться. В вузе(такой себе, в топ3-5 дс2) математику и всякую там дискретку более-менее нормально преподают, но это само собой надо знать, а вот программирования нормального похоже там так и не будет, и я уж молчу про что-то прикладное типа того что я описал.

Ответы6966270496

24 сен, 19:07 251 1269650

>>1269441
Да какая разница.
Просили передать массив. А не его копию. Хоть ты её перемещением сделаешь.

24 сен, 19:09 252 1269651

>>1269398
У тебя UB в коде.

24 сен, 19:33 253 1269662

>>1269603
Тупой, блядь, долбоеб. ХВАТИТ ДРОЧИТЬ НА ФРИЛАНС, КОТОРОГО ВСЕ РАВНО В КРЕСТАХ НЕТУ. Иди в офис, и нормально работай.

Ответы70557

25 сен, 10:54 254 1269869

Что вообще можно написать на c++?

Ответы70217

25 сен, 10:56 255 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);

Ответы699057005970285

25 сен, 11:46 256 1269905

>>1269870
Спасибо, анончик.
Устраивает, но я - донный и еще не учил ссылки, вот.

25 сен, 16:52 257 1270059

>>1269870
>по ссылке
Но это же указатель. А ссылку предлагал анон с темплейтами.
Если не упарываться, по ссылке можно и так:

void foo(int (&arr)[10][10]) {...}
...
int a[10][10];
foo(a);

Ответы70303

25 сен, 20:44 258 1270217

>>1269869
вообще все, начиная от ОС, заканчивая вебстраничкйй

25 сен, 22:50 259 1270285

>>1269870
>Просто по ссылке почему не устраивает?
В твоём коде UB.

Ответы70344

25 сен, 23:07 260 1270303

>>1270059
Константы лучше вынести отдельно:
const size_t m = 3, n = 3;
void f(int (&a)[m][n]) {}

26 сен, 00:37 261 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

Ответы7034870380

26 сен, 00:41 262 1270346

>>1269465
Почему не "return a;"? У тебя же похоже просто указатель на начало массива возвращается. Код не читал, если что.

26 сен, 00:49 263 1270348

>>1270344
> i + j ⁂ x
А это на sizeof(int) домножать не нужно? Там же адресом, а не индексом массива веришь.

Ответы70350

26 сен, 00:54 264 1270350

>>1270348
нит
a = ⁂(a + i) = ⁂(i + a) = i[a];

Ответы70351

26 сен, 00:54 265 1270351

>>1270350
да блятб, a[ i ]

Ответы70361

26 сен, 01:10 266 1270361

>>1270351
Но ведь i[a] == a. Ненавижу, блядь, c++ и пидоров, которые такое на собесах спрашивают.

Ответы70364

26 сен, 01:12 267 1270364

>>1270361
a[ i ] == i[ a ]

26 сен, 01:55 268 1270370

Решил написать вебсервер. Подводные?

26 сен, 02:09 269 1270374

>>1263368 (OP)
Доброго дня, аноны. Я не программист, но столкнулся с задачей скомпилить сорцы одной софтины с гитхаба. Как компилить файлы по одному я знаю, но как скомпилировать папку с кучей файлов формата .h и .cpp в один экзешник?

Ответы70415

26 сен, 02:44 270 1270380

>>1270344
>не вижу здесь UB
На то ты и макака.

Ответы70382

26 сен, 03:09 271 1270382

>>1270380
Ну так покажи где ты тут UB нашёл, эксперт мамкин.

Ответы70383

26 сен, 03:17 272 1270383

>>1270382
> эксперт мамкин.
Ха-ха. Макакич пыжится.

Ты знаешь, когда можно применять арифметику указателей?

Ответы70385

181 Кб, 442x341
26 сен, 03:53 273 1270385

>>1270383
Хочешь сказать, что здесь нельзя её применять?

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

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

Ответы7038670390

26 сен, 03:57 274 1270386

>>1270385
>Хочешь сказать, что здесь нельзя её применять?
Да.

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

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

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

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

А что ещё тупая макака может утверждать?

26 сен, 04:16 275 1270390

>>1270385
>Хочешь сказать, что здесь нельзя её применять?
Точнее, можно, но не так, как ты это делаешь.

Ответы70392

26 сен, 04:35 276 1270392

>>1270390
Может тогда поговорим, в чем здесь проблема, вместо того чтоб хуями друг друга обкладывать?

Ответы70397

26 сен, 04:41 277 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 сен, 04:41 277 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)

Объясни это.

Показать весь текст
Ответы703987040770612

26 сен, 04:57 278 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

Ответы7039970400

26 сен, 04:58 279 1270399

>>1270398
А, или я мудак и компилятор тупо всё вырезал

26 сен, 04:59 280 1270400

>>1270398
>Это какие-то фичи, связанные с constexpr?
Да. Выражение с UB (из Core Language) не является константным. Такой вот способ сделать UB видимым.

Ответы7040170549

26 сен, 05:03 281 1270401

>>1270400
Забавно. А хуле он не подсвечивает даже с -pedantic

Ответы70402

26 сен, 05:09 282 1270402

>>1270401
Потому что UB не относится к диагностируемым ошибкам.

Ответы70403

26 сен, 05:10 283 1270403

>>1270402
Пока не попадает в constexpr-контекст, конечно.

26 сен, 05:57 284 1270407

>>1270397
>(arr + i + j × x)
Это у тебя что-то с индексами или обход по строкам матрицы aT[3][2]?

Ответы7040870409

26 сен, 06:00 285 1270408

>>1270407
Точнее по столбцам. Чёт сплю уже и плохо в код вдупляю.

Ответы70409

26 сен, 06:03 286 1270409

>>1270407
>>1270408
Я просто скопипастил твой код.
Один хрен, он неправильный, как бы ты ни расставил индексы.

Ответы70410

26 сен, 06:07 287 1270410

>>1270409
>Я просто скопипастил твой код.
Ну или не твой. Предыдущий, короч.

26 сен, 07:40 288 1270415

>>1270374
Cmake

26 сен, 12:43 289 1270496

>>1269603
С++ и фриланс не совместимы.

Ответы70557

26 сен, 13:39 290 1270516

>>1264099
Тоже компилятор. Ток там регистры и их состояния. Запись в регистр, чтение с регистра и много ещё манипуляций разных. Чтоб чётко понимать суть нужно знать архитектуру микрухи и ассемблер. Он даёт ясность в том, что от тебя нужно микрухе

156 Кб, 1920x1080
26 сен, 16:01 291 1270549

>>1270400
Ну давай, и где тут твое UB видно?
Пока больше похоже на то, что constexpr не может в многомерные массивы.

Ответы7056970612

26 сен, 16:23 292 1270557

>>1270496
>>1269662
Ну не совместимы так не совместимы, вообще не критично, мне это не для денег нужно все равно. Суть-то в том, что в том что я увидел, что там требовались какие-то конкретные практически применимые вещи, которые по идее я должен хотя бы на базовом уровне уметь, откуда и вытекает моя вторая часть вопроса:
> На чем лучше всего делать интерфейс к программе на крестах
> Через что удобнее всего работать с сетью
> Для sql как я видел есть много библиотек, какую лучше освоить?
По крайней мере первые два - это то что мне реально пригодилось бы. Не для какого-то даже фриланса, а просто потому что ну реально же как без этого обойтись можно?Вот захочу я какую-нибудь микрософтину написать именно на с++ просто для себя - и придется гуглить какой-нибудь кал, который еще и окажется неэффективным и неудобным говном мамонта.
Поэтому если не сложно - подскажите, на какие библиотеки(или в случае с интерфейсом наверное одной библиотекой не обойтись, ясное дело нужна целая среда с редактором форм) по вашему мнению мне стоит в первую очередь обратить внимание?

Ответы70559

26 сен, 16:25 293 1270559

>>1270557
Ncurses

26 сен, 16:57 294 1270569

>>1270549
Так в коде на скрине нет UB.
> Пока больше похоже на то, что constexpr не может в многомерные массивы.
Больше похоже на то, что у тебя ICQ < 55.

Ответы7061270667

26 сен, 17:42 295 1270583

Какая книга топ для начала: Липман или Прат? После прочтения данной книги хватит ли знаний для джуна? Что делать дальше?

Ответы70587

26 сен, 17:49 296 1270587

>>1270583
Ты где-то видишь вакансии на джуна?

Ответы70634

26 сен, 18:49 297 1270612

>>1270569
Алло, долбоёб, ты? Это >>1270549 отличается от этого >>1270397 только одномерным массивом, на шесть элементов. Что абсолютно эквивалентно двухмерному массиву 2 на 3. И не берется ссылка на хуй пойми чего.

Ответы7066770703

26 сен, 19:56 298 1270634

>>1270587
У меня однажды получилось устроиться, но я проебал свой шанс.

26 сен, 21:02 299 1270667

>>1270612
>>1270569
блять поясните в чем суть? почему при наличии думерного массива такая хуйня?

Ответы70674

26 сен, 21:07 300 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.

Ответы70704

26 сен, 22:31 301 1270703

>>1270612
>абсолютно эквивалентно двухмерному массиву 2 на 3
Я, конечно, чую, что тут троллинг тупостью, но отвечу
Как видишь, не эквивалентно.

26 сен, 22:37 302 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.

36 Кб, 1024x576
26 сен, 23:48 303 1270731

Всем приветики на вашем форуме)))

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

пиксамхаурилейтед - это мой валпапер

Ответы70742

27 сен, 00:19 304 1270742

>>1270731
Скотина Мейерс
Эффективное использование Stl

Ответы70751

27 сен, 00:45 305 1270751

>>1270742
Бля и чо что майерс? Я его и книжку, в принципе, прочитал. И лекции смотрел. Все круто и интересно, только в голове сильно не оседает. Надо хотя бы на игрушечных задачах со всем поиграться.
Вопрос в том, где игрушечные задачи взять

Ответы7097171018

27 сен, 07:54 306 1270808

>>1263368 (OP)
Здравия анонам, есть код:
catalan.hpp:
#pragma once
/!\filecatalan.hpp
\authorYour name here
\dateDevelopment date
\briefStudent'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:
/!\fileut_catalan.cpp
\authorGarth Santor
\date2018.09.09
\briefTest 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) в функции mainut_catalanG:\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неразрешенных внешних элементов: 1ut_catalanG:\Projects\Programming\Фриланс\Task #214310 Numerical Limits\Numerical Series (Start)\x64\Debug\ut_catalan.exe

27 сен, 07:54 306 1270808

>>1263368 (OP)
Здравия анонам, есть код:
catalan.hpp:
#pragma once
/!\filecatalan.hpp
\authorYour name here
\dateDevelopment date
\briefStudent'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:
/!\fileut_catalan.cpp
\authorGarth Santor
\date2018.09.09
\briefTest 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) в функции mainut_catalanG:\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неразрешенных внешних элементов: 1ut_catalanG:\Projects\Programming\Фриланс\Task #214310 Numerical Limits\Numerical Series (Start)\x64\Debug\ut_catalan.exe

Показать весь текст
Ответы70866

27 сен, 11:19 307 1270866

>>1270808
Ну буст хуёво установлен/собран. Что тут ещё можно сказать?

27 сен, 14:20 308 1270971

>>1270751
>Вопрос в том, где игрушечные задачи взять
у страуструпа в "языке программирования с++, специальное издание" неплохие упражнения
это если надо конкретно по языку и стандартной библиотеке знания закрепить практикой

27 сен, 15:42 309 1271018

>>1270751
Стефен Прата c++ primer, много материала и задач к нему

27 сен, 15:53 310 1271024

Не пинайте за ссылку на хабр, но вопрос именно об том, что там написанно: https://habr.com/post/147373/

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

Так вот, там пошла Java. Я ее не понимаю, даже не знаю, актуальна ли сама проблема для C++ или там чисто жабские заморочки какие-то. Растолкуйте, что за ленивый синглтон, как его делать на крестах и нужно ли вообще?

Ответы71050

27 сен, 16:46 311 1271050

>>1271024
Статическая переменная это и есть ленивый синглтон.
В C++11 её инициализация потокобезопасна и это достигается либо double-checked locking-ом, либо ещё оптимальнее (https://stackoverflow.com/a/27206650)

28 сен, 09:38 312 1271311

Делаю лабу в C++ Builder 10, когда функцией StrToFloat преобразую ввод из Edit1, его пидорасит. 1,5 нормально переводит в float, а вот 0,525 превращается в 0,524999976158142, ответ в задаче не правильный. Как фиксить?

Ответы7138671872

28 сен, 12:11 313 1271386

>>1271311
Да ну нахуй! Не может быть!
дай-ка угадаю, 0.625 отображается правильно

Ответы71630

28 сен, 17:07 314 1271519

>>1263725
>Получать придется, если хочешь сьебать с РФии
Уже спрашивали >>1263744, но так как ответа не последовало, спрошу. Зачем нужно российское ВО за её пределами?

Ответы72844

156 Кб, 939x684
28 сен, 19:17 315 1271562

>>1263755
вышка удаленна в гути хоть как то котируется? перевелся из шараги средней на 3ий курс, потом институт закрыли и перекатился на 4год из 5 в сибгути , на удаленку решил вместо вечерней
щас думаю нахуй бросать или все таки 1.5 года доучиться, пригодится ли такой дисплом как исключительно формальный для выкатывания нннахуй из рашки? какие подводные, анон подскажи плс

Ответы71568

28 сен, 19:46 316 1271568

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

Ответы71571

182 Кб, 1280x875
28 сен, 19:56 317 1271571

>>1271568
профиль программирование, надеюсь пока учусь не снимут аккредитацию и с него(с предыдущего сняли) , кек

28 сен, 22:17 318 1271630

>>1271386
Ага. А почему так?

Ответы71697

29 сен, 02:22 319 1271695

>>1266839
тебе в жс

29 сен, 02:28 320 1271697

>>1271630
По IEEE 754

29 сен, 11:06 321 1271772

Может кто-то простыми словами обьяснить, что делает конструкция
#ifndef SLOVO
#define SLOVO

...

#endif
А то вижу ее постоянно, а при гугле этой комбинации нихуя не даёт

Ответы71779

34 Кб, 777x333
29 сен, 11:26 322 1271778

>>1263368 (OP)

Есть тут кто? Я пытаюсь на Visual Studio VLD подключить, но он выдаёт ЭТО.

29 сен, 11:27 323 1271779

>>1271772
Чтобы однажды выполнялся код, а так же дабы не было многократного использования include файлов, вроде так.

Ответы71780

29 сен, 11:28 324 1271780

>>1271779
Оно просто заменяет весь код каким-то словом?

Ответы7178371877

29 сен, 11:31 325 1271783

>>1271780

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

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

Ответы71785

29 сен, 11:32 326 1271785

>>1271783
Да это я понял, оно в главе описывалось. Просто что этот код делает. Типо если код уже ранее подключён, то его заменяет SLOVO и всё?

Ответы71835

29 сен, 13:34 327 1271835

>>1271785
Нет. Перед тем, как включить код, определяется константа SLOVO. И если эта константа уже определена ранее, то код из файла не включается. Этакий аналог if.

Ответы71901

29 сен, 15:00 328 1271872

>>1271311
Потому что не бывает float равным 0,525 , а ближайшее к нему - 0,524999976158142

29 сен, 15:06 329 1271877

>>1271780
Нет, это хорошо известная идиома, которая блокирует повторное включение кода. Например как уже написали так делается защита инклюдов, иначе будет сыпать ошибки e1488:zalupa already defined in zalupa.h(228). Можно её сломать в принципе, если вручную задефайнить, иди раздефайнить протектор.
Возможно лучше было бы использовать #pragma once, но это не стандарт, и свои проблемы имеет.

Ответы71901

29 сен, 16:18 330 1271901

>>1271877
>>1271835
Спасибо за помощь

29 сен, 17:06 331 1271927

Гайс, подскажите.
Как мне перегрузить оператор ВНУТРИ класса ? То есть, я хочу, чтобы функция внутри класса была с перегруженным оператором. Заранее аригато.

Ответы72033

29 сен, 17:34 332 1271951

Ну чо, как там сппкон

Говорят Бьярн за ауто пояснил по хардкору

29 сен, 20:11 333 1272033

>>1271927
Берешь и перегружаешь
https://en.wikipedia.org/wiki/Operators_in_C_and_C++
https://en.cppreference.com/w/cpp/language/operators

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

Или разверни свой вопрос.

Ответы72051

29 сен, 20:34 334 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 инт ?
}
}

Ответы72064

29 сен, 20:50 335 1272064

>>1272051
Дак ты позаботься чтобы у bomj был hooj
Например
bomj(int n) {
numb = new hooj();
numb->num = n;
}
Только дальше ты всё равно обосрёшься при управлении памятью. Читай про конструкторы копирования/перемещения, деструкторы и смарт поинтеры. А перегрузка операторов тут ни при чём.

143 Кб, 1000x800
30 сен, 11:26 336 1272264

Небольшой вопросик/

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

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

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

Спасибо.

Ответы72266743967442974904

30 сен, 11:30 337 1272266

>>1272264
Обратная польская запись.
Например, https://habr.com/post/100869/
Степени при помощи ^

30 сен, 13:22 338 1272317

Может кто обьяснить, как написать код, который перебирает квадратную матрицу, находит максимум и минимум. После чего, если максимумов/минимумов больше 1, то выбрать первый. Пока-что написал вот такой код cpp.sh/6xshn, до этого пробовал сделать 3 цикла со счётчиками, но выходило слишком много и иррационально, да и один хуй не сработало

Ответы72376

30 сен, 14:43 339 1272376

>>1272317
Перемудрил ты что-то. Достаточно одного прохода с двумя ифами на проверку меньше минимума и больше максимума. В теле ифа присваиваешь новый мин/макс и тут же обновляешь рядок с колонкой, а не в следующем обходе.

Ответы72381

30 сен, 14:48 340 1272381

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

Ответы72411

30 сен, 15:51 341 1272405

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

Ответы7248173175

30 сен, 16:14 342 1272411

>>1272381
Всё, я разобрался. Просто присвоил в цикл проверки еще и значение, чтобы клетка равнялась нулю, и инициилизировал ее нулём до выполнения.

30 сен, 16:27 343 1272415

Ребят подскажите, почему этот цикл будет работать?
vector<int> name = {5, 2, 4 ,1};
for(int i : name) { cout << i << " ";}
В чём суть это записи?

Ответы724207248672489

30 сен, 16:41 344 1272420

>>1272415
Почленный цикл, берёт и работает.

30 сен, 19:38 345 1272481

>>1272405
Фабричный метод

30 сен, 19:43 346 1272486

>>1272415
цикл for(int i : name) {...} раскрывается в цикл
for(vector<int>::iterator it = name.begin(); it != name.end(); ++it)
{
int i = ^it;
...
}
^ -- это звездочка. Кури итераторы, в общем.

Ответы72618

30 сен, 19:45 347 1272489

>>1272415
Вот поэтому.
https://en.cppreference.com/w/cpp/language/range-for

Но не во всех случаях удобно пользоваться ею, omp не параллелит такой цикл

Ответы72618

30 сен, 19:53 348 1272497

Зачем подключать _CRT_SECURE_NO_WARNINGS?

Ответы72577

30 сен, 22:52 349 1272577

>>1272497
Шоб потом мамкины хацкеры могли выебать твою программу во все щели, а конкретнее там где ты используешь небезопасные функции типа gets и scanf, а конкретнее методом анального переполнения буфера, чтением и перезаписью в/из памяти там, где ты напишешь printf(...) c форматированием и забудешь указать типы данных, и прочим распылением в кучу.

Ответы72930

1 окт, 01:18 350 1272618

>>1272489
>>1272486
Благодарю.

1 окт, 15:41 351 1272844

>>1271519
К сожалению, это требование на work permit вообще везде.

1 окт, 19:54 352 1272930

>>1272577
спасибо

1 окт, 20:06 353 1272933

>>1263725
Все советы годные, кроме работы в Яндексе. Автор, ты как будто обосрался с подливой в конце, ну как так то

Ответы73037

1 окт, 23:31 354 1273037

>>1272933
есть большая разница между "на старте карьеры" и "просто попасть". Опытному разработчику там нехуй делать, а вот новичку посмотреть на большие проекты, процессы разработки и прочее - максимально полезно. Да и в резюме строчка почетная.

Ответы73058

2 окт, 00:33 355 1273052

Гайс, ну подскажите, как в данном коде реализовать деструктор, чтобы не прострелить себе ногу ? Компулятор говорит, что я - мудак и память в хипе не удаляется, не догоняю, как удалить. Заранее - аригато.
https://pastebin.com/6GUtDp1E

Ответы730617308573276

2 окт, 00:52 356 1273058

>>1273037
А куда тогда податься опытному разработчику?

Ответы73072

2 окт, 00:58 357 1273061

>>1273052
Бро, прости, но компилятор прав.
Ты пытался написать стек, но сделал это настолько через задницу, что мне не понять твою задумку (то есть твоя реализация очень далека от того как это делается). Ты бы хоть комментарии оставлял, если хочешь чтобы тебе помогали разобраться.
Попробуй нарисовать схему устройства/работы твоего стека.

Ответы7306473086

2 окт, 01:19 358 1273064

>>1273061
Да не, тут суть не в стеке, мне хочется понять, как удалить динамический массив и всю память из хипа.

Ответы7307473086

2 окт, 02:02 359 1273072

>>1273058
Та же Нвидия

2 окт, 02:09 360 1273074

>>1273064
А где у тебя там "динамический массив"?

2 окт, 03:21 361 1273085

>>1273052
~Stack()
{
delete top->num;
delete top;
}

2 окт, 03:28 362 1273086

>>1273064
>мне хочется понять, как удалить динамический массив и всю память из хипа.
Ты его сначала создай. У тебя же нет динамического массива.

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

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

Слушай этого анона >>1273061

Ответы73109

2 окт, 04:25 363 1273091

Как вам вот такая вакансия?
https://spb.hh.ru/vacancy/27996564

2 окт, 07:51 364 1273109

>>1273086
О, спасибо огромное, Анончик. Я понял, где проебался.

Ответы73276

2 окт, 09:58 365 1273175

>>1272405
Делаешь аллокатор на большом, заранее выделенном куске кучи.

Ответы73188

2 окт, 10:39 366 1273188

>>1273175
Не забудь в деструкторе прописать соответствующий оператор delete.

Ответы73276

2 окт, 11:12 367 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 раз, требуются много раз.
Цикл имитирует сложную работу по вычислению.

Ответы73659

2 окт, 12:57 368 1273276

>>1273052
>>1273109
->
>>1273188

2 окт, 15:53 369 1273406

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

Ответы7341173422

2 окт, 16:00 370 1273411

>>1273406
Функцию напиши.

29 Кб, 438x356
2 окт, 16:13 371 1273422

>>1273406

Ответы73454

2 окт, 17:11 372 1273454

40 Кб, 653x43115 Кб, 926x17121 Кб, 860x334

>>1273422
В том то и дело, что там не массив. Но на ту хуйню я уже забил. Думаю как обычно, внезапно прийдет озарение позже. Подскажите лучше почему не вызывается перегруженная функция.
На первом скрине заголовок класса, на втором реализация. А вызывается какого-то хуя обычная функция cout. Не знаю как скинуть код в трёх файлах

Ответы73466

2 окт, 17:32 373 1273466

>>1273454
>Подскажите лучше почему не вызывается перегруженная функция.

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

...прототипом будет...
>istream& operator>>(istream& is, complex1 clx);
>ostream& operator<<(ostream& os, complex1 clx);

Ответы73488

2 окт, 18:16 374 1273488

>>1273466
Ебать я долбаеб, аж стыдно стало, спасибо

3 окт, 00:03 375 1273659

>>1273209
Кури ленивый синглтон. Как сделать не скажу, так как сам не применял.

3 окт, 00:39 376 1273666

Аноны, а что с вордовским doc'ом не так?
Я хотел найти библиотеку, чтобы программно создавать доки, и надеялся что ее будет просто найти - это же все-таки DOC, охуеть какой популярный формат. Но ничего не нашёл. Рили ничего.
Может кто знает способ, который хотя бы позволит редактировать готовые доки, на уровне найти/изменить строку. Все решения что я смог нагуглить требуют установленного ворда, а такие решения не очень подходят.

Ответы7367573903

3 окт, 01:00 377 1273675

>>1273666
Не связывайся с DOC, ищи либу для DOCX aka Office Open XML format

Ответы73678

3 окт, 01:14 378 1273678

>>1273675
Уже связался, не по своей воле. Но не ожидал что все так плохо будет.
По сути мне просто нужно генерить доки по одному шаблону, форматирование там одинаковое, только количество текста разное в паре абзацев. С нуля я так понял мне не получится такие генерить, но хотя бы брать готовый док и текст изменять в нём. Я верю что есть способ.

Ответы73685

3 окт, 01:52 379 1273685

>>1273678
Если word установлен, то можешь заюзать его COM интерфейс. Но всё равно придётся хорошенько поебаться.

3 окт, 13:41 380 1273903

>>1273666
Подобные вещи хорошо делаются на дотнете. Я ради подобных ништяков немного C++\CLI освоил, который дергаю из крестового кода

3 окт, 14:55 381 1273937

У меня вопрос к крестопидорам. Я понимаю что раии, ексепшион-тред сэйфети и прочая хуита идущая в нагрузку к трехстрочному коду дефолтом сейчас стильно модно молодежно. Но зачем вы превращаете язык в тормознутый ждаваскипт? Понижаете уровень вхождения для ньюфагов?
Код http://cpp.sh/33c4e релейтед
Мимо из си треда.

Ответы7402774236742647426574266

3 окт, 18:21 382 1274027

>>1273937
В случае с вектором очевидно: выделенная память заполняется значениями по умолчанию, то есть нулями.

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

Кстати, make_unique<uint8_t[]> тоже инициализирует объекты и работает ещё хуже вектора.

Ответы7423678556

4 окт, 02:39 383 1274236

>>1273937
>>1274027
calloc хоть и отдает кусок памяти заполненный нулями, но само заполнение не происходит в этот момент. На этот область памяти мапируется уже обнуленная страница. А вот при дальнейшем изменении уже сработает copy-on-write.

4 окт, 07:43 384 1274264

>>1273937
>Код http://cpp.sh/33c4e релейтед
Да нихуя не релейтед. Только конченный дебил поведётся на это.
Компилятор просто выкинул calloc/free. Отключи оптимизации и calloc сравняется с unique_ptr.

4 окт, 07:45 385 1274265

>>1273937
>Код http://cpp.sh/33c4e релейтед
https://wandbox.org/permlink/AiNRFjjGe1ORAn0g вот.
2 фемтопикосекунды на создание вектора.
Шах и мат, си-дауны.

4 окт, 07:50 386 1274266

>>1273937
>Код http://cpp.sh/33c4e релейтед
https://wandbox.org/permlink/gHwU2iOcxoebK5wJ вот.
calloc/free — медленнее, чем вектор.

573 Кб, 429x532
4 окт, 12:13 387 1274366

Потсоны, это, блядь, законно чтоле?

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

https://github.com/alecthomas/entityx/blob/master/examples/example.cc

Ответы74370

4 окт, 12:21 388 1274370

>>1274366
CRTP

Ответы74383

4 окт, 12:45 389 1274383

>>1274370

Охуеть.

4 окт, 13:16 390 1274396

>>1272264
У страуструпа в его The C++ Programming Language есть готовая реализация.

4 окт, 13:58 391 1274429

>>1272264

парсером и лексером

4 окт, 15:52 392 1274556

27 Кб, 801x1162 Кб, 200x87

Добрый день.

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

Я бы хотел узнать как сделать так, чтобы цифры были четко друг под другом, двоеточие под двоеточием и так далее, ну и длина строк со знаками "+" подбиралась под длину строки автоматически.

Ответы7455975148

4 окт, 15:54 393 1274559

>>1274556
>двоеточие под двоеточием и так далее
printf не учил?

Ответы74590

4 окт, 16:38 394 1274590

>>1274559
лутши fmtlib

Ответы75059

1 Кб, 260x68
4 окт, 18:50 395 1274670

Хелпаните с задачкой, я даун
Даны x,y,z найти a

Ответы74685747167471975453

4 окт, 19:20 396 1274685

>>1274670
Ты не можешь примитивное уравнение перевести в код?
Пиздец

Ответы74934

4 окт, 19:58 397 1274716

>>1274670
a = 1 + sin^2(x + y) / 2 + |x-2x/(1 + x^2*y^2)| + x2

Не благодари

Ответы7473274749

4 Кб, 260x68
4 окт, 20:00 398 1274719

>>1274670
>найти a
Не благодари

4 окт, 20:15 399 1274732

>>1274716
Ты долбоёб? ты долбоёб. не благодари. Блять бесят такие надменные уебаны. А модуль то как взять? Помогите нафане ёбаный стос.

Ответы7487779428

4 окт, 20:28 400 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 + С/П

4 окт, 20:57 401 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
что это???

5 окт, 00:43 402 1274877

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

5 окт, 02:02 403 1274894

>>1263368 (OP)
Бля, нахуй вы православное расслоенное произведение называете pullback, вроде не смузихлёбы же коворкинговые, дядьки-крестовики, а туда же.

5 окт, 05:45 404 1274904

>>1272264
1. Подглядываешь какой у тебя следующий символ с помощью cin.peek(), считываешь даблы оператором >>, а символы cin.get().
2. Получаешь число. Далее в цикле пока !cin.eof() складываешь\вычитаешь последующие числа. Возвращаешь результат если ничего не осталось или встретил неизвестный символ. Это функция add_sub(). Пишешь аналогичную функцию div_mul, которая умножает\делит и возвращает результат если встречает неизвестный символ. В функции add_sub заменяешь все получения следующих чисел на вызов div_mul. PROFIT!!1
3. Рекурсия.

5 окт, 09:14 405 1274934

>>1274685
Соррии, я методичку дальше не прочитал к лабе
Первая лаба первый курс

5 окт, 10:13 406 1274953

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

5 окт, 13:28 407 1275059

>>1274590
>fmtlib
Кстати, предлагают ко включению в стандарт wg21.link/p0645

5 окт, 15:30 408 1275148

>>1274556
Что за шрифт на 1 пике?

Ответы75341

5 окт, 16:20 409 1275169

Кто-нибудь видел подобное?
https://github.com/id-Software/DOOM-3-BFG/blob/master/neo/d3xp/menus/MenuHandler_Shell.cpp#L385

Ответы75190

5 окт, 17:00 410 1275190

>>1275169
нет, но зачем так делать - строжайше не понимаю

5 окт, 18:07 411 1275239

Как создать вероятность события?К примеру, вероятность крита в игре 30%.

Ответы7525875266

5 окт, 18:55 412 1275258

>>1275239
Блять ты ебанулся такие вопросы в пятницу вечером зодовать?

5 окт, 19:08 413 1275266

>>1275239
if (rand() % 10 ) < 3 ?

5 окт, 19:35 414 1275276

А ну да, посчитай рандом от 1 до 100 в натуральных числах, потом проверь если результат попал от 1 до 30, то хедшот, если нет, то промах.

5 окт, 22:48 415 1275341

>>1275148
'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback', размер шрифта 12

Ответы75632

6 окт, 10:40 416 1275453

>>1274670
БГУИРовская методичка?

6 окт, 11:22 417 1275463

Аноны памагите. Есть указатель на символьный массив
>char hobby;
Как его блять вывести на экран? Сейчас пытался простенький класс написать, и понял что не знаю как это сделать, ибо программа просто не работает если выводить hobby или hobby

Ответы754647546875497

6 окт, 11:24 418 1275464

>>1275463
Между char и hobby звёздочка, не отобразилось почему-то

6 окт, 11:47 419 1275468

>>1275463

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

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

Ответы75470

6 окт, 11:50 420 1275470

>>1275468
Почему ты константный указатель инициилизировал после обьявления, и это не работает, писал в первом посте. Сейчас код прикреплю cpp.sh/9n3oy

Ответы7547675478

6 окт, 12:06 421 1275476

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

Ответы7547775497

6 окт, 12:07 422 1275477

>>1275476
Хм, и вправду. Сейчас попробую поменять

Ответы75479

6 окт, 12:09 423 1275478

>>1275470
Все норм. Это не константный указатель, это указатель на константные данные.

6 окт, 12:13 424 1275479

>>1275477
Я скорее всего из-за недостатка опыта не вижу какой-то очевиднешней хуйни. Хобби оно кстати присваивает по всей видимости, ибо если заменить вывод на вывод адреса то оно будет давать разные адреса, как и нужно. Если указатель никуда не указывает, его же нужно нулевым инициализировать, верно?

Ответы75485

6 окт, 12:22 425 1275485

>>1275479
>Хобби оно кстати присваивает по всей видимости, ибо если заменить вывод на вывод адреса то оно будет давать разные адреса, как и нужно. Если указатель никуда не указывает, его же нужно нулевым инициализировать, верно?
>

Я сам не особо опытный если быть честными, но твоя программа падает на методе ShowCow, и насколько я понимаю это из за того что ты пытаешься принтануть нулл поинтер, что если заменить в конструкторе по умолчанию hobby = NULL; на hobby = new char; ?

Ответы75487

37 Кб, 1094x636
6 окт, 12:24 426 1275487

>>1275485
Теперь всё работает, но в первом обьекте выдаёт хуйню вместо значений. Почему с NULL не работает? В книге написано либо с ним делать, либо с nullptr.

Ответы7548875499

19 Кб, 419x336
6 окт, 12:28 427 1275488

>>1275487
> обьекте выдаёт хуйню вместо значений. Почему с NULL не работает? В книге написано либо с ним делать, либо с nullptr.

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

Пикрил - результат работы программы. у меня убунту - никаких артефактов не вижу в консоли

Ответы75489

6 окт, 12:29 428 1275489

>>1275488
Видимо опять студия шалит. Ладно, тут важнее было понять как это работает, спасибо за помощь всем отписавшимся. Если когда-то стану нормальным программистом тоже помогать буду

Ответы75490

6 окт, 12:32 429 1275490

>>1275489
Ну главное мы поняли что тут не в принте дело а в дефолтном конструкторе, я один здесь кстати :)

Ответы75491

6 окт, 12:35 430 1275491

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

6 окт, 12:56 431 1275497

151 Кб, 1276x873116 Кб, 1276x873

>>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 его определение.

Ответы7550575529

6 окт, 12:58 432 1275499

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

AND WE HAVE A WINNER!!!

1275497-анон

Ответы75505

6 окт, 13:04 433 1275505

>>1275499
>>1275497
Спасибо, понял насчёт нулевого указателя. Алсо, где можно посмотреть на прототипы функций который обьявлены в библиотеках? Внутри какая-то странная дичь, а самих функций я не нашёл. Просто недавно узнал что с помощью strcpy() можно копировать со сдвигом, а если бы не пример я бы об этом никогда и не узнал.

Ответы7550675534

6 окт, 13:06 434 1275506

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

Ответы7550875534

6 окт, 13:10 435 1275508

>>1275506
Насколько я понял ты пишешь в студии, попробуй по функции кликнуть правой кнопкой и там будет - перейти к дефинишну, декларейшну и тд

Ответы75510

36 Кб, 709x202
6 окт, 13:14 436 1275510

>>1275508
Ну вот напимер для сиаутов и сиинов. Это и есть определение? Я ожидал увидеть что-то типо ostream & ostream(...) {};

6 окт, 14:05 437 1275529

>>1275497
Нихуя, тут кто-то до сих пор в 98й студии графоманит.

Ответы755317553476702

6 окт, 14:11 438 1275531

>>1275529
Даже без подсветки есть
https://www.youtube.com/watch?v=kD93nsghj9A

Ответы75763

6 окт, 14:36 439 1275534

>>1275505
>Просто недавно узнал что с помощью strcpy() можно копировать со сдвигом, а если бы не пример я бы об этом никогда и не узнал.
Ссылку в студию.

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

>>1275529
>Нихуя, тут кто-то до сих пор в 98й студии графоманит.
Так а хуле нет? Легкая, быстрая IDE. Ничего лишнего. Для новичка - самое то. Правда пришлось под это дело WinXP на виртуалку ставить, но все равно. Потом, когда садишься на MSVS 2017, охуеваешь от одной только возможности ебашить код сразу в 2 файла в одном окне.

Ответы75535

6 окт, 14:40 440 1275535

>>1275534
Пример уже не найду, сейчас по памяти напишу:
strcpy(result,st.str);
strcpy(result+st.str,st1.str);
https://ru.stackoverflow.com/questions/185114/Перегрузка-оператора-конкатенация
Мне просто все говорят что нужно именно понять как оно работает, а не просто брать и использовать. В ВУЗе даже запрещают использовать библиотеку string, либо сначала продемонстрировать самостоятельную реализацию, а потом уже заменять на нормальный код.

Ответы75565

6 окт, 15:12 441 1275551

Подскажите плес, как добавлять библиотеки в CodeLite или подобную ide.

6 окт, 15:46 442 1275565

>>1275535
Сишные функции уже скомпилированые лежат в виде объектых файлов.
Вот тебе пример strcpy, лол https://ideone.com/cCUn0j

Ответы75577

6 окт, 16:16 443 1275577

>>1275565
Бля. А если я захочу понять как работает та же strcat то мне на свой опыт прийдется опираться? Или всем похуй и ими пользуются так же как и каким-то cout, не задумываясь об использовании? Внезапно понял что это принципы ООП

Ответы7560275604

6 окт, 17:01 444 1275602

>>1275577
Тебе сначала нужно понять, что из себя представляет строка и научится работать с указателями. Интуитивное понимание всех этих строковых функций появится после. Но если тебе нужин быстрый фикс, то вот https://linux.die.net/man/3/strcat

Ответы75605

6 окт, 17:03 445 1275604

>>1275577
>всем похуй и ими пользуются так же как и каким-то cout, не задумываясь об использовании
This

6 окт, 17:03 446 1275605

>>1275602
>>1275602
> научится работать с указателями
Тут выше писали что современный С++ делает всё, чтобы люди не ебались с этими указателями. А за ссыль спасибо, я так понимаю это все с практикой прийдет?

Ответы7560875832

6 окт, 17:08 447 1275608

>>1275605
> чтобы люди не ебались с этими указателями
enable_shared_from_this
Пиздец бесит

6 окт, 17:54 448 1275632

>>1275341
Добра

6 окт, 23:56 449 1275763

>>1275531
Я смотрю там у него ещё есть комментарии // TODO, { стоят без переноса. Чувак прямо из прошлого стримит.

Ответы75774

7 окт, 00:28 450 1275774

>>1275763
А чего добился ты?
https://github.com/nothings

Ответы75811

7 окт, 03:12 451 1275811

>>1275774
Я смог попасть в будущее.
Воксельные игрушки есть на compute shader'ах написанные. Его поделка сама по себе любопытная, но на данный момент уже сильно пахнет мамонтами.
Кстати странно, что он git вместо православной cvs использует как вспомню про неё, аж трисёт пздц.

7 окт, 08:23 452 1275832

>>1275605
>Тут выше писали что современный С++ делает всё, чтобы люди не ебались с этими указателями
Не ебаться с ними это одно, не знать как они работают это другое. С++ дизайнился как язык с абстракциями, но при этом производительный как С. А производительность эта получается как-раз за счет низкоуровневой ебли с разными вещами, включая указатели.
Я бы на твоем месте задумался, а нужен ли мне С++. Моим первым языком были кресты, и, после того как я попробовал другие языки, я жалею о том, что не сдеал этого раньше. Я не хочу сказать, что С++ плох, просто так оказалось, что задачи которые я решал, луше подходили для других языков и я переплачивал своим временем за ненужную мне производительность.

Ответы758407601776167

7 окт, 09:37 453 1275840

>>1275832
Ну понятное дело что я не забью на них. Без них я так понимаю никак, те же указатели на кучу делать как-то нужно.

7 окт, 16:19 454 1276017

>>1275832
10 литров чаю этому адеквату

7 окт, 20:38 455 1276167

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

Ответы7617776187

7 окт, 20:59 456 1276177

>>1276167
Зачем тогда отпочковывался ассемблер если был фортран?

Ответы76713

7 окт, 21:35 457 1276187

>>1276167
Мне вот наоборот байты поебывать и ковыряться в профайлере как-то проще, чем выдумывать всякие там абстракции. Я прям кончаю, когда программа начинает работать быстрее. А вот как-то структурировать код я не умею, от того и страдаю.

Ответы76397

8 окт, 14:39 458 1276397

>>1276187
Такая же хуйня, брат.

8 окт, 16:24 459 1276430

Как лучше реализовать инвентарь в текстовой игре? Вектор юзать, массив объектов?

8 окт, 23:01 460 1276601

64 Кб, 989x40374 Кб, 953x401

Привет,анон!Объясни назначение аллокаторов.До этого листинга страуструп использовал new и delete,и тут вдруг пошел такой изъёб.Зачем?

Ответы766037662276708

8 окт, 23:09 461 1276603

>>1276601
Очень редко (но иногда очень важно), чтобы память бралась не из кучи, а из чего-нибудь другого. Например, чтобы сделать всякого рода кеши. Или, например, Fixed-Size аллокаторы, которые работают именно так, как тебе надо, причём со скоростью света. Но это в принципе нужно только для эмбедщины и риалтаймщины. И хрен знает, как именно это сделано в плюсах, такие вещи я руками всегда писал. STL слишком непредсказуем.

Ответы7660876622

8 окт, 23:12 462 1276608

>>1276603
Спасибо,анон!

sage 9 окт, 00:15 463 1276622

>>1276601
Добавлю к анону >>1276603

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

9 окт, 09:35 464 1276702

>>1275529
>Нихуя, тут кто-то до сих пор в 98й студии графоманит.
Бывают чудаки, которые vim или emacs пользуются.

Ответы76704

9 окт, 09:37 465 1276704

>>1276702
>vim
Они просто из него выйти не могут.

9 окт, 10:14 466 1276708

>>1276601

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

https://github.com/CRYTEK/CRYENGINE/tree/3ea599c619a30ee406dc3c9fd02a3427b597279c/Code/CryEngine/CryCommon/CryMemory

9 окт, 10:27 467 1276713

>>1276177
>Зачем тогда отпочковывался ассемблер если был фортран?

Потому что:

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

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

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

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

Что какбе намекает нам о его реальной необходимости во втором десятилетии 21 века.

9 окт, 18:24 468 1276883

Анон, поясни за string_view
Когда и как его лучше использовать?
Интересует передача в функцию, возврат из функции.

Ответы76957

9 окт, 20:03 469 1276957

>>1276883
Замена для const string&, но только не тратятся ресурсы, если ты передаешь туда char*

Ответы77399

9 окт, 23:16 470 1277062

Что вообще делают на плюсах? Вот скажем есть чувак в ДС, он не знает никаких предметных областей, типа геймдева или машин лернинга. Но знает модерн С++.
Какие вот у него перспективы? Я чет смотрю вакансии на хх и там какая-то хуйня. Требования обычные, но что они блять пишут вообще на голых крестах? Калькуляторы на винапи или что блять? Я вот не могу представить.
Есть вообще смысл задротить плюсы, если ты не занимаешься наукоемкими штуками? Не выйдет так, что ты будешь через n лет сосать хуй в какой-нибудь отечественной компании за 50к в ДС?

Ответы7706677078770797708277121

9 окт, 23:17 471 1277066

>>1277062
А ты быстро смекнул что к чему. У многих на это уходят годы.

9 окт, 23:40 472 1277078

>>1277062
Игоры

9 окт, 23:43 473 1277079

>>1277062
А по делу, бекенд например который работает со стримом видео. Кроссплатформенные либы, под разные архитектуры. Но пока ты достигнешь такого уровня у тебя волосня на яицах поседеет.

9 окт, 23:45 474 1277080

Так же серъезные забугорные вакухи зачастую это стронг скил це плюс плюс. Так же погляди нпример на русский стартап nginx у них постоянно висят вакухи це плюс плюс

9 окт, 23:52 475 1277082

>>1277062
>Что вообще делают на плюсах?
Поддержвают легаси десктопный софт (CADы, фотошопы, видеошопы, аудиошопы и плагины к ним), пишут системное ПО (в первую очередь эмбед), высокопроизводительные приложения с низкой латенси (например софт для стриминга видео, для крипты и т. п.).
>Какие вот у него перспективы?
Хуевые, так как конкурировать нужно будет с мужиками двадцатилетним опытом. Эти же мужики давят зарплаты вниз - их очень дохуя.
Учи CUDA, там процент шарящих мужиков с личинками и ипотекой значительно ниже.
>Есть вообще смысл задротить плюсы, если ты не занимаешься наукоемкими штуками?
Математик, знающий кресты, и рождающий более-менее приемлемый код (типа меня), обезьяна настолько редкая, что на фирмах, как правило, один дядька пишет алгоритмы на скриптовом языке, а второй уже переписывает их на C++ (особенно в случае CUDA). Поэтому имеет смысл. У меня коллега (который как раз 35+) сначала писал обвязки для моего говнокода, теперь уже сам вкатился в научную часть и пилит что-то.
>Не выйдет так, что ты будешь через n лет сосать хуй в какой-нибудь отечественной компании за 50к в ДС?
Как раз с крестами зарубежную удаленку найти просто, поэтому вопрос сосать хуи в отечественной компании или нет не стоит, после пары лет опыта надо уже подыскивать западную удаленку.

Ответы7709078560

10 окт, 00:20 476 1277090

>>1277082
>Учи CUDA
Что там учить? Там вопрос не скилла, а просто времени. И приложений твоей куды особо нет. Ну кроме как диффуры решать в нии, чем ты и занимаешься похоже.

Ответы7710377213

10 окт, 00:53 477 1277103

>>1277090
Манька с клиповым мышлением, предложение до конца дочитай.

Ответы77111

10 окт, 01:01 478 1277111

>>1277103
Дочитал и что там?

Ответы77114

10 окт, 01:05 479 1277114

>>1277111
Там ответ на вопрос, почему нужно учить CUDA.
На самом деле для молодежи сейчас есть ровно два стула, либо учить CUDA, либо не учить кресты вообще. Все остальное дно и прозябание в безуспешных попытках конкуренции с сорокалетними дядьками.

Ответы77119

10 окт, 01:24 480 1277119

>>1277114
Да ты заебал. Где твоя куда используется вообще? На хх 20 вакансий с кудой на весь ДС, из них 15 с машин лернингом. Че ты за дичь втираешь? Ни у кого блять нету кластеров с нвидиа, кроме каких-нибудь универов, а если какой-то софт на gpu, то там opencl юзают по понятным причинам.

Ответы77127

10 окт, 01:37 481 1277121

>>1277062
Там выше про сорокалетних мужиков уже антон отписался. А получилось это потому,что за последние лет этак десять с++ стабильно выдавливался из привычных ниш другими языками. Это вызвало жёсткую конкуренцию и навес предложения над спросом. Так что лучше выбрать другой язык для вкатывания, а c++ иметь прозапас (либо пару-тройку лет работать в говНИИ/касперском/яндексе за жрат, а потом уёбывать на галеру/удалёнку или за бугор).

10 окт, 03:11 482 1277127

>>1277119
>Где твоя куда используется вообще?
Текущее десятилетие это миграция высокопроизводительного софта на видюхи. CUDA, OpenCL - не так важно, но у нвидии намного лучше тулчейн, а отлаженный CUDA-код переносится на OpenCL чисто механически. Софт, как правило, юзает, и то, и то, потому что на карточках nvidia opencl работает медленно, а особых проблем поддерживать два API нет, если, конечно, у тебя не софт уровня OpenCV.
>На хх 20 вакансий с кудой на весь ДС, из них 15 с машин лернингом.
И что? Со словом джава вакансий в два раза больше, чем со словом с++, однако почему-то ты в крестотреде. Если для тебя критерий - количество вакансий, что ты тут вообще забыл. Это рынок, можно работать на широком рынке взаимозаменяемых обезьянок, а можно быть эксклюзивным спецом, и искать новую работу на месяц дольше, но зато с зарплатой повыше автоматом. Тебе нужна одна вакансия, на которую тебя возьмут. Остальные это просто информационный шум.
А теперь пройдись по этой тысяче вакансий с++ на хх и выкинь оттуда поддержку легаси говна, ебанутых людей ("Проект - десктопный клиент лично-командного мессенджера." - на С++ в 2018 году), вакансии, где с++ упоминается в списке из 20 языков и прочий кал. Останется, может, сотня чего-то годного. Из них 10 будут теми, где знание видюх жирный плюс. И это дохуя.

Ответы7713177158

10 окт, 04:09 483 1277131

>>1277127
>а можно быть эксклюзивным спецом, и искать новую работу на месяц дольше
Ну тут такое... Можно и за год не дождаться.

10 окт, 07:46 484 1277158

>>1277127
>Текущее десятилетие это миграция высокопроизводительного софта на видюхи

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

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

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

Ответы77175

10 окт, 08:53 485 1277175

>>1277158
Как боженька расписал. Но с точки зрения наличия работы вся эта ебанина это очень хорошо.

10 окт, 09:42 486 1277188

Ух, не думал что у вас все так плохо плюс сисисьники

Ответы77211

10 окт, 10:58 487 1277211

>>1277188
Да. Плохо и неинтересно. Не заходи сюда.

10 окт, 10:59 488 1277213

>>1277090
>Ну кроме как диффуры решать в нии
Дифуры на куде как раз очень неудобно решать.

10 окт, 19:59 489 1277399

>>1276957
А если у меня small string optimization срабатывает?

6 Кб, 569x107
10 окт, 23:06 490 1277472

Пикрелейтед, temp - структура-шаблон intg, у которой есть метод l_3 с одним int в параметрах.
Как корректно записать тип r без auto или decltype? (Если попробовать его привести к другому типу, он обзывается как в комментарии, и такой тип даже не компилируется.
И как вообще этот объект называется, лол? По запросу "указатель на метод класса" в первых 4 пунктах что-то другое.

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

Ответы7748277486

10 окт, 23:36 491 1277482

>>1277472
Всё просто и понятно, как это обычно бывает с указателями на функции.
RetT (intg<T>::⁎ r)(int) = &intg<T>::l_3;

https://en.cppreference.com/w/cpp/language/pointer#Pointers_to_member_functions

Ответы77504

10 окт, 23:45 492 1277486

>>1277472
>И как вообще этот объект называется, лол? По запросу "указатель на метод класса" в первых 4 пунктах что-то другое.
Указатель на метод отличается от указателя на функцию тем, что у метода первым параметром должен идти указатель this. Поэтому он и cannot convert.

Ответы7748777504

10 окт, 23:49 493 1277487

>>1277486
А если это static метод?

1 Кб, 263x53
11 окт, 00:36 494 1277504

>>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. Код то нормально компилируется.

Ответы77519

11 окт, 01:25 495 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;

Ответы77524

11 Кб, 375x267
11 окт, 02:24 496 1277524

>>1277519
Нет, qtcreator+mingw64. Вот тут работает любое из a.f/&a.f/&A::f - даже предупреждений нет. Меня тоже удивило, по сравнению с требованием ко всяким typename это очень неожиданно.

Ответы77558

11 окт, 09:26 497 1277558

>>1277524
Зачем таике ебанутые наименования?

Ответы78076

11 окт, 12:40 498 1277614

Анон, вопрос не про с++, но тем не менее
Как проектируют системы? Не имею ввиду какие-то мегапрограммы типа игр, браузеров и тд. А, допустим, какие-то их небольшие элементы/части.
Например, система событий. Можно написать на switch/case что-то, можно с наследованием или какую йобу на шаблонах.
Как учиться таким штукам? Читать код, конечно, можно и нужно, но и авторы ведь тоже откуда-то эти мысли брали.

Ответы776727767377739

11 окт, 15:11 499 1277672

>>1277614
>Как проектируют системы?

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

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

11 окт, 15:12 500 1277673

>>1277614

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

Ответы77740

11 окт, 16:41 501 1277739

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

11 окт, 16:41 502 1277740

>>1277673
Говно уровня гербалайфа.

931 Кб, 2000x2000
11 окт, 18:51 503 1277812

>>1265219

Ответы77839

11 окт, 18:59 504 1277817

>>1263368 (OP)
Добрый вечер дороги антуаны. Нужна ваша помощь.
https://pastebin.com/uE5sNGXj
Код для полиза. Не могу разобраться в строчках:
16)Stack() : head(0) {}
67)return head == 0 ? true : false;
Искал в интернете, 67 строчка связана с тернарным оператором. Я правильно понял, что если head == 0, то вернется true, если нет, то false?
Про 16-ю строчку вообще ничего не понял, нарыл только что-то связанное с конструкторами класса, но на сколько я понимаю, это не тот случай. По этому прошу помочь разобраться.

Ответы7782177824

11 окт, 19:01 505 1277821

>>1277817
> Я правильно понял, что если head == 0, то вернется true, если нет, то false?
Йеп

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

https://en.cppreference.com/w/cpp/language/initializer_list

Ответы77826

11 окт, 19:03 506 1277824

>>1277817
Если это действительно, что-то связанное с классами, то есть ли другое объяснение этому двоеточию. Классы мы только начали проходить, а это долг полугодовой давности, т.е тогда мы знать не знали про классы. И возможно препода не устроит такой ответ.

11 окт, 19:07 507 1277826

>>1277821
Спасибо за помощь!

19 Кб, 300x300
11 окт, 20:08 508 1277839

>>1277812

36 Кб, 902x659
11 окт, 20:48 509 1277847

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

Ответы77850

Аноним 11 окт, 21:01 510 1277850

>>1277847
https://habr.com/post/147373/

Ответы77857

26 Кб, 646x603
11 окт, 21:10 511 1277857

>>1277850
Спасибки, разобрался уже, до этого чёт не мог нагуглить. facepalm

12 окт, 12:42 512 1278049

Кайтесь!
https://blog.knatten.org/2018/10/12/1662/

12 окт, 14:12 513 1278076

7 Кб, 278x2192 Кб, 433x41

Структура с полями abcdef. Почему в с++ отказались от подобного синтаксиса инициализации структур?
В си работает, в с++ только если указывать несколько последовательно объявленных в структуре полей, из-за чего весь смысл указания имён полей теряется.

>>1277558
Для краткости, это же пример. Да там и вся программа просто поделка на один день, просто попробовать сделать одну штуку.

Ответы782557833878648

12 окт, 19:27 514 1278255

>>1278076
в c++ именованные аргументы в функциях/конструкторах заменяются правильным использованием системы типов

12 окт, 21:32 515 1278338

>>1278076
Я слышал, что какие-то проблемы с грамматикой были раньше (хотя как будто их и не было никогда, грамматика плюсов дохрена перегружена и так). В двадцатых плюсах вроде исправили:
https://en.cppreference.com/w/cpp/language/aggregate_initialization

13 окт, 01:14 516 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]
Что это за залупа такая? Реально эти макароны писать надо? Что-то я не припомню, как я раньше хоть раз такое видел.

Ответы78609

13 окт, 18:36 517 1278556

>>1274027
Исключения не тормозят рантайм.
Смотри не пиздани на собеседовании где нибудь такую хуйню.

13 окт, 18:40 518 1278560

>>1277082
Ну кстати эти мужики с 20+ опытом потеряли мотивацию и кое как пашут за 100-120 и не особо толку много приносят.

13 окт, 19:51 519 1278609

>>1278406
Возня с dllimport/dllexport для экспорта символов на венде есть всегда и везде.

14 Кб, 508x150
13 окт, 23:05 520 1278648

>>1278076
>Почему в с++ отказались от подобного синтаксиса инициализации структур?

14 окт, 02:07 521 1278693

Всегда хотел вкатиться в плюсы, но всегда было как-то лень, но месяц назад я сказал ВСЕ! Я СДЕЛАЮ ЭТО!. И как же у меня сгорела жопа за этот месяц, ЕБАНЫЙ ТЫЖ СТРАУСТРУП.

Но на самом деле пока все нравится. PS ебал визуал студио с его стандартами

Ответы7916679346

14 окт, 09:58 522 1278746

Будет ли прирост производительности если я каждую переменную буду инициализировать как type* varName = new type, а затем после ее ненадобности удалять их через delete varName?

Ответы78764787657877578939

14 окт, 11:07 523 1278764

>>1278746
Нет.

14 окт, 11:08 524 1278765

>>1278746
Визуал студио автоматически код оптимизирует. Лучше гугли как настроить компилятор грамотно.

Ответы78771

14 окт, 11:19 525 1278771

>>1278765
Окей, спасибо.
Кстати, как можно в студии узнать сколько памяти и времени скушала программа?

Ответы78777

14 окт, 11:22 526 1278775

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

Ответы78778

14 окт, 11:24 527 1278777

>>1278771
Используй встроенный в VS отладчик.

14 окт, 11:27 528 1278778

>>1278775
Я читал, но не нашел об этом инфы.

14 окт, 11:30 529 1278782

Поясните за QT framework. Что за йоба такая и с чем его едят. Кроме того, можно откуда нибудь скачать просто нужные либы и юзать их? Не хочу я ставить сверх визуал студии 100гб этого фрейма.

Ответы78795

14 окт, 12:01 530 1278795

>>1278782
Плюсы - это голый язык, файлы да терминал. Чтобы использовать хоть что-то ещё, надо либо использовать вызовы ОС, либо самостоятельно, либо через фреймворк.
Qt - оконный интерфейс, сеть, интернет-соединения и очень много всего другого. В идеале, если ты не используешь платформенных особенностей и пишешь портабельный C++-код, твою программу можно собрать под любую платформу, которую поддерживает Qt.

Ответы78809

14 окт, 12:27 531 1278809

>>1278795
Допустим в планах десктоп под шиндоус + много работы с винапи и системой в целом. Стоит накатывать QT? Или есть какие-то другие библиотеки/что-то еще? И как это все гуглить? Пытался найти библиотеку для работы с винапи - соснул хуй, якобы везде всё пишут сами. Спасибо за ответ.

Ответы7885178973

14 окт, 13:32 532 1278851

>>1278809
> Пытался найти библиотеку для работы с винапи
M F C
F
C

Ответы78987

14 окт, 14:17 533 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 окт, 14:17 533 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 окт, 15:45 534 1278939

>>1278746
Почитай, что такое куча и стек.

14 окт, 16:57 535 1278973

>>1278809
>библиотеку для работы с винапи
что это такое хоть ёбт

14 окт, 17:17 536 1278976

Сап всем. Помогите начинающему. Искал на просторах сети код программы для перевода из 10чной в 16ную систему исчисления. Нашел, подправил чтоб нравилось мне. Работает код, поясните только откуда там блять взялись эти 48 и 55, понимаю что наверное тупой вопрос, но реально не понимаю. https://pastebin.com/E7E0xzNK

Заранее благодарю.

Ответы79023

14 окт, 17:49 537 1278987

>>1278851
Все говорят что говно + нихуя не упрощает работу. Ахуеть блять, почему за 20 лет никто нормальных библиотек не наклепал? Не верю, что все десктоп-мани на чистом winapi делают. Придется качать QT.

Ответы79127

14 окт, 18:39 538 1279012

Как можно найти минимум и максимум функции?не массива

Ответы790247902579027

14 окт, 19:01 539 1279023

>>1278976
>https://pastebin.com/E7E0xzNK
Автор мудак просто конченный.
48 это код символа '0', а 55 это код 'A'-10.

И это если на время забыть тот неудобный факт, что преобразование в 16-ную систему делается одной строчкой sprintf(hexnum, "%X", num);

Ответы7906379065

14 окт, 19:04 540 1279024

>>1279012
Математико-тред там >>>>>>>>>>>
И вообще оптимизация функций это очень глубокая нора. Функция-то хоть унимодальная?

14 окт, 19:04 541 1279025

>>1279012
Надо посмотреть её код, на основе кода можно сделать этот вывод.

14 окт, 19:07 542 1279027

>>1279012
welcome to "Теория оптимизации"

http://bigor.bmstu.ru/?cnt/?doc=MO/MO.cou
Читай гл.4 и ебись как хочешь

14 окт, 19:57 543 1279063

>>1279023
Можешь объяснить этот момент подробнее? С нулём я понял, а 'A' - 10 что значит?

14 окт, 20:00 544 1279065

>>1279023
Таблицу ASCII я уже нашел, и значения в ней тоже совпадают с теми что ты сказал.

14 окт, 22:28 545 1279127

>>1278987
>почему за 20 лет никто нормальных библиотек не наклепал?
Потому что появился WPF.

14 окт, 23:37 546 1279166

>>1278693
Кидай вижуал студень. Лучше скачай Qt Creator - нормальная такая ide, можно с g++ и линуксом юзать, на винде тоже норм и главное НЕ ТОРМОЗИТ ААА СУКА КАК ЖЕ Я РАД ЧТО ПЕРЕШЕЛ НА НЕГО С ЕБАНОГО ВИЖУАЛ СТУДИО

Ответы79346

15 окт, 10:07 547 1279258

>>1263368 (OP)
Obnovite v shapke faily s knigami. Nekotorie na mege uzhe ne rabotaut. Sorry za translit.

Ответы79313

15 окт, 11:13 548 1279313

>>1279258
Либген тебе в помощь.

15 окт, 11:59 549 1279346

>>1278693
>>1279166
Кидай вижуал студень. Лучше скачай VIM - нормальная такая ide, можно с g++ и линуксом юзать, на винде тоже норм и главное НЕ ТОРМОЗИТ ААА СУКА КАК ЖЕ Я РАД ЧТО ПЕРЕШЕЛ НА НЕГО С ЕБАНОГО ВИЖУАЛ СТУДИО

Ответы7943279449

15 окт, 13:47 550 1279428

>>1274732
Стандартная функция abs(сюда вставить значение).

15 окт, 13:50 551 1279432

>>1279346
>Лучше скачай VIM - нормальная такая ide
Лучше пусть нюфане сублайм или vscode.

15 окт, 13:58 552 1279438

Как можно узнать через g++ сколько памяти кушает программа?

Ответы7945879507

15 окт, 14:21 553 1279449

>>1279346
Не слушай даунов с атлоном ХР вместо компуктера, и работай на нормальных тулзах. Лучше студии ничего не изобрели.

Ответы79548

15 окт, 14:36 554 1279458

>>1279438
мать твою, нельзя ли потоньше?

Ответы79463

15 окт, 14:42 555 1279463

>>1279458
Как можно узнать через GCC скорость работы?

Ответы79687

15 окт, 15:57 556 1279507

>>1279438
Как можно узнать через g++ сколько жоского диска кушает программа?)

Ответы7968979704

15 окт, 16:02 557 1279512

Есть ли смысл вкатываться в область 3D (OpenGL и иже с ним) в 2018, или это не особо перспективное направление?

Ответы7958079920

15 окт, 16:59 558 1279537

Гайс, где найти хороших туториалов по OpenGL(желательно ES). Что- нибудь про запил мини- движка\игоры. Что-то такое.
Заранее аригато.

Ответы7954279711

15 окт, 17:11 559 1279542

>>1279537
https://learnopengl.com/
https://guide.handmadehero.org/code/

15 окт, 17:24 560 1279545

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

15 окт, 17:41 561 1279548

>>1279449
Да твоя ебаная студия прям как твоя тян - сколько бы у тебя ни было ресурсов, ей все мало.

Ответы80614

15 окт, 18:39 562 1279580

>>1279512
Если кратко, то нет.

Ответы79849

15 окт, 22:05 563 1279687

>>1279463
Давай начнём с простого. Какая работа тебе нравится: повар в МакДональдс или курьер?

15 окт, 22:13 564 1279689

>>1279507
в голос

15 окт, 23:05 565 1279704

>>1279507
g++ это govno++?

15 окт, 23:12 566 1279711

>>1279537
https://habr.com/post/350156/

Студент 16 окт, 08:28 567 1279834

Может кто подскажет пару опенсорсов на плюсах, хочу вкатиться в чтение настоящего кода

Ответы79859

16 окт, 10:31 568 1279849

>>1279580
Почему?

Ответы79858

16 окт, 11:41 569 1279858

>>1279849
стамины не хватит чтобы чтобы дойти до хайэнд контента игры с работой за деньги
другой анон

Ответы79880

16 окт, 11:42 570 1279859

>>1279834
Тебе из какой сферы хоть?

16 окт, 12:38 571 1279880

>>1279858
Я миддл разработчик, который сейчас находится без работы, и ищет новые предметные области, ибо пятый год подряд трачу жизнь на десктоп парашу (стек Qt/Qml). Меня просто уже заебало.

Ответы79884

16 окт, 12:48 572 1279884

>>1279880
А, ну так вот в общем ищу в какие смежные области вкатиться. Потихоньку ковыряю вулкан, но не знаю, есть ли резон in the long run.

Ответы79920

16 окт, 13:58 573 1279920

>>1279884
>Потихоньку ковыряю вулкан
Ну это ты зря. Реальный профит с него могут получить только те, кто прохавал работу с gpu с самого низа (вплоть до драйверов). Лучше ковыряй какой-нибудь UE и посмотри на opengl + glsl, чтобы понять общие принципы работы с графикой.
>>1279512
Основной спрос на графику составляет гейдев. Если ты опытный разраб с нормальной ставкой, то вкатываться в него ты скорее всего не станешь. Бесконечный поток студентов сильно режет зарплаты и создаёт на редкость скотские условия труда (дешманский "офис", забитый под завязку, испыталка от полугода, ~70% зп в серую, праздники рабочие, отпуск 2 недели, в "соцпакет" входит только оплачиваемый больничный, отношение к новичкам как к бесправному говну).

Ответы79924

16 окт, 14:06 574 1279924

>>1279920
> Бесконечный поток студентов сильно режет зарплаты и создаёт на редкость скотские условия труда (дешманский "офис", забитый под завязку, испыталка от полугода, ~70% зп в серую, праздники рабочие, отпуск 2 недели, в "соцпакет" входит только оплачиваемый больничный, отношение к новичкам как к бесправному говну).

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

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

Да не то что бы, я не особо далеко ушел, на $15 в час ковырял десктопную парашу, все проекты одинаковы и чувствую эмоциональное выгорание. Хочется свежего глотка воздуха да и предметную область с большим потолочком, чем десктоп.

Ответы80132

16 окт, 19:04 575 1280132

>>1279924
опиши примеры проектов? Сколько человек, что вообще получается на выходе?

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

Думаю перекатиться в с++, который когда то еще со школы изучал. Читаю пока Липпмана. Хочется работать над чем то реальным и на реальном ЯП. Правда как пережить даунгрейд по ЗП не представляю

17 окт, 05:52 576 1280351

в чем разница между MapPolygon и GeoPolygon в Qt? в доках ни слова, ни где ни слова

17 окт, 14:57 577 1280518

Такой вопрос. В консоль надо вводить числа. Если я введу букву, то cin ломается. Это понятно. Но почему не работает связка
cin.clear();
cin.sync();
после этого места, чтобы попытаться ввести число заново?

Ответы805778058380818

17 окт, 16:31 578 1280577

>>1280518
Потому что букву ты не потребил и не пропустил. Надо делать ignore()
https://en.cppreference.com/w/cpp/io/basic_istream/ignore

17 окт, 16:51 579 1280583

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

17 окт, 17:47 580 1280614

>>1279548
Поставь еще планку на 4гб памяти, нищеблядь

18 окт, 01:38 581 1280818

>>1280518
https://pastebin.com/t9GPFYvy
Я в своем маленьком консольном проекте на си делал так.

19 окт, 01:17 582 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 окт, 01:17 582 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: ЧЗНХ???????????? ПИЗДУЙ ОТСЕДА, ДОВН. - Я ньюфаг, читал пару книжек, но опыта работы с деревьями мало и я хз как это гуглить, гугл упорно молчит по поводу деревьев с дублирующимися значениями, либо я не так гуглю, не спорю. Если пригорело от того что я возможно не учел то что тебе кажется очевидным и ты считаешь лучшим вариантом меня оскорбить - скрой пост чтобы глаза не мазолило и иди себе дальше, пожалуйста, я очень ранимый, не доводи до греха...

Показать весь текст
Ответы81377

19 окт, 12:19 583 1281366

#include <stdio.h>
#include <cuda.h>
__global__ void hello() {
printf("Hello cuda\n");
}
int main() {
hello<<<1,1>>>();
cudaDeviceSynchronize();
return 0;
}
Компилируется, запускается, но при этом не печатает ничего. Что не так?

Ответы81994

88 Кб, 982x941
19 окт, 12:59 584 1281377

>>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, что говорит и критериях вставки любого элемента.

Ответы8138481385

19 окт, 14:04 585 1281384

>>1281377
Спасибо, я проебался только в том что подумал что надо обоих потомков присвоить новому элементу, по сути.

19 окт, 14:05 586 1281385

>>1281377
>Даже (4)5(6), 5((4)5(6)) нагляднее, мне кажется. Нарисовал бы на бумажке, сразу же сам бы понял.
Вакаба сожрала табуляции, к сожалению, я такого не ожидал.

181 Кб, 341x394
19 окт, 20:11 587 1281554

Ребят, много где при приеме на работу на плюсишках написано
>Опыт разработки на С++ многопоточных сетевых приложений для Linux;
Где можно поучиться разрабатывать приложения для работы с сетью? Дома такое вряд ли можно протянуть на приемлемый уровень

Ответы81577

19 окт, 21:15 588 1281577

>>1281554
Курс от мейл ру есть, прям так и называется.

Ответы81771

231 Кб, 1024x769
20 окт, 13:13 589 1281771

>>1281577
Спасибо, действительно. Надо будет глянуть

127 Кб, 1292x627
20 окт, 16:59 590 1281857

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

Ответы8194282880

20 окт, 20:42 591 1281913

Когда следует делать Class::func(int x) : x(x), а когда по стариночке инициаилизировать? Есть ли разница вообще на техническом уровне?

Ответы8191481987820578205882196

20 окт, 20:49 592 1281914

>>1281913
Компилятр лучше код сгенерирует для версии :(), чем =.

Ответы81921

20 окт, 21:02 593 1281921

>>1281914
Хм, спасибо, буду знать!

20 окт, 22:20 594 1281942

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

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

Вот пример, почитай комментарии:
https://pastebin.com/z0tfaT2a

Ответы8205582498

21 окт, 01:17 595 1281987

>>1281913
>Когда следует делать Class::func(int x) : x(x), а когда по стариночке инициаилизировать?
Это и есть по-стариночке.

21 окт, 01:48 596 1281994

>>1281366
>Что не так?
Карточка есть на компьютере?? драйвера?? все поставлено??

21 окт, 09:39 597 1282055

>>1281942
Нихуя тут тонкости конечно, спасибо за ответ адекватный.

21 окт, 09:43 598 1282057

>>1281913
Такую инициализацию можно использовать только в конструкторах класса. Она ещё список инициализации членов называется.

Если коротко, то она вызывает конкретные конструкторы для объектов, вместо операторов присваивания и прочего.

21 окт, 09:46 599 1282058

>>1281913
В первом случае также данные инициализируются еще до создания объекта, бывают случаи, когда это нужно

Ответы82168

21 окт, 10:15 600 1282060

Как в с++ получить несколько различных хэш функций?
Типа с разными параметрами. Кроме как самому писать.

Ответы8208582087

21 окт, 11:14 601 1282085

>>1282060
Не понял вопроса. Что значит "Типа с разными параметрами"?

Ответы82377

21 окт, 11:19 602 1282087

>>1282060
Ты имеешь ввиду как printf()?

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

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

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

21 окт, 14:06 603 1282168

>>1282058
Память под объект ещё не выделена, а данные (его поля) уже инициализируются? Это как?

21 окт, 14:55 604 1282196

>>1281913
Для записи : a(_a), b(_b) не определён порядок инициализации. Если важно, что b инициализируется после a, то придётся писать a=_a, b=_b в теле конструктора.

Ответы8306083133

75 Кб, 1142x542
21 окт, 17:58 605 1282362

Ну ахуеть теперь. Один вопрос: ПОЧЕМУ? Почему, блять, так?

Ответы8237382376

21 окт, 18:19 606 1282373

>>1282362
знаешь сколько им резюмех прилетит? несколько сотен

Ответы82413

21 окт, 18:24 607 1282376

>>1282362
А что не так?

Ответы82413

21 окт, 18:28 608 1282377

>>1282085
Просто различных. Я могу получить одну, например std::hash<std::string>(), но мне нужно несколько разных. Для одного и того же типа. Просто чтобы разные значения возвращали.
Например, если там полиномиальный хэш, то с разными множителями.

21 окт, 18:36 609 1282382

Нужно написать шаблонный класс для обработки контейнера. И в классе нужно хранить итератор, но непонятно какой у него тип. По идее это тип, возвращаемый container.begin(), но как это описать в коде?

Ответы8241882425

22 Кб, 611x344
21 окт, 18:36 610 1282383

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

Ответы82385

21 окт, 18:44 611 1282385

>>1282383
Бля,я понял что за хуйню наделал, уже не нужно

21 окт, 19:50 612 1282413

>>1282373
>>1282376
Почему джун на питоне == джуну на крестах?

Ответы82422

21 окт, 20:11 613 1282418

>>1282382
Обычно в контейнере делают так:
class <typename T> Container {
typedef T value_type;
typedef value_type* iterator;
}
И там, где тебе нужен тип итератора, ты пишешь (например):
Container<int>::iterator it;
Не ленись, посмотри исходники std.

21 окт, 20:14 614 1282421

>>1263368 (OP)
Анон, я знаю, что меня скорее всего пошлют нахуй тут, но
1) если изучать с++ в 39 часов в неделю, за сколько можно стать джуном?
2) проганье, это внезапно то, на что у меня более менее стоит.
3) есть ли курсы годные(шапку читал) именно с задачками на то, чтобы вкатится на джуна.
Т.е. - смотрю видео- читаю книжечку- делаю домашку- вкатываюсь в с++.
От ваших ответов зависит, поставлю ли я анус или нет.
25 лет.

Ответы82423

21 окт, 20:15 615 1282422

>>1282413
Потому что кадровики не в курсе, чем кресты от питона отличаются. Для них это одинаковые погромисты, тем более минимальной квалификации. А вообще кресты посасывают по средней зарплате и дают реальный выигрыш только для синёров.

21 окт, 20:16 616 1282423

>>1282421
Ты можешь вкатиться в какой-нибудь НИИ на джуна вообще без знания крестов. Там всегда дефицит кадров.

Ответы82431

21 окт, 20:17 617 1282425

>>1282382
А что за контейнеры?

21 окт, 20:27 618 1282431

>>1282423
>>1282423
Меня интересует вкат в профессию, ибо алчный мудак и хочу денег и заниматься полезным. Вкат в С++ я думаю, возможен и дойти до ебучего IT-архитектора при должных усилиях жопы возможен за 7 лет.
Меня интересует нормальное проганье, но зайя на HH я вижу-нужен C++ 1 год проганья. Вопрос- это у меня в трудовой книжке записано
должно быть записано или я могу сказать ,что у меня год?
У меня так-то 6 лет,которых я пинал хуи в вузе С++.
Если нужен для этих тупорылых HR просто запись в книжке- я тебя внимательно слушаю, где такой НИИ, где я буду джуном C++ зная чуть более,чем нихуя.

Алсо, что вы думаете про курс специалист от МГТУ имени баумана?

Ответы8243782446

21 окт, 20:37 619 1282437

>>1282431
>Алсо, что вы думаете про курс специалист от МГТУ имени баумана?
Думаю что устаревшая дрисня. Вот неплохой курс бесплатно и без смс, как говорится. https://www.youtube.com/watch?v=Hh_zeW2P8uo&list=PLrCZzMib1e9raTDJ5IyuSHe9AmOUHAAsr

Ответы82438

21 окт, 20:37 620 1282438

>>1282437
2015 год.

Ответы82440

21 окт, 20:39 621 1282440

>>1282438
Кинул тебе выше свежачок 2017 от мейлру. С 2015 года уже дохуя стандартов ввели.

Ответы82444

21 окт, 20:48 622 1282444

>>1282440
Так, тогда ещё вопросы:
1) Актуальны ли книги в шапке- или нужно читать максимально близкие к 2018 книги по с++. Шлее норм?
2) Есть ЗАДАЧКИ ЧТОБЫ ВОТ СДЕЛАТЬ И ВЫЛОЖИТЬ НА ГИТХАБ ИХ ТЕБЯ ПРИНЯЛИ В КРУПНУЮ КОМПАНИЮ НА 300 КККК В НАНОСЕК.
ну или хотя бы бичом за 25к
25-кун близок к ставке ануса.

Ответы82448

21 окт, 20:54 623 1282446

>>1282431
>ибо алчный мудак и хочу денег
тогда тебе в Web
>дойти до ебучего IT-архитектора при должных усилиях жопы возможен за 7 лет
это вообще не про конкретный язык программирования
>но зайя на HH я вижу-нужен C++ 1 год проганья
Иди и собеседуйся. Скажи что в своей шараге курсачи писал на c++. Если будут посылать не стестняйся спросить как тебе получить необходимый опыт.

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

Ответы82454

21 окт, 21:00 624 1282448

>>1282444
1) Смотришь, когда вышли стандарты языка и смотришь дату выпуска книги. Если книга вышла позже - то смело читай.
2) Твой помойный гитхаб никто смотреть не будет. Понять, что это твой код, невозможно да и зачем в говне ковыряться. Обычно конторы дают тестовое или просят написать какой-нибудь код на месте.

21 окт, 21:07 625 1282454

>>1282446
Понимаешь, есть такое понятие,как отложенная гратификация.
Вообщем был эксперимент, когда детям дали выбор- тебе дают конфету сейчас или две конфеты потом. Потом детям, которые выбрали 2 конфеты потом давали снова выбор- либо 2 конфеты сейчас либо 4 конфеты потом. И так несколько итераций.
Я думаю, не надо объяснять, что в жизни стали успешны те, кто выбрал отложенную гратификацию- т.е. несколько конфет, но потом.
Веб- это конфета сейчас.
С++ это несколько конфет потом.
Ибо полноценный вкат в С++ это около 700к при вжобывании потом.
веб не настолько прибыльный,как С++ Senior а меня интересует глубокое погружение. Т.е. если мы говорим про архитектуру то web- это около 300к после 5 лет, а с++ это 450к-700к при вжобывании.
К тому же С++еров мало, а веберов дохуя.

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

Ответы8246682474

21 окт, 21:57 626 1282466

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

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

Ответы8247484495

21 окт, 22:11 627 1282474

>>1282454
>>1282466
Кстати, хорошоий пример для тестового. Загугли, что такое сложный процент и напиши программу, которая вычисляет время, за которое суммарный доход c++ и web кодеров становится одинаковым. Входные данные - процент (можешь взять ставку рефинансирования с cbr.ru), массив с тройками: salary_web, salary_c, time_stamp (в моём примере {{150,100,0}, {150,200,5}}).

21 окт, 23:08 628 1282498

>>1281942
> А вот в плюсах статические переменные должны инициализироваться в той же области видимости где находится класс
Неправильно. Объявление статической переменной должно быть повторено вне класса для того, чтобы она хранилась только в одном месте, а не в каждом коде, включившим заголовок. В какой-то версии плюсов есть static inline - каждая единица компиляции имеет копию статической переменной.

Ответы8249982508

21 окт, 23:08 629 1282499

>>1282498
>В какой-то версии плюсов есть static inline - каждая единица компиляции имеет копию статической переменной.
При этом повторять объявление вне класса не нужно.

Ответы82508

21 окт, 23:56 630 1282508

>>1282498
>>1282499
Ну может нам в универе недообъяснили про inline, но то что ты написал исходит из простой логики и я не вижу противоречия написанному мною.

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

Ответы82565

22 окт, 07:51 631 1282565

>>1282508
А, это да. Просто вопрос бы скорее про то, почему это делается вне класса. Инлайн-переменные можно инициализировать прямо в классе.
"Нет" это в ответ на это:
>это существует сугубо для инициализации.
Нет, не для инициализации.

Ответы82567

22 окт, 08:10 632 1282567

>>1282565
Или, ещё точнее: нет, не сугубо.

22 окт, 17:14 633 1282755

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

Ответы8282082877

22 окт, 17:45 634 1282782

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

Ответы8278482837

22 окт, 17:46 635 1282784

>>1282782
Бля, в этом треде такого вопроса нет, но я помню что был один в один такой-же раньше. Ты репостнул или это боты шалят?

Ответы82793

22 окт, 17:53 636 1282793

>>1282784
В этом треде такой вопрос есть , репостнул.И я уже сделал с вектором, но решил спросить.

22 окт, 18:34 637 1282820

>>1282755
На рекурсии сортировочки делаются и всякие алгоритмы на графах/деревьях. Можешь на таких задачках попрактиковаться или поизучать готовый код.

22 окт, 18:52 638 1282837

>>1282782
Я не шибко разбираюсь, но если у тебя РПГ с сохранением прогресса, то можешь хранить инвентарь в отдельном файле сохранений - а вообще для этого бд используют.
Либо какой-нибудь json заюзать.
А для сессионной текстовой РПГ можно и вектор использовать, мне кажется.

Ответы82843

22 окт, 18:57 639 1282843

>>1282837
Понял, спасибо.

22 окт, 19:40 640 1282877

>>1282755

https://www.mccme.ru/free-books/shen/shen-logic-part3-2.pdf#chapter.11

Ответы82878

22 окт, 19:41 641 1282878

>>1282877
>https://www.mccme.ru/free-books/shen/shen-logic-part3-2.pdf#chapter.11
Спасибо, вроде то что искал. Я правда со статьи на хабре порешал какие-то элементарные задачи. Думаю лишним не будет

22 окт, 19:42 642 1282880

>>1281857
А ещё можно приватные функции вне класса определять.
Охуеть вообще?

Ответы83217

22 окт, 22:17 643 1282995

Аноны, может кто подсказать: код в плюсах всегда выполняется одновременно? Мне вот дали задание отсортировать диагонали матрицы и сравнить точку их пересечения, и если она равна то делать что-то. Я так понял нужно после сортировки главной диагонали запомнить середину, и после сортировки второй опять запомнить середину и сравнить. Сделал так - значения копируют друг друга. Попробовал распихнуть сортировку обоих диагоналей в функции и сравнить между собой потом - всё равно одинаково. Что я делаю не так?

Ответы8299682999

22 окт, 22:17 644 1282996

>>1282995
>одновременно
Последовательно конечно, протупил

22 окт, 22:23 645 1282999

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

22 окт, 23:10 646 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, почему и как это исправить?

Ответы830168303783063

sage 22 окт, 23:18 647 1283016

>>1283012
Ну давай разберем по частям. маня, тобою написанное )) Складывается впечатление что ты реально контуженный , обиженный жизнью имбицил )) Могу тебе и в глаза сказать, готов приехать послушать?) Вся та хуйня тобою написанное это простое пиздабольство , рембо ты комнатный)) от того что ты много написал, жизнь твоя лучше не станет)) пиздеть не мешки ворочить, много вас таких по весне оттаяло )) Про таких как ты говорят: Мама не хотела, папа не старался) Вникай в моё послание тебе< постарайся проанализировать и сделать выводы для себя)

22 окт, 23:44 648 1283037

>>1283012
Поставил бы интуитивно понятный printf("%f\n",numbers[i]) и сразу бы было всё понятно, зачем тебе этот новомодный мусор? Там и всякие настройки есть, вроде +07.3f, которые через cout оче неудобно выставлять. Пропиши что-то вроде cout.precision(8) перед выводом твоих чисел.

Ответы83044

22 окт, 23:58 649 1283044

>>1283037
>зачем тебе этот новомодный мусор
Да я ж откуда могу знать? У Страуструпа про printf почти и не говорится поначалу.

Ответы83439

23 окт, 00:27 650 1283060

>>1282196
А вот липман говорит, что члены инициализируютя в порядке их описания в теле класса

Ответы8306483135

23 окт, 00:33 651 1283063

>>1283012
Я вообще не всекаю, как у тебя срабатывает cout для объекта класса vector, оно даже скомпилироваться не должно.
Сделай numbers[i] и должно будет работать

23 окт, 00:34 652 1283064

>>1283060
struct S
{
int a;
float b;
S(int _a, float _b) : b(_b), a(_a) {}
};
Что инициализируется раньше: a или b и почему?

Ответы83067

23 окт, 00:43 653 1283067

>>1283064
По лимпану, б раньше.
Он даже приводил пример, когда один член инициализируется значением другого. Порядок именно по порядку объявления в классе, а не в инициализации конструктора. Я проверял

Ответы83068

23 окт, 00:44 654 1283068

>>1283067
Тоесть а раньше, ну ты понял

Ответы83078

23 окт, 00:59 655 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. вот про такую "смену порядка инициализации" я писал выше.

Ответы83079

23 окт, 01:04 656 1283079

>>1283078
я тут хуйню написал. забыл, что члены до тела конструктора инициализирутся. никакой порядок не поменяется.

Ответы83082

23 окт, 01:06 657 1283082

>>1283079
то есть нет, поменяются. пойду спать короч.

23 окт, 06:18 658 1283133

>>1282196
>Для записи : a(_a), b(_b) не определён порядок инициализации.
Съеби в ньюфаг-тред.

Ответы83368

23 окт, 06:20 659 1283135

>>1283060
>А вот липман говорит
Это стандарт говорит

23 окт, 10:34 660 1283217

>>1282880
Не вижу с этим проблемы.

Ответы83283

23 окт, 12:28 661 1283276

Стоит ли помечать как final не виртуальные функции в базовом классе?

23 окт, 12:43 662 1283283

>>1283217
А со статическими членами какая проблема тогда?

Ответы83413

23 окт, 14:44 663 1283344

Читаю Липамана.
Есть свой класс аля вектор строк StrVec со своим аллокатором alloc и членами: elements - указатель, возвращенный alloc.allocate(), first_free - указатель после последнего созданного элемента.

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

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

Как переписать этот цикл на for_each и лямбда-выражение?

23 окт, 15:25 664 1283368

>>1283133
Запись не определяет порядок инициализации. Там из контекста понятно, о чём я написал, довен.

Ответы83449

23 окт, 16:47 665 1283413

>>1283283
Определение вне класса опять таки не значит что все в области видимости видят эту функцию, ты бы хоть для интереса попробовал.

Ответы83449

872 Кб, 1029x1141
23 окт, 17:18 666 1283431

Что за подстава в книге Фундаментальные алгоритмы C++?
Роберт Седжвик
Во введении автор обещает рассмотреть во втором томе кучу всего, а на деле там только графы.
Как так?

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

Ответы83445

23 окт, 17:32 667 1283439

>>1283044
Это из С потому что.

23 окт, 17:34 668 1283445

>>1283431
Что тебя не устраивает? Это и есть фундаментальные алгоритмы. А ты чего ожидал?

Ответы83450

23 окт, 17:41 669 1283449

>>1283368
Не знаю, из какого контекста что понятно, но из твоей дальнейшей переписки понятно, что ты не
> Запись не определяет порядок инициализации.
имел в виду, а просто нихуя не знаешь.

>>1283413
А что, переменную все видят?

23 окт, 17:41 670 1283450

>>1283445
А вот в оригинале книга называется просто Algorithms.
Не устраивает только то, что автор обещает одно, а на деле другое (либо я не увидел), причем издание третье, а текст со структурой тот же

23 окт, 18:10 671 1283474

23 Кб, 1415x14187 Кб, 1394x550

Аноны, помогите. Пытаюсь запустить программу, выдаёт эту хуйню. Код программы в 3 файлах, загружу отделяя чем-то
cpp.sh/34d4n

Ответы83567

23 окт, 19:42 672 1283536

Мудрейшие, помогите затупку.
Мне нужно узнать колво символов в string и положить это число в переменную int.
В гугл уже ходил, ничего не нашел.
Пишу в codeblock компилирую gnu gcc.

Ответы8354583547

23 окт, 19:53 673 1283545

>>1283536
14.88 символов.

27 Кб, 1371x451
23 окт, 19:57 674 1283547

>>1283536
Так пробовал?

Ответы8354983563

23 окт, 19:58 675 1283549

>>1283547
Ща он тебе напишет, что для кириллицы не работает.

Ответы83550

23 окт, 19:59 676 1283550

>>1283549
А оно работает? Я кириллицой ни разу не пользовался еще, говорят это дурной тон.

Ответы83553

23 окт, 20:01 677 1283553

>>1283550
Вообще на русском говорить/писать — дурной тон.

Ответы83554

23 окт, 20:01 678 1283554

>>1283553
Агри с тобой, русский феллоу

23 окт, 20:17 679 1283563

>>1283547
Спасибо.
Менее более разобрался.

23 окт, 20:31 680 1283567

>>1283474
Твоя IDE ебанулась, va_list в коде нет. Что с этой вонючей студией делать - думай сам.

Ответы83568

23 окт, 20:35 681 1283568

>>1283567
Да там вообще библиотек разных подключило неявно дохуища. Создал новый проект, выдаёт ту же хуйню. Аноны, кому не лень, можете проверить у себя код?

Ответы8357183576

23 окт, 20:42 682 1283571

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

Ответы83576

23 окт, 20:47 683 1283576

>>1283568
>>1283571
А бля, падажжи. Инклуд - это инклуд, реально берётся и вставляется текст. Ты инклудишь iostream после своих заголовков. Инклудь до.

Ответы8358083666

23 окт, 20:50 684 1283580

>>1283576
Во, заработало. А почему так происходит то?

Ответы83594

23 окт, 21:20 685 1283594

>>1283580
На самом деле я надеялся на то, что ошибку в твоём коде покажет. Анализаторы кода чудеса творить не могут, и в общем случае ошибка в коде вызывает ошибки во всём оставшемся, так что сначала надо инклудить проверенный код.

Но если ошибки в коде, оказывается, не было, то варианта два:
- 5%: ты случайно определил какой-то макро или идентификатор, которые используется в одном из 100500 заголовочных файлов
- 95%: это блядская студия виновата, говнокод на говнокоде

Ответы83595

40 Кб, 225x225
23 окт, 21:22 686 1283595

>>1283594
Буду включать файлы до заголовочных.

Ответы83666

23 окт, 23:05 687 1283628

Немного совета тем, кто начинает свои кресто- блядские похождения. А у меня это уже 6ой год.
НАХУЙ кресты. Если вы - не совсем законченный нерд, то НАХУЙ. В постсовке - тем более нахуй. Работаю с геймдеве и у меня уже очко просто полыхает. Сука, каждый день - АНАЛитическая геометрия, вставки под АСМ, ебля с памятью, вечно что-то крашится, что-то наёбывается, триллион эсепшнов, вечная проблема с архитектурой потому что забыл мельчайшую хуйню - всё, пизданулось нахуй, а ЗП - хуйня при том, что я - СИНЬОР
Блядь, за что мне это. Мало того, что мне пришлось перед тем, как стать джуном ебануть 3 игоры, задрочить OpenGL и запилить их на гит, так еще и не брали нигде, но это похуй а на всё это я въебал полтора года жизни. Какого, мать его, хуя, у меня френд - ПАЙТОНИСТ пинает хуй в дейта сайнс и получает больше ?
Просто пидорская хуйня, у меня проф. выгорание, на этом всё. Сука, знал бы всё это, пошел бы в веб- дев.
У меня всё, очко порвано.
как пережить эту стадию проф. выгорания ?

Ответы83639836418387383937

23 окт, 23:56 688 1283639

>>1283628
Просто не надо в гейдев идти. Я со смежной отрасли ходил на собесы в ваши конторы. Нигде большего дна я не видел. Зп мне 130к предлагали, но опять же в серую с "испытательным сроком" пол года, "трудовой договор" - сплошные обязанности и никаких прав плюс штрафы. Офис задроченный, погонщики вкрай охуевшие (особенно hr выбесили).
Кстати геометрия хуйня у вас там, ну по сравнению со всякими приблудами для машиностроения, робототехники и проч. Зато пердолилово с железом и памятью да - на уровне.
То что нахуй в Раисе кресты не нужны это верно. Раз уж выбрал кресты - то сразу готовь трактор.

Ответы84495

23 окт, 23:59 689 1283641

>>1283628
>как пережить эту стадию проф. выгорания ?
Возьми перерыв в полгода и за это время выучи новый язык/стек. Затем вкатывайся в новую сферу. Бывших крестовиков охотно берут на Go/Golang, например.

24 окт, 03:04 690 1283666

>>1283576
>Ты инклудишь iostream после своих заголовков. Инклудь до.
>>1283595
>Буду включать файлы до заголовочных.
Вообще заголовочные файлы должны быть самодостаточными. Если у тебя компиляция зависит от порядка заголовков, то ты лох.

Ответы83697

24 окт, 08:46 691 1283697

>>1283666
Ну в этом проэкте такая проблема впервые возникла, раньше делал как попало и работало всё

Ответы83699

24 окт, 09:13 692 1283699

>>1283697
Если ты добавишь имена файлов в код, который ты запостил, я скажу точнее, в чём проблема.

Ответы83838

24 окт, 15:10 693 1283838

>>1283699
Стандартные Source.cpp Source1.cpp Header.h

Ответы83973

24 окт, 16:56 694 1283873

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

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

Ответы83912

24 окт, 18:47 695 1283912

>>1283873
Ну, у меня сейчас выбор - голанг и ведроидоприложухи или же пайтон и биг дейта. Вот не знаю, что выбрать. Математическая база у меня хорошая, вроде как.
Что подскажете, анонче ? Вчера, после очередной утечки памяти, с которой я ебался целый день, бомбанул прост (причем в родительском классе все было выкручено, что даже ПТРами не отделался).

Ответы83929

24 окт, 19:40 696 1283929

>>1283912
Иди на ведро - там за графениум хорошо платят. И да, ещё раз напомню - хуйня у вас там в геймдеве, а не математика. Векторные произведения и матрицы твои с кватернионами это максимум на 2 курс провинциального вузика тянет.

24 окт, 19:48 697 1283934

Какая зп у плюсовика? Долго ли ещё будут жить плюсы? Хочу выучить плюсы, чтобы больше ничего не учить и работать плюсовиком всю жизнь.

Ответы83937

24 окт, 19:57 698 1283937

>>1283934
Тебе к нему -> >>1283628

Ответы83938

24 окт, 19:58 699 1283938

>>1283937
Я думаю, что у него просто был плохой день.

24 окт, 20:58 700 1283973

>>1283838
Найди уже онлайн-компайлер с возможностью добавить несколько файлов и дай ссылку.

25 окт, 00:07 701 1284033

Кто-нибудь проходил курсы по с++ от яндекса (Основы разработки на C++: белый пояс) на площадке coursera? Стоит ли начать изучение с++ с этих курсов?

Ответы84069

25 окт, 02:46 702 1284069

>>1284033
С учётом того, что надо начать хоть с чего-нибудь - да, стоит.

25 окт, 10:23 703 1284151

Киньте хороший пример обратной польской записи!!!

Ответы84161

25 окт, 10:56 704 1284161

>>1284151
!!! ))0)))00))0)

http://algolist.manual.ru/syntax/revpn.php

25 окт, 15:24 705 1284287

В каких случаях вы переопределяете оператор "/". Я, например, столкнулся с таким его использованием.
Имеется класс Path, который определяет путь к каталогу, и мы хотим добавить к этому пути поддиректорию

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

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

У меня истерика. Зачем, двач? Почему не append("d") или add("d")? Зачем эти выебоны? Это что, сложность ради сложности?...

Ответы8432284329843488437684439

25 окт, 16:38 706 1284322

>>1284287
Ты порвался ради того, чтобы порваться?

Ответы84328

34 Кб, 476x524
25 окт, 16:49 707 1284328

>>1284322

25 окт, 16:50 708 1284329

>>1284287
Чтоб все охуели как мы можем.

Ответы8433284439

25 окт, 16:52 709 1284332

>>1284329
Все фичи плюсов, на самом деле, делаются ради этого. Концепты, рефлексия, метаклассы, констэеспр, фолдинг выражения? Кому они нужны? Зато мы можем всем показать, как можно у нас классно сделать.

139 Кб, 394x360
25 окт, 17:04 710 1284341

Может уже перекатите, а, блять?

Ответы84917

25 окт, 17:14 711 1284348

>>1284287
https://www.linux.org.ru/forum/development/22475

ай лолд, читай.

25 окт, 18:05 712 1284376

>>1284287
Потому что написать /d легче чем писать append("d"). Экономит время.

25 окт, 19:34 713 1284439

>>1284287
Понимаешь, плюсы само по себе - это сложный язык с кучей неписанных правил.
http://libtins.github.io/ - вот, смотри, они тоже слэш перегружают.
Лично мне лишние скобки не нужны, я бы лучше оператор перегрузил. Если я в коде увижу path / file я сразу пойму, что это значит, это понятно интуитивно.
>>1284329
чо вы там можете блядь где перегрузка амперсанда сука

25 окт, 20:37 714 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 окт, 20:37 714 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--;
}

Показать весь текст
Ответы84487844898449584517

35 Кб, 669x385
25 окт, 20:42 715 1284487

>>1284482
Прости меня двач. Я все исправил.
Ну господа, можете меня поздравить.
Если бы я не был таким ленивым мудаком, был бы сениором.

Ответы8448984495

25 окт, 20:47 716 1284489

>>1284482
А не нихуя>>1284487
Я пофиксил. Была неправильная мат. формула.

Ответы84495

25 окт, 20:55 717 1284495

>>1283639
>>1284482
>>1284487
>>1284489
>>1282466
Я этот кун.
Хотел бы узнать у вас некоторые вещи.
1) область, где вы кодите(геймдев,базы данных, машиностроение)
2) сколько шли до джуна
3) стаж в профессии.
4) З/П

Ответы84637

25 окт, 21:30 718 1284517

>>1284482
>>1284482
все, уже нашел, куда можно вставлять код

25 окт, 23:28 719 1284581

кто может скинуть электронную версию книги Скотт Мейерс Эффективный и современный С++17

26 окт, 00:04 720 1284592

Есть бинарник, хранящий standart layout структуры. Как осуществить удаление данных в нем?
Скажем, хранится два объекта структуры, нужно один из них удалить => файл должен стать вдвое меньше по размеру.

Интерфейс fstream, вроде, этого делать не позволяет.

Ответы84662

26 окт, 00:35 721 1284607

>>1269012
>for (int i = 0; i < 5; i++) {
cout << a + rand()% (b - a + 1) << '\t';
}

26 окт, 00:57 722 1284615

Посоветуйте свежий контент по плюсам. Заебался читать Страуструпов и прочую неактуальную хуйню из нулевых. Спасибо.

26 окт, 01:04 723 1284618

Аноны, есть вопрос по поводу компиляторов и проблемы с функцией Аккермана. В ВС17 после компиляции выводит дохуя значений и кнсоль дропается. На OnlineGDB после вывода значений пишет ошибку - ''core dumped''. А вот на С++ Shel у меня нахуй повис комп и всё пизданулось, пришлось перезагружать комп. Почему так происходит ? Почему в ВС17 и GDB всё нормально, а на Shel'ле нет ?
За переполнение стека знаю

26 окт, 01:50 724 1284629

За год ежедневных часовых занятий можно накачаться хотя бы до джуна если я питонист-любитель?

Ответы84640

26 окт, 02:48 725 1284637

>>1284495
1. гейдев.
2. Полтора года.
3. 6 лет.
4. ~4к баксов.

Ответы84774

26 окт, 03:03 726 1284640

>>1284629
>часовых занятий
нет
8ч ебашь

26 окт, 06:00 727 1284662

>>1284592
прочитать
удалить
перезаписать
????
PROFIT

26 окт, 12:23 728 1284774

>>1284637
>4. ~4к баксов.
до налогов? это где-то в асашай?

Ответы8479584821

26 окт, 13:16 729 1284795

>>1284774
Лул, не асашай. Это Минск.

26 окт, 14:15 730 1284821

>>1284774
У меня есть знакомый который в Киеве так зарабатывает, тимлид в компании какой-то.

26 окт, 17:36 731 1284917

>>1284341
>Может уже перекатите, а, блять?
А сам что не перекатишь?

26 окт, 21:18 732 1285010

Тред контроля версий тонет где-то очень глубоко, поэтому спрошу у крестовых бояр как мне быть, вы уж точно знаете не к веб-макакам же идти за советом. Хочу следить за изменениями и вести контроль версий своих хеллоувордов. Как это все организовать не выходя за пределы моего пк? Чтобы код лежал не на гитхабе, а допустим у меня на харде. А то я уже заебался, что-то поменяю и все перестает работать, а я даже не помню где код правил.

Ответы8501185063

26 окт, 21:20 733 1285011

>>1285010
В нужной папке делаешь git init. Всё, у тебя есть локальный репозиторий.

Ответы86113

26 окт, 21:35 734 1285013

>>1263368 (OP)
Как сделать так, чтобы программа считывала переносы на новую строку?

Ответы8525485299

26 окт, 23:02 735 1285063

>>1285010
Для удобства поставь себе графический клиент для git. Я юзаю черепашку TortoiseGit. После установки у тебя в меню по нажатию правой кнопки мыши появится gitclone и create repository here. Дальше всё очевидно.

Ответы86113

27 окт, 13:35 736 1285254

>>1285013
c = cin.get();

27 окт, 14:40 737 1285299

>>1285013
https://en.cppreference.com/w/cpp/io/basic_istream/get
Считает даже аллаха.

27 окт, 20:09 738 1285511

Поясните за константность здесь.Есть ли смысл и правильно ли я понимаю? Константная функция возвращает ссылку на константу?

const std::string& getName() const {
return name ;
}

Ответы8551385534

27 окт, 20:11 739 1285513

>>1285511
Сори, скопировал неудачно.
const string& getName()const(
return name;
}

27 окт, 20:50 740 1285534

>>1285511
Константный метод возвращает константную ссылку.

Ответы8557385786

27 окт, 21:33 741 1285573

>>1285534
Спасибо.А есть ли в этом смысл? Экономия памяти и защита от изменения?

Ответы857408578685788

28 окт, 02:07 742 1285740

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

Ответы8574985963

28 окт, 03:27 743 1285749

>>1285740
>В данном случае польза const не так очевидна.
Вполне очевидна. Убери первый const и перестанет компилироваться.

28 окт, 10:08 744 1285786

>>1285534
>Константный метод возвращает константную ссылку.
Неправильно. Не константную ссылку, а ссылку на константу.
>>1285573
Если это метод, const - это квалифаер. То есть, этот метод может вызываться только для const-объектов, и вернуть свой член по ссылке на неконстанту нельзя.

Ответы8587385963

28 окт, 10:14 745 1285788

>>1285573
Ты можешь ссылаться на переменную по двум причинам:
- тебе нужно, чтобы вне функции в неё что-то писали
- избежать копирования
Ставя или не ставя const ты говоришь именно это.

Ответы85963

83 Кб, 1796x655
28 окт, 11:00 746 1285797

Аноны, подскажите почему не работает обратный итератор. Вывод должен быть в обратном порядке.

Ответы85798

28 окт, 11:01 747 1285798

>>1285797
Блять стоп, извинияюсь. У меня просто обратный порядок и прямой очень похожи. Pizdets ya tupoi

28 окт, 13:12 748 1285828

Посоветуйте книжку по MFC/WinAPI. Надо сделать утилитку на
dialog-based MFC, сам язык я, в принципе, знаю, а вот структура приложения какая-то непонятная

Ответы85921

28 окт, 15:01 749 1285873

>>1285786
Блять, метод возвращает "const string&", даже если поле не константное будет просто возвращена константная ссылка - https://pastebin.com/Zr8jCZsZ

Что за тип такой, ссылка на константу?

Ответы85933

28 окт, 15:06 750 1285879

А где C# тред, не могу найти.

Ответы85884

28 окт, 15:12 751 1285884

>>1285879
Его проебали или потерли, уже с неделю как, кстати.

Спрашивай, может я помогу, но я сам в шарпе ньюфак.

Ответы85885

28 окт, 15:13 752 1285885

>>1285884
Да я в общем искал шапку треда для вката.

28 окт, 16:23 753 1285921

>>1285828
>MFC
не стоит вскрывать эту тему

28 окт, 16:49 754 1285932

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

Ответы85934

28 окт, 16:50 755 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)

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

23 Кб, 941x218
28 окт, 16:51 756 1285934

>>1285932
В шапку заглянуть, не?

Ответы8593585938

28 окт, 16:52 757 1285935

>>1285934
Бля, протупил что-то. Думал там только по основному языку. Спасибо

28 окт, 16:56 758 1285938

>>1285934
Можно еще вопрос? Лучше прочитать раздел с бест практисами сначала или то что ты скинул? Не знаю как лучше сделать.

Ответы86085

28 окт, 17:29 759 1285963

>>1285740
>>1285786
>>1285788
Понял, спасибо.

68 Кб, 1425x649
28 окт, 19:56 760 1286052

Может кто обьяснить, почему такой код не работает? cpp.sh/4capy

Ответы8606286102

28 окт, 20:13 761 1286062

>>1286052
' ,

Ответы86064

28 окт, 20:17 762 1286064

>>1286062
В задании написано что должно превратить слово в подобие madamiamadam а потом выполнять проверку. Я два цикл написал нашёл на стаковерфлоу, которые выполняют проверку на знаки пробела и пунктуации. По идее должно сначала превратить слово в набор букв, а потом сравнивать

Ответы86079

28 окт, 20:32 763 1286079

>>1286064
Так-то tolower не перезаписывает аргумент значением, а возвращает его. И потому в for_each не годится, хуяч std::transform()

Ответы86085

28 окт, 20:37 764 1286085

>>1286079
Во ебать, работает. Спасибо. На >>1285938
не ответишь? STL пиздец прикольно выглядит, хотел бы изучить. Но там книга еще на 1.2к страниц, это займет месяца полтора хотя учитывая сессию даже больше. Стоит пройти сначала бест практисы? Или там тоже STL?

22 Кб, 565x312
28 окт, 20:57 765 1286102

>>1286052
Почему просто на месте за O(n / 2) не проверить?

Ответы86109

28 окт, 21:11 766 1286109

>>1286102
> O(n / 2)
facepalm

28 окт, 21:18 767 1286113

>>1285063
>>1285011
Спасибо!

28 окт, 22:07 768 1286134

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

Ответы8617986352

28 окт, 23:44 769 1286179

>>1286134
>В программе под винду должно
Кому?

29 окт, 12:53 770 1286352

>>1286134
https://github.com/fffaraz/awesome-cpp#gui
FLTK, например.

31 окт, 17:13 771 1287604

Аноны, а на плюсах можно под андроид писать? Или это определенные языки только? Хочу себе цель поставить сапёра написать под свою слабую мобилку если нельзя то под пеку напишу

Ответы87626

31 окт, 17:52 772 1287626

>>1287604
Android NDK

36 Кб, 1462x635
31 окт, 20:18 773 1287748

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

Ответы87780

9 Кб, 397x220
31 окт, 20:36 774 1287780

>>1287748
В программе чуть-чуть разобрался, но всё же обьясните что не так в предыдущей версии. Ведь по идее cin.get должен по очереди изымать из потока по одному символу пока не дойдет до $. Или ошибка в том что cin.get(void) возвращает интовое значение?
И еще вопрос: как работает этот код? Я ввожу строку и он так же по очереди изымает по символу пока не триггернется? cin.peek() использовал потому-что в задании сказали чтобы триггер-символ не учитывался.

Ответы87805

31 окт, 21:07 775 1287805

>>1287780
>что не так в предыдущей версии
char* k = new char;
cin >> k;

Ответы87827

31 окт, 21:41 776 1287827

>>1287805
А как правильно будет тогда?

Ответы87830

31 окт, 21:47 777 1287830

>>1287827
Ошибка не в самой переменной, а в том что оно пытается считать не с входного потока а с переменной? Точнее считывает с переменной, а не с потока

Ответы87857

31 окт, 22:48 778 1287857

>>1287830
Што?

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

Мне вообще интересно, что хотел сказать автор, когда писал эти строки.

Ответы8785887859

31 окт, 22:49 779 1287858

>>1287857
char -> char*

31 окт, 22:51 780 1287859

>>1287857
Всё, спасибо. Строку эту я потом убрал. Просто не вышло с первого раза и начал пробовать всё подряд.

32 Кб, 720x641
2 ноя, 11:26 781 1288689

Прошу помощи. Хотел разобраться с тем как работает next_pemutation и завис. Нашёл хорошую статью на стаковерфлоу, там всё достаточно чётко обьяснили. Но я всё равно не пойму. Как функция меняет значения с 1243 до 1324 за один переход цикла? Я так понимаю мы берем число и проверяем, что если все числа справа от него в убывающем порядке то больше возможных комбинаций справа нет. Но как блять оно перешло с 1243 до 1324, там ведь только свап нужен. И как работает while (!(i < --k)), оно должно выбирать наибольший элемент или как? И почему j меняет значение только иногда, оно ведь по идее должно с каждой итерацией меняться, разве нет? Статью с оверфлоу и скрин вывода вывод значений я для удобства добавил прикладываю. https://stackoverflow.com/questions/11483060/stdnext-permutation-implementation-explanation

23 Кб, 647x383
2 ноя, 15:57 782 1288810

Может кто помочь? Почему компилятор выдаёт какие-то ошибки при использовании варайбл шаблонов? Сталкивался кто? Использую студию 2012 экспресс. На онлайн компиляторах всё работает

Ответы8881188872

8 Кб, 1279x102
2 ноя, 15:57 783 1288811

>>1288810
Ошибки отклеялись

2 ноя, 17:58 784 1288872

>>1288810
C++11 включён? Почему именно 2012?

Ответы89002

2 ноя, 21:15 785 1289002

>>1288872
Хуй знает, когда начинал кодить она первая попалась. Там все методы с С++11 работают, только #include <initializer_list> не хочет делать, но он в этой версии вроде не включён. А тут баг какой-то. Скачал себе студию 17 года от вуза бесплатно раздавали, если что буду переключаться.

Ответы89294

3 ноя, 16:10 786 1289294

>>1289002
https://msdn.microsoft.com/en-gb/library/hh567368.aspx
>Variadic templates
>Visual Studio 2012
>No
Нормальный C++11 только в 15 версии завезли, нормальный C++14 только в 17

Ответы8930289336

3 ноя, 16:48 787 1289302

>>1289294
> Visual Studio
Зачем вообще студией пользоваться?
То поддержка стандарта годами добавляется.
То автодополнение отлавливается.

Такое чувство что поддержка C# там сделана гораздо лучше кто бы мог подумать

3 ноя, 18:04 788 1289336

>>1289294
нормальный c++17 ещё не завезли?

Ответы89338

3 ноя, 18:11 789 1289338

>>1289336
Они раз пять обновляли компилятор. В последней версии (15.8) вроде полная совместимость уже.
https://en.cppreference.com/w/cpp/compiler_support

9 ноя, 20:06 790 1292507

Работает ли медленнее вектор, чем обычный массив?

Ответы9260592608

10 ноя, 00:29 791 1292605

>>1292507
Что значит работает? Какие операции ты собрался над ним выполнять?

10 ноя, 00:32 792 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 ноя, 03:53 793 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 ноя, 19:10 794 1293705

Сап всем. Опять выхожу на связь. Столкнулся с проблемой которую не могу решить уже несколько дней. Есть single linked list в котором я никак не могу реализовать функцию считывания с файла. Ещё имеется дохуя не почищенной памяти по результатам valgrind, но это не главное. В общем кидаю код на пастебине, функция readFrom не делает то чего я хочу, постоянно выдаёт единицу ебаную. Читал всевозможные инструкции и гайды в интернете, последняя надежда на вас прежде чем пойду лобызить перед преподом.
https://pastebin.com/dVsNkNu2

Ответы9374593748

83 Кб, 1119x653
11 ноя, 20:30 795 1293745

>>1293705
>single linked list
Понятия не имею что это, но считывание работает. Только что лишний ноль закрался, но если закомментировать create(0), то нуля не возникает. Может быть он и нужен зачем-то, без понятия.

11 ноя, 20:34 796 1293748

>>1293705
В общем, смотри содержание своего файла. Ты считываешь через getline по строкам, соответственно у тебя должно быть одно число в строке. Если в файле они через пробелы или ещё как, то нужно заменить getline и корректно это обрабатывать, вызывая atoi на каждое число, а не строку.

Ответы93759

11 ноя, 20:55 797 1293759

>>1293748
Они у меня также как в фото выше, вводил через Enter числа от 11 до 25

Но не выводит никаких чисел кроме 1. Может это из-за того что я убунту вчера поставил?

Ответы93781

11 ноя, 21:18 798 1293781

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

Тред утонул или удален.
Это копия, сохраненная 17 ноября 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion