М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

33 Кб, 225x225
C++ №82 /cpp/ 5 фев, 19:45 1342442 В конец треда | Веб

Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
Прошлый >>1336773 (OP)

Ответы477415122551326

2 5 фев, 20:01 2 1342454

Работающие аноны, а какой продукт вы разрабатываете на плюсах, какой у вас стек?

Ответы4247844482

3 5 фев, 20:48 3 1342478

>>1342454
Около-виртуализацию пишем самопальную, Виндовс 10\2016, Вижуал студия самая последняя, Виндовс драйвер кит, решарпер\всякие разные ништяки по желанию. С++17 разрешен и активно используется.

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

sage 4 5 фев, 21:06 4 1342482

SAGE

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

Ответы42641

5 6 фев, 07:00 5 1342641

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

6 6 фев, 19:31 6 1342975

Посоны, у меня при дебаге выбивает исключение RPC Server is unavaible. Что делать? Пробовал гуглить, включать службу в брандмауэре Windows, но что то не помогло нихуя.
Код должен открывать файл и читать оттуда.

3,8 Мб, mp4,
1280x720, 0:30
7 6 фев, 20:33 7 1342997

250 Кб, 1026x113
8 6 фев, 20:39 8 1343006

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

Ответы4302243072430824430647065

9 6 фев, 20:53 9 1343022

>>1343006
strcmp

Ответы43023

10 6 фев, 20:55 10 1343023

>>1343022
Мне это надо реализовать через указатели на строки блядь, нахуй мне эта функция? Лишь бы сказать чего

Ответы43033

11 6 фев, 21:05 11 1343033

>>1343023
когда ты не очень умный

Ответы43035

12 6 фев, 21:08 12 1343035

>>1343033
Ну так обьясни мне дебилу тогда

13 6 фев, 21:35 13 1343050

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

Ответы43053

14 6 фев, 21:43 14 1343053

>>1343050
char a[N][M] это сишный массив из N строк, максимального размера M.

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

В чем твоя проблема?

Ответы43055

15 6 фев, 21:47 15 1343055

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

Ответы4305845153

16 6 фев, 21:54 16 1343058

>>1343055
>УКАЗАТЕЛЯМИ
Заебал, код покажи че ты там сделал. Телепаты в отпуске.

17 6 фев, 21:54 17 1343059

ТАК СТОП. ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ, ТО УКАЗАТЕЛЕМ НА СТРОКУ КАК БЫ ЯВЛЯЕТСЯ a[0]? Т.е. это и есть указатель? И мне нужно ебаться с этими непонятными звездочками? Я уже окончательно запутался

Ответы430604306343068

18 6 фев, 21:55 18 1343060

>>1343059
не нужно*
фикс

19 6 фев, 21:57 19 1343063

>>1343059
ну это твоя главная проблема, додик. Ты вообще не знаешь С. Иди почитай, что такое указатели, что такое сишные строки.

20 6 фев, 22:00 20 1343068

>>1343059
Это первый элемент, указатель это a, a[0] то же самое, что *(a+0), то есть a.
http://faqs.org.ru/progr/c_cpp/cfaqrus.htm
Надо в шапку добавить

Ответы43097

21 6 фев, 22:02 21 1343072

>>1343006
Похоже, что в задаче строками называют не C-строки, a row двумерного массива. Тип элемента не обязан быть char.

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

43 Кб, 569x569
22 6 фев, 22:24 22 1343082

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

23 6 фев, 22:41 23 1343097

>>1343068
Благодаря тебе разобрался, спасибо, анончик, добра

24 6 фев, 23:58 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;
}

не работает, стринг не шарю

Ответы43128431304313944212

25 7 фев, 00:06 25 1343128

>>1343127
"abc" - указатель на строку. Ты должен добавить символ-пробел, а не строку, первый символ которой пробел, а символ обозначается одинарными кавычками.

Ответы43129

26 7 фев, 00:11 26 1343129

>>1343128
сложно для чела который указатели понял на уровне int *hi=&a;

27 7 фев, 00:16 27 1343130

>>1343127
if (elements[j]=="0")

Ответы43132

28 7 фев, 00:18 28 1343132

>>1343130
на двач так скопировалось, это не кейс
даже если правильно писать пробел заменяется на интовый номер таблицы аскри

Ответы43133

29 7 фев, 00:20 29 1343133

>>1343132
Ааа, ИНТОВЫЙ массив. Никак. Он на то и интовый, что в нем числа, а не символы

30 7 фев, 00:38 30 1343139

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

Ответы4419344209

6 Кб, 200x147
31 7 фев, 11:47 31 1343258

Вопрос про Qt и Excel. Нашел стопицот примеров кода с открытием книги с диска, но ни одного примера к подключением к УЖЕ ОТКРЫТОМУ документу.

я об этом:
XL = new QAxObject("Excel.Application", this);

Ответы43264

32 Кб, 603x325
32 7 фев, 12:01 32 1343264

>>1343258
А, всё, нагуглил наконец решение.

84 Кб, 706x926
33 7 фев, 16:42 33 1343456

Есть у класса поле с массивом указателей (указателем на указатель), вроде перегрузил индекс для класса, чтоб возвращал указатель, но приравнивание для него не работает т. к. не lvalue.
Мб я как даун перегрузил? Ну естественно да.

Ответы43457

34 7 фев, 16:44 34 1343457

>>1343456
FILE*& operator[](int index)

Ответы43458

35 7 фев, 16:47 35 1343458

>>1343457
Нормальный хуй. Чаю тебе анон. Как же мне не по глазам было..

36 7 фев, 20:48 36 1343583

Сап, нашёл книгу Qt 5.10. Профессиональное программирование на C++, у меня знания уровня основных понятий, ну тоесть функции, структуры, до ооп на плюсах дошёл, и на жабу перешёл так как EPAM через пол года на треннинги пытаться. Так вот, эта книга с моими знаниями будет слишком непонятной, или можно читать?

Ответы436524369743705

37 7 фев, 22:11 37 1343652

>>1343583
Если планируешь на жаве, то кют будет бесполезен. Это по сути фреймворк уровня дотнета, построенный на расширении крестов, с метапрограммированием, рефлексией и системой общения объектов, не свойственной стандартному ооп. Плюс новый реактивно-декларативный интерфейс.

Ответы43671

38 7 фев, 22:36 38 1343671

>>1343652
я понимаю, но некст 2 семестра qt на плюсах, поэтому хочу не хочу, прийдётся освоить, книгу с моими знаниями стоит читать, или что то ещё подучить?

Ответы43788

39 7 фев, 23:45 39 1343697

>>1343583
И что, норм книга? Смотрел отрывки в гугле, показалось, что те же самые экзамплы с сайта куть.

Ответы43700

159 Кб, 1920x1080
40 7 фев, 23:51 40 1343700

>>1343697
я не ебу, посмотрел шо кьют 16 гб весит в лучшем случае, скину с 100 мбит интернета в общаге, с понедельника начну читать, если смогу себе позволить сразу её, а пока шо узнал что такое классы и что их в идее надо по разным вкладкам ебашить, КАКАЯ ТО НЕАДЕКВАТНАЯ ХУЙНЯ.

Ответы4370145513

41 7 фев, 23:54 41 1343701

>>1343700
Кют не весит 16 гб

Ответы43703

1 Мб, 1920x1080
42 7 фев, 23:58 42 1343703

>>1343701
хз, галочки по книге поставил, ставил на 3D, 90гб было

Ответы4430850029

43 7 фев, 23:59 43 1343705

>>1343583
то всё таки стоит читать, по ходу можно выучить всё недостающее, или стоит что то отдельно до чтения знать?

Ответы43787

44 8 фев, 09:05 44 1343787

>>1343705
Пиздец ты деловой.
Возьми да попробуй почитать неделю-две. Ты что, блядь, 300 кк/наносек зарабатываешь, что так свое время ценишь?

45 8 фев, 09:07 45 1343788

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

Ответы43983

46 8 фев, 13:29 46 1343893

Блиц-опрос.
Прата и Липпман?

Ответы4390443984

47 8 фев, 13:33 47 1343896

Есть ли вообще какие-то применения таким вещам как "Указатели" или "ссылки". Не понимаю, зачем вообще они нужны, если можно использовать обычные переменные, к чему всё усложнять?

Ответы43909

48 8 фев, 13:51 48 1343904

>>1343893
Создай опрос на стравполле

49 8 фев, 14:05 49 1343909

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

50 8 фев, 15:12 50 1343983

>>1343788
Спасибо)

51 8 фев, 15:12 51 1343984

>>1343893
Прата проще, показывает как можно писать нехитрые программки на c++. Это скорее книга для полного снуля, чтоб вкатиться в для первого знакомства с программированием. Сам язык описывается довольно поверхностно. Простые внятные задачки + есть ответы на контрольные вопросы (но не решения задач).

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

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

Ответы43986

52 8 фев, 15:13 52 1343986

>>1343984
доусон годнота

53 8 фев, 16:53 53 1344061

Посоветуйте литературу для изучения low-level системного программирования на С++/C. С меня фотки арбузов.

Ответы44065

54 8 фев, 16:57 54 1344065

>>1344061
Лоу-левел системное программирование к языку мало отношения имеет.

Ебашишь либо какой-нить референс красноглазого апи, либо богоподобный МСДН. И все.

Ответы44089

55 8 фев, 17:26 55 1344089

>>1344065
Но вот ебашишь ты МСДН, что дальше то делать, куда применять, кроме как школоВИРУСЫ делать.

Ответы44102

56 8 фев, 17:38 56 1344102

>>1344089
что тебе надо, то и делай?
Я выучил системное программирование на уберхардкорном уровне когда меня взяли работать системным программистом. Без этого - хуй бы что получилось имхо

Ответы44151

57 8 фев, 18:55 57 1344151

>>1344102
А вот, что от тебя требовали на этой работе на приеме, какие навыки, какой стэк(LIFO)? Вообще, в основном под какую платформу системные программисты более востребованы, или требуется иметь познания и на шиндовс и на юникс?

Ответы44153

58 8 фев, 18:56 58 1344152

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

59 8 фев, 18:56 59 1344153

>>1344151
Оверолл больше нужны красноглазые полудурки, мне же повезло найти нормальную работу с нормальной ОС. Требовали очень сильный С++, ну и если есть кернел-опыт то сразу 10 из 10 (мне повезло, писал драйвер на удаленке очень убогий).

Ответы44173

60 8 фев, 19:45 60 1344173

>>1344153
Что посоветуешь из literature для написания дров и вообще понимания системы и кернел-еблей?

61 8 фев, 20:27 61 1344193

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

62 8 фев, 21:00 62 1344209

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

Ответы4421644258

63 8 фев, 21:01 63 1344212

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

64 8 фев, 21:04 64 1344216

>>1344209
Хуйня, я как-то реализовал интереса ради индексацию массивов а-ля паскаль [x, y], благо кресты даже такие извращения позволяют.
Кро

Ответы44329

65 8 фев, 21:20 65 1344224

На чем можно максимально быстро и просто (в стиле "Си с классами") сделать оконное приложение для Винды? Логика программы на Си есть, надо к ней интерфейс сделать. Желательно с поддержкой от XP и до бесконечности.

Ответы4422944240442454432344410

66 8 фев, 21:28 66 1344229

>>1344224
Qt уж только, если С++. Или wxWidgets, но я за них не шарю.
А вообще...:
-Java Swing
-C# (WinFoms, WPF)
-Tk (python и прочее)
-С (gtk)

Это не ты в ситреде спрашивал аналогичный вопрос?
Вообще, если нужна поддержка ХР можешь на винапи насвинячить.

67 8 фев, 21:36 67 1344240

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

68 8 фев, 21:37 68 1344243

Аноны, начинаю вкатываться, объясните ньюфагу, если у нас два объекта класса А и у обоих есть методы foo(), адреса этих методов будут одинаковыми?

Ответы44249

69 8 фев, 21:40 69 1344245

>>1344224
>. Желательно с поддержкой от XP и до бесконечности
Qt, самая поздняя 5.6.3 (официально 5.6.1) , дальше не поддерживает ХР

70 8 фев, 21:44 70 1344249

>>1344243
конкретно как получить адресс метода класса?

71 8 фев, 21:56 71 1344258

>>1344209
Перегружаю все операторы в том числе и new с (), твои контрагрументы? А вообще мой вариант с перегрузкой оператора индексации охуенен.

Ответы44562

72 8 фев, 23:12 72 1344306

>>1343006
Строка это массив символов. То есть массив char. Ссылка на строку то есть на массив символов указывает на первый элемент этого массива, то есть на первый символ этого массива.

Ответы44495

73 8 фев, 23:16 73 1344308

>>1343703
Двачую. Я вообще ахуел с этой параши. Лучше буду на винапи формочки клепать чем обмазываться 100гб-фреймворком.

74 9 фев, 00:14 74 1344323

>>1344224
WPF с C#. Либо делаешь обёртки над внешним интерфейсом в C++/CLI и используешь их прямо в шарповом коде, либо оборачиваешь внешний интерфейс в extern "C" и используешь P/Invoke из шарпов.

Ответы44333

75 9 фев, 00:33 75 1344329

>>1344216
Расскажи как ты это сделал (если x и y - инты)?
Перегружать оператор индексации можно только с одним аргументом, а оператор запятой только для классов.

Ответы44392

76 9 фев, 00:52 76 1344333

>>1344323
Можно подробней о 2 методе?

мимо

Ответы44396

77 9 фев, 10:10 77 1344392

>>1344329
>если x и y - инты
Инты, но давали в конце класс. Выглядело коряво, да.

78 9 фев, 10:32 78 1344396

>>1344333
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 объектов как-то странно устроена и другое).

Ответы4439744742

79 9 фев, 10:34 79 1344397

>>1344396
>метод double foo(char звёздочка, int)
>string в char звёздочка
Быстрофикс

80 9 фев, 11:26 80 1344410

>>1344224
RAD Studio C++ Builder
Остальных петухов не слушай, с вышеуказанным ничто не сравнится и близко как по удобству разработки, так и по скорости готового приложения. Билдер делает нативные GUI приложения винды и нативный же бинарный исполняемый код.

Ответы464304646548280

81 9 фев, 11:58 81 1344420

Аноны,вкатился на двачи спустя 2 года вылезаторства.
С СИРИОЗНОЙ проблемой,собсно сабж - есть файл.тхт,в нём строки формата первая строка-"2ch_uje_neTOT Вот так вот " вторая строки- "SPASIBO_ABU axaxa kek lol" собственно вопрос как считать только 1 слово из строки(т.е. 2ch_uje_neTOT,SPASIBO_ABU) и перейти ко второй строке,желательно используя string а не char ?getline считывает всю строку,а >> все слова из строки и не переносится в низ после первого

Ответы444214442644458

82 9 фев, 12:04 82 1344421

>>1344420
Дочитываешь до _ и всё, в чём проблема?

Ответы44423

83 9 фев, 12:07 83 1344423

>>1344421
how to? fin1 >> Text;
считало слово вместе с пробелом

84 9 фев, 12:15 84 1344426

>>1344420
Читаешь строку, потом ее парсишь

85 9 фев, 13:19 85 1344458

>>1344420
ifstream infile("файл.txt");
string line;
while (getline(infile, line))
{
string word = line.substr(0,line.find_first_of(" "));
//
}

Ответы44460

86 9 фев, 13:32 86 1344460

>>1344458
вернее там еще единичку отнять

87 9 фев, 14:03 87 1344474

Мужики, может кто-то объяснить, что делает программистт с++ в условной конторе 5 дней в неделю? я типа понимаю айтишники там принтеры чинят и по тикетам работают, но программисты то что делают там, если контора обычная, а не по разработке ПО?
типа как они на хлеб зарабатывают если не фрилансят а сидят вв конторах обычных

языки с++ с# mysql

Ответы4447949171

88 9 фев, 14:18 88 1344479

>>1344474
Где ты такое вообще видел?

89 9 фев, 14:21 89 1344482

>>1342454
Серверную часть для видео/аудио вещаний. Конкретно сейчас работаю над SFU. Стек: C++17, немного легаси из Boost и C++14.
Dev окружение: ArchLinux, Emacs

90 9 фев, 14:39 90 1344495

>>1344306
Спасибо конечно большое, но мне уже обьяснили, что препод обозвал строкой не строку, а row двумерного массива

112 Кб, 566x1000
91 9 фев, 16:03 91 1344551

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

Ответы4456744585446304506257429

92 9 фев, 16:13 92 1344562

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

Ответы4458744642

93 9 фев, 16:16 93 1344567

>>1344551
Напиши Ахо-Корасик

Ответы44633

94 9 фев, 16:32 94 1344585

>>1344551
>15 лет
>к чему стремиться
поступить в вуз
трахнуть машку с параллели ))

95 9 фев, 16:34 95 1344587

>>1344562
>ы в том числе и new с ()
>Зачем?
потому что может! очевидно же

96 9 фев, 17:35 96 1344630

>>1344551
Сам когда-то давно ради фана сделал: визуализатор множества Мандельброта. В принципе ничего очень сложного в этом нет, зато красивая картинка и навыки создания интерфейсов
Продвинутая версия: многопоточность. Чуть более продвинутая: оптимизировать на SSE

Ответы44635

18 Кб, 300x172
97 9 фев, 17:41 97 1344633

>>1344567
Спасибо. Это то что надо. Чет мне кажется что с этим придется нормально так повозиться.

98 9 фев, 17:44 98 1344635

>>1344630
Спасибо большое. Займусь как нибудь.

99 9 фев, 17:51 99 1344642

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

100 9 фев, 20:38 100 1344742

>>1344396
Два чаю, анон. То что нужно было.

101 10 фев, 12:36 101 1344997

какой стиль лучше

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

102 10 фев, 14:36 102 1345059

Котоны, мне нравится Си++, но не нравится СТЛ изза уёбищности интерфейса и тормозной конпелляции.
Как думаете, написать свой СТЛ полностью с нуля сложно вообще?

Ответы451174512851713

103 10 фев, 14:40 103 1345062

>>1344551
Напиши двухсвязный список с использованием SSE2/AVX или чего-то подобного. Сравни скорость работы с традиционной реализацией и сообщи результаты.

Ответы45064

104 10 фев, 14:45 104 1345064

>>1345062
>списки
>SIMD
Лмао что

105 10 фев, 15:27 105 1345094

WINAPI ВОПРОС
Надо ли CloseHandle процесс, если он уже завершился?

Ответы45139

106 10 фев, 15:45 106 1345117

>>1345059
Ну, если ты правда его напишешь - то получишь +много к скиллу. Но, с вероятностью в 99.9% ты даже простецкий вектор напишешь вкривь и вкось и забьешь.

Ответы4512845141

107 10 фев, 16:04 107 1345128

>>1345117
>>1345059
Я делал подобное, только для сишки. (Да, я ебанутый)

Ответы45141

108 10 фев, 16:17 108 1345139

>>1345094
https://stackoverflow.com/questions/38236771/do-i-need-to-use-closehandle-after-creating-a-new-process/38236860
tl;dr Он это зомби-процесс, закрывай.

109 10 фев, 16:20 109 1345141

>>1345117
>>1345128
Согласен что вектор будет коварнее списков, но попроще чем дерево или хэш таблица.
Окей, если всё-таки получится, вдобавок к скилу прибавку бабла можно получить, как думаете?

Ответы451454517345236

110 10 фев, 16:29 110 1345145

>>1345141
Все зависит от твоего умения себя подать.

Вектор коварнее списков? Это же просто динамический манямасив, это проще чем списки даже.

Ответы45177

111 10 фев, 16:33 111 1345147

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

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

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

Например писать не Bits<int>(12345), а Bits(12345)?

Ответы45236

112 10 фев, 16:36 112 1345153

>>1343055
&arr+sizeof(int)id ?

Ответы45155

113 10 фев, 16:37 113 1345155

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

Ответы45159

114 10 фев, 16:37 114 1345156

_beginthreadex зачем нужен? Ведь есть CreateThread!!!(восклицание)

Ответы45236

115 10 фев, 16:41 115 1345159

>>1345155
Напиши через ✡

116 10 фев, 16:57 116 1345173

>>1345141
Какое бабло лол. СТЛ признан сообществом и долгое время используется, никто не будет отказываться от него в пользу твоей библиотеки, потому-что его писали люди с опытом программирования больше твоего срока жизни. Если ты ничего революционного не напишешь, а просто копию кривую СТЛ то можешь себе оставить ее. Но твои проекты станут непереносимыми, а читать их другим людям без знания твоей библиотеки будет невозможно. Но как выше анон сказал - скилл подтянешь

117 10 фев, 17:01 117 1345177

>>1345145
Нужно знать, как аллоцировать память, чтобы вставка была О(1).

Ответы45184

118 10 фев, 17:08 118 1345184

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

Ответы4520845218

119 10 фев, 17:55 119 1345208

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

Ответы4521945247

120 10 фев, 18:12 120 1345218

>>1345184
Нет, ну допустим вектор это динамический массив. Вот выделил ты вначале памяти на 100 элементов и твой пушбек представляет из себя вставку на позицию после последнего. Когда массив закончится, как ты сделаешь очередную вставку?

Ответы45221

121 10 фев, 18:14 121 1345219

>>1345208
если бы так решались все проблемы :(

122 10 фев, 18:16 122 1345221

>>1345218
Аллокация в k раз больше памяти, перемещение содержимого вектора. В целом, очень даже О(1). Реаллокаций будет log(k)(N) штук, то есть мало.

Ответы45224

123 10 фев, 18:19 123 1345224

>>1345221
Не рекомендую перемещение, если мув-конструктор кидает эксцепшон.

Ответы452364537651714

124 10 фев, 18:35 124 1345236

>>1345156
CreateThread это WINAPI
_beginthread - это похоже на обертку некоей стандартной библиотеки для С от микрософта.

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

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

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

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

125 10 фев, 18:46 125 1345247

>>1345208
Аллакация*

компильнуть одним файлом без хуйни 126 10 фев, 22:27 126 1345356

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

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

как вообще внутрь exe поместить нужные либы, ну или хотя бы от ошибок избавиться подобных, мол "crt хуйни нет на компе"?

Ответы4536545381

127 10 фев, 22:38 127 1345365

>>1345356
Разве компайлеры по-умолчанию не собирают все в один экзешник?

Ответы4536645381

128 10 фев, 22:41 128 1345366

>>1345365
собираю в g++ он потом mingw.dll требует. собираю в "высрал студио" -- требует crt_что-то.dll, при сборке сраного хеловорлда

Ответы45369

129 10 фев, 22:47 129 1345369

>>1345366
Со студией специальный дебажный CRT поставляется. В релизной версии используется обычный.

Ответы45388

130 10 фев, 23:00 130 1345376

>>1345224
Если перемещение бросает, то это какое-то ебанутое перемещение, по-моему.

131 10 фев, 23:06 131 1345381

>>1345356
https://helloacm.com/how-to-static-link-vc-runtime-in-visual-c/

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

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

Ответы45388

132 10 фев, 23:14 132 1345388

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

Ответы45418

133 11 фев, 01:05 133 1345418

>>1345388
>отлично, спасибо!
Если соберешься Qt статически собирать, сразу купи антипригарный коврик под жопу.

134 11 фев, 10:35 134 1345513

39 Кб, 409x52362 Кб, 516x738

>>1343700
Ну хуй знает, мне этого за глаза хватает. Но я 3д не делаю, конечно.
Приложение в итоге с DLL весит около 20мегабайт.

16 Кб, 401x215
135 11 фев, 11:46 135 1345541

Анон, ну ты мне скажи, ну че это за хуйня-то такая? Как же он не определён, когда вон он определён.

Ответы45578455854569245916

136 11 фев, 12:47 136 1345578

>>1345541
А второй параметр в шаблоне где?

Ответы45580

137 11 фев, 12:48 137 1345580

>>1345578
Есть дефолтный, не увидел.

Ответы45585

138 11 фев, 12:53 138 1345585

>>1345580
>>1345541
using huypizda = RB_TREE<T, COMP>;
вот так проканало кароч ¯\_("3)_/¯

Ответы45731

139 11 фев, 16:36 139 1345692

>>1345541
Чё за говно пропускает такое? Любимая спермохлёбами вижуал студия?

Ответы4572145731

140 11 фев, 17:25 140 1345721

>>1345692
какое такое? поясни свою мысль

Ответы45916

141 11 фев, 17:31 141 1345731

>>1345692
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
отлично пропускает, только >>1345585 вот этот вариант

185 Кб, 1200x797
142 11 фев, 18:42 142 1345817

size_t и std::size_t

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

Ответы458844591947016

143 11 фев, 19:59 143 1345884

>>1345817
Формально для size_t нужен сишный хедер <stddef.h>, а для std::size_t <cstddef>, но у меня все эти типы без хедеров нормально подхватываются и я использую вариант без std, так как так удобнее.

Ответы45906

144 11 фев, 20:18 144 1345906

>>1345884
А если я везде использовал просто size_t, но в каком-то месте оно попало под using namespace std, ничего криминального не произойдет? Они всегда эквивалентны в рамках одной платформы?

Ответы4590845917

145 11 фев, 20:21 145 1345908

>>1345906
Как видишь, фактически это один и тот же хедер, поэтому они дефайнятся одинаково.

146 11 фев, 20:29 146 1345916

>>1345721
template<typename T>
using IDENTIFIER<T> = бла-бла-бла;

это синтаксически некорректно, в alias-declaration может быть только идентификатор, угловые скобки после него недопустимы. https://timsong-cpp.github.io/cppwp/n4659/dcl.dcl#nt:alias-declaration
Но почему-то на пике в >>1345541 написано только, что "идентификатор не определён", а сам кривой шаблонный alias-declaration не подчёркнут.

147 11 фев, 20:30 147 1345917

>>1345906
Заюзай костыль с си, создай прешку в старом стиле только для объекта, попавшего в юн, или как выше сказали вызови сишный хедер. Ещё вариант спиздить функцию из сишного хедера и под другим названием переписать в хедере, превращая с помощью стракта или прешки в сайзт, но это костыль уровня обхода студенческого антиплагиата

Ответы45933

148 11 фев, 20:35 148 1345919

>>1345817
>size_t и std::size_t
>
>В чем разница-то? Можно их считать всегда взаимозаменяемыми?
Стандарт говорит так: если какая-то хрень "из C" (точнее, из C++-ного хедера, представляющего C-хедер) доступна без `std::`, то эта хрень должна быть полностью эквивалентна хрени с `std::`.
Но стандарт не обязывает, чтобы хрень без `std::` вообще была.

Ответы45933

149 11 фев, 20:44 149 1345933

>>1345919
Ага, вот где собака зарыта

>>1345917
Простите за дибильный вопрос, но что такое прешка?

Ответы4593746132

150 11 фев, 20:51 150 1345937

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

151 12 фев, 02:33 151 1346132

>>1345933
Прешка — прекомпилятор, препроцессор. Такая штука которая перед компиляцией или объектизацией собирает весь текст всеех файлов в твоих прогах и начинает переводить его в язык более понятный компилятору, но в отличии от компилятора не будет пытаться исполнить хуйнюя если не знает что она значит и обрабатывает макросы, собирает функции из библиотек. Например можешь функцию в хедере создать и вызвать ее указателем из него, и при компиляции препроцессор заберёт эту функцию из хедера, не смотря на то что в программе она не объявлена. Если юзаешь стандартные библиотеки, с помощью прешки можешь переделать свой код в си99 формат, короче важая вещь, чем бы ты на сипипи не занимался, ознакомься

Ответы4614046306

152 12 фев, 02:53 152 1346140

>>1346132
Кстати, вот касательно этого.
Есть же в 17 стандарте свёртка, которая умеет выполнять нужную команду над переданными через запятую аргументами, а не над initializer_list.
И, чисто в теории, можно же собрать строку с именами аргументов, которую потом пихнуть в макрос, вызывающий эту свертку. Насколько это пиздец?
Не то чтобы я прям могу придумать, как это применять, но, например, в pl/sql такое используется часто - собирается динамически строка с запросом/анонимным блоком и отдаётся на выполнение серверу. Интересно, реализуемо ли это в плюсах и вообще может ли быть смысл?
Хотя можно не ебать мозг и работать с initializer_list, конечно.

Ответы4614146142

153 12 фев, 03:00 153 1346141

>>1346140
>Есть же в 17 стандарте свёртка, которая умеет выполнять нужную команду над переданными через запятую аргументами
Троеточие вроде еще в C++11 добавили.
>можно же собрать строку с именами аргументов, которую потом пихнуть в макрос, вызывающий эту свертку.
А смысл? Это же во время компиляции все выполняется, со статическими строками. То есть без разницы со строками ты работаешь, или прямо с аргументами. Строки только добавляют лишний гемморой.

Ответы46192

154 12 фев, 03:23 154 1346142

>>1346140
Не очень понял что ты имеешь в виду, но судя по всему это возможно реализовать ещё чуть ли не в 89-ом стандарте си через стракты, значит и стд плюса для этого будет достаточно. Эскперементируй, что не получится — приноси код.

Ответы46192

155 12 фев, 08:46 155 1346192

>>1346141
Я просто встретил троеточие со сверткой непосредственно у Галовица в C++17 STL, вот и проверил, что только в этом стандарте появилось.

>Во время компиляции ... со статическими строками
А, то есть такой во время работы программы это уже не так будет работать?

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

Ответы4658646687

156 12 фев, 14:18 156 1346306

>>1346132
>Прешка — прекомпилятор, препроцессор
За много лет ни разу не слышал такого сокращения
Мимопроходил

157 12 фев, 18:56 157 1346430

>>1344410
>RAD Studio C++ Builder
ЭТО ЖЕ БЫВШИЙ BORLAND ПУСТИЛ СКУПУЮ СЛЕЗУ

Ответы46455

158 12 фев, 19:42 158 1346455

>>1346430
А борланд это турбо, я ваще нем си изучал...

159 12 фев, 20:06 159 1346463

7 Кб, 732x547 Кб, 816x103

Сап, плюсаны! Как сделать в QT так, чтобы при открытии окна сохранения через getSaveFileName(прикреплейтед1) в окне можно было выбрать конкретное расширение, а не как на пик2?

Ответы46468

160 12 фев, 20:11 160 1346465

>>1344410
С подключением сторонних .lib все так же пердолиться нужно?

Ответы46735

5 Кб, 242x108
161 12 фев, 20:17 161 1346468

>>1346463
Я зделол, но расширение не добавляется к файлу, как пофиксить?

Ответы4667847468

162 13 фев, 00:44 162 1346586

>>1346192
>формировать код во время выполнения программы
А вот хуй, это тебе не пхп.

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

Алсо, есть интерпретаторы (!) для С, которые позволяют говнокодить на нем в лучших традиция джаваскрипта. Насчет интерпретаторов Спп: не уверен, что нашелся поехавший, реализовавший эту идею. Но если они существуют, я хочу это чудо увидеть.

163 13 фев, 09:33 163 1346678

>>1346468
Можно наследоваться от QFileDialog, и написать обработчик сигнала filterSelected, который вызывается каждый раз, когда юзер выбирает элемент комбобокса. Запоминать тип, выбранный в комбобоксе, затем при закрытии диалога вручную дописывать его к имени файла.
Вероятно, существуют более красивые решения.

Ответы47468

164 13 фев, 10:10 164 1346687

>>1346192
ты всегда можешь затянуть интерпретатор LUA или Питона в свой код

165 13 фев, 10:49 165 1346715

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

Ответы467184681246932

166 13 фев, 10:54 166 1346718

>>1346715
5k

Ответы46726

170 Кб, 2048x1365
167 13 фев, 10:57 167 1346726

>>1346718
За 5к я тебе хело ворлд на хтмле напишу, хочешь?

Ответы467314673446928

168 13 фев, 11:02 168 1346731

>>1346726
Манька, если нет денег, делай сам

169 13 фев, 11:04 169 1346734

>>1346726
Только учти, что во всех без исключениях браузерах он должен выглядеть абсолютно одинаково.

170 13 фев, 11:09 170 1346735

>>1346465
Вроде да. Недостаток, верно.

массивы 171 13 фев, 13:01 171 1346775

памагити
псевдодвумерный динамический массив с элементами целочисленного типа.
Сначала память отводится под адреса строк, потом в цикле под строки.
Размеры массива вводятся с консоли.
Массив заполняется случайным образом.
После заполнения массива находится та характеристика (max, min), по которой нужно отсортировать строки массива.
Выводится массив в виде матрицы с выводом справа найденной характеристики.
Массив упорядочивается и снова выводится таким же образом.
Переставляются два столбца согласно варианту задания и снова выводится массив.

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

172 13 фев, 13:44 172 1346812

>>1346715
Сделаю за 1000 рублей

38 Кб, 656x717
173 13 фев, 16:56 173 1346928

>>1346726
По традиции.
С вас $180000.

342 Кб, 1280x875
174 13 фев, 17:04 174 1346932

>>1346715
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());
}
Не благодари

Ответы46991

175 13 фев, 17:51 175 1346963

Добрый вечер.
Можете вкратце но аргументированно объяснить почему программист на c# или backend зарабатывает в среднем больше, чем на c++?
Спасибо.

Ответы46989470094701347015471204713147157

176 13 фев, 18:25 176 1346989

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

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

Ответы47037

sage 177 13 фев, 18:27 177 1346991

>>1346932
>puzyryok

Ответы47008

178 13 фев, 18:55 178 1347008

>>1346991
Чтобы всё аутентично было

179 13 фев, 18:58 179 1347009

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

Ответы47039

180 13 фев, 19:01 180 1347013

>>1346963
>о
и вообще это хуевое сравнение, тк ситуация с сишарпом в россии (и на постсовке) еще хуже чем с крестами

Ответы47021

28 Кб, 713x600
181 13 фев, 19:02 181 1347015

>>1346963
Потому что спрос на программистов C# выше, чем на программистов C++. Backend - это вообще не технология, а часть продукта, которая может написана теоретически на любом языке, а практически - С++ для этого не подходит. Короче говоря, потому что С# более отвечает потребностям сегодняшнего дня.

Ответы4705547139

182 13 фев, 19:05 182 1347016

>>1345817
Возможно я ошибаюсь, но по моему если ты в самом начале кода, после включения библиотеки напишешь - using namespace std; то std в дальнейшем не надо указывать, но я только вкатываюсь, может херню несу

183 13 фев, 19:09 183 1347021

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

Ответы47053

184 13 фев, 19:19 184 1347037

>>1346989
>Зарплата программиста зависит от места работы, а не от технологии.
Пригорает от попугаев, повторяющих фразы, не понимая смысла. А технология и место работы не взаимозависимы?
Мудак блядь.

Ответы47138

185 13 фев, 19:20 185 1347039

>>1347009
И смысл тогда? Для души?

186 13 фев, 19:35 186 1347046

Сегодня я охуел от copy elision. Ебучие плюсы, сколько же в них подводных камней. А как прошёл ваш день?

187 13 фев, 19:39 187 1347053

>>1347021
>вакансии в Торонто
хорошо тебе

Ответы4706847094

188 13 фев, 19:40 188 1347055

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

189 13 фев, 19:53 189 1347065

>>1343006
Ну тип например 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])
}
}

Ответы47071

190 13 фев, 19:58 190 1347068

>>1347053
Да, нормас.

191 13 фев, 20:02 191 1347071

>>1347065
>if(array[n] > array[j][n])
>swap(array, array[j])
if(array[n - 1] < array[n - 1][j])
swap(array, array[j])

Ответы47074

192 13 фев, 20:03 192 1347074

10 Кб, 401x2114 Кб, 126x104

>>1347071
Пидорство.

193 13 фев, 20:46 193 1347094

>>1347053
А что тебе мешает свалить, будучи специалистом по С++?

Ответы47142

194 13 фев, 21:45 194 1347120

>>1346963
Потомучто карьеристы съебнули из плюсов. Некому больше фуфло зарплаты вверх толкать.

195 13 фев, 21:57 195 1347131

>>1346963
В новое охотнее вкладываются, а в хайповую тему особенно. Вот и все.
Это касается любого бизнеса.
В айти просто новое чаще появляется.

196 13 фев, 22:07 196 1347138

>>1347037
нет, баба-дауниха, не зависимы. Кто-то ебет говно на С++, писанное дедами, кто-то работает в Нвидии на х5 зарплату от этого. Технологии схожи. А иногда, одинаковы.

197 13 фев, 22:08 197 1347139

>>1347015
>а практически - С++ для этого не подходит
Расскажи это яндексу, гуглу, фейсбуку или амазону.

Ответы47207

198 13 фев, 22:11 198 1347142

>>1347094
потому что out of date

199 13 фев, 22:41 199 1347157

>>1346963
Просто С++ преподают в вузах вот и выкатываются от туда либо вебмакаки, которые хуже червя-пидора, либо говнокодеры на С++, которые пишут всё в одном файле на стандарте прошлого века, не чистят память и вообще не моются.
Обычный С++ программист зарабатывает больше С# кодера, но и ебется с самим кодом больше.

Ответы47200

200 14 фев, 00:12 200 1347200

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

201 14 фев, 00:27 201 1347207

>>1347139
У них хайлоад, нужна максимальная производительность и отказоусточивость, поэтому все на нативе написано.

202 14 фев, 01:43 202 1347221

Анон, два вопроса. Первый - откдуа взять документацию? С удивлением для себя обнаружил, что её продают через официальные магазины ISO/ANSI. Второй - как получить доступ к микрофону/разъёму-микрофон на звуковой карте?

Ответы4735047440482564835950251

sage 203 14 фев, 10:37 203 1347350

>>1347221
cppreference
Апи операционной систем

Ответы47460

204 14 фев, 13:02 204 1347440

>>1347221
Возьми самый близкий драфт к нужной тебе версии стандарта.
НАпример, http://wg21.link/std11

Ответы47460

205 14 фев, 13:57 205 1347460

>>1347350
>>1347440
Благодарю!

206 14 фев, 14:28 206 1347468

>>1346468
>>1346678
Пасаны я деб, все поправил. Забыл точки в фильтре у расширений, теперь все сохраняется как надо

207 14 фев, 21:15 207 1347673

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

Ответы48256

208 14 фев, 22:02 208 1347712

Какие сейчас ЗП в нормальных конторах, которые не пильшики грантов, при 2-3 годах опыта?

Ответы47715

209 14 фев, 22:08 209 1347715

>>1347712
штук 100 в милионниках, в ДСах процентов на 30-40 побольше, наверн

210 14 фев, 22:34 210 1347741

>>1342442 (OP)
сап анонам. Учусть в университете. Тут хуй знает как объясняют. Как лучше самому учить. Видео или литература, или что-то еще?

Ответы47777

211 15 фев, 00:14 211 1347777

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

212 15 фев, 01:06 212 1347794

Анон, поясни в чем разница g(a, b) и g(&a, &b). Я понимаю, что в первом случае надо передавать как &a, &b, а во втором как a, b. Но все же какая между этими функциями фундаментальная разница?

Ответы477964780448256

213 15 фев, 01:07 213 1347796

>>1347794
Самофикс в первом случае g(a, b).

214 15 фев, 01:54 214 1347804

>>1347794
Фундаментальная разница в том, что указатели (которые *) могут быть нулевыми и к ним можно применять адресную арифметику, а ссылки (которые &) нулевыми быть не могут, и адресную арифметику к ним применять нельзя.
Хорошим тоном считается использовать только константные ссылки, а если тебе нужно менять значения, то использовать указатели, так программисту понятно, что если он пишет g(&a, &b), то a и b могут поменяться. В случае же неконстантных ссылок у тебя функция g(a,b) может ВНЕЗАПНО поменять a или b, что не очень красиво.

Ответы47807

215 15 фев, 02:01 215 1347807

>>1347804
Спасибо за разъяснение.

216 15 фев, 02:03 216 1347809

Как у вас тут в функциональном стиле писать? Есть ли литература по этому поводу?

Ответы47812478214784448256

217 15 фев, 02:05 217 1347812

>>1347809
Ну типа пишешь перед каждой переменной const, дальше само пойдет, особенно когда захочешь написать цикл.

218 15 фев, 02:32 218 1347821

>>1347809
Просто прочитай пару книг по С и сам научишься.

Ответы48256

219 15 фев, 04:42 219 1347836

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

Ответы4784248256

220 15 фев, 05:28 220 1347842

>>1347836
>>1347836
че? именно по языку с++ основные книги переведены - старуструп, саттер, джосаттис, александреску, мейерс...
на английском тебе придется читать когда будешь специализироваться в чем-то, да и то не факт
к примеру, если будешь крипту делать, то придется почитывать уже статейки на английском..
а изучать язык можно спокойно по книжкам что переведены

221 15 фев, 05:30 221 1347844

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

222 15 фев, 16:54 222 1348256

>>1347836
Английский, конечно, нужен, но это не первостепенная задача для тебя.
>>1347821
Там же императивный стиль. Или ты угараешь?
>>1347809
А в чем проблема писать в функциональном стиле, зная саму ФП парадигму? Все возможности (почти) для этого тут есть, особенно, в С++17.
>>1347794
Во втором случае:
1) Нельзя в адресную арифметику и вообще как-то менять ссылку.
2) Не нужно разыменовывать.
3) Не может быть нулевой.
>>1347673
Да начни просто делать и все.
>>1347221
>как получить доступ к микрофону/разъёму-микрофон
Windows API. Или в юниксах надо на /dev/залупа обращаться.

223 15 фев, 17:19 223 1348280

>>1344410
>RAD Studio C++ Builder
Почему он не популярен как кутэ? Он долбоеб?

Ответы48323

16 Кб, 531x502
224 15 фев, 18:05 224 1348314

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

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

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

Ответы483254835148499

225 15 фев, 18:13 225 1348323

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

Ответы4834848641

226 15 фев, 18:19 226 1348325

>>1348314
>Ведь виртуальная функция во всех производных классах должна иметь такое же имя, как в базовом
Это особый случай, в конструкторах деструкторах работает стек из функций от базы до конечного потомка. >>1348314
>Алсо, если посмотреть типичный пример (пикрил), то производный класс никак явно не переопределяет виртуальный деструктор базового.
Просто частный случай.

Ответы48819

227 15 фев, 18:56 227 1348348

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

Ответы48363

228 15 фев, 19:02 228 1348351

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

229 15 фев, 19:15 229 1348359

>>1347221
>как получить доступ к микрофону/разъёму-микрофон на звуковой карте?
Эн лет назад я обращался через WASAPI, уже и не вспомню как. Наверняка есть портативные библиотеки под всё это дело.

230 15 фев, 19:17 230 1348363

>>1348348
Ты бредишь, это всё оптическая иллюзия. На самом деле ты используешь православный ImGui.

37 Кб, 362x346
231 15 фев, 20:34 231 1348417

Если вызвался конструктор перемещения, то объект гарантировано будет перемещен(всмысле, что конструктор не просто скопирует данные, а именно переместит) ? Я могу это как-то проверить?
Как правильно использовать список инициализации с этим перемещающим конструктором:
Vector(Vector &&tmp) : fuck(tmp.lng), oppai(tmp.angle)
OR
Vector(Vector &&tmp) : fuck(move(tmp.lng)), oppai(move(tmp.angle))
?

Ответы48681

232 15 фев, 22:24 232 1348499

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

Ответы48819

4 Кб, 244x149
233 15 фев, 23:08 233 1348516

Как подключить ебучию динамическую библиотеку? Я создал там класс, который разделил на h and cpp. Подключаю в консольном проекте через #include "name.dll", ошибок нет, файл находит. Но в файле, куда подключаю не видит ни моего класса, нихуя не видит вообще.

Ответы4852748528

sage 234 15 фев, 23:29 234 1348527

>>1348516
Надо include-ить header-файл. Добавить библиотеку через GUI студии.

235 15 фев, 23:34 235 1348528

>>1348516
Чтобы использовать классы и функции, тебе все равно нужны их объявления, даже если реализация целиком в .dll. Поэтому, во-первых, подключи хедер.h. Во-сторых, вместе с собранной библиотекой идет .lib файл с таким же названием. Он нужен, чтобы временно разрезолвить нереализованные объявления на этапе статической линковки (попробуй сбилдить без него). Чтобы его подключить, пропиши его в target link libraries в настройках проекта (загугли) или используй #pragma comment(lib, "LibVector.lib")

Ответы48543

2 Кб, 148x104
236 15 фев, 23:57 236 1348543

>>1348528
Нет, файла с .lib, даже поиском не нашло, библиотека собралась успешно

Ответы48549

237 16 фев, 00:10 237 1348549

>>1348543
https://docs.microsoft.com/en-us/cpp/build/exporting-from-a-dll-using-def-files?view=vs-2017

Ответы48552

238 16 фев, 00:31 238 1348552

>>1348549
Блядь, как много заебов с динамическими библиотеками.

239 16 фев, 00:31 239 1348553

Где можно почитать в каких случаях c++ работает быстрее c

Ответы485544863648674

240 16 фев, 00:32 240 1348554

>>1348553
во всех.
я

241 16 фев, 08:35 241 1348636

>>1348553
Лучше почитай в каких случаях твой код на С++ будет быстрее чем из коробки на том же С#. С++ сосет без оптимизации, если что.

Ответы48650

242 16 фев, 08:43 242 1348641

>>1348323
>Надеюсь теперь понятно, что долбоеб это ты - хвалишь более убогое.
Я где-нибудь это хвалил? Зачем ты сразу в обзываки скатываешься, как бука злая.
Имею ввиду, что большинство вакансий (конечно, может я в глаза долблюсь) требуют знания Qt, а не билдера.

243 16 фев, 09:43 243 1348650

>>1348636
Арбузная сучка.

Ответы48659

18 Кб, 769x223
244 16 фев, 09:57 244 1348654

Ответы49218

245 16 фев, 10:09 245 1348659

>>1348650
Что?

246 16 фев, 10:51 246 1348665

Как можно объявить байты?
"12345" - в памяти создается массив из 6 байтов (по одному на цифру + нуль терминатор в конце) и возвращается указатель на этот массив.
Вопрос: Как сделать то же самое, только с цифровыми байтами вместо букв, и чтобы никаких объявлений переменных (как видно в примере выше нет никаких переменных).

247 16 фев, 11:26 247 1348674

>>1348553
Используешь не-компайл-тайм фичи? Плюсы будут медленнее (скрытые аллокции и всякая шняга). Используешь компайл-тайм фичи? Компиляция плюсов будет медленнее раз в пять-шесть-сто. Быстрее? Говорят, что в плюсах не нужен указатель на void, потому что есть шаблоны, поэтому компилятор обладает более полной информацией о типах и способен лучше оптимизировать, но матёрые си программисты-оптимизаторы, которым нужен ПЕРФОРМАНС, и так не используют указатель на void.
Таким образом, если тебе нужен ХАРДКОРНЫЙ ПЕРФОРМАНС, то ты будешь использовать плюсы только как си с классами-структурами и неймспейсами. Но процент кода, который требует такого, обычно довольно маленький, поэтому не еби себе мозг и пиши нормально. Большая часть скорости обычно зависит от архитектуры программы, нежели от конкретного языка. Если ты не используешь фичи плюсов не по назначению (например, проходишь циклом по паре тысяч объектов, вызывая у каждого виртуальные методы), то скорость программ будет одинаковая.

248 16 фев, 11:51 248 1348681

>>1348417
Добавь printf в конструкторы и всё увидишь.
Во втором вопросе move нужен. Объяснения: https://en.cppreference.com/w/cpp/utility/move

249 16 фев, 13:00 249 1348709

Хули мне с этим делать? Я читаю-читаю, но написать нихуя полезного не могу, т.к. на голых плюсах, я так понял, хуй что реализуешь. Где взять практику? Что писать? Долго ещё теорию гонять, которая без нормальной практики забывается с ахуевшей скоростью?

Ответы4871848722

250 16 фев, 13:04 250 1348711

Нормально использовать список инициализации в конструкторе копирования?

251 16 фев, 13:22 251 1348718

>>1348709
Десктопный чатик напиши
На клиенте qt на бэке asio.
Как напишешь требуй 80.

252 16 фев, 13:26 252 1348721

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

253 16 фев, 13:27 253 1348722

>>1348709
Сделай консольный todo

5 Кб, 276x246
254 16 фев, 13:55 254 1348742

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

Ответы48769487724920749574

255 16 фев, 14:45 255 1348769

>>1348742
и да, и нет

256 16 фев, 14:48 256 1348772

>>1348742
если ты захочешь делать, как ниже, то нужен:
struct Child : Base {};

BasePtr b = new Child{};
delete b;

Ответы4877649208

257 16 фев, 14:51 257 1348776

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

Ответы4879449208

258 16 фев, 15:29 258 1348794

>>1348776
Хороший тон это да конечно... Вот стаким кодом https://ideone.com/iDRQAp у меня получилочь воспроизвести утечку с нетривиальным деструктором, но с char[10000] нет. Если без традиций, ритуалов и хорошего тона - нужен или нет?

259 16 фев, 15:43 259 1348809

Ананас, расскажи как работают CLI command line interface программы.
Например, с гитом понятно. Запускаешь программу с аргументами и тд.
А как быть которые обрабатывают ввод? Там, грубо говоря, внутри крутится бесконечный цикл и обрабатывает ввод?

Ответы48831

260 16 фев, 15:59 260 1348819

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

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

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

Ответы48885

261 16 фев, 16:09 261 1348831

>>1348809
Не бесконечный, а пока в stdin не встретится eof
В кернигане и ричи параграф 1.9 содержит пример

262 16 фев, 17:12 262 1348885

>>1348819
>Чому нет? Можно даже явно вызвать.
Это не значит, что у него есть имя.

Про конструкторы явно сказано, что у них нет имени. Про деструкторы не сказано. Вот я и спрашиваю.

Ответы48914

263 16 фев, 17:30 263 1348895

У деструкторов нет имён. http://wg21.link/CWG2069

Ответы48914

264 16 фев, 18:24 264 1348914

141 Кб, 977x516224 Кб, 1046x59297 Кб, 1138x582

>>1348885
>>1348895
Не ради того, чтобы спорить, а просто пруфы, что не я это придумал.
Даже Страуструп говорит об имени деструктора.

Ответы48916

265 16 фев, 18:25 265 1348916

>>1348914
Это неформальное описание.

266 16 фев, 19:49 266 1348974

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

Ответы48975490034900449254

267 16 фев, 19:51 267 1348975

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

Ответы48978

268 16 фев, 19:57 268 1348978

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

269 16 фев, 20:39 269 1349003

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

270 16 фев, 20:39 270 1349004

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

271 16 фев, 22:09 271 1349084

Что значит "функция не генерирует исключения", вот есть у меня функция, которая юзает sin/cos с cmath, в функции нет throw catch. Стоит ли мне объявлять её как noexcept ?

Ответы4922349354

272 17 фев, 00:37 272 1349171

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

273 17 фев, 02:18 273 1349207

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

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

Ответы49437

274 17 фев, 02:19 274 1349208

>>1348776
>быстрофикс: в смысле его не язык требует, а это считается хорошим тоном
В смысле что язык требует. Без виртуального деструктора в >>1348772 будет неопределённое поведение

Ответы49224

275 17 фев, 03:35 275 1349218

>>1348654
О, какие флаги нужно хуйнуть компилятору, чтобы он принял не-ASCII в идентификаторах?

Ответы49621

276 17 фев, 04:38 276 1349223

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

277 17 фев, 04:40 277 1349224

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

Ответы49386

278 17 фев, 07:28 278 1349254

>>1348974
>Не прикрутят какой-нибудь универсальный менеджер пакетов.
как это нету?
в линукс системах dpkg, rpm и другие, в bsd-семействе тоже есть системные менеджеры пакетов..

Ответы49357

279 17 фев, 12:01 279 1349354

>>1349084
Нужно еще проверить на предмет исключений все функции, которые ты вызывал из своей функции (библиотечные можно проверить по справочнику). Если ни одна из них не кидает исключений, значит можешь (но не обязан) объявить свою noexcept.

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

Ответы49609

280 17 фев, 12:02 280 1349357

>>1349254
>универсальный
>красноглазое говно

281 17 фев, 12:16 281 1349371

45 Кб, 801x287330 Кб, 842x747

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

Ответы4937949504

282 17 фев, 12:22 282 1349379

>>1349371
Сделаю за 4000-4500$

Ответы49390

283 17 фев, 12:25 283 1349386

>>1349224
>Там вполне определенное поведение.
Тащи пруф.

Ответы49583

284 17 фев, 12:27 284 1349390

>>1349379
Если только за зимбабвийские доллары

Ответы49404

149 Кб, 849x458
285 17 фев, 12:35 285 1349404

>>1349390
Там, в принципе, не такая и сложная задача, так что сделаю рейт поменьше тебе. $3800 USD - и по рукам.

286 17 фев, 12:59 286 1349437

>>1349207
Это у тебя в голове каша. Storage duration никак не относится к памяти - стеку или куче. Automatic storage duration - это не на стеке, а то что объект создается в начале скопа и удаляется в конце, без участия юзера. Dynamic sotrage duration - объек создается и удаляется через вызов функций аллокации памяти, т.е. с участием пользователя.

Ответы494894949349494

287 17 фев, 13:36 287 1349489

>>1349437
"на стеке" взято в кавычки, мамкин разоблачитель.

288 17 фев, 13:41 288 1349493

>>1349437
>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, а имени не будет и ни о каком скопе смысла говорить вообще нет.

Ответы49585

289 17 фев, 13:44 289 1349494

>>1349437
>создается в начале скопа и удаляется в конце
{
Class ass; // начало скопа для ass
{
Class ass; // конец скопа внешнего ass. внешний ass удаляется?
}
}

290 17 фев, 13:54 290 1349504

>>1349371
Нахуя это нужно? Нигде не пригодится.

291 17 фев, 14:49 291 1349574

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

Ответы49589

292 17 фев, 15:00 292 1349583

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

Ответы49589

293 17 фев, 15:02 293 1349585

>>1349493
>и у этого объекта будет automatic storage duration
Не будет. Деструктор-то у него не сработает при удалении стек фрейма.

Ответы49591

294 17 фев, 15:04 294 1349589

>>1349574
>Виртуальный деструктор нужен для вызова деструктора базового класса при удалении объекта неследованого класса.
:facepalm:
> Если у тебя в классе имееться кастомный (не по умолчанию) деструктор то ты или объявляешь деструктор виртуальным, или от класса нельзя наследоваться.
Наследуюсь от контейнеров из stl, у которых нет виртуальных деструкторов. Брат жив.

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

Ответы49594

295 17 фев, 15:06 295 1349591

>>1349585
>Не будет. Деструктор-то у него не сработает при удалении стек фрейма.
Будет. Срабатывание или несрабатывание деструктора при выходе из блока это не тот способ, которым определяется automatic storage duration.

296 17 фев, 15:07 296 1349594

>>1349589
>Наследуюсь от контейнеров из stl
Всем как-то похер что ты в своих лабах делаешь.

Ответы4959649612

297 17 фев, 15:08 297 1349596

>>1349594
Проект на несколько миллионов строк, несколько тысяч пользователей.

Ответы49603

298 17 фев, 15:17 298 1349603

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

299 17 фев, 15:22 299 1349609

>>1349354
По какому справочнику смотреть, бросают ли исключения библиотечные функции? Открыл http://www.cplusplus.com/reference/cmath/cos/, там не написано, бросает ли cos()исключения.

Ответы4961149670

300 17 фев, 15:30 300 1349611

>>1349609
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 17 фев, 15:31 301 1349612

>>1349594
>>Наследуюсь от контейнеров из stl
дык не рекомендуют так делать, лучше агрегировать

302 17 фев, 15:44 302 1349621

>>1349218
У меня сразу работает, lol.

303 17 фев, 15:45 303 1349622

Как вывести иероглифы в консоль?

Ответы4962549667

304 17 фев, 15:51 304 1349625

>>1349622
Смотря какая консоль, попробуй UTF-8 отправить.

305 17 фев, 16:20 305 1349640

Если я использовал конструктор перемещения, для объекта в котором всего 2 переменные. И в итоге у объекта, с которого я перемещал, сохранились значения. Это значит, что я не переместил, а скопировал? Что вообще должно остаться у объекта? Нули или мусор?

Ответы4965949947

306 17 фев, 16:31 306 1349659

>>1349640
Зависит от конструктора перемещения. Стандартные просто копируют значения.

21 Кб, 484x544
307 17 фев, 16:38 307 1349667

>>1349622

Ответы49675

308 17 фев, 16:40 308 1349670

>>1349609
https://en.cppreference.com/w/cpp/numeric/math/cos
https://en.cppreference.com/w/cpp/numeric/math/math_errhandling

309 17 фев, 16:46 309 1349675

>>1349667
Наконец-то до спермоблядков дошло что будущее за UTF-8.
Из 30 лет со дня изобретения UTF-8 не прошло.

Ответы49964

310 17 фев, 20:27 310 1349947

>>1349640
Конструктор перемещения нужен, если у объекта есть внешние ресурсы (причем с уникальным владением). Типа хуйни, выделенной в куче, или там открытого сокета.
А если все поля класса это простые типы (и массивы из них), то копирование и перемещение делают одно и то же.

311 17 фев, 20:51 311 1349964

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

Ответы499765018553616

312 17 фев, 21:11 312 1349976

>>1349964
"их ситуация" — это "требуется раз-раз и в продакшен"?

Ответы49983

313 17 фев, 21:20 313 1349983

>>1349976
нет, из соображений производительности в первую очередь
ведь юникод они в ядро запиливали, надо было чтобы быстро работало
потом удобней с двухбайтовой кодировкой работать самим программистам..
потом им не надо было ни жить ни быть чтобы была обратная совместимость с ascii кодировкjq как в utf8 сделано, так как в ядре уже была поддержка и широких кодировок для азиатских языков и других трюков, те в ядре винды не было такой жесткой привязки к asci как было в некоторых операционках юниксового семейства..

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

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

Ответы49985

314 17 фев, 21:23 314 1349985

>>1349983
>на rsdn были длинные обсуждения этого, и почти никто не обсирал выбора инженеров майкрософт
Ещё бы на сайте чьё название каргокультирует MSDN обсирали Microsoft

315 17 фев, 22:05 315 1350029

>>1343703
Ты все версии выбрал, что ли? Всегда было метров семьсот.

Ответы50752

316 17 фев, 23:38 316 1350123

Анон, поясни можно ли въехать в лямбда-выражения в Си++ без подготовки или надо налегать на лямбда-исчисление Чёрча, теорию категории и т.д.?

Ответы5012450128501605018850218

317 17 фев, 23:40 317 1350124

>>1350123
Гомотопическую теорию типов не забудь выучить.

Ответы50457

318 17 фев, 23:46 318 1350128

>>1350123
Ты... ты пользовался наследием без глубокого изучения теории типов в System F<: ?! А ну живо иди извиняться лично перед Мартином-Лёфом!

Ответы5015050457

319 18 фев, 00:23 319 1350150

>>1350128
Чем System F<: отличается от System F?

Ответы50151

320 18 фев, 00:24 320 1350151

>>1350150
https://en.wikipedia.org/wiki/System_F-sub

Ответы50153

321 18 фев, 00:26 321 1350153

>>1350151
Чего только борщехлёбы не выдумают, лишь бы байты не ебайть.

322 18 фев, 00:41 322 1350160

>>1350123
Да, можно и нужно. Не слушай поехавших.

Ответы50457

323 18 фев, 01:56 323 1350185

>>1349964
«Учение Маркса всесильно, потому что оно верно»

Ответы50202

324 18 фев, 02:04 324 1350188

>>1350123
Конечно можно, даже необходимо. Обязательно перед эти выучи работу машины Тьюринга, автомата Маркова, машины Поста. Иначе будешь говнокодером

Ответы50457

325 18 фев, 03:29 325 1350202

>>1350185
Ты же петухан, который ни одной программы не написал.
Иначе было бы очевидно, что UTF-8 это говно ёбаное, вообще невозможно с ним работать, потому что это не простые строки, а пожатые. Ты буквально не можешь взять какой-то символ из строки так: ch = str[5] - взять пятый символ из строки, потому что там пожато и символы все разной длины, так что нужно ПАРСИТЬ СТРОКУ НАХУЙ. Это всё равно что держать все структуры и прочие буферы в памяти пожатыми в ZIP, и при каждом обращении распаковывать, таская за собой библиотеку зипа. Ты чё, ебанутый, блять? Это не только неудобно, но и производительность по пизде. Это каким же надо быть отбитым говноделом, иди нахуй на питоне говни, пидрила тупорылая.

Ответы50233503565035750399

326 18 фев, 05:41 326 1350218

>>1350123
нужно скорее понимать, что лямбды в с++ скорее синтаксический сахар
нужно понимать, как раньше использовались функциональные объекты, их фишки, как использовались такие оригинальные средства как bind и mem_fun
посредством лямб делать те же задачи стало удобней
но это не лямбды функциональных языков

Ответы502205045750860

327 18 фев, 05:45 327 1350220

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

Ответы50246

328 18 фев, 07:26 328 1350233

>>1350202
И сколько байт займёт самый большой символ?

Ответы50244

329 18 фев, 08:18 329 1350244

>>1350233
В виндоус для юникода используется 2 байта. Это не совсем верно, потому что бывает символы которые в 2 байта не влезут, но там совсем экзотика - всякие матановые символы.

330 18 фев, 08:21 330 1350246

>>1350220
Потому что несмотря циклы проще, лучше читаются, быстрее компилируются, дают более понятные сообщения об ошибках.

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

Ответы50265

331 18 фев, 08:52 331 1350251

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

https://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf

332 18 фев, 09:47 332 1350265

>>1350246
>Нет никаких причин
причина в увеличении абстракции
разделяется код обхода контейнера и код выполняющий что-то над элементами
это если простыми словами, тк ты похоже low

Ответы502995030150315

333 18 фев, 11:07 333 1350293

Up

334 18 фев, 11:18 334 1350299

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

я лоу

Ответы50340

335 18 фев, 11:21 335 1350301

>>1350265
>причина в увеличении говна
Поэтому и не нужно.

Ответы50340

336 18 фев, 11:49 336 1350315

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

Ответы50340

337 18 фев, 12:34 337 1350340

>>1350299
>>1350301
>>1350315
вы все черти
ты чорт
и ты
на этом диалог заканчивается

338 18 фев, 12:57 338 1350356

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

Ответы5039450436

339 18 фев, 12:58 339 1350357

>>1350202
>Ты буквально не можешь взять какой-то символ из строки так: ch = str[5]
Это нигде в реальной жизни не нужно. Только в laba2, где задание звучит как "перевернуть строку".

Ответы50390

340 18 фев, 13:43 340 1350390

>>1350357
Когда додич писал только лаба2, и теперь рассуждает о реальной жизни

Ответы50399

341 18 фев, 13:47 341 1350394

>>1350356
ты тоже чорт

342 18 фев, 13:50 342 1350399

>>1350390
>>1350202

343 18 фев, 14:49 343 1350436

>>1350356
Выводиться оно может хоть в UTF-8, хоть в анус мамаши, разницы нет, проблема во внутреннем представлении в программе, с которым ты работаешь.
Ну а что они там сейчас думают, мне плевать, как и данному треду, потому что тут C++, а не сисярпы и прочие UWP-скрипты говно-мобилко-веб-платформы, которую они лепят, стараясь убить нормальный десктоп и его приложения, т.е. С++ убить. Современный тренд - уходить с нормальных приложений на тормозные скрипты виртуальных машин, лепить обертки оберток оберток. Даже если в их строках, чтобы тупо напечатать одну букву будет вызов десятка вложенных функций, каждая с циклами по всей строке, им похуй, только рады и скажут "заебись, потому что это говно написали они и без него никто другой ничего не сможет, а значит они - гегемоны абсолютной власти. ПРОФИТ.

Ответы50474

344 18 фев, 15:30 344 1350457

>>1350124
Че ты шутишь? Я серьезно спрашиваю. Ты походу типичный ЧСВ-прогер не прогер, а пидор.
>>1350128
Не понял о чем ты.
>>1350160
Спасибо.
>>1350188
Спасибо, если не стебёшься.
>>1350218
Спасибо. Что такое сахар?

90 Кб, 1059x592
345 18 фев, 15:50 345 1350468

Почему этот код мне загагулины пишет в файл ,вместо строки fuck

Ответы5052850531

346 18 фев, 16:09 346 1350474

>>1350436
С++ это хайлоад и системное программирование в основном, десктоп на С++ уже считай мертв. Но я понимаю твой подрыв..

Ответы50525

347 18 фев, 17:46 347 1350525

>>1350474
>десктоп на С++ уже считай мертв
Ой вэй, слухи сильно преувеличены.
Просто взял несколько приложений, что у меня на рабочем столе: LightAlloy, Audacity, Sandboxie, MS Office, куча музыкального софта, торенты, браузер. Все писано на плюсах, либо с их участием.

348 18 фев, 17:54 348 1350528

>>1350468
Как setbuf узнает размер буфера который ты ему сунул?

349 18 фев, 18:02 349 1350531

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

Ответы50561

350 18 фев, 19:05 350 1350561

>>1350531
Каво

351 18 фев, 20:28 351 1350603

а как найти адрес ссылок в плюсах?

Ответы50620

352 18 фев, 20:58 352 1350620

>>1350603
Все ссылки находятся по адресу улица Пушкина, дом Колотушкина
Ссылка не объект, а потому не имеет адреса.

Ответы50664

353 18 фев, 22:17 353 1350664

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

Ответы50666

354 18 фев, 22:19 354 1350666

>>1350664
По твоему адрес оперативки хранит адрес на другой адрес оперативки?

32 Кб, 494x220
355 18 фев, 22:46 355 1350679

Что делает этот код ? Нихуя разобрать не могу.

Ответы50684506915069850749

356 18 фев, 22:55 356 1350684

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

Ответы50690

357 18 фев, 23:04 357 1350690

>>1350684
У тебя 16к монитор что-ли? Все видно, не пизди.

358 18 фев, 23:11 358 1350691

>>1350679
Выводит какую-то хуйню, посмотри, что ебучие методы возвращают и узнаешь что.

Ответы50693

359 18 фев, 23:13 359 1350693

>>1350691
cout я добавил чтобы посомтреть что там.

360 18 фев, 23:35 360 1350698

>>1350679
>throw name
>const char*
лол.

Ответы50744

361 19 фев, 04:46 361 1350744

>>1350698
Ты видимо тоже не понимаешь что она делает.

362 19 фев, 06:09 362 1350749

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

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

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

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

Размер строки таблицы - 0x8. По смещению 0x4 лежит указатель на имя класса, который загружается в test и дальше сравнивается по имени с name. По смещению 0x0 лежит указатель на йобу, в йобе по смещению в 1 байт лежит указатель на virtual table.

Ответы50859

363 19 фев, 06:43 363 1350752

>>1350029
неа, просто 3д тыкнул, одна версия ~10гб весит, если несколько внутри тыкнуть точек

52 Кб, 371x242
364 19 фев, 11:06 364 1350805

Нужно ли дрочить С перед тем как садиться за С++?

Ответы508095081050829508385083950861

365 19 фев, 11:12 365 1350809

>>1350805
Нет.

Ответы50811

366 19 фев, 11:13 366 1350810

>>1350805
Нет

Ответы50811

367 19 фев, 11:15 367 1350811

>>1350809
>>1350810
Окей, спасибо.

40 Кб, 430x241
368 19 фев, 11:56 368 1350829

>>1350805
Половина фич плюсов - попытка исправить недочёты сей. Следующая четверть - попытка исправить недочёты плюсов. Если тебе меньше 19 лет, то я бы начал с си. Иначе - добро пожаловать в волшебный мир "а нахрена это сделано вот так".

Ответы508325085750896

369 19 фев, 11:59 369 1350832

>>1350829
>"а нахрена это сделано вот так".
Хз, загуглить можно

370 19 фев, 12:12 370 1350838

>>1350805
нет, но тебе все равно придется

371 19 фев, 12:14 371 1350839

>>1350805
вообще не стоит изучать щас с++ если ты новичек
выбери что-то другое
это не троллинг, это лучший совет который можешь получить

Ответы50896

372 19 фев, 12:53 372 1350857

>>1350829
Хз, мне наоборот всё логичным кажется, то и дело восхищаюсь инженерным гением разработчиков компилятора.

Ответы51077

373 19 фев, 13:00 373 1350859

>>1350749
Двачирую, разобрался. Эта функция делает обход таблиц в памяти и ищет подходящую по имени.

374 19 фев, 13:01 374 1350860

>>1350218
>ригинальные средства
Попижженые из хаскеля какого.

375 19 фев, 13:02 375 1350861

>>1350805
Смотря что ты собрался делать потом на плюсах. Если системное программирование/десктоп, то лучше начать с СИ. Если решил работать на высоком уровне абстракции, то СИ учить не нужно. Накатываешь какой-нибудь QT и рубишься.

Ответы50896

376 19 фев, 15:25 376 1350889

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

Ответы5090751251

377 19 фев, 15:40 377 1350896

>>1350829
Так я понял, что С++ это С со всякими новыми парадигмами и фичами из коробки. Я же могу просто писать как на ванильной сишке и не использовать привнесенные костыли которые мне не нравятся?
>>1350839
Почему так? Знаю только пиздон, но не могу придумать, что на нем писать кроме скриптиков, а на работки он идет обычно как бонус, а не основное требование.
Веб-языки меня не прельщают, т.к. ненавижу сети вообще и даже на фронтенде я так понимаю мне придется с ними часто париться. Не статические сайтики на бесплатных настроенных хостингах же всю жизнь делать.
>>1350861
Спасибо.

Ответы5092451044

378 19 фев, 16:25 378 1350907

>>1350889
Пили телегу, с работы приду напишу.

Ответы50925

379 19 фев, 16:47 379 1350924

>>1350896
> что С++ это С со всякими новыми парадигмами и фичами из коробки
Это абсолютно другой язык, но практически совместимый с си. Ты вполне можешь писать на си, используя только некие фичи крестов, но зачем?

380 19 фев, 16:51 380 1350925

>>1350907
sergeyak

381 19 фев, 18:36 381 1350957

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

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

Ответы509605103651691

382 19 фев, 18:48 382 1350960

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

383 19 фев, 21:00 383 1351036

>>1350957
>чем требуется для сохранения двух указателей на класс и метод
Указатели на метод обычно очень нетривиальные (это не обычный указатель), и не факт, что они будут расходовать меньше ресурсов, чем лямбда.

Ответы510405106751691

384 19 фев, 21:11 384 1351040

>>1351036
Ну это только если с виртуальным наследованием. Там компилятору и правда приходится дрочить вприсядку, чтобы получить правильное смещение.

385 19 фев, 21:24 385 1351044

>>1350896
Да, ибо абсолютно ВЕСЬ функционал крестиков реализовываем на сях.

386 19 фев, 21:29 386 1351047

Аноны, стоит вкатываться в метапрограммирование и подавать резюме в майрософт, чтобы студию разрабатывать?

Ответы51066

387 19 фев, 22:11 387 1351066

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

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

Ответы51079

388 19 фев, 22:11 388 1351067

>>1351036
>и не факт, что они будут расходовать меньше ресурсов
То есть если переписать все эти методы как статические и явно передавать им указатель на экземпляр (в таком случае тип всех методов (точнее, уже почти просто функций) совпадает), то это будет лучше в плане ресурсов?

Ответы51691

389 19 фев, 22:46 389 1351077

>>1350857
У меня довольно много претензий к языку, если честно. Первое, что приходит на ум:
>почему std::initializer_list в сочетании с list initialization рушит все оверлоуды?
>такие правила выбора, тебе просто стоит запомнить
>почему при передаче в тред ссылки я должен использовать std::ref?
>такая семантика у ссылок, тебе просто стоит запомнить
>кто в своём уме придумал Most Vexing Parse? Просто потому что кому-то взбрела в голову идея объявления функции внутри функции, не значит, что это надо было делать
>ну, эта грамматика нам от сей досталась, тебе просто стоит запомнить
>std::unordered_map всегда использует open_hashing
>такой вот он STL, тебе просто стоит запомнить
>почему нет аналога defer? Я не хочу плодить классы, если мне что-то нужно всего один раз
>пользуйся RAII и молчи
>почему мой проект собирается два часа?
>потому что надо использовать меньше темплейтов, а темплейты генерят столько кода, потому что мы унаследовали модель компиляции сей
Если напрячься, можно было бы ещё много чего вспомнить. Да, все эти проблемы решаемы. Да, для большинства это не проблемы. Но если бы их не было, мир бы стал чуточку лучше и добрее. И ведь другого "Си, но лучше" на горизонте нет. Jai мог бы стать, но по текущему состоянию он становится таким же кластерфаком, что и плюсы.

Ответы51121

390 19 фев, 22:50 390 1351079

>>1351066
>они не спонсируют визу вроде бы
Прикинься индусом, тебе H1B с радостью дадут.

391 20 фев, 00:06 391 1351121

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

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

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

392 20 фев, 10:33 392 1351225

1 Кб, 202x5325 Кб, 415x14620 Кб, 433x76627 Кб, 736x227

>>1342442 (OP)
Что за херня? Почему в пайтоне один результат, а в сиплюсах другой?

Ответы5122651230

393 20 фев, 10:33 393 1351226

>>1351225
Алсо, пайтоновский вариант ближе к правильному ответу.

394 20 фев, 10:44 394 1351230

>>1351225
Похоже, что кресты 1 / 3 ебошут целочисленным делением, т. е. 1 / 3 == 0.
Попробуй записать так: 1.0 / 3

Ответы51231

25 Кб, 522x243
395 20 фев, 10:49 395 1351231

>>1351230
Ого, а теперь прям идеально работает.

Ответы51232

396 20 фев, 10:52 396 1351232

>>1351231
А вообще православнее все цифры записать с точкой.
Цифра без точки считается int, а с точкой - double. Поэтому в твоем выражении будут неявные преобразования int в double.
Если все записать с точками, то преобразований не потребуется.

Ответы51239

397 20 фев, 11:08 397 1351239

>>1351232
>преобразований не потребуется
Они всё равно будут только при компиляции и будут только там где это требуется

Ответы51248

398 20 фев, 11:21 398 1351248

>>1351239
Да, точно, константы же

399 20 фев, 11:23 399 1351251

>>1350889
бамп вопросу

400 20 фев, 14:35 400 1351326

>>1342442 (OP)
Какая unix система чаще всего используется у разработчиков? Как пример для понимания Bubuntu, CentOS/Fedora.

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

Ответы5132951370

401 20 фев, 14:40 401 1351329

>>1351326
>у разработчиков
Ну смотря, что ты себе разработать хочешь

Ответы51332

402 20 фев, 14:46 402 1351332

>>1351329
Вопрос возник из-за того, что в одной вакансии требуется знание линуха плюс netbeans и я отчаянно пытаюсь узнать, а что вообще используют программисты. Речь как ни странно идёт именно о С++ программировании. Мне нужно это всё опробовать, дабы не сесть в лужу.

Ответы51335

403 20 фев, 14:51 403 1351335

>>1351332
Ну скажи, что знаком. Припезди, что однажды пиво с Торвальдсом пил

Ответы51337

404 20 фев, 14:55 404 1351337

>>1351335
Я же эту бабанту или федору ставить буду, потом на это нетбос и г++, надо потренироваться иначе буду красным сидеть и гагатать от происходящего.

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

И ещё вопрос. Как оно вообще происходит то, там, на работе программиста на линух? К самому линух отношусь нейтрально из-за большого веса VS 2017.

Ответы51370

405 20 фев, 16:23 405 1351370

>>1351326
Ubuntu-подобные системы де-факто стандарт для обычного десктопа. Если бы мне пришлось сидеть с красноглазым говном вместо ОС, я бы, наверное, накатил Kubuntu.

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

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

Ответы5137751495

406 20 фев, 16:38 406 1351377

>>1351370
У меня есть ССД на 256, но время установки огорчает, сильно.

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

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

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

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

Ответы513955142051422

407 20 фев, 17:00 407 1351395

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

>И второе. Как раньше народ игры на С писал.
А в чём проблема?
>и если про управлять это допустим стек, очередь
Вот тут вообще не понял что ты имеешь ввиду.
Угу, структуры. У тебя есть структура под монстра. Можно несколько разных как разные сущности, если требуется для разных функций. Или можно в структуре хранить указатель на "пользовательские данные", которые требуются для конкретного монстра. В зависимости от типа монстра вызываются разные функции, чтобы они по разному действовали во время игры. Хранить монстров в списке или массиве, как угодно.

Ответы51421

54 Кб, 960x960
408 20 фев, 17:25 408 1351410

Вечер в хату молодые(и не очень) люди! Намедни всучили лютую(для меня дауна) лабу на плюсах, а я не знаю как подступиться к ней даже:

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

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

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

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

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

Ответы51448

409 20 фев, 17:39 409 1351420

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

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

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

Ответы514225142351433

410 20 фев, 17:41 410 1351421

>>1351395
Попробую под бабанту, всё таки простота сред на линух манит, недавно прознал про билдер, восставший, задумался, ибо вес 2015 и 2017 просто повергает в шок, 2015 - 35ГБ, а уж сколько 2017 остаётся гадать.

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

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

411 20 фев, 17:42 411 1351422

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

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

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

> Как раньше народ игры на С писал.
Народ писал и на ассемблере. Идеи одни и те же, плюс минус, как написал >>1351420 просто кресты выразительнее, нежели си

Ответы51427

412 20 фев, 17:42 412 1351423

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

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

413 20 фев, 17:45 413 1351427

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

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

Ответы51438

414 20 фев, 17:57 414 1351433

>>1351420
>10 Посмотреть текущее состояние, скажем, клавиатуры
>20 Исходя из состояния клавиатуры обновить мир
>30 Вывести мир на экран
>40 Воспроизвести звуки
>50 GOTO 10
Поправил зумера.

Ответы51448

415 20 фев, 18:04 415 1351438

>>1351427
Что-то как-то прям очень тоскливо.

416 20 фев, 18:21 416 1351448

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

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

>>1351433
На телефоне был, извиняйте.
...чёрт, на телефоне. Скоро стану как эта вся молодёжь. Надо пить больше Монстра и играть в кваку. clack Да, вот в моё время были игры чтобы погамать, не то что сейчас. sip

Ответы51471

417 20 фев, 18:57 417 1351471

>>1351448
Ты повторил то, что написано в задании, это никак не помогает(
Я структурно не могу понять что да как. То есть, я создам класс "Участник", "Группа" и "СоцСеть" Потом отдельно нужно навернуть классы "Очередь" и "Список". Очередь будет в private секции Группы, а Список в свою очередь там же у СоцСети или как?

418 20 фев, 18:57 418 1351472

Знатоки ООП здесь?
Чем отличается паттерн Facade от Delegation ?

Ответы514905158851596

419 20 фев, 19:23 419 1351490

>>1351472
цпп != ооп
точнее, иди нахуй отсюда

Ответы51494

420 20 фев, 19:29 420 1351494

>>1351490
А я кроме цпп знать ничего не желаю, так что ооп == цпп но цпп != ооп тоже верно

Ответы51503

421 20 фев, 19:31 421 1351495

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

Ответы51563

422 20 фев, 19:46 422 1351503

>>1351494
К энтерпрайз паттернам это тебе к джавистам надо.

Ответы51509

423 20 фев, 19:54 423 1351509

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

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

Тащить же сам пример из книжки будет слишком громоздко - 9 классов, код с объяснениями занимает около 30 страниц.

Ответы51582

424 20 фев, 21:19 424 1351563

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

Ответы51679

425 20 фев, 21:57 425 1351582

>>1351509
Как показывает моя практика работы С++ макакой (а это уже почти 5 лет), то эти убер-паттерны нигде не используются, тупо за счет того, что они безумно громоздкие, и слишком глобальные. Если ты какая-нибудь джава-энтерпрайз макака - может быть да. Кресты вообще про другое.

Ответы517605180451808

426 20 фев, 22:06 426 1351588

>>1351472
Если правильно помню, то Фасад - упрощение сложного интерфейса. То есть тебе нужно, скажем, создать объекты A, B, C и вызвать у каждого по десять методов. Вместо этого ты делаешь класс Zayobcer, у которого есть метод makeZayobca(), в котором выполняются все эти действия. То есть это по сути простое применение абстракции, но энтерпрайз в лице банды четырёх сделал, как обычно, всё сложнее, чем оно на самом деле.
Delegation не помню, что бы в GoF был. Судя по гуглу, это, если тебе нужно использовать метод foo класса A, но чуть расширить b lheubv, ты создаёшь класс B и хранишь в нём экземпляр А (например, по имени m_a). Затем B::foo() просто вызывает m_a->foo(). Сейчас такую вещь нахывают принципом composition over inheritance.

Ответы51760

427 20 фев, 22:12 427 1351596

>>1351472
Facade использует Delegation. По сути одно и тоже, просто разные цели. Цель Delegation - размазать реализацию класса по нескольким с целью сделать возможной модификацию поведения класса (например dependency injection) или преиспользовать код (сделать что-то похожое на миксины). Цель Facade - не светить наружу десятком классов, а выставить только один. Но Facade реализуется с помощью Delegation, тоесть реальной разницы нет.

Ответы51760

428 21 фев, 00:28 428 1351679

>>1351563
>не надо было хуевый покупать изначально
Он изначально пиздатый, если винду и студию не ставить.

429 21 фев, 00:48 429 1351691

>>1350957>>1351036
>и не факт, что они будут расходовать меньше ресурсов, чем лямбда.
Угу, ты оказался прав. Лямбды хороши.

Сравнил дома в каком-то искусственном тесте, 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 указывающий на экземпляр(>>1351067)
16 байт, 805, 334

Не представляю почему сохранение в std::function<int(void,int)> быстрее, чем в int ()(void,int) - числа почти не прыгают, из раза в раз получается 805 и 758-759. Если попытаться выровнять структуру до 32 или тех же 40 байт - время сохранения только увеличивается.

430 21 фев, 00:50 430 1351693

Аноны, а нет ли такого сборщика который бы вытаскивал те функции, которые используются в программе ну и функции внутри тех функций и таким образом собирал программу минимизируя вес? В больших библиотеках ведь не 100% кода используется.
мимо-нуфаг

Ответы51696

5 Кб, 739x79
431 21 фев, 00:54 431 1351696

>>1351693
Флаг -Os не подходит?

Ответы51698

432 21 фев, 00:56 432 1351698

>>1351696
Да я названия не знал просто, спасибо

Ответы51702

433 21 фев, 01:00 433 1351702

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

434 21 фев, 01:22 434 1351713

>>1345059
Сложно. Даже обычный std::string имеет хуеву тучу тонкостей которые ты можешь даже не знать, не то что заимплементить. Типа того что при малых длинах строк контент хранится в самой структуре и аллокаций памяти не происходит.
То есть, написать самому можно (и если есть время и упорство - постараться точно стоит), но гарантированно выйдет менее производительный чем стандартный.

435 21 фев, 01:25 435 1351714

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

Ответы51736

sage 436 21 фев, 03:42 436 1351736

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

437 21 фев, 07:53 437 1351760

>>1351582
Используются. Другой вопрос можно/нужно ли этого избежать.
Ящитаю так: если есть вероятность что-то встретить в чужом коде, то есть и смысл в этом разобраться.

>>1351588
>Delegation не помню, что бы в GoF был
Да, в ГоФ не описывался. На педивикии есть.

>>1351596
>Facade реализуется с помощью Delegation
Вот это, похоже, и есть мой случай.

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

Ответы51767

438 21 фев, 08:12 438 1351767

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

439 21 фев, 11:22 439 1351804

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

440 21 фев, 11:31 440 1351808

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

Ответы5181251814

441 21 фев, 11:39 441 1351812

>>1351808
Так и что получается, дрочишь паттерны и можно сразу сеньором помидором устраиваться?

Ответы51815

442 21 фев, 11:42 442 1351814

>>1351808
>хуевая у тебя практика, однако
Ну почему сразу хуевая? Просто повезло человеку с местом работы.

443 21 фев, 11:43 443 1351815

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

444 21 фев, 15:52 444 1351975

#define TEXT "This is a text"

const char* giveText()
{
return TEXT;
}

Такое может работать, или будет ошибка?

Ответы51980

445 21 фев, 15:58 445 1351980

>>1351975
будет работать, но нахера так сложно?

Ответы51982

446 21 фев, 16:02 446 1351982

>>1351980
Чисто теоретически. Интересно, где хранится константа. Не будет ли той же ошибки, что и при возвращении указателя на локальный объект, который удаляется при выходе из скопа

Ответы519875198851996

447 21 фев, 16:14 447 1351987

>>1351982
Какая константа, ты о чем?
TEXT при компиляции заменится на "This is a text", вот и все

448 21 фев, 16:16 448 1351988

>>1351982
"This is a text" это статическая сишная строка, которая хранится в образе экзешника. Т.е. у нее есть строго определенное место, и каждый раз ты будешь на нее указатель возвращать.

4 Кб, 402x44
449 21 фев, 16:22 449 1351996

>>1351982
>Интересно, где хранится константа.
Ну, так и прогугли - "где хранятся строковые литералы?"
Насколько я помню в какой-то области перед глобальными переменными, что подтверждается значениями указателей. (тут для сравнения указатели на переменные из стека, из кучи и глобальную)

Ответы5199952033

450 21 фев, 16:25 450 1351999

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

451 21 фев, 17:06 451 1352027

Есть тут кто? На печально известную бабанту поставил нетбос и благополучно подключил Г++, но вот беда, как это дело собирать, в моём случае есть четыре простеньких файла, вариант на хабре с прописанием всего этого дела в консоли не впечатлил и хотелось БЭ автоматизации. Я скромно догадываюсь, что нужно что-то скачать от ГНУ, чтобы это помогало собирать всю эту кучу и показывать результат.

Ответы52206

452 21 фев, 17:13 452 1352033

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

Ответы52060

453 21 фев, 17:36 453 1352060

>>1352033
VirtualProtect() - делаешь область доступной на запись и пишешь.

Ответы52061

sage 454 21 фев, 17:37 454 1352061

>>1352060
И всё равно UB

455 21 фев, 21:34 455 1352206

>>1352027
Ну можешь make взять. Начешь с самого начала привыкать к тому что плюсы это боль.

456 22 фев, 13:22 456 1352521

g++ и #include<thread> дружат вообще?

Ответы525585284552941

457 22 фев, 14:55 457 1352558

>>1352521
Чё за вопрос вообще? Поддерживает ли gcc библиотеку thread?
Да

Ответы52580

458 22 фев, 15:54 458 1352580

>>1352558
Нет же.

Ответы52823

sage 459 22 фев, 23:41 459 1352823

>>1352580
>Нет
Пидора ответ.

460 23 фев, 00:52 460 1352845

>>1352521
Вопрос с подвохом. g++ это программа, у неё нет души, и поэтому не может дружить. Вот я с #include<thread> дружу давно, очень хороший хедер.

Ответы52922

461 23 фев, 09:26 461 1352922

>>1352845
А я обожаю <windows.h>.

462 23 фев, 10:36 462 1352941

>>1352521
Нужно вручную линковать pthreads (ну или ide может за тебя сделать, если какая-то годная, не знаю существуют ли такие).

Ответы53501

463 23 фев, 12:24 463 1352973

Геймдевы тут? Скиньте алгоритм создания цилиндра из одной точки. origin За одно поделитесь материалом по гейм-дев матану, с рейтрейсингом и прочими йобами. С меня тонны нефти.

Ответы5304853332

464 23 фев, 13:58 464 1353048

>>1352973
гейидев тут
https://2ch.hk/pr/res/1144536.html (М)

465 23 фев, 16:59 465 1353272

Аноны, может кто посоветовать материалы по честно говоря не уверен как это называть теории веб-сетей и подобного. Ну http/TCP, я про это вот. А то меня все эти названия пугают только. Желательно не кнутоподобные и не больше 1к страниц можно на ангельском

Ответы53378

466 23 фев, 17:57 466 1353332

>>1352973
>алгоритм создания цилиндра из одной точки
В каком смысле? Далее ты говоришь про рей-трейсинг. Тебе нужен алгоритм пересечения луча и цилиндра?

Ответы53765

467 23 фев, 18:47 467 1353378

>>1353272
Причем тут С++*

Ответы5342853539

63 Кб, 400x543
468 23 фев, 19:52 468 1353428

>>1353378

sage 469 23 фев, 20:38 469 1353501

>>1352941
>Нужно вручную линковать pthreads
Нужно указать флаг -pthread
Это не только на линковку влияет.

470 23 фев, 21:31 470 1353539

>>1353378
Только в одном треде сижу, извиняюсь.

Ответы53547

471 23 фев, 21:39 471 1353547

>>1353539
https://www.ozon.ru/context/detail/id/141492301/
Попробуй

Ответы53550

472 23 фев, 21:43 472 1353550

>>1353547
Спасибо, попробую осилить.

473 23 фев, 23:25 473 1353616

>>1349964
>выбор двухбайтового представления юникода инженерами майкрософт был абсолютно верен, для их ситуации
Хватит видеть мудрость там, где была банальная лень и похуизм.
Делали по принципам "640 килобайт два байта хватит навсегда" и "после нас хоть потоп".

Ответы5362553698

474 23 фев, 23:36 474 1353625

>>1353616
ты вообще понимаешь, что когда это дизайнилось, там циклы процессора вручную считали еще?

Ответы53638

475 23 фев, 23:53 475 1353638

>>1353625
Windows NT это 1989-й год. Intel 80486 вышел, с пайплайном и кэшем.
Windows NT писали под 32- и 64-битные процы (ладно, на 64-битной DEC Alpha оно работало в 32-битном режиме, так что только 32 бит) на C. Какие циклы вручную, когда C, пидоран?

Ответы53642

476 24 фев, 00:01 476 1353642

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

Ответы53645

477 24 фев, 00:06 477 1353645

>>1353642
>даже в работе ФС\реестра?
И что там надо? Разбить строку по слешу (бекслешу), конкатенировать строки, выполнить поиск по таблице файлов/ключей.
Разницы в этих операциях никакой для UCS-2 и UTF-8.

478 24 фев, 02:43 478 1353698

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

Ответы53699

479 24 фев, 02:51 479 1353699

>>1353698
>Ядро уже пропатчил на поддержку 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 24 фев, 11:30 480 1353765

>>1353332
Да, я уже разобрался.

Вот может пригодится кому: https://www.shadertoy.com/view/4lcSRn

481 24 фев, 15:34 481 1353994

Поясните за BOOST
Навернул Липмана и сверху Прату для закрепления. Там пишут, что в с++11 появились много чего полезного в том числе многопоточность.

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

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

В очереди стоит книга Вильямса про многопотосность. Там будет именно с++11 функционал? Есть ли книга по boost или его изучать только по документации?
Какой минимум нужно прочитать, чтобы переходить к изучению boost?

Ответы54080

482 24 фев, 16:24 482 1354080

>>1353994
std это стандартная библиотека. Когда говорят C++11, подразумевают std, а boost это сторонняя библиотека, нужна если тебе стандартной мало.

483 24 фев, 22:13 483 1354389

Если ли причины в 2019 писать новый проект на плюсах, а не на расте? Вроде modern c++ более приятным стал, но до раста всё равно не дотягивает ведь.

Ответы5439654414545695466954758

484 24 фев, 22:21 484 1354396

>>1354389
Если ли причины в 2019 писать новый проект на расте, а не на плюсах? Вроде текущий борроу чекер более приятным стал, но до количества библиотек и поддержки плюсов всё равно не дотягивает ведь.
На чём хочешь, на том и пиши.

485 24 фев, 22:37 485 1354414

>>1354389
Хеллоу ворлд ты можешь хоть на лиспе писать.

486 25 фев, 03:02 486 1354569

>>1354389
Лучше сразу на пхп или жабоскрипте пиши, чтобы "приятнее" было

487 25 фев, 11:41 487 1354669

>>1354389
Если ли причины в 2019 писать новый проект, а не допиливать старый? Вроде этот процесс более приятным стал, но до рефакторинга всё равно не дотягивает ведь.

hjk ghj 488 25 фев, 11:46 488 1354674

ghjk

489 25 фев, 13:49 489 1354758

>>1354389
>новый проект
Это такой эвфемизм чтобы слово "лабы" звучало по солиднее?
Наша компания ведущий разработчик программных решений и комплексов для лаб по программированию. Уже более половины семестра решения компании laba1 и laba2 являются эталоном в области лаб по программированию. Регулярная сертификация на соответствие стандартам индустрии позволяет нам создавать лабы мирового уровня.
В настоящее время вы активно исследуем возможность использования языка Rust для разработки надежных и качественных программных решений. В частности наш новый продукт laba3 релиз которого запланирован на вторую половину семестра является первым коммерческим решением на Rust в этой области.

Ответы54773

490 25 фев, 14:16 490 1354773

>>1354758
Всё правильно, так сеньорами в 19 лет и берут.

491 25 фев, 17:38 491 1354928

А есть какая-нибудь удобная система, которая сама скачает зависимости, а мне нужно только указать адрес и название пакета?
Как мавен у джавы...

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

Ответы550075501755037

sage 492 25 фев, 18:54 492 1355007

>>1354928
apt

493 25 фев, 19:06 493 1355017

>>1354928
нихуя нет. тоже задавался этим вопросом
за столько лет эти инвалиды нормальные тулзы даже не придумали. то ли дело мавен/гредл в джаве или карго в расте
в питоне такая же хуйня на самом деле

494 25 фев, 19:22 494 1355037

>>1354928
vcpkg

495 25 фев, 20:21 495 1355077

Подкиньте норм путеводитель по WinAPI
Хочу написать бота к игрульке

Ответы55079

496 25 фев, 20:23 496 1355079

>>1355077
msdn + google

497 25 фев, 21:24 497 1355117

Какую использовать библиотеку для рисования элементов GUI в opengl окне? Чтобы слайдером менять размер/цвет и т.д.

498 25 фев, 21:26 498 1355118

Как работают такие функции как sleep_for() ? Я понимаю, что они приостанавливают поток на заданое количество миллисекунд. Но что происходит внутри? Там стоит какой-то счетчик? Но когда и каким образом этот счетчик проверяется, если поток остановлен?

Ответы551225512655316

499 25 фев, 21:28 499 1355122

>>1355118
Клик правой кнопкой мыши->открыть исходный файл

Ответы55204

500 25 фев, 21:33 500 1355125

Есть такой код:
int main(int argc, char argv) {
parse(argv[3]);
}

Как задать функцию parse, чтобы она, допустим, читала третий символ из второго аргумента?

Ответы5513455160

501 25 фев, 21:35 501 1355126

>>1355118
Потоками система занимается. После вызова sleep она помещает поток в список отдыхающих. Когда проходит нужное количество времени - перемещает в список ожидающих своей очереди на выполнение.

Ответы55204

502 25 фев, 21:43 502 1355134

>>1355125
В argv хранятся поинтеры, которые указывают на строки. Эти строки в общем случае разбросаны по памяти, то есть не идут друг за другом подряд. Поэтому сомневаюсь, что можно по адресу начала одной строки как-то найти начало другой.

Ответы55198

503 25 фев, 22:02 503 1355160

>>1355125
Если я тебя правильно понял, то думаю так: argv[0] это название экзешника, а первый аргумент находится в argv[1], так что тебе нужен индекс 2 для второго аргумента. Дальше третий символ строки это второй индекс
int main(int argc, char* argv[]) {
parse( argv[2][2] );
}

Ответы55198

504 25 фев, 22:31 504 1355198

>>1355134
>>1355160
на самом деле мне надо более сложно парсить этот аргумент, не очень понимаю как его передать в функцию. Скопировать в массив чаров или строку и передать функции уже его? допустим
char *с = new char[strlen((argv[2]) + 1)];
strcpy(с, argv[2]);
и как тогда инициализировать parse, чтобы она читала c и выводила третий символ?

Ответы55211

505 25 фев, 22:39 505 1355204

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

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

Ответы5531155338

506 25 фев, 22:50 506 1355211

>>1355198
сделал через string, но вопрос остается

Ответы56634

507 26 фев, 00:11 507 1355311

>>1355204
> Но это же затрачивает ресурсы
Невозможность приостановить бесполезный тред еще больше ресурсов затратит. Тем более потери на проверку счетчика очень незначительные по сравнению с общими потерями на работу ОС с потоками.

508 26 фев, 00:15 508 1355316

>>1355118
Обернута функция системного апи какая-то.
Например это https://docs.microsoft.com/en-us/windows/desktop/api/synchapi/nf-synchapi-sleep

509 26 фев, 00:40 509 1355338

>>1355204
>как система считает это время
Есть такая штука на уровне процессора, как прерывания. Если по-простому, то это событие, при котором процессор бросает всё, что делает, и берётся выполнять обработчик прерывания. Среди них есть прерывание таймера, которое происходит с одинкаовым интервалом. Когда случается прерывание таймера, ядро смотрит, что прошло столько времени, значит, состояние текущего треда можно сохранить и запустить другой. Вот там внутри где-то и есть какой-нибудь список из спящих тредов.

510 26 фев, 13:31 510 1355620

https://www.youtube.com/watch?v=mUQZ1qmKlLY - хуета или достойно внимания?
Вкатываться в ойти не собираюсь, это так, для общего развития, так что расслабьте булки.

Ответы55673

511 26 фев, 14:42 511 1355673

>>1355620
Почему именно видео в хуёвом качестве и на английском?

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

Ответы55688

512 26 фев, 14:51 512 1355688

>>1355673
Именно это потому что увидел это видео в меме.
Так то я уже нашел по совету достойные книги по сетям и крестам.

Ответы55691

513 26 фев, 14:55 513 1355691

>>1355688
>Достойные книги по сетям
Что за книги?

Ответы55700

514 26 фев, 15:14 514 1355700

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

Ответы55705

515 26 фев, 15:18 515 1355705

>>1355700
Ты можешь авторов назвать?

Ответы55708

516 26 фев, 15:20 516 1355708

>>1355705
Седжвик и Танненбаум.
inb4 хуета

Ответы55710

517 26 фев, 15:22 517 1355710

>>1355708
Я видел как кто-то в треды скидывал эту книгу, говорил, что слишком сложная.
Я сейчас это буду читать: http://naymov.com/edu/ukit/olifer.pdf

Ответы55715

518 26 фев, 15:24 518 1355715

>>1355710
Я не боюсь сложностей, в конце концов работа со сложными материалами тренирует мышление.

519 27 фев, 00:39 519 1356043

Что можно прочитать, чтобы начать писать на плюсах как можно быстрее (при условии, что знаю другие ЯП)? stdlib не предлагать.

Ответы56172

520 27 фев, 11:58 520 1356172

>>1356043
Русские пословицы
Поспешишь - людей насмешишь

521 27 фев, 16:44 521 1356277

А на Visual Studio можно создавать приложения которые запустятся на линуксе?

Ответы56306

13 Кб, 384x399
522 27 фев, 17:45 522 1356301

Написал хелло ворлд, скомпилировал, а бинарник весит 1.5 мб. Почему так? Может как то настраивать нужно? Помогите плиз.

Ответы563055631557127

523 27 фев, 17:49 523 1356305

>>1356301
*Переключил в release - всё равно, бинарник весит очень много. 750кб.

Ответы56315

524 27 фев, 17:57 524 1356306

>>1356277
да, но какая-нить виртуалка с линуксом все равно будет необходима, т.к. студия будет на ней все ремоутно собирать и дебажить

525 27 фев, 18:20 525 1356315

>>1356301
>>1356305
Может у тебя рантайм какой-нибудь бандлится в екзешник? Пикрелейтед собрал в codelite, при запуске жалуется что не находит Libstdc++-6.dll

Ответы56316

7 Кб, 607x129
526 27 фев, 18:21 526 1356316

>>1356315
Забыл прикрепить

527 27 фев, 18:29 527 1356324

Тру системники тут? Есть фуллскрин приложение Opengl/directx. Возможно ли как-то поверх него разместить свое окно или просто делать отрисовку? Работаю в ядре.

Ответы5633456361

528 27 фев, 19:02 528 1356334

>>1356324
возможно, фрапс же выводит ФПС в любом окне.

Ответы56360

529 27 фев, 19:38 529 1356360

>>1356334
Фрапс внедряется в процесс. Нужен глобальный метод без вмешательства взаимодействия с процессом.

Ответы56408

530 27 фев, 19:39 530 1356361

>>1356324
Стимовский оверлей, например, выводится поверх любой вещи. В теории реально, но как это сделать...

Ответы56396

531 27 фев, 20:28 531 1356396

>>1356361
Стимовский оверлей тоже внедряется в процесс.

532 27 фев, 20:45 532 1356408

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

533 27 фев, 22:02 533 1356453

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

Ответы5647156472

534 27 фев, 22:44 534 1356471

>>1356453
Декомпиляция в каком-то виде существует - кури HexRays, но это, фактически, дизассемблер, который обратно в С попытались собрать, т.е. убожество.

535 27 фев, 22:48 535 1356472

>>1356453
Миф. С++ компилируется в машинный код сразу понятный процессору. C# в байткод, который потом интерпретирует виртуалка. Если хочешь освежить память/забыл какие алгоритмы использовал, подрубай иду/олю и смотри. А так в любом случае придется писать все заново.

536 28 фев, 13:38 536 1356634

>>1355211
Так и нужно было сразу, [] - оператор для Си-червей пидоров, нормальные С++ господа используют array или string

537 28 фев, 18:43 537 1356737

Анон, подскажи, почему тут переменная result не передается в main.
https://ideone.com/OKWUbz

Ответы567565676756823

538 28 фев, 19:06 538 1356756

>>1356737
> почему тут переменная result не определяется в main
FTFY
Потому что ты так написал, ёпта.

539 28 фев, 19:18 539 1356767

>>1356737
потому-что ты вообще не понимаешь, что делаешь. Вперед читать книгу про функции и возвращаемые значения

540 28 фев, 19:38 540 1356782

Аноны, нормально ли учить фреймворк Qt без углубления в реализацию? Если создание окон/диалоговых сообщений я еще могу осилить с помощью винапи какого-то, то блютуз/веб библиотеки для меня скорее как магия выглядят. Как это вообще реализовывали, если в плюсах нет средств для этого?

Ответы56812

541 28 фев, 20:05 541 1356812

>>1356782
Абсолютно вся работа с чем-то, кроме заранее выделенной памяти - это дерганье API операционной системы.

Учить фреймворк нормально без его кишок. Он для этого и фреймворк, чтобы быть самым низким слоем абстракции, вместо API системы

Ответы56815

542 28 фев, 20:07 542 1356815

>>1356812
То есть сами запросы в веб/блютуз и другие беспроводные сети идут от системы, а возможность их использования зависит от языка ну или библиотек?

Ответы56868

543 28 фев, 20:11 543 1356823

>>1356737
int result = digital_root(n);

544 28 фев, 20:43 544 1356868

>>1356815
вообще все идет от операционной системы. У юзеров прямого доступа вообще ни к чему. Все системное API это "Уважаемая операционка, сделай пожалуйста вот это", не более.

Все это апи - чистая сишечка обычно, Микрософт немного С++ потом добавил.

Ответы5687557202

545 28 фев, 20:50 545 1356875

>>1356868
Чисто Win32 API вроде до сих пор вся на C или?

Ответы56908

546 28 фев, 21:28 546 1356908

>>1356875
Винапи - сишечка. КОМ-параша - С++. Там кое-какая работа со звуком доступна только из КОМ-параши, например

Ответы56936

547 28 фев, 22:31 547 1356936

>>1356908
DirectX тоже на COM.

548 1 мар, 12:02 548 1357127

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

549 1 мар, 15:16 549 1357202

>>1356868
А каким образом тогда Qt предоставляет кроссплатформеность? Он для каждой системы хранит пак функций которые заменяют аналогичные для другой системы?

Ответы57206

550 1 мар, 15:19 550 1357206

>>1357202
Именно так, и никак иначе

Ответы57283

551 1 мар, 18:01 551 1357283

>>1357206
Нихуёвую там работу проделали. Спасибо за ответы

552 1 мар, 19:51 552 1357345

Кому не лень, объясните
почему
yoba=3;
cout<<yoba++ + ++yoba + ++yoba; будет 15
а не 11 если считать как даун
и не 14 если все же брать во внимание, что после сложение, посфексный инкримент перезаписывает yoba-y но откуда 15 то?

Ответы5735457392

14 Кб, 250x373
553 1 мар, 20:04 553 1357354

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

554 1 мар, 21:05 554 1357392

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

А все потому, что порядок вычисления в этом случае неопределен:
https://en.cppreference.com/w/cpp/language/eval_order#Undefined_behavior_2

Ответы57393

555 1 мар, 21:08 555 1357393

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

Ответы57402

556 1 мар, 21:18 556 1357402

>>1357393
https://habr.com/ru/post/216189/

Ответы57468

557 1 мар, 21:56 557 1357429

>>1344551
>Шоб друзьям не стыдно было показать
ваше место у параши -> https://2ch.hk/gd/res/550538.html (М)

558 1 мар, 22:03 558 1357433

Посоны! помохите тупому.
Не могу найти как в распределении бернулли поменять параметр распределения на живом объекте после конструктора. На цэпэпэ рефе нихуя нет. Функций у класса beroulli_distribution с гулькин хуй и ничего похожего не set я там не вижу. Мне нада соотношение рандомных булей поменять несколько раз в прожке.
Или из вариантов делать только временный объект с нужным параметром?

559 1 мар, 22:59 559 1357468

>>1357402
> 2014
> точки следования
кек. Их нет начиная с C++11.

Ответы57509

560 1 мар, 23:53 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];

Ответы5765757711

561 2 мар, 01:46 561 1357509

>>1357468
В статье об этом сказано.
Алсо, в 2014 и даже позже, были актуальны старые компиляторы с неполной поддержкой 11

562 2 мар, 12:02 562 1357655

Вообще есть разница как инициализировать все элименты структуры на 0. Например вот так:
STRUCTURA moyaStructura;
memset(&moyaStructura, 0, sizeof(STRUCTURA));

Или просто так:
STRUCTURA moyaStructura = {};

563 2 мар, 12:06 563 1357657

>>1357479
Насколько я знаю, в STL с отключением исключений всё довольно плохо. Но я вплотную этим не занимался, так что может что-то есть.

564 2 мар, 13:58 564 1357711

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

26 Кб, 878x482
565 3 мар, 00:24 565 1358025

Почему это происходит?

Ответы5802858032

566 3 мар, 00:30 566 1358028

>>1358025
Забыл сказать, что я имею в виду табуляцию в консоли, а не ошибку в коде для вывода.

567 3 мар, 00:36 567 1358032

>>1358025
Число больше размера табуляции - вот и колбасит. И, да, во втором цикле твоё j должно быть меньше количества столбцов, а не строк

31 Кб, 692x378
568 3 мар, 19:23 568 1358565

Чё ему надо?

Ответы58566

569 3 мар, 19:24 569 1358566

>>1358565
запятая вместо точки с запятой перед value

Ответы58569

403 Кб, 604x410
570 3 мар, 19:28 570 1358569

>>1358566

65 Кб, 1200x956
571 3 мар, 19:38 571 1358576

Блять хули Седжвик такой сложный?
Только начал читать, а там ёбаная математика и нихуя не подробно. Не то чтобы вообще ничего не понятно, но некоторые вещи не понятны. Как читать книгу где не всё понятно?

Ответы5860058601

572 3 мар, 20:32 572 1358600

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

Ответы58685

573 3 мар, 20:34 573 1358601

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

Ответы58685

574 3 мар, 20:53 574 1358614

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

Ответы5862758637

575 3 мар, 21:13 575 1358627

>>1358614
Перестать выебываться, перейти на винду и использовать визуал студио.

Ответы58681

576 3 мар, 21:25 576 1358637

>>1358614
1) Ты g++ собираешь?
2) Пути к либам прописаны?

577 3 мар, 21:52 577 1358657

Нюфажий вопрос:

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

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

Ответы58661

578 3 мар, 21:56 578 1358661

>>1358657
чтобы смочь где-то сделать статический массив, например

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

Ответы58698

579 3 мар, 22:19 579 1358681

>>1358627
пошел на хуй.

Ответы58733

580 3 мар, 22:29 580 1358685

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

>>1358601
>Это тебе не формочки на хтмл+цсс клепать. Учи математику или дропай книгу
>
Может есть что по алгоритмам, но с более подробным матаном? Полистал Кнута, там вроде бы матана побольше, но, судя по отзывам, в том числе в шапке, он не менее сложный да ещё не на плюсах

Ответы5869158692

581 3 мар, 22:35 581 1358691

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

582 3 мар, 22:35 582 1358692

>>1358685
Кнут не то чтобы сложный, его просто сложно читать. Что-то вроде справочника, сухой и точный язык. А по алгоритмам может аноны курсы какие посоветуют, я лично Седжвика осилил с базой 1 курса универа по тех. специальности. А точнее: что не знал - гуглил, и пытался найти разъяснение человеческим языком

87 Кб, 540x112
583 3 мар, 22:39 583 1358698

>>1358661
Спасибо, но я слишком тупой и ничего не понял. Впрочем, неважно.
Другой нюфажий вопрос:

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

Ответы5871758731

584 3 мар, 23:04 584 1358717

>>1358698
>Если я хочу перегрузить оператор для созданного мною класса, то я могу делать это как внутри класса в области "public", так и вообще снаружи класса, я всё верно понимаю?
Не все операторы можно перегружать снаружи класса, например как =, и не все можно перегрузить внутри класса, некоторые через friend функции, как >><<. Учти, что некоторые операторы нужно перегружать попарно.

Ответы58730

585 3 мар, 23:31 585 1358730

>>1358717
Спасибо, анончик.

Нагуглил вот такое:
template <typename T1> friend ostream& operator<< (ostream& out, const Matrix<T1>& m)
Объявление перегрузки собственно оператор вывода для шаблонной матрицы мне и нужно было перегрузить

586 3 мар, 23:31 586 1358731

>>1358698
По поводу статического массива. Размер класса равен сумме размеров его полей. Допустим у тебя есть класс, где ты строго определил массив 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)

Ответы58777

587 3 мар, 23:33 587 1358733

>>1358681
Сейчас бы в 2k19 для проекта использовать Visual Studio Solution

Ответы58738

588 3 мар, 23:47 588 1358738

>>1358733
Сейчас бы не использовать vs для всех проектов

Ответы58743

12 Кб, 236x248
589 4 мар, 00:08 589 1358743

>>1358738
Особенно когда продаешь ПО клиентам, среди которых 90% - Linux.

Ответы587545876658775

590 4 мар, 00:36 590 1358754

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

Ответы58838

591 4 мар, 01:56 591 1358766

>>1358743
Студия может собирать под любую платформу

Ответы58767

592 4 мар, 02:11 592 1358767

>>1358766
И код пишет сама.

593 4 мар, 03:25 593 1358775

>>1358743
> ПО под ЛИНУКС.
Проиграл с этого.

Ответы58842

594 4 мар, 03:59 594 1358777

>>1358731
Спасибо большое за подробное объяснение!
притворюсь что понял
Подскажите ещё, пожалуйста, а как мне создать функцию, которая будет принимать как аргумент произвольный итератор, а не итератор конкретного типа (то есть не итератор по вектору, по мэп'у, етц.)? Спасибо!

Перекат 595 4 мар, 07:38 595 1358811

>>1358809 (OP)
>>1358809 (OP)
>>1358809 (OP)
>>1358809 (OP)

596 4 мар, 09:33 596 1358838

>>1358754
Не обязательно красноглазить. Качаем Visual Studio Code и плагины для cmake и дебага. Но если у тебя в проекте еще какая нибудь CUDA, и прочая залупа которая требует дополнительного компилятора - приходиться ебашить.

597 4 мар, 09:41 597 1358842

>>1358775
Вот ты и спалился, первокурсник. Есть ПО не из раздела компьютерных игр, или всяких фотошопов, где как раз большая доля продаж - серверные версии под linux - Встроенные системы, сервисы с машинным зрением и всякие СУБД, за которые клиент отдает 7000$/шт. Вот и приходиться изъебываться с кросс-платформеностью.

Ответы58864

598 4 мар, 10:40 598 1358864

>>1358842
>за которые клиент отдает 7000$/шт
Высокая цена - признак небольших объемов продаж.

Ответы58896

599 4 мар, 11:29 599 1358896

>>1358864
Ты пойми - это не ПО, которое ставиться на комп для одного юзера аля фотошоп или игрулька. Гугли цены на корпоративные решения Oracle DB. У них, по твоему, небольшой объем продаж?

Ответы58902

600 4 мар, 11:45 600 1358902

>>1358896
Цена образуется не из крутизны софта, он может быть вообще бесплатным.
Микрософт, допустим, может себе позволить продавать винду/офис занедорого тупо за счет объемов продаж.

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

Вон, например, продукты Embarcadero тоже стоят по полтора ляма, и че?

27 Кб, 416x301
601 4 мар, 12:32 601 1358926

Плюсы, ХЭЛП ! Я блять уже заебался, хуй знает что не правильно. Вкратце ошибка при перегрузке оператора ввода вывода.
https://www.codepile.net/pile/7R798Ngk

Ответы58929

602 4 мар, 12:45 602 1358929

>>1358926
Отбой, понял я еблан, вместо ifstream нужно писать istream

89 Кб, 1610x922
603 4 мар, 17:50 603 1359067

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

Ответы59080

604 4 мар, 18:16 604 1359080

>>1359067
2017 студия установлена?

Ответы59197

605 4 мар, 20:45 605 1359197

>>1359080
Всё стоит, я уже скачал новую версию впрочем. Не ебу в чём ошибка была, в инете всё как-то размыто и советуют какие-то параметры добавить в pro файл, при том что он не менялся вообще.

Ответы59241

606 4 мар, 22:09 606 1359241

>>1359197
я бы посоветовал таки собираться либо собираться комплектным MinGW, либо полноценно ебашить в студии с qt плагином

607 4 мар, 22:34 607 1359255

Аноны, можно ли как-то сохранить данные обьекта map? Мне нужно внести данные пользователя, а после использовать их в другой момент времени? Это в файл пихать нужно, а потом считывать и заново создавать мапу?

Ответы59266

608 4 мар, 22:51 608 1359266

>>1359255
Нельзя. Надо писать сериализатор\десериализатор

Ответы59267

609 4 мар, 22:52 609 1359267

>>1359266
>сериализатор
Бля, впервые слышу не бейте. Много времени на написание уйдет?

Ответы59295

610 4 мар, 23:39 610 1359295

>>1359267
ну как бы, все, что ты можешь хранить в файле, это какие-то байты.

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

Если у тебя мапа самая простая, а-ля uint32,uint32, то вполне можно сделать хуйню типа, первые 4 байта - количество элементов, и дальшее читаешь по 8 байт, кастишь к числам, и в пустую мапу записываешь. Это все несложно, да и весьма хорошая задача для обучения.

611 5 мар, 02:00 611 1359359

Всё я заебался учить новые фишки языка и нигде их не юзать, пока начну учить Qt, чтобы хоть там их юзать в будущем

612 16 мар, 03:25 612 1365200

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

Ответы65214

613 16 мар, 05:40 613 1365214

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

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

Тред утонул или удален.
Это копия, сохраненная 30 марта 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion