Вместо шапки:• https://github.com/sosachbot/cppthreadhat/wikiОтветы на вопросы:• https://en.cppreference.com/w/• https://www.cplusplus.com/reference/Прошлый тред >>1626937 (OP)
Братишки может подскажете шо. Короче есть класс с матрицей (вектором векторов) и отдельно вектором чисел. Я все это дело записываю в set. И у меня как-то странно памяти дохуя уходит после опредеденного момента (больше 10гб). Ну и я так посмотрел sizeof(класс) 80 байт. Умножить на количество элементов в сете получается намного меньше, чем прога жрет. Я вот еще в вижуал стужии запустил профилировщик, пишет там какие-то аллокации векторов матрицы идут постоянно и они вроде как всю память занимают если я туда смотрел, хуй паймешь. Но типа у меня нигде вручную память не выделяется, всё через вектора/сеты, нет new нигде. Как-то вообще можно по-нормальному проверить куда память уходит?
>>1644092>(вектором векторовЕсли матрица постоянного размера то лучше array, не будет резервирования больших размеров и переаллокаций. Про сет не понял.
Аноны, мб подскажете.Реализую Nist Frequency Test Within a Block на С++. Собственно, у меня есть бинарный файл, который я читаю в unsigned char и его длина в байтах. Работать мне нужно непосредственно с битами. Требуется разбить последовательность бит на блоки длины M и посчитать в них какую-то хуйню. Вопрос в том как этот ебучий char разбить на блоки? Это ведь не цельная последовательность 0 и 1, а массив из элементов по 8 битов каждый, как из этой залупы нормально блоки выделить, если M может быть и не кратно 8ми? Можно конечно выделять по одному биту, пихать в массив чисел, но это схавает в 8 раз больше памяти. Пиздос, короче.
>>1644268>Работать мне нужно непосредственно с битами.>Можно конечно выделять по одному битуПиздос, короче.
>>1644373Ебать ты хацкер. А не проще было сделать вызов метода get_что-то(строка, колонка) и из прокси вызвать его?передавая значения?
>>1644408Может он у тебя был публичный? Дело в том что визуалка не всегда компилирует проект, а тупо запускает уже скомпилированный. Всегда когда такое видишь меняй 32 и 64
>>1644430Объясни, пожалуйста. Как это соотносится с моим примером? Я уж было подумал, что может в gcc баг, потому что компилирую с помощью 9.2, а на ideone 8.3, но скомпилировал у себя при помощи 7.5 и ничего не поменялось.
>>1644373Гуглить не пробовал?https://stackoverflow.com/questions/13532784/why-can-i-use-auto-on-a-private-typeАлсо если бы это не работало, как бы по твоему работало matrix[1][1] если там тоже доступ к привату?
>>1644450Он все правильно написал, ты просто чего то недопонял (ясен хуй часть с твоего скрина нужно дописать, без этого не соберется)
>>1644449Гуглил, но видать херово, спасибо, наконец-то понял.>>1644450Ну естественно, я же писал что-то, пока не скинул, это что-то меняет?
>>1644457Да, меняет. Не надо ждать от разного кода одинакового поведения.Чмо с бардаком в голове. Ты тупорылая хуесосоина сама не видишь свой код из уебанского оформленияВот тут все работаетhttps://ideone.com/VdkzPq
>>1644462Да пошёл нахуй гуру блять, я захотел сделать так, как сделал, и столкнулся с какой-то непонятной для меня приколюхой. Нахуй ты тут срёшь по поводу скобок и интерфейсов уебище?
>>1644464>я захотел сделать так, как сделал"Вот пока ты это делал, дебил, ебаная сука, БЛЯДЬ, так все и происходило!"
>>1644110Так сложилось исторически. Я начинал программировать с Фортрана под FreeBSD, а под него там были только Eclipse да Code::Blocks вроде.
>>1643956 (OP)Братцы, кто-то занимается разработкой используя VS Code? Подскажите, как настроить его, чтобы можно было из него запускать программы и отладку? Ловлю такую ошибку
>>1644891В папке воркспейса, надо настроить вот эти файлыtasks.json (build instructions)launch.json (debugger settings)c_cpp_properties.json (compiler path and IntelliSense settings)Конкретные инструкции есть в гугле, vs code gcc и т.д.
>>1644899Спасибо, может если что, поможешь мне настроить? Заебался гуглить, миллион ссылок ебанутых ни о чем.
>>1644914Я не очень хочу сейчас этим заниматься. Оф. инструкция выглядит вполне адекватной https://code.visualstudio.com/docs/cpp/config-linux
Говноеды со своей VS 19 на несколько гигатонн, когда для разработки достаточно Far manager, notepad++ и hiew
>>1645002Так, может, он байтоебушек? Для них кроме текстового редактора и бутылки водки ничего больше не нужно.
Я вам скажу лишь один недостаток 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 года свободного времени, то играйте в игры. Хотя бы удовольствие получите.
аноны, можно перегрузить оператор в классе сделав его постфиксным?т.е. не it, а что бы было it*. Сейчас пишу итератор свой.
>>1645073мне интересно, это только для постфиксных операторов класса для их перегрузки передается еще один параметр неиспользуемые или любой оператор можно сделать постфиксным
>>1645019Все верно, у меня знакомый работает в одной конторе, ядро системы пишется на си++, прикладуха на всем остальном. Разработчики ядра получают на 30% меньше джавистов. Забавно.
>>1645019C/C++ программисты это цари современного айти, все рантаймы других языков написаны на сишке или плюсах. Знать как работает компьютер можно только при условии знания и программирования на C/С++. В конечном итоге сишка и плюсы это хардкор, так что человек, прошедший его, сможет с легкостью осовить какую-нить jvm хуйню, дот нет, или фронтенд языки и фреймворки. В айти нет ничего невозможного для байтобояр!
>>1645165>В айти нет ничего невозможного для байтобояр!Почему же тогда байтобояре не хотят оставаться байтобоярами, а изучают джаву или JS?
>>1645165>Знать как работает компьютер можно только при условии знания и программирования на CА вот и веб макаки, считающие сишку языком низкого уровня.
>>1645165>Знать как работает компьютер можно только при условии знания и программирования на C/С++.Не совсем так, есть еще Forth.
>>1645171Чел, ос написаны на си. Ниже операционных систем только чистый ассемблер в ring 0, который без слоя абстракций в виде например ядра линукса, нахуй никому не нужен бы был.
>>1645190Вроде, даже загрузчики ОС написаны на си. Даже первичный загрузчик можно написать на си с вставками asm для прерываний
>>1645212ОС пишут задроты. Хакеры пишут под ОС эксплоиты и трояны. Хакеры это рациональные люди, которые не тратят время на переизобретение велосипедов и взламывают жопы по фану.
>>1645254А вдруг ты бабушке взломаешь виндовс ХР и ей goatse на рабочий стол поставишь и у нее инфаркт случится?
Аноны, подскажите, пишу стек и итератор для него (переписываю пример с Брюса Эккеля) не компилируется, ругается на Stack::Link *sp; ошибка: C2955: 'Stack' : use of class template requires template argument listhttps://pastebin.com/mY3wrwZy
>>1645330Итераторы обычно пихают прямо в класс контейнер, будет и тип понятен и доступ к твоему приватному Link - это будет следующий взвизг компилятора.
>>1645349А где про это можно подробно почитать? Раньше я вообще не понимал на хуй все это нужно, сейчас стало чуть понятней. Но один хуй лишь только чуть.
>>1645894у пожилых женщин влагалищный секрет почти не выделяется, сухо там, нужна дополнительная смазка
>>1645894у пожилых женщин влагалищный секрет почти не выделяется, сухо там, нужна дополнительная смазка
А кто-нибудь знает за стажировки на плюсах? И в каких конторах это можно сделать кроме очевидного яндекса?
И как лучше всего подготовиться к алгоритмической части собеседования, если я не очень-то силен в алгоритмах?Нарешивать литкод?
>>1645956Тупо нарешивать не поможет. Составь список алгоритмов и структур данных, которые ты хочешь изучить, и по ним нарешивай.
>>1646033Вот после вымирания этих самых 10% и можно будет устроиться на их место. Тот анон как раз правильно мыслит.
Ананасы, можно как-нибудь в злоебучей студии 19 настроить так, чтобы аргументы, принимаемые функцией по ссылке не константной, подсвечивались по особому? Там в настройках подсветки вообще нихуя нет
Господа эксперты, не писяйте на меня, пожалуйста, если вопрос какой-то глупый.Вообщем, такой вопрос - можно ли как-то перебросить данные в оперативку с жесткого диска, чтобы при повторной компиляции слегка измененного кода не приходилось бы ждать повторного перекидывания файла с HDD.Поясню. Например, я пишу алгоритм подсчета облака координат для вывода среднего и чтобы проверить прямоту своих рук, я, разумеется, жму F5 в VS. Код компилируется, данные грузятся из базы несколько минут.Код оказывается хуевым, я переписываю пару строчек, опять жму F5 и опять жду пару минут загрузку базы. Собственно, если я меняю лишь пару строк алгоритма, то мне не хочется каждый раз грузить базу одних и тех же данных. Можно ли как-то один раз грузануть в оперативку, а потом уже дебажить свой алгоритм?Первые неопытные мысли, это как-то создать утечку памяти искусственно, не применив delete к массиву/вектору, и в следующий раз сослаться на адрес. Есть какое-то простое решение этой хуйни?
>>1646382Варианты сходу:1. Погуглить c++ hot reloading, может есть готовые решения2. либо грузить файл через mmap3. Либо сделать виртуальный диск, ram disk и подобное4. Совсем дурацкая мысль - сохранить дамп памяти, хоть через проги для читов в играх5. Погуглить про memory serialization, может тоже есть готовое решение, что-то типа того что ты напишешь свой класс по специальной форме, загрузишь в него базу, и потом сериализуешь.
>>1646382>пару минут загрузку базыЧто так долго? Оперативка за такое время переполнится десять раз успеет.А так можно наверное вынести загрузку базы отдельно в виде длл или сервиса, чтобы она постоянно висела. Или может базу поместить на ram диске.
Верно ли, что адрес объекта всегда кратен его размеру? То есть я не могу встретить адрес инта 842822.
>>1646473Нет, в си это вообще может программист задавать через _Alignas(). Меньше не будет, но поставить, например 5 для инта можно легко.
В регистре ESP хранится адрес вершины стека, но стек а каждого процесса свой, а регистр один. Как это работает?
>>1646481Процессор (точнее в своременном мире поток ядра) работает только с одним процессом за раз. Его вершина и хранится.
>>1646489У меня на компе 100 одновременно работающих процессов. И если им нужны регистры, то ос постоянно распределяет эти регистры между ними? Это же куча операций
>>1646496>100 одновременно работающих процессовОни не работают все одновременно, только сколько у тебя ядер в процессоре. Там у каждого регистры свои.> Это же куча операцийДобро пожаловать в вытесняющую многозадачность. Кооперативная многозадачность проиграла, потому что программировать, будто ты единственный во вселенной, гораздо проще. А, как известно, "worse is better".
>>1646496Это называется 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млн циклов на переключение.
>>1644341То есть если убрать _mcount и домножить процент оставшихся пунктов на два, то получится распределение по времени для релизной версии?
>>1646619Не обязательно, там другой язык, изучение займет пару лет, а алгоритмы и в учебниках крестов разъясняются и на ютубе
>>1646619Sicp, с++, и уж тем более си тебе изучать не надо. Учи реакт, пей смузи и получай реальные деньги.
>>1646382>Первые неопытные мысли, это как-то создать утечку памяти искусственно, не применив delete к массиву/вектору, и в следующий раз сослаться на адрес.Это так не работает. Когда программа завершается, ОС чистит всю её память.
>>1646382Можеть попробывать загрузить данные в отдельном процессе (другой программе), а потом из твоего процесса получать доступ к ним с помощью API твоей ОС. Или навернуть какую-то in-memory базу данных.
>>1646382Можно сделать программу, которая тупа загрузит данные в оперативку и выведет адрес. Потом с основной можно к ней присоединится и прочитать
>>1646712Не уверен что она именно очищается/стирается. Но в любом случае сейчас в ос всякие антихакерские штуки, типа каждый раз загрузка по рандомному адресу при запуске.
>>1646479>>1646480Я почему когда я пишу int а, его размер всенда кратен 4. Когда пишу double a его размер всегда кратен 8? И если прибавить 1 к указателю он всегда смещается на размер типа.
>>1646830>>1646479>>1646480Я почему когда я пишу int а, его адрем всегда кратен 4. Когда пишу double a его адрес всегда кратен 8? И если прибавить 1 к указателю он всегда смещается на размер типа.
>>1646838Строго говоря это он у тебя на компьютере равен 4. На каком нибудь древнем компе или микроплатнике int может быть 2 байта. А char может быть от 5 до 9 битов.
Как cheat engine определяет конец числа? Понятно с положительными, но как он меняет отрицательные числа, если размер неизвестен?
>>1646989Опять ты вылез блядь? За это время мог бы в мастерстве освоить гидру и реверснуть свой сраный cheat engine.
>>1647509Как правило треды запускаются с функцией принимающей указатель на void, и самим указателем который туда передать при запуске.
Синьоры на месте?Есть класс A с конструктором A(int, bool).Объект этого класса лежит в классе B.Вопрос:Как проинициализировать класс A в конструкторе B, если код для получения аргументов конструктора A не очень тривиален? То естьint arg1;bool arg2;getArgs(arg1, arg2).Понимаю, что можно навернуть unique_ptr или optional, но хотелось бы без всего лишнего. Думал через IILE аргументы получить, но тогда придется вызывать getArgs два раза.
>>1647672Непонятно зачем тебе именно этот 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()){}};
>>1647821Спасибо! Только вот тут > __B () : a(buildA()){}Вызовется move-конструктор или "a" создастся на месте? Важно, т.к. тип не копируется и не перемещается
Анончек, как замутить трассировщик с фигурками прямоугольника, сферыи треугольника? С первыми двумя ± ясно, про них кучу статеек, а вот с треугольником. задаю его по трем вершинам, считаю нормаль плоскости треугольника, а д-дальше?
>>1647921Вызовется move-конструктор.>>1648028https://stackoverflow.com/questions/46065704/why-isnt-rvo-applied-to-base-class-subobject-initialization
>>1647994>std::string_view>гарантии на терминатор нет>в функции хуй передашь потому-что функции принимают const char*>нельзя создать из двух итераторов до 20-го годазаебись класс, прямо по заветам плюсов - неудобный, ненужный, и бессмысленный.
>>1646989> Понятно с положительными, но как он меняет отрицательные числаОбъясните в чём прикол. Положительные и отрицательные же одинаково представлены в памяти, только у отрицательных первый бит в 1 установлен. В чём проблема тогда?
>>1648119> гарантии на терминатор нетГарантия на плечах программиста> в функции хуй передашь потому-что функции принимают const char*.data() как бы?> нельзя создать из двух итераторов до 20-го годаНу ведь можно же теперь, че бухтишь то?
>>1648159>.data() как бы?А думаешь к чему первый пункт был? Тебе нужно ГАРАНТИРОВАТЬ что у тебя там будет нолик, иначе либа где-то в своих недрях крякнется и ты уйдешь на пару дней в дебаггинг. Зато на каждом углу пиздят что const std::string& устарел и его только долбаебы используют.
Видел на ютубе, что в с++ 20 завезли модульность. Есть ли вообще объективная причина отказа от старого формата (объявляем в .h, а определяем в .cpp), неужели он настолько не удобен? По мне вроде наоборот всё лаконично.
>>1648246Препроцессор останется, можешь и дальше свою laba2.h инклюдить. Модули не для этого придумывали
>>1648249А зачем они нужны? Просто некоторые примеры кода на последних стандартах уже начинают походить на С# или Java. Походу всё в эту степь движется.
>>1648256>Положительные и отрицательные же одинаково представлены в памяти, только у отрицательных первый бит в 1 установлен.>Почитал. Представление чисел от этого не поменялось.Позорище.
>>1648279Значит, они не>одинаково представлены в памяти, только у отрицательных первый бит в 1 установлен.
>>1648284Я не это имел в виду.Хоть число положительно, хоть оно отрицательно, оно займёт одно и то же количество бит, но при этом у отрицательных первый бит всегда будет установлен в 1.
>>1648202>>1648217Схуяли его нет? Нет гарантии что он будет там, а есть он в 99% случаях, это гарантирует программист.
>>1648325Получается что string_view бесполезен везде кроме двух случаев (это вся строка целиком или это последняя подстрока). В каком-нибудь сплите csv строки придется для каждой подстроки все равно создавать копию string. Ну и нахуа? Вообще очень плохо сделали этот вью.
>>1648325>используется точно также как и const char* но весит в 2 раза большеОхуенно полезный класс, ничего не скажешь.
Аноны, а почему нету книг по Visual C++ для свежих версий 2017-2019? На том же рутрекере самая свежая датируется 2013 годом, по C# дохуя...
>>1648405Тебе нужны книги по С++, а не по Visual C++.На легасях типа MFC\ATL никто не пишет>>1648406Красноглазый даун порвался
Как можно реализовать в крестах список (list) как в пайтоне (по сути массив, в который можно добавлять элементы любых типов - char, int, double и т.д.)?
>>1648533Подозреваю, это laba3.cpp, в которой хотят, чтобы он продемонстрировал свои потуги в полиморфизм.
>>1648499> Тебе нужны книги по С++, а не по Visual C++.Мне нужная такая чтобы она одновременно и по плюсам была и по среде. По C# же полно таких, по билдеру таких полно было в эпоху его славы, да и по старым версиям VS не мало.
Ананасики, приветЯ сам пишу на Си и Плюсах, да и вообще я лоу-лвл червь, но меня беспокоит (или, скорее, интересует) один вопрос - почему такие япы как Си и Плюсы жили, живут и будут жить еще N лет, и на которых будут продолжать писать тонну нового софта (а легаси никуда и не денется), а такие языки, как Раст (ничего не имею против Раста, честно, просто как пример) неизвестно еще выстрелят или нет. Выстрелить == господствовать в своей отрасли, в данном случае речь идет о лоу-лвл системном софте.Делитесь мыслями почему так устроен мир лоу-лвла и почему это, скорее, не изменится в ближайшие лет 20? А если и изменится, то когда, на Ваш взгляд?
>>1648544в C++ так не пишут вообще. Это строго типизированный язык не просто так.>>1648548Вижуал студия как среда осваивается за 2 дня. Зачем там книги - не знаю. Но с 2013 до 2019 сильно ничего не изменилось.
>>1648552>почему что-то (что обошло сотню конкурентов и является исключением из правил) за 50 лет успело устояться, обрасти легаси, всё еще живет и будет продолжать жить (ближайшие 20 лет)??????!!!!!!!>почему что-то новое неизвестно выстрелит или нет?????!!!!!!!!!!!!!!!!!!!!!!!!>ДЕЛИТЕСЬ МЫСЛЯМИ ПОЧЕМУ!!!!глубокие вопросы от лоулвлщика в треде
>>1648567зачем так жестко, анонВедь основная проблема вокруг Си и крестов - это их небезопасность. В серьезных проектах даже боги этого языка делают ошибки, очень неочевидные, но все же ошибки. Раст создали с целью элиминировать класс ошибок с памятью, ибо импакт от атак, связанных с эксплуатацией ошибок работы с памятью, самый сильный, как ни крути. За жалких 5 лет существования Раст даже успел немножечко хайпануть и был избран некоторыми конторами как основной ЯП разработки софта, связанного с блокчейном, как раз из-за его безопасности. От ошибок логики и дизайна не спасет ни один ЯП, но вот от ошибок с памятью - таки реально. Поэтому и интересно сможет ли Раст за N лет выехать чисто на этой своей фишке или же захлебнется, ибо 90% контор похуй на секьюрити, лишь бы в сроки сдавали проекты и лилось бабло?
>>1648588подразумеваешь, что боги языков не пишут серьезные проекты, кроме самого языка и срания в твиттере?
>>1648588А ты открой CVE и посмотри.Как пример, в ядре Линукса за 2019 год нашли около 600 дыр.Винда, макось, мобильные ОС - не исключение.Любой крупный софт, написанный на Си и крестах, имеет баги, нередко эксплуатируемые. И патч одной дырки в проектах таких масштабов может вызвать появление 3-5 новых дырок в других местах в проекте. Тебе любой исследователь безопасности об этом расскажет.
>>1648545Эвристика-то простая. Просто ищешь, до границы какого байта выставлены все биты - это и есть размер твоего целого.
>>1648596>>1648600>>1648616>>1648622Идиоты блядь. Напишите название проекта и имя разработчика-бога-c++, который допустил там ошибку. Можете ещё дату внесения ошибки в качестве бонуса.Ебучие мантры блядь, как я уже заебался их слушать. Вы ещё про goto мне что-нибудь спизданите, выблядки
>>1648646> Вы ещё про goto мне что-нибудь спизданите, выблядкиЭто ты тот необучаемый дебил, который лечил, что GOTO заебись?
>>1648649> Это ты тот необучаемый дебил, который лечил, что GOTO заебись?Нет. Тот выблядок ничем не лучше первокурсников, которые ни разу в реальном коде goto не видели.
>>1648652>основная проблема Си и крестов>Си и крестовАлсо, я не особо помню, какие широко используемые программы, связанные с безопасностью, вообще написаны на плюсах. Только Botan вспоминается (среди CVE есть несколько с уровнем 10), OpenJDK (в сане и оракле явно не лохи работали, а сколько дыр было) и винда (думаю, нет смысла приводить все её уязвимости).
>>1648646>напишите дату бага а я напишу что этот разработчик в моем понимании не "разработчика-бог-c++," и затролю вас))))Залетный блядь, съебись тралить на пикабу.
Есть классУ него есть два наследникаЯ создал функцию bool для проверки вводимых значений переменных в классах-наследникахПроблема в том, что после ввода данных, программа вместо их вывода, снова запрашивает ввод полей базового класса и только потом выводит true или false для поля класса-наследникаЧем фиксить?)
>>1648717переписыванием своей хуиты правильно. сделай минимальный репродюсибл пример. рассказывает про какую-то функцию проверки, а потом с какого-то хуя у него ввод данных появляется, а потом еще и вывод.
>>1643956 (OP)Вкатываюсь с нуля,читаю с++ без страха,какой компилятор для новичка лучше?Язык учу,чтобы вкатиться в 3дпринтеры
>>1648731чувак это вообще законно?bool publications :: isOversize(){ book B; type T; return B->getdata() >= 800 ? true : false; return T->getdata() >= 90 ? true : false;}
>>1648731> 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 и не выключай до конца жизни.
>>1648731в getdata() нет return, возвращаются случайные числав isOversize() используются неиниацилизированные указатели и вообще непонятно что должно быть
>>1648730> какой компилятор для новичка лучше?мне козалось компиляторы не различаются на "вот этот для новечка лучше", "а вот этот для продвинутого пользователя", и "а вот этот только для экспертов". конечно же нет смысла использовать что-либо кроме кланга или гцц.
>>1648574> Все на ютубе.Это вот и хуево, что все пиздят, а не пишут. Терпеть нимагу видеокурсы, это во первых долго, читаю я гораздо быстрее, да и удобнее читать, а во вторых, англ.речь на слух очень плохо понимаю в отличии от текста.
unique_ptr нельзя передавать как аргумент функции, но можно передать ссылку на него. Ничего страшного не случится ли при этом? Типа утечек памяти
>>1649274Ну ты сравнил! Где загнивающий говнопидер, где скоро начнут крыс есть, и где Суперсибирск - город будущего и сверхлюдей, де факто столица мира?
>>1649274я просто не знаю ничего на питер, вот и не написал.>>16492932ой курс не рановато для стажировок? Ты в универе пока только сортировки еще проходишь рофл.
>>1649297> Ты в универе пока только сортировки еще проходишь рофл.Сортировки были на первом курсе так то.
>>1649311Зависит от школы. Во всех провинциальных школах, где я учился (много раз переезжали), везде максимум был ворд с экселем. Один раз в 9 классе что-то на паскале пописали.Да и пузырёк - дносортировка. Интуитивно её можно вывести, когда хоть раз подумаешь как отсортировать массив, а вот слиянием уже хуй школьцам объяснишь
>>1649342Я учился в такой же провинциальной школе в 90-е, тогда и компы то не везде были. Никаких всеобщих учебных программ, все зависило от учителя, поэтому успел поизучать бейсик, паскаль и си (сортировке учил сишник, и вообще был самый адекватный)
>>1643956 (OP)Братан, я не понял, а где код в гитхабе? Сорян, я не понял, какая цель треда? Пишем бота? или что происходит?
Что такое итераторы ввода и итераторы вывода. input и output. Где еще можно про всякие ifstream ofstrem и прочую ебень почитать? Везде где читал, они даются типа как данность, т.е. вы уже должны о них знать.
>>1648781о да, я целый год смотрил видеоуроки по си++ и прочей хуйне, самое смешное, стал охуенно понимать английскую речь, а вот си++ значительно хуже. Тут блять и на русском хуй проссышь.
Поясните за статические методы, они могут использоваться как обычные функции? Типа для избежания дублирования кода помещать вызов статического метода в обычные? Если логически они к классу относятся.
>>1649907Статические функции это некий сверхразум который существует отдельно от класса. Например с помощью статический ф-ий можно следить за количеством экземпляров класса.
>>1649832>целый годОру блять, за год можно наизуть стандарт C++20 выучить при желании, в придачу шаблоны и параллелизм
>>1649794Чел, у меня были эти книжки по Борланд Билдеру в детстве, нахуй такое надо? Там треть книги это скриншоты менюшек (особенно доставляла инструкция к какому-нибудь визарду, которая могла занимать десяток страниц скриншотов next>next>next), треть это невнятные бойлерплейты для создания одной кнопки, и треть тупое перечисление функций или классов из АПИ. Серьезно, обучалки как пользоваться IDE сейчас есть на ютубе.
>>1649895Все там есть. Итератор это класс- обобщенный интерфейс адресации и доступа к данным, чтобы, упрощенно говоря, ты мог одинаково пройтись и по массиву, и по множеству, и по файлу, и по любому своему хитровыебанному классу со стандартным интерфейсом.
>>1650072Кстати (другой анон), что курил Степанов, когда придумал "итераторы вывода" https://en.cppreference.com/w/cpp/named_req/OutputIterator. Зачем нужна эта порнография, если это, по сути, равносильно Callable без аргументов?
>>1650061ну у меня есть работа программистом, семья, бизнес. Я в 20 лет курс матана осваивал за пару недель и сдавал его на отлично, а сейчас мне уже за 30, я где-то час каждый день читаю техническую литературу, за три месяца еле-еле скилл подтянул.
>>1650072ну вот я смотрю такой код у меня есть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" а введения особо там нет.
Как думаете, лучше BMP файл целиком в память засунуть или читать блоками? Там просто неприятно будет со структурами вначале работать, если сделать блочно.
>>1650242есть память - засовывай. Нету - не засовывай, в чем проблема. Или через Memory Mapping читай
>>1650231Зависит от файловой системы, дефрагментации и т.п., проверяй экспериментально.>>1650228Я сначала вообще не разбирался как они работали, тупо копипастил и относился как к чему то типа указателей, на магию инсертеров не обращал внимания. И мне кажется массово это стали использовать только с массовым использованием auto, до этого было лень пердолиться с именами типов.
>>1650231Равный размеру файла, не? Запроси размер файла для начала, а уж потом выделяй под него буфер.
>>1650353Как-то грустно. С++ же старается выходить максимально быстрым, а тут мне надо тупо уровень сишки юзать.
>>1650255Братка, я к сожалению профессиональный разработчик, в том числе и на си++, мне нельзя "не понимать как что-то работает". Иначе весь проект пиздой накроется, си++ это такой язык где надо понимать абсолютно все. Досконально. Иначе при большом объеме все развалится.
>>1650493Плохой ты проф разработчик, если не знаешь, что суть в стл в том, что тебе не надо знать что и как работает.
>>1650467>Как-то грустно.А ты бы тесты на скорость сделал перед тем как грустить. fstream просто обертка вокруг FILE, там основной затык должен быть в операциях ввода/вывода.ЗЫ и никогда не используй end
>>1650548Он делает флаш буферу, при больших объемах может сказаться на скорости записи. Старый добрый '\n' - наше все.
Пчелы, а использования синтаксиса Си в С++ является правилом плохого тона? т.е. могу ли я например юзать define и прочие вещи в С++ и не быть обсмеянным? Или лучше юзать какой-нибудь const глобальную переменную для таких вещей и полностью отказываться от синтаксиса Си?
>>1650662>>1650773#ifdef _DEBUGconstexpr bool isDebug = true;#elseconstexpr bool isDebug = false;#endif...if constexpr (isDebug)...
>>1650662дефайны нужны только для кроссплатформы или дополнительного кода в дебаг-режиме (собстно вот та самая условная компиляция).Константы через constexpr auto ебашь
>>1650773Она не нужна. Создавай отдельные файлы под разные платформы и нужные идут через билдсистему.
>>1650823Зачем в 2к20 вообще может понадобиться условная компиляция? Просто для нужной платформы будут нужные файлы - os_windows.cpp, os_linux.cpp.
>>1650853Ну, например делать дополнительные проверки/логгинг в дебаг билдеИли отключать отдельные фичи по необходимости
У меня такое ощущение, что стандартную либу делали какие-то безумцы-шизики, ибо она совсем не единостильна.
>>1650987Нупростите, у нас не питончучхе, чтобы верховный лидер определял единый стиль всей библиотеки.
Анон, а почему для data science так популярен питон, а не си++, ведь это статистика, ведь там больше данные, точнее их объем, по идее должна быть важна скорость и для этого с++ подходит точнее всего. Так отчего питон топ 1 для data science?
>>1651222Питон там обычно только обёртка над плюсовыми либами. Все вычисления делает плюсовый код, а питон - удобный фасадик к нему.
>>1643956 (OP)Как пишут настоящие крутые прогеры, когда у нас есть condition с булевой перменной?if (condition) { do_some_code() }или:if (condition == true) { do_some_code() }?я просто в ЖС-параше обитал
>>1651366Разе не надо удостовериться что мы используем именно boolean values и напрямую проверить истинность?
Как следить за очисткой ресурсов на си (без эксепшенов) ? Goto? Do-while цикл? Проще конечно разделить функцию на подпрограммы, но не всегда есть возможность.
>>1651499Поверка на нулевой это и есть condition.>>1651528>Проще конечно разделить функцию на подпрограммы, но не всегда есть возможность.Ты там корутины с помощью goto эмулируешь что ли?
>>1651222Чёрт, я после этого поста почему-то вспомнил, как года 3-4 назад пытался разобраться, как в Tensorflow устроена свёртка. Это ЁБАНЫЙ ПИЗДЕЦ, а не кодовая база. Caffe намного лучше зашло.
>>1651528Раз это CPP тред то юзать unique_ptr с кастомным делитером и оно все само когда надо освободит.
>>1651645>static_assert(std::if_bool_convertible(condition))>if constexpr (static_cast<bool>((determine_condition_status::boolean_condition_checker(std::forward(condition))::value))
>>1651645> if constexpr (std::is_convertible_to<bool, std::invoke_result_t<boolean_condition_checker, condition>>))> return (static_cast<bool>(boolean_condition_checker(condition)));
>>1651645class 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}
Какие есть бест практис для апдейтов софта?В общем, есть одна программа, которая работает на нескольких компах с виндой. Думаю запилить для нее автоапдейтер/перезапускатель. План таков: поднимаю веб-сервер, апдейтер таксает с него курлом текстовый файл с версией раз в несколько часов и, если версия оказывается больше, чем локальная, то скачиваем зип-файл с апдейтом с того же сервера и распаковываем.Какие подводные камни? Я просто совсем нуб в этих делах, никогда не видел как профессионалы такие вещи делают.
>>1651844>какие подводныеНу например запущенный процесс, может залочить бинарник, поверх которого ты распаковываешь.
>>1651846В смысле он сам себя залочит? Ну это понятная ситуация с перезапуском.Или ты имеешь ввиду, что какой-нибудь условный антивирус может залочить файл и стоит долбить его, пока он не освободится?
>>1651921Это то, как в памяти и процессоре что будет располагаться - например, через какие регистры/смещения в стеке передаются параметры, кто чистит стек вызывающий или вызываемый, и т.д.
>>1652053Мой интеллект намного превосходит медиану по Европе, между прочим. Это просто давно установленный факт, ничего не поделатьТак что выбирай слова осмотрительнее, когда со мной разговариваешь
>>1651964Это типа как майкрософтский Component Object Model (COM)? Там тоже вроде бинарный интерфейс.
>>1651964Занятно, что согласно базару Аленки, ABI - это вещи, которые стандарт не описывает. Каким образом в С++20,30,100500 они планируют поменять то, что к стандарту не имеет никакого отношения? Мб ориентацию рубистов еще свапнут?
Не могу инициализировать карту. Надо каждой строке дать в соответствие русский символ, сделал такую картуstd::map<std::string, wchar_t> ={{"str", 'д'}}Но пишет, что д слишком большое число для этого литерального типа.
>>1652421Как в крестах вообще разные кодировки работают? Как перевести чары из скажем ascii в cp1251?
>>1652476Для начала надо понять что есть кодировка исходника, а есть кодировка уже во время исполнения.
>>1652363Не смотря на то, что в стандарте нихера нет - они все равно стараются не ломать ничего. Считай, некое джентельменское соглашение с дополнительными гарантиями.
Внезапно появилось желание написать какой-нибудь ГИС на Qt в качестве пет проджекта, что-то вроде аналога google earth.Вопрос, с чего лучше начать? Пока что обладаю базовыми знаниями ООП и немного про STL знаю (из спортпроги, лол)
>>1652541Ну, начинай писать, хуле еще делать. Скилл так и появляется, когда ты решаешь проблемы, которые не знаешь как решать.
>>1652669И компьютерное зрение пишется на питончике. Так же, как и с машобом, питон под капотом дёргает плюсовые либы, сам питон там в роли glue code.
>>1652514В стандарте от ABI и всяких подобных вещей по типу выбора конкретных механизмов реализации виртуальных методов абстрагировались намеренно и полностью, а не так что "пацаны ну тип мы тут канешна не будем писать в стандарте тут и так дохуя но забьемся что виртуальные методы через таблицы делаем". Поэтому нихуя так и не понятно
>>1652481В Пистоне я мог открыть файл (файловый объект unix) с помощью функции open и задать там кодировку для открытого объекта. Мог сохранять в иной кодировке, мог работать с двоичными данными (bytes, bytearray) и свободно кодировать/декодировать инфуКак это работает в плюсах?
>>1652777Какие еще теги оформления знаешь, петуш?Твой сарказм не в тему, никто не настаивает на описании ABI в стандарте - это даже правильно
http://www.cpp.sh/4oallПочему оно работает, если на строках 46, 48 и 50 типы до и после new не совпадают?
>>1652931Так Shape же их родитель, почему что-то должно не работать? Объекты класса всегда можно приводить к типу который родитель этого класса и работать с ними как с объектами родительского класса, наоборот вот нельзя.
>>1652938Но ведь это всё равно разные классы. В шапе нету того, что есть в производных классах, они отличаются.
>>1652953> В шапе нету того, что есть Ну так то чего нет использовать нельзя. Даже если у тебя объект типа Круг - ты его можешь использовать только как шейп, пока явно не приведешь к типу круг.
анон, что это такое за чдо юдо?(двойная функция) в классе функция а через точку ещё одна функция или что ?x0.Account("123456").Balance() == -2190
>>1653207метод аккаунт возвращает какой-то объект, назовём его "ret". представь теперь, что> x0.Account("123456")превратилось в ret, а значит> x0.Account("123456").Balance() == -2190превратилось в> ret.Balance() == -2190
>>1652361clang более строго следит за стандартом: шаг влево, шаг вправо - ошибка. gcc скомпилит всякое говно и слова тебе не скажет. Вообще, со сложным кодом gcc работает хуже, тут тебе и Internal compiler error, и неспособность шаблоны сопоставить иногда, и сжирание памяти.Короче, с clangом приятнее работается, не говоря уже про сопутствующие с ним утилиты.
Наши треды состоят почти целиком из глупых вопросов уровня людей, которые кресты первый или второй раз в жизни видят. Посмотрите на треды о других языках, там реально интересные задачи и проблемы обсуждают, новые концепции и либы. Вам не стыдно? Тут вообще есть люди, которые серьезные вещи на крестах пишут, а не круды на винформах/Qt и не лабы?
>>1653295Ну что ты такое говоришь? Конечно, студентов много, но синьоров тут тоже хватает. Правда активничаем только мы с нвидия-куном
Сап двач.Есть ли какой-либо способ узнать полный список доменов, зная IP и имя хоста? Хочу чтобы выводился пример как на пикрилейтед. Готового кода не прошу, максимум хочется направление где копать. Спасибо :)
>>1653295Что такое круды?Дело наверное в том, что с++ изучают во всех универах и по факту это первый серьезный язык для всех после школьного паскаля или что там сейчас преподают.
>>1653471Это Арч Линукс, а не винда.>руководство есть?Вот тебе руководство: https://wiki.archlinux.org/index.php/installation_guide
>>1653457Есть-ли другой способ помимо использования API сайта? >Курлом дерни то, что ты дернул браузером и распарси ответЗа наводку спасибо!
Гайз, как g++ перевести на стандарт C++17? g++ последней версии, но код по новому стандарту не компилится.
>>1653457Анус себе дерниОтвет в стиле "Чтобы решить таск, спихни его индусам на аутсорс за полцены вопроса"
>>1653482ну, руками крафти ДНС запросы и отправляй по сети. Но нахера, когда можно дернуть курлом апи.>>1653547Щас бы велосипеды делать для уже решенной задачи>>1653533Ты молодец
Вопрос про структуры. Структура - это способ сгруппировать какие-то данные в месте, и расположить в месте в одном участке памяти.struct person{ char const * name; size_t age;};Исходя их этого, можно ли рассматривать эту группировку так, как мы рассматривает обычные переменные - при создании экземпляров или когда возвращаем значения типа структуры.person analysis(int x, int y);
гайс, седня был на собеседовании, задачку подкинули по шаблонам: T<A> pa;T<B> pb;pa = pb;нужно написать шаблонный класс T, чтоб этот код скомпилился. Как это сделать, ничего придумать не смог/
>>1653470>первый серьезный язык+Мылись недавно в бане с потом информационной безопасности, у всех мощные такие хуи по 17-20 см. А вот у дизайнеров-верстальщиков поменьше будут, потому что плюсы для Серьезных Мужиков, а фронт - для пидоров
>>1653535Анонче, а не подскажешь, как сделать 17 стандартом по умолчанию, или чтобы g++ автоматически с этим флагом начинал работать?
>>1653879Тогда у тебя 3 плохих варианта. Самый простой сделать алиас gcc с нужными флагами. Второй, экспортировать переменную окружения CFLAGS. Ну и самый сложный это отредактировать spec файлhttps://gcc.gnu.org/onlinedocs/gcc/Spec-Files.htmlНо я бы посоветовал освоить хотя бы самые азы make и пользоваться им для всех проектов.
>>1653838template <template <typename> class T, typename B>decltype(auto) operator=()(const T<B>) {}Не блягодари.
>>1653934Всё TMP шизофрения. Вот завезут метаклассы и будешь месяцами весь невидимый нагенеренный код отлаживать, потому что о тулинге никто никогда не думает
>>1653838template <class> using T = void;>>1653934Это задача на отсеивание кандидатов с шизофренией шаблонов типа >>1653926 (у которого все равно не скомпилируется), на знание элементарных правил преобразования указателей.
>>1653993Ты создал алиас, а не реализовал шаблонный классА вот этот клоун >>1653926 просто переопределил сравнение, но так нихуя не будет работать, потому что там именно указатели
>>1653838class TBase {};template<class AB>class T : public TBase {};Хуйня, давай следующуюinb4 кококо новые сущности вводить нельзя ИДИ НАХУЙ
>>1654176Там разметка курсивом от двух съеденных макабой звёзд + следующий пост с пояснением. Без указателей и спрашивать бы никто не стал.
>>1654186Ну так это невозможно, лол. Или они не принимают такой ответ?Рабочий вариант только этот >>1653993Тупую макаку сто раз просили добавить тэг кода, но на то она и макака.
>>1654083Дай угадаю, ты из тех дурачков, которые влезли в спор, обосрались с ключевыми терминами, а потом начинают маневрировать, что они это и имели в виду.
В общем, шапку на гитхабе прочитал. Не увидел там проблем с моим ньюфажеским вопросом.В общем, меня смущает кодить в IDE, хочу как хацкер настоящий в каком-нибудь текстовом редакторе кодить. В связи с этим вопросы по правильной структуре проекта и базовым инструментарием. Что я понял в процессе недолгого гугления: нужно gcc или какой-нибудь еще нормальный компилятор и make изучить. Но я что-то не понял а как организовать структуру проекта нормально, чтобы эти штуки нормально же работали. Просто хочется сделать какой-то шаблон, чтобы потом я мог его скопировать и кодить что хочу, а потом нажав одну кнопочку чтобы все собиралось и я не о сборке всего что накодил думал, а о том что именно накодил. Понимаю, что IDE решает все эти проблемы, но как-то несолидно же.
>>1654228>В общем, меня смущает кодить в IDE, хочу как хацкер настоящий в каком-нибудь текстовом редакторе кодитьПотом ты поймешь, что даже сверхлюди типа Эрика Ниблера и Херба Саттера пишут в обычной Вижуал Студии, а студентики надрачивают на консольную хуйню. А никак не наоборот.
>>1654228Начни с элементарного мейка, потому по мере накопления wet кода в нём, смотри, что можно заменить на переменные, что на макросы. Потом и по папочкам распихаешь, на пяти файлах этого смысла нет делать.
>>1654224Чет не угадал. Я в курсе про переопределение, но не знаю что такое сравнение и присвоение? Слижешь после себя говно. Страуструп с комитетом подо мной ходят, а ты залезай обратно на хуй
Немного странный таск, но мне нужно считать файл как бинарный не используя потоки (ifstream) и без использования С. Есть какой-то способ, который относится к современному С++?
>>1653838Нуу типа ыыыclass A{};class B{};template<typename Type>struct T{};template<>struct T<A>{};template<>struct T<B> : public T<A>{};
>>1654330в C++1488 будет https://groups.google.com/a/isocpp.org/forum/#!topic/std-proposals/0cnsHdJvmZY
>>1654318class A;class B;template<typename Type>struct Helper{ typedef void type;};template<typename Type>using T = typename Helper<Type>::type;А так?
Где норм работу на удаленке можно найти на крестах? В моих пердях требуются от 7 лет опыта только лол.На SO нихуя не нашёл, на who is hiring тоже чето не того.Есть идеи где поискать можно?
>>1654347Ебать долго ждать наверное, если сейчас только 23. Как они на почти полторы тысячи стандартов все распланировали?
>>1654418Хз, мне самому пришлось после двух лет на плюсах на питон катиться как проект кончился, пушо вакансий на плюсы не нашлось, а кушать хочется. Мб если месяц посидеть подождать чё и нашлось бы, но нахуй.
>>1654430Расскажи о перекате с плюсов на питон. Изучил его во время работы на крестах? Трудно ли было перекатиться? И как это вообще происходило?
>>1654460Да буквально "здаров есть работа, но там питон, пойдёшь на собес? ну можно", перекатываться на него не нужно, потому что питон по сути псевдокод, ты уже на нём пишешь, лол, ну за неделю перед собесом пописал на нём, задачки всякие поделал, с асинхронностью познакомился, сделал фреймворчик для работы с апи одного сайта ну и всё, на собесе честно сказал, что неделю назад на нём не писал, но описал, чё делал и что за выходные ваш фреймворк покурю и от опытного питониста не отличите.
почему ленивый пидр страуструп так медленно развивает этот ебанный язык?в том же сраном паскале ввели модули и пидорнули препроцессор еще в 1978году.
Двач, пробую считывать информацию из другой программы. В cheat engine много где (к примеру в Pointer scan for this address) пишется "Название процесса"+Адрес. Что это значит? Правильно ли я понимаю что "Название процесса" имеется ввиду базовый адрес с которого запущена программа а +Адрес это сдвиг на котором находится нужный указатель? Я больше 5 лет на C++, просто никогда особо никогда не лез в эти дебри дизассемблинга. Подскажите. Вопрос наверное не совсем по теме треда, но я хз где ещё спросить, а тут всё равно много разбирающихся в этом людей.
>>1654587Так а чё, всё равно это не ответ на задачу, это типа мысли вслух как бы я пытался выкрутиться, если бы мне такое дали. А так чёт хз, похоже никак не сделать?
Как получить массив граничных точек QPolygon-а? Они же где то должны храниться, эти пиксели? Что то не могу найти в документации.
В qt память сама освобождается, я правильно понимаю? В деструкторе не надо вызывать delete, если при вызове new указан в качестве предка главный виджет или его производные.И с компоновочными виджетами это как работает?
>>1655085А что по-твоему есть полигон, если не набор вершин? Зайди в исходники и посмотри, как работает этот метод. Судя по описанию второго параметра, алгоритма там два и оба простые
>>1654717>Я больше 5 лет на C++>"Название процесса"+Адрес. Что это значит?>В cheat engine>просто никогда особо никогда не лез в эти дебри дизассемблинга
Когда STL напишут для C++20?Ну всм когда я на довольно свежей версии дистра сделаю apt upgrade, использую что-нибудь из std::ranges::* и оно найдётся компилятором?
>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
>>1655111>А есть что то другое, кроме QPolygon, чтобы можно было область на рисунке выделить? Что тебе сделать-то надо в итоге?
>>1655409>Выделить область, нарисовать градиент. Ну и рисуй свой полигон через QPainter. Зачем тебе пиксели-то?
>>1655175Имхо во времена антиальясинга и субпиксельного рендеринга наивно надеяться что есть некий четкий набор пикселей. Но ты можешь попробовать провести линию между вершинами, алгоритм Брезенхема простой.
Двач, как перевести hex значение из void указателя в int? Что-бы арифметикой пользоваться можно было, в самих указателях на сколько я понял это делать нельзя.
Сап зк))))))))Время от времени в коде на гитхабе как перед вызовом функции ставят ::, при том что функция из текущего скоупа видна. Вот например так:auto mamkaOPa=::roditMamku();Вопрос: зачем так делать?
>>1655513> Ну и рисуй свой полигон через QPainter. Зачем тебе пиксели-то?Мне надо не полигон нарисовать, а выделить область и нарисовать градиент в этой области. А чтобы рассчитать градиент, нужно работать с пикселями.
>>1655887Да это понятно, если есть конфликт имен, и мы форсим тот что у аутер скопе. В случаях, с которыми я сталкивался, была только одна функция с нужным именем, никакого конфликта не могло возникнуть. Мб это какой-то задел на будущее, в случае если появится функция с таким же именем с текущем пространстве имен, логика не сломается, потому что все равно будет вызвана нужая.Еще как пример, эти :: некоторые используют даже для вызова WinAPI: ::СreateFile(...). Какой долбаеб будет добавлять функцию с таким же именем, я не знаю; тем не менее эти двоеточия вхуяривают незнамо зачем
Ньюфаг иттЧто скажете по книге Лафоре ООП(дошёл до 11 главы и застопорился на ебанутой задаче)? Какие рекомендации к изучению?
>>1655923Ещё вариант, что код писался адептами Unity build. Лет десять назад в одном довольно большом проекте с одним ебланом поссорился, когда он мой лаконичный код начал мазать своим говном, состоящим из :::::::::::::. Видите ли, у него иначе не собирается
>>1655876>а выделить область и нарисовать градиент в этой области.Тебе надо на битмапе нарисовать область выделения линией, а потом залить ее градиентом. Все это умеет QPainter.
Вопрос про статик методы.Почему здесь компилятор ни на что не жалуется?http://www.cpp.sh/4oallИ почему здесь жалуется на Triangle, Rectangle и Octagon в статик методе createShape?http://www.cpp.sh/3545a
>>1656155Наверное. А зачем оно тебе внутри? Обычно внутри только объявления, а тела отдельно уже идут.
>>1655713Ну в 1990-х, наверное. А сейчас координаты линии уйдут на gpu, где будут рисоваться по float
Почему статическое поле можно определить только вне класса, тогда как статический метод можно определить как в классе, так и за его пределами?
>>1656219Объявление класса само по себе не создает никаких сущностей, только определяет структуру объекта.Соответственно если предполагается использование static-переменной, которая не будет создана конструкторами как в случае с nonstatic-полями (потому что по определению она "общая" для всех объектов класса), её надо создать, что и происходит, когда она определяется в глобальной области видимости.К слову, если это поле const/constexpr (во всех случаях использования поля компилятор может подставить значение), то возможно определить и в теле.А вообще я всё это в рот хуярил, кроличья нора ебаная
Как блять создать таблицу с помощью двумерного массива и printf, чтобы изменением чисел в массиве можно было менять количество столбцов и строк.
Двач, подскажите правильный способ узнать сколько байт в текущей операционке занимает указатель для программ скомпилированных в 32/64 бит.
>>1656626Это мне даст размер указателей на битность данной скомпилированной программы.Мне надо знать размеры как для 64 бит программ, так и для 32 бит, в разных операционках они разные, вроде где-то для 32 программ указатели могут быть 6 бит, а для 64 8 бит.
>>1656628>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 от указателя и будет тебе счастье.
Пчелы, это пиздец!Какую ide предпочитаете? Я до недавнего времени Clion, но это пиздец, какое обновление подряд они не фиксят проблему высокой нагрузки на проц под 350% тупа с того, когда ты вводишь пару строчек кода, блять ну это неадекват нахуй, почему я на маке блять с 16гб оперативки и нормальным процом должен слушать звук вертолета и жарить яйца нахуй на своем процессоре, блять ладно бы я был такой один, но нет нахуй, весь багтрекер JetBrains заполнен ебучими блять просьбами исправить эту хуету и им похуй. сука заебало.Так что продублирую свой вопрос:Какая ide довольно удобно и хороша для разработки? Алсо: а как починить CLion?
Какой максимальный размер буфера, который можно отправить по TCP?И происходил ли автоматическая фрагментация данных при отправке больших файлов по WinSock?Отправлял файлы до 80 мб - все отличноПопробовал отправить 2гб - badalloc
Ребята, всем привет. Простите, но из-за сложившейся ситуации не могу нормально работать и обучаться, а сроки уже горят. Вкратце, если кто-то пиздец шарит, то может помочь решить задания по универу? Там банальная хуйня какая-то, но все же. Буду признателен, всем спасибо.
>>1643956 (OP)ROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.htmlROLL https://2ch.hk/pr/res/1657102.html
Объясните, пожалуйста, как мне передать в функцию другую функцию с помощью указателя, но так, чтобы одна из двух переменных этой ф-ции была зафиксирована. Например, у меня есть f(k,x) и я хочу передать ее в другую функцию, зафиксировав k. Т.е. у меня она будет уже функцией одной переменной. Вариант передать и функцию, и k, а потом просто подставить не подходит
>>1656624Если на этапе компиляции:#if sizeof(void) == 4// my govnocode for 32 bit pointers#elif sizeof(void) == 8// my govnocode for 64 bit pointers#else// ya debil#endif
>>1645330Фу блядь, фу на хуй - у тебя там один неинициализированный указатель другого в жопу ебёт! Брысь к себе под шконку - формочки на ПХП писать за борщ!
Поясните плиз, чому я добавляю виджеты в QVBoxLayout по порядку, а они потом накладываются друг на дружку? Получается что то типа пикрила. Блин, эти лэйауты все время подлянку устраивают, устал уже, не понимаю их логики.
>>1662660Используй Qt Designer. Там формы за пару минут накидываются. Намного удобнее, чем в коде что-то пытаться изобразить.