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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
# OP 2 1517306
>>17305 (OP)
Блять, твердый знак забыл. Совсем ебанулся уже.
3 1517331
>>17322 (Del)
педеРаст, уходи
image.png33 Кб, 553x64
4 1517342
>>17322 (Del)
Как прикажешь для микроконтроллеров писать проги?
5 1517348
>>17342
Имеется в виду, что прямого доступа к указателям нет. Можно сделать ссылку или передать переменную в владение другой переменной
6 1517439
>>17331
Байтослесарь порвался. Иди память подчисти, да висящие ссылочки ручками поудаляй : )
7 1517453
как в c++ справку вызвать, хелпануть. чтобы он выдал справку по модулям и прочему?
8 1517454
>>17453
кресты не будут тебе помогать ни в чем
9 1517455
>>17454
там нету help?
10 1517462
>>17455
da, nety ((
11 1517466
>>17462
понял, спасибо.
12 1517468
>>17348
В С++ так нельзя сделать как-будто, лол. Уноси говно свое обрезанное.
13 1517471
>>17466
но ты можешь прочитать парочку тысячестраничных книжек и тогда..
14 1517472
>>17471
спасибо. уже вот гуглить пошёл книжку страуструпа.
15 1517486
>>17472
последние книги старика так себе.. "язык программирования с++, специальное издание" годная книга у него, и то с оговорками.. "дизайн и эволюция" самая интересная, но не для тебя..
16 1517497
Вот я думаю: этот растошизик один срет в треде плюсов или таких сектантов несколько?
Ебанутый, честное слово.
sage 17 1517506
>>17497
Один, ибо у них совсем все тухло. Аналогично шизику, который под яблоко прогает и срет в си-треде и тут иногда, использует боевые картиночки.
18 1517513
А можно в ваших крестах лямбды в <>-скобках хуячить? Например
unordered_set<Kluch,
[](Kluch&k){return...},
[](Kluch&k1,Kluch&k2){return...;}>

чтоб в одну строку создать эту хуергу со своей простенькой хеш-функцией и предикатом тождества.
19 1517515
https://www.youtube.com/watch?v=ZQds2aGHwDA

Бьерн хвалит msvc компиль. Линуксоблядей попрошу выйти из треда. Microsoft топ-1 контора мира, уже совсем скоро сожрет всю индустрию целиком.
20 1517522
>>17515
Когда в венду завезут способ ускорения, кроме переустановки системы?
21 1517528
>>17515
Жаль, что VS весит ебанных 5-15 гигов. Спасибо, но нет.
23 1517542
>>17486

> последние книги старика так себе



А че там норм сейчас?
24 1517543
>>17515

> Линуксоблядей попрошу выйти из треда



Я бы такой и не против стать линуксблядью, ну в нём нету нихуя, чтобы пописать музычку, и чтобы ваять дизайнчик в прогах от адобе, короче только кодить в нём.
25 1517567
>>17543
W I N E
I
N
E
26 1517578
>>17543

>только кодить


дизайноблядь, ты как сюда попал?
27 1517594
>>17528
Очередные программситы с винтом на 80гб в треде рофл
28 1517616
>>17542
шаблоны вандервурда второе издание
последняя книга майерса
29 1517626
>>17322 (Del)
При желании все стандарты новые С++ позволяют писать без утечек и мне похуй, что вы там себе напридумывали про безопасность. Вы сосете член и даже не стесняетесь.
30 1517634
Есть ли разница между х86 и х64 PE форматом исполняемых файлов? Например, если я сделаю в студии компил под х86, то он определяет IMAGE_NT_HEADERS как IMAGE_NT_HEADERS32, а если под х64, то как IMAGE_NT_HEADERS64. Чо делать то?
image.png19 Кб, 583x124
31 1517636
>>17634
Короче, я сам посмотрел и единственная разница в структуре IMAGE_OPTIONAL_HEADER, где некоторые поля внизу инициализируются ULONGLONG вместо DWORD. То есть мне придется писать две версии класса для обработки ПЕшки под две архитектуры?
image.png15 Кб, 477x271
32 1517637
Кстати, в С++ не считается такое использование typedefá быдловатостью сишной?
33 1517642
>>17637
Ну некоторым удобнее using, а в шаблонах вообще без вариантов. Или ты про что?
34 1517646
>>17642
То что я прозвал unsigned char Architektoм, при этом что это обычный тип, а не класс.
35 1517652
Можно ли как-то запилить шаблон, который будет принимать только два определенных типа аргументов?
36 1517664
>>17652
static_assert
или
enable_if
>>17637
Напиши enum class, что ты как не родной
37 1517666
Эй, хуесосы, я к вам обращаюсь!
>>17513
38 1517668
>>17666
Здесь хуи не сосут. Тебе в другой тред, чмо.
39 1517670
>>17664

>static_assert


Кстати, а вообще ветвить код в функции в зависимости от типа переданного шаблонцозавра порочно? Так делают истинные гуру?
40 1517671
>>17646
Епта, это называется абстракция. Можешь потом менять тип данных в куче мест одной строчкой. Плюс позволяет различать значения с разной семантикой, чтобы не складывать яблоки с пчелами (но для этого лучше настоящий strong typing).
41 1517673
Но вообще да, в данном случае напрашивается перечисление.
42 1517674
>>17673
>>17671
Большое спасибо.
43 1517679
Лол, вот то я вас пидоров выдрессировал - перекатываете треды еще до бамплимита

оп-растоблядь
44 1517683
>>17679
Если ты посмотришь, то и до этого так перекатывали, педеRUST-борщехлёбушка. Дрессируй лучше себя, чтобы не срать в треды.
45 1517684
>>17515
Лол, сейчас бы в 2к19 хвалить проприетарный компилятор. Дежурно напоминаю, что msvc пришлось наверстывать поддержку новых стандартов именно из-за clang. Не было бы шланга, сосали бы вы сейчас прямо как пользователи icc
46 1517686
>>17683
Дешевые оправдания с помощью былых заслуг. Если рантше перекатывали, то чего перестали, лалка?
47 1517687
>>17626
В том-то и проблема, что при желании можно писать с утечками. И не только при желании, можно тупо ошибиться. В этом и суть Rust: он не даёт прострелить колено, отсеивая подобные баги на этапе компиляции
48 1517688
>>17670
а бы сначала попробовал сделать через перегрузку функции, если не устроило бы, то через специализацию шаблонной функции и в крайнем случае стал бы использовать возможности новых стандартов..
49 1517689
>>17686

>лалка


Типичный расторебёнок.

>Дешевые оправдания с помощью былых заслуг


Просто ты, манька, сидишь и высираешь в тред про то, что из-за тебя великого кто-то что-то там делает даже. На деле же всем похуй на тебя, юродивый.
50 1517691
>>17670
constexpr if, маня. Еще можно специализациями
51 1517693
>>17687

>он не даёт прострелить колено, отсеивая подобные баги на этапе компиляции


Если он такой ахуенный, то почему его никто не использует кроме пары бородатохипстерофирм? И не пизди, что %FIRMA_NAME% его юзает, педеРАСТ растёт крайне медленно и через лет 5 вообще сдохнет, потому что его создатели его окончательно превратят в говнофункциональную парашу по типу хаскеля.
52 1517694
>>17691

>constexpr if


Да, уже понял, что можно
if constexpr (is_same<T, Anus>::value)
53 1517698
>>17689

>Настолько похуй, что не могу тебя о этом не уведомить


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

растоблядь
54 1517699
Блядь, вы еще один тред засрете растокоастером?
55 1517704
>>17693
Через 5 лет в C++ перенесут и borrow checker из раста, и концепты оформят как в расте, и stdlib сделают человеческой как в расте, и std::move превратится в destructive move как в расте. И нихуя у тебя от современного C++ не останется. Ты еще не понял, что растобляди уже победили: или rust победит, или C++ по сути станет таким же, как rust.
56 1517706
>>17698

>продемонстрировать безразличие


Я безразличен к твоим действиям, но небезралично потешаюсь с твоей тупости.
image.png354 Кб, 493x350
57 1517708
>>17704

>растобляди уже победили


Ох уж эти триумфаторы на борщах маман.
58 1517713
>>17708

>https://youtu.be/d67kfSnhbpA


Ты главное не нервничай, C++ не пиздит главную фишку Rust, повторяю - НЕ-ПИЗ-ДИТ
59 1517717
>>17713
Один ты тут нервничаешь
60 1517720
Самое забавное, что растобляди всячески агитируют за прогрессивные технологии и всячески радуются тому, что они появляются в других языках, в тоже время C++-сектанты как таксисты старой формации - протестуют против убера.
image.png835 Кб, 1604x763
61 1517721
>>17693
Он по сути конкурирует с с++. И говорить, что его никто не использует, неправильно - просто язык относительно молодой.

Если borrow checker перенесут на с++, то он превратится в монстра без обратной совместимости. А раст останется чистым и аккуратным
62 1517727
>>17720

>новые технологии


>синтаксический сахар для дебилов


легаси на Фортране на вас нет
63 1517728
>>17713

>Ты главное не нервничай


Мне-то самому rust больше нравится, только что ты тут агитируешь аки проповедник? Тут люди серьезные сидят и у нас на крестах работа повязана, старые проекты, что, могут и на шее ярмом быть, но они есть, так что я тебя не понимаю, зачем ты тут полемику начинаешь.
64 1517730
>>17727

>легаси на Фортране на вас нет


Я последний раз это говно в ракетных войсках на С-125 видел.
65 1517732
>>17305 (OP)
А где Rust ?
sage 66 1517736
>>17636

> То есть мне придется писать две версии класса для обработки ПЕшки под две архитектуры?


Да. Можешь еще как лох на макросах и if/else.
67 1517738
>>17736

>Да. Можешь еще как лох на макросах и if/else.


Я в итоге шаблоноеблей ограничился.
>>17732
Да тред посмотри, он внутри него, ржавчиной растет.
68 1517745
>>17322 (Del)

>Юзайте пикрил


А как в расте low-level acces делают безопасно? Там я могу такой на понтах взять и тупо по адрессу 0x228 обратиться и записать что-то?
69 1517747
Растошизик все не успокоится, я смотрю. Ну пусть посидит еще чуть-чуть, забанить за нерелейтед всегда успеем.
70 1517749
>>17720
Ты понимаешь, что ты уже который тред агитируешь не за раст, а за собственную распиздатость? Ты молодец, весь такой прогрессивный и охуенный, создай себе тред и сиди в нем
71 1517751
>>17578
Кодить это необходимость, а не смысл жизни, тупая ты никчемная овца. Это как умение пользоваться молотком, отверткой, плоскогубцами, паяльником.
72 1517756
>>17594

> Очередные программситы с винтом на 80гб в треде рофл



Очередная чмоха, сейчас будет рассказывать, что ради логотипчика любимой корпорации нужно непременно тратить бабло и увеличивать вычислительные мощностя, пусть того и требует лишь идеешечка с компилятором.
73 1517758
>>17670
Для этого и придумывали if constexpr. Только не вздумай потом писать в else-блоке !std::is_same<T,T>
74 1517761
>>17668
Простите, я больше так не буду.
Уже разобрался.
75 1517775
>>17513
auto fn = [](T l, T r){...};
set<T, decltype(fn)>(fn)
76 1517778
>>17775
Хотя в будущем C++20 вроде как можно будет такое писать искаропки
77 1517780
>>17775
Уже так и сделал.
78 1517804
>>17468
Как будто в расте нельзя дрочить голые указатели с маллоками. Уноси своё раздутое говно.
79 1517807
>>17533
many thanks you for help
80 1517820
>>17515

>Бьерн хвалит msvc компиль.


Он очень тормозной. Даже со stdafx компилит в разы медленнее, чем mingw. Из плюсов - больше ворнингов ловит по дефолту, но сообщения об ошибках гораздо хуже, чем у GCC.
81 1517822
>>17756
Да, нищий студентик, твое мнение о профессиональной разработке всем очень важно.
image.png668 Кб, 869x538
82 1517823
Так блэт, что у вас там за хуйня с новыми стандартами? Приставку Legacy к старым итераторами присрали, а новые не завезли? Хозмаг переезжает, не закрыв вход охуевающим покупателям?
83 1517825
>>17687

>В этом и суть Rust: он не даёт прострелить колено, отсеивая подобные баги на этапе компиляции


Обсудили же в прошлом треде. Он это делает, только пока ты данные располагаешь в виде дерева. Единственная альтернатива этому - использовать индексы и Rc (умные указатели) вместо ссылок, из-за чего вся магия раста сразу теряется, он перестает ловить ошибки во время компиляции, и становится ничем не лучше крестов.
84 1517829
>>17721

>А раст останется чистым и аккуратным


Ага, менять синтаксис языка в минорных релизах - сама чистота и аккуратность.
85 1517858
>>17825

>из-за чего вся магия раста сразу теряется, он перестает ловить ошибки во время компиляции, и становится ничем не лучше крестов


И тут ты такой приносишь пример, где компилятор не детектит ошибку
86 1517868
Посоны, опрос!!!

Вы на виндушатине консольные утилиты типа cmake в чем запускаете?
87 1517870
>>17868
башем который идет вместе с гитом
88 1517875
>>17751

>как умение пользоваться молотком, отверткой, плоскогубцами, паяльником.


членом еще
89 1517885
>>17875
и разъебанной дырочкой ануса
Screenshot2019-11-1009-26-2601.png223 Кб, 983x697
90 1517908
Хз, оставлю здесь: https://www.youtube.com/watch?v=_xULjQeDARE .
Может, кому для мотивации поможет.
91 1517914
Когда в плюсах появятся гигиенические макросы?
92 1517916
>>17914
Когда в жопу ебаться перестанешь
93 1517931
Жил-был СТРАУСТРУП. Шел обычный, скучный день. СТРАУСТРУП занимался рутинными вещами, такими как ебля своей трехсоткиллограмовой матери в зад. Только успев кончить матери в пердак и вынуть измазанный в говне хуй, СТРАУСТРУП услышал стук в дверь. Не заметив, что его мать умерла от сердечного приступа еще 3 дня назад, он пошел открывать дверь и вышел на веранду. На веранде никого не было. СТРАУСТРУП, было, уже начал подозревать СТЕПАНОВА в очередной подъебке, но вдруг, из под крыльца что-то вылетело и понеслось на него. От перевозбуждения СТРАУСТРУП уронил скрепленнеые скотчем очки на пол и смиренно ждал, что будет дальше. ЛЯМБДА, с огромной скоростью пролетела мима СТРАУСТРУПА, квадратной скобкой отпихнула его и заползла в дом, крепко заперев дверь. ЛЯМБДА ясно дала понять, что она приняла дом в качестве аргумента, но отказывается возвращать функцию, которая принимает ПИЗДЮЛИ в качестве аргумента и возвращает дом. ЛЯМБДА заползла на стул перед компьютером и свернувшись в уютный клубок, зашла на ДВАЧ. СТРАУСТРУП знал ЛЯМБДУ. По крайней мере, это слово он точно слышал, но не знал, что оно значит. Он очень удивился, когда недавно узнал, что ЛЯМБДУ включили в НОВЫЙ СТАНДАРТ, принятый полгода назад. СТРАУСТРУП понял, что надо выгнять ЛЯМБДУ из дома, потому что желание в очередной раз залезть на мамочку было слишком велико. Будучи первоклассным инженером, СТРАУСТРУП начал искать решение проблемы. Для разминки он решил повторить таблицу умножения до 12 на 12. Он 2 часа стоял на одном месте и смотрел в никуда, потея как свинья. Пока он боролся с таблицей умножения, из за угла вышел измазанный в говне АНДРЕЙ АЛЕКСАНДРЕСКУ и осмотрелся. Рядом стояли несколько зданий, включая психбольницу для буйнопомешанных и тюрьму. АНДРЕЙ задумался и понял, что в округе нет ни одного настолько больного и гнилого человека, чтобы продать ему свою книгу. Небрежно посвистывая, АНДРЕЙ удалился. СТРАУСТРУП закончил разминку и начал думать, как прогнать ЛЯМБДУ. Вдруг его осенило. Его дом был скомпилирован последней версией GNU G++, которая поддерживает ЛЯМБДУ. Именно поэтому, ЛЯМБДА и смогла проникнуть к нему в дом. СТРАУСТРУП понял, что ему нужна более старая версия G++, которая не поддерживала ЛЯМБДУ и тогда, при попытке компиляции дома, ЛЯМБДУ выкинет вместе с СООБЩЕНИЯМИ ОБ ОШИБКАХ. Но старую версию было негде взять. СТРАУСТРУП нанял ФУНКЦИОНАЛЬЩИКА СО ШТАНГОЙ за 5 тысяч рублей. Так как компьютера у них не было, ФУНКЦИОНАЛЬЩИК вначале написал на бумажке компьютер в 1 строчку НА ХАСКЕЛЕ:

Computer = Computer

ФУНКЦИОНАЛЬЩИК сожрал бумажку и высрал работающий системный блок с ВОДЯНЫМ ОХЛАЖДЕНИЕМ и предустановленой WINDOWS 7. На компьютере уже был установлен АЛАН ВЭЙК и ХАСКЕЛЛ ПЛАТФОРМ. Корпус был красного цвета, с наклейкой ТУРБО на прозрачной боковой крышке. Затем ФУНКЦИОНАЛЬЩИК написал в 2 строчки старую версию G++:

Compiler :: [C++SourceCode] -> [ExecutableFile]

Compiler source =(Link . Compile) source

СТРАУСТРУП взял исходники своего дома и запустил компиляцию. Компилятор начал дристать СООБЩЕНИЯМИ ОБ ОШИБКАХ. СТРАУСТРУП попытался разобрать первую строчку, но увидев такое, дальше лезть не решился(таблица умножения и так вымотала его):

std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::map<std::basic_string<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >

Высрав 10 000 СТРОК СООБЩЕНИЙ ОБ ОШИБКАХ, компилятор скончался от ЛЕНИВЫХ ВЫЧИСЛЕНИЙ ПРЯМОЙ КИШКИ и из монитора вылетела ЛЯМБДА. Придерживая круглые скобки квадратными скобками, ЛЯМБДА в ужасе съеблась под ближайший камень. Ей еще долго не захочется принимать и возвращать значения. Довольный СТРАУСТРУП плюнул в руку, чтобы наслюнявить хуй и уже решился залезать на мамочку, но передумал и решил вначале запостить эту историю на ИЗДАЧ.
93 1517931
Жил-был СТРАУСТРУП. Шел обычный, скучный день. СТРАУСТРУП занимался рутинными вещами, такими как ебля своей трехсоткиллограмовой матери в зад. Только успев кончить матери в пердак и вынуть измазанный в говне хуй, СТРАУСТРУП услышал стук в дверь. Не заметив, что его мать умерла от сердечного приступа еще 3 дня назад, он пошел открывать дверь и вышел на веранду. На веранде никого не было. СТРАУСТРУП, было, уже начал подозревать СТЕПАНОВА в очередной подъебке, но вдруг, из под крыльца что-то вылетело и понеслось на него. От перевозбуждения СТРАУСТРУП уронил скрепленнеые скотчем очки на пол и смиренно ждал, что будет дальше. ЛЯМБДА, с огромной скоростью пролетела мима СТРАУСТРУПА, квадратной скобкой отпихнула его и заползла в дом, крепко заперев дверь. ЛЯМБДА ясно дала понять, что она приняла дом в качестве аргумента, но отказывается возвращать функцию, которая принимает ПИЗДЮЛИ в качестве аргумента и возвращает дом. ЛЯМБДА заползла на стул перед компьютером и свернувшись в уютный клубок, зашла на ДВАЧ. СТРАУСТРУП знал ЛЯМБДУ. По крайней мере, это слово он точно слышал, но не знал, что оно значит. Он очень удивился, когда недавно узнал, что ЛЯМБДУ включили в НОВЫЙ СТАНДАРТ, принятый полгода назад. СТРАУСТРУП понял, что надо выгнять ЛЯМБДУ из дома, потому что желание в очередной раз залезть на мамочку было слишком велико. Будучи первоклассным инженером, СТРАУСТРУП начал искать решение проблемы. Для разминки он решил повторить таблицу умножения до 12 на 12. Он 2 часа стоял на одном месте и смотрел в никуда, потея как свинья. Пока он боролся с таблицей умножения, из за угла вышел измазанный в говне АНДРЕЙ АЛЕКСАНДРЕСКУ и осмотрелся. Рядом стояли несколько зданий, включая психбольницу для буйнопомешанных и тюрьму. АНДРЕЙ задумался и понял, что в округе нет ни одного настолько больного и гнилого человека, чтобы продать ему свою книгу. Небрежно посвистывая, АНДРЕЙ удалился. СТРАУСТРУП закончил разминку и начал думать, как прогнать ЛЯМБДУ. Вдруг его осенило. Его дом был скомпилирован последней версией GNU G++, которая поддерживает ЛЯМБДУ. Именно поэтому, ЛЯМБДА и смогла проникнуть к нему в дом. СТРАУСТРУП понял, что ему нужна более старая версия G++, которая не поддерживала ЛЯМБДУ и тогда, при попытке компиляции дома, ЛЯМБДУ выкинет вместе с СООБЩЕНИЯМИ ОБ ОШИБКАХ. Но старую версию было негде взять. СТРАУСТРУП нанял ФУНКЦИОНАЛЬЩИКА СО ШТАНГОЙ за 5 тысяч рублей. Так как компьютера у них не было, ФУНКЦИОНАЛЬЩИК вначале написал на бумажке компьютер в 1 строчку НА ХАСКЕЛЕ:

Computer = Computer

ФУНКЦИОНАЛЬЩИК сожрал бумажку и высрал работающий системный блок с ВОДЯНЫМ ОХЛАЖДЕНИЕМ и предустановленой WINDOWS 7. На компьютере уже был установлен АЛАН ВЭЙК и ХАСКЕЛЛ ПЛАТФОРМ. Корпус был красного цвета, с наклейкой ТУРБО на прозрачной боковой крышке. Затем ФУНКЦИОНАЛЬЩИК написал в 2 строчки старую версию G++:

Compiler :: [C++SourceCode] -> [ExecutableFile]

Compiler source =(Link . Compile) source

СТРАУСТРУП взял исходники своего дома и запустил компиляцию. Компилятор начал дристать СООБЩЕНИЯМИ ОБ ОШИБКАХ. СТРАУСТРУП попытался разобрать первую строчку, но увидев такое, дальше лезть не решился(таблица умножения и так вымотала его):

std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::map<std::basic_string<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const, std::basic_string<char, std::char_traits<char>,std::allocator<char> > > > >

Высрав 10 000 СТРОК СООБЩЕНИЙ ОБ ОШИБКАХ, компилятор скончался от ЛЕНИВЫХ ВЫЧИСЛЕНИЙ ПРЯМОЙ КИШКИ и из монитора вылетела ЛЯМБДА. Придерживая круглые скобки квадратными скобками, ЛЯМБДА в ужасе съеблась под ближайший камень. Ей еще долго не захочется принимать и возвращать значения. Довольный СТРАУСТРУП плюнул в руку, чтобы наслюнявить хуй и уже решился залезать на мамочку, но передумал и решил вначале запостить эту историю на ИЗДАЧ.
94 1517946
>>17914
дзен заключается в понимании того что гигиенические макросы на плюсах - это шаблоны
теперь уебывай
95 1517947
>>17885
suum cuique
96 1517949
>>17931

>СТРАУСТРУП занимался рутинными вещами, такими как ебля своей трехсоткиллограмовой матери в зад.


Тоже что ли видели то видео? Ебать я тогда ахуел.
97 1517950
>>17908
ну и хуле
98 1517965
Добрый вечер. Я Аркадий. Я люблю С++. Давайте дружить!
99 1517969
>>17965
Доброго времени уток! Я белочка. Давай дружить не тужить.
100 1517975
>>17965
Привет, я Эдуард, педераст и либирал.
101 1517985
>>17969
Помню тебя.
>>17975
Как успехи в педерастии?
102 1517992
>>17965
‹‹Записываю витал-икону+наши хромосомы из выделений в присос =кровь хромосомы::горизонт жидкостей тела=убить как собаку, разложенную до голого гена =ТВ/спазм// Я разочарован в объёмной инокуляции гидромашины::бесконечный круговорот масс плоти::исчезаю с телом машинной природы ТоК::‹‹высасываю порно нервный газ бойроида// Душа/грамма самосокрушения до квантовой трагедии NDRO// Выход=преступник внутренней-системы-органов›› Определяет++мазо=траффик::от ToKAGE, скапливающихся в городе Городе Трупов// Душа/грамм их разжижают внутренние жидкости тела++себя, что вызывает в цифровом вампире функцию насилия::чудовнще разрастающееся запечатлено в голограмме пса и реверберации// Жестокость замученной памяти/
103 1517998
>>17975

> педераст и либирал.



Я так и решил оставить карьеру, когда сменив две галеры и придя работать в третью, увидел что там то же одни педерасты и либаралы и прочие подвиды хипстеров. Презираю всех вас, чмошек ебанных.
104 1518024
>>17949
Что за видео?
105 1518025
>>17998
Бомбаж совка.

>>17992
Двачую Сиратори.
106 1518028
Кто, блядь, притащил на двачи ебаный термин "бумер". В этой стране эквивалентом американских бумеров является слово "совок". Именно совки это та пидарасня, которая ненавидит молодых и успешных либералов, потому что в их возрасте совки сосали хуи по всем фронтам и им завидно, что все, за что они боролись, современная молодежь имеет по умолчанию.
107 1518030
>>18028
Проиграл с ''С++'' треда.
108 1518031
>>18024

>Что за видео?


Он про видео, где СТРАУСТРУП занимался рутинными вещами, такими как ебля своей трехсоткиллограмовой матери в зад.
109 1518034
>>18028

>Кто, блядь, притащил на двачи ебаный термин "бумер".


Никто вроде, тут только миллениалы и зумеры (но это не точно).
15696783672600.png394 Кб, 633x469
110 1518036
У питона есть urllib для работы с вебом. Есть ли среди дефолтных либ с++ аналоги? Если нет, то как тогда можно работать с SMTP, FTP, HTML, JSON итп? Что можно почитать на эту тему?
111 1518040
>>18036

>У питона есть urllib для работы с вебом. Есть ли среди дефолтн


Это троллинг, да? Ты специально давишь на это, ирод?
112 1518042
>>18040
Нет, честно. Правда не знаю.
113 1518050
>>18042
В С++ нет дефолтных либ для этих задач. Либо используй какой-нибудь curl, либо подрбуй boost. Можешь сам, конечно, на сокетах навелосипедить или заюзать платформозависимую хуйню тибо winnet с std либы, но это порочно.
114 1518051
>>18036
К сожалению в крестах демократия, одобренных Партией либ мало, гугли типа "c++ json library"
115 1518052
>>18051
Не-не, такое:
>>18050

>>Можешь сам, конечно, на сокетах навелосипедить и

116 1518053
Или сажайся на фреймворк типа Qt, там жсон с серверами будет искаропки.
117 1518055
>>18052

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


У меня раньше был фетиш на то, что я делал велосипеды под все и дрочил на них. У меня был свой класс строки, была своя либа запросов, было все свое, но мне было стыдно это постить на гитхаб, так как это было говно уровня HippoString string = new HippoString("anus");
118 1518056
Хочу сам написать. Что можно читануть на эту тему? Ну вот, например, хочу получить html этой страницы и вывести его в консоль. С чего вообще тут начать?
>>18055
Мне пойдет.
119 1518060
>>18056

>Ну вот, например, хочу получить html этой страницы и вывести его в консоль. С чего вообще тут начать?


в современном мире это может быть проблематично, тк контент многих сайтов генерится динамически на клиенте при помощи js
но в качестве тренировки тебе можно начать просто с реализации либы которая реализовывала бы client http, те клиентскую часть протокола http
120 1518065
>>18056
Берешь пиздон и мажешься реквестом
121 1518067
>>18056

>Хочу сам написать. Что можно читануть на эту тему?


https://ru.wikipedia.org/wiki/Синдром_неприятия_чужой_разработки
122 1518068
Это шиза или это и есть кресты во плоти?
123 1518070
>>18036
нужно отталкиваться от того, под винду тебе это надо, или под юниксы, или кроссплатформенное решение
из кроссплатформы, к примеру, многим нравится cpprestsdk от майкрософт
в нем есть http client, websocket client, ouath client, json и обертка для асинхронки..
по итогу это позволяет работать (с клиентской стороны) с современным интернетом, где много данных гоняется поверх http (+webcocket)
zakaz-HP-630-Notebook-PC.1404885246.SNB4C4B9.obj.0.11.jpg.o[...].jpg379 Кб, 1365x1073
124 1518071
>>18068
Какие кресты? Тут теперь филиал б-га РАСТА на Земле.
125 1518076
>>18067
Да при чем тут? Учусь я, а как лучше всего это делать? Правильно, руками.
126 1518082
>>1517661
Ты читать умеешь? Матрица NxM, а не 5х5.
127 1518094
>>1517357
А как в 1 строчку-то?
128 1518111
>>18056

>Что можно читануть на эту тему?


Сокеты читай.
129 1518112
>>18082
Не умею читать, сорри.
130 1518115
>>17704

> через 5 лет


LOL
131 1518117
>>17825

> ничем не лучше


Лучше, там в рантайме в случае бага будет вполне определенная ошибка, а не неведомое нечто (UB).
132 1518119
На дворе 2к19, а в ваш ссаный STL все еще не завезли многопоточную очередь, хосспаде...
133 1518120
Почему у плюсов такая куцая либа?
134 1518152
>>18094
[[min(x+1, y+1, N-x, M-y) for x in range(N)] for y in range(M)]
135 1518159
Бляяяяяяядь!!! Какого хуя даже в boost нет нормальной очереди?!?!?! В boost::lockfree::queue хуй ты положишь string, потому что нетривиальные конструкторы-деструкторы, матерей всех ебал! Неужели таки самому писать?!?!?!?!??!?!! Да нахуй тогда сдались ваши кресты ВШИВЫЕ, когда я на Сишке люблю чистые прямолинейные велосипеды писать, но не на крестах блядь из говна и палок запутанную хуету всякую.
136 1518163
>>18159
ты хуй сосешь и в жопу долбишься
137 1518164
>>18159
shared_ptr ложи, хуле ты такой тупой.
138 1518166
>>18163
Дядя, как стать таким умным, как ты?
139 1518167
>>18120
Потому что комитет на комитете, и много реализаций. А не одна, как в твоем языкнейм.
141 1518170
>>18152
Я думал мы на плюсах пишем. Ну а так да, классное решение print ток еще добавить
142 1518171
>>18166
хуй сосать и в жопу долбиться
143 1518176
>>18164
Я не ради того свой пет-прожект с няшной чистой сишечки на ваши ублюдские грязные кресты переношу, чтоб с поинтерами пердолиться в перемешку с говноабстракциями. Так-то я все вообще красиво сделаю, но вопрос нахуя тогда гигабайтные либы тащить??? Когда один хуй надо через маллокать буфер, класть в него .c_str() и аналогичную хуету при извлечении. При чем ебаная .pop() еще возвращается с ничем, вместо того чтоб дождаться, ЧТО БЛЯДЬ ЛОГИЧНЕЕ НАХУЙ!!!!!
144 1518185
>>18164
>>18169
Неужели так сложно сделать это
https://pastebin.com/bxcwjmac
в крестовом стиле и положить для меня в STL???
110816042552ed-oneil-as-al-bundy.jpg20 Кб, 640x360
145 1518188
>>18176

>lock-free


>дождаться

146 1518206
>>18188
Да я в курсе, что lockfree и означает не блокировку потока процедурой .pop() при пустой очереди. Но ведь других вариантов и не завезли! Спрашивается, какого хуя? Разве не логично, чтоб поток-producer запушил туда столько null, сколько потоков-consumer, чтоб каждый попнул свое послание нахуй и за-join-ился? Я теперь, как мудак, должен рассчитывать на UB, что раз пусто, то скорее всего больше не будет, потому что producer в среднем быстрее обработчика? Хуита какая-то, ответственно заявляю-с, однако.
147 1518208
>>18176
Я >>18169 же говорю, смотри нормальные библиотеки (вроде folly), а не буст.
148 1518215
>>18208
Но ведь boost - это та самая околостандартная библиотека, фичи которой со временем прирастают к STL, не?
149 1518217
>>18208
Алсо, что опытный анон может сказать о Qt?
150 1518218
>>17858
Любой вариант, когда начинаешь использовать индексы массива вместо ссылок >>1514610
151 1518225
>>17823
Расслабься, пилят еще стандарт. На 17 еще год минимум сидим.
152 1518226
>>18215
Да, и именно из-за этого ничего хорошего ждать там не стоит. Если пытаться угождать всем и сразу — всегда получаются вот такие уёбища как stl/boost/java spring/итд.
>>18217
Что сказать-то? Если делаешь гуйню на нём то уже только его использовать и можно (он сам на себе завязан с ног до головы), если хочешь лайтово и перформансно — это точно не про Qt.
153 1518227
>>17868

> винда


> консоль


Лол... Cmake-gui качай и не выебывайся.
154 1518228
>>17823
https://github.com/ericniebler/range-v3
Можешь уже переходить, лол.
155 1518230
>>18227

>качать цмейк гуй


>устанавливать цмейк гуй


>запускать цмейк гуй


>нажимать на кнопку в цмейк гуй


>вместо cd hui; cmake .


Шиндушатники как обычно.
156 1518236
>>18188
A non-blocking algorithm is lock-free if there is guaranteed system-wide progress, and wait-free if there is also guaranteed per-thread progress.
https://en.wikipedia.org/wiki/Non-blocking_algorithm
157 1518238
>>18176

>Когда один хуй надо через маллокать буфер, класть в него .c_str() и аналогичную хуету при извлечении.


в modern с++ предполагается что буфер памяти будет представляться как std::vector<std::byte>
158 1518239
>>18208

>нормальные библиотеки (вроде folly)


FBString.h
о, да, детка
не изменяй традициям!
каждая уважающая себя компания пищая на крестах должна иметь свой класс строки
159 1518240
>>18159
а зачем тебе локфри очередь? а вдруг дзен заключается в том что она тебе не нужна
160 1518241
>>18164
возможно, глупый вопрос, но зачем класть обязательно shared_ptr, почему просто не unique_ptr?
161 1518244
>>18240
Мне нужна нормальная очередь.
162 1518248
>>18236
И че теперь?
Как ты представляешь себе wait-free queue pop?
163 1518251
>>18239
Т.е. тебя не смущает, что у них там вообще всё окружение своё (как и у всех), а свои строки смущают?

>каждая уважающая себя компания пищая на крестах должна иметь свой класс строки


Т.е. ещё тебя не смущает тот факт, что даже в, блядь, джаве такое встречается?
164 1518253
>>18241
Наверное, можно и unique_ptr.
165 1518254
>>18119

>2к19, а в ваш ссаный STL все еще не завезли многопоточную очередь


да использовали стандартные контейнеры stl в многопоточке вовсю, четверть века уже используют
просто оборачивали в примитивы синхронизации, кто то писал классы-обертки для этого
сейчас то же самое на изи делают, но уже со стандартной многопоточкой..
166 1518256
Есть два стула: возвращать unique_ptr с результатом в случае его наличия или возвращать bool флаг наличия результата, а сам результат записывать через параметр по ссылке. На какой сам сядешь, на какой мать Страуструпа посадишь?
То есть
std::unique_ptr<T> zalupa();
или
bool zalupa(T &resultat);
167 1518257
>>18230

> ПКМ -> открыть cmake здесь.


Хех, мда. Терминалопидоры соснули, опять.
168 1518260
>>18230

> cmake .


> .


Как потом кэш чистить будешб? Вилкой?
169 1518261
>>18251
да это известная шутеечка про свой класс строки в каждой крестовой фирме..
но, в оправдание, мотивация то этого велосипедостроения была оправданна по соображениям производительности (особенно в геймдейве это людей раздражало)
хотя щас то все вроде более менее норм, тк семантика перемещения есть и string_view есть.. так что и стандартная строка тоже норм стала..
170 1518264
>>18256
std::optional
171 1518266
>>18264
Как там, в будующем?
krestiki.png4 Кб, 1284x89
172 1518269
>>18266
норм
173 1518271
>>18260
А зачем его чистить-то? У шиндодибилов опять всё отваливается?
174 1518272
>>18271
Ты пишешь смакелистс, который с первого раза работает? Можно я тебе отсосу?
175 1518273
>>18271
красноглазый полудурок в очередной серет в штаны в прямом эфире, ничего не понимая, но виновата шинда
176 1518274
>>18256
Возвращу сырой поинтер, проверю рещультат и засуну его в unique_ptr.
177 1518276
>>18272
А что там писать-то? Он же простой как палка.
Даже когда где-то обосрусь, поправляю и ебашу make — и он сам себя обновляет прекрасно.

>>18273
Причём тут я-то? У меня никогда ничего и не отваливалось, хз зачем вообще чистить этот кэш.
178 1518277
>>18274
Какие преимущества? Я вижу потенциальную утечку, но это при неправильном использовании, разумеется. Если по указателю память выделена, но не стал записывать в юник_птр.
180 1518279
>>18277

>Какие преимущества?


Простой и понятный код.

> Я вижу потенциальную утечку


Ну так и юзай раст, лол.

Алсо, есть ещё гениальный вариант в стиле go-вна с кортежом
if (auto [huita, err] = zalupa(); err != nullptr) { pizdos(); }
181 1518282
>>18239

>каждая уважающая себя компания пищая на крестах должна иметь свой класс строки


Бывает, что у компании своя строка, да еще и в сторонних либах, которые эта компания использует, в каждой по своей версии строк и умных указателей.
182 1518283
>>18256
насколько я понимаю, в современном c++ типа модно возвращать значение (с передачей владения) через unique_ptr, заодно nullptr будет говорить об ошибке, еще плюс этого что можно возвращать полиморфные типы..
есть еще второй вариант через std::optional, он удобный в том случае когда не возврат значения не является ошибкой, и еще удобный тем что дальше ты работаешь напрямую с объектом (а не косвенно через укзатели, будьто и умные указатели)
может есть и еще какие новые способы возврата значения..
183 1518284
>>18274

>Возвращу сырой поинтер


это очень хуевое решение, очень
оно имеет пользу в одном случае - это когда из твоего контейнера есть необходимость показать наружу его потроха, к примеру, как в std::vector метод data()
184 1518286
>>18279
такой подход тоже использовался в крестах
возвращали std::pair, первый член - данные, второй - валидны или нет
очевидный минус этого что данные (в отличие от std::optional всегда должны быть, те всегда должен создаваться возвращаемый объект)
185 1518287
>>18283

>может есть и еще какие новые способы возврата значения..


Стандартный способ еще до 11 стандарта - своя обертка, внутри которой указатель на данные, которая работает как value-тип. Вроде std::string и почти любого класса Qt (причем pimpl тут не обязателен).
186 1518289
>>18283
Можешь по старинке еще:
T val = T::defaultValue();
bool ok = collection->find( val );
187 1518291
>>18286
к примеру, результат вставки insert в множество возвращал пару где second было удачно ли завершилась вставка, а first - возвращала позицию вставки, это было оправданно тк итераторы stl - легкие объекты, зачастую это всего лишь указатели..
188 1518292
>>18286

>такой подход тоже использовался в крестах


А я этот псевдокодкод на чем написал по-твоему?

>>18284
Зависит от ситуации. Если писать коллекции для библиотеки, которая торчит везде - да, какой нибудь дебил обязательно отстрелит ногу всем. Если внутренняя залупа для проекта — то документации хватит с головой.
189 1518293
>>18289
ну это то понятно
типа out-параметр обычный, но тк это ссылка, то он должен быть проинициализирован, поэтому пропехивают пустой объект в обрабатывающую функцию, а тот с ней работает
проблема такого подхода очевидна - в случает ошибки или отстутвия результата, все равно приходится "тратится" на создание пустого объекта..
190 1518296
>>18292

>А я этот псевдокодкод на чем написал по-твоему?


на ободке своей сигары, очевидно же!
потом выкурил ее, и понял, что все это только дым!
191 1518299
>>18287
не очень понимаю
в ситуации отсутствия механики перемещения это же приводит к копированию внутренних данных, которые обернуты этим классом?
192 1518301
>>18218
Тебя с этой хуйней в прошлом треде обоссали, шизик. Там получишь внятную ошибку в рантайме с хорошим стектрейсом. А в C++ от этой ошибки можно защититься только с помощью санитайзеров
193 1518311
>>18301

>А в C++ от этой ошибки можно защититься только с помощью санитайзеров


Можешь сделать проверку в рантайме без всяких санитайзеров, так же как в расте, никто не запрещает.
194 1518313
>>18299

>в ситуации отсутствия механики перемещения это же приводит к копированию внутренних данных, которые обернуты этим классом?


Да, но в том же Qt это нормально работает. Если тебе не нужна какая-то суперпроизводительность, то почему бы и нет.
195 1518316
>>18301

>Там получишь внятную ошибку в рантайме


А куда девается компиляторная чудо-магия? Я и в джаве могу на красивые стектрейсы посмотреть.
196 1518322
>>18256
Верну поинтер, но в функцию, по ссылке буду передавать логгер. Короче, как у тебя, но наоборот. Сам не догадался что-ли?
sage 197 1518325
>>18301

> Там получишь внятную ошибку в рантайме с хорошим стектрейсом


Будто я на крестах не могу в рантайме зарегать свой обработчик ошибок с блэкджеком, шлюхами и стектрейсом длиннее твоего. В очередной раз растоманя обосралась. Вот потом такие дебилы и не могут use after free от null pointer dereference отличить.
sage 198 1518328
>>18311
Не пали контору этому коробочнику. Он думает, что если в стандарте нету, то все, нельзя и язык говно. Хотя язык здесь вообще не причем, это просто дополнительный инструментарий Сам же вообще нихуя не знает, как все это внутри устроено. Я уверен на 100% что этот школьник совершенно не знает кресты, насмотрелся в ютубе на сойбоев, начитался проплаченных на хабре статей про ржавоговно и пришел срать в тред.
199 1518338
>>18322
Не понел.
200 1518339
>>18316

>А куда девается компиляторная чудо-магия? Я и в джаве могу на красивые стектрейсы посмотреть.


Она возможна, но не в общем случае. Bounds checking - это частный случай проблемы остановки, так что с этим все грустно.
В джаве со стектрейсами все хорошо, но там сложнее добиться такого же memory footprint, latency и throughput, как в rust и c++. Ну и NullPointerException вылетает не в том месте, где null реально появился.

>>18311

>Можешь сделать проверку в рантайме без всяких санитайзеров, так же как в расте, никто не запрещает.


А можешь и не сделать.

>>18325

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


>мечтает о большом, длинном стектрейсе


Ох уже эти комплексы у секты свидетелей небитого стека

>не могут use after free от null pointer dereference отличить


Не надоело срать под себя и смывать чужую мочу с лица?
201 1518341
>>18339

>А можешь и не сделать.


В этом суть С++. Проверки небесплатные. Хочешь - делаешь, не хочешь - не делаешь.
202 1518360
>>18341
Сразу видно, что о бенчмарках ты только слышал, отсюда и фразы "не платишь за то, что не используешь".
203 1518362
>>18360
Аргументация уровня /b

Хотя, что еще ожидать от челика, который постоянно промахивается тредом, получает струю урины в лицо, и снова приходит за свежей струей
204 1518364
>>18362

>пук


маня не в курсе, что серьезные дяди сперва профилируют и пишут бенчмарки, и только потом оптимизируют. Внезапно bounds check можно заоптимайзить и в расте, и джаве, и в js, если очень хочется. Удивительно, правда?
205 1518366
>>18364
Серьезные дяди достаточно обучаемы, чтобы не срать там, где их не просят. Однако все те же серьезные дяди упорно продолжают срать.
206 1518368
>>18360
Любая проверка в рантайме небесплатная.

>не платишь за то, что не используешь


Это про другое
207 1518369
>>18366
Ну не сри тогда, дядя, раз ты такой обучаемый
208 1518377
>>18339
Вот и подтверждение моей правоты. 0 аргументов, 0 опровержений, одни оскорбления. Попрошу тебя уйти из этого треда, ты совершенно некомпетентен.
209 1518391
>>18368
Что такое рантайм?
210 1518409
>>18278

>faster threads help their slower peers


Прости, но ты вообще не понимаешь, о чем речь.
Совершенно очевидно, что в общем случае queue.pop не может быть wait free.
211 1518520
auto it = a.begin();
...
b.push_back(std::move(*it));
a.erase(it); // Допустимо ли ерасить итератор после мувинга? Это всё ещё итератор на тот же элемент контейнера, пускай сам элемент уже и не валиден?
212 1518529
>>18520
Сделал два сравнения. В общем, итератор до мува равен итератору после мува, но в то же время итератор до ераса не равен итератору после ераса. Надеюсь, что это не UB и этих данных достаточно, чтобы полагать, что допустимо ерасить итератор после мувинга.
6-Figure4-1.png143 Кб, 838x566
213 1518630
Кто знает что-нибудь похожее?
Официальный сайт выдаёт 404
https://www.semanticscholar.org/paper/Dragon:-A-Static-and-Dynamic-Tool-for-OpenMP-Hernandez-Liao/be9a77e3d67f49ba966cd4e5b6ad23b92e4383f4
214 1518633
>>18167

>.


Нижнеточкобляди и на мой двач пришли, пиздец·
215 1518638
C++ какой-то ебаный· Добавили перегрузку оператора кавычки, добавили ебучий спейшип оператор· Когда это говно закончится? Я хочу обратно свой ванильный C++·
216 1518650
>>18638
не используй новые фичи? можешь даже новые стандарты не включать
217 1518692
>>18520
Итератор -можно, на него move не влияет.
218 1518694
>>18638

> spaceship operator


Сначала подумал, что это шутка, а потом как проиграл.
219 1518696
>>18638

> spaceship operator


Сначала подумал, что это шутка, а потом как проиграл.
220 1518749
Здорово крестьяны

Почему move-семантику называют именно семантикой? Это что, очередная попытка повысить ЧСВ за счет охуенно умных слов?

И что вообще значит это слово семантика применительно к проганью? Мб есть места где есть объяснения для даунов. Не уверен, что до конца вник в суть термина.
Вот еще вдогонку: "++hui;" и "hui=hui+1;" - это семантически эквивалентные выражения?
221 1518753
>>18749

> это семантически эквивалентные выражения?


Не совсем.

>Это что, очередная попытка повысить ЧСВ за счет охуенно умных слов?


Не совсем.

>Почему move-семантику называют именно семантикой?


Ну не совсем.
222 1518757
>>18749

>++hui;" и "hui=hui+1;


Правильнее так: i -= -1;
223 1518759
>>18757

>i -= -1;


Очевидно это не совсем правильно.
Для начала надо создать RAII для числовых вычислений, затем при помощи умного указателя инициализировать переменную i с определенным значением и инициаилизировать единичку, чтобы из соображений безопасности не было утечек мозгов в пендостан.
224 1518764
>>18749

>"++hui;" и "hui=hui+1;" - это семантически эквивалентные выраже


Нет, твой хуй может как угодно переопределить эти операторы.
Даже в случае инта там возможно будет разный ассемблерный код, если отключить все оптимизацию.
225 1518780
>>1516856
И снова я тут, тестовое успешно сделал, написал к нему 25 тестов, отправил сорцы и документацию компании. Спустя день позвонили и попросили меня скинуть готовый .exe файл и тут я охуел. Собрал эксешник, три раза скидывал его этой ебаной эйчарше, но только спустя 2 часа до нее дошло что письма с прикреплёнными эксешниками блокируются почтовым сервисом. В итоге они дали мне какой-то хостинг куда я должен был залить программу, что я и сделал. Спустя еще час они написали мне что не смогли скомпилировать мой проект и запустить эксешник. Я хуй знает чему можно научится в фирме, которая с инструкцией по сборке не может собрать программу, и при тестах на линукс команды работает на винде. Уже и хуй знает как от них тактично отказаться, чтобы репутацию среди других компаний не портить.
226 1518801
227 1518814
>>18753
>>18757
>>18801

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

Вы на мамкин вопрос "Почему обосрал трусы" также отвечать будете "Это не трусы, это стринги"?

Элитный тред зк во всей красе
228 1518822
>>18780
В чём заключала задача для тестового задания? Насколько сложно? Можешь примерно почувствовать?
229 1518833
>>18749

>Вот еще вдогонку: "++hui;" и "hui=hui+1;" - это семантически эквивалентные выражения?


Да
230 1518907
>>18520
Внимательно посмотри на сигнатуру erase.
231 1518914
>>18780
Да им скорее всего впадлу разворачивать окружение для сборки, поэтому и попросили exe. Скинул бы им wannacry ради лулзов, HR можно даже попросить антивирус выключить - и сука выключит
232 1518937
>>18914

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


>exe


>>18780

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


Да нет, там всё куда хуже. Начальник смены — старший заместитель младшего руководителя среднего инженегра — Пидорасов Андрей Хуилович не для того сидит 40 лет на своёи заводе.
233 1518970
>>18833
Нет.
234 1518977
>>18970

>пук

235 1519001
>>18977
Ладно, раз ты тупой, то придется объяснять.
В первом случае у тебя будет выполняться только тело оператора++, а во втором - создастся временный объект, к нему прибавится единица и он будет присвоен левой части выражения. Хорошо если перемещением, но что-то мне подсказывает, что здесь будет копирующее присваивание без std::move.
Чуешь? Семантически это нихуя не эквивалентные выражения.
237 1519032
>>18749

>Вот еще вдогонку: "++hui;" и "hui=hui+1;" - это семантически эквивалентные выражения?


Зависит от определения операторов ++ и +, они могут любую хуйню творить, даже кофе заваривать. Эквивалентные ли они для примитивных типов данных -- уже другой вопрос.
>>19027
Это еще не значит, что семантика одинаковая, т.к. компилятор оптимизирует автоматически. Т.е. де юре происходит вся та хуйня, которую описал анон выше, а де факто бинарный код одинаковый.
238 1519035
>>19001

>оператора++


Только в этом случае был ++оператор, умник хуев
239 1519071
>>19032
Да блять понятно что для примитивных. Мб еще придеретесь к тому, что на системе с копилером должен англ язык быть установлен, чтобы код вводить?

int a=0;
++a;

и

int a=0;
a=a+1;

Синтаксически написано по разному с использованием разных операторов, а логически инкремент a

Вообще забавляет как такой казалось бы базовый вопрос насадил на бутылку весь тред
240 1519072
>>19001
Ты можешь за базар пояснить свой?
Почему не эквивалентные, если итог в обоих случаях - инкремент?
Что подразумевает собой семантичексая эквивалентность операций тогда
241 1519076
>>19072
Хотя бы потому что операторы можно переопределить как угодно.
zalupa.png139 Кб, 1870x1243
242 1519079
>>19072
Давай возьмем пример чуть посложнее, раз уж ты необучаемый.

Посмотри пикрелейтед и пойми, в чем разница между += (чем является append семантически для строки) и var = var + increment;
243 1519089
>>19079
Ты не знаешь разницу между постфиксным и префиксным ++ но уже пытаешься в 8й класс информатики

>чем является append семантически для строки


Если ты не пытаешься залить жиром просто выкатись на хуй отсюда
244 1519092
>>18749
Ну смотри. Есть три выражения
a = b;
c = d;
e = f;
Синтаксис один и тот же. Однако в первом случае у тебя в a будет копия b, потому что его operator= ведет себя так как будто b значение.
Во втором случае у тебя c и d станет одним и тем же, потому что тип d, точнее его оператор=, ведет себя так, как будто d как ссылка (что не обязательно значит что d это ссылка или указатель, это может быть класс с перегруженными операторами и счетчиком ссылок, или вообще что угодно)
В третьем случае у тебя f превратится в e, а само использование f станет опасным. Потому что = в этом случае означает перемещение.

Т.е. написано одно и то же, а делается совсем разное. Что написано - синтаксис, что делается - семантика

>Вот еще вдогонку: "++hui;" и "hui=hui+1;" - это семантически эквивалентные выражения?


Правильный ответ: неизвестно, потому что мы не видим имплементацию этих операторов
245 1519095
>>19035
Нет, ты говоришь про оператор++(инт).
246 1519213
>>18814

>Вы на мамкин вопрос "Почему обосрал трусы" также отвечать будете "Это не трусы, это стринги"?


Да, так и буду делать.
the_pidor
247 1519231
Правильно ли я понимаю что язык программирования состоит из программ?
248 1519235
>>18914
У них вакансия С/C++ джун и у них нет блять окружения для сборки проекта из 2 файлов? Зачем они вообще эти языки указали в вакансии, я так понял я вообще первый за всю их историю кто пишет на крестах, иначе я не знаю как обьяснить ситуацию с эксешником.
>>18822
Тестовое не сложное, есть стена из блоков произвольной формы прямоугольной только, есть набор блоков, задача определить можно ли построить стену из этих блоков или нет, блоки можно ставить горизонтально или вертикально.
249 1519256
>>19235
if 'Mozhno' print 'Yes'
else 'Nelza'

вот и весь твой тест, ну ты и ньюфаня. учись.
250 1519259
>>19231
И из языков еще.
251 1519263
>>19259
хм, прочитав твой пост мне захотелось написать программу которая бы переводила в машинный код "ты пидор".
252 1519620
>>17305 (OP)
Выручайте анонасы.

>Дано натуральное k. Определить, k-ую цифра последовательности 110100100010000100000, в корой выписаны подряд степени 10.


Нужно делать без циклов и т.д. На просторах интернета нашел такое решение

>Если 8*k - 7 точный квадрат натурального числа, то единичка, иначе нолик.


Источник: Формула суммы последовательных натуральных чисел. Плюс голова.
Не надо только говорить "но ведь источник есть, что понять не можешь?". Нет, не могу, к сожалению.
Сижу битый час, не могу понять откуда эта формула взялась и как она работает. Т.е. прошу вас 1) объяснить смысл формулы 2)показать иное решение без этой формулы, если это возможно ну и как говорилось используя лишь if/else и стандартные функции вроде корня/квадрата
253 1519663
>>19620

> Определить, k-ую цифра последовательности 110100100010000100000, в корой выписаны подряд степени 10.


Ты сначала русский или английский язык выучи, а потом за c++ берись.
254 1519667
>>19663
Как было преподом в файле напечатано, так и скопировал.
Ему не за это платят.
255 1519770
Есть вектор. Он заполняется пользователем. После заполнения, юзеру предлагают ваести два числа - х и у. Далее прога сравнивает число х со всеми числами в векторе и вылаёт результат.
Как заставить прогу сравнивать именно Х именно со всеми элементами вектора?
256 1519771
>>19770
int x, y;
std::cin >> x >> y;

for( const auto &v : vector )
{
if( v > x ) { std::cout << v << ' '; }
}
257 1519773
>>19771
Спасибо, анон.
1568891975293.jpg85 Кб, 2627x3553
258 1519781
Сап ананасы! Вкатываюсь в cpp и попал мне в руки один нерабочий кусок говна код.

Игра экшон, суть токова. Есть базовый класс world в котором все объекты хранятся в векторе из поинтеров.
std::vector<worldObject> worldObjects;

Добавление объектов происходит таким образом:
void AddObject(worldObject
newObj)
{
worldObjects.push_back(newObj);
}

Дестрой таким:
void RemoveObject(worldObject newObj)
{
auto it = std::find_if(worldObjects.begin(), worldObjects.end(), [&](GameObjPtr in) { return (in==newObj); });
worldObjects.erase(it);
}

Успешно напихав туда все новосозданные объекты

Приложение валится при итерации внутри world
for (auto it : worldObjects)
{
it->Update(
this); // <- ТУТ с ошибкой "Exception thrown: read access violation. it was 0xFFFFFFFFFFFFFFFF."
}

Посему вопрос, насколько вообще разумно использовать std::vector для таких целей(динамический массив указателей)? Что лучше подойдет для таких целей? И чому происходит подобное?

Пикрандом
1568891975293.jpg85 Кб, 2627x3553
258 1519781
Сап ананасы! Вкатываюсь в cpp и попал мне в руки один нерабочий кусок говна код.

Игра экшон, суть токова. Есть базовый класс world в котором все объекты хранятся в векторе из поинтеров.
std::vector<worldObject> worldObjects;

Добавление объектов происходит таким образом:
void AddObject(worldObject
newObj)
{
worldObjects.push_back(newObj);
}

Дестрой таким:
void RemoveObject(worldObject newObj)
{
auto it = std::find_if(worldObjects.begin(), worldObjects.end(), [&](GameObjPtr in) { return (in==newObj); });
worldObjects.erase(it);
}

Успешно напихав туда все новосозданные объекты

Приложение валится при итерации внутри world
for (auto it : worldObjects)
{
it->Update(
this); // <- ТУТ с ошибкой "Exception thrown: read access violation. it was 0xFFFFFFFFFFFFFFFF."
}

Посему вопрос, насколько вообще разумно использовать std::vector для таких целей(динамический массив указателей)? Что лучше подойдет для таких целей? И чому происходит подобное?

Пикрандом
259 1519783
>>19781
Ухбля как форматирование то распидорасило
260 1519784
>>19781

>насколько вообще разумно использовать std::vector для таких целей(динамический массив указателей)?


Других динамических массивов не завезли. Правда, если тебе нужно именно постоянно добавлять-удалять элементы и похуй на доступ по индексу можешь попробовать std::list. Хотя, если в твоём векторе мало элементов — не надо.

> И чому происходит подобное?


Потому что ты где-то в it->Update() удалил объект и распидорасил итератор по которому шёл, из-за каждой операции вставки/удаления массив полностью переаллоцируется в другом месте и ты пинаешь труп. Гугли iterator invalidation.
261 1519813
>>19784
Он ещё в for берет не по ссылке, из-за чего происходит каст до worldObject, а для него может быть косячный Update.
Хотя у него и добавление/удаление так же сделано.
>>19781
Погугли как правильно вызывать виртуальные методы наследников.
262 1519885
>>19813

>вызывать методы наследников


reinterpret_cast?
263 1519927
>>19885
Reinterpret_cast в сочетании с виртуальными таблицами может давать очень весёлый результат. Вообще я его только с тривиальными типами использую.
мимопроходил-кун
264 1520030
>>19885
U N D E F I N E D B E H A V I O R
265 1520057
>>17305 (OP)
Что подразумевают под знанием/опытом работы с бустом? Там ведь дохуя библиотек, если я работал с hana или asio, можно писать есть опыт использования буста?
266 1520060
>>20057
Я очень долго думал на эту тему, пришел к выводу что это:
1. Ты можешь собрать и прилинковать буст к твоему проекту
2. Ты не боишься читать документацию с этими адовыми шаблонами
3. Ты хоть примерно знаешь список библиотек в бусте и зачем они нужны.
267 1520112
Блять!
Как настроить этот ебучий Qt creator? Какого хуя, когда я создаю консольное приложение с++ и собственно ввожу код, мне ошибками подсвечивается почти каждая строка? Мб я криворукий и что-то не поставил? Мб стоит накатить Eclipse?
268 1520133
>>20112
Для консоли достаточно крестоблокнота.
269 1520141
>>20133
Проверял консольное приложение, но мне Qt нужен для более масштабных вещей.
270 1520174
>>20141
Ну тогда давай какую ошибку высирает, скрины идеехи, че как маленький.
271 1520212
>>20060

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


Хедер-онли хану то. Ну а так наверное так и есть, странно что компании не указывают какие конкретно либы из буста они используют, один раз только видел что нужен опыт с асио, остальным будто похуй. С Qt кстати аналогичная ситуация, может они там эмбед на кьюбасе ебошат, чем им мои знания виджетов помогут я не знаю.
272 1520215
>>20141
Использовать Qt ты можешь вообще в любой иде, просто создай в креаторе цмейк проект и открывай хоть студией, хоть цлионом, хоть эклипсом.
273 1520220
>>20060

>1. Ты можешь собрать и прилинковать буст к твоему проекту


find_package(Boost REQUIRED)
include_derictories(${Boost_INCLUDE_DIR})
target_link_libraries(huitaname ${Boost_LIBRARIES})

Или надо как мужыг с зовода, руками в швиндовый прожект вижуал говностудии каждый путь добавить?
274 1520239
>>20220
Кто бы знал, ей богу.

>>20212

> Хана


> Продакшен


Где-то есть такое вообще?

>>20112
Студия + QT VS Addin, не пердолься.
275 1520241
ненавижу блядь qt creator глючное тормозное говно но ничего лучше не завезли на линукс с поддержкой qt дiзайнера
276 1520243
>>20239

>Хана


>> Продакшен


А что не так с ханой? Выглядит интересно, гетерогенные контейнеры, компайл-тайм алгоритмы, одни профиты же.
277 1520300
>>19813
>>19784
Спасибо!
278 1520310
>>20243
Хана это круто с академической точки зрения, и я бы с удовольствием посмотрел, какие проблемы в проде ей решают. Не более того.
image.png31 Кб, 868x187
279 1520351
280 1520363
>>20351

> -spec win32-msvc2012


?
281 1520392
>>20351
накати mingw тулчейн из инсталлера кутипараши, и используй его
282 1520394
>>20241
Но ведь Designer есть отдельным приложением
283 1520397
>>20394
ладно, а чтобы собрать можно было c qt?
284 1520403
>>20397
cmake
m
a
k
e
285 1520411
>>20403
i d e
d
e
286 1520425
>>20411
Назови хоть 1 IDE не поддерживающую cmake, додик блядь.
287 1520468
>>19235
И как такую задачу решить? Перебором только?
288 1520470
>>20220

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



Для домашних поделок есть vcpkg (nuget с крестами не очень дружит), а в ентерпрайзе 100500 версий прописывается через props файлы
289 1520473
>>20470
Дополню сам себя
Сам бы хотел vcpkg и в проде использовать, нотам пока как то непросто сделать несколько версий одной либы и хз как это всё не только на рабочей станции держать но и на билд сервере.
290 1520475
>>20473
Доклад же есть с CPP Russia про вцпкг
291 1520510
Сап. Начал читать книгу про параллельное программирование (из шапки, не помню автора), назрел вопрос. В задаче, например, вектор 1000 чисел умножить на скаляр, или, хуй знает, любую другую функцию сделать, есть несколько вариантов решения.
Первый, в c++11, это простой пул тредов, типа на 4 ядра положить вычисление по 250 элементов. Второй - использовать openmp, там параллельнуть for. Третий, маст хев на мой взгляд, c++17 и for_each с execution_policy, но 17 кресты есть не на всех специфических компиляторах.
Что скажешь, анон, какой подход лучше?
292 1520515
>>20112
Это clang форматтер или типа того парсит твое говно на лету, где-то в настройках среды настраивается
sage 293 1520540
>>20510

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


Для обучения реализуй всё руками, в проде если есть возможность используй стандартные средства а не костыли.
Кстати интересная хуйня, что даже на 16 ядрях ускорение будет где-то в 4 раза, а не в 16, связано это с кэшами ядер, сеньор-помидор вообще говорил что вообще ускорения не должно быть
294 1520545
>>20540
Тем временем твой помидор где-то с друзьями сидит:
https://youtu.be/PvY6YQH9kE4
sage 295 1520546
>>20545

>й помидор


Я это сам тестил с разными флагами компиля и он охуевал с того что вообще какая-то оптимизация идёт
sage 296 1520561
>>20546
Вот https://pastebin.com/F6X8e6zH даже отрыл пример и еще раз затестил,
на 8 ядрах

>однопоток 390мс


>многопоток 83мс


на 3 ядрах ситуация аналогичная. Если кому интересно, вот как это обьяснил тот самый сеньор
Для умных

>Короче говоря весь вопрос в том, какое отношение сложности задачи в тактах ЦПУ и необходимого потока обмена с оперативной памятью


>Собственно в этом примере это между 3 и 4 на вашем железе на 64-битных машинных словах


>Если компилятор таки достанет SIMD-инструкции, будет точно не больше 2


Для дебилов

>Ну давай как метафору о том, что такое bottleneck - представь, что у тебя 8 работяг лопатами раскидывают асфальт на дороге, который им подвозят общим самосвалом


>Если 4 работяги достаточно проворны, остальным просто не остается асфальта


>Более того, есть достаточно неприятное правило о том, что этот bottleneck при адекватной реализации почти всегда в памяти, и ускоряться будет если либо большая сложность вычисления на одном элементе памяти (в том числе потому, что ЦПУ не справляется с заказом асфальта заранее)


(это касается только типовых 86-64)
297 1520574
>>20510
На 1000 чисел у тебя оверхед от запуска тредов будет больше, чем полезная работа. Лучше SIMD использовать, благо сейчас и в GCC и в clang платформонезависимые векторы есть, а уж SSE на простых циклах из коробки должно идти.
298 1520580
>>20397
По-твоему Qt только в QtCreator компилируется? Добавил инклюды, прилинковал библиотеки и готово
299 1520582
>>20580
Еще moc и uic надо запустить. Вообще мне обычного мейка для небольших проектов с qt хватает.
300 1520589
Я правильно понимаю, что если я делаю шаблонный класс, то ни о каких наследниках/интерфейсах и прочей динамической лабуды быть не может? Строго, либо статический, либо динамический полиморфизм?
301 1520598
Возник у меня вопрос системного характера, поэтому иду с ним сюда, в обитель самого высокоуровневого из низкоуровневых

Кто-нибудь из местных может рассказать, как работает scheduler/cron в windows/linux соответственно. Интересует минимальный принцип работы

Единственное мое предположение (при моем уровне знаний) состоит в том, что программа просто в цикле проверяет, не соответствует ли системное время запланированному и если оно соответствует, то выполняет задачу.

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

Тогда вопрос, как же это все-таки работает?
Схожий вопрос: как работает что-то вроде setTimeout() в JavaScript

Очень интересует именно как это реализовано, буду счастлив если кто-то подскажет.
302 1520620
Требуется написать программу, которая считывает из входного файла числа и записывает их в массив, с последующей обработкой. Беда в том, что во входном файле могут быть не только числа, но и текст.

Подскажите хороший способ проверки типа данных при считывании, желательно с наглядным примером.
303 1520634
>>20589
std::ios_base смеётся над тобой в голос. И не только он.
304 1520649
>>20620

>хороший способ проверки


регуляркой
305 1520652
>>20649
Ты гвозди тоже микроскопом забиваешь?

>>20620
Почитай подробнее про std::cin. Если ты попытаешься считать строку в инт, то это можно увидеть и обработать.
306 1520655
Почему std::thread создаётся запущенным? Как создать поток, который сразу после конструктора будет спящим, пока я его явно не запущу - так чтобы компьютер вовсе на него не переключался для проверки мьютекса в начале потока? beginthread же позволяет создать спящий поток вроде бы.
307 1520713
>>20598
Используется планировщик в ядре
308 1520732
>>20655
я бы обернул в отдельный класс, который принимает лямбду в конструкторе, а отдельным методом содает std::thread, но возможно достаточно и указателей (толковых) на std::thread для твоей цели
309 1520745
>>20598
Они же запускаются раз в минуту. Делаешь, если упрощенно, sleep(60000) и все.
310 1520772
>>20652
Я пытаюсь считать вроде
ifstream fin;
float array[z][z]
fin.open("in.txt");
fin>>array[x][y];

Я знаю, что можно отследить мусор по значениям на манер -0 или -.002301, но думал, что можно как-то поизящнее это сделать просто определив тип содержимого.
311 1520871
>>20772
Почему это в вашей шараге не проходят?
https://en.cppreference.com/w/cpp/string/basic_string/stol
312 1520876
>>20871
Спасибо, зая!
313 1520888
>>20655

>Почему std::thread создаётся запущенным?


Дефолтный - нет.
314 1520894
>>20871
Осторожнее с этой хуйней. Она от локали зависит, и будет брать разделитель дробной части из локали. То есть если в тексте "3.14", а в локали разделитель запятая, то будет ошибка конвертирования.
315 1520902
>>20772
Да ёпт.
Смотри состояние fin после считывания. Если ок, то ты в во float считал корректное значение до разделителя, если нет - то мог что-то записать, но до разделителя осталось ещё что-то и в целом считывание не прошло.
S91114-124207.jpg146 Кб, 720x1440
316 1520951
Сап pr.
В общем, есть код. При вводе '|' программа закрывается. Как сделать так, чтобы при вводе '|' (или другого символа) программа предлагала ввести значения c и у? И второй вопрос, как сравнить введённое значение с последним элементом вектора (после сортировки по возрастанию)?
Типы данных и всё такое уже менял - не работает. Перед return ставить else - тоже.
Пробовал:
if (x != '/')
while(cin >> x)
else
cin >> y;
cin >> z;
Но это тоже не работоспособно.
Где я обосрался?
317 1520957
https://www.youtube.com/watch?v=G5zCGY0tkq8

Бьерн говорит, что Си не нужен даже в эмбеддеде. Всех шизанов ака сектантов ака линуксоблядей и прочих пидоров попрошу выйти из треда.
318 1520971
>>20951
Тебе к тому же анону, который выше не может отличить строку от числа при считывании.

Так считываешь char в double, поток ввода помечается ошибкой и этот double пустой, ты пытаешься его писать в вектор.

Либо считывай в char и, если это число, перегоняй в double, либо на каждом шаге спрашивай, продолжать ли ввод, либо прерывай поток через ctrl-Z(или ctrl-C, от ОС зависит).
S91114-144326.jpg116 Кб, 720x1440
319 1520998
>>20971
Да это хуйня, мне надо при вводе / остановить поток, а компилятор расценивает это как остановку работы программы
320 1521011
>>20957
Конечно не нужно, для кофеварок Oak сделали еще в 1991 году.
321 1521062
>>20998
А, так ты ж написал, что у тебя однократно будет выводиться только что введённый массив.
Хочешь много раз заполнять/выводить массив - пихай цикл ещё сверху.
322 1521069
>>21062
Попробую.
Я пишу вот что: пользователь вводит массив чисел. Потом этот массив выводится в консоль. Затем юзер вводит два целых числа и программа проверяет больше они или меньше всех чисел, которые в массиве. Типа если больше, то выводится "число х больше всех ранее введённых чисел" и наоборот, если меньше.
Собственно второй вопрос вытекает из предыдущего абзаца: как сравнить вводимое число с v.end(), если я не знаю, каким по счёту будет конечное? С самым маленьким всё просто v[0]
323 1521083
>>20957
я смотрел это видео целиком
он об этом не говорил
324 1521087
>>20957
>>21083
а вообще страуструп продолжает бормотать мантры которые он еще в "дизайне и эволюции с++" писал: а именно все завязано на статической системе типов, на возможности определять пользовательские системы типов, определять у них операторы..
на возможности задавать отношения между типами, те наследование
о том что связка конструктор-деструктор оказалось очень мощной, позволившей реализовать абстакции, заменяющие реалиацию gc или посчета ссылок в самом языке, вынести эти абстракции на уровень библиотек и исходного кода..
и, касетельно к тому видео, он говорит про то что абстрагирование в с++ "бесплатно", класс с реализованными невиртуальными членами-функциями ничем не отличается по производительности от того если ты бы реализовал структуру со свободными функциями, обрабатывающими эту структуру..
и, как всегда, он начал бормотать про то что реализация виртуальных функций сделала максимально производительной, что что если вы руками будете это делать (как это делают в си до сих пор), то будет так же по скорости.. опять же говорил что никто вас в языке не заставляет все члены-функции делать виртуальными, а только необходимые..
опять же бормотал про то что реализация обобщенного программирования в языке (в отличие от тех же явы или шарпа) тоже абсолютно бесплатна с точки зрения производительности..
325 1521095
>>20957

>Zero-Overhead


>платишь только за то, что пользуешь


Замануха.
Формально-то принцип соблюдается, но зачастую весьма затруднительно сказать, что ты на самом деле используешь. А уж когда дело дойдет до расплаты, то торговаться никто не с тобой не станет - заплатишь ссполна, сколько конпелятор пожелает.
326 1521100
>>20713
динамический полиморфизм - это использование виртуальных функций, а не наследование
статический полиморфизм - это когда ты используешь шаблонные функции (в которых происходит вывод аргументов шаблона), а не когда ты определяешь шаблонный класс
327 1521101
>>20589
динамический полиморфизм - это использование виртуальных функций, а не наследование
статический полиморфизм - это когда ты используешь шаблонные функции (в которых происходит вывод аргументов шаблона), а не когда ты определяешь шаблонный класс
328 1521111
>>21095

>что ты на самом деле используешь


ты всегда сможешь увидеть результат кодогенерации - препроцессированный код, код после раскрытия шаблонов, ассемблерный листинг объектного модуля, соответствующими средставами
329 1521124
>>21111

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

330 1521156
Так всё же, чем плох for_each() с параллельностью? Хорошо же компилятору отдать выбор стратегии параллеливания
331 1521159
А как занопать достаточный промежуток времени без цикла?
asm("nop;") работает, но for (int i=100000;i>0;i--) asm("nop;") даёт не тот же самый результат (и другую задержку), что и for (int i=50000;i>0;i--) asm("nop;nop;"), а мне это выполнение цикла вовсе не нужно.
Я конечно могу забить, оставив 64 последовательных нопа в асм-цикле, но может быть есть более красивая и выразительная конструкция?
332 1521167
>>21159
Если у тебя платформа линукс, то там есть есть функция nanosleep.
333 1521181
>>21159
зачем так сложно?
Есть std::this_thread::sleep_for же
334 1521194
>>21181
Оно вроде как выключает поток и передаёт нить выполнения другим, а на виндоусе это подходит только если интервал в несколько миллисекунд. Я же не просто так бесконечный цикл прикручиваю.
335 1521203
>>21194
ну окей, если у тебя известно количество нопов - можешь ебануть какую-нить адову кодогенерацию миллиарда нопов через BOOST_PP_REPEAT. Но бля
336 1521228
>>21069
Ну ты же проходишься по массиву для его вывода. Пройдись точно так же для введенных x, y.
И да, cin >> x, x != '/' это не то же самое, что cin >> x && x != '/'.
337 1521302
>>20561

>>Короче говоря весь вопрос в том, какое отношение сложности задачи в тактах ЦПУ и необходимого потока обмена с оперативной памятью


Другими словами, если слишком быстро обрабатывать данные, то твоя задача станет упрётся в пропускную способность памяти, а не скорость процессора. Это... логично, можешь даже сам посчитать. Взять какой-нибудь IACA, посмотреть сколько тактов уходит на одну итерацию и сколько за одну итерацию ты обрабатываешь данных, посмотреть на свою память и в конце концов посчитать теоретический максимум.

Но когда у тебя обработка относительно весомая и ты именно cpu-bound, вот тут треды-то и нужны будут. Просто твой комментарий с "связано это с кэшами ядер" вызвал у меня некоторые сомнения.

Алсо, создание/уничтожение тредов тяжёлая операция, лучше считай время внутри функции.
338 1521320
>>21095

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


Лол, если ты ньюфаг вкатывальщик, то да.
339 1521322
>>21101
Спасибо, что разъяснил и так понятные мне вещи, но вопрос был совершенно иной. Читай в следующий раз глазами, а не жопой.
sage 340 1521328
>>21302

>Просто твой комментарий с "связано это с кэшами ядер" вызвал у меня некоторые сомнения.


Да я нуфаг, пытался кратко передать смысл без глубокого понимания темы, виноват.
341 1521340
>>21322
Да нет, это ты хуй пойми чем читаешь, тебе анон все правильно ответил.
Если бы ты ещё вникал и понимал, что есть шаблонный класс, то не было бы у тебя этого вопроса.
342 1521371
А в си++ нельзя чтобы 2 разных класса содержали поля с указателями друг на друга?
Ну, например:
class Road{Car r;};
class Car{Road
r;};
int main(){
Road road; Car car;
road.r=car; car.r=road;
}
Верно-ли что только изменением кода классов эту программу пофиксить не получится?
343 1521373
>>21371
Вечно забываю что сраный движок любит жрать \* (звездочки)
Ну, надеюсь по контексту понятно где они должны быть.
344 1521376
>>21371
Такое: https://ideone.com/TjubBE
Просто классы в начале укажи без определения.
345 1521377
>>21371
Указатели & ссылки - можно.

class biba;
class boba {
biba<ЗВЕЗДА> b;
}

class biba {
...
}
346 1521378
>>21371
Почитай про forward declaration.
Но вообще такие циклические ссылки обычно до добра не доводят, так что будь аккуратнее с ними.
15722022538510.jpg724 Кб, 1000x1200
347 1521384
>>21376
>>21377
>>21378
Всем спасибо!
348 1521414
>>21378
Поэтому придумали weak_ptr
cdc.jpg65 Кб, 577x537
349 1521417
>>17543 у линя концепция совсем другая, тут нет КОМБАЙНОВ, вроде адоба и прочих раздутых утоплеников. Каждая программулина делает только одну задачу. Функционал больших прог достигается скручиванием этих мелких прог в скриптах. Да сложно, да непривычно и придётся учится пользоваться ПеКа просто заново. НО! функционал такой что нахуй эту ёбаную Шинду с дебилами живущими на ней, а уж темболее яблопидоров и андроидодегенератов.
Алсо, для всяких дизайнов и музычки софта хватает, ты просто не искал нихуя. Ну и да, в крайних случаях вайн вам поможет.
БЕГИТЕ С МЕЛКОМЯГКОЙ ПОМОЙКИ!!!
я прост сам начал недавно сетями заниматься, как бы вам сказать, плохие вещи реально есть, их много. Пиздец с безопасностью, ГЛОБАЛЕН
350 1521418
>>21417
Очередной шизик за струей мочи в лицо подьехал
351 1521450
>>21340
Я ночью уставший писал. Для жопочтецов еще раз повторяю вопрос:

> Строго, либо статический, либо динамический полиморфизм?

352 1521454
>>21450
Нет, пиши как хочешь. Просто в этом обычно мало смысла, ведь каждый инстанс шаблона будет иметь свою иерархию.
353 1521464
>>17567
да шел бы ты нахуй умник
354 1521465
>>21417

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



Нету нихуя. Для данного сегмента задач линь не пригоден.
355 1521466
>>21417

>андроидодегенератов


но ведь андроид это тот же линукс, только покоцаный...
356 1521467
>>21320
И все-же это свойство языка, а не заговор ньюфагов-вкатывальщиков.
357 1521489
Кто-нибудь может может дать ссылки на реальные опенсурс проекты, где все сделано правильно по гайдлайнам итд, по которым ньюфаг может составить хоть какое-то представление о реальной разработке.
sage 358 1521495
вы бабу то зажимали хоть раз
359 1521506
>>21450
Нет, ты выебываешься и не хочешь погуглить немного.
Тебе анон верно ответил, для каждого инстанса твоего шаблонного класса сгенерится свой обычный плюсовый код как для обычного класса. А кто мешает тебе в обычном классе использовать динамический полиморфизм?
Но зачем - это другой вопрос.
360 1521507
>>21495
Это крестотред, дурачок, у нас уже внучки есть.
361 1521533
>>21489
Ты хочешь абстрактный проект в вакууме чтобы получить картину реальной разработки? Ебанутый?
В любом проекте будут свои костыли или ебанутая архитектура. Только не смей залазить в какие-нибудь гигантские проекты или проекты от крупных компанией - там полный пиздец, не найдёшь того, что ищешь.
362 1521626
>>21533

> Ты хочешь абстрактный проект


> ссылки на реальные опенсурс проекты


> В любом проекте будут свои костыли или ебанутая архитектура


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


Я спросил про реальные проекты с правильной архитектурой еще скажи что таких нет, а ты мне про велосипеды пишешь.
363 1521696
>>17305 (OP)
Блять шесть лет, ебаных шесть лет потратил на эти кресты и знаете что. За это время не смогли высрать ни одной вменяемой IDE, которая бы не лагала и предоставляла приемлимый автокомплит и реафакторинг, просто нет.
Блять, за что мне такое наказание.
364 1521700
>>21696
CLion, алё.
365 1521702
>>21696
Ну и VS + ReSharper.
366 1521710
>>21696
Проблема в тебе?

Мимо счастлив на Студии + Решарпере
367 1521716
>>21710
>>21700
Пробовал проект больше 200 строк открыть или шаблоны поделать, эта хуета от JB начинает как не в себя жрать все ресурсы. Проблема вот в этом, фичи есть, работает медленно пиздос. Смузиебский QtCreator работает кое-как (много левых ошибок).
368 1521717
>>20998
Перед sort пропиши
cin.clear()
cin.ignore(1000, '\n')
И будет тебе счастье
369 1521721
>>21716
Ну, может ты на каком-то старье работаешь, я таких проблем не испытывал с поделиями от JetBrains. И вообще, они на Жабе написаны, так что все логично.
Вот что реально хуево написано, это VScode, типа простой и нетребовательный, а в реале написан через жопу, и на Линуксе при подсоединении через ssh невозможно работать, все лагает. Ненавижу таких криворуких уебанов.
370 1521728
>>21721

>Вот что реально хуево написано, это VScode, типа простой и нетребовательный, а в реале написан через жопу, и на Линуксе при подсоединении через ssh невозможно работать, все лагает. Ненавижу таких криворуких уебанов.



Вот тут согласен, а еще у меня под линупсом от него глаза вытекают, хуй знает почему.
371 1521731
>>21728
Луникс не умеет в шрифты
372 1521734
>>21731
Умел еще до твоего рождения, пихаешь хоть весь Adobe Font Folio в ~/.fonts и настраиваешь свой Consolas с Segoe UI в PyCharm, и суешь Arno Pro и Helvetica Neue в XeLaTeX, и урчишь довольно.
373 1521735
>>21734
найс пердолинг.
374 1521738
>>21735
В чем состоит пердолинг, дебилушка?
Раньше тебе может и нужно было поебаться с настройкой антиалиазинга и прочего ануслизионга, сейчас ты тупо кидаешь шрифты в папку, даже устанавливать не надо, как в мастдае.
Или ты хочешь, чтобы тебе коммерческие шрифты вместе в бесплатной бубунтой поставлялись? В тот ли попен-сорс ты зашел, петушок?
375 1521741
>>21738
я не вижу смысла тратить время на это красноглазое говно, сорян. У меня из коробки все работает, мне не надо выебываться КАКОЙ Я КРУТОЙ ЛУНИКСОИД ПРОЕБЫВАЮ ВРЕМЯ НА ХУЙНЮ.
376 1521742
>>21741
К чему ты это написал вообще? Всем похуй на тебя и на твой быдлоэкспириенс. Речь шла о технологии.
377 1521743
>>21742
хорошо
378 1521854
>>21731

>Луникс не умеет в шрифты


в линуксе ты можешь выставить dpi в системе, равным ppi твоего монитора
после этого взять растровый шрифт, это будет terminus, и использовать его в редакторах
это позволит буквам гореть пиксель в пиксель
379 1521869
>>21854
Но луникс всё равно не умеет в шрифты
380 1521887
>>21489
например, реализация стандартной библиотеки плюсов в проекте clang:
https://github.com/llvm/llvm-project/tree/master/libcxx
особенно то что появилось в 17м стандарте, а именно реализацию типа string_view, реализацию std::filesystem, типов any, variant и optional..

если сидишь на компиляторе майрософт, то можешь глянуть и их реализацию стандартной библиотеки, но она постарше, с другой стороны, код для новых возможностей библиотеки так же свеженаписанный..
381 1521952
[code]
class MyClass
{
public:
static constexpr int def = -1;
MyClass()
: m_val(def) {}
private:
m_val;
};
[/code]

Так можно делать? Порядок инициализации не нарушен? А если перенести m_val в самый вверх?
382 1521992
Вектор при изменении своих размеров вызывает деструкторы для элементов, что испортило мне все элементы.
Понятно для чего так сделано - но я использую деструктор немного не по назначению. Элементы - структуры, чтобы избежать вызова деструкторов я в структуру добавил соответствующий флаг.

Вектор при перемещении элементов может использовать конструктор копирования/перемещения и два соответствующих оператора присваивания. Как правильно сделать, чтобы он скопировал все поля структуры, но при этом ещё и поставил соответствующий флаг?
Я оставил operator=(&) =default (чтобы не копировать весь список полей вручную), и написал operator=(&&) с установкой нужного флага. Тем не менее вектор не компилируется, ему не хватает конструктора копирования.

Есть полная статья про перегрузки операторов?
Для пример, есть перегрузка оператора сложения. Я могу поставить во всех местах, значения, (константные) ссылки или &&-ссылки. В чём разница между этими вариантами и какой смысл ставить ссылки, если даже без них не вызывются конструкторы или операторы присваивания? Особенно интересно про операторы присваивания и конструкторы. По идее пустой конструктор и оператор присваивания почти эквивалентны move-конструктору, но вектор их не кушает, например.
Почему оно не жрёт "T static operator+(T a, T b)", хотя это наиболее интуитивный вид перегрузки сложения, например?
383 1522003
>>21952
Можно
sage 384 1522006
>>21992

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


Вот и ответ на все твои вопросы. Не выёбывайся, а пиши нормально.
385 1522017
>>22006
Не на все.

Я сейчас создал класс где есть все возможные операторы присваивания и конструкторы. И вектор при изменении своих размеров использует T(const T&) несмотря на наличие move-операторов. Для чего?
А если я его удаляю, он использует T(T&&). Не могу сказать, что такое поведение интуитивно понятно. Мне казалось он должен пробовать в очерёдности T(const T&&), T(T&&), T(const T&), T(T&) - так вроде как будет эффективнее в плане быстродействия, а он берёт сначала 3 вариант, а затем 2.
386 1522037
>>22017
ты догадался move оператор и конструктор помаркать noexcept'ом?
Это необходимое требование
387 1522052
>>22037
Нет конечно. Спасибо, это помогло - теперь верно и предсказуемо работает как мой идеалогически неверный код, так и тестовый пример.
Интересно, каким образом я должен был догадаться про noexcept. Избегаю исключений во всех случаях, больная концепция. Должно быть наоборот - по умолчанию вообще всё noexcept, и только в случае если что-то кидает исключения - только тогда на него надо явно прописать "yesexcept".
388 1522066
>>22052
это современные гайдлайны, что мув ктор\оператор и деструктор должны быть ноэксепт. Решарпер на это ругается, например
389 1522103
Имеет ли смысл представлять матрицы как одномерные массивы? Так быстрее/проще?
sage 390 1522121
>>22103
Так данные в памяти лежат ровнее.
А быстрее/медленнее это уже бенчмарк ответит.
391 1522123
>>22103
Если ты сравниваешь с c-style двумерным массивами - то они оба хранятся в одном куске памяти.
А если с vector<vector<type>> - то у него каждая строка хранится в своем куске памяти, из-за чего доступ будет медленнее при загрузке в кэш процессора, для понимания почитай подробнее, хоть того же Таненбаума.

А так, если у тебя не невероятные объемы данных и делаешь для себя - то можешь вектор векторов использовать, будет удобнее.
392 1522125
>>22123
Медленнее в том случае, когда будешь последовательно проходиться по всем элементам и менять строку.
Но вряд ли кто-то из нас это заметит. Вот нвидия-кун мб и должен о таком париться, думаю.
393 1522131
А я напоминаю
395 1522152
>>22132
о, сортировочки
люблю сортировочки
396 1522163
>>22052

>Должно быть наоборот


Ньюфага забыли спросить, лол.
То-то в жабе в каждой функции нужно определять ее throws.
397 1522170
>>22163
Я просто сишист. И джаву тоже не одобряю.
398 1522172
А что конкретно пишут на крестах в основной массе? Кроме серьезного геймдева, который есть только на западе и операционок.
399 1522176
>>22172
Машинлёрнинг, десктоп, мультимедиа ещё.
401 1522182
>>22180
Как определить хуевость туториала?
1. Если видишь слово Eclipse - то он гарантированно говно.
402 1522195
>>22132
Ебаный рот этатваказино блядь.
В былые времена вся суть поместилась бы на полторы странички салфетки.
Нет блядь, хотим жрать говно, хотим 4к видио на полтора часа.

Уёбки блядь.
403 1522202
>>22195
Так-то да, но это тупо видео с конференции, хуле ты хотел.
404 1522207
>>22202
А хулi ты ну тот "ты", который постил видос хотел, когда постил, а?
Впечатлил тебя видос, ну напиши, блядь, хотя бы чем, почему.
Осилил весь видос? - запили краткий конспект.

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

Кто, нахуй блядь, в здравом уме, полтора часа хуй пойми заведомо чего будет смотреть вообще?
405 1522216
406 1522239
>>22207
Ну тащемта видос запостил для широких каловых масс в лице >>22123

Суть вкратце: даже если логически после некоторых правок код "должен" начать работать быстрее, то это не всегда так, так что нужно писать бенчмарки.
407 1522243
>>22239
Блядь, промахнулся
широкие каловые массы - это сюда >>22103
408 1522251
>>22207
Тут есть такой момент, что зумеры только видосы умеют воспринимать нынче.
Реально, студенты тупо смотрят видосы по любой теме, текст читать неспособны.
409 1522274
>>22180

>MinGW


Сука какой же это ебаный ад нахуй
410 1522323
>>22239
че?
александреску умный мужик, но тут он какой то трешовый талк запилил
нафиг надо хардкордить стандартный std::sort? внутри у него все нормально - быстрая сортировка (с оптимизацией худшего случая, между прочим), плюс щас в стандарте есть stable_sort, partitional_sort, sort_heap для частных случаев
насколько я понял, он пытается минимизировать количество сравнений и свопов, и именно такие специализированные сортировки будут работать быстрее std::sort для "тяжелых" объектов
но нахуя? гораздо проще держать в контейнере не объекты, а указатели на них (умные указатели), и все, на оптимизацию количества свопов пофиг
да и не стоит забывать про механику перемещения, щас внутри стандартных алгоритмов объекты муваются (при наличии такой возможности) а не копируются
411 1522362
>>22251
Читаешь книгу, прикладываешь 70% усилий. Ебешься с закладками, заметками, с бездушной простыней текста.
@
Смотришь няшный видосик на 2x промотке, наслаждаешься эмоциями докладчика, вопросы аудитории проясняют непонятные моменты. Уровень усилий - 30% для тех же знаний
@
Проклятые зумеры не хотят страдать как диды страдали без пеницилина
412 1522374
>>22362
Двачую, вообще не могу читать книги, использую их как справочники. Вон там с цппкона видосиков на целый год хватит, а потом еще зальют. Кроме того, ученые доказали, что на слух информация воспринимается лучше, чем зрительно.
413 1522388
А теперь не лаба01.
Насколько реально написать компайл тайм компилятор? Из чего-то си подобного в апи для уже существующего генератора ассемблера для виртуальной машины.
414 1522407
>>22362

>Читаешь книгу, прикладываешь 70% усилий. Ебешься с закладками, заметками, с бездушной простыней текста.Gt

415 1522409
>>22362

>Читаешь книгу, прикладываешь 70% усилий. Ебешься с закладками, заметками, с бездушной простыней текста.


Два слова: порог вхождения. Чтение - это навык, и умеющий читать, прикладывая 5% усилий, затратит минут пять на чтение блогпоста, в котором будет то же самое, что в полуторачасовом докладе.
Основной плюс чтения - оно позволяет моментально скипать уже тебе известное, введения, заключения, быстро переходить к сути. Чем менее ты тупой, тем больше ты получаешь профитов от чтения.
Большинство людей тупые. Тупые деды не страдали, они ходили в университет и слушали там лекции.
>>22374

> Кроме того, ученые доказали, что на слух информация воспринимается лучше, чем зрительно.


Теперь все программисты переходят на программирование на слух.
416 1522414
>>22409
и два чую, и нет
чисто ознакомиться видос лучше.
вникать уже легче читая.
тут недавно скидывали плейлист с лекциями.
Чувак половину времени ебланит и отвечает на вопросы студентиков.
417 1522556
C++ feature highlights:
Zero-cost abstractions
Scope-based resource lifetimes
Generics retain overloading


Rust feature highlights: all of the above but with a usable type system.

Ваши оправдания?
udata1495363910upyptrxt.png3,7 Мб, 3840x2400
418 1522560
Аноны, подскажите пожалуйста. Можно ли на C++ или C# бесследно прочитать память процесса? То есть, сделать это так, чтобы, условно, часть кода в самом этом самом процессе, или же сторонний код не заметил, что я это сделал. Хочу написать код для взаимодействия программы на языке внутри компьютерной игры, чтобы он отправлял данные в программу, запущенную на десктопе
419 1522568
>>22556
В C++ все это есть по факту, а Rust по факту неюзабилен для чего-то реального.
420 1522570
>>22409

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


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

Про шортриды тоже самое - если написано скучно, то ебал я в рот читать даже просты вещи. Так недолго и выгореть, в C++ и так приятного мало, а если меня говночтиво от александреску будет дизморалить своей унылостью, то я точно писать код перестану
421 1522573
>>22560

>>>/re/

14396530000290.jpg95 Кб, 500x495
422 1522574
>>22573
Ну не тролль, пожалуйста. Хотелось бы освоить плюсы, так как они охуенны, но скилла просто не хватает
423 1522603
>>22409

> Теперь все программисты переходят на программирование на слух.


Ты жопу с пальцем перепутал. И да, на видосиках так-то и зрительный контакт имеется. Да и скипать видосики быстрее, чем переворачивать страницы, лазить туда-сюда в оглавление итд.
424 1522607
>>22560
Какая ОС? Если винда, то гугли MSDN ReadProcessMemory. Никакая ОСь не позволит тебе делать что-либо бесследно. Дальше сам.
425 1522609
>>22556
если тебе нравится поделие ебнутых мозилла-фанатиков (которые убивают щас второй свой браузер), то, пожалуйста, изучаи и пиши на раст, без проблем
но зачем срать в крестотред?
это раздражает
D8kbhmkXUAIuCww.jpg88 Кб, 675x1200
426 1522610
>>22603

>зрительный контакт


С кем, блять?
427 1522612
Напишите функцию count, которая возвращает количество совпадений (вхождений) в целевом вложенном списке.
Вложенный список, это когда внутри списка есть еще списки.

молю вас объясните мне что такое "совпадения(вхождения" и "Целевой вложенный список" вернее что такое вложенный я знаю, а целевой это как?
428 1522639
>>22560
из кернел драйвера
429 1522723
void f1(Pizda &&p){...}
void f2(Pizda &&p){ f1(std::move(p)); }

Вопрос: почему в f2 при вызове f1 нужно вызвать std::move, ведь p и так уже rvalue-ссылка?
430 1522741
>>22723
Я так понял, что принимаешь ты rvalue, но внутри это уже lvalue, потому и нужно делать std::move.
Думаю, что без этого бы ты не смог использовать дважды этот аргумент - он же неявно мувнется и уже будет невалидным.
431 1522750
>>22741
Хуйню написал, я уже понял.
Пускай тебе знающие аноны отвечают, а я нюфаня.
432 1522758
>>22723
rvalue references - это lvalue
.png211 Кб, 602x794
433 1522782
>>22723
Внутри f2 p является lvalue
изображение.png89 Кб, 1366x768
434 1522848
Почему cout зацикливается?
435 1522854
>>22848
Поменяй int на double
4 и 4.0 имеет разные типы, int и double соответсвенно
Если хочешь использовать именно с плавающей точкой, то пиши это явно
436 1522857
>>22854
Блин. Глупая ошибка. Спасибо
437 1522868
>>22848
Для начала, приучи себя не игнорировать ворнинги компилятора.
438 1522935
>>20351
У тебя кириллицы или пробелов в пути к проекту нет?
439 1522948
>>22935
Ох уж эти шиндовые бидолаги. Вам до сих пор юникода не завезли чтоли?
440 1522955
>>22568
А как же новый кодек для av1?
441 1522960
Доброе время суток. Столкнулся с проблемой работы sleep.
На 1 скрине sleep не работает, все числа выводятся мгновенно при достижении конца цикла. На втором скрине всё работает, надпись выводит каждую 1 секунду. Среда Qt Creator

Прошу объяснить почему всё так, желательно адекватными терминами, или терминами которые я смогу загуглить. Большое спасибо.

Code 1
#include <iostream>
#include <stdio.h>
#include <unistd.h>
using namespace std;

int main()
{
int number;
cin >> number;
for (number;number<50;number++)
{
cout << number << " ";
sleep(1);
}
}
Code 2
#include <iostream>
#include <stdio.h>
#include <unistd.h>
using namespace std;

int main()
{
for (int i;i<50;i++)
{
cout << "Hello" << endl;
sleep(1);
}
}
441 1522960
Доброе время суток. Столкнулся с проблемой работы sleep.
На 1 скрине sleep не работает, все числа выводятся мгновенно при достижении конца цикла. На втором скрине всё работает, надпись выводит каждую 1 секунду. Среда Qt Creator

Прошу объяснить почему всё так, желательно адекватными терминами, или терминами которые я смогу загуглить. Большое спасибо.

Code 1
#include <iostream>
#include <stdio.h>
#include <unistd.h>
using namespace std;

int main()
{
int number;
cin >> number;
for (number;number<50;number++)
{
cout << number << " ";
sleep(1);
}
}
Code 2
#include <iostream>
#include <stdio.h>
#include <unistd.h>
using namespace std;

int main()
{
for (int i;i<50;i++)
{
cout << "Hello" << endl;
sleep(1);
}
}
442 1522965
>>22172
всё
443 1522968
>>22960
А если перед sleep'ом вызывать cout.flush(), норм будет?
sage 444 1522972
>>22960
Скорее всего дело в том, что cout использует буфер для вывода, можешь попробовать в первом варианте std::cout << data << std::flush сделать, хотя я хуй знает
sage 445 1522973
>>22972
А, выше уже ответили
446 1522996
>>22960

>Прошу объяснить почему всё так, желательно адекватными терминами, или терминами которые я смогу загуглить.


1. Вывод текста буферизируется иногда. Предположим, ты записываешь данные в файл - вместо того, чтобы записывать по одному байту насилуя жёсткий диск - он сохраняет некоторую очередь для записи, и потом пишет всё сразу одной пачкой. Вышеуказанный flush по идее должен принудительно эту очередь отсылать в консоль для вывода.
2. Я не уверен насчёт sleep-а с маленькой буквы, но Sleep(1), это подождать 1 миллисекунду (в действительности там 3-7, что зависит от операционной системы и других вещей, но всё-равно мало). Ты можешь на глаз отличить 50 мс (это 1/20 секунды) от мгновенного вывода? Я не могу.
image.png5 Кб, 447x148
447 1523007
Есть код, который выводит данные из файла (x и y). Эти переменные должны использоваться в формуле, но как нормально прописать для этого счётчик? То есть программа должна брать за одну итерацию значение х и у первой строки, выводить результат (например х + у), брать вторые переменные и т.д.
Кстати точное количество переменных неизвестно, Мб их вектором посчитать и вывести пользователю, чтобы он сам вводил границу цикла рассчёта?
Отец 448 1523009
Олды, нах нужен std::forward, если он возвращает тот же тип, который ему пришел, т. е. lvalue -> lvalue, rvalue->rvalue?
Отец 449 1523010
>>22723
потому что reference collapse
450 1523011
>>23009
а все отсосал
451 1523050
https://www.youtube.com/watch?v=5An1sNznblQ

Бьерн говорит, что нужно знать минимум 5 языков программирования, иначе ты не можешь называть себя даже макакой.

Интересно, сколько япов знает нвидия-кун?
452 1523052
>>23050
Хотя сам он рекомендует 25 и обязательное знание ассемблера.

Ваши оправдания?
1573983115894.jpg117 Кб, 720x1280
453 1523114
Почему так?
data214 Кб, 436x248
454 1523129
>>22968
>>22972
>>22996
Огромное спасибо за ответы. Действительно, используя flush всё работает. Ещё буду разбираться в теме, ведь теперь знаю куда копать. Спасибо ещё раз
455 1523131
>>22996
Sleep используется в винде и работает от миллисекунд. sleep в библиотеке unistd работает от секунд
456 1523240
>>23230 (Del)
да не пизди, небось алгоритм Чудновского в голове крутишь и по цифре выговариваешь в беспалевном темпе
457 1523328
>>23050
Знаю - только С++.

Платили деньги за: Повершелл, Питон, ПХП (зашкварился в начале вкатывания), C#.
pi.png192 Кб, 1344x700
458 1523463
>>23240
Как же у меня порвало
459 1523472
>>23463
Ебучий конец, отдельно его понмнишь, но когда доходишь от начала, он куда то съебывается постоянно
460 1523511
>>23463
>>23472
твое саморазвитие зашло слишком далеко
vim ~/.bashrc
/PS1
:s/\\u@\\h/anon
461 1523609
Анон, слили уже плейлист видосов с питерской конфы? Дайте будь ласка

Как так блять получается что сппкон основной в тот же вечер выкладывает, а тут за ким то хуем полгода ждать
462 1523625
>>23609
Его очень сильно просили не шарить. Через полтора месяца будет в паблике
463 1523758
>>23754 (Del)
Не буди в нем синдром вахтера
15739385395130.jpg106 Кб, 753x565
464 1523789
>>23758
Поздно. Время рвать бумерка.
465 1523793
Анон, объясни понять, откуда появляется мусор после запятой при делении числа float на 10.
Задача перебрать и сложить все цифры 5-значного числа без перевода числа в строковый формат. Например, число 79813.
Делаю следующим образом: делю число на 10 (получаю 7981.3).
Далее вычитаю это число само из себя, переведенное в int:

digit=result-int(result)

Так вот, в данном конкретном примере программа выдает не 3, а 2. Потому что какого-то хуя результат приведенного выше выражения - 0.299805.
Откуда берется эта погрешность и как от нее избавляться?
466 1523794
>>23793
Ах да, естественно, я все выражение с вычитанием умножаю на 10.
468 1523804
>>23798
Спасибо, буду изучать.
В своей проге (на codeabbey задачки решаю) просто добавил 0.1 к изначальному значению и задачу выполнил, но сомневаюсь, что это правильное решение, лол.
image.png205x58
469 1523845
>>23793
Какой-то сложный у тебя пример. Вот проще. Ошибка чисел с плавающей запятой про которую просто везде написано, в любой книжке и в любой статье с использованием дробных чисел.

>Откуда берется эта погрешность


Представь, что у тебя есть только обычные десятичные дроби, а тебе нужно записать 1/3 или 1/7. Вот и компьютер пишет 0.142857142857, но это ни разу не 1/7 и сколько бы он не старался, он 1/7 с абсолютной точность

>как от нее избавляться?


Не использовать float и double, там где тебе не нужны дробные числа и использовать символьную арифметику или другое представление чисел (например, в виде пары целочисленных числителя и знаменателя). Использовать float только когда ты понимаешь что тебе нужен именно float, во всех остальных случаях (в ситуации по умолчанию) использовать double.

>Задача перебрать и сложить все цифры 5-значного числа без перевода числа в строковый формат


>digit=result-int(result)


У тебя очень неинтуитивный способ высчитывать число. Если так хочется сделать через него, можно было бы написать digit=N-(N/10)*10 и это бы сработало во всех случаях (N и digit типа int; делить именно на 10, не на 10.0 или 10.0f) выдавая 3.
Но вообще вот такое решение больше напрашивается на ум: https://ideone.com/XEBmbd
470 1523853
>>23804
operator% вам о чем-нибудь говорит, молодой человек?
471 1523854
>>23007
Добавь новый счётчик и выкинь вектор
472 1523932
>>17305 (OP)
Есть OpenBlocks+miniGW, нужно загрузить текстуру в формате png.
Подключаю libpng в виде:
#include "png.h"
Но при компиляции выдает ошибки в виде:
undefined reference to `png_sig_cmp'
Как заставить его видеть библиотеку?
474 1524020
>>23625
Откуда такая закрытость?
475 1524026
>>24020

>Откуда такая закрытость?


Россия же.
476 1524057
Где можно про смаке с нуля прочитать, чтобы максимально для даунов было? Хотел попробовать либу для qt poppler, а там, видимо, миллион зависимостей, которые авторы нигде не указали, или указали где-то совсем в жопе, что я просто не нашел.
477 1524059
>>24026
Не понял.
478 1524181
>>24020
Билеты там за бабло вообще-то, поэтому просят не шарить.
479 1524224
Узнал, что std::future продлевает жизнь локальных переменных внутри std::async.
// future from an async()
std::future<int> f2 = std::async(std::launch::async, []{ return 8; });
Типа если помимо return 8; там что-то насоздано, то оно будет живо, пока f2 жив.
Kakov pizdec. uuuu suuuuka я из-за этого ловлю охуительные постэффекты
480 1524233
>>24224
Пиздец, да ладно нахуй? А ты что думал? ЗИРО ОВЕРХЕД в многопотоке?
481 1524235
>>24233
Я думал, что то, что в скоупе, остаётся в скоупе, вот, что я думал.
482 1524277
>>24224

> постэффекты


КОНСОЛЕБЛЯДИ СОСНУЛИ
Тред утонул или удален.
Это копия, сохраненная 18 ноября 2019 года.

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

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