Вместо шапки - https://github.com/sosachbot/cppthreadhat/wikiОтветы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/Прошлый - https://2ch.hk/pr/res/1307268.html
Господин-Питонист заглянул в ваш чуланВы хоть врубаетесь, что в 2к19 статическая типизация это ебучий рудимент? Пользы от нее кроме геморроя для разраба - абсолютно никакого. Необходимо она лишь в узких ебнутых сферах вроде дроча МК. Вы тут че, с МК ебетесь? Ну так хули до сих пор не можете признать очевидного? За динамикой - будущее
>>1324005>МКМосковский Комсомолец? Мочевая кислота?И, да. Позоаи, когда нетипизированное SIMD появится.
Есть программа написанная в Borland C++ Builder (по факту в RAD Studio). У неё есть интерфейс и у каждой кнопки есть обработчик. Я хочу отследить работу программы используя брейкпоинт, но почему то программа не останавливается. Я ставил точку внутри функции и менял значение внутри этой функции, чтобы проверить в ту ли функцию я поставил брейкпоинт. Как вы уже догадались, функция верная и я правильно поставил брейкпоинт, но программа пропускает его когда происходит событие. Почему так? Может есть какие-то настройки из-за которых игнорируется брейкпоинт?
Аноны, доложите степень байтоебства, с которым вы сталкиваетесь на работе. Лично у меня где-то 10-15%, но по вакансиям в городе вижу, что от плюсовика ждут либо хардкорной байтоебли и знания ассемблера для реверса или эмбеда, либо крутую матешу для комп. вижена. В первое уходить желания нет, во второе может не получиться, хотя хочется (я еще студент, но не факт, что осилю всю нужную матешу). В итоге есть риск застрять на текущем рабочем месте на очень долгий срок, и выкатываться только путем хард ресета (изучения нового языка). В плюсы вкатился чисто случайно, ибо их в универе адекватно преподавали.
>>1324483>>1324483Выкатывайся в раст, хватит с тебя си++. Никакого хард ресета после си ++ не будет. Наоборот. Выбирай любой новый тайпсейфти язык и наслаждайся достижениями современной человеческой мысли. С плюс плюс отличная база для любого языка особенно нового.
>>1324005>За динамикой - будущееВозможно, но никак не за медленным интерпретаторным говном, жрущим вагон памяти
А есть способ в консольном приложении включать, выключать и проверять статус Num Lock на клаве?Это можно делать без подключения библиотек ОС?
>>1324461В других местах пробовал ставить брейкпоинты? Может там отдельная кнопка для запуска приложения в отладчике или проект собирается в режиме "релиз".
>>1324483>В плюсы вкатился чисто случайно, ибо их в универе адекватно преподавалиэто типа как симпатичная девочка становится профессиональной шлюхой после изнасилования в ранней юности..
>>1324595Сегодня разобрался во всем. Действительно в релизе было все, я привык работать в дебаге, а там почему то иногда переключается на релиз, не разобрался пока почему. Пишу в этом рудименте потому что так сказали.
>>1324747Да, оказалось что в релизе. Сейчас все ок. Хотя иногда переключается на релиз, я пока не понял почему.
>>1323587 (OP)Анончики, помогите ньюфагу.Как установить visual studio 2010 на лицовую дриснятку? не спрашивайте, зачем.При установке винда шлет меня нахуй, со словами что установлена более новая версия.Искренне надеюсь, что не придется запускать из под виртуалки.
Как заставить работать QWebEngine, если у тебя MinGW?В гугле написано что работает только с MSVC, в списке компиляторов у меня он есть, но если просто выбрать, то нихуя не работает, помню у меня вообще траблы были с этим когда только установил Qt Creator, не один комплект не отображался, даже с MinGW компилятором, я уже и не помню как пофиксил.Пытаюсь запустить пример, пик 2.
>>1324595> Почему ты пишешь в этом рудименте?Во многих шарагах пишут в этом рудименте. А вообще, он довольно удобный и понятный, по сравнению с современными аналогами, например >>1325684, в котором нужно ебаться с какими-то сигналами, слотами, залупой, мочой и т.д.
>>1325761Ассемблер ещё зацени, он довольно удобный и понятный, не надо ебаться с классами и прочей мочей ;)
>>1323587 (OP)Короче, узнал, что вот так можно, компилятор не ругается.A * a = new A; delete a;a->someFunc();Это нормально вообще? (код упрощен если что)
>>1325816Да, ведь конпелятор не в курсе, да и отстреливать себе правую ногу вплоть до левого уха не запрещено.
>>1325821Это разыменование указателя на несуществующий объект. Хорошо если упадёт, но обычно приводит к трудноуловимым багам.
>>1325816int a, b, *c;a=new int(123);b=c=a;delete a;>если бы delete делал бы неявно a=nullptr; то он ничего не знает о b и c и они останутся не "сброшенными"Пять минут погуглить.Вот тебе и ответ, почему возможно разыменование после delete - потому что указатель в nullptr не сбрасывается.Логично, что если несколько сущностей указывают на один и тот же объект, то при удалении одной должны быть удалены и другие. А delete не будет тебе шерстить всю память на предмет наличия других ссылающихся на конкретный кусок памяти указателей. И тогда получается неконсистентное состояние переменных.А вот тому, кто такой код написал - надо бы руки оторвать если ты, конечно, не проебал где-то между delete и обращению к методу присвоение этому указателю нового объекта.
>>1325825такое поведение было в какой-то версии борландовского компилятора и даже это не баг был а фича и использовался в борландовских внутренних потрохахподнобрости не помню уже, старость не радость
>>1325825>>1325858Гипотетически, если метод не дёргает внутренностей объекта, то и плохого ничего не произойдёт, хотя такое нужно объявлять статикой.
>>1325858Откуда компилятору это знать? Ты сто раз мог присвоить указатель ссылку на действующий объект.
>>1325825Методы класса в плюсах - обычные функции со скрытым первым параметром (this). Если они не виртуальные, то компилятор просто вызывает эту самую функцию. Поэтому бо-бо будет только при обращении к this.
Насколько C++ Сложнее C в плане изучения? Стоит ли его изучать если мне нравится Си? Какие фишки дает C++, которых нет в Си?
>>1325914раз в 50. Но по факту адвантеджами языка мало кто пользуются. все задрачивают библиотеки. Так что изучение языка си плюс плюс сводится к изучению библиотек. писать безопасный код на чистом си плюс плюс ебанёшься. если ты конечно не брат Паши Дурова.
>>1325914В C++ миллион фишек, которых нет в Cклассы, неймспейсы, шаблоны, ссылки, вывод типов, class enum, исключения, переопределяемые операторы и многое другое.в классах есть контроль доступа (public/private), конструкторы с деструкторами, методы классаклассы могут наследоваться друг от друга. одиночное и множественное наследование. виртуальное наследование.виртуальные методы (и абстрактные)куча вещей в стандартной библиотеке: STL, iostreamsв общем, можно радикально удобнее и лаконичнее писать код, который не будет уступать C в производительности
>>1325928>адвантеджами языка мало кто пользуются. все задрачивают библиотекинаглый пиздёж, этими средствами пользуются очень широкобиблиотеки - тоже важны.
>>1325933>>1325995>>1325928Как насчет ФП фич? Есть отличия между g++ и visual C++? Сам я не линуксе. Но часто попадается документация по visual C++. Поэтому интересно если отличия на уровне языка.
>>1326051>Сам я не линуксе.Как-будто под винду нет клона гцц.В рамках стандарта они одинаковые естественно. Могут различаться нестандартные библиотеки, количество реализованных фич из будущих стандартов.А так на уровне языка у гну есть некоторые расширения (неименовынные структуры, свитч-кейс по диапазону и т.п.)
>>1326087Специфичные что для микрософтовского компилятора, что для гцц вещи особого внимания не стоят, программируй на стандартном С++. "часто попадается документация по visual C++" - не читай ее, найди другой источник инфы
>>1326091>документация по visual C++" - не читай ее, найди другой источник инфы Чому?другой_интересующийся
спрошу ещё разЕсть тут obj-c++ господа или те кто юзает c++ для разработки под гейос вместе с obj-c/swift? 1. Есть смысл вкатываться?2. Какой диапазон задач решаешь?3. Если вкатываться, то с чего начать?мимо ios - 2 года
Можно ли замутить что-то такое?class A { char buf [4];};class B : public A { char buf[20];}Нужно расширить существующий буффер. Без хипа.
>>1326205Потому что в 2018 нет никакого смысла не писать некроссплатформенный код.Единственное исключение, ты пишешь кроссплатформу и через #ifdef'ы делаешь какую-то специфическую нестандартную йобу, которую поддерживают все компиляторы. Тогда конкретную документацию почитать придется. Но таким уже и мои советы не нужны. А общий совет вкладываться в написание кроссплатформы.
>>1326331Вообще говоря, по-моему, стандарт С++ про это ничего не говорит, но я думаю, работать будет. Хотя это довольно грубый хак.Не забывай, что sizeof объекта класса может отличаться от суммы sizeof всех его членов, т.к. доп. пространство может уходить на указатель на таблицу виртуальных функций и может уходить из-за требований выравнивания.И вообще, может появится компилятор, добавляющий какую-нибудь отладочную инфу в конце каждого объекта. А ты ее затирать будешь.
>>1326331Нет>>1326426>по-моему, стандарт С++ про это ничего не говоритОн говорит, что в B будет два буфера - buf[20] и A::buf[4].
>>1326616>>1326475а если написатьclass A {int __a;double __b;std::string __c;char ^ buf;char A_buf[20];explicit A() { buf = A_buf;}};class B : public A {char B_buf[15];explicit}
>>1326732Ебучий автосенд>>1326616>>1326475А если написатьclass A { int __a; double __b; std::string __c; size_t buf_size = 20;protected: char ^ buf; char A_buf[20];public: explicit A() { buf = A_buf; } const std::string get() { return std::string(buf); }};class B : public A { char B_buf[15]; explicit B() { buf = A::A_buf; }};Сие решение будет расово верным? Стандарт
Извиняюсь за флуд, я нервный немного.Никогда не буду в браузере писать больше трех строчек кода.Короче, вот это решение на скрине является расово верным, стандарт гарантирует успешную работу на вссех компиляторах?
Как сложить 2 vector'а (прибавить один к другому) для рекурсивной быстрой сортировки?https://pastebin.com/2r7DXipw Не пойму как вернуть сумму этих векторов. В книжке код на питоне, там просто их складывают, а как тут реализовать?
>>1326766Смысле же просто записать в конец. Так, например https://stackoverflow.com/questions/2551775/appending-a-vector-to-a-vector
>>1326770У меня там сумма из векторов, которые возвращаются из функции, я же не могу так написать:return quickSort(less, less.begin(), less.end()).insert(quickSort(less, less.begin(), less.end()).end(), quickSort(greater, greater.begin(), greater.end()));
>>1326780Но ты можешь создать новый вектор и вернуть его.А вообще кусок пишется на индексах/указателях/итераторах
>>1326830Не получится. На нижнем уровне вектор -- это просто массив на хипе, и его элементы обязательно должны лежать последовательно. Так что если 2 твоих вектора изначально в разных кусках памяти, тебе придется выделить новый и скопировать всё туда. На самом высоком уровне это делается неявно через два insert или явно в цикле. Не плоди сущностей, делай всё in-place.
>>1326830>>1326845Also this:https://stackoverflow.com/questions/29197811/runtime-of-merging-two-lists-in-python
>>1325914>Насколько C++ Сложнее C в плане изучения? Стоит ли его изучать если мне нравится Си? Какие фишки дает C++, которых нет в Си?В ЦПП нагородили очень много лишнего функционала, основное назначение которого это выстреливать себе в ногу (одно множественное наследование чего стоит), а по факту, единственная причина почему можно попробовать переходить с Си на ЦПП это только наличие ООП модели, но нужно быть крайне аккуратным, т.к. выстреливание себе в ногу просто неизбежно из за всего остального лишнего нагороженного функционала, который по факту никому не нужен, но все с ним ебутся. Поэтому насамом деле, если ты хорошо владееш Си и понимаеш как без ООП модели, делать все тоже, что кажется проще с ООП моделью, то лучше оставаться на Си т.к. это надежный язык с предсказуемым поведением (в отличии от цпп), и даже если очень хочется ООП, а в функционалку ты еще не можеш, то есть варианты как на чистом Си получить все основные фишки ООП подхода, без погружения в ЦПП. Если интересно, вот читай доки по ссылке, как на чистом Си, используя структуры как классы, а методы реализовать через ссылки на функции, посторить ООП подход (без использования перегруженного ЦПП) и продолжать и дальше повсеместно использовать лучшый язык:https://www.cs.rit.edu/~ats/books/ooc.pdf
Аноны, я нихуя не понимаю.Есть либа https://github.com/mborgerding/kissfftя хочу ее заюзать в своем c++ коде под андроид.Мне ее нужно компилировать а потом встраивать или можно просто скинуть 2 файла и вызывать это из с++ кода?Как вообще происходит добавление\использование с++ библиотек?Спасибо
Суп, двач. Вот зырьте, есть код, который под виндой в VC++ скомпилится, а под gcc нет. Например:unsigned char r = unsigned char(0x00); //Без unsigned можноИли #include <boost\assign.hpp> // Слеш нитудыНу, и наоборот есть. Так вот, где можно найти наиболее полный список таких ньюансов? Не гуглится :(
>>1327004Есть.Цапля хороша всем, кроме некоторых убогих сишных штук в синтаксисе. К несчастью языки, которые обещали это исправить — вроде жабы, цесарки и дыни — решили синтаксисом не ограничиваться и нарастили жирные рантаймы.Конец.
>>1327291У тебя объявление чара кривое пиздец.И нахуя бэкслэши, если слэши везде работают? Давай ещё как на олдмаке двоеточиями.
>>1327019Либы в формате исходников просто кладёшь в проект и пользуешь.Либы в статическом формате просто кладёшь в проект, подключаешь заголовок, настраиваешь линковку и собираешь.Либы динамические примерно так же, но линковать надо объектную прокладку (обычно lib), а потом рядом с собранным приложением класть dll или so.
>>1327337Это примеры, даун ты тупойМне просто нужен максимально полный список таких примеров, в качестве гайдлайнов для windows программистов, чтобы они своими коммитами билды не ломлали.
>>1327471ну у visual studio в доках были места помеченные как ms compiler specific behavior. но они там вроде не в одном месте были. их можно отключить опциями, насколько я помню. у гцц что-то типа того было - можно выключить нестандартные расширения. ну и включить уровень предупреждений повыше, а то и warning as errors врубить до кучи.
Привет крестоанонам. В качестве самостоятельного упражнения решил запилить разворот односвязного списка. 3 часа ушло на это: https://pastebin.com/vyTaDR6K . Пожлста поглядите, а то у меня выходит, что мой наколеночный алгоритм на системе х86 быстрее стандартного (std::forward_list::reverse()) примерно в 130 раз, на х64 -- в 80. А если запускать их отдельно (временно закомментировать все, что связано с другим списком), то при 10*7 элементов на х86 преимущество моего увеличивается до 218 раз. На х64 -- до 140. Почему так?
>>1328112Бля, точно! В релизе при 50107 эл-тах мой быстрее только в 1.7 раза. В стандартном алгоритме наверное кучу отладочного кода напихали, что он настолько медленнее становится при дебажной конфигурации.
>>1325684если у тебя qt под mingw, снеси ее нафиг, поставь студию 2015 или 2017(если совсем жалко места, то поставь от нее только compile utils), поставь соответствующую кутеху, либы которой собраны под тобою выбранную студию и не мучайся.
>>1328166 о чем ты?вроде всегда просто закрывали примитивами синхронизации и контейнеры std становились thread-safe..
Привет аноны. Подскажите, ищу опенсорсные драйвера для цветного принтера (пилю свой принтер). Гуглил, но как-то с ходу не нашёл. Есть что-то а примете?
Анон, помоги разобраться с использованием dll.Сделал проект с библиотекой, скомпилировал, получил .dll и .dll.a.Скинул их в проект с исполняемым файлом, добавил .h в сорс исполняемого.А с конфигурацией cmake разобраться не могу, пробовал так: https://pastebin.com/BL9pQWfkclion cmake mingw
>>1329033разобрался, все проще былоadd_executable(test_exec main.cpp main.h)add_library(test_lib SHARED lib.cpp lib.h)target_link_libraries(test_exec test_lib)>>1329419нет
Привет, аноны. Пытаюсь разбираться с текстовыми файлами, есть ли способ не перезаписывать файл при каждом открытии программы, а дозаписывать? Нужно, чтобы программа сначала считывала то, что уже есть в файле, а потом дозаписывать новые данные.
>>1326735>int __a;>double __b;>std::string __c;https://timsong-cpp.github.io/cppwp/n3337/global.namesCertain sets of names and function signatures are always reserved to the implementation: (1.1) Each name that contains a double underscore __ or begins with an underscore followed by an uppercase letter ([lex.key]) is reserved to the implementation for any use.
>>1326616>Да, в B будут 2 буфера. Один прямо за другим в памяти.И переходить во второй юзая указатель на первый нельзя.
Ньюфаг в треде. Сидя на толчке по памяти с нуля накодил hello world.Ебать я охуенен.Где мои 200к в наносекунду?
аноны подскажитеint i =0;while ( i < 10){ int i = 3; i++;}к моменту второй итерации цикла, в условии while() и будет использоваться локальное или глобальное? Нихуя не пойму, вроде должна глобальная и цикл будет вечный?
>>1331858Это говнокод. По нормальному нужно создать функцию, а в ней цикл, и если нужно внешнее значение, то передавать его через аргумент, но не менять, а переприсвоить локальной переменной. Изменять глобальное состояние не нужно, да и вообще создавать глобальные переменные тоже.
Я если честно уже заебался с этим Microsoft Visual Studio, вот такая хуйня постоянно ебет мозг, что не так то?Код работает где угодно но только не здесь, как чинить эту хуйню?
>>1332044потому-что ты ебучий полудурок, который не может создать ПУСТОЙ проект, а не стандартную парашу, которая включает прекомпилед хедер, о котором ты ничего не знаешь.
>>1332099Напомнить, что в 2019 в программист-треде своим высером про 30гб (на самом деле в районе 9, включающем в себя SDK, и прочие вещи) ты только выставляешь себя убогой нищенкой? NVMe ССД на 480 гигов стоит в районе 9 тысяч, что меньше дневной зарплаты сеньора-помидора.
>>1332108При чем тут цены. Только ненормальный поставит IDE весом 9ГБ! На самом деле 9Гб это не полная версия. Полная больше 30Гб!Мой Линукс весит 2Гб! 2 гига операционная система, Карл! А тут IDE больше чем в 4 раза больше!
>>1332124Дружочек, давай подумаем. Что лучше - неюзабельный кусок дерьма размером 2 гигабайта, или топ1 инструментарий для разработки размером да хоть в 300 гигабайт? Мне мое время и продуктивность гораздо важнее, учитывая, цену ССД выше. Можно вообще быть вим-говноедом, который весит < 10 мегабайт, но зачем?>>1332123не должно быть прекомпилед хедера нигде у новичков.
>>1332108>NVMe ССД на 480 гигов стоит в районе 9 тысячУ меня на 512. И уже забит под завязку из-за жирного говна вроде VS и UE4.
>>1332128Emacs несравнимо лучше и функциональнее любого IDE-говна. И при этом весит мегабайт 200 со всеми пакетами для неба и аллаха.
>>1332131Я прям посмотрел бы, как ты из емакса дебажишь в гдб-говне. Посмеялся всласть.>>1332129У меня на 480 свободно еще 300, стоит и студия, и юнити-хуюнити, и стим-библиотека, правда я там на аскетычах играю в инди-хуйню. Проблема не в обьеме ССД в данном случае.
>>1332128Не оправдывайся. Я на своем Линуксе в одну команду могу поставить любой софт для разработки. И весить он будет 1-200Мб. Такое тебе и не снилось. Компиляторы C/C++ так вообще из коробки.Пока твое дерьмо с глюками запустится, я уже все скомпилирую. Пока ты будешь ловить ошибки, устанавливать 100500 дополнительных расширений, я уже напишу код.
>>1332136Ну прям такие манямечты. Все он компилирует за 3 секунды, за которую студия запускается.А в нормальный дебаггер можешь? В нормальный статический анализ? Конечно твои тулзы весят 1-200мб, потому-что они ничерта не умеют, кроме компилятора.
>>1332139Разработчик на винде это калека. Это как лакмусовая бумажка. Если на винде, значит низкой квалификации. Потому как если не осилил *nix, то и глубоких знаний Computer Science у него нет.
>>1332141слышал, да. Снова рофлю.Когда у тебя специальные костылики, потому-что нет тулзов, которые ПРОСТО это умеют.Ну, а тесты - да, классная вещь. Компилируешь за 3 секунды хеллоуворлд свой, и смотришь, где свалилось, когда статический анализатор студии\решарпера тебе все заранее покажет.
>>1332142знание красноглазой параши никакого отношения к Computer Science не имеет. Ну и да, самое смешное, что ты снова мимо, потому-что я знаю ваше красноглазое говно, год под него писал. С тех пор у меня в поиске работы появилось требование нормальной операционки с нормальной средой разработки - и вот несколько лет сие требование неукоснительно соблюдается. Зарплата бтв с переезда на виндоработу выросла ровно в 2 раза.
>>1332144>статический анализатор студии\решарпера тебе все заранее покажетНу да, анализаторы же статически баги в многопоточке разруливают. И код за тебя пишут, и минет делают.
>>1332144Написание тестов тоже лакмусовая бумажка. Если тесты не пишут, значит компания отстой. Если на винде, то естественно тесты не пишут.Линтер это и есть статический анализатор если что. Только в студии твоей он гвоздями прибит. И если есть баги, ты их не пофиксишь никак. В моей случае я могу на гитхабе ишьюс создать, или даже сам пофиксить, и пулл-реквест отправить.
>>1332145Да неужели, а ничего что все курсы по устройству ОС построены на базе Unix & Linux? Ах да, ты не изучал устройство ОС.В самых крутых фирмах винда даже не рассматривается как рабочая ОС. Было бы смешно, если бы разрабы из какого нибудь Яндекса сидели на виндах. Это же воспитывает безрукость. Ты хоть консолью умеешь пользоваться?
>>1332150Баги в многопоточке фиксит только tsan, который нам на проекте без надобности, т.к. многопоточка используется без шаредных ресурсов фактически. А кучу всего другого - чинит студия сама.>>1332151В одну из мировых компаний с офисами по всему миру и торгующимися акциями. Где все сидят на винде.>>1332153Щас бы экстраполировать. Есть разные проекты и разные случаи. А с каких пор линтер стал статическим анализатором - нам еще предстоит выяснить.
>>1332158Щас заорал. Учитывая, что я знаю приличное количество народа из яндекса, и, допустим, весь яндекс-маркет сидит на студии. КэтБуст писан в студии. Что еще спизданешь?> Ах да, ты не изучал устройство ОС.Ладно, давай подианонимся. Драйвера пишу под винду. Как там подливка в штанах?
>>1332160Ну конечно же, не иначе как в гугле работаешь. Линтеры бывают разные, есть Lint для Си например.>>1332161Снова фантазии.
>>1332153>В моей случае я могу на гитхабе ишьюс создать, или даже сам пофиксить, и пулл-реквест отправить.Мой любимый аргумент, МОЖНОЗДЕЛАТЬ. Сколько пулл реквестов уже отправил, сколько багов пофиксил в своем компиляторе, пердоля? Воспользовался хоть раз этой возможностью?>>1332158>В самых крутых фирмах винда даже не рассматривается как рабочая ОС.Ваще пиздос, "самые крутые фирмы", ору просто с тебя.Пердоля думает, что инструмент выбирается по степени крутости. Ну что за пиздец.
>>1332191>что инструмент выбирается по степени крутости.А как еще? Понятно, что крепостным как ты, барин инструмент дает, у них и выбора нет. Свободный человек сам выбирает инструмент по вкусу.
>>1332128>топ1 инструментарийс таким монструозным объемом и тормозами, уже не топ, пожалуйVS2002-2008 еще были нормалек, а эти уже перебор.отдельных лучей поноса они заслужили за то, что MSVC++ новых версий не генерит исполняемые файлы для винды раньше Vistaфичи C++11 абсолютно ортогональны этому>мое время и продуктивностьне пизди. студия не делает тебя суперменом от программирования, ну никакчтоб ты одной левой благодаря студии в 10 раз быстрее всё писал...некоторые последние мои программы, вообще написаны в notepad++, и я задействую только компилятор из командной строкив чем-то мне это даже больше нравится, чем студия. да и комп у меня древний
Пользуясь случаем, хочу ссыкнуть в лицо вем тем, кто в 2к19 сидит на VS. Сьебал на линукс и просто счастлив. Буду держать в курсе.мимо пробегал
>>1332236Так-то в Яндексе что попросишь, то тебе и дадут. Скажешь мак - вручат мак, захочешь линь или винду - милости, сука, просим.мимо третий анон
>>1332200>>1332202>>1332203>>1332205>>1332218>>1332236>>1332267>>1332270>>1332278>>1332285Уроки-то сделал?
tl;dr последнего срача - все аргументы красноглазых культистов разбиты, в топ конторах пишут на винде, "я пишу в ноутпаде и компилирую из консольки"-хеллоуворлдщики малорелевантны.
>>1332506Это топ контора с точки зрения проектов. То, что они нихера не платят - это другая проблема.
> отдельных лучей поноса они заслужили за то, что MSVC++ новых версий не генерит исполняемые файлы для винды раньше VistaКак там, в 2005?
>>1332508Ну поиск я бы точно топ-проектом не назвал.Вот какие-нибудь машобы типа алисы можно топом назвать - и интересно, как они там на винде сидят.Вообще винда как раз признак махрового легаси и стагнации.
Не хотели Балмера с его:— VS 2012— Win7— WinServ 2008R2 и SQL Server 2008R2 — MSO2010— Silverlight— WinMo 6.5 и WinPhone (семёрка архитектурно была шикарна, особенно по части безопасности)— Microsoft Mathematics 4и прочим ПО, которое впервые не просто было лучше предыдущего, но и умудрялось потреблять меньше ресурсов?Ну и хули вы жалуетесь? Не будет теперь никакого developers, только дешёвые linux-monkeys, свято верующие и зубрящие.Добро пожаловать в жопу.
>>1332755Сколько лет с отмены крепостного права прошло, а кое-кому до сих пор не хватает барского сапога и плетки.
>>1332789Стоит (и не только чтобы вкатиться в плюсы, это обязательно для любого байтоеба), только перед этим почитай дизайн и эволюцию, и мейерса с саттером, чтобы писать на франкенштейне, который называют C/C++.
>>1332792>чтобы писать на франкенштейне, который называют C/C++На нем только и стоит писать. Выкидываешь STL, минимизируешь шаблоны, и сразу получаешь скорость компиляции как у сишки.
>>1332794>скорость компиляцииСтранная самоцель в 2018 году с SSD и быстрыми процессорами.Тем более STL, а не какая-то йоба из буста.Выкидывать можно не бесплатные абстракции типа исключений или виртуальных методов.
>>1332799>с SSD и быстрыми процессорамиОни не спасают. Каждый хидер из STL может на полсекунды время компиляции каждого файла увеличивать. В результате даже на небольшой проект спокойно лишняя минута набирается.
>>1332812А ты каждый раз каждый файл редактируешь? Я как-то работал над компилятором, полный ребилд которого занимал где-то полчаса, но мне это не мешало, потому что одновременно я редактировал максимум пару файлов.Не, я помню год эдак 2004 и в сравнении delphi с моментальной компиляцией и тормознутый билдер были небом и землей. Но сейчас это очень надуманный предлог. Тем более в плане STL. Чему там компилироваться, никаких йоба-рекурсивных шаблонов нет, а если ты прямо совсем эстет, то vector<std::unique_ptr<void>> один хуй будет лучше сишных массивов, он хотя бы сам себя удалять умеет, а пердолиться с кастами ты один хуй в сишке будешь.
>>1332789если планируешь зарабатывать программированием деньги, то не стоит вообще си или с++ сейчас учить
>>1332830>А ты каждый раз каждый файл редактируешь? Без инкрементальной компиляции вообще бы пиздец был, конечно. >Но сейчас это очень надуманный предлог.Ну фиг знает. Хочется и на ноуте нормально работать, а не только на жирном десктопе.>Чему там компилироваться, никаких йоба-рекурсивных шаблонов нетЯ тоже так думал, пока не пришлось проект с велосипедных контейнеров на STL переводить. Стандартные vector и unordered_map вместо своих контейнеров у меня время компиляции в разы повысили (вместо более-менее комфортных 20 секунд пришлось больше минуты ждать).>один хуй будет лучше сишных массивовЯ не говорю о полном переходе на сишку. Надо просто шаблоны очень аккуратно использовать.
>>1332848Вот, кстати, чувак замерил время компиляции для стандартных хидеров:http://virtuallyrandom.com/c-compilation-lies-damned-lies-and-statistics/
>>1332848>Ну фиг знает. Хочется и на ноуте нормально работать, а не только на жирном десктопе.Ну у меня ноут 2012 года с HDD, работается нормально. Может дело в тормознутой IDE?>>1332851Ну на пике 200 мс unordered_map и столько же vector. Если ты редактируешь пару файлов, проблем не будет.Если же ты переводишь контейнеры и из-за этого постоянно трогаешь хедеры и наслаждаешься перекопиляцией всего говна, что твоей хедер заинклудило, то да. Но это временное явление.Кстати, есть довольно простой трюк, как этой хуйни избежать. Пишешь файл#include <yoba.cpp>#include <yoba2.cpp>и компилируешь только его. Если у тебя cpp кода мало, а хедеров много, то из-за #pragma once хедеры не будут компилироваться каждый раз в новом объектом файле (так как такой файл будет всег один), в итоге компиляция будет очень быстрой. Если юзаешь какой-нибудь cmake, это несложно делается.>Я не говорю о полном переходе на сишку. Надо просто шаблоны очень аккуратно использовать. Не знаю, шаблоны по-моему лучшее, что есть в С++. Без шаблонов С++ превратится в ебаный rust.Не, так-то ты прав, но претензии к STL это совсем странно. Сколько же лет йоба на boost::MPL у тебя будет компилироваться.
>>1332869>Может дело в тормознутой IDE?У меня емакс на ноуте лол. Проблема именно во времени компиляции.>Ну на пике 200 мс unordered_map и столько же vector.Так он их и не использует вроде, только инклудит. При использовании время компиляции еще увеличится.>есть довольно простой трюкДа, юнити билд. Это хорошо для больших проектов, где есть модульность и связность кода маленькая. Для средних-маленьких бывает так, что один хидер вызывает перекомпиляцию половины проекта. Я обычно для шаблонных классов по максимуму все убираю из .h, и переношу в .inc, который инклудится в .cpp. Так что в .h только декларации класса и методов, а имплементация вся в .inc.>Не знаю, шаблоны по-моему лучшее, что есть в С++Лучше бы нормальное метапрограммирование было и компайл-тайм рефлекшен.>но претензии к STL это совсем странноДа я не говорю, что она плохая и не нужна, но на практике мне хватает сишной либы и своих контейнеров, и все работает не хуже, чем с STL. Да и непрактичная STL. Часто бывает проще свой контейнер навелосипедить, чем специализировать STL-ный аллокатор. Плюс там куча идеологического легаси из времен до C++11.
>>1332874>Вскрой тему если не трудноБез знания предметной области тебя никуда не возьмут. Сейчас С++ - это в основном большие проекты вроде КАД-ов, баз данных, игровых движков, какого-нибудь HiFreq трейдинга. Туда нужен опыт, мимокрока не возьмут.
>>1332904>А CAD-юзера инженера с 15-летним стажемЭто скорее в QA куда-нибудь, тестером. Чтобы кодить там матан надо знать. Можешь попробовать в какой-нибудь АСКОН пойти.
>>1332848А сколько ты там компилирушь, чувак?Я как сейчас помню, писал йобу где-то с неделю, и только в конце приступил к компиляции всей этой марахайки.И мне вообще посрать было, сколько оно там будет шебуршать.Или ты на каждую функцию гоняешь пересборку проекта?
>>1332927>А сколько ты там компилирушь, чувак?Недолго, но у меня интерактив, и поэтому постоянный цикл изменил - пересобрал - запустил. Поэтому долгое время компиляции жутко раздражает.
>>1332505Не надо забывать, что в яше ещё есть несметные тысячи серверов, как-раз таки под линуксом. И весь тот код, что пишется под виндой, в итоге крутится на них.
>>1332969>В Visual Studio есть Edit-And-Continue По мелочи патчить переменные и GDB умеет, а для чего-то более серьезного и в VS будет перекомпиляция вызываться, как я понимаю. Ради этого я с емакса слезать не буду.
Мам, я покаколПрограммирование как выяснилось довольно увлекательная штука.Сколько времени нужно потратить чтобы писать простенькие программки, или какую нибудь змейку с тетрисом?Не бейте лучше обоссыте
>>1333002>Сколько времени нужно потратитьДаже не задумывайся об этом. Получаешь удовольствие - получай, пока получается.
>>1332838двачую, на си++ сейчас такие вопросы задают, что Кнут это только повод для разговора, а там 1000 страниц. Что бы интервьюер тобой заинтересовался нужен еще и Майерс, там страниц 300. Причем все это надо проработать. Ладно, Кнут попроще в принципе. Можно на шару надеяться, что не спросят про алгоритмы, ну тут можно и ебаным виртом обойтись. Дальше начинается самое интересное - фреймворк. Считай stl.
ААА! кто-нибудь может сказать, почему при заливке на гитхаб из визуал студии в одних файлах русские комментарии нормальные, а в других превратились в //Êëàññ ñîîáùåíèÿ îò ôóíêöèé ïåðâè÷íîãî óïðàâëåíèÿ âíèìàíèåì ?
>>1323587 (OP)Есть тут архитектурные задроты? Я ДЛЯ СЕБЯ тут делаю некоторое дерьмо. Книг не читаю, глубину не задрачиваю ибо цели прикладные и временные.Есть два три класса. Управление, Данные и Залупа - третьи классы (дохуя)Классом Данные в основном пользуется класс Управление, но иногда READ ONLY доступ хотят получить всякие Залупы.Сейчас, класс Данные, создается конструктором класса Управление и сидит внутри, защищенный, Залупы, вызывают Геттеры Данных, через Геттеры Управления. Получается довольно нагромождено.Как правильно сделать? Оставить приватным, сделать пабликом или вообще нахуй оттуда вынести?
>>1333491И да, про READ ONLY напиздел, порой приходится вызывать не только геттеры но и другие методы. Вообщем для каждого метода Данных, приходится хуярить обертку в Управлении. Мне это не нравится, управление стал в 2 раза жирнее, а в будущем может стать раз 5, только из-за оберток.Может быть вообще развернуть Данные, в управлении?Какую из 4х дорожек выбрать? Я склоняюсь оставить как есть, так как "в моем понимании" наиболее соответствует принципу ООП. Но я хуй с горы и принципы эти знаю только поверхностно. Не хотелось бы пидорнутся и переписывать, когда это говно совсем обрастет.
Аноны, подскажите как создать взаимодействие между кодом и вебом? Хочу сделать задание из интернета, и столкнулся с незнанием вопроса. Когда гуглю как я это понимаю, мне выдает бэкэнд на плюсах.
>>1332799>SSDА вот нихуя не помогают в ситуации «много мелких файлов».Только RAMDrive, только хардкор.
>>1333543Заебись, тогда буду тут спрашивать некоторые интересующие моменты.А ты прям в Qt Creator пишешь или только библиотеки для VS юзаешь?
>>1333591Хеш-таблица, да, пытаюсь изьебнуться, т.к. данные обновляются часто, не хотелось бы терять в производительности.
>>1333092>Кнут попроще в принципеДа ты ёбнулся. Кнут ему простой. Ты хоть десять страниц там осилишь? Наврядли им именно он нужен. Седжвика будет достаточно.
>>1333597Я пытаюсь наследоваться от qabstracttablemodel. Там нужно переопределить несколько методов: data, setData, rowCount, insertRows и т.д. А структура данных, по идее, у тебя там может быть какая угодно. А так как такие данные, как потребление памяти отдельным процессом, меняются часто(допустим, я хочу их обновлять раз в секунду), каждый раз искать в каком-нибудь списке или векторе и обновлять данные будет довольно медленно. Поэтому я хочу как-нибудь прикрутить хеш-таблицу, шобы всё было как у Ерохина.
>>1333605А нельзя запилить свой тип данных, который наследует и от QHash и от qabstracttablemodel? Или в с++ нет множественного наследования. Не помню уже.
>>1333613Да я это самое... не помню просто, поэтому с сомнением пишу. А то напишешь хуйню уверенно, а потом тебя обхуесосят с ног на голову.
>>1333616А VS Community можно устанавливать на комп на работе? Или это будет считаться использованием в коммерческих целях?
>>1333619если у вас меньше 5 компов с такой студией, и оборот конторы меньше чего-то там (числа не помню) - то да. На SO была на эту тему портянка.
>>1333622https://stackoverflow.com/questions/32448921/can-i-use-visual-studio-2015-community-edition-for-my-sole-employee-llc
>>1333498>подскажите как создать взаимодействие между кодом и вебом?Что это за вопрос. Конкретней пожалуйста объясни задачу. Непонятно что тебе нужно сделать.
>>1333616>не слушай говноедов, лучше VS нет ничего Ну да, не меньше 10Гб весит, тормозит, глючит, требует всяких расширений. Худшее дерьмо, которое я видел в жизни. Это не софт для разработчика, это софт для ламера. У меня линукс например. Да и была бы винда, 100 раз подумал бы, прежде чем установить VS. VS Code другое дело, крутой редактор. На сегодняшний день пожалуй самый крутой редактор из всех. Много отличных фич. А еще MS запилили языковой протокол для редакторов.
>>1333662VS2008 оптимум. Дальше они начали страдать ожирением, да и интерфейс стал просто дерьмо.На моем компе VS2012 ставилась шесть, сука часов. Ещё пришлось расчищать диск при этом. VS2017 не поставился вообще. Я три дня убил только на изъебства с этим гавном.Впридачу, оказалось что VS2012 глючит под Win7 с последними обновлениями.Я крайне разочарован в этой говнокорпорации MS, что они сотворили с VS. Да и с виндой тоже. Все версии винды, начиная с Vista - это просто шлак. А Win10 заслуживает особой ненависти.Эти пидарасы уже давно ёбнулись подстёгивать юзеров раскошеливаться на новое железо выпуском всё более и более жирного софта, и включением искуственных ограничений.
>>1333699Ты ёбнулся, дед?10 винда менее прожорливая чем 7.17 студия аналогично по сравнению с 12.Алсо посмотри на требования макоси и охуей.
>>1333699О, держите пацана с атлоном ХР 1900+.>>1333662Ну да, 10гб, пиздец какая досада, учитывая, что средняя ААА игра весит 40+. Не тормозит, не глючит, Решарпер охуителен. Это софт для профессионала, который просто пишет код, а не ебется с линуксом, всяким дерьмом не релевантным и прочим.
>>1333772Хороший гой. Все берите с него пример. Не забывайте, что правильный гой должен обновлять телефоны и компьютеры раз в полгода.
>>1333772>средняя ААА игра весит 40+.>Это софт для профессионалаСразу видно восемнадцатилетнего профессионала.
>>1333822>Не забывайте, что правильный гой должен обновлять телефоны и компьютеры раз в полгода. Это должен работодатель делать.>>1333772> Решарпер охуителен.Хрен ты это объяснишь тем, кто им не пользовался)
>>1333822у меня на работе i7-6700 (не бог весь что конечно), и студия и решарпер куплены работодателем. Если ты настолько не ценишь свое время и комфорт, что сидишь на некроговне и жрешь говно - твое право, только не агитируй других на говноедство.>>1333799вот это флешбек из двухтысячных, спасибо>>1333827О, начались мантры типа ИГРЫ НИНУЖНО ДЛЯ ДИТИШЕК от красноглазых даунов, а потом где-то в соседнем треде АНОНЧИК КАК ЖЕ ПОИГРАТЬ ХОЧЕТСЯ. Проходили.
>>1333841>Если ты настолько не ценишь свое время и комфорт, что сидишь на некроговне и жрешь говно - твое право, только не агитируй других на говноедство.Для нашего поколения некроговном является как раз винда, все с нее начинали, все ставили студию и прочую хуйню. И то, что мы с нее блюемся - это потому что ценим свое время и комфорт.>О, начались мантры типа ИГРЫ НИНУЖНО ДЛЯ ДИТИШЕК от красноглазых даунов, а потом где-то в соседнем треде АНОНЧИК КАК ЖЕ ПОИГРАТЬ ХОЧЕТСЯ. Проходили.Для детишек есть ААА игры и сам по себе блевотный термин ААА. Дело не в играх, а в том, что для тебя в принципе игры - это часть твоего сознания, ты читая чей-то пост вспомнил игры как аргумент. А взрослые дяди играют на консолях, потому что 8 часов сидеть за компом, чтобы придти домой и сесть за комп - такое себе удовольствие.
>>1333849Для какого вашего поколения? Когда ты пердолишься с нерабочим говном без тулзов, сидя на Атлоне ХР - все с тобой понятно.Ну и да, взрослые дяди-консольщики это мем. Когда нищета насобирала себе на чипованный хбокс и радуется.Ну и конечно, взаимоисключающие параграфы про консоли и игры, как часть сознания, для шизика не вызывает никаких сомнений.ну и да, манюх, Компьютер можно к телевизору подключить, ну так, на всякий. И геймпады так же подключаются, вдруг ты не знаешь.
>>1333841Если ради студии я буду вынужден пересаживаться с ноута на десктоп, то она сразу отправляется нахуй.
>>1333853Я другой кун, но скажу тебе, что чтобы делать какие-то выводы, нужно хотя бы попытаться поработать на том и на другом. Пока по твоим постам я вижу лишь то, что ты тупой неосилятор который даже не пытался в линукс и оправдывает свою жалкую лень криками РЯЯЯЯ ВИНДА ЛУЧШИ, VS ЛУЧШИ!!! Лично по себе скажу, что моя эффективность возросла, когда я пересел с винды на линукс. Когда ты можешь одной командой в терминале сделать то, на что в винде могут уйти минуты, это здорово помогает.
>>1333728>чтобы писать такое на плюсах?Писать такое на плюсах не нужно и вредно. Лучше сразу бери хаскель и не еби мозг.
>>1333859Еще раз - у меня 5 лет саппорта линукса, и год разработки на нем. Есть 2 международных сертификата фор лулз. Я прекрасно умею работать в этой параше, я тупо не понимаю, как это поделие можно в трезвом уме выбирать для разработки под С++, когда есть Студия + Решарпер. Сидеть в культекреаторе, который подчеркивает с ошибками валидный код, или лагает при кланг-модели? Сидеть под шлионом, который жабоговно? Или быть каноничным вимодебилом?И при этом все равно держать винду второй осью?Единственное, для чего я открываю консольку - это гит, все, более у меня нет вообще никакого желания использовать ее ни для чего. Тут скорее все радуются и хвастаются КАКАЯ У МЕНЯ КОНСОЛЬ ровно по той причине, что не видели нормальных средств разработки.
>>1333865>Я прекрасно умею работать в этой парашеВидимо, не умеешь, раз так пишешь. "5 лет саппорта" намекает, что ты какая-то позорная макака, с которой и разговаривать зашквар.
>>1333867Реальность такова, что человек 5 лет (минимум) просидевший в саппорте, вряд ли является хорошим программистом.
>>1333853>Для какого вашего поколения?Для тех, кто родился примерно после 1975. То есть если столлман сидит на юниксах, потому что привык, это одно. А вот все остальные на никсы приходят, за рееедким исключением типа батя программист нихуя кроме никсов дома не держит.Вот этот кун >>1333859 все правильно говорит. Те, кто сидит на линуксе, совершили какие-то усилия, чтобы на него перейти. Если бы это того не стоило, они бы вернулись. Не наоборот.Поэтому вот эта хуйня "Тут скорее все радуются и хвастаются КАКАЯ У МЕНЯ КОНСОЛЬ ровно по той причине, что не видели нормальных средств разработки. " несет вообще ноль смысла.С хуя ли не видели? Видим мы эту студию постоянно, вон школьники сюда свои вопросы приносят со скриншотами из студии. >Ну и да, взрослые дяди-консольщики это мем. Когда нищета насобирала себе на чипованный хбокс и радуется.Ну какой-то локальный мем школьников. Я не "консольщик", точно так же, как я не панк, не рэпер и не гопник.>ну и да, манюх, Компьютер можно к телевизору подключить, ну так, на всякий. И геймпады так же подключаются, вдруг ты не знаешь. Удобный для подключения к телевизору пека (маленький, легкий, без лишних вентиляторов и т. д.) стоит столько же, сколько консоль, и это без джойстиков, с ними даже дороже выйдет. Плюс время на настройку.Хотя понятно, что ты имеешь в виду нищебродский вариант из веге-срачей, когда у тебя один пека, а телевизора у тебя нет, потому что ты школьник и он стоит в гостиной, а не твоей комнате.>>1333865>Еще раз - у меня 5 лет саппорта линукса, и год разработки на немМм, админишка. А у меня 10 лет коммерческой разработки, а на линуксе я, получается, с 2012.А по факту я переходил несколько лет - учеба мешала с ебучим мсвордом, какие-то привычки. Но лень победила и в винду я не перезагружаюсь вообще уже лет пять.>Или быть каноничным вимодебилом?Имаксобогом конечно же. А вообще похуй на редактор, никсы это само по себе IDE, а чем ты там тексты редактируешь, не так важно. Главное сам подход, когда у тебя нет ебучих проектов, солюшенов-хуюшенов, нет привязки к языку, для тебя нет разницы между удаленным и локальным сервером, а так же на чем ты работаешь, на десктопе с двумя мониторами или на ноутбуке десятилетней давности удаленно. В итоге среда разработки превращается в воздух, и возвращаться в душную студию для того, чтобы сэкономить минуту на рефакторинге вообще не хочется.
>>1333772Досада в том, при любых раскладах студия сожрет около 7-8 ГБ только на системном диске, независимо от того, куда сама студия ставилась.Для типичного ссд в 256-500 ГБ минус 7 гигов от системного диска это весьма ощутимо, если комп предполагается пользовать не только под студию.
>>1333892После установки студии копируешь все это говно на нужный диск и ставишь симлинк с помощью mklink в консоли и гордишься тем, что ты что эти красноглазики с ебучей консолью.
>>1333911Не все вкатились сразу после универа, или после 5 лет проперживания дома с мамкиными харчами.
>>1333891Давай еще раз - я с этим говном работал в районе 6 лет, и я до сих пор считаю, что это говно. Я совершал усилия, я учил это по работе. И до сих пор считаю неюзабельным говном для десктопа.Я даже в школе ставил всякие ныне-мертвые вещи типа Мандрейка (уже дважды переименнованного) - пользовался, не понимал, откуда этот хайп по неюзабельному говну, возвращался обратно.
>>1333929>Разве в наше время 7 гб - это много?Если каждая программа по 10-20Гб будет весить, то террабайт закончится очень быстро.
>>1333934По этому надо писать код в блокноте, компилировать на wandbox и заниматься дизайном в пейнте, понял
>>1333926>и я до сих пор считаю, что это говно>Я совершал усилия, я учил это по работеЭто опять говорит не в твою пользу. Особенно про "совершал усилия" и "учил по работе". Обычно это все легко дается и выглядит вполне естественным. Если тебе приходится совершать какие-то чрезмерные умственные усилия, то линукс и программирование вообще скорее всего не для тебя.
>>1333936>По этому надо писать код в блокнотеЕсли блокнот умеет практически все то же самое, то почему бы и нет? Зачем тратить свое время и нервы на жирную неповоротливую программу.
>>1333948Ладно, пойду уволюсь, что уж делать. На дваче красноглазые дебилы сказали, что программирование не мое, а я ламер
>>1333916Ну я с 20 работаю программистом, например. Нахуя работать саппортом, если умеешь программировать, я не понимаю. Это для манек, которые программировать не умеют.>>1333926>Давай еще раз - я с этим говном работал в районе 6 лет, и я до сих пор считаю, что это говно. Я совершал усилия, я учил это по работе. И до сих пор считаю неюзабельным говном для десктопа.define работалЯ в твоем понимании и не работал скорее всего, потому что вся эта админская хуйня мне не ведома.>Я даже в школе ставил всякие ныне-мертвые вещи типа Мандрейка (уже дважды переименнованного) - пользовался, не понимал, откуда этот хайп по неюзабельному говну, возвращался обратно. Ну вот твое понимание "работал" и "десктоп" похоже на то, что ты ставишь систему, пробуешь запустить фотошоп, мсворд и игру, и собственно и все.Я-то не абстрактно работаю, а программирую. Как минимум на трех языках ежедневно - c++, питоне и матлабе. И меня даже макось не устраивает с ее ебанутым homebrew, винда это же вообще каменный век. Особенно 10-я, с которой комп просто живет своей жизнью и ему на меня похуй. Натуральный как есть пердолинг.Что касается "десктопа", то 90% софта перекочевало либо на телефон, либо в интернет, вообще похуй, что у тебя за ось на пеке.
>>1333952>На дваче красноглазые дебилы сказали, что программирование не мое, а я ламерВсе это ты сам нам рассказал.
>>1333929Unix way предполагает, что это говнософт, раз он столько весит. Вся ОС весит 2Гб. В игры не играю. Intellij IDEA весит несколько сотен мегабайт. Что такого есть в VS, что она весит в десятки раз больше? Она что в десятки раз превосходит по функционалу и удобству? Сомневаюсь. Глючное, закрытое ПО, не имеющее кроссплатформенности. И даже если бы VS весила как Intellij IDEA, все равно бы ее не установил.
>>1333936Да ты ламер, это сразу видно. Есть VSCode, CLion, Eclipse, Emacs, Vim, etc. Твой отстой нужен только ламерам на винде.
>>1333656Ну вот предположим хочу написать программку, которая будет с сайта считывать какие-то поля или вводить логин/пароль за меня. На плюсах такое можно реализовать, или только с жабоскриптом каким-то?
>>1333865IDE на самом деле просто позволяют быстрее плодить говнокод. И говнокодеры именно так, как ты и рассуждают. КОДКОМПЛИТ ПОДСВЕТКА РЕФАКТОРНИГ ХУЯК ХУЯК В ПРОДАКШЕНЕсли ты думаешь больше, чем пишешь, то вся эта IDEшная функциональность отходит на второй план. И тут становится строго похуй на то, какую IDE использовать, тем более что емакс и вим с плагинами ничуть не хуже студии.А что касается линукса/винды, ставлю анус, что ты никогда не пользовался фреймовыми оконными менеджерами и не разрабатывал ПО в одном проекте на разных языках. Вот тут венда сосёт с проглотом.
>>1333998Можно. Но раз ты спрашиваешь, значит у тебя ноль опыта, поэтому сразу не напишешь. Сначала поучись простые задачи решать.
>>1333865>И при этом все равно держать винду второй осью?Это только у ламеров вроде тебя. У других одна ОС - Linux. Ты обычный неосилятор. Не оправдывайся, и хватит сказки рассказывать.
>>1333998>На плюсах такое можно реализовать, или только с жабоскриптом каким-то? Можно, но проще взять python. Там для этого все есть без лишнего геммороя.
>>1333865>Еще раз - у меня 5 лет саппорта линукса, и год разработки на нем.Иди бабкам у подъезда такие сказки заливай.>>1333865>Единственное, для чего я открываю консольку - это гитЛОЛ, в винде нет консольного гита.
>>1334034Да это какой-то школьник-мудак, который считает, раз он пиздит всем про то, какой он не школьник, то и все так должны делать.В чем логика, нахуя пиздеть о 5 года саппорта, если по сути это зашквар для программиста. Но школьник-мудак такого не понимает.
>>1333970Разрабатывать неговнософт сложнее и затратнее. Если бы у людей не было возможности продавать говнософт, мы бы лишились многого. Многое тупо не было бы реализовано.
>>1334082На самом деле нет.Просто майкрософт такая корпорация, что ей и затраты на говнософт ни по чем.
>>1334083А может наоборот? Майкрософт - такая корпорация, потому что она делала говнософт с малыми издержками?
>>1334046Почему пиздеть, и сразу школьник? Т.е. не может быть такого, что человек умеет в инструмент, и считает его говном?
>>1334087Нормальный софт они делали в свое время.Золотое время микрософта - это эпоха до интернета, когда софт распространялся на носителях, поэтому вместо аджайла нужно было раз подобно железу делать версиии по полгода-году, а процессоры ускорялись экспоненциально.Тогда они нагуляли жир, клиентскую базу и тонну бюрократии и с тех пор постепенно все это проебывают.Сначала браузеры отвалились, телефоны (когда-то все смартфоны были windows mobile 6, не считая нокии), теперь ПК-рынок постепенно усыхает.
>>1334083>>1334087У Microsoft не все говнософт. Но винда с ее идеологией и соответственно виндовый софт вроде Office, VS, - говнософт чистой воды. Так как весит непомерно много, многое прибито гвоздями, глюки и ошибки без возможности пофиксить.
>>1334102Что это за фуфло. Вот настоящий гит для винды, но это гуишный клиент https://git-scm.com/download/win
>>1334107Чем ты занимался 5 лет? От какой конторы сертификаты? По твоим сообщениям видно, что ты неопытный, это не скроешь.
>>1325827>А вот тому, кто такой код написал - надо бы руки оторватьЕсли такое недопустимо писать, то почему ваш недоязык такое позволяет?
>>13341241. Заходишь в оп-пост2. Кликаешь на ссылку "вместо шапки"3. Ищешь там памятку ньюфагу4. Находишь там 5-й пунктТам ответ на твой вопрос
>>1334024Да мне не конкретную задачу выполнить, просто интересуюсь возможно ли такое вообще. Но раз велосипеды надо изобретать, то забью наверное.
sort() из STL использует swap() или не использует?Липпман говорит, что использует; отладчик показывает, что нет.
Это норма, что обычный консольный таймер жрёт 6 мб оперативки? C++ же низкоуровневый и был создан несколько десятилетий назад, а тут аж 6 мб сожрал.
>>1334249Я тоже дико прихуел с того, что голове приложение на GLUI или SFML отжирает где-то 50МБ сходу, а довольно гуёвистая штукенция на впф-дотнете — несколько мигобайт.Что-то мы делаем неправильно.Ну и за поголовные -O2/O3 надо бить, может в этом причина. Наразворачивают циклов, а потом оно долго загружается и в кэш не влезает.
>>1334232Хз, но вот std:swap() для примитивов даже XCHG не использует, там в дизасме такая жирота, что даже трогать не хочется.
>>1334296Интересно, а любители попогромировать на АСМе вручную циклы разматываютконтролируя каждый такт?
>>1332108да, я нищенка теперьу меня ипотека и 2 киндера и автокредита ещё путёвки в Европу на семью ныне дороги
>>1334378Молодец, я тобой горжусь. Но не забывай, что си очень старый язык и сейчас стандарты кодирования поменялись и стали более строгими.1. Пиши каждую переменную новым утверждением:int x = 10;int y = 20;2. Выделяй блоки у if'ов даже если они однострочные. Запятую лучше вообще не исползуй.3. Делай отступы у блоковПопробуй и сравни, насколько красивее все будет выглядеть
Почему эта хуйня не работает?std::vector<int> ints = {2, 3, 4, 5, 7, 13};int n;std::cin >> n;bool devisible = any_of(ints.begin(), ints.end(), [&n] (int x) { return std::modulus<int>(n, x) == 0;});Пишет, что невозможно преобразовать "initializer list" в "std::modulus<int>"НО, если делаешь:std::modulus<int> modul;bool devisible = any_of(ints.begin(), ints.end(), [&n, &modul] (int x) { return modul(n, x) == 0;});то всё становится хорошо
>>1335301Сейчас модно кроссплатформить. GDI просто так не изучить, он идёт как часть Win32/NT.Т.е. надо изучать Win32.И да, оно сишное, а не плюсовое.
>>1335376Я вопрос хотел задать по перезагрузке изображения, решил сам и мой бомбаж от этого решения лишь усилился.Ща второй вопрос, использую окно открытия файла, всё вроде бы прекрасно, но какого-то хера через него файл не перерисовывается.Просто пиздец, какую только херню не придумают, вместо стандарта навроде опенгл.И да, я нюфаг в программиировании если чо.
Аноны, обновите шапку или порекомендуйте литературы для именно разработки проектов на плюсах, с использованием современных фич. Недавно дочитал Джоустиса, и честно говоря заебался в каждом абзаце видеть фразу "возможно это уберут в следующем стандарте, но я вам об этом расскажу" и его самостоятельные реализации классов, которые на данный момент есть в стандарте.
>>1335432GDI хорош, когда тебе нужно простое приложение сугубо под винду, без излишеств и в то же время со всей нужной базовой фигнёй. При этом уже с висты в качестве альтернативы предлагается DirectUI (на котором почему-то сами выпустили только полтора приложения), а потом уже пошло всякое.
>>1323587 (OP)Вот нормальная версия pdf на книгу Программирование. Принципы и практика с использованием C++ Бьярне Страуструп (перевод: И. В. Красиков)(Редактор: И. В. Красиков)https://coollib.com/b.usr/Byarne_Straustrup_Programmirovanie._Printsipyi_i_praktika_s_ispolzovaniem_C%2B%2B.pdfВ шапке ссылка на djvu книгу с косяками по типу как на пикче1. Пикча2 как должно выглядеть. Плиз поправьте
Сап анон, хотел написать трассировщик лучей по туториалу с хабра, но нихуя не могу понять. https://github.com/ssloy/tinyraytracer/commit/c19c430151cb659372b4988876173b022164e371Почему переменным присваивается значение, но они дальше нигде не используются?
>>1335547О, зашибис.Искал ее как-то в пдф, чтоб на гейпаде читат, не нашел. Онлайн конвертер выдавал ёбу в 900 Мб весом.
Только недавно начал изучать плюсы, может кто-то на простом языке объяснить что такое L-value и R-value и в чем отличие? я так и не понял что в коде леввое а что правое и как их отличатьНу типа в гугле написано что левое хранится в памяти а правое нет, но как в коде это понять? может кто-то на примере легкого кода по типу int a=5, b=6, c;c=a+b;cout<<c;что тут левое а что правое?и можно еще объяснить на примере этого кода что такое литералыя так понял это 5 и 6?
>>1335660Ну проблема в том, что я не знаю/не понимаю, как в плюсах брать адрес, - поэтому мне бы на простом языке кто-то помог)
>>1335395>вместо стандарта навроде опенглХорошо сказано. Когда нужен стандарт есть стандарты, а есть опенгл вместо стандартов.
>>1335625Левые и правые значения были в сях, в плюсах их больше и допустимо пересечение.По канону считалось, что левое значение допускает присвоение, потому как это не значение вовсе, а адрес в памяти или регистр. Правое значение может выступать объектом присвоения и точного местоположения не иметь — да, это те же память и регистры, но нас это не волнует, с точки зрения компилятора значение как бы нигде не сохраняется.А вообще можно почитать это https://stackoverflow.com/questions/3601602/what-are-rvalues-lvalues-xvalues-glvalues-and-prvalues — там больше типов и объясняется различие.
Снова выхожу на связь, только теперь с GetOpenFileName, он запускается и мне удаётся открыть изображение, но вот беда, он открывается лишь однажды. Код слизан с примеров, там есть ZeroMemory и как я понял он должен чистить эту структуру, но ему ожидаемо похуй. Не описать словами мой бомбаж, ведь в гугле по моей проблеме я ничего не нашёл, зато всякой херни уроня школы которую можно решить методом тыка навалом. Есть тут кто, кто сможет мне объяснить как эту херню обнулять для повторного запуска этой ебалы?
>>1335710семантика перемещения конечно добавила в язык непонятногочтобы разобраться как оно под капотом работает.. щас с нуля осваивающим кресты без опыта работы в нативе вообще можно это не освоить
>>1335711>GetOpenFileNameОн устарел и https://docs.microsoft.com/en-us/windows/desktop/api/commdlg/nf-commdlg-getopenfilenamea это подтверждает. Начиная с висты другая инфраструктура — https://msdn.microsoft.com/en-us/library/Bb776913(v=VS.85).aspx.
>>1335823дык потому что вы игнорите страуструпа "язык программирования с++, специальное издание", там упражнений сотни, наверноеплюс можно их переделывать с учетом новых стандартоввзять положим упражнения к 17 главе - нужно реализовать несколько вариантов hash map, очень полезно
>>1335829для его изучения и использования желательно иметь бекграунд в виде си и алгоритмов со структурками, это минимумв общем, кресты явно не для вкатывальщиков, а для людей закончивших вуз на программиста учась как минимум
>>1335829По большей части нет, сложности начинаются на шаблонном метапрограммировании.>>1335839>для людей закончивших вуз на программиста учась как минимумЭто если ты не очень умный
>>1335853о, да, деткамы ведь все здесь очень умныеза три треда ни строчки кода кроме студентов-уебков выводящих хелловорд через cout
>>1335865Ага, вот я тут спросил про хелловорлд >>1333728Учу теперь ренжи которые в с++20 видимо войдут.
>>1335865Я вкатился в кресты в 7-м классе школы, как раз по страуструпу.Помимо меня, я знал ещё человек 3-х из моей школы, кто тоже их освоил, но они были года на 2 старше. Дело было на рубеже 2000-х.
>>1336150а я подрочил первый раз в 7м класседо сих пор помню это ярчайшее событие моей жизнинужны подробности?
Как понять строчки // // richTextBox1 // this->richTextBox1->Location = System::Drawing::Point(95, 61); this->richTextBox1->Name = L"richTextBox1"; this->richTextBox1->Size = System::Drawing::Size(100, 96); this->richTextBox1->TabIndex = 2; this->richTextBox1->Text = L""; this->richTextBox1->TextChanged += gcnew System::EventHandler(this, &Form1::richTextBox1_TextChanged);Почему стрелка -> используется паравозиком 2 раза?
>>1336168Стрелка — это доступ с разыменованием, т.е. если у тебя указатель a указывает на экземпляр некоего класса-структуры, имеющего поле b, то (*a).b идентично a->b.Тут всё просто — у тебя есть ключевое слово this, которое в себе указатель на текущий экземпляр держит (ты вот внутри этого контекста, например это экземпляр окна), и ты косвенно обращаешься к его члену richTextBox1, который в свою очередь тоже указатель на экземпляр другого класса, у которого есть поля вроде Location, Name, Size и т.д.
>>1336226Там ничего не понятно особомне бы просто определение перегрузки и что она делает, а ее действия явно не заканчиватся на имени функциитам вроде что-то связано с типом данных, типа инт может стать чаром и т.п
>>1336238Посмотри на OpenGLGLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble m );GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat m );GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble m );GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat m );GLAPI void GLAPIENTRY glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );GLAPI void GLAPIENTRY glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );видишь тонны функций, у которых в конце префикс, соответствующий типа (d для double, f для float)? Перегрузка позволяет обойтись без этого. Ты пишешь название функции, void glTranslate( GLdouble x, GLdouble y, GLdouble z );void glTranslate( GLfloat x, GLfloat y, GLfloat z );а компилятор сам выбирает более подходящую.
>>1336252Странное всёравно название перезагрузка. Ведь сигнатуры у функций разные, значит и функции разные.
>>1336265но функции разные то, в скобках тоже относится к названию функции будь то название аргумента или типа аргумента, это всё влияет на название (сигнатуру) функции. И если хоть один символ во всей сигнатуре будет отличаться то и функции будут разные . нет?
>>1336265>Ты вместо разных функций делаешь одну, которая умеет все.Школьник? Это уже обобщения, перегрузка лишь предполагает одинаковые имена при РАЗНЫХ сигнатурах.
>>1336258Плюсы сильно сложнее в плане таких статусов, тут на Intermediate нужно не только знать азы крестов (синтаксис, си-подмножество, память и аллокация, итераторы, STL), но и что-то поверх, например либы для работы с СУБД и обмена данными, сетевые и пр.А сеньор ещё и ассемблер, особенности ОС и прилично матана должен знать.
>>1336257Это и есть разные функции, у них даже где-то там внутре разные "имена".Но в коде они будут использоваться как будто это одна функция, под одним именем, но с разными списками параметров. Короче, это способ в некоторых случаях сделать код более простым.Ну и конструкторы у классов - все суть перегруженные функции.
>>1336292ну вообще-то, критерии отнесения к той или иной градации, это всё вилами по воде написано. в каждой конторе может быть своё понимание таких вещейв добавок, лычки лычками, а ЗП живет своей жизньюи middle в одной конторе может получать выше senior в соседней
>>1336292Синьёр-джуниор-мидол - это должности, роли в конкретном проекте. О квалификации они говорят весьма косвенно.>А сеньор ещё идолжен уметь руководить, потому что без этого он просто задрот.
>>1336320>А сеньор ещё и должен уметь руководитьПалишься работой на отсосной галёрке хохлоиндусом, где вершина карьеры — из раба перейти во всем мешающего своим ыкспердным мнением жирного пидоманагера.
>>1336292Любой язык сам по себе ничего не стоит. Люди ждут от программиста еще и какой-нибудь набор навыков в предметной области проекта. Можно посмотреть на вакансии и узнать, какой стек чаще всего требуют в придачу к конкретному языку. Например для ЖС это рект/нод и прочие веб-фремфорки. В случае с плюсами это обычно лоу-левел.
>>1336200частный случай статического полиморфизма, страуструп это называет ad-hoc, хотя функциональщики с ним поспорили бы!ничего сложного!нужно быть сильно тупым что бы это не понимать
>>1336329Да не всегда даже есть эта самая предметная область. Есть программеры, тупо пишущие скрипты на Python для автоматизации всяких операций по администрированию группировки серверов. Ротация логов там, статистика, операции с Active Directory, назначение прав доступа, мониторинг нагрузки, и проч. Какая тут предметная область?Есть другие программеры, пишущие скрипты для игрушек. А здесь какая область? Немножко 3D?
>>1336335а еще, хоть это и частный случай, но необходимый!так как существует необходимость конструирования объктов разными способами, то и конструкторов может быть несколько а уже напрямую из-за этого возникает необходимость в языке в поддержке перегрузкидаа еще я только что посрал, колбаска грязно сползла и пришлось ершиком орудовать
>>1336328>из раба перейти во всем мешающего своим ыкспердным мнением жирного пидоманагераПрижатая к стенке ты бы так не говорила.Уважаю правдорубов, честно. На собеседовании не слабо свою позицию изложить в таких же терминах?
Как быстро вы научились программированию на с++? Как произошел переход от написания всяких простых упражнений до полноценной работы с кодом на тысячи строк, в котором используются все конструкции языка?Это произошло после того, как вас взяли на работу? На работе мозги на место вправили?
>>1336346В общем-то секрета здесь никакого нет, просто берешь и переходишь до полноценной работы с кодом
>>1336320Даже так? От проекта к проекту ты становишься то junior, то senior?У нас в конторе ранг разработчика пришит к нему накрепко, и не меняется, над чем бы он не начал заниматься.говорю же, все эти вещи присваиваются кто во что горазд.уверен, даже самый наикрутейший senior позавидует безработному мужику, в заначке которого есть лимонов десять баксов.
>>1336357Всё начинается с малого, и в общем-то даже средний проект ты в голову себе целиком не положишь и всё равно вынужден будешь работать с конкретным небольшим куском. Глаза боятся, а руки делают, приводя глаза в ещё больший ужас.
>>1336384Инкапсуляция — альфа и омега всего программирования. Дрочи на что хочешь, но молиться на чёрный ящик обязан. Правильно скомпонованный код проще понять, чем лапшу, сечёшь?
>>1336368>безработному мужику, в заначке которого есть лимонов десять баксовНакопления — это хорошо, но входящие денежные потоки ещё как нужны.
>>1336385То есть ты можешь посмотреть на участок кода и понять, что он делает?Давай я буду подавать тебе на вход участки кода, а ты будешь писать, что он делает.ThrowIfFailed(device->CreateCommandList(0, type, commandAllocator.Get(), nullptr, IID_PPV_ARGS(&commandList)));
>>1336393Вызов функции(косвенный вызов метода(константа, переменная, результат прямого вызова метода, пустой указатель, вызов функции(передача адреса на переменную)))
>>1336390>ThrowIfFaileddevice->CreateCommandList - возвращает коды ошибок в сишном стиле, ThrowIfFailed проверяет возвращаемое значение и кидает исключениеdevice - какой-то класс, предоставляемый драйвером устройства. IID_PPV_ARGS - ого, макрос COM, значит какая-то микрософтовская блевотня, надо загуглить саму функцию "CreateCommandList" - бля, директ3д, значит device - видеокарта, а запостивший школьник - который мечтает делать игори, но вместо освоения анрыла решил зачем-то учить с++
>>1336394Блин, круто.А давай ты будешь делать это по команде.Скажем, я буду писать в тред InitializeAnonInterpreter(true). А ты в ответ должен будешь присылать свой id и статус Ready. А потом командой Interpret("код") я буду подавать тебе на вход код, который нужно интерпретировать, а ты будешь присылать, что этот код делает.Можно еще в функции Interpret указывать параметры семантично или с учетом наименований. Или с помощью флагов как нибудь сделать.
>>1336388При достаточно большой сумме, нет не нужны. Да подчас и нет их, неоткуда взять, и не предвидятся. Разве что попытаться инвестировать тот капитал, что есть. И этот поток будет прибылью от инвестиций.Ты запасаешься деньгами на всю жизнь вперед, или даже больше, и вуаля! на тропические острова к знойным мулаткам!у иных толстосумов вообще net worth уже совсем не тот что ранее, упал вдвое, но ничего, им все равно денег хватит на 3 жизни вперед.так что бабло всему голова, а эти лычки ты сам можешь раздавать кому и как хочешь, если откроешь свою контору
>>1336398Какому-нибудь алкашу в деревне и с миллионом рублей нет нужды - положил по 8% и бухаешь на 8 тысяч в месяц. А для меня, например, миллион рублей - это ничто.Поэтому есть нужда или нет давай спрашивать у тех, у кого эти миллионы есть.
Парни, чтобы работать с docker надо быть программистом или сисадмином?) не шарю что там делают, но хочy!
>>1336401А чё спрашивать, всё и так на виду. Самые богатые люди мира нахапав миллиарды, их вообще раздают на благотворительность.А про лимон рублей речи нет и в помине.
>>1336409докер на go написан, а обеспечение на уровне оси в основном на швятой си, так чтож не в тот тред,
>>1336409Надо знать основы устройства ОС. И практику работу с *nix системами. Программистом быть не обязательно, но Docker создан для программистов, он решает задачи программистов.
>>1336771Hlsl Это совершенно другое, cuda c++ еще хоть как-то, но и cuda c++ это не совсем с++, а подмножество. Пойду перекат пилить