Это копия, сохраненная 10 марта 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
Прошлый - https://2ch.hk/pr/res/1307268.html (М)
Ты уже третий.
Вы хоть врубаетесь, что в 2к19 статическая типизация это ебучий рудимент? Пользы от нее кроме геморроя для разраба - абсолютно никакого. Необходимо она лишь в узких ебнутых сферах вроде дроча МК. Вы тут че, с МК ебетесь? Ну так хули до сих пор не можете признать очевидного? За динамикой - будущее
Кыш, жырный тролль!
>МК
Московский Комсомолец? Мочевая кислота?
И, да. Позоаи, когда нетипизированное SIMD появится.
Попробуй написать что-то сложнее хеллоу-ворлда
Джва дня сидел ждал, пока кто-то перекатит, пришлось самому. Совсем обленились
>За динамикой - будущее
Возможно, но никак не за медленным интерпретаторным говном, жрущим вагон памяти
Это можно делать без подключения библиотек ОС?
Двачую за Хаскель.
В других местах пробовал ставить брейкпоинты? Может там отдельная кнопка для запуска приложения в отладчике или проект собирается в режиме "релиз".
>В плюсы вкатился чисто случайно, ибо их в универе адекватно преподавали
это типа как симпатичная девочка становится профессиональной шлюхой после изнасилования в ранней юности
..
Сегодня разобрался во всем. Действительно в релизе было все, я привык работать в дебаге, а там почему то иногда переключается на релиз, не разобрался пока почему. Пишу в этом рудименте потому что так сказали.
Да, оказалось что в релизе. Сейчас все ок. Хотя иногда переключается на релиз, я пока не понял почему.
Анончики, помогите ньюфагу.
Как установить visual studio 2010 на лицовую дриснятку? не спрашивайте, зачем.
При установке винда шлет меня нахуй, со словами что установлена более новая версия.
Искренне надеюсь, что не придется запускать из под виртуалки.
В гугле написано что работает только с MSVC, в списке компиляторов у меня он есть, но если просто выбрать, то нихуя не работает, помню у меня вообще траблы были с этим когда только установил Qt Creator, не один комплект не отображался, даже с MinGW компилятором, я уже и не помню как пофиксил.
Пытаюсь запустить пример, пик 2.
Ассемблер ещё зацени, он довольно удобный и понятный, не надо ебаться с классами и прочей мочей ;)
Короче, узнал, что вот так можно, компилятор не ругается.
A * a = new A;
delete a;
a->someFunc();
Это нормально вообще? (код упрощен если что)
Да, ведь конпелятор не в курсе, да и отстреливать себе правую ногу вплоть до левого уха не запрещено.
Это разыменование указателя на несуществующий объект. Хорошо если упадёт, но обычно приводит к трудноуловимым багам.
int a, b, *c;
a=new int(123);
b=c=a;
delete a;
>если бы delete делал бы неявно a=nullptr; то он ничего не знает о b и c и они останутся не "сброшенными"
Пять минут погуглить.
Вот тебе и ответ, почему возможно разыменование после delete - потому что указатель в nullptr не сбрасывается.
Логично, что если несколько сущностей указывают на один и тот же объект, то при удалении одной должны быть удалены и другие. А delete не будет тебе шерстить всю память на предмет наличия других ссылающихся на конкретный кусок памяти указателей. И тогда получается неконсистентное состояние переменных.
А вот тому, кто такой код написал - надо бы руки оторвать если ты, конечно, не проебал где-то между delete и обращению к методу присвоение этому указателю нового объекта.
такое поведение было в какой-то версии борландовского компилятора и даже это не баг был а фича и использовался в борландовских внутренних потрохах
поднобрости не помню уже, старость не радость
>>>1325825
На вижуал студио 15 тоже отлично работает
Потому это нелогично наверное работать с удаленным объектом и с его данными
Откуда компилятору это знать? Ты сто раз мог присвоить указатель ссылку на действующий объект.
Методы класса в плюсах - обычные функции со скрытым первым параметром (this). Если они не виртуальные, то компилятор просто вызывает эту самую функцию. Поэтому бо-бо будет только при обращении к this.
раз в 50. Но по факту адвантеджами языка мало кто пользуются. все задрачивают библиотеки. Так что изучение языка си плюс плюс сводится к изучению библиотек. писать безопасный код на чистом си плюс плюс ебанёшься. если ты конечно не брат Паши Дурова.
В C++ миллион фишек, которых нет в C
классы, неймспейсы, шаблоны, ссылки, вывод типов, class enum, исключения, переопределяемые операторы и многое другое.
в классах есть контроль доступа (public/private), конструкторы с деструкторами, методы класса
классы могут наследоваться друг от друга. одиночное и множественное наследование. виртуальное наследование.
виртуальные методы (и абстрактные)
куча вещей в стандартной библиотеке: STL, iostreams
в общем, можно радикально удобнее и лаконичнее писать код, который не будет уступать C в производительности
>адвантеджами языка мало кто пользуются. все задрачивают библиотеки
наглый пиздёж, этими средствами пользуются очень широко
библиотеки - тоже важны.
>Сам я не линуксе.
Как-будто под винду нет клона гцц.
В рамках стандарта они одинаковые естественно. Могут различаться нестандартные библиотеки, количество реализованных фич из будущих стандартов.
А так на уровне языка у гну есть некоторые расширения (неименовынные структуры, свитч-кейс по диапазону и т.п.)
Специфичные что для микрософтовского компилятора, что для гцц вещи особого внимания не стоят, программируй на стандартном С++. "часто попадается документация по visual C++" - не читай ее, найди другой источник инфы
>документация по 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];
}
Нужно расширить существующий буффер. Без хипа.
Потому что в 2018 нет никакого смысла не писать некроссплатформенный код.
Единственное исключение, ты пишешь кроссплатформу и через #ifdef'ы делаешь какую-то специфическую нестандартную йобу, которую поддерживают все компиляторы. Тогда конкретную документацию почитать придется. Но таким уже и мои советы не нужны. А общий совет вкладываться в написание кроссплатформы.
Вообще говоря, по-моему, стандарт С++ про это ничего не говорит, но я думаю, работать будет. Хотя это довольно грубый хак.
Не забывай, что sizeof объекта класса может отличаться от суммы sizeof всех его членов, т.к. доп. пространство может уходить на указатель на таблицу виртуальных функций и может уходить из-за требований выравнивания.
И вообще, может появится компилятор, добавляющий какую-нибудь отладочную инфу в конце каждого объекта. А ты ее затирать будешь.
А компилятор - телепат.
Finnegans wake уж тогда. Там есть слова на русском, больше поймёт.
Мемчики это современный аналог отсылок, могу поспорить улисс отсосет среднему треду из /b/.
Ебучий автосенд
>>26616
>>26475
А если написать
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;
}
};
Сие решение будет расово верным? Стандарт
Ебучий автосенд
>>26616
>>26475
А если написать
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;
}
};
Сие решение будет расово верным? Стандарт
Никогда не буду в браузере писать больше трех строчек кода.
Короче, вот это решение на скрине является расово верным, стандарт гарантирует успешную работу на вссех компиляторах?
https://pastebin.com/2r7DXipw Не пойму как вернуть сумму этих векторов. В книжке код на питоне, там просто их складывают, а как тут реализовать?
Смысле же просто записать в конец.
Так, например https://stackoverflow.com/questions/2551775/appending-a-vector-to-a-vector
У меня там сумма из векторов, которые возвращаются из функции, я же не могу так написать:
return quickSort(less, less.begin(), less.end()).insert(quickSort(less, less.begin(), less.end()).end(), quickSort(greater, greater.begin(), greater.end()));
Но ты можешь создать новый вектор и вернуть его.
А вообще кусок пишется на индексах/указателях/итераторах
Не получится. На нижнем уровне вектор -- это просто массив на хипе, и его элементы обязательно должны лежать последовательно. Так что если 2 твоих вектора изначально в разных кусках памяти, тебе придется выделить новый и скопировать всё туда. На самом высоком уровне это делается неявно через два insert или явно в цикле.
Не плоди сущностей, делай всё in-place.
>Насколько C++ Сложнее C в плане изучения? Стоит ли его изучать если мне нравится Си? Какие фишки дает C++, которых нет в Си?
В ЦПП нагородили очень много лишнего функционала, основное назначение которого это выстреливать себе в ногу (одно множественное наследование чего стоит), а по факту, единственная причина почему можно попробовать переходить с Си на ЦПП это только наличие ООП модели, но нужно быть крайне аккуратным, т.к. выстреливание себе в ногу просто неизбежно из за всего остального лишнего нагороженного функционала, который по факту никому не нужен, но все с ним ебутся.
Поэтому насамом деле, если ты хорошо владееш Си и понимаеш как без ООП модели, делать все тоже, что кажется проще с ООП моделью, то лучше оставаться на Си т.к. это надежный язык с предсказуемым поведением (в отличии от цпп), и даже если очень хочется ООП, а в функционалку ты еще не можеш, то есть варианты как на чистом Си получить все основные фишки ООП подхода, без погружения в ЦПП. Если интересно, вот читай доки по ссылке, как на чистом Си, используя структуры как классы, а методы реализовать через ссылки на функции, посторить ООП подход (без использования перегруженного ЦПП) и продолжать и дальше повсеместно использовать лучшый язык:
https://www.cs.rit.edu/~ats/books/ooc.pdf
Есть либа https://github.com/mborgerding/kissfft
я хочу ее заюзать в своем c++ коде под андроид.
Мне ее нужно компилировать а потом встраивать или можно просто скинуть 2 файла и вызывать это из с++ кода?
Как вообще происходит добавление\использование с++ библиотек?
Спасибо
unsigned char r = unsigned char(0x00); //Без unsigned можно
Или
#include <boost\assign.hpp>
// Слеш нитуды
Ну, и наоборот есть.
Так вот, где можно найти наиболее полный список таких ньюансов? Не гуглится :(
Есть.
Цапля хороша всем, кроме некоторых убогих сишных штук в синтаксисе. К несчастью языки, которые обещали это исправить — вроде жабы, цесарки и дыни — решили синтаксисом не ограничиваться и нарастили жирные рантаймы.
Конец.
У тебя объявление чара кривое пиздец.
И нахуя бэкслэши, если слэши везде работают? Давай ещё как на олдмаке двоеточиями.
Либы в формате исходников просто кладёшь в проект и пользуешь.
Либы в статическом формате просто кладёшь в проект, подключаешь заголовок, настраиваешь линковку и собираешь.
Либы динамические примерно так же, но линковать надо объектную прокладку (обычно lib), а потом рядом с собранным приложением класть dll или so.
Это примеры, даун ты тупой
Мне просто нужен максимально полный список таких примеров, в качестве гайдлайнов для windows программистов, чтобы они своими коммитами билды не ломлали.
Чтобы тебе никто ничего не ломал коммитами нужен CI и прекоммит хуки
Бамп
ну у visual studio в доках были места помеченные как ms compiler specific behavior. но они там вроде не в одном месте были. их можно отключить опциями, насколько я помню. у гцц что-то типа того было - можно выключить нестандартные расширения. ну и включить уровень предупреждений повыше, а то и warning as errors врубить до кучи.
ООП головного мозга.
Бля, точно! В релизе при 50107 эл-тах мой быстрее только в 1.7 раза. В стандартном алгоритме наверное кучу отладочного кода напихали, что он настолько медленнее становится при дебажной конфигурации.
Сука, 2к19 год, а люди продолжают проебывать звездочки на дваче.
если у тебя qt под mingw, снеси ее нафиг, поставь студию 2015 или 2017(если совсем жалко места, то поставь от нее только compile utils), поставь соответствующую кутеху, либы которой собраны под тобою выбранную студию и не мучайся.
И, в идеале, еще verdigris вместо moc-параши
о чем ты?
вроде всегда просто закрывали примитивами синхронизации и контейнеры std становились thread-safe..
Я вообще ньюфаг и про потокобезопасность не в курсе -- читаю книжку Праты для новичков.
Есть что-то а примете?
Сделал проект с библиотекой, скомпилировал, получил .dll и .dll.a.
Скинул их в проект с исполняемым файлом, добавил .h в сорс исполняемого.
А с конфигурацией cmake разобраться не могу, пробовал так: https://pastebin.com/BL9pQWfk
clion cmake mingw
Тебя зачал.
Хорошо, покажи в стандарте хоть одно упоминания thread-safe контейнеров, пониматель ты наш
>int __a;
>double __b;
>std::string __c;
https://timsong-cpp.github.io/cppwp/n3337/global.names
Certain 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.
>Да, в B будут 2 буфера. Один прямо за другим в памяти.
И переходить во второй юзая указатель на первый нельзя.
Шаред_птр это не контейнер, манюня
У каждого имбецильного красноглазого дауна - да. У нормальных либо винда, либо мак.
Бисквиту при его желание любой отсосет, кто хоть кто-то мало-мальски знает сипласплас.
1, кстати можно взять int_64t и записывать два числа подряд
У винды слишком убогая файловая система, маки не могут позволить себе начинающие
Ты не понимаешь, обратные слэши травмируют ему очко, а ещё эти непредсказуемые буквы…
еще в первом варианте аллокаций меньше, и выглядит читабельнее, так что однозначно он
Дебил спорщик
Сидя на толчке по памяти с нуля накодил hello world.
Ебать я охуенен.
Где мои 200к в наносекунду?
Ну бля, не ломай мой манямир, я старался!
int i =0;
while ( i < 10){
int i = 3;
i++;
}
к моменту второй итерации цикла, в условии while() и будет использоваться локальное или глобальное? Нихуя не пойму, вроде должна глобальная и цикл будет вечный?
а как?
Глобальное, локальная после объявлена.
Абсолютно верно, цикл вечный.
в толчке поищи
Это говнокод. По нормальному нужно создать функцию, а в ней цикл, и если нужно внешнее значение, то передавать его через аргумент, но не менять, а переприсвоить локальной переменной. Изменять глобальное состояние не нужно, да и вообще создавать глобальные переменные тоже.
Код работает где угодно но только не здесь, как чинить эту хуйню?
Через консоль попробуй.
потому-что ты ебучий полудурок, который не может создать ПУСТОЙ проект, а не стандартную парашу, которая включает прекомпилед хедер, о котором ты ничего не знаешь.
Ну ок, щас попробую накодить в ПУСТОМ проекте.
Напомнить, что в 2019 в программист-треде своим высером про 30гб (на самом деле в районе 9, включающем в себя SDK, и прочие вещи) ты только выставляешь себя убогой нищенкой? NVMe ССД на 480 гигов стоит в районе 9 тысяч, что меньше дневной зарплаты сеньора-помидора.
При чем тут цены. Только ненормальный поставит IDE весом 9ГБ! На самом деле 9Гб это не полная версия. Полная больше 30Гб!
Мой Линукс весит 2Гб! 2 гига операционная система, Карл! А тут IDE больше чем в 4 раза больше!
Дружочек, давай подумаем. Что лучше - неюзабельный кусок дерьма размером 2 гигабайта, или топ1 инструментарий для разработки размером да хоть в 300 гигабайт? Мне мое время и продуктивность гораздо важнее, учитывая, цену ССД выше. Можно вообще быть вим-говноедом, который весит < 10 мегабайт, но зачем?
>>32123
не должно быть прекомпилед хедера нигде у новичков.
>NVMe ССД на 480 гигов стоит в районе 9 тысяч
У меня на 512. И уже забит под завязку из-за жирного говна вроде VS и UE4.
Emacs несравнимо лучше и функциональнее любого IDE-говна. И при этом весит мегабайт 200 со всеми пакетами для неба и аллаха.
Не оправдывайся. Я на своем Линуксе в одну команду могу поставить любой софт для разработки. И весить он будет 1-200Мб. Такое тебе и не снилось. Компиляторы C/C++ так вообще из коробки.
Пока твое дерьмо с глюками запустится, я уже все скомпилирую. Пока ты будешь ловить ошибки, устанавливать 100500 дополнительных расширений, я уже напишу код.
Ну прям такие манямечты. Все он компилирует за 3 секунды, за которую студия запускается.
А в нормальный дебаггер можешь? В нормальный статический анализ? Конечно твои тулзы весят 1-200мб, потому-что они ничерта не умеют, кроме компилятора.
Разработчик на винде это калека. Это как лакмусовая бумажка. Если на винде, значит низкой квалификации. Потому как если не осилил *nix, то и глубоких знаний Computer Science у него нет.
У меня, например, валгринд есть, которого на винде никогда не будет.
слышал, да. Снова рофлю.
Когда у тебя специальные костылики, потому-что нет тулзов, которые ПРОСТО это умеют.
Ну, а тесты - да, классная вещь. Компилируешь за 3 секунды хеллоуворлд свой, и смотришь, где свалилось, когда статический анализатор студии\решарпера тебе все заранее покажет.
знание красноглазой параши никакого отношения к Computer Science не имеет. Ну и да, самое смешное, что ты снова мимо, потому-что я знаю ваше красноглазое говно, год под него писал. С тех пор у меня в поиске работы появилось требование нормальной операционки с нормальной средой разработки - и вот несколько лет сие требование неукоснительно соблюдается. Зарплата бтв с переезда на виндоработу выросла ровно в 2 раза.
>статический анализатор студии\решарпера тебе все заранее покажет
Ну да, анализаторы же статически баги в многопоточке разруливают. И код за тебя пишут, и минет делают.
Написание тестов тоже лакмусовая бумажка. Если тесты не пишут, значит компания отстой. Если на винде, то естественно тесты не пишут.
Линтер это и есть статический анализатор если что. Только в студии твоей он гвоздями прибит. И если есть баги, ты их не пофиксишь никак. В моей случае я могу на гитхабе ишьюс создать, или даже сам пофиксить, и пулл-реквест отправить.
Да неужели, а ничего что все курсы по устройству ОС построены на базе Unix & Linux? Ах да, ты не изучал устройство ОС.
В самых крутых фирмах винда даже не рассматривается как рабочая ОС. Было бы смешно, если бы разрабы из какого нибудь Яндекса сидели на виндах. Это же воспитывает безрукость. Ты хоть консолью умеешь пользоваться?
Баги в многопоточке фиксит только tsan, который нам на проекте без надобности, т.к. многопоточка используется без шаредных ресурсов фактически. А кучу всего другого - чинит студия сама.
>>32151
В одну из мировых компаний с офисами по всему миру и торгующимися акциями. Где все сидят на винде.
>>32153
Щас бы экстраполировать. Есть разные проекты и разные случаи. А с каких пор линтер стал статическим анализатором - нам еще предстоит выяснить.
Щас заорал. Учитывая, что я знаю приличное количество народа из яндекса, и, допустим, весь яндекс-маркет сидит на студии. КэтБуст писан в студии. Что еще спизданешь?
> Ах да, ты не изучал устройство ОС.
Ладно, давай подианонимся. Драйвера пишу под винду. Как там подливка в штанах?
Слив защитан.
>В моей случае я могу на гитхабе ишьюс создать, или даже сам пофиксить, и пулл-реквест отправить.
Мой любимый аргумент, МОЖНОЗДЕЛАТЬ.
Сколько пулл реквестов уже отправил, сколько багов пофиксил в своем компиляторе, пердоля? Воспользовался хоть раз этой возможностью?
>>32158
>В самых крутых фирмах винда даже не рассматривается как рабочая ОС.
Ваще пиздос, "самые крутые фирмы", ору просто с тебя.
Пердоля думает, что инструмент выбирается по степени крутости. Ну что за пиздец.
Да не оправдывайся ты. Не осилил так и скажи.
>что инструмент выбирается по степени крутости.
А как еще? Понятно, что крепостным как ты, барин инструмент дает, у них и выбора нет. Свободный человек сам выбирает инструмент по вкусу.
>топ1 инструментарий
с таким монструозным объемом и тормозами, уже не топ, пожалуй
VS2002-2008 еще были нормалек, а эти уже перебор.
отдельных лучей поноса они заслужили за то, что MSVC++ новых версий не генерит исполняемые файлы для винды раньше Vista
фичи C++11 абсолютно ортогональны этому
>мое время и продуктивность
не пизди. студия не делает тебя суперменом от программирования, ну никак
чтоб ты одной левой благодаря студии в 10 раз быстрее всё писал...
некоторые последние мои программы, вообще написаны в notepad++, и я задействую только компилятор из командной строки
в чем-то мне это даже больше нравится, чем студия. да и комп у меня древний
мимо пробегал
Так, теперь ты уже из яндекса. Но уже не из маркета. В следующий раз что придумаешь?
Так-то в Яндексе что попросишь, то тебе и дадут. Скажешь мак - вручат мак, захочешь линь или винду - милости, сука, просим.
мимо третий анон
Это топ контора с точки зрения проектов. То, что они нихера не платят - это другая проблема.
> отдельных лучей поноса они заслужили за то, что MSVC++ новых версий не генерит исполняемые файлы для винды раньше Vista
Как там, в 2005?
Ну поиск я бы точно топ-проектом не назвал.
Вот какие-нибудь машобы типа алисы можно топом назвать - и интересно, как они там на винде сидят.
Вообще винда как раз признак махрового легаси и стагнации.
запретил
— VS 2012
— Win7
— WinServ 2008R2 и SQL Server 2008R2
— MSO2010
— Silverlight
— WinMo 6.5 и WinPhone (семёрка архитектурно была шикарна, особенно по части безопасности)
— Microsoft Mathematics 4
и прочим ПО, которое впервые не просто было лучше предыдущего, но и умудрялось потреблять меньше ресурсов?
Ну и хули вы жалуетесь? Не будет теперь никакого developers, только дешёвые linux-monkeys, свято верующие и зубрящие.
Добро пожаловать в жопу.
Сколько лет с отмены крепостного права прошло, а кое-кому до сих пор не хватает барского сапога и плетки.
Стоит (и не только чтобы вкатиться в плюсы, это обязательно для любого байтоеба), только перед этим почитай дизайн и эволюцию, и мейерса с саттером, чтобы писать на франкенштейне, который называют C/C++.
>чтобы писать на франкенштейне, который называют C/C++
На нем только и стоит писать. Выкидываешь STL, минимизируешь шаблоны, и сразу получаешь скорость компиляции как у сишки.
Любви тебе и добра.
>скорость компиляции
Странная самоцель в 2018 году с SSD и быстрыми процессорами.
Тем более STL, а не какая-то йоба из буста.
Выкидывать можно не бесплатные абстракции типа исключений или виртуальных методов.
>с SSD и быстрыми процессорами
Они не спасают. Каждый хидер из STL может на полсекунды время компиляции каждого файла увеличивать. В результате даже на небольшой проект спокойно лишняя минута набирается.
А ты каждый раз каждый файл редактируешь? Я как-то работал над компилятором, полный ребилд которого занимал где-то полчаса, но мне это не мешало, потому что одновременно я редактировал максимум пару файлов.
Не, я помню год эдак 2004 и в сравнении delphi с моментальной компиляцией и тормознутый билдер были небом и землей. Но сейчас это очень надуманный предлог. Тем более в плане STL. Чему там компилироваться, никаких йоба-рекурсивных шаблонов нет, а если ты прямо совсем эстет, то vector<std::unique_ptr<void>> один хуй будет лучше сишных массивов, он хотя бы сам себя удалять умеет, а пердолиться с кастами ты один хуй в сишке будешь.
если планируешь зарабатывать программированием деньги, то не стоит вообще си или с++ сейчас учить
>А ты каждый раз каждый файл редактируешь?
Без инкрементальной компиляции вообще бы пиздец был, конечно.
>Но сейчас это очень надуманный предлог.
Ну фиг знает. Хочется и на ноуте нормально работать, а не только на жирном десктопе.
>Чему там компилироваться, никаких йоба-рекурсивных шаблонов нет
Я тоже так думал, пока не пришлось проект с велосипедных контейнеров на STL переводить. Стандартные vector и unordered_map вместо своих контейнеров у меня время компиляции в разы повысили (вместо более-менее комфортных 20 секунд пришлось больше минуты ждать).
>один хуй будет лучше сишных массивов
Я не говорю о полном переходе на сишку. Надо просто шаблоны очень аккуратно использовать.
Вот, кстати, чувак замерил время компиляции для стандартных хидеров:
http://virtuallyrandom.com/c-compilation-lies-damned-lies-and-statistics/
>Ну фиг знает. Хочется и на ноуте нормально работать, а не только на жирном десктопе.
Ну у меня ноут 2012 года с HDD, работается нормально. Может дело в тормознутой IDE?
>>32851
Ну на пике 200 мс unordered_map и столько же vector. Если ты редактируешь пару файлов, проблем не будет.
Если же ты переводишь контейнеры и из-за этого постоянно трогаешь хедеры и наслаждаешься перекопиляцией всего говна, что твоей хедер заинклудило, то да. Но это временное явление.
Кстати, есть довольно простой трюк, как этой хуйни избежать. Пишешь файл
#include <yoba.cpp>
#include <yoba2.cpp>
и компилируешь только его. Если у тебя cpp кода мало, а хедеров много, то из-за #pragma once хедеры не будут компилироваться каждый раз в новом объектом файле (так как такой файл будет всег один), в итоге компиляция будет очень быстрой. Если юзаешь какой-нибудь cmake, это несложно делается.
>Я не говорю о полном переходе на сишку. Надо просто шаблоны очень аккуратно использовать.
Не знаю, шаблоны по-моему лучшее, что есть в С++. Без шаблонов С++ превратится в ебаный rust.
Не, так-то ты прав, но претензии к STL это совсем странно. Сколько же лет йоба на boost::MPL у тебя будет компилироваться.
>Может дело в тормознутой IDE?
У меня емакс на ноуте лол. Проблема именно во времени компиляции.
>Ну на пике 200 мс unordered_map и столько же vector.
Так он их и не использует вроде, только инклудит. При использовании время компиляции еще увеличится.
>есть довольно простой трюк
Да, юнити билд. Это хорошо для больших проектов, где есть модульность и связность кода маленькая. Для средних-маленьких бывает так, что один хидер вызывает перекомпиляцию половины проекта. Я обычно для шаблонных классов по максимуму все убираю из .h, и переношу в .inc, который инклудится в .cpp. Так что в .h только декларации класса и методов, а имплементация вся в .inc.
>Не знаю, шаблоны по-моему лучшее, что есть в С++
Лучше бы нормальное метапрограммирование было и компайл-тайм рефлекшен.
>но претензии к STL это совсем странно
Да я не говорю, что она плохая и не нужна, но на практике мне хватает сишной либы и своих контейнеров, и все работает не хуже, чем с STL. Да и непрактичная STL. Часто бывает проще свой контейнер навелосипедить, чем специализировать STL-ный аллокатор. Плюс там куча идеологического легаси из времен до C++11.
>Вскрой тему если не трудно
Без знания предметной области тебя никуда не возьмут. Сейчас С++ - это в основном большие проекты вроде КАД-ов, баз данных, игровых движков, какого-нибудь HiFreq трейдинга. Туда нужен опыт, мимокрока не возьмут.
>А CAD-юзера инженера с 15-летним стажем
Это скорее в QA куда-нибудь, тестером. Чтобы кодить там матан надо знать. Можешь попробовать в какой-нибудь АСКОН пойти.
Спасибо
А сколько ты там компилирушь, чувак?
Я как сейчас помню, писал йобу где-то с неделю, и только в конце приступил к компиляции всей этой марахайки.
И мне вообще посрать было, сколько оно там будет шебуршать.
Или ты на каждую функцию гоняешь пересборку проекта?
>А сколько ты там компилирушь, чувак?
Недолго, но у меня интерактив, и поэтому постоянный цикл изменил - пересобрал - запустил. Поэтому долгое время компиляции жутко раздражает.
Не надо забывать, что в яше ещё есть несметные тысячи серверов, как-раз таки под линуксом. И весь тот код, что пишется под виндой, в итоге крутится на них.
>В Visual Studio есть Edit-And-Continue
По мелочи патчить переменные и GDB умеет, а для чего-то более серьезного и в VS будет перекомпиляция вызываться, как я понимаю. Ради этого я с емакса слезать не буду.
Программирование как выяснилось довольно увлекательная штука.
Сколько времени нужно потратить чтобы писать простенькие программки, или какую нибудь змейку с тетрисом?
Не бейте лучше обоссыте
>Сколько времени нужно потратить
Даже не задумывайся об этом. Получаешь удовольствие - получай, пока получается.
двачую, на си++ сейчас такие вопросы задают, что Кнут это только повод для разговора, а там 1000 страниц. Что бы интервьюер тобой заинтересовался нужен еще и Майерс, там страниц 300. Причем все это надо проработать. Ладно, Кнут попроще в принципе. Можно на шару надеяться, что не спросят про алгоритмы, ну тут можно и ебаным виртом обойтись. Дальше начинается самое интересное - фреймворк. Считай stl.
Тебя обманули, крестьянин.
Разговор только по IDE и десктопы
Сколько платишь?
Проблема в кодировке.
Есть тут архитектурные задроты?
Я ДЛЯ СЕБЯ тут делаю некоторое дерьмо. Книг не читаю, глубину не задрачиваю ибо цели прикладные и временные.
Есть два три класса. Управление, Данные и Залупа - третьи классы (дохуя)
Классом Данные в основном пользуется класс Управление, но иногда READ ONLY доступ хотят получить всякие Залупы.
Сейчас, класс Данные, создается конструктором класса Управление и сидит внутри, защищенный, Залупы, вызывают Геттеры Данных, через Геттеры Управления. Получается довольно нагромождено.
Как правильно сделать? Оставить приватным, сделать пабликом или вообще нахуй оттуда вынести?
И да, про READ ONLY напиздел, порой приходится вызывать не только геттеры но и другие методы.
Вообщем для каждого метода Данных, приходится хуярить обертку в Управлении. Мне это не нравится, управление стал в 2 раза жирнее, а в будущем может стать раз 5, только из-за оберток.
Может быть вообще развернуть Данные, в управлении?
Какую из 4х дорожек выбрать? Я склоняюсь оставить как есть, так как "в моем понимании" наиболее соответствует принципу ООП. Но я хуй с горы и принципы эти знаю только поверхностно. Не хотелось бы пидорнутся и переписывать, когда это говно совсем обрастет.
>SSD
А вот нихуя не помогают в ситуации «много мелких файлов».
Только RAMDrive, только хардкор.
Заебись, тогда буду тут спрашивать некоторые интересующие моменты.
А ты прям в Qt Creator пишешь или только библиотеки для VS юзаешь?
Хеш-таблица, да, пытаюсь изьебнуться, т.к. данные обновляются часто, не хотелось бы терять в производительности.
>Кнут попроще в принципе
Да ты ёбнулся. Кнут ему простой. Ты хоть десять страниц там осилишь? Наврядли им именно он нужен. Седжвика будет достаточно.
Я пытаюсь наследоваться от qabstracttablemodel. Там нужно переопределить несколько методов: data, setData, rowCount, insertRows и т.д. А структура данных, по идее, у тебя там может быть какая угодно. А так как такие данные, как потребление памяти отдельным процессом, меняются часто(допустим, я хочу их обновлять раз в секунду), каждый раз искать в каком-нибудь списке или векторе и обновлять данные будет довольно медленно. Поэтому я хочу как-нибудь прикрутить хеш-таблицу, шобы всё было как у Ерохина.
А нельзя запилить свой тип данных, который наследует и от QHash и от qabstracttablemodel? Или в с++ нет множественного наследования. Не помню уже.
у вас stdafx.h отвалился
Да я это самое... не помню просто, поэтому с сомнением пишу. А то напишешь хуйню уверенно, а потом тебя обхуесосят с ног на голову.
А VS Community можно устанавливать на комп на работе? Или это будет считаться использованием в коммерческих целях?
если у вас меньше 5 компов с такой студией, и оборот конторы меньше чего-то там (числа не помню) - то да. На SO была на эту тему портянка.
Спасибо, анончик.
>подскажите как создать взаимодействие между кодом и вебом?
Что это за вопрос. Конкретней пожалуйста объясни задачу. Непонятно что тебе нужно сделать.
>не слушай говноедов, лучше VS нет ничего
Ну да, не меньше 10Гб весит, тормозит, глючит, требует всяких расширений. Худшее дерьмо, которое я видел в жизни. Это не софт для разработчика, это софт для ламера.
У меня линукс например. Да и была бы винда, 100 раз подумал бы, прежде чем установить VS. VS Code другое дело, крутой редактор. На сегодняшний день пожалуй самый крутой редактор из всех. Много отличных фич. А еще MS запилили языковой протокол для редакторов.
Для чего?
VS2008 оптимум. Дальше они начали страдать ожирением, да и интерфейс стал просто дерьмо.
На моем компе VS2012 ставилась шесть, сука часов. Ещё пришлось расчищать диск при этом. VS2017 не поставился вообще. Я три дня убил только на изъебства с этим гавном.
Впридачу, оказалось что VS2012 глючит под Win7 с последними обновлениями.
Я крайне разочарован в этой говнокорпорации MS, что они сотворили с VS. Да и с виндой тоже. Все версии винды, начиная с Vista - это просто шлак. А Win10 заслуживает особой ненависти.
Эти пидарасы уже давно ёбнулись подстёгивать юзеров раскошеливаться на новое железо выпуском всё более и более жирного софта, и включением искуственных ограничений.
Ты ёбнулся, дед?
10 винда менее прожорливая чем 7.
17 студия аналогично по сравнению с 12.
Алсо посмотри на требования макоси и охуей.
Поздравляю!
тебе в яслях так сказали, дите ебаное?
Хороший гой. Все берите с него пример. Не забывайте, что правильный гой должен обновлять телефоны и компьютеры раз в полгода.
>средняя ААА игра весит 40+.
>Это софт для профессионала
Сразу видно восемнадцатилетнего профессионала.
у меня на работе i7-6700 (не бог весь что конечно), и студия и решарпер куплены работодателем. Если ты настолько не ценишь свое время и комфорт, что сидишь на некроговне и жрешь говно - твое право, только не агитируй других на говноедство.
>>33799
вот это флешбек из двухтысячных, спасибо
>>33827
О, начались мантры типа ИГРЫ НИНУЖНО ДЛЯ ДИТИШЕК от красноглазых даунов, а потом где-то в соседнем треде АНОНЧИК КАК ЖЕ ПОИГРАТЬ ХОЧЕТСЯ. Проходили.
>Если ты настолько не ценишь свое время и комфорт, что сидишь на некроговне и жрешь говно - твое право, только не агитируй других на говноедство.
Для нашего поколения некроговном является как раз винда, все с нее начинали, все ставили студию и прочую хуйню. И то, что мы с нее блюемся - это потому что ценим свое время и комфорт.
>О, начались мантры типа ИГРЫ НИНУЖНО ДЛЯ ДИТИШЕК от красноглазых даунов, а потом где-то в соседнем треде АНОНЧИК КАК ЖЕ ПОИГРАТЬ ХОЧЕТСЯ. Проходили.
Для детишек есть ААА игры и сам по себе блевотный термин ААА. Дело не в играх, а в том, что для тебя в принципе игры - это часть твоего сознания, ты читая чей-то пост вспомнил игры как аргумент. А взрослые дяди играют на консолях, потому что 8 часов сидеть за компом, чтобы придти домой и сесть за комп - такое себе удовольствие.
Для какого вашего поколения? Когда ты пердолишься с нерабочим говном без тулзов, сидя на Атлоне ХР - все с тобой понятно.
Ну и да, взрослые дяди-консольщики это мем. Когда нищета насобирала себе на чипованный хбокс и радуется.
Ну и конечно, взаимоисключающие параграфы про консоли и игры, как часть сознания, для шизика не вызывает никаких сомнений.
ну и да, манюх, Компьютер можно к телевизору подключить, ну так, на всякий. И геймпады так же подключаются, вдруг ты не знаешь.
Если ради студии я буду вынужден пересаживаться с ноута на десктоп, то она сразу отправляется нахуй.
Я другой кун, но скажу тебе, что чтобы делать какие-то выводы, нужно хотя бы попытаться поработать на том и на другом. Пока по твоим постам я вижу лишь то, что ты тупой неосилятор который даже не пытался в линукс и оправдывает свою жалкую лень криками РЯЯЯЯ ВИНДА ЛУЧШИ, VS ЛУЧШИ!!! Лично по себе скажу, что моя эффективность возросла, когда я пересел с винды на линукс. Когда ты можешь одной командой в терминале сделать то, на что в винде могут уйти минуты, это здорово помогает.
>чтобы писать такое на плюсах?
Писать такое на плюсах не нужно и вредно. Лучше сразу бери хаскель и не еби мозг.
Еще раз - у меня 5 лет саппорта линукса, и год разработки на нем. Есть 2 международных сертификата фор лулз. Я прекрасно умею работать в этой параше, я тупо не понимаю, как это поделие можно в трезвом уме выбирать для разработки под С++, когда есть Студия + Решарпер. Сидеть в культекреаторе, который подчеркивает с ошибками валидный код, или лагает при кланг-модели? Сидеть под шлионом, который жабоговно? Или быть каноничным вимодебилом?
И при этом все равно держать винду второй осью?
Единственное, для чего я открываю консольку - это гит, все, более у меня нет вообще никакого желания использовать ее ни для чего. Тут скорее все радуются и хвастаются КАКАЯ У МЕНЯ КОНСОЛЬ ровно по той причине, что не видели нормальных средств разработки.
>Я прекрасно умею работать в этой параше
Видимо, не умеешь, раз так пишешь. "5 лет саппорта" намекает, что ты какая-то позорная макака, с которой и разговаривать зашквар.
Реальность такова, что человек 5 лет (минимум) просидевший в саппорте, вряд ли является хорошим программистом.
>Для какого вашего поколения?
Для тех, кто родился примерно после 1975. То есть если столлман сидит на юниксах, потому что привык, это одно. А вот все остальные на никсы приходят, за рееедким исключением типа батя программист нихуя кроме никсов дома не держит.
Вот этот кун >>33859 все правильно говорит. Те, кто сидит на линуксе, совершили какие-то усилия, чтобы на него перейти. Если бы это того не стоило, они бы вернулись. Не наоборот.
Поэтому вот эта хуйня "Тут скорее все радуются и хвастаются КАКАЯ У МЕНЯ КОНСОЛЬ ровно по той причине, что не видели нормальных средств разработки. " несет вообще ноль смысла.
С хуя ли не видели? Видим мы эту студию постоянно, вон школьники сюда свои вопросы приносят со скриншотами из студии.
>Ну и да, взрослые дяди-консольщики это мем. Когда нищета насобирала себе на чипованный хбокс и радуется.
Ну какой-то локальный мем школьников. Я не "консольщик", точно так же, как я не панк, не рэпер и не гопник.
>ну и да, манюх, Компьютер можно к телевизору подключить, ну так, на всякий. И геймпады так же подключаются, вдруг ты не знаешь.
Удобный для подключения к телевизору пека (маленький, легкий, без лишних вентиляторов и т. д.) стоит столько же, сколько консоль, и это без джойстиков, с ними даже дороже выйдет. Плюс время на настройку.
Хотя понятно, что ты имеешь в виду нищебродский вариант из веге-срачей, когда у тебя один пека, а телевизора у тебя нет, потому что ты школьник и он стоит в гостиной, а не твоей комнате.
>>33865
>Еще раз - у меня 5 лет саппорта линукса, и год разработки на нем
Мм, админишка. А у меня 10 лет коммерческой разработки, а на линуксе я, получается, с 2012.
А по факту я переходил несколько лет - учеба мешала с ебучим мсвордом, какие-то привычки. Но лень победила и в винду я не перезагружаюсь вообще уже лет пять.
>Или быть каноничным вимодебилом?
Имаксобогом конечно же. А вообще похуй на редактор, никсы это само по себе IDE, а чем ты там тексты редактируешь, не так важно. Главное сам подход, когда у тебя нет ебучих проектов, солюшенов-хуюшенов, нет привязки к языку, для тебя нет разницы между удаленным и локальным сервером, а так же на чем ты работаешь, на десктопе с двумя мониторами или на ноутбуке десятилетней давности удаленно. В итоге среда разработки превращается в воздух, и возвращаться в душную студию для того, чтобы сэкономить минуту на рефакторинге вообще не хочется.
>Для какого вашего поколения?
Для тех, кто родился примерно после 1975. То есть если столлман сидит на юниксах, потому что привык, это одно. А вот все остальные на никсы приходят, за рееедким исключением типа батя программист нихуя кроме никсов дома не держит.
Вот этот кун >>33859 все правильно говорит. Те, кто сидит на линуксе, совершили какие-то усилия, чтобы на него перейти. Если бы это того не стоило, они бы вернулись. Не наоборот.
Поэтому вот эта хуйня "Тут скорее все радуются и хвастаются КАКАЯ У МЕНЯ КОНСОЛЬ ровно по той причине, что не видели нормальных средств разработки. " несет вообще ноль смысла.
С хуя ли не видели? Видим мы эту студию постоянно, вон школьники сюда свои вопросы приносят со скриншотами из студии.
>Ну и да, взрослые дяди-консольщики это мем. Когда нищета насобирала себе на чипованный хбокс и радуется.
Ну какой-то локальный мем школьников. Я не "консольщик", точно так же, как я не панк, не рэпер и не гопник.
>ну и да, манюх, Компьютер можно к телевизору подключить, ну так, на всякий. И геймпады так же подключаются, вдруг ты не знаешь.
Удобный для подключения к телевизору пека (маленький, легкий, без лишних вентиляторов и т. д.) стоит столько же, сколько консоль, и это без джойстиков, с ними даже дороже выйдет. Плюс время на настройку.
Хотя понятно, что ты имеешь в виду нищебродский вариант из веге-срачей, когда у тебя один пека, а телевизора у тебя нет, потому что ты школьник и он стоит в гостиной, а не твоей комнате.
>>33865
>Еще раз - у меня 5 лет саппорта линукса, и год разработки на нем
Мм, админишка. А у меня 10 лет коммерческой разработки, а на линуксе я, получается, с 2012.
А по факту я переходил несколько лет - учеба мешала с ебучим мсвордом, какие-то привычки. Но лень победила и в винду я не перезагружаюсь вообще уже лет пять.
>Или быть каноничным вимодебилом?
Имаксобогом конечно же. А вообще похуй на редактор, никсы это само по себе IDE, а чем ты там тексты редактируешь, не так важно. Главное сам подход, когда у тебя нет ебучих проектов, солюшенов-хуюшенов, нет привязки к языку, для тебя нет разницы между удаленным и локальным сервером, а так же на чем ты работаешь, на десктопе с двумя мониторами или на ноутбуке десятилетней давности удаленно. В итоге среда разработки превращается в воздух, и возвращаться в душную студию для того, чтобы сэкономить минуту на рефакторинге вообще не хочется.
Досада в том, при любых раскладах студия сожрет около 7-8 ГБ только на системном диске, независимо от того, куда сама студия ставилась.
Для типичного ссд в 256-500 ГБ минус 7 гигов от системного диска это весьма ощутимо, если комп предполагается пользовать не только под студию.
После установки студии копируешь все это говно на нужный диск и ставишь симлинк с помощью mklink в консоли и гордишься тем, что ты что эти красноглазики с ебучей консолью.
На саппорте как минимум меньше платят, зачем саппортить, если ты можешь программировать?
Не все вкатились сразу после универа, или после 5 лет проперживания дома с мамкиными харчами.
Давай еще раз - я с этим говном работал в районе 6 лет, и я до сих пор считаю, что это говно. Я совершал усилия, я учил это по работе. И до сих пор считаю неюзабельным говном для десктопа.
Я даже в школе ставил всякие ныне-мертвые вещи типа Мандрейка (уже дважды переименнованного) - пользовался, не понимал, откуда этот хайп по неюзабельному говну, возвращался обратно.
>Разве в наше время 7 гб - это много?
Если каждая программа по 10-20Гб будет весить, то террабайт закончится очень быстро.
По этому надо писать код в блокноте, компилировать на wandbox и заниматься дизайном в пейнте, понял
Так не устанавливай сто программ. Куда тебе столько?
Ну да, ты сектант, это другое
>и я до сих пор считаю, что это говно
>Я совершал усилия, я учил это по работе
Это опять говорит не в твою пользу. Особенно про "совершал усилия" и "учил по работе". Обычно это все легко дается и выглядит вполне естественным. Если тебе приходится совершать какие-то чрезмерные умственные усилия, то линукс и программирование вообще скорее всего не для тебя.
>По этому надо писать код в блокноте
Если блокнот умеет практически все то же самое, то почему бы и нет? Зачем тратить свое время и нервы на жирную неповоротливую программу.
Ладно, пойду уволюсь, что уж делать. На дваче красноглазые дебилы сказали, что программирование не мое, а я ламер
Ну я с 20 работаю программистом, например. Нахуя работать саппортом, если умеешь программировать, я не понимаю. Это для манек, которые программировать не умеют.
>>33926
>Давай еще раз - я с этим говном работал в районе 6 лет, и я до сих пор считаю, что это говно. Я совершал усилия, я учил это по работе. И до сих пор считаю неюзабельным говном для десктопа.
define работал
Я в твоем понимании и не работал скорее всего, потому что вся эта админская хуйня мне не ведома.
>Я даже в школе ставил всякие ныне-мертвые вещи типа Мандрейка (уже дважды переименнованного) - пользовался, не понимал, откуда этот хайп по неюзабельному говну, возвращался обратно.
Ну вот твое понимание "работал" и "десктоп" похоже на то, что ты ставишь систему, пробуешь запустить фотошоп, мсворд и игру, и собственно и все.
Я-то не абстрактно работаю, а программирую. Как минимум на трех языках ежедневно - c++, питоне и матлабе. И меня даже макось не устраивает с ее ебанутым homebrew, винда это же вообще каменный век. Особенно 10-я, с которой комп просто живет своей жизнью и ему на меня похуй. Натуральный как есть пердолинг.
Что касается "десктопа", то 90% софта перекочевало либо на телефон, либо в интернет, вообще похуй, что у тебя за ось на пеке.
>На дваче красноглазые дебилы сказали, что программирование не мое, а я ламер
Все это ты сам нам рассказал.
Unix way предполагает, что это говнософт, раз он столько весит. Вся ОС весит 2Гб. В игры не играю. Intellij IDEA весит несколько сотен мегабайт. Что такого есть в VS, что она весит в десятки раз больше? Она что в десятки раз превосходит по функционалу и удобству? Сомневаюсь. Глючное, закрытое ПО, не имеющее кроссплатформенности. И даже если бы VS весила как Intellij IDEA, все равно бы ее не установил.
Да ты ламер, это сразу видно. Есть VSCode, CLion, Eclipse, Emacs, Vim, etc. Твой отстой нужен только ламерам на винде.
VSCode
Сказки неосилятора. Что ты делал 6 лет, ну-ка расскажи нам?
Ну вот предположим хочу написать программку, которая будет с сайта считывать какие-то поля или вводить логин/пароль за меня. На плюсах такое можно реализовать, или только с жабоскриптом каким-то?
IDE на самом деле просто позволяют быстрее плодить говнокод. И говнокодеры именно так, как ты и рассуждают. КОДКОМПЛИТ ПОДСВЕТКА РЕФАКТОРНИГ ХУЯК ХУЯК В ПРОДАКШЕН
Если ты думаешь больше, чем пишешь, то вся эта IDEшная функциональность отходит на второй план. И тут становится строго похуй на то, какую IDE использовать, тем более что емакс и вим с плагинами ничуть не хуже студии.
А что касается линукса/винды, ставлю анус, что ты никогда не пользовался фреймовыми оконными менеджерами и не разрабатывал ПО в одном проекте на разных языках. Вот тут венда сосёт с проглотом.
Можно. Но раз ты спрашиваешь, значит у тебя ноль опыта, поэтому сразу не напишешь. Сначала поучись простые задачи решать.
>И при этом все равно держать винду второй осью?
Это только у ламеров вроде тебя. У других одна ОС - Linux. Ты обычный неосилятор. Не оправдывайся, и хватит сказки рассказывать.
>На плюсах такое можно реализовать, или только с жабоскриптом каким-то?
Можно, но проще взять python. Там для этого все есть без лишнего геммороя.
Не только в питоне есть либы для этого.
cygwin жи
Да это какой-то школьник-мудак, который считает, раз он пиздит всем про то, какой он не школьник, то и все так должны делать.
В чем логика, нахуя пиздеть о 5 года саппорта, если по сути это зашквар для программиста. Но школьник-мудак такого не понимает.
Нету. Есть гуишный клиент. Баш только в VSL. И то не нативный, с ограничениями.
Разрабатывать неговнософт сложнее и затратнее. Если бы у людей не было возможности продавать говнософт, мы бы лишились многого. Многое тупо не было бы реализовано.
На самом деле нет.
Просто майкрософт такая корпорация, что ей и затраты на говнософт ни по чем.
А может наоборот? Майкрософт - такая корпорация, потому что она делала говнософт с малыми издержками?
Почему пиздеть, и сразу школьник? Т.е. не может быть такого, что человек умеет в инструмент, и считает его говном?
Нормальный софт они делали в свое время.
Золотое время микрософта - это эпоха до интернета, когда софт распространялся на носителях, поэтому вместо аджайла нужно было раз подобно железу делать версиии по полгода-году, а процессоры ускорялись экспоненциально.
Тогда они нагуляли жир, клиентскую базу и тонну бюрократии и с тех пор постепенно все это проебывают.
Сначала браузеры отвалились, телефоны (когда-то все смартфоны были windows mobile 6, не считая нокии), теперь ПК-рынок постепенно усыхает.
Что это за фуфло. Вот настоящий гит для винды, но это гуишный клиент https://git-scm.com/download/win
Чем ты занимался 5 лет? От какой конторы сертификаты? По твоим сообщениям видно, что ты неопытный, это не скроешь.
>А вот тому, кто такой код написал - надо бы руки оторвать
Если такое недопустимо писать, то почему ваш недоязык такое позволяет?
1. Заходишь в оп-пост
2. Кликаешь на ссылку "вместо шапки"
3. Ищешь там памятку ньюфагу
4. Находишь там 5-й пункт
Там ответ на твой вопрос
Там настоящий гит, собранный с mingw.
Да мне не конкретную задачу выполнить, просто интересуюсь возможно ли такое вообще. Но раз велосипеды надо изобретать, то забью наверное.
libcurl
Липпман говорит, что использует; отладчик показывает, что нет.
Я тоже дико прихуел с того, что голове приложение на GLUI или SFML отжирает где-то 50МБ сходу, а довольно гуёвистая штукенция на впф-дотнете — несколько мигобайт.
Что-то мы делаем неправильно.
Ну и за поголовные -O2/O3 надо бить, может в этом причина. Наразворачивают циклов, а потом оно долго загружается и в кэш не влезает.
Хз, но вот std:swap() для примитивов даже XCHG не использует, там в дизасме такая жирота, что даже трогать не хочется.
Смотри B+ деревья, для редко меняющихся данных — самый смак.
ахует компиляторы нынче могут
Охуеть. Спасибо, схоронил.
Интересно, а любители попогромировать на АСМе вручную циклы разматываютконтролируя каждый такт?
На асме пишут мелкие программы обычно, которые эндпоинтами легко проверяются.
да, я нищенка теперь
у меня ипотека и 2 киндера и автокредит
а ещё путёвки в Европу на семью ныне дороги
Ньюфаня
Молодец, я тобой горжусь. Но не забывай, что си очень старый язык и сейчас стандарты кодирования поменялись и стали более строгими.
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;});
то всё становится хорошо
Есть тут кто знающий GDI+?
Что, вот прям совсем? Эх...
Сейчас модно кроссплатформить.
GDI просто так не изучить, он идёт как часть Win32/NT.
Т.е. надо изучать Win32.
И да, оно сишное, а не плюсовое.
Я вопрос хотел задать по перезагрузке изображения, решил сам и мой бомбаж от этого решения лишь усилился.
Ща второй вопрос, использую окно открытия файла, всё вроде бы прекрасно, но какого-то хера через него файл не перерисовывается.
Просто пиздец, какую только херню не придумают, вместо стандарта навроде опенгл.
И да, я нюфаг в программиировании если чо.
GDI хорош, когда тебе нужно простое приложение сугубо под винду, без излишеств и в то же время со всей нужной базовой фигнёй. При этом уже с висты в качестве альтернативы предлагается DirectUI (на котором почему-то сами выпустили только полтора приложения), а потом уже пошло всякое.
Вот нормальная версия pdf на книгу Программирование. Принципы и практика с использованием C++
Бьярне Страуструп (перевод: И. В. Красиков)
(Редактор: И. В. Красиков)
https://coollib.com/b.usr/Byarne_Straustrup_Programmirovanie._Printsipyi_i_praktika_s_ispolzovaniem_C++.pdf
В шапке ссылка на djvu книгу с косяками по типу как на пикче1. Пикча2 как должно выглядеть. Плиз поправьте
https://github.com/ssloy/tinyraytracer/commit/c19c430151cb659372b4988876173b022164e371
Почему переменным присваивается значение, но они дальше нигде не используются?
О, зашибис.
Искал ее как-то в пдф, чтоб на гейпаде читат, не нашел. Онлайн конвертер выдавал ёбу в 900 Мб весом.
Ну типа в гугле написано что левое хранится в памяти а правое нет, но как в коде это понять? может кто-то на примере легкого кода по типу int a=5, b=6, c;
c=a+b;
cout<<c;
что тут левое а что правое?
и можно еще объяснить на примере этого кода что такое литералы
я так понял это 5 и 6?
Ну проблема в том, что я не знаю/не понимаю, как в плюсах брать адрес, - поэтому мне бы на простом языке кто-то помог)
>вместо стандарта навроде опенгл
Хорошо сказано. Когда нужен стандарт есть стандарты, а есть опенгл вместо стандартов.
Левые и правые значения были в сях, в плюсах их больше и допустимо пересечение.
По канону считалось, что левое значение допускает присвоение, потому как это не значение вовсе, а адрес в памяти или регистр. Правое значение может выступать объектом присвоения и точного местоположения не иметь — да, это те же память и регистры, но нас это не волнует, с точки зрения компилятора значение как бы нигде не сохраняется.
А вообще можно почитать это https://stackoverflow.com/questions/3601602/what-are-rvalues-lvalues-xvalues-glvalues-and-prvalues — там больше типов и объясняется различие.
На данный момент мне он удобнее, хотя немного повоевав с winapi, привык и к последнему.
семантика перемещения конечно добавила в язык непонятного
чтобы разобраться как оно под капотом работает.. щас с нуля осваивающим кресты без опыта работы в нативе вообще можно это не освоить
>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.
И ещё раз — это си, а не кресты, иди в соответствующие ветки.
Хорошо, сладкий.
Во анон, спасибо. То что искал прямо. Почему так мало книжек с задачами в конце глав?
дык потому что вы игнорите страуструпа "язык программирования с++, специальное издание", там упражнений сотни, наверное
плюс можно их переделывать с учетом новых стандартов
взять положим упражнения к 17 главе - нужно реализовать несколько вариантов hash map, очень полезно
для его изучения и использования желательно иметь бекграунд в виде си и алгоритмов со структурками, это минимум
в общем, кресты явно не для вкатывальщиков, а для людей закончивших вуз на программиста учась как минимум
о, да, детка
мы ведь все здесь очень умные
за три треда ни строчки кода кроме студентов-уебков выводящих хелловорд через cout
И получил здравый ответ и направление куда гуглить, норм.
Ато!
Я вкатился в кресты в 7-м классе школы, как раз по страуструпу.
Помимо меня, я знал ещё человек 3-х из моей школы, кто тоже их освоил, но они были года на 2 старше. Дело было на рубеже 2000-х.
страуструп щас в морган стенли под два ляма в год зашибает
а я подрочил первый раз в 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 раза?
Стрелка — это доступ с разыменованием, т.е. если у тебя указатель a указывает на экземпляр некоего класса-структуры, имеющего поле b, то (*a).b идентично a->b.
Тут всё просто — у тебя есть ключевое слово this, которое в себе указатель на текущий экземпляр держит (ты вот внутри этого контекста, например это экземпляр окна), и ты косвенно обращаешься к его члену richTextBox1, который в свою очередь тоже указатель на экземпляр другого класса, у которого есть поля вроде Location, Name, Size и т.д.
Ты вообще в курсе что она обозначает?
Учитывая, что программирование все для задротов, нет, неправда. Язык как язык.
Там ничего не понятно особо
мне бы просто определение перегрузки и что она делает, а ее действия явно не заканчиватся на имени функции
там вроде что-то связано с типом данных, типа инт может стать чаром и т.п
Посмотри на OpenGL
GLAPI 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 );
а компилятор сам выбирает более подходящую.
Странное всёравно название перезагрузка. Ведь сигнатуры у функций разные, значит и функции разные.
няшиться с с++
но функции разные то, в скобках тоже относится к названию функции будь то название аргумента или типа аргумента, это всё влияет на название (сигнатуру) функции. И если хоть один символ во всей сигнатуре будет отличаться то и функции будут разные . нет?
Имеется в виду название функции, а не сигнатура.
>Ты вместо разных функций делаешь одну, которая умеет все.
Школьник? Это уже обобщения, перегрузка лишь предполагает одинаковые имена при РАЗНЫХ сигнатурах.
Плюсы сильно сложнее в плане таких статусов, тут на Intermediate нужно не только знать азы крестов (синтаксис, си-подмножество, память и аллокация, итераторы, STL), но и что-то поверх, например либы для работы с СУБД и обмена данными, сетевые и пр.
А сеньор ещё и ассемблер, особенности ОС и прилично матана должен знать.
Это и есть разные функции, у них даже где-то там внутре разные "имена".
Но в коде они будут использоваться как будто это одна функция, под одним именем, но с разными списками параметров. Короче, это способ в некоторых случаях сделать код более простым.
Ну и конструкторы у классов - все суть перегруженные функции.
ну вообще-то, критерии отнесения к той или иной градации, это всё вилами по воде написано. в каждой конторе может быть своё понимание таких вещей
в добавок, лычки лычками, а ЗП живет своей жизнью
и middle в одной конторе может получать выше senior в соседней
Синьёр-джуниор-мидол - это должности, роли в конкретном проекте. О квалификации они говорят весьма косвенно.
>А сеньор ещё и
должен уметь руководить, потому что без этого он просто задрот.
Угу, и рыцарское звание иметь.
>А сеньор ещё и должен уметь руководить
Палишься работой на отсосной галёрке хохлоиндусом, где вершина карьеры — из раба перейти во всем мешающего своим ыкспердным мнением жирного пидоманагера.
Любой язык сам по себе ничего не стоит. Люди ждут от программиста еще и какой-нибудь набор навыков в предметной области проекта. Можно посмотреть на вакансии и узнать, какой стек чаще всего требуют в придачу к конкретному языку. Например для ЖС это рект/нод и прочие веб-фремфорки. В случае с плюсами это обычно лоу-левел.
Мне оно тоже не нравится, при чем и по-русски и по-английски. Ну хули делать, так повелося
Это уже Gangsta level
частный случай статического полиморфизма, страуструп это называет ad-hoc, хотя функциональщики с ним поспорили бы!
ничего сложного!
нужно быть сильно тупым что бы это не понимать
Да не всегда даже есть эта самая предметная область. Есть программеры, тупо пишущие скрипты на Python для автоматизации всяких операций по администрированию группировки серверов. Ротация логов там, статистика, операции с Active Directory, назначение прав доступа, мониторинг нагрузки, и проч. Какая тут предметная область?
Есть другие программеры, пишущие скрипты для игрушек. А здесь какая область? Немножко 3D?
Это перегрузка (overloading), а не перезагрузка.
Я бы сразу с такой галеры свалил куда подальше.
а еще, хоть это и частный случай, но необходимый!
так как существует необходимость конструирования объктов разными способами, то и конструкторов может быть несколько а уже напрямую из-за этого возникает необходимость в языке в поддержке перегрузки
да
а еще я только что посрал, колбаска грязно сползла и пришлось ершиком орудовать
>из раба перейти во всем мешающего своим ыкспердным мнением жирного пидоманагера
Прижатая к стенке ты бы так не говорила.
Уважаю правдорубов, честно. На собеседовании не слабо свою позицию изложить в таких же терминах?
Это произошло после того, как вас взяли на работу? На работе мозги на место вправили?
В общем-то секрета здесь никакого нет, просто берешь и переходишь до полноценной работы с кодом
Даже так? От проекта к проекту ты становишься то junior, то senior?
У нас в конторе ранг разработчика пришит к нему накрепко, и не меняется, над чем бы он не начал заниматься.
говорю же, все эти вещи присваиваются кто во что горазд.
уверен, даже самый наикрутейший senior позавидует безработному мужику, в заначке которого есть лимонов десять баксов.
Всё начинается с малого, и в общем-то даже средний проект ты в голову себе целиком не положишь и всё равно вынужден будешь работать с конкретным небольшим куском.
Глаза боятся, а руки делают, приводя глаза в ещё больший ужас.
Инкапсуляция — альфа и омега всего программирования. Дрочи на что хочешь, но молиться на чёрный ящик обязан.
Правильно скомпонованный код проще понять, чем лапшу, сечёшь?
>безработному мужику, в заначке которого есть лимонов десять баксов
Накопления — это хорошо, но входящие денежные потоки ещё как нужны.
То есть ты можешь посмотреть на участок кода и понять, что он делает?
Давай я буду подавать тебе на вход участки кода, а ты будешь писать, что он делает.
ThrowIfFailed(device->CreateCommandList(0, type, commandAllocator.Get(), nullptr, IID_PPV_ARGS(&commandList)));
Вызов функции(косвенный вызов метода(константа, переменная, результат прямого вызова метода, пустой указатель, вызов функции(передача адреса на переменную)))
>ThrowIfFailed
device->CreateCommandList - возвращает коды ошибок в сишном стиле, ThrowIfFailed проверяет возвращаемое значение и кидает исключение
device - какой-то класс, предоставляемый драйвером устройства. IID_PPV_ARGS - ого, макрос COM, значит какая-то микрософтовская блевотня, надо загуглить саму функцию "CreateCommandList" - бля, директ3д, значит device - видеокарта, а запостивший школьник - который мечтает делать игори, но вместо освоения анрыла решил зачем-то учить с++
Блин, круто.
А давай ты будешь делать это по команде.
Скажем, я буду писать в тред InitializeAnonInterpreter(true). А ты в ответ должен будешь присылать свой id и статус Ready. А потом командой Interpret("код") я буду подавать тебе на вход код, который нужно интерпретировать, а ты будешь присылать, что этот код делает.
Можно еще в функции Interpret указывать параметры семантично или с учетом наименований. Или с помощью флагов как нибудь сделать.
При достаточно большой сумме, нет не нужны. Да подчас и нет их, неоткуда взять, и не предвидятся. Разве что попытаться инвестировать тот капитал, что есть. И этот поток будет прибылью от инвестиций.
Ты запасаешься деньгами на всю жизнь вперед, или даже больше, и вуаля! на тропические острова к знойным мулаткам!
у иных толстосумов вообще net worth уже совсем не тот что ранее, упал вдвое, но ничего, им все равно денег хватит на 3 жизни вперед.
так что бабло всему голова, а эти лычки ты сам можешь раздавать кому и как хочешь, если откроешь свою контору
Какому-нибудь алкашу в деревне и с миллионом рублей нет нужды - положил по 8% и бухаешь на 8 тысяч в месяц. А для меня, например, миллион рублей - это ничто.
Поэтому есть нужда или нет давай спрашивать у тех, у кого эти миллионы есть.
Вряд ли там микрософтовская блевотня вызывается напрямую в пользовательском коде
А чё спрашивать, всё и так на виду. Самые богатые люди мира нахапав миллиарды, их вообще раздают на благотворительность.
А про лимон рублей речи нет и в помине.
Ты итак для меня черный ящик. Общаюсь с тобой посредством треда.
докер на go написан, а обеспечение на уровне оси в основном на швятой си, так чтож не в тот тред,
Надо знать основы устройства ОС. И практику работу с *nix системами. Программистом быть не обязательно, но Docker создан для программистов, он решает задачи программистов.
А если ты сам что то захочешь добавить, шейдеры там свои, то хули делать будешь?
Спасибо. Все понял
Так докупи, что ты как маленький!
Ну не код же писать, в ассет сторе куплю за 4.99$. 2019 год на дворе
Hlsl Это совершенно другое, cuda c++ еще хоть как-то, но и cuda c++ это не совсем с++, а подмножество. Пойду перекат пилить
Это копия, сохраненная 10 марта 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.