А ты теперь тяжелый и унылый,Отрекшийся от славы и мечты,Но для меня непоправимо милый,И чем тяжелее твой стандарт,Тем милее мне ты.Ты фичи новые, поглощаешь, как вино,Что наяву, не знаешь, что во сне,Но зелены крестовые твои очи,Покоя, видно, не нашел в них ты.И сердце только скорой смерти просит,Кляня медлительность обновления стандарта.Всё чаще ветер хипстерский приноситТе упрёки в легаси, да о смерти те мольбы.Но разве я к тебе вернуться смею?Под нежным небом виртуалкиЯ только только аллоцировать умею,И без сборщика мне уже никак.Так дни идут, печали умножая.Как за тебя мне Господа молить?Ты угадал: моя любовь такая,Что даже ты не смог ее убить. Вместо шапки - https://github.com/sosachbot/cppthreadhat/wikiОтветы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/Прошлый >>1001370 (OP)Теги: кресты, cpp
Часто вижу, как на форумах задают банальные вопросы типа как сделать в С++ хуйнюнейм? Хотя это все расписано в учебниках для ньюфагов в первых главах. Так вот, в такой теме обязательно появится умник, который напишет заумный код в одну строчку типаsubroutine delete_foo_c(foo) bind(C, name="delete_foo")илиauto compose(T a, E b) -> decltype(a+b) Почему я уже три года учу С++, а все это дерьмо выглядит для меня как магия? Как мне учить язык правильно, чтобы понимать все это?
>>1006124Первая строка явно не из чистых крестов.Во второй строке тип возвращаемой переменной функции определяется как тип объекта "a+b"
Ньюфаг закатыватся к вам с вопросом.Прочитал в книге, что можно обратиться к global scope через оператор области видимости. Решил это опробовать на своем примере, с тем условием, что я создал еще одну область видимости в main(). Собственно вот код https://pastebin.com/WqP4CbTs и я хочу вывести переменную f, которую определил в начале.
>>1006138::f попробуй
>>1006139
>>1006140Понятно. В гугле сказали, что к этой переменной нельзя получить доступ.https://stackoverflow.com/questions/5187891/accessing-variables-with-the-same-name-at-different-scopes
>>1006124разбирайся с темплейтами если хочешь понимать "магию"на самом деле, темплейты в крестах позволяют обойтись без сишной магии сделаной на макросах и void* что такая же непонятная профану вещь
>>1006124>auto compose(T a, E b) -> decltype(a+b) Питушня из 11-го стандарта.
Есть один динамический двумерный массив, нужно добавить ему новую строчку в конце и рандомно ее забить какими-нибудь значениями. Все это в отдельной функции.Массив в main запилил, в функцию передал, там создал новый массив и вернул его в main, но по-моему это как-то не так делается. Помогите нормальный код написать, плиз.
>>1006173Наверное, "realloc()" здесь поможет.
>>1006181Забыл добавить, что нужно это сделать без готовых функций, самому.
>>1006173Ого. А давно лабодаунам разрешили сюда входить?
>>1006185А куда идти лабодаунам ньюфаням, которые не могут простые упражнения из книжки осилить? inb4 работать в макдак
Есть файл a.cpp, в котором описана функция abc(int i). Есть файл b.cpp, в котором описана та же самая функция. Почему линкер ругается, что у меня multiple definition, хотя эти функции находятся не в хэдэрах и в разных трансляционных юнитах?
>>1006192В огороде бузина, а в Москве москали...При чём тут хедеры? Линкер о них вообще не знает.
>>1006193хэдэры копипастятся в юниты. если бы эти функции были в хэдэрах, то ошибка multiple definition была бы оправдана, так как описанная сущность описывалась бы еще по нескольку раз в других юнитах. в моем случае есть две разные сущности в двух разных, непересекающихся юнитах, просто с одинаковыми сигнатурами. если я вызываю abc(2) из a.cpp, я никаким образом не могу иметь в виду abc(int i) из b.cpp.такова моя логика, по крайней мере.
>>1006193А в Киеве дядька бандеровец.
>>1006206Бандеровцы во Львове. В Киеве Илюша.
>>1006208Бузина кстати лекарственное растение, полезное, вот дядька-то здоровый и разъезжает по всему миру, в Киев заглянул. Все логично же. Не было бы бузины - дядька бы заболел и лежал дома или в местной больнице.
>>1006089В коде скорее всего будет такое использование:*field[x][y]=9;//напримерsetThisFieldIfWhatever(field[x][y]);В коде (теперь посмотрел в код):if(field[x][y]->HasBomb())>>1006142Что ты пишешь-то блядь? Нельзя получтиь доступ к несуществующей переменной? http://ideone.com/0XmGZz>>1006187Работать в макдак.А если учишься, то дёргать препода.>>1006203Читай о раздельной компиляции.>если я вызываю abc(2) из a.cppИ тут ты, такой, показываешь код, в котором ты вызываешь функцию из cpp-файла.
>>1006138Ты переопределил f в локальной области видимости, из предыдущей ты ее не достанешь. Другое дело, что если бы переменная была в анонимном пространстве имен или указана в ГЛОБАЛЬНОЙ области видимости, тогда доступ к ней можно было бы получить через ::f
Почему языки C/C++ не считаются функциональными языками программирования?
>>1006303Потому что допускается ручное управление памятью.
Знаю, что обоссыте, но да ладно. Аноны, кто учился по книге Страуструпа "Принципы и практика...", как вы решили следующее упражнение из 14 главы: Определить класс Striped_closed_polyline.
>>1006236>И тут ты, такой, показываешь код, в котором ты вызываешь функцию из cpp-файла.что блядь? ты ебанутый?//a.cppvoid abc(int i){//}void ClassA::callabc(){abc(2);}
>>1006318Манька считает, что если функция заявлена в заголовке, но определена в другом файле, то она принадлежит этому файлу?Читай про раздельную компиляцию. Это я любя.
>>1006318>Манька считает, что если функция заявлена в заголовке, но определена в другом файле, то она принадлежит этому файлу?ты реально шизик какой-то
>>1006203>хэдэры копипастятся в юниты. если бы эти функции были в хэдэрах, то ошибка multiple definition была бы оправдана, так как описанная сущность описывалась бы еще по нескольку раз в других юнитах. Ещё раз: линкеру глубоко фиолетово, скопипастились ли функции из хедера или ты их сам скопипастил.
>>1006330уже понял, спасибо
>>1006325Если ты считаешь, что функция объявленная в CPP-файле принадлежит этому файлу, то как по-твоему к этой функции получает доступ другой код, который этот ЦПП-файл не инклудит? Ебанат.
Школьникам надо вбивать в головы, что C родился как надстройка над макроассемблером, а C++ — как надстройка над С. И что в первую очередь всё идёт по старинке через листинги, встраивания одного в другой и прочих подобных текстовых штук.
>>1006325Анонимные пространства имен ввели именно для того, чтобы в каждом юните трансляции, использующем его, было свое уникальное определение того же члена, например. Когда ты объявляешь и определяешь функцию в исходном файле, тебе будет только казаться, что объявление функции существует только в глобальной области видимости текущего сорца, на самом деле, функция будет иметь статическую линковку и, объявив еще одну такую же функцию с такой же семантикой ты словишь ошибку компиляции, поскольку будет существовать два одинаковых объявления, но разных в своей сущности. А почему, а потому что линковка СТАТИЧЕСКАЯ!Если бы ты использовал анонимное пространство имен и в нем объявлял функции, скажем, в каждом юните трансляции у них, не смотря на одинаковую семантику, были бы разные имена.Думаю, тебе стоит почитать вот это http://en.cppreference.com/w/cpp/language/storage_duration (стандарт читать не советую, во всяком случае, в начале, потому что объебешься и не раз!)
>>1006490Не статическое, а внешнюю линковку, конечно же. Совсем заебался.
Хули у крестотреда нет канала в телеграмме?
>>1006555Нахуя ему тогда тред нужен будет?Олсо, мутили уже канал, в слаке правда. Загнулся, насколько я помню.
>>1006490спасибо, пофиксил.
Ананасы, есть проект на Qt, к которому я хочу прилепить MVC. Есть модель и контроллеры, которые по сути является просто набором статических методов для работы с моделью. Теперь куда лепить слоты? Вот в view надо при нажатии кнопки вызывать метод контроллера, мне привязывать его напрямую к функции этой или создать отдельный класс ViewController и объявлять в нем нужные для View слоты? Или к уже существующим контроллерам прилепить эти слоты?
Подскажите, насколько сложно сделать типа калькулятор для нелинейных и трансцендентных уравнений. Нужно, чтобы вылезало диалоговое окно, куда ты вносишь нужные данные и прога тебе самостоятельно все подсчитывает и выдает ответ
>>1006733> куда ты вносишь нужные данныеВ каком виде? Уравнение текстом? Параметрическое, система уравнений? Достаточно сложно, если не шаришь в деревьях и численных методах. К тому же уравнения такие бывают, что конкретный численный метод вообще неприменим в каком-то случае и потому он будет выдавать полную чушь. Чтоб учесть все разновидности это можно сотни часов разрабатывать.А если у тебя что-то вида tg(x)=x^2, то если функцию в код вбивать или изолентой примотать какое-нибудь lua чтоб через диалоговое окно, то работы минут на 40. Ну и да, с таким подходом всегда можно будет специально подобрать такое уравнение, что программа пропустит какое-то решение (или будет жутко долго работать).
Кресты язык богов, лучший язык на свете, ничего лучше я в жизни не видел. В этом языке есть все что тебе нужно. Это шедевр. Плюсыыыыыыыыыыыыыы!!!!!!
>>1006733Конечный автомат гугли.
sup.Я очередной вкатывающийся в плюсы и пришёл за советом по книге. И тут меня отправляет читать шапку я её прочёлСобственно запрос на этот раз, наверное, специфичный. Плюсы для меня станут 3-им языком. Ничего серьёзного не планирую хотя как знать, на этот раз хочу изучить просто для себя.Собственно суть запроса - ищу книгу, да покороче. Так, шоб поменьше воды и распинаний о полиморфизме.Например, в Питоне есть книга "Укус питона", всего на 150 страниц, которая плавно и мягко вводит в синтаксис и конструкции языка. Ищу нечто похожее.
>>1006835Ты на 20 лет опоздал.В тех областях, где пишут на C++, как раз наоборот запутывают всё, что только можно, чтобы вытянуть из вояк и мусаров хоть сколько-то денег, «пока не сократили».И не только в этой стране.
>>1006733>>1006773збс в вузе мухосранска на 1 курсе курсовая
где учить эту всю хуйню?
>>1007257На нарах.
Что круче, раст или кресты?В крестах стоит шишка на мощные шаблоны (на них можно написать даже твою мамку), обилие библиотек. Напрягает больше всего отсутствие единой системы сборки и стандартного менеджера пакетов. Захочешь подключить либу к проекту - начинается ебля, а если еще и надо собрать под несколько платформ, то вообще вешайся.В расте всё тоже 10 из 10, cargo рулит, менеджер пакетов, единая система сборки, юнит тесты из коробки. Сам язык тоже неплохой, то, что на расте можно выразить match'ем из 5 строчек в С++ превращается в switch из 20-30.Что в итоге выбрать? Оба языка офигенные, но надо выбрать один.
>>1007297> но надо выбрать одинТогда haskell. С остальными одним языком не обойдёшься.
>>1006192Оберни в неймспейсы или классы и будет тебе счастье
>>1006203С т.з. языка по сути нет разницы, в каком файле что. Получается, что всё как бы собирается в один мегалистинг. Разделение нужно для удобства и для компиля (ему чтобы дважды не компилить одно и то же)
>>1006835Честно говоря, иногда складывается мнение, что плюса выучить практически не реально. Говорят, что за 5 лет упорного фигачинья на них доростаешь до джуна. Я начинал разбирать его по Ишковой, потом Павловская как справочник. М.б. не лучший вариант, но в местных книжных ничего лучше не было. В принципе, Ишковой для уровня "пописать лабы в универе" вполне хватает.
>>1007297C++ перестаёт быть языком общего назначения, понемногу теряет ниши. Поэтому никто не горит желанием заменить этот язык на что-то современное. Можно сказать, что кресты ещё будут долго жить как легаси-говно (формошлёпство на VCL aka C++ Builder, MFC, Qt) или как основной язык для высокопроизводительных приложений и прочей подобной мишуры.А насколько солнечное будущее у раста, я не могу сказать.
>>1006097 (OP)>Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki>Параллельное программирование на C++ в действии>C++. Стандартная библиотекаСсылочки то сгнили на дропбоксе. А жаль.
Есть ли хоть какой-то теоретический смысл когда-нибудь перекатиться на плюсы, если ты аспнет-сениор?
>>1007426Там в самом верху написано где их искать.А вообще, что за ебланы заливают для публичного доступа файлы на дропбокс?
>>1007431под "теоретическим смыслом" следует понимать даст ли тебе изучение с++ какие то новые знания о языках программирования и о cs в общем?нет конечнолучше уж rsharp поиграйся, он из ml-семейства
>>1007323о да, что только не выбирают, лишь бы не читать книги самого страуструпа
>>1007297после 10ти лет изучения крестов ты хоть сможешь устроится тыщ на 20 в провинции ну или на 60 в дсс растом этого же никогда не произойдет, ты здохнешь от голодавыбирай
Надо ли определять конструкторы в абстрактном классе?
>>1007605Как хочешь. Обычно присущее всем наследникам описывается в конструкторе абстрактного.
>>1007605"Абстрактный класс" - это, по-стандарту, класс, который может быть использован, как базовый. То есть, в нём не определён хотя бы один метод, например. Вопрос не имеет смысла.Конструктор будет дефолтный, если кто-то захочет использовать твой класс, как базу. Устраивает тебя это или нет - решать тебе.
Какого хуя до 11 стандарта была одна ссылка, а после - стало пять видов?Вы че там, поехали?
>>1007610Ну а если ты объявишь конструктор, но не определишь его, то этим придётся заниматься тому, кто твой код будет использовать.
>>1007605class A { virtual void foo() = 0; };Скомпилится. Как видишь - не обязательно.
>>1007618Разная роль у них у всех.
>>1007618Та это в коллегии наркоманы сидят, идей не было, а у буста выкатили всякие умные/общие указатели. Ну они и сказали "малаца хорошо сделали" и появился у сиплусплус свой GC
>>1007619Как блять можно объявить и не реализовать не виртуальный метод?Тот, кто его будет использовать, это как? Тот, кто возъмет этот былокод анона и допишет его до компилируемого состояния? Это тут имеется ввиду?
>>1007623Это самое ебаннутое и не нужное добавление (вернее - нужное, но блять не таким ебанутым способом).
>>1007614Чо за хуйню ты пишешь?struct A {};Это чо, абстрактный класс? Запросто могу сделать его базовым, хоть для ABC класса.Абстрактный класс - класс с хотя бы одним pure virtual методом.Достаточное определение. Базовый он там, или нет - дело третье.
Раньше наш код был в стиле ООП, скучный и однообразный.Сидели мы и пилили кучу полиморфных классов.Но с лямдами! Шаблонный полиморфизм! Мы угарели по Александреску! Начали биндить, лямбды заворачивать в лямбды.Казалось, еще чуть-чуть, и наш фреймворк станет походить на интерпретатор питона.
>>1007502В ДС вакансии сеньеров от 150К начинаются.
Ну вы чо там?Эй, пшш..Крестовики. У меня есть вопросы к вам.Скажите мне, что такое лямбда с точки зрения компилятора? (что это автоматически генерируемый функтор - рассказывать не надо)А вот, как она создается, на стеке или нет, статическая?Что будет с переменными области захвата если я уничтожу контекст ее объявления (созания)?
Или мож обсудим идеальную передачу на первом канале
>>1007625>Как блять можно объявить и не реализовать не виртуальный метод?Почему виртуальный? Любой.http://ideone.com/DUCdRAhttp://ideone.com/eg26Q0Виртуальный/невиртуальный - без разницы.>>1007631Иди нахуй. Мой пост содержит ошибку, которую ты мог исправить, вместо этого ты хуйню написал.>>1007638Про generic lambda спроси тоже.
>>1007643А накой хуй нужен этот неиспользуемый текст в твоих сорцах?
>>1007643Generic lambda - это отличный показательный пример переизобретенных костылей в плюсах.
>>1007645PSЯ про декларацию метода хуйпизда который, мало того, нигде не используется, так его нигде использовать далее и не удастся. Накой хуй какому-то разработчику далее использовать этот класс, по сути расписывая его реализацию? НАХУЯ?
>>1007638Возьми да зареверси. Нам потом расскажешь.
>>1007645Нахуй вообще нужны сорцы, если я могу послат тебя читать стандарт?>>1007647Это было бы так, если бы можно было бы иметь шаблоны в локальных классах. Но так, как нельзя, то генерик лямбды вместо них.
>>1007650Ну я молодой и не опытный джун.Пологаюсь на мудрость сеньер-сеньерыча анона в этом треде.
>>1007649Сам реши.
>>1007652Изврат какой-то.Использование не POD-ов в качестве вложенных типов - моветон и фу-фу так делать.
>>1007653Ты задаёшь очень специфичные вопросы, которые крестовикам нахуй не уперлись с точки зрения гипотетического обсуждения. Когда реально понадобится узнать, во что компилируется лямба - я расчехлю ollydbg чтоб найти VA кода, в котором вызывается лямбда, а в IDA посмотрю ассемблерный листинг. Но смотреть это специально мне, естественно лень и не представляет ценности на данный момент.
>>1007656Да нихуя ты там не поймешь.
>>1007659Кокой хитрый ход.
>>1007660А тоже. Переход по вектору прерывания.Ваш ход, коллега хотя я не знаю там, кто ты, может ты и не коллега, но будем считать что коллега
Ну де, аноныМне скучно.Давайте похаливарим от души.
Давайте обсудим, почему использование auto и declspec в некоторых проектах считается зашкварным.
>>1007672>declspecdecltype, быстрофикс. Я сишник.
>>1007672Никогда не слышал про такие тупые запреты.Если decltype может приводить к трудночитаемой лапше и иногда лучше запретить своим макакам тыкать в это палочкой, то про auto — совсем дикость.
Аноны, как сейчас взаимодействуют друг с другом си и с++?
>>1007675C++ может сувать в С, но не наоборот. Как человеки и человечицы карочи.
>>1007672В каких?
>>1007496Нет, я больше про карьеру. В смысле, если я параллельно буду задрачивать плюсы, то смогу ли уйти на более элитную (и сложную, вероятно) работку с перекатом на плюсы, или оно того не стоит? На уровне необходимых знаний для каждого спеца я их и так знаю.
>>1007679Ну ты определённо получишь какие-то знания, которые могут пригодиться в других сферах.
>>1007655Дак хрен бы с ними со вложенными типами. Я, например, хочу тимлит-функцию в функции определить. Что мне делать? Я бы сделал тимплит-функтор, а вот хуй.>>1007663Хочу безопасное с какой-либо точки зрения подмножество C++, твои предложения?>>1007672Потому что легаси-компиляторы поддерживать надо, МБ.>>1007675В стандарте С++ есть ссылка на библиотеку C, например. В C++ нельзя делать безразмерный массив в конце структуры, например. Есть другие мелкие различия, но в коде С зачастую просто не нужен последний стандарт, поэтому несоответствия непринципиальны.
>>1007638>что такое лямбда с точки зрения компилятора?
>>1007638Для лямбд и замыканий нужен сборщик мусора, иначе всегда будет хуита.
>>1007638>> Скажите мне, что такое лямбда с точки зрения компилятораГрубо говоря, стандарт определяет лямбда-функцию как класс с определенным operator(), как std::function, например. Только вот std::function компонуется во время выполнения со всеми вытекающими (динамическое выделение памяти для захватываемых объектов, если встроенной памяти не хватает и т.д.), в то время как лямбда уже генерируется компилятором в соответствии со списком захвата и прочим, прочим (не стоит забывать, что в c++14 лямбда может иметь в качестве аргументов автоматически выводимые типы)>> А вот, как она создается, на стеке или нет, статическая?У нее статическое время жизни, скорее всего, точно тут не скажу. Ты можешь попробовать передать лямбду с некопируемым членом в списке захвата:>> std::unique_ptr<A> aPtr;>> auto lambda = [ptr = std::move(aPtr)] () { ... };Попробуй ее завернуть в std::function и увидишь, как компилятор тебя напинает, потому что будет вызван копирующий конструктор, можно попробовать с std::move замутить передачу, но мне лень.>> Что будет с переменными области захвата если я уничтожу контекст ее объявления (созания)?Смотря как ты их передал, если по значению, нихуя не будет, если по ссылке - объебешься, потому что захватить она именно ссылки.
Посоны шарящие в OpenMP, поясните, вот такойhttps://ideone.com/TXCq4E код должен выполняться или должен в дедлоке быть?Чёт читаю доки OMP и не могу понять. И ко всему этому во всех свежих компиляторах этот код нормально выводит строку. А в продакшене на GCC 4.9.2 при входе во вторую critical section зависает. Будто обе CS для него одно и то же.
Может ли компилятор в целях оптимизации выпиливать неиспользуемые функции?
>>1007806Т.е. не оптимизации, а уменьшения объёма скомпилированного файла
>>1007806Да.
>>1007794Не шарю в OpenMP, предлагаю открыть баглист GCC и искать сооотв. баги на 4.9.2
>>1007812Походу нашёл уже.> Все неименованные критические секции условно ассоциируются с одним и тем же именем. Все критические секции, имеющие одно и тоже имя, рассматриваются единой секцией, даже если находятся в разных параллельных областях. Побочные входы и выходы из критической секции запрещены.http://edu.chpc.ru/parallel/mainse5.html
>>1007806Нет. Если они не статические.
>>1007806> Может ли компилятор в целях оптимизации выпиливать неиспользуемые функции?Да. Изи доказывается экспериментально
Как правильно использовать вывод встроенного типа в поток ostringstream? https://ideone.com/ID6qLEИнтересует использование конструктора ostringstream ret(t) против использования оператора вывода с предварительным объявлением переменной и тратой лишней строки ostringstream ret; ret << t;Какие подводные камни?
>>1006316Погоди полгодика, дойду до нее - вместе решим.
http://my-it-experiments.blogspot.ru/2015/05/raii-c.htmlДля чего функция inline auto scoped объявлена inline? Насколько часто надо объявлять функции встраиваемыми и когда это надо делать?
>>1007829>Интересует использование конструктора ostringstream ret(t)Где ты увидел конструктор для произвольного типа T?http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream
>>1007839Перестраховка, наверное. Темплейты функций inline по-умолчанию.P.S. inline не имеет никакого отношения к встраиваемости; inline относится к one definition rule. inline для оптимизации — это было 40 лет назад.
Не хочу плодить треды, а вы тут наверняка работаете с GDB.Где можно почитать, как GDB коннектится с сервером? Стоит задача написать сервер, который мог бы что-то отправлять GDB и получать ответ.
>>1007857>inline относится к one definition ruleОбъясни подробнее. При чем тут inline?
>>1007927Раньше подразумевалось "inline-тело", теперь "inline-определение". В С++14 inline был зарезервирован, в С++14 писать inline нельзя.
И так. Получение системной даты и времени. StackOverflow говорит, что localtime(). VS2017 говорит, что так не надо, а надо localtime_s(). gcc7.10 говорит, что так тоже не надо, но альтернатив не предлагает.А теперь вопрос: как платформо-независимо получить дату, используя лишь стандартную библиотеку?
>>1007995http://www.cplusplus.com/reference/ctime/time/
>>1007999Спасибо за попытку, анончик, но серьезно, что б у тебя часы дома секунды с начала 1970 года отсчитывали. И более того "Portable programs should not use the value returned by this function directly, but always rely on calls to other elements of the standard library to translate them to portable types (such as localtime, gmtime or difftime)." Иными словами time() как раз и приводит нас к localtime()
>>1008012http://www.cplusplus.com/reference/ctime/localtime/http://en.cppreference.com/w/c/chrono/localtimeНу оба способа должны работать. localtime_s - это функция из C11, нужно подключать time.h вместо ctime (как я понял, сам-то не проверял нифига). В современном стандарте C++ localtime_s не существует.
>>1006773По поводу ввода функции, можно понаделать лямбд, им сопоставить текстовое название функции и потом из них собирать уравнение. Сам так сделал. Батя грит малаца
>>1007946> В С++14 inline был зарезервирован, в С++14 писать inline нельзя.Ты что несёшь, поехавший?
>>1007927>>inline относится к one definition rule>Объясни подробнее. При чем тут inline?При том, что ODR не распространяется на inline функции и (начиная с C++17) переменные.
>>1007995>VS2017 говорит, что так не надо, а надо localtime_s().Посылай его в пизду.
>>1008019time.h и так подключен. Там все проблемы с устареванием.VS2017 жалуется, что "This function or variable may be unsafe" на localtime и предлагает использовать localtime_s.GCC7.1.0 жалуется, что "there are no arguments to ‘localtime_s’ that depend on a template parameter, so a declaration of ‘localtime_s’ must be available" и говорит, что за -fpermissive готов мне это простить.Я уж думаю сдаться, да попробовать Boost.date_time, все равно он у меня к проекту подключен. Но все же хочется-то стандартными методами!
>>1008039https://msdn.microsoft.com/en-us/library/8ef0s5kh.aspx#Anchor_0
>>1007702Что тебе построило такой анализ?
>>1008049
>>1008052А dump_tree.cpp что такое?Не использует кланг.
>>1008098>А dump_tree.cpp что такое?Это файл с кодом. Его содержимое в самом начале скриншота выведено.
Как заставить функцию встраиваться с FORCEINLINE без использования оптимизации в вижаке, с оптимизацией все встраивается, но мне нужно без оптимизации.
>>1008158>FORCEINLINEОчевидно, это дефайн, который зависит от текущего уровня оптимизаций. Сделай чтоб не зависел.
>>1008158__forceinline
>>1008162Тоже самое
помогите, мать снова отправляет меня к бабушке в деревню, поэтому в ближайшие 2.5 месяца у меня не будет пеки и я не смогу вкатываться в кресты. есть ли какие нибудь способы писать код на андроид смартфоне и запускаиь его?
>>1008294Интернет будет?https://wandbox.org/
>>1008294Самый тупой вариант:http://coliru.stacked-crooked.com/ideone.comПошукай xda-developers и прочие сайты, наверняка на андроиде уже можно компилять, лишь бы текстовый терминал был (для запуска компилятора)
>>1008296>>1008303Самая большая проблема в клавиатуре, на ней жутко неудобно работать
>>1008311блютуп есть
>>1008315внешней клавиатуры нет
>>1008440Купить сложно?
>>1007636ну так то сеньоры, а то ты
>>1008462денег нет
>>1008525Поговори с мамкой, на копеечное устройство она чаще всего денег даст, это не смартфон.
>>1008525Купи с рук, поюзай, продай.
А какие шарперы сейчас больше всего получают и ценятся? Куда кроме очевидного веба/асп можно вкатиться?
Анончики, подскажите. Есть необходимость написать cuda-приложение, но у меня на ноуте нет даже видеокарты. Если я арендую gpu-инстанс, не слишком ли геморойно будет писать код в visual studio на ноуте, а билдить на этом инстансе?
>>1008532>>1008581Мы бичи, живем в коммуналке, денег очень мало, иногда даже есть нечего.
может кто нибудь обьяснит почему не работает
>>1008644>sin^2>cos^2>отсутствие форматирования>кто нибудь обьяснитНет.
>>1008644Иди утопись в деревенском сральнике нахуй, дегенерат. Ненавижу таких долбоебов, блять, элементарного синтаксиса не знают, и ведь даже в голову им не придет, что можно открыть справочник или учебник и понять, что ты кусок высерка с лишней хромосомой. Нет блять, пойду спрашивать у анона, сам не понимая, что я делаю. Уебище блять, сдохни, тупой кусок поноса.
>>1008644Ты же не в квадрат синус возвел, аутист, мать ебал с отцом
>>1008644схоронил
>>1008649я прекрасно понимаю что делаю
сап Двач, нюфаг в тредевозможно ли сделать глобальную переменную и редактировать её так чтобы все изменения сохранялись в ней же?
>>1008709сап Ньюфаг, динозавр в тредея тебя съем
>>1008709Как могут изменения не сохранятся в переменной, которую ты редактируешь?
>>1008717Видимо он имеет в виду многопоточность.>>1008709Используй volatile
>>1008718volatile не имеет отношения к сохранению изменений в переменной, он имеет отношению к чтению переменной.
>>1008709>нюфаг в тредеНе в тот тред пришёл.
>>1008735А что тебе нужно? Чтобы 2 потока одновременно писали, так нельзя. Для синхронизации используй мьютексы/семафоры.
В БД дата хранится в формате '2017-06-14'. Как мне ее переформатировать после извлечения и в какой формат? В std::time_t?
>>1008806>В БД дата хранится в формате '2017-06-14'.Што, прямо строкой хранится?
>>1008808Нет, в поле типа DATE, но возвращается строка.
>>1008794Ты не с ориджинал постером разговариваешь. Я тоже не знаю, что ему нужно.
>>1008809Строку распарсить встроенными регексами, потомhttp://en.cppreference.com/w/cpp/chrono/c/mktimehttp://en.cppreference.com/w/cpp/chrono/c/tmЧто ты будешь делать с часами и минутами, если известен только день - твоё дело.
>>1008809И вообще, пусть возвращает в чём-то другом.
Посоветуйте удобную библиотеку sqlite, но не Qt. Сейчас я в поиске подходящей обертки над сишными апи.
>>1008861Или подскажите, как самому написать обертку, удовлетворяющую следующим приблизительным требованиям:1) Одно расшаренное соединение с БД как при использовании синглтона или указателя с кастомным удалятором2) Возможность извлекать как строку таблицы, так и несколько строк3) Удобное преобразование в требуемые типы данныхКак написать такие классы? В каких структурах данных хранить извлеченные данные?
Здравствуйте. Обращается к вам студент, ничего не знающий, но устроившийся околопрограммистом на работу (надо численный метод реализовать). Но вопрос не является очередным тупым вопросом по коду, а относится к среде visual studio. Помню, как нас учили работать с windows form, но, скачав visual studio 2017, обнаружил, что это дело задвинули в среде очень далеко. Почему? Совсем неактуально? Надо осваивать что-то другое, чтобы окошко рисовалось красиво? Насколько необходимо? Недолго порыскав по вкладке "Создать проект" наткнулся на проект, использующий конструктор XAML. Это то, что ныне используется? Извините за глупые вопросы,спасибо.
>>1008866если вкратце то с orm в крестах все традиционно хуево
>>1008935ты уже работаешь на работе, сладенькийдавай ебошь как нибудь сам
>>1008935GUI на крестах давно переехал на Qt
>>1008956Ебошить я буду, не волнуйся, вопрос скорее о вашем мнении по всяким конструкторам окошек. С Windows Frames то я справлюсь, интересно, что думают продвинутые программисты по всему этому делу и в чем они сами работают.
>>1008935Винформы - это чистый .NET и следовательно C#, кресты там прикручены костылями.На крестах гуйню пишут с помощью Qt и wxWidgets.
Почаны, подскажите, кто-нибудь занимался созданием софта, мониторирующего состояние и производительность систем? Отдельно взятого компа или сервера, включая проверки температур, свободного места, загрузки и быстродействия сети, а также наличия ошибок и нештатного поведения в программных пакетах.Если да, подскажите с чего стоит начать, может есть какие-нибудь опенсорсные библиотеки?
>>1008644sin^2(..) - неправильноpow(sin(...), 2) - правильно
>>1009135Если линупс, то пиши на Баше или Пейтоне.
Ищу работу на 200+ штук, сам в ДС, могу в релокацию.
>>1009163Молодец, ищи дальше.
Расскажите, в чем суть развертывания пакета в variadic templates. Нихуя не понял.
>>1009162фронт энд в любом случае должен быть сделан под винду.
>>1009208Суть в том, что пакет совмещается со списком аргументов жадным образом - на список аргументов натягивается столько элементов пакета, сколько можно. Как этим воспользоваться: нужно задать аргумент, на который может налезть член пакета + пакет, и задать заземляющую функцию, у которой аргументов нет.
>>1009163смотри не продешеви
>>1009135блядь, да это целая отрасль индустрии поконечно "занимается"иди гугли, деб
>>1008958>не волнуйсянет, я, блядь, поволнуюськогда нулевое говно берут "на работу" а я тут от голода подыхаю
>>1009290В своих проблемах виноват только ты, быдло.
>>1009299только не ной когда в свое время ТЕБЯ заменят студентом
>>1009302Быть хикки-НИИТом мне не привыкать, а вот для таких как ты это потрясение. Соси хуй, быдло. И работай как все за 15к.
Сап пррррр. Сам нюфаг. Выражаюсь как мудак, но разъясните, пожалуйста.Можно ли сделать метод(или функцию) в методе класса? Или вызвать функцию в методе класса.Ну грубо говоря. Сделал класс "плита". В нем метод "взять геометрию". В методе берутся длина, ширина, толщина. Чтобы в мейне ввести длину, ширину и толщину я могу как-то вызвать метод и ввести только длину или ширину или толщину? Или я должен на каждую величину сделать свой метод?Пишу как мудак, прошу не обоссывать.
>>1009553Описать - нет такое можно делать в интерпретируемых языках или языках на C#. Вызвать в методе класса - да. Передавать параметры в метод класса можешь, да.
>>1009556Описать тело функции в методе класса имел в виду
>>1009557То есть делать ввод величин не в мейне, а в методе сразу?А такая запись считается нормальной? Ну в смысле никто не скажет посмотрев на код:"Вот мудак, кто ж так пишет?!"
>>1009562Я тоби нихуя не понимаю. делаешь такойClass A{public:double getArea(double w, double h){return wh;}}и потом в int main {A a;double _w, _h;cin>>_w >> _h;cout<<"area = "<<A.getArea(_w, _h)<<endl;ну или можешь class A{private: double w, h;public:double getArea(){ return this->wthis->h;}A(double _w, double _h){this->w=_w; this->h=_h;}}int main(){double x,y;cin>>x>>y;A a(x,y);cout<<"area = "<<a.getArea()<<endl;}
>>1009571ой, епт твою мать. Разметка скушала звездочки как знак умножения. Вечно про это забываю. Надеюсь, суть ты понял.
>>1009573Да, понял. Спасибо!
Запутался.Вот у меня есть структура в классе, которая нигде кроме него не используется. При добавлении в vector как снизу там будет неявный конструктор копирования? А при использовании как справа?А если в такой структуре в конструкторе я выделяю память чем new/delete, то мне вот при таких передачах как аргумента надо заботится о этих выделениях памяти больше обычного, или оно там само правильным образом вызовет все деструкторы для созданных копий?
>>1009706Если тебя так смущают внутренние классы, то может, не стоит тебе их использовать? Сделал бы в этом же файле в анонимном неймспейсе и не парился.
>>1009706Переопредели нужные конструкторы и проверь, хули ты тут мозга ебёшь.
Анон, помоги пожалуйста с очень серьёзной и сложной для меня задачей.Есть класс MyString, который ссылается наЕсть вспомогательный класс Counter, который является "оберткой" для строки и содержит вспомогательные данные, которые в частности позволят избежать дублирования данных. Он реализован в виде односвязного списка и являет собой статические данные.Как отсортировать этот список, что бы строчки были в алфавитном порядкея сортирую пузырьком и меняю местами сами данные, при этом не трогая саму структуру списка, но возникает проблема, что данные меняются, а члены класса MyString продолжают указывать на те же самые элементы списка Counter, а это неверно, потому что данные то поменялисьне могу придумать как решить эту проблемуhttps://pastebin.com/jG4cAk9Y
>>1009935свапай поинтеры, а не данные
У меня стоит VS2017 Community. Как создать оконное C++ приложение? Windows Forms доступны для C# и для VB, но не для крестов. Может их отдельно надо ставить?
>>1006097 (OP)сап двач что это за хуйняhttp://cpp.sh/7qrhx
>>1010338И что блять такое char mass(i,n)?Двумерный массив? Судя по всему да, тогда скобочки не те.
>>1010335https://msdn.microsoft.com/library/bb384843.aspxВ сказку, думаешь, попал?
>>1010335Используй фрейморки типа QT
Есть три способа обхода итераторов:for(begin++!=end)for_each(begin,end, lambda)for(auto el : smthWithBeginAndEnd)Сейчас использую первый и третий по ситуации, приоритет у последнего.Возникает вопрос: имеет ли смысл использовать for_each? Могу вкатиться в лямбды, но пока особо этим не занимаюсь, потому как код в целом прост и чист, да и for_each с нехилым блоком исполнения визуально ни разу не красивее обычного for с итераторами.Может там какие-то оптимизации, мне неизвестные? Просветите.
>>1010338cpp.sh/942fc Оно у тебя бесконечное и тупое. И с инициализацией массива что-нибудь сделай, это тебе не пых и не жабоскрипт, ёпта!
>>1010335wxWidgets, для уродливых рюшек — GTK/Qt. Если готов сам с нуля всё делать и чтобы красиво бегало на видухе — SFML.Качаешь, компилишь, линкуешь, вкатываешься в маны.
>>1010335https://en.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries
Завели допустим массив символов char* arr = char[10]. Тогда в arr[0]...arr[9] - место под символы. А где хранится сам размер массива?
>>1010434Наверное ты имеешь ввиду char* arr = new char[10]; Нигде не хранится.
>>1010434Нигде.А еще вот это>char* arr = char[10]не скомпилируется.
>>1008603>cuda>visual studio Ну ну, продолжай-продолжай, психуй.
А правду там пишут про программистов?https://2ch.hk/po/res/23263797.htmlНаблюдается ли сейчас работающая бедность?
>>1010638Человек new пропустил, не придирайся
>>1010422>for(auto el : smthWithBeginAndEnd)Иди нахуй
>>1010750За что ты его проткнул?
>>1010422for(auto & el : smthWithBeginAndEnd)?попутно вопрос: как правильно обходить контейнер с unique_ptr, когда нужно одновременно с двумя и более элементами из этого контейнера работать?
void myClass::myMethod(int parameter) throw(){//код метода}Какую роль здесь играет throw()?
>>1010850>for(auto & el : smthWithBeginAndEnd)Не этим. Специфическая задача требует специфического решения.>>1010854http://en.cppreference.com/w/cpp/language/except_spec
>>1010850>контейнер с unique_ptrПиздец поколение дебилоидов подросло.
>>1010880Чем плох такой подход?
Есть такой кодес, который считает количество вхождений заданного значения в вектор: https://ideone.com/jOpaecНаписана специализация для сишных строк, но эта специализация шаблона не компилируется. Что я сделал не так? Значение ведь в общем случае надо передавать по ссылке, а для удобства передачи литералов типа числа 4, а не переменной со значением 4, надо использовать универсальные ссылки.
>>1010909Потому что ты передаёшь lvalue в main.
>>1010919Но ведь ссылки универсальная и может принимать как lvalue, так ии rvalue. Объясни подробнее, в чем здесь проблема.
>>1010921У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой. lvalue ссылки не кастуются в rvalue ссылки.https://ideone.com/uq6PZAhttps://habrahabr.ru/post/226229/
>>1010988>У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкойТы имеешь в виду, что параметр функции, объявленный как rvalue-ссылка, сам является lvalue-ссылкой? Где именно происходит каст rvalue в lvalue?
>>1010991Последнюю строку в main поменял.
Господа, мне надо написать простой многопоточный код, не вникая глубоко в concurency. Задача в том, что в приложении должен крутиться поток, который получает SQL-запросы, выполняет их и возвращает результат. В этом же потоке открыто единственное соединение с БД (моожно использовать синглтон). Что мне почитать для реализации такой задачи? Как передавать потоку запросы и как возвращать результат их выполнения?
>>1011010>который получает SQL-запросыА ещё он получает DELETE FROM user WHERE 1>0;>Что мне почитать для реализации такой задачи?Погугли prepared statements>как возвращать результат их выполненияДа как угодно возвращай, всё равно работать не будет LOL
Есть функция, в объявлении которой написано, что она возвращает myClass&.Пусть a - указатель на myClass.Но в коде функции строка://...return *a;}То есть по идее тип возвращаемого значения - не ссылка на myClass, а сам myClass. Почему так?
>>1011010Если не заморачиваться, я бы сделал на Qt, там все есть для этого. Однако, потоки тебе нахуй не нужны для решения этой задачи.
>>1011028Эта функция возвращает ссылку на объект.Прочитай хотя бы одну книгу из ОП-поста, потом возвращайся.
Ох как у меня горит, VS 2017 нихуя не устанавливается, при запуске установщика он закидывает какие-то файлы в темп и ничего не происходит. Было у кого такое? Не гуглится проблема.
>>1011036Мы же в /pr/, запускай просесс монитор и просесс эксплорер, лолъ.
>>1011028
>>1010991Ты не отличаешь rvalue от rvalue-ссылок.Тип (int, long, rvalue-ссылка на тип T и т.д.) и категория значения (lvalue, prvalue, xvalue) это две ортогональные сущности.
>>1010991>Ты имеешь в виду, что параметр функции, объявленный как rvalue-ссылка, сам является lvalue-ссылкой?Если у чего-то тип rvalue-ссылки, то lvalue-ссылкой это являться никак не может. А вот просто lvalue являться может. Ты же можешь взять адрес от параметра, являющегося rvalue-ссылкой. А значит это lvalue.
>>1010988>У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой.Нет, ссылка rvalue. Только делается попытка забиндить её к lvalue.
>>1010921>Но ведь ссылки универсальная У тебя там (https://ideone.com/jOpaec) нет ни одной универсальной ссылки.
>>1010880ну чо ты как это самое! будь няшей епта! месяц назад вкатился в современный с++, до этого 10 лет кодил на зоопарке от жабы до чистого Cпочему нет? пояснину кроме >>1010885ебатни c move, нежданчиками от nullptr и тп я вот думал что уник для более надежной замены обычного указателя. но на практике меня начинает уже терзать сомнение об области применения unique_ptr.
>>1010434>А где хранится сам размер массива?Тебя это не должно беспокоить.
>>1010850Так же, for(auto& el : container), по ссылке же элементы достаются, а не значению.
>>1010850>как правильно обходить контейнер с unique_ptr, когда нужно одновременно с двумя и более элементами из этого контейнера работать?Как получается работать одновременно с двумя значениями, это и есть правильно.
>>1010909Сделай второй параметр у count просто указателем на const char
>>1011010>простой многопоточный код>простойКакой какой? Детка, простого многопоточного кода не бывает.
>>1011010>простой многопоточный код>должен крутиться поток,>В этом же потоке открыто единственное соединение с БД Что же ты, блядь, пишешь?
>>1011377Хотя я, наверное, понял.Что ты делаешь: заводишь мутекс, и все клиенты дёргают один мутекс. Как только мутекс замутен, они добавляют задание в очередь или whatever и размучивают мутекс.
>>1011390>Что ты делаешь: заводишь мутекс, и все клиенты дёргают один мутекс. Как только мутекс замутен, они добавляют задание в очередь или whatever и размучивают мутекс. Именно так и хочу сделать.
>>1011397две пары ушей
>>1011349>Какой какой? Детка, простого многопоточного кода не бывает.GO lang жи есть.
>>1011349C# жи есть.
Дело во мне, или qt quick - говно? Виджеты мне больше нравились.
>>1011719Чем?
>>1011719Для десктопа — да, говнецо, ибо сделано для тач-девайсов.
>>1011726Интеграцию с десктопом до сих пор не запилили?Когда в последний раз смотрел, были desktop components в альфа-бета стадии.
>>1011728Да не было их там никогда, не рассказывай хуйни. Была гигантская залупа для пальцев всегда, потом от неё начали отказываться и выпиливали всякие тулбары в окнах, сейчас там кнопки и квадраты есть. Стандартные кнопаи меньше 4-х десктопных нельзя даже уменьшить, кек.
>>1011719На нем только интерактивные приложения пилить, то есть для макдаков табло и прочую поеботу да, вполне годная вещь, только вот я не думаю, что приложения на мобилах будут отличаться низким потреблением энергии, потому что все это говно рендерится в OpenGL ну и соответственно расходы энергии выше.Для десктопа, какого-то рабочего приложения, например для заолнения форм и работы с БД - залупа та еще, потому что некоторые компоненты до боли кривые. Например тот же TreeView или как его из QML работает вообще хуево и постоянно клепает дубликаты при обновлении лэйаута модели, в то время как у виджетов есть роли, позволяющие менять шрифт, текст и прочие свойства, чего нет в QML-ной адаптации.Другое дело в том, что шрифты в виджетах рендерятся уебищно, вот это минус, да.
>>1011792>я не думаю, что приложения на мобилах будут отличаться низким потреблением энергии, потому что все это говно рендерится в OpenGL ну и соответственно расходы энергии выше.Испокон веков было так, что всё, что в железе сделано, потребляет меньше. О чём ты?
Как для QStackedWidget сделать анимацию как у StackView/SwipeView в Qt Quick?
>>1011800Ну 3D ядро задействовано в то время как можно было бы ограничиться 2D составляющей, которая потребляет значительно меньше энергии.
>>1011804Очень сомнительная точка зрения. Во время приёма вызова имплементация может проверять третью кооридинату у всех объектов и включать упрощённый композитинг, если она у всех объектов нулевая.Когда ты рисуешь на ЦП, ты должен каждый пиксель выставлять, в лучшем случае это один шаг цикла, даже если он развёрнут. Когда ты говоришь, что 3D хуже, то ты забываешь, насколько хренов в этом плане ЦП.
7. Write a program that asks the user to enter an hour value and a minute value.Themain() function should then pass these two values to a type void function that dis-plays the two values in the format shown in the following sample run:Enter the number of hours: 9Enter the number of minutes: 28Time: 9:28/////////////////////////Эту задачку из всем известного учебника я решил так.https://pastebin.com/1iKLMfpDНо я не смог понять, как отправить значения оператору void так, чтобы он их вывел
Аноны, дебажил свой хеловорлд в студии, и, когда дебаггер остановился на вызове функции system("pause"); появилось вот это. Может кто-нибудь объяснить, что это?
>>1011969>>1011971>>1008826 (OP)
>>1011971а что написано?
>>1011971>Может кто-нибудь объяснить, что это? Это вопрос для ньюфаг-треда, и он даже не про плюсы.
Не бейте, лучше обоссыте, есть где решения упражнений из Страуструпа?Пишем 3 любых числа, программа выводит их в порядке увеличения через запятую.Или почему не работает пикрелейтед?
>>1012089Не знаю, что ты за херню там нагородил. У тебя должно быть на каждый слот по присваиванию. А на деле присваивание может и не произойти из-за условий.Погугли сортировок. Например, пузырёк.
>>1012089Обоссал.
>>1012102Принял, сэр, есть, сэр!Отличный вкус, хороший аромат
>>1012089Ты в жизни тоже так сортируешь? Я вчитываюсь и только что не проигрываю.>>1012093-кум
>>1012108Ну а чего? Мне просто не понятно, откуда берутся в итоге такие значения, которые берутся.
>>1012111Во-первых твоё выражение в цикле не будем смотреть, зачем он тут, это твой алгоритм - ты и скажи считается не так, как ты думаешь. a<b<c ~ (a<b)<c. a<b - это логическое значение true или false (0 или 1). Поэтому набор 0 3 2 будет проходить через эту проверку.http://ideone.com/ar2PtlВо-вторых, ты сортируешь данные до тех пор, пока они отсортированы? Тут что-то не так.Во-третьих, ты проверяешь условия цикла на данных, в которых ничего нет изначально, там ничего не значащий мусор. Кроме того, что эта проверка не имеет смысла, она вносит нестабильность в алгоритм. После каждого запуска работа программы будет отличаться, т.к. будет отличаться мусор в переменных.
>>1012130Добра. Основательно, исчерпывающе, пойду переваривать.
Нуб в этом итт треде.Нужно создать несколько объектов класса в цикле for. Я так понял, надо создавать массив. Что читнуть, пагни?
std::cout.operator<<('a');std::cout << 'a';Первое выводит 97, второе a, почему?
>>1011841Ты забываешь, что видеопроцессор имеет не только 3D ускоритель, но и 2D. Второй то и нужен для быстрых и энергоэффективных отрисовок именно в двухмере (во всяком случае на десктопах так, на мобилах, скорее всего, тоже).Про ЦП, естественно, это слишком жирная для него задача, не смотря на то, сколько бы ядер у их кастратов не было, все равно они достаточно слабые, чтобы составить конкуренцию видеоускорителям.
>>1012221Для первого случая operator << определен в объявлении самого класса, поэтому вызывается он, а точнее:>> std::basic_ostream &std::basic_ostream::operator<<(int value);Для второго случая оператор определен в пространстве имен std (как независимая функция), и вызывается следующий метод:>> std::basic_ostream &operator<<(std::basic_ostream &in, char value);В соответствии с реализацией, ты и получаешь, что первый преобразует твой char в int (или unsigned int) и выводит число, второй метод выводит строковое представление.
>>1012144Олсо, "Кнут - Искусство программирования". Если ты не можешь элементарный алгоритм закодить, тебе не плюсы учить надо.
>>1012156>Нужно создать несколько объектов классаНе в цикле фор, а OBJECT звёздочка huipizda = new OBJECT[dohuya];
>>1012223>std::basic_ostream &operator<<(std::basic_ostream &in, char value);Бля пиздец, ну что это? Что это за бессвязный набор символов? Крестодебилы, как вы работаете на этом? Это же нечитабельный пиздец.
>>1012284Все языки программирования содержат нечитабельный пиздец в том или ином виде. Если ты считаешь, что в твоём любимом языке такого нет, и это вовсе не дело привычки, то дебил тут ты.
>>1012284Не хуже, чем у джаваёбов.
>>1012289В моем любимом языке программирования, по крайней мере, программа написана человекочитабельными словосочетаниями, а не спецсимволами.
>>1012333Заебато, наверно, когда вместо символа + приходится лепить append().append().append() ...
>>1012284Нахуй иди, говна кусок.
вы телок ебете ваще?)
>>1012359Господа, почему этот биопроблемник до сих пор не в своем загоне?
>>1012353Крестодебил обыкновенный своим единственным противником считает джависта. Стоит указать крестоговну на тот или иной недостаток C++, как он сразу вскудахчет: "А вот в Java...". Невдомёк недотыкомке, что существуют языки типа Python, где строки кода напоминают человеческую речь, или изящный и лаконичный CoffeeScript... Откуда ему знать, ведь на этих языках вечером пишут продукт, которым утром пользуются тысячи человек, а не ТЫРПРАЙЗ.
>>1012353Да нет, не приходится уже с незапамятных времен. А вот тебе, наверно, заебато вместоReturnType foo(ParamType bar) писатьconst ReturnType const & const foo(const ParamType const & const bar const) const
>>1012364>> PythonНорм язык, я ничего против него не имею>> CoffeeScript>> изящный и лаконичныйА как по мне, так ужасный весьма>> Крестодебил обыкновенный своим единственным противником считает джавистаУ Java своя ниша, у крестов своя. В чем дело-то?! У Java есть и свои достоинства, и хули дальше то.У каждого языка свое назначение, и было бы глупо лезть с крестами в веб-разработку, например, где сроки наклепать говно бывают даже и по тройке недель. В свою очередь это предназначение и приводит к тому, что язык выглядит так, каким он есть.
>>1012368Что мне мешает написать так же, как и у тебя?! Const-ы это не просто сахар, но и отличный способ заставить компилятор выбрать за тебя более удачную перегрузку функции, притом не обязательно, чтобы константный и неконстантный метод исполняли одно и то же.
>>1012371>>1012372Не кормите дауна.
>>1012371>У Java своя ниша, у крестов своя. В чем дело-то?! У Java есть и свои достоинства, и хули дальше то.20 слов, ноль смысла. Нахуя ты это написал?Я тебе объясню, в чём дело. В посте выше >>1012284анон справедливо заметил, что представленный код на крестах - нечитабельный пиздец. Сразу стриггерились две крестомакаки: >>1012353>>1012318которые увидели в этих нападках происки джаваёбов. Nuff said.
Существует мнемоническое правило, позволяющее легко запомнить, к чему относится const. Надо провести черту через "*", если const слева, то оно относится к значению данных; если справа — к значению указателя.Проиграл в голос.
>>1012376Еще лучше мнемоническое правило было написано у Бочкова и Субботина: «изнутри наружу». Все, что участвует в создании типа объявляемой сущности: const, volatile, , (), [] читается от имени этой сущности (самая внутренность) — наружу (то есть влево для префиксов и вправо для постфиксов). Постфиксы () [] имют приоритет перед префиксами const volatile . Приоритет может быть изменен скобками.Блядь, это уже специальная олимпиада какая-то.
>>1012333Какая разница? Меньше спецсимволов, зато больше другого дерьма.>>1012364Ну, точно, так оно и оказалось.>CoffeeScript>action = action.replace /\bnew /g, '$&yy.'Зачем тут action=?> addLocationDataFn = (first, last) ->> if not last> "yy.addLocationDataFn(@#{first})"> else> "yy.addLocationDataFn(@#{first}, @#{last})"Выделение функций пунктуацией придумал трус.> [patternString, "$$ = #{addLocationDataFn(1, patternCount)}(#{action});", options]Чтоблядь.> o 'ObjAssignable : Expression', -> new Assign LOC(1)(new Value $1), $3, 'object',> operatorToken: LOC(2)(new Literal $2)ЧТОБЛЯДЬ.Это я открыл страничку на оф. сайте для начинающих.>зыки типа PythonОткрываю рандомный репозиторий на гитхабе.> response['Expires'] = (now + expire_offset).strftime("%a, %d %b %Y %T GMT")Чоблядь.> result[r(ih+1)+1:(r+1)(ih+1), c(iw+1)+1:(c+1)(iw+1), :] = images[ind].transpose((1,2,0)) Чоблядь? Что за двойные точки?> if mask is None:> result[0, :] = 0> result[-1, :] = 0> result[:, 0] = 0> result[:, -1] = 0>return resultЧТОБЛЯДЬ.> filtered, lambdas = _frangi_hessian_common_filter(image,> scale_range, scale_step,>beta1, beta2)Такие же слепые вызовы функций, как в плюсах. Без IDE, в которой названия параметров будут рядом, это тот же C.Это я всё к чему: все мы пытаемся использовать инструменты, придуманные другими, и каждый инструмент мы не понимаем интуитивно до конца. То, что ты свой КофеБлядьСкрипт понимаешь сейчас, не означает то, что ты понимал его в самом начале. Заткнись и лабай, пока не появится принципиально другой подход к программированию.
>>1012376>>1012378Обосрался с таких-то мнемонических правил. Особенно последнее доставило.
Программач, посоветуй годный шрифт для Qt Creator, ибо от дефолтного тошнит
>>1012442Как крестогоспода объясняют эти правила? Инбифо: интуиция и память.
>>1012455terminus
>>1012461Стандарт и граматика языка. Сойдёт:
>>1012462Ещё хуже. Был недолгое время. Глаза болят от него
>>1012479Неправильные глаза.
>>1012461const применяется к тому что слева. если слева ничего нет, то применяется к тому что справа. все.а вторую хуйню я не понял.
>>1012482Ты неправильный
>>1012487
>>1012455PT Mono
Анончики, есть по QT что-то подобное Programming Windows Петцольда? Ну типа эталонной литературы и чтоб нубасу было понятно.
>>1006097 (OP)Не был здесь с момента ухода опа. Поэт вернулся?
Как в плюсах изменить регистр букв в UTF-8 строке?
Ребята, как вывести двоичный код числа и указать младший бит?Как я понял, нужно текстом, типа как в тетрадке всякими формулами. Не программой, в общемОдна из задач анона, который предложил вкатиться в это дело. Об этом деле он, помимо прочего, ничего не написал. Сказал нагуглить. Не получается
>>1012784Так и быть, с барского плеча отправлю тебя в гугл с запросамиc++ int to binaryиc++ low bitтеперь ты программист!
>>1012731Никак, чтобы не тащить всякие мутные либы для локализации тащи сразу Qt core.
>>1012455Consolas, Anonymous code pro, Monaco, Droid sans mono
>>1012790пишу я такой в тетрадкеc++ int to binaryиc++ low bitи она мне значит такая двоичный код выводит и по ебалу с вертухи
>>1012686Поэту потребовался explicit отклик для преодоления сопротивления шитпостеров.>>1012798>>>>>>>>отправлю тебя в гугл с запросами>Как я понял, нужно текстом, типа как в тетрадке всякими формулами. Реши ХОТЬ КАК НИБУДЬ.
>>1012455Тут дело в нём самом, а не шрифтах. Там все шрифты выглядят как-то странно.
>>1012888Там свой антиалисинг и если его отключить то все шрифты распидорасит кроме терминуса и подобных не true type. Системный антиалиасинг в qt почему-то не работает.
>>1012731libicu
Нужно написать конвертер валют в долляры через switch, название валюты одной буквой не назвать, как я понимаю. Так вот как связать string и switch?
>>1013098Хуй знает, почему до сих пор не запилили, но обойти можно так: подобавлять названия всех валют вconstexpr map<string,int> pizdaи вместо switch(name){case "huy":у тебя будетswitch(pizda[name]){case pizda["huy"]:Какие-то контейнеры стали constexpr-ами в 11, 14, 17 (не могу быстро нагуглить, в каком стандарте есть констекспр мап). То есть, все их методы должны принимать констекспр (вроде) и возвращать констекспр.Добавить названия валют в pizda можно либо построчно:pizda["долларъ"]=pizda.size();либо через foreach какой-нибудь (не осилю).КОРОЧЕ: лучше с лямбдами сделать: map<string,function<void(string)>> pizda;И запихать в pizda лямбду для каждой валюты.Стыдно писать даже.
>>1013122>Хуй знает, почему до сих пор не запилилиСтрауструп считает, что сравнение в case должно выполняться за O(1), а в случае string сравнение выполняется за O(n).Он за предсказуемость.
>>1013139Нужно быть сильным дебилом для того, чтобы не знать, что строки сравниваются за O(n). Представил себе гигабайтным сорс со строковым литералом.инбифо констекпр стринг
>>1013162>Нужно быть сильным дебилом для того, чтобы не знать, что строки сравниваются за O(n).Ну вот он знает. Поэтому против разрешения использовать в switch любых типов, имеющих оператор сравнения.
>>1006097 (OP)Почему нельзяобъявить внутриклассовый инициализатор типа static const double exp_coeff = 0.03;? Как это сделать кратко, если надо?
>>1013202>constexpr
>>1013098во всяких языках с подобной фичей это реализуется через хэш строки. в крестах это будет выглядеть примерно вот так: http://ideone.com/mZoGg5
>>1013217Ололо. А ничего, что могут быть коллизии?
>>1013217http://ideone.com/nCjMlQ
>>1013217http://ideone.com/gMLvYm
>>1013202а) констекпрб) inline в 17в) объявить снаружи: >>1001374
>>1013271>в) объявить ОПРЕДЕЛИТЬ, т.е.
Ребзя, читал на форуме что парниша писал на с++ и ебнул свой компик. Случайно память перебил. Часто с вами такое случается?
>>1006097 (OP)Хочу изучить OpenGL ES, подскажите, с чего начать. Работаю под виндой в Visual Studio 2015. Скачал книгу по GLES 3.0, скачал хедеры, но не знаю, где взять .lib, .dll или что там еще нужно. Обновил студию, чтобы появились новые категории во вкладке Cross Platform, но проект GLES создать все равно нельзя. Реквестирую гайд для дебила.
>>1013338Не то чтобы часто. Во всех книгах вдалбливается священный трепет перед низкоуровневой работой с памятью, так что при работе с массивами и указателями вырабатывается определённая паранойя.К тому же, в С++11 ввели-таки сверхполезнае умные указатели, существенно облегчающие работу с памятью.https://msdn.microsoft.com/ru-ru/library/hh279674.aspxhttp://archive.kalnytskyi.com/2011/11/02/smart-pointers-in-cpp11/
>>1013405https://habrahabr.ru/post/140222/Вот ещё ссылочка.
Поясните ньюфагу рачий вопрос пожалуйста:Как правильно совладать с функциями и source.cpp/header.h/main.cppЕстьvoid zhepa(int benis); иницализация(?)void zhepa(int benis){ benis++} функцияzhepa(benis); вызовКуда все правильно распихать чтобы вызвать в мейне?
>>1013410>void zhepa(int benis); Это прототип. Должен быть объявлен вне всех функций и до вызова функции, которую он определяет.>void zhepa(int benis){ benis++}Функция. В любом месте исходника вне других функций.>zhepa(benis)Это вызов. В любой функции при условии, что прототип объявлен выше.>header.hЭто заголовочный файл. Если "main" и "zhepa" разнесены по разным .срр файлам, то чтобы вызвать "zhepa" из "main" ты должен объявить "zhepa" в заголовочном файле, а затем впиздячить его в main.срр директивой препроцессора #include.Вообще говоря, всё это есть в абсолютно любой книжечке по С++. А ньюфаги отправляются в специальный тред >>1008826 (OP)И последнее: пожалуйста, никогда, никогда не используй такие вот имена типа "benis" и "zhepa". Это неинформативно, дегенеративно, несмешно и дурной тон.
Зашёл на сайт с обучением на примерах visual c++. Сделал всё, как полагается. Пишет в ходе построения произошли ошибки. Прога скачано по ссылке с того же сайта. Ссылка на микрософт. Вопрос: какого хуя?
>>1013410>void zhepa(int benis){ benis++}Хуевый у тебя бенис. Надо вот так: ++benis.
>>1013419> И последнееЯ знаю, я само собой фильтрую базар названия, а использую только тут для наглядности.Вообщем я > объявить "zhepa" в заголовочном файле, а затем впиздячить его в main.срр директивой препроцессора #includeНаписал объявление всех функций в Header.h и в мейне сделал #include "Header.h" / #include "Source.cpp".В Source.cpp сами функции.Выдает при компиляции на все функции:error LNK2005: "функциянейм с магическими символами" уже определен в Main.obj.И еще LNK1169: обнаружен многократно определенный символ - один или более.Я изначально так и делал и пробовал по разному вставлять(Спасибо за уделенное время)
>>1013427Какая разница?
>>1013419Ах да и еще на структуры в header так же ругается
>>1013419Я даун, убрал в мейне соурс и все работает. Спасибо
>>1013452Для int никакой
>>1013421у микрософта свой с++новичкам вроде как лучше избегать их статьи
>>1013405>>1013407спасибо анон, читану на досугея так понял старые указатели и вообще старый синтакс не нужно задрачивать вкатывающимся в плюсы?
>>1013450>#include "Source.cpp"Это лишнее. Надо так: #include "Header.h" пишешь только в main.cpp и Source.cpp, в Header.h ничего не пишешь. А вообще уже советовали выше читнуть любую из книжек в шапке, там все подробно и понятно про это написано.
>>1013450>>1013477Вот, чтобы было понятнее: https://pastebin.com/UnDtXMru
>>1013473Нужно
>>1013473Нужно. Потому что умные указатели, во-первых, всё же не панацея. Во-вторых, общие правила работы с указателями применимы и для умных указателей. В-третьих, свежие стандарты поддерживаются далеко не везде, и вообще говоря, каждый компилятор реализует стандарт по-своему, иногда расхождения становятся значительными. В-четвёртых, программистам довольна часто приходится разбирать и переписывать несвежий\старый\древний\доисторический код, и знакомство с прошлыми стандартами становится необходимым.
решил просмотреть книгу страуструпа. в самом начале вижу пикрил. уже писал калькулятор с помощью приведения выражения к обратной польской записи. не могу разобраться для чего нужна эта грамматика, как ею пользоваться, что значит эта таблица. кто-нибудь с этой хуйней разбирался?
>>1013625Если кратко, то это парсер методом рекурсивного спуска. А вообще разработка этого калькулятора довольно подробно описана в книге Страуструпа "Принципы и практика с использованием C++" (есть в шапке) в главах 6-7.
Помогите, почему не работает?else :falseif Billy=лох else 0 :approveded...............range(i=0, k=2, x=b)b:onloadWrite:"Billy fuccking veryfecalishhiet"Print ("Billy fuccking veryfecalishhiet")end.
>>1013658Туда ли ты зашел, петушок?
>>1013684Да. Помогите.
>>1013658>approvededпроиграл
>>1013717Да, уже исправил. А все равно не работает.
>>1013477>>1013479Я уже увидел, спасибо :з
>>1000000
>>1013706Нет. Здесь - кресты и могильщики. А та принёс далеко не гроб.
При использовании QSQLITE, если мне надо закидывать допустим 2000 строк, то как лучше: одним запросом на INSERT или 2000-ми запросами на тот же INSERT?Сорян, просто не куда писать об этом. Тут я использую Qt
>>1013625Это бнф, вась. Ей никак не пользоваться, это формальное обозначение правил грамматики, которые можно либо руками имплементировать, либо взять какой нибудь генератор поддерживающий что нужно твоей грамматике (из таких особенностей для этой твоей нужна только поддержка левой рекурсии, её поддерживает всё кроме PEG-а) и описать эти правила с поправкой на синтаксис генератора. Примеры таких — bison, antlr, gold.
>>1013794А что, в одном INSERT можно больше одной строки вставить?Думаю, при вставке большого числа строк, оптимальной будет последовательность:1. Подготовить запрос.2. Начать транзакцию.3. В цикле биндить поля и исполнять запрос.4. Закончить транзакцию если всё ок, иначе откатить.
>>1013794insert into table values(...), values(...), ...емнип, такой синтаксис
На студии такая фигня, может кто знает с чем это связано.Запилен OutputDebugString в констурктор и деструктор, причем если конструктор вызывается тогда, когда и нужно, то почему-то во время определенных действий дестурктор одного и того же объекта вызывается 20 раз (output в дебаг консоль).Проект здоровый, может кто знает в чем дело?
>>1014042РазобралсяЯ в boost::bind передавал разадресованый shared_ptr, хуй его как это вообще работало
Code::Blocks норм ? В чем вообще пишут код на спп?
>>1014218В каком классе учишься?
>>1014218Впрочем, о чём это я.Visual Studio (топ для лаб, не знаю, чё там по разработке), NetBeans, Eclipse CDT.
>>1014261В 5, а ты?))>>1014264VS же использует свой хитровыебанный компилятор или нет уже?
>>1012784Форматирование в printf гугли для вывода.Насчет как выделить - если например в bool переменную, то так:int a=456;bool lowbit = a & 1;
>>1013217>>1013098>>1013122Почему просто не заменить switch несколькими последовательными if?
>>1014218В блокноте. Потом поднимают виртуальную линух-машину на оракле и компилируют ГриЦаЦуевым, потому как полностью свежий стандарт поддерживает только он.
>>1013098Посмотри библиотечные функции для работы со строками. Можно использовать сравнение строк и запись результата в управляющую переменную, т.е. если рубль - 1, если фунт - 2 и т.д., и далее подавать эту переменную на switch.Но я бы обошелся вообще без свича. Можно ведь просто вызывать соответствующую функцию-конвертер сразу после проверки строк.
>>1014321Ну у всех свой хитровыебанный компилятор. Можно под .net компилить, можно обычные бинарники, если ты про это.
>>1014321>VS же использует свой хитровыебанный компилятор или нет уже? Да, Visual C++. Он, например, ложит хуй на ключевое слово register, и имеет безопасные реализации некоторых библиотечных функций, которые он будет навязчиво пытаться тебе всучить в каждой программе. Ещё студия несколько фашистски подходит к оформлению кода, что может неслабо раздражать, но, всё же, повышает его читаемость, особенно у начинающих. Ещё он по-своему реализует стандарт, и в настоящий момент является месивом из 11 и 14 стандартов. К счастью, имеет весьма полную и подробную документацию на сайте.
>>1014218На темплейтах. Пишешь огромный текстовый ребус, потом он пишет за тебя весь код.
>>1006097 (OP)Хочу задрочить Qt под линуксом. Имею небольшой опыт кодинга под виндой, однако под линуксом возникла проблема с созданием окна, потому что IDE не генерирует какие-то говнофайлы с определением базового класса окна и .ui. Как под линуксом решается эта проблема и как создается окно?
я вам логотип принес
>>1014712правильнее void main(void)
А давайте устроим срач clang vs gcc.
>This application failed to start because it could not find or load the Qt platform plugin "windows"in "".Как лечится это дерьмо? Ни один из способов, которые я нагуглил, не помог.
>>1014901Тебе надо переустановить Шindoшs.
>>1014398>Ещё он по-своему реализует стандартТочнее, не реализует.
Ребзя, пробовал кто нибудь реализовывать джава скрипт на с++?
>>1014956Вот эти ребята пробовали:https://chromium.googlesource.com/v8/v8.git
>>1014956Примерно все современные браузерные жс-движки написаны на плюсах (гугловский v8, мозиловский SpiderMonkey, майковская chakra (да-да, это все потому что у них СЕО индус, гы), эпловский nitro (хотя там и закрыты исходники, но на чём писался вбежит мы все помним).
>>1014987>вбежитВебкит
>>1006097 (OP)Увидел в требованиях "Знание компиляторов". Что сюда входит?
>>1014930Уже полностью реализует 14, а также части 17 стандарта.
>>1014987>SpiderMonkeyизначально на си, потом его скатили в говно переписав на плюсы, а вот v8 всегда был говном.
>>1015021Когда это он на си был? Пруфани-ка, а то я открываю исходники и вижу чистейший плюсовый код, даже без намёка на сишное говнецо. По опыту того же гцц пока можно только утверждать что от сишного говна проекты такого размера за 5-6 лет даже близко не отмываются.А v8 всегда был передовиком — не скажу точно насчёт жита, который там почти всегда был впереди планеты всей, а вот нормальная сборка мусора, сандбоксинг и прочее в нём точно появилось раньше всех.
>>1015088> Когда это он на си был?Они там его несколько раз подряд переписывали. По моему переход на C++ начался с JaegerMonkey (оптимизирующий конпелятор) и дальше по наклонной.
>>1015088последняя сишная версия 1.8
>>1015111>>1015091з.ы. JaegerMonkey он самый, 1.8
>>1015088>сишное говнецонаркоман, на си был маленький и шустрый движок, после обмазывания плюсами стало миллионостроковое ничитаемое говно, даже самсунг начал свой джерискрипт пилить. v8 сосет у спидерманки по тестам.
>>1015020> полностью реализует 14Вот код и результат работы1. clang https://wandbox.org/permlink/qTHZAHWbNGH9DCvV2. gcc https://wandbox.org/permlink/hrJMdPAKDmEtt9UVMSVC печатает "SS", что неверно. Т.е. он не поддерживает даже C++98, не то, что C++14.
>>1015114> и шустрыйС этим я бы поспорил. Хром на момент появления рвал его в клочья. Да и "быстрым" он был, потому что на JS самого кода было мало. Это сейчас js файлы мегабайтами скачиваются ради показа баннера с рекламой.
>>1015114>после обмазывания плюсами стало миллионостроковое ничитаемое говноУ мозилы кстати ахуенный кодстай в отличие от того же гугла и мс-а, всё крайне читаемо.Кстати, тебя не смущает что уже прошел почти десяток лет, жс вырос в несколько раз, жит тогда только вводили в него (т.е. он несравнимо меньше умел чем текущий), там был уёбский рантайм с говёным сборщиком, без всякой асинхронной залупы из новых стандартов жса, без поддержки asm.js, webgl и ещё триллиарда технологий появившихся в последние 5 лет? Я с таким же успехом могу написать интерпретатор жс на котором можно сделать прыгающую мартышку и пойти сравнить его с jeagermonkey — пиздец сишная простыня на тыщи строк-то.Кстати, ты это, сходи глянь исходники какого нибудь gcc или питона, там вот прям видно как C в больших проектах хорош, это говно даже ни одна IDE не переваривает, лол.
>>1015134Очень много кстати, знаю, идите нахуй.
>>1015134> мозилы кстати ахуенный кодстайУ них для разных компонентов разные кодстайлы. Даже периодически срачи возникают на тему единого кодстайла, который заканчивается ничем, потому что всем всё и так нравится.
Есть ли способ обмазаться свежайшим стандартом на винде, окромя установки свежего gcc на виртуальную линух-машину? Есть ощущение, что мимо меня проходит великое множество весьма важных элементов новых стандартов.
>>1015144WSL + Toolchain PPA → gcc-7
>>1015134смотрел исходники перла, ваткома, все заебись. код гцц говно, потому, что дохуя макак туда набежала и каждый пушил что хотел, та же проблема и у линупса.
>>1015147>WSLЛол.
>>1015152>исходники перла, ваткомаОб'ём не тот.
>>1015154
>>1015155>перлаvs питухон>ваткомvs gccоправдывайся
>>1015156С П А С И Б ОПАСИБО
>>1015147>gcc-7И что с ним делать?Все равно IDE на подсистеме не запустишь.
>>1015170> И что с ним делать?Использовать.>Все равно IDE на подсистеме не запустишь.1. С чего ты взял?2. Зачем тебе IDE?
>>1015119У меня 14 стандарт почему-то реализован>>1015173> запускать IDE на подсистемеУдачи> зачем IDEДля удобства.
>>1015177>У меня 14 стандарт почему-то реализованВ студии выводится "TS" или нет? Если нет, то там нихуя не реализовано.
>>1015152>говорят посмотреть живые, развивающиеся проекты, идущие в ногу с требованиями в этой области в 2к17>анон отвечает: посмотрите моё мёртвое говно, заброшенное в 2005. Оно же няшное!Это судьба любого большого проекта которых хочет жить, а не развиваться полутора челиками и сдохнуть через пару лет.
>>1015178Какая разница, что выводится в тестах?Если написано, что реализовано - значит реализовано.
>>1015206ок
Ананасы, как узнать, какого типа объекты хранит контейнер?
>>1015320value_type
>>1015327плюс к этому щас вывод типов есть в крестах, так чтож это не надо использовать (хотя и раньше всегда недоумевал почему value_type так редко использовали)
>>1015343Да.
>>1006097 (OP)вкатываюсь в программированиеподскажите, лучше с Си начать или С++? читал что с++ это подвид Си
>>1015349>подскажите, лучше с Си начать или С++? С haskell
>>1015349java или javascriptзабудь про кресты, будет самым большим твоим разочарованием, тратой времени на то что никогда не окупится
>>1015349Если с педагогической целью - то си. Если практически говоря, то будем считать тебя средним вкатывательщиком (это дебил), поэтому джаваскрипт.
>>1015349Я пишу на Си с классами. Это разновидность С++, где из самого С++ используются только простейшие классы, да и то только для инкапсуляции. Просто на Си заёбывает писать функции уровня void do_somethimg_with_data(data_struct* data, ...);
>>1015361>Я пишу на Си с классами. Держи нас в курсе.
>>1015362Обязательно. Отправил тебе в личку ссылочку на RSS-ленту с моими новостями.
>>1015363Спасибо.
>>1015364Не за что.
Репостну-ка.>>1015332
>>1015013Бамп вопросу.
>>1015354Жс же для браузеров только? >>1015355Почему даун? Читал что программистам на реакт платят 300к/с в /б был тред пару дней назад
>>1015414Так платят парочке спецов, а вкатывальщиков вроде тебя без опыта и вообще нихуя настолько много, что даже за еду никуда не возьмут, тем более с плюсами.Самая легкая дорога для выката (меньше чем за ~5 лет — жс).
>>1015437>выкатавката
>>1015361>Я пишу на Си с классамиВнезапно — плюсы изначально и были си с классами.Непонятно что такие долбоёбы как ты понимают тогда под "плюсовым" кодом. Ребусы из шаблонов разворачивающиеся в 100 мб исходников? Грузная ынтерпрайз-хуита вроде DI и прочего?
Посоветуйте шрифт для кодинга под линуксом. Мой - пиздец вырвиглазный.
Сап плюсач. Есть задание (типа летней практики в моей шараге):"Реализуйте два класса. В каждом из классов реализуйте функцию-член, не принимающую параметров. Функции-члены должны быть названы одинаково. Реализуйте свободную функцию, принимающую один параметр таким образом, что объект любого из двух классов может быть безопасно передан в функцию и вышеупомянутая функция-член вызвана. Классы не должны быть связаны отношением наследования (нет общих предков, ни один не является наследником другого)."А теперь вопрос. Я тут налепил https://pastebin.com/bJePR6Dz на 5 минут и задание какое-то несложное на первый взгляд. Может какие подводные камни есть (это же c++ и они должны быть)?
>>1015472Ну так у тебя в классе BadClass нет функции-члена bad(), например. Явно же компилятор говорит, что нету такой сигнатуры BadClass::bar() в коде у тебя, но лучшей кандидатурой на оную является void BadClass::bar(int), но в таком случае параметр должен иметь значение по умолчанию хотя бы какое-нибудь.http://rextester.com/AKK60073
>>1015457PT Mono и замени fontconfig на убунтовский fontconfig-ubuntu. Эти макаки смогли оптимизировать алгоритм сглаживания шрифтов.
>>1015481BadClass и не должен работать. Я его добавил, чтобы продемонстрировать безопасность кода. Что ошибка вылетит во время компиляции, а не в рантайме.
>>1015485Ну тогда вот так:>Может какие подводные камни естьНет
>>1015457Внезапно дело в системе. Нормальные рендеры шрифтов с человеческим сглаживанием есть только на шинде и маке (на последнем только для хай-реза).
>>1015013>>1015405что ты прочитал drug on book.
>>1015457Terminus/Terminess Powerline
>>1015437мне веб не интересно, хочется хотя бы админом
>>1006097 (OP)Сап аноныПочти 2 года читаю, пока кроме hellowordov ничего не написал, но чую скоро программирование попрет!Прочитал все книги Касперски, пол главы книги по JS, курс по html и css, курс на ютубе по реверсу и крякингу, введение в системное программирование, три главы K&R, половину Лафоре, гайд по Си, а так же скачал все книги Страусупа! Как вкатиться в работу, чтобы взяли джунить на сях?Спасибо
>>1015734>пока кроме hellowordov ничего не написалЧто самое сложное, что ты писал?
>>1015738Примеры из книг иногда перепечатывал и смотрел что они покажутНо обычно просто читал
>>1015741Зря. Просто чтение книг ничего не даёт.
>>1015742Подскажи какую программу написать, чтобы не сложно, но интересно и полезно?Спасибо
>>1015743Ты должен понимать, что начинаешь учиться, когда тебе сложно/ты что-то не понимаешь.Я не знаю, какой у тебя уровень. Но любил иногда для разминки codewars.com захаживать. Там есть много заданий, среди них много простых. Посмотри, на что способен.Также есть куча сайтов с олимпиадными заданиями, игры, в которых нужно кодить, чтобы побеждать и т.д..Ну и есть много ресурсов, которые направлены на обучение практической разработке/формошлёпству.
>>1015755Задачи люблю решать на си, есть учебник по математике со школы с задачками, вот их решаю.Насколько джуниор должен знать устройство процессора, памяти? Прочитал, но всякие транзисторы плохо укладываются в голове. Когда читал было вроде понятно, но сейчас не вспомню что там и как в деталях.
>>1015773По работе редко нужно вдаваться в подробности.Мне кажется базовых знаний о компьютере и иерархии памяти должно хватить. Также немного про разные регистры, и способы организации памяти в программах (стек, куча). Это всё нужно, чтобы писать корректные программы на тех же крестах. Но без практики и ошибок осознать эти концепции и полезность их знания сложно.Изучал вакансии по крестам/си? Есть что-то подходящее?
>>1006097 (OP)Как хранить SQL-запросы прир разработке на Qt? Хардкодить?
>>1015807Да. Или переходишь на какую-нибудь ORM.
>>1015807Нет, хранить в ресурсах и при необходимости редактировать в рантайме.Конечно, блять, хардкодить. Изучи паттерны дао и репозитория.
>>1006097 (OP)поясните за задание плес. с^key это число? то есть берем, например, 'a' это по аски 97 и возводим это в степень значения символа key? а ничего что это ахуенно большое число? и как тут получится исходная строка при повторном шифровании?
>>1015948^ это XOR
>>1015966>^ это XOR
>>1015948В C++ оператор ^ - это побитовое исключающее ИЛИ.>>1015967Что не так? Он не написал только, что это побитовое.
>>1016017Я думаю, что это спрашивающий анон фейспалмит.
>>1006097 (OP)Записался на курсы по С++, 20к за 70 часов обучения. Кто ходил на подобные курсы, реально ли хоть что-то уловить в С++ за 70 часов? Стоит ли оно своих денег? Пока не поздно может дать обратную?
Как установить эту сраную OpenCV? Прописал всё в настройки проекта под x64 по инструкции, а он всё равно не видит .h-файлы. Вписывал, разумеется, 320ые dll, а не 310ые.http://san-tit.blogspot.ru/2016/03/opencv-310-visual-studio-2015.html
>>1016108Два совета.1. Ты ввалил за это деньги. Это значит, что ты можешь заёбывать препода. Препода, а не гугл, это важно. Да, самому искать информацию необходимо, но если ты всё равно нихуя не понял после поиска и обдумывания - заёбывай его.2. Делай как можно больше приближённых к реальности задач. Задрачивание абстрактной хуиты типа напрочь оторванных от действительности примеров - очень скучная практика, которая, к тому же, ещё и имеет низкую эффективность.
>>1016114возможно будет удобней забрать из nuget, а лучше из vcpkg
>>1016108Какой у тебя уровень? Что именно будет на курсах?
>>1016108Разве что ради того чтобы подоёбывать живого препода, а не гугл. А так смысла с гулькин хуй — программирование чуть менее чем полностью состоит из самообучения, и чем раньше ты к такому привыкнешь — тем лучше.
>>1016121>Задрачивание абстрактной хуиты типа напрочь оторванных от действительности примеров - очень скучная практика, которая, к тому же, ещё и имеет низкую эффективность.Ахуительный совет. Теперь, будь добр, высри-ка свою классификацию «абстрактной хуиты» и «полезной жизы».
>>1016203>программирование чуть менее чем полностью состоит из самообученияЭто задротство состоит из самообучения.
>>1016182Лупы, ифы, переменные, функции. Еще обещали про память сказать на последнем занятии.
>>1016133>vcpkgЗапускаю собранный экзешник - он вылетает, не давая мне посмотреть на доступные опции. Нугет установил 2.4. Ну, и на этом спасибо.
>>1016182еще обещали показать стандартную библиотеку
>>1016227>NuGet Error:Unable to find version '2.4.11' of package 'OpenCV.overlay-x64_v140'.
>>1016224Я так понимаю, уровень старших классов? Ну курсы на таком уровне уж точно есть. Но некоторые люди не могут сами или им нужен толчок.
>>1016246где хакинку на с++/с учат?
>>1016275Видел пару видосов в интернете, как чувак читы на крестах писал.Ну и статьи, книги есть какие-нибудь.
>>1016290cкинь плися думаю на си писать, так производительность выше
>>1016224бля, это троллинг? я не верюза 20к я бы тебя по скайпу натаскал вплоть до теплейтов, понимания вир функций и всякой хуйни типа указателей на указатели
>>1016227с ключами запускайох лол, ты походу, нулевой
>>1016295https://www.youtube.com/user/HackVise/videos
>>101629920к в секунду?
>>1016303спасибо)
>>1016300>с ключамиПо-русски совсем не разговариваешь? Какие ключи: реестра, активации, шифрования?>ох лол, ты походу, нулевойМне не всралось самому библиотеки из исходников собирать, я не для того прогать учился. Хуле нельзя, как в питоне, пакадж менеджером всё поставить за 2 минуты?
>>1016337дурик, вот и иди в петон тред скачивать пакеджи, а тут люди программируют
Я услышал, что на https://gcc.godbolt.org/ появился CL (компилятор от MS).Теперь гораздо проще обассывать его любителей, наглядно демонстрируя убогость его оптимизатора. Жаль только, что версия там самая новая, в ней оптимизатор стал менее убогим, чем был до 2017-й версии.Итак, я начну с проверки того, насколько свободно чувствует себя оптимизатор, если ему разрешить нестрого относиться к floating-point арифметике. GCC показал себя более лучше: он превратил произведение корней чисел в корень из произведения.https://godbolt.org/g/iEKC63
Объясните почему структуру называют классом?Или в крестах это одно и то же?
>>1016398https://stackoverflow.com/questions/7762085/difference-between-a-struct-and-a-class
>>1016390Кстати да, почему gcc генерирует такой аккуратный код, который приятно читать, а msvc срет сотнями строк, в каждой из которой много говна и вообще все выглядит очень страшно
>>1016408>Кстати да, почему gcc генерирует такой аккуратный кодНу не всегда. Если изменить в том коде, что я привёл, double на float, то gcc зачем-то будет преобразовывать его в double, проводить операции и перед возвращением преобразовывать обратно во float, когда как cl просто заменит sqrtsd на sqrtss и mulsd на mulss
>>1006097 (OP)нетривиальный вопросесли я хочу кодить на сях грузинскими или армянскими буквами, какую библиотеку подключить?не тупо выебнуться, а так надо, шифрую код программы простоэту тему лучше не вскрывать шутливые т молодые,
http://ideone.com/qUCHrCПлюсаны, объясните, что это за конструкция такая. Умом понимаю, что тут они от начала массива локального в стеке адрес возврата как-то получают, но что это за конструкция абсолютно неясно.Для тех, кому лень идеоне открывать, соберите вот что и удивитесь:#include <iostream>using namespace std;int main() { int a[4] = {1, 2, 3, 0}; cout << (1 + 2[a]); return 0;}
>>1016573Тебя 2[a] удивляет? Сабскрипт оператор можно в любом порядке просто записывать. 2[a] == a[2]. Операнды оператора от этого не меняются.
>>1016573Вернет 3.И что тебя удивляет в этой конструкции? Только вкатываешься штоли?
>>10165814, вкатыватель
>>10165812[a] вернет 3
>>1016580Не знал, а какая мотивация была так делать?>>1016581Я довольно давно знаком с плюсами, но кода относительно мало написал, потому таких нюансов как-то не встречал.
>>1016590А книги читаешь?>>1016584Я написал про 2[a], но если для тебя проблема сложить 1+3, то да это 4.
>>1016592Нет, видимо стоит уже что-то прочесть серьезное.Понял, что a == *(a+i), ну а сложение коммутативно, потому и эта штука с 2[a].
>>1016592Тут недавно один вкатывающийся с 1 массивы нумеровал, я решил что это ты. Слово-детект уже вобщем.
>>1016573>Для тех, кому лень идеоне открывать, соберите вот что и удивитесь:Если тебя удивляет такая хрень, то ты ошибся тредом. Тебе в прикреплённый загон.
>>1016572бампуськи
>>1016572>>1016615Только clang полностью поддерживает идентификаторы в юникоде. gcc поддерживает их только в виде кодов \uXXXX, и то, вроде там какая-то регрессия и они не работают.
>>1016611Просто я не надрачивал тесты, поэтому и удивляет, да. Не могу представить реальный пример использования подобной конструкции.
>>1016108Найс лохотрон, с таким подходом лучше сразу на htmlacademy
>>1016626Там ведь только прогать на html/css учат? Или с++ тоже преподают?
>>1006097 (OP)ПЕРЕКОТ >>1016662 (OP)ПЕРЕКОТ >>1016662 (OP)ПЕРЕКОТ >>1016662 (OP)ПЕРЕКОТ >>1016662 (OP)
>>1014568Если с линуксом, до делай окно кодом, лел. Никаких тебе редакторов форм.А если серьезно, когда проект создаешь там флажочек ставишь?