Этого треда уже нет.
Это копия, сохраненная 16 июля 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
75 Кб, 400x400
C+ #54 — Ренессанса тред #1006097 В конец треда | Веб
А ты теперь тяжелый и унылый,
Отрекшийся от славы и мечты,
Но для меня непоправимо милый,
И чем тяжелее твой стандарт,
Тем милее мне ты.

Ты фичи новые, поглощаешь, как вино,
Что наяву, не знаешь, что во сне,
Но зелены крестовые твои очи,
Покоя, видно, не нашел в них ты.

И сердце только скорой смерти просит,
Кляня медлительность обновления стандарта.
Всё чаще ветер хипстерский приносит
Те упрёки в легаси, да о смерти те мольбы.

Но разве я к тебе вернуться смею?
Под нежным небом виртуалки
Я только только аллоцировать умею,
И без сборщика мне уже никак.

Так дни идут, печали умножая.
Как за тебя мне Господа молить?
Ты угадал: моя любовь такая,
Что даже ты не смог ее убить.

Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/

Прошлый >>1001370 (OP)

Теги: кресты, cpp
#2 #1006124
Часто вижу, как на форумах задают банальные вопросы типа как сделать в С++ хуйнюнейм? Хотя это все расписано в учебниках для ньюфагов в первых главах. Так вот, в такой теме обязательно появится умник, который напишет заумный код в одну строчку типа
subroutine delete_foo_c(foo) bind(C, name="delete_foo")
или
auto compose(T a, E b) -> decltype(a+b)
Почему я уже три года учу С++, а все это дерьмо выглядит для меня как магия? Как мне учить язык правильно, чтобы понимать все это?
#3 #1006137
>>1006124
Первая строка явно не из чистых крестов.
Во второй строке тип возвращаемой переменной функции определяется как тип объекта "a+b"
20 Кб, 1017x570
#4 #1006138
Ньюфаг закатыватся к вам с вопросом.
Прочитал в книге, что можно обратиться к global scope через оператор области видимости. Решил это опробовать на своем примере, с тем условием, что я создал еще одну область видимости в main(). Собственно вот код https://pastebin.com/WqP4CbTs и я хочу вывести переменную f, которую определил в начале.
10061391006293
#5 #1006139
>>1006138
::f попробуй
1006140
36 Кб, 1066x575
#6 #1006140
1006142
#7 #1006142
>>1006140
Понятно. В гугле сказали, что к этой переменной нельзя получить доступ.
https://stackoverflow.com/questions/5187891/accessing-variables-with-the-same-name-at-different-scopes
1006236
#8 #1006152
>>1006124
разбирайся с темплейтами если хочешь понимать "магию"
на самом деле, темплейты в крестах позволяют обойтись без сишной магии сделаной на макросах и void* что такая же непонятная профану вещь
#9 #1006156
>>1006124

>auto compose(T a, E b) -> decltype(a+b)


Питушня из 11-го стандарта.
#10 #1006173
Есть один динамический двумерный массив, нужно добавить ему новую строчку в конце и рандомно ее забить какими-нибудь значениями. Все это в отдельной функции.
Массив в main запилил, в функцию передал, там создал новый массив и вернул его в main, но по-моему это как-то не так делается. Помогите нормальный код написать, плиз.
10061811006185
#11 #1006181
>>1006173
Наверное, "realloc()" здесь поможет.
1006183
#12 #1006183
>>1006181
Забыл добавить, что нужно это сделать без готовых функций, самому.
#13 #1006185
>>1006173
Ого. А давно лабодаунам разрешили сюда входить?
1006187
#14 #1006187
>>1006185
А куда идти лабодаунам ньюфаням, которые не могут простые упражнения из книжки осилить? inb4 работать в макдак
1006236
#15 #1006192
Есть файл a.cpp, в котором описана функция abc(int i). Есть файл b.cpp, в котором описана та же самая функция. Почему линкер ругается, что у меня multiple definition, хотя эти функции находятся не в хэдэрах и в разных трансляционных юнитах?
10061931007311
#16 #1006193
>>1006192
В огороде бузина, а в Москве москали...
При чём тут хедеры? Линкер о них вообще не знает.
10062031006206
#17 #1006203
>>1006193
хэдэры копипастятся в юниты. если бы эти функции были в хэдэрах, то ошибка multiple definition была бы оправдана, так как описанная сущность описывалась бы еще по нескольку раз в других юнитах.
в моем случае есть две разные сущности в двух разных, непересекающихся юнитах, просто с одинаковыми сигнатурами. если я вызываю abc(2) из a.cpp, я никаким образом не могу иметь в виду abc(int i) из b.cpp.
такова моя логика, по крайней мере.
#18 #1006206
>>1006193
А в Киеве дядька бандеровец.
1006208
#19 #1006208
>>1006206
Бандеровцы во Львове. В Киеве Илюша.
1006211
#20 #1006211
>>1006208
Бузина кстати лекарственное растение, полезное, вот дядька-то здоровый и разъезжает по всему миру, в Киев заглянул. Все логично же. Не было бы бузины - дядька бы заболел и лежал дома или в местной больнице.
#21 #1006236
>>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-файла.
1006318
#22 #1006293
>>1006138
Ты переопределил f в локальной области видимости, из предыдущей ты ее не достанешь. Другое дело, что если бы переменная была в анонимном пространстве имен или указана в ГЛОБАЛЬНОЙ области видимости, тогда доступ к ней можно было бы получить через ::f
#23 #1006303
Почему языки C/C++ не считаются функциональными языками программирования?
1006307
#24 #1006307
>>1006303
Потому что допускается ручное управление памятью.
#25 #1006316
Знаю, что обоссыте, но да ладно. Аноны, кто учился по книге Страуструпа "Принципы и практика...", как вы решили следующее упражнение из 14 главы: Определить класс Striped_closed_polyline.
1007832
#26 #1006318
>>1006236

>И тут ты, такой, показываешь код, в котором ты вызываешь функцию из cpp-файла.


что блядь? ты ебанутый?

//a.cpp
void abc(int i)
{
//
}

void ClassA::callabc()
{
abc(2);
}
10063231006325
#27 #1006323
>>1006318
Манька считает, что если функция заявлена в заголовке, но определена в другом файле, то она принадлежит этому файлу?

Читай про раздельную компиляцию. Это я любя.
#28 #1006325
>>1006318

>Манька считает, что если функция заявлена в заголовке, но определена в другом файле, то она принадлежит этому файлу?


ты реально шизик какой-то
10063421006490
#29 #1006330
>>1006203

>хэдэры копипастятся в юниты. если бы эти функции были в хэдэрах, то ошибка multiple definition была бы оправдана, так как описанная сущность описывалась бы еще по нескольку раз в других юнитах.


Ещё раз: линкеру глубоко фиолетово, скопипастились ли функции из хедера или ты их сам скопипастил.
1006331
#30 #1006331
>>1006330
уже понял, спасибо
#31 #1006342
>>1006325
Если ты считаешь, что функция объявленная в CPP-файле принадлежит этому файлу, то как по-твоему к этой функции получает доступ другой код, который этот ЦПП-файл не инклудит? Ебанат.
#32 #1006445
Школьникам надо вбивать в головы, что C родился как надстройка над макроассемблером, а C++ — как надстройка над С.
И что в первую очередь всё идёт по старинке через листинги, встраивания одного в другой и прочих подобных текстовых штук.
#33 #1006490
>>1006325
Анонимные пространства имен ввели именно для того, чтобы в каждом юните трансляции, использующем его, было свое уникальное определение того же члена, например. Когда ты объявляешь и определяешь функцию в исходном файле, тебе будет только казаться, что объявление функции существует только в глобальной области видимости текущего сорца, на самом деле, функция будет иметь статическую линковку и, объявив еще одну такую же функцию с такой же семантикой ты словишь ошибку компиляции, поскольку будет существовать два одинаковых объявления, но разных в своей сущности. А почему, а потому что линковка СТАТИЧЕСКАЯ!
Если бы ты использовал анонимное пространство имен и в нем объявлял функции, скажем, в каждом юните трансляции у них, не смотря на одинаковую семантику, были бы разные имена.
Думаю, тебе стоит почитать вот это http://en.cppreference.com/w/cpp/language/storage_duration (стандарт читать не советую, во всяком случае, в начале, потому что объебешься и не раз!)
10064951006580
#34 #1006495
>>1006490
Не статическое, а внешнюю линковку, конечно же. Совсем заебался.
#35 #1006555
Хули у крестотреда нет канала в телеграмме?
1006568
#36 #1006568
>>1006555
Нахуя ему тогда тред нужен будет?
Олсо, мутили уже канал, в слаке правда. Загнулся, насколько я помню.
#37 #1006580
>>1006490
спасибо, пофиксил.
#38 #1006586
Ананасы, есть проект на Qt, к которому я хочу прилепить MVC. Есть модель и контроллеры, которые по сути является просто набором статических методов для работы с моделью. Теперь куда лепить слоты? Вот в view надо при нажатии кнопки вызывать метод контроллера, мне привязывать его напрямую к функции этой или создать отдельный класс ViewController и объявлять в нем нужные для View слоты? Или к уже существующим контроллерам прилепить эти слоты?
#39 #1006733
Подскажите, насколько сложно сделать типа калькулятор для нелинейных и трансцендентных уравнений. Нужно, чтобы вылезало диалоговое окно, куда ты вносишь нужные данные и прога тебе самостоятельно все подсчитывает и выдает ответ
#40 #1006773
>>1006733

> куда ты вносишь нужные данные


В каком виде? Уравнение текстом? Параметрическое, система уравнений?
Достаточно сложно, если не шаришь в деревьях и численных методах. К тому же уравнения такие бывают, что конкретный численный метод вообще неприменим в каком-то случае и потому он будет выдавать полную чушь. Чтоб учесть все разновидности это можно сотни часов разрабатывать.
А если у тебя что-то вида tg(x)=x^2, то если функцию в код вбивать или изолентой примотать какое-нибудь lua чтоб через диалоговое окно, то работы минут на 40. Ну и да, с таким подходом всегда можно будет специально подобрать такое уравнение, что программа пропустит какое-то решение (или будет жутко долго работать).
10068611008021
#41 #1006804
Кресты язык богов, лучший язык на свете, ничего лучше я в жизни не видел. В этом языке есть все что тебе нужно. Это шедевр. Плюсыыыыыыыыыыыыыы!!!!!!
#42 #1006807
>>1006733
Конечный автомат гугли.
#43 #1006835
sup.
Я очередной вкатывающийся в плюсы и пришёл за советом по книге. И тут меня отправляет читать шапку я её прочёл
Собственно запрос на этот раз, наверное, специфичный. Плюсы для меня станут 3-им языком. Ничего серьёзного не планирую хотя как знать, на этот раз хочу изучить просто для себя.
Собственно суть запроса - ищу книгу, да покороче. Так, шоб поменьше воды и распинаний о полиморфизме.
Например, в Питоне есть книга "Укус питона", всего на 150 страниц, которая плавно и мягко вводит в синтаксис и конструкции языка. Ищу нечто похожее.
10068411007323
#44 #1006841
>>1006835
Ты на 20 лет опоздал.
В тех областях, где пишут на C++, как раз наоборот запутывают всё, что только можно, чтобы вытянуть из вояк и мусаров хоть сколько-то денег, «пока не сократили».
И не только в этой стране.
#45 #1006861
>>1006733
>>1006773
збс в вузе мухосранска на 1 курсе курсовая
#46 #1007255
#47 #1007257
где учить эту всю хуйню?
1007271
#48 #1007271
>>1007257
На нарах.
#49 #1007297
Что круче, раст или кресты?
В крестах стоит шишка на мощные шаблоны (на них можно написать даже твою мамку), обилие библиотек. Напрягает больше всего отсутствие единой системы сборки и стандартного менеджера пакетов. Захочешь подключить либу к проекту - начинается ебля, а если еще и надо собрать под несколько платформ, то вообще вешайся.
В расте всё тоже 10 из 10, cargo рулит, менеджер пакетов, единая система сборки, юнит тесты из коробки. Сам язык тоже неплохой, то, что на расте можно выразить match'ем из 5 строчек в С++ превращается в switch из 20-30.
Что в итоге выбрать? Оба языка офигенные, но надо выбрать один.
#50 #1007303
>>1007297

> но надо выбрать один


Тогда haskell. С остальными одним языком не обойдёшься.
#51 #1007311
>>1006192
Оберни в неймспейсы или классы и будет тебе счастье
#52 #1007316
>>1006203
С т.з. языка по сути нет разницы, в каком файле что. Получается, что всё как бы собирается в один мегалистинг. Разделение нужно для удобства и для компиля (ему чтобы дважды не компилить одно и то же)
#53 #1007323
>>1006835
Честно говоря, иногда складывается мнение, что плюса выучить практически не реально. Говорят, что за 5 лет упорного фигачинья на них доростаешь до джуна. Я начинал разбирать его по Ишковой, потом Павловская как справочник. М.б. не лучший вариант, но в местных книжных ничего лучше не было. В принципе, Ишковой для уровня "пописать лабы в универе" вполне хватает.
1007501
#54 #1007327
>>1007297
C++ перестаёт быть языком общего назначения, понемногу теряет ниши. Поэтому никто не горит желанием заменить этот язык на что-то современное. Можно сказать, что кресты ещё будут долго жить как легаси-говно (формошлёпство на VCL aka C++ Builder, MFC, Qt) или как основной язык для высокопроизводительных приложений и прочей подобной мишуры.
А насколько солнечное будущее у раста, я не могу сказать.
#55 #1007426
>>1006097 (OP)

>Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki


>Параллельное программирование на C++ в действии


>C++. Стандартная библиотека


Ссылочки то сгнили на дропбоксе. А жаль.
1007475
#56 #1007431
Есть ли хоть какой-то теоретический смысл когда-нибудь перекатиться на плюсы, если ты аспнет-сениор?
1007496
#57 #1007475
>>1007426
Там в самом верху написано где их искать.
А вообще, что за ебланы заливают для публичного доступа файлы на дропбокс?
#58 #1007496
>>1007431
под "теоретическим смыслом" следует понимать даст ли тебе изучение с++ какие то новые знания о языках программирования и о cs в общем?
нет конечно
лучше уж rsharp поиграйся, он из ml-семейства
1007679
#59 #1007501
>>1007323
о да, что только не выбирают, лишь бы не читать книги самого страуструпа
#60 #1007502
>>1007297
после 10ти лет изучения крестов ты хоть сможешь устроится тыщ на 20 в провинции ну или на 60 в дс
с растом этого же никогда не произойдет, ты здохнешь от голода
выбирай
1007636
#61 #1007605
Надо ли определять конструкторы в абстрактном классе?
#62 #1007610
>>1007605
Как хочешь. Обычно присущее всем наследникам описывается в конструкторе абстрактного.
1007619
#63 #1007614
>>1007605
"Абстрактный класс" - это, по-стандарту, класс, который может быть использован, как базовый. То есть, в нём не определён хотя бы один метод, например. Вопрос не имеет смысла.

Конструктор будет дефолтный, если кто-то захочет использовать твой класс, как базу. Устраивает тебя это или нет - решать тебе.
1007631
#64 #1007618
Какого хуя до 11 стандарта была одна ссылка, а после - стало пять видов?
Вы че там, поехали?
10076231007624
#65 #1007619
>>1007610
Ну а если ты объявишь конструктор, но не определишь его, то этим придётся заниматься тому, кто твой код будет использовать.
1007625
#66 #1007621
>>1007605
class A { virtual void foo() = 0; };

Скомпилится. Как видишь - не обязательно.
#67 #1007623
>>1007618
Разная роль у них у всех.
1007627
#68 #1007624
>>1007618
Та это в коллегии наркоманы сидят, идей не было, а у буста выкатили всякие умные/общие указатели. Ну они и сказали "малаца хорошо сделали" и появился у сиплусплус свой GC
#69 #1007625
>>1007619
Как блять можно объявить и не реализовать не виртуальный метод?

Тот, кто его будет использовать, это как? Тот, кто возъмет этот былокод анона и допишет его до компилируемого состояния? Это тут имеется ввиду?
1007643
#70 #1007627
>>1007623
Это самое ебаннутое и не нужное добавление (вернее - нужное, но блять не таким ебанутым способом).
#71 #1007631
>>1007614
Чо за хуйню ты пишешь?

struct A {};

Это чо, абстрактный класс? Запросто могу сделать его базовым, хоть для ABC класса.

Абстрактный класс - класс с хотя бы одним pure virtual методом.
Достаточное определение. Базовый он там, или нет - дело третье.
1007643
#72 #1007633
Раньше наш код был в стиле ООП, скучный и однообразный.
Сидели мы и пилили кучу полиморфных классов.

Но с лямдами! Шаблонный полиморфизм! Мы угарели по Александреску!
Начали биндить, лямбды заворачивать в лямбды.
Казалось, еще чуть-чуть, и наш фреймворк станет походить на интерпретатор питона.
#73 #1007636
>>1007502
В ДС вакансии сеньеров от 150К начинаются.
1008522
#74 #1007638
Ну вы чо там?
Эй, пшш..
Крестовики. У меня есть вопросы к вам.

Скажите мне, что такое лямбда с точки зрения компилятора? (что это автоматически генерируемый функтор - рассказывать не надо)
А вот, как она создается, на стеке или нет, статическая?
Что будет с переменными области захвата если я уничтожу контекст ее объявления (созания)?
#75 #1007640
Или мож обсудим идеальную передачу на первом канале
#76 #1007643
>>1007625

>Как блять можно объявить и не реализовать не виртуальный метод?


Почему виртуальный? Любой.
http://ideone.com/DUCdRA
http://ideone.com/eg26Q0
Виртуальный/невиртуальный - без разницы.
>>1007631
Иди нахуй. Мой пост содержит ошибку, которую ты мог исправить, вместо этого ты хуйню написал.
>>1007638
Про generic lambda спроси тоже.
10076451007647
#77 #1007645
>>1007643
А накой хуй нужен этот неиспользуемый текст в твоих сорцах?
10076491007652
#78 #1007647
>>1007643
Generic lambda - это отличный показательный пример переизобретенных костылей в плюсах.
1007652
#79 #1007649
>>1007645
PS
Я про декларацию метода хуйпизда который, мало того, нигде не используется, так его нигде использовать далее и не удастся. Накой хуй какому-то разработчику далее использовать этот класс, по сути расписывая его реализацию? НАХУЯ?
1007654
#80 #1007650
>>1007638
Возьми да зареверси. Нам потом расскажешь.
1007653
#81 #1007652
>>1007645
Нахуй вообще нужны сорцы, если я могу послат тебя читать стандарт?
>>1007647
Это было бы так, если бы можно было бы иметь шаблоны в локальных классах. Но так, как нельзя, то генерик лямбды вместо них.
1007655
#82 #1007653
>>1007650
Ну я молодой и не опытный джун.
Пологаюсь на мудрость сеньер-сеньерыча анона в этом треде.
1007656
#83 #1007654
>>1007649
Сам реши.
#84 #1007655
>>1007652
Изврат какой-то.
Использование не POD-ов в качестве вложенных типов - моветон и фу-фу так делать.
1007698
#85 #1007656
>>1007653
Ты задаёшь очень специфичные вопросы, которые крестовикам нахуй не уперлись с точки зрения гипотетического обсуждения. Когда реально понадобится узнать, во что компилируется лямба - я расчехлю ollydbg чтоб найти VA кода, в котором вызывается лямбда, а в IDA посмотрю ассемблерный листинг. Но смотреть это специально мне, естественно лень и не представляет ценности на данный момент.
1007659
#86 #1007659
>>1007656
Да нихуя ты там не поймешь.
1007660
#87 #1007660
>>1007659
Кокой хитрый ход.
1007661
#88 #1007661
>>1007660
А тоже. Переход по вектору прерывания.
Ваш ход, коллега хотя я не знаю там, кто ты, может ты и не коллега, но будем считать что коллега
#89 #1007663
Ну де, аноны
Мне скучно.

Давайте похаливарим от души.
1007698
#90 #1007672
Давайте обсудим, почему использование auto и declspec в некоторых проектах считается зашкварным.
#91 #1007673
>>1007672

>declspec


decltype, быстрофикс. Я сишник.
#92 #1007674
>>1007672
Никогда не слышал про такие тупые запреты.
Если decltype может приводить к трудночитаемой лапше и иногда лучше запретить своим макакам тыкать в это палочкой, то про auto — совсем дикость.
#93 #1007675
Аноны, как сейчас взаимодействуют друг с другом си и с++?
10076761007698
#94 #1007676
>>1007675
C++ может сувать в С, но не наоборот. Как человеки и человечицы карочи.
#95 #1007677
>>1007672
В каких?
#96 #1007679
>>1007496
Нет, я больше про карьеру. В смысле, если я параллельно буду задрачивать плюсы, то смогу ли уйти на более элитную (и сложную, вероятно) работку с перекатом на плюсы, или оно того не стоит? На уровне необходимых знаний для каждого спеца я их и так знаю.
1007683
#97 #1007683
>>1007679
Ну ты определённо получишь какие-то знания, которые могут пригодиться в других сферах.
#98 #1007698
>>1007655
Дак хрен бы с ними со вложенными типами. Я, например, хочу тимлит-функцию в функции определить. Что мне делать? Я бы сделал тимплит-функтор, а вот хуй.
>>1007663
Хочу безопасное с какой-либо точки зрения подмножество C++, твои предложения?
>>1007672
Потому что легаси-компиляторы поддерживать надо, МБ.
>>1007675
В стандарте С++ есть ссылка на библиотеку C, например. В C++ нельзя делать безразмерный массив в конце структуры, например. Есть другие мелкие различия, но в коде С зачастую просто не нужен последний стандарт, поэтому несоответствия непринципиальны.
24 Кб, 1440x900
#99 #1007702
>>1007638

>что такое лямбда с точки зрения компилятора?

1008049
#100 #1007780
>>1007638
Для лямбд и замыканий нужен сборщик мусора, иначе всегда будет хуита.
#101 #1007782
>>1007638

>> Скажите мне, что такое лямбда с точки зрения компилятора


Грубо говоря, стандарт определяет лямбда-функцию как класс с определенным operator(), как std::function, например. Только вот std::function компонуется во время выполнения со всеми вытекающими (динамическое выделение памяти для захватываемых объектов, если встроенной памяти не хватает и т.д.), в то время как лямбда уже генерируется компилятором в соответствии со списком захвата и прочим, прочим (не стоит забывать, что в c++14 лямбда может иметь в качестве аргументов автоматически выводимые типы)

>> А вот, как она создается, на стеке или нет, статическая?


У нее статическое время жизни, скорее всего, точно тут не скажу. Ты можешь попробовать передать лямбду с некопируемым членом в списке захвата:

>> std::unique_ptr<A> aPtr;


>> auto lambda = [ptr = std::move(aPtr)] () { ... };


Попробуй ее завернуть в std::function и увидишь, как компилятор тебя напинает, потому что будет вызван копирующий конструктор, можно попробовать с std::move замутить передачу, но мне лень.

>> Что будет с переменными области захвата если я уничтожу контекст ее объявления (созания)?


Смотря как ты их передал, если по значению, нихуя не будет, если по ссылке - объебешься, потому что захватить она именно ссылки.
65 Кб, 700x454
#102 #1007794
Посоны шарящие в OpenMP, поясните, вот такой
https://ideone.com/TXCq4E
код должен выполняться или должен в дедлоке быть?
Чёт читаю доки OMP и не могу понять. И ко всему этому во всех свежих компиляторах этот код нормально выводит строку. А в продакшене на GCC 4.9.2 при входе во вторую critical section зависает. Будто обе CS для него одно и то же.
1007812
#103 #1007806
Может ли компилятор в целях оптимизации выпиливать неиспользуемые функции?
#104 #1007807
>>1007806
Т.е. не оптимизации, а уменьшения объёма скомпилированного файла
#105 #1007810
#106 #1007812
>>1007794
Не шарю в OpenMP, предлагаю открыть баглист GCC и искать сооотв. баги на 4.9.2
1007813
#107 #1007813
>>1007812
Походу нашёл уже.

> Все неименованные критические секции условно ассоциируются с одним и тем же именем. Все критические секции, имеющие одно и тоже имя, рассматриваются единой секцией, даже если находятся в разных параллельных областях. Побочные входы и выходы из критической секции запрещены.



http://edu.chpc.ru/parallel/mainse5.html
#108 #1007818
>>1007806
Нет. Если они не статические.
#109 #1007819
>>1007806

> Может ли компилятор в целях оптимизации выпиливать неиспользуемые функции?


Да. Изи доказывается экспериментально
#110 #1007829
Как правильно использовать вывод встроенного типа в поток ostringstream? https://ideone.com/ID6qLE

Интересует использование конструктора ostringstream ret(t) против использования оператора вывода с предварительным объявлением переменной и тратой лишней строки ostringstream ret; ret << t;

Какие подводные камни?
1007856
#111 #1007832
>>1006316
Погоди полгодика, дойду до нее - вместе решим.
#112 #1007839
http://my-it-experiments.blogspot.ru/2015/05/raii-c.html

Для чего функция inline auto scoped объявлена inline? Насколько часто надо объявлять функции встраиваемыми и когда это надо делать?
1007857
31 Кб, 779x139
#113 #1007856
>>1007829

>Интересует использование конструктора ostringstream ret(t)


Где ты увидел конструктор для произвольного типа T?
http://en.cppreference.com/w/cpp/io/basic_ostringstream/basic_ostringstream
#114 #1007857
>>1007839
Перестраховка, наверное. Темплейты функций inline по-умолчанию.

P.S. inline не имеет никакого отношения к встраиваемости; inline относится к one definition rule. inline для оптимизации — это было 40 лет назад.
1007927
#115 #1007916
Не хочу плодить треды, а вы тут наверняка работаете с GDB.
Где можно почитать, как GDB коннектится с сервером? Стоит задача написать сервер, который мог бы что-то отправлять GDB и получать ответ.
#116 #1007927
>>1007857

>inline относится к one definition rule


Объясни подробнее. При чем тут inline?
10079461008029
#117 #1007946
>>1007927
Раньше подразумевалось "inline-тело", теперь "inline-определение". В С++14 inline был зарезервирован, в С++14 писать inline нельзя.
1008028
#118 #1007995
И так. Получение системной даты и времени. StackOverflow говорит, что localtime(). VS2017 говорит, что так не надо, а надо localtime_s(). gcc7.10 говорит, что так тоже не надо, но альтернатив не предлагает.
А теперь вопрос: как платформо-независимо получить дату, используя лишь стандартную библиотеку?
10079991008031
#120 #1008012
>>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()
1008019
#121 #1008019
>>1008012
http://www.cplusplus.com/reference/ctime/localtime/
http://en.cppreference.com/w/c/chrono/localtime

Ну оба способа должны работать. localtime_s - это функция из C11, нужно подключать time.h вместо ctime (как я понял, сам-то не проверял нифига). В современном стандарте C++ localtime_s не существует.
1008039
#122 #1008021
>>1006773
По поводу ввода функции, можно понаделать лямбд, им сопоставить текстовое название функции и потом из них собирать уравнение. Сам так сделал. Батя грит малаца
#123 #1008028
>>1007946

> В С++14 inline был зарезервирован, в С++14 писать inline нельзя.


Ты что несёшь, поехавший?
#124 #1008029
>>1007927

>>inline относится к one definition rule


>Объясни подробнее. При чем тут inline?


При том, что ODR не распространяется на inline функции и (начиная с C++17) переменные.
#125 #1008031
>>1007995

>VS2017 говорит, что так не надо, а надо localtime_s().


Посылай его в пизду.
#126 #1008039
>>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, все равно он у меня к проекту подключен. Но все же хочется-то стандартными методами!
1008040
#128 #1008049
>>1007702
Что тебе построило такой анализ?
1008052
58 Кб, 1440x900
#129 #1008052
1008098
#130 #1008098
>>1008052
А dump_tree.cpp что такое?

Не использует кланг.
1008099
#131 #1008099
>>1008098

>А dump_tree.cpp что такое?


Это файл с кодом. Его содержимое в самом начале скриншота выведено.
#132 #1008158
Как заставить функцию встраиваться с FORCEINLINE без использования оптимизации в вижаке, с оптимизацией все встраивается, но мне нужно без оптимизации.
10081601008162
#133 #1008160
>>1008158

>FORCEINLINE


Очевидно, это дефайн, который зависит от текущего уровня оптимизаций. Сделай чтоб не зависел.
#134 #1008162
>>1008158
__forceinline
1008225
#135 #1008225
>>1008162
Тоже самое
#136 #1008294
помогите, мать снова отправляет меня к бабушке в деревню, поэтому в ближайшие 2.5 месяца у меня не будет пеки и я не смогу вкатываться в кресты. есть ли какие нибудь способы писать код на андроид смартфоне и запускаиь его?
10082961008303
#137 #1008296
>>1008294
Интернет будет?
https://wandbox.org/
1008311
#138 #1008303
>>1008294
Самый тупой вариант:
http://coliru.stacked-crooked.com/
ideone.com

Пошукай xda-developers и прочие сайты, наверняка на андроиде уже можно компилять, лишь бы текстовый терминал был (для запуска компилятора)
1008311
#139 #1008311
>>1008296
>>1008303
Самая большая проблема в клавиатуре, на ней жутко неудобно работать
1008315
#140 #1008315
>>1008311
блютуп есть
1008440
#141 #1008440
>>1008315
внешней клавиатуры нет
1008462
#142 #1008462
>>1008440
Купить сложно?
1008525
#143 #1008522
>>1007636
ну так то сеньоры, а то ты
#144 #1008525
>>1008462
денег нет
10085321008581
#145 #1008532
>>1008525
Поговори с мамкой, на копеечное устройство она чаще всего денег даст, это не смартфон.
1008613
#146 #1008581
>>1008525
Купи с рук, поюзай, продай.
1008613
#147 #1008601
А какие шарперы сейчас больше всего получают и ценятся? Куда кроме очевидного веба/асп можно вкатиться?
#148 #1008603
Анончики, подскажите. Есть необходимость написать cuda-приложение, но у меня на ноуте нет даже видеокарты. Если я арендую gpu-инстанс, не слишком ли геморойно будет писать код в visual studio на ноуте, а билдить на этом инстансе?
1010656
#149 #1008613
>>1008532
>>1008581
Мы бичи, живем в коммуналке, денег очень мало, иногда даже есть нечего.
129 Кб, 1656x385
#150 #1008644
может кто нибудь обьяснит почему не работает
#151 #1008648
>>1008644

>sin^2


>cos^2


>отсутствие форматирования


>кто нибудь обьяснит


Нет.
#152 #1008649
>>1008644
Иди утопись в деревенском сральнике нахуй, дегенерат. Ненавижу таких долбоебов, блять, элементарного синтаксиса не знают, и ведь даже в голову им не придет, что можно открыть справочник или учебник и понять, что ты кусок высерка с лишней хромосомой. Нет блять, пойду спрашивать у анона, сам не понимая, что я делаю. Уебище блять, сдохни, тупой кусок поноса.
1008657
#153 #1008651
>>1008644
Ты же не в квадрат синус возвел, аутист, мать ебал с отцом
80 Кб, 1915x1029
#154 #1008656
>>1008644
схоронил
#155 #1008657
>>1008649
я прекрасно понимаю что делаю
#156 #1008709
сап Двач, нюфаг в треде
возможно ли сделать глобальную переменную и редактировать её так чтобы все изменения сохранялись в ней же?
25 Кб, 740x201
#157 #1008712
>>1008709
сап Ньюфаг, динозавр в треде
я тебя съем
#158 #1008717
>>1008709
Как могут изменения не сохранятся в переменной, которую ты редактируешь?
1008718
#159 #1008718
>>1008717
Видимо он имеет в виду многопоточность.

>>1008709
Используй volatile
1008735
#160 #1008735
>>1008718
volatile не имеет отношения к сохранению изменений в переменной, он имеет отношению к чтению переменной.
1008794
#161 #1008779
>>1008709

>нюфаг в треде


Не в тот тред пришёл.
#162 #1008794
>>1008735
А что тебе нужно? Чтобы 2 потока одновременно писали, так нельзя. Для синхронизации используй мьютексы/семафоры.
1008814
#163 #1008806
В БД дата хранится в формате '2017-06-14'. Как мне ее переформатировать после извлечения и в какой формат? В std::time_t?
1008808
#164 #1008808
>>1008806

>В БД дата хранится в формате '2017-06-14'.


Што, прямо строкой хранится?
1008809
#165 #1008809
>>1008808
Нет, в поле типа DATE, но возвращается строка.
10088181008819
#166 #1008814
>>1008794
Ты не с ориджинал постером разговариваешь. Я тоже не знаю, что ему нужно.
#167 #1008818
>>1008809
Строку распарсить встроенными регексами, потом
http://en.cppreference.com/w/cpp/chrono/c/mktime
http://en.cppreference.com/w/cpp/chrono/c/tm

Что ты будешь делать с часами и минутами, если известен только день - твоё дело.
#168 #1008819
>>1008809
И вообще, пусть возвращает в чём-то другом.
#169 #1008861
Посоветуйте удобную библиотеку sqlite, но не Qt. Сейчас я в поиске подходящей обертки над сишными апи.
1008866
#170 #1008866
>>1008861
Или подскажите, как самому написать обертку, удовлетворяющую следующим приблизительным требованиям:

1) Одно расшаренное соединение с БД как при использовании синглтона или указателя с кастомным удалятором
2) Возможность извлекать как строку таблицы, так и несколько строк
3) Удобное преобразование в требуемые типы данных

Как написать такие классы? В каких структурах данных хранить извлеченные данные?
1008954
#171 #1008935
Здравствуйте. Обращается к вам студент, ничего не знающий, но устроившийся околопрограммистом на работу (надо численный метод реализовать). Но вопрос не является очередным тупым вопросом по коду, а относится к среде visual studio. Помню, как нас учили работать с windows form, но, скачав visual studio 2017, обнаружил, что это дело задвинули в среде очень далеко. Почему? Совсем неактуально? Надо осваивать что-то другое, чтобы окошко рисовалось красиво? Насколько необходимо?
Недолго порыскав по вкладке "Создать проект" наткнулся на проект, использующий конструктор XAML. Это то, что ныне используется? Извините за глупые вопросы,спасибо.
#172 #1008954
>>1008866
если вкратце то с orm в крестах все традиционно хуево
#173 #1008956
>>1008935
ты уже работаешь на работе, сладенький
давай ебошь как нибудь сам
1008958
#174 #1008957
>>1008935
GUI на крестах давно переехал на Qt
#175 #1008958
>>1008956

Ебошить я буду, не волнуйся, вопрос скорее о вашем мнении по всяким конструкторам окошек. С Windows Frames то я справлюсь, интересно, что думают продвинутые программисты по всему этому делу и в чем они сами работают.
1009290
#176 #1009081
>>1008935
Винформы - это чистый .NET и следовательно C#, кресты там прикручены костылями.
На крестах гуйню пишут с помощью Qt и wxWidgets.
#177 #1009135
Почаны, подскажите, кто-нибудь занимался созданием софта, мониторирующего состояние и производительность систем? Отдельно взятого компа или сервера, включая проверки температур, свободного места, загрузки и быстродействия сети, а также наличия ошибок и нештатного поведения в программных пакетах.

Если да, подскажите с чего стоит начать, может есть какие-нибудь опенсорсные библиотеки?
10091621009289
#178 #1009159
>>1008644
sin^2(..) - неправильно
pow(sin(...), 2) - правильно
#179 #1009162
>>1009135
Если линупс, то пиши на Баше или Пейтоне.
1009222
#180 #1009163
Ищу работу на 200+ штук, сам в ДС, могу в релокацию.
10091691009287
#181 #1009169
>>1009163
Молодец, ищи дальше.
#182 #1009208
Расскажите, в чем суть развертывания пакета в variadic templates. Нихуя не понял.
1009232
#183 #1009222
>>1009162
фронт энд в любом случае должен быть сделан под винду.
#184 #1009232
>>1009208
Суть в том, что пакет совмещается со списком аргументов жадным образом - на список аргументов натягивается столько элементов пакета, сколько можно. Как этим воспользоваться: нужно задать аргумент, на который может налезть член пакета + пакет, и задать заземляющую функцию, у которой аргументов нет.
#185 #1009287
>>1009163
смотри не продешеви
#186 #1009289
>>1009135
блядь, да это целая отрасль индустрии по
конечно "занимается"
иди гугли, деб
#187 #1009290
>>1008958

>не волнуйся


нет, я, блядь, поволнуюсь
когда нулевое говно берут "на работу" а я тут от голода подыхаю
1009299
#188 #1009299
>>1009290
В своих проблемах виноват только ты, быдло.
1009302
#189 #1009302
>>1009299
только не ной когда в свое время ТЕБЯ заменят студентом
1009305
#190 #1009305
>>1009302
Быть хикки-НИИТом мне не привыкать, а вот для таких как ты это потрясение. Соси хуй, быдло. И работай как все за 15к.
#191 #1009553
Сап пррррр. Сам нюфаг. Выражаюсь как мудак, но разъясните, пожалуйста.
Можно ли сделать метод(или функцию) в методе класса? Или вызвать функцию в методе класса.

Ну грубо говоря. Сделал класс "плита". В нем метод "взять геометрию". В методе берутся длина, ширина, толщина. Чтобы в мейне ввести длину, ширину и толщину я могу как-то вызвать метод и ввести только длину или ширину или толщину? Или я должен на каждую величину сделать свой метод?

Пишу как мудак, прошу не обоссывать.
1009556
#192 #1009556
>>1009553
Описать - нет такое можно делать в интерпретируемых языках или языках на C#. Вызвать в методе класса - да. Передавать параметры в метод класса можешь, да.
1009557
#193 #1009557
>>1009556
Описать тело функции в методе класса имел в виду
1009562
#194 #1009562
>>1009557
То есть делать ввод величин не в мейне, а в методе сразу?
А такая запись считается нормальной? Ну в смысле никто не скажет посмотрев на код:"Вот мудак, кто ж так пишет?!"
1009571
#195 #1009571
>>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->w
this->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;
}
#195 #1009571
>>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->w
this->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;
}
1009573
#196 #1009573
>>1009571
ой, епт твою мать. Разметка скушала звездочки как знак умножения. Вечно про это забываю. Надеюсь, суть ты понял.
1009578
#197 #1009578
>>1009573
Да, понял. Спасибо!
10 Кб, 494x204
#198 #1009706
Запутался.
Вот у меня есть структура в классе, которая нигде кроме него не используется. При добавлении в vector как снизу там будет неявный конструктор копирования? А при использовании как справа?
А если в такой структуре в конструкторе я выделяю память чем new/delete, то мне вот при таких передачах как аргумента надо заботится о этих выделениях памяти больше обычного, или оно там само правильным образом вызовет все деструкторы для созданных копий?
10097321009878
#199 #1009732
>>1009706
Если тебя так смущают внутренние классы, то может, не стоит тебе их использовать? Сделал бы в этом же файле в анонимном неймспейсе и не парился.
#200 #1009878
>>1009706
Переопредели нужные конструкторы и проверь, хули ты тут мозга ебёшь.
36 Кб, 1136x757
#201 #1009935
Анон, помоги пожалуйста с очень серьёзной и сложной для меня задачей.
Есть класс MyString, который ссылается на
Есть вспомогательный класс Counter, который является "оберткой" для строки и содержит вспомогательные данные, которые в частности позволят избежать дублирования данных. Он реализован в виде односвязного списка и являет собой статические данные.

Как отсортировать этот список, что бы строчки были в алфавитном порядке
я сортирую пузырьком и меняю местами сами данные, при этом не трогая саму структуру списка, но возникает проблема, что данные меняются, а члены класса MyString продолжают указывать на те же самые элементы списка Counter, а это неверно, потому что данные то поменялись
не могу придумать как решить эту проблему
https://pastebin.com/jG4cAk9Y
1010015
#202 #1010015
>>1009935
свапай поинтеры, а не данные
#203 #1010335
У меня стоит VS2017 Community. Как создать оконное C++ приложение? Windows Forms доступны для C# и для VB, но не для крестов. Может их отдельно надо ставить?
#204 #1010338
>>1006097 (OP)
сап двач что это за хуйня
http://cpp.sh/7qrhx
10103461010423
#205 #1010346
>>1010338
И что блять такое char mass(i,n)?
Двумерный массив? Судя по всему да, тогда скобочки не те.
#206 #1010367
>>1010335
https://msdn.microsoft.com/library/bb384843.aspx
В сказку, думаешь, попал?
#207 #1010387
>>1010335
Используй фрейморки типа QT
286 Кб, 1200x800
#208 #1010422
Есть три способа обхода итераторов:
for(begin++!=end)
for_each(begin,end, lambda)
for(auto el : smthWithBeginAndEnd)

Сейчас использую первый и третий по ситуации, приоритет у последнего.
Возникает вопрос: имеет ли смысл использовать for_each? Могу вкатиться в лямбды, но пока особо этим не занимаюсь, потому как код в целом прост и чист, да и for_each с нехилым блоком исполнения визуально ни разу не красивее обычного for с итераторами.
Может там какие-то оптимизации, мне неизвестные?
Просветите.
10107501010850
#209 #1010423
>>1010338
cpp.sh/942fc

Оно у тебя бесконечное и тупое.
И с инициализацией массива что-нибудь сделай, это тебе не пых и не жабоскрипт, ёпта!
#210 #1010425
>>1010335
wxWidgets, для уродливых рюшек — GTK/Qt.
Если готов сам с нуля всё делать и чтобы красиво бегало на видухе — SFML.
Качаешь, компилишь, линкуешь, вкатываешься в маны.
#212 #1010434
Завели допустим массив символов
char* arr = char[10].

Тогда в arr[0]...arr[9] - место под символы. А где хранится сам размер массива?
#213 #1010439
>>1010434
Наверное ты имеешь ввиду char* arr = new char[10]; Нигде не хранится.
#214 #1010638
>>1010434
Нигде.
А еще вот это

>char* arr = char[10]


не скомпилируется.
1010696
#215 #1010656
>>1008603

>cuda


>visual studio


Ну ну, продолжай-продолжай, психуй.
#216 #1010663
А правду там пишут про программистов?

https://2ch.hk/po/res/23263797.html (М)

Наблюдается ли сейчас работающая бедность?
#217 #1010696
>>1010638
Человек new пропустил, не придирайся
#218 #1010750
>>1010422

>for(auto el : smthWithBeginAndEnd)


Иди нахуй
1010783
#219 #1010783
>>1010750
За что ты его проткнул?
694 Кб, 2560x1707
#220 #1010850
>>1010422
for(auto & el : smthWithBeginAndEnd)
?

попутно вопрос: как правильно обходить контейнер с unique_ptr, когда нужно одновременно с двумя и более элементами из этого контейнера работать?
#221 #1010854
void myClass::myMethod(int parameter) throw()
{
//код метода
}

Какую роль здесь играет throw()?
1010858
#222 #1010858
>>1010850

>for(auto & el : smthWithBeginAndEnd)


Не этим. Специфическая задача требует специфического решения.
>>1010854
http://en.cppreference.com/w/cpp/language/except_spec
#223 #1010880
>>1010850

>контейнер с unique_ptr


Пиздец поколение дебилоидов подросло.
10108851011066
#224 #1010885
>>1010880
Чем плох такой подход?
1011066
#225 #1010909
Есть такой кодес, который считает количество вхождений заданного значения в вектор: https://ideone.com/jOpaec

Написана специализация для сишных строк, но эта специализация шаблона не компилируется. Что я сделал не так? Значение ведь в общем случае надо передавать по ссылке, а для удобства передачи литералов типа числа 4, а не переменной со значением 4, надо использовать универсальные ссылки.
10109191011073
#226 #1010919
>>1010909
Потому что ты передаёшь lvalue в main.
1010921
#227 #1010921
>>1010919
Но ведь ссылки универсальная и может принимать как lvalue, так ии rvalue. Объясни подробнее, в чем здесь проблема.
10109881011064
#228 #1010988
>>1010921
У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой. lvalue ссылки не кастуются в rvalue ссылки.

https://ideone.com/uq6PZA

https://habrahabr.ru/post/226229/
10109911011063
#229 #1010991
>>1010988

>У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой


Ты имеешь в виду, что параметр функции, объявленный как rvalue-ссылка, сам является lvalue-ссылкой? Где именно происходит каст rvalue в lvalue?
#230 #1010998
>>1010991
Последнюю строку в main поменял.
#231 #1011010
Господа, мне надо написать простой многопоточный код, не вникая глубоко в concurency. Задача в том, что в приложении должен крутиться поток, который получает SQL-запросы, выполняет их и возвращает результат. В этом же потоке открыто единственное соединение с БД (моожно использовать синглтон). Что мне почитать для реализации такой задачи? Как передавать потоку запросы и как возвращать результат их выполнения?
#232 #1011017
>>1011010

>который получает SQL-запросы


А ещё он получает DELETE FROM user WHERE 1>0;

>Что мне почитать для реализации такой задачи?


Погугли prepared statements

>как возвращать результат их выполнения


Да как угодно возвращай, всё равно работать не будет LOL
#233 #1011028
Есть функция, в объявлении которой написано, что она возвращает myClass&.

Пусть a - указатель на myClass.

Но в коде функции строка:
//...
return *a;
}
То есть по идее тип возвращаемого значения - не ссылка на myClass, а сам myClass. Почему так?
10110341011057
#234 #1011032
>>1011010
Если не заморачиваться, я бы сделал на Qt, там все есть для этого. Однако, потоки тебе нахуй не нужны для решения этой задачи.
#235 #1011034
>>1011028
Эта функция возвращает ссылку на объект.

Прочитай хотя бы одну книгу из ОП-поста, потом возвращайся.
#236 #1011036
Ох как у меня горит, VS 2017 нихуя не устанавливается, при запуске установщика он закидывает какие-то файлы в темп и ничего не происходит. Было у кого такое? Не гуглится проблема.
1011041
#237 #1011041
>>1011036
Мы же в /pr/, запускай просесс монитор и просесс эксплорер, лолъ.
12 Кб, 1095x77
#238 #1011057
#239 #1011060
>>1010991
Ты не отличаешь rvalue от rvalue-ссылок.
Тип (int, long, rvalue-ссылка на тип T и т.д.) и категория значения (lvalue, prvalue, xvalue) это две ортогональные сущности.
#240 #1011062
>>1010991

>Ты имеешь в виду, что параметр функции, объявленный как rvalue-ссылка, сам является lvalue-ссылкой?


Если у чего-то тип rvalue-ссылки, то lvalue-ссылкой это являться никак не может. А вот просто lvalue являться может. Ты же можешь взять адрес от параметра, являющегося rvalue-ссылкой. А значит это lvalue.
#241 #1011063
>>1010988

>У тебя ссылка на указатель, которая в свою очередь является lvalue-ссылкой.


Нет, ссылка rvalue. Только делается попытка забиндить её к lvalue.
#242 #1011064
>>1010921

>Но ведь ссылки универсальная


У тебя там (https://ideone.com/jOpaec) нет ни одной универсальной ссылки.
108 Кб, 600x900
#243 #1011066
>>1010880
ну чо ты как это самое! будь няшей епта! месяц назад вкатился в современный с++, до этого 10 лет кодил на зоопарке от жабы до чистого C

почему нет? поясни
ну кроме
>>1010885
ебатни c move, нежданчиками от nullptr и тп

я вот думал что уник для более надежной замены обычного указателя. но на практике меня начинает уже терзать сомнение об области применения unique_ptr.
#244 #1011067
>>1010434

>А где хранится сам размер массива?


Тебя это не должно беспокоить.
#245 #1011069
>>1010850
Так же, for(auto& el : container), по ссылке же элементы достаются, а не значению.
#246 #1011070
>>1010850

>как правильно обходить контейнер с unique_ptr, когда нужно одновременно с двумя и более элементами из этого контейнера работать?


Как получается работать одновременно с двумя значениями, это и есть правильно.
#247 #1011073
>>1010909
Сделай второй параметр у count просто указателем на const char
#248 #1011349
>>1011010

>простой многопоточный код


>простой


Какой какой? Детка, простого многопоточного кода не бывает.
10114111011437
#249 #1011377
>>1011010

>простой многопоточный код


>должен крутиться поток,


>В этом же потоке открыто единственное соединение с БД


Что же ты, блядь, пишешь?
1011390
#250 #1011390
>>1011377
Хотя я, наверное, понял.

Что ты делаешь: заводишь мутекс, и все клиенты дёргают один мутекс. Как только мутекс замутен, они добавляют задание в очередь или whatever и размучивают мутекс.
1011397
134 Кб, 662x842
#251 #1011397
>>1011390

>Что ты делаешь: заводишь мутекс, и все клиенты дёргают один мутекс. Как только мутекс замутен, они добавляют задание в очередь или whatever и размучивают мутекс.


Именно так и хочу сделать.
1011400
#252 #1011400
>>1011397
две пары ушей
#253 #1011411
>>1011349

>Какой какой? Детка, простого многопоточного кода не бывает.


GO lang жи есть.
#254 #1011437
>>1011349
C# жи есть.
#255 #1011719
Дело во мне, или qt quick - говно? Виджеты мне больше нравились.
#256 #1011723
>>1011719
Чем?
#257 #1011726
>>1011719
Для десктопа — да, говнецо, ибо сделано для тач-девайсов.
1011728
#258 #1011728
>>1011726
Интеграцию с десктопом до сих пор не запилили?
Когда в последний раз смотрел, были desktop components в альфа-бета стадии.
1011736
#259 #1011736
>>1011728
Да не было их там никогда, не рассказывай хуйни. Была гигантская залупа для пальцев всегда, потом от неё начали отказываться и выпиливали всякие тулбары в окнах, сейчас там кнопки и квадраты есть. Стандартные кнопаи меньше 4-х десктопных нельзя даже уменьшить, кек.
#260 #1011792
>>1011719
На нем только интерактивные приложения пилить, то есть для макдаков табло и прочую поеботу да, вполне годная вещь, только вот я не думаю, что приложения на мобилах будут отличаться низким потреблением энергии, потому что все это говно рендерится в OpenGL ну и соответственно расходы энергии выше.
Для десктопа, какого-то рабочего приложения, например для заолнения форм и работы с БД - залупа та еще, потому что некоторые компоненты до боли кривые. Например тот же TreeView или как его из QML работает вообще хуево и постоянно клепает дубликаты при обновлении лэйаута модели, в то время как у виджетов есть роли, позволяющие менять шрифт, текст и прочие свойства, чего нет в QML-ной адаптации.
Другое дело в том, что шрифты в виджетах рендерятся уебищно, вот это минус, да.
1011800
#261 #1011800
>>1011792

>я не думаю, что приложения на мобилах будут отличаться низким потреблением энергии, потому что все это говно рендерится в OpenGL ну и соответственно расходы энергии выше.


Испокон веков было так, что всё, что в железе сделано, потребляет меньше. О чём ты?
1011804
#262 #1011803
Как для QStackedWidget сделать анимацию как у StackView/SwipeView в Qt Quick?
#263 #1011804
>>1011800
Ну 3D ядро задействовано в то время как можно было бы ограничиться 2D составляющей, которая потребляет значительно меньше энергии.
1011841
#264 #1011841
>>1011804
Очень сомнительная точка зрения. Во время приёма вызова имплементация может проверять третью кооридинату у всех объектов и включать упрощённый композитинг, если она у всех объектов нулевая.

Когда ты рисуешь на ЦП, ты должен каждый пиксель выставлять, в лучшем случае это один шаг цикла, даже если он развёрнут. Когда ты говоришь, что 3D хуже, то ты забываешь, насколько хренов в этом плане ЦП.
1012222
#265 #1011969
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 так, чтобы он их вывел
1011973
108 Кб, 1867x769
#266 #1011971
Аноны, дебажил свой хеловорлд в студии, и, когда дебаггер остановился на вызове функции system("pause"); появилось вот это. Может кто-нибудь объяснить, что это?
#268 #1012059
>>1011971
а что написано?
sage #269 #1012062
>>1011971

>Может кто-нибудь объяснить, что это?


Это вопрос для ньюфаг-треда, и он даже не про плюсы.
40 Кб, 1228x634
#270 #1012089
Не бейте, лучше обоссыте, есть где решения упражнений из Страуструпа?

Пишем 3 любых числа, программа выводит их в порядке увеличения через запятую.

Или почему не работает пикрелейтед?
#271 #1012093
>>1012089
Не знаю, что ты за херню там нагородил. У тебя должно быть на каждый слот по присваиванию. А на деле присваивание может и не произойти из-за условий.
Погугли сортировок. Например, пузырёк.
1012108
sage #272 #1012102
>>1012089
Обоссал.
1012103
#273 #1012103
>>1012102
Принял, сэр, есть, сэр!
Отличный вкус, хороший аромат
#274 #1012108
>>1012089
Ты в жизни тоже так сортируешь? Я вчитываюсь и только что не проигрываю.

>>1012093-кум
1012111
#275 #1012111
>>1012108
Ну а чего? Мне просто не понятно, откуда берутся в итоге такие значения, которые берутся.
1012130
#276 #1012130
>>1012111
Во-первых твоё выражение в цикле не будем смотреть, зачем он тут, это твой алгоритм -
ты и скажи
считается не так, как ты думаешь. a<b<c ~ (a<b)<c. a<b - это логическое значение true или false (0 или 1). Поэтому набор 0 3 2 будет проходить через эту проверку.
http://ideone.com/ar2Ptl

Во-вторых, ты сортируешь данные до тех пор, пока они отсортированы? Тут что-то не так.

Во-третьих, ты проверяешь условия цикла на данных, в которых ничего нет изначально, там ничего не значащий мусор. Кроме того, что эта проверка не имеет смысла, она вносит нестабильность в алгоритм. После каждого запуска работа программы будет отличаться, т.к. будет отличаться мусор в переменных.
1012144
89 Кб, 604x402
#277 #1012144
>>1012130
Добра. Основательно, исчерпывающе, пойду переваривать.
1012265
#278 #1012156
Нуб в этом итт треде.
Нужно создать несколько объектов класса в цикле for. Я так понял, надо создавать массив. Что читнуть, пагни?
1012268
#279 #1012221
std::cout.operator<<('a');
std::cout << 'a';
Первое выводит 97, второе a, почему?
1012223
#280 #1012222
>>1011841
Ты забываешь, что видеопроцессор имеет не только 3D ускоритель, но и 2D. Второй то и нужен для быстрых и энергоэффективных отрисовок именно в двухмере (во всяком случае на десктопах так, на мобилах, скорее всего, тоже).
Про ЦП, естественно, это слишком жирная для него задача, не смотря на то, сколько бы ядер у их кастратов не было, все равно они достаточно слабые, чтобы составить конкуренцию видеоускорителям.
#281 #1012223
>>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) и выводит число, второй метод выводит строковое представление.
1012284
#282 #1012265
>>1012144
Олсо, "Кнут - Искусство программирования". Если ты не можешь элементарный алгоритм закодить, тебе не плюсы учить надо.
#283 #1012268
>>1012156

>Нужно создать несколько объектов класса


Не в цикле фор, а
OBJECT звёздочка huipizda = new OBJECT[dohuya];
#284 #1012284
>>1012223

>std::basic_ostream &operator<<(std::basic_ostream &in, char value);


Бля пиздец, ну что это? Что это за бессвязный набор символов? Крестодебилы, как вы работаете на этом? Это же нечитабельный пиздец.
#285 #1012289
>>1012284
Все языки программирования содержат нечитабельный пиздец в том или ином виде. Если ты считаешь, что в твоём любимом языке такого нет, и это вовсе не дело привычки, то дебил тут ты.
1012333
#286 #1012318
>>1012284
Не хуже, чем у джаваёбов.
1012375
#287 #1012333
>>1012289
В моем любимом языке программирования, по крайней мере, программа написана человекочитабельными словосочетаниями, а не спецсимволами.
10123531012386
#288 #1012353
>>1012333
Заебато, наверно, когда вместо символа + приходится лепить append().append().append() ...
#289 #1012354
>>1012284
Нахуй иди, говна кусок.
#290 #1012359
вы телок ебете ваще?)
1012360
#291 #1012360
>>1012359
Господа, почему этот биопроблемник до сих пор не в своем загоне?
#292 #1012364
>>1012353
Крестодебил обыкновенный своим единственным противником считает джависта. Стоит указать крестоговну на тот или иной недостаток C++, как он сразу вскудахчет: "А вот в Java...". Невдомёк недотыкомке, что существуют языки типа Python, где строки кода напоминают человеческую речь, или изящный и лаконичный CoffeeScript... Откуда ему знать, ведь на этих языках вечером пишут продукт, которым утром пользуются тысячи человек, а не ТЫРПРАЙЗ.
10123711012386
#293 #1012368
>>1012353
Да нет, не приходится уже с незапамятных времен. А вот тебе, наверно, заебато вместо
ReturnType foo(ParamType bar) писать
const ReturnType const & const foo(const ParamType const & const bar const) const
1012372
#294 #1012371
>>1012364

>> Python


Норм язык, я ничего против него не имею

>> CoffeeScript


>> изящный и лаконичный


А как по мне, так ужасный весьма

>> Крестодебил обыкновенный своим единственным противником считает джависта


У Java своя ниша, у крестов своя. В чем дело-то?! У Java есть и свои достоинства, и хули дальше то.
У каждого языка свое назначение, и было бы глупо лезть с крестами в веб-разработку, например, где сроки наклепать говно бывают даже и по тройке недель. В свою очередь это предназначение и приводит к тому, что язык выглядит так, каким он есть.
10123741012375
#295 #1012372
>>1012368
Что мне мешает написать так же, как и у тебя?! Const-ы это не просто сахар, но и отличный способ заставить компилятор выбрать за тебя более удачную перегрузку функции, притом не обязательно, чтобы константный и неконстантный метод исполняли одно и то же.
1012374
#296 #1012374
>>1012371
>>1012372
Не кормите дауна.
#297 #1012375
>>1012371

>У Java своя ниша, у крестов своя. В чем дело-то?! У Java есть и свои достоинства, и хули дальше то.


20 слов, ноль смысла. Нахуя ты это написал?
Я тебе объясню, в чём дело. В посте выше >>1012284
анон справедливо заметил, что представленный код на крестах - нечитабельный пиздец. Сразу стриггерились две крестомакаки:
>>1012353
>>1012318
которые увидели в этих нападках происки джаваёбов. Nuff said.
#298 #1012376
Существует мнемоническое правило, позволяющее легко запомнить, к чему относится const. Надо провести черту через "*", если const слева, то оно относится к значению данных; если справа — к значению указателя.
Проиграл в голос.
10123781012442
#299 #1012378
>>1012376
Еще лучше мнемоническое правило было написано у Бочкова и Субботина: «изнутри наружу». Все, что участвует в создании типа объявляемой сущности: const, volatile, , (), [] читается от имени этой сущности (самая внутренность) — наружу (то есть влево для префиксов и вправо для постфиксов). Постфиксы () [] имют приоритет перед префиксами const volatile . Приоритет может быть изменен скобками.
Блядь, это уже специальная олимпиада какая-то.
1012442
#300 #1012386
>>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.

Это я всё к чему: все мы пытаемся использовать инструменты, придуманные другими, и каждый инструмент мы не понимаем интуитивно до конца. То, что ты свой КофеБлядьСкрипт понимаешь сейчас, не означает то, что ты понимал его в самом начале. Заткнись и лабай, пока не появится принципиально другой подход к программированию.
#300 #1012386
>>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.

Это я всё к чему: все мы пытаемся использовать инструменты, придуманные другими, и каждый инструмент мы не понимаем интуитивно до конца. То, что ты свой КофеБлядьСкрипт понимаешь сейчас, не означает то, что ты понимал его в самом начале. Заткнись и лабай, пока не появится принципиально другой подход к программированию.
#301 #1012442
>>1012376
>>1012378
Обосрался с таких-то мнемонических правил. Особенно последнее доставило.
1012461
70 Кб, 1065x684
#302 #1012455
Программач, посоветуй годный шрифт для Qt Creator, ибо от дефолтного тошнит
#303 #1012461
>>1012442
Как крестогоспода объясняют эти правила? Инбифо: интуиция и память.
10124631012485
#304 #1012462
>>1012455
terminus
1012479
#305 #1012463
>>1012461
Стандарт и граматика языка. Сойдёт:
#306 #1012479
>>1012462
Ещё хуже. Был недолгое время. Глаза болят от него
1012482
#307 #1012482
>>1012479
Неправильные глаза.
1012487
#308 #1012485
>>1012461
const применяется к тому что слева. если слева ничего нет, то применяется к тому что справа. все.
а вторую хуйню я не понял.
#309 #1012487
>>1012482
Ты неправильный
1012491
27 Кб, 430x388
#310 #1012491
#311 #1012524
>>1012455
PT Mono
#312 #1012659
Анончики, есть по QT что-то подобное Programming Windows Петцольда? Ну типа эталонной литературы и чтоб нубасу было понятно.
#313 #1012686
>>1006097 (OP)
Не был здесь с момента ухода опа. Поэт вернулся?
1012849
#314 #1012731
Как в плюсах изменить регистр букв в UTF-8 строке?
10127921013095
#315 #1012784
Ребята, как вывести двоичный код числа и указать младший бит?
Как я понял, нужно текстом, типа как в тетрадке всякими формулами. Не программой, в общем

Одна из задач анона, который предложил вкатиться в это дело. Об этом деле он, помимо прочего, ничего не написал. Сказал нагуглить. Не получается
10127901014371
#316 #1012790
>>1012784
Так и быть, с барского плеча отправлю тебя в гугл с запросами
c++ int to binary
и
c++ low bit

теперь ты программист!
1012798
#317 #1012792
>>1012731
Никак, чтобы не тащить всякие мутные либы для локализации тащи сразу Qt core.
#318 #1012793
>>1012455
Consolas, Anonymous code pro, Monaco, Droid sans mono
#319 #1012798
>>1012790
пишу я такой в тетрадке
c++ int to binary
и
c++ low bit
и она мне значит такая двоичный код выводит и по ебалу с вертухи
1012849
#320 #1012849
>>1012686
Поэту потребовался explicit отклик для преодоления сопротивления шитпостеров.
>>1012798

>>>>>>>>отправлю тебя в гугл с запросами



>Как я понял, нужно текстом, типа как в тетрадке всякими формулами.


Реши ХОТЬ КАК НИБУДЬ.
#321 #1012888
>>1012455
Тут дело в нём самом, а не шрифтах. Там все шрифты выглядят как-то странно.
1012913
#322 #1012913
>>1012888
Там свой антиалисинг и если его отключить то все шрифты распидорасит кроме терминуса и подобных не true type. Системный антиалиасинг в qt почему-то не работает.
#323 #1013095
>>1012731
libicu
#324 #1013098
Нужно написать конвертер валют в долляры через switch, название валюты одной буквой не назвать, как я понимаю. Так вот как связать string и switch?
#325 #1013122
>>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 лямбду для каждой валюты.

Стыдно писать даже.
10131391014374
#326 #1013139
>>1013122

>Хуй знает, почему до сих пор не запилили


Страуструп считает, что сравнение в case должно выполняться за O(1), а в случае string сравнение выполняется за O(n).
Он за предсказуемость.
1013162
#327 #1013162
>>1013139
Нужно быть сильным дебилом для того, чтобы не знать, что строки сравниваются за O(n). Представил себе гигабайтным сорс со строковым литералом.
инбифо констекпр стринг
1013186
#328 #1013186
>>1013162

>Нужно быть сильным дебилом для того, чтобы не знать, что строки сравниваются за O(n).


Ну вот он знает. Поэтому против разрешения использовать в switch любых типов, имеющих оператор сравнения.
#329 #1013202
>>1006097 (OP)
Почему нельзяобъявить внутриклассовый инициализатор типа static const double exp_coeff = 0.03;? Как это сделать кратко, если надо?
10132031013271
#330 #1013203
>>1013202

>const


expr
#331 #1013217
>>1013098
во всяких языках с подобной фичей это реализуется через хэш строки. в крестах это будет выглядеть примерно вот так: http://ideone.com/mZoGg5
#332 #1013218
>>1013217
Ололо. А ничего, что могут быть коллизии?
#335 #1013271
>>1013202
а) констекпр
б) inline в 17
в) объявить снаружи: >>1001374
1013274
#336 #1013274
>>1013271

>в) объявить


ОПРЕДЕЛИТЬ, т.е.
#337 #1013338
Ребзя, читал на форуме что парниша писал на с++ и ебнул свой компик. Случайно память перебил.
Часто с вами такое случается?
1013405
#338 #1013380
>>1006097 (OP)
Хочу изучить OpenGL ES, подскажите, с чего начать. Работаю под виндой в Visual Studio 2015. Скачал книгу по GLES 3.0, скачал хедеры, но не знаю, где взять .lib, .dll или что там еще нужно. Обновил студию, чтобы появились новые категории во вкладке Cross Platform, но проект GLES создать все равно нельзя. Реквестирую гайд для дебила.
#339 #1013405
>>1013338
Не то чтобы часто. Во всех книгах вдалбливается священный трепет перед низкоуровневой работой с памятью, так что при работе с массивами и указателями вырабатывается определённая паранойя.
К тому же, в С++11 ввели-таки сверхполезнае умные указатели, существенно облегчающие работу с памятью.
https://msdn.microsoft.com/ru-ru/library/hh279674.aspx
http://archive.kalnytskyi.com/2011/11/02/smart-pointers-in-cpp11/
10134071013473
#340 #1013407
>>1013405
https://habrahabr.ru/post/140222/
Вот ещё ссылочка.
1013473
#341 #1013410
Поясните ньюфагу рачий вопрос пожалуйста:
Как правильно совладать с функциями и source.cpp/header.h/main.cpp
Есть
void zhepa(int benis); иницализация(?)
void zhepa(int benis){ benis++} функция
zhepa(benis); вызов
Куда все правильно распихать чтобы вызвать в мейне?
10134191013427
#342 #1013419
>>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". Это неинформативно, дегенеративно, несмешно и дурной тон.
#343 #1013421
Зашёл на сайт с обучением на примерах visual c++.

Сделал всё, как полагается. Пишет в ходе построения произошли ошибки. Прога скачано по ссылке с того же сайта. Ссылка на микрософт. Вопрос: какого хуя?
1013471
#344 #1013427
>>1013410

>void zhepa(int benis){ benis++}


Хуевый у тебя бенис. Надо вот так: ++benis.
1013452
#345 #1013450
>>1013419

> И последнее


Я знаю, я само собой фильтрую базар названия, а использую только тут для наглядности.
Вообщем я

> объявить "zhepa" в заголовочном файле, а затем впиздячить его в main.срр директивой препроцессора #include


Написал объявление всех функций в Header.h и в мейне сделал #include "Header.h" / #include "Source.cpp".
В Source.cpp сами функции.
Выдает при компиляции на все функции:
error LNK2005: "функциянейм с магическими символами" уже определен в Main.obj.
И еще LNK1169: обнаружен многократно определенный символ - один или более.
Я изначально так и делал и пробовал по разному вставлять
(Спасибо за уделенное время)
10134771013479
#346 #1013452
>>1013427
Какая разница?
1013464
#347 #1013454
>>1013419
Ах да и еще на структуры в header так же ругается
#348 #1013456
>>1013419
Я даун, убрал в мейне соурс и все работает. Спасибо
#349 #1013464
>>1013452
Для int никакой
#350 #1013471
>>1013421
у микрософта свой с++
новичкам вроде как лучше избегать их статьи
#351 #1013473
>>1013405
>>1013407
спасибо анон, читану на досуге
я так понял старые указатели и вообще старый синтакс не нужно задрачивать вкатывающимся в плюсы?
10134951013507
#352 #1013477
>>1013450

>#include "Source.cpp"


Это лишнее. Надо так: #include "Header.h" пишешь только в main.cpp и Source.cpp, в Header.h ничего не пишешь. А вообще уже советовали выше читнуть любую из книжек в шапке, там все подробно и понятно про это написано.
10134791013755
#353 #1013479
>>1013450
>>1013477
Вот, чтобы было понятнее: https://pastebin.com/UnDtXMru
1013755
#354 #1013495
>>1013473
Нужно
#355 #1013507
>>1013473
Нужно. Потому что умные указатели, во-первых, всё же не панацея. Во-вторых, общие правила работы с указателями применимы и для умных указателей. В-третьих, свежие стандарты поддерживаются далеко не везде, и вообще говоря, каждый компилятор реализует стандарт по-своему, иногда расхождения становятся значительными. В-четвёртых, программистам довольна часто приходится разбирать и переписывать несвежий\старый\древний\доисторический код, и знакомство с прошлыми стандартами становится необходимым.
56 Кб, 1630x1152
#356 #1013625
решил просмотреть книгу страуструпа. в самом начале вижу пикрил. уже писал калькулятор с помощью приведения выражения к обратной польской записи. не могу разобраться для чего нужна эта грамматика, как ею пользоваться, что значит эта таблица. кто-нибудь с этой хуйней разбирался?
10136341013822
#357 #1013634
>>1013625
Если кратко, то это парсер методом рекурсивного спуска. А вообще разработка этого калькулятора довольно подробно описана в книге Страуструпа "Принципы и практика с использованием C++" (есть в шапке) в главах 6-7.
#358 #1013658
Помогите, почему не работает?

else :false
if Billy=лох else 0 :approveded
...............
range(i=0, k=2, x=b)
b:onload

Write:"Billy fuccking veryfecalishhiet"
Print ("Billy fuccking veryfecalishhiet")

end.
10136841013717
#359 #1013684
>>1013658
Туда ли ты зашел, петушок?
1013706
#360 #1013706
>>1013684
Да. Помогите.
1013773
#361 #1013717
>>1013658

>approveded


проиграл
1013720
#362 #1013720
>>1013717
Да, уже исправил. А все равно не работает.
#363 #1013755
>>1013477
>>1013479
Я уже увидел, спасибо :з
#364 #1013760
#365 #1013773
>>1013706
Нет. Здесь - кресты и могильщики. А та принёс далеко не гроб.
#366 #1013794
При использовании QSQLITE, если мне надо закидывать допустим 2000 строк, то как лучше: одним запросом на INSERT или 2000-ми запросами на тот же INSERT?

Сорян, просто не куда писать об этом. Тут я использую Qt
10138561013897
#367 #1013822
>>1013625
Это бнф, вась. Ей никак не пользоваться, это формальное обозначение правил грамматики, которые можно либо руками имплементировать, либо взять какой нибудь генератор поддерживающий что нужно твоей грамматике (из таких особенностей для этой твоей нужна только поддержка левой рекурсии, её поддерживает всё кроме PEG-а) и описать эти правила с поправкой на синтаксис генератора. Примеры таких — bison, antlr, gold.
#368 #1013856
>>1013794
А что, в одном INSERT можно больше одной строки вставить?
Думаю, при вставке большого числа строк, оптимальной будет последовательность:
1. Подготовить запрос.
2. Начать транзакцию.
3. В цикле биндить поля и исполнять запрос.
4. Закончить транзакцию если всё ок, иначе откатить.
#369 #1013897
>>1013794
insert into table values(...), values(...), ...
емнип, такой синтаксис
#370 #1014042
На студии такая фигня, может кто знает с чем это связано.

Запилен OutputDebugString в констурктор и деструктор, причем если конструктор вызывается тогда, когда и нужно, то почему-то во время определенных действий дестурктор одного и того же объекта вызывается 20 раз (output в дебаг консоль).
Проект здоровый, может кто знает в чем дело?
1014064
#371 #1014064
>>1014042
Разобрался
Я в boost::bind передавал разадресованый shared_ptr, хуй его как это вообще работало
#372 #1014218
Code::Blocks норм ?
В чем вообще пишут код на спп?
#373 #1014261
>>1014218
В каком классе учишься?
1014321
#374 #1014264
>>1014218
Впрочем, о чём это я.
Visual Studio (топ для лаб, не знаю, чё там по разработке), NetBeans, Eclipse CDT.
1014321
#375 #1014321
>>1014261
В 5, а ты?))
>>1014264
VS же использует свой хитровыебанный компилятор или нет уже?
10143931014398
#376 #1014371
>>1012784
Форматирование в printf гугли для вывода.
Насчет как выделить - если например в bool переменную, то так:

int a=456;
bool lowbit = a & 1;
#377 #1014374
>>1013217
>>1013098
>>1013122
Почему просто не заменить switch несколькими последовательными if?
#378 #1014381
>>1014218
В блокноте. Потом поднимают виртуальную линух-машину на оракле и компилируют ГриЦаЦуевым, потому как полностью свежий стандарт поддерживает только он.
#379 #1014387
>>1013098
Посмотри библиотечные функции для работы со строками. Можно использовать сравнение строк и запись результата в управляющую переменную, т.е. если рубль - 1, если фунт - 2 и т.д., и далее подавать эту переменную на switch.
Но я бы обошелся вообще без свича. Можно ведь просто вызывать соответствующую функцию-конвертер сразу после проверки строк.
#380 #1014393
>>1014321
Ну у всех свой хитровыебанный компилятор. Можно под .net компилить, можно обычные бинарники, если ты про это.
#381 #1014398
>>1014321

>VS же использует свой хитровыебанный компилятор или нет уже?


Да, Visual C++. Он, например, ложит хуй на ключевое слово register, и имеет безопасные реализации некоторых библиотечных функций, которые он будет навязчиво пытаться тебе всучить в каждой программе. Ещё студия несколько фашистски подходит к оформлению кода, что может неслабо раздражать, но, всё же, повышает его читаемость, особенно у начинающих. Ещё он по-своему реализует стандарт, и в настоящий момент является месивом из 11 и 14 стандартов. К счастью, имеет весьма полную и подробную документацию на сайте.
1014930
#382 #1014421
>>1014218
На темплейтах. Пишешь огромный текстовый ребус, потом он пишет за тебя весь код.
#383 #1014568
>>1006097 (OP)
Хочу задрочить Qt под линуксом. Имею небольшой опыт кодинга под виндой, однако под линуксом возникла проблема с созданием окна, потому что IDE не генерирует какие-то говнофайлы с определением базового класса окна и .ui. Как под линуксом решается эта проблема и как создается окно?
1017521
14 Кб, 150x150
#384 #1014712
я вам логотип принес
1014715
#385 #1014715
>>1014712
правильнее void main(void)
#386 #1014892
А давайте устроим срач clang vs gcc.
#387 #1014901

>This application failed to start because it could not find or load the Qt platform plugin "windows"


in "".

Как лечится это дерьмо? Ни один из способов, которые я нагуглил, не помог.
1014929
#388 #1014929
>>1014901
Тебе надо переустановить Шindoшs.
#389 #1014930
>>1014398

>Ещё он по-своему реализует стандарт


Точнее, не реализует.
1015020
#390 #1014956
Ребзя, пробовал кто нибудь реализовывать джава скрипт на с++?
10149851014987
#391 #1014985
>>1014956
Вот эти ребята пробовали:
https://chromium.googlesource.com/v8/v8.git
#392 #1014987
>>1014956
Примерно все современные браузерные жс-движки написаны на плюсах (гугловский v8, мозиловский SpiderMonkey, майковская chakra (да-да, это все потому что у них СЕО индус, гы), эпловский nitro (хотя там и закрыты исходники, но на чём писался вбежит мы все помним).
10149881015021
#393 #1014988
>>1014987

>вбежит


Вебкит
#394 #1015013
>>1006097 (OP)
Увидел в требованиях "Знание компиляторов". Что сюда входит?
10154051015584
#395 #1015020
>>1014930
Уже полностью реализует 14, а также части 17 стандарта.
1015119
#396 #1015021
>>1014987

>SpiderMonkey


изначально на си, потом его скатили в говно переписав на плюсы, а вот v8 всегда был говном.
1015088
#397 #1015088
>>1015021
Когда это он на си был? Пруфани-ка, а то я открываю исходники и вижу чистейший плюсовый код, даже без намёка на сишное говнецо. По опыту того же гцц пока можно только утверждать что от сишного говна проекты такого размера за 5-6 лет даже близко не отмываются.

А v8 всегда был передовиком — не скажу точно насчёт жита, который там почти всегда был впереди планеты всей, а вот нормальная сборка мусора, сандбоксинг и прочее в нём точно появилось раньше всех.
#398 #1015091
>>1015088

> Когда это он на си был?


Они там его несколько раз подряд переписывали. По моему переход на C++ начался с JaegerMonkey (оптимизирующий конпелятор) и дальше по наклонной.
1015112
#399 #1015111
>>1015088
последняя сишная версия 1.8
1015112
#400 #1015112
>>1015111
>>1015091
з.ы. JaegerMonkey он самый, 1.8
#401 #1015114
>>1015088

>сишное говнецо


наркоман, на си был маленький и шустрый движок, после обмазывания плюсами стало миллионостроковое ничитаемое говно, даже самсунг начал свой джерискрипт пилить. v8 сосет у спидерманки по тестам.
10151231015134
#402 #1015119
>>1015020

> полностью реализует 14


Вот код и результат работы
1. clang https://wandbox.org/permlink/qTHZAHWbNGH9DCvV
2. gcc https://wandbox.org/permlink/hrJMdPAKDmEtt9UV

MSVC печатает "SS", что неверно. Т.е. он не поддерживает даже C++98, не то, что C++14.
1015177
#403 #1015123
>>1015114

> и шустрый


С этим я бы поспорил. Хром на момент появления рвал его в клочья. Да и "быстрым" он был, потому что на JS самого кода было мало. Это сейчас js файлы мегабайтами скачиваются ради показа баннера с рекламой.
#404 #1015134
>>1015114

>после обмазывания плюсами стало миллионостроковое ничитаемое говно


У мозилы кстати ахуенный кодстай в отличие от того же гугла и мс-а, всё крайне читаемо.

Кстати, тебя не смущает что уже прошел почти десяток лет, жс вырос в несколько раз, жит тогда только вводили в него (т.е. он несравнимо меньше умел чем текущий), там был уёбский рантайм с говёным сборщиком, без всякой асинхронной залупы из новых стандартов жса, без поддержки asm.js, webgl и ещё триллиарда технологий появившихся в последние 5 лет? Я с таким же успехом могу написать интерпретатор жс на котором можно сделать прыгающую мартышку и пойти сравнить его с jeagermonkey — пиздец сишная простыня на тыщи строк-то.

Кстати, ты это, сходи глянь исходники какого нибудь gcc или питона, там вот прям видно как C в больших проектах хорош, это говно даже ни одна IDE не переваривает, лол.
#405 #1015136
>>1015134
Очень много кстати, знаю, идите нахуй.
#406 #1015137
>>1015134

> мозилы кстати ахуенный кодстай


У них для разных компонентов разные кодстайлы. Даже периодически срачи возникают на тему единого кодстайла, который заканчивается ничем, потому что всем всё и так нравится.
#407 #1015144
Есть ли способ обмазаться свежайшим стандартом на винде, окромя установки свежего gcc на виртуальную линух-машину? Есть ощущение, что мимо меня проходит великое множество весьма важных элементов новых стандартов.
1015147
#408 #1015147
>>1015144
WSL + Toolchain PPA → gcc-7
10151541015170
#409 #1015152
>>1015134
смотрел исходники перла, ваткома, все заебись. код гцц говно, потому, что дохуя макак туда набежала и каждый пушил что хотел, та же проблема и у линупса.
10151551015181
116 Кб, 1289x619
#410 #1015154
>>1015147

>WSL


Лол.
1015156
#411 #1015155
>>1015152

>исходники перла, ваткома


Об'ём не тот.
1015159
204 Кб, 1440x778
#412 #1015156
1015162
#413 #1015159
>>1015155

>перла


vs питухон

>ватком


vs gcc

оправдывайся
#414 #1015162
>>1015156
С П А С И Б О
П
А
С
И
Б
О
#415 #1015170
>>1015147

>gcc-7


И что с ним делать?
Все равно IDE на подсистеме не запустишь.
1015173
#416 #1015173
>>1015170

> И что с ним делать?


Использовать.

>Все равно IDE на подсистеме не запустишь.


1. С чего ты взял?
2. Зачем тебе IDE?
1015177
40 Кб, 1005x868
#417 #1015177
>>1015119
У меня 14 стандарт почему-то реализован
>>1015173

> запускать IDE на подсистеме


Удачи

> зачем IDE


Для удобства.
1015178
#418 #1015178
>>1015177

>У меня 14 стандарт почему-то реализован


В студии выводится "TS" или нет? Если нет, то там нихуя не реализовано.
1015206
#419 #1015181
>>1015152

>говорят посмотреть живые, развивающиеся проекты, идущие в ногу с требованиями в этой области в 2к17


>анон отвечает: посмотрите моё мёртвое говно, заброшенное в 2005. Оно же няшное!


Это судьба любого большого проекта которых хочет жить, а не развиваться полутора челиками и сдохнуть через пару лет.
#420 #1015206
>>1015178
Какая разница, что выводится в тестах?
Если написано, что реализовано - значит реализовано.
1015207
#421 #1015207
#422 #1015320
Ананасы, как узнать, какого типа объекты хранит контейнер?
1015327
#423 #1015327
>>1015320
value_type
1015343
#424 #1015343
>>1015327
плюс к этому щас вывод типов есть в крестах, так чтож это не надо использовать (хотя и раньше всегда недоумевал почему value_type так редко использовали)
1015345
#425 #1015345
#426 #1015349
>>1006097 (OP)
вкатываюсь в программирование
подскажите, лучше с Си начать или С++?
читал что с++ это подвид Си
#427 #1015351
>>1015349

>подскажите, лучше с Си начать или С++?


С haskell
#428 #1015354
>>1015349
java или javascript
забудь про кресты, будет самым большим твоим разочарованием, тратой времени на то что никогда не окупится
1015414
#429 #1015355
>>1015349

Если с педагогической целью - то си. Если практически говоря, то будем считать тебя средним вкатывательщиком (это дебил), поэтому джаваскрипт.
1015414
#430 #1015361
>>1015349
Я пишу на Си с классами. Это разновидность С++, где из самого С++ используются только простейшие классы, да и то только для инкапсуляции. Просто на Си заёбывает писать функции уровня void do_somethimg_with_data(data_struct* data, ...);
10153621015441
#431 #1015362
>>1015361

>Я пишу на Си с классами.


Держи нас в курсе.
1015363
#432 #1015363
>>1015362
Обязательно. Отправил тебе в личку ссылочку на RSS-ленту с моими новостями.
1015364
#433 #1015364
>>1015363
Спасибо.
1015365
#434 #1015365
>>1015364
Не за что.
#435 #1015395
Репостну-ка.
>>1015332
#436 #1015405
>>1015013
Бамп вопросу.
1015584
#437 #1015414
>>1015354
Жс же для браузеров только?
>>1015355
Почему даун? Читал что программистам на реакт платят 300к/с в /б был тред пару дней назад
1015437
#438 #1015437
>>1015414
Так платят парочке спецов, а вкатывальщиков вроде тебя без опыта и вообще нихуя настолько много, что даже за еду никуда не возьмут, тем более с плюсами.

Самая легкая дорога для выката (меньше чем за ~5 лет — жс).
10154391015596
#439 #1015439
>>1015437

>выката


вката
#440 #1015441
>>1015361

>Я пишу на Си с классами


Внезапно — плюсы изначально и были си с классами.
Непонятно что такие долбоёбы как ты понимают тогда под "плюсовым" кодом. Ребусы из шаблонов разворачивающиеся в 100 мб исходников? Грузная ынтерпрайз-хуита вроде DI и прочего?
#441 #1015457
Посоветуйте шрифт для кодинга под линуксом. Мой - пиздец вырвиглазный.
#442 #1015472
Сап плюсач. Есть задание (типа летней практики в моей шараге):

"Реализуйте два класса. В каждом из классов реализуйте функцию-член, не принимающую параметров. Функции-члены должны быть названы одинаково. Реализуйте свободную функцию, принимающую один параметр таким образом, что объект любого из двух классов может быть безопасно передан в функцию и вышеупомянутая функция-член вызвана. Классы не должны быть связаны отношением наследования (нет общих предков, ни один не является наследником другого)."

А теперь вопрос. Я тут налепил https://pastebin.com/bJePR6Dz на 5 минут и задание какое-то несложное на первый взгляд. Может какие подводные камни есть (это же c++ и они должны быть)?
1015481
#443 #1015481
>>1015472
Ну так у тебя в классе BadClass нет функции-члена bad(), например. Явно же компилятор говорит, что нету такой сигнатуры BadClass::bar() в коде у тебя, но лучшей кандидатурой на оную является void BadClass::bar(int), но в таком случае параметр должен иметь значение по умолчанию хотя бы какое-нибудь.
http://rextester.com/AKK60073
1015485
#444 #1015482
>>1015457
PT Mono и замени fontconfig на убунтовский fontconfig-ubuntu. Эти макаки смогли оптимизировать алгоритм сглаживания шрифтов.
#445 #1015485
>>1015481
BadClass и не должен работать. Я его добавил, чтобы продемонстрировать безопасность кода. Что ошибка вылетит во время компиляции, а не в рантайме.
1015489
#446 #1015489
>>1015485
Ну тогда вот так:

>Может какие подводные камни есть


Нет
#447 #1015575
>>1015457
Внезапно дело в системе. Нормальные рендеры шрифтов с человеческим сглаживанием есть только на шинде и маке (на последнем только для хай-реза).
#448 #1015584
>>1015013
>>1015405
что ты прочитал drug on book.
#449 #1015587
>>1015457
Terminus/Terminess Powerline
#450 #1015596
>>1015437
мне веб не интересно, хочется хотя бы админом
#451 #1015734
>>1006097 (OP)
Сап аноны
Почти 2 года читаю, пока кроме hellowordov ничего не написал, но чую скоро программирование попрет!
Прочитал все книги Касперски, пол главы книги по JS, курс по html и css, курс на ютубе по реверсу и крякингу, введение в системное программирование, три главы K&R, половину Лафоре, гайд по Си, а так же скачал все книги Страусупа!
Как вкатиться в работу, чтобы взяли джунить на сях?
Спасибо
1015738
#452 #1015738
>>1015734

>пока кроме hellowordov ничего не написал


Что самое сложное, что ты писал?
1015741
#453 #1015741
>>1015738
Примеры из книг иногда перепечатывал и смотрел что они покажут
Но обычно просто читал
1015742
#454 #1015742
>>1015741
Зря. Просто чтение книг ничего не даёт.
1015743
#455 #1015743
>>1015742
Подскажи какую программу написать, чтобы не сложно, но интересно и полезно?
Спасибо
1015755
#456 #1015755
>>1015743
Ты должен понимать, что начинаешь учиться, когда тебе сложно/ты что-то не понимаешь.
Я не знаю, какой у тебя уровень. Но любил иногда для разминки codewars.com захаживать. Там есть много заданий, среди них много простых. Посмотри, на что способен.
Также есть куча сайтов с олимпиадными заданиями, игры, в которых нужно кодить, чтобы побеждать и т.д..
Ну и есть много ресурсов, которые направлены на обучение практической разработке/формошлёпству.
1015773
#457 #1015773
>>1015755
Задачи люблю решать на си, есть учебник по математике со школы с задачками, вот их решаю.
Насколько джуниор должен знать устройство процессора, памяти? Прочитал, но всякие транзисторы плохо укладываются в голове. Когда читал было вроде понятно, но сейчас не вспомню что там и как в деталях.
1015777
#458 #1015777
>>1015773
По работе редко нужно вдаваться в подробности.
Мне кажется базовых знаний о компьютере и иерархии памяти должно хватить. Также немного про разные регистры, и способы организации памяти в программах (стек, куча). Это всё нужно, чтобы писать корректные программы на тех же крестах. Но без практики и ошибок осознать эти концепции и полезность их знания сложно.

Изучал вакансии по крестам/си? Есть что-то подходящее?
#459 #1015807
>>1006097 (OP)
Как хранить SQL-запросы прир разработке на Qt? Хардкодить?
10158111015815
#460 #1015811
>>1015807
Да. Или переходишь на какую-нибудь ORM.
#461 #1015815
>>1015807
Нет, хранить в ресурсах и при необходимости редактировать в рантайме.

Конечно, блять, хардкодить. Изучи паттерны дао и репозитория.
56 Кб, 1605x353
#462 #1015948
>>1006097 (OP)
поясните за задание плес. с^key это число? то есть берем, например, 'a' это по аски 97 и возводим это в степень значения символа key? а ничего что это ахуенно большое число? и как тут получится исходная строка при повторном шифровании?
10159661016017
#463 #1015966
>>1015948
^ это XOR
1015967
6 Кб, 212x215
#464 #1015967
>>1015966

>^ это XOR

1016017
#465 #1016017
>>1015948
В C++ оператор ^ - это побитовое исключающее ИЛИ.
>>1015967
Что не так? Он не написал только, что это побитовое.
1016066
#466 #1016066
>>1016017
Я думаю, что это спрашивающий анон фейспалмит.
#467 #1016108
>>1006097 (OP)
Записался на курсы по С++, 20к за 70 часов обучения. Кто ходил на подобные курсы, реально ли хоть что-то уловить в С++ за 70 часов? Стоит ли оно своих денег? Пока не поздно может дать обратную?
#468 #1016114
Как установить эту сраную OpenCV? Прописал всё в настройки проекта под x64 по инструкции, а он всё равно не видит .h-файлы. Вписывал, разумеется, 320ые dll, а не 310ые.

http://san-tit.blogspot.ru/2016/03/opencv-310-visual-studio-2015.html
1016133
#469 #1016121
>>1016108
Два совета.
1. Ты ввалил за это деньги. Это значит, что ты можешь заёбывать препода. Препода, а не гугл, это важно. Да, самому искать информацию необходимо, но если ты всё равно нихуя не понял после поиска и обдумывания - заёбывай его.
2. Делай как можно больше приближённых к реальности задач. Задрачивание абстрактной хуиты типа напрочь оторванных от действительности примеров - очень скучная практика, которая, к тому же, ещё и имеет низкую эффективность.
1016209
#470 #1016133
>>1016114
возможно будет удобней забрать из nuget, а лучше из vcpkg
1016227
#471 #1016182
>>1016108
Какой у тебя уровень? Что именно будет на курсах?
10162241016230
#472 #1016203
>>1016108
Разве что ради того чтобы подоёбывать живого препода, а не гугл. А так смысла с гулькин хуй — программирование чуть менее чем полностью состоит из самообучения, и чем раньше ты к такому привыкнешь — тем лучше.
1016212
#473 #1016209
>>1016121

>Задрачивание абстрактной хуиты типа напрочь оторванных от действительности примеров - очень скучная практика, которая, к тому же, ещё и имеет низкую эффективность.


Ахуительный совет. Теперь, будь добр, высри-ка свою классификацию «абстрактной хуиты» и «полезной жизы».
#474 #1016212
>>1016203

>программирование чуть менее чем полностью состоит из самообучения


Это задротство состоит из самообучения.
#475 #1016224
>>1016182
Лупы, ифы, переменные, функции.
Еще обещали про память сказать на последнем занятии.
10162461016299
#476 #1016227
>>1016133

>vcpkg


Запускаю собранный экзешник - он вылетает, не давая мне посмотреть на доступные опции. Нугет установил 2.4. Ну, и на этом спасибо.
10162331016300
#477 #1016230
>>1016182
еще обещали показать стандартную библиотеку
#478 #1016233
>>1016227

>NuGet Error:Unable to find version '2.4.11' of package 'OpenCV.overlay-x64_v140'.

#479 #1016246
>>1016224
Я так понимаю, уровень старших классов? Ну курсы на таком уровне уж точно есть. Но некоторые люди не могут сами или им нужен толчок.
1016275
#480 #1016275
>>1016246
где хакинку на с++/с учат?
1016290
#481 #1016290
>>1016275
Видел пару видосов в интернете, как чувак читы на крестах писал.
Ну и статьи, книги есть какие-нибудь.
1016295
#482 #1016295
>>1016290
cкинь плис
я думаю на си писать, так производительность выше
1016303
#483 #1016299
>>1016224
бля, это троллинг? я не верю
за 20к я бы тебя по скайпу натаскал вплоть до теплейтов, понимания вир функций и всякой хуйни типа указателей на указатели
1016319
#484 #1016300
>>1016227
с ключами запускай
ох лол, ты походу, нулевой
1016337
#486 #1016319
>>1016299
20к в секунду?
#487 #1016321
>>1016303
спасибо)
#488 #1016337
>>1016300

>с ключами


По-русски совсем не разговариваешь? Какие ключи: реестра, активации, шифрования?

>ох лол, ты походу, нулевой


Мне не всралось самому библиотеки из исходников собирать, я не для того прогать учился. Хуле нельзя, как в питоне, пакадж менеджером всё поставить за 2 минуты?
1016352
#489 #1016352
>>1016337
дурик, вот и иди в петон тред скачивать пакеджи, а тут люди программируют
58 Кб, 1038x255
#490 #1016390
Я услышал, что на https://gcc.godbolt.org/ появился CL (компилятор от MS).
Теперь гораздо проще обассывать его любителей, наглядно демонстрируя убогость его оптимизатора. Жаль только, что версия там самая новая, в ней оптимизатор стал менее убогим, чем был до 2017-й версии.

Итак, я начну с проверки того, насколько свободно чувствует себя оптимизатор, если ему разрешить нестрого относиться к floating-point арифметике. GCC показал себя более лучше: он превратил произведение корней чисел в корень из произведения.

https://godbolt.org/g/iEKC63
1016408
284 Кб, 1433x935
#491 #1016398
Объясните почему структуру называют классом?
Или в крестах это одно и то же?
1016401
#493 #1016408
>>1016390
Кстати да, почему gcc генерирует такой аккуратный код, который приятно читать, а msvc срет сотнями строк, в каждой из которой много говна и вообще все выглядит очень страшно
1016422
#494 #1016422
>>1016408

>Кстати да, почему gcc генерирует такой аккуратный код


Ну не всегда. Если изменить в том коде, что я привёл, double на float, то gcc зачем-то будет преобразовывать его в double, проводить операции и перед возвращением преобразовывать обратно во float, когда как cl просто заменит sqrtsd на sqrtss и mulsd на mulss
#495 #1016572
>>1006097 (OP)
нетривиальный вопрос
если я хочу кодить на сях грузинскими или армянскими буквами, какую библиотеку подключить?
не тупо выебнуться, а так надо, шифрую код программы просто
эту тему лучше не вскрывать шутливые т молодые,
10166151016616
#496 #1016573
http://ideone.com/qUCHrC
Плюсаны, объясните, что это за конструкция такая. Умом понимаю, что тут они от начала массива локального в стеке адрес возврата как-то получают, но что это за конструкция абсолютно неясно.
Для тех, кому лень идеоне открывать, соберите вот что и удивитесь:

#include <iostream>
using namespace std;
int main() {
int a[4] = {1, 2, 3, 0};
cout << (1 + 2[a]);
return 0;
}
#497 #1016580
>>1016573
Тебя 2[a] удивляет? Сабскрипт оператор можно в любом порядке просто записывать. 2[a] == a[2]. Операнды оператора от этого не меняются.
1016590
#498 #1016581
>>1016573
Вернет 3.
И что тебя удивляет в этой конструкции? Только вкатываешься штоли?
#499 #1016584
>>1016581
4, вкатыватель
1016592
#500 #1016586
>>1016581
2[a] вернет 3
#501 #1016590
>>1016580
Не знал, а какая мотивация была так делать?
>>1016581
Я довольно давно знаком с плюсами, но кода относительно мало написал, потому таких нюансов как-то не встречал.
1016592
#502 #1016592
>>1016590
А книги читаешь?
>>1016584
Я написал про 2[a], но если для тебя проблема сложить 1+3, то да это 4.
10165941016610
#503 #1016594
>>1016592
Нет, видимо стоит уже что-то прочесть серьезное.
Понял, что a == *(a+i), ну а сложение коммутативно, потому и эта штука с 2[a].
#504 #1016610
>>1016592
Тут недавно один вкатывающийся с 1 массивы нумеровал, я решил что это ты. Слово-детект уже вобщем.
sage #505 #1016611
>>1016573

>Для тех, кому лень идеоне открывать, соберите вот что и удивитесь:


Если тебя удивляет такая хрень, то ты ошибся тредом. Тебе в прикреплённый загон.
1016617
#506 #1016615
>>1016572бампуськи
1016616
sage #507 #1016616
>>1016572
>>1016615
Только clang полностью поддерживает идентификаторы в юникоде. gcc поддерживает их только в виде кодов \uXXXX, и то, вроде там какая-то регрессия и они не работают.
#508 #1016617
>>1016611
Просто я не надрачивал тесты, поэтому и удивляет, да. Не могу представить реальный пример использования подобной конструкции.
#509 #1016626
>>1016108
Найс лохотрон, с таким подходом лучше сразу на htmlacademy
1016656
#510 #1016656
>>1016626
Там ведь только прогать на html/css учат?
Или с++ тоже преподают?
#511 #1016663
>>1006097 (OP)

ПЕРЕКОТ >>1016662 (OP)
ПЕРЕКОТ >>1016662 (OP)
ПЕРЕКОТ >>1016662 (OP)
ПЕРЕКОТ >>1016662 (OP)
79 Кб, 973x549
#512 #1017521
>>1014568
Если с линуксом, до делай окно кодом, лел. Никаких тебе редакторов форм.
А если серьезно, когда проект создаешь там флажочек ставишь?
Тред утонул или удален.
Это копия, сохраненная 16 июля 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски