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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1200px-ISOC++Logo.svg.png68 Кб, 1200x1349
C++ тред #107 /cpp/ 1643956 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki

Ответы на вопросы:
https://en.cppreference.com/w/
https://www.cplusplus.com/reference/

Прошлый тред >>1626937 (OP)
38225a.jpg67 Кб, 500x651
2 1643958
Первый, как всегда
3 1643979
>>43958
C preprocessor metaprogramming
эх, жаль, что однопроходный
4 1644092
Братишки может подскажете шо. Короче есть класс с матрицей (вектором векторов) и отдельно вектором чисел. Я все это дело записываю в set. И у меня как-то странно памяти дохуя уходит после опредеденного момента (больше 10гб). Ну и я так посмотрел sizeof(класс) 80 байт. Умножить на количество элементов в сете получается намного меньше, чем прога жрет. Я вот еще в вижуал стужии запустил профилировщик, пишет там какие-то аллокации векторов матрицы идут постоянно и они вроде как всю память занимают если я туда смотрел, хуй паймешь. Но типа у меня нигде вручную память не выделяется, всё через вектора/сеты, нет new нигде. Как-то вообще можно по-нормальному проверить куда память уходит?
5 1644100
>>44092

>(вектором векторов


Если матрица постоянного размера то лучше array, не будет резервирования больших размеров и переаллокаций. Про сет не понял.
Gprof.png87 Кб, 1858x1080
6 1644103
О чём говорит такой вывод gprof? Что за _mcount и почему он занимает половину времени?
7 1644108
>>44092

> Вектор векторов


Ты чё, ебанутый?
8 1644110
>>44103

> Эклипс


Пиздец. Тебе уже ничего не поможет
9 1644151
Бля, глянул реализацию кортежа, и понял, что нихуя не понимаю шаблоны.
10 1644268
Аноны, мб подскажете.

Реализую Nist Frequency Test Within a Block на С++. Собственно, у меня есть бинарный файл, который я читаю в unsigned char и его длина в байтах. Работать мне нужно непосредственно с битами. Требуется разбить последовательность бит на блоки длины M и посчитать в них какую-то хуйню. Вопрос в том как этот ебучий char разбить на блоки? Это ведь не цельная последовательность 0 и 1, а массив из элементов по 8 битов каждый, как из этой залупы нормально блоки выделить, если M может быть и не кратно 8ми? Можно конечно выделять по одному биту, пихать в массив чисел, но это схавает в 8 раз больше памяти. Пиздос, короче.
11 1644270
>>44268
Сука вакаба бля посчитала char* как курсив.
12 1644273
>>44268
Bit stream
13 1644280
>>44273
Я пока писал вопрос кажись понял как можно сделать, ща попробую.
sage 14 1644318
>>44268

>Работать мне нужно непосредственно с битами.


>Можно конечно выделять по одному биту


Пиздос, короче.
15 1644341
>>44103

>Что за _mcount и почему он занимает половину времени?


Это сам профайлер.
17 1644374
>>44373
Блять, не заскринил. Тип autoRowProxy показывает Matrix<int>::Row
18 1644388
>>44373
Ебать ты хацкер. А не проще было сделать вызов метода get_что-то(строка, колонка) и из прокси вызвать его?передавая значения?
19 1644392
>>44388
Да это не важно. Каким образом инстанциируется приватный прокси класс - вот это непонятно.
20 1644393
>>44392
Ты вызываешь его конструктор в перегпуженом операторе
21 1644394
>>44393
Да, в классе матрицы можно, а в мейне как это происходит через auto?
22 1644404
>>44394
Скопируй код на IdeOne
23 1644408
>>44404
https://ideone.com/ID9hkN
Странно, здесь не пашет
24 1644418
>>44408
Может он у тебя был публичный? Дело в том что визуалка не всегда компилирует проект, а тупо запускает уже скомпилированный. Всегда когда такое видишь меняй 32 и 64
25 1644424
>>44418
Не-а, не был, перекомпилировал уже не раз
это вс код
26 1644430
>>44373

Так и задумывалось.
https://godbolt.org/g/38JynE
27 1644434
>>44430
А что не так? У тебя приватных методов нет
28 1644439
>>44430
Объясни, пожалуйста. Как это соотносится с моим примером? Я уж было подумал, что может в gcc баг, потому что компилирую с помощью 9.2, а на ideone 8.3, но скомпилировал у себя при помощи 7.5 и ничего не поменялось.
29 1644444
>>44439
Ты насоздавал кучу вариаций и удивляешь чему-то. скинул бы тот код который у тебя работает
30 1644447
>>44444

>>44408 Этот у меня работает, а на ideone нет
31 1644449
>>44373
Гуглить не пробовал?
https://stackoverflow.com/questions/13532784/why-can-i-use-auto-on-a-private-type
Алсо если бы это не работало, как бы по твоему работало matrix[1][1] если там тоже доступ к привату?
image.png3 Кб, 281x88
32 1644450
>>44447
Ты дегенерат просто. У тебя на скринах другая реализация

репортную за жирный троллинг
33 1644451
>>44450
Он все правильно написал, ты просто чего то недопонял (ясен хуй часть с твоего скрина нужно дописать, без этого не соберется)
34 1644452
>>44373
Платиновые вопросы
35 1644454
>>44451
Ты не видишь что это чмо над нами издевается и пишет открывающие скобки с новой строки
36 1644456
>>44454
Тут соглы
37 1644457
>>44449
Гуглил, но видать херово, спасибо, наконец-то понял.

>>44450
Ну естественно, я же писал что-то, пока не скинул, это что-то меняет?
38 1644459
>>44457
Да, меняет. Не надо ждать от разного кода одинакового поведения.
Чмо с бардаком в голове. Ты тупорылая хуесосоина сама не видишь свой код из уебанского оформления

Вот тут все работает
https://ideone.com/VdkzPq
39 1644461
>>44459
Чел угомонись выше уже дан ответ, он наоборот хочет чтобы auto r = matrix[1] не работало.
40 1644462
>>44461

>хочет чтобы auto r = matrix[1] не работало.


Ему сразу написал >>44388
41 1644464
>>44462
Да пошёл нахуй гуру блять, я захотел сделать так, как сделал, и столкнулся с какой-то непонятной для меня приколюхой. Нахуй ты тут срёшь по поводу скобок и интерфейсов уебище?
42 1644466
>>44373

https://stackoverflow.com/a/31185465

Вот ещё подробно, если кому-то тоже интересно
43 1644468
>>44464

>я захотел сделать так, как сделал


"Вот пока ты это делал, дебил, ебаная сука, БЛЯДЬ, так все и происходило!"
44 1644470
>>44110

Так сложилось исторически. Я начинал программировать с Фортрана под FreeBSD, а под него там были только Eclipse да Code::Blocks вроде.
45 1644627
>>44439
Мб с c++17 связано, проверь на godbolt
46 1644848
Возможно ли джуном на c++ вкатиться?
Screenshot from 2020-03-28 19-05-32.png108 Кб, 1366x768
47 1644891
>>43956 (OP)
Братцы, кто-то занимается разработкой используя VS Code? Подскажите, как настроить его, чтобы можно было из него запускать программы и отладку? Ловлю такую ошибку
48 1644899
>>44891
В папке воркспейса, надо настроить вот эти файлы
tasks.json (build instructions)
launch.json (debugger settings)
c_cpp_properties.json (compiler path and IntelliSense settings)
Конкретные инструкции есть в гугле, vs code gcc и т.д.
49 1644914
>>44899
Спасибо, может если что, поможешь мне настроить? Заебался гуглить, миллион ссылок ебанутых ни о чем.
50 1644933
>>44914
Я не очень хочу сейчас этим заниматься. Оф. инструкция выглядит вполне адекватной https://code.visualstudio.com/docs/cpp/config-linux
51 1644934
>>44933
Понял, спасибо, братиш, извини что отвлек. Рад, что ты отписался. Еще раз спасибо тебе!
52 1644983
>>44459
Задроты ебучие со своим уебанским синтаксисом. Идите на хуй, а я буду писать на си.
53 1644985
Говноеды со своей VS 19 на несколько гигатонн, когда для разработки достаточно Far manager, notepad++ и hiew
54 1644987
Люникс сосет
55 1645002
>>44985
laba2.cpp? Иди нахуй.
56 1645017
>>45002
Так, может, он байтоебушек? Для них кроме текстового редактора и бутылки водки ничего больше не нужно.
57 1645019
Я вам скажу лишь один недостаток C++, друзья. C++ — это гигантская временная черная дыра. Трата времени на C++ — абсолютно бесполезна потому, что результатом станут умения и знания, которые можно применить лишь в C++. Круг замыкается — вы тратите больше времени на то, чтобы больше времени потратить на C++ с тем, чтобы получившиеся знания направить на C++ и тратить время и т.д.

Знание C++ — абсолютно негодное, никому не нужное и никак не продаётся. Вы не сможете купить на знание C++ квартиры, машины, дачи. Пользуясь нормальными языками программирования, вы можете стать художниками, учёными, инженерами, программистами. Пользуясь C++ вы сможете стать лишь дурно пахнущими портвешковыми байтоговнариками в свитере и работать за нищенскую зарплату. И несмотря на то, что, пока вы учитесь в школе (или в университете, но вы безработный), вам такая перспектива нравится и кажется романтичной, через несколько лет вы поймёте, что время утекло в унитаз и его не вернуть.

Все обещания, которые дает комитет стандартизации C++, да и, по большому счёту, все C++говноеды — это пшик, пустые слова, ничего не исполняется. Все достижения этих разработчиков — лишь изобретание велосипеда, копирование технологий; ничего нового они не предложили ни разу. В C++ со скрипом, треском и проблемами работает то, что в других языках уже лет 5 вообще не вызывает вопросов.

C++ — это информационная черная дыра. Занимая всего 1% рынка IT, информацией о нём забит весь IT-сектор интернета. Более того, если вы начнете писать на C++ — вы будете интересоваться только им, читать только о нём, говорить только о нём. C++ — это ложь, сплошная ложь, как в тоталитарном государстве — вам будут рассказывать, что ещё чуть-чуть, ещё несколько лет и мы победим, но на самом деле, если вы посмотрите на обычную статистику, то увидите, что интерес к этому языку с годами лишь падает.

C++ — это черная дыра для вашей самоидентификации. Пока вы молоды, вам кажется, что отличаться от других, принадлежать к какой-то узкой группе людей — это круто, это здорово. Однако, на самом деле, неформалы — это синоним неудачников. C++ изменит ваш взгляд на мир, вы перестанете воспринимать компьютеры просто как инструмент для решения задач, а будете судить людей по тому, на каком языке они пишут. Вам будет казаться, что раз вы принадлежите к 1% людей, то вы стали элитой, ваше мнение важно и значимо. На самом деле, C++обрыганов никто не любит, а единственная реакция на их высказывания — покрутить пальцем у виска.

Если вам хочется программировать на C++, то вас, разумеется, никто не может удержать. Но задумайтесь на секунду — если вы потратите 3-4 года на изучение джавы или котлина, не станете ли вы гуру? Если вы 3-4 года будете изучать науки — не станете ли вы бакалавром? Если будете работать — не заработаете ли вы несколько десятков тысяч долларов? В конце концов, если у вас внезапно появилось 3-4 года свободного времени, то играйте в игры. Хотя бы удовольствие получите.
57 1645019
Я вам скажу лишь один недостаток C++, друзья. C++ — это гигантская временная черная дыра. Трата времени на C++ — абсолютно бесполезна потому, что результатом станут умения и знания, которые можно применить лишь в C++. Круг замыкается — вы тратите больше времени на то, чтобы больше времени потратить на C++ с тем, чтобы получившиеся знания направить на C++ и тратить время и т.д.

Знание C++ — абсолютно негодное, никому не нужное и никак не продаётся. Вы не сможете купить на знание C++ квартиры, машины, дачи. Пользуясь нормальными языками программирования, вы можете стать художниками, учёными, инженерами, программистами. Пользуясь C++ вы сможете стать лишь дурно пахнущими портвешковыми байтоговнариками в свитере и работать за нищенскую зарплату. И несмотря на то, что, пока вы учитесь в школе (или в университете, но вы безработный), вам такая перспектива нравится и кажется романтичной, через несколько лет вы поймёте, что время утекло в унитаз и его не вернуть.

Все обещания, которые дает комитет стандартизации C++, да и, по большому счёту, все C++говноеды — это пшик, пустые слова, ничего не исполняется. Все достижения этих разработчиков — лишь изобретание велосипеда, копирование технологий; ничего нового они не предложили ни разу. В C++ со скрипом, треском и проблемами работает то, что в других языках уже лет 5 вообще не вызывает вопросов.

C++ — это информационная черная дыра. Занимая всего 1% рынка IT, информацией о нём забит весь IT-сектор интернета. Более того, если вы начнете писать на C++ — вы будете интересоваться только им, читать только о нём, говорить только о нём. C++ — это ложь, сплошная ложь, как в тоталитарном государстве — вам будут рассказывать, что ещё чуть-чуть, ещё несколько лет и мы победим, но на самом деле, если вы посмотрите на обычную статистику, то увидите, что интерес к этому языку с годами лишь падает.

C++ — это черная дыра для вашей самоидентификации. Пока вы молоды, вам кажется, что отличаться от других, принадлежать к какой-то узкой группе людей — это круто, это здорово. Однако, на самом деле, неформалы — это синоним неудачников. C++ изменит ваш взгляд на мир, вы перестанете воспринимать компьютеры просто как инструмент для решения задач, а будете судить людей по тому, на каком языке они пишут. Вам будет казаться, что раз вы принадлежите к 1% людей, то вы стали элитой, ваше мнение важно и значимо. На самом деле, C++обрыганов никто не любит, а единственная реакция на их высказывания — покрутить пальцем у виска.

Если вам хочется программировать на C++, то вас, разумеется, никто не может удержать. Но задумайтесь на секунду — если вы потратите 3-4 года на изучение джавы или котлина, не станете ли вы гуру? Если вы 3-4 года будете изучать науки — не станете ли вы бакалавром? Если будете работать — не заработаете ли вы несколько десятков тысяч долларов? В конце концов, если у вас внезапно появилось 3-4 года свободного времени, то играйте в игры. Хотя бы удовольствие получите.
58 1645026
аноны, можно перегрузить оператор в классе сделав его постфиксным?
т.е. не
it, а что бы было it*. Сейчас пишу итератор свой.
59 1645040
>>45026
Нет
60 1645073
>>45026
Нет. Но мне интересно, зачем тебе такое?
61 1645105
>>45073
мне интересно, это только для постфиксных операторов класса для их перегрузки передается еще один параметр неиспользуемые или любой оператор можно сделать постфиксным
62 1645107
>>45017
Я байтоебушек и использую CLion.
63 1645113
>>45019
Все верно, у меня знакомый работает в одной конторе, ядро системы пишется на си++, прикладуха на всем остальном. Разработчики ядра получают на 30% меньше джавистов. Забавно.
64 1645115
>>44268
Можно битовую структуру делать, где один член 3 бита, второй 5.
65 1645119
>>45115
битовое поле, имеешь ввиду?
66 1645165
>>45019
C/C++ программисты это цари современного айти, все рантаймы других языков написаны на сишке или плюсах. Знать как работает компьютер можно только при условии знания и программирования на C/С++. В конечном итоге сишка и плюсы это хардкор, так что человек, прошедший его, сможет с легкостью осовить какую-нить jvm хуйню, дот нет, или фронтенд языки и фреймворки. В айти нет ничего невозможного для байтобояр!
67 1645168
>>45165

>В айти нет ничего невозможного для байтобояр!


Почему же тогда байтобояре не хотят оставаться байтобоярами, а изучают джаву или JS?
68 1645171
>>45165

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


А вот и веб макаки, считающие сишку языком низкого уровня.
69 1645177
>>45165

>Знать как работает компьютер можно только при условии знания и программирования на C/С++.


Не совсем так, есть еще Forth.
70 1645190
>>45171
Чел, ос написаны на си. Ниже операционных систем только чистый ассемблер в ring 0, который без слоя абстракций в виде например ядра линукса, нахуй никому не нужен бы был.
71 1645198
>>45190
DOS был написан на асме, так что ты опять обосрался.
72 1645199
>>45190
Вроде, даже загрузчики ОС написаны на си. Даже первичный загрузчик можно написать на си с вставками asm для прерываний
73 1645212
И какую ОС вы собрались писать, если в наше время даже браузер с нуля не сделать!
74 1645223
>>45212
ОС пишут задроты. Хакеры пишут под ОС эксплоиты и трояны. Хакеры это рациональные люди, которые не тратят время на переизобретение велосипедов и взламывают жопы по фану.
75 1645248
>>45223
Ломать - не строить.
76 1645254
>>45248
Похуй. Ломать это весело.
1505998490870.jpg5 Кб, 259x194
77 1645263
78 1645264
>>45254
А вдруг ты бабушке взломаешь виндовс ХР и ей goatse на рабочий стол поставишь и у нее инфаркт случится?
79 1645279
XSystem известного в узких кругах SadKo

http://xskernel.org/
80 1645289
>>45279

>SadKo


Никита Садков? Я не удивлен, что он плюсовик.
81 1645293
>>45289

>Никита Садков?


Владимир Садовников
82 1645330
Аноны, подскажите, пишу стек и итератор для него (переписываю пример с Брюса Эккеля) не компилируется, ругается на
Stack::Link *sp;
ошибка: C2955: 'Stack' : use of class template requires template argument list
https://pastebin.com/mY3wrwZy
83 1645336
>>44373
Давно я такой говнокод не видел..
84 1645344
>>45336
Там нет говнокода, это стандартная реализация [][]
85 1645345
>>45330
И что тебе непонятно? В сообщении об ошибке все предельно четко сказано.
86 1645348
>>45330
Делаешь класс итератор шаблонным, в классе дописываешь аргумент шаблона к стаку
87 1645349
>>45330
Итераторы обычно пихают прямо в класс контейнер, будет и тип понятен и доступ к твоему приватному Link - это будет следующий взвизг компилятора.
88 1645358
>>45349
А где про это можно подробно почитать? Раньше я вообще не понимал на хуй все это нужно, сейчас стало чуть понятней. Но один хуй лишь только чуть.
89 1645392
>>45212

>И какую ОС вы собрались писать


С нескучными обоями
90 1645890
>>45392
Шутка 2010 года!
91 1645894
Чтобы такого написать на плюсах, чтоб бабки потекли?
92 1645943
>>45894
у пожилых женщин влагалищный секрет почти не выделяется, сухо там, нужна дополнительная смазка
93 1645945
>>45894
у пожилых женщин влагалищный секрет почти не выделяется, сухо там, нужна дополнительная смазка
94 1645946
>>44848
в питере, в дс - да
95 1645955
А кто-нибудь знает за стажировки на плюсах? И в каких конторах это можно сделать кроме очевидного яндекса?
96 1645956
И как лучше всего подготовиться к алгоритмической части собеседования, если я не очень-то силен в алгоритмах?
Нарешивать литкод?
97 1645981
>>45956

Тупо нарешивать не поможет. Составь список алгоритмов и структур данных, которые ты хочешь изучить, и по ним нарешивай.
98 1646033
Вы чё, ебанулись? Какие стажировки, 90% контор отправили своих рабов на удалёнку
99 1646036
>>46033
Вот после вымирания этих самых 10% и можно будет устроиться на их место. Тот анон как раз правильно мыслит.
100 1646041
>>46036
Туда возьмут сеньоров, а не двачеров.
101 1646069
Ананасы, можно как-нибудь в злоебучей студии 19 настроить так, чтобы аргументы, принимаемые функцией по ссылке не константной, подсвечивались по особому? Там в настройках подсветки вообще нихуя нет
102 1646144
>>46041
Так сеньоры все старые, а корова валит в основном их
103 1646158
>>46041
сеньеры как раз вымрут)))
104 1646181
>>46144
>>46158
Сеньорам по 22 года всем, особенно на сосаче.
105 1646382
Господа эксперты, не писяйте на меня, пожалуйста, если вопрос какой-то глупый.

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

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

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

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

Первые неопытные мысли, это как-то создать утечку памяти искусственно, не применив delete к массиву/вектору, и в следующий раз сослаться на адрес. Есть какое-то простое решение этой хуйни?
106 1646394
>>46382
Варианты сходу:
1. Погуглить c++ hot reloading, может есть готовые решения
2. либо грузить файл через mmap
3. Либо сделать виртуальный диск, ram disk и подобное
4. Совсем дурацкая мысль - сохранить дамп памяти, хоть через проги для читов в играх
5. Погуглить про memory serialization, может тоже есть готовое решение, что-то типа того что ты напишешь свой класс по специальной форме, загрузишь в него базу, и потом сериализуешь.
107 1646395
>>46382
OS должна автоматически такое кешировать.
108 1646400
>>46394
спасибо
>>46395
хуй знает, на семерке каждый раз при компиляции как в первый считывает
109 1646410
>>46382

>пару минут загрузку базы


Что так долго? Оперативка за такое время переполнится десять раз успеет.
А так можно наверное вынести загрузку базы отдельно в виде длл или сервиса, чтобы она постоянно висела. Или может базу поместить на ram диске.
110 1646473
Верно ли, что адрес объекта всегда кратен его размеру? То есть я не могу встретить адрес инта 842822.
111 1646479
>>46473
Нет, в си это вообще может программист задавать через _Alignas(). Меньше не будет, но поставить, например 5 для инта можно легко.
112 1646480
>>46473
С хуя?
113 1646481
В регистре ESP хранится адрес вершины стека, но стек а каждого процесса свой, а регистр один. Как это работает?
114 1646482
>>46479
>>46480
Спасибо
115 1646489
>>46481
Процессор (точнее в своременном мире поток ядра) работает только с одним процессом за раз. Его вершина и хранится.
116 1646496
>>46489
У меня на компе 100 одновременно работающих процессов. И если им нужны регистры, то ос постоянно распределяет эти регистры между ними? Это же куча операций
117 1646506
>>46496

>100 одновременно работающих процессов


Они не работают все одновременно, только сколько у тебя ядер в процессоре. Там у каждого регистры свои.

> Это же куча операций


Добро пожаловать в вытесняющую многозадачность. Кооперативная многозадачность проиграла, потому что программировать, будто ты единственный во вселенной, гораздо проще. А, как известно, "worse is better".
118 1646521
>>46496
Это называется context switch, если мне не изменяет память, на него может уйти 1-30млн циклов процессора (ему надо, например, сохранить 2 килобайта регистров SSE,AVX и т.д) Для сравнения, intel i9 9900K выполняет примерно 400'000 MIPS (млн циклов в сек.)
В принципе звучит правдоподобно. Первая попавшаяся ссылочка показывает бенчмарк, где у чувака переключение 2048-2300 потоков съедает 40-100% cpu. Он использовал i7-4790K у которого порядка 150'000 MIPS. Это дает ~30-60млн циклов на переключение.
119 1646528
>>44341
То есть если убрать _mcount и домножить процент оставшихся пунктов на два, то получится распределение по времени для релизной версии?
120 1646619
Стоит ли читать sicp перед изучением Си?
121 1646620
>>46619
С++*
122 1646621
>>46619
Не обязательно, там другой язык, изучение займет пару лет, а алгоритмы и в учебниках крестов разъясняются и на ютубе
123 1646682
>>46619
SICP - это мем для ньюфагов. Учи сразу С++
124 1646700
>>46619
Sicp, с++, и уж тем более си тебе изучать не надо. Учи реакт, пей смузи и получай реальные деньги.
125 1646712
>>46382

>Первые неопытные мысли, это как-то создать утечку памяти искусственно, не применив delete к массиву/вектору, и в следующий раз сослаться на адрес.


Это так не работает. Когда программа завершается, ОС чистит всю её память.
126 1646738
>>46382
Можеть попробывать загрузить данные в отдельном процессе (другой программе), а потом из твоего процесса получать доступ к ним с помощью API твоей ОС. Или навернуть какую-то in-memory базу данных.
127 1646787
>>46382
Можно сделать программу, которая тупа загрузит данные в оперативку и выведет адрес. Потом с основной можно к ней присоединится и прочитать
128 1646789
>>46712
Не уверен что она именно очищается/стирается. Но в любом случае сейчас в ос всякие антихакерские штуки, типа каждый раз загрузка по рандомному адресу при запуске.
129 1646830
>>46479
>>46480
Я почему когда я пишу int а, его размер всенда кратен 4. Когда пишу double a его размер всегда кратен 8? И если прибавить 1 к указателю он всегда смещается на размер типа.
130 1646833
>>46830
Не путай размер и адрес.
131 1646838
>>46830
>>46479
>>46480
Я почему когда я пишу int а, его адрем всегда кратен 4. Когда пишу double a его адрес всегда кратен 8? И если прибавить 1 к указателю он всегда смещается на размер типа.
132 1646840
>>46838
Хотя экспериментируя с типами получилась сделать double с адресом кратным 5.
133 1646849
Хочу написать вакцину от коронавируса, как это сделать на плюсах?
134 1646868
>>46838
Строго говоря это он у тебя на компьютере равен 4. На каком нибудь древнем компе или микроплатнике int может быть 2 байта. А char может быть от 5 до 9 битов.
Konachan.com - 219389 anthropomorphism aoba(kancolle) blush[...].jpg1,9 Мб, 2000x1608
135 1646873
>>46849
вначале надо написать на плюсах короновирус
136 1646989
Как cheat engine определяет конец числа? Понятно с положительными, но как он меняет отрицательные числа, если размер неизвестен?
1531366513936.png145 Кб, 584x478
137 1647000
>>46989
Там же сам ручками выбираешь, не?
138 1647089
>>46989

>Понятно с положительными


И как?
139 1647146
>>46481
>>46989
При чём тут C++?
140 1647258
>>46989
Опять ты вылез блядь? За это время мог бы в мастерстве освоить гидру и реверснуть свой сраный cheat engine.
141 1647364
Чего бы такого написать, что впринципе не сложно, но заебись повышает чсв?
142 1647409
>>47364
Роман.
143 1647509
Как передать виртуальный метод в поток?
144 1647556
>>47364
Порешай задачи на codeforces
145 1647636
>>47509
Как правило треды запускаются с функцией принимающей указатель на void, и самим указателем который туда передать при запуске.
146 1647672
Синьоры на месте?
Есть класс A с конструктором A(int, bool).
Объект этого класса лежит в классе B.
Вопрос:
Как проинициализировать класс A в конструкторе B, если код для получения аргументов конструктора A не очень тривиален? То есть
int arg1;
bool arg2;
getArgs(arg1, arg2).
Понимаю, что можно навернуть unique_ptr или optional, но хотелось бы без всего лишнего. Думал через IILE аргументы получить, но тогда придется вызывать getArgs два раза.
147 1647821
>>47672
Непонятно зачем тебе именно этот getArgs и где он конкретно находится, но нужен очевидный фектори метод, например:
struct A
{
__int i;
__bool b;
__explicit A (int i, bool b) : i(i), b(b) {}
};
struct B
{
__void getArgs(int & i, bool & b) {i = 100; b = true;}
__A buildA() {
____int i;
____bool b;
____getArgs(i,b);
____return A(i,b);
__}
__A a;
__B () : a(buildA()){}
};
148 1647921
>>47821
Спасибо! Только вот тут

> __B () : a(buildA()){}


Вызовется move-конструктор или "a" создастся на месте? Важно, т.к. тип не копируется и не перемещается
149 1647977
Анончек, как замутить трассировщик с фигурками прямоугольника, сферыи треугольника? С первыми двумя ± ясно, про них кучу статеек, а вот с треугольником. задаю его по трем вершинам, считаю нормаль плоскости треугольника, а д-дальше?
150 1647978
>>47977
а дальше

>пук

151 1647983
>>47978
Так и выходит.
152 1647994

>std::string_view я тебе дам


>перегрузки стандартных функций я тебе не дам

153 1648019
>>47977
Ты не можешь что-ли поверить, пересекает луч треугольник?
154 1648028
>>47921
На месте, return A(i,b); гарантирует RVO с 17 стандарта.
156 1648092
Ah, там не base class.
Тогда ignore >>48046
157 1648119
>>47994

>std::string_view


>гарантии на терминатор нет


>в функции хуй передашь потому-что функции принимают const char*


>нельзя создать из двух итераторов до 20-го года


заебись класс, прямо по заветам плюсов - неудобный, ненужный, и бессмысленный.
158 1648135
>>48119
Ну так а хули ты не используешь const char*
?
159 1648157
>>46989

> Понятно с положительными, но как он меняет отрицательные числа


Объясните в чём прикол.
Положительные и отрицательные же одинаково представлены в памяти, только у отрицательных первый бит в 1 установлен. В чём проблема тогда?
160 1648159
>>48119

> гарантии на терминатор нет


Гарантия на плечах программиста

> в функции хуй передашь потому-что функции принимают const char*


.data() как бы?

> нельзя создать из двух итераторов до 20-го года


Ну ведь можно же теперь, че бухтишь то?
161 1648166
>>48119

>терминатор


растворился я в тебе как в океане море
162 1648200
>>48157
Почитай уже начальный учебник по информатике.
163 1648202
>>48159

>нет терминатора


>.data()


Ничего не смутило?
164 1648217
>>48159

>.data() как бы?


А думаешь к чему первый пункт был? Тебе нужно ГАРАНТИРОВАТЬ что у тебя там будет нолик, иначе либа где-то в своих недрях крякнется и ты уйдешь на пару дней в дебаггинг. Зато на каждом углу пиздят что const std::string& устарел и его только долбаебы используют.
165 1648236
>>46989
В чём разница между тем, чтобы найти 8-байтовый 0xFF или -0x01?
166 1648246
Видел на ютубе, что в с++ 20 завезли модульность. Есть ли вообще объективная причина отказа от старого формата (объявляем в .h, а определяем в .cpp), неужели он настолько не удобен? По мне вроде наоборот всё лаконично.
167 1648247
>>48246
Студент, ты?
168 1648249
>>48246
Препроцессор останется, можешь и дальше свою laba2.h инклюдить. Модули не для этого придумывали
169 1648256
>>48200
Почитал. Представление чисел от этого не поменялось.
170 1648257
>>48247
Как будто что-то плохое
171 1648266
>>48249
А зачем они нужны? Просто некоторые примеры кода на последних стандартах уже начинают походить на С# или Java. Походу всё в эту степь движется.
172 1648270
>>48256

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


>Почитал. Представление чисел от этого не поменялось.


Позорище.
173 1648273
>>48256
То есть по твоему
-1 это b1000...0001, верно?
174 1648276
>>48157
Сразу видно чуваков, которые никогда не видели INVALID_HANDLE_VALUD в OllyDbg
175 1648279
>>48273
Нет. Это b111.....111
176 1648282
>>48246
Модули решают проблему скорости компиляции достаточно серьезно.
177 1648284
>>48279
Значит, они не

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

178 1648285
>>48284
Я не это имел в виду.
Хоть число положительно, хоть оно отрицательно, оно займёт одно и то же количество бит, но при этом у отрицательных первый бит всегда будет установлен в 1.
179 1648325
>>48202
>>48217
Схуяли его нет? Нет гарантии что он будет там, а есть он в 99% случаях, это гарантирует программист.
180 1648329
>>48325
Получается что string_view бесполезен везде кроме двух случаев (это вся строка целиком или это последняя подстрока). В каком-нибудь сплите csv строки придется для каждой подстроки все равно создавать копию string. Ну и нахуа? Вообще очень плохо сделали этот вью.
181 1648341
>>48325

>используется точно также как и const char* но весит в 2 раза больше


Охуенно полезный класс, ничего не скажешь.
182 1648405
Аноны, а почему нету книг по Visual C++ для свежих версий 2017-2019? На том же рутрекере самая свежая датируется 2013 годом, по C# дохуя...
183 1648406
>>48405

>MSговно


>почему

184 1648451
Гуглишь алгоритм на крестах, а тебе выдает одни реализации на си. Заебало.
185 1648499
>>48405
Тебе нужны книги по С++, а не по Visual C++.
На легасях типа MFC\ATL никто не пишет

>>48406
Красноглазый даун порвался
186 1648527
Как можно реализовать в крестах список (list) как в пайтоне (по сути массив, в который можно добавлять элементы любых типов - char, int, double и т.д.)?
187 1648533
>>48527
std::list<std::any> но тут вопрос - зачем тебе это?
188 1648534
>>48533
Подозреваю, это laba3.cpp, в которой хотят, чтобы он продемонстрировал свои потуги в полиморфизм.
189 1648544
>>48533
Для чего мне? Просто как личное упражнение. Или ты про особенности реализации?
190 1648545
>>48236
Если я нашел положительное и хочу поменять его на отрицательное мне нужно знать его тип.
191 1648548
>>48499

> Тебе нужны книги по С++, а не по Visual C++.



Мне нужная такая чтобы она одновременно и по плюсам была и по среде. По C# же полно таких, по билдеру таких полно было в эпоху его славы, да и по старым версиям VS не мало.
192 1648552
Ананасики, привет
Я сам пишу на Си и Плюсах, да и вообще я лоу-лвл червь, но меня беспокоит (или, скорее, интересует) один вопрос - почему такие япы как Си и Плюсы жили, живут и будут жить еще N лет, и на которых будут продолжать писать тонну нового софта (а легаси никуда и не денется), а такие языки, как Раст (ничего не имею против Раста, честно, просто как пример) неизвестно еще выстрелят или нет. Выстрелить == господствовать в своей отрасли, в данном случае речь идет о лоу-лвл системном софте.
Делитесь мыслями почему так устроен мир лоу-лвла и почему это, скорее, не изменится в ближайшие лет 20? А если и изменится, то когда, на Ваш взгляд?
193 1648556
>>48544
в C++ так не пишут вообще. Это строго типизированный язык не просто так.

>>48548
Вижуал студия как среда осваивается за 2 дня. Зачем там книги - не знаю. Но с 2013 до 2019 сильно ничего не изменилось.
194 1648567
>>48552

>почему что-то (что обошло сотню конкурентов и является исключением из правил) за 50 лет успело устояться, обрасти легаси, всё еще живет и будет продолжать жить (ближайшие 20 лет)??????!!!!!!!


>почему что-то новое неизвестно выстрелит или нет?????!!!!!!!!!!!!!!!!!!!!!!!!


>ДЕЛИТЕСЬ МЫСЛЯМИ ПОЧЕМУ!!!!


глубокие вопросы от лоулвлщика в треде
195 1648574
>>48548
Так сейчас 2020. Все на ютубе.
196 1648577
>>48567
зачем так жестко, анон
Ведь основная проблема вокруг Си и крестов - это их небезопасность. В серьезных проектах даже боги этого языка делают ошибки, очень неочевидные, но все же ошибки. Раст создали с целью элиминировать класс ошибок с памятью, ибо импакт от атак, связанных с эксплуатацией ошибок работы с памятью, самый сильный, как ни крути. За жалких 5 лет существования Раст даже успел немножечко хайпануть и был избран некоторыми конторами как основной ЯП разработки софта, связанного с блокчейном, как раз из-за его безопасности. От ошибок логики и дизайна не спасет ни один ЯП, но вот от ошибок с памятью - таки реально. Поэтому и интересно сможет ли Раст за N лет выехать чисто на этой своей фишке или же захлебнется, ибо 90% контор похуй на секьюрити, лишь бы в сроки сдавали проекты и лилось бабло?
197 1648588
>>48577

> В серьезных проектах даже боги этого языка делают ошибки


Примеры назовешь?
198 1648596
>>48588
Ой ты дурааак.
199 1648600
>>48588
подразумеваешь, что боги языков не пишут серьезные проекты, кроме самого языка и срания в твиттере?
200 1648616
>>48588
А ты открой CVE и посмотри.
Как пример, в ядре Линукса за 2019 год нашли около 600 дыр.
Винда, макось, мобильные ОС - не исключение.
Любой крупный софт, написанный на Си и крестах, имеет баги, нередко эксплуатируемые. И патч одной дырки в проектах таких масштабов может вызвать появление 3-5 новых дырок в других местах в проекте. Тебе любой исследователь безопасности об этом расскажет.
A04.png191 Кб, 801x773
201 1648622
202 1648645
>>48545
Эвристика-то простая. Просто ищешь, до границы какого байта выставлены все биты - это и есть размер твоего целого.
203 1648646
>>48596
>>48600
>>48616
>>48622
Идиоты блядь. Напишите название проекта и имя разработчика-бога-c++, который допустил там ошибку. Можете ещё дату внесения ошибки в качестве бонуса.

Ебучие мантры блядь, как я уже заебался их слушать. Вы ещё про goto мне что-нибудь спизданите, выблядки
204 1648648
>>48588
Сердцеранение
205 1648649
>>48646

> Вы ещё про goto мне что-нибудь спизданите, выблядки


Это ты тот необучаемый дебил, который лечил, что GOTO заебись?
206 1648652
>>48648
Какое же ты уёбище. Ничего, что openssl написан на Си?
207 1648653
>>48649

> Это ты тот необучаемый дебил, который лечил, что GOTO заебись?


Нет. Тот выблядок ничем не лучше первокурсников, которые ни разу в реальном коде goto не видели.
208 1648677
>>48652

>основная проблема Си и крестов


>Си и крестов


Алсо, я не особо помню, какие широко используемые программы, связанные с безопасностью, вообще написаны на плюсах. Только Botan вспоминается (среди CVE есть несколько с уровнем 10), OpenJDK (в сане и оракле явно не лохи работали, а сколько дыр было) и винда (думаю, нет смысла приводить все её уязвимости).
209 1648697
>>48646

>напишите дату бага а я напишу что этот разработчик в моем понимании не "разработчика-бог-c++," и затролю вас))))


Залетный блядь, съебись тралить на пикабу.
210 1648703
>>48646
Тупая необучаемая мразь.
211 1648717
Есть класс
У него есть два наследника
Я создал функцию bool для проверки вводимых значений переменных в классах-наследниках
Проблема в том, что после ввода данных, программа вместо их вывода, снова запрашивает ввод полей базового класса и только потом выводит true или false для поля класса-наследника
Чем фиксить?)
212 1648724
>>48717
Код давай, ничего не понятно.
213 1648726
>>48717
переписыванием своей хуиты правильно. сделай минимальный репродюсибл пример. рассказывает про какую-то функцию проверки, а потом с какого-то хуя у него ввод данных появляется, а потом еще и вывод.
214 1648730
>>43956 (OP)
Вкатываюсь с нуля,читаю с++ без страха,какой компилятор для новичка лучше?Язык учу,чтобы вкатиться в 3дпринтеры
215 1648731
>>48724
cpp.sh/9iomw
>>48730
Мда, стоит переписать основу и просто накидывать всё остальное сверху
216 1648732
>>48717

>int getdata() {


>publications::getdata();


Действительно, и почему же.
217 1648735
>>48731
чувак это вообще законно?
bool publications :: isOversize()
{
book B;
type
T;
return B->getdata() >= 800 ? true : false;
return T->getdata() >= 90 ? true : false;
}
218 1648737
>>48731

> In member function 'virtual int publications::getdata()':


>16:3: warning: no return statement in function returning non-void [-Wreturn-type]


> In member function 'virtual int book::getdata()':


>34:3: warning: no return statement in function returning non-void [-Wreturn-type]


> In member function 'virtual int type::getdata()':


>51:3: warning: no return statement in function returning non-void [-Wreturn-type]


> In member function 'bool publications::isOversize()':


>62:20: warning: 'B' is used uninitialized in this function [-Wuninitialized]


Чел, это си плюс плюс, включи warnings as errors и не выключай до конца жизни.
219 1648748
>>48731
в getdata() нет return, возвращаются случайные числа
в isOversize() используются неиниацилизированные указатели и вообще непонятно что должно быть
220 1648755
>>48737
>>48748
Cпасибо, анончики, разобрался
221 1648771
>>48731
какую именно основу,не совсем понял?
222 1648775
>>48730

> какой компилятор для новичка лучше?


мне козалось компиляторы не различаются на "вот этот для новечка лучше", "а вот этот для продвинутого пользователя", и "а вот этот только для экспертов". конечно же нет смысла использовать что-либо кроме кланга или гцц.
223 1648780
>>48730

>какой компилятор для новичка лучше


Сокрушительное поражение
224 1648781
>>48574

> Все на ютубе.



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

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


vim
226 1648784
227 1648792
>>48730
cl.exe
228 1648817
unique_ptr нельзя передавать как аргумент функции, но можно передать ссылку на него. Ничего страшного не случится ли при этом? Типа утечек памяти
1536375652827.jpg157 Кб, 1122x1122
229 1648824
>>48817

>unique_ptr нельзя передавать как аргумент функции

230 1648844
>>48817
Либо ссылкой, либо перемещением
232 1649056
>>48969

>If you complain about c++ it's your fault


XDDDD
Можно это в шапку?
233 1649124
На вашем с++ возможно ваще работу найти?
я незнающий даун, спасибо
234 1649245
>>49124
В москве и новосибирске - да.
В остальных местах - хз
235 1649274
>>49245
Что на счёт ДС2?
236 1649292
>>49274
Ну ты сравнил! Где загнивающий говнопидер, где скоро начнут крыс есть, и где Суперсибирск - город будущего и сверхлюдей, де факто столица мира?
237 1649293
>>49292
Бля, почему я в суперсибирске не могу найти стажировку на крестах? мимо второкур
238 1649297
>>49274
я просто не знаю ничего на питер, вот и не написал.

>>49293
2ой курс не рановато для стажировок? Ты в универе пока только сортировки еще проходишь рофл.
239 1649304
>>49297

> Ты в универе пока только сортировки еще проходишь рофл.


Сортировки были на первом курсе так то.
240 1649311
>>49297
>>49304
А нас пузырьком еще в 10 классе учили сортировать..
241 1649342
>>49311
Зависит от школы. Во всех провинциальных школах, где я учился (много раз переезжали), везде максимум был ворд с экселем. Один раз в 9 классе что-то на паскале пописали.

Да и пузырёк - дносортировка. Интуитивно её можно вывести, когда хоть раз подумаешь как отсортировать массив, а вот слиянием уже хуй школьцам объяснишь
242 1649362
>>49342
Я учился в такой же провинциальной школе в 90-е, тогда и компы то не везде были. Никаких всеобщих учебных программ, все зависило от учителя, поэтому успел поизучать бейсик, паскаль и си (сортировке учил сишник, и вообще был самый адекватный)
243 1649638
>>48645
А где гарантия, что после этой переменной будут ненулевые биты/байты?
244 1649745
>>43956 (OP)
Братан, я не понял, а где код в гитхабе? Сорян, я не понял, какая цель треда? Пишем бота? или что происходит?
245 1649761
>>48574

Для дебилов, да.
246 1649794
>>48574
>>48499

>Красноглазый даун порвался


>Все на ютубе


>мимо второкур


Цпп тред 2020
247 1649830
Что такое итераторы ввода и итераторы вывода. input и output. Где еще можно про всякие ifstream ofstrem и прочую ебень почитать? Везде где читал, они даются типа как данность, т.е. вы уже должны о них знать.
248 1649832
>>48781
о да, я целый год смотрил видеоуроки по си++ и прочей хуйне, самое смешное, стал охуенно понимать английскую речь, а вот си++ значительно хуже. Тут блять и на русском хуй проссышь.
249 1649839
>>49830
Гугл, Википедия, слышал такие слова?
250 1649895
>>49839
там нет ничего конкретного
251 1649907
Поясните за статические методы, они могут использоваться как обычные функции? Типа для избежания дублирования кода помещать вызов статического метода в обычные? Если логически они к классу относятся.
252 1649919
>>49907
Статические функции это некий сверхразум который существует отдельно от класса. Например с помощью статический ф-ий можно следить за количеством экземпляров класса.
253 1650014
>>49907
Статические функции они как твоя мамаша, такие же тупые и конченые
254 1650054
>>49907
Это как глобальные методы/свойства, но только для конкретного класса.
255 1650059
>>50054
А что такое глобальные, и какие это свойство имеет?
256 1650061
>>49832

>целый год


Ору блять, за год можно наизуть стандарт C++20 выучить при желании, в придачу шаблоны и параллелизм
1451633719543.png372 Кб, 2000x965
257 1650067
>>49794
Чел, у меня были эти книжки по Борланд Билдеру в детстве, нахуй такое надо? Там треть книги это скриншоты менюшек (особенно доставляла инструкция к какому-нибудь визарду, которая могла занимать десяток страниц скриншотов next>next>next), треть это невнятные бойлерплейты для создания одной кнопки, и треть тупое перечисление функций или классов из АПИ. Серьезно, обучалки как пользоваться IDE сейчас есть на ютубе.
258 1650072
>>49895
Все там есть. Итератор это класс- обобщенный интерфейс адресации и доступа к данным, чтобы, упрощенно говоря, ты мог одинаково пройтись и по массиву, и по множеству, и по файлу, и по любому своему хитровыебанному классу со стандартным интерфейсом.
259 1650089
>>50072
Кстати (другой анон), что курил Степанов, когда придумал "итераторы вывода" https://en.cppreference.com/w/cpp/named_req/OutputIterator. Зачем нужна эта порнография, если это, по сути, равносильно Callable без аргументов?
260 1650173
>>50089

>равносильно Callable без аргументов


С чего бы?
261 1650225
>>50061
ну у меня есть работа программистом, семья, бизнес. Я в 20 лет курс матана осваивал за пару недель и сдавал его на отлично, а сейчас мне уже за 30, я где-то час каждый день читаю техническую литературу, за три месяца еле-еле скилл подтянул.
262 1650228
>>50072
ну вот я смотрю такой код у меня есть
std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
у меня расписан план. Я уже освоил Брюса Эккеля. темерь осваиваю основы STL, мне сложно переключатья и отклоняться от плана, я максимально сконцентрирован. Где мне про всякие злоебучие фишки вроде чтения из текстового файла
std::copy(std::istream_iterator<int>(file), std::istream_iterator<int>(), std::inserter(v, v.begin()) );
Я понимаю все, что здесь происходит. Я худо-бедно освои и шаблоны и итераторы, но итераторы можно осваивать только после того как ты освоил шаблоны, написал свои итераторы. Книга называется "введение в STL" а введения особо там нет.
263 1650229
>>50225
Лох, я этот матан за 4 дня до экзамена освоил, прогуляв весь семестр
264 1650230
>>50229
И где ты сейчас?
image.png11 Кб, 481x158
265 1650231
Какого размера буфер наиболее оптимален для чтения?
266 1650233
>>50230
Борщ мамкин ем
267 1650242
Как думаете, лучше BMP файл целиком в память засунуть или читать блоками? Там просто неприятно будет со структурами вначале работать, если сделать блочно.
268 1650244
>>50242
есть память - засовывай. Нету - не засовывай, в чем проблема. Или через Memory Mapping читай
269 1650255
>>50231
Зависит от файловой системы, дефрагментации и т.п., проверяй экспериментально.
>>50228
Я сначала вообще не разбирался как они работали, тупо копипастил и относился как к чему то типа указателей, на магию инсертеров не обращал внимания. И мне кажется массово это стали использовать только с массовым использованием auto, до этого было лень пердолиться с именами типов.
270 1650327
Как реализовать чтение бинарное прям в вектор, без создания промежуточного сырого массива char*?
271 1650344
Решил изучать персидский язык. Есть ли сходства с крестами?
272 1650350
>>50327
std::vector<char> v(1234);
read(file, v.data(), 1234);
273 1650352
>>50350
Но это вроде медленный способ? Там есть шалости с file.rdbuf()->pubsetbuf.
274 1650353
>>50352
Если ты хочешь быстроты - ты используешь системное апи, а не дрисню из <fstream>
275 1650363
Сука ебанные сегфолты блять
276 1650420
>>50231
Равный размеру файла, не? Запроси размер файла для начала, а уж потом выделяй под него буфер.
277 1650467
>>50353
Как-то грустно. С++ же старается выходить максимально быстрым, а тут мне надо тупо уровень сишки юзать.
278 1650468
>>50363
Из-за чего?
279 1650470
>>50344
Сложное устаревшее говно с убогим синтаксисом.
280 1650493
>>50255
Братка, я к сожалению профессиональный разработчик, в том числе и на си++, мне нельзя "не понимать как что-то работает". Иначе весь проект пиздой накроется, си++ это такой язык где надо понимать абсолютно все. Досконально. Иначе при большом объеме все развалится.
281 1650521
>>50493
Удачи.
282 1650525
>>50493
Плохой ты проф разработчик, если не знаешь, что суть в стл в том, что тебе не надо знать что и как работает.
283 1650532
>>50525
Это скорее суть инженерного дела вообще
284 1650534
>>50363
Address sanitizer
285 1650535
>>50467
Он старается, но не всегда получается.
286 1650546
>>50467

>Как-то грустно.


А ты бы тесты на скорость сделал перед тем как грустить. fstream просто обертка вокруг FILE, там основной затык должен быть в операциях ввода/вывода.
ЗЫ и никогда не используй end
287 1650547
>>50546

>endl

288 1650548
>>50546

> ЗЫ и никогда не используй end


Почему?
289 1650553
>>50548
Он делает флаш буферу, при больших объемах может сказаться на скорости записи. Старый добрый '\n' - наше все.
290 1650662
Пчелы, а использования синтаксиса Си в С++ является правилом плохого тона? т.е. могу ли я например юзать define и прочие вещи в С++ и не быть обсмеянным? Или лучше юзать какой-нибудь const глобальную переменную для таких вещей и полностью отказываться от синтаксиса Си?
291 1650773
>>50662
А как ты будешь условную компеляцию без дефайнов делать?
292 1650789
>>50773
Шаблоны, enable_if, constexpr
293 1650796
>>50662
>>50773
#ifdef _DEBUG
constexpr bool isDebug = true;
#else
constexpr bool isDebug = false;
#endif
...
if constexpr (isDebug)
...
14975690546.jpg99 Кб, 550x550
294 1650803
>>50773
#pragma once
295 1650810
>>50662
дефайны нужны только для кроссплатформы или дополнительного кода в дебаг-режиме (собстно вот та самая условная компиляция).

Константы через constexpr auto ебашь
296 1650817
>>50773
Она не нужна. Создавай отдельные файлы под разные платформы и нужные идут через билдсистему.
297 1650819
>>50796
на все случаи не подойдет
>>50803
ваще мимо
298 1650823
>>50817
будешь cmake файле делать условную компиляцию?
299 1650829
>>50819

> на все случаи не подойдет


На какие не подойдёт? Кроме очевидного "есть метод - нет метода"
300 1650840
>>50829
Включать отключать функционал, проверки и т.п. У тебя там #define _DEBUG не озвученный.
301 1650847
Сука ебанные утечки памяти блять
302 1650853
>>50823
Зачем в 2к20 вообще может понадобиться условная компиляция? Просто для нужной платформы будут нужные файлы - os_windows.cpp, os_linux.cpp.
303 1650855
>>50840
Если ты про #if 0 это в принципе раковый метод.
304 1650856
>>50853
Ну, например делать дополнительные проверки/логгинг в дебаг билде

Или отключать отдельные фичи по необходимости
305 1650877
>>50855
Хз про что ты.
306 1650987
У меня такое ощущение, что стандартную либу делали какие-то безумцы-шизики, ибо она совсем не единостильна.
307 1650997
>>50987
Нупростите, у нас не питончучхе, чтобы верховный лидер определял единый стиль всей библиотеки.
308 1651222
Анон, а почему для data science так популярен питон, а не си++, ведь это статистика, ведь там больше данные, точнее их объем, по идее должна быть важна скорость и для этого с++ подходит точнее всего. Так отчего питон топ 1 для data science?
309 1651280
>>51222
Потому шо сайенсом занимаются сайентисты, а не программмсты.
310 1651308
>>51222
Питон там обычно только обёртка над плюсовыми либами. Все вычисления делает плюсовый код, а питон - удобный фасадик к нему.
311 1651344
>>43956 (OP)
Как пишут настоящие крутые прогеры, когда у нас есть condition с булевой перменной?
if (condition) { do_some_code() }
или:
if (condition == true) { do_some_code() }
?
я просто в ЖС-параше обитал
sage 312 1651365
>>51344
new fag
313 1651366
>>51344
Первый конечно, меньше кода проще читать
314 1651368
>>51344
Да.
315 1651429
>>51366
Разе не надо удостовериться что мы используем именно boolean values и напрямую проверить истинность?
316 1651436
>>51429
Ты в обоих случаях его используешь. If принимает bool.
317 1651499
>>51344
Нет, а вот при проверке на нулевой указатель я бы поспорил.
318 1651528
Как следить за очисткой ресурсов на си (без эксепшенов) ? Goto? Do-while цикл? Проще конечно разделить функцию на подпрограммы, но не всегда есть возможность.
319 1651532
>>51528
Вообще в си тред иди.
320 1651566
>>51499
Поверка на нулевой это и есть condition.
>>51528

>Проще конечно разделить функцию на подпрограммы, но не всегда есть возможность.


Ты там корутины с помощью goto эмулируешь что ли?
321 1651580
>>51222
Чёрт, я после этого поста почему-то вспомнил, как года 3-4 назад пытался разобраться, как в Tensorflow устроена свёртка. Это ЁБАНЫЙ ПИЗДЕЦ, а не кодовая база. Caffe намного лучше зашло.
322 1651586
>>51344
Истинные олдфаги делают if (true == condition)
323 1651611
>>51586
Истинные олдфаги пишут if (condition != true) exit(-1);
324 1651633
>>51528
Раз это CPP тред то юзать unique_ptr с кастомным делитером и оно все само когда надо освободит.
325 1651640
>>51344
if(is_true(condition))
326 1651645
>>51640

>if(determine_condition_status::boolean_condition_checker(condition))

327 1651665
>>51645
Обосрался.
329 1651680
>>51645

>static_assert(std::if_bool_convertible(condition))


>if constexpr (static_cast<bool>((determine_condition_status::boolean_condition_checker(std::forward(condition))::value))

330 1651684
>>51645

> if constexpr (std::is_convertible_to<bool, std::invoke_result_t<boolean_condition_checker, condition>>))


> return (static_cast<bool>(boolean_condition_checker(condition)));

331 1651685
>>51645
class div_exception : public std::exception {};
...
template<typename T>
T operator/(T lhs, T rhs)
{
if (rhs == 0) throw std::div_exception("Divide by zero");
return lhs / rhs;
}
...
try
{
1 / condition;
//do smt if condition is true
}
catch (std::div_exception& ex)
{
//do smt if condition is false
}
332 1651702
>>51680
>>51684
>>51685
Горжусь вами, пацаны. Далеко пойдёте.
333 1651773
>>51702
Работу может предложишь, а не пиздеть будешь?
334 1651778
>>51773
У меня нет.
335 1651780
>>51528
RAII и ScopeGuard
336 1651785
>>51780
>>51633
>>51566
>>51532
Вы пиздоглазые как и я? Говорю же на СИ.
337 1651789
>>51785
Это не СИ тред.
338 1651792
>>51685
Бля, это же не скомпилится, я даже здесь налажал.
339 1651809
>>51785
Ты вообще читаешь на что отвечаешь, выблядок домкратом деланый?
340 1651820
Интересно, кто-нибудь сталкивался в больших проектах с кодом на Cython?
341 1651844
Какие есть бест практис для апдейтов софта?

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

Какие подводные камни? Я просто совсем нуб в этих делах, никогда не видел как профессионалы такие вещи делают.
342 1651846
>>51844

>какие подводные


Ну например запущенный процесс, может залочить бинарник, поверх которого ты распаковываешь.
343 1651857
>>51846
В смысле он сам себя залочит? Ну это понятная ситуация с перезапуском.
Или ты имеешь ввиду, что какой-нибудь условный антивирус может залочить файл и стоит долбить его, пока он не освободится?
344 1651888
>>51820
Зачем, если есть boost::python
15828670754440.png426 Кб, 1080x1920
345 1651921
Что такое ABI?
346 1651954
ss[1]=vec[1]+'0';
Почему выдает какую то залупу? Как сделать, чтобы всё работало?
1526309041856.png11 Кб, 318x372
347 1651962
>>51954
Да кто ж тебя знает, что ты там понаписал.
349 1651966
>>51962
У меня ss string
image.png43 Кб, 200x150
350 1651969
351 1651971
>>51966
Все ровно то же самое, мы тут не телепаты.
352 1651973
>>51921
Это то, как в памяти и процессоре что будет располагаться - например, через какие регистры/смещения в стеке передаются параметры, кто чистит стек вызывающий или вызываемый, и т.д.
353 1651989
>>51966

>ss


Нацик что-ли?
bhbEQoFryDs.jpg69 Кб, 1080x736
354 1652053
>>51954
Нихуя, два символа в один запихиваешь?
355 1652070
>>52053
Мой интеллект намного превосходит медиану по Европе, между прочим. Это просто давно установленный факт, ничего не поделать
Так что выбирай слова осмотрительнее, когда со мной разговариваешь
356 1652127
>>52070
Это ты всё про айсикью свой пишешь в треде >>1598248 (OP) ???
357 1652163
>>51964
Это типа как майкрософтский Component Object Model (COM)? Там тоже вроде бинарный интерфейс.
358 1652308
>>51921
Abi Winters, это такая австралийская фотограф, её все знают.
359 1652361
Почему так много компиляторов? Что круче: LLVM или gcc?
360 1652363
>>51964
Занятно, что согласно базару Аленки, ABI - это вещи, которые стандарт не описывает. Каким образом в С++20,30,100500 они планируют поменять то, что к стандарту не имеет никакого отношения? Мб ориентацию рубистов еще свапнут?
361 1652389
>>52361
gcc хороший, наверно лучший компилятор (ещё и свободный). llvm не компилятор вовсе
362 1652396
>>52363

> планируют поменять то


Добавят в стандарт еще сотню-вторую страниц c описанием ABI?
363 1652415
Не могу инициализировать карту. Надо каждой строке дать в соответствие русский символ, сделал такую карту
std::map<std::string, wchar_t> ={{"str", 'д'}}
Но пишет, что д слишком большое число для этого литерального типа.
364 1652421
>>52415
Потому что русская 'д' в юникоде это 2 байта и в 1 чар не влезает. Напиши L'д'
365 1652476
>>52421
Как в крестах вообще разные кодировки работают? Как перевести чары из скажем ascii в cp1251?
366 1652481
>>52476
Для начала надо понять что есть кодировка исходника, а есть кодировка уже во время исполнения.
367 1652514
>>52363
Не смотря на то, что в стандарте нихера нет - они все равно стараются не ломать ничего. Считай, некое джентельменское соглашение с дополнительными гарантиями.
368 1652541
Внезапно появилось желание написать какой-нибудь ГИС на Qt в качестве пет проджекта, что-то вроде аналога google earth.

Вопрос, с чего лучше начать? Пока что обладаю базовыми знаниями ООП и немного про STL знаю (из спортпроги, лол)
369 1652563
>>52541
Ну, начинай писать, хуле еще делать. Скилл так и появляется, когда ты решаешь проблемы, которые не знаешь как решать.
370 1652669
>>51222
Так сложилось исторически.
Питон - нейроночки и маш-об, плюсы - компьютерное зрение.
371 1652675
>>52669
И компьютерное зрение пишется на питончике. Так же, как и с машобом, питон под капотом дёргает плюсовые либы, сам питон там в роли glue code.
372 1652685
>>52514
В стандарте от ABI и всяких подобных вещей по типу выбора конкретных механизмов реализации виртуальных методов абстрагировались намеренно и полностью, а не так что "пацаны ну тип мы тут канешна не будем писать в стандарте тут и так дохуя но забьемся что виртуальные методы через таблицы делаем". Поэтому нихуя так и не понятно
373 1652766
Я требую чёткий ABI в стандарте C++!
374 1652777
>>52766
Куда мелочиться, давайте код компилятора на псевдокоде в стандарт!
375 1652783
>>52481
В Пистоне я мог открыть файл (файловый объект unix) с помощью функции open и задать там кодировку для открытого объекта. Мог сохранять в иной кодировке, мог работать с двоичными данными (bytes, bytearray) и свободно кодировать/декодировать инфу
Как это работает в плюсах?
376 1652784
>>52783
никак, еби байты
377 1652787
>>52784
А если байты будут ебать меня?
378 1652792
>>52787
ну, так и будет первые годика 3
379 1652795
>>52783
Бери iconv и ICU и еби свои символы
380 1652858
>>52777
Какие еще теги оформления знаешь, петуш?
Твой сарказм не в тему, никто не настаивает на описании ABI в стандарте - это даже правильно
image.png6 Кб, 239x211
381 1652926
>>52858
Нас двое, я вообще мимо проходил, и мне пох на ABI.
382 1652928
>>52766
нахуя?
383 1652931
http://www.cpp.sh/4oall
Почему оно работает, если на строках 46, 48 и 50 типы до и после new не совпадают?
384 1652935
>>52931
Потому что читай про наследование.
385 1652938
>>52931
Так Shape же их родитель, почему что-то должно не работать? Объекты класса всегда можно приводить к типу который родитель этого класса и работать с ними как с объектами родительского класса, наоборот вот нельзя.
386 1652953
>>52938
Но ведь это всё равно разные классы. В шапе нету того, что есть в производных классах, они отличаются.
387 1652964
>>52953

> В шапе нету того, что есть


Ну так то чего нет использовать нельзя. Даже если у тебя объект типа Круг - ты его можешь использовать только как шейп, пока явно не приведешь к типу круг.
388 1653207
анон, что это такое за чдо юдо?(двойная функция)
в классе функция а через точку ещё одна функция или что ?
x0.Account("123456").Balance() == -2190
389 1653208
>>52766
А причем тут С++ вообще?
390 1653211
>>53207
Посмотри что возвращает Account() и подумой
391 1653212
>>53207
метод аккаунт возвращает какой-то объект, назовём его "ret". представь теперь, что

> x0.Account("123456")


превратилось в ret, а значит

> x0.Account("123456").Balance() == -2190


превратилось в

> ret.Balance() == -2190

392 1653213
>>53207
Даю наводку: а что такое 1 + 2 + 3? А если o1.add(o2).add(o3)?
393 1653284
>>52361
clang более строго следит за стандартом: шаг влево, шаг вправо - ошибка. gcc скомпилит всякое говно и слова тебе не скажет. Вообще, со сложным кодом gcc работает хуже, тут тебе и Internal compiler error, и неспособность шаблоны сопоставить иногда, и сжирание памяти.
Короче, с clangом приятнее работается, не говоря уже про сопутствующие с ним утилиты.
394 1653295
Наши треды состоят почти целиком из глупых вопросов уровня людей, которые кресты первый или второй раз в жизни видят. Посмотрите на треды о других языках, там реально интересные задачи и проблемы обсуждают, новые концепции и либы. Вам не стыдно? Тут вообще есть люди, которые серьезные вещи на крестах пишут, а не круды на винформах/Qt и не лабы?
395 1653302
>>53295
Кресты стабильный язык. Нечего обсуждать.
396 1653318
>>53295
Предлагай, или тебе не стыдно?
397 1653353
>>53318
Стыдно, но я пишу круды на Qt.
398 1653366
>>53295
Ну что ты такое говоришь? Конечно, студентов много, но синьоров тут тоже хватает. Правда активничаем только мы с нвидия-куном
2020-04-0800-34.png231 Кб, 1280x1024
399 1653387
Сап двач.

Есть ли какой-либо способ узнать полный список доменов, зная IP и имя хоста? Хочу чтобы выводился пример как на пикрилейтед. Готового кода не прошу, максимум хочется направление где копать. Спасибо :)
400 1653406
>>45019
Ну вот, хоть кто-то это написал.
401 1653457
>>53387
Курлом дерни то, что ты дернул браузером и распарси ответ
402 1653470
>>53295
Что такое круды?
Дело наверное в том, что с++ изучают во всех универах и по факту это первый серьезный язык для всех после школьного паскаля или что там сейчас преподают.
403 1653471
>>53387
долго так винду пердолить? руководство есть?
404 1653473
>>53208
А что не так?
405 1653479
>>53471
Это Арч Линукс, а не винда.

>руководство есть?


Вот тебе руководство: https://wiki.archlinux.org/index.php/installation_guide
406 1653482
>>53457
Есть-ли другой способ помимо использования API сайта?

>Курлом дерни то, что ты дернул браузером и распарси ответ


За наводку спасибо!
407 1653514
Гайз, как g++ перевести на стандарт C++17? g++ последней версии, но код по новому стандарту не компилится.
1586354924174.jpeg126 Кб, 1176x835
408 1653533
Рейт. Отдал 4к.
409 1653535
>>53514
Нужно добавить флаг -std=c++17
410 1653539
>>53533
Говно
411 1653544
>>53479

>Arch


>Firefox dark theme



Pentagon hacker starter pack ready
412 1653547
>>53457
Анус себе дерни
Ответ в стиле "Чтобы решить таск, спихни его индусам на аутсорс за полцены вопроса"
413 1653549
>>53533
Перевод норм? Не хочу оригинал с амазона ждать
414 1653556
>>53539

>Говно


Вообще-то годно. Знаешь учебники лучше?
415 1653571
>>53533
На первой сперма что ли?
416 1653574
>>53549
У первой не плохой, но встречаются порой ошибки. Впрочем не мешает.
417 1653613
>>53482
ну, руками крафти ДНС запросы и отправляй по сети. Но нахера, когда можно дернуть курлом апи.

>>53547
Щас бы велосипеды делать для уже решенной задачи

>>53533
Ты молодец
418 1653733
Вопрос про структуры. Структура - это способ сгруппировать какие-то данные в месте, и расположить в месте в одном участке памяти.

struct person
{
char const * name;
size_t age;
};

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

person analysis(int x, int y);
419 1653735
>>53733
да?
420 1653754
>>53733
Да.
421 1653757
>>53733
Да, это такие же обычные переменные, как переменные типа int. Разве что не примитивы.
422 1653759
423 1653838
гайс, седня был на собеседовании, задачку подкинули по шаблонам:

T<A> pa;
T<B>
pb;
pa = pb;

нужно написать шаблонный класс T, чтоб этот код скомпилился. Как это сделать, ничего придумать не смог/
424 1653839
>>53838
pa и pb указатели на шаблонный класс T
425 1653841
>>53470

>первый серьезный язык


+
Мылись недавно в бане с потом информационной безопасности, у всех мощные такие хуи по 17-20 см. А вот у дизайнеров-верстальщиков поменьше будут, потому что плюсы для Серьезных Мужиков, а фронт - для пидоров
426 1653848
>>53571
харчки от стенли б липпмана и барбары му
427 1653858
>>53535
Анонче, а не подскажешь, как сделать 17 стандартом по умолчанию, или чтобы g++ автоматически с этим флагом начинал работать?
428 1653861
>>53839
На третьей строке есть разыменовывание?

Залей код на идеван лучше
429 1653871
>>53858
Где работать?
430 1653879
>>53871
командная срока убунту
431 1653885
>>53879
Тогда у тебя 3 плохих варианта. Самый простой сделать алиас gcc с нужными флагами. Второй, экспортировать переменную окружения CFLAGS. Ну и самый сложный это отредактировать spec файл
https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html

Но я бы посоветовал освоить хотя бы самые азы make и пользоваться им для всех проектов.
432 1653893
У вас есть говнобеседа для телеги?
sage 433 1653894
>>53893
Пиздуй в вк с таким.
434 1653895
>>53894
Что такое ВК? Я с Ирана.
sage 435 1653897
>>53895
Вк - вконтакте. Соцсеть для зумеров долбоебов вроде тебя.
436 1653899
>>53897
Почему я зумер? У нас порядок другое бывал.
437 1653926
>>53838
template <template <typename> class T, typename B>
decltype(auto) operator=()(const T<B>) {}
Не блягодари.
438 1653927
>>53926
Хотя template <typename> class T> не нужен.
439 1653934
>>53926
А нахуя такие задачи нужны? Это же шиза какая-то.

мимо
440 1653942
>>53934
Всё TMP шизофрения. Вот завезут метаклассы и будешь месяцами весь невидимый нагенеренный код отлаживать, потому что о тулинге никто никогда не думает
441 1653993
>>53838
template <class> using T = void;
>>53934
Это задача на отсеивание кандидатов с шизофренией шаблонов типа >>53926 (у которого все равно не скомпилируется), на знание элементарных правил преобразования указателей.
442 1654035
>>53993
Ты создал алиас, а не реализовал шаблонный класс
А вот этот клоун >>53926 просто переопределил сравнение, но так нихуя не будет работать, потому что там именно указатели
443 1654082
>>54035

>operator=


>сравнение


>клоун

444 1654083
>>54082
Да, нечего ответить, пукни про то, что все и так поняли по смыслу
445 1654098
>>53838
class TBase {};
template<class AB>
class T : public TBase {};

Хуйня, давай следующую
inb4 кококо новые сущности вводить нельзя ИДИ НАХУЙ
446 1654100
В чём принципиальная разница между оператором выбора и условиями, вложенными в else друг друга?
447 1654127
>>54098
Скомпилировать попробуй, клоун.
448 1654132
>>54100
Свич может быть только по целым значениям.
449 1654133
>>54132
Значит он не нужен?
450 1654136
>>54133
Тебе виднее.
451 1654146
>>54136
А зачем тогда свитч, если он более ограничен?
452 1654151
>>54146
Тебе виднее.
453 1654156
>>54151
А тебе?
454 1654159
>>54100
В fallthrough.
455 1654176
>>53993
>>54035
Где про указатели сказано?
456 1654186
>>54176
Там разметка курсивом от двух съеденных макабой звёзд + следующий пост с пояснением. Без указателей и спрашивать бы никто не стал.
457 1654220
>>54186
Ну так это невозможно, лол. Или они не принимают такой ответ?
Рабочий вариант только этот >>53993

Тупую макаку сто раз просили добавить тэг кода, но на то она и макака.
458 1654222
>>54220
Ну или кроме void может быть любой другой простой тип.
459 1654224
>>54083
Дай угадаю, ты из тех дурачков, которые влезли в спор, обосрались с ключевыми терминами, а потом начинают маневрировать, что они это и имели в виду.
460 1654228
В общем, шапку на гитхабе прочитал. Не увидел там проблем с моим ньюфажеским вопросом.
В общем, меня смущает кодить в IDE, хочу как хацкер настоящий в каком-нибудь текстовом редакторе кодить. В связи с этим вопросы по правильной структуре проекта и базовым инструментарием. Что я понял в процессе недолгого гугления: нужно gcc или какой-нибудь еще нормальный компилятор и make изучить. Но я что-то не понял а как организовать структуру проекта нормально, чтобы эти штуки нормально же работали. Просто хочется сделать какой-то шаблон, чтобы потом я мог его скопировать и кодить что хочу, а потом нажав одну кнопочку чтобы все собиралось и я не о сборке всего что накодил думал, а о том что именно накодил. Понимаю, что IDE решает все эти проблемы, но как-то несолидно же.
461 1654236
>>54228

>В общем, меня смущает кодить в IDE, хочу как хацкер настоящий в каком-нибудь текстовом редакторе кодить


Потом ты поймешь, что даже сверхлюди типа Эрика Ниблера и Херба Саттера пишут в обычной Вижуал Студии, а студентики надрачивают на консольную хуйню. А никак не наоборот.
462 1654237
>>54228
Начни с элементарного мейка, потому по мере накопления wet кода в нём, смотри, что можно заменить на переменные, что на макросы. Потом и по папочкам распихаешь, на пяти файлах этого смысла нет делать.
изображение.png8 Кб, 497x312
463 1654242
>>53838
Вроде просто же
464 1654258
>>54236
Джон Блоу пишет в емаксе емнип. Но он очень... специфичный человек.
465 1654259
БЛЯТЬ ЕБАЛ В РОТ ЭТИ ШАБЛОНЫ ШАБОЛДЫ БЛЯДСКИЕ
466 1654263
>>54258
он и пишет не на С++
467 1654265
>>54263
Сам компилятор джая на плюсах же. Хотя да, от плюсов там мало чего.
468 1654297
>>43958
Глубоко.
469 1654298
>>54224
Чет не угадал. Я в курсе про переопределение, но не знаю что такое сравнение и присвоение? Слижешь после себя говно. Страуструп с комитетом подо мной ходят, а ты залезай обратно на хуй
470 1654307
>>54242
У тебя указатели разыменовываются, в задаче - нет.
471 1654308
Немного странный таск, но мне нужно считать файл как бинарный не используя потоки (ifstream) и без использования С. Есть какой-то способ, который относится к современному С++?
472 1654314
>>54307

> в задаче - нет.


Разве?
>>53838

> pa = pb;

473 1654317
>>53838
Нуу типа ыыы

class A
{};
class B
{};

template<typename Type>
struct T{};

template<>
struct T<A>{};

template<>
struct T<B> : public T<A>{};
474 1654318
>>54317
Нам в офис как раз нужен клоун!
475 1654320
>>54308
Либо делаешь по-человечески через mmap, если файл большой, либо через потоки
476 1654322
>>54318
Ну чё ты, формально условия соблюдены же!
477 1654323
>>53838
#define A B
478 1654330
>>54320
Файл как раз большой, а не никаких обёрток из std для mmap?
480 1654354
>>54314
Звёзд нет, присваивается значение указателя другому.
481 1654370
>>54318
class A;
class B;
template<typename Type>
struct Helper
{
typedef void type;
};
template<typename Type>
using T = typename Helper<Type>::type;

А так?
482 1654393
>>54228
vs code + cmake + cmake tools экстеншен
483 1654418
Где норм работу на удаленке можно найти на крестах? В моих пердях требуются от 7 лет опыта только лол.
На SO нихуя не нашёл, на who is hiring тоже чето не того.
Есть идеи где поискать можно?
484 1654422
>>54347
Ебать долго ждать наверное, если сейчас только 23. Как они на почти полторы тысячи стандартов все распланировали?
485 1654430
>>54418
Хз, мне самому пришлось после двух лет на плюсах на питон катиться как проект кончился, пушо вакансий на плюсы не нашлось, а кушать хочется. Мб если месяц посидеть подождать чё и нашлось бы, но нахуй.
486 1654460
>>54430
Расскажи о перекате с плюсов на питон. Изучил его во время работы на крестах? Трудно ли было перекатиться? И как это вообще происходило?
487 1654484
>>54460
Да буквально "здаров есть работа, но там питон, пойдёшь на собес? ну можно", перекатываться на него не нужно, потому что питон по сути псевдокод, ты уже на нём пишешь, лол, ну за неделю перед собесом пописал на нём, задачки всякие поделал, с асинхронностью познакомился, сделал фреймворчик для работы с апи одного сайта ну и всё, на собесе честно сказал, что неделю назад на нём не писал, но описал, чё делал и что за выходные ваш фреймворк покурю и от опытного питониста не отличите.
straus-prjachet-golovu-v-pesok-900x500[1].jpg94 Кб, 900x500
sage 488 1654487
почему ленивый пидр страуструп так медленно развивает этот ебанный язык?
в том же сраном паскале ввели модули и пидорнули препроцессор еще в 1978году.
489 1654542
>>54487
Потому что его не Страуструп развивает.
490 1654587
>>54370
Круто, я бы до такого не додумался
491 1654590
>>54587
Тот же алиас, что там думать.
492 1654659
>>54487
Потому что он мертв. Точнее, жив, конечно, но как COBOL или Fortran - легаси и узкие ниши.
493 1654666
>>54659
Страуструп уже легаси?
А язык никак не мёртв точно.
494 1654674
>>54666
Страуструп точно легаси.
495 1654717
Двач, пробую считывать информацию из другой программы. В cheat engine много где (к примеру в Pointer scan for this address) пишется "Название процесса"+Адрес. Что это значит? Правильно ли я понимаю что "Название процесса" имеется ввиду базовый адрес с которого запущена программа а +Адрес это сдвиг на котором находится нужный указатель? Я больше 5 лет на C++, просто никогда особо никогда не лез в эти дебри дизассемблинга. Подскажите. Вопрос наверное не совсем по теме треда, но я хз где ещё спросить, а тут всё равно много разбирающихся в этом людей.
496 1654742
>>54587
Так а чё, всё равно это не ответ на задачу, это типа мысли вслух как бы я пытался выкрутиться, если бы мне такое дали. А так чёт хз, похоже никак не сделать?
497 1654747
>>53993

>template <class> using T = void;


Ой, бля, точно, так ведь можно было.
498 1654766
>>54747
Так это алиас, а не класс.
499 1654772
>>54766
Знаю, знаю, формально только вот это>>54317
подходит, лол, но они явно не это имели ввиду.
500 1654798
Экспресс (блиц) вопрос: какие фичи C++ рантайм и какие не рантайм? Есть референс лист?
501 1654799
>>54798
констекспры, шаблоны
image.png75 Кб, 761x377
502 1654801
>>54799
Вот зашел я сюда, где рантайм, где нет, как понять?

>констекспры, шаблоны


Окей, спс
503 1654804
Есть хорошая печатная книга о c++20?
504 1654859
>>54804
Разве он вышел за пределы черновика?
505 1654915
>>54798
Рантайм - вся стандартная библиотека, эксепшены, статические не-POD переменные.
1586539820388.jpg144 Кб, 1024x1024
506 1655038
Как получить массив граничных точек QPolygon-а? Они же где то должны храниться, эти пиксели? Что то не могу найти в документации.
507 1655067
>>55038
Я про Qt, если что.
508 1655077
>>55038
Ебанутый? QPolygon - это наследник QVector
509 1655085
>>55077
Бля, но ведь в векторе только вершины. Где остальные точки? Как метод contains() работает?
510 1655086
>>55085

> contains()


containsPoint()
быстрофикс
511 1655089
В qt память сама освобождается, я правильно понимаю? В деструкторе не надо вызывать delete, если при вызове new указан в качестве предка главный виджет или его производные.
И с компоновочными виджетами это как работает?
512 1655097
>>55089
По моему освобождается, когда удаляется родительский виджет. Но я не уверен.
513 1655105
>>55085
А что по-твоему есть полигон, если не набор вершин?
Зайди в исходники и посмотри, как работает этот метод. Судя по описанию второго параметра, алгоритма там два и оба простые
514 1655106
>>55105
Получается, нельзя получить граничные точки никак готовым методом? А как тогда их получают?
515 1655109
>>55106
Не шарю вообще, но мб интерполяцией
516 1655111
>>55109
А есть что то другое, кроме QPolygon, чтобы можно было область на рисунке выделить?
15865445025770.webm689 Кб, webm,
400x300, 0:10
517 1655112
>>54717

>Я больше 5 лет на C++


>"Название процесса"+Адрес. Что это значит?


>В cheat engine


>просто никогда особо никогда не лез в эти дебри дизассемблинга

518 1655154
Когда STL напишут для C++20?
Ну всм когда я на довольно свежей версии дистра сделаю apt upgrade, использую что-нибудь из std::ranges::* и оно найдётся компилятором?
519 1655174
>>55106

> граничные точки


Что ты под этим понимаешь?
520 1655175
>>55174
Краевые точки. Край фигуры. Пиксели на краю фигуры.
521 1655224

>const char


>const wchar_t


>std::string


>std::wstring


>std::u8string


>std::u16string


>std::u32string


>std::string_view


>std::wstring_view


>std::u8string_view


>std::u16string_view


>std::u32string_view

522 1655229
>>55111

>А есть что то другое, кроме QPolygon, чтобы можно было область на рисунке выделить?


Что тебе сделать-то надо в итоге?
523 1655232
>>55224
А также QString, boost::algorithm::string и ещё 100500 реализаций строк, а им всё мало.
524 1655409
>>55229
Выделить область, нарисовать градиент.
525 1655513
>>55409

>Выделить область, нарисовать градиент.


Ну и рисуй свой полигон через QPainter. Зачем тебе пиксели-то?
400px-Antialias-vrs-Cromapixel.svg.png8 Кб, 400x252
526 1655515
>>55175
Имхо во времена антиальясинга и субпиксельного рендеринга наивно надеяться что есть некий четкий набор пикселей. Но ты можешь попробовать провести линию между вершинами, алгоритм Брезенхема простой.
527 1655713
>>55515
Набор пикселей до отображения на экране чёткий и управляемый, не надо
528 1655785
Двач, как перевести hex значение из void указателя в int? Что-бы арифметикой пользоваться можно было, в самих указателях на сколько я понял это делать нельзя.
529 1655791
>>55785
Всё, разобрался, спасибо.
530 1655826
Сап зк))))))))

Время от времени в коде на гитхабе как перед вызовом функции ставят ::, при том что функция из текущего скоупа видна. Вот например так:

auto mamkaOPa=::roditMamku();

Вопрос: зачем так делать?
531 1655876
>>55513

> Ну и рисуй свой полигон через QPainter. Зачем тебе пиксели-то?


Мне надо не полигон нарисовать, а выделить область и нарисовать градиент в этой области. А чтобы рассчитать градиент, нужно работать с пикселями.
533 1655923
>>55887
Да это понятно, если есть конфликт имен, и мы форсим тот что у аутер скопе.
В случаях, с которыми я сталкивался, была только одна функция с нужным именем, никакого конфликта не могло возникнуть. Мб это какой-то задел на будущее, в случае если появится функция с таким же именем с текущем пространстве имен, логика не сломается, потому что все равно будет вызвана нужая.

Еще как пример, эти :: некоторые используют даже для вызова WinAPI: ::СreateFile(...). Какой долбаеб будет добавлять функцию с таким же именем, я не знаю; тем не менее эти двоеточия вхуяривают незнамо зачем
534 1655930
>>55923
Абсолютно верно - задел на будущее
535 1655974
Ньюфаг итт
Что скажете по книге Лафоре ООП(дошёл до 11 главы и застопорился на ебанутой задаче)? Какие рекомендации к изучению?
536 1656012
>>55974
Очень старая, для начала пойдёт, после неё читай майерса
537 1656030
>>55923
Ещё вариант, что код писался адептами Unity build. Лет десять назад в одном довольно большом проекте с одним ебланом поссорился, когда он мой лаконичный код начал мазать своим говном, состоящим из :::::::::::::. Видите ли, у него иначе не собирается
538 1656113
>>56012
Спасибо, а знаешь годных книг по биоинформатике?
539 1656114
>>56113
На С++ естественно, хотя и псевдокод пойдёт
540 1656136
>>55876

>а выделить область и нарисовать градиент в этой области.


Тебе надо на битмапе нарисовать область выделения линией, а потом залить ее градиентом. Все это умеет QPainter.
541 1656150
>>55089
Не надо.
542 1656152
Вопрос про статик методы.
Почему здесь компилятор ни на что не жалуется?
http://www.cpp.sh/4oall
И почему здесь жалуется на Triangle, Rectangle и Octagon в статик методе createShape?
http://www.cpp.sh/3545a
543 1656153
>>56152
Потому то триангл ректангл позже идут, а там до.
544 1656155
>>56153
Получается, что без выноса тела метода за класс никак?
545 1656156
>>56155
Наверное. А зачем оно тебе внутри? Обычно внутри только объявления, а тела отдельно уже идут.
546 1656157
>>55713
Ну в 1990-х, наверное. А сейчас координаты линии уйдут на gpu, где будут рисоваться по float
547 1656219
Почему статическое поле можно определить только вне класса, тогда как статический метод можно определить как в классе, так и за его пределами?
548 1656260
>>56219
Можно и в классе, ты просто не умеешь
549 1656422
>>56219

Объявление класса само по себе не создает никаких сущностей, только определяет структуру объекта.
Соответственно если предполагается использование static-переменной, которая не будет создана конструкторами как в случае с nonstatic-полями (потому что по определению она "общая" для всех объектов класса), её надо создать, что и происходит, когда она определяется в глобальной области видимости.

К слову, если это поле const/constexpr (во всех случаях использования поля компилятор может подставить значение), то возможно определить и в теле.

А вообще я всё это в рот хуярил, кроличья нора ебаная
550 1656520
Как блять создать таблицу с помощью двумерного массива и printf, чтобы изменением чисел в массиве можно было менять количество столбцов и строк.
551 1656607
>>56422

>А вообще я всё это в рот хуярил, кроличья нора ебаная


ООП?
552 1656624
Двач, подскажите правильный способ узнать сколько байт в текущей операционке занимает указатель для программ скомпилированных в 32/64 бит.
553 1656626
>>56624
std::cout << sizeof(указатель на воид) ?
554 1656628
>>56626
Это мне даст размер указателей на битность данной скомпилированной программы.
Мне надо знать размеры как для 64 бит программ, так и для 32 бит, в разных операционках они разные, вроде где-то для 32 программ указатели могут быть 6 бит, а для 64 8 бит.
555 1656692
>>56628

>PAE


>The 32-bit size of the virtual address is not changed, so regular application software continues to use instructions with 32-bit addresses and (in a flat memory model) is limited to 4 gigabytes of virtual address space.


>PSE-36


>Newer Microsoft operating systems, including Windows 2000, support only PAE.


Некроговно и ненужно. Даже если используется PAE, у приложения адресное пространство больше 4Гб быть не может. Используй sizeof от указателя и будет тебе счастье.
556 1656776
Пчелы, это пиздец!
Какую ide предпочитаете? Я до недавнего времени Clion, но это пиздец, какое обновление подряд они не фиксят проблему высокой нагрузки на проц под 350% тупа с того, когда ты вводишь пару строчек кода, блять ну это неадекват нахуй, почему я на маке блять с 16гб оперативки и нормальным процом должен слушать звук вертолета и жарить яйца нахуй на своем процессоре, блять ладно бы я был такой один, но нет нахуй, весь багтрекер JetBrains заполнен ебучими блять просьбами исправить эту хуету и им похуй. сука заебало.
Так что продублирую свой вопрос:
Какая ide довольно удобно и хороша для разработки?
Алсо: а как починить CLion?
557 1656777
Какой максимальный размер буфера, который можно отправить по TCP?
И происходил ли автоматическая фрагментация данных при отправке больших файлов по WinSock?
Отправлял файлы до 80 мб - все отлично
Попробовал отправить 2гб - badalloc
558 1656785
>>56776
Visual Studio
559 1656791
>>56776
qt creator
560 1656792
>>56776
vs code
561 1656793
>>56776
VS Code.
562 1656850
Ребята, всем привет. Простите, но из-за сложившейся ситуации не могу нормально работать и обучаться, а сроки уже горят.

Вкратце, если кто-то пиздец шарит, то может помочь решить задания по универу? Там банальная хуйня какая-то, но все же. Буду признателен, всем спасибо.
563 1656940
Как узнать число процессов посредством windows api?
564 1656944
>>56520
Динамическое выделение памяти?
565 1656967
>>56850
зачем нам это
566 1656974
>>56850
За 1к готов решить.
567 1657043
>>56940
EnumProcesses из advapi
569 1657120
>>57043
А какой максимальный количество потоков указать следует мне?
570 1657194
>>57120
std::thread::hardware_concurrency
571 1657584
Объясните, пожалуйста, как мне передать в функцию другую функцию с помощью указателя, но так, чтобы одна из двух переменных этой ф-ции была зафиксирована. Например, у меня есть f(k,x) и я хочу передать ее в другую функцию, зафиксировав k. Т.е. у меня она будет уже функцией одной переменной. Вариант передать и функцию, и k, а потом просто подставить не подходит
572 1657644
>>57584
Просто берешь std::bind и без задней мысли передаешь.
573 1657687
>>57584
лямбду передаешь с одной стороны, с другой стороны принимаешь std::function
574 1657917
>>57584
Лямбда. [k = k](x) { f(k,x); }
575 1660412
>>46849
int main() {
return 0;
}
576 1660717
static void
577 1661473
>>56624

Если на этапе компиляции:

#if sizeof(void) == 4

// my govnocode for 32 bit pointers

#elif sizeof(void
) == 8

// my govnocode for 64 bit pointers

#else

// ya debil

#endif
578 1661924
Двач, дайте образец шаблонной функции с шаблонными возвращаемыми значениями, пожалуйста.
579 1662230
>>45330

Фу блядь, фу на хуй - у тебя там один неинициализированный указатель другого в жопу ебёт! Брысь к себе под шконку - формочки на ПХП писать за борщ!
1587370655954.PNG4 Кб, 810x513
580 1662660
Поясните плиз, чому я добавляю виджеты в QVBoxLayout по порядку, а они потом накладываются друг на дружку? Получается что то типа пикрила. Блин, эти лэйауты все время подлянку устраивают, устал уже, не понимаю их логики.
581 1666199
scala
582 1685493
>>62660
Используй Qt Designer. Там формы за пару минут накидываются. Намного удобнее, чем в коде что-то пытаться изобразить.
Тред утонул или удален.
Это копия, сохраненная 12 июня 2020 года.

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

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