Что самое трудное в изучении языка C++?Для чего в основном используется этот язык, и чем он отличается от C# ?
>>1452983 (OP)Метапрограмирование на шаблонах (это считай другой язык типа хаскеля) и rvalue ссылки наверное. Остальное на уровне Шарпа.
>>1452983 (OP)>Что самое трудное в изучении языка C++?move семантика, указатели и ссылки, работа с памятью, работа с потоками, stl.
>>1453002>Метапрограмирование на шаблонахНа самом деле не очень - шаблоны да и везде, насколько знаю там весьма убоги, и многое сделать просто невозможно.
>>1453203>указатели и ссылкиЕсли сложно - то тебе лечится надо.>работа с памятьюОхуеть сложные new/delete, ага - если ты не склеротик, конечно.Впрочем, если речь о кастомных менеджерах памяти - тогда да. Сделать лучше стандартного говна не совсем просто.>работа с потокамиСемафоры.Для начала достаточно.>stlГовно тупого говна.
>>1452983 (OP)Самое сложное для какого уровня? Если ты уже высокого уровня программер всмысле и в информатике понимаешь, и в бизнес части, а не просто круды лепишь на рельсе 10 лет, то будет просто много непривычных вещей, к которым нужно будет просто привыкнуть. Если новичок — то непонятным будет все. Даже то, что сначала кажется понятным — потом станет непонятным.
>>1452983 (OP)> Что самое трудное в изучении языка C++?Найти CWG issue, из-за которого код по-разному воспринимается разными компиляторами.
>>1453402То есть как и было сказано - >>1453340 - нормальных генериков нет нигде, и тем более в плюсах.
Boost, код на стыки связки с Си-шными либами, менеджмент памятью.Архитектурно - язык позволяет мешать адово всё, что существует, и порой в одном продукте адовая смесь кода, чуть ли не на чистых Сях, С++14, функциональщины и прочего, прочего.
>>1453504Ну и сборка сторонних либ порой - адовый пиздец. Но после прохождения таких пиздецов можешь собрать всё что угодно под любой тип микроволновки - работает.
народ, сам я джаваскрипт макака на данный момент, но кое что дома клепаю на c++/OpenGl как систему сборки использую cmake что касается подключения библиотек или включения своих сорцов в проект трудностей не вызывает, ну почти, но вот никак не могу понять. По мимо исходников с++ у меня в проекте есть изображения, исходники шейдеров, вскоре будут еще 3д модели. Как с помощью cmake делать так, чтоб они:1. отображались в структуре проекта2. копировались при запуске приложения?включаю их используя include_directories, сами каталоги отображаются/копируются, а вот их содержимое нет.
Шаблоны в плюсах самые лучшие самые сложные и самые пиздатые. Но прогать на них реально сложно так как нет распознания типов и иногда просто не очевидно что блять эта херня должна возвращять.
>>1453747манюх, ты просто не в состоянии понять даже, что я говорю, т.к. между нами миры разницы в скилле, и поверь, ты не впереди.
>>1453805>визгливое кукареканье и "хахаха, окей">истерика перед 1 сентябряШкольники, школьники never change.
>>1453809нет, "хахаха, окей" то чем тебе не угодил? Это нормальный ответ дебилу, который не понимает, что лопочет, несет полную чушь про школьников, и СТЛ у него говно.
>>1453879Ну я, конечно же, гиперболизирую мейлопараша же, тут так принятоХотя один бесспорный факт имеет место быть: в стл приоритеты - это универсальность и безопасность.Скорость в любом случае на третьем месте в лучшем случае.Так что везде говно ибо везде быдло.
Самое трудное в C++ - сдерживать слёзы, когда смотришь на него после божественного раста./thread хе-хе
>>1453887> Скорость в любом случае на третьем месте в лучшем случае.Да я слышал эту херню что таже EA делала свою библиотеку шаблонов заточенную под скорость. НО. Есть одно большое но и это биг О. В стл эта самая биг О по максимуму оптимизирована. И то что ты там ебёшься с указателями и расшаренной памятью может быть похерено одной ошибкой в твоём алгоритме который будет по факту в несколько раз медленней чем то что можно сделать через stl.
>>1453905>В стл эта самая биг О по максимуму оптимизированОх уж эти мечтатели.>ошибкой в твоём алгоритмеА ты не ошибайся и тестируй во всех смыслах, дебилоид
>>1453912> В стл эта самая биг О по максимуму оптимизирован> Ох уж эти мечтатели.у нас тут какой-то шизик завелся
>>1453364Прости меня, а чем ещё ты динамически память выделяешь?Или ты хочешь сказать, что динамически выделяют память лишь кретины, не придумавшие ничего иного?
>>1454152Ну тут ты не совсем прав.Очевидно что этот идиотик про смарты.Только от того что delete спрятано а new переименовано - сам менеджер памяти никуда не девается.А стандартный менеджер - фрагментирующееся говно, на ровном месте просирающее память и подыхающее в чем можно убедится элементарным тестомК вопросу о качестве стандартного говна и квалификации программистишек.
>>1454171> А стандартный менеджер - фрагментирующееся говно, на ровном месте просирающее память и подыхающее в чем можно убедится элементарным тестомВ какой операционной системе? Как оно просирает память, и как подыхает?
>>1454512>В какой операционной системе?В любом пингвине.> >фрагментирующееся говно>Как оно просирает памятьХуево быть таким тупым.Впрочем, ладно - скину пример вечером.
>>1454171Одно не пойму. Этот наш C++ уже не первый год существует. И что, никто не написал ничего получше/пооптимизированней, и сделал бы это стандартной библиотекой белого человека?
>>1454171>квалификации программистишеку меня квалификация норм. тока когда я начинаю писать с привлечением всего того что я умею, менеджер начинает возмущаться, дескать чего ты так долго возишься?мне даже не дают проявить себя на полную.
>>1454583>получшеТак стл и есть получше с точки зрения универсальности.Понятно что приличным специализированным решениям проигрывает иногда сильно
Вы что, ебанутые - советовать кресты? Как на этом говне вообще можно писать? В них тащат что нужно и что не нужно, из-за чего синтаксис с каждым новым стандартом становится всё более и более ебанутым, перл нервно курит в сторонкеПрограммируя на крестах, в лучшем случае будешь терпеть, а в худшем - возненавидишь программирование и станешь менеджером.
>>1458768Тем не менее, кресты - незаменимый, мощнейший язык. В определённых областях без него - никуда.
>>1458923Это заслуга не крестов, а легаси и либ на нём. Было бы это всё на других языках - смысла, кроме мазохизма, юзать кресты бы не было.Хорошо ещё, что Qt не такой мерзкий, ну и пара других либ. А остальное - полный пиздец
>>1458768> Как на этом говне вообще можно писать?Руками> синтаксис с каждым новым стандартом становится всё более и более ебанутымНо хз, кому как> перл нервно курит в сторонкеПисал в своё время, ничего страшного и читал много чужих исходников, как-то не помер> будешь терпетьБуду решать поставленную задачу> возненавидишь программированиеНесколько поколений уже выросло на плюсах и ничего
Анончики, проблема с установкой VS Community, не подскажите куда копать?Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: vs_setup_bootstrapper.exe Версия приложения: 2.2.3074.64249 Отметка времени приложения: a51f6bf4 Имя модуля с ошибкой: KERNELBASE.dll Версия модуля с ошибкой: 6.1.7601.23677 Отметка времени модуля с ошибкой: 589c9a27 Код исключения: c06d007e Смещение исключения: 000000000001a06d Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: 7283 Дополнительные сведения 2: 72836eb6216b49be15302fdb224c1b5d Дополнительные сведения 3: e4b2 Дополнительные сведения 4: e4b261e41d0248d44d1531d58b50fa5f
>>1452983 (OP)Самое трудное - смириться с тем, что несмотря на сложность языка, получать ты будешь ниже средней зп по рынку.
>>1459977Точно так же как и на Python, Js, C#, 1C, и чуть меньше чем на Java, Kotlin. Все остальное экзотика за исключением Objective-C и найти вакансии в регионах тот еще квест. Вывод: всё нормально! Со временем дорастёшь до нормальных зарплат, что попсовики облизываться будут, да и кодером будешь более толковым.
>>1453640Насчет проекта не скажу, ибо понятия не имею какая IDE у тебя. А к C++ картинки имеют отношение чуть менее чем никакое.А копирование в cmake элементарно:file(<COPY|INSTALL> <files>... DESTINATION <dir> [FILE_PERMISSIONS <permissions>...] [DIRECTORY_PERMISSIONS <permissions>...] [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS] [FILES_MATCHING] [[PATTERN <pattern> | REGEX <regex>] [EXCLUDE] [PERMISSIONS <permissions>...]] [...])
>>1453504>Архитектурно - язык позволяет мешать адово всё, что существует, и порой в одном продукте адовая смесь кода, чуть ли не на чистых Сях, С++14, функциональщины и прочего, прочего. Обожаю так писать, серьезно и считаю это правильно брать от жизни языка все и сразу. Где-то применил шаблономагию, например Curiously Recurring Template Pattern и static cast вместо вызова виртуальных методов для какого-то time critical цикла с пару atomic переменных и упростил часть кода ебучим макросом. А где-то для удобства наоборот нахуячил иерархий, всякие виртуальные функции, ибо код от run time зависит, и взаимодействие идет уже не через атомики а через всякие сообщения/команды/сигналы-слоты/observer.
>>1454519Память просирается, только если ты часто выделяешь/удаляешь куски памяти размером больше страницы. Это ОЧЕНЬ редкий случай, если ты не полный олень, и под такие дела обычно пишут свой менеджер памяти.