Двач.hk не отвечает.
Вы видите копию треда, сохраненную 30 марта 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2 1342454
Работающие аноны, а какой продукт вы разрабатываете на плюсах, какой у вас стек?
3 1342478
>>42454
Около-виртуализацию пишем самопальную, Виндовс 10\2016, Вижуал студия самая последняя, Виндовс драйвер кит, решарпер\всякие разные ништяки по желанию. С++17 разрешен и активно используется.

Из внешних зависимостей только какая-то говнолиба для парсинга жсонов
sage 4 1342482
SAGE

Тред уже был, хоть и кривой >>1339902 (OP) .
Хватит плодить сучности.
5 1342641
>>42482

>Тред уже был, хоть и кривой


Дебил, тот тред создан задолго до бамплимита и ссылку на него как на перекат вбросили по-приколу.
6 1342975
Посоны, у меня при дебаге выбивает исключение RPC Server is unavaible. Что делать? Пробовал гуглить, включать службу в брандмауэре Windows, но что то не помогло нихуя.
Код должен открывать файл и читать оттуда.
изображение.png250 Кб, 1026x113
8 1343006
Пиздец просто. Сап, студент на связи. Преподы нам вообще нихуя не обьяснили, а из статеек в инете я нихуя понять не смог. Ну вот обьявил массив этих ебучих указателей, записал туда ссылки вроде как на строки, но блядь по делу-то там оказываются только первые элементы строк. Обьясните как это сделать умоляю, я уже два часа ебусь и никак не понимаю принцип работы этой хуйни
9 1343022
>>43006
strcmp
10 1343023
>>43022
Мне это надо реализовать через указатели на строки блядь, нахуй мне эта функция? Лишь бы сказать чего
11 1343033
>>43023
когда ты не очень умный
12 1343035
>>43033
Ну так обьясни мне дебилу тогда
13 1343050
Ладно, сформулирую вопрос иначе. Как мне получить указатель на, скажем, вторую строку массива, ибо когда я делаю так как я это понимаю, я получаю указатель на первый элемент строки.
14 1343053
>>43050
char a[N][M] это сишный массив из N строк, максимального размера M.

a[0] - первая строка
a[1] - вторая строка
Сравнение - strcmp(a[0], a[1]).

В чем твоя проблема?
15 1343055
>>43053
Мне УКАЗАТЕЛЯМИ, УКАЗАТЕЛЯМИ НАХУЙ нужно это делать, а не готовой функцией, ну еб твою мать
Про то, по какому принципу сравнивается целиком вся строка, я даже спрашивать не хочу
16 1343058
>>43055

>УКАЗАТЕЛЯМИ


Заебал, код покажи че ты там сделал. Телепаты в отпуске.
17 1343059
ТАК СТОП. ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ, ТО УКАЗАТЕЛЕМ НА СТРОКУ КАК БЫ ЯВЛЯЕТСЯ a[0]? Т.е. это и есть указатель? И мне нужно ебаться с этими непонятными звездочками? Я уже окончательно запутался
18 1343060
>>43059
не нужно*
фикс
19 1343063
>>43059
ну это твоя главная проблема, додик. Ты вообще не знаешь С. Иди почитай, что такое указатели, что такое сишные строки.
20 1343068
>>43059
Это первый элемент, указатель это a, a[0] то же самое, что *(a+0), то есть a.
http://faqs.org.ru/progr/c_cpp/cfaqrus.htm
Надо в шапку добавить
21 1343072
>>43006
Похоже, что в задаче строками называют не C-строки, a row двумерного массива. Тип элемента не обязан быть char.

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


Чтобы эта хуйня имела смысол, необходимо чтобы каждая строчка имела одинаковую длину.
siEOrHxJgsU.jpg43 Кб, 569x569
22 1343082
>>43006

>Поступил в вуз на ит


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

23 1343097
>>43068
Благодаря тебе разобрался, спасибо, анончик, добра
24 1343127
Помогите, как в интовый массив вместо нуля добавить пробел
for (int i = 0; i < arraySize; i++) {
for (int j = 0; j < arraySize; j++)
{
if (elements[j]==0)
{ elements[j]=(char)" ";
}
cout << " " << elements[j];
}
cout << endl << endl;
}

не работает, стринг не шарю
25 1343128
>>43127
"abc" - указатель на строку. Ты должен добавить символ-пробел, а не строку, первый символ которой пробел, а символ обозначается одинарными кавычками.
26 1343129
>>43128
сложно для чела который указатели понял на уровне int *hi=&a;
27 1343130
>>43127
if (elements[j]=="0")
28 1343132
>>43130
на двач так скопировалось, это не кейс
даже если правильно писать пробел заменяется на интовый номер таблицы аскри
29 1343133
>>43132
Ааа, ИНТОВЫЙ массив. Никак. Он на то и интовый, что в нем числа, а не символы
30 1343139
>>43127
Можешь попробовать сохранить код пробела и потом постоянно преобразовывать его в чар или перегрузить оператор индексации массива, чтобы там меняло код на символ.
image.png6 Кб, 200x147
31 1343258
Вопрос про Qt и Excel. Нашел стопицот примеров кода с открытием книги с диска, но ни одного примера к подключением к УЖЕ ОТКРЫТОМУ документу.

я об этом:
XL = new QAxObject("Excel.Application", this);
image.png32 Кб, 603x325
32 1343264
>>43258
А, всё, нагуглил наконец решение.
1549546933920.jpg84 Кб, 706x926
33 1343456
Есть у класса поле с массивом указателей (указателем на указатель), вроде перегрузил индекс для класса, чтоб возвращал указатель, но приравнивание для него не работает т. к. не lvalue.
Мб я как даун перегрузил? Ну естественно да.
34 1343457
>>43456
FILE*& operator[](int index)
35 1343458
>>43457
Нормальный хуй. Чаю тебе анон. Как же мне не по глазам было..
36 1343583
Сап, нашёл книгу Qt 5.10. Профессиональное программирование на C++, у меня знания уровня основных понятий, ну тоесть функции, структуры, до ооп на плюсах дошёл, и на жабу перешёл так как EPAM через пол года на треннинги пытаться. Так вот, эта книга с моими знаниями будет слишком непонятной, или можно читать?
37 1343652
>>43583
Если планируешь на жаве, то кют будет бесполезен. Это по сути фреймворк уровня дотнета, построенный на расширении крестов, с метапрограммированием, рефлексией и системой общения объектов, не свойственной стандартному ооп. Плюс новый реактивно-декларативный интерфейс.
38 1343671
>>43652
я понимаю, но некст 2 семестра qt на плюсах, поэтому хочу не хочу, прийдётся освоить, книгу с моими знаниями стоит читать, или что то ещё подучить?
39 1343697
>>43583
И что, норм книга? Смотрел отрывки в гугле, показалось, что те же самые экзамплы с сайта куть.
image.png159 Кб, 1920x1080
40 1343700
>>43697
я не ебу, посмотрел шо кьют 16 гб весит в лучшем случае, скину с 100 мбит интернета в общаге, с понедельника начну читать, если смогу себе позволить сразу её, а пока шо узнал что такое классы и что их в идее надо по разным вкладкам ебашить, КАКАЯ ТО НЕАДЕКВАТНАЯ ХУЙНЯ.
41 1343701
>>43700
Кют не весит 16 гб
image.png1 Мб, 1920x1080
42 1343703
>>43701
хз, галочки по книге поставил, ставил на 3D, 90гб было
43 1343705
>>43583
то всё таки стоит читать, по ходу можно выучить всё недостающее, или стоит что то отдельно до чтения знать?
44 1343787
>>43705
Пиздец ты деловой.
Возьми да попробуй почитать неделю-две. Ты что, блядь, 300 кк/наносек зарабатываешь, что так свое время ценишь?
45 1343788
>>43671
Читай, никаких запредельных фич языка там в основе не требуется. Я его вообще по хелпу в основном изучал, он там хороший и с примерами, кроме может только последних тестовых дополнений.
46 1343893
Блиц-опрос.
Прата и Липпман?
47 1343896
Есть ли вообще какие-то применения таким вещам как "Указатели" или "ссылки". Не понимаю, зачем вообще они нужны, если можно использовать обычные переменные, к чему всё усложнять?
48 1343904
>>43893
Создай опрос на стравполле
49 1343909
>>43896
прочитай чуть дальше свою первую книгу по языку.
50 1343983
>>43788
Спасибо)
51 1343984
>>43893
Прата проще, показывает как можно писать нехитрые программки на c++. Это скорее книга для полного снуля, чтоб вкатиться в для первого знакомства с программированием. Сам язык описывается довольно поверхностно. Простые внятные задачки + есть ответы на контрольные вопросы (но не решения задач).

Липпман сложнее. Упор делается именно на описание языка и STL, а не на программирование как таковое. Задачки часто абстрактного характера и завязаны на ранее написанные классы, почти всегда с невнятной логикой.

Перевод у обеих книжек ужасный + сделан с первых выпусков, до исправления оригинальных опечаток во всяком случае это касается тех экземпляров, что можно скочать бесплатно без смс.
52 1343986
>>43984
доусон годнота
53 1344061
Посоветуйте литературу для изучения low-level системного программирования на С++/C. С меня фотки арбузов.
54 1344065
>>44061
Лоу-левел системное программирование к языку мало отношения имеет.

Ебашишь либо какой-нить референс красноглазого апи, либо богоподобный МСДН. И все.
55 1344089
>>44065
Но вот ебашишь ты МСДН, что дальше то делать, куда применять, кроме как школоВИРУСЫ делать.
56 1344102
>>44089
что тебе надо, то и делай?
Я выучил системное программирование на уберхардкорном уровне когда меня взяли работать системным программистом. Без этого - хуй бы что получилось имхо
57 1344151
>>44102
А вот, что от тебя требовали на этой работе на приеме, какие навыки, какой стэк(LIFO)? Вообще, в основном под какую платформу системные программисты более востребованы, или требуется иметь познания и на шиндовс и на юникс?
58 1344152
Подскажите, пожалуйста, библиотеки для работы с графикой без всяких окон и множества ненужных сущностей на линукс
59 1344153
>>44151
Оверолл больше нужны красноглазые полудурки, мне же повезло найти нормальную работу с нормальной ОС. Требовали очень сильный С++, ну и если есть кернел-опыт то сразу 10 из 10 (мне повезло, писал драйвер на удаленке очень убогий).
60 1344173
>>44153
Что посоветуешь из literature для написания дров и вообще понимания системы и кернел-еблей?
61 1344193
>>43139
а если в массиве изначально были элементы, которые совпадают с кодом пробела? Тогда при выводе они будут заменяться на пробел
62 1344209
>>43139

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


Какой же ты говноед
63 1344212
>>43127
Мне кажется, если ты объяснишь, что, а не как, пытаешься сделать, советы будут гораздо лучше.
64 1344216
>>44209
Хуйня, я как-то реализовал интереса ради индексацию массивов а-ля паскаль [x, y], благо кресты даже такие извращения позволяют.
Кро
65 1344224
На чем можно максимально быстро и просто (в стиле "Си с классами") сделать оконное приложение для Винды? Логика программы на Си есть, надо к ней интерфейс сделать. Желательно с поддержкой от XP и до бесконечности.
66 1344229
>>44224
Qt уж только, если С++. Или wxWidgets, но я за них не шарю.
А вообще...:
-Java Swing
-C# (WinFoms, WPF)
-Tk (python и прочее)
-С (gtk)

Это не ты в ситреде спрашивал аналогичный вопрос?
Вообще, если нужна поддержка ХР можешь на винапи насвинячить.
67 1344240
>>44224
QT, там и примеров дохуя, выбираешь один из видов проектов и появляется окно готовое, все бля
68 1344243
Аноны, начинаю вкатываться, объясните ньюфагу, если у нас два объекта класса А и у обоих есть методы foo(), адреса этих методов будут одинаковыми?
69 1344245
>>44224

>. Желательно с поддержкой от XP и до бесконечности


Qt, самая поздняя 5.6.3 (официально 5.6.1) , дальше не поддерживает ХР
70 1344249
>>44243
конкретно как получить адресс метода класса?
71 1344258
>>44209
Перегружаю все операторы в том числе и new с (), твои контрагрументы? А вообще мой вариант с перегрузкой оператора индексации охуенен.
72 1344306
>>43006
Строка это массив символов. То есть массив char. Ссылка на строку то есть на массив символов указывает на первый элемент этого массива, то есть на первый символ этого массива.
73 1344308
>>43703
Двачую. Я вообще ахуел с этой параши. Лучше буду на винапи формочки клепать чем обмазываться 100гб-фреймворком.
74 1344323
>>44224
WPF с C#. Либо делаешь обёртки над внешним интерфейсом в C++/CLI и используешь их прямо в шарповом коде, либо оборачиваешь внешний интерфейс в extern "C" и используешь P/Invoke из шарпов.
75 1344329
>>44216
Расскажи как ты это сделал (если x и y - инты)?
Перегружать оператор индексации можно только с одним аргументом, а оператор запятой только для классов.
76 1344333
>>44323
Можно подробней о 2 методе?

мимо
77 1344392
>>44329

>если x и y - инты


Инты, но давали в конце класс. Выглядело коряво, да.
78 1344396
>>44333
P/Invoke позволяет вызвать обычные сишные методы из обычной динамической библиотеки. Скажем, у тебя есть метод double foo(char , int) в bar.dll, который ты хочешь вызвать из кода в шарпах (ну или любого языка на CLR). Для этого нужно просто написать https://pastebin.com/EwEJvFYD . Сам не пробовал, но говорят, что работает даже под Xamarin.
Шарпы позволяют довольно хорошо интеропиться с этим делом, есть плюшки типа автоматических конвертеров (string в char
, если стоит в атрибуте CharSet.Ansi или wchar*, если CharSet.Unicode), точное указание того, как передавать структуры с помощью MarshalAs (можно даже указатели на функции/делегаты возвращать и передавать) и прочее. Там много подводных камней, правда, которые я так на ходу не вспомню (некоторые передаваемые объекты нужно удерживать с помощью GC.KeepAlive, передача COM объектов как-то странно устроена и другое).
79 1344397
>>44396

>метод double foo(char звёздочка, int)


>string в char звёздочка


Быстрофикс
80 1344410
>>44224
RAD Studio C++ Builder
Остальных петухов не слушай, с вышеуказанным ничто не сравнится и близко как по удобству разработки, так и по скорости готового приложения. Билдер делает нативные GUI приложения винды и нативный же бинарный исполняемый код.
81 1344420
Аноны,вкатился на двачи спустя 2 года вылезаторства.
С СИРИОЗНОЙ проблемой,собсно сабж - есть файл.тхт,в нём строки формата первая строка-"2ch_uje_neTOT Вот так вот " вторая строки- "SPASIBO_ABU axaxa kek lol" собственно вопрос как считать только 1 слово из строки(т.е. 2ch_uje_neTOT,SPASIBO_ABU) и перейти ко второй строке,желательно используя string а не char ?getline считывает всю строку,а >> все слова из строки и не переносится в низ после первого
82 1344421
>>44420
Дочитываешь до _ и всё, в чём проблема?
83 1344423
>>44421
how to? fin1 >> Text;
считало слово вместе с пробелом
84 1344426
>>44420
Читаешь строку, потом ее парсишь
85 1344458
>>44420
ifstream infile("файл.txt");
string line;
while (getline(infile, line))
{
string word = line.substr(0,line.find_first_of(" "));
//
}
86 1344460
>>44458
вернее там еще единичку отнять
87 1344474
Мужики, может кто-то объяснить, что делает программистт с++ в условной конторе 5 дней в неделю? я типа понимаю айтишники там принтеры чинят и по тикетам работают, но программисты то что делают там, если контора обычная, а не по разработке ПО?
типа как они на хлеб зарабатывают если не фрилансят а сидят вв конторах обычных

языки с++ с# mysql
88 1344479
>>44474
Где ты такое вообще видел?
89 1344482
>>42454
Серверную часть для видео/аудио вещаний. Конкретно сейчас работаю над SFU. Стек: C++17, немного легаси из Boost и C++14.
Dev окружение: ArchLinux, Emacs
90 1344495
>>44306
Спасибо конечно большое, но мне уже обьяснили, что препод обозвал строкой не строку, а row двумерного массива
r8u-v85pXGM.jpg112 Кб, 566x1000
91 1344551
Мне 15 учу плюсы и решаю всякие задачки, но никогда не делал ничего серьезного или хоть сколько полезного, такого что бы не так - написал удалил - а Шоб друзьям не стыдно было показать)))) Дайте совет, плез, что написать или к чему стремиться.
92 1344562
>>44258

>Перегружаю все операторы в том числе и new с ()


Зачем?
93 1344567
>>44551
Напиши Ахо-Корасик
94 1344585
>>44551

>15 лет


>к чему стремиться


поступить в вуз
трахнуть машку с параллели ))
95 1344587
>>44562

>ы в том числе и new с ()


>Зачем?


потому что может! очевидно же
96 1344630
>>44551
Сам когда-то давно ради фана сделал: визуализатор множества Мандельброта. В принципе ничего очень сложного в этом нет, зато красивая картинка и навыки создания интерфейсов
Продвинутая версия: многопоточность. Чуть более продвинутая: оптимизировать на SSE
-kVaxeOWFoQ.jpg18 Кб, 300x172
97 1344633
>>44567
Спасибо. Это то что надо. Чет мне кажется что с этим придется нормально так повозиться.
98 1344635
>>44630
Спасибо большое. Займусь как нибудь.
99 1344642
>>44562
Чтобы уменьшить и оптимизировать код, это очень часто юзают
100 1344742
>>44396
Два чаю, анон. То что нужно было.
101 1344997
какой стиль лучше

if (b) {
// код
}
return;

или
if (!b)
return;
// код
return;
102 1345059
Котоны, мне нравится Си++, но не нравится СТЛ изза уёбищности интерфейса и тормозной конпелляции.
Как думаете, написать свой СТЛ полностью с нуля сложно вообще?
103 1345062
>>44551
Напиши двухсвязный список с использованием SSE2/AVX или чего-то подобного. Сравни скорость работы с традиционной реализацией и сообщи результаты.
104 1345064
>>45062

>списки


>SIMD


Лмао что
105 1345094
WINAPI ВОПРОС
Надо ли CloseHandle процесс, если он уже завершился?
106 1345117
>>45059
Ну, если ты правда его напишешь - то получишь +много к скиллу. Но, с вероятностью в 99.9% ты даже простецкий вектор напишешь вкривь и вкось и забьешь.
107 1345128
>>45117
>>45059
Я делал подобное, только для сишки. (Да, я ебанутый)
108 1345139
109 1345141
>>45117
>>45128
Согласен что вектор будет коварнее списков, но попроще чем дерево или хэш таблица.
Окей, если всё-таки получится, вдобавок к скилу прибавку бабла можно получить, как думаете?
110 1345145
>>45141
Все зависит от твоего умения себя подать.

Вектор коварнее списков? Это же просто динамический манямасив, это проще чем списки даже.
111 1345147
Я определил алиас битсета, чтобы вмещалось ровно столько битов, сколько содержится в объекте. Выглядит примерно так:

template <typename T>
using Bits = std::bitset<sizeof(T) * 8>;

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

Например писать не Bits<int>(12345), а Bits(12345)?
112 1345153
>>43055
&arr+sizeof(int)id ?
113 1345155
>>45153
сука звездочки проебались надо размер указателя помножить на индекс
114 1345156
_beginthreadex зачем нужен? Ведь есть CreateThread!!!(восклицание)
115 1345159
>>45155
Напиши через ✡
116 1345173
>>45141
Какое бабло лол. СТЛ признан сообществом и долгое время используется, никто не будет отказываться от него в пользу твоей библиотеки, потому-что его писали люди с опытом программирования больше твоего срока жизни. Если ты ничего революционного не напишешь, а просто копию кривую СТЛ то можешь себе оставить ее. Но твои проекты станут непереносимыми, а читать их другим людям без знания твоей библиотеки будет невозможно. Но как выше анон сказал - скилл подтянешь
117 1345177
>>45145
Нужно знать, как аллоцировать память, чтобы вставка была О(1).
118 1345184
>>45177
Как аллоцировать память, чтобы вставка была O(1)? Через указатель на конце массива?
119 1345208
>>45184

>Как аллоцировать память, чтобы вставка была O(1)?


помогает короткая, но искренняя молитва перед самим актом аллокации!
120 1345218
>>45184
Нет, ну допустим вектор это динамический массив. Вот выделил ты вначале памяти на 100 элементов и твой пушбек представляет из себя вставку на позицию после последнего. Когда массив закончится, как ты сделаешь очередную вставку?
121 1345219
>>45208
если бы так решались все проблемы :(
122 1345221
>>45218
Аллокация в k раз больше памяти, перемещение содержимого вектора. В целом, очень даже О(1). Реаллокаций будет log(k)(N) штук, то есть мало.
123 1345224
>>45221
Не рекомендую перемещение, если мув-конструктор кидает эксцепшон.
124 1345236
>>45156
CreateThread это WINAPI
_beginthread - это похоже на обертку некоей стандартной библиотеки для С от микрософта.

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

>>45147
Абсолютно точно, можно сделать helper функцию, которая будет из аргумента за тебя выводить тип для битсета и конструировать его, аля auto zalupa = make_bit_set(1488).

Чистыми шаблонами скорее всего не выйдет, т.к. у битсета нет нужных конструкторов. Хотя могу быть не прав.

>>45224
мув конструктор для всех твоих кастомных типов должен быть noexcept, иначе ломается много гарантий для стандартной библиотеки.
125 1345247
>>45208
Аллакация*
компильнуть одним файлом без хуйни 126 1345356
здорова
я когда в пайтоне пайинсталлером собираю свою сранину в экзему, то могу указать --onefile чтобы не было всякой требухи дополнительной.

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

как вообще внутрь exe поместить нужные либы, ну или хотя бы от ошибок избавиться подобных, мол "crt хуйни нет на компе"?
127 1345365
>>45356
Разве компайлеры по-умолчанию не собирают все в один экзешник?
128 1345366
>>45365
собираю в g++ он потом mingw.dll требует. собираю в "высрал студио" -- требует crt_что-то.dll, при сборке сраного хеловорлда
129 1345369
>>45366
Со студией специальный дебажный CRT поставляется. В релизной версии используется обычный.
130 1345376
>>45224
Если перемещение бросает, то это какое-то ебанутое перемещение, по-моему.
131 1345381
>>45356
https://helloacm.com/how-to-static-link-vc-runtime-in-visual-c/

В случае студии, в других вариантах гугли "Статическая линковка рантайма" или чето в таком духе

>>45365
В этом была изначальная идея библиотек - переиспользовать их в разном софте, идея на бумаге была неплохая, в реале увы, не сложилось даже у красноглазой питухос
132 1345388
>>45381
>>45369
отлично, спасибо!
133 1345418
>>45388

>отлично, спасибо!


Если соберешься Qt статически собирать, сразу купи антипригарный коврик под жопу.
134 1345513
>>43700
Ну хуй знает, мне этого за глаза хватает. Но я 3д не делаю, конечно.
Приложение в итоге с DLL весит около 20мегабайт.
image.png16 Кб, 401x215
135 1345541
Анон, ну ты мне скажи, ну че это за хуйня-то такая? Как же он не определён, когда вон он определён.
136 1345578
>>45541
А второй параметр в шаблоне где?
137 1345580
>>45578
Есть дефолтный, не увидел.
138 1345585
>>45580
>>45541
using huypizda = RB_TREE<T, COMP>;
вот так проканало кароч ¯\_("3)_/¯
139 1345692
>>45541
Чё за говно пропускает такое? Любимая спермохлёбами вижуал студия?
140 1345721
>>45692
какое такое? поясни свою мысль
141 1345731
>>45692
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
отлично пропускает, только >>45585 вот этот вариант
DC7Ct8xWAAIOp2K.jpg185 Кб, 1200x797
142 1345817
size_t и std::size_t

В чем разница-то? Можно их считать всегда взаимозаменяемыми?
143 1345884
>>45817
Формально для size_t нужен сишный хедер <stddef.h>, а для std::size_t <cstddef>, но у меня все эти типы без хедеров нормально подхватываются и я использую вариант без std, так как так удобнее.
144 1345906
>>45884
А если я везде использовал просто size_t, но в каком-то месте оно попало под using namespace std, ничего криминального не произойдет? Они всегда эквивалентны в рамках одной платформы?
145 1345908
>>45906
Как видишь, фактически это один и тот же хедер, поэтому они дефайнятся одинаково.
146 1345916
>>45721
template<typename T>
using IDENTIFIER<T> = бла-бла-бла;

это синтаксически некорректно, в alias-declaration может быть только идентификатор, угловые скобки после него недопустимы. https://timsong-cpp.github.io/cppwp/n4659/dcl.dcl#nt:alias-declaration
Но почему-то на пике в >>45541 написано только, что "идентификатор не определён", а сам кривой шаблонный alias-declaration не подчёркнут.
147 1345917
>>45906
Заюзай костыль с си, создай прешку в старом стиле только для объекта, попавшего в юн, или как выше сказали вызови сишный хедер. Ещё вариант спиздить функцию из сишного хедера и под другим названием переписать в хедере, превращая с помощью стракта или прешки в сайзт, но это костыль уровня обхода студенческого антиплагиата
148 1345919
>>45817

>size_t и std::size_t


>


>В чем разница-то? Можно их считать всегда взаимозаменяемыми?


Стандарт говорит так: если какая-то хрень "из C" (точнее, из C++-ного хедера, представляющего C-хедер) доступна без `std::`, то эта хрень должна быть полностью эквивалентна хрени с `std::`.
Но стандарт не обязывает, чтобы хрень без `std::` вообще была.
149 1345933
>>45919
Ага, вот где собака зарыта

>>45917
Простите за дибильный вопрос, но что такое прешка?
150 1345937
>>45933
Не нужно знать. Древние программисты таким образом добавляли в программы защиту от тупости своей/железа
151 1346132
>>45933
Прешка — прекомпилятор, препроцессор. Такая штука которая перед компиляцией или объектизацией собирает весь текст всеех файлов в твоих прогах и начинает переводить его в язык более понятный компилятору, но в отличии от компилятора не будет пытаться исполнить хуйнюя если не знает что она значит и обрабатывает макросы, собирает функции из библиотек. Например можешь функцию в хедере создать и вызвать ее указателем из него, и при компиляции препроцессор заберёт эту функцию из хедера, не смотря на то что в программе она не объявлена. Если юзаешь стандартные библиотеки, с помощью прешки можешь переделать свой код в си99 формат, короче важая вещь, чем бы ты на сипипи не занимался, ознакомься
152 1346140
>>46132
Кстати, вот касательно этого.
Есть же в 17 стандарте свёртка, которая умеет выполнять нужную команду над переданными через запятую аргументами, а не над initializer_list.
И, чисто в теории, можно же собрать строку с именами аргументов, которую потом пихнуть в макрос, вызывающий эту свертку. Насколько это пиздец?
Не то чтобы я прям могу придумать, как это применять, но, например, в pl/sql такое используется часто - собирается динамически строка с запросом/анонимным блоком и отдаётся на выполнение серверу. Интересно, реализуемо ли это в плюсах и вообще может ли быть смысл?
Хотя можно не ебать мозг и работать с initializer_list, конечно.
153 1346141
>>46140

>Есть же в 17 стандарте свёртка, которая умеет выполнять нужную команду над переданными через запятую аргументами


Троеточие вроде еще в C++11 добавили.

>можно же собрать строку с именами аргументов, которую потом пихнуть в макрос, вызывающий эту свертку.


А смысл? Это же во время компиляции все выполняется, со статическими строками. То есть без разницы со строками ты работаешь, или прямо с аргументами. Строки только добавляют лишний гемморой.
154 1346142
>>46140
Не очень понял что ты имеешь в виду, но судя по всему это возможно реализовать ещё чуть ли не в 89-ом стандарте си через стракты, значит и стд плюса для этого будет достаточно. Эскперементируй, что не получится — приноси код.
155 1346192
>>46141
Я просто встретил троеточие со сверткой непосредственно у Галовица в C++17 STL, вот и проверил, что только в этом стандарте появилось.

>Во время компиляции ... со статическими строками


А, то есть такой во время работы программы это уже не так будет работать?

>>46142
Хотел метапрограммирование через жопу - формировать код во время выполнения программы и исполнять его в той же проге, но без шаблонной магии. Не ради профита, а понять, можно ли так.
Но за наводку спасибо, покурю сегодня.
156 1346306
>>46132

>Прешка — прекомпилятор, препроцессор


За много лет ни разу не слышал такого сокращения
Мимопроходил
157 1346430
>>44410

>RAD Studio C++ Builder


ЭТО ЖЕ БЫВШИЙ BORLAND ПУСТИЛ СКУПУЮ СЛЕЗУ
158 1346455
>>46430
А борланд это турбо, я ваще нем си изучал...
159 1346463
Сап, плюсаны! Как сделать в QT так, чтобы при открытии окна сохранения через getSaveFileName(прикреплейтед1) в окне можно было выбрать конкретное расширение, а не как на пик2?
160 1346465
>>44410
С подключением сторонних .lib все так же пердолиться нужно?
image.png5 Кб, 242x108
161 1346468
>>46463
Я зделол, но расширение не добавляется к файлу, как пофиксить?
162 1346586
>>46192

>формировать код во время выполнения программы


А вот хуй, это тебе не пхп.

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

Алсо, есть интерпретаторы (!) для С, которые позволяют говнокодить на нем в лучших традиция джаваскрипта. Насчет интерпретаторов Спп: не уверен, что нашелся поехавший, реализовавший эту идею. Но если они существуют, я хочу это чудо увидеть.
163 1346678
>>46468
Можно наследоваться от QFileDialog, и написать обработчик сигнала filterSelected, который вызывается каждый раз, когда юзер выбирает элемент комбобокса. Запоминать тип, выбранный в комбобоксе, затем при закрытии диалога вручную дописывать его к имени файла.
Вероятно, существуют более красивые решения.
164 1346687
>>46192
ты всегда можешь затянуть интерпретатор LUA или Питона в свой код
165 1346715
Сап, анон. Брату в шарагу нужно написать на плюсах программу сортировки пузырьком одномерного массива, который вводится с клавиатуры и имеет 5 элементов. Сам я веб-макака и с плюсами не знаком, можешь накидать код, пожалуйста? Делов на 2 минуты, а я благодарен тебе буду очень.
166 1346718
27164015101561600763710953083308408865563483o.jpg170 Кб, 2048x1365
167 1346726
>>46718
За 5к я тебе хело ворлд на хтмле напишу, хочешь?
168 1346731
>>46726
Манька, если нет денег, делай сам
169 1346734
>>46726
Только учти, что во всех без исключениях браузерах он должен выглядеть абсолютно одинаково.
170 1346735
>>46465
Вроде да. Недостаток, верно.
массивы 171 1346775
памагити
псевдодвумерный динамический массив с элементами целочисленного типа.
Сначала память отводится под адреса строк, потом в цикле под строки.
Размеры массива вводятся с консоли.
Массив заполняется случайным образом.
После заполнения массива находится та характеристика (max, min), по которой нужно отсортировать строки массива.
Выводится массив в виде матрицы с выводом справа найденной характеристики.
Массив упорядочивается и снова выводится таким же образом.
Переставляются два столбца согласно варианту задания и снова выводится массив.

Строки массива упорядочить по убыванию минимума в строке.
Поменять местами 2 столбца, чтобы минимальный элемент для всей матрицы оказался в нижнем левом углу.
172 1346812
>>46715
Сделаю за 1000 рублей
15500616008020.jpg38 Кб, 656x717
173 1346928
>>46726
По традиции.
С вас $180000.
Fz-5FyQtzVA.jpg342 Кб, 1280x875
174 1346932
>>46715
vector<int> g[MAXN]; //массив
bool used[MAXN];
vector<int> ans; //ответ

void dfs (int v) {
used[v] = true;
for (size_t i=0; i<g[v].size(); ++i) {
int to = g[v];
if (!used[to])
dfs (to);
}
ans.push_back (v);
}

void puzyryok_sort() {
for (int i=0; i<n; ++i)
used = false;
ans.clear();
for (int i=0; i<n; ++i)
if (!used)
dfs (i);
reverse (ans.begin(), ans.end());
}
Не благодари
175 1346963
Добрый вечер.
Можете вкратце но аргументированно объяснить почему программист на c# или backend зарабатывает в среднем больше, чем на c++?
Спасибо.
176 1346989
>>46963
Зарплата программиста зависит от места работы, а не от технологии.

В среднем вебмакакоконторы богаче, чем НИИ имени подзалупина, которая за 40к в месяц требует 10 лет крестов. Однако это все средняя температура по больнице, которая вообще ничего не показывает.
sage 177 1346991
>>46932

>puzyryok

178 1347008
>>46991
Чтобы всё аутентично было
179 1347009
>>46963
вопрос не в том, а в том что сможешь ли ты открыть, к примеру, александреску "современное проектирование на с++" и понять хотя бы часть написанного, а потом еще понять что за последние 20 лет еще на порядок больше в языке нахуевертили
вопрос не в зарплате, а в уровне твоего сумашествия
180 1347013
>>46963


и вообще это хуевое сравнение, тк ситуация с сишарпом в россии (и на постсовке) еще хуже чем с крестами
1974.jpg28 Кб, 713x600
181 1347015
>>46963
Потому что спрос на программистов C# выше, чем на программистов C++. Backend - это вообще не технология, а часть продукта, которая может написана теоретически на любом языке, а практически - С++ для этого не подходит. Короче говоря, потому что С# более отвечает потребностям сегодняшнего дня.
182 1347016
>>45817
Возможно я ошибаюсь, но по моему если ты в самом начале кода, после включения библиотеки напишешь - using namespace std; то std в дальнейшем не надо указывать, но я только вкатываюсь, может херню несу
183 1347021
>>47013

> ситуация с сишарпом в россии


Да кого ебет рашка, я например наугад открыл вакансии в Торонто.
Постсовок блядь.
184 1347037
>>46989

>Зарплата программиста зависит от места работы, а не от технологии.


Пригорает от попугаев, повторяющих фразы, не понимая смысла. А технология и место работы не взаимозависимы?
Мудак блядь.
185 1347039
>>47009
И смысл тогда? Для души?
186 1347046
Сегодня я охуел от copy elision. Ебучие плюсы, сколько же в них подводных камней. А как прошёл ваш день?
187 1347053
>>47021

>вакансии в Торонто


хорошо тебе
188 1347055
>>47015

>спрос на программистов C# выше, чем на программистов C++


в россии это не так
189 1347065
>>43006
Ну тип например 5 столбцов, берёшь по строкам проходишься, сравниваешь и меняешь.
int^^ array;// заполненный массив
for(size_t i = 0; i < n; ++i)
{
for(size_t j = i; j< n; ++j)
{
if(array[n] > array[j][n])
swap(array, array[j])
}
}
190 1347068
>>47053
Да, нормас.
191 1347071
>>47065

>if(array[n] > array[j][n])


>swap(array, array[j])


if(array[n - 1] < array[n - 1][j])
swap(array, array[j])
192 1347074
>>47071
Пидорство.
193 1347094
>>47053
А что тебе мешает свалить, будучи специалистом по С++?
194 1347120
>>46963
Потомучто карьеристы съебнули из плюсов. Некому больше фуфло зарплаты вверх толкать.
195 1347131
>>46963
В новое охотнее вкладываются, а в хайповую тему особенно. Вот и все.
Это касается любого бизнеса.
В айти просто новое чаще появляется.
196 1347138
>>47037
нет, баба-дауниха, не зависимы. Кто-то ебет говно на С++, писанное дедами, кто-то работает в Нвидии на х5 зарплату от этого. Технологии схожи. А иногда, одинаковы.
197 1347139
>>47015

>а практически - С++ для этого не подходит


Расскажи это яндексу, гуглу, фейсбуку или амазону.
198 1347142
>>47094
потому что out of date
199 1347157
>>46963
Просто С++ преподают в вузах вот и выкатываются от туда либо вебмакаки, которые хуже червя-пидора, либо говнокодеры на С++, которые пишут всё в одном файле на стандарте прошлого века, не чистят память и вообще не моются.
Обычный С++ программист зарабатывает больше С# кодера, но и ебется с самим кодом больше.
200 1347200
>>47157

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


Больше легаси, больше багов, больше работы вкатывальщикам с двощей. Охуенно жи.
201 1347207
>>47139
У них хайлоад, нужна максимальная производительность и отказоусточивость, поэтому все на нативе написано.
202 1347221
Анон, два вопроса. Первый - откдуа взять документацию? С удивлением для себя обнаружил, что её продают через официальные магазины ISO/ANSI. Второй - как получить доступ к микрофону/разъёму-микрофон на звуковой карте?
sage 203 1347350
>>47221
cppreference
Апи операционной систем
204 1347440
>>47221
Возьми самый близкий драфт к нужной тебе версии стандарта.
НАпример, http://wg21.link/std11
205 1347460
>>47350
>>47440
Благодарю!
206 1347468
>>46468
>>46678
Пасаны я деб, все поправил. Забыл точки в фильтре у расширений, теперь все сохраняется как надо
207 1347673
Сап. Какими знаниями нужно обладать чтобы начать изучение qt, я пока что стою на пороге наследования и полиформизма, нужно продвинуться дальше, или по ходу можно будет изучить?
208 1347712
Какие сейчас ЗП в нормальных конторах, которые не пильшики грантов, при 2-3 годах опыта?
209 1347715
>>47712
штук 100 в милионниках, в ДСах процентов на 30-40 побольше, наверн
210 1347741
>>42442 (OP)
сап анонам. Учусть в университете. Тут хуй знает как объясняют. Как лучше самому учить. Видео или литература, или что-то еще?
211 1347777
>>47741
Видео, литература, интернет, желание и труд. Только большую часть местных советов не забывай скипать
212 1347794
Анон, поясни в чем разница g(a, b) и g(&a, &b). Я понимаю, что в первом случае надо передавать как &a, &b, а во втором как a, b. Но все же какая между этими функциями фундаментальная разница?
213 1347796
>>47794
Самофикс в первом случае g(a, b).
214 1347804
>>47794
Фундаментальная разница в том, что указатели (которые *) могут быть нулевыми и к ним можно применять адресную арифметику, а ссылки (которые &) нулевыми быть не могут, и адресную арифметику к ним применять нельзя.
Хорошим тоном считается использовать только константные ссылки, а если тебе нужно менять значения, то использовать указатели, так программисту понятно, что если он пишет g(&a, &b), то a и b могут поменяться. В случае же неконстантных ссылок у тебя функция g(a,b) может ВНЕЗАПНО поменять a или b, что не очень красиво.
215 1347807
>>47804
Спасибо за разъяснение.
216 1347809
Как у вас тут в функциональном стиле писать? Есть ли литература по этому поводу?
217 1347812
>>47809
Ну типа пишешь перед каждой переменной const, дальше само пойдет, особенно когда захочешь написать цикл.
218 1347821
>>47809
Просто прочитай пару книг по С и сам научишься.
219 1347836
Правильно ли я понимаю, что начать углубленное изучение ЯПа нужно с заучивания английского языка? На русском очень мало контента, книги переведены женщинами, которые вообще ничего не знают о программировании и допускают кучу смысловых и логических ошибок, статей мало. Особенно интересует системное программирование, ассемблер, прочее байтоебство, хайлоад, производительность итд. Дискасс.
220 1347842
>>47836
>>47836
че? именно по языку с++ основные книги переведены - старуструп, саттер, джосаттис, александреску, мейерс...
на английском тебе придется читать когда будешь специализироваться в чем-то, да и то не факт
к примеру, если будешь крипту делать, то придется почитывать уже статейки на английском..
а изучать язык можно спокойно по книжкам что переведены
221 1347844
>>47809
изучаешь концепции функционального стиля, смотришь как это можно выразить средствами языка
222 1348256
>>47836
Английский, конечно, нужен, но это не первостепенная задача для тебя.
>>47821
Там же императивный стиль. Или ты угараешь?
>>47809
А в чем проблема писать в функциональном стиле, зная саму ФП парадигму? Все возможности (почти) для этого тут есть, особенно, в С++17.
>>47794
Во втором случае:
1) Нельзя в адресную арифметику и вообще как-то менять ссылку.
2) Не нужно разыменовывать.
3) Не может быть нулевой.
>>47673
Да начни просто делать и все.
>>47221

>как получить доступ к микрофону/разъёму-микрофон


Windows API. Или в юниксах надо на /dev/залупа обращаться.
223 1348280
>>44410

>RAD Studio C++ Builder


Почему он не популярен как кутэ? Он долбоеб?
изображение.png16 Кб, 531x502
224 1348314
А поясните за виртуальный деструктор.
Понятно примерно с чем он борется и как его использовать.

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

Алсо, если посмотреть типичный пример (пикрил), то производный класс никак явно не переопределяет виртуальный деструктор базового. Получается зря старались, зря объявляли его виртуальным? Но вроде нет, не зря, все работает ведь.
225 1348323
>>48280
Популярен где? На линуксе кроме кутэ и нет ничего, он вот и популярен у красноглазиков, а сибилдер под винду, там он не один, вдобавок быдло скатилось на шышарп который проще.
Надеюсь теперь понятно, что долбоеб это ты - хвалишь более убогое.
226 1348325
>>48314

>Ведь виртуальная функция во всех производных классах должна иметь такое же имя, как в базовом


Это особый случай, в конструкторах деструкторах работает стек из функций от базы до конечного потомка. >>48314

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


Просто частный случай.
227 1348348
>>48323

>линуксе кроме кутэ и нет ничего


как это? прямо так и нет? а я в чем тогда пишу? в том что НЕ существует?
228 1348351
>>48314

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


и че? смещение в vtable будет одно и тоже
229 1348359
>>47221

>как получить доступ к микрофону/разъёму-микрофон на звуковой карте?


Эн лет назад я обращался через WASAPI, уже и не вспомню как. Наверняка есть портативные библиотеки под всё это дело.
230 1348363
>>48348
Ты бредишь, это всё оптическая иллюзия. На самом деле ты используешь православный ImGui.
15232485294780.jpg37 Кб, 362x346
231 1348417
Если вызвался конструктор перемещения, то объект гарантировано будет перемещен(всмысле, что конструктор не просто скопирует данные, а именно переместит) ? Я могу это как-то проверить?
Как правильно использовать список инициализации с этим перемещающим конструктором:
Vector(Vector &&tmp) : fuck(tmp.lng), oppai(tmp.angle)
OR
Vector(Vector &&tmp) : fuck(move(tmp.lng)), oppai(move(tmp.angle))
?
232 1348499
>>48314

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


У него вообще есть имя?
Screenshot2.png4 Кб, 244x149
233 1348516
Как подключить ебучию динамическую библиотеку? Я создал там класс, который разделил на h and cpp. Подключаю в консольном проекте через #include "name.dll", ошибок нет, файл находит. Но в файле, куда подключаю не видит ни моего класса, нихуя не видит вообще.
sage 234 1348527
>>48516
Надо include-ить header-файл. Добавить библиотеку через GUI студии.
235 1348528
>>48516
Чтобы использовать классы и функции, тебе все равно нужны их объявления, даже если реализация целиком в .dll. Поэтому, во-первых, подключи хедер.h. Во-сторых, вместе с собранной библиотекой идет .lib файл с таким же названием. Он нужен, чтобы временно разрезолвить нереализованные объявления на этапе статической линковки (попробуй сбилдить без него). Чтобы его подключить, пропиши его в target link libraries в настройках проекта (загугли) или используй #pragma comment(lib, "LibVector.lib")
Screenshot3.png2 Кб, 148x104
236 1348543
>>48528
Нет, файла с .lib, даже поиском не нашло, библиотека собралась успешно
238 1348552
>>48549
Блядь, как много заебов с динамическими библиотеками.
239 1348553
Где можно почитать в каких случаях c++ работает быстрее c
240 1348554
>>48553
во всех.
я
241 1348636
>>48553
Лучше почитай в каких случаях твой код на С++ будет быстрее чем из коробки на том же С#. С++ сосет без оптимизации, если что.
242 1348641
>>48323

>Надеюсь теперь понятно, что долбоеб это ты - хвалишь более убогое.


Я где-нибудь это хвалил? Зачем ты сразу в обзываки скатываешься, как бука злая.
Имею ввиду, что большинство вакансий (конечно, может я в глаза долблюсь) требуют знания Qt, а не билдера.
243 1348650
>>48636
Арбузная сучка.
245 1348659
>>48650
Что?
246 1348665
Как можно объявить байты?
"12345" - в памяти создается массив из 6 байтов (по одному на цифру + нуль терминатор в конце) и возвращается указатель на этот массив.
Вопрос: Как сделать то же самое, только с цифровыми байтами вместо букв, и чтобы никаких объявлений переменных (как видно в примере выше нет никаких переменных).
247 1348674
>>48553
Используешь не-компайл-тайм фичи? Плюсы будут медленнее (скрытые аллокции и всякая шняга). Используешь компайл-тайм фичи? Компиляция плюсов будет медленнее раз в пять-шесть-сто. Быстрее? Говорят, что в плюсах не нужен указатель на void, потому что есть шаблоны, поэтому компилятор обладает более полной информацией о типах и способен лучше оптимизировать, но матёрые си программисты-оптимизаторы, которым нужен ПЕРФОРМАНС, и так не используют указатель на void.
Таким образом, если тебе нужен ХАРДКОРНЫЙ ПЕРФОРМАНС, то ты будешь использовать плюсы только как си с классами-структурами и неймспейсами. Но процент кода, который требует такого, обычно довольно маленький, поэтому не еби себе мозг и пиши нормально. Большая часть скорости обычно зависит от архитектуры программы, нежели от конкретного языка. Если ты не используешь фичи плюсов не по назначению (например, проходишь циклом по паре тысяч объектов, вызывая у каждого виртуальные методы), то скорость программ будет одинаковая.
248 1348681
>>48417
Добавь printf в конструкторы и всё увидишь.
Во втором вопросе move нужен. Объяснения: https://en.cppreference.com/w/cpp/utility/move
249 1348709
Хули мне с этим делать? Я читаю-читаю, но написать нихуя полезного не могу, т.к. на голых плюсах, я так понял, хуй что реализуешь. Где взять практику? Что писать? Долго ещё теорию гонять, которая без нормальной практики забывается с ахуевшей скоростью?
250 1348711
Нормально использовать список инициализации в конструкторе копирования?
251 1348718
>>48709
Десктопный чатик напиши
На клиенте qt на бэке asio.
Как напишешь требуй 80.
252 1348721
Прохожу щасс плюсы пол года, а потом джаву, и препод говорит, что после плюсов, джаву месяц будем проходить, типа джаву с бекграундом плюсов легко дается? Это правда или я просто буду хуеевым джаваскриптером?
253 1348722
>>48709
Сделай консольный todo
classes.png5 Кб, 276x246
254 1348742
Плюсаны, виртуальный деструктор в базовом классе нужен если все мемберы в произвольном классе с автоматическим типом хранения?
255 1348769
>>48742
и да, и нет
256 1348772
>>48742
если ты захочешь делать, как ниже, то нужен:
struct Child : Base {};

BasePtr b = new Child{};
delete b;
257 1348776
>>48772
быстрофикс: в смысле его не язык требует, а это считается хорошим тоном, чтобы потом не наебаться
258 1348794
>>48776
Хороший тон это да конечно... Вот стаким кодом https://ideone.com/iDRQAp у меня получилочь воспроизвести утечку с нетривиальным деструктором, но с char[10000] нет. Если без традиций, ритуалов и хорошего тона - нужен или нет?
259 1348809
Ананас, расскажи как работают CLI command line interface программы.
Например, с гитом понятно. Запускаешь программу с аргументами и тд.
А как быть которые обрабатывают ввод? Там, грубо говоря, внутри крутится бесконечный цикл и обрабатывает ввод?
260 1348819
>>48325

>Это особый случай


Опять Невидимая Рука Страуструпа что-то дописывает в мой код.

>и че?


Ну у меня когнитивный диссонанс: то ли я неверно понял виртуальные функции, то ли это специфика самого деструктора.

>>48499
Чому нет? Можно даже явно вызвать.
261 1348831
>>48809
Не бесконечный, а пока в stdin не встретится eof
В кернигане и ричи параграф 1.9 содержит пример
262 1348885
>>48819

>Чому нет? Можно даже явно вызвать.


Это не значит, что у него есть имя.

Про конструкторы явно сказано, что у них нет имени. Про деструкторы не сказано. Вот я и спрашиваю.
263 1348895
У деструкторов нет имён. http://wg21.link/CWG2069
264 1348914
>>48885
>>48895
Не ради того, чтобы спорить, а просто пруфы, что не я это придумал.
Даже Страуструп говорит об имени деструктора.
265 1348916
>>48914
Это неформальное описание.
266 1348974
Почему не сделают какую-нибудь надстройку над крестами, чтобы по умолчанию использовала умные указатели, сохранив синтаксис для обратной совместимости с библиотеками. Не прикрутят какой-нибудь универсальный менеджер пакетов. Это же был бы лучший язык эвер.
267 1348975
>>48974

>Почему… Не прикрутят какой-нибудь универсальный менеджер пакетов.


Потому что таких не существует.
268 1348978
>>48975
Да даже если расслабить требования да "хоть какой-нибудь стандартный пакет менеджер", всё равно не смогут сделать. Потому что коммитет не способен его стандартизировать, сделать и потом мейнтейнить. А вот язык от конкретной канторы себе такое позволить может.
269 1349003
>>48974

>Это же был бы лучший язык эвер.


Только для твоих задач. Далеко не всем нужны умные указатели и "универсальный" менеджер пакетов.
Возьми Swift, там и умные указатели и менеджер пакетов, или какой-нибудь язык с GC вроде D или Go.
270 1349004
>>48974

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


vcpkg
271 1349084
Что значит "функция не генерирует исключения", вот есть у меня функция, которая юзает sin/cos с cmath, в функции нет throw catch. Стоит ли мне объявлять её как noexcept ?
272 1349171
>>44474
Ну что делают.... как всегда, с ноля пилят супер-пупер какую-нибудь систему учета чего-нибудь на предприятии.
273 1349207
>>48742

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


У подобъектов такой же storage duration, как у содержащего их объекта. Будет объект с automatic storage duration ("на стеке") — будут его member subobjects с automatic storage duration. Будет создан динамически (dynamic sotrage duration) — такой же storage duration будет у member subobject-ов.

Если ты имел ввиду что создаёшь объекты всегда "на стеке", то ему не особо нужен виртуальный деструктор.
А если ты имел в виду что-то другое, то у тебя в голове каша.
274 1349208
>>48776

>быстрофикс: в смысле его не язык требует, а это считается хорошим тоном


В смысле что язык требует. Без виртуального деструктора в >>48772 будет неопределённое поведение
275 1349218
>>48654
О, какие флаги нужно хуйнуть компилятору, чтобы он принял не-ASCII в идентификаторах?
276 1349223
>>49084

>Что значит "функция не генерирует исключения"


Это просто еще одна проверка кода компилятором. Ты объявляешь noexcept, и если компилятор видит, что где-то бросается исключение, то он выводит ошибку. Так же как const не гарантирует, что значение нельзя изменить, ведь это всегда можно сделать через void указатель. Просто лишняя возможность проверить, не стреляешь ли ты себе в ногу.
277 1349224
>>49208

>будет неопределённое поведение


Там вполне определенное поведение. Вызовется только деструктор родителя (а деструкторы наследников - нет).
278 1349254
>>48974

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


как это нету?
в линукс системах dpkg, rpm и другие, в bsd-семействе тоже есть системные менеджеры пакетов..
279 1349354
>>49084
Нужно еще проверить на предмет исключений все функции, которые ты вызывал из своей функции (библиотечные можно проверить по справочнику). Если ни одна из них не кидает исключений, значит можешь (но не обязан) объявить свою noexcept.

В некоторых случаях компилятор может применить дополнительные оптимизации, если знает, что функция не кидает исключений.
Стоит или нет?
Смотря как твоя функция будет использоваться. Все подряд объявлять noexcept конечно же излишне.
Стоит, если, например, ты будешь передавать свою функцию как предикат в алгоритмы STL; или если твоя функция может вызываться неявно (твоя функция — конструктор перемещения, например). STL не всегда отдельно обрабатывает noexcept функции.
280 1349357
>>49254

>универсальный


>красноглазое говно

281 1349371
Сап двач. Я предлагаю вам хоть чем то занять свою никчёмную жизнь, попробуйте решить эти охуевшие задачи по программированию. Покажите на что вы способны мамкины программисты, отработайте свои 300кк в наносекунду
282 1349379
>>49371
Сделаю за 4000-4500$
283 1349386
>>49224

>Там вполне определенное поведение.


Тащи пруф.
284 1349390
>>49379
Если только за зимбабвийские доллары
core java.gif149 Кб, 849x458
285 1349404
>>49390
Там, в принципе, не такая и сложная задача, так что сделаю рейт поменьше тебе. $3800 USD - и по рукам.
286 1349437
>>49207
Это у тебя в голове каша. Storage duration никак не относится к памяти - стеку или куче. Automatic storage duration - это не на стеке, а то что объект создается в начале скопа и удаляется в конце, без участия юзера. Dynamic sotrage duration - объек создается и удаляется через вызов функций аллокации памяти, т.е. с участием пользователя.
287 1349489
>>49437
"на стеке" взято в кавычки, мамкин разоблачитель.
288 1349493
>>49437

>Automatic storage duration - это не на стеке, а то что объект создается в начале скопа и удаляется в конце


scope это свойство имён https://timsong-cpp.github.io/cppwp/n4659/basic.scope#def:scope

> In general, each particular name is valid only within some possibly discontiguous portion of program text called its scope.



Объект можно создать с помощью placement new внутри массива unsigned char с automatic storage duration, и у этого объекта будет automatic storage duration, а имени не будет и ни о каком скопе смысла говорить вообще нет.
289 1349494
>>49437

>создается в начале скопа и удаляется в конце


{
Class ass; // начало скопа для ass
{
Class ass; // конец скопа внешнего ass. внешний ass удаляется?
}
}
290 1349504
>>49371
Нахуя это нужно? Нигде не пригодится.
291 1349574
>>48742
Виртуальный деструктор нужен для вызова деструктора базового класса при удалении объекта неследованого класса. Что там в наследуемом классе находится неважно (он может быть вообще пустым). Если у тебя в классе имееться кастомный (не по умолчанию) деструктор то ты или объявляешь деструктор виртуальным, или от класса нельзя наследоваться.
292 1349583
>>49386

>Тащи пруф.


Посмотри в стандарте как деструкторы работают, там вполне определенное поведение. В смысле порядок вызова деструкторов в данном случае однозначный. Что конкретно произойдет из-за того, что у потомка деструктор не сработает в стандарте не описано, конечно же.
293 1349585
>>49493

>и у этого объекта будет automatic storage duration


Не будет. Деструктор-то у него не сработает при удалении стек фрейма.
294 1349589
>>49574

>Виртуальный деструктор нужен для вызова деструктора базового класса при удалении объекта неследованого класса.


:facepalm:

> Если у тебя в классе имееться кастомный (не по умолчанию) деструктор то ты или объявляешь деструктор виртуальным, или от класса нельзя наследоваться.


Наследуюсь от контейнеров из stl, у которых нет виртуальных деструкторов. Брат жив.

>>49583

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


Посмотри в стандарте описание поведения delete.
Там явно сказано, что если ты подсовываешь указатель на T который не указывает на объект типа T, а указывает на объект типа U, и T не является базовым классом U с виртуальным деструктором, то поведение не определено.
295 1349591
>>49585

>Не будет. Деструктор-то у него не сработает при удалении стек фрейма.


Будет. Срабатывание или несрабатывание деструктора при выходе из блока это не тот способ, которым определяется automatic storage duration.
296 1349594
>>49589

>Наследуюсь от контейнеров из stl


Всем как-то похер что ты в своих лабах делаешь.
297 1349596
>>49594
Проект на несколько миллионов строк, несколько тысяч пользователей.
298 1349603
>>49596
Найс лаба. Но согласен полную херню написал про деструктор, что-то воскресенье на меня негативно влияет.
299 1349609
>>49354
По какому справочнику смотреть, бросают ли исключения библиотечные функции? Открыл http://www.cplusplus.com/reference/cmath/cos/, там не написано, бросает ли cos()исключения.
300 1349611
>>49609
https://timsong-cpp.github.io/cppwp/n4659/library.c#2

> The descriptions of many library functions rely on the C standard library for the semantics of those functions.



Смотри в стандарте C, бросает ли cos исключения
301 1349612
>>49594

>>Наследуюсь от контейнеров из stl


дык не рекомендуют так делать, лучше агрегировать
302 1349621
>>49218
У меня сразу работает, lol.
303 1349622
Как вывести иероглифы в консоль?
304 1349625
>>49622
Смотря какая консоль, попробуй UTF-8 отправить.
305 1349640
Если я использовал конструктор перемещения, для объекта в котором всего 2 переменные. И в итоге у объекта, с которого я перемещал, сохранились значения. Это значит, что я не переместил, а скопировал? Что вообще должно остаться у объекта? Нули или мусор?
306 1349659
>>49640
Зависит от конструктора перемещения. Стандартные просто копируют значения.
309 1349675
>>49667
Наконец-то до спермоблядков дошло что будущее за UTF-8.
Из 30 лет со дня изобретения UTF-8 не прошло.
310 1349947
>>49640
Конструктор перемещения нужен, если у объекта есть внешние ресурсы (причем с уникальным владением). Типа хуйни, выделенной в куче, или там открытого сокета.
А если все поля класса это простые типы (и массивы из них), то копирование и перемещение делают одно и то же.
311 1349964
>>49675
выбор двухбайтового представления юникода инженерами майкрософт был абсолютно верен, для их ситуации
312 1349976
>>49964
"их ситуация" — это "требуется раз-раз и в продакшен"?
313 1349983
>>49976
нет, из соображений производительности в первую очередь
ведь юникод они в ядро запиливали, надо было чтобы быстро работало
потом удобней с двухбайтовой кодировкой работать самим программистам..
потом им не надо было ни жить ни быть чтобы была обратная совместимость с ascii кодировкjq как в utf8 сделано, так как в ядре уже была поддержка и широких кодировок для азиатских языков и других трюков, те в ядре винды не было такой жесткой привязки к asci как было в некоторых операционках юниксового семейства..

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

на rsdn были длинные обсуждения этого, и почти никто не обсирал выбора инженеров майкрософт
314 1349985
>>49983

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


Ещё бы на сайте чьё название каргокультирует MSDN обсирали Microsoft
315 1350029
>>43703
Ты все версии выбрал, что ли? Всегда было метров семьсот.
316 1350123
Анон, поясни можно ли въехать в лямбда-выражения в Си++ без подготовки или надо налегать на лямбда-исчисление Чёрча, теорию категории и т.д.?
317 1350124
>>50123
Гомотопическую теорию типов не забудь выучить.
318 1350128
>>50123
Ты... ты пользовался наследием без глубокого изучения теории типов в System F<: ?! А ну живо иди извиняться лично перед Мартином-Лёфом!
319 1350150
>>50128
Чем System F<: отличается от System F?
321 1350153
>>50151
Чего только борщехлёбы не выдумают, лишь бы байты не ебайть.
322 1350160
>>50123
Да, можно и нужно. Не слушай поехавших.
323 1350185
>>49964
«Учение Маркса всесильно, потому что оно верно»
324 1350188
>>50123
Конечно можно, даже необходимо. Обязательно перед эти выучи работу машины Тьюринга, автомата Маркова, машины Поста. Иначе будешь говнокодером
325 1350202
>>50185
Ты же петухан, который ни одной программы не написал.
Иначе было бы очевидно, что UTF-8 это говно ёбаное, вообще невозможно с ним работать, потому что это не простые строки, а пожатые. Ты буквально не можешь взять какой-то символ из строки так: ch = str[5] - взять пятый символ из строки, потому что там пожато и символы все разной длины, так что нужно ПАРСИТЬ СТРОКУ НАХУЙ. Это всё равно что держать все структуры и прочие буферы в памяти пожатыми в ZIP, и при каждом обращении распаковывать, таская за собой библиотеку зипа. Ты чё, ебанутый, блять? Это не только неудобно, но и производительность по пизде. Это каким же надо быть отбитым говноделом, иди нахуй на питоне говни, пидрила тупорылая.
326 1350218
>>50123
нужно скорее понимать, что лямбды в с++ скорее синтаксический сахар
нужно понимать, как раньше использовались функциональные объекты, их фишки, как использовались такие оригинальные средства как bind и mem_fun
посредством лямб делать те же задачи стало удобней
но это не лямбды функциональных языков
327 1350220
>>50218
кстати, функциональные объекты в крестах так и не стали популярными, большинство кода работающего с stl так и работало в структурном стиле с унылым циклом по коллекциям, это конечно печаельно
по видимому из-за того что поддержка вложенных классов в компиляторах медленно появлялась, да и потому что вложенные классы вообще считались экзотической особенностью и не стали по настоящему рабочим инструментом
328 1350233
>>50202
И сколько байт займёт самый большой символ?
329 1350244
>>50233
В виндоус для юникода используется 2 байта. Это не совсем верно, потому что бывает символы которые в 2 байта не влезут, но там совсем экзотика - всякие матановые символы.
330 1350246
>>50220
Потому что несмотря циклы проще, лучше читаются, быстрее компилируются, дают более понятные сообщения об ошибках.

Нет никаких причин извращаться со всякими transform, back_inserter и лямбдами, если можно написать простой цикл.
331 1350251
>>47221

>Второй - как получить доступ к микрофону/разъёму-микрофон на звуковой карте?



https://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf
332 1350265
>>50246

>Нет никаких причин


причина в увеличении абстракции
разделяется код обхода контейнера и код выполняющий что-то над элементами
это если простыми словами, тк ты похоже low
333 1350293
Up
334 1350299
>>50265

>увеличении абстракции


Но лямбда же удобнее всего, когда она на месте создается для передачи в алгоритм.
ИМХО это не увеличение абстракции, а магические числа с поведением функции.

я лоу
335 1350301
>>50265

>причина в увеличении говна


Поэтому и не нужно.
336 1350315
>>50265

>причина в увеличении абстракции


Не всегда абстракция хорошо. Особенно там, где она не нужна, иначе у тебя будут абстрактные фабрики свободных монадических стеков аппликативов-визитёров, настраиваемых через XML. Пару тредов назад давали ссылку, где хорошо расписал парень всё. http://aras-p.info/blog/2018/12/28/Modern-C-Lamentations/
337 1350340
>>50299
>>50301
>>50315
вы все черти
ты чорт
и ты
на этом диалог заканчивается
338 1350356
>>50202

>Иначе было бы очевидно, что UTF-8 это говно ёбаное


А вот инженерам из Microsoft Console Team очевидно, что за UTF-8 будущее даже во внутреннем представлении. Поэтому они переходят с UCS-2 на UTF-8 внутри.
Правда, приходится использовать под 1 UTF-8 code unit wchar_t, а не обычный char. Слишком много везде wchar_t.
339 1350357
>>50202

>Ты буквально не можешь взять какой-то символ из строки так: ch = str[5]


Это нигде в реальной жизни не нужно. Только в laba2, где задание звучит как "перевернуть строку".
340 1350390
>>50357
Когда додич писал только лаба2, и теперь рассуждает о реальной жизни
341 1350394
>>50356
ты тоже чорт
342 1350399
343 1350436
>>50356
Выводиться оно может хоть в UTF-8, хоть в анус мамаши, разницы нет, проблема во внутреннем представлении в программе, с которым ты работаешь.
Ну а что они там сейчас думают, мне плевать, как и данному треду, потому что тут C++, а не сисярпы и прочие UWP-скрипты говно-мобилко-веб-платформы, которую они лепят, стараясь убить нормальный десктоп и его приложения, т.е. С++ убить. Современный тренд - уходить с нормальных приложений на тормозные скрипты виртуальных машин, лепить обертки оберток оберток. Даже если в их строках, чтобы тупо напечатать одну букву будет вызов десятка вложенных функций, каждая с циклами по всей строке, им похуй, только рады и скажут "заебись, потому что это говно написали они и без него никто другой ничего не сможет, а значит они - гегемоны абсолютной власти. ПРОФИТ.
344 1350457
>>50124
Че ты шутишь? Я серьезно спрашиваю. Ты походу типичный ЧСВ-прогер не прогер, а пидор.
>>50128
Не понял о чем ты.
>>50160
Спасибо.
>>50188
Спасибо, если не стебёшься.
>>50218
Спасибо. Что такое сахар?
Screenshot 2019-02-18 at 15.49.36.png90 Кб, 1059x592
345 1350468
Почему этот код мне загагулины пишет в файл ,вместо строки fuck
346 1350474
>>50436
С++ это хайлоад и системное программирование в основном, десктоп на С++ уже считай мертв. Но я понимаю твой подрыв..
347 1350525
>>50474

>десктоп на С++ уже считай мертв


Ой вэй, слухи сильно преувеличены.
Просто взял несколько приложений, что у меня на рабочем столе: LightAlloy, Audacity, Sandboxie, MS Office, куча музыкального софта, торенты, браузер. Все писано на плюсах, либо с их участием.
348 1350528
>>50468
Как setbuf узнает размер буфера который ты ему сунул?
349 1350531
>>50468

>C-шный массив, вместо array или string

350 1350561
>>50531
Каво
351 1350603
а как найти адрес ссылок в плюсах?
352 1350620
>>50603
Все ссылки находятся по адресу улица Пушкина, дом Колотушкина
Ссылка не объект, а потому не имеет адреса.
353 1350664
>>50620
но ведь они хранятся в оперативке под определенным адресом, проблема в том, что обычным способом, адрес указывается на объект в любом случае
354 1350666
>>50664
По твоему адрес оперативки хранит адрес на другой адрес оперативки?
image.png32 Кб, 494x220
355 1350679
Что делает этот код ? Нихуя разобрать не могу.
356 1350684
>>50679

> 494x220


> Нихуя разобрать не могу

357 1350690
>>50684
У тебя 16к монитор что-ли? Все видно, не пизди.
358 1350691
>>50679
Выводит какую-то хуйню, посмотри, что ебучие методы возвращают и узнаешь что.
359 1350693
>>50691
cout я добавил чтобы посомтреть что там.
360 1350698
>>50679

>throw name


>const char*


лол.
361 1350744
>>50698
Ты видимо тоже не понимаешь что она делает.
362 1350749
>>50679
Похоже на высер какого-то декомпилятора. Мне непонятно, например, почему в строчке с return есть +1. Примерно понятно, откуда взялся >>5 - декомпиляторы любят подобный мусор.

Но в целом из названия и кода понятно - метод возвращает соответствующую имени класса virtual table.

По адресу self лежит табличка вида

указатель_на_virtual_table указатель_на_имя_класса
указатель_на_virtual_table указатель_на_имя_класса
указатель_на_virtual_table указатель_на_имя_класса
указатель_на_virtual_table указатель_на_имя_класса

Размер строки таблицы - 0x8. По смещению 0x4 лежит указатель на имя класса, который загружается в test и дальше сравнивается по имени с name. По смещению 0x0 лежит указатель на йобу, в йобе по смещению в 1 байт лежит указатель на virtual table.
363 1350752
>>50029
неа, просто 3д тыкнул, одна версия ~10гб весит, если несколько внутри тыкнуть точек
1.png52 Кб, 371x242
364 1350805
Нужно ли дрочить С перед тем как садиться за С++?
365 1350809
>>50805
Нет.
366 1350810
>>50805
Нет
367 1350811
>>50809
>>50810
Окей, спасибо.
undefined behaviour works.png40 Кб, 430x241
368 1350829
>>50805
Половина фич плюсов - попытка исправить недочёты сей. Следующая четверть - попытка исправить недочёты плюсов. Если тебе меньше 19 лет, то я бы начал с си. Иначе - добро пожаловать в волшебный мир "а нахрена это сделано вот так".
369 1350832
>>50829

>"а нахрена это сделано вот так".


Хз, загуглить можно
370 1350838
>>50805
нет, но тебе все равно придется
371 1350839
>>50805
вообще не стоит изучать щас с++ если ты новичек
выбери что-то другое
это не троллинг, это лучший совет который можешь получить
372 1350857
>>50829
Хз, мне наоборот всё логичным кажется, то и дело восхищаюсь инженерным гением разработчиков компилятора.
373 1350859
>>50749
Двачирую, разобрался. Эта функция делает обход таблиц в памяти и ищет подходящую по имени.
374 1350860
>>50218

>ригинальные средства


Попижженые из хаскеля какого.
375 1350861
>>50805
Смотря что ты собрался делать потом на плюсах. Если системное программирование/десктоп, то лучше начать с СИ. Если решил работать на высоком уровне абстракции, то СИ учить не нужно. Накатываешь какой-нибудь QT и рубишься.
376 1350889
Можно где-нибудь найти плюсопрограммиста для работы за еду или около того ну там например за $500 в месяц? Мне для прототипа моего персонального проекта нужно часть на плюсах допилить, а у самого времени нет, где искать погромиста?
377 1350896
>>50829
Так я понял, что С++ это С со всякими новыми парадигмами и фичами из коробки. Я же могу просто писать как на ванильной сишке и не использовать привнесенные костыли которые мне не нравятся?
>>50839
Почему так? Знаю только пиздон, но не могу придумать, что на нем писать кроме скриптиков, а на работки он идет обычно как бонус, а не основное требование.
Веб-языки меня не прельщают, т.к. ненавижу сети вообще и даже на фронтенде я так понимаю мне придется с ними часто париться. Не статические сайтики на бесплатных настроенных хостингах же всю жизнь делать.
>>50861
Спасибо.
378 1350907
>>50889
Пили телегу, с работы приду напишу.
379 1350924
>>50896

> что С++ это С со всякими новыми парадигмами и фичами из коробки


Это абсолютно другой язык, но практически совместимый с си. Ты вполне можешь писать на си, используя только некие фичи крестов, но зачем?
380 1350925
>>50907
sergeyak
381 1350957
Возможно сохранить определённый метод определённого класса для дальнейшего вызова с различными аргументами? Классы разные, но аргументы методов одинаковые.

Кроме сохранения лямбда функции в std::functional ничего в голову не приходит (и такое решение мне не очень нравится по эстетическим соображениям - там наверняка намного больше ресурсов уходит, чем требуется для сохранения двух указателей на класс и метод) - с шаблонами ещё совсем не разобрался, и как это написать мне не понятно - каким-то образом нужно сохранить тип класса, чтобы вызов его метода по указателю скомпилировался и сработал. Может быть там есть какая-то хитрая фича с использование std::invoke или ещё чего-нибудь?
382 1350960
>>50957

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


Ебанутый, лучше просто сдохни
383 1351036
>>50957

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


Указатели на метод обычно очень нетривиальные (это не обычный указатель), и не факт, что они будут расходовать меньше ресурсов, чем лямбда.
384 1351040
>>51036
Ну это только если с виртуальным наследованием. Там компилятору и правда приходится дрочить вприсядку, чтобы получить правильное смещение.
385 1351044
>>50896
Да, ибо абсолютно ВЕСЬ функционал крестиков реализовываем на сях.
386 1351047
Аноны, стоит вкатываться в метапрограммирование и подавать резюме в майрософт, чтобы студию разрабатывать?
387 1351066
>>51047
они не спонсируют визу вроде бы, сам хотел в команду студии податься в свое время.

А вкатиться в метапрограммирование для самого себя очень полезно.
388 1351067
>>51036

>и не факт, что они будут расходовать меньше ресурсов


То есть если переписать все эти методы как статические и явно передавать им указатель на экземпляр (в таком случае тип всех методов (точнее, уже почти просто функций) совпадает), то это будет лучше в плане ресурсов?
389 1351077
>>50857
У меня довольно много претензий к языку, если честно. Первое, что приходит на ум:

>почему std::initializer_list в сочетании с list initialization рушит все оверлоуды?


>такие правила выбора, тебе просто стоит запомнить


>почему при передаче в тред ссылки я должен использовать std::ref?


>такая семантика у ссылок, тебе просто стоит запомнить


>кто в своём уме придумал Most Vexing Parse? Просто потому что кому-то взбрела в голову идея объявления функции внутри функции, не значит, что это надо было делать


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


>std::unordered_map всегда использует open_hashing


>такой вот он STL, тебе просто стоит запомнить


>почему нет аналога defer? Я не хочу плодить классы, если мне что-то нужно всего один раз


>пользуйся RAII и молчи


>почему мой проект собирается два часа?


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


Если напрячься, можно было бы ещё много чего вспомнить. Да, все эти проблемы решаемы. Да, для большинства это не проблемы. Но если бы их не было, мир бы стал чуточку лучше и добрее. И ведь другого "Си, но лучше" на горизонте нет. Jai мог бы стать, но по текущему состоянию он становится таким же кластерфаком, что и плюсы.
390 1351079
>>51066

>они не спонсируют визу вроде бы


Прикинься индусом, тебе H1B с радостью дадут.
391 1351121
>>51077

>Но если бы их не было, мир бы стал чуточку лучше и добрее


Я бы даже согласился на то, чтобы все это осталось.
Но что мешает как-то визуализировать при необходимости, то что фактически происходит "между строк". Те же временные объекты, например.

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

И ладно бы всем похуй было бы на вкатывальщиков. Так ведь нет, книжки пишут, курсы всякие пилят, а такой очевидной вещи за 35 лет никто не сделал.
392 1351225
>>42442 (OP)
Что за херня? Почему в пайтоне один результат, а в сиплюсах другой?
393 1351226
>>51225
Алсо, пайтоновский вариант ближе к правильному ответу.
394 1351230
>>51225
Похоже, что кресты 1 / 3 ебошут целочисленным делением, т. е. 1 / 3 == 0.
Попробуй записать так: 1.0 / 3
453453543545.PNG25 Кб, 522x243
395 1351231
>>51230
Ого, а теперь прям идеально работает.
396 1351232
>>51231
А вообще православнее все цифры записать с точкой.
Цифра без точки считается int, а с точкой - double. Поэтому в твоем выражении будут неявные преобразования int в double.
Если все записать с точками, то преобразований не потребуется.
397 1351239
>>51232

>преобразований не потребуется


Они всё равно будут только при компиляции и будут только там где это требуется
398 1351248
>>51239
Да, точно, константы же
399 1351251
>>50889
бамп вопросу
400 1351326
>>42442 (OP)
Какая unix система чаще всего используется у разработчиков? Как пример для понимания Bubuntu, CentOS/Fedora.

И что-нибудь кроме g++?
401 1351329
>>51326

>у разработчиков


Ну смотря, что ты себе разработать хочешь
402 1351332
>>51329
Вопрос возник из-за того, что в одной вакансии требуется знание линуха плюс netbeans и я отчаянно пытаюсь узнать, а что вообще используют программисты. Речь как ни странно идёт именно о С++ программировании. Мне нужно это всё опробовать, дабы не сесть в лужу.
403 1351335
>>51332
Ну скажи, что знаком. Припезди, что однажды пиво с Торвальдсом пил
404 1351337
>>51335
Я же эту бабанту или федору ставить буду, потом на это нетбос и г++, надо потренироваться иначе буду красным сидеть и гагатать от происходящего.

Вообще для новичка гит и прочее, то есть портфолио очень важно, да? Программы как оно самое есть если что.

И ещё вопрос. Как оно вообще происходит то, там, на работе программиста на линух? К самому линух отношусь нейтрально из-за большого веса VS 2017.
405 1351370
>>51326
Ubuntu-подобные системы де-факто стандарт для обычного десктопа. Если бы мне пришлось сидеть с красноглазым говном вместо ОС, я бы, наверное, накатил Kubuntu.

>>51337
С каких пор ВЕС ВИЖУАЛ СТУДИИ это важно? У тебя ССД на 60 гигов? Ну серьезно. Флаеры пораздавай день, купить на 256гб.

И да, нетбинс это просто анальный террор, если пользоваться не-студией, то хотя-бы культикреатор, а не этот жавадерьмо.
406 1351377
>>51370
У меня есть ССД на 256, но время установки огорчает, сильно.

Касаемо нетбоса, я понимаю. И что такое кутьикреатор? А эклипс?

Касаемо бабанты, это хорошо, меньше проблем, наверное.

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

И второе. Как раньше народ игры на С писал. Например, дум. Что конкретно? Вот есть кучка монстров, их над создать, причём разных и управлять, и если про управлять это допустим стек, очередь или список самодельные, то как быть с разнми монстрами? Структуры?
407 1351395
>>51377

>И что такое кутьикреатор?


qtCreator. Более-менее компактная и минималистичная ide. Хреново справляется с подсветкой (и автоотступами) всяких новых фич из новых стандартов, в остальном почти золото, по сравнению со всякими студиями или тормозными clion - я по своей воле ни на чём другом писать не стал бы. Попробуй, сам посмотри, оно за десять-пятнадцать минут ставится.

>И второе. Как раньше народ игры на С писал.
А в чём проблема?

>и если про управлять это допустим стек, очередь


Вот тут вообще не понял что ты имеешь ввиду.
Угу, структуры. У тебя есть структура под монстра. Можно несколько разных как разные сущности, если требуется для разных функций. Или можно в структуре хранить указатель на "пользовательские данные", которые требуются для конкретного монстра. В зависимости от типа монстра вызываются разные функции, чтобы они по разному действовали во время игры. Хранить монстров в списке или массиве, как угодно.
15340952605190.jpg54 Кб, 960x960
408 1351410
Вечер в хату молодые(и не очень) люди! Намедни всучили лютую(для меня дауна) лабу на плюсах, а я не знаю как подступиться к ней даже:

Постановка задачи.

Разработать объектную программу для хранения и обработки данных об участниках групп социальных сетей. Сеть рассматривается как набор групп, где каждая группа имеет уникальное название. В свою очередь, каждая группа рассматривается как набор участников, причем каждый участник имеет уникальное имя и параметр «Статус участника».

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

Для объединения групп в рамках соцсети используется структура данных в виде адресного разомкнутого упорядоченного однонаправленного списка с заголовком. Для объединения участников в группы используется очередь на основе обычного массива со сдвигом элементов.

Сначала в консоли, в перспективе еще и ГУЙ запилить, но это все лирика. Как это хоть примерно должно выглядеть?
409 1351420
>>51377

>Как раньше народ игры на С писал


Точно так же, как и сегодня пишут на сях, плюсах, питонах и других языках.

Если сильно упростить, в том же думе каждом кадре тебе нужно сделать:
1) Посмотреть текущее состояние, скажем, клавиатуры
2) Исходя из состояния алавиатуры обновить мир
3) Вывести мир на экран
4) Воспроизвести звуки
5) GOTO 1

Каждый из этих шагов есть отдельная функция, которую тоже можно разбить на подпроблемы. Вот так и пишется. Только в реальны0 приложениях есть куча других вещей типа загрузки-выгрузки ресурсов, обработки сети и тд.
410 1351421
>>51395
Попробую под бабанту, всё таки простота сред на линух манит, недавно прознал про билдер, восставший, задумался, ибо вес 2015 и 2017 просто повергает в шок, 2015 - 35ГБ, а уж сколько 2017 остаётся гадать.

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

Я ту поглядел время появления шаблонов, это начало 90х, так?
411 1351422
>>51377

>установки огорчает


Я не понимаю твоей проблемы. 1 раз поставил, и забыл. Апдейты отнимают по минуте.

> Касаемо нетбоса, я понимаю. И что такое кутьикреатор? А эклипс?


QtCreator - написан на крестах, и не лагает как остальное джавадерьмо. Я бы сказал, что топ2 ИДЕ после божественной студии.

> И ещё вопрос, тут стращают, шо шаблоны это плохо


Шаблоны - это инструмент. Иногда инструмент не подходит под действие, иногда подходит идеально. Знать и уметь в шаблоны надо хоть на каком-то уровне. Я на работе в свое время нахуевертил вариадиков, зато у нас auto buff = serialize(a,b,c,d,e,f, ...) например, вместо хуевой горы говна.

> Как раньше народ игры на С писал.


Народ писал и на ассемблере. Идеи одни и те же, плюс минус, как написал >>51420 просто кресты выразительнее, нежели си
412 1351423
>>51420
Один сканлайн с бросанием лучей это целая куча функций и структур, забыл ещё про отброс того, шо не видим, по идее кстер должен решать эту проблему.

Считаю это главным гемором.
413 1351427
>>51422

>Я не понимаю твоей проблемы.



Йота, Ростелеком не может провести к вам инет, ведь вы в чёрном списке с 90х годов плюс ВЫ невыгодны для нас, похуй, что рядом с центром ДС2.
А так, убедил, таки попробую его добыть, но пока для меня круче 2010 ВС ничего нет.
414 1351433
>>51420

>10 Посмотреть текущее состояние, скажем, клавиатуры


>20 Исходя из состояния клавиатуры обновить мир


>30 Вывести мир на экран


>40 Воспроизвести звуки


>50 GOTO 10


Поправил зумера.
415 1351438
>>51427
Что-то как-то прям очень тоскливо.
416 1351448
>>51410

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


Non-intrusive singly linked list что-ли? Ну а так у тебя всё расписано.

Есть связный список групп. Группы можно добавлять в список, удалять из него, изменить название или произвести операцию над участниками этой группы. В каждой группе есть массив участников (не знаю, он должен быть статического размера или динамически расширяемый). Участников можно добавлять, удалять, или изменять имя и статус.

>>51433
На телефоне был, извиняйте.
...чёрт, на телефоне. Скоро стану как эта вся молодёжь. Надо пить больше Монстра и играть в кваку. clack Да, вот в моё время были игры чтобы погамать, не то что сейчас. sip
417 1351471
>>51448
Ты повторил то, что написано в задании, это никак не помогает(
Я структурно не могу понять что да как. То есть, я создам класс "Участник", "Группа" и "СоцСеть" Потом отдельно нужно навернуть классы "Очередь" и "Список". Очередь будет в private секции Группы, а Список в свою очередь там же у СоцСети или как?
418 1351472
Знатоки ООП здесь?
Чем отличается паттерн Facade от Delegation ?
419 1351490
>>51472
цпп != ооп
точнее, иди нахуй отсюда
420 1351494
>>51490
А я кроме цпп знать ничего не желаю, так что ооп == цпп но цпп != ооп тоже верно
421 1351495
>>51370

>У тебя ССД на 60 гигов? Ну серьезно. Флаеры пораздавай день, купить на 256гб.


И сколько дней мне надо флаеры раздавать, чтобы новый ноут взять?
422 1351503
>>51494
К энтерпрайз паттернам это тебе к джавистам надо.
423 1351509
>>51503
Ну я кроме плюсов языками не владею, да и их только учу.

>к джавистам надо.


Для меня это тоже самое, что на монгольском языке ответ искать.

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

Тащить же сам пример из книжки будет слишком громоздко - 9 классов, код с объяснениями занимает около 30 страниц.
424 1351563
>>51495
не надо было хуевый покупать изначально
425 1351582
>>51509
Как показывает моя практика работы С++ макакой (а это уже почти 5 лет), то эти убер-паттерны нигде не используются, тупо за счет того, что они безумно громоздкие, и слишком глобальные. Если ты какая-нибудь джава-энтерпрайз макака - может быть да. Кресты вообще про другое.
426 1351588
>>51472
Если правильно помню, то Фасад - упрощение сложного интерфейса. То есть тебе нужно, скажем, создать объекты A, B, C и вызвать у каждого по десять методов. Вместо этого ты делаешь класс Zayobcer, у которого есть метод makeZayobca(), в котором выполняются все эти действия. То есть это по сути простое применение абстракции, но энтерпрайз в лице банды четырёх сделал, как обычно, всё сложнее, чем оно на самом деле.
Delegation не помню, что бы в GoF был. Судя по гуглу, это, если тебе нужно использовать метод foo класса A, но чуть расширить b lheubv, ты создаёшь класс B и хранишь в нём экземпляр А (например, по имени m_a). Затем B::foo() просто вызывает m_a->foo(). Сейчас такую вещь нахывают принципом composition over inheritance.
427 1351596
>>51472
Facade использует Delegation. По сути одно и тоже, просто разные цели. Цель Delegation - размазать реализацию класса по нескольким с целью сделать возможной модификацию поведения класса (например dependency injection) или преиспользовать код (сделать что-то похожое на миксины). Цель Facade - не светить наружу десятком классов, а выставить только один. Но Facade реализуется с помощью Delegation, тоесть реальной разницы нет.
428 1351679
>>51563

>не надо было хуевый покупать изначально


Он изначально пиздатый, если винду и студию не ставить.
429 1351691
>>50957>>51036

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


Угу, ты оказался прав. Лямбды хороши.

Сравнил дома в каком-то искусственном тесте, 6 типов классов, 100к экземпляров каждого типа, 10кк сохранённых пар, 10кк вызовов:
1. std::bind сохранённые в std::function
64 байта на каждую пару, общее время сохранения - 1700 (миллионов тактов), вызовы - 462. Отвратительно.
2. Лямбды с связыванием по ссылке в std::function
32 байт на пару, 758, 427 (выходит лямбды почти не занимают память (std::function уже имеет размер в 32 байта) - видимо как-то хитро сжимаются, сохраняясь по одному разу для каждого из 6 классов, а одно связанное значения сохраняется в std::function (если добавить ещё связанных переменных, то при превышении захвата в 16 байт потребление скачком прыгает до 64 байт на пару) Вот бы где почитать про подобные тонкости реализации...
3. Пары из статического метода в std::function + void указывающий на экземпляр
40 байт, 758, 426
4. Статические методы в обычных указателях на функции + void указывающий на экземпляр(>>51067)
16 байт, 805, 334

Не представляю почему сохранение в std::function<int(void,int)> быстрее, чем в int ()(void,int) - числа почти не прыгают, из раза в раз получается 805 и 758-759. Если попытаться выровнять структуру до 32 или тех же 40 байт - время сохранения только увеличивается.
430 1351693
Аноны, а нет ли такого сборщика который бы вытаскивал те функции, которые используются в программе ну и функции внутри тех функций и таким образом собирал программу минимизируя вес? В больших библиотеках ведь не 100% кода используется.
мимо-нуфаг
image.png5 Кб, 739x79
431 1351696
>>51693
Флаг -Os не подходит?
432 1351698
>>51696
Да я названия не знал просто, спасибо
433 1351702
>>51698
Только оно посредственно работает, у меня почти не поменялся размер в открытом сейчас проекте.
434 1351713
>>45059
Сложно. Даже обычный std::string имеет хуеву тучу тонкостей которые ты можешь даже не знать, не то что заимплементить. Типа того что при малых длинах строк контент хранится в самой структуре и аллокаций памяти не происходит.
То есть, написать самому можно (и если есть время и упорство - постараться точно стоит), но гарантированно выйдет менее производительный чем стандартный.
435 1351714
>>45224
Вроде в 17-х крестах noexcept спецификация является частью системы типов, а значит можно в компайл тайме выбирать между перемещением и копированием.
К тому же, std::vector как мне кажется юзает именно перемещение, ведь ты можешь сделать вектор юник поинтеров, например.
sage 436 1351736
>>51714

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


"В огороде бузина, а значит в Киеве дядька".
Пиздец, нахуй.
https://en.cppreference.com/w/cpp/utility/move_if_noexcept существует со времён C++11 и никакие части системы типов тут не нужны.
437 1351760
>>51582
Используются. Другой вопрос можно/нужно ли этого избежать.
Ящитаю так: если есть вероятность что-то встретить в чужом коде, то есть и смысл в этом разобраться.

>>51588

>Delegation не помню, что бы в GoF был


Да, в ГоФ не описывался. На педивикии есть.

>>51596

>Facade реализуется с помощью Delegation


Вот это, похоже, и есть мой случай.

Алсо, забавную вещь нагуглил в процессе
https://en.wikipedia.org/wiki/Schizophrenia_(object-oriented_programming)
438 1351767
>>51760

>встретить в чужом коде


Ты чужого кода не видел и не увидишь до гроба, олимпиадная макака.
439 1351804
>>51582

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


Паттерны какбэ не указывают что тебе делать, это про просто список широко распространенных уже используемых техник. Их назвали для более понятного общения программистов друг с другом, а не твоей обязанности их использовать.
440 1351808
>>51582

>практика работы С++


хуевая у тебя практика, однако
за много лет коммьюнити с++ накопило большую базу знаний о реализации паттернов в языке
они могут реализовываться динамически, в стиле gof и чем то копировать смаллтолк приемы
они могут реализовываться статически, в стиле книги александреску "соверменное проектирование" и дальше то что пошло в буст на основе этого
они могут даже реализовываться в стилях функционального программирования, что одно время было популярно и стало возможным с последними стандартами языка
зачастую перед проектировщиком сейчас не стоит вопрос о придумывании чего-то нового, а вопрос выбора, как будет реализовываться та или иная связка паттернов..
441 1351812
>>51808
Так и что получается, дрочишь паттерны и можно сразу сеньором помидором устраиваться?
442 1351814
>>51808

>хуевая у тебя практика, однако


Ну почему сразу хуевая? Просто повезло человеку с местом работы.
443 1351815
>>51812
если отвечать без ерничанья, то простому то кодеру не надо это зубрить
в том смысле что на это надо нихуево времени потратить
чтобы тот же gof проштудировать надо время
не говоря уж о книжке александреску, до нее надо читать "шаблоны" джосаттиса иначе вообще нихуя не понятна магия будет
ну и само, собой понимать, что все не стоит на месте, и то что там уже понаписано, щас делают немного другими способами, тк новые стандарты языка щас уже, новые семантические и синтаксические конструкции есть
скорее это нужно проектировщикам библиотек, архитекторам.. в общем уровень ведущего кодера и выше..
444 1351975
#define TEXT "This is a text"

const char* giveText()
{
return TEXT;
}

Такое может работать, или будет ошибка?
445 1351980
>>51975
будет работать, но нахера так сложно?
446 1351982
>>51980
Чисто теоретически. Интересно, где хранится константа. Не будет ли той же ошибки, что и при возвращении указателя на локальный объект, который удаляется при выходе из скопа
447 1351987
>>51982
Какая константа, ты о чем?
TEXT при компиляции заменится на "This is a text", вот и все
448 1351988
>>51982
"This is a text" это статическая сишная строка, которая хранится в образе экзешника. Т.е. у нее есть строго определенное место, и каждый раз ты будешь на нее указатель возвращать.
image.png4 Кб, 402x44
449 1351996
>>51982

>Интересно, где хранится константа.


Ну, так и прогугли - "где хранятся строковые литералы?"
Насколько я помню в какой-то области перед глобальными переменными, что подтверждается значениями указателей. (тут для сравнения указатели на переменные из стека, из кучи и глобальную)
450 1351999
>>51996
Полагаю, здесь у тебя дата-мегмент.
Это зависит от компайлера, на самом деле. Я не знаком с самыми современными трендами в мемори лейаутах, но главное, что они не хранятся на стеке, что позволяет им быть доступными из любого места в коде.
451 1352027
Есть тут кто? На печально известную бабанту поставил нетбос и благополучно подключил Г++, но вот беда, как это дело собирать, в моём случае есть четыре простеньких файла, вариант на хабре с прописанием всего этого дела в консоли не впечатлил и хотелось БЭ автоматизации. Я скромно догадываюсь, что нужно что-то скачать от ГНУ, чтобы это помогало собирать всю эту кучу и показывать результат.
452 1352033
>>51996
>>51996
поведение будет зависеть еще и от ключа компиляторов, которое управляет совместимостью
раньше это не было строковой константой, в него можно было писать
к примеру, в книжке кернигана "программное окружение юникс" только в путь так делают - в нескольких местах в примерах там изменяют строковый литерал
453 1352060
>>52033
VirtualProtect() - делаешь область доступной на запись и пишешь.
sage 454 1352061
>>52060
И всё равно UB
455 1352206
>>52027
Ну можешь make взять. Начешь с самого начала привыкать к тому что плюсы это боль.
456 1352521
g++ и #include<thread> дружат вообще?
457 1352558
>>52521
Чё за вопрос вообще? Поддерживает ли gcc библиотеку thread?
Да
458 1352580
>>52558
Нет же.
sage 459 1352823
>>52580

>Нет


Пидора ответ.
460 1352845
>>52521
Вопрос с подвохом. g++ это программа, у неё нет души, и поэтому не может дружить. Вот я с #include<thread> дружу давно, очень хороший хедер.
461 1352922
>>52845
А я обожаю <windows.h>.
462 1352941
>>52521
Нужно вручную линковать pthreads (ну или ide может за тебя сделать, если какая-то годная, не знаю существуют ли такие).
463 1352973
Геймдевы тут? Скиньте алгоритм создания цилиндра из одной точки. origin За одно поделитесь материалом по гейм-дев матану, с рейтрейсингом и прочими йобами. С меня тонны нефти.
464 1353048
465 1353272
Аноны, может кто посоветовать материалы по честно говоря не уверен как это называть теории веб-сетей и подобного. Ну http/TCP, я про это вот. А то меня все эти названия пугают только. Желательно не кнутоподобные и не больше 1к страниц можно на ангельском
466 1353332
>>52973

>алгоритм создания цилиндра из одной точки


В каком смысле? Далее ты говоришь про рей-трейсинг. Тебе нужен алгоритм пересечения луча и цилиндра?
467 1353378
>>53272
Причем тут С++*
a039e5cadb5fb237c6c87a6773ce78c2.jpg63 Кб, 400x543
468 1353428
sage 469 1353501
>>52941

>Нужно вручную линковать pthreads


Нужно указать флаг -pthread
Это не только на линковку влияет.
470 1353539
>>53378
Только в одном треде сижу, извиняюсь.
472 1353550
>>53547
Спасибо, попробую осилить.
473 1353616
>>49964

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


Хватит видеть мудрость там, где была банальная лень и похуизм.
Делали по принципам "640 килобайт два байта хватит навсегда" и "после нас хоть потоп".
474 1353625
>>53616
ты вообще понимаешь, что когда это дизайнилось, там циклы процессора вручную считали еще?
475 1353638
>>53625
Windows NT это 1989-й год. Intel 80486 вышел, с пайплайном и кэшем.
Windows NT писали под 32- и 64-битные процы (ладно, на 64-битной DEC Alpha оно работало в 32-битном режиме, так что только 32 бит) на C. Какие циклы вручную, когда C, пидоран?
476 1353642
>>53638

>когда не можешь в аллегории


Давай тогда своими именами. Полудурок ебаный, хипстер ублеванный, ты понимаешь, блядь, что СТРОКИ это очень важно, они собираются на каждый чих и модифицируются во всех бизнес-приложениях, да и даже в работе ФС\реестра?
И что, потенциально, каждая операция по лукапу и замене превращается из O(1) в O(n)?
477 1353645
>>53642

>даже в работе ФС\реестра?


И что там надо? Разбить строку по слешу (бекслешу), конкатенировать строки, выполнить поиск по таблице файлов/ключей.
Разницы в этих операциях никакой для UCS-2 и UTF-8.
478 1353698
>>53616
Ядро уже пропатчил на поддержку 2048 ядер? Нет? Пиздуй работать, ленивый похуист.
479 1353699
>>53698

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


Зачем патчить в меньшую сторону?

$ grep NR_CPUS /boot/config-4.15.0-4*
/boot/config-4.15.0-43-generic:CONFIG_NR_CPUS=8192
/boot/config-4.15.0-44-generic:CONFIG_NR_CPUS=8192
/boot/config-4.15.0-45-generic:CONFIG_NR_CPUS=8192
480 1353765
>>53332
Да, я уже разобрался.

Вот может пригодится кому: https://www.shadertoy.com/view/4lcSRn
481 1353994
Поясните за BOOST
Навернул Липмана и сверху Прату для закрепления. Там пишут, что в с++11 появились много чего полезного в том числе многопоточность.

Погуглил кратко про boost. Я до этого думал, что это чисто библиотека под многопоточность, но, как я теперь понял, это какая-то чудо сборная солянка всяких ништяков, которые впоследствии попадают (или уже попали в с++11) в стандарт.

Так что же такое std и примочки с++11? Это часть библиотеки boost или уже войдя в стандарт оно стало независимым?
Например, std:vector существует аналог в библиотеке BOOST? Это одно и тоже? Они Взаимозаменяемы?
А std:thread?

В очереди стоит книга Вильямса про многопотосность. Там будет именно с++11 функционал? Есть ли книга по boost или его изучать только по документации?
Какой минимум нужно прочитать, чтобы переходить к изучению boost?
482 1354080
>>53994
std это стандартная библиотека. Когда говорят C++11, подразумевают std, а boost это сторонняя библиотека, нужна если тебе стандартной мало.
483 1354389
Если ли причины в 2019 писать новый проект на плюсах, а не на расте? Вроде modern c++ более приятным стал, но до раста всё равно не дотягивает ведь.
484 1354396
>>54389
Если ли причины в 2019 писать новый проект на расте, а не на плюсах? Вроде текущий борроу чекер более приятным стал, но до количества библиотек и поддержки плюсов всё равно не дотягивает ведь.
На чём хочешь, на том и пиши.
485 1354414
>>54389
Хеллоу ворлд ты можешь хоть на лиспе писать.
486 1354569
>>54389
Лучше сразу на пхп или жабоскрипте пиши, чтобы "приятнее" было
487 1354669
>>54389
Если ли причины в 2019 писать новый проект, а не допиливать старый? Вроде этот процесс более приятным стал, но до рефакторинга всё равно не дотягивает ведь.
hjk ghj 488 1354674
ghjk
489 1354758
>>54389

>новый проект


Это такой эвфемизм чтобы слово "лабы" звучало по солиднее?
Наша компания ведущий разработчик программных решений и комплексов для лаб по программированию. Уже более половины семестра решения компании laba1 и laba2 являются эталоном в области лаб по программированию. Регулярная сертификация на соответствие стандартам индустрии позволяет нам создавать лабы мирового уровня.
В настоящее время вы активно исследуем возможность использования языка Rust для разработки надежных и качественных программных решений. В частности наш новый продукт laba3 релиз которого запланирован на вторую половину семестра является первым коммерческим решением на Rust в этой области.
490 1354773
>>54758
Всё правильно, так сеньорами в 19 лет и берут.
491 1354928
А есть какая-нибудь удобная система, которая сама скачает зависимости, а мне нужно только указать адрес и название пакета?
Как мавен у джавы...

или нужно пердолиться скачивая и конпелируя все дерьмо, указывая папку в настройках проекта итд
sage 492 1355007
493 1355017
>>54928
нихуя нет. тоже задавался этим вопросом
за столько лет эти инвалиды нормальные тулзы даже не придумали. то ли дело мавен/гредл в джаве или карго в расте
в питоне такая же хуйня на самом деле
494 1355037
>>54928
vcpkg
495 1355077
Подкиньте норм путеводитель по WinAPI
Хочу написать бота к игрульке
496 1355079
>>55077
msdn + google
497 1355117
Какую использовать библиотеку для рисования элементов GUI в opengl окне? Чтобы слайдером менять размер/цвет и т.д.
498 1355118
Как работают такие функции как sleep_for() ? Я понимаю, что они приостанавливают поток на заданое количество миллисекунд. Но что происходит внутри? Там стоит какой-то счетчик? Но когда и каким образом этот счетчик проверяется, если поток остановлен?
499 1355122
>>55118
Клик правой кнопкой мыши->открыть исходный файл
500 1355125
Есть такой код:
int main(int argc, char argv) {
parse(argv[3]);
}

Как задать функцию parse, чтобы она, допустим, читала третий символ из второго аргумента?
501 1355126
>>55118
Потоками система занимается. После вызова sleep она помещает поток в список отдыхающих. Когда проходит нужное количество времени - перемещает в список ожидающих своей очереди на выполнение.
502 1355134
>>55125
В argv хранятся поинтеры, которые указывают на строки. Эти строки в общем случае разбросаны по памяти, то есть не идут друг за другом подряд. Поэтому сомневаюсь, что можно по адресу начала одной строки как-то найти начало другой.
503 1355160
>>55125
Если я тебя правильно понял, то думаю так: argv[0] это название экзешника, а первый аргумент находится в argv[1], так что тебе нужен индекс 2 для второго аргумента. Дальше третий символ строки это второй индекс
int main(int argc, char* argv[]) {
parse( argv[2][2] );
}
504 1355198
>>55134
>>55160
на самом деле мне надо более сложно парсить этот аргумент, не очень понимаю как его передать в функцию. Скопировать в массив чаров или строку и передать функции уже его? допустим
char *с = new char[strlen((argv[2]) + 1)];
strcpy(с, argv[2]);
и как тогда инициализировать parse, чтобы она читала c и выводила третий символ?
505 1355204
>>55122
В стандартной библиотеки все загажено каскадами шаблонов. К сожалению я не настолько крут, чтобы расшифровать эти джунгли.

>>55126

>Когда проходит нужное количество времени


Вот мне интересно как это происходит, как система считает это время? Каждый цикл например if (counter >= sleetime) ? Но это же затрачивает ресурсы.
506 1355211
>>55198
сделал через string, но вопрос остается
507 1355311
>>55204

> Но это же затрачивает ресурсы


Невозможность приостановить бесполезный тред еще больше ресурсов затратит. Тем более потери на проверку счетчика очень незначительные по сравнению с общими потерями на работу ОС с потоками.
508 1355316
>>55118
Обернута функция системного апи какая-то.
Например это https://docs.microsoft.com/en-us/windows/desktop/api/synchapi/nf-synchapi-sleep
509 1355338
>>55204

>как система считает это время


Есть такая штука на уровне процессора, как прерывания. Если по-простому, то это событие, при котором процессор бросает всё, что делает, и берётся выполнять обработчик прерывания. Среди них есть прерывание таймера, которое происходит с одинкаовым интервалом. Когда случается прерывание таймера, ядро смотрит, что прошло столько времени, значит, состояние текущего треда можно сохранить и запустить другой. Вот там внутри где-то и есть какой-нибудь список из спящих тредов.
510 1355620
https://www.youtube.com/watch?v=mUQZ1qmKlLY - хуета или достойно внимания?
Вкатываться в ойти не собираюсь, это так, для общего развития, так что расслабьте булки.
511 1355673
>>55620
Почему именно видео в хуёвом качестве и на английском?

И если ты разом собираешься это всё смотреть, то мало что отложится в голове, надо на каждую тему по несколько часов уделять.
512 1355688
>>55673
Именно это потому что увидел это видео в меме.
Так то я уже нашел по совету достойные книги по сетям и крестам.
513 1355691
>>55688

>Достойные книги по сетям


Что за книги?
514 1355700
>>55691
Самому их достоинство сложно определить, я только начал, но их мне посоветовал знакомый, с 10-летним стажем джавы, работающей удаленке за четверку грина, а ему я доверяю.
515 1355705
>>55700
Ты можешь авторов назвать?
516 1355708
>>55705
Седжвик и Танненбаум.
inb4 хуета
517 1355710
>>55708
Я видел как кто-то в треды скидывал эту книгу, говорил, что слишком сложная.
Я сейчас это буду читать: http://naymov.com/edu/ukit/olifer.pdf
518 1355715
>>55710
Я не боюсь сложностей, в конце концов работа со сложными материалами тренирует мышление.
519 1356043
Что можно прочитать, чтобы начать писать на плюсах как можно быстрее (при условии, что знаю другие ЯП)? stdlib не предлагать.
520 1356172
>>56043
Русские пословицы
Поспешишь - людей насмешишь
521 1356277
А на Visual Studio можно создавать приложения которые запустятся на линуксе?
cpp.png13 Кб, 384x399
522 1356301
Написал хелло ворлд, скомпилировал, а бинарник весит 1.5 мб. Почему так? Может как то настраивать нужно? Помогите плиз.
523 1356305
>>56301
*Переключил в release - всё равно, бинарник весит очень много. 750кб.
524 1356306
>>56277
да, но какая-нить виртуалка с линуксом все равно будет необходима, т.к. студия будет на ней все ремоутно собирать и дебажить
525 1356315
>>56301
>>56305
Может у тебя рантайм какой-нибудь бандлится в екзешник? Пикрелейтед собрал в codelite, при запуске жалуется что не находит Libstdc++-6.dll
tIsCdDn.png7 Кб, 607x129
526 1356316
>>56315
Забыл прикрепить
527 1356324
Тру системники тут? Есть фуллскрин приложение Opengl/directx. Возможно ли как-то поверх него разместить свое окно или просто делать отрисовку? Работаю в ядре.
528 1356334
>>56324
возможно, фрапс же выводит ФПС в любом окне.
529 1356360
>>56334
Фрапс внедряется в процесс. Нужен глобальный метод без вмешательства взаимодействия с процессом.
530 1356361
>>56324
Стимовский оверлей, например, выводится поверх любой вещи. В теории реально, но как это сделать...
531 1356396
>>56361
Стимовский оверлей тоже внедряется в процесс.
532 1356408
>>56360
ну, ты в кернеле можешь найти сигнатуры драйверов и их переписать по идее, но это же пиздец
533 1356453
Анончи, подскажите, декомпиляция - миф или реальность?
Шарпы, например, легко декомпилятся.
Проебал исходники, экзешниу есть. Люто не хочу писать заново - шансы есть?
Из гугла нашел только некий бумеранг (как-то не сработало) и декомпайлер от аваста, но с ним вообще не разобрался.
534 1356471
>>56453
Декомпиляция в каком-то виде существует - кури HexRays, но это, фактически, дизассемблер, который обратно в С попытались собрать, т.е. убожество.
535 1356472
>>56453
Миф. С++ компилируется в машинный код сразу понятный процессору. C# в байткод, который потом интерпретирует виртуалка. Если хочешь освежить память/забыл какие алгоритмы использовал, подрубай иду/олю и смотри. А так в любом случае придется писать все заново.
536 1356634
>>55211
Так и нужно было сразу, [] - оператор для Си-червей пидоров, нормальные С++ господа используют array или string
537 1356737
Анон, подскажи, почему тут переменная result не передается в main.
https://ideone.com/OKWUbz
538 1356756
>>56737

> почему тут переменная result не определяется в main


FTFY
Потому что ты так написал, ёпта.
539 1356767
>>56737
потому-что ты вообще не понимаешь, что делаешь. Вперед читать книгу про функции и возвращаемые значения
540 1356782
Аноны, нормально ли учить фреймворк Qt без углубления в реализацию? Если создание окон/диалоговых сообщений я еще могу осилить с помощью винапи какого-то, то блютуз/веб библиотеки для меня скорее как магия выглядят. Как это вообще реализовывали, если в плюсах нет средств для этого?
541 1356812
>>56782
Абсолютно вся работа с чем-то, кроме заранее выделенной памяти - это дерганье API операционной системы.

Учить фреймворк нормально без его кишок. Он для этого и фреймворк, чтобы быть самым низким слоем абстракции, вместо API системы
542 1356815
>>56812
То есть сами запросы в веб/блютуз и другие беспроводные сети идут от системы, а возможность их использования зависит от языка ну или библиотек?
543 1356823
>>56737
int result = digital_root(n);
544 1356868
>>56815
вообще все идет от операционной системы. У юзеров прямого доступа вообще ни к чему. Все системное API это "Уважаемая операционка, сделай пожалуйста вот это", не более.

Все это апи - чистая сишечка обычно, Микрософт немного С++ потом добавил.
545 1356875
>>56868
Чисто Win32 API вроде до сих пор вся на C или?
546 1356908
>>56875
Винапи - сишечка. КОМ-параша - С++. Там кое-какая работа со звуком доступна только из КОМ-параши, например
547 1356936
>>56908
DirectX тоже на COM.
548 1357127
>>56301
Попробуй скомпилировать с оптимизацией например.
549 1357202
>>56868
А каким образом тогда Qt предоставляет кроссплатформеность? Он для каждой системы хранит пак функций которые заменяют аналогичные для другой системы?
550 1357206
>>57202
Именно так, и никак иначе
551 1357283
>>57206
Нихуёвую там работу проделали. Спасибо за ответы
552 1357345
Кому не лень, объясните
почему
yoba=3;
cout<<yoba++ + ++yoba + ++yoba; будет 15
а не 11 если считать как даун
и не 14 если все же брать во внимание, что после сложение, посфексный инкримент перезаписывает yoba-y но откуда 15 то?
1551459881386.jpg14 Кб, 250x373
553 1357354
>>57345

>посфексный инкримент

554 1357392
>>57345
Вот тут например выходит 14
https://ideone.com/elwYPG

А все потому, что порядок вычисления в этом случае неопределен:
https://en.cppreference.com/w/cpp/language/eval_order#Undefined_behavior_2
555 1357393
>>57392
а по итогу чемуу доверять? если не сложно, можно подробнее про эту неопределенность и как вообще логику найти?
557 1357429
>>44551

>Шоб друзьям не стыдно было показать


ваше место у параши -> https://2ch.hk/gd/res/550538.html (М)
558 1357433
Посоны! помохите тупому.
Не могу найти как в распределении бернулли поменять параметр распределения на живом объекте после конструктора. На цэпэпэ рефе нихуя нет. Функций у класса beroulli_distribution с гулькин хуй и ничего похожего не set я там не вижу. Мне нада соотношение рандомных булей поменять несколько раз в прожке.
Или из вариантов делать только временный объект с нужным параметром?
559 1357468
>>57402

> 2014


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


кек. Их нет начиная с C++11.
560 1357479
Господа крестоносцы, такая вещь. Пишу dll либу для рабочей задачи. Раньше использовал чистый C. Сейчас всю внутреннюю работу перевожу на C++. C использую для фронтенда либы. Функции в либе при создании каких либо объектов (не экзепляров класса, а просто дескрипторы) возвращали статус об отсутствии свободной памяти путем проверки указателя на NULL после аллокации памяти. В С++ прочитал про два пути. Аллокация с new которая кидает bad_alloc и аллокация с new(std::nothrow), после которой идет проверка на nullptr. А как лучше делать проверки с вещами вроде std::string name = new std::string(ptr_str) или vector<int> data = new vector<int>(random_size), в случае когда память внутри объектов не аллоцировалась? С меня за благодарность new coulpe<tea>[2];
561 1357509
>>57468
В статье об этом сказано.
Алсо, в 2014 и даже позже, были актуальны старые компиляторы с неполной поддержкой 11
562 1357655
Вообще есть разница как инициализировать все элименты структуры на 0. Например вот так:
STRUCTURA moyaStructura;
memset(&moyaStructura, 0, sizeof(STRUCTURA));

Или просто так:
STRUCTURA moyaStructura = {};
563 1357657
>>57479
Насколько я знаю, в STL с отключением исключений всё довольно плохо. Но я вплотную этим не занимался, так что может что-то есть.
564 1357711
>>57479
по хорошему, ты пишешь сишный интерфейс, который полностью инкапсулирует все говно внутрях, и где-то внутри ты все эксепшены и ловишь
изображение.png26 Кб, 878x482
565 1358025
Почему это происходит?
566 1358028
>>58025
Забыл сказать, что я имею в виду табуляцию в консоли, а не ошибку в коде для вывода.
567 1358032
>>58025
Число больше размера табуляции - вот и колбасит. И, да, во втором цикле твоё j должно быть меньше количества столбцов, а не строк
err1.png31 Кб, 692x378
568 1358565
Чё ему надо?
569 1358566
>>58565
запятая вместо точки с запятой перед value
image.png403 Кб, 604x410
570 1358569
1200px-Binarylogarithmplotwithticks.svg.png65 Кб, 1200x956
571 1358576
Блять хули Седжвик такой сложный?
Только начал читать, а там ёбаная математика и нихуя не подробно. Не то чтобы вообще ничего не понятно, но некоторые вещи не понятны. Как читать книгу где не всё понятно?
572 1358600
>>58576
Дропать и читать другую.
573 1358601
>>58576
Это тебе не формочки на хтмл+цсс клепать. Учи математику или дропай книгу
574 1358614
граждане, проблема такого рода. есть проектик, внутри него собирается в качестве либы библиотечка снмп++. с помощью силанга все собирается, с помощью гцц выпадают ошибки - undefined reference на определенные в либе константы. в чем может быть проблема? у гцц как-то отдельно настраивается линковщик?
575 1358627
>>58614
Перестать выебываться, перейти на винду и использовать визуал студио.
576 1358637
>>58614
1) Ты g++ собираешь?
2) Пути к либам прописаны?
577 1358657
Нюфажий вопрос:

Вот хочу я создать свой первый шаблонный класс.
В примерах шаблонного класса вижу вот такое:
template <typename T, int N>

Вопрос: зачем нам вообще объявлять переменную N в поле template? Что нам это даст? Подразумевается, что N это нечто, которое будет использоваться в конструкторе.
578 1358661
>>58657
чтобы смочь где-то сделать статический массив, например

Например std::array<int, 5> не аллоцирует память на хипе, т.к. N - это компайл-тайм значение
579 1358681
>>58627
пошел на хуй.
580 1358685
>>58600

>Дропать и читать другую.



>>58601

>Это тебе не формочки на хтмл+цсс клепать. Учи математику или дропай книгу


>


Может есть что по алгоритмам, но с более подробным матаном? Полистал Кнута, там вроде бы матана побольше, но, судя по отзывам, в том числе в шапке, он не менее сложный да ещё не на плюсах
581 1358691
>>58685
Старайся читать на несколько раз и понимать, бери усидчивостью. Седжвик пишет феноменально скучно и хуево.
582 1358692
>>58685
Кнут не то чтобы сложный, его просто сложно читать. Что-то вроде справочника, сухой и точный язык. А по алгоритмам может аноны курсы какие посоветуют, я лично Седжвика осилил с базой 1 курса универа по тех. специальности. А точнее: что не знал - гуглил, и пытался найти разъяснение человеческим языком
15502967464050.png87 Кб, 540x112
583 1358698
>>58661
Спасибо, но я слишком тупой и ничего не понял. Впрочем, неважно.
Другой нюфажий вопрос:

Если я хочу перегрузить оператор для созданного мною класса, то я могу делать это как внутри класса в области "public", так и вообще снаружи класса, я всё верно понимаю? Спасибо!
584 1358717
>>58698

>Если я хочу перегрузить оператор для созданного мною класса, то я могу делать это как внутри класса в области "public", так и вообще снаружи класса, я всё верно понимаю?


Не все операторы можно перегружать снаружи класса, например как =, и не все можно перегрузить внутри класса, некоторые через friend функции, как >><<. Учти, что некоторые операторы нужно перегружать попарно.
585 1358730
>>58717
Спасибо, анончик.

Нагуглил вот такое:
template <typename T1> friend ostream& operator<< (ostream& out, const Matrix<T1>& m)
Объявление перегрузки собственно оператор вывода для шаблонной матрицы мне и нужно было перегрузить
586 1358731
>>58698
По поводу статического массива. Размер класса равен сумме размеров его полей. Допустим у тебя есть класс, где ты строго определил массив int размерностью 10. Тебе не нужно не больше не меньше, ровно столько.
Если ты пишешь так:
class A
{
vector<int> a
}
То тебе при изменении размера vector<int> нужно будет писать код, чтобы ловить исключение об отсутствии памяти(можно не писать, но программа с вероятностью 1/1^6 будет падать при некоторых условиях). А размер класса равен размеру sizeof(vector<int> a). Данные в векторе при этом хранятся на другом участке памяти, а не внутри класса.
А если ты пишешь
A
{
array<int, 10> a
}
То во время компиляции a - будет статическим массивом из 10 int'ов. и размер класса A будет равен sizeof(arrray<int, 10>a) - в данном случае 44 байта.

Перегруженные операторы можно объявить в виде функции
Главное что бы внутри класса было дружественное определение
friend A operator+(A l_ob, A r_ob)
587 1358733
>>58681
Сейчас бы в 2k19 для проекта использовать Visual Studio Solution
588 1358738
>>58733
Сейчас бы не использовать vs для всех проектов
8YJasfx7GF4.jpg12 Кб, 236x248
589 1358743
>>58738
Особенно когда продаешь ПО клиентам, среди которых 90% - Linux.
590 1358754
>>58743
хуево работать с красноглазым говном, но я бы, вероятно, раскурил студийную кросскомпиляцию под линукс
591 1358766
>>58743
Студия может собирать под любую платформу
592 1358767
>>58766
И код пишет сама.
593 1358775
>>58743

> ПО под ЛИНУКС.


Проиграл с этого.
594 1358777
>>58731
Спасибо большое за подробное объяснение!
притворюсь что понял
Подскажите ещё, пожалуйста, а как мне создать функцию, которая будет принимать как аргумент произвольный итератор, а не итератор конкретного типа (то есть не итератор по вектору, по мэп'у, етц.)? Спасибо!
596 1358838
>>58754
Не обязательно красноглазить. Качаем Visual Studio Code и плагины для cmake и дебага. Но если у тебя в проекте еще какая нибудь CUDA, и прочая залупа которая требует дополнительного компилятора - приходиться ебашить.
597 1358842
>>58775
Вот ты и спалился, первокурсник. Есть ПО не из раздела компьютерных игр, или всяких фотошопов, где как раз большая доля продаж - серверные версии под linux - Встроенные системы, сервисы с машинным зрением и всякие СУБД, за которые клиент отдает 7000$/шт. Вот и приходиться изъебываться с кросс-платформеностью.
598 1358864
>>58842

>за которые клиент отдает 7000$/шт


Высокая цена - признак небольших объемов продаж.
599 1358896
>>58864
Ты пойми - это не ПО, которое ставиться на комп для одного юзера аля фотошоп или игрулька. Гугли цены на корпоративные решения Oracle DB. У них, по твоему, небольшой объем продаж?
600 1358902
>>58896
Цена образуется не из крутизны софта, он может быть вообще бесплатным.
Микрософт, допустим, может себе позволить продавать винду/офис занедорого тупо за счет объемов продаж.

>решения Oracle DB. У них, по твоему, небольшой объем продаж?


В штуках относительно небольшой.
Ораклу, только чтобы в ноль выйти, нужно ставить очень высокий ценник.

Вон, например, продукты Embarcadero тоже стоят по полтора ляма, и че?
15472470165820.jpg27 Кб, 416x301
601 1358926
Плюсы, ХЭЛП ! Я блять уже заебался, хуй знает что не правильно. Вкратце ошибка при перегрузке оператора ввода вывода.
https://www.codepile.net/pile/7R798Ngk
602 1358929
>>58926
Отбой, понял я еблан, вместо ifstream нужно писать istream
image.png89 Кб, 1610x922
603 1359067
Может кто подсказать с чем может быть связана ошибка? Весь инет облазил, точного ответа не нашёл. Если в кратце - пытался через консоль собрать Qt для запуска на других пк, но видимо что-то сломалось и теперь проекты вообще не компилируются. Выдает пик. В инете пишут что проблема с окружением, но в файлах системы я ничего не менял, так что причина проблемы для меня неясна. Сейчас заново качаю установщик, но может кто подскажет в чём могла быть ошибка?
604 1359080
>>59067
2017 студия установлена?
605 1359197
>>59080
Всё стоит, я уже скачал новую версию впрочем. Не ебу в чём ошибка была, в инете всё как-то размыто и советуют какие-то параметры добавить в pro файл, при том что он не менялся вообще.
606 1359241
>>59197
я бы посоветовал таки собираться либо собираться комплектным MinGW, либо полноценно ебашить в студии с qt плагином
607 1359255
Аноны, можно ли как-то сохранить данные обьекта map? Мне нужно внести данные пользователя, а после использовать их в другой момент времени? Это в файл пихать нужно, а потом считывать и заново создавать мапу?
608 1359266
>>59255
Нельзя. Надо писать сериализатор\десериализатор
609 1359267
>>59266

>сериализатор


Бля, впервые слышу не бейте. Много времени на написание уйдет?
610 1359295
>>59267
ну как бы, все, что ты можешь хранить в файле, это какие-то байты.

Соответственно, тебе надо написать некий функционал, который конвертирует твою мапу в байты, которые можно записать, и потом такой же функционал, который принимает байты, и создает из них мапу.

Если у тебя мапа самая простая, а-ля uint32,uint32, то вполне можно сделать хуйню типа, первые 4 байта - количество элементов, и дальшее читаешь по 8 байт, кастишь к числам, и в пустую мапу записываешь. Это все несложно, да и весьма хорошая задача для обучения.
611 1359359
Всё я заебался учить новые фишки языка и нигде их не юзать, пока начну учить Qt, чтобы хоть там их юзать в будущем
612 1365200
не бейте, лучше обоссыте. начала учить ваш c++, пока что остановилась на указателях. сколько мне лет еще это учить, чтобы стать тру кулхацкером программистом? приземлите кто-нибудь меня, мне кажется, что у меня нет будущего
613 1365214
>>65200
Зелень, тебе все равно никто не поверит.
Учи, читай книги из шапки, практикуйся и ищи хоть какую-то работу, чтобы получать опыт уже реальной разработки.

И вообще https://2ch.hk/pr/res/1358809.html (М)
Правда, его скоро перекатят в C++ #84, но это хотя бы последний на данный момент тред.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 30 марта 2019 года.

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

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