А ты теперь тяжелый и унылый, Отрекшийся от славы и мечты, Но для меня непоправимо милый, И чем тяжелее твой стандарт, Тем милее мне ты.
Ты фичи новые, поглощаешь, как вино, Что наяву, не знаешь, что во сне, Но зелены крестовые твои очи, Покоя, видно, не нашел в них ты.
И сердце только скорой смерти просит, Кляня медлительность обновления стандарта. Всё чаще ветер хипстерский приносит Те упрёки в легаси, да о смерти те мольбы.
Но разве я к тебе вернуться смею? Под нежным небом виртуалки Я только только аллоцировать умею, И без сборщика мне уже никак.
Так дни идут, печали умножая. Как за тебя мне Господа молить? Ты угадал: моя любовь такая, Что даже ты не смог ее убить.
Часто вижу, как на форумах задают банальные вопросы типа как сделать в С++ хуйнюнейм? Хотя это все расписано в учебниках для ньюфагов в первых главах. Так вот, в такой теме обязательно появится умник, который напишет заумный код в одну строчку типа subroutine delete_foo_c(foo) bind(C, name="delete_foo") или auto compose(T a, E b) -> decltype(a+b) Почему я уже три года учу С++, а все это дерьмо выглядит для меня как магия? Как мне учить язык правильно, чтобы понимать все это?
Ньюфаг закатыватся к вам с вопросом. Прочитал в книге, что можно обратиться к global scope через оператор области видимости. Решил это опробовать на своем примере, с тем условием, что я создал еще одну область видимости в main(). Собственно вот код https://pastebin.com/WqP4CbTs и я хочу вывести переменную f, которую определил в начале.
>>1006124 разбирайся с темплейтами если хочешь понимать "магию" на самом деле, темплейты в крестах позволяют обойтись без сишной магии сделаной на макросах и void* что такая же непонятная профану вещь
Есть один динамический двумерный массив, нужно добавить ему новую строчку в конце и рандомно ее забить какими-нибудь значениями. Все это в отдельной функции. Массив в main запилил, в функцию передал, там создал новый массив и вернул его в main, но по-моему это как-то не так делается. Помогите нормальный код написать, плиз.
Есть файл a.cpp, в котором описана функция abc(int i). Есть файл b.cpp, в котором описана та же самая функция. Почему линкер ругается, что у меня multiple definition, хотя эти функции находятся не в хэдэрах и в разных трансляционных юнитах?
>>1006193 хэдэры копипастятся в юниты. если бы эти функции были в хэдэрах, то ошибка multiple definition была бы оправдана, так как описанная сущность описывалась бы еще по нескольку раз в других юнитах. в моем случае есть две разные сущности в двух разных, непересекающихся юнитах, просто с одинаковыми сигнатурами. если я вызываю abc(2) из a.cpp, я никаким образом не могу иметь в виду abc(int i) из b.cpp. такова моя логика, по крайней мере.
>>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
Знаю, что обоссыте, но да ладно. Аноны, кто учился по книге Страуструпа "Принципы и практика...", как вы решили следующее упражнение из 14 главы: Определить класс Striped_closed_polyline.
>>1006318 >Манька считает, что если функция заявлена в заголовке, но определена в другом файле, то она принадлежит этому файлу? ты реально шизик какой-то
>>1006203 >хэдэры копипастятся в юниты. если бы эти функции были в хэдэрах, то ошибка multiple definition была бы оправдана, так как описанная сущность описывалась бы еще по нескольку раз в других юнитах. Ещё раз: линкеру глубоко фиолетово, скопипастились ли функции из хедера или ты их сам скопипастил.
>>1006325 Если ты считаешь, что функция объявленная в CPP-файле принадлежит этому файлу, то как по-твоему к этой функции получает доступ другой код, который этот ЦПП-файл не инклудит? Ебанат.
Школьникам надо вбивать в головы, что C родился как надстройка над макроассемблером, а C++ — как надстройка над С. И что в первую очередь всё идёт по старинке через листинги, встраивания одного в другой и прочих подобных текстовых штук.
>>1006325 Анонимные пространства имен ввели именно для того, чтобы в каждом юните трансляции, использующем его, было свое уникальное определение того же члена, например. Когда ты объявляешь и определяешь функцию в исходном файле, тебе будет только казаться, что объявление функции существует только в глобальной области видимости текущего сорца, на самом деле, функция будет иметь статическую линковку и, объявив еще одну такую же функцию с такой же семантикой ты словишь ошибку компиляции, поскольку будет существовать два одинаковых объявления, но разных в своей сущности. А почему, а потому что линковка СТАТИЧЕСКАЯ! Если бы ты использовал анонимное пространство имен и в нем объявлял функции, скажем, в каждом юните трансляции у них, не смотря на одинаковую семантику, были бы разные имена. Думаю, тебе стоит почитать вот это http://en.cppreference.com/w/cpp/language/storage_duration (стандарт читать не советую, во всяком случае, в начале, потому что объебешься и не раз!)
Ананасы, есть проект на Qt, к которому я хочу прилепить MVC. Есть модель и контроллеры, которые по сути является просто набором статических методов для работы с моделью. Теперь куда лепить слоты? Вот в view надо при нажатии кнопки вызывать метод контроллера, мне привязывать его напрямую к функции этой или создать отдельный класс ViewController и объявлять в нем нужные для View слоты? Или к уже существующим контроллерам прилепить эти слоты?
Подскажите, насколько сложно сделать типа калькулятор для нелинейных и трансцендентных уравнений. Нужно, чтобы вылезало диалоговое окно, куда ты вносишь нужные данные и прога тебе самостоятельно все подсчитывает и выдает ответ
>>1006733 > куда ты вносишь нужные данные В каком виде? Уравнение текстом? Параметрическое, система уравнений? Достаточно сложно, если не шаришь в деревьях и численных методах. К тому же уравнения такие бывают, что конкретный численный метод вообще неприменим в каком-то случае и потому он будет выдавать полную чушь. Чтоб учесть все разновидности это можно сотни часов разрабатывать. А если у тебя что-то вида tg(x)=x^2, то если функцию в код вбивать или изолентой примотать какое-нибудь lua чтоб через диалоговое окно, то работы минут на 40. Ну и да, с таким подходом всегда можно будет специально подобрать такое уравнение, что программа пропустит какое-то решение (или будет жутко долго работать).
sup. Я очередной вкатывающийся в плюсы и пришёл за советом по книге. И тут меня отправляет читать шапку я её прочёл Собственно запрос на этот раз, наверное, специфичный. Плюсы для меня станут 3-им языком. Ничего серьёзного не планирую хотя как знать, на этот раз хочу изучить просто для себя. Собственно суть запроса - ищу книгу, да покороче. Так, шоб поменьше воды и распинаний о полиморфизме. Например, в Питоне есть книга "Укус питона", всего на 150 страниц, которая плавно и мягко вводит в синтаксис и конструкции языка. Ищу нечто похожее.
>>1006835 Ты на 20 лет опоздал. В тех областях, где пишут на C++, как раз наоборот запутывают всё, что только можно, чтобы вытянуть из вояк и мусаров хоть сколько-то денег, «пока не сократили». И не только в этой стране.
Что круче, раст или кресты? В крестах стоит шишка на мощные шаблоны (на них можно написать даже твою мамку), обилие библиотек. Напрягает больше всего отсутствие единой системы сборки и стандартного менеджера пакетов. Захочешь подключить либу к проекту - начинается ебля, а если еще и надо собрать под несколько платформ, то вообще вешайся. В расте всё тоже 10 из 10, cargo рулит, менеджер пакетов, единая система сборки, юнит тесты из коробки. Сам язык тоже неплохой, то, что на расте можно выразить match'ем из 5 строчек в С++ превращается в switch из 20-30. Что в итоге выбрать? Оба языка офигенные, но надо выбрать один.
>>1006203 С т.з. языка по сути нет разницы, в каком файле что. Получается, что всё как бы собирается в один мегалистинг. Разделение нужно для удобства и для компиля (ему чтобы дважды не компилить одно и то же)
>>1006835 Честно говоря, иногда складывается мнение, что плюса выучить практически не реально. Говорят, что за 5 лет упорного фигачинья на них доростаешь до джуна. Я начинал разбирать его по Ишковой, потом Павловская как справочник. М.б. не лучший вариант, но в местных книжных ничего лучше не было. В принципе, Ишковой для уровня "пописать лабы в универе" вполне хватает.
>>1007297 C++ перестаёт быть языком общего назначения, понемногу теряет ниши. Поэтому никто не горит желанием заменить этот язык на что-то современное. Можно сказать, что кресты ещё будут долго жить как легаси-говно (формошлёпство на VCL aka C++ Builder, MFC, Qt) или как основной язык для высокопроизводительных приложений и прочей подобной мишуры. А насколько солнечное будущее у раста, я не могу сказать.
>>1007431 под "теоретическим смыслом" следует понимать даст ли тебе изучение с++ какие то новые знания о языках программирования и о cs в общем? нет конечно лучше уж rsharp поиграйся, он из ml-семейства
>>1007297 после 10ти лет изучения крестов ты хоть сможешь устроится тыщ на 20 в провинции ну или на 60 в дс с растом этого же никогда не произойдет, ты здохнешь от голода выбирай
>>1007605 "Абстрактный класс" - это, по-стандарту, класс, который может быть использован, как базовый. То есть, в нём не определён хотя бы один метод, например. Вопрос не имеет смысла.
Конструктор будет дефолтный, если кто-то захочет использовать твой класс, как базу. Устраивает тебя это или нет - решать тебе.
>>1007618 Та это в коллегии наркоманы сидят, идей не было, а у буста выкатили всякие умные/общие указатели. Ну они и сказали "малаца хорошо сделали" и появился у сиплусплус свой GC
Раньше наш код был в стиле ООП, скучный и однообразный. Сидели мы и пилили кучу полиморфных классов.
Но с лямдами! Шаблонный полиморфизм! Мы угарели по Александреску! Начали биндить, лямбды заворачивать в лямбды. Казалось, еще чуть-чуть, и наш фреймворк станет походить на интерпретатор питона.
Ну вы чо там? Эй, пшш.. Крестовики. У меня есть вопросы к вам.
Скажите мне, что такое лямбда с точки зрения компилятора? (что это автоматически генерируемый функтор - рассказывать не надо) А вот, как она создается, на стеке или нет, статическая? Что будет с переменными области захвата если я уничтожу контекст ее объявления (созания)?
>>1007625 >Как блять можно объявить и не реализовать не виртуальный метод? Почему виртуальный? Любой. http://ideone.com/DUCdRA http://ideone.com/eg26Q0 Виртуальный/невиртуальный - без разницы. >>1007631 Иди нахуй. Мой пост содержит ошибку, которую ты мог исправить, вместо этого ты хуйню написал. >>1007638 Про generic lambda спроси тоже.
>>1007645 PS Я про декларацию метода хуйпизда который, мало того, нигде не используется, так его нигде использовать далее и не удастся. Накой хуй какому-то разработчику далее использовать этот класс, по сути расписывая его реализацию? НАХУЯ?
>>1007645 Нахуй вообще нужны сорцы, если я могу послат тебя читать стандарт? >>1007647 Это было бы так, если бы можно было бы иметь шаблоны в локальных классах. Но так, как нельзя, то генерик лямбды вместо них.
>>1007653 Ты задаёшь очень специфичные вопросы, которые крестовикам нахуй не уперлись с точки зрения гипотетического обсуждения. Когда реально понадобится узнать, во что компилируется лямба - я расчехлю ollydbg чтоб найти VA кода, в котором вызывается лямбда, а в IDA посмотрю ассемблерный листинг. Но смотреть это специально мне, естественно лень и не представляет ценности на данный момент.
>>1007672 Никогда не слышал про такие тупые запреты. Если decltype может приводить к трудночитаемой лапше и иногда лучше запретить своим макакам тыкать в это палочкой, то про auto — совсем дикость.
>>1007496 Нет, я больше про карьеру. В смысле, если я параллельно буду задрачивать плюсы, то смогу ли уйти на более элитную (и сложную, вероятно) работку с перекатом на плюсы, или оно того не стоит? На уровне необходимых знаний для каждого спеца я их и так знаю.
>>1007655 Дак хрен бы с ними со вложенными типами. Я, например, хочу тимлит-функцию в функции определить. Что мне делать? Я бы сделал тимплит-функтор, а вот хуй. >>1007663 Хочу безопасное с какой-либо точки зрения подмножество C++, твои предложения? >>1007672 Потому что легаси-компиляторы поддерживать надо, МБ. >>1007675 В стандарте С++ есть ссылка на библиотеку C, например. В C++ нельзя делать безразмерный массив в конце структуры, например. Есть другие мелкие различия, но в коде С зачастую просто не нужен последний стандарт, поэтому несоответствия непринципиальны.
>>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 для него одно и то же.
>>1007812 Походу нашёл уже. > Все неименованные критические секции условно ассоциируются с одним и тем же именем. Все критические секции, имеющие одно и тоже имя, рассматриваются единой секцией, даже если находятся в разных параллельных областях. Побочные входы и выходы из критической секции запрещены.
Интересует использование конструктора ostringstream ret(t) против использования оператора вывода с предварительным объявлением переменной и тратой лишней строки ostringstream ret; ret << t;
Не хочу плодить треды, а вы тут наверняка работаете с GDB. Где можно почитать, как GDB коннектится с сервером? Стоит задача написать сервер, который мог бы что-то отправлять GDB и получать ответ.
И так. Получение системной даты и времени. StackOverflow говорит, что localtime(). VS2017 говорит, что так не надо, а надо localtime_s(). gcc7.10 говорит, что так тоже не надо, но альтернатив не предлагает. А теперь вопрос: как платформо-независимо получить дату, используя лишь стандартную библиотеку?
>>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()
Ну оба способа должны работать. localtime_s - это функция из C11, нужно подключать time.h вместо ctime (как я понял, сам-то не проверял нифига). В современном стандарте C++ localtime_s не существует.
>>1006773 По поводу ввода функции, можно понаделать лямбд, им сопоставить текстовое название функции и потом из них собирать уравнение. Сам так сделал. Батя грит малаца
>>1007927 >>inline относится к one definition rule >Объясни подробнее. При чем тут inline? При том, что ODR не распространяется на inline функции и (начиная с C++17) переменные.
>>1008019 time.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, все равно он у меня к проекту подключен. Но все же хочется-то стандартными методами!
Как заставить функцию встраиваться с FORCEINLINE без использования оптимизации в вижаке, с оптимизацией все встраивается, но мне нужно без оптимизации.
помогите, мать снова отправляет меня к бабушке в деревню, поэтому в ближайшие 2.5 месяца у меня не будет пеки и я не смогу вкатываться в кресты. есть ли какие нибудь способы писать код на андроид смартфоне и запускаиь его?
Анончики, подскажите. Есть необходимость написать cuda-приложение, но у меня на ноуте нет даже видеокарты. Если я арендую gpu-инстанс, не слишком ли геморойно будет писать код в visual studio на ноуте, а билдить на этом инстансе?
>>1008644 Иди утопись в деревенском сральнике нахуй, дегенерат. Ненавижу таких долбоебов, блять, элементарного синтаксиса не знают, и ведь даже в голову им не придет, что можно открыть справочник или учебник и понять, что ты кусок высерка с лишней хромосомой. Нет блять, пойду спрашивать у анона, сам не понимая, что я делаю. Уебище блять, сдохни, тупой кусок поноса.
>>1008861 Или подскажите, как самому написать обертку, удовлетворяющую следующим приблизительным требованиям:
1) Одно расшаренное соединение с БД как при использовании синглтона или указателя с кастомным удалятором 2) Возможность извлекать как строку таблицы, так и несколько строк 3) Удобное преобразование в требуемые типы данных
Как написать такие классы? В каких структурах данных хранить извлеченные данные?
Здравствуйте. Обращается к вам студент, ничего не знающий, но устроившийся околопрограммистом на работу (надо численный метод реализовать). Но вопрос не является очередным тупым вопросом по коду, а относится к среде visual studio. Помню, как нас учили работать с windows form, но, скачав visual studio 2017, обнаружил, что это дело задвинули в среде очень далеко. Почему? Совсем неактуально? Надо осваивать что-то другое, чтобы окошко рисовалось красиво? Насколько необходимо? Недолго порыскав по вкладке "Создать проект" наткнулся на проект, использующий конструктор XAML. Это то, что ныне используется? Извините за глупые вопросы,спасибо.
Ебошить я буду, не волнуйся, вопрос скорее о вашем мнении по всяким конструкторам окошек. С Windows Frames то я справлюсь, интересно, что думают продвинутые программисты по всему этому делу и в чем они сами работают.
Почаны, подскажите, кто-нибудь занимался созданием софта, мониторирующего состояние и производительность систем? Отдельно взятого компа или сервера, включая проверки температур, свободного места, загрузки и быстродействия сети, а также наличия ошибок и нештатного поведения в программных пакетах.
Если да, подскажите с чего стоит начать, может есть какие-нибудь опенсорсные библиотеки?
>>1009208 Суть в том, что пакет совмещается со списком аргументов жадным образом - на список аргументов натягивается столько элементов пакета, сколько можно. Как этим воспользоваться: нужно задать аргумент, на который может налезть член пакета + пакет, и задать заземляющую функцию, у которой аргументов нет.
Сап пррррр. Сам нюфаг. Выражаюсь как мудак, но разъясните, пожалуйста. Можно ли сделать метод(или функцию) в методе класса? Или вызвать функцию в методе класса.
Ну грубо говоря. Сделал класс "плита". В нем метод "взять геометрию". В методе берутся длина, ширина, толщина. Чтобы в мейне ввести длину, ширину и толщину я могу как-то вызвать метод и ввести только длину или ширину или толщину? Или я должен на каждую величину сделать свой метод?
>>1009553 Описать - нет такое можно делать в интерпретируемых языках или языках на C#. Вызвать в методе класса - да. Передавать параметры в метод класса можешь, да.
>>1009557 То есть делать ввод величин не в мейне, а в методе сразу? А такая запись считается нормальной? Ну в смысле никто не скажет посмотрев на код:"Вот мудак, кто ж так пишет?!"
Запутался. Вот у меня есть структура в классе, которая нигде кроме него не используется. При добавлении в vector как снизу там будет неявный конструктор копирования? А при использовании как справа? А если в такой структуре в конструкторе я выделяю память чем new/delete, то мне вот при таких передачах как аргумента надо заботится о этих выделениях памяти больше обычного, или оно там само правильным образом вызовет все деструкторы для созданных копий?
>>1009706 Если тебя так смущают внутренние классы, то может, не стоит тебе их использовать? Сделал бы в этом же файле в анонимном неймспейсе и не парился.
Анон, помоги пожалуйста с очень серьёзной и сложной для меня задачей. Есть класс MyString, который ссылается на Есть вспомогательный класс Counter, который является "оберткой" для строки и содержит вспомогательные данные, которые в частности позволят избежать дублирования данных. Он реализован в виде односвязного списка и являет собой статические данные.
Как отсортировать этот список, что бы строчки были в алфавитном порядке я сортирую пузырьком и меняю местами сами данные, при этом не трогая саму структуру списка, но возникает проблема, что данные меняются, а члены класса MyString продолжают указывать на те же самые элементы списка Counter, а это неверно, потому что данные то поменялись не могу придумать как решить эту проблему https://pastebin.com/jG4cAk9Y
У меня стоит VS2017 Community. Как создать оконное C++ приложение? Windows Forms доступны для C# и для VB, но не для крестов. Может их отдельно надо ставить?
Есть три способа обхода итераторов: for(begin++!=end) for_each(begin,end, lambda) for(auto el : smthWithBeginAndEnd)
Сейчас использую первый и третий по ситуации, приоритет у последнего. Возникает вопрос: имеет ли смысл использовать for_each? Могу вкатиться в лямбды, но пока особо этим не занимаюсь, потому как код в целом прост и чист, да и for_each с нехилым блоком исполнения визуально ни разу не красивее обычного for с итераторами. Может там какие-то оптимизации, мне неизвестные? Просветите.
>>1010335 wxWidgets, для уродливых рюшек — GTK/Qt. Если готов сам с нуля всё делать и чтобы красиво бегало на видухе — SFML. Качаешь, компилишь, линкуешь, вкатываешься в маны.
Есть такой кодес, который считает количество вхождений заданного значения в вектор: https://ideone.com/jOpaec
Написана специализация для сишных строк, но эта специализация шаблона не компилируется. Что я сделал не так? Значение ведь в общем случае надо передавать по ссылке, а для удобства передачи литералов типа числа 4, а не переменной со значением 4, надо использовать универсальные ссылки.
>>1010988 >У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой Ты имеешь в виду, что параметр функции, объявленный как rvalue-ссылка, сам является lvalue-ссылкой? Где именно происходит каст rvalue в lvalue?
Господа, мне надо написать простой многопоточный код, не вникая глубоко в concurency. Задача в том, что в приложении должен крутиться поток, который получает SQL-запросы, выполняет их и возвращает результат. В этом же потоке открыто единственное соединение с БД (моожно использовать синглтон). Что мне почитать для реализации такой задачи? Как передавать потоку запросы и как возвращать результат их выполнения?
>>1011010 >который получает SQL-запросы А ещё он получает DELETE FROM user WHERE 1>0; >Что мне почитать для реализации такой задачи? Погугли prepared statements >как возвращать результат их выполнения Да как угодно возвращай, всё равно работать не будет LOL
Ох как у меня горит, VS 2017 нихуя не устанавливается, при запуске установщика он закидывает какие-то файлы в темп и ничего не происходит. Было у кого такое? Не гуглится проблема.
>>1010991 Ты не отличаешь rvalue от rvalue-ссылок. Тип (int, long, rvalue-ссылка на тип T и т.д.) и категория значения (lvalue, prvalue, xvalue) это две ортогональные сущности.
>>1010991 >Ты имеешь в виду, что параметр функции, объявленный как rvalue-ссылка, сам является lvalue-ссылкой? Если у чего-то тип rvalue-ссылки, то lvalue-ссылкой это являться никак не может. А вот просто lvalue являться может. Ты же можешь взять адрес от параметра, являющегося rvalue-ссылкой. А значит это lvalue.
>>1010988 >У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой. Нет, ссылка rvalue. Только делается попытка забиндить её к lvalue.
>>1010850 >как правильно обходить контейнер с unique_ptr, когда нужно одновременно с двумя и более элементами из этого контейнера работать? Как получается работать одновременно с двумя значениями, это и есть правильно.
Что ты делаешь: заводишь мутекс, и все клиенты дёргают один мутекс. Как только мутекс замутен, они добавляют задание в очередь или whatever и размучивают мутекс.
>>1011390 >Что ты делаешь: заводишь мутекс, и все клиенты дёргают один мутекс. Как только мутекс замутен, они добавляют задание в очередь или whatever и размучивают мутекс. Именно так и хочу сделать.
>>1011728 Да не было их там никогда, не рассказывай хуйни. Была гигантская залупа для пальцев всегда, потом от неё начали отказываться и выпиливали всякие тулбары в окнах, сейчас там кнопки и квадраты есть. Стандартные кнопаи меньше 4-х десктопных нельзя даже уменьшить, кек.
>>1011719 На нем только интерактивные приложения пилить, то есть для макдаков табло и прочую поеботу да, вполне годная вещь, только вот я не думаю, что приложения на мобилах будут отличаться низким потреблением энергии, потому что все это говно рендерится в OpenGL ну и соответственно расходы энергии выше. Для десктопа, какого-то рабочего приложения, например для заолнения форм и работы с БД - залупа та еще, потому что некоторые компоненты до боли кривые. Например тот же TreeView или как его из QML работает вообще хуево и постоянно клепает дубликаты при обновлении лэйаута модели, в то время как у виджетов есть роли, позволяющие менять шрифт, текст и прочие свойства, чего нет в QML-ной адаптации. Другое дело в том, что шрифты в виджетах рендерятся уебищно, вот это минус, да.
>>1011792 >я не думаю, что приложения на мобилах будут отличаться низким потреблением энергии, потому что все это говно рендерится в OpenGL ну и соответственно расходы энергии выше. Испокон веков было так, что всё, что в железе сделано, потребляет меньше. О чём ты?
>>1011804 Очень сомнительная точка зрения. Во время приёма вызова имплементация может проверять третью кооридинату у всех объектов и включать упрощённый композитинг, если она у всех объектов нулевая.
Когда ты рисуешь на ЦП, ты должен каждый пиксель выставлять, в лучшем случае это один шаг цикла, даже если он развёрнут. Когда ты говоришь, что 3D хуже, то ты забываешь, насколько хренов в этом плане ЦП.
7. Write a program that asks the user to enter an hour value and a minute value.The main() 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: 9 Enter the number of minutes: 28 Time: 9:28
///////////////////////// Эту задачку из всем известного учебника я решил так. https://pastebin.com/1iKLMfpD Но я не смог понять, как отправить значения оператору void так, чтобы он их вывел
Аноны, дебажил свой хеловорлд в студии, и, когда дебаггер остановился на вызове функции system("pause"); появилось вот это. Может кто-нибудь объяснить, что это?
>>1012089 Не знаю, что ты за херню там нагородил. У тебя должно быть на каждый слот по присваиванию. А на деле присваивание может и не произойти из-за условий. Погугли сортировок. Например, пузырёк.
>>1012111 Во-первых твоё выражение в цикле не будем смотреть, зачем он тут, это твой алгоритм - ты и скажи считается не так, как ты думаешь. a<b<c ~ (a<b)<c. a<b - это логическое значение true или false (0 или 1). Поэтому набор 0 3 2 будет проходить через эту проверку. http://ideone.com/ar2Ptl
Во-вторых, ты сортируешь данные до тех пор, пока они отсортированы? Тут что-то не так.
Во-третьих, ты проверяешь условия цикла на данных, в которых ничего нет изначально, там ничего не значащий мусор. Кроме того, что эта проверка не имеет смысла, она вносит нестабильность в алгоритм. После каждого запуска работа программы будет отличаться, т.к. будет отличаться мусор в переменных.
>>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) и выводит число, второй метод выводит строковое представление.
>>1012223 >std::basic_ostream &operator<<(std::basic_ostream &in, char value); Бля пиздец, ну что это? Что это за бессвязный набор символов? Крестодебилы, как вы работаете на этом? Это же нечитабельный пиздец.
>>1012284 Все языки программирования содержат нечитабельный пиздец в том или ином виде. Если ты считаешь, что в твоём любимом языке такого нет, и это вовсе не дело привычки, то дебил тут ты.
>>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 >У 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.
Это я всё к чему: все мы пытаемся использовать инструменты, придуманные другими, и каждый инструмент мы не понимаем интуитивно до конца. То, что ты свой КофеБлядьСкрипт понимаешь сейчас, не означает то, что ты понимал его в самом начале. Заткнись и лабай, пока не появится принципиально другой подход к программированию.
Ребята, как вывести двоичный код числа и указать младший бит? Как я понял, нужно текстом, типа как в тетрадке всякими формулами. Не программой, в общем
Одна из задач анона, который предложил вкатиться в это дело. Об этом деле он, помимо прочего, ничего не написал. Сказал нагуглить. Не получается
>>1012888 Там свой антиалисинг и если его отключить то все шрифты распидорасит кроме терминуса и подобных не true type. Системный антиалиасинг в qt почему-то не работает.
>>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;
>>1013122 >Хуй знает, почему до сих пор не запилили Страуструп считает, что сравнение в case должно выполняться за O(1), а в случае string сравнение выполняется за O(n). Он за предсказуемость.
>>1013139 Нужно быть сильным дебилом для того, чтобы не знать, что строки сравниваются за O(n). Представил себе гигабайтным сорс со строковым литералом. инбифо констекпр стринг
>>1013162 >Нужно быть сильным дебилом для того, чтобы не знать, что строки сравниваются за O(n). Ну вот он знает. Поэтому против разрешения использовать в switch любых типов, имеющих оператор сравнения.
>>1006097 (OP) Хочу изучить OpenGL ES, подскажите, с чего начать. Работаю под виндой в Visual Studio 2015. Скачал книгу по GLES 3.0, скачал хедеры, но не знаю, где взять .lib, .dll или что там еще нужно. Обновил студию, чтобы появились новые категории во вкладке Cross Platform, но проект GLES создать все равно нельзя. Реквестирую гайд для дебила.
Поясните ньюфагу рачий вопрос пожалуйста: Как правильно совладать с функциями и 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". Это неинформативно, дегенеративно, несмешно и дурной тон.
Сделал всё, как полагается. Пишет в ходе построения произошли ошибки. Прога скачано по ссылке с того же сайта. Ссылка на микрософт. Вопрос: какого хуя?
>>1013419 > И последнее Я знаю, я само собой фильтрую базар названия, а использую только тут для наглядности. Вообщем я > объявить "zhepa" в заголовочном файле, а затем впиздячить его в main.срр директивой препроцессора #include Написал объявление всех функций в Header.h и в мейне сделал #include "Header.h" / #include "Source.cpp". В Source.cpp сами функции. Выдает при компиляции на все функции: error LNK2005: "функциянейм с магическими символами" уже определен в Main.obj. И еще LNK1169: обнаружен многократно определенный символ - один или более. Я изначально так и делал и пробовал по разному вставлять (Спасибо за уделенное время)
>>1013450 >#include "Source.cpp" Это лишнее. Надо так: #include "Header.h" пишешь только в main.cpp и Source.cpp, в Header.h ничего не пишешь. А вообще уже советовали выше читнуть любую из книжек в шапке, там все подробно и понятно про это написано.
>>1013473 Нужно. Потому что умные указатели, во-первых, всё же не панацея. Во-вторых, общие правила работы с указателями применимы и для умных указателей. В-третьих, свежие стандарты поддерживаются далеко не везде, и вообще говоря, каждый компилятор реализует стандарт по-своему, иногда расхождения становятся значительными. В-четвёртых, программистам довольна часто приходится разбирать и переписывать несвежий\старый\древний\доисторический код, и знакомство с прошлыми стандартами становится необходимым.
решил просмотреть книгу страуструпа. в самом начале вижу пикрил. уже писал калькулятор с помощью приведения выражения к обратной польской записи. не могу разобраться для чего нужна эта грамматика, как ею пользоваться, что значит эта таблица. кто-нибудь с этой хуйней разбирался?
>>1013625 Если кратко, то это парсер методом рекурсивного спуска. А вообще разработка этого калькулятора довольно подробно описана в книге Страуструпа "Принципы и практика с использованием C++" (есть в шапке) в главах 6-7.
При использовании QSQLITE, если мне надо закидывать допустим 2000 строк, то как лучше: одним запросом на INSERT или 2000-ми запросами на тот же INSERT?
Сорян, просто не куда писать об этом. Тут я использую Qt
>>1013625 Это бнф, вась. Ей никак не пользоваться, это формальное обозначение правил грамматики, которые можно либо руками имплементировать, либо взять какой нибудь генератор поддерживающий что нужно твоей грамматике (из таких особенностей для этой твоей нужна только поддержка левой рекурсии, её поддерживает всё кроме PEG-а) и описать эти правила с поправкой на синтаксис генератора. Примеры таких — bison, antlr, gold.
>>1013794 А что, в одном INSERT можно больше одной строки вставить? Думаю, при вставке большого числа строк, оптимальной будет последовательность: 1. Подготовить запрос. 2. Начать транзакцию. 3. В цикле биндить поля и исполнять запрос. 4. Закончить транзакцию если всё ок, иначе откатить.
На студии такая фигня, может кто знает с чем это связано.
Запилен OutputDebugString в констурктор и деструктор, причем если конструктор вызывается тогда, когда и нужно, то почему-то во время определенных действий дестурктор одного и того же объекта вызывается 20 раз (output в дебаг консоль). Проект здоровый, может кто знает в чем дело?
>>1014218 В блокноте. Потом поднимают виртуальную линух-машину на оракле и компилируют ГриЦаЦуевым, потому как полностью свежий стандарт поддерживает только он.
>>1013098 Посмотри библиотечные функции для работы со строками. Можно использовать сравнение строк и запись результата в управляющую переменную, т.е. если рубль - 1, если фунт - 2 и т.д., и далее подавать эту переменную на switch. Но я бы обошелся вообще без свича. Можно ведь просто вызывать соответствующую функцию-конвертер сразу после проверки строк.
>>1014321 >VS же использует свой хитровыебанный компилятор или нет уже? Да, Visual C++. Он, например, ложит хуй на ключевое слово register, и имеет безопасные реализации некоторых библиотечных функций, которые он будет навязчиво пытаться тебе всучить в каждой программе. Ещё студия несколько фашистски подходит к оформлению кода, что может неслабо раздражать, но, всё же, повышает его читаемость, особенно у начинающих. Ещё он по-своему реализует стандарт, и в настоящий момент является месивом из 11 и 14 стандартов. К счастью, имеет весьма полную и подробную документацию на сайте.
>>1006097 (OP) Хочу задрочить Qt под линуксом. Имею небольшой опыт кодинга под виндой, однако под линуксом возникла проблема с созданием окна, потому что IDE не генерирует какие-то говнофайлы с определением базового класса окна и .ui. Как под линуксом решается эта проблема и как создается окно?
>>1014956 Примерно все современные браузерные жс-движки написаны на плюсах (гугловский v8, мозиловский SpiderMonkey, майковская chakra (да-да, это все потому что у них СЕО индус, гы), эпловский nitro (хотя там и закрыты исходники, но на чём писался вбежит мы все помним).
>>1015021 Когда это он на си был? Пруфани-ка, а то я открываю исходники и вижу чистейший плюсовый код, даже без намёка на сишное говнецо. По опыту того же гцц пока можно только утверждать что от сишного говна проекты такого размера за 5-6 лет даже близко не отмываются.
А v8 всегда был передовиком — не скажу точно насчёт жита, который там почти всегда был впереди планеты всей, а вот нормальная сборка мусора, сандбоксинг и прочее в нём точно появилось раньше всех.
>>1015088 > Когда это он на си был? Они там его несколько раз подряд переписывали. По моему переход на C++ начался с JaegerMonkey (оптимизирующий конпелятор) и дальше по наклонной.
>>1015088 >сишное говнецо наркоман, на си был маленький и шустрый движок, после обмазывания плюсами стало миллионостроковое ничитаемое говно, даже самсунг начал свой джерискрипт пилить. v8 сосет у спидерманки по тестам.
>>1015114 > и шустрый С этим я бы поспорил. Хром на момент появления рвал его в клочья. Да и "быстрым" он был, потому что на JS самого кода было мало. Это сейчас js файлы мегабайтами скачиваются ради показа баннера с рекламой.
>>1015114 >после обмазывания плюсами стало миллионостроковое ничитаемое говно У мозилы кстати ахуенный кодстай в отличие от того же гугла и мс-а, всё крайне читаемо.
Кстати, тебя не смущает что уже прошел почти десяток лет, жс вырос в несколько раз, жит тогда только вводили в него (т.е. он несравнимо меньше умел чем текущий), там был уёбский рантайм с говёным сборщиком, без всякой асинхронной залупы из новых стандартов жса, без поддержки asm.js, webgl и ещё триллиарда технологий появившихся в последние 5 лет? Я с таким же успехом могу написать интерпретатор жс на котором можно сделать прыгающую мартышку и пойти сравнить его с jeagermonkey — пиздец сишная простыня на тыщи строк-то.
Кстати, ты это, сходи глянь исходники какого нибудь gcc или питона, там вот прям видно как C в больших проектах хорош, это говно даже ни одна IDE не переваривает, лол.
>>1015134 > мозилы кстати ахуенный кодстай У них для разных компонентов разные кодстайлы. Даже периодически срачи возникают на тему единого кодстайла, который заканчивается ничем, потому что всем всё и так нравится.
Есть ли способ обмазаться свежайшим стандартом на винде, окромя установки свежего gcc на виртуальную линух-машину? Есть ощущение, что мимо меня проходит великое множество весьма важных элементов новых стандартов.
>>1015134 смотрел исходники перла, ваткома, все заебись. код гцц говно, потому, что дохуя макак туда набежала и каждый пушил что хотел, та же проблема и у линупса.
>>1015152 >говорят посмотреть живые, развивающиеся проекты, идущие в ногу с требованиями в этой области в 2к17 >анон отвечает: посмотрите моё мёртвое говно, заброшенное в 2005. Оно же няшное! Это судьба любого большого проекта которых хочет жить, а не развиваться полутора челиками и сдохнуть через пару лет.
>>1015327 плюс к этому щас вывод типов есть в крестах, так чтож это не надо использовать (хотя и раньше всегда недоумевал почему value_type так редко использовали)
>>1015349 Я пишу на Си с классами. Это разновидность С++, где из самого С++ используются только простейшие классы, да и то только для инкапсуляции. Просто на Си заёбывает писать функции уровня void do_somethimg_with_data(data_struct* data, ...);
>>1015414 Так платят парочке спецов, а вкатывальщиков вроде тебя без опыта и вообще нихуя настолько много, что даже за еду никуда не возьмут, тем более с плюсами.
Самая легкая дорога для выката (меньше чем за ~5 лет — жс).
>>1015361 >Я пишу на Си с классами Внезапно — плюсы изначально и были си с классами. Непонятно что такие долбоёбы как ты понимают тогда под "плюсовым" кодом. Ребусы из шаблонов разворачивающиеся в 100 мб исходников? Грузная ынтерпрайз-хуита вроде DI и прочего?
Сап плюсач. Есть задание (типа летней практики в моей шараге):
"Реализуйте два класса. В каждом из классов реализуйте функцию-член, не принимающую параметров. Функции-члены должны быть названы одинаково. Реализуйте свободную функцию, принимающую один параметр таким образом, что объект любого из двух классов может быть безопасно передан в функцию и вышеупомянутая функция-член вызвана. Классы не должны быть связаны отношением наследования (нет общих предков, ни один не является наследником другого)."
А теперь вопрос. Я тут налепил https://pastebin.com/bJePR6Dz на 5 минут и задание какое-то несложное на первый взгляд. Может какие подводные камни есть (это же c++ и они должны быть)?
>>1015472 Ну так у тебя в классе BadClass нет функции-члена bad(), например. Явно же компилятор говорит, что нету такой сигнатуры BadClass::bar() в коде у тебя, но лучшей кандидатурой на оную является void BadClass::bar(int), но в таком случае параметр должен иметь значение по умолчанию хотя бы какое-нибудь. http://rextester.com/AKK60073
>>1015481 BadClass и не должен работать. Я его добавил, чтобы продемонстрировать безопасность кода. Что ошибка вылетит во время компиляции, а не в рантайме.
>>1015457 Внезапно дело в системе. Нормальные рендеры шрифтов с человеческим сглаживанием есть только на шинде и маке (на последнем только для хай-реза).
>>1006097 (OP) Сап аноны Почти 2 года читаю, пока кроме hellowordov ничего не написал, но чую скоро программирование попрет! Прочитал все книги Касперски, пол главы книги по JS, курс по html и css, курс на ютубе по реверсу и крякингу, введение в системное программирование, три главы K&R, половину Лафоре, гайд по Си, а так же скачал все книги Страусупа! Как вкатиться в работу, чтобы взяли джунить на сях? Спасибо
>>1015743 Ты должен понимать, что начинаешь учиться, когда тебе сложно/ты что-то не понимаешь. Я не знаю, какой у тебя уровень. Но любил иногда для разминки codewars.com захаживать. Там есть много заданий, среди них много простых. Посмотри, на что способен. Также есть куча сайтов с олимпиадными заданиями, игры, в которых нужно кодить, чтобы побеждать и т.д.. Ну и есть много ресурсов, которые направлены на обучение практической разработке/формошлёпству.
>>1015755 Задачи люблю решать на си, есть учебник по математике со школы с задачками, вот их решаю. Насколько джуниор должен знать устройство процессора, памяти? Прочитал, но всякие транзисторы плохо укладываются в голове. Когда читал было вроде понятно, но сейчас не вспомню что там и как в деталях.
>>1015773 По работе редко нужно вдаваться в подробности. Мне кажется базовых знаний о компьютере и иерархии памяти должно хватить. Также немного про разные регистры, и способы организации памяти в программах (стек, куча). Это всё нужно, чтобы писать корректные программы на тех же крестах. Но без практики и ошибок осознать эти концепции и полезность их знания сложно.
Изучал вакансии по крестам/си? Есть что-то подходящее?
>>1006097 (OP) поясните за задание плес. с^key это число? то есть берем, например, 'a' это по аски 97 и возводим это в степень значения символа key? а ничего что это ахуенно большое число? и как тут получится исходная строка при повторном шифровании?
>>1006097 (OP) Записался на курсы по С++, 20к за 70 часов обучения. Кто ходил на подобные курсы, реально ли хоть что-то уловить в С++ за 70 часов? Стоит ли оно своих денег? Пока не поздно может дать обратную?
Как установить эту сраную OpenCV? Прописал всё в настройки проекта под x64 по инструкции, а он всё равно не видит .h-файлы. Вписывал, разумеется, 320ые dll, а не 310ые.
>>1016108 Два совета. 1. Ты ввалил за это деньги. Это значит, что ты можешь заёбывать препода. Препода, а не гугл, это важно. Да, самому искать информацию необходимо, но если ты всё равно нихуя не понял после поиска и обдумывания - заёбывай его. 2. Делай как можно больше приближённых к реальности задач. Задрачивание абстрактной хуиты типа напрочь оторванных от действительности примеров - очень скучная практика, которая, к тому же, ещё и имеет низкую эффективность.
>>1016108 Разве что ради того чтобы подоёбывать живого препода, а не гугл. А так смысла с гулькин хуй — программирование чуть менее чем полностью состоит из самообучения, и чем раньше ты к такому привыкнешь — тем лучше.
>>1016121 >Задрачивание абстрактной хуиты типа напрочь оторванных от действительности примеров - очень скучная практика, которая, к тому же, ещё и имеет низкую эффективность. Ахуительный совет. Теперь, будь добр, высри-ка свою классификацию «абстрактной хуиты» и «полезной жизы».
>>1016224 бля, это троллинг? я не верю за 20к я бы тебя по скайпу натаскал вплоть до теплейтов, понимания вир функций и всякой хуйни типа указателей на указатели
>>1016300 >с ключами По-русски совсем не разговариваешь? Какие ключи: реестра, активации, шифрования? >ох лол, ты походу, нулевой Мне не всралось самому библиотеки из исходников собирать, я не для того прогать учился. Хуле нельзя, как в питоне, пакадж менеджером всё поставить за 2 минуты?
Я услышал, что на https://gcc.godbolt.org/ появился CL (компилятор от MS). Теперь гораздо проще обассывать его любителей, наглядно демонстрируя убогость его оптимизатора. Жаль только, что версия там самая новая, в ней оптимизатор стал менее убогим, чем был до 2017-й версии.
Итак, я начну с проверки того, насколько свободно чувствует себя оптимизатор, если ему разрешить нестрого относиться к floating-point арифметике. GCC показал себя более лучше: он превратил произведение корней чисел в корень из произведения.
>>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; }
>>1016580 Не знал, а какая мотивация была так делать? >>1016581 Я довольно давно знаком с плюсами, но кода относительно мало написал, потому таких нюансов как-то не встречал.
>>1016573 >Для тех, кому лень идеоне открывать, соберите вот что и удивитесь: Если тебя удивляет такая хрень, то ты ошибся тредом. Тебе в прикреплённый загон.
>>1016572 >>1016615 Только clang полностью поддерживает идентификаторы в юникоде. gcc поддерживает их только в виде кодов \uXXXX, и то, вроде там какая-то регрессия и они не работают.
Отрекшийся от славы и мечты,
Но для меня непоправимо милый,
И чем тяжелее твой стандарт,
Тем милее мне ты.
Ты фичи новые, поглощаешь, как вино,
Что наяву, не знаешь, что во сне,
Но зелены крестовые твои очи,
Покоя, видно, не нашел в них ты.
И сердце только скорой смерти просит,
Кляня медлительность обновления стандарта.
Всё чаще ветер хипстерский приносит
Те упрёки в легаси, да о смерти те мольбы.
Но разве я к тебе вернуться смею?
Под нежным небом виртуалки
Я только только аллоцировать умею,
И без сборщика мне уже никак.
Так дни идут, печали умножая.
Как за тебя мне Господа молить?
Ты угадал: моя любовь такая,
Что даже ты не смог ее убить.
Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
Прошлый
Теги: кресты, cpp