Вот таких плесневелых главное не слушай, >>1016816 , си с классами у него, охуеть вообще, на улице перестройка и играет ласковый май. Ныряй сразу в кресты, причем именно в 11, пока забей на более ранние и более поздние.
>>1016931 По указателю передавай (через std::unique_ptr, например или просто указатель (не забудь выделить память). А вообще в таких случаях, как правило, компилятор применит RVO (Return Value Optimization) и будет писать твой BS в стековом фрейме одного из предыдущих вызовов. Так что можешь не запариваться. Ну а для больших объектов придумана куча.
>>1016787 >Это шизик из старых тредов бомбит, что картинку поменяли. Если бы ты не был полным дебилом, то понял бы, что я: 1. Бомблю не из-за картинки, в первую очередь. 2. Вообще не бомблю, в нулевую очередь. Кстати, к шизофрении я не особо склонен.
>>1016832 >хочу драйверы для микроволновок писать Их на Java пишут. Если ты почитаешь историю этого языка, то узнаешь, что его изначально создавали для микроконтроллеров бытовой техники.
>>1016964 >Как суметь прочитать огромное количество страниц (1000) и при этом не сойти с ума? Большинство читало больше и не сошло. Всё зависит от того, за какое время и каких страниц.
>>1016997 Когда я родился родители не пили и не курили. Насчет беременности мать сказала, что все было нормально. Хотя в глубоком детстве меня иногда водили на энцефалограммы и к невропатологу, не знаю зачем. >>1017000 Ничем не балуюсь.
>>1017009 Бло, братан я даже хз тогда. Если ты не совсем нуб, то книги должны легко идти. Простое быстро пролистывай, сложное разберай. Если совсем не варит котелок, оставь закладку и потом вернись перечитать. 2 месяца 100 страниц читать это даже хз как назвать. Может у тебя мотивации нет? обычную закладку в книгу, не ту что подумал тц майор
Ньюфаг вкатывается в тред с дебильным вопросом. Почему нужно использовать переменную цикла как ссылку, для изменения символа в std::string? Это связано с тем, что строки в глубине свой души остаются const char*? И как нам помогает при этом ссылка? Почему нельзя использовать обычную переменную?
>>1016964 >Как суметь прочитать огромное количество страниц (1000) и при этом не сойти с ума? Лучше их читать после практики. Тогда сразу будешь понимать, что тебе нужно, а что - нет. Мне вообще гугла, Мейерса и гнутых STL-исходников хватило в свое время, чтобы вкатиться (не с нуля, конечно). Я писал для обучения маленькую либу с контейнерами: вектор, дек, хэш-тэйбл, интрузив лист. На практике сразу ясно становится, что зачем нужно и как применяется. А просто книгу ботать - бесполезно, мне кажется. Ничего не отложится.
>>1017166 >Почему нельзя использовать обычную переменную? Потому что обычная переменная после изменения ничего со строкой не сделает, а ссылка изменит символ в строке, на который ссылается.
>>1017177 >обычная переменная после изменения ничего со строкой не сделает, а ссылка изменит символ в строке, на который ссылается Я и хочу узнать, почему так происходит.
>>1017189 >чем интрузив контейнер от нон интрузив отличается? Обычный контейнер управляет объектами, которые в него добавляют, интрузив - объекты сами являются хранилищем контейнера. List<T> - обычный лист, который менеджит память, управляет добавлением, удалением элементов. Интузив: struct MyListElem : IntrusiveListElement<MyListElem> (или композицией вместо наследования), где struct IntrusiveListElement { T* next }; Причем эти элементы могут лежать в каком-то другом контейнере, но при этом быть частью списка.
>>1017196 Ну так а почему бы сразу не изменить переменную? Зачем изменять ее через ссылку? Почему так придумано? >>1017197 В остальных тредах не знают, что такое ссылка и гонят меня сюда.
>>1017166 Потому что обычная переменная в теле цикла получает копию символа. Все изменения будут действовать только в пределах тела цикла. А ссылка - это по сути синтаксический сахар над указателем. А он указывает на символ в изначальной строке. С указателями-то разобрался?
>>1017204 >Так вроде же указатель - это объект, а ссылка нет, это всего лишь другое название переменной Правильно мыслишь. Всяких питухов, которые мешают в кучу определения стандарта и детали реализации и потом принимают второе за первое не слушай.
>>1017200 >синтаксический сахар над указателем Дебилушко, синтаксическим сахаром называются конструкции языка, которые в принципе можно выразить через другие.
Всех свойств ссылок ты через указатели не реализуешь, так что не пизди насчёт синтаксического сахара.
>>1017204 И вообще, встречал мнение по формату кода. То, что всякие структуры лучше в функции передавать по указателю или ссылке, ты, надеюсь, в курсе. Так вот, некоторые советуют входные параметры (типа структур) передавать по ссылке, а выходные - по указателю, чтобы сразу по виду сигнатуры было понятно, что к чему.
>>1017212 Переменная же не может обладать чужой памятью, она уникальна в данный момент времени. Достаточно знать этого факта, чтобы понять, почему при изменении переменной кроме неё ничего не меняется. Ты же когда в сортир идёшь, у твоего соседа по дому днище в кровати не срывает. Вы - два независимых объекта/куска памяти со своими состояниями/значениями в памяти.
>>1016983 у лиммана есть вводная книжка по крестам она охуенная читай ее, делай там упражнения а потом уже сразу начинай что-нибудь практическое кодить а потом уже что непонятно, у страуструпа кусками дочитаешь если бы у меня была машина времени, то себе молодому я дал бы такой совет
>>1017388 Есть специальная книга по указателям, но там про чистый Си. Richard M. Reese "Understanding and Using C Pointers. Core Techniques for Memory Management"
А вообще лучше прочти это: Стэнли Липпман, Жози Лажойе и Барбара Му Язык программирования C++
поясните за обработку исключений\ошибок на плюсах. где целесообразна и какие основы этого дела. приходится ли пользоваться возможностями библиотеки си. хотелось бы выбрать основной инструмент, но там дохуя всего в библиотеке.
>>1017767 >поясните за обработку исключений\ошибок Поясняю > где целесообразна Там где есть исключения/ошибки. >приходится ли пользоваться возможностями библиотеки си Приходится >хотелось бы выбрать основной инструмент Выбирай printf
>>1017767 >поясните за обработку исключений\ошибок на плюсах try-throw-catch >где целесообразна Там, где ты не уверен в коде. В частности, если в работу программы вмешиваются внешние по отношению к программе факторы, такие, как исчерпывание памяти, зависимость кода от работы других программ. >приходится ли пользоваться возможностями библиотеки си. Можно, но не обязательно. Например, можно использовать С-схему распределения памяти для перегрузки оператора new или [], однако сам по себе С++ предоставляет достаточно мощные средства. >основной инструмент try-throw-catch. exit(), abort(). Вообще говоря, С++ предлагает тебе самостоятельно описать обработчики ошибок, и ни в чём тебя не ограничивает.
>>1018304 >В чем разница между Release и Debug? В размере итератора, озоза Видимо, добавляют инфу для рантайм-проверки выхода за границы итератора и может ещё для чего-нибудь вроде сравнения итератора не с тем end.
>>1018298 Проводил эксперименты. Просто const_iterator - это константный итератор, или итератор на константу? А если const const_iterator - это константный константный итератор или константный итератор на константу?
Вопросик такой. Решил упростить свой Сишный код няшными функциями новой гомоС++.
Будет ли auto в данном коде работать как var? Функция вызываемая мной возвращает NTSTATUS, по идее я хочу чтоб _status после вызова стал типом NTSTATUS и мне не пришлось обьявлять для этого дополнительную переменную.
>>1016224 Как уже сказали, смысл в этом только один: позаёбывать препода, так как с первого раза всё это заходит трудно. У нас в инсте вообще сначала с машины Тьюринга начинали. Если ты сомневаешься в том, что тебе надо платить эти 20к, то лучше здесь анона найди, будешь платить за прогресс и удовлетворение. >>1016295 Ебу дал? Если тебе так сильно нужна производительность - отключи эксепшены в компиляторе (будут быстрее функции вызываться, азаза). Лучшие умы планеты делают всё для того, чтобы уничтожать стопу на С++ было так же эффективно, как на С. >>1016769 Спроси это в отдельном треде, а не в треде плюсов. Раз ты спрашиваешь в треде плюсов: выбрать плюсы, так как джава дно. >>1016931 Возвращай ссылку, но только ты можешь себе в ногу выстрелить, если класс сдохнет. CopyOnWrite в плюсах запрещён. >>1016946 Сколько ещё раз ты этот кал будешь постить? >>1016964 Конспектируй, блядь, будь мужиком. >>1016990 Ты не слабоумный, просто плюсы - сложный язык, особенно - для начинающих. Потом быстрее пойдёт, если будешь упражняться. И вообще программирование - это сплошное легаси, которое разгребать ещё десятилетиями будут. Коспектируй! >>1016938 Если у него класс временный - тогда да, но тогда его стопа мертва ещё до рождения. Если у него класс обычный - никакого RVO быть не может. Хотел нас потраллить? >>1017204 Что ты пишешь, блядь? Всё, что ты можешь найти в языуе без подключения хеадеров - это интегральные типы (поправьте меня, если неправ), какие ещё объекты? Ссылка и указатель - один хуй, только одно надо разыменовать и можно переуказывать на другую переменную, а другое - не надо, и пересослать нельзя. (про конст не говорим) >>1017211 Важные отличия есть, но на суть не влияют. >>1017388 void - это char , который можно приводить ко всему без предупреждений о типизации. char - это тип ячейки памяти, может быть больше 8 бит, и вовсе не "буква". >>1017665 OpenMP нагугли, почти во всех современных компиляторах поддерживается. >>1017773 С изучения примеров из дистрибутива Qt и тщательного чтения справки в Qt Creator. >>1017767 Ты можешь писать на C++ без использования массивов на стеке и вообще почти всего из С. Но так никто не делает, поэтому читать чужой код будет трудно. Твой основной инструмент - документация, блядь - cppreference и стандарт. >>1018287 В алтависту! Быстро, решительно! >>1018292 Алтавистуй C++ ABI и про еблю с либами и extern "C". >>1018309 - итератор (указатель) на константу - неизменяемый итератор на константу (но на возможность арифметических операций с ним не влияет) >>1018546 Да, всё будет. auto именно это и означает - вывод типа из инициализатора (должен быть вместе с объявлением).
>Если у него класс временный - тогда да, но тогда его стопа мертва ещё до рождения. Если у него класс обычный - никакого RVO быть не может. >Хотел нас потраллить?
>>1016941 Возвращать референс на локальный объект -- это undefined behavior, т.к. локальный объект, лежащий на стеке, после выхода из функции потенциально будет уничтожен.
>>1018585 Перечитал ориджинал вопрос и всё понял. Статик не заметил, смысл вопроса во время чтения исказил. >>1018587 Ты тоже невнимательно читал. Статичечкий метод, возвращается класс, а не buffer. >>1018585>>1018585>>1018585>>1018585
>>1018618 Если писать самому, то можно писать без легаси-говна. Если в чужом коде рыться, то лучше не надо. Да ты и без легаси стопу изуродуешь, пока не привыкнешь.
Хочу писать для себя на C++ 11/выше с использованием всех красивых фичей которые упрощают жизнь. Без легаси говна.
Хочу вкатиться в гейдев пока что для себя пошаманить с OpenGL/Direct3D. + я тупой в математике и собираюсь немного подтянуть знания, парралельно с гейдевом было бы прекрасно.
Ебучая РАБота только мешает со временем. Придется зубрить теорию и практиковаться по выходным. Ну может еще после РАБоты покодить, но у меня не часто силы остаются даже для того чтоб писать на C#/C свои проекты.
>>1018618 Вообще особого смысла нет, C# вполне себе альтернатива крестам, области применения с учетом CX пересекаются под виндой чуть более чем полностью. А так тут где-то по соседству есть тема с конфой для вкатывающихся в разные языки с circle jerking'ом и прочими ништяками.
>>1018668 Хотели сделать однородным использование complex, наверное. Абс, например, может быть только методом. Там нет сеттера - когда ты хочешь присвоить новое значение, ты пишешь complex huy; huy={1,2}; //initializer_list или huy={huy.real(),2};
>>1018731 Да, но: 1) Это стандартная библиотека, там каждая мелочь должна быть продумана. 2) Так надо же специально всё усложнить, помимо того же поля написать четыре бесполезные функции. 3) Мне интересно, может в этом глубочайший смысл какой-то, я-то хуй простой и не понимаю чего-то, что умные дядьки придумали.
>>1018564 >Если тебе так сильно нужна производительность - отключи эксепшены в компиляторе В правильном исполнении эксепшены не добавляют никакого оверхеда в нормальный control flow. Т.е. являются с этой точки зрения zero cost. Non-zero cost начинается только если эксепшен бросают.
> Что ты пишешь, блядь? Всё, что ты можешь найти в языуе без подключения хеадеров - это интегральные типы (поправьте меня, если неправ), какие ещё объекты? Что ты пишешь, блядь? Сразу заметно не открывавшего стандарт ни разу. Поди посмотри определение объекта в C++. К слову, в стандарте C тоже употребляют это слово — объект. И определяют оба стандарта этот термин одинаково. Так что он всё написал корректно.
> Ссылка и указатель - один хуй Нет.
> Важные отличия есть, но на суть не влияют. > суть Гуманитарием несёт за версту. Ссылки — не синтаксический сахар, т.к., как я уже писал, выразить все свойства ссылок через указатели невозможно.
> void - это char , который можно приводить ко всему без предупреждений о типизации Нет, нельзя. Это другие указатели можно неявно приводить к указателям на char или void, но не наоборот.
> char - это тип ячейки памяти, может быть больше 8 бит, и вовсе не "буква". Это верно, массив из char и unsigned char использую для определения что такое "представление объекта в памяти", но всё-таки одно из главных назначений char — хранить символ из базового набора символов (что это такое — тоже определено стандартом).
> Твой основной инструмент - документация, блядь - cppreference и стандарт. Не очень похоже, что ты это применяешь к себе.
>>1018880 >В правильном исполнении эксепшены не добавляют никакого оверхеда в нормальный control flow. Т.е. являются с этой точки зрения zero cost. Non-zero cost начинается только если эксепшен бросают. Не все так умеют. Некоторые до сих пор в MSVS компилят, а там легаси на легаси. >Поди посмотри определение объекта в C++. В следующий раз полезу - гляну. Спасибо. >Не очень похоже, что ты это применяешь к себе. Если ты не хочешь, чтобы я что-то писал, то пиши раньше меня, делов-то. Что я применяю к себе - лучше известно мне, чем тебе. Знать все особенности языка до грамматических правил и уметь писать на нём, умело пользуясь документацией в моменты сомнений - разные вещи.
Хочу пойти собеседоваться. В требованиях к вакансии указано: )работа с сетью(http) )знание unix систем на уровне пользователя На линуксе сижу года полтора, но никаких знаний особо не имею. Что можно почитать по этим двум пунктам? Чего от меня ждут?
>>1019057 >Компилятор говно Ну так я и спрашивал про компилятор. Что конкретно в нем говно? >>1019108 > SJLJ-эксепшены (инбифо кланг) Почему это плохо?
>>1019212 Шланг на винде есть, да и MinGW от Стефана Т. Лававея норм. Другое дело да, что IDE кроме студии нет вообще, кроме красноглазой параши и джетбрейнсового дерьма.
>>1019216 >Шланг на винде есть А у него есть собственная стандартная библиотека, как у gcc и msvc? Насколько я знаю, приходится использовать его вместе с gcc, а я этого делать не хочу. Притом его не поддерживает даже говно от джетбрейнсов. Если бы поддерживало, и у него была своя стандартная библиотека, то радостно бы перекатился. >>1019216 >MinGW от Стефана Т. Лававея Можно поподробнее?
>>1019226 Дружок, исходники компилятора не этого я сам смотрел и разбирался в них. Если ты даже на такое не способен, то может тебе лучше заняться чем то другим?
>>1019212 Шланг завезли в студию. Сам не пробовал. >>1019216 Qt Creator потихоньку избавляется от багов. >>1019263 Скинь сурсы от MSVC в личку, я покопаюсь.
>>1019212 Нахуя компилятору своя иде, поехавший?>>1019220 Исходники чего? Закрытой студии? >>1019385 В вс затрахаешься с разными версиями компилятора и кривыми xml-проектами. Лучше наверни на систему mingw со стандартными тузами вроде make и баша и cmake . && make >>1019241 Что за поехавшие в треде? Уебок стих не дал написать и перекотил — набежали шизофреники, это кара божья, не иначе.
>>1019424 >Нахуя компилятору своя иде, поехавший? Я имел в виду поддержку компилятора. Тот же gcc поддерживает много ide, а по факту все они - говно, кроме clion
>>1019424 >Что за поехавшие в треде? Уебок стих не дал написать и перекотил — набежали шизофреники, это кара божья, не иначе. Как ты будешь восстанавливать исходники, если их кто-то проебал, а бинарник проебать не смогли? Будешь с нуля писать? Тут-то и пригодятся навыки реверсинга, тупой овощ.
>>1019433 Не, животное, когда ты занимаешься программированием, а не ежедневной деградацией в отладчике и дрочевом на свои кряки которые ты крякаешь и потолок твоего погромминга настрочить кейген на 2/3 состоящий из выдранного куска асма — есть плюс минус понимание как все работает и легче просто написать с нуля. >>1019431 Сука ну ни траль так толста плез я щас вытику от тваиго жыра
>>1019391 MinGW w64 - вполне норамальный порт ГЦЦ на винду, если он используется в коммерческом продукте и через него компилится куча софта, включая Сигвин. То, что Креатору не принципиален компилятор - это плюс, а не минус. В редистрибьютабле МНИГВ ГЦЦ есть, тебя это волнует? >>1019424 >Нахуя компилятору своя иде, поехавший ДЛЯ СБОРКИ ПРОЕКТОР БЕЗ МЕЙКФАЙЛОВ, например. >>1019431 Говно вообще или для тебя? Твои потребности меня не интересуют.
Есть ли пхпшнику профит от изучения C++? Я имею в виду, есть ли проекты, требующие навыков написания кода на обоих этих языках. И насколько это экзотика?
>>1019460 >ДЛЯ СБОРКИ ПРОЕКТОР БЕЗ МЕЙКФАЙЛОВ, например. И много ты таких IDE знаешь, поехавший? >>1019485 Экзотика уровня фейсбука, не парься и пиши на пхп.
Сап, крестач. Что за хуйня - почему код в ассемблерной вставке работает, а в цикле while вываливается с исключением - нет прав на чтение (типа лох расчехляй VirtualAlloc).
>>1019576 Блять, я наебал, VirtualProtect, не Alloc Вываливается, потому что ты даешь доступ не на все страницы памяти. Там просто пока до 0x5a4d дойдет дело, ты через кучу страниц пройдёшь. Но я не хочу в цикле постоянно VirtualProtect дважды вызывать для каждой итерации. Меня вот интересует, что за хуйня - на ассемблерных вставках работает, а на крестах - не
Как бесят ебаные гумусы, неспособные четко и последовательно излагать мысли, выделяя главное. Особенно когда гумус еще и хороший специалист и придумывает ебанутые решения, которые сам не может объяснить.
>>1019488 >И много ты таких IDE знаешь, поехавший? Почти каждая из тех, которые я пробовал: у Креатора, у МСВС, у Коделите - у всех свои проекты, и мейкфайлов ты не касаешься. Иди на хуй. >>1019500 Ты первый тут про Коделите пёрднул.
>>1019613 >Почти каждая из тех, которые я пробовал: у Креатора, у МСВС, у Коделите - у всех свои проекты, и мейкфайлов ты не касаешься. Иди на хуй. Какой же ты тупорылый. При чём здесь компиляторы вообще? Иди таблеток выпей.
>>1018980 >А что плохого в MSVC? В 32-битном ABI при входе/выходе из функции постоянно требуется выполнять код, относящийся к поддержке исключений. Т.е. даже если исключений не бросалось, их поддержка вносит постоянный оверхед. В 64-битном ABI, похоже, они стали zero cost. (Или просто оптимизатор поработал) >>1019108 >SJLJ-эксепшены Там не SJLJ, но тоже не zero cost. >>1019179 >Оптимизирует хуево 2017-й уже не так хуёво. Но вообще да, у его оптимизатора есть некоторый потолок, связанный с тем, что компилятор ничего не знает о strict aliasing. >>1019179 >не умеет в С++17 Как я демонстрировал в прошлом треде, не умеет даже в C++98. >>1019216 >IDE кроме студии нет вообще Фанатик незаметен.
>>1019647 Напоминаю сверхразумам >>1019212 >Жаль, что у шланга и гцц нет ни нормальных ide, ни нормальных портов на винду. >>1019424 >Нахуя компилятору своя иде, поехавший? с чего все началось:
>>1019759 >Связанные с софтом вопросы обсуждаются в /s/. Исключение - IDE и прочие инструменты программирования, которые можно обсудить в тредах соответствующих языков.
>>1019729 Все нормальные поняли, о чём идёт речь - о том, что в разы упрощает использование компилятора. Зачем нужны IDE - ты, видимо, знаешь. У тебя претензии к выражению "IDE у компилятора"? Не ебёт: учись понимать ошибки собеседника по контексту ( если это вообще ошибка).
анон, как узнать, выхожу я на уровень джуна или нет? ооп изи шарю, списки стеки могу написать без проблем, решил курсач по теории кодирования написав прогу на плюсах. Могу в qt, на нем написал плеер для вк(правда запросы в вк на питоне делал(в фоне скрипт отдельным процессом запускал)), правда сейчас уже прикрыли api, написал себе прогу-напоминалку т.к. провайдер в общаге не удосужился сделать оплату в долг, которая сидит в трее, и при чекает каждый час есть ли на счету деньги на следующие сутки(есть URL по которому можно посмотреть статус счета, ну потом распарсил html и т д), ну конечно текст инфо об аккаутне сделал чтобы на мейн форме можно было посмотреть. Сделал все с потоками, добавил возможность установки в автозагрузку, сделал анимации норм, стилизировал кнопки и т д. Решил поучить python, написал пару скриптов по работе с вк(просто интересовало), всякие махинации с коментами и т д. Раньше как-то читал говнотред на каком-то форуме про джуна с++ и там знатоки говорили что хоть пейнт напиши свой чтобы фигуры можно было чертить и прочее говно, ну это же совсем шляпа, кароч поясните за джуна пж, копать я дальше все равно буду, но стоит ли мне совсем пыхтеть?
>>1019864 Всем похуй что ты писал. Самое важное - это КАК ты пройдешь собеседование. Собеседований обычно 2 типа, это либо ты решаешь всякие говнозадачки, как в Яндексе -> иди дрочи leetcode.com и читай Кормена про алгоритмы
Либо это просто тебя будут спрашивать всякие уебанские вопросы ЧЕМ СТРУКТУРА ОТЛИЧАЕТСЯ ОТ КЛАССА или там ЧЕМ РЕФЕРЕНС ОТЛИЧАЕТСЯ ОТ УКАЗАТЕЛЯ.
Я собесил много джунов, обычно если ты прочитал хотя-бы майерса пару книжек - этого уже за глаза для найма.
>>1019874 глупые вопросы потому что они про с++ или потому что я плохо сформулировал? по питону, не совсем уж хочется в веб, язык конечно замечательный, но душа лежит к байтоебству/формоебству(ну если надо я душу перепрошью) просто хотел узнать как обстоят дела в с++
>>1019891 >глупые вопросы потому что они про с++ или потому что я плохо сформулировал? Потому что спрашиваешь о вакансиях на с++ >хотел узнать как обстоят дела в с++ Плохо. Много легаси проектов с С++ 98, работы мало, в основном придется поддерживать древнее говно мамонта, которое сначала писали на чистом си, потом внезапно продолжили писать на си с классами, потом с шаблонами, исключениями, и.т.д
>>1019897 Когда я собесился на джуна несколько раз - меня мучали именно вопросами по крестам. Когда я перестал быть джуном - меня мучали уже задачками. На прошлой неделе в яндекс на крестодебила собесился - дали задачку, в которой крестов вообще не было, на чистом си писал
Кстати, что посоветуете прочитать по алгоритмам и структурам данных, а то я не знаю даже что такое связанный список и как реализовать сортировку пузырьком.
>>1019901 а если у меня есть интернатура luxoft в городе и я могу туда вполне податься, а там около embedded(разработка какого-то софта для автомобилей) стоит и на это положить? жаль конечно что много "говна мамонта" среди вакансий
>>1019915 ну написать не большая проблема, только вот как и какого качества Можно юзнуть какую-нибудь либу для работы с http и тогда задачей станет нажать на вики по либе или ручками работать с запросами(что я сам делал) ну а так если действительно хочется развить знание программирования в довольно большом объемее то это твой чойс(рекомендую std::regex и boost::asio там есть все что тебе понадобится для не самого сложного https сервера)
>>1019907 тогда читай дальше, итераторы без темплейтов странно использовать, хотя действительный опыт работы с темплейтами даст только разработка иерархии типов для какой-нибудь игры или хеширование строк в компалтайме
>>1019850 Да никак. op::type - это поле инстанциированного тимплейта. От того, что он есть во всех инстансах и одинаковый, лучше не становится. Можно было бы написать специализацию, но её можно писать только после объявления основного тимплейта. >>1019922 Как ты собрался изучать алгоритмы без математики? Пузырёк там псевдокодом, какая математика? >>1019925 В интернатуре тебя шлюхой не сделают и паспорт не отберут. Попробуешь - расскажешь. >>1019942 >векторах, строках и массивах Тимплейт, нетимплейт, тимплейт. Вопросы есть? >>1019949 В сишных массивах нету итераторов, сишные массивы - это кусок памяти без методов.
>>1019978 О, кстати, новая идея: "статические" члены, которые можно юзать через идентификатор тимплейта без аргументов. %ололол%% >>1019997 Семантически. Итератор - это итератор. Указатель - это указатель. Когда говорят "итератор", имеют ввиду не вообще любую вещь, которую пяткой через ухо можно использовать, как итератор. .end() у массива есть, кстати? И не надо мне говорить про array+sizeof(array)
>>1020005 Извини, но понятие итератора определили без тебя.
$24.2.1 1. Iterators are a generalization of pointers that allow a C++ program to work with different data structures (containers) in a uniform manner.
2.Since iterators are an abstraction of pointers, their semantics is a generalization of most of the semantics of pointers in C++. This ensures that every function template that takes iterators works as well with regular pointers.
>>1020093 Речь была даже не о том, что такое итераторы (нет, это не один лишь указатель), а о том, что в сишных массивах их нет. Указатель - не итератор. У тебя в процитированном написано: >in a uniform manner А теперь взгляни на то, как ты получаешь .end() в сишном массиве: >array+sizeof(array)/sizeof(ASTERISK array) Итератор - это концепт, спорить не о чем. Учить меня тому, что я знаю много лет, не надо.
>>1020217 Если не надо, то зачем ты смешиваешь в одну кучу массивы и указатели (до которых массивы деградируют)?
>Указатель - не итератор Указатель, согласно стандарту, как раз таки итератор.
>Iterators are a generalization of pointers that allow a C++ program to work with different data structures(containers) in a uniform manner. Кхм. На русский это переводится так: Итераторы это обобщение указателей, позволяющее программам на C++ работать с разными структурами данных ( контейнерами ) в обобщенной манере.
>>1020314 >Указатель, согласно стандарту, как раз таки итератор. Такие утверждения требуют уточнений.
>>1020314 >Кхм. На русский это переводится так: Итераторы это обобщение указателей, позволяющее программам на C++ работать с разными структурами данных ( контейнерами ) в обобщенной манере. А, вот и уточнение. Написано "итераторы это обобщение указателей" и ты отсюда сделал вывод, что "указатели это [обобщение] итераторы[ов]"? Кхм. Мда.
Можно сказать, например, что указатели это итераторы в том смысле, что для них задана частичная специализация std::iterator_traits. Тут никаких вопросов.
Насчёт "симантической" разницы. Это всё зависит от того, насколько вольно трактовать "симантику". Всё-таки при применении оператора * к итератору (если он определён как класс, а не просто алиас типа указателя) вызывается метод, а при применении к функции — built-in оператор. "симантически" это разные вещи.
Пролистал липпмана и решил открыть мейерса и нихуя не понял, о чем он пишет. Как понять его писанину? какието lvalue и rvalue ссылки, а вообще не ебу что это за залупа такая
>>1020469 >Такие утверждения требуют уточнений. А я сам уже глянул в стандарт. Указатель таки итератор. Ок, буду знать. Ясен пень, само по себе "итераторы - обощение указателей" не означает то, что указатель - итератор. Но раз написан список требований и указатель удовлтеворяет их - ок, ладно, таки итератор.
>>1020758 Clion крайне убог как IDE (сколько еще лет memory view будут прикручивать и по памяти переполняться на проекте на 1000 файлов?), порт gdb крайне убог сам по себе (нет нормально работающих view'ов, нормально не работает ретроспектива). Других подводных нет. Они все надводные.
>>1020802 Судя по тому, что ты вообще об этом спрашиваешь - ты сраный ученик подмастерья джуна на пол ставки за борщ. Исходя из этого - перестать забивать голову левой информацией. C99 поддерживается 15й студией, C11 нормально не поддерживается никем (если не считать еблю с флагами под gcc) кроме clang.
>>1020810 C99 поддерживается студией на уровне совместимости с С++, не больше. >не считать еблю с флагами под gcc Не понимаю, о какой ебле ты говоришь, но он в gcc нормально поддерживается. https://gcc.gnu.org/wiki/C11Status
>>1020794 >Visual Studio с MSVC, который не полностью поддерживает даже C++98? Если тебе так важна корректная работа two phase lookup-а в шаблонах, то там, насколько я знаю, есть Clang with Microsoft CodeGen. Т.е. фронтенд от Clang, бекенд от CL.
>>1016662 (OP) Из чтения стандарта не понял, как слово inline решает проблему многократного определения. Объясните, почему добавление inline устраняет такие ошибки.
>>1020573 L/R value - это, судя по всему, Левые/Правые значения, то есть те, что стоят слева или справа от знака присваивания, например. lvalue1 = rvalue1
>>1020802 При чем здесь стандарты? Писать код удобно. Не нравится компилятор? Используй внешний, благо теперь можно делать проекты cmake Это конечно своя головная боль, но другого я не знаю
Есть структурка struct Rate { int count; string str; };
Если во время её инициализации присвоить в str какую-то строку, то выделится память и произойдет копирование? Если да, то как этого избежать? (если делаю str ссылкой, то ломается последующая сортиковка) если нет, то это ведь и будет предельно быстро?
Изначально строки берутся из словаря, который гарантированно будет жив. Затем вектор из этих структур сортируется так: auto sortLambda = [](const Rate & a, const Rate & b) -> bool { if (a.count != b.count) return a.count > b.count; return a.str < b.str; };
for (auto it = rates.begin(); it != rates.end(); ++it) sorted.push_back(Rate{ it->second, it->first }); sort(sorted.begin(), sorted.end(), sortLambda);
>>1021320 Отнюдь. На крестах дохуя всего пишется, геймдев это меньшая часть. Я пишу софт для сетевого оборудования охуительно быстрого. Ядро на С, обвязка на крестах
>>1021331 Что ты в ЦПП-треде забыл, болезный? >>1021360 Зависит от того, какого типа p. Если оператор взятия адреса переопределён, то может возвращать хоть конскую залупу. >>1021372 Если decltype от адреса возвращает int по той причине, которую ты назвал, то компилятор не может предупредить об использовании числа вместо адреса в компайл-тайме.
Так-с, вот наговнокодил я свой шаблонный ребус на вариадик темплейтах и рекурсии этих самых шаблонов, а как посмотреть во что это все говно развернётся кроме как дизасемблером?
Лублу мтпргромировоне: https://pastebin.com/7fUgNzSd (сюда не влезло, а жаль, лол хотя судя по main.cc:29:10: note: (skipping 1015 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) самое интересное не влезло, кек).
>>1021396 Дык у меня из-за этого-то и творческий кризис, ибо я хз чем назвать, я его не откуда и не беру — это просто изначальное значение, от которого отравляется по 8 и из 4/2 знаковой строки составляется её хекс код.
>>1021220 >Из чтения стандарта не понял, как слово inline решает проблему многократного определения. Объясните, почему добавление inline устраняет такие ошибки. Потому что стандарт явно разрешил таким определениям нарушать one ODR rule.
>>1021370 >С чем это связано и как обосновано? А подумать?
>>1021385 есть средства для этого, в том числе и на шланге, само собой другое дело что не оч популярны, видимо потому что ньюфаги и так в этом не шарят, а монстрам уже не надо, они и так понимают та же история, что и с препроцессором в си - во всех компиляторах существует опция позволяющая посмотреть процессированный код (с развернутыми макросами), но люди даже с 10тью годами опыта этим не пользовались..
>>1021477 >А подумать? Потому что функция определяется встраиваемой и может подставляться целиком по месту вызова? Но ведь это только рекомендация компилятору.
>>1021492 Если функция встраивается в место вызова, то от неё никаких самостоятельных определений не остаётся.
Темплейты функций пишутся в хедерах и их инстанциирование потенциально приводит к определению функций во многих единицах трансляции. Чтобы не нарушать этим one ODR rule, инстанциированные функции неявно являются inline.
То же распространяется на методы классов, определённые внутри определения класса. Они попадают во все единицы трансляции, подключающие хедер с их определением и поэтому неявно являются inline.
>>1021447 Связано с 50-летними технологиями компиляции и сборки программ. При компиляции кода с обычными функциями компилятору не нужен код самих функций - он просто проставляет ссылки и идет дальше. Тоесть при компиляции каждой отдельной единицы трансляции в ней может не содержаться кода некоторых функций - главное чтобы были их декларации (для статического контроля типов). Потом с заменой ссылок на реальные адреса функций (и поиском этих функций) ебется уже линкер. Но при компиляции кода с инлайн функциями компилятору нужен код этих функций потому что этот код напрямую вставляется вместо вызовов функций. Тоесть при компиляции каждой отдельной единицы трансляции нужен код всех инлайн функций которые используются в этой единице. В случае функций которые должны использоваться только в одной единице трансляции проблем нет - код функции помещается в .срр файл и все. Но если ты хочешь использовать инлайн функцию в нескольких единицах трансляции единственный нормальный способ - поместить эту функцию в хедер. Но тут получается проблема что компилятор создаст кучу одинаковых функций (для кадой единицы трансляции в которую включен хедер с инлайн функцией). В случае обычных функций это запрещено. Ну и какбы нет особого смысла код обычных функций помещать в хедер - множественная компиляций одной и тойже функции только замедлит процесс. А для инлайн функций - помещение в хедер это единственный нормальный вариант использовать одну и туже функцию в нескольких единицах трансляции, поэтому он и разрешен. Все возможные отхуяченые по шею ноги - на совести программиста.
>>1021610 > я lvalue имел ввиду. Типа как вообще может выражение слева от присвоения быть А, ты думаешь, rvalue или lvalue определяется тем, с какой стороны от = стоит выражение? Это не так.
>>1021610 >(a+b=c)? разве что если там указатель вычисляется Если a это указатель, а b это целое число (или наоборот), то a+b=c ты написать не сможешь, разве что *(a+b)=c
Читал комменты сверху, скажу - сколько тут сверхразумов, готовых писать свои компиляторы, сравнивают Java с CPP, говорят что компилятор MSVS "говно", студия как IDE параша, QT сосёт в функционале, C++ вымирает... Твоюж мать, вы ебанутые. Яву и кресты сравнивать вообще нельзя. MSVS, если ты пишешь код как макака куча циклов в цикле ещё в цикле - быстрее, а также с ссылками/адресами быстрее рабит => каждому свое. Студия имеет более расширенный функционал перед другими IDE. Также отладчик супер, новая фича - профилирование, которое нигде не найдёшь. QT имеет ряд особенностей. Они кажутся многим настолько полезными, что и переходят на него. Те же слоты и сигналы чего стоят. И, конечно же, он бесплатный. C++ не вымирает, каждый язык имеет свое предназначение. Я до сих пор временами использую паскаль.
>>1021622 Ну, отчасти это так, потому что именованный rvalue ведет себя как lvalue. Более правильно было бы сказать - rvalue это неименованная величина получаемая из результата выражения или статик каста.
>>1021838 Студия действительно говно, я там только цветовую тему спиздил. Qt как IDE шикрен, из библиотек там только интерфейс писать удобно. Ну и разный функционал там впечатляет, но как ядро тугой.
К слову, зачем c++ и джава ребята используют отладчик? Гораздо проще использовать дебагстринги, логирование или те же месседжбоксы. Это ж ебанутся можно подрубать дебагер на мультипочное приложение с 20+ классами. Тем более 90% его функционала нет смысла использовать для дебага высокоуровневых приложений.
>>1021891 нахуй вы регулярки на крестах пользуйте? зачастую можно sprintf обойтись или его аналогами ну или пишется state machine, способов как ее делать штук пять можно набрать просто учитесь их писать и все
>>1021941 В си кроме кодогенерации без стороннего говна (кек) за спартанство платят перформансом и низким потреблением памяти, в говне тебе не платят ничем, кроме того что этому говну даже человека с синдромом обучить можно.
>>1022022 Он стал тырпрайзным. Ну, еще игры остались и всякие мессенджеры + тулы. Но в % тулами пользуется малое число юзеров. Хотя на икру с ферарями хватает.
>>1022022 Да всё в веб-технологии перекатывается, даже ебаные десктопные приложения. Тот же православный, казалось бы, Qt — и тот активно развивает свой QML ака недоумию-жс-для-разметки-и-просто-жс-для-логики.
>>1022028 >хочешь сделать хуяк-хуяк >предлагают привязывать ногу к стулу sprintf — чтобы отстреливать удобнее было >потом говорят писать стейк-машины на каждый хуяк-хуяк который делаешь просто потому что автобус из буханки /0
>>1022043 Вот поэтому перл и сдох, лол. Для почтовых адресов фсм вышла бы куда короче — что ещё может быть нужно, кроме как разделить адрес на до и после @ и попутно проверить все ли там аски символы? если чо другой анон
>>1022045 Вообще имплементации RFC822/RFC5322/5321 проприоритарные как правило и для иллюстрации я их притащить не мог, ту что притащил - на порядок короче виденного на практике.
>Для почтовых адресов фсм вышла бы куда короче Ну давай начнем с name@"supercorp@fuckers".com
>>1022025 >нахуй вы регулярки на крестах пользуйте? Ну а как еще мне просто достать из строки подстроку соответствующую шаблону? Если есть решени проще чем
>>1022104 Сам факт того, что ты сделал регулярку, подразумевает бессмысленность построения тут конечного автомата. Может тот анон просто сказал тебе что-то вроде "git gud" или просто выебнулся, но по строкам там точно меньше не выйдет.
>>1021850 >Ну, отчасти это так, потому что именованный rvalue ведет себя как lvalue. Про что несёт? rvalue или lvalue это свойство [под]выражения, что такое "именованный rvalue"?
> Более правильно было бы сказать - rvalue это неименованная величина получаемая из результата выражения или статик каста. Более правильно было бы привести ссылку и/или цитату на стандарт или cppreference.
>>1022149 >Про что несет? >rvalue это свойство Как-то даже грустно стало. А ведь когда 11 стандарт вводили об этом знал каждый. Похоже я слишком старый, скоро будут уже 2000++ года рождения закатываться. Стандарт, раздел 5, Expressions:
[ Note: An expression is an xvalue if it is: (7.1) — the result of calling a function, whether implicitly or explicitly, whose return type is an rvalue reference to object type, (7.2) — a cast to an rvalue reference to object type, (7.3) — a class member access expression designating a non-static data member of non-reference type in which the object expression is an xvalue, or (7.4) — a .* pointer-to-member expression in which the first operand is an xvalue and the second operand is a pointer to data member. In general, the effect of this rule is that named rvalue references are treated as lvalues and unnamed rvalue references to objects are treated as xvalues; rvalue references to functions are treated as lvalues whether named or not. — end note ] struct A { int m; }; A&& operator+(A, A); A&& f(); A a; A&& ar = static_cast<A&&>(a); The expressions f(), f().m, static_cast<A&&>(a), and a + a are xvalues. The expression ar is an lvalue. — end example ]
>>1022193 >Как-то даже грустно стало. Ну это оттого, что ты нифига не знаешь.
> А ведь когда 11 стандарт вводили об этом знал каждый. А я до сих пор знаю, в отличие от тебя.
> Стандарт, раздел 5, Expressions: Стандарт, раздел 6.10 [basic.lval] http://eel.is/c++draft/basic.lval#1.note-1 [ Note: Historically, lvalues and rvalues were so-called because they could appear on the left- and right-hand side of an assignment (although this is no longer generally true); glvalues are “generalized” lvalues, prvalues are “pure” rvalues, and xvalues are “eXpiring” lvalues. Despite their names, these terms classify expressions, not values. — end note ]
>>1022196 > я до сих пор знаю > что такое "именованный rvalue" Ловкая попытка съехать, но нет.
>Самый прикол в том, что r/lvalue относится не к значениям, а к выражениям. >Despite their names, these terms classify expressions, not values >6. Statements >5. Expressions Так вроде ты и просил объяснить тебе про выражения. Не очень понимаю твои претензии.
>> "именованный rvalue" — это бессмысленное словоупотребление Да нет, это именно что rvalue который трактуется как lvalue. Вполне себе жизненное особенно в шаблонах.
>>1022208 >что ты называешь "именованный rvalue" >In general, the effect of this rule is that named rvalue references are treated as lvalues and unnamed rvalue references to objects are treated as xvalues; rvalue references to functions are treated as lvalues whether named or not
Может перевод слова "named" тебе не понятен?
>Именованными бывают переменные, функции и т.д. Или все же понятен?
Как ты кстати назовешь: int&& a ; ?
>что ты слился? Понимаю что школотронство рвется наружу, но ты выбрал не тот тред чтобы его выпускать, его читают: ты, я, два с половиной залетных которые меняются каждый день.
>>1022215 Так и думал, что ты один из тех даунов, которые не отличают "rvalue" от "rvalue reference". Или, более общó, value category от типа.
http://en.cppreference.com/w/cpp/language/value_category Each C++ expression (an operator with its operands, a literal, a variable name, etc.) is characterized by two independent properties: a type and a value category. (курсив не мой)
>>1022218 >>1021850 Вот то что я пытался донести в оригинале, согласно твоей собственной ссылке: Even if the variable's type is rvalue reference, the expression consisting of its name is an lvalue expression;
Ну, а понятие "named rvalue" ты можешь в стандарте почерпнуть оно много где используется.
>которые не отличают "rvalue" от "rvalue reference Как ты кстати сделаешь именованный prvalue?
>>1022227 Ты, главное, не расстраивайся. Многие ньюфаги не отличают rvalue от rvalue reference. И задаются вопросами типа "я передал аргумент в функцию по rvalue-ссылке. Почему он не перемещается? Ведь для rvalue должен вызываться конструктор перемещения". Потом многие понимаю, почему, когда начинают отличать типы от категорий значений (type и value category).
Только ты вот этого не осознал до сих пор. У тебя на этот счёт какие-то неоформленные, туманные представления "ну эта, как его, именованный rvalue может вести себя как lvalue.... в шаблонах вот полезно... да..."
> Вот то что я пытался донести в оригинале А я пытался донести, что словосочетание "именованный rvalue" лишено смысла.
> Как ты кстати сделаешь именованный prvalue? Так же, как rvalue: никак.
Вот поэтому я в русскоязычном интернете почти и не сижу. Очень токсичная атмосфера. Встретятся два дебила, и пытаются поднять свою самооценку за счет оппонента. Потом подключается остальная группа и начинается срач.
>>1022246 Да, для упрощения понимания небольшой postreference:
>Как-то даже грустно стало. А ведь когда 11 ?>стандарт вводили об этом знал каждый. >Похоже я слишком старый, скоро будут уже >2000++ года рождения закатываться. Толстота это вот это /\ /\ /\ /\
>>1022251 Да ладно тебе, обычно таких буйных не попадается.
>>1022242 >>ньюфаги >Тебе все еще бомбит с моей толстоты? С чего ты взял, что употребление слова "ньюфаги" означает, что мне "бомбит"? Я констатировал факт, что ньюфаги часто задают такие вопросы. Потому что правда задают.
Или тебе показалось, что я тебя обзываю ньюфагом?
>>1022242 >Двоечка молодой человек А на каких IT-ресурсах ты ещё сидишь?
Итак. Почему int a, a не int a? У переменной тип - указатель на интыжер, так какого хрена все пишут звёздочку около самого имени? Или ещё лучше, int a. Это вообще откуда пошло?
>>1023961 Это значит, что ты будешь ковырять всю ту же легаси-хуйню, что и все, просто на собеседовании хуесосы будут изображать из себя ГУГЕЛЬ и просить на доске перевернуть бинарное дерево
Безопасно ли так работать со списком? Обе функции вызываются несколькими тредами. Всмысле не наебнется ли list во время foreach если ремувнуть элемент по итератору
class SomeClass { boost::mutex m_mtx; std::list<Elem> m_list;
>>1024027 Неа, удаление элемента из списка не атомарная операция. Перед проход по списку в цикле захватывай мьютекс. И еще: 1. Для захвата мьютекса используй lock_guard (RAII, же). 2. В C++11 мьютексы есть в STL. 3. Изменение разделяемой структуры из нескольких ниток кривой дизайн. В дальнейшем много проблем можно огребсти. Всю многопоточность стоит сводить к схема поставщик\получатель (через thread-safe очереди).
Тут пишут, что всё MFC виноват, слишком слоупочный. Попробуй как-то так не бейте - лучше обоссыте: #include <future> ... void something(); ... auto handle = std::async(something); handle.get();
Пишу сюда ибо тут должна быть более знающая аудитория. Решил вкатиться в программирование ради интереса. После изучения большей части синтаксиса чистого Си навалила скука. И тут я открыл для себя OpenGL. Все бы шло замечательно, но в учебнике где используется чистый Си, уже сразу с основ идут нерабочие примеры и не только у меня эта проблема. Глянув новые книги и видеокурсы, стало ясно что везде используются плюсы. Вдобавок, как я понял, гуи пишутся с использованием qt, а там опять плюсы. Короче, для написания приложений с гуи и трехмерной графикой годятся только плюсы? Или есть альтернативы для чистого Си? (ну если не считать gtk+ для гуев и старой книги по OpenGL. Просто страшно начинать изучать плюсы после беглого просмотра тредов.
>>1023961 Кормена. >>1024600 О том, что один пытается утереть другого, но сам не читает то, что вставляет. >>1024604 TCHAR - это либо WCHAR, либо CHAR в зависимости от макроопределения UNICODE (или как там). >>1024602 Твои варианты: WriteConsole(string.c_str()) std::cout<<string //если без юникода std::wcout<<string //а вот здесь ты жестоко наебёшься, в винде это не работает от сллова "никак"
>>1024605 Я про то, о чем спор вообще был? Я так и не смог понять. Так там два дебила говорили об одном, один просто с сайта саттера линки таскал, второй из доки страуса, лол. При этом один поехавший дед, второй селюк не знающий английский. Крестовое комьюнити короч.
>TCHAR - это либо WCHAR, либо CHAR Так вроде wcout перегружен для обоих.
>>1024604 >>1024605 >>1024605 Мне нужно, чтобы моя программа в зависимости от настроек могла хранить в одном и том же std::map или ANSI-строки или UNICODE-строки, а потом выводить этот map в консоль. Как это реализовать без быдлокода?
>>1024602 >TCHAR Ненужно. >>1024605 >TCHAR - это либо WCHAR, либо CHAR в зависимости от макроопределения UNICODE (или как там). Самое идиотское, что могла придумать Microsoft — что приложения можно будет собирать для разных версий Windows (NT и не-NT) просто определением или не определением одного макроса.
Если тебе так нравится кодить под WinAPI, то лучше просто забудь про то, что UNICODE может быть НЕ определён. Считай, что он всегда определён и TCHAR=WCHAR.
Если ты, конечно, не собираешься компилять под Windows 95.
>>1024616 Храни все в UNICODE, если тебе важно именно содержимое строк. Если тебе необходимо иметь и то и то в одном массиве одновременно - погугли type erasure container.
>>1024588 Лучше доучи, базовое с++ ооп за один день берётся, а std'шный мусор OpenGL/qt не юзают, т.к. имеют уже свои более удобные аналоги. >>1024617 На все winaip функции есть варианты w/t/c. Всего-то надо один раз загуглить их. Однобайтовое говно всегда может понадобится, не все сторонние либы хотят юзать юникод.
>>1024713 >Однобайтовое говно всегда может понадобится, не все сторонние либы хотят юзать юникод. Т.е. ты вместо обёрток над вызовами либ предлагаешь дизайнить всю аппликуху вокруг либы?
>>1024716 Это же от конкретной либы зависит, как там будет удобней. Если там есть внутренние калбаки, или может она вообще на кодировке utf8 работает. Некоторые вещи бывает проще делать модульно, чем на всё свои обёртки пилить.
>>1024737 Для меня это - Нечитабельный, неюзабильный, сферический в вакууме. Оригинальная идея была хорошая, людям предлагалось не изобретать велосипеды, плюс помогает делать код более кроссплатформенным. Но всё это разбилось об реальность ооп в с++, где для эффективного использования std приходилось значительно повышать свой уровень знания языка, типа следить за лишними копированиями, продлевать время жизни объектов и.т.д. Т.е. либа которая должна была упростить жизнь, её начала усложнять. Основные разработчики сторонних либ и фреймворков решили отказаться от использования унифицированного std в пользу оптимизации своих решений. Т.к. основная масса разработчиков всё же не пишут сферические хелловорлды, то брать за основу именно std им нет смысла. Сейчас новые стандарты c++ направленны на изменение языка именно в сторону упрощения использования std, но люди ленивые, и стек технологий тоже не спешит перестраиваться под это. Потому это остаётся не нужным, хотя гики всегда есть. Можешь и ты таким стать, а люди которые будут потом сопровождать твои проекты будут тебе очень "благодарны".
>>1024797 Ну хуй знает чувак, какой язык - такая и стандартная библиотека. Сам stl не пользую, пользую разные .h-only либы для контейнеров и алгоритмов, а в основном рабочем проекте свой фреймворк. Но есть все-таки области применения, во первых - на stl просто учиться, понимать концепции. Во вторых - мелкие проекты до 250 000 строк включительно вполне себе неплохо ложаться на stl, ввиду явной простоты логики и возможных зависимостей. Бывают конечно адский сложные маленькие проекты, но ты меня понял.
>>1024608 >Так вроде wcout перегружен для обоих. Будет сложно запомнить то, что в wcout нельзя выводить вчары. Лучше вообще не использовать его. >>1024616 std:variant или своя структурка с мемберами string и wstring. Если один пустой, то данные в другом. Очень странное задание. >>1024713 >а std'шный мусор OpenGL/qt не юзают, У кучи Кутэшных контейнеров есть совместимость или метод преобразования с/между std-контейнерами. Ты можешь писать на Кутэ без std, но ты почти всегда сможешь заюзать std из Qt. >>1024713 >На все winaip функции есть варианты w/t/c. Все современные используют wchar. >>1024797 >типа следить за лишними копированиями У тебя ничего не взорвётся от лишних копирований, и есть множество оптимизаций, включая тот же (N)RVO, а методы контейнеров инлайнятся. >Основные разработчики сторонних либ и фреймворков решили отказаться от использования унифицированного std в пользу оптимизации своих решений. Лолшто. >Потому это остаётся не нужным, Кому?
>>1024802 Я не он но, >Лолшто. Это так, чем дальше в лес, тем меньше крупных проектов на stl. Посмотри гугловый софт, фейсбучную опенсорсную часть, топовые гитхабовские проекты. В проприоритарных проектах я его лично вижу все реже. Единственный кто его еще активно продвигает в коде - это Microsoft (который его через хуй поддерживает, лол).
>У тебя ничего не взорвётся от лишних копирований Так эт, если нет zero-cost-abstractions то кресты это хуита полнейшая без задач.
На пальцах. Unicode это не кодировка, это метод. Кодировки это UTF-8/16/32. UTF-8 отличается тем, что в зависимости от кодируемого диапазона меняется кол-во байт представления символа. И внезапно символы 0-127 кодируются одним байтом.
>>1024801 Мейби, каждому своё, но лично мне было бы лень учить то, что с высокой степенью не понадобится. >>1024802 > почти всегда сможешь заюзать std из Qt Это напоминает "Как сделать троллейбус из буханки хлеба". Читай контекст вопроса: человек спрашивал как ему проще всего перейти, а не как ему заморочиться. > У тебя ничего не взорвётся от лишних копирований Я говорил "эффективного использования", а побыдлокодить можно на чём угодно.
>>1024804 >Так эт, если нет zero-cost-abstractions то кресты это хуита полнейшая без задач. Так в том и прелесть, что в нагруженном коде ты можешь обойтись без лишних аллокаций, а в гуйне, например, хуярить как проще, лишь бы работало. В Qt, например, сплошной пимпл, аллокация на аллокации, но работает все равно быстрее жабы или браузерной параши.
>>1024825 >В Qt, например, сплошной пимпл, аллокация на аллокации, но работает все равно быстрее жабы или браузерной параши. И вот после этой хуйни подавай им нормально работающий KDE без лагов.
Вообще, анон прав - STL-контейнеры редкостная залупа для хуяк-хуячанья, причём на редкость неудобная, в которую полтора десятка лет тащили невладеющие строки. Еще через десяток лет, когда потребности опять поменяются, они туда протащат наконец таки ренджи, спаны, интрузивные контейнеры, оптимизацию для мелких векторов и строк, контейнеры которые можно будет юзать с униками без их собственных рефкаунтеров, еще через 2 десятилетия мб локфри контейнеры и конкурентные очереди с блекджеком притащат - и это все опять окажется никому нахуй не нужно как string_view, который у каждого проекта уже свой, либо как футуры с асинками, которые просто тупо уебские настолько, что их все сами под свои нужды реимплементируют.
>>1024804 >Это так, чем дальше в лес, тем меньше крупных проектов на stl. Посмотри гугловый софт, фейсбучную опенсорсную часть, топовые гитхабовские проекты. Охуительные инсайдерские истории. Неполенился, залез на гитхаб, взял первые четыре игровых движка: cocos2d, godot, cryengine, sfttech. Во трех используются stl контейнеры. В godot, написали свою реализацию контейнеров, с интерфейсом аналогичным stl, ололо.
>>1024865 >И вот после этой хуйни подавай им нормально работающий KDE без лагов. Попробуй использовать нормальную ось вместо линуха. >ренджи, спаны, интрузивные контейнеры, оптимизацию для мелких векторов и строк, контейнеры которые можно будет юзать с униками без их собственных рефкаунтеров, еще через 2 десятилетия мб локфри контейнеры и конкурентные очереди с блекджеком Половина из этого есть в бусте, вторую половину добавлять бессмысленно, поскольку покрывает какие-то весьма специфические случаи (как например локфри контейнеры). А ты ебанат, если этого не понимаешь
>>1024918 >Попробуй использовать нормальную ось вместо линуха. Дык, для станционного пека выбора и нет. На ноутах есть мак (который может зависнуть, но интерфейс у него никогда не лагает, даже при мертвой хватке ядра). >Половина из этого есть в бусте, В бусте только интрузив контейнеры из этого списка, остальное — тащи откуда хочешь, из кучи реализаций gsl-а, фейсбучной библиотеки, разных реализаций ренджей, из llvm если хочешь, с миру по нитке блять. В итоге вместо того чтобы просто сесть и писать — иди ищи и трахайся с деплоем тыщи сторонних библиотек, со своими зависимостями, странностями и просто кодстайлом. >какие-то весьма специфические случаи (как например локфри контейнеры) Так. 2017-й год. Уже даже бюджетные процессоры все поголовно 6-8 ядерные, даже в ебучий STL, который развивается со скоростью ребёнка с синдромом дауна, запилили паралельные алгоритмы, можель памяти, обертки над тредами и мутексами и все вот это. Что же говорит анон об этом? Нинужна! Ой, иди нахуй просто. >>1024939 Щито? Я только недавно на последнем шланге гонял бенчмарки фоллиевского small_vector, который этим занимается, и было не похоже на это. Пруфца бы.
>>1024941 >Щито? Не, я тебе напиздел короч, они только опциональный COW в строки впилили, small_alloc остался на уровне пропозала. А я думал в 17 примут.
>>1024948 Вынужденная необходимость, когда есть дешевые крестомакаки и ты не можешь нанять шарпистов/джавистов.
>>1024947 Ну хуй тебя знает. У меня CLion постоянно уходит в свопы почти при каждом ручном инклуде (автоматические из подсказок моментально подставляются, лол) или при попытках навигации по подключенным где-то в залупе объявлениям, виснет намертво на 10-20 секунд, но интерфейсу похуй - экраны листаютсятак же плавно, курсор вообще никогда не фризится.
>>1024951 CLion это говно ебаное, какое еще поискать. Пользуй что угодно другое и будет ок. Я например когда приходится в линукса выйти пробздеться использую codelite.
>>1024948 Вопрос уровня: как относится к гугловскому кодстайлу? Трупстрауса же пишет с 4 отступами, а эти пидоты с 2, так это выскочкино говно или гениальное гугловское изобретение? >>1024953 Дык, на полноценной пеке с 32 гигами и линуксом он летает (зато курсор таки фризится), другое дело что на маке альтернатив нету вообще - икскод говнище которое умеет даже нормально автокомплитить плюсы и вечно в куче багов, кодлайт, кдевелоп и прочие выглядят на макоси как и все что пишется для линукса а-ля вырвиглаз, остается только культя и цлион. Культя в системное сглаживание не умеет и это тоже пиздец, вот так.
>>1024948 >Как анон относится к Qt ну вот я для себя сделал такой вывод: хочешь относительно без проблем устроится крестомакакой, то у тебя два пути - первый это игрострой, ну а в россии щас это мобилки, по сути - что там надо задрачивать, понятно - и остальные вакансии - это надо задрачивать qt к сожалению вот так все просто
>>1024954 кстати, в этом то и преимущество табов - их отображение ты можешь настроить как 2 так и 4 пробельных места таким образом, в коде табы, а у разных людей на проекте отображается, как им удобно
>>1024815 > в зависимости от кодируемого диапазона меняется кол-во байт представления символа ЕМНИП, можно опкодом выбрать другую страницу и если символы неподалёку, т оможно по байту на символ для любого языка. >>1024804 >Так эт, если нет zero-cost-abstractions то кресты это хуита полнейшая без задач. Если совсем грубо - то да, но тебе не нужны зиро-кост абстракшнз на всё вообще. Про контейнеры я уже сказал. >>1024821 >Читай контекст вопроса: человек спрашивал как ему проще всего перейти, а не как ему заморочиться. Ты удивишься, но в самом Qt подводных камней порядочно, чего только COW стоит. Контейнеры из Кут очень похожи на контейнеры из stl. ОП вопроса страшился не эстээля, а количества премудростей в плюсах. >Я говорил "эффективного использования" "эффективное" != "математически оптимальное" >>1024884 Потому что виндовая CRT (с помощью которой реализована STL) с багом, на который МСу насрать.
>>1024941 >просто сесть и писать Смешная шутка. >В бусте только интрузив контейнеры из этого списка Как насчет boost::lockfree? Как я понимаю, тебя он не устраивает? Ну так пердолься с либами, раз не устраивает, это сугубо свои половые трудности. То что тебе нужно это еще не значит что оно должно быть в стандарте, понимаешь?
>>1024933 >Не ну сравнил так сравнил ни прибавить не убавить. Мои пруфы не пруфы? Понемаю, бывает.
>>1025116 а) купить б) украсть в) качнуть последний драфт, публично выложенный комиссией перед утверждением (бывают мелкие исправления перед утверждением) >Как вообще его читать-понимать а) в глубину, ЕВПОЧЯ: не понимаешь термин - ищешь определение б) с начала
>>1025121 > То что тебе нужно это еще не значит что оно должно быть в стандарте, понимаешь? Я щас кекнул: ну вот мне нахуй не нужна STL. По твоей логике её от туда можно просто выпилить и не тратить время - все сделают в бусте, а комитет пусть лучше прикладывает силы к языку.
А вообще, ахуенные какие-то у тебя доводы. Долбоёбский лист из STL, который копирует каждый элемент, хранит овердохуя лишней инфы и просто на кой-то хуй рефкаунтит содержимое, из-за чего при малейших лагах придется либо писать в C-style либо тащить буст - нужен, как и вектор со строкой которые будут алоцировать хуй знает сколько памяти когда нужно десяток символов в него закинуть, что можно было бы сделать на стеке - тоже зачем-то нужен, а вот нормальный набор контейнеров под разные задачи, который есть в любом нормальном языке (я сейчас не про расты с говнами) - нахуй не упали. Ну и любитель же ты говна.
>>1025143 >на кой-то хуй рефкаунтит содержимое, из-за чего при малейших лагах придется либо писать в C-style либо тащить буст - нужен Где карту получали туда и идите.
Посоны, поясните зачем нужны прекомпилированные заголовки? Я так понимаю: Из-за проблем с кросс-компиляцией и бинарной совместимостью, некоторые люди решили делать все в заголовках, чтобы принудительно компилировать нужно было всем, а не таскать вероятно не совместимые бинари. Далее, если h-only либ очень много и они большие (boost) компиляция проекта увеличивается в разы. Теперь мы заводим свой prcomp.c + precomp.h, которые служат только для того, чтобы получить объектный файл, который не нужно будет часто перекомпилировать, и который не нужно таскать по репозиториям. Как-то так?
>>1025143 >> То что тебе нужно это еще не значит что оно должно быть в стандарте, понимаешь? >Я щас кекнул: ну вот мне нахуй не нужна STL. По твоей логике её от туда можно просто выпилить и не тратить время Ёю твою мать...
>>1025166 Предкомпилированные заголовки (не)нужны потому, что один и тот же заголовок может быть включён в несколько исходников. Кэширование результата компиляции заголовочного файла (в который может быть включено всё, что используется во всей программе) сильно ускоряет компиляцию.
>>1024954 >рупстрауса же пишет с 4 отступами, а эти пидоты с 2, так это выскочкино говно или гениальное гугловское изобретение Экономия места в кодбазе.
>>1025168 >Кэширование результата компиляции заголовочного файла (в который может быть включено всё, что используется во всей программе) сильно ускоряет компиляцию. gcc и msvc умеют держать это на диске, или на каждый сеанс компиляции новый кэш делается?
>>1025167 Я просто инвертировал твое утверждение, бывшее отрицательным по отношению ко мне — с точки зрения дискретной математики все ок, надуй иди. >>1025173 Да нет, я вот недавно попробовал сам — и подсел. Ахуенно.
>>1025199 Тебе нужно японский текст из utf-8 в кодировку для названий виндовых файлов сделать? Гугли как это делается на чем тебе нужно. И проверь еще в какой кодировке твои исходники.
Майки тут божатся, что для ntfs используют unicode. Попробуй в каком-нибудь Notepad++ пересохранить исходник в utf-8. Может еще как-то студию можно допердолить.
>>1025174 Гугли сам. Если я правильно понял - без предкомпилированного заголовка им придётся компилировать его в каждой единице трансляции. >>1025177 >Я просто инвертировал твое утверждение 1) Не моё. 2) "Инвертируя" (лолкак) утверждение, ты не оспариваешь его. >>1025180 >CreateDirectoryA >L"хуй" Твоя стопа умерла в зародыше.
>>1025200 Не совсем, в принципе, я до конца не понимаю что нужно делать. Идея в том, чтобы сделать двухсторонний преобразователь из юникода в аски, чтобы работало с любыми символами.
К примеру, банально создать папку через CreateDirectoryA, или это функцией невозможно создать "Jхуй花咲くいろは2" ?
>>1025202 1) Unicode - это не utf8 (что такое unicode() - даже не знаю). 2) В каком месте описания CreateDirectoryA написано, что ты можешь передать UTF-8 и получить читаемый текст?
>>1025213 >То есть Utf-8 не применим в WinAPI ? Бинго, блядь. >Как с этим справиться? Никак. http://en.cppreference.com/w/cpp/io/basic_fstream/open Открывай файлы через WinAPI. Олсо, обрати внимание на эту строчку: void open( const std::filesystem::path &filename, ios_base::openmode mode = ios_base::in|ios_base::out ); (4) (since C++17) И клацкни ссылку на std::filesystem::path. Там поймёшь сам. C++17 включается в gcc экспериментально через -std=c++1z
>>1025213 >Ладно, основная причина - gcc не открывает файлы по std::wstring. >Как с этим справиться? Есть такая либа, называется nowide. Есть как в виде boost::nowide, так и в самостоятельном виде. Intent — избавиться от необходимости использовать некоторые w- функции и сделать это переносимо. Сам не пробовал, т.к. я, слава б-гу, не спермоблядь. Но, как я слышал, пользователям данной ОС она нравится.
>>1025397 CLion. А отсутствие профайлера он окупает быстрым стартом и настраевыми хоткеями (можно шлятся по коду ебаной средней кнопкой мышки! гипгип ура) и наличием человеческого мультикурсора (в студии, как и остальных пирдольках от спермы, даже с этим в 2017 проблема).
>>1025422 Хуй через койчо, дебич. >>1025443 >тормозит, в отличие от VS, Телл ми мор фаггит. Последняя нативная студия - 14. >>1025449>>1025448 Это просто, блядь, неважно: Клион или Студия.
>>1025453 >Последняя нативная студия - 14. Если про полностью нативную говорить - 10, вообще-то. После начались лаги (они поэтампно портировали на дотнет).
>>1025460 Кому что нравится. Вообще, вне винды конкурентов клиону и нет. Нихуя не умеющие культи, кодлайты, вено забагованные в говнище кдевелопы и икскоды...
>>1025482 define нихуя (нахуй тебе Кутэ? Тебе креактор предлагают, а не Кутэ) Шрифт меня устраивает. Надеюсь, ты про ИДЕ говоришь, а не про Кутэ, который ьебе не предлагали.
>>1025545 Да, ебло тупое, я именно что про культьКреэйтор говорю (ибо по иронии судьбы, что называется, в самом куте системное сглаживание шрифтов нормально работает). Если тебя устраивает шрифт - ты либо сидишь на мониторе 720x480, либо просто долбишься в глаза и ничего лучше не видел.
>>1025568 >я именно что про культьКреэйтор говорю `нихуя’ undeclared (first use in this function) > Если тебя устраивает шрифт - ты либо сидишь на мониторе 720x480, либо просто долбишься в глаза и ничего лучше не видел. Вариант "мне насрать на шрифт" ты не рассматриваешь? >>1025616 Это каким боком к плюсам относится? Иди в ньюфаг-тред или новый создай (про винду). >>1025767 while(cin>>word, word!="\n") например. Контролз тебе не поможет - оператор>> возвращает не буль и не значение ошибки. http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt
>>1025830 >Вариант "мне насрать на шрифт" ты не рассматриваешь? Когда ты днями работаешь с текстом — на него похуй быть ну никак не может, если он не пиздоглаз.
>>1025835 >он >долбоеб которому похуй на эти шрифты >>1025830 >`нихуя’ undeclared (first use in this function) >>1025482 >>Нихуя не умеющие культи У тебя парсер говно.
>>1025833 Но тогда одна строка будет обработана дважды, разве нет? Что окажется в строке, если из потока ничего не считано? >>1025837 >У тебя парсер говно. `нихуя’ undeclared (third use in this ITT thread) >>1025859 С твоим вопросом ("там ни один пример не компилируется") тебе вообще в MSDN, а не треды создавать. Учить одновременно WinAPI и даже C (хер с ними, с плюсами) тебе будет сложно. WinAPI - это не библиотека для плюсов, это API ДЛЯ СИ.
>>1025866 >Нигде их не обсуждают. MSDN - это ДОКУМЕНТАЦИЯ, блет. >>1025875 >C/C++ я уже выучил и писать консольные приложения мне не интересно. В SDK есть огромная масса примеров для всего. Нахрен тебе примеры из книжки про Вин95?
>>1025875 >современное приложение на С++ - это графическое приложение Ну так учи Qt, нахуй тебе сишное винапи чтобы рисовать окошки? Скажу больше, эпоха десктопных приложений прошла, сейчас все переносится в веб.
>>1025865 >Но тогда одна строка будет обработана дважды, разве нет? Что окажется в строке, если из потока ничего не считано? Я тут почитал и попробую подробно изложить. Но сначала стоит заметить operator>> для string не читает пробельные символы. К которым, в частности, относится \n. Так что твой код точно работать не будет, если только ты не подставишь локаль, в которой \n не считается за пробельный символ.
Что касается failbit: «The failbit The failbit is set by the following standard library functions: The basic_istream::sentry constructor, executed at the beginning of every input function, if either eofbit or badbit is already set on the stream, or if the end of stream is encountered while consuming leading whitespace.» http://en.cppreference.com/w/cpp/io/ios_base/iostate#The_failbit Так что если ты в новой строке нажимаешь Ctrl-Z и, насколько я помню, в Windows ещё надо нажать Enter, в отличие от *nix, где просто Ctrl-D достаточно, то при попытке прочитать из cin в string eofbit и failbit выставятся сразу, т.к. eof будет достигнут при попытке пропустить пробелы.
Что насчёт значения строки после облома: я так понял, она останется неизменной, т.к. «2) Behaves as a FormattedInputFunction. After constructing and checking the sentry object, which may skip leading whitespace, first clears str with str.erase(), then reads characters from is and appends them to str as if by str.append(1, c), until one of the following conditions becomes true:» http://en.cppreference.com/w/cpp/string/basic_string/operator_ltltgtgt Я так понимаю, если checking the sentry object говорит, что всё плохо, то str.erase() не вызывается.
>>1025981 Вот вы хейтите графические приложения, а ведь сами ими пользуетесь. Тот же браузер или компьютерная игра - это графическое приложение. В одной консоли много не напрограммируешь.
>>1026062 >А кто эту жаваскриптину запустит? Движок V8 в хромиуме. >Кто будет отрисовывать для неё графику Видеокарта, очевидно >Правильно, графическое приложение, в данном случае браузер. А вот нихуя не правильно. JS Electron, там из браузера только движок, а ты, пидор грязный, иди нахуй со своими окнами, сейчас все нормальные пацаны пишут на таких языках как пеашпи и питоно, а вечером ебут твою ЕОТ, пока ты дрочишь плюсы, живя с мамкой и поедая ее борщи
Есть один демон std::thread, который работает фоном, получает из очереди background_task и выполняет их. Как возвращать из демона результат выполнения тасков, если они могут быть разных типов?
>>1026161 Вариант - это тимплейт, которому через аргументы нужно передать все возможные типы. Тип возвращаемого значения - инстанс этого тимплейта. Или попердолиться с воид и typeid, и тогда будет void.
>>1026164 Я имел в виду, что проблема не в типах. Вот я обработал в треде какой-то таск. Как вернуть и треда результат обработки? Дополнительно передавать в тред лямбду, которая захватывает по ссылке локальную переменную, и при помощи лямбды присваивать этой локальной переменной значение?
>>1026166 Строго говоря, было бы очень неплохо иметь отдельный класс, который уничтожает тред, чтобы ты себе никогда в ногу не выстрелил, выйдя из вызывающего треда/функции и убив переменную для возврата. Это можно решить либо новым классом (деструктор которого будет всем этим заниматься), либо шаред_птром.
>>1026166 Олсо, глянь в бусте, с бустом не знаком.
Как реализовать парсер xml файла и обновление базы MySQL на языке c++?Аноним17/07/17 Пнд 00:51:14#572№1026305
Доброго времени суток, господа!
Дано: - Есть интернет-магазин на CMS под названием CS-Cart. - Располагается на сервере под управлением Debian. - Скрипт, написанный на php, делает запрос по сети к файлу xml, который формируется по такому запросу. Файл xml обрабатывается и результаты обработки помещаются в создаваемый файл csv. - Файл csv обрабатывается и передается в базу через специальные функции CS-Cart. Так происходит обновление базы товаров.
Внимание, четыре вопроса:
1. Можно ли сделать парсер на c++ и, минуя функции CS-Cart, взаимодействовать напрямую с базой MySQL? 2. Если можно (а это, наверняка, можно, потому что c++ велик и могуч), то нужно ли? 3. Если не нужно, то какие аргументы в пользу ненужности? (сложность c++ по сравнению с php в качестве аргумента не принимаются). 4. В какую сторону копать и есть ли какие-то решения?
>>1026305 >Как реализовать парсер xml файла и обновление базы MySQL на языке c++? 1) Берёшь любую xml-либу из пакетного менеджжера (можешь нагуглить сравнение производительности разных либ и подключить backports для получений новых версий на старый дебиан) и парсишь. 2) CSV - это формат таблицы с разделителями? Смотришь свой CSV-файл и выводишь так же (fstream).
Парсер вызываешь из PHP (так проще, чем с сетью на плюсах работать).
>то нужно ли? Охуительный вопрос. Нужно для чего? Работает - не трожь.
>1. Можно ли сделать парсер на c++ и, минуя функции CS-Cart, взаимодействовать напрямую с базой MySQL? Это плюсотред, а не кскарт-тред.
Не надо выебываться, дядя. Я в курсе, что это плюсотред. Вопрос не в том, чтобы работать с CS-CART или заставить тебя с ней работать. Вопрос в том, будет ли прирост производительности при работе с БД напрямую, минуя специальные функции движка CMS (неважно какого движка: WP, 1C, CSCAR, TYPO или "твоя мамка CMS")?
>>1026502 >Вопрос в том, будет ли прирост производительности при работе с БД напрямую, минуя специальные функции движка CMS (неважно какого движка: WP, 1C, CSCAR, TYPO или "твоя мамка CMS")? Если ты хочешь пропустить формирование XML-файла (грамматическая структура) и херачить из SQL в CSV - конечно будет, безусловно (особенно в том случае, в котором XML тоже формируется интерпретируемой программой). Интерпретируемый язык - говно в плане производительности. Но каков порядок прироста в твоём случае - не чаю.
Всё решается балансом процессорной мощности и скоростью доступа к БД. Если у тебя нехватка производительности, и ЦП перенагружен, то нативный код ещё как поможет.
Программачеры, нужен совет. Есть два стула. На первом стуле вакансия с 1С и зарплатой 40к, что для моего мухосранска и очень много, особенно учитывая, что опыта у меня нихуя. Стул второй - возможное (это не точно) место с С++. Что лучше выбрать?
>>1027841 К 1С отношусь нейтрально и совершенно его не знаю. Плюсы нравятся я люблю сложности и мне нравится низкоуровневость плюсов, нравится реверсить программы (правда тут я нихуя не умею). Я вот хуй знает, как быть
>>1027843 Ничто не мешает тебе заниматься плюсами в свободное время. Чем больше ты будешь писать на плюсах сам, без оглядки на требования работодателя, тем больше ты будешь уметь делать сам. Выбирай бабки (про бабки ты не сказал - звучит так, как будто вакансия на плюсах чем-то хуже) и гарантию трудойстройства.
>>1027823 С 1С ты всегда будешь куском говна на побегушках у жирных теток, с С++ твои возможности почти не ограничены. Гугл\Майкрософт\Амазон\Фейсбук - везде нужны крестобоги.
>>1025209 > The names ‘‘future’’ and ‘‘promise’’ are historical; please don’t blame or credit me. They are yet another fertile source of puns. Bjarne Stroustrup
>>1028694 Аааа, ну да. Я забыл. Деньги не главное. Главное - стартап и мечты. Потом расскажешь об этом своей тянке, которая будет сосать болт у лузера из 1С. Ты же великий программист.
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
Прошлый
Теги: плюсы, cpp