Этого треда уже нет.
Это копия, сохраненная 20 октября 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
40905996.png66 Кб, 1595x1527
C++ №75 /cpp/ 1243187 В конец треда | Веб
Вместо шапки: https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы: http://eel.is/c++draft/
http://eel.is/c++draft/, пропущенный через кишечник макак: https://en.cppreference.com/w/cpp
2 1243215
Ты че петушара, совсем ахуела что ли? Пиздуй обратно нахуй откуда высрался, в свой петушиный тред - похапе, и картиночку свою прихвати.
3 1243355
Охуенный тред, подписался.
5 1243360
У Мейерса есть новая книжка, посвященная фичам из новых стандартов cpp11, cpp14. Imho, полезная.
Вандервуда и Джоссатиса по шаблонам книга: недавно перевели их новую редакцию с фичами cpp17. В электронном виде нет, по крайней мере не нашел.
i.jpeg29 Кб, 480x319
6 1243399
Блядь где можно почитать после шарпа о крестах и его ебливом синтаксисе?
А то после шарпа все эти хуйни типа ->, ::, : итд смотятся НЕУДОБНО.
Все это как я понял обращения к разным тирпм одной структуры.

Но нахуя если все можно сделать через точку, как у белых людей принято.
7 1243403
>>43399
-> еще выводит тип результата функций. Пройди в питон тред, там как раз твой уровень.
8 1243416
>>43403
Ебать гордиться тем что у тебя в говноязыке неоднозначная хуйня.
Вот поэтому вас ретраградов никто не любит.
На вопрос не можете ответить, так еще и снобизма больше чем у ЛГБТ петухов гордящихся что они ебуться в жопу.
Но уровень самореализации примерно такой же.
9 1243439
>>43416

>Ебать гордиться тем что у тебя в говноязыке неоднозначная хуйня.


>Вот поэтому вас ретраградов никто не любит.


>На вопрос не можете ответить, так еще и снобизма больше чем у ЛГБТ петухов гордящихся что они ебуться в жопу.


>Но уровень самореализации примерно такой же.


>


на самом деле эти стрелки и прочие четвероточия сильно лучше, чем ОДНА ТОЧКА НА ВСЕ. Т.к. как раз прям по коду можно делать выводы о нем.
10 1243442
Бляяяя, какая же это эзотерика. ШАБЛОНЧИКИ. Неее нахуй нахуй нахуй. Пора писать код и тренироваться, а к этой хуйнё надо идти уже с опытом кода. Читнул про шаблоны, жидко пёрнул и умер от стыда. Пиздец. , пиздец нахуй!
"Мы знаем что ты любишь программировать, и мы засунули ещё один ЯП в С++, чтобы ты мог программировать когда программируешь"
Шаблоны крута.
ЖОПА ГОРИТ!!!
Но какая же ахуенна штука всё таки.
11 1243448
Аноны, обясните мне перегрузку постфиксной и префиксной инкрементации.
SomeValue& SomeValue::operator++() // prefix
{
++data;
return this;
}

SomeValue SomeValue::operator++(int unused) // postfix
{
SomeValue result =
this;
++data;
return result;
}

Не могу понять, зачем в этом примере в postfix создается дополнительный объект-копия вызывающего объекта.
Почему вообще у пре/постинкрементарных операторов разные тела? Разве они не одно и то же делают с разным приоритетом?
12 1243449
SomeValue& SomeValue::operator++() // prefix
{
++data;
return \this;
}

SomeValue SomeValue::operator++(int unused) // postfix
{
SomeValue result = \
this;
++data;
return result;
}
13 1243451
>>43448
Перед this звездочка короче.
14 1243453
>>43448

>Разве они не одно и то же делают с разным приоритетом?


Нет, они возвращают разные значения. Читай заново учебник.
15 1243492
зачем нужен stringstream?
16 1243527
>>43492
Стримить стринги.
17 1243541
>>43439
Это все прекрасно, но где можно почитать словарик для высокоуровневых боговю
monkey2.png153 Кб, 600x303
18 1243561
>>43541

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

19 1243564
>>43492

>зачем нужен stringstream?


Чтобы писать в него через << как в cout.
20 1243574
>>43541
Я уверен, что ты и C# нормально не знаешь.
21 1243623
Хочу написать макрос, в связи с чем возник вопрос.
Есть ли возможность перехватить эвент нажатия клавиши?

Не так, чтобы при нажатии клавиши A дальше нажимались B C D
На выходе получаем инпут A B С D

А так, чтобы при нажатии A, плюсы сказали "падажжи, ёбана" и вместо нажатия А, в инпут уходили бы только B C D.
На выходе полуаем B C D.
22 1243627
>>43623
речь идёт о winAPI
23 1243862
>>43492
Ну, например, я его использовал дважды, но очень удобно - сплит строки в вектор(читаешь из строкового потока, указывая ему конкретный символ конца считывания и собираешь из этого вектор строк) и форматирование даты/времени через iomanip вместо проверок длины значений (я просто лучше способа для этого не нашел)
Вполне себе удобная вещь
24 1243867
Доброй ночи.
Вопрос по потокам: почему не компилируется и что хотели сделать тут https://ideone.com/s5mTfx
смущает попытка присвоить прочитанное из потока указателю без типа
while((p=std::cin >> a) && a)
Я представляю, что это заработает как раз только когда прочитывается 0, который становится нулевым указателем, но в итоге !0&&0 дают false и в цикл не входим вообще.
Однако эта хрень не компилируется вовсе. Что не так?
25 1243875
>>43187 (OP)
Скажите, что за штуки эти аттрибуты.
[[где реально это применяется, и на что влияет]]
Это еще одна робкая просьба в сторону компилятора типа inline или еще один // комментарий для человека
или что это такое? Ни разу не встречал в коде. Нафига оно вообще?
26 1243877
>>43399
Ответ строго по сути вопроса: в TCPL авторства какого-то Б. Страуструпа.
27 1243954
>>43867
https://en.cppreference.com/w/cpp/io/basic_ios/operator_bool
Преобразование в void* после C++11 выкинуто.
while((p=std::cin >> a) && a) — приём из прошлого столетия.
15118713940540.jpg60 Кб, 480x360
28 1243972
>>43399

>Блядь где можно почитать после шарпа о крестах и его ебливом синтаксисе?


>А то после шарпа все эти хуйни типа ->, ::, : итд смотятся НЕУДОБНО.


>Все это как я понял обращения к разным тирпм одной структуры.


>


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

29 1243974
>>43954

>while((p=std::cin >> a) && a) — приём из прошлого столетия.


Ладно, не совсем так.
Тип p из прошлого столетия. Надо поменять на bool.
30 1244025
>>43972
Хуя пердоликов задело, видимо тот парень прав.
15336669838600.png153 Кб, 600x303
31 1244034
>>44025

>Хуя пердоликов задело, видимо тот парень прав.

32 1244065
>>44034

>Баевые картиночки



Крестобог/10.
33 1244289
>>43954
>>43974
Тогда сформулирую вопрос иначе.
Что хотели показать этим примером здесь: http://web.snauka.ru/issues/2016/12/75931 (примерно на середине статьи)?
Или они уже тоже из лохматого века и это не стоит всерьез принимать?
34 1244323
>>43399
Отключи безопасное поведение на шарпе и еби байты там
35 1244331
>>44289
Поменяй тип p на bool и всё должно заработать.
36 1244372
Как натыкаюсь на ваш тред, каждый раз проигрываю с шапки
37 1244445
Пиздец тред говноедов, свалил с c++ на java и только рад. зп больше, задачи интереснее, инстументы разработки качественнее, компилится за 5 секунд (в худшем случае). Хули вы страдаете, паргни?
38 1244452
Свалил с C++ на хаскелль. Зависимостей нет.
39 1244455
Свалил с C++ на Idris. Зависимости есть.
Screenshot2018-08-10.png128 Кб, 591x1076
40 1244457
>>44445
тому шо вся йоба на крестах, ЦЭ илитариев ебошить без абстракций на всех не хватает

щито поделать десу, под растик всех так просто не сконвертируешь
41 1244466
>>44457
Ох уж этот быдловатый линус с его школьной манерой общения "ну Х короч говно потому что яскозал а если тебе не нравится то и ты говноед и короч не зря я Х говном назвал, только выигрол!!11".
Свою поделку на сишке написать смог, а вот вменяемой её сделать не смог. Зато не на крестах. Зато в рассылках можно матом хуесосить несогласных, красноглазым эпатирует образ "бунтаря-нонконформиста".
42 1244467
>>44445

>задачи интереснее


Откуда в энтерпрайзе интересные задачи?
43 1244470
>>44467

>Имплаинг, что кресты - не кровавый Энтерпрайз

44 1244476
>>44457
в 2007 этот высер актуален, в 2018 нет, когда кресты стали кардинально другим языком
45 1244477
>>44466

>вменяемой


кому? это как вообще?

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

>>44476

>кресты стали кардинально другим языком


это как? прямо как растик или лучше?
46 1244500
>>44477
На Растике не программировал, но все коммон предьявы к крестам, такие как УТЕЧКИ ПАМЯТИ, СЛОЖНО НИПОНЯТНО - все решены в С++11 и далее. Ну, если ты обучаемый, конечно.
image.png172 Кб, 1417x816
47 1244515
>>44500
ну и конечно же компилятор, который тебе слюни подтирает, я люблю учиться на практике и меня радуют такие фишечки
48 1244519
>>44515
это все здорово, но растик это сложно с точки зрения бизнеса
49 1244522
>>44515
Ого, целых четыре пункта.
50 1244525
>>44522
ну так ты пояснишь или чо?
51 1244652
Согласен конечно, что в С++ дохуя всяких косяков и хуевых вещей by design.
Вот вчера наткнулся на такой пример:
std::vector<char> vec = { "a", "b" };
std::cout << vec[0];

Как вы думаете что будет? Хуй угадаете.
Вызовется конструктор вектора для итераторов, а все потому, что ахуенный дизайн итераторов через шаблоны, который не позволяет делать какие-то констранты на входные типы ( хотя вроде в с++20 там что-то добавили ) и легаси говнотипы типа const char[] у строк.

По хорошему, надо уже перестать поддерживать легаси код в новых стандартах С++ и выпустить что-то типа С++ 2.0, где,
во-первых, будет удалено всякое ненужное и легаси говно, во-вторых, будет кардинально переделана вся система типов, хотя бы даже все эти const char, всякие кучи разных интов в которых хуй разберешься без дефайнов из stdint что в каком размере, будет добавлена рефлексия, что просто необходимо для тех же шаблонных типов и прочего, в третьих, будет переработана стандартная библиотека.

мимо пишу на С++ 10 лет, на Си писал тоже много времени*
image.png140 Кб, 1410x657
52 1244698
>>44652

>пишу на С++ 10 лет, на Си писал тоже много времени


и сишка тебе больше нравится как я понял, да? оно реально там чище и аккуратнее получается или линепс пиздит?

хочется начать твикать уеч(чисто по мелочи допилить уебанское юзабилити, на которое успешные мультимиллиардеры хуй клали), без всякого системного знания, с чего лучше стартовать?

что про растик думаешь?
53 1244708
>>44698
Про чище тут зависит скорее от самого тебя, на сишке можно ахуенно уебищно писать так же как и на плюсах, но если делать все грамотно, то разницы наверное нет.
Линус не пиздит, там речь идет о с++03, который на самом деле был довольно уебищный, но тут тоже зависит, многие просто на С++ пишут действительно уебщиные не понятные вещи, слишком используя шаблоны, давая именам функций и переменных непонятные названия, не умея разделять сущности и т.д.

Про раст не особо знаю.
54 1244720
>>44708
ясно, спасибо, примерно так себе и представлял, большие возможности - большая ответственность, ну а дуроебы учажные в линепси нинужны

ладно походу реально придется в кресты закатываться, раз у вас тут все так пиздато, ни гонок ни ликов типы свежие

какой есть справочник годный самий свэжий?
55 1244723
>>44652

>Как вы думаете что будет? Хуй угадаете



А чё там думать то? Видно же, что кто-то обосрался с кавычками и дизайн языка тут нипричём.
56 1244744
>>44652

>выпустить что-то типа С++ 2.0


добро пожаловать в Rust
57 1244828
>>44744
У тебя 4 ошибки в слове Go.
58 1244842
Решил выучить полноценный язык программирования после 1С. Читаю "Bjarne Stroustrup - A Tour of C++". Нравится. Может быть, в будущем стану полноценным прогрмиистом.
59 1244863
>>44842
Держи в курсе, анончик.
60 1244868
>>44842
Для того чтобы стать программистом надо читать Кнута, а не Страуса.
61 1244880
>>44868
Для того чтобы стать программистом надо писать, а не читать
62 1244981
>>44331
Тогда это, получается, тавтология в условии:
bool p;
while((p = std::cin >> a) && a!=0){...}
Любая считанная a кроме 0 в булевой переменной даст true, а проверка, что a!=0 получается избыточной.

Кстати, этот пример не компилируется: cannot convert ‘std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}’ to ‘bool’ in assignment
Пришлось заюзать static_cast

Вот, что получилось: https://ideone.com/08eKFd
Странно, что не работает rdbuf()->in_avail()
Я что-то неправильно понял, или он должен бы вернуть уж явно не 0?
63 1245045
>>44842
лучше б какой-нибудь питон или джаву учил бы. ты с плюсами столько времени убьёшь до первой работы, а профиты сомнительны
64 1245079
>>45045
Пока работаю погромистом на 1с. Плюсы просто чем-то иррационально нравятся, на другое тупо не будет энтузиазма к изучению.
65 1245193
>>45079
Всё-таки присмотрись к java. После 1C самое оно идти в энтерпрайз. У тебя кроме знания языка, уже будет хорошее понимание предметной области.
66 1245214
>>43492
Он позволяет сверхудобно преобразовывать всяческую дичь в строки, в том числе дичь, отсутствующую в стандартных либах, если для неё создатели этих либ озаботились перегрузкой операторов >> <<, как здесь:
https://stackoverflow.com/questions/18950680/how-to-overload-operator-to-take-variable-argument-list

Ну и например зачастую получается меньше графомании:
std::stringstream stringBuilder;
stringBuilder << myFloat << " " << myDouble << " " << cv::Rect(10, 10, 10, 10); //cv::Rect - класс для прямоугольника из opencv с перегруженными операторами
return stringBuilder.str();

cv::Rect roi(10, 10, 10, 10);
str::string result = std::to_string(myFloat) + " " + std::to_string(myDouble) + " " + std::to_string(roi.x) + " " + std::to_string(roi.y) + " " + std::to_string(roi.width) + " " + std::to_string(roi.height);
return result;

Ну или если даже вынесем преобразование в отдельный метод, может быть что-то вроде такого:
cv::Rect roi(10, 10, 10, 10);
str::string result = std::to_string(myFloat) + " " + std::to_string(myDouble) + " " + cvRectToString(roi);
return result;

Также stringstream хорош тем, что он единообразно принимает аргументы, что позволяет в некоторых случаях использовать его в шаблонных методах.
Если же использовать в шаблонном методе std::to_string от аргумента, то для типа std::string этот метод не будет изкоробки определён, к примеру.
67 1245340
>>43399
Выучи сначала обычные Си, без их хотя бы базового знания 90% плюсов пройдёт мимо головы.
image.png402 Кб, 1380x663
68 1245413
>>43399
хирьянов и сопящий жироуебок оператор в помощь

https://www.youtube.com/playlist?list=PLRDzFCPr95fItmofHO4KuGjfGtbQtEj-x
69 1245414
есть кто юзает stl?
70 1245453
>>45414
Есть кто-то, кто её не юзает?
hqdefault.jpg25 Кб, 480x360
71 1245624
>>44981

>Тогда это, получается, тавтология в условии:


>bool p;


>while((p = std::cin >> a) && a!=0){...}


>Любая считанная a кроме 0 в булевой переменной даст true, а проверка, что a!=0 получается избыточной.

72 1245643
>>43442

>мы засунули ещё один ЯП в С++


Ты о чём?
73 1245645
>>45414
У тебя 3 недели до конца каникул, а ты здесь срёшь
74 1245665
>>45414
нет, сам с нуля пишу все контейнеры, реализации алгоритмов и утилиты.
75 1245715
спиздил плагун за 450р у китайца под уеч, добавил линупс в вайтлист и бахнул компил, и чето занемогло говно

погуглил ероркод - какие то хуеглоты что то невнятное пишут, я не разобрал

на тебя вся надежда анончик

ланчера под линупсами нет, так что купить не варик, если взлетит занесу китайцу на палку в обход маркета

думаю что нужно какое то окружение, на вендах сдк 8.1 выкачивать приходилось на ебанную прорву гигобайт, но на линепсах вроде уже все есть гсс или не?
76 1245790
Байтоебы, а обязательно ли освобождать память в методе класса, если я выделил ее с помощью malloc и присвоил локальной переменной? Или очистка произойдет автоматически по окончании работы метода? Гугл молчит.

просвящающаяся веб-макака
77 1245807
>>45624
И как это понимать?
78 1245824
>>45790

>malloc


Как там в 89? На си ещё пишете?
11491099.jpg20 Кб, 600x600
79 1245832
>>45079
Анончик, сколько у тебя стаж в 1С? Город, зп, какие знания? До 1С вообще писал на чем то?

Сам работаю в 1с, думаю перекатиться. . До этого со школы еще с++ изучал opengl там, но в нужный момент не нашёл работу стажёром с++. Пошел в 1с, но не диски разводить, а сразу обновления /доработки. Думал посижу пол годика с++ поизучаю. Но на тот момент было столько всего нового в 1с что уже не до чего было. Так и прошло 7 лет пока не понял что уже потолок по зп и нового изучать особо нечего. + пригорание от осознания себя недопрограммистом
80 1245849
>>45790
Конечно, иначе утечи
81 1245860
>>45824

А как правильней? Через поинтер и new? Тогда ведь тоже подчищать за собой надо, только через delete, разве нет? Тогда почему я вижу как malloc постоянно тащат в код каких-нибудь эмуляторов?

вебмакака
82 1245861
>>45860
Через smart pointer не нужно.
83 1245863
>>45860
malloc - это си-стайл.
Если ты хочешь байтоёбить, то делай через new/delete (только не путай потом delete и delete []).
Если боишься прострелить себе ноги, можешь память через вектора аллоцировать, например, так:
std::vector<uint8_t> myData;
myData.resize(100);
uint8_t *dataPtr = &myData[0];
Только учти, что вектор и все данные внутри него протухают после выхода из области видимости (и поинтеры на эти данные тоже становятся невалидными), а ещё векторы во время присваивания перекопируются.
84 1245864
>>45790

> Гугл молчит


Ты каким-то неправильным гуглом пользуешься.
image.png123 Кб, 1132x948
85 1245891
байтойобиусы можно ли подобное изобразить на крестах?

именование разыменование, линковка хуевка, вот это все, интересно как будет выглядеть ирл

кто нилюбит змийку - у того нет сердца :3
86 1245911
>>45807
Ну типо цикл работает пока вход поступают данные

МимоАнонСтудентик
87 1245912
>>45824

>Как там в 89? На си ещё пишете?


Как там в университете? Основы уже прошли?
88 1245927
>>45832

> Анончик, сколько у тебя стаж в 1С? Город, зп, какие знания? До 1С вообще писал на чем то?


Стаж год с небольшим. Зашло очень легко, делаю что угодно из задач что мне ставят с полпинка. Конфигурация самописная, медицинская система. Именно программист, не диски разносить и не с клиентами общаться. Пишу новый функционал, допиливаю старый, курирую иногда более зелёных программистов.

До 1с в универе на с++/qt писал очень простые программы для курсачей всяких (типа там график по числам из таблицы построить и обработать по математическим алгоритмам). Ну и другие языки типп дельфи там мельком изучались. В школе на флеше делал примитивные игры типа угадаек.

>Город, зп


Мухосрань, маленькая. Главный двигатель моего энтузиазма. Можно было бы сказать, что мог мы и с 1с улучшить своё положение, но слишком специфическая конфигурация и задачи у меня, так что не всё так просто. Предметных областей типа бухгалтерии я не касаюсь.

> Так и прошло 7 лет пока не понял что уже потолок по зп и нового изучать особо нечего. + пригорание от осознания себя недопрограммистом


Тоже вижу 1с как недопрограммирование с недоперспективами. Я считаю, что я недораскрываю с ним свой потенциал, и что мне по силам освоить любой язык программирования. Тем более что я ещё практически в совершенстве владею английским.

Читаю дальше ту книжку по с++ вечерами и практикуюсь в Qt Creator. Пока всё достаточно понятно, по крайней мере в общих чертах. Дошел до абстрактных классов. Тут как в 1с - сложности на начальных этапах больше потому что хз какие стандартные объекты, методы и т.п. тут есть и вообще что где находится. А так, мне например доставляет, что гуй на кутях делается 1с-стайл с формочками, элементами, событиями и т.п. - уже легче. Да и вообще в плане написания алгоритмов, все знания с 1с перетекли сюда, просто синтаксис другой.

1с после плюсов кажется деревянной игрушкой, прибитой к полу. Вот бы было заебись, например, если бы там можно было создавать свои классы и дополнять новыми методами стандартные. Кстати сразу видны параллели с 1с и понятно почему некоторые вещи там работают именно так - саму 1ску то на плюсах писали.

Даже если не стану профессиональными погромистом на плюсах, хотя бы повышу свою компетентность в программировании в целом.
88 1245927
>>45832

> Анончик, сколько у тебя стаж в 1С? Город, зп, какие знания? До 1С вообще писал на чем то?


Стаж год с небольшим. Зашло очень легко, делаю что угодно из задач что мне ставят с полпинка. Конфигурация самописная, медицинская система. Именно программист, не диски разносить и не с клиентами общаться. Пишу новый функционал, допиливаю старый, курирую иногда более зелёных программистов.

До 1с в универе на с++/qt писал очень простые программы для курсачей всяких (типа там график по числам из таблицы построить и обработать по математическим алгоритмам). Ну и другие языки типп дельфи там мельком изучались. В школе на флеше делал примитивные игры типа угадаек.

>Город, зп


Мухосрань, маленькая. Главный двигатель моего энтузиазма. Можно было бы сказать, что мог мы и с 1с улучшить своё положение, но слишком специфическая конфигурация и задачи у меня, так что не всё так просто. Предметных областей типа бухгалтерии я не касаюсь.

> Так и прошло 7 лет пока не понял что уже потолок по зп и нового изучать особо нечего. + пригорание от осознания себя недопрограммистом


Тоже вижу 1с как недопрограммирование с недоперспективами. Я считаю, что я недораскрываю с ним свой потенциал, и что мне по силам освоить любой язык программирования. Тем более что я ещё практически в совершенстве владею английским.

Читаю дальше ту книжку по с++ вечерами и практикуюсь в Qt Creator. Пока всё достаточно понятно, по крайней мере в общих чертах. Дошел до абстрактных классов. Тут как в 1с - сложности на начальных этапах больше потому что хз какие стандартные объекты, методы и т.п. тут есть и вообще что где находится. А так, мне например доставляет, что гуй на кутях делается 1с-стайл с формочками, элементами, событиями и т.п. - уже легче. Да и вообще в плане написания алгоритмов, все знания с 1с перетекли сюда, просто синтаксис другой.

1с после плюсов кажется деревянной игрушкой, прибитой к полу. Вот бы было заебись, например, если бы там можно было создавать свои классы и дополнять новыми методами стандартные. Кстати сразу видны параллели с 1с и понятно почему некоторые вещи там работают именно так - саму 1ску то на плюсах писали.

Даже если не стану профессиональными погромистом на плюсах, хотя бы повышу свою компетентность в программировании в целом.
89 1245948
>>45715
Эпичный феил
90 1245954
>>45832

>Так и прошло 7 лет пока не понял что уже потолок по зп и нового изучать особо нечего


Минутку? У 1С разве не больше по зп чем у среднего плюсплюсника? А как же девочки?
91 1245994
>>45790
Если массив - std::vector
Если объект - std::unique_ptr и std::make_unique

/thread
92 1246008
>>45790
Выучи сначала Си, прежде чем плюсы брать.
image.png1,1 Мб, 1560x992
93 1246158
>>45948

>Эпичный феил


в том что эта поибота сломалась, когда я попытался запустить криво скомпилянный проект и согласился его перекомпилять

в итоге весь оставшийся день вытягивал 30 гигов сорцов уеча с гитхаба сраного, на диалапной скорости блядь

а потом еще и места на опакечивание не хватило суука

воистину эпично нахуй
ну и руснявый терминал как вишенка на торте
!!!laugh.webm1,7 Мб, webm,
1280x1280, 0:07
94 1246159
>>46158
Да ещё и рачлинукс вместо дистрибутива
Смеялись всей битардией
95 1246160
>>46158
А всё почему? Потому что на кошерной винде не сидишь, а переоцениваешь свои возможности на кривых линупсах.
96 1246164
>>46159
под шконку, петухи
Screenshot20180813181747.png1,9 Мб, 1920x1080
97 1246179
ща кароче проснулся попёхал в него поломанный пакет, попытался собрать свежий пакет из сорцов, пакж билд ругнулся на путь, нешмог с локальной папки завестисть, либо ему не хватало гитхаб дотфайла который я уже успел удалить, энивей >_> похуй нахуй

щас все само ожило, так что ня ^__^

>>46160

>на кошерной винде


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

через лончер тянется ТАКЖЕ блядь долго, у меня 100 мегов, и как бы я реально охуел, я уже и забыл, но инсталл 4.19 у меня занял те же пол дня

не говоря про то что дело было на харде, и это сущий ад, паскуда мразь вечно чето тащит, айо хдд по пизде, а ты и сидишь как говна в рот набрал, капчуешь с тормозами, норм чо

>переоцениваешь свои возможности


тебе уже пора на дно лягушон

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


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

а я модно молодежно охуенно без сраных рамочек меняю размер окошка через альт+пкм мммм кайф
98 1246207
>>46160

>Потому что на кошерной винде не сидишь


Под линкусом с конпеляцией все в разы удобнее. Под винду все кросскомпилирую мингом, потому что все пакеты для всего есть. Иногда бывает максимум пердольства, но под виндой все хуже, особенно без msys2.
99 1246209
>>45824
Есть куча причин пользоваться маллоком. Например, если тебе не нужна зависимость от libstdc++.
100 1246214
>>46207

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


Lmao.

>>46209

>Не нужен libstdc++


>Пишет на С++


Ебанутый, пиши тогда на С, или на фортране.
101 1246240
>>46214

>Ебанутый


Расскажи это Уолтеру Райту, который прибил стандартную либу к языку гвоздями, а потом 10 лет ее мучительно пытался оторвать. В расте такой ошибки уже не стали делать, они обучаемые.
image.png1,4 Мб, 1920x1080
102 1246267
блядство какое то, анон походу хитрожопый китаец специально запаскудил сорцы свободные сука мразь

https://github.com/pdlogingithub/UE4-Node-Graph-Assistant

уже принципиально хочу скомплёхать это говно сука
тем более ща куплю, а потом еще хуй знает как оно под линами будет работать
103 1246298
>>46240

>Уолтеру Райту


Брайту
fix
104 1246299
кароче решил зайти с другой стороны, создать крестовый прожект в движке и подтыкнуть плагун уже туда

а оно вон чо

покурил форума и кароче я бля не догоняю каким раком кутикриатор или кдевелоп будут бильдят лучше сосноли с кланком\гсс !?
105 1246300
что такое libstdc++ ?
106 1246311
>>46300
Плюсовый рантайм. Функции стандартной библиотеки.
107 1246322
>>45911
Та-ак, верно. И при чем тут Леонид Якубович?
108 1246325
Устали ебаться с ошибками и синтаксисом cmake? Вас не устраивает, что вам надо перекомпиливать проект после смены ветки? Палю годноту: Bazel build
109 1246327
>>46267
Алсо хули UE не хотят поменять свой велосипед на Bazel, как все нормальные ребята?
110 1246333
ну всйо - я тийперь у мамы байтоёпп)))

и уже по традиции в таких свободных вещах лежат дико охуенные и простые о которых ты даже не задумывался

поиск сразу в гугле, блять ну гениально же сука! пойду запилю тоже само во вскоде, что бы еще и сразу в стаке искал
111 1246336
>>46333
Пиздец у тебя цветовая схема конечно.
112 1246341
>>46333
Чо за редактор?
113 1246343
>>46336
Да норм же
/мимокрок
114 1246344
>>46341
KDevelop на скрине видно же.
image.png459 Кб, 1920x1080
115 1246347
>>46336
ну дык я жыэ какир)))

>>46344
не говоря про то что тут >>46299 написано

>>46327
нашел где спросить лолка, они на офф форуме гасяться и хуй кладут когда их прямо спрашивают хуле у вас тут насрано?

кароче из под этого говна все так же как из сосноли запускается, просто команда с ключами висит на кнопошке или хоткее, и то ее хуй настроишь под уеч заебанный блядь, а значит вижстудные дауны с форумов пожрали говна, со своими ололо сборщиками И ДЖЕ ЭЕА
116 1246358
>>46347
Ты тот питух, который засрал питон-тред вс-кодом? Тебе делать нехуй редакторы менять каждые два месяца?
image.png556 Кб, 1293x883
117 1246371
кароче кажется до меня стало доходить

даже и не знаю что выбрать, олинуан солюшн один хуй божественных кутей полна машина, не хватает только криатора или плейн симл, ээейх, пожалуй рискану
118 1246385
ReSharper юзаете? Стоит своих денег?
119 1246433
>>46179
Почему твой линукс такой красивый?
120 1246434
>>46385
Чрезвычайно удобная штука, сколько стоит незнаю ;)
121 1246460
>>46385
Юзаю, Охуенен, Да (но мне контора платит)
122 1246488
Есть ли смысл вкатываться в плюсы без знания чистой сишки?
123 1246491
pscircle.png1,1 Мб, 3200x1800
124 1246495
>>46433

>Почему твой линукс такой красивый?


потому что это арчик братишка, не доебан, не генту блядь и ни прости г-ди нигерос

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

всякий линупс похож на своего хозяина ^_^
125 1246500
на хозяина долбоеба
126 1246553
>>46495
Что мешает накатить на генту эти же самые кеды?
127 1246555
>>46495

>ультимативно топовое решение в котором все просто работает


>кеды


Ну ну.
128 1246562
>>46495
А я бубунтой пользуюсь как дурак
Пойду арч накатывать
image.png137 Кб, 300x309
129 1246578
Гоните этого питуха нахуй, он засирает треды своими постами о визуальной составляющей линухов, de и редакторах, как же он заебал всех в /s/ и питон-тредах.
130 1246579
>>46578

Да и так понятно что он долбоёб инди гей задрот какбе
131 1246590
Надо сделать приложуху для манипуляций с графами (всякие там алгоритмы и т.д.). Получится это сделать в qt? Что-то я не смог нагуглить ни одного примера.
132 1246592
>>46590
1)qgraphicsview
2)можно попробовать рисовать все и перетаскивать через QML объекты
133 1246593
>>46495
Охуительные истории. Как там, уже пофиксили зависание панели задач в плазме? https://www.reddit.com/r/kde/comments/7w4u4j/kde_plasma_freezing_ocationally/

Или может KDE на hidpi хорошо начал работать? Я порой такое говнобаги ловлю, что начинаю сомневаться, что KDE вообще компилится.

А дрова nvidia, который хуй знает как работают?
Ой, а может новые дрова AMD нормально ставятся на не убунту? на деле даже на убунту не с первого раза поставил

Ой, а как там wayland с nvidia поживает?
VNC/RDP давно настраивал? Может скажешь мне навскидку клиент rdp, который умеет в два монитора?
Вот и весь попенсорс, который не двигается корпорациями.
Из всего этого чуда на линупсе у меня нормально работают только продукты от Jetbrains, Chromium и Telegram.
134 1246599
>>46592
Окей, посмотрю. А вообще это нормальная тема - делать графы на qt, или есть более удобный инструмент?
image.png407 Кб, 900x900
135 1246623
Как же он заебал
Призываются адекватные аноны, что бы нахуй этого шизика забанить
https://2ch.pm/d/res/451903.html#547428 (М)
image.png170 Кб, 1438x847
136 1246627
лел, до чего же эгоистичная ебанашка, мамке пади каждый день нервы трепет, ох и вырастила же на свою голову детину..
137 1246630
>>46627
Чувак, никому не интересна твоя ёбля с UE. Тут видишь ли, более концептуальные вопросы обсуждают. Сходил бы ты к шизикам в гейм дев что-ли.
138 1246633
>>46630
я задаю вопросы общего характера, по настройке окружения но никто не знает ололо

указывай мамке на кухне сколько капусты в борщ класть, а мне нехуя, в любом сообществе ирл тебя бы уже опездюлили, безмозглое избалованное животное.
139 1246635
>>46633
Настройка окружения = ёбля. Этой хероты на работе у каждого хватает, сюда люди не за этим приходят, а чтобы обсудить работу с памятью, контейнеры, поумничать, обкашлять вопросики. Хотя перед кем я распинаюсь. Хотя шизик неплох неплох. Такие уже в красной книге двача обитают. Пускай может у нас переночует?
140 1246869
ларчик просто открывался ~_~

создал обычный блюпринтовый проект, а в нем уже крестовый класс и как только создал он сразу начал сам комплёхать сучара блядь и открыл вскод который я указал в настройках в самом движке и тут же проект становится крестовым, появляется кнопка компила в тулбаре

ЕБАННОЕ ЭЛЕМЕНТАРНОЕ ГОВНО СУКА ДЖВА, НЕТ ТРДЖИ ДНЯ РЕИНСТАЛОВ И ЕБЛИ И ХОТЬ ОДНО БЫ МУЛЬТИМИЛИАРДЕРСКОЕ ГОВНО НАПИСАЛО В ВИКИ ПРО ЭТО

сука блядь как же горит, а вы еще чето жалуетесь, чето там не можите понять хуйнять, когда У ВАС СУКА ВСЕ ТУПО В КНИЖКЕ НАПИСАНО С ПРИМЕРАМИ тут же лазаешь как мудак по протухшим форумам, качаешь всякое говно, пытаясь по пути понять суть

уууух блядь ненавсить

ну да ладно, теперь то наконец попробую подтыкнуть спизженный китайский плагун ^_^
image.png306 Кб, 1920x1080
141 1246917
поставил туторы на закачку, пока потиху балуюсь, возник вопрос:

а есть либа что б как у белых людей було?
image.png448 Кб, 1920x1080
142 1246926
теперь понятно чому эпики говорили мол первый запуск вижстуда будет долгим

вот только нахуя нужна эта аглобельная иджэ, если все итак есть в блокноте, или там какие то неибацо киллер фичи у вц?
143 1247034
>>46635
А серьёзному программер надо уметь красно-черное дерево из головы писать?

мимонуб
144 1247049
>>47034
Не совсем, он должен представлять комплексное решение задачи. Архитектура\бест практис\неочевидные особенности языка и все такое подкрепленное опытом
145 1247073
>>47049
Как нагуглить актуальные бест практис по С++? Это вообще что, блог типа GoW или книги или что?
146 1247092
>>47073

>Как нагуглить актуальные бест практис по С++


Это хороший вопрос. Плюсы строятся на бестпрактисах. Собственно даже отдельные языки из плюсовских бестпрактисов отпочковались.
147 1247133
>>47073
Майерса кури
148 1247148
>>47133
Книжка Effective Modern C++ сойдет?
149 1247172
Как же хорошо на хаскелле господи.
150 1247237
>>46926
У вц никаких. Плюй в ебало советующим вц
151 1247256
>>47237
так и думал, хорошую вещь к движку на вендах не захордкодят
image.png27 Кб, 731x92
152 1247468
>>43187 (OP)
помогите мне пожалуйста, разбираюсь с библиотекой OpenCV на плюсах, использую структуру Mat, считываю в неё картинку, применяю встроенную функцию cv::transpose для транспонирования, и после этого пытаюсь использовать также встроенную функцию cv::multiply. И она почему-то не работает. Подскажите почему пожалуйста.
153 1247511
>>47237
плюнул в лицо фанатичному дауну
154 1247520
>>47511

>фанатичному


но ведь он не топил ни за что

и ты это, поясни за вц, а жидкости свои при себе оставь
Screenshot20180816-100228.jpg345 Кб, 1388x1150
155 1247613
>>47468
Там же все написано.
Не совпадают размеры переданных массивов.
Хочешь разобраться, почему ошибка - почитай про перемножение матриц, если нет - проверь, чтобы у тебя совпадали размеры всех трех матриц.
156 1247634
>>47520
Де-факто стандарт индустрии
157 1247748
>>47634

>Де-факто стандарт индустрии


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

у тебя сознание пораженца, ты уже сам себе разработал сракотан и приоткрыл ротик, уверен у тебя все получится ;)
158 1247790
>>47748
У меня уже все получилось
memory breakpoint help_me_pls 159 1247833
САП! Пытался писать функцию брейкпоинта на память, но как-то вообще не понимаю, что к чему. Функция должна вернуть адрес инструкции, обратившейся к адресу в памяти. В инете есть кое-какая инфа, но я вообще не вдупляю ппц и из-за этого чувствую себя хуже, чем обычно :/
help_me_pls 160 1247838
>>47833
https://pastebin.com/e5rtQ2A1 вот что-то писал
debug.png117 Кб, 1016x788
161 1248065
>>47833
Не силен в guard page'ах. Чем отладочные регистры не угодили?

На пике Test 1 в цикле печатает адрес и значение volatile uint64_t x = 0xDEADBEEF.

Debugger находит поток Test 1, ставит себя отладчиком, заливает потоку в контекст DR0 с адресом x и соответствующими флагами в DR7 (бряк на чтение/запись 8 байт по адресу в DR0), в цикле ловит EXCEPTION_SINGLE_STEP и подменяет значение в R8 на 0xFEEDB00B.
help_me_pls 162 1248185
>>48065
так аппаратных бряков всего 4 на поток.
Да и до них я пока не дошёл, остановился на guard page(нормально так остановился)
Смотрел исходники x64dbg, пытался делать ,как там, но чет увы...
163 1248280
>>44452
Ну как?
guardpage.png74 Кб, 822x781
164 1248435
>>48185

> так аппаратных бряков всего 4 на поток.


А тебе больше нужно? Ты полноценный дебаггер пишешь или лабу?

> Да и до них я пока не дошёл


Через отладочные регистры даже проще ибо в работе guard page'й насколько я знаю есть кое-какие нюансы.

> Смотрел исходники x64dbg, пытался делать ,как там, но чет увы


Пикрелейтед: сделал как у тебя, ставлю PAGE_GUARD странице памяти с переменной, ловлю EXCEPTION_GUARD_PAGE, в ExceptionInformation (Param[1] на скрине) прилетает адрес в памяти, после этого устанавливаю флаг трассировки и ловлю EXCEPTION_SINGLE_STEP.

Тащемта у тебя код почти все то же самое делает вникать в него и искать где ты ошибся я конечно не буду :3 Если ты понимаешь как он работает, то я не понимаю какие у тебя проблемы.
165 1248469
Ребят, смотрите
Есть приложение А
Есть DLL Б
Можно ли заинжектить DLL Б, представленную в виде массива байт, заинжектить в процесс А не используя Manual Mapping?
Если да, то дайте ссылку, где есть пример такой реализации, или может сами чего подскажите, пожалуйста :)
166 1248489
>>48469
И при чём тут C++?
167 1248492
>>48489
вай нот?
мимо
168 1248576
>>48469
Ксацкир?
help_me_pls 169 1248630
>>48435
Мб я не до конца понимаю.
Нужно словить EXCEPTION_GUARD_PAGE, установить флаг трассировки и ловить EXCEPTION_SINGLE_STEP и когда словил проверять адрес debug.u.Exception.ExceptionRecord.ExceptionInformation[1]? И если адрес верный, то выходить из отладочного цикла? Иначе восстановить PAGE_GUARD ?
170 1248660
>>48630
Нет. EXCEPTION_GUARD_PAGE вылетает в момент обращения к памяти с PAGE_GUARD, место возникновения (адрес обратившейся к памяти инструкции) будет в ExceptionRecord.ExceptionAddress. Если это все что тебе нужно, то флаг трассировки вообще не надо ставить, он нужен для пошагового выполнения программы (процессор с этим флагом сам генерирует прерывание после каждой инструкции), я его ставлю и выполняю еще одну инструкцию просто чтобы 0xDEADBEEF в регистре увидеть. Мало того, отлаживаемая программа с этим флагом тут же упадет если не будет отладчика который будет обрабатывать эти прерывания.

Адрес в ExceptionInformation[1] нужно проверять при обработке EXCEPTION_GUARD_PAGE, туда должен приходить точный адрес в памяти куда инструкция обратилась, в EXCEPTION_SINGLE_STEP там вообще ничего не должно быть. Ну и да, проверяешь его и снова ставишь PAGE_GUARD если программа обратилась не туда куда тебе нужно или выходишь из цикла, не забудь ContinueDebugEvent.

Учти еще что WaitForDebugEvent(&debug, INFINITE); не вернет управление пока не поймает событие.
171 1248710
>>48660
Ну, мне нужны ещё значения регистров и адрес инструкции, которая обратилась к памяти(и флаг, с которым обратилась (запись/чтение))
172 1248804
>>45994
>>45863

>vector


>unique_ptr



А они не влияют на производительность?
173 1248829
>>48804
Хуярь на ассемблере, хули
174 1248851
Народ, кто нибудь юзал майкрософтовскую приблуду для linux разработки?

Вот есть задача собрать код под линуксом и походить с отладчиком, хау ду ай ду зыс?

Могу ли я на виртуалку поставить линукс, выкачать туда код, собрать и приконектиться этой штукой туда по ssh?

Есть ли нормальная поддержка cmake? Хорошо ли работает студия с gdb?

Короче, насколько вещь хороша, пользовать можно?
175 1248863
176 1248885
auto it = v.begin();
Не работает, пишет it does not name a type
177 1248889
>>48885
А v какой тип? Вектор?

#include <vector>

int main()
{
std::vector<int> v{0, 1, 2, 3};
auto beg = v.begin();

return 0;
}

У меня с gcc собирается эта фигня.
178 1248891
>>48710

> адрес инструкции


> место возникновения (адрес обратившейся к памяти инструкции) будет в ExceptionRecord.ExceptionAddress



> значения регистров


Из контекста (GetThreadContext).

> и флаг, с которым обратилась (запись/чтение)


В ExceptionInformation[0], (0 - чтение, 1 - запись)
help_me_pls 179 1248898
>>48891
и case EXCEPTION_SINGLE_STEP не надо? вообще?
180 1248928
>>48576
Около того
181 1248929
>>48889
Да, вектор, у меня оказывается стандарт не 11 был
182 1249077
>>48829
И это охуенно, отвечаю.
Только долго.
И нудно.
183 1249152
>>48891
и в single step не переводить? Где вообще написано, как писать memory breakpoint?(
Ksyrx 184 1249219
C++ говно
185 1249318
>>49219
клуб любителей Го пару блоков ниже
186 1249324
>>49219
Я пересел на хаскелль и всем советую.
187 1249347
>>49219
Ты в наш клуб копрофилов пришел только это сказать?
188 1249461
>>49219
Те не похуй какой язык копипастить со стековерфлоу и получать каждый месяц 250к?
189 1249479
>>43448
Крч у постфиксной и префиксной максимальный приоритет. Префиксная увеличивает значение и возвращает объект. Постфиксная увеличивает значение, но возвращает объект до увеличения значения. Напиши чет тип i=2; a=++i; b=i++; Поймешь суть. Постфиксная именно по назначению оч редко юзают
190 1249515
>>49152

> и в single step не переводить?


Я же написал для чего нужен флаг трассировки. Если тебе только адрес нужен можешь не переводить.

> Где вообще написано, как писать memory breakpoint?


Я тебе уже два метода продемонстрировал. А вообще там же где и все остальное - в гугле, от себя могу порекомендовать пару ссылок:
https://habr.com/post/178159/
https://docs.microsoft.com/en-us/windows/desktop/debugging-and-error-handling
191 1249670
>>48804
Напишешь производительный код, который на 5-10-15-20% быстрее читаемого кода, а потом через три месяца будешь сам от него плеваться, когда надо будет внести изменения или дебажить. Ну или другой челик после тебя придёт и будет тебя проклинать.
192 1249722
Есть два приложения. Одно написано на C++, а другое на Java. Возникла необходимость использовать первое и второе в своей программе. Программа на Java грабит странцы и предоставляет информацию в базу данных. Программа на C++ раз в секунду проводит опрос базы данных на наличие новой инфомрации, и если она есть, то начинает ее обработку.

В общем, мне кажется, что организация работы через базу данных это костыль. Какие существуют методики интеграции нескольких приложений написанных на разных языках, но на одной платформе в одну единную систему с учетом того, что части системы связаны между собой по подобию сигнал-действие?
193 1249730
>>49722
Может очереди через amqp? Посмотри RabbitMQ
194 1249752
>>49730
Спасибо за ответ. RabbitMQ - это слишком круто для меня, всё же все приложения находятся на одной локальной машине.
195 1249755
>>49752

>всё же все приложения находятся на одной локальной машине.


Это никак не препятствует использованию кролика.
Можешь еще https://redis.io/topics/pubsub глянуть
Ksyrx 196 1249769
C++ говно
197 1249845
>>49722
Пайпы, очереди сообщений или сокет, очевидно жи.
Еще shared memory, но не уверен что из джавы можно.
198 1249848
>>49845
Шмем плох тем, что его без дополнительных приблуд вроде оповещений по другим каналам связи трудно использовать для динамического контента. Туда сложно запихнуть какие-то сложные объекты вроде очередей, чтобы ничего не руинилось в многопоточной среде.
Ещё DBus есть и In-Memory Data Grid, но я их не пробовал.
199 1249849
>>49848
Яхз что за DBus и In-Memory Data Grid.
Это из буста что то?
Я про базовый линуксовый ipc рассказал этому анону.
Shared memory можно просто как разделяемые данные с семофором юзать и все.
help_me_pls 200 1249861
>>49515
Ну, кое-какие продвижения есть. Я не там восстанавливал PAGE_GUARD -_-
201 1249915
В 14 лет трогал перл. В 16 трогал Си. В 18 трогал жс. В 21 трогал хуй.
Хочу как бы заново вкатиться в кодинг, попутно структурируя и вспоминая все то, что забылось уже давно.
Есть ли какой-то смысл начинать с голого Си или же можно сразу окунаться в Си++?
ООП не трогал никогда
image.png79 Кб, 529x162
202 1250024
>>49915

>ООП не трогал никогда


и не нужно, функциональщина топчик, полиморфизм зло

зачем вкатываешься, когда ответишь себе, тогда и поймешь

можешь мельком глянуть туторы на тубике, пожалуй байтоебские видосы с руссеком на мвс это единственный русский контент разрешённый к просмотру минздравом
203 1250173
>>50024
чому все девушки пограмисты такие всратые? ни одной красивой и разбирающейся не видел ещё.
204 1250175
>>50173

>ни одной красивой и разбирающейся


Будто с парнями иначе.
qNf9RjsGWB8.jpg36 Кб, 495x604
205 1250190
>>50173

>всратые


они в голове в первую очередь, функция мобильного инкубатора предопредляет сознание и развитие индивида в целом, они всегда будут лишь серыми посредственностями, усидчиво копируя то что превозмогая биопроблемные лишения создали мужчины

ну а красота это в первую очередь харизма и внутренняя уверенность, что напрямую связано с успехами в проффесиональной деятельности, сракой за дорого торговать тащемта тоже надо уметь

и да человек в принципе мммаксимум энергоэффективное животное, а мозг дохуя ресурсный, поэтому если фартануло с дойками и жеппой, можно даже со стремным ебалом и колхозным мейком найти себе татарина с нефтянки

>>50175

>с парнями иначе

206 1250244
>>50190

>красота это в первую очередь харизма и внутренняя уверенность


не, это красивое тело и ебало.
207 1250299
вниманиеблядство и хуеглотство вс замрочное въяболово
208 1250408
>>50024
Я о другом. Есть ли какой-то смысл заморачиваться между выбором си/крестов, или сейм щит?
209 1250410
>>50408
Ну нет же. На си ты хуй напишешь большие приложухи (или очень долго). На крестах больше инструментов чтоб большие приложухи писать. Си это ардуино и прочая х%уйня, кресты это браузеры, базы данных, медиа проигрыватели и тд.
210 1250415
>>50410
Я беру кресты/си, чтобы знания воедино собрать и перекатится куда-то уже с каким-то базисом на строго типизированном языке.
211 1250716
>>50415
хуйня собачья, уровня 13-летних индиго ебать их в рот анонов олимпиадников

дропнешь унылую БЕСПОЛЕЗНУЮ хуйню через неделю

делай то что нужно в данный конкретный момент времени и изучай походу полезные мелочи, ебаться с говном по настоящему для этого не нужно
212 1250717
один хуй потом будешь складывать строки с числами на местной жс галере
213 1250886
>>43187 (OP)
https://ideone.com/1MGqg9

Я не умею указывать явные спецификации, и не понимаю, в чем проблема.
214 1250913
>>50886

> спецификации


специализации
215 1250931
>>50886
Решил проблему.
216 1251490
>>43399
Как стать успешным кодером:

>Без базовых знаний си и крестов попытаться выучить шарп.


>Поняв что все хуйня и пора начинать по новой попытаться вкатиться в кресты.


>Озалупиться от непривычного синтаксиса и винить в своей тупости язык.


>Жидко покакать об этом в тред.

217 1251861
Какой фреймворк или библиотеку для графики/игры брать?
218 1251888
>>51861
Только хардкор, только 6мс на каждую итерацию главного лупа на Pentium 4 с таким-то графоном и задержкой между графоном, звуком и инпутом, которой позавидует Beatmania:
STL (чуть-чуть, только для строк и векторов)
Графон: OpenGL
Музон: XAudio2/ALSA
Окна: WinAPI/Xlib
219 1251959
>>43187 (OP)
Я тут охуел с шаблонов, точнее с variadic template. Ебать это инструмент богов похоже ептубля. /r годную литературу по метапрограммированию. Алсо /r годную литературу по современному(с 11 по 17) цэпэпэ.
220 1251982
Читаю С. Прата - Язык программирования C++. Лекции и упражнения.
Дошел до 14 главы - "Множественное наследование" .
И есть один код: https://ideone.com/5A6dST
Почему-то, когда я добавляю в базовый класс функцию virtual void ShowData();, то компилятор начинает ругаться на:
--------------------Configuration: 14.5 - Win32 Debug--------------------
Compiling...
14.5.cpp
error C2250: 'highfink' : ambiguous inheritance of 'manager::ShowData'
emp.h(32) : see declaration of 'manager'
error C2250: 'highfink' : ambiguous inheritance of 'fink::ShowData'
emp.h(50) : see declaration of 'fink'

emp.cpp
error C2250: 'highfink' : ambiguous inheritance of 'manager::ShowData'
emp.h(32) : see declaration of 'manager'
error C2250: 'highfink' : ambiguous inheritance of 'fink::ShowData'
emp.h(50) : see declaration of 'fink'

Error executing cl.exe.

14.5.exe - 4 error(s), 0 warning(s)


Че за нахуй?
221 1252073
>>51982
Я в этом не силен(у меня пока плюсы - это си + std), но при первом взгляде на код и ошибку предполагаю: ругается на то, что не может определить, от чего наследовать, а ты написал ошибку "множественное наследование".
И задался вопросом: а нахуй тебе добавлять virtual void ShowData() в protected, когда он уже есть в private? Определись и оставь что-то одно
222 1252076
>>52073

>а нахуй тебе добавлять virtual void ShowData() в protected, когда он уже есть в private? Определись и оставь что-то одно


Опечатка. Даже если я убираю ShowData() из protected, то ошибка компиляции все равно остается.
223 1252117
>>52076
А, смотри.
У тебя же highfink наследует сразу от двух классов, вот и не может определиться, какой showData ему брать.
Я точно не уверен, но, кажется, в том классе, от которого не надо брать этот метод, нужно его определить как final
224 1252160
>>52117
Так а если мне оба нужны?
225 1252210
>>52160
Вызывай с явным указанием класса.
Безымян569ный.png45 Кб, 789x795
226 1252370
>>52210
Это я уже понял, что нужно вызывать с явным указанием класса. Но тут ситуация немножко иная. У меня в конечном производном классе вообще нету переопределения этого метода. И получается, что компилятор не знает от какого предка наследовать этот метод.

Перефразирую свой вопрос. Получается, что строя иерархию классов как на пикрелейтед, я всегда буду получать "непоределенное наследование" в конечном производном классе?
227 1252394
>>52370

>У меня в конечном производном классе вообще нету переопределения этого метода.


Особо разницы нет. Так как ты публично наследуешь эти два класса, то ты в принципе сможешь вызвать у объекта класса employee функцию ShowData(). Например, так:

void foo(const employee& e)
{
e.showData();
}

Если ты передашь в foo экземпляр класса highfink, что программе вызвать?. Компилятору нужно заранее знать, что именно будет вызываться у этих highfink-ов (если хочешь углубиться, можешь почитать про vtable). Но он не может этого сделать, Поэтому ошибка. Единственный выход: всё-таки сделать конечный оверрайд. Если ты уж совсем не хочешь его "показывать наружу", то можно сделать его приватным:
https://ideone.com/knUeZt
228 1252421
>>51861
БАМП
229 1252490
что нужно знать, чтобы смело вкатиться на джуна? что вообще могут с джуна спросить?
230 1252517
>>52490
Всё, что на мидла. Тадам, добро пожаловать в крестомир
231 1252553
Пытаюсь исполнять машинный код при помощи апишного VirtualAlloc значит... Но почему-то оно выдает exception на то, что я пытаюсь лезть в защищенные области памяти. Как это объяснить?
https://ideone.com/ZtKovP
232 1252575
>>51861
Определись какая будет игра и ответим по делу.
233 1252651
>>52553
Что у тебя на странице с кодом? Идёт два нопа, потом нули (если верить https://c9x.me/x86/html/file_module_x86_id_5.html, то это ADD r/m8, r8, то есть получается посто целая страница add al, al). Потом страница заканчивается и начинается уже защищённая, на которой у тебя и падает.

Чтобы убедиться, посмотри на адрес VirtualAlloc, и затем на адрес исключения. В моём случае память была выделена в 0x00DD0000, а исключение случилось в 0x00DD1000. Размер - ровно страница. Совпадение? Не думаю.

Решение: добавь RET (0xc3) после нопов, выйдет из функции нормально.
234 1252658
>>52651

>Решение: добавь RET (0xc3)


А вот можно пошалить и выставить jmp на main?
235 1252705
>>52658
Можешь делать всё, что захочешь, код ведь твой. Только тебе придётся страдать с опкодами x86.
236 1253066
Возможно тупой вопрос, но тем не менее, у меня есть моя библиотека и программа на основе неё, где мне держать эту скомпилированную библиотеку в Windows? Просто в Linux обыно все заголовочные файлы помещают в /usr/include, а библиотеки в /usr/lib. Просто у меня моя библиотека, сторонние библиотеки, моё приложение и как всё это правильно структуризировать для удобной кросплатформенной системы сборки я не совсем понимаю.
237 1253115
Какой фреймворк брать для игор?
238 1253411
>>53066
Обычно в одной папке с приложением под виндой дистрибьютят. Не знаю, есть ли смысл заморачиваться и куда-то ещё кидать.
За что мы любим C++ 239 1253468
#include <new>

int main()
{
struct S { int i; ~S() {} } s; // создаём объект
int& ri = s.i; // байндим ссылку на его мембер, т.к. скоро мы не сможем пользоваться s
s.~S(); // заканчиваем лайфтайм s
ri = 0; // но при этом лайфтайм его мембера не заканчивается, ссылка валидна!

::new (&s) S; // пересоздадим объект, т.к. иначе будет UB из-за вызова деструктора при завершении main
}

вот за это я и люблю C++
240 1253472
>>53115
Sdl 2
241 1253474
>>53468
1. Нажимаешь Build.
2. Ждёшь.
3. Cannot build because hurrdurr.o not found: Go fuck yorself.

Вот за это мы не любим ц++
Снимок экрана от 2018-08-27 09-40-54.png526 Кб, 1920x1080
242 1253475
Появилось свободное время, наконец-то настроил драйвера на убунте под радеон р9 390 и смог запустить тестовую прогу-куб от vulkan-api. А как дальше разрабатывать? Как это выглядит? Где писать исходники под вулкан? Иде какое-то есть?
Скриншот доказывающий что не пиздабол.
243 1253476
>>53474
Just go and fuck yourself, ok?
244 1253477
>>53476
Нет ты.
245 1253478
>>53475
INSTALL GODOT
246 1253518
>>53475
Идёшь в тред про vulkan и сидишь там один.
247 1253527
>>53475
Качаешь либо CLION (студии под убунту нет) либо VSCODE, SUBLIME TEXT и компилишь через строку командную.
248 1253623
>>53475
идиот малолетний, послушай старика, просто поставь винду.
249 1253631
>>53475

>Появилось свободное время, наконец-то настроил драйвера на убунте под радеон р9 390 и смог запустить тестовую прогу-куб от vulkan-api. А как дальше разрабатывать? Как это выглядит? Где писать исходники под вулкан? Иде какое-то есть?



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

Короче, концепция такова, что ты вместе с игрой пишешь еще и половину драйвера видеокарты.
250 1253735
Как правильно писать по стайл гайду
float cos_t = cos (t);
float sin_t = sin (t);
float x = 2 pow (cos_t, 3);
или

float cos_t = cos(t);
float sin_t = sin(t);
float x = 2
pow(cos_t, 3);

(пробелы после скобок в функции нужны ,)
251 1253782
>>53735
похуй, но не забывай, что кос и син могут быть константами
252 1253797
Аноны ,как на экзешку в visual2017 поставить картинку? В гугле нихрена не понятно ,в настройках проекта ничего такого не нашел
253 1253823
>>51959
Ну что же вы, бэтманы? Неужели никто не интересуется таким или я в шары долблюсь и ответ где-то в шапке или что-то вроде того? Так я смотрел, не нашёл.
254 1253831
>>53735

>по стайл гайду


Какому из? По гугловскому? Нет. Мелкософтному? Нет. GNU? Да.
255 1253839
>>53823
Читай референсы, смотри cppcon и смотри реальный код библиотек. Хотя бы тот же std::variant. Но я умоляю тебя. НЕ ПЕРЕБОРЩИ, СУКА. Я только неделю назад словил пятикилометровую ошибку компиляции, потому что какой-то умник решил запихнуть функции (тип которых определяется темплейтом) в массив и вызвать энную, исходя из определённого компайл-тайм условия (которое определяется через хренову тучу sfinae-структур).

Используй только там, где действительно нужно обобщённое программирование. В 99% случаев оно усложнит код, сделает компиляцию медленной, и вообще, не надо.
256 1253840
>>53839

>Но я умоляю тебя. НЕ ПЕРЕБОРЩИ, СУКА.


Торжественно обещаю не борщить, сенсей. Спасибо за наводки.
257 1253845
>>51959

> /r годную литературу по метапрограммированию


Paul Graham "On Lisp"
258 1253865
>>53623

>>поставь винду


Я под линуксами более менее выучил кресты. В линуксах кресты легко установить, есть дохуя иде. Под виндой чёто не взлетело, а в визуал студио вообще свой язык.
259 1253884
>>53797
Зависит от того, на чем ты окна делаешь.
На винапи - при регистрации класса окна, вроде, указываешь путь к иконке. Есть где-то гайды от мелкософта по этому поводу, главное - поищи нужную процедуру, это будут относящиеся к созданию окна.
Если что-то вроде SDL - то обычно с библиотеками и SDK поставляются запускаемые примеры и проекты/код, можешь там поискать, как это делать.
260 1253968
>>53865

>в визуал студио вообще свой язык.


Там обычные кресты, ты чего. Если ты про C++/CLI, то мы стараемся его не вспоминать.
261 1253969
>>53797
Добавляешь иконку в ресурсы, при инициализации окна получаешь по идентификатору хендл на неё и ставишь с SetIcon
262 1254019
>>53865
Ты не смог осилить "клик чекбокс" -> далее?
263 1254194
>>53968
А что это за хрень там такая под спойлером?
image.png267 Кб, 475x700
хелп 264 1254353
Анонии, чем можно дополнить кнежку на пике по теме практики? Типо задачки на массивы-хуивы, крестики-нолики. мб тыртырнет курсы есть какие? Всех чмоки-чмоки :з
266 1254538
>>54353
Стивен Прата. Язык программирования c++
267 1254719
а на пике что по твоему?
268 1255009
Сап парни, такая проблема: не вызывается деструктор собственный. MS Visual 2017.
Сейчас в пример дам простейший код, через отладчика тоже в деструктор не залетает. Это я рукожоп что-то упустил или компилятор сломался?
#include <iostream>
#include <cstdlib>
using namespace std;
class MyCopy
{
public:
MyCopy()
{
cout << "Вызвался конструктор" << this << endl;
};
~MyCopy()
{
cout << "Вызвался деструктор" << this << endl;
};
};
int main()
{
setlocale(0, "");
MyCopy a;
system("pause");
return 0;
}
269 1255012
>>55009
А так?

int main()
{
setlocale(0, "");
{
MyCopy a;
}
system("pause");
return 0;
}
270 1255015
>>55012

>int main(){setlocale(0, "");{MyCopy a;}system("pause");return 0;


так работает, а в чем собственно причина, подскажешь? Спасибо:)
image.png131 Кб, 474x315
271 1255058
>>53839
Охуеть, анон, да это же ёбаный хаскель! Только обфусцированный до невозможности, но это похуй! Ебучий хаскель внутри ебучих крестов! Охуеть! Охуеть! Хуй стоит! Кресты язык богов.
ушёл писать монаду
272 1255077
>>55015
Магия, чувак :)
273 1255081
>>55012
int main(){
MyCopy *a = new MyCopy;
delete a;
system("pause");
return 0;
}

Деструктор вызывается при уничтожении объекта.
274 1255095
>>55015
Деструкторы вызываются после того, как начинается выхож из блока - анон выше сделал отдельный блок, в котором вызвал конструктор; по его завершении автоматически вызывается деструктор и все окей.

А в твоём случае вызов деструктора будет только после return 0, когда уже программа заканчивает работу - потому ты и не видишь вызов деструктора.

Хотя cppquiz считает, что и твой код должен инициировать вывод в консоль, но я проверял их примеры в студии - и как у тебя, нихуя нет.
275 1255103
>>55009
Это какая-то особенность компилятора студии. gcc 5.3.0 всё честно выводит.
276 1255111
>>55081
А что, за system("pause"); в этом треде не ругают?
277 1255117
>>55111
Только ссут на ебло.
278 1255157
#include <iostream>

class Bar
{
public:
void foo() { std::cout << "foo()" << std::endl; }
};

int main() {
Bar* pt = nullptr;
pt->foo();
return 0;
}

выведет foo()
Какого хуя?
279 1255172
>>55157
Неопределенное поведение, брат. Еще легко отделался, мог бы пять хуев у себя в жопе обнаружить.
280 1255361
#include <functional>
std::function<void(int)> wrapper(std::function<void(int)> f){
return [f](int arg){
f(arg);
};
}

Как сделать так, чтобы лямбда в данном примере принимала любое количество аргументов?
281 1255392
>>55361
Как сделать так, чтобы лямбда в данном примере принимала любое количество аргументов?
https://ideone.com/Rqmx7g
282 1255418
>>55392
Ок, моя ошибка. Как сделать так, чтобы при всём этом, лямбда принимала любую функцию?
Сейчас я могу сделать вот так:
https://ideone.com/FgBU3F
283 1255470
>>55172
Лол.
284 1255490
>>55418
https://ideone.com/WNdrrB
Вот общая идея, тебе остается только написать код для вытаскивания шаблонных аргументов RET и ARGS из VAL через специализацию, чтобы их не указывать. (RET можно достать через std::result_of, как аргументы хз, возможно придется писать вручную специализацию для std::function.) И возможно спрятать все это в шаблонную функцию. Мне лень это доделывать.
285 1255536
>>55157
(Невиртуальные) функции класса - обычные функции, которые принимают скрытый указатель this. Ты им не воспользовался - прога не сдохла. Вот если сделать функцию виртуальной (и компилятор её не девиртуализирует), то обращение к ней будет через vtable. А указатель на объект нулевой, значит vtable тоже в нуле и указатель на функцию тоже нулевой - прога тогда сдохнет.
286 1255538
>>55536
Спасибо, я понял.
287 1255540
>>55490
Понятно, спасибо.
288 1256064
>>43187 (OP)
Есть крестовый код написаны в си стиле. Нужно создать класс/шаблон/макрос или какую-нибудь другую хуёню-обёртку чтобы было легко вызывать одну функцию перед вызовом каждой уже существующие функции и эта одна должна бросить эксепшен если что-то не так, а если всё ок, то просто прекращается и вызывается правильная функция. Чтобы можно было писать что-то типа Funcs::FuncName(Arg1, Arg2); и перед тем как вызовется функция FuncName это штука должна вызвать другую функцию, но её имя не надо каждый раз писать при вызове FuncName. Ну надеюсь вы поняли. Как это сделать красиво?
289 1256067
>>56064
Ах да забыл добавить, что код уже написанных функций менять нельзя. Нужно создать новый файл для этой хуйни и там инициализировать её всеми уже рабочими функциями
290 1256236
Как объединить 2 переменные типа int в 1?
Есть a = 4 , b = 3; Нужно чтобы c = 43. В интернете находил решение в 5-6 строк, думаю можно как-то легче это выполнить.
Не обоссывайте, я недавно начал изучать язык.
291 1256248
>>56236
Помнож 4 на 10 и сложи.
292 1256254
>>56248
Я задание выполняю, так что числа(двухзначные) могут быть разные
293 1256258
>>56236
вот тебе в одну строчку:
int a = 4, b = 3;
int ab = std::stoi(std::to_string(a) + std::to_string(b));
294 1256260
>>56258
Cпасибо)
295 1256267
>>56260
Когда сам решаешь, лучше усваивается информация.
296 1256273
Как написатб ыеб-сервер? Можете пару ссылок накинутб, кто знает?
297 1256275
298 1256281
>>56064
Ну вот вообще не понятно, что ты написал? Хочешь обёртку? Вызывай нужные функции в нужном порядке там. Хочешь что-то типа Aspect-oriented programming?
299 1256360
Начал я тут читать Страуструпа, и не могу понять такую штуку, которую он часто использует, но толком не объясняет. Зачем в одном классе задавать два таких оператора:

T& operator[](int i) {...}

const T& operator[](int i) const {...}

Вот посмотрим на второй оператор. Тут первый const вроде указывает на то, что мы можем его использовать только как rvalue, второй const - что его код не должен менять состояние объекта.
Тогда:
1) Почему в первом операторе не используется второй const, если в нем мы тоже не должны менять состояние объекта?
2) Зачем нужен вообще второй оператор, код которого ничем не должен отличаться от первого, но на который наложены ограничения?
300 1256369
>>56360

>Начал я тут читать Страуструпа


А надо было С.Пратта

>1) Почему в первом операторе не используется второй const, если в нем мы тоже не должны менять состояние объекта?


Первая функция - для изменения элементов массива. Вторая - только для чтения.

>2) Зачем нужен вообще второй оператор, код которого ничем не должен отличаться от первого, но на который наложены ограничения?


Как писал Пратта - ошибки проще отлавливать на этапе компиляции. Если у тебя в программе по задумке идет считывание данных массива, а ты по-запарке пытаешься их изменить (ну например, проебался с == и = ), то компилятор тебе сразу укажет на проеб.
301 1256371
>>56369
Пратта почитаю потом тоже, и Липмана почитаю, главное с чего-то начать

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

А во втором вопросе я имел в виду - зачем вообще в рамках одного класса два почти одинаковых оператора использовать. Хотя сейчас понимаю, что он наверное просто для примера привел, что типа можно и такой и другой, а меня это сбило.
302 1256378
>>56371

>Хотя сейчас понимаю, что он наверное просто для примера привел, что типа можно и такой и другой, а меня это сбило.


Нет. Нужны ОБА метода.

>зачем вообще в рамках одного класса два почти одинаковых оператора использовать.


Ну я же тебе говорю. Ты своим функциям должен оставлять самый минимум пространства для маневра, чтобы потом не проебаться. Вот зачем использовать спецификатор const, если можно и без него хуячить? А затем, чтобы если по логике у тебя переменная - константа, то при попытке ее изменить компилятор теья сразу нахуй посылал прям текстом. Иначе бы пришлось тебе из-за маленького и незаметного проеба (ну например, ты хотел написать в коде if(a==5,) но проебался и написал if(a=5) ) сидеть и ломать голову - а хуле моя прога работает не так как я задумал?

А теперь расширь всё что написано выше на свой пример.
Пишешь ты класс, который что-то делает как массив. Ты хуяришь код:

>T& operator[](int i) {...}



Всё норм. Потом ты такой сидишь и думаешь - а если мне нужно только лишь, например, вывести элемент массива в консоль, где гарантия, что я не попорчу свой массив? Нет гарантий, ведь твой метод может и перезаписывать данные. Тогда ты создаешь точно такой же, второй метод. Но только связываешь его по рукам и ногам спецификатором const:

>const T& operator[](int i) const {...}


...справа - гарантия, что метод не изменит данные
...слева - гарантия, что возвращаемый объект не даст в себя ничего записать.
Как пример второго метода:
допустим, твой класс содержит массив строк.
T MyClass

>и тут ты проебался по-пьяни, и вместо вывода на консоль набыдлокодил ввод.


cin >>MyClass[0];
Благодоря второму методу с const компилятор сразу отругает тебя в стиле: "Хуль вы, сударь, пытаетесь хуячить в переменную, которая только для чтения?"
А если бы этого метода у тебя не было, а был бы только первый вариант, то программа собралась и заработала. Только вместо положенного она тебе выдавала бы хуйню. А ты бы сидел и думал - схуяли баня загорелась?

Как-то так...
303 1256380
>>56378
Ну вот как раз по примеру, который ты приводишь: компилятор видит, что я делаю ввод и следовательно из этих двух операторов выбирает тот, который без констов, и все норм компилится.
Зачем тогда оба метода спрашивается? тем более и код у них скорее всего будет идентичный.
304 1256385
>>56380
Ты заебал, за тремя соснами леса не видишь. Хочешь чтобы я тебе в 3 ночи примеры без ошибок приводил? Я тебе описал общий смысл для чего это делается. За всем остальным - С. Прата 4ое издание (более понятный язык) стр. 562-563. Либо 6ое издание - стр. 612-613.
305 1256386
>>56380
Если твой класс ведет себя как массив, то скорее всего в нём есть указатель на данные. Обычно когда у тебя есть const объект, то ты предполагаешь, что константны не только его члены но и данные за которые он отвечает.
const как спецификатор метода говорит, что вызов метода не изменит значения этого указателя, но сами данные менять то можно. Поэтому:
- метод T& operator[](int i) {...} нужен для не константых объектов. Он позволяет менять данные возвращая их по обычной ссылке. Он не объявлен как const позволяя вызвать себя только на не конст. объектах.
- метод const T& operator[](int i) const {...} может быть вызван как конст. так не конст. объектом. Второй конст говорит, что при вызове не изменятся члены класса конечно если они не mutable, а первый - что ты не можешь менять получаемые данные.
Так достигается логическая константность объекта.
306 1256387
>>56386
>>56386

ну вроде понятно, но не уверен. то есть это только вот для таких случаев нужно, как в этом примере?:

template <class T>
class 2chvector{
std::vector<T> vec;
public:
2chvector(const std::initializer_list<T>& list){...}
T& operator[](int i) { return vec; } // #1
const T& operator[](int i) const { return vec; } // #2
};

int main(){
2chvector<int> a {1,2,3,4,5};
const 2chvector<int> b {6,7,8,9,0};
std::cin >> a[1]; // #1
std::cin >> b[1]; // ошибка компиляции, потому что в #1 нет спецификатора const и он не может работать с const объектами, а #2 может, но запрещает запись
}
307 1256389
308 1256524
Сосоны, есть стандартный способ определить где кончается символ UTF8 или придется библиотеками намазываться?

https://ideone.com/aEdpLb

309 1256527
>>56524
лул, двачь поддерживает емоджи
310 1256576
>>56281
я не знаю крестов с их ООП и что такое Aspect-oriented programming. У меня есть куча процедур в файле utils.cpp. в мэине они вызываются как a, b, c. мне теперь нужно создать файл detect.cpp и в нём что-то прописать. Не знаю что. У вас спрашиваю. Чтобы потом отредактировать в мэйне вызовы функция a, b, c совсем чуть-чуть и в результате перед вызовом самих этих функций каждый раз вызывалась ещё одна функция f. она уже написана и работает. Осталось только как-то сделать ту штуку, которая обёртка для вызова f перед каждой функцией a,b,c. просто меняешь в инклюдах utils на detect и немного меняешь вызов самих функций например не a(), а func::a() и всё работает. В коде функция f даже не упоминается, но перед каждым вызовом a она вызывается. Никакой инициализации этого врапера. Всё делается в момент компиляции. Как такое сделать?
311 1256594
>>56576
Ебать, анон ты меня огорчаешь. Неужели это так сложно?
В файле detect.h объявляешь свои новые ф-и a1, b1, c1
В файле detect.cpp инклюдишь utils.cpp, если ф-я f больше нигде не нужна определяешь ее тут же даже static дописать можно. Ну и сами обертки имплементишь:
тип_возврата a1(...) {
f(...);
a(...);
}

и так с остальными.
312 1256674
>>56594

>инклюдишь utils.cpp


Чет я проебался, utils.h конечно же.
С каждым годом плюсы всё охуительнее.PNG38 Кб, 952x620
313 1256703
>>56594

> и так с остальными


Вообще охуеть. Ты случайно не из го-тред залетел?
314 1256712
>>56703
Для копипасты. Работает на с++17
http://tpcg.io/qywNHm
UTF8.PNG18 Кб, 862x179
315 1256715
316 1256725
>>56703
Собственно, в чем притензия?
317 1256729
>>56725
В том что у нас тут с++ тред, а ты какое-то говно из 90х советуешь. Без обид.
318 1256801
>>56594
Ну я искал не сишный способ, а более современный. Как тут например >>56703
Не знаю на сколько это красиво. Какие есть ещё варианты?
884.jpg40 Кб, 480x640
319 1256803
>>43403

>в питон тред


Тред Сверхлюдей
76422786.jpg7 Кб, 654x377
320 1256864
Реквестирую картинку где книга по программированию в мусорном ведре с супом. Там еще в ведре была тыква и книга вроде была по С++. Или подскажите по каким тегам гуглить. Не смог найти.
321 1256952
>>53884
>>53969

Ему ведь на экзешник, а не на окно.

>>53797
Если нет возможности задать в студии, то обычно срабатывает первая иконка, лежащая в ресурсах.
Т.е. у тебя в .rc-файле (или res/resx) должно быть что-то типа 1 ICON "icon.ico" и тогда при линковке иконка попадёт в экзешник и будет отображаться.
322 1256982
>>56803
Вы не поверите, но это обычный сеньор Пайтона
323 1257009
C++ сложнее C?
Kc651HQgTA.jpg21 Кб, 334x224
324 1257011
325 1257290
>>43187 (OP)
Хочу вкатиться в олимпиадное программирование на С++ с нуля. Только проблема, что курсы моего уровня нашёл только с питоном. Можете что подсказать?
326 1257308
Зачем в QT на C++ пишут:
startButton = new QPushButton(tr("&Start"));
смущает амперсант, зачем он?
327 1257332
>>57308
Значит, что S будет выполнять роль горячей клавиши и дублировать нажатие этой кнопки.
328 1257349
>>57290
Учи питон. Нахуй тебе там плюсы не нужны
330 1257807
>>57607
По новейшим исследованиям 2011 года
331 1257874
>>57607
Лучше уж самим интринсики в узких местах писать, чем уповать на компилятор.
332 1257937
Анон, так как всё-таки правильно создавать потоки в QT?
Тут пишут https://habr.com/post/150274/ что наследоваться нельзя/ненадо. Но в куче других источников используется исключительно наследование. Как правильно?
333 1257959
https://woboq.com/blog/qthread-you-were-not-doing-so-wrong.html

When to subclass and when not to?

If you do not really need an event loop in the thread, you should subclass.
If you need an event loop and handle signals and slots within the thread, you may not need to subclass.
334 1258155
>>57937
Если ты любитель сигналов/слотов - наследоваться нельзя.
Если ты любитель пердолиться с синхронизациями потоков - можно.
335 1258326
Анон, это баг или фича?
1 пик - Копирую текст в буфер и пытаюсь сразу его вывести в qDebug
2 пик - То же самое, но с секундной задержкой

Как получить информацию о том, что запись в буфер прекращена и что его можно дальше забирать и использовать?
336 1258354
Может кто подсказать, почему этот код в копиляторах не работает? Это связано с новой версией языка или что? В книге описывается, что он должен забирать подряд все введённые значения и суммировать их, на деле же я просто ввожу числа и нихуя не происходит.
cpp.sh/3akpk
337 1258359
>>58354
Лол
После чисел введи букву.
338 1258365
>>58359
Лол блять, я так понимаю цикл будет идти пока условие выполняется, в этом смысл упражнения? А то слабовато понял. Можно его прочитать как: пока идёт ввод - записуем - суммируем ?
339 1258368
>>58365

>пока идёт ввод - записуем - суммируем ?


Да. А печаетаем когда вводится не число.
340 1258372
>>58368
Спасибо, думаю как больше разберусь допишу его до нормального вида. Неожиданно адекватные аноны вечером
5555.png71 Кб, 1484x688
341 1258373
>>58326
Я программист я программист
Я гетеросексуалист
342 1258437
Сеньор одной топовый компании в ДС ИТТ завайте свои ответы.
343 1258462
>>58437
Чем отличается сеньор от мидла в топовой компании?
344 1258543
>>58437
Сколько платят синьорам нынче?
345 1258552
>>58437
Как ты видишь развитие пограмирования на период ближайшей декады ?
346 1258794
Сап двач объясните ньюфагу в программировании про ссылки и указатели не могу понять где они используются и в каком случае
347 1258807
>>58437
Какая компания и какая зп?

мимо-250к-дойчебанк
348 1258820
>>58794
Пиздуй читать С. Прату, ленивое хуйло.
image.png31 Кб, 1383x371
349 1258912
Я снова здесь, с еще одним вопросом. Почему код не может найти эту функцию в файле? Иду сейчас по Липпману, 1 глава, написано подключить файл и делать упражнение. Код 1 в 1 скопирован с учебника, как и сам подключаемый файл, но при компиляции даёт ошибку, что такой функции в етном файле нету и пошёл я нахуй.
Код упражнения cpp.sh/4cpux
Код подключаемого класса cpp.sh/5e4nd
gggggg.png27 Кб, 1500x336
350 1258917
>>58912
Вот почему
351 1258922
>>58912

>private:


>std::string isbn;


>@


>item1.isbn


Ахуел напрямую лезть в закрытый раздел? Он для того и закрытый, что доступ можно получить только через открытые методы.

P.S.: Книжка - дрянь. Читай С. Прату.
352 1258924
>>58917
Бля, спасибо большое. Нахуя он это сделал я не пойму. Или это кто-то из раздающих поменял. Пиздец, больше 2 часов сидел и гуглил ответ, а там просто одно слово поменять, я в ахуе.
>>58922
В факе была эта книга, ее и скачал. После такой хуйни скорее всего перейду на твой вариант
353 1258928
>>58912

>при компиляции даёт ошибку, что такой функции в етном файле нету и пошёл я нахуй.


Ты еще и в английский не умеешь. Он тебе пишет, что у тебя НЕТ ДОСТУПА к этому элементу.

1258922-кун
354 1258933
>>58928
Английский б1 вроде, в чтение литературы могу, скорее описал проблему не так. Один хер не решил бы ее без помощи
355 1258938
>>58933
>>58924

>а там просто одно слово поменять, я в ахуе.


Эмм... какое слово поменять? Надеюсь ты не исправил private на public?
356 1258942
>>58938
Только трусы делают члены приватными. Настоящий мужчина всем показывает свои члены.
357 1258949
>>58938
Так и сделал, обьясните как получить доступ к этому файлу. Я язык начал изучать позавчера, в книге просто описывается пример и никаких заморочек
358 1258966
>>58949
Ну сравнение isbn там вроде производится через bool same_isbn(const Sales_item &rhs) const
{ return isbn == rhs.isbn; }
Попробуй какую-нибудь книгу полегче. Шилдта например.
359 1258970
>>58966
Там выше анон Прата порекомендовал, она 2005 года. Ничего страшного не будет, если я по ней буду изучать? Читал где-то что каждые 3 года стандарты языка меняются, и книги становятся не актуальны.
360 1258973
>>58949

>обьясните как получить доступ к этому файлу.


Это, блядь, нихуя не файл. А элемент данных, находящийся в закрытом разделе класса. В этом то вся и фишка классов, что ты пихаешь данные в закрытый раздел. Дальше хуяришь функции, которые манипулировать этими данными, в окрытый раздел. И напрямую ты никак не должен получить доступ к закрытому разделу.

Если тебе нужно сравнивать isbn двух объектов твоего класса, то один из вариантов это реализовать в открытом разделе функцию, которая будет возвращать isbn.
Например:

>public:


>std::string GetIsbn()


>{


>return isbn;


>}



А дальше сравнивать так:

>if( item1.GetIsbn() == item2.GetIsbn() )

361 1258978
>>58970

>Прата


Хз, не читал.

>Читал где-то что каждые 3 года стандарты языка меняются, и книги становятся не актуальны.


Так то да, стандарт меняется, но большого греха в изучении старых стандартов нет, потом/в процессе изучения будешь просто подтягивать новые знания.
362 1258980
>>58970
Я вообще изучал по изданию 2004 года (издание 4, Platinum Edition), хотя есть 6ое. И все норм.

1258970
1258938
1258928
1258922
кун
363 1258983
Сап двач каку книгу для ньюфага лучше начать изучать. В шапке их 3 но какая из них лучше?
364 1258987
>>58983

>Сап двач каку книгу для ньюфага лучше начать изучать. В шапке их 3 но какая из них лучше?


С. Прата, издания до 4го включительно. В более поздних переебали перевод не в лучшую сторону. Хотя если до этого ничего не читал, то может и зайти.
366 1259004
>>58995

>каку книгу для ньюфага лучше начать изучать.


>@


>Шаблоны C++: Справочник разработчика


>@


>для ньюфага



Ты серьезно, блядь?
367 1259011
>>59004
Думаю что да. С++ Настолько объёмен как некий кракен, и что изучая его весь очень нескоро доедешь до шаблонов. А они сами по себе не столько фича языка сколько некий философский паттерн мысли к которому пришло современное программирование, и который в принципе применим ко всему программированию нежели только к C++. Почему бы сразу не начать понемногу понимать его, тем более что в книге есть и подводящие к нему главы описывающие основную систему языка.
368 1259034
>>58970
Ты ебобо? 2011 года есть. 6 издание
369 1259102
>>59011
Питон учи, там всё можно сказать шаблоны. А в плюсах долго копаться
370 1259109
Анон, читающий Липмана, читай про public и private внимательнее. Сам сейчас читаю эту книгу.

Переменные-члены класса обычно делаются private и у ним нет доступа. Для доступа дела.тся специальные public функции . и там она есть
std::string isbn() const { return bookNo; }
Соответственно в коде вызывать надо
if(item.ismn() == item2.isbn())
{}
371 1259195
Ребята, подскажите, как сохранять указатели на объекты в массив?
Цель, такова: я сохраняю в массив обезличенный указатель на дочерний объект, потом когда надо я делаю reinterpret_cast. Но можно ли как-то сохранять в массив не обезличенный указатель, а указатель типа родительского класса на объект (как-то так)?
Объясняю на квадратиках и кружочках:
https://pastebin.com/Viq1sx8Y
image.png39 Кб, 182x141
372 1259214
>>59195

>int figures[10];


Ничего не понимаю. И это программисты? Тебе дали полиморфизм. Используй, используй полиморфизм. Нет, не хочу, хочу кастовать к инту. Это программисты? Мудачьё. Классов понаписали, к интам кастуют...
373 1259221
>>59214

>>int figures[10];


Figure *figures[10];
Так?
374 1259499
Аноны, что думаете о проекте?
nameof оператор для с++, может вернуть название переменой, енума и класса
https://github.com/Neargye/nameof
43241234.jpg24 Кб, 795x189
375 1259584
Антоны, почему этот пидарас не чистит гавно за собой?
376 1259587
>>59584
Память не обязана заполняться нулями, просто говорится системе что это свободная память, теперь там "мусор", и позже может записаться в этот участок другие данные
377 1259590
>>59587
Спасибо
378 1259592
>>59587
Ты классный! Может дашь мне пару уроков?
379 1259600
>>59499
Говно без задач. Особенно если, б-же упаси, память для этой еблины выделяется динамически в рантайме. Тогда проще уж сразу на пхп костылировать.
380 1259602
>>59600
Юзается в той же серелизации и логирование
Память статически выделяется ток, никакого хипа офк
381 1259604
>>59592
Урок первый, можешь писать на плюсах, не пиши, оно того не стоит, я просто уже байтослесарь, мне терять нечего.
382 1259605
>>59604
Я учусь на нём
Мне кажется для основ самое то

Что посоветуешь? Думаю, что Джава для переката подойдёт
383 1259610
>>59604
А второй урок?
384 1259614
>>59605
Основы конечно с плюсами неплохо, но потом беги.

Ява норм если в адроид, тыпрайз на ней все таки весь в давнокоде, но это имхо.
385 1259617
>>59614

>тыпрайз


Ну не на C# же идти
386 1259620
>>59610
Главный урок дал, дальше уже по вопросам
387 1259628
>>59620
Может встретимся? Киношку глянем, указатели друг другу передадим?
388 1259673
>>59604
Что плохого в байто_ебстве?
389 1259749
>>59673
это работа уровня слесаря из гаража
390 1259761
>>59673
>>59749
Не совсем уж, платят норм, работа даже интересная.
Но пока все обсуждают ФП, абстракции, серверлесс тд тп, ты пишешь парсер из 13бит пришедщих по пакету в флоут
391 1259763
>>59628
я в ебаной провинции. До мкада больше 1,5к км
393 1259923
>>59761

>Но пока все обсуждают как заработать денег, ты крутишь гайки в солидоле и тебе это даже интересно.

394 1259928
>>59584
Вот я могу сейчас ошибиться, но где-то было, что если ты хочешь удалить данные полностью - то смарт поинтеры тебе в помощь
А так, получения, это undefined behaviour, просто тебе повезло, что под этому адресу осталось то же самое.
Но я эту тему не полностью(лол) понял, так что это догадки.
395 1260092
1.#include <iostream.h>
2.#include <conio.h>
3.const int n=20
4. void main()
5.{
6. float mas[n];
7.for(int i=0; i<n; i++)
8. cin >> mas;
9.for(int i=0; i<n; i++)
10. count<<" "<<mas<<" ";
11. getch (999999);
12.}
Какого хуя ошибка в 4 строке?

Я только начинаю не ругайте
396 1260096
>>60092
точка с запятой в 3 строке
397 1260099
>>59923
платят то норм
398 1260102
>>60096
Сапсибо, все остольное исправил
399 1260162
Аноны, подскажите что делает этот код
cout.self(ios_base::fixed, ios_base::floatfield)
Я так понял он указывает тип данных как числа с плавающей точкой. В примерах эта строка идёт первой в основной функции, то есть всё введенные в функции значения будут с плавающей точкой, или как?
400 1260167

>cout.setf(ios_base::fixed, iso_base::floatfield)


Ошибся
402 1260256
C++/Qt
Есть код:
QVariant ApplicantTableModel::data(const QModelIndex &idx, int role) const
{
if (!idx.isValid()) return QVariant();
if (idx.column() == 10 && role == Qt::DisplayRole)
if(idx.data() == "0")
return "-";
else return "+";
else return QSqlTableModel::data(idx,role);
}

На idx.data() программа падает из-за переполнения стека. Объяснение этому следующее:

>If idx is an index of the same ApplicantTableModel instance (which it should be, otherwise the usage is incorrect) idx.data() will call idx.model()->data(), i.e. the very same ApplicantTableModel::data() function we’re looking at => infinite recursion, which leads to stack overflow/crash.


>А тут разве переполнения стека не будет?


>Вызов idx.data() должен приводить к вызову ApplicantTableModel::data и т.д.



Вопрос - какого хуя, вызывая idx.data(), вызывается idx.model()->data()?
403 1260275
>>60099
Байтоёбы обычно очень прижимистые, поэтому тебе кажется что "платят нормально". Сам посуди, если человек на работе экономит каждый байтик и инструкцию, то и в быту он будет экономным скупердяем.
404 1260361
>>59499
Ты бы ещё оланг вытащил.
Реально ненужное днище.
Хотя, если вас шизиков вместе собрать — может чего и выйдет.

https://bitbucket.org/ArmanHayots/olang/src/5500902be1990eb3fc232961d48eae6cd4877565/chalkboard/?at=default
405 1260375
>>60256

>Вопрос - какого хуя, вызывая idx.data(), вызывается idx.model()->data()?


потому что он именно это и должен сделать? дай определения всего этого и реализации
406 1260517
>>44476

>стали кардинально другим языком


Поорал. Спасибо большое, ты сделал мой день.

Кардинально::Блядь<другим>(это)->нахуй(языком) они стали? Ты че ебонутый?

Я это говно возненавидел когда мне было 14 лет, сейчас мне 23, и я не могу ни к одной строчке кода, которая написана на этой вонючей ссанине дауна Страуструпа, руки подпустить.

Куча дебилов пишут на этом говне. И что? Это показатель чего? Того что софт коммерческий пишется по принципу "написали и выкинули нахуй" ? Супер, продолжайте задвигать про аджайль девелопмент и прочие словечки, которыми сейчас так любят бросаться недоучки, которые не смогли образование получить нормальное. Удачи.
407 1260521
>>60375

>дай определения всего этого и реализации


Если бы это было так просто...

Если коротко, то вот:
http://www.cyberforum.ru/qt/thread1576423.html

Если полностью рассказывать, то я ковыряю стандартный пример EditableTreeModel из поставки Qt.
В самом низу страницы есть ссылки на файлы с исходным кодом:
http://doc.qt.io/Qt-5/qtwidgets-itemviews-editabletreemodel-example.html

В файле treemodel.cpp у меня есть следующее:
QVariant TreeModel::data(const QModelIndex &index, int role) const
{

if (!index.isValid())
return QVariant();
if (role == Qt::BackgroundColorRole)
{
if (index.data().toString() == "Layouts") <=== Вот тут вылетает из-за переполнения стека.
// return QVariant(QBrush(Qt::red));
}

Нашел причину, почему так происходит:
http://www.cyberforum.ru/qt/thread1576423.html
https://stackoverflow.com/questions/34104837/dataqmodelindex-crash

Но не пойму, какого хуя, вызывая index.data() (как я считаю, это же QModelIndex::data() ), фактически же вызывается (как я понял) TreeModel::data(). И я попадаю в рекурсию с распидарашиванием стека...
407 1260521
>>60375

>дай определения всего этого и реализации


Если бы это было так просто...

Если коротко, то вот:
http://www.cyberforum.ru/qt/thread1576423.html

Если полностью рассказывать, то я ковыряю стандартный пример EditableTreeModel из поставки Qt.
В самом низу страницы есть ссылки на файлы с исходным кодом:
http://doc.qt.io/Qt-5/qtwidgets-itemviews-editabletreemodel-example.html

В файле treemodel.cpp у меня есть следующее:
QVariant TreeModel::data(const QModelIndex &index, int role) const
{

if (!index.isValid())
return QVariant();
if (role == Qt::BackgroundColorRole)
{
if (index.data().toString() == "Layouts") <=== Вот тут вылетает из-за переполнения стека.
// return QVariant(QBrush(Qt::red));
}

Нашел причину, почему так происходит:
http://www.cyberforum.ru/qt/thread1576423.html
https://stackoverflow.com/questions/34104837/dataqmodelindex-crash

Но не пойму, какого хуя, вызывая index.data() (как я считаю, это же QModelIndex::data() ), фактически же вызывается (как я понял) TreeModel::data(). И я попадаю в рекурсию с распидарашиванием стека...
408 1260522
>>45807
Это так в клане поехавших недоучек вроде >>45911

>поступают когда хотят сделать цикл до момента закрытия потока ввода по EOF. Сказочные долбоебы.

409 1260529
>>60517

>сейчас мне 23


Ты сам то получил нормальное образование, клован?
410 1260531
Аноны почему у меня в Билдере это:
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
int a = 100;
a = a++;
cout << a << endl;
a = ++a;
cout << a << endl;
getch ();
}
В компиляторе выводит как :
101
102
А в компиляторе onlinegdb как :
100
101
ЧЁ ЗА ХУЙНЯ ?
411 1260544
>>60531

>ЧЁ ЗА ХУЙНЯ ?


Welcome to Undefined Behavior.
412 1260589
Какого хуя gcc не хочет векторизовать свои же векторные икстеншоны:
https://godbolt.org/z/ubVTkc
На шланге, причем, все норм векторизуется:
https://godbolt.org/z/U5qCKI
413 1260672
>>60531

>a = a++;



Эта строка нарушает стандарт C++ и кидает ворнинг. По хорошему компилятор должен бы ошибкой считать.

Поэтому всегда работай с 4ыми варнингами и с воспринятием варнингов как ошибок. В крайнем случае отдельные варнинги в отдельных местах можно задизейблить.
414 1260686
>>60589
-march=skylake?
415 1260709
>>60529
Я вот да. А в процентов 75% цепепе программистов вряд ли.
image.png587 Кб, 1068x881
417 1260735
>>60531

>#include <conio.h>

418 1260739
Добавьте в шапку https://docs.microsoft.com/en-gb/cpp/cpp/cpp-language-reference?view=vs-2017
У майкрософт как всегда самая годная справка. Никаких книжек читать не нужно.
419 1260740
>>60686
>>60734
Все равно не хочет. Странно, что gcc через стек передает, а clang - через регистры. ABI же одинаковое должно быть. Хуйня какая-то.
salad.png460 Кб, 520x700
420 1260748
Вот вам всем по списку списков.
421 1260764
>>60740
Похоже GCC с векторами из двух флоатов только на 3dnow работает. С SSE векторизуется только полный вектор из четырех флоатов.
422 1260818
>>60522
Я теперь понял еще меньше.
Уже не помню суть первоначального вопроса, но Якубович с надписью-то чем должен был помочь?
423 1260865
Pow это бинарное возведение
424 1260866
>>60865
Это вопрос
425 1260872
>>60866
Это утверждение
426 1260918
Аноны, подскажите пожалуйста. Прочитал часть главы, и попрактиковавшись нихуя не понял.
1) Зачем нужен cin.get если есть функция cin.getline которая удобнее. Читает всю строку, с пробелами, удаляет символ новой строки и вообще заебись.
2) Используют ли еще символьные массивы для хранения строк, или string теперь более популярный? В книге второй описывают как более новый и удобный способ, единственное что побуквенно нельзя читать/записывать. То есть я могу использовать string если мне нужна именно целая строка, а про char в таком случае забыть?
427 1260937
>>59195
>>59221
Бамп вопросам!
428 1260945
>>60918
Классовая борьба, скорее всего.
429 1260958
>>60918
Каждому инструменту своё применение.
/вопросы
430 1260962
Ну блять у них название даже разное,, очевидно что делают они разные вещи.
431 1261047
>>60958
Можешь привести пример где .get или .getline будет незаменим? Просто хочу нормально понять, а опыта не хватает.
432 1261099
>>60709

>75%


Сам считал?
433 1261104
Люди, что нужно уметь, чтобы взяли на джуна C++?
434 1261105
>>61104
И ещё, как делать портфолио, что туда класть?
fc10040.jpg51 Кб, 500x692
435 1261132
>>43187 (OP)
Бог Питона заглянул к вам в тред на огонек
436 1261168
>>61132
Геев у нас своих хватает
437 1261170
Анон, а есть ли в мире С++ пуристы ратующие за чистоту С++, типа Егорки Бугаенко.
sage sage sage 438 1261197
sage
439 1261198
>>61104
Ебаться с байтами, уметь написать что-то простое под систему без фреймворков, адекватно квасить классы и зорко следить за памятью.
И конкретно по цапле нужно знать шаблоны.
440 1261230
Плюсач, читаю Липмана.
Глава про последовательные контейнеры, упр 9.22:
С учетом того, что iv является вектором целых чисел, что не так со следующей программой? Как её можно исправить?

vector<int>::iterator iter = iv.begin(), mid = iv.begin() + iv.size() / 2;

while(iter != mid)
{
if(iter == some_value)
iv.insert(iter, some_value
2);
}

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

Решение вижу только методом вычисления количества вставок:
https://ideone.com/9y1HXw
Как то можно сделать это через итераторы, как это у них задумано?
441 1261231
>>61230
if(*iter == some_value)

конечно же
442 1261232
>>61230
iv.insert(iter, some_value * 2);
конечно же два
443 1261243
Сап, двач.
Уже год как работаю на одну замечательную ноунейм контору. Зарплата так себе и опыта особого не получаю. Думаю съёбывать.

Но хочу перед этим набить себе хороший аккаунт на гитхабе, для чего хочу покотрибутить в какой-нибудь open-source.
Я знаю, что никто в здравом уме мои поделия смотреть не будет, однако если я скажу фразу "я контрибутил в X" - может сойдёт за плюсик на собесе.

Так вот, какой опенсоус посоветуете? Требования:
1) Чтобы пул реквесты не болтались по 10 дней
2) Лучше чтобы это был продукт, а не либа
3) Modern C++, в идеале сборка с 17 стандартом.
444 1261244
>>61230
Еще вопрос по использованию итераторов контейнеров. Есть ли разница между

auto iter = ivec.begin();
while (iter != ivec.end()) {}

и

auto iter = ivec.begin();
while (iter != ivec.сend()) {}

Допустим, я точно что хочу неконстантный итератор iter, есть ли разница будет ли константным конец вектора?
445 1261297
>>61243
Bitcoin core
446 1261307
Помогите зелёному
Почему программа всегда выводит: Такого треугольника не существует.
#include <iostream>
#include <locale>
#include <cmath>
using namespace std;
void main(void)
{
setlocale(LC_ALL, ".1251");
int L1, L2, L3, P;
float S;
cin >> L1;
cin >> L2;
cin >> L3;
if (((L1 + L2) < L3) || ((L1 + L3) < L2) || ((L2 + L3) < L1)) {
P = (L1 + L2 + L3) / 2;
S = sqrt(P(P - L1)(P - L2)*(P - L3));
cout << "P= " << P << "\n";
cout << "S= " << S << "\n";
}
else {
cout << "Такой треугольник не существует." << "\n";
}
system("pause");

}
447 1261319
>>61307
Потому, что ты проебался с IF
image-4.jpg50 Кб, 960x720
448 1261328
>>61307
Дополню картинкой

>if (((L1 + L2) < L3) || ((L1 + L3) < L2) || ((L2 + L3) < L1))

449 1261332
>>61328
Понял
Большое спасибо
450 1261339
Ку. Поясните плиз за нишу применения C/C++ сейчас на рынке.
Вроде бы и понятно, что языки позволяет писать что угодно, но если так посмотреть, самые бросающиеся векторы в ойти это:
1. Веб
2. Мобильные/десктоп приложения
3. Геймдев
Вроде как из вышеперечисленного кресты актуальны по большей степени только в геймдеве и немного в десктопе(qt), типа если рассматривать какой-то конечный продукт/ПО/приложения на плюсах, то это опять тот же кроссплатформеная шляпа на кьюте или игры. Но ведь этого ничтожно мало, и при этом кресты все-таки дохуя популярны и сейчас, да и я постоянно слышу, что на них реально ебашат поистине интересные штуки, а не говно уровня круд и прочее околоайтишное дерьмецо. Вопрос - где же еще юзается C/C++? Что на них пишут? Приходят в голову всякие штуки по типу компьютерного зрения и разный софт для микроконтроллеров, то есть вещи, более близкие к железу. Еще интересно как в unix-системах байтоебля происходит. Что там делают? Пишут свои модули к линукс-ядрам? Просто я рил не понимаю.
В общем, сумбурно получилось, поправьте/подскажите/поясните есичо, возможно в чем-то из вышесказанного заблуждаюсь.
451 1261344
>>61339
Да заебали Вы со своей байтоеблей! Какие нахуй байты? Кто их ебет в линуксе? Никто там не долбет себе мозги в погоне за каждым байтиком сто лет как.
452 1261347
>>61344
Ну бля, я просто так назвал разработку на крестах под линух. Так можешь что-то подсказать, шо там вообще и как?
453 1261353
>>61347
Нет там ебли с байтами. И больше нихуя нет для тебя. Закрой Visual Studio/VSCode/блокнот/Sublime, и иди пей пивас. Желательно с вонючей вяленой рыбой, которая воняет сложно женская пизда (которую не мыли неделю). Весь твой удел - простая жизнь, простое стояние в очередью за непонятно чем. А когда очередь закончится, ты скажешь что все виноваты кроме тебя, что ты проебал все свое время.
Все твоя участь - в разработках - это быть
создателем Hello World для очередной мега популярной мобильной платформы в очередном супермодном фреймворке.
Единственное твое дитя, которое ты сможешь породить - личинус какой-нибудь жирной овушялке, которую ты обрюхатишь в пьяном состоянии. Так съеби же нахуй с /pr, займись более важными для твоего существование делами.
454 1261372
>>61353
По существу есть что сказать, или это типичный представитель крестотреда и адекватных здесь нет?
455 1261431
Каждый раз когда я вижу C/C++, моя рука сама тянется к пистолету
456 1261432
>>61339

> где же еще юзается C/C++


Весь embedded. От роботов пылесосов и умных домов до самолетов. На микроконтроллерах обычно очень мало памяти, меньше сотни кб, вот например использующиеся для управления рулем многих немецких машин https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/v850/v850e2px/v850e2px4.html
А если это критический узел, то там даже использовать динамическое выделение памяти нельзя, поэтому приходится скатываться в статический си. Но хотя бы ПО поддержки разработки всего этого на крестах.
457 1261522
>>61431
Тебе что, сука, ногу прострелить, а?
458 1261536
>>60517
Я НИОСИЛИЛ ЗНАЧИТ АНО НИНУЖНО((((((( МАМ НУ СКАЖИ ИМ.

Ну, вообще я рад, что ты не осилил, меньше даунов в отрасли.

Мимо-сениор-C++-девелопер-из-топ-конторы
459 1261545
>>61536
Очень рад что ты нихуя интересного не создашь даже в перспективе. Сениоер блядь. Ты хоть в B+ дерево научился: поиску, добавлению, балансировке? Твоя отрасль - у вонючей параши говнопроектов уровня "банкомат".
460 1261549
>>60517

>Страуструп


Великий мужик
петух ебаный
461 1261553
>>61536
Епам?
462 1261560
>>61432

>Renesas


Контора которая проебала все кучу своих активов: целую архитектру SuperH. И знаете, почему этот анон этих петуханов сюда принес?

>Мимо-сениор-C++-девелопер-из-топ-конторы


GlobalLogic

Охуенная блядь контора. Петушня полная. Лучше просто не куда. Был блядь на одном их открытом дне - параша полная. Хуже дерьма в своей короткой жизни не видел. А Renesas слезно просят на остатки их денег сделать демо-хуйню на их чипах. Вот только никому оно нахуй не надо кроме поехавших долбоебов из Renesas. И двух даунов-тимлидов из GlobalLogic.
463 1261564
>>61560
Скажите руководству, что нужно перестать заниматься этой хуйней откровенной. Renesas жить осталось не долго при все раскладах: ну год, ну может четыре. Займитесь уже нормальным делом, не надо пытаться угодить автобыдлу и всей этой параше. У вас есть нормальные проекты. Кончайте всю это хуйню на С++' и сранных микроконтроллерах, которые завтра они выкинут из-за ненадобности.
464 1261567
>>61545
кернел драйвера пишу для виртуализации, мартышка с деревьями. Иди побалансируй на ветке.
465 1261568
>>61567
Ядро на С написано. Виртуализация требует знаний архитектуры исполнения, что-то я намека у С++-даунов на такое не заметил. Убейся, долбоеб. Или же описываешь кратко работу интеловской виртуализации (какие регистры, как страничная память работает в виртуальных машинах) или идешь нахуй.
466 1261601
>>61432
А что по направлениям для вката посоветуешь для джуна? Просто судя по hh даже в ДС кроме полутора десятка вакансий на qt ничего больше нет
467 1261662
>>61601
Удвою вопрос.
468 1261723
>>61601

>А что по направлениям для вката посоветуешь для джуна? Просто судя по hh даже в ДС кроме полутора десятка вакансий на qt ничего больше нет


>


Начни с qt, потом перекатишься внутри конторы или за её пределы на нормальное занятие. Так то с крестового джуна выхлопа чуть более чем нихуя, так что их берут очень неохотно на всякий кал типа инсталяторов, гуёв, тесты писать и прочее.
469 1261731
>>61230
Судя по строке с инсертом, задумка вставлять не в начало, а после пройденного. Только он не инкрементируется нигде, так что с какого перепугу вайл завершится, неясно. Ну и с инвалидизацией ты уже сам заметил. Кажется, тут требовался не массив, а что-то вроде кучи с логарифмической вставкой. Но без формулировки задания это клуб телепатов. Задание в студию.
470 1261750
Аноны, поясните за ссылки. Вот в чистом си раньше были указатели и обычные переменные. Указатели по сути так же как и ссылки юзаются чтобы работать не с копией объекта, а с самим объектом. Вопрос нахуя добавили ссылки если уже были указатели? Избавится от -> и всегда юзать одинаковый синтаксис для работы с указателем на объект и с самим объектом?
image.png6 Кб, 922x47
471 1261755
>>60739

>https://docs.microsoft.com/en-gb/cpp/cpp/cpp-language-reference?view=vs-2017



Мда.

> Никаких книжек читать не нужно.



Литературу на лето тебе всё же придётся прочитать.
472 1261784
>>61750

Принципиальных отличий два:

ссылка, в отличии от указателя, не может быть неинициализированной;
ссылка не может быть изменена после инициализации.

Отсюда и получаем плюсы и минусы использования того и другого:

ссылки лучше использовать когда нежелательно или не планируется изменение связи ссылка → объект;
указатель лучше использовать, когда возможны следующие моменты в течении жизни ссылки:
ссылка не указывает ни на какой объект;
ссылка указаывает на разные объекты в течении своего времени жизни.
473 1262124
>>61731
я же написал текст задания. всё что есть
474 1262144
Как объявить массив классов?
My_class *my_array = new My_class[n]
не работает
475 1262145
>>62144
*динамический массив
476 1262156
>>62144
Используй std::array<MyClass>
477 1262157
>>60937
Бамп *бамп;
478 1262200
>>61755
И? Там отличия в нескольких зарезервированных словах и дополнениях к стандартной библиотеке.
Как это мешает учить С++?
479 1262209
>>61568
Макака полыхает, и требует, чтобы ей кто-то что доказывал, ололо. Кроме струи в лицо ты ничего не получишь.

И да, С++17 в винкернеле отлично работает, включая вырвиглазное метапрограммирование.
480 1262243
В среде простосиписателей есть секта пишущие на C90, в силу того, чтобы "обеспечивать максимальную портативность".
Средипрограммистов на C++ такое с C++98 есть?
481 1262410
>>62243
Не знаю про сишников, вроде там с С99 какие-то танцы есть, но все знакомые сиплюсплюсеры сидят минимум на 11 уже давно. У нас вся контора сидит на 2017.8 студии, активно юзаем 17 кресты.

С++98 это хороший знак, показывающий 2 вещи.
1. БЕГN оттуда
2. Начальство полные дебилы
482 1262425
>>62243
Нет, С++ до 2011 был ужасен
483 1262432
>>62243
В этом нет логики. По сути сишники сейчас это именно олдфаги, застрявшие на старой версии. Иначе бы они просто перешли на кресты. Си приходится больше страдать, но бенефитов ноль.

А C++ пацаны ждут новый стандарт и перекатываются как можно быстрее.
484 1262455
>>62425

>Нет, С++ до 2011 был ужасен


Да норм он был. Из реально нужного только rvalue. Остальное - параша для хипстеров и темплейтных пердоликов.
485 1262473
>>62455

>Да норм он был. Из реально нужного только rvalue.


rvalue были и в C++98.
486 1262478
>>62425
Странный ты. C++11 это дополнение поверх с++98/03. И если в бочку говна добавить ложку мёду, то всё равно говно получится (хотя тебе видимо понравилось и хочется добавки).
487 1262556
>>62478
Добавили слой меда, который можно есть, не докапываясь к говну снизу
488 1262575
>>62556

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


В том то и дело, что черпать говно тебе придется все равно, а сахар только делает говно более липким.
489 1262587
Правда что плюсы искусственно переусложнены, для того чтобы в него не вкатывались макаки, демпингуя оплату труда, а также чтобы корпорации зла не смогли переложить нелегкий труд погромиста на нейросети ИИ?
490 1262608
>>62587

>Правда что плюсы искусственно переусложнены


Нет, они сложные абсолютно естественно. Если проследить историю появления всех фич, то видно, что это нормальный эволюционный процесс.
491 1262610
кто то может хелпануть дауну с с++?
https://vk.com/id421275318
492 1262612
>>62243

>Средипрограммистов на C++ такое с C++98 есть?


Нет. Некросишку поддерживают потому, что под некоторые платформы есть только сишный компилятор старого стандарта. В те года для небольшой команды написать компилятор сишки было вполне посильной задачей, поэтому и велосипедили. Для крестов это в принципе нереально, поэтому с самописным компилятором не ебутся, а пишут бекэнд для gcc/clang, и получают последний стандарт крестов автоматически.
493 1262638
>>62612

>бекэнд для gcc


C++ всё так и транслируют в C?
494 1262642
>>62473
Я подозреваю человек про move semantics
495 1262646
>>62575
Ты несёшь полный бред. Есть такое понятие, как сырой язык. Хорошая идея, но не доработано. Вот, доработали. И дорабатывают дальше.
496 1262662
>>62638
Нет. У компиляторов свое внутреннее представление, которое транслируется в машинный код.
497 1262668
>>62610
сколько в час платишь?
498 1262669
>>62662
А чего, когда появился clang, заливали, какой озуенно он крутой, потому что сначала код на ЯПВУ транслировался в язык LLVM, если gcc делает то же самое?
499 1262679
>>62642
Я тоже.
Но доебаться-то надо.
500 1262700
>>62669

>если gcc делает то же самое?


С GCC гораздо сложнее работать. Столлман специально все усложнил, чтобы копирасты не спиздили, в итоге сам себе хуже сделал.
501 1262701
>>62157
То есть ты за неделю не смог заменить int на Figure* и проверить, будет ли это работать?
502 1262702
>>62646

>Есть такое понятие, как сырой язык.


Язык 40 лет сырой, и все не высохнет никак. Это о многом говорит.
Памагите кококо не работает 503 1262745
>>43187 (OP)

>Напишите программу, проверяющую корректность предложений в сооветствии с правилами "английской грамматики" из раздела 6.4.1 (пик 1). Будем считать, что каждое предложение заканчивается точкой, окружённой пробельными символами. Например, фраза birds fly but the fish swim . является предложением, а фразы без точек или без пробела перед точкой — нет. Для каждого введённого предложения программа должна просто отвечать "Да" или "Нет". Указание: не возитесь с лексемами, просто считывайте данные в объект string с помощью оператора >>.



Для начала я решил написать проверку простого предложения, состоящего из артикля+существительного+глагола ИЛИ из существительного+глагола. Если бы предложения состояли только из артикля+существительного+глагола, а ввод без артикля считался ошибкой, то это было бы довольно просто.

Поэтому я поступил так:
1. Проверяю, является ли первое слово артиклем "the".
2. Если является, то всё хорошо и можно идти проверять дальше.
3. Но если не является, то стоит задуматься: а что если это не артикль? А если это существительное, после которого идёт глагол? Тогда надо проверить второе слово. И если это глагол, то это полноценное предложение, с которым можно работать дальше.

Написал https://pastebin.com/5CGxZvtF
И здесь всё хорошо. Если ввести существительное и глагол, то программа ответит, что это нормальное предложение. Однако что-то идёт не так, и программа бесконечное количество раз повторяет какую-то функцию, вылетая через несколько секунд (пик 2). Что она такого делает?
Начал вводить слова по одному и обнаружил, что программа проверяет слова срзау, не дожидаясь точки (пик 3).

Просто непонятно, почему сложность заданий так резко возросла. Раньше всё понимал и мог сделать всё, немного подумов. И вдруг >пук, и я ничего не понимаю без чужих решений, ничего не могу сделать. Это сильно бьёт по самооценке.
504 1262746
>>62646

>Ты несёшь полный бред. Есть такое понятие, как сырой язык. Хорошая идея, но не доработано. Вот, доработали. И дорабатывают дальше.


>


Да языку уже давно чистка и рефакторинг нужен. Вместо этого "дорабатывальщики" лепят к нему каждые 3 года новый фасад показывая при этом чудеса анальной эквилибристики.
505 1262763
>>62745
Во-первых, читать слова и в цикле, и в функции проверки это плохая идея.

Во-вторых, какого хуя у тебя заголовки окон такого же цвета, как у меня? Ты следишь за мной, сука?

В-третьих, нахер вообще вызывать sentence() в цикле? В сочетании с первым пунктом это скорее всего и приводит к проёбу.
Рекомендую прочитать первое слово и сразу вызывать sentence(). А цикл выкинуть впизду.

У вас там контекстно-свободные грамматики не проходили ещё? Для этого случая есть алгоритм рекурсивного спуска. Чтобы его написать тебе даже не нужен мозг, тебе нужен только палец чтобы набирать текст.
https://ideone.com/X26IdT
506 1262767
>>62763

>У вас там контекстно-свободные грамматики не проходили ещё?


Я впервые слышу такое словосочетание, так что видимо неть...

>В-третьих, нахер вообще вызывать sentence() в цикле?


Так сделано у Страуструпа в этой же главе http://rgho.st/84XbBkTV6 И в циклах он тоже тоже что-то считывает, но у него всё это реально работает.
507 1262791
>>62209

>Винкернеле


Пускай струи поноса дальше. Это говно годится разве что для запуска игорь написанных макаками под ДиректХуикс.
508 1262792
>>62669

>А чего, когда появился clang, заливали, какой озуенно он крутой, потому что сначала код на ЯПВУ транслировался в язык LLVM


Трансляцию ЯВУ в промежуточную форму делает фронтенд, и под LLVM его писать действительно удобнее. Бэкенд транслирует из внутреннего языка компилятора в бинарник. Их сложно писать для любого компилятора.
509 1262793
>>62763

>У вас там контекстно-свободные грамматики не проходили ещё?


У вас там С++-дегенератов генераторы GLR-анализаторов не проходили? Или под виндой не модно так делать?
510 1262797
>>62793

>GLR-анализаторов


>для LL(1) грамматики


Раз хочешь выебнуться, написал бы про парсер-комбинаторы хотя бы
511 1262800
>>62797
И чё? Попробуй сам, напиши BNF, скомпиль и глянь что выйдет.
512 1262805
>>62793
А я так и знал, что найдется мудак, который предложит использовать генератор парсеров для решения этой laba4.cpp
513 1262806
>>62791
красноглазый даун детектед.
514 1262807
>>62805
Еще и дохуя сложный, и не совсем подходящий для твоей грамматики. Корми говном с молоду - моя политика.
515 1262808
>>62806
Дебил на ОС без реальных (во всех, к слову, смыслах: Linux RT мягкий умеет с патчем) задач триггернулся.
516 1262810
>>62800
Человек изучает плюсы по книге господина трупа. Там задача, которая легко решается рекурсивным спуском. Он узнает, что это такое, подумает, как реализовать, сделает это и пойдёт дальше xglrvalue ботать. А ты предлагаешь ему зачем-то окунуться в мир парсеров. Причём генерировать даже не LL-генератором, а сразу, мать его, GLR. Что?!
Давай по чистому. У тебя в прошлом семестре был курс компиляторов и ты решил показать всем, какой ты умный?
517 1262816
>>62808
Дауну без опыта реальной работы (что очевидно по постам) доказывать что-либо бессмысленно. Иди в консольке пердолься на своей некропеке.
518 1262821
>>62810
Я так увлекся, что скопипастить себе решил в архив это.

Буду честен с тобой: ты - мудак, и пруфов здесь не будет. Благо, весь этот хуяч позволяет мне оставаться достаточно анонимным, в прочем мне настолько на тебя похуй что даже могу реальное имя свое сказать. Но не скажу, ты его позже немного узнаешь. Можешь приехать ко мне: я тебе в лицо лично скажу все что я написал, и мне плевать какого ты возраста.

С++ - ужасный язык от которой меня тошнит, и я пришел в этот тред чтобы от души высраться хорошим жидким поносом. Поносом с весьма зловонным запахом, подобным запаху изо рта старого маразматика Страуструпа.

Все книги и великие "авторы" литературы С++ чем-то похожи на тебя и на LL(1)-парсеры. Они пишут свои высеры со стратегией сверху-вниз: пытаются человеку который еще не понимает базовых концепций втереть кусок непонятного кода в качестве решения. Они также полагаются на одно единственное предположение когда начинают строчить свои охуенной ценности высеры. Почти все такие "охуенные" авторы никогда в своей жизни не написали ничего большего чем строго описанная задача уровня "говно переложить". Они ничего нового не придумали в целом. Переходя к следующей редукции эти придурки не удосуживаются объяснить по каким критериям было принято их решение, и этим, к слову, грешили много авторов в советской научной литературе. Но это еще и не самое страшное.

А страшное самое то что большая часть софта на С++ написана именно под винду. Систему программисты в которой изначально имеют травмированное восприятие реальности: склонны усложнять задачу. Склонны превращать простую программу в ебаный комбайн из кучи непонятного мусора. Вспомните Nero - он же написан на чудесном С++ был, вспомните его 10 версию на закате эры оптических дисков! Вспомните мрази! А теперь мрази вспомните k3b - программу которая в принципе нихуя не делал: она тупо собирала файлы и передавала список на growisofs, wodim и прочие утилиты, которые делали ОДНУ СУКА ПРЯМУЮ ЗАДАЧУ. И были написаны они и на С++, и на С. Но вот проблема количество абстракции в С++ коде близилось к нулю в этих утилитах.

Признаюсь, в этом случае я также погрешил предложив ему GLR и разобраться в парсерах самостоятельно пощупав как они себя будут вести, но сделал я это не просто так: объясню позже.
Так вот да, подобные люди переписывают нахуй не нужный никому код, потому что не могут разобраться в более высоких концепциях: перейти от более низкого к высокому, к высокой теории, которая да проигрывает, но наталкивает на верный путь. Во все то говно, против которого и боролись ООП-борцуны в конце 80-х, так и прямо наступают С++ программисты: KISS и DRY, суки, KISS и DRY.

Так вот да, почти все С++ проекты размером больше чем то что я привел, выбрасываются на помойку после нескольких лет разработки, и переписываются с нуля. Из-за того что когда количество говна в системе классов становится запредельным - проще начать все с нуля. Ничего не напоминает? Именно потому я не люблю С++ и все то дерьмо, которое рождают люди вроде тебя. И пусть мои слова лягут на твою душу бальзамом. Проблема твоя в том что ты настолько глуп и уперт, что не можешь освоить что-то новое. И дело здесь не только в хуевизне С++, но и в целом в плохой применимости ООП к проектам отличным от академического говна. У меня был пример на С# и Microsoft.NET, моим наставником тогда был охрененный специалист, и со временем - мы всеравно погрузли в говне как и все до нас. Вот оно как. Ну и да, то что С++ ужасен когда дело касается больших проектов, только подливает масло в огонь. Не верите - взгляните на Monotone, на Google Chromium и его время компиляции, пожирание памяти и тормоза. Все эти проекты написаны на крутейшем языке С++. На то как Mozilla заебались с С++ и начали перепиливать Firefox на язык который они сами сделали, чтобы не видеть весь этот ужас.

И последнее - компиляторы я никогда не писал, хотя может быть и что-то напишу. У меня другие задачи, эквивалентны по интересности, и тебе постигнуть их не дано в силу приобретенной глупости: ты слишком много кушал мэйнстрима, детка. Честно сказать, и не было у меня информатики в университете, прости такие люди как ты заняли все бюджетные места, и я решил что мне места там нет, если туда такое рвение у всех каловых масс. Учить принудительно x86 реального режима в 2013-м году я также не хотел особо. С тех пор меня бесят почти все программисты уровнем ниже тех, кто сидит в LKML или пилит GCC. Не может быть хорошим то, куда идут массы. И я в этом убедился. прямо здесь, читая говно которое изливаешь ты в нерабочее время на говнофоруме.

Учитесь и развивайтесь, учитесь приводить правильные доводы во внутреннем монологе с собой. И тогда вы быстро начнете понимать что говно в обертке, а что настоящий инструмент. Удачи!
518 1262821
>>62810
Я так увлекся, что скопипастить себе решил в архив это.

Буду честен с тобой: ты - мудак, и пруфов здесь не будет. Благо, весь этот хуяч позволяет мне оставаться достаточно анонимным, в прочем мне настолько на тебя похуй что даже могу реальное имя свое сказать. Но не скажу, ты его позже немного узнаешь. Можешь приехать ко мне: я тебе в лицо лично скажу все что я написал, и мне плевать какого ты возраста.

С++ - ужасный язык от которой меня тошнит, и я пришел в этот тред чтобы от души высраться хорошим жидким поносом. Поносом с весьма зловонным запахом, подобным запаху изо рта старого маразматика Страуструпа.

Все книги и великие "авторы" литературы С++ чем-то похожи на тебя и на LL(1)-парсеры. Они пишут свои высеры со стратегией сверху-вниз: пытаются человеку который еще не понимает базовых концепций втереть кусок непонятного кода в качестве решения. Они также полагаются на одно единственное предположение когда начинают строчить свои охуенной ценности высеры. Почти все такие "охуенные" авторы никогда в своей жизни не написали ничего большего чем строго описанная задача уровня "говно переложить". Они ничего нового не придумали в целом. Переходя к следующей редукции эти придурки не удосуживаются объяснить по каким критериям было принято их решение, и этим, к слову, грешили много авторов в советской научной литературе. Но это еще и не самое страшное.

А страшное самое то что большая часть софта на С++ написана именно под винду. Систему программисты в которой изначально имеют травмированное восприятие реальности: склонны усложнять задачу. Склонны превращать простую программу в ебаный комбайн из кучи непонятного мусора. Вспомните Nero - он же написан на чудесном С++ был, вспомните его 10 версию на закате эры оптических дисков! Вспомните мрази! А теперь мрази вспомните k3b - программу которая в принципе нихуя не делал: она тупо собирала файлы и передавала список на growisofs, wodim и прочие утилиты, которые делали ОДНУ СУКА ПРЯМУЮ ЗАДАЧУ. И были написаны они и на С++, и на С. Но вот проблема количество абстракции в С++ коде близилось к нулю в этих утилитах.

Признаюсь, в этом случае я также погрешил предложив ему GLR и разобраться в парсерах самостоятельно пощупав как они себя будут вести, но сделал я это не просто так: объясню позже.
Так вот да, подобные люди переписывают нахуй не нужный никому код, потому что не могут разобраться в более высоких концепциях: перейти от более низкого к высокому, к высокой теории, которая да проигрывает, но наталкивает на верный путь. Во все то говно, против которого и боролись ООП-борцуны в конце 80-х, так и прямо наступают С++ программисты: KISS и DRY, суки, KISS и DRY.

Так вот да, почти все С++ проекты размером больше чем то что я привел, выбрасываются на помойку после нескольких лет разработки, и переписываются с нуля. Из-за того что когда количество говна в системе классов становится запредельным - проще начать все с нуля. Ничего не напоминает? Именно потому я не люблю С++ и все то дерьмо, которое рождают люди вроде тебя. И пусть мои слова лягут на твою душу бальзамом. Проблема твоя в том что ты настолько глуп и уперт, что не можешь освоить что-то новое. И дело здесь не только в хуевизне С++, но и в целом в плохой применимости ООП к проектам отличным от академического говна. У меня был пример на С# и Microsoft.NET, моим наставником тогда был охрененный специалист, и со временем - мы всеравно погрузли в говне как и все до нас. Вот оно как. Ну и да, то что С++ ужасен когда дело касается больших проектов, только подливает масло в огонь. Не верите - взгляните на Monotone, на Google Chromium и его время компиляции, пожирание памяти и тормоза. Все эти проекты написаны на крутейшем языке С++. На то как Mozilla заебались с С++ и начали перепиливать Firefox на язык который они сами сделали, чтобы не видеть весь этот ужас.

И последнее - компиляторы я никогда не писал, хотя может быть и что-то напишу. У меня другие задачи, эквивалентны по интересности, и тебе постигнуть их не дано в силу приобретенной глупости: ты слишком много кушал мэйнстрима, детка. Честно сказать, и не было у меня информатики в университете, прости такие люди как ты заняли все бюджетные места, и я решил что мне места там нет, если туда такое рвение у всех каловых масс. Учить принудительно x86 реального режима в 2013-м году я также не хотел особо. С тех пор меня бесят почти все программисты уровнем ниже тех, кто сидит в LKML или пилит GCC. Не может быть хорошим то, куда идут массы. И я в этом убедился. прямо здесь, читая говно которое изливаешь ты в нерабочее время на говнофоруме.

Учитесь и развивайтесь, учитесь приводить правильные доводы во внутреннем монологе с собой. И тогда вы быстро начнете понимать что говно в обертке, а что настоящий инструмент. Удачи!
519 1262828
Вот также пример ПРАВИЛЬНЫХ ХОРОШИХ НЕКРАСНОГЛАЗЫХ программ которые написаны на ПРАВИЛЬНЫХ ООП языках, и казалось бы - все должно быть хорошо. Они исполняются на в вашем понимании правильной "некрасноглазых" платформе Windows ну или JRE ^_^

- AutoCAD. Правильный Microsoft.NET, отличный ООП. Лучшие в мире пожирания памяти, крутейшие вылеты с ошибками при работе над большим проектом.
- Matlab. 10 гб со всеми его "тулбоксами". Комментарии здесь излишни. Начали "за здравие", закончили "за упокой".
- Adobe After Effects и почти весь дизайнерский кал от Adobe - вылетает направо и налево при нажатии не той кнопки или малейших ошибок со стороны ОС. Разработчики не поняли что исключения в ВЫСОКИХ языках МОЖНО обрабатывать (НИХУЯ СЕБЕ ПОДРОБНОСТЬ). Размеры этого кала также радуют.
- Adobe Flash - этот ужас, слава Господу, уже почти эрадицировали с просторов всемирной паутины. Куча конфузий типов в С++ (да-да, дорогие мои) - в этом треде вы такое даже не обсуждали, и много других штучек, которые позволяли долгое время нагибать целые компании при помощи страничек с веселой анимацией в правильном браузере Internet Explorer.

И это я только вешки затронул. Мне продолжать?
1532299232241.png98 Кб, 322x225
520 1262835
>>62821
Что сказать-то хотел, Лев Толстой?
521 1262852
>>62835
Пусть дадут альтернативу. Нормальную, а не Rust. А то там в rust треде срач через срач.
522 1262854
Почему следует отказаться от new и delete? Есть альтернатива?
523 1262855
>>62854
Не следует от них отказываться.
524 1262912
>>62855
Но меня же от него отказывают.
525 1262956
>>62854
Честно, я вручную управляю памятью только когда использую сишные библиотеки (которые свои аллокаторы предоставляют). В 90% своего же кода мне вполне хватает unique_ptr.
526 1263064
>>62854
RAII везде
Untitled3.png6 Кб, 979x512
527 1263124
>>62763
Это работает, но я уверен, что оно не должно так работать.
1 - пишет "true" только если находит слово "the", даже если оно идёт после точки.
2 - несколько "the" подряд по идее должны вызывать "false".
3 - пишет "true" только если вбить несколько предложений. На одно предложение почему-то не реагирует.
529 1263703
>>43187 (OP)
Привет аноны. На связи кун 19 лет. Учу c# из-за unity и для запасного плана, если придется вкатываться во что-то серьезное учу c++. Первое время охреневал от синтаксиса c++ и как он разница с с#, но со временем свыкся ибо похожи, как по мне.

Скоро окончу шарагу и пойду учится на информационную инженерию из-за того что нравятся реализовать идеи или мысли в "реальные" объекты, сущности, почти чувствовать себя богом. Из-за этого начал изучать unity, а потом и c++.

Хотел спросить:
Стоит ли выкатываться из уютного c# в жестокий с++.

Даст ли мне высшее образование то что я не смогу получить, выучить?

И стоит с моими фантазиями выбрать именно этот факультет.

Ещё хотел спросить зачем писать
std::cout если можно объявить namespace std? Это просто как один из примеров.

И хотел спросить где я обосрался и как скоро мои фантазии о программировании превратятся в крах. И какое будущее ждет с++ и может с#

Хотелось бы ещё получить пару советов для начинающего.

Заранее спасибо.
530 1263764
Аноны, можете подсказать когда нужно в указателе писать * перед названием? При инициализации ясен хуй, но вот я создал динамический массив, и при заполнение arr.name звезду уже писать не нужно, почему так?
531 1263801
>>63703

>Стоит ли выкатываться из уютного c# в жестокий с++.


Нет

>Даст ли мне высшее образование то что я не смогу получить, выучить?


Если пойдешь да компьютерную специальность - нет, не даст.

>И стоит с моими фантазиями выбрать именно этот факультет.


Да.

>зачем писать std::cout если можно объявить namespace std?


Затем, что в C++ не поощряется подключать то, что тебе не нужно. Если ты используешь cin, cout, да endl, то подключать всё пространство std - моветон (хотя для новичка допустимо).

>И какое будущее ждет с++ и может с#


C# - не такой высокий порог вхождения, большая конкуренция, галеры, требуется владеть довольно большим стеком технологий

С++ - довольно высокий порог вхождения, часто требуется соответствующая математическая база, туева хуча возможностей выстрелить себе в ногу, мало вакансий, зарплата выше.
532 1263804
>>63764

>создал динамический массив, и при заполнение arr.name звезду уже писать не нужно


Хуйню какую-то написал. Код в студию...
533 1263809
>>63804
Сейчас уже голова не работает что-то в пример привести, студию закрыл. А там понял что хуйню написал, забыл сказать что я структуру использовал. Вопрос был в том, почему при записи в отдельный элемент динамического структурного массива не нужно писать звёздочку перед элементом.
534 1263903
>>62700
Можно для мимонуба на пальцах, что это значит?
535 1263904
>>63801
Шкурный вопрос. Вакансии по крестам обычно на мидлов и сеньйоров, джуна вообще не видел. Есть ли июню смысл переобучится побыряку на какую-то пыху или чистое си или яваскрипты, чтобы наработать опыт, а потом переобучиться обратно на кресты?
536 1264174
Может кто обьяснить как работает остача от деления? Ну то есть 7/5 остача будет 2, это понятно, в семерке одна целая пятёрка. Но почему 3 % 5 выдает 3 блять.
537 1264435
>>64174
Сколько раз ты из трех накладных ногтей наберешь пять, чтобы сделать клиентке руку, а сколько останется лишних накладных ногтей?
538 1264581
>>64435
Дай тебе бог здоровья и крепкого разума. Спасибо
539 1264837
Джефф Элджер. C++: Библиотека программиста. Основной учебник по продвинутому освоению языка C++.

Что скажете?
540 1265582
>>53478
Распидор не палится.
image.png13 Кб, 827x38
541 1265616
Указатели на функции часто используются? Читаю главу и мало что понимаю, при этом написано что это всё рассказывается поверхностно. Нужно это задротить сейчас или это редкоиспользуемая хуйня и со временем придет понимание?
542 1265889
Сап, кочаны.

У меня охерительно важный реквест по std::move в лямбдах для асинков. Доставьте ту самую пикчу с фурриёбами.
543 1266263
>>62587
>>62608

У оланга даже было расписано, почему именно так, а не иначе.
image.png76 Кб, 1425x879
544 1267705
Подскажите почему ошибка возникает? Я так понял компилятор ругается на то, что он не может выбрать функцию для перегрузки. Так она же блять одна. Как пофиксить проблему?
15375282296060.png74 Кб, 1425x879
545 1268381
>>67705

>Так она же блять одна.


В пространстве имен std уже есть функция swap.

>Как пофиксить проблему?


Переименую свою функцию, например в myswap.
546 1268451
>>68381
Спасибо Давно появилась функция? В книге 2012 такой пример рабочий
547 1268510
>>68451

>Давно появилась функция?


Да вроде с C++98.

>В книге 2012 такой пример рабочий


Бывает, хуле...
548 1269207
>>62828

>AutoCAD. Правильный Microsoft.NET, отличный ООП. Лучшие в мире пожирания памяти



Он и до перехода на дотнет такой был, это норма. Тем более сейчас, когда по 9000 слоёв абстракции везде.

>Adobe After Effects


>питушок пытается запускать в вайне


>страдания



Ну ок.

>Adobe Flash - этот ужас, слава Господу, уже почти эрадицировали с просторов всемирной паутины.



Не самый плохой ужас, на фоне современных браузеров — и это при том, что писался непрофессионалами. У хрома любой модуль дырявее всего флэша целиком.

Так про что твои вскукареки?
549 1269980
cpp.sh/2lyfj
Подскажите почему не работает. Должен ведь по диагонали обменять значения. Если убрать присваивание ar[rows][cells] = temp то значения меняет. Оно по идее свапает всё обратно, но я не пойму почему.
550 1270235
>>69980
Всё, уже не надо. Оказывается нужно, чтобы строки шли на 1 шаг быстрее чем столбцы, а иначе цикл повторяется и обратном порядке
551 1274888
552 1278404
>>43875
Аттрибуты - это то, что раньше делалось прагмами. В идеале, оно тебе не должно быть нужно вообще, но когда ты начнёшь хуячить в продакшн, то какую-нибудь проблему ты сможешь решить с помощью аттрибутов.
https://en.cppreference.com/w/cpp/language/attributes
Тред утонул или удален.
Это копия, сохраненная 20 октября 2018 года.

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

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