Сохранен 1359
https://2ch.hk/pr/res/2297529.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

С++ thread #133 /cpp/

 Аноним OP 15/02/22 Втр 03:49:24 #1 №2297529 
image.png
image.png
Вместо шапки:
https://github.com/sosachbot/cppthreadhat/wiki
⚹ Для кусков кода: https://0bin.net/

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

Для указателей:

Прошлый тред: >>2225172 (OP)
Аноним OP 15/02/22 Втр 03:51:58 #2 №2297531 
image.png
Аноним 15/02/22 Втр 04:47:44 #3 №2297539 
>>2297529 (OP)
>Для указателей: ⚹
Вот это было мощно.
Аноним 15/02/22 Втр 04:54:46 #4 №2297540 
Век живи - век учись.

Недавние аблюдения:
Под Windows в консоле вывод в stderr более чем в 10 раз медленнее, чем в stdout, если перенаправить поток вывода в файл. Но это не точно.

Функция ExitThread может вас удивить и обескуражить. Если вы создавали на стеке объект, а в конце вызвали ExitThread, то деструктор объекта не вызывается. Т.е. если вы были уверены что деструктор сработает, когда объект теряет область видимости, то в случае ExitThread этого не произойдёт.

Охуенно, да?




Аноним 15/02/22 Втр 08:09:33 #5 №2297570 
>>2297540
>stderr
Вероятно он флашит после каждой записи.

>Если вы создавали на стеке объект, а в конце вызвали ExitThread, то деструктор объекта не вызывается.

Если выдернуть компьютер из розетки, то деструктор тоже не вызывается.
Аноним 15/02/22 Втр 10:40:05 #6 №2297626 
>>2249142 →
Никогда
Аноним 15/02/22 Втр 11:09:28 #7 №2297650 
>>2297531

Вне гуя и игор классы говно без задач.
Аноним 15/02/22 Втр 12:38:57 #8 №2297730 
>>2297650
Борщехлёб, спок.
Аноним 15/02/22 Втр 13:30:57 #9 №2297796 
peka-classic.jpg
>>2297730

> hello world с наследованием, конструкторами и деструкторами
Аноним 15/02/22 Втр 13:34:22 #10 №2297801 
>>2297730

> Борщехлёб

говноед-на-зарплате спок
Аноним 15/02/22 Втр 13:34:56 #11 №2297803 
>>2297796
>std::cout
>нет объектов, я скозал!!!
Аноним 15/02/22 Втр 13:41:34 #12 №2297813 
>>2297803

printf/puts никто не запрещал, а

> std::cout << "хуйпизда" << std:endl

это самое всратое, уродливое и дебильное, что только можно было придумать. Кстати тоже из той же серии "запихни с ноги в классы то, что по здравому смыслу функция".
Аноним 15/02/22 Втр 13:41:40 #13 №2297814 
>>2297803
Это шаблоны из STL. Это не объекты
Аноним 15/02/22 Втр 13:42:18 #14 №2297815 
>>2297814

Ну, интерфейс к ним тот же самый, просто не надо ненужный объект высирать.
Аноним 15/02/22 Втр 13:42:57 #15 №2297817 
>>2297814
std::cout - это объект. Нет шаблонов объектов.
Аноним 15/02/22 Втр 13:43:54 #16 №2297818 
>>2297817

Когда юзаешь метод из класса без создания объекта этого класса это как-то иначе называется. Статический метод, что-ли.
Аноним 15/02/22 Втр 13:46:17 #17 №2297819 
>>2297813
>printf/puts
В С проследуйте, сеньор-быдлокодер.
Аноним 15/02/22 Втр 13:47:37 #18 №2297820 
>>2297818
То, что ты не создавал этот объект сам, не делает его не-объектом. Это обычный объект, у которого ты вызываешь нестатический метод operator<<()
Аноним 15/02/22 Втр 13:48:52 #19 №2297822 
>>2297819

Строки и векторА же, увы и ах. Впрочем, процедурные кресты вроде бы ещё законны. Золотая середина.
Аноним 15/02/22 Втр 13:50:23 #20 №2297827 
>>2297820

Одна история охуительнее другой. Вот тут-то объект зачем? Я просто функцию дёргаю. Мне не надо 100500 разных выводов в один и тот же stdout.
Аноним 15/02/22 Втр 13:57:05 #21 №2297833 
И вот зачем перекатывали? Опять дебилов полный тред.
Аноним 15/02/22 Втр 13:58:11 #22 №2297835 
>>2297827
Ты не просто функцию дёргаешь.
У всего ввода-вывода одинаковый интерфейс стримов, с которыми можно работать вне зависимости от того, куда реально происходит вывод, а уже внутри объекта конкретный дескриптор. Этот объект потом можно передать в другие функции, которым без разницы, куда выводятся данные, в консоль, файл или вообще по сети отрправляются, они будут юзать объект с одним и тем же интерфейсом.
Смысл что-то объяснять борщехлёбам? Они до последнего будут стоять на своём во имя Даннинга-Крюгера
Аноним 15/02/22 Втр 13:58:46 #23 №2297836 
>>2297833
Ну не все же сраться C/C++ vs Rust vs Go
Аноним 15/02/22 Втр 14:00:41 #24 №2297839 
C++ лучше раста и шарпа, а Go вообще нахуй идёт.
Аноним 15/02/22 Втр 14:04:56 #25 №2297845 
>>2297835
Соглы
Аноним 15/02/22 Втр 14:05:56 #26 №2297847 
>>2297819
Ты на printf свой анус-то не раскрывай. Это гениальная функция, которая смотрится гармонично абсолютно везде. И ассебмлерный код с её использование всяко красивее кода, генерируемого <<.

За puts такого не скажу - уж больно она проста и примитивна. Нет в ней изюминки.

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

Аноним 15/02/22 Втр 14:14:20 #27 №2297860 
>>2297847
Нет, такие как ты - которые используют инструмент через жопу (ибо даже инструкцию прочесть не осилили), а потом у них это нинужна, это лишнее, это говно и тд
Аноним 15/02/22 Втр 14:15:01 #28 №2297862 
>>2297847
В printf происходит ненужное копирование, а ещё нужно указывать типы переменных - это пережиток из C. В https://fmt.dev, который уже скоро будет std::format всё реализовано куда лучше. std::cout с отключенной синхронизацией с сишным вводом-выводом быстрее printf в среднем в полтора раза. И сейчас бы оценивать красоту ассемблерного кода, лул
Аноним 15/02/22 Втр 14:16:33 #29 №2297866 
А ещё через printf легко получить UB, если проебаться с типами.
Аноним 15/02/22 Втр 14:18:23 #30 №2297869 
>>2297847

Два чая адеквату
Аноним 15/02/22 Втр 14:18:43 #31 №2297871 
>>2297862
>>2297862
>В printf происходит ненужное копирование
Где?

Чем ты заменишь snprintf?

А уж вот такая хуйня << std::hex << blabla << std::dec << std::endl просто вымораживает.
Аноним 15/02/22 Втр 14:22:43 #32 №2297880 
>>2297860

> это нинужна, это лишнее, это говно

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

Ну давай признаем, в крестах "по умолчанию" во многих местах чудовищно избыточный синтаксис. Машина могла бы понять всё абсолютно то же самое без такого количества мусорного кода. Объекты вбиваются с ноги просто как религия какая-то, где в них никакого смысла.
Аноним 15/02/22 Втр 14:26:54 #33 №2297892 
image.png
Аноним 15/02/22 Втр 14:26:57 #34 №2297893 
>>2297871

this

а вот это

> std::endl

вообще воплощение анекдота про хеллоу-ворлд на крестах. Просто блядь два символа "\n" в класс запихнуть это уже даже не шиза, это рак мозга под наркотиками.
Аноним 15/02/22 Втр 14:32:07 #35 №2297908 
>>2297892
Это фейк, там пхп, а не раст.
Аноним 15/02/22 Втр 14:33:33 #36 №2297912 
>>2297893
Нихуя это не два символа. Это
иф (винда)
одно()
илсиф (лялех)
другое()
Аноним 15/02/22 Втр 14:33:50 #37 №2297914 
>>2297908
>>2297772 →
Аноним 15/02/22 Втр 14:37:38 #38 №2297921 
>>2297912
ифдеф, тогда уж
А вообще толстый тред. мимопроходил
Аноним 15/02/22 Втр 14:39:31 #39 №2297924 
>>2297912

В пердоликсе заменил эндл на "\n" - схавало. printf в винде "\n" и так хавает корректно, прекрасно помню. Что там менять-то нужно?

И про переносимость крестов лучше не надо, всё равно любой мало-мальски код для переносимости надо обмазывать миллионом ифов. Разумеется, пока пишешь под голую соснольку. С гуём проще две софтины написать под две платформы или застрелиться.
Аноним 15/02/22 Втр 14:43:14 #40 №2297929 
>>2297921
>А вообще толстый тред
ОП-треда сидит на фряхе. Это достаточно толсто?
Аноним 15/02/22 Втр 14:49:53 #41 №2297937 
>>2297801
Получать деньги за свои скиллы нынче зашквар у дебилов
Аноним 15/02/22 Втр 14:54:25 #42 №2297942 
>>2297929
Толстота не в опе, а в самом треде.
Пишу сервисы для коллпроцессинга под линукс
Аноним 15/02/22 Втр 14:55:06 #43 №2297944 
>>2297937

На куче других языков получают больше или сравнимо. Впрочем, те языки тоже говно. Кресты прикольные, пока пишешь по сути на ссы-с-удобствами
Аноним 15/02/22 Втр 15:01:34 #44 №2297952 
Зачем мы сремся по хуйне? Давайте лучше обсудим почему индустрия языков и компиляторов застряла в 70-90х годах и почему все языки ЯП говно. За наш век не появилось ничего нового, ни одной новой философии и течения. Все пердит и свистит на наработках древних.
Аноним 15/02/22 Втр 15:07:25 #45 №2297954 
>>2297952
> почему индустрия языков и компиляторов застряла в 70-90х годах
> За наш век не появилось ничего нового, ни одной новой философии и течения. Все пердит и свистит на наработках древних.
Потому что этот фундамент идеален и продуман на сто лет вперёд. Проблема в говнореализациях. Каждый раз, когда пилят новое, что-то упрощают или не учитывают, потом это начинает вызывать проблемы, для решения которых впиливают ad hoc костыли, а потом поздно что-то переделывать из-за легаси.
Аноним 15/02/22 Втр 15:14:14 #46 №2297961 
>>2297871
>Где?
Задумайся. Оно составляет строку, которую нужно вывести, из строки формата и вараргов в рантайме, а потом уже копирует её в буфер
>Чем ты заменишь snprintf?
sprintf и snprintf заменю на format_to и format_to_n

>>2297893
>>std::endl
>вообще воплощение анекдота про хеллоу-ворлд на крестах. Просто блядь два символа "\n" в класс запихнуть это уже даже не шиза, это рак мозга под наркотиками.
std::endl просто неудачно назван. Почитай документацию, там как раз рекомендуется использовать '\n' вместо std::endl почти во всех случаях. Потому что std::endl (о ужас) ещё и флашит буфер.

>>2297952
Никому это не нужно, блин. Common lisp как был в 90е самым продвинутым языком, так и по сей день и остался.
Аноним 15/02/22 Втр 15:22:18 #47 №2297975 
>>2297961
>Оно составляет строку, которую нужно вывести, из строки формата и вараргов в рантайме, а потом уже копирует её в буфер

Я не уверен в этом. Надо смотреть реализацию. Не вижу ни одной причины, зачем нужно дополнительное копирование.

>sprintf и snprintf заменю на format_to и format_to_n
Хмм.
C++20 is a version of the ISO/IEC 14882 standard for the C++ programming language. C++20 replaced the prior version of the C++ standard, called C++17. The standard was technically finalized by WG21 at the meeting in Prague in February 2020, approved on 4 September 2020, and published in December 2020.
Аноним 15/02/22 Втр 15:27:35 #48 №2297983 
>>2297952

Неговно есть, но там тормозной интерпретатор. Потому что зачем сложный компилятор писать, если и так для практических задач современные компы будут эту хуету ворочать с приемлемой скоростью?
Аноним 15/02/22 Втр 15:28:43 #49 №2297987 
>>2297983
Не будут.
Аноним 15/02/22 Втр 15:32:23 #50 №2297995 
>>2297983
>Неговно есть,
???
Аноним 15/02/22 Втр 15:36:06 #51 №2297999 
>>2297995
INB4: петухон, жопаскрипт
Аноним 15/02/22 Втр 15:37:39 #52 №2298001 
>>2297999
Тоже так думаю, лол.
Ну либо хаскель какой нибудь.
Аноним 15/02/22 Втр 16:00:00 #53 №2298028 
>>2297975
>Я не уверен в этом. Надо смотреть реализацию. Не вижу ни одной причины, зачем нужно дополнительное копирование.
Да, возможно я ошибаюсь. Надо смотреть
>>sprintf и snprintf заменю на format_to и format_to_n
>Хмм.
Отсюда, пока https://fmt.dev/
Аноним 15/02/22 Втр 17:06:21 #54 №2298128 
>>2297995

Рубин хотя бы. Близкая к идеальной реализация ООП для людей, няшный синтаксис, настоящий VHLL. Но тормозной как пиздец. А прикинь оно нормально компилироваться будет и на нём, допустим, можно будет писать полноценно игоры. Кто после этого будет ебаться с крестами?
Аноним 15/02/22 Втр 19:41:49 #55 №2298314 
>>2297540
>Под Windows в консоле вывод в stderr более чем в 10 раз медленнее, чем в stdout, если перенаправить поток вывода в файл. Но это не точно.
ну это и естественно, потому что буфер должен быть скинут в первом случае, потому что вообще то это поток ошибок
понимаешь?
все логично
Аноним 15/02/22 Втр 19:43:16 #56 №2298316 
>>2297847
самое плохое в с++ это то что это эзотерический вымирающий язык на котором не найти работы
Аноним 15/02/22 Втр 19:53:29 #57 №2298326 
>>2297839
Факт. База.
Аноним 15/02/22 Втр 20:17:46 #58 №2298344 
Какой пет проект мне заебенить чтобы быстро найти хорошую работу с хорошей зп?
Аноним 15/02/22 Втр 20:23:54 #59 №2298348 
>>2298344
Блог на вордпрессе.
Аноним 15/02/22 Втр 20:36:09 #60 №2298361 
>>2298348
Ты хотел сказать вордпресс с нуля?
Аноним 15/02/22 Втр 20:51:52 #61 №2298377 
>>2298361
Зачем, если вордпресс уже написан?
Аноним 15/02/22 Втр 20:59:45 #62 №2298383 
>>2298377
Как и миллионы блогов на нём?
Аноним 15/02/22 Втр 21:12:18 #63 №2298393 
>>2298383
Да.
Аноним 15/02/22 Втр 21:22:53 #64 №2298401 
Какие подводные писать так?
int main(const int argc, const char⚹ argv[])
Аноним 16/02/22 Срд 00:23:19 #65 №2298554 
Я правильно помню что при записи в файл std::endl не нужен ибо всё флашится при закрытии стрима?
Аноним 16/02/22 Срд 01:11:45 #66 №2298566 
>>2298554
Если тебе надо, чтобы в конце файла был перевод строки, то нужен, иначе не нужен. Флаш здесь не при чём.
Аноним 16/02/22 Срд 01:53:59 #67 №2298578 
Go, c++ или rust?
Развёрнуто и с комментариями
Аноним 16/02/22 Срд 01:55:27 #68 №2298579 
>>2298578
По задачам.
Аноним 16/02/22 Срд 01:56:46 #69 №2298580 
>>2298579
Какой ты скучный
Аноним 16/02/22 Срд 02:25:38 #70 №2298582 
>>2298316
Приколы какие-то, быстро находится всё
Аноним 16/02/22 Срд 02:26:23 #71 №2298583 
>>2298401
>const int argc
Не несёт смысла в декларации никогда
Аноним 16/02/22 Срд 02:31:56 #72 №2298585 
>>2298401
> const char⚹ argv[]
Не удивлюсь, если это какое-нибудь UB ебаное.
Аноним 16/02/22 Срд 07:08:24 #73 №2298610 
>>2298585
Нет, просто очередной нескучный синтаксис вроде 7["mamku ebal"]
Аноним 16/02/22 Срд 09:42:43 #74 №2298633 
>>2298583
>>2298585
Джейсон Тёрнер завещал юзать const вообще везде где это только возможно.
Аноним 16/02/22 Срд 09:45:36 #75 №2298634 
>>2298583
Так компилятор же сможет тогда по рукам ударить, если попытается значение его поменять
Аноним 16/02/22 Срд 10:03:53 #76 №2298641 
>>2298585

Всё равно всё схлопнется до указателей. Хоть char argv пиши, всё равно это внутри массив из массивов char. Это всё украшательства и хеллоуворлдщина.
Аноним 16/02/22 Срд 10:27:21 #77 №2298653 
>>2298633
Да и не только он.
Аноним 16/02/22 Срд 14:13:41 #78 №2298834 
Вот я разделяю логику по классам, вся хуйня. А как ей пользоваться лучше? Ну т.е. статику юзать норм там, где не нужны конструкторы/инстансы/поля? Какие тут бест практисы?
Аноним 16/02/22 Срд 14:26:46 #79 №2298848 
>>2298834

За вот этот "ООП ради ООП" я бы вешал за яйца. Это худшее явление в кодинге за всю историю.

Никогда не делай классы там, где тебе нужны обычные плоские процедуры. Вообще их никогда не делай там, где алгоритм вот прям очевидно их не "просит" - гуй, логика игр, какие-то сильно структурированные данные однотипные... Можно конечно запилить класс просто как коллекцию своих наработок, но это откровенное украшательство и перфекционизм.
Аноним 16/02/22 Срд 14:30:06 #80 №2298851 
>>2298848
Если мне нужно будет ФП то я пойду и напишу говнокод на тайпскрипте. Дай хотя бы несколько объективныхминусов того, чтобы писать всё в виде классов.
Аноним 16/02/22 Срд 14:38:39 #81 №2298860 
>>2298851
ведь кроме как "все на фп" и "все на ооп" ничего нет
мимо
Аноним 16/02/22 Срд 14:43:11 #82 №2298868 
>>2298860
Ну да, можно ещё всё в мейне высирать, городить неймспейсы
или если уж совсем жить скучно

#define r(R) R"()"
/[/#include //<stdio.h>
#include<math.h>/!![crc=0f527cd2]/
float I,bu,k,i,F,u,U,K,O;char o[5200];int
#define R(U) (sizeof('U')==1||sizeof(U"1"[0])==1)
h=0,t=-1,m=80,n=26,d,g,p=0,q=0,v=0,y=112,x=40; float
N(float/x/_){g=1<<30;d=-~d1103515245&--g;return d_
/g;}void/
/w(int//_){if(t<0){for(g=0;g<5200;o[g++ ]=
0);for(;g;o[g+79]=10)g-=80;for(t=37;g<62;o[80+g++]=32) ;
}if(m&&o[h80+m-1]==10){for(g=0;g<79;o[t80+g++]=0){}o[t
++80+g]=10;t%=64;n+=2;I=N(70)+5;if(n>30&&(I-x)(I-x)+n
n>1600&&R()){O=0;F=(x=0x1!=sizeof(' '))?k=1+N(2),i=12-k+N(
8),N(4):(k=17+N(5),i=0,r()[0]?O=.1: 0);for(u=U=-.05;u<32;
U=k+i+i
.5sin((u+=.05)+F))for( K=0 ;K< U;K+=.1)if((bu=K
sin(u/5),g=I+cos( u/5) K)>=0&&g < 79 )o[g+(int)(t+44+
bu
(.5-(bu>0?3O: O) ) )%64 80 ] =32;x=02// /2
-1;n=O+x?n=I+(x?0 :N (k)- k /2),g=(t+42 )%
64,m=-~g%64,x?g=m =-~ m%64:0 ,n>5?o[g
80 +
n-3]=o[m80+n-3]= 0: 0 ,n <75?o[g80+n
+2]=o[m80+n+2]=0 :0:0; x=I;}h=-~h%64
;m=0;}putchar((g=o [h
80+m++])?g:_);
if(g){w(_);}}void W (const char_
){for(;
_;w(_++));} int main(int a
,char
_){while(a--)d +=_[a ]-(char)0;W( \
"#include<stdio.h>typed" "e" "f\40int\40O;v"
"oid o(O _){putchar(_);}O" "\40main(){O" ""
"_[512],p=_,d,b,q;for(b=0;b" "++<512;p=_+q)_[q" \
"=(p-_+1)
9%512]=(O)p;") ; for(;(g= getchar())-EOF;p=
q){q=p;for(v=512;p-q-g&&q-p- g; v--)q=-~q9%512
;W("o(");if(p>q)w(y),w(45);w( 40);w(y^=20
);w(075);for(a=0;a<v;a++)w(42); for(W("(O"
);a--;w(42)){}w(41);w(y^024);w( 41);if(p<=q)w(
45),w(y^20);W(");");}for(a=7;a-6 ;W(a<6?"{;}":""
))for(a =0;a <6 && !o[h80+m +a];a++){}W("r"
"etu" /J / "rn+0;}\n" );return
/ "#*/0 ;}

Ну давай, съешь ещё этих мягких указателей
Аноним 16/02/22 Срд 14:43:42 #83 №2298870 
>>2298868
Ай, да похуй, на что я рассчитывал.
Аноним 16/02/22 Срд 14:51:50 #84 №2298883 
>>2298870
Цистерну звёздочек тебе
★☆✪✵✯٭✭✰⚝⚹❉❋✺✹✸✶✷✵✲✱✧✦⍟⊛⁕﹡❃❂✼✻⍣≛✫
Аноним 16/02/22 Срд 14:57:12 #85 №2298893 
>>2298883
Да в пизду, за этой помойкой я ещё косяки не правил.
Аноним 16/02/22 Срд 15:14:48 #86 №2298918 
>>2298868
Это исходный код ядра линукса?
Аноним 16/02/22 Срд 15:30:45 #87 №2298929 
.png
>>2298918
Вангую IOCCC
Аноним 16/02/22 Срд 15:40:30 #88 №2298936 
Добренького, Аноны. Есть ли возможность получить потребление энергии компьютером на данный момент программным способом?
Аноним 16/02/22 Срд 15:41:39 #89 №2298938 
Может в апишке системы можно фунцию какую дёрнуть?
Аноним 16/02/22 Срд 15:43:27 #90 №2298939 
>>2298851

Мегабайты мусорного кода - объявления и инициализации занимают больше места, чем сам алгоритм. Усложнение себе же очевидных простых вещей. Сильно больше печатать, хуже читаемость. У си-подобных синтаксис и так не айс, а этим ты его ухудшишь ещё сильнее. По скорости разницы нет, классы как таковые "ничего не жрут".
Аноним 16/02/22 Срд 16:06:17 #91 №2298951 
>>2298939
У меня в ноде тоже тоже мегабайты мусорного кода, но кабан мне за это неплохо так платит и не жалуется. И это явно не повод отказываться от основной концепции языка и хуярить НЁХ с тоннами не связанных между собой функций, auto и прочим пиздецом.
Аноним 16/02/22 Срд 16:38:16 #92 №2298982 
>>2298634
В этом примере - да.
В declaration отделённой от definition - top level const не имеет эффекта
Аноним 16/02/22 Срд 17:26:52 #93 №2299036 
>>2298936
Обычно дергается инфа с датчиков. Потом на основе них высчитывается примерная нагрузка на систему. Под винду, под линукс так. Под мобильные платформы проще, так как там есть готовые апи для вычисления энергопотребления. Если речь идет о некоей промышленной установке, то возможно забрать инфу напрямую с ибп либо спец контроллера прямо на кабеле, тогда будет не приблизительная оценка, а точная.
Аноним 16/02/22 Срд 17:39:12 #94 №2299054 
>>2298851
фп в крестах нужен был для метапрограммирования в 98 стандарте, потому что иначе и не сделать было, ну а метапрограммирование нужно было для кодогенерации собственно, хотя все равно на практике чаще всего использовали препроцессирование, комбинировали встроенный препроцессор с внешней кодогенерацией на скриптовых языках
в новых стандартах фп для метапрограммирования не нужен, потому что в язык добавлены средства для императивного программирования (циклы, условные конструкции, константы) в компайл-тайм
так же говорят что правильное программирование с использованием stl предполагает функциональный подход, но это не совсем так, речь скорее идет о принципе функциональной композиции, но с оговорками, проще говорить что правильное программирование на stl - это использование композиционного подхода, хотя опять же в новых стандартах добавили лямбды и прочие штуки, которые сделали ненужным bind и все семейство родственных ему функций, с учетом того что лямбды в крестах всего лишь синтаксический сахар, это сделало современное программирование на stl опять же императивным во многом
по итогу фп в современном с++ не нужен
фп это удел энтузиастов что хотят развлекаться ретро-программированием на крестах стандарта 98 года, занимаясь метапрограммированием на компайл тайм либо используя приемы фукнциональной композиции используя stl

Аноним 16/02/22 Срд 17:41:03 #95 №2299056 
>>2299054
хотя и конце 90х начале нулевых почти никто из практикующих программистов этим не занимался, кроме нескольких придурков вроде меня
Аноним 16/02/22 Срд 17:45:54 #96 №2299061 
>>2299054
/0
Аноним 16/02/22 Срд 17:49:06 #97 №2299065 
>>2299061
сумбурно написал, но мне похуй
кто знает тот и так знает
а кто не знает тот считает это бредом
Аноним 16/02/22 Срд 18:13:17 #98 №2299092 
При вставке в мапу указатели на старые элементы могут измениться?
Аноним 16/02/22 Срд 18:14:58 #99 №2299094 
>>2297529 (OP)
Я объявляю класс A и класс B. У них есть такие методы: A::Example(B bvar); и B::Example(A avar); Когда A объявлен до объявления B, то ошибка что B ещё не объявлен, когда сначала B объявляю, то ругается уже что A не объявлен.
Что с этим можно сделать?
Аноним 16/02/22 Срд 18:19:25 #100 №2299103 
image.png
Да, сука! Спустя 10 тысяч лет.
Аноним 16/02/22 Срд 18:51:19 #101 №2299141 
>>2299094
https://en.cppreference.com/w/cpp/language/class
Аноним 16/02/22 Срд 19:06:54 #102 №2299162 
Вот скачал я cereal https://github.com/USCiLab/cereal/blob/master/include/cereal/cereal.hpp Пробую инклудить хедер - и нихуя не билдится. Почему? Потому что эта хуета ссылается на инклуды других хедеров из ещё одной папки cereal которой в исходнике же нет. Что за хуйня и что с этим делать?
Аноним 16/02/22 Срд 19:10:22 #103 №2299165 
>>2299141
А как такое провернуть со структурами?
Когда я пишу например struct vec; а потом описываю его позже, то ругается на переопределение
Аноним 16/02/22 Срд 19:35:16 #104 №2299189 
>>2299162
Ты скачал один файл cereal.hpp или всю папку include? Я только что скачал папку, положил рядом исходник, собрал через g++ -Iinclude sample.cpp -o sample, всё работает.
Аноним 16/02/22 Срд 19:48:32 #105 №2299203 
>>2299165
В крестах структура это тот же класс, не должно быть проблем.
Аноним 16/02/22 Срд 19:50:33 #106 №2299205 
>>2299094
И кстати вот в такие методы надо передавать указатели или ссылки, т.к. при форвард декларации не известен размер объекта, в отличие от указателя на него.
Аноним 16/02/22 Срд 20:47:29 #107 №2299276 
Какого типа лучше делать аргумент у функции, если скорее всего туда будет передаваться строка (string или c-string). Мувать всегда?
Аноним 16/02/22 Срд 20:53:00 #108 №2299281 
Я правильно понимаю, const у const type&& играет роль ту же, что и const &?
Аноним 16/02/22 Срд 21:12:47 #109 №2299303 
>>2299276
string& если нужно изменять передаваемую строку
const string& если надо работать со строкой которую функция или метод не должен менять
string если нужна копия строки в функции или методе
string&& если нужно передать собственно владение (но по сути это частный случай, способ оптимизации)
это не рассматривая темплейтов функций или методов и не рассматривая универсальных ссылок
"как лучше" зависит от того что тебе собственно надо.. нет универсального ответа "как лучше", зависит от ситуации
Аноним 16/02/22 Срд 21:17:21 #110 №2299310 
>>2299303
ах, да, еще ведь есть альтернативы
возможно тебе нужно работать не со строками, а с потоками ввода-вывода, зачастую в коде встречаю эту проблему, когда с точки зрения красивого дизайна лучше передать буфер, а не строку
ну или, к примеру, в новом стандарте теперь есть замечательный std::string_view, его тоже не стоит игнорировать, прекрасное дополнение в библиотеку языка
Аноним 16/02/22 Срд 21:19:53 #111 №2299312 
>>2299310
а, вот еще вспомнил
зачастую строкой туда-сюда гоняют то что по сути в коде является отдельной сущьностью, и в принципе, раз кресты ооп язык должны бы быть завернуты в класс
простейший пример - когда некий строковый идентификатор чего-либо в коде гоняют обычной строкой, когда вообще то нужно создать было класс идентификатора
Аноним 16/02/22 Срд 21:32:34 #112 №2299324 
Еще вопрос. Функция принимает ссылку на string. Когда я вызову ее, указав аргумент std::string(""), то этот временный объект помрет после вызова функции или сразу после передачи ссылки в функцию?
Аноним 16/02/22 Срд 21:55:47 #113 №2299348 
>>2299324
на самом деле интересный вопрос, на который, к примеру лично я не смогу слету ответить, тут нужны более опытные люди
можно предположить, что момент уничтожения временного объекта определяется реализацией конкретного компилятора, и стандартом неопределен
хотя для конкретного компилятора всегда можно проверить, написав небольшой проверочный код, добавив в тестовый класс логирование в деструктор, ну либо брекпойнт
Аноним 16/02/22 Срд 21:57:41 #114 №2299349 
>>2299348
Вроде бы ссылка продлевает время жизни, но я решил на всякий случай уточнить. Если я не ошибаюсь, то объект удалится когда функция завершится.
Аноним 16/02/22 Срд 22:32:34 #115 №2299370 
>>2298951

С таким подходом имхо выгоднее гей-проститутом работать, чем кодить. Ну или всякий кринж на камеру творить типа поедания говна.
Аноним 16/02/22 Срд 23:40:18 #116 №2299420 
сап, стоит ли вкатываться? сколько нужно учить до джуна, сильно ли нужна матеша, нужна ли вышка?
Аноним 17/02/22 Чтв 00:05:04 #117 №2299453 
>>2298316
Ты просто не в курсе что за бугром творится на рынке айти. С++ разрабы получают в среднем в полтора раза выше веб-макак. Спрос бешеный, а вот предложение не очень, ибо большинство нормисов имеют IQ < 100 и пытаются вкатиться в веб-говно толпами, что и порождает увеличение зарплат вне "горячих" секторов. Америка, почти вся западная Европа, Израиль - там очень востребованы байтослесари из-за огромного количетва компаний, которым нужны разрабы встроенных систем, разный там хайлоуд в финтехе, автономные машины и т.п.
мимо анон из забугра, получающий 150 тыс. $ в год за "мертвый" язык, не будучи даже синьором
Аноним 17/02/22 Чтв 00:50:00 #118 №2299500 
>>2299453
и где же анон из-за бугра работает? Я про специальность. На страну похуй
Аноним 17/02/22 Чтв 03:33:30 #119 №2299534 
>>2299500
Пишу софт для автономных машин. Помимо всяких мелочей, основной проект на данный момент - кастомная RTOS, написанная полностью на плюсах, в данный момент насчитывающая 2 миллиона LoC ясень пень пишу её не в одиночку
Аноним 17/02/22 Чтв 04:16:55 #120 №2299536 
>>2299534
О, анонас, ты мне и нужен.
Как вкатывался, что изучал, как докатился до такого?
Я пока что студент старших курсов и мне интересна системная разработка, а в частности языки и компиляторы. Но если быть реалистом, то по такому направлению без PhD работу найти почти невозможно, поэтому придется заниматься чем-то другим я и не против. Во что из системной разработки можно вкатиться, чтобы найти работу и хотя бы хуй без соли не доедать? Какую литературу почитать(Кирпичи Танненбаума и Праты уже прочитал)?
Аноним 17/02/22 Чтв 06:49:50 #121 №2299553 
>>2299092
Разберись с указателями. При вставке в мапу сам указатель копируется по значению, а вот то на что они (уже оба указывают) остаётся одно.
Аноним 17/02/22 Чтв 10:16:23 #122 №2299617 
Бля, я что-то совсем поплыл. Объясните в чём разница между всеми этими вариантами?
https://stackoverflow.com/a/12248783
Аноним 17/02/22 Чтв 12:18:08 #123 №2299726 
>>2299092
В обычную не могут, в unordered может случиться рехэш и итераторы инвалидируются (указатели тоже).
Аноним 17/02/22 Чтв 14:07:52 #124 №2299858 
>>2299617
Там же все написано. Правда ответ не совсем верный, 3 и 4 не скомпилируются с флагами по умолчанию, и в 4 будет копиэлизия, вызовется только обычный конструктор.
Аноним 17/02/22 Чтв 14:12:09 #125 №2299865 
>>2299726
>итераторы инвалидируются (указатели тоже).
Итераторы да, указатели на элементы - нет.
Аноним 17/02/22 Чтв 14:38:14 #126 №2299904 
>>2299858
Так, ну допустим я немного раскурился. А в чём разница создавать инстанс на куче или стеке кроме того что во втором случае не нужно его явно удалять?
Аноним 17/02/22 Чтв 15:11:49 #127 №2299949 
Как малой кровью найти путь к конкретной директории лежащей в текущей или директориях на n уровней выше? Сейчас реализация такая, что я инициирую directory_iterator как "./" и проверяю на соответствие, если его нет - то добавляю к пути "../" и бегу снова. В целом это работает но можно ли проще и чище?
Аноним 17/02/22 Чтв 16:25:05 #128 №2300022 
А где Qt тред? Господа я в корне не понимаю как создать свое собственное событие в Qt, все видео и все статьи в интернете меня только лишь запутали. Есть книжка Макса Шлее, но там очень мало написано про создание собственных event'ов, в корне не понял, зачем нужно event(), как работает фильтр событий. Кто то может подсказать хорошую статью или сам расскажет.
Аноним 17/02/22 Чтв 16:31:04 #129 №2300031 
>>2299420
Если хочешь денег быстро - учи JS и Vue/React или Java, или C# и .NET.
Вакансий на С++ меньше, но они есть и никуда не пропадут. В Америке, Западной Европе работы больше, чем в СНГ - но там нужен английский.
Вообще, смотри хедхантер и сравнивай вакансии по регионам.

>>матеша
Матеша лишней не будет.

>>вышка
На айтишных специальностях(Прикладная информатика, информатика и вычислительные сети и тд.) учат плюсы с первого семестра в течение двух лет.
За эти два года студенты проходят весь базовый курс по плюсам. Это синтаксис, алгоритмы(могут быть на паскале, но не суть), ООП, STL. Далеко в ядро не залезают, но для джуна инфы достаточно. Например лекции в МФТИ : https://youtube.com/playlist?list=PLmSYEYYGhnBu1fFtnzKx-pycYbJnb0rOl

Качество преподавания и усвоение тем зависит от университета и студентов. В региональных вузах, где проходной балл низкий - результат обучения не очень хороший. В топ вузах(МФТИ, МГУ, СПБГУ и тд ) дела обстоят по другому.

Пишу по своей группе. Почти все списывали лабы.
Кто списывал - ничего не изучили. Кто учил - к последнему курсу всё позабыли.
Причины этому: в первом случае - отсутствие обучения, во втором нагрузка учебного плана(помимо плюсов было много других предметов, например матан, история, информатика, базы данных, веб программирование и тд.)
В итоге их всех в группе, плюсами интересуюсь только я, а нас 20 человек. Один из группы работает на JS и Vue. Из всего потока всего несколько человек работает в IT, их можно по пальцам пересчитать.

Но вуз не будет лишним. Особенно при поиске работы за границей. Только вопрос себе задай, надо ли тебе на это обменять 4 года, со всеми вытекающими.
Аноним 17/02/22 Чтв 16:39:05 #130 №2300038 
Вот прошёл я Страуструпа, ответственно повторял, сам писал код. Подкрепил всё ravesli + 3 поясами с курсейры. Ещё немного со стандартами ознакомился, правда совсем немного. Стоит ли сейчас почитать/поучить что-нибудь ещё или нет? Вообще сейчас сижу и пилю свой пет, подтянул в него asio, в остальном пока stl обхожусь. Что ещё освоить чтобы я со своих фуллстаковских 200к переехал хотя бы на 100к для начала?
Аноним 17/02/22 Чтв 17:00:39 #131 №2300055 
>>2300038
Как тебе пояса с курсеры?
Во время прохождения белого пояса, у меня возникла мысль, что некоторым задачам надо побольше вводных данных и объяснения.
Например первая задача с квадратным уравнением. Там всё отлично, есть дополнительное объяснения в виде алгоритма.
В дальнейших задачах я такого больше не видел. Я остановился на задаче про очередь в векторах. Кстати, в решение этой задачи используются методы, про которые в видео не говорили. Например поиск определенного значения в векторе.

Я так понял, что пояса именно для тех, кто уже более менее разбирается в плюсах.

Кстати, с такой же плохой постановкой задач, как в поясе, заметил и на курсе по плюсам от Яндекса на степике.
Яндекс следит за курсами и обновляет их?
Аноним 17/02/22 Чтв 17:06:15 #132 №2300063 
>>2300055
Фифти-фифти что говорится. На скорости х1.75 пойдёт. Большую часть задач я откровенно говоря скипал ибо много сложнее вещи решал в js`е. Про то, что прямо надо разбираться в плюсах - я бы не сказал. Всё очень даже недурно объясняется. Но я дропнул, не хочу заканчивать. Не люблю все эти курсы, видосики, я намного лучше информацию усваиваю когда читаю текст. Да и за те 10 минут которые идёт один видос я порой несколько тредов стака успеваю прошерстить.
Аноним 17/02/22 Чтв 17:42:38 #133 №2300102 
image.png
image.png
image.png
>>2300022
>свои сигналы
Вот так. (пик 1)

>event
пик 2 Чтобы переопределять действия при ивентах в классах-наследниках

>eventFilter
пик 3 Чтобы переопределять действия при ивентах в других объектах действиями из класса с фильтром

Документация к Qt классная, читай её, а не книжки

https://doc.qt.io/qt-5/signalsandslots.html
https://doc.qt.io/qt-5/qobject.html
Аноним 17/02/22 Чтв 17:50:15 #134 №2300112 
Есть ли в кьюти контейнеры элементов, как в гтк?
Аноним 17/02/22 Чтв 17:52:04 #135 №2300116 
>>2300112
Есть.
Аноним 17/02/22 Чтв 17:53:32 #136 №2300117 
>>2300116
Спасибо, но уже нашел, по запросам "qt контейнеры" выдавало контейнеры для данных, а не компонентов.
Аноним 17/02/22 Чтв 18:12:22 #137 №2300140 
>>2299904
Стек маленький, порядка 2мб для x64 и может переполниться довольно быстро (хотя зависит от конкретной OS и настроек компилятора). Ещё у каждого потока свой локальный стек. По сути куча это основная память программы управляемая программистом, а стек - вспомогательная автоматическая.
Аноним 17/02/22 Чтв 18:23:48 #138 №2300158 
>>2300140
Хотя есть ембед, где вообще нет кучи, только стек.
Аноним 17/02/22 Чтв 18:29:39 #139 №2300163 
>>2300140
Короче говоря это всегда new ...() если не ...?
Аноним 17/02/22 Чтв 19:28:22 #140 №2300219 
Почему в ютубе миллион видосов с собесами по js-у, но около 0 по плюсам?
Аноним 17/02/22 Чтв 19:39:12 #141 №2300229 
array или vector?
Аноним 17/02/22 Чтв 19:45:08 #142 №2300231 
>>2300229
По задачам.
Аноним 17/02/22 Чтв 19:49:21 #143 №2300235 
>>2300229
array имеет константный размер, vector изменяемый. От этого и отталкивайся.
Аноним 17/02/22 Чтв 19:51:11 #144 №2300238 
>>2300235
Спасибо, мистер адекват
Аноним 17/02/22 Чтв 19:53:23 #145 №2300241 
>>2300163
Выделение памяти через new медленное - среде выполнения надо найти подходящий по размерам блок памяти (которая фрагментирована). На стеке - считай мгновенно - надо увеличить адрес вершины стека на размер объекта. В итоге, если твои данные крупных размеров и с долгим сроком жизни, то new. Для всякой локальной мелочи - стек.
Аноним 17/02/22 Чтв 19:53:37 #146 №2300242 
>>2300235
Этого не достаточно, чтобы принять решение. Если array так ограничен, а vector универсален, напрашивается вывод, что надо всегда юзать vector и не задумываться.
Аноним 17/02/22 Чтв 19:58:32 #147 №2300250 
>>2300242
array это обёртка (сахар) вокруг сишного массива: T array[Size], чтобы его можно было использовать как и другие std контейнеры.
Чем сишный массив лучше? Например тем, что он выделяется на стеке, в то время, как vector требует хотя бы одного вызова new.
Аноним 17/02/22 Чтв 20:01:31 #148 №2300257 
>>2300250
>Например тем, что он выделяется на стеке
Только если он объявлен в теле функции и без static.
Аноним 17/02/22 Чтв 20:04:32 #149 №2300262 
>>2300250
Ещё vector должен хранить в себе переменную capacity размером size_t (для x64 8 байт), в то время как для array она static. Если массив маленький, то получается неплохая экономия.
Аноним 17/02/22 Чтв 20:08:41 #150 №2300266 
>>2300257
Так внутренний буфер array в любом случае не требует вызова new.
Аноним 17/02/22 Чтв 22:01:44 #151 №2300363 
Пиздец, только удалось сконфигурировать Cmake. 4 часа на это убил. Ну и говно пиздец.
Аноним 17/02/22 Чтв 22:04:29 #152 №2300365 
>>2300363
Всего лишь 4 часа? Хуя ты быстрый, небось сеньор-помидор. Я один раз несколько дней возился.
Аноним 17/02/22 Чтв 22:11:08 #153 №2300368 
>>2300365
Да блять, я почти всё это время искал блять как подключить header-only либы.
Аноним 17/02/22 Чтв 22:28:35 #154 №2300378 
Можно ли дружественному классу дать только некоторые функции, а не все?
Аноним 17/02/22 Чтв 23:04:02 #155 №2300407 
>>2300378
>дружественному классу
хуйня без задач, давай включай голову и делай нормальный интерфейс
Аноним 17/02/22 Чтв 23:04:49 #156 №2300408 
>>2300363
https://github.com/cpp-best-practices/cpp_starter_project
Аноним 17/02/22 Чтв 23:09:17 #157 №2300411 
>>2300408
Ну это же не интересно
Аноним 17/02/22 Чтв 23:17:07 #158 №2300414 
>>2300411
>не интересно
кстати по этой же причине терпеть не могу когда для языка есть один централизованный, анально привязанный пакетный менеджер. Плюсы + их инфраструктура это реально лучшее что есть на данный момент в этой грязной кабанчико-пориджевой индустрии
Аноним 17/02/22 Чтв 23:21:20 #159 №2300418 
>>2300414
>один централизованный пакетный менеджер
npm/yarn
Извините
>Плюсы это реально лучшее что есть на данный момент
Двачую
Аноним 17/02/22 Чтв 23:25:32 #160 №2300422 
>>2300407
Stream insertion and extraction operators are often declared as non-member friends:

Аноним 17/02/22 Чтв 23:33:40 #161 №2300424 
>>2300422
во-первых там про классы шла речь
во-вторых можно(а может даже нужно) сделать геттеры и все
в-третьих операторы это другое, там костыль через костыле

битовый сдвиг для вывода в iostream'ы, обожаю, лучше только деление для объединения времени и файлов
Аноним 18/02/22 Птн 00:07:48 #162 №2300447 
Поясните за разницу между инициализациями через =, () и {}
Аноним 18/02/22 Птн 00:15:54 #163 №2300449 
>>2300447
иногда выражения по типу ClassName() принимаются за вызов/объявление функции. {} эту проблему решает т.к это явный запрос на вызов конструктора

инициализация через равно аналогична вызову конструктора

ClassName a = {1,2,3}
это
ClassName a{1,2,3}
Аноним 18/02/22 Птн 00:21:16 #164 №2300452 
>>2300449
Спасибо. А для скалярных переменных разница между допустим int a = 5 и int a{5} есть? Ну и вообще аффектит ли это как-будь производительность или ещё что-нибудь?
Аноним 18/02/22 Птн 00:24:58 #165 №2300454 
>>2300452
нет, влияет только на то что int a{1} это детектор, по типу
auto main()->int
насчет производительности : в таких случаях иди на godbolt и проверяй
Аноним 18/02/22 Птн 00:29:54 #166 №2300455 
>>2300424
>давай включай голову и делай нормальный интерфейс
>сделать геттеры
>для закрытых членов

Аноним 18/02/22 Птн 00:33:45 #167 №2300459 
>>2300455
в чем проблема? Вот сеттеры это да, в большинстве случаев ересь
Ебал в рот ваши мантры про " инпуксуляция это скрытие", пишу так что бы было удобно пользоваться кодом
Аноним 18/02/22 Птн 00:37:32 #168 №2300461 
>>2300459
В том, что они расползутся по всему коду ?
Аноним 18/02/22 Птн 00:39:30 #169 №2300462 
>>2300461
>расползутся по всему коду
а мог бы и полоснуть отречением от експешонов и следовательно от raii
Аноним 18/02/22 Птн 01:29:05 #170 №2300467 
Как организовать инклуды когда необходимые либы повторяются? Вот у меня раз хедер - iostream, filesystem. Другой - тоже самое + ещё что-то. Это же неправильно? Как сделать правильно?
Аноним 18/02/22 Птн 01:42:06 #171 №2300468 
>>2300467
официальное решения до 20-го стандарта - include what youre use забей
Аноним 18/02/22 Птн 01:48:00 #172 №2300469 
>>2300467
Это правильно, любой файл, который юзает определения из инклудов, должен включать все эти инклуды, даже если ты в данный момент уверен на 100%, что нужнвй инклуд косвенно включится. Иначе, если это когда-нибудь изменится, начнётся анальная ебля с определением, куда и что включать. Лучше об этом не задумываться и всегда включать всё нужное.
Аноним 18/02/22 Птн 01:48:57 #173 №2300471 
>>2300468
А что в 20 стандартн, модули что ли?
Аноним 18/02/22 Птн 01:50:56 #174 №2300472 
>>2300471
ну да
Аноним 18/02/22 Птн 01:53:20 #175 №2300473 
image.png
>>2300468
>>2300471
УЖ0С
Аноним 18/02/22 Птн 01:55:16 #176 №2300474 
>>2300473
ой да ладно тебе, привыкнешь, может еще в 23 немного допилят
Аноним 18/02/22 Птн 01:55:56 #177 №2300475 
>>2300474
Если мне нужен будет сахарок над инклудами... Хотя нет, не нужен будет.
Аноним 18/02/22 Птн 01:56:45 #178 №2300476 
>>2300473
Кресты прогнулись под другие языки. Никакой самобытности, скоро и сборку мусора запилят.
Аноним 18/02/22 Птн 01:57:39 #179 №2300477 
>>2300475
Это не сахарок, они совсем иначе работают.
Аноним 18/02/22 Птн 01:57:42 #180 №2300478 
>>2300476
Так умные указатели добавили ещё когда мы в школу ходили.
Аноним 18/02/22 Птн 01:58:05 #181 №2300479 
>>2300475
так в том то и дело что нет, это дает реальную пользу , докладики посмотри
Аноним 18/02/22 Птн 01:58:58 #182 №2300481 
>>2300479
>это дает реальную пользу
Например?
Аноним 18/02/22 Птн 02:01:28 #183 №2300485 
>>2300481
я же сказал - иди доклады смотри. Я в них еще не погружался т.к на данном этапе нулевая поддержка
Аноним 18/02/22 Птн 02:02:21 #184 №2300486 
>>2300485
>Я в них еще не погружался
>нулевая поддержка
Ну вот, а уже советуешь. Приходи через 2-3 стандарта.
Аноним 18/02/22 Птн 02:03:49 #185 №2300487 
1643445599307.gif
>>2300486
я их советую потому что докладики посмотрел. Что ты такой приставучий....
Аноним 18/02/22 Птн 02:05:19 #186 №2300488 
>>2300487
Да больно ты мне нужен. Я пока тут с тобой общался 2 новых hpp создал и мне норм.
Аноним 18/02/22 Птн 02:07:36 #187 №2300489 
900861-cirno24.jpg
>>2300488
А я багу баку нашел!
Аноним 18/02/22 Птн 02:10:25 #188 №2300490 
Чё, пацаны, аниме?
Аноним 18/02/22 Птн 02:11:21 #189 №2300491 
>>2300489
Какой ты молодец. Бегом фиксить!
>>2300490
Нет уж, никакого аниме. Либо твилечки, либо томбойки.
Аноним 18/02/22 Птн 02:13:24 #190 №2300492 
>>2300491
>твилечки
шо?
Аноним 18/02/22 Птн 02:15:26 #191 №2300493 
>>2300492
Позор, ты даже не гик.
Аноним 18/02/22 Птн 02:17:33 #192 №2300494 
lain3.mp4
>>2300493
Я микросхему в руках держал!
так что же это?
Аноним 18/02/22 Птн 02:18:18 #193 №2300495 
>>2300494
>Я микросхему в руках держал!
Я тоже и что?
>так что же это?
Дивные создания из миров получше нашего.
Аноним 18/02/22 Птн 09:22:22 #194 №2300534 
>>2300022

Омг в дефолтной документации по кутям не нашёл сигналы и слоты?

Ну кутя действительно весч. Этакий дельфи под линукс с нормальным компилятором.
Аноним 18/02/22 Птн 09:25:32 #195 №2300535 
>>2300242

Вектор удобнее, аррай быстрее.

Кстати, это неебовое преимущество крестов перед VHLL. У тебя хотя бы есть опция взять примитивное быстрое решение, там, где его хватает. В рубях и пиздоне по сути только "вектора".
Аноним 18/02/22 Птн 09:27:34 #196 №2300537 
>>2300534
То есть ты хочешь сказать, что события тоже самое что и слоты и сигналы? А зачем мне тогда нужны события если я также могу соединить сигналами и слотами. Я думал события это такое глобальное действие, которое рассылается всем кто его ждет, и не надо указывать какому объекту отправить событие. а sendpos() только конкретному объекту отправляет сигнал-событие. А как сделать так что бы вся программа знала что что то произошло? Отсылать событие главному окну? а она пусть отсылает событие своим детям?
Аноним 18/02/22 Птн 09:42:28 #197 №2300544 
>>2300537
P.S. Проблема, в еще в том что на русском нормальных статьей нет, а с переводчиком плохо понятно
Аноним 18/02/22 Птн 10:29:19 #198 №2300561 
>>2300473
О! Нифига! Решили поменять механизм трансляции, которому полвека? Надо идти курить мануалы.
Аноним 18/02/22 Птн 11:27:11 #199 №2300613 
Какое же чудовище этот ваш кьюти, радует то, что кьюмейк удобный.
Аноним 18/02/22 Птн 11:47:56 #200 №2300628 
>>2300534
Также я не пойму, почему что ты, что анон выше, используете слово сигналы, хотя я в своем вопросе даже не написал ни разу о сигналах.
Аноним 18/02/22 Птн 12:39:15 #201 №2300655 
Какие же плюсы охительные, после питона и js вообще сплошное удовольствие на них писать.
Аноним 18/02/22 Птн 13:35:44 #202 №2300693 
>>2299536
Для вката нужно понимать OS Internals и иметь навыки программирования на С/С++ по большому счету.
Но скажу сразу - в пределах СНГ ловить нечего, рынок мёртвый, лучше быть веб-макакой. Если хочешь, чтобы за байтослесарство хорошо платили, строго нужен перекат в США/Канаду/страну западной Европы/Израиль/Сингапур.
Аноним 18/02/22 Птн 13:35:46 #203 №2300694 
>>2300655
Обычно наоборот пишут.
Аноним 18/02/22 Птн 13:37:50 #204 №2300696 
>>2300694
Наоборот пишут те, у кого от динамикодрисни началось разжижение мозга.
Аноним 18/02/22 Птн 13:37:52 #205 №2300697 
>>2300694
Да не, прямо глоток воздуха для меня, быстро выгоревшего в макакинге.
Аноним 18/02/22 Птн 13:50:30 #206 №2300704 
>>2300250
Ты всё смешал в кучу.

C:
int arr[] = {1 ,3 ,3, 7}; - стэк
int *arr = malloc(4); - куча

С++:
std::array<T, 4> - и сам объект и закулисный T arr[4] выделяются в стэке

std::vector<T> vec(4); - в куче, так как в вектор можно совать элементы и он в рантайме будет делать realloc каждый раз, когда будет заканчиваться память для новых элементов

Аноним 18/02/22 Птн 13:54:09 #207 №2300709 
>>2300476
RAII > сборка мусора, поэтому нет, не завезут, ибо юзлесс хуета.
Аноним 18/02/22 Птн 13:57:05 #208 №2300714 
>>2300655
Плюсую. Дактайповая параша, особенно в крупных проектах, это просто пиздец.
Аноним 18/02/22 Птн 14:06:00 #209 №2300723 
>>2300709
С RAII надо потом думать о владении и перемещении, когда в динамикодрисне с GC можно хуйнуть new и забыть а на ОЗУ похуй, она ж бесконечная.
Аноним 18/02/22 Птн 14:08:36 #210 №2300725 
>>2300723
>а на ОЗУ похуй, она ж бесконечная.
this. Помню как у меня в яндекс дзене на протяжении 2ух месяцев память неумолимо утекала и спустя минут 15 в этой хуйне мои 32гб уже задыхались по полной.
Аноним 18/02/22 Птн 14:29:45 #211 №2300746 
>>2300473
А что плохого в модулях?
По сути, они же предназначены для того, чтобы исключить костыль
#ifndef XUY
#define XUY
...
#endif
Аноним 18/02/22 Птн 14:31:18 #212 №2300748 
>>2300746
Так этот костыль давным-давно исключён #pragma once
Аноним 18/02/22 Птн 14:35:02 #213 №2300755 
>>2300748
Которого нет в стандарте.
Аноним 18/02/22 Птн 14:35:15 #214 №2300756 
image.png
>>2300748
Ага
Аноним 18/02/22 Птн 14:37:28 #215 №2300762 
>>2300748
Это в пределах одного .срр. В соседнем один хрен придется всё заново включать, парсить и конпелироватб.
Прекомпилед хедеры это расширение и костыль который в цпп20 легализован через import <zalupa>
Аноним 18/02/22 Птн 14:39:51 #216 №2300763 
>>2300756
Оставлено только из-за обратной совместимости, #pragma once не все компиляторы поддерживают.
Аноним 18/02/22 Птн 14:40:41 #217 №2300764 
>>2300763
Ну то есть костыль не исключён?
Аноним 18/02/22 Птн 14:43:16 #218 №2300767 
>>2300764
Появится еще один костыль, export module, #pragma once, #ifndef #define.
Аноним 18/02/22 Птн 15:52:20 #219 №2300831 
>>2300704
И в чём я неправ?
Аноним 18/02/22 Птн 16:12:48 #220 №2300849 
>>2300723
Так-то думать фактически не надо. Unique_ptr и shared_ptr с рефкаунтом когда надо, всё обёрнуто. Единственный момент когда надо думать - это cyclic reference, и знать что надо юзать weak_ptr дабы избавиться от него.
Итог - сборка мусора by design с фактически нулевым оверхедом.
Аноним 18/02/22 Птн 16:15:02 #221 №2300852 
>>2300831
>И в чём я неправ?
>Чем сишный массив лучше? Например тем, что он выделяется на стеке, в то время, как vector требует хотя бы одного вызова new.

Сишный массив, равно как и std::array<T, size> в плюсах, выделяются на стэке. Зачем ты сравнил сишный массив с плюсовым вектором, когда в плюсах есть прямой аналог сишного массива в лице std::array, яхз.
Аноним 18/02/22 Птн 16:34:27 #222 №2300875 
>>2300693
Спасибо за ответ, анонче. А не мог бы ты рассказать о самлм процессе переката? Понятно, что нужно учить языки, но не будешь же зеленым перекатываться? Все равно придется пару лет на отчизну поработать?
Аноним 18/02/22 Птн 16:46:15 #223 №2300885 
>>2300875
Я не он, но один из вариантов - работать в крупной галере с иностранным заказчиком (допустим epam, luxoft). Другой - пробиться в офис международной брендовой конторы (Intel, samsung. siemens и т.д.). Ещё вариант зааплаиться в контору, где уже есть русские, а в идеале твои знакомые (обычно это восточная европа, а потом перекат на запад). Самый простой вариант - уезжать по студенческой визе и там по месту искать работу на перспективу.

Общей рекомендации нет - надо траить все варианты.
Аноним 18/02/22 Птн 18:18:52 #224 №2301037 
>>2300875
Я не знаю, я не живу в странах СНГ с пиздючества с 14 лет, так что мне повезло
Аноним 18/02/22 Птн 18:39:37 #225 №2301060 
>>2301037
>>2300885
Ну ничего, у самурая нет цели, есть только путь.
А вообще хотелось бы в каком нибудь нейролинке импланты пилить. Но туда, наверное, без дополнительного надмозга и докторской степени не попадешь.
Аноним 18/02/22 Птн 20:26:54 #226 №2301167 
15609285441980.gif
>>2297796
Аноним 18/02/22 Птн 20:59:29 #227 №2301185 
>>2301060
Удачи во всех начинаниях и продолжениях, анон. Дорогу осилит идущий, всё в твоих руках.
Насчёт надмозга - да, в разработки такого уровня требуются люди с экстраординарным мышлением, типичным разрабам там не место. А вот по поводу докторской степени - не всегда истина, и не про все отрасли. Например, на данный момент в серьёзном ML без докторской степени делать нечего, а вот во многие другие отрасли, включая эмбеддед, в большинстве своём требуются опыт и мозги.
Аноним 18/02/22 Птн 21:02:29 #228 №2301186 
1645193802.jpg
>>2301185
Спасибо, анон.
Аноним 18/02/22 Птн 21:07:13 #229 №2301187 
Как правильно вызвать метод класса в другом потоке или асинхронно? Решение через лямбду выглядит, как костыль.
Аноним 18/02/22 Птн 21:44:32 #230 №2301206 
>>2301187
Не совсем понятно, что ты хочешь сделать, но попробуй посмотреть в сторону std::bind/std::function
Аноним 18/02/22 Птн 23:26:23 #231 №2301288 
Там чем плох iostream и чем его лучше всего заменять и нужно ли?
Аноним 18/02/22 Птн 23:30:10 #232 №2301289 
>>2301288
Всем хорош, кроме шизанутых перегрузок операций.
Аноним 18/02/22 Птн 23:56:17 #233 №2301309 
>>2301289
А чё они?
Аноним 19/02/22 Суб 00:04:04 #234 №2301316 
>>2301309
cout << пук << среньк
Аноним 19/02/22 Суб 00:05:03 #235 №2301317 
>>2301316
Ну и чё?
Аноним 19/02/22 Суб 06:42:50 #236 №2301391 
>>2301288
Всем плох. Потоки как канализация, ты тупо сливаешь данные в унитаз в надежде что они потом где-нибудь как-нибудь всплывут. Дерьмо как оно есть. А вот printf то что надо, тебе надо напечатать, оно и печатает.
Аноним 19/02/22 Суб 06:44:29 #237 №2301392 
>>2301391
Те же яйца, только в профиль. Оба делают буферизованый вывод в stdout.
Аноним 19/02/22 Суб 09:51:21 #238 №2301425 
Move семантика разве RAII не нарушает?
Аноним 19/02/22 Суб 09:59:08 #239 №2301428 
>>2301425
Нет, на то она и мув
Аноним 19/02/22 Суб 12:06:22 #240 №2301461 
Сап, первый день в плюсах так что мб тупой вопрос, но гугл мне не помог.
В общем писал сериализацию и встала задача изменить часть бинарного файла. Есть хедер и его нужно переписывать иногда.
Всё что мне нужно это встать в начале файла, затереть условно 16 байт и не трогать всё, что лежит дальше.
По-разному пытался, такое чувство, что seek'и не работают. Попробовал открывать binary | in вообще файл не создаёт.
Я уже даже думал со временным файлом какой-то костыль делать.
Скорее всего потому что я еблан, но мб что-то подскажите?
Аноним 19/02/22 Суб 14:23:02 #241 №2301526 
>>2301461
https://pastebin.com/xupdmbWT
Аноним 19/02/22 Суб 14:25:24 #242 №2301529 
>>2301526
Там микроошибка на 28 строчке - должен быть argv[1], но на результат это не влияет.
быстрофикс
Аноним 19/02/22 Суб 14:43:33 #243 №2301546 
>>2301461
Это нормально что я вкатыш ~1 месяц и понимаю только отдельные слова из этого? Как вникнуть в то, о чём этот пчёл пишет? Посоветуйте статей каких-нибудь что ли?
Аноним 19/02/22 Суб 14:53:21 #244 №2301552 
>>2301461
https://pastebin.com/Bgb87AQ0

Ещё можно так сделать, причем если оффсет будет больше размера текущего файла, то он увеличится, совершив конкатенацию тех байтов, которые были за пределами предыдущего размера. Если это недопустимо в твоем случае, то просто добавь проверки величины перед тем, как передавать оффсет в функцию.
Аноним 19/02/22 Суб 14:58:33 #245 №2301558 
изображение.png
Не очень понятно. А если размер данных меньше чем размер буфера, то что?
Аноним 19/02/22 Суб 15:08:13 #246 №2301565 
>>2301546
>пчёл
Пойти нахуй в тикток, борда 18+
Тебе тут не рады, зумер
Аноним 19/02/22 Суб 15:09:50 #247 №2301567 
>>2301565
Тебе паспорт показать, дедуль? Вопрос был по сути треда, будь добр ответь, не доёбывай.
Аноним 19/02/22 Суб 16:13:54 #248 №2301605 
Гарантируется ли, что данные, которые я отправил на сокет через boost asio c помощью async write придут в том же порядке, в каком я их отправил?
Аноним 19/02/22 Суб 16:16:17 #249 №2301606 
>>2301391
>>2301392
Ну так printf же это С. Зачем мне С в С++?
Аноним 19/02/22 Суб 16:39:23 #250 №2301620 
>>2301605
Для TCP гарантируется (физически они могут прийти непоследовательно, но системный слой выдаст в правильном порядке), для UDP нет.
Аноним 19/02/22 Суб 17:03:35 #251 №2301635 
>>2297650
Да и в игорях все уже переходят на ecs
Аноним 19/02/22 Суб 17:11:43 #252 №2301637 
>>2301635
Ecs прекрасно с ООП живёт
Аноним 19/02/22 Суб 18:06:49 #253 №2301678 
>>2301637
Оно не то чтобы с ним живёт, оно на нем и реализуется, это ведь тип организации движков.
Аноним 19/02/22 Суб 18:36:41 #254 №2301694 
>>2301526
>>2301552
Спасибо
Аноним 19/02/22 Суб 18:40:08 #255 №2301697 
А на чем вообще делают интерфейс под всякие системы типо датчиков, фотиков там разных? Там крутится какая то условная бубунта, виндоус и кутовый код? Кто таким занимается можете пояснить за инструменты в общем, даже не обязательно плюсовым?
Аноним 19/02/22 Суб 20:34:05 #256 №2301768 
>>2301552
Объясни нахуя тебе перегрузка для rvalue вектора.
Аноним 19/02/22 Суб 21:00:48 #257 №2301782 
А как, чем и на предмет чего тестится постбилд код? Вот у меня сейчас в гите стоит стейдж в CI который после билда прогоняет файлик через valgrind. Всякие юнит-тесты и прочая хуйня это понятно, а ещё что-нибудь юзается?
Аноним 19/02/22 Суб 21:06:28 #258 №2301787 
>>2301697
Зависит от железа, зачастую ресурсы очень сильно ограничены, что приходится рисовать интерфейс попиксельно, если повезет, то в какой-нибудь из библиотек будут уже реализованы простые фигуры.

Можно использовать любой язык (с ограничениями), но только если найдешь для него компилятор, а так наиболее популярны C, C++, но имхо C++ там не нужен.
Аноним 19/02/22 Суб 22:14:33 #259 №2301842 
>>2301787
Ну а по конкретней можно про инструменты? Какие либы? Вот в тачках стоят какие то демшанские планшеты или фотики типо кэнона, как там вообще все устроено? На чем все это пишется и подо что
Аноним 19/02/22 Суб 22:59:25 #260 №2301884 
>>2301842
Какие инструменты? Берешь компилятор для мк и пак либ, которые с ним идут, посмотри, как код для всяких стмок или ардуинок пишется, иногда есть возможность отладки через компьютер, но не всегда, бывают ситуации, когда у тебя отладчиком является светодиод или осциллограф.
Аноним 19/02/22 Суб 23:06:53 #261 №2301891 
>>2301842
И еще, с такими вопросами лучше в Си тред.
Аноним 19/02/22 Суб 23:11:49 #262 №2301896 
>>2301891
В си-треде сидят одни шизики, а здесь все.
Аноним 20/02/22 Вск 00:10:02 #263 №2301922 
Объясните нахера нужен этот ваш auto в строго то типизрованном языке?
Аноним 20/02/22 Вск 00:13:49 #264 №2301926 
>>2301922
А он как то нарушает принцип строгой типизации? Нужон просто чтоб код не захламлять кучей мусора, потому что хоть в сколько то большом проекте довольно скоро все превращается в хуй::говно::жопа::моча::итд
Аноним 20/02/22 Вск 00:18:13 #265 №2301932 
>>2301926
>А он как то нарушает принцип строгой типизации?
Выглядит именно так, что челику западло разбираться что оно там и чем является и он всё на волю самой проги/компилятора/императора отдаёт.
>Нужон просто чтоб код не захламлять кучей мусора
В чём проблема использовать using хуй = std::жопа<std::моча<...>>?
Аноним 20/02/22 Вск 00:32:21 #266 №2301943 
>>2301932
Ты можешь писать как хочешь, с авто это просто короче и нагляднее, чем городить кучу всякой херни. Никак строгой типизации это не противоречит, я хз что ты тут сказать пытаешься. Вообще подобное есть не только в плюсах, а еще и в других строго типизированных языках. Воспринимай это как просто сахарочек для удобства
Аноним 20/02/22 Вск 00:39:32 #267 №2301948 
>>2301943
Да я то ничего и не пропагандирую. Просто пытаюсь понять, сахарок это или есть в этом какой-то сакральный смысл.
Аноним 20/02/22 Вск 02:00:27 #268 №2301993 
>>2301932
>В чём проблема использовать using хуй = std::жопа<std::моча<...>>?

Сынок, вот хуярил бы ты метапрограммирование, тогда бы понял зачем auto в плюсах.

Домашнее задание - высри имплементацию struct.unpack как в пиздоне, чтобы функция возвращала tuple произвольного размера с произвольными типами с парсингом форматной строки в компайл-тайме, посмотрю на тебя. Если в плюсах что-то есть, значит так надо. Этот язык создавался гениями.
Аноним 20/02/22 Вск 02:45:40 #269 №2302001 
>>2301993
>зачем auto в плюсах
синтаксический сахарок
Аноним 20/02/22 Вск 02:47:44 #270 №2302002 
>>2301926
принцип то конечно хороший, но стоит помнить что в крестах нестрогая типизация
Аноним 20/02/22 Вск 03:13:30 #271 №2302005 
>>2301697
могут к примеру внутрь линукс запехать, и доступ к экранчику сделать через fbdev, а дальше уже прикрутят более высокоуровневую либу типа qtopia, либо сами сделают что-то похожее, ну а в конце прикладной программист уже будет делать экошки, кнопочки и прочее используя этот инструмент
самая жесть когда железка совсем новая и есть только доступ к видеопамяти, когда сначала нужно будет сделать что-то типа fbdev, в общем кадровый видеобуфер с двойной буферизаци, и уже после этого делать библиотеку gui
но во встраиваемых системах зоопарк, десятки решений, хотя принцип у всех похожий
Аноним 20/02/22 Вск 03:30:41 #272 №2302010 
>>2302002
Он путает строгую типищацию со статической.
Аноним 20/02/22 Вск 08:05:27 #273 №2302036 
>>2301922
Потому что есть анонимные сущности, например лямбды или анонимные классы, о типах которых знает только компилятор. Ещё в шаблонах надо как-то выводить тип конечного выражения.


Аноним 20/02/22 Вск 10:44:01 #274 №2302101 
Надо ли закрывать файловый стрим? А если он у меня окрывается и обрабатывается в отдельном блоке {}?
Аноним 20/02/22 Вск 11:16:42 #275 №2302110 
>>2302101
Сам закроется при выходе из блока.
Аноним 20/02/22 Вск 11:55:05 #276 №2302144 
>>2302110
Точно?
Аноним 20/02/22 Вск 13:16:22 #277 №2302328 
>>2302144
https://en.cppreference.com/w/cpp/io/basic_ofstream/close
>This function is called by the destructor of basic_ofstream when the stream object goes out of scope and is not usually invoked directly.
Аноним 20/02/22 Вск 13:18:00 #278 №2302332 
Помнится где-то читал, что базовые типы можно передавать там, где не требуется иное по значению и ни о чём не сожалеть мол там всё внутри отлично организованно и от передачи ссылок профитов нет. Так ли это?
Аноним 20/02/22 Вск 13:20:02 #279 №2302337 
>>2302332
Ну и как тогда изменять значения переменных из места вызова? Через указатели?
Аноним 20/02/22 Вск 13:22:36 #280 №2302342 
>>2302337
Я же пишу - там, в тех случаях, где изменять ничего не требуется.
Аноним 20/02/22 Вск 14:41:48 #281 №2302413 
Как сделать метод с 1 единственным опциональным параметром? Юзаю std::optional с дефолтным значением но оно всё равно не компилируется если не передавать никакое значение в функцию. Не кидать же постоянно туда std::nullopt, это же тупо?
Аноним 20/02/22 Вск 14:54:09 #282 №2302421 
>>2302413
ПЕРЕГРУЗКА
Е
Р
Е
Г
Р
У
З
К
А
Аноним 20/02/22 Вск 14:56:01 #283 №2302422 
>>2302421
Ну нееет, я имел в виду без неё.
Аноним 20/02/22 Вск 15:03:34 #284 №2302430 
>>2301782
Бамп вопросу
Аноним 20/02/22 Вск 15:24:11 #285 №2302447 
>>2302422
Без нее тоже работает, только что проверил.
Аноним 20/02/22 Вск 15:34:55 #286 №2302460 
>>2302447
Покажи свой код
Аноним 20/02/22 Вск 15:52:24 #287 №2302473 
>>2302413

void sosat_hui(int len = 42) { ... }
Аноним 20/02/22 Вск 15:59:04 #288 №2302486 
image.png
image.png
>>2302473
И что за несправедливость?
Аноним 20/02/22 Вск 16:05:33 #289 №2302493 
>>2302486
Надо прямо в объявлении. А ты в определение ебанул.
Аноним 20/02/22 Вск 16:09:03 #290 №2302500 
>>2302493
Вот оно что, спасибо!
Аноним 20/02/22 Вск 19:13:14 #291 №2302797 
Давненько не писал ка плюсах, и подзабыл уже
Вот есть у меня
base.h
class Base { virtual bool foo(int) = 0; }

impl.h
class Impl: public Base { bool foo(int); }

impl.c
bool Impl::foo(int x) { return x == 42; }

А почему линковщик ругается что не найдено Base::foo(int)
Разве не в этом весь смысл =0?
Из за этого непойми где приходится писать чушь типа Base::foo(i) { return false; }
Подскажите как правильно
Аноним 20/02/22 Вск 19:15:19 #292 №2302799 
>>2302797
Ну и да, используется это все в духе Base* ptr= get_Impl(); ptr->foo(42);
Сам Base ни в каком другом виде никогда не используется
Аноним 20/02/22 Вск 19:21:59 #293 №2302806 
Что надо знать/уметь чтобы вкатиться для начала хотя бы на 1500 ерос?
Аноним 20/02/22 Вск 19:28:44 #294 №2302816 
>>2302806
Для начала надо умерить свои запросы.
Аноним 20/02/22 Вск 19:30:58 #295 №2302819 
>>2302816
Да в смысле? Это же вообще копейки. Ну я и сам из себя норм, умный, старательный.
Аноним 20/02/22 Вск 20:00:59 #296 №2302851 
>>2302819
Джунька 1к, мидло 1.5к, сенька 3к и выше. Вкатыш без опыта 600-700 может быть и стоит, но многие даже такими деньгами рисковать не станут.
Аноним 20/02/22 Вск 20:11:42 #297 №2302859 
>>2302851
А если у меня 0.5 года изучения С, 1.5 года С++ и 2 пета по последнему?
Аноним 20/02/22 Вск 20:20:19 #298 №2302866 
>>2302859
Опыт это конечно хорошо, но что уметь то можешь? Что за петы?
Аноним 20/02/22 Вск 20:30:46 #299 №2302871 
>>2302859
Опыт на C вообще никак не засчитывается. 1.5 года это считай джун, максимум сотыга.
Аноним 20/02/22 Вск 20:39:16 #300 №2302877 
>>2302797
Она приватная, потомок ее не видит и не переопределяет своим объявлением. Если бы использовал override тебе бы сразу выдало что хрень пишешь.
Аноним 20/02/22 Вск 20:42:59 #301 №2302881 
>>2302819
>Ну я и сам из себя норм, умный, старательный.
Славный парень - это не профессия.
Аноним 20/02/22 Вск 20:48:31 #302 №2302887 
>>2302877
Нет, у меня в коде не приватная.
Аноним 20/02/22 Вск 20:50:37 #303 №2302888 
>>2302887
>class Base { virtual bool foo(int) = 0; }
>не приватная
Чаво?
Аноним 20/02/22 Вск 20:52:35 #304 №2302891 
>>2302887
Дальше мой телепатический навык не работает (
Аноним 20/02/22 Вск 20:52:37 #305 №2302892 
>>2302888
Не тупи. Я же не буду сюда все 100 строк копипастить.
Аноним 20/02/22 Вск 23:26:15 #306 №2303006 
>>2300875
Да, с отчизной наибольшие проблемы.
В РФ на плюсы активно нанимает яндекс, но там предметная область бекенда, а не роботов, автономных машин и компиляторов.
Еще есть касперский, хуавей, самсунг, мцст. Наверное сначала нужно туда пытаться попасть. Но в хуавее и самсунге все забито на несколько лет вперед разнообразными олимпиадниками из мфти, поэтому если ты один из них, то остается касперский и мцст. Хотя в мцст тоже очередь из мфтишников есть.
А так в целом раз уж ты родился здесь, то смысла от переката за бугор много не будет.
Будешь получать свои 150 килобаксов в США и платить там конскую сумму за ипотеку. В итоге уровень жизни будет гораздо меньше, чем у местной веб маньки.
Аноним 20/02/22 Вск 23:45:02 #307 №2303019 
>>2303006
>В РФ на плюсы активно нанимает яндекс
не пизди, это не так
они собеседуют, но за последние 2 года не взяли ни одного кодера с++ вообще то
Аноним 21/02/22 Пнд 01:20:55 #308 №2303053 
Планирую перекатиться на линукс. Мне главное чтобы прогать можно было удобно. Я обычно прогаю в vs code + настроены компиляторы в vs либо через консоль компилирую. Иногда возвращаюсь на винду в vs когда надо что то отдебажить сложное. Все таки в vs с этим удобнее. + есть анализ участков кода на производительность и анализ памяти. На линуксе с этим либо не так просто, либо я не разобрался. Чем на линуксе vs заменить?
Аноним 21/02/22 Пнд 01:24:20 #309 №2303055 
Как сделать "читерский" DI на шаблонах для бедных? Грубо говоря хочу так
AppBase.h
class AppBase { ... }

template<T, какаято магия, AppBase>
class RegisterApp { T app; ... }

App.cpp
#include "AppBase.h"
class MyApp : AppBase { ... }

RegisterApp<MyApp> reg; либо какая то магия

Engine.cpp
extern RegisterApp<какая то магия> reg;

main() { reg.app.foo();}
Аноним 21/02/22 Пнд 03:59:23 #310 №2303077 
>>2303053
А чем тебе vs code на Linux не устраивает?
Аноним 21/02/22 Пнд 04:02:07 #311 №2303078 
>>2303077
Ну и когда-то netbeans был неплох. Но сейчас C/C++ поддержку на нём не развивают. Плюс жрать стал как не в себя. Сам перекатился в VS.
Аноним 21/02/22 Пнд 06:25:48 #312 №2303094 
>>2303053
Я в vscode через lldb дебажу
CodeLLDB или как то так расширение называлось
Аноним 21/02/22 Пнд 07:06:46 #313 №2303100 
>>2303055
CRTP
Посмотри как ATL и WTL сделаны
Аноним 21/02/22 Пнд 09:19:25 #314 №2303126 
>>2303053
>>2303078
Линукс, вим, gdb, иногда шлайно. Всё, гуи не нужен.
Аноним 21/02/22 Пнд 17:48:44 #315 №2303598 
В плюсах можно сделать так?
Вытащить из рандомной структуры список всех полей вида "type | var_name | address".
Т.е я не знаю сколько полей и какие они.
Аноним 21/02/22 Пнд 18:08:28 #316 №2303623 
>>2303598
если вкратце то на райтайме нельзя, тк нет рефлексии
в компайл тайм можно
Аноним 21/02/22 Пнд 18:33:26 #317 №2303645 
>>2303598
Если у тебя задача распарсить какой-то протокол с данными, то есть либы наподобие http://kaitai.io/
Там ты конечно должен структуру сам ручками расписать, методом тыка.
Аноним 21/02/22 Пнд 20:18:05 #318 №2303737 
А есть какие-нибудь либы что написать полноценный такой гуй на HTML+CSS? Или хуйня затея?
Аноним 21/02/22 Пнд 20:25:16 #319 №2303740 
>>2303737
Есть, но хуйня затея.
Аноним 21/02/22 Пнд 20:27:23 #320 №2303741 
>>2303740
А чому хуйня?
Аноним 21/02/22 Пнд 20:30:43 #321 №2303742 
>>2303741
Потому что не нужны тебе кресты, если такая идея возникла.
Аноним 21/02/22 Пнд 21:25:21 #322 №2303772 
>>2303742
Ну, если ты так говоришь... Кресты же у нас чисто про вертикальное мышление и Ctrl-C и Ctrl-V код. Есть Qt и больше нам ничего не надо, так ведь?
Аноним 21/02/22 Пнд 21:53:43 #323 №2303796 
>>2303772
Использование HTML+CSS, когда есть Qt/Gtk избыточно и это лишняя нагрузка, переносимость/кастомизация у них большая, тащить с собой webkit на 30мб загружать в ОЗУ пару мегабайт, такое себе, что ты от этого получишь?
Аноним 21/02/22 Пнд 21:57:06 #324 №2303802 
>>2303737
RmlUI, там конечно отличается но идея такая. Попробуй, еще захочешь.
Аноним 21/02/22 Пнд 21:57:55 #325 №2303804 
>>2303796
А Qt у нас невесомый, лол.
Аноним 21/02/22 Пнд 22:23:15 #326 №2303828 
>>2303796
>>2303804
>что ты от этого получишь?
Аноним 21/02/22 Пнд 22:53:44 #327 №2303861 
>>2303828
Удовлетворение своего энтузиазма и неприятия мейнстрима.
Аноним 22/02/22 Втр 00:32:12 #328 №2303940 
>>2303861
>своего энтузиазма
Какого? Взять готовую библиотеку и написать никому ненужный и всеми ненавистный еще один локальный HTTP сервер, это по-твоему удовлетворение энтузиазма?

>неприятия мейнстрима
Писать GUI на вебе - это мейнстрим уже пару лет, когда стали появляться различные редакторы кода на электронах.
Аноним 22/02/22 Втр 00:35:25 #329 №2303942 
>>2303940
>Какого?
Взять готовую библиотеку и написать никому ненужный гуи для своей никому не нужной терминальной приложухи в данном случае.
>неприятия мейнстрима
Не, электрон это даунская хуйня, тут и так всё ясно.
Аноним 22/02/22 Втр 04:39:46 #330 №2303964 
>>2303796
30 мб в 2022 боятся потратить
Вот ты конечно экономный
Аноним 22/02/22 Втр 09:25:00 #331 №2304005 
>>2303964
js тред на 2 страницы ниже
Аноним 22/02/22 Втр 09:48:58 #332 №2304022 
>>2304005
Горизонтальное масштабирование! Кластеризация! Ко-ко-ко!
Бляяя, почему нихуя не работает!!! Это язык плохой переписываем на хуйня-нейм!
Аноним 22/02/22 Втр 09:49:48 #333 №2304023 
>>2304005
Спс за инфу
Аноним 22/02/22 Втр 11:54:14 #334 №2304128 
>>2303964
В 2022 не слышать про дефицит полупроводников
Аноним 22/02/22 Втр 12:14:23 #335 №2304140 
>>2304128
а память все дешевеет и дешевеет, вот удивительно, да?

чел, сейчас у каждой домохозяйки как минимум 8гб рам, куда ты свои сэкономленные 30 мб пихать собрался на десктопе?
Аноним 22/02/22 Втр 12:15:34 #336 №2304141 
>>2304022
Фронтедеру неприятно, я посмотрю. WASM уже выучил?
Аноним 22/02/22 Втр 12:20:37 #337 №2304145 
>>2304141
WebKit в 4 гига влазит?
Аноним 22/02/22 Втр 12:21:59 #338 №2304147 
>>2304145
Не шарю, не знаю.
Аноним 22/02/22 Втр 12:42:39 #339 №2304167 
>>2304140
>чел, сейчас у каждой домохозяйки как минимум 8гб рам, куда ты свои сэкономленные 30 мб пихать собрался на десктопе?
Чел, назови 3 адекватные причины использовать вебкит при написании кода на C++.
Аноним 22/02/22 Втр 13:03:34 #340 №2304186 
>>2304167
у меня только одна, удобнее
Аноним 22/02/22 Втр 14:56:55 #341 №2304297 
>>2304140
Это просто вопрос чести и профессионализма, зачем делать тяп ляп, и вообще брать низкоуровневый язык с ручным управлением памятью, если тратить ее бездумно, а не только минимально на то, что надо? Это же, типа, основы computer science.
Я вот хотел сделать браузер для двача, чтобы был крохотный как старая аська и висел в фоне не жрал ресурсы, там же нужно мизер ресурсов на тексты, так хуй там, капча требует подгузки целиком браузера с яваскриптом.
Аноним 22/02/22 Втр 15:03:39 #342 №2304301 
>>2303796
дык в qt ты как раз и будешь гуй на html рисовать вообще то..
Аноним 22/02/22 Втр 15:22:33 #343 №2304308 
>>2303737
у майкрософт когда то давно была такая интересная технология:
движок их браузера был по сути компонентом activex, поэтому ты мог просто создать приложение, и активировать в нем этот компонент, и таким образом у тебя был уже в приложении свой мини-браузер
далее на любом языке, который мог в com, ты уже мог создавать активные странички в этом компоненте, отрисовывая там кнопочки, фреймы, таблички и все такое прочее
у майрософт еще была на основе этого такая заготовка которая позволяла для скриптовых сценариев очень быстро рисовать гуй - ты там в скрипте на vbscript или jscript (ну и на других скриптовых языках типа active perl, active python, etc) мог быстренько сделать менюшки, кнопочки и все такое
майкрософт, по сути пионеры такого подхода были
потом подход к построению гуи при помощи html+css он в принципе более идеологически правильный, так как разделяет презентацию и представление (чего, к примеру не было в формочках дельфи)



Аноним 22/02/22 Втр 15:34:45 #344 №2304313 
>>2304301
На каком моменте в кьюти повляются формы на хтмл? Я что то пропустил?
Аноним 22/02/22 Втр 17:29:07 #345 №2304387 
>>2304308
Бля охуенная же идея, но снова всё проебали.
Как и wsl 1.0 в пользу унылой виртуалки.
Хотя там как раз понятно, что деды которые сделали мелкомягким ядро nt, давно ушли или померли от геморроя. И изначальный план - подсистема окружения с равноправными процессами - реализовать не осилили. А ведь линуксовые процессы уже были видны в диспетчере задач, им можно было устанавливать приоритеты и привязку к ядрам..
Аноним 22/02/22 Втр 17:31:05 #346 №2304391 
>>2304308
И где эта технология сейчас? Сосцы, бинарники, мультиплатформа?
>>2304387
А вообще винда в 2022 нахуй не нужна.
Аноним 22/02/22 Втр 17:59:44 #347 №2304407 
Ого back to basics годнота
Советую всем полувкатунам
Аноним 22/02/22 Втр 18:13:18 #348 №2304413 
>>2304407
Любой адекватный вкатун сразу после прочтения Страуструпа начинает код писать, а не хуйнёй страдать.
Аноним 22/02/22 Втр 18:15:44 #349 №2304415 
>>2304413
Как одно другому мешает?
Аноним 22/02/22 Втр 18:20:23 #350 №2304422 
>>2304415
Практика всегда должна идти впереди теории. Если ты читаешь 300 страниц и пишешь 20 строк кода - ты явно не прав. Если ты пишешь 300 строк кода и при этом прочитываешь 20 страниц стака/референса - то уже спустя малое время ты будешь из себя что-нибудь представлять.
Аноним 22/02/22 Втр 18:22:42 #351 №2304425 
>>2304422
там лекции максимум полтора часа
никто тебе не запрещает в остальное время код писать

или ты как себе это представляешь, я сижу целый день видосики смотрю и код не пишу?
Аноним 22/02/22 Втр 19:39:35 #352 №2304462 
>>2304425
>полтора часа
Охуеть, чем смотреть каких-то чуваков в свитерах и с синяками под глазами за это время можно примитивненький рейтрейсинг написать.
Аноним 22/02/22 Втр 20:06:47 #353 №2304490 
>>2304462
написал уже?

очень интересно во сколько строк смог уместиться и как ты это за полтора часа написал
Аноним 22/02/22 Втр 21:28:21 #354 №2304552 
>>2304422
>ты читаешь 300 страниц и пишешь 20 строк кода
Надо так.
Я в детстве прочитал десяток книг по программированию когда у меня даже не было компьютера. Каждую главу вдумчиво.
Аноним 22/02/22 Втр 22:04:46 #355 №2304574 
>>2297529 (OP)
Какие есть api на 10ке чтобы получить температуру процессора?
Я знаю что есть wmi, а можно ли к api биоса обратиться напрямую?
sageАноним 22/02/22 Втр 22:12:32 #356 №2304581 
>>2304574
Лаба?
Аноним 22/02/22 Втр 22:13:28 #357 №2304582 
>>2304581
нет, домашние эксперименты.
Аноним 22/02/22 Втр 22:14:10 #358 №2304583 
>>2304581
я не учился никогда в вузе, у меня 9 классов образования
Аноним 22/02/22 Втр 22:18:18 #359 №2304585 
>>2304583
Молодец, так и надо.
Аноним 22/02/22 Втр 22:19:39 #360 №2304587 
>>2304585
ну так что есть какие способы из винды обратиться к api bios чтобы узнать температуру проца?
Аноним 22/02/22 Втр 22:20:31 #361 №2304588 
>>2304587
Не ебу, лет 6 на винде не сидел.
Аноним 22/02/22 Втр 22:24:28 #362 №2304598 
>>2304588
мерси. тогда пойду погуглю.
а в линуксе то есть возможность в api boisа обратиться напрямую?

ну подключить какой-нибудь заголовок типа <biosapi.h> и чтобы там была функция типа getCPUTemp();?
Аноним 22/02/22 Втр 22:26:12 #363 №2304600 
>>2304598
если efi, то сенсоры в acpi описаны.
Аноним 22/02/22 Втр 22:26:30 #364 №2304603 
>>2304598
Погугли lm-sensors, должно быть что-то можно использовать. Лезть в бивис тебе нахуй не упало.
Аноним 22/02/22 Втр 22:31:28 #365 №2304606 
>>2304600
>>2304603
спасибо, да я uefi-bios как одно имею в виду оно же как расширение над ним, мне и uefi очень даже норм. всё понял куда копать. спасибо
Аноним 22/02/22 Втр 22:33:11 #366 №2304608 
>>2304606
под виндой ещё есть sensors api
Аноним 22/02/22 Втр 22:35:59 #367 №2304613 
>>2304608
мерси, возьмём на заметку.
Аноним 23/02/22 Срд 01:20:47 #368 №2304667 
>>2304391
>И где эта технология сейчас?
думаю даже в win11 ты все еще сможешь сделать gui-менюшку на html используя скрипт vbscript, майкрософт обычно держит свою обратную совместимость до последнего

Аноним 23/02/22 Срд 01:26:39 #369 №2304668 
>>2304387
ну смотри, ведь wsl это был преемник sfu (сервисы майкрософт для юникс), а sfu был преемником posix windows nt
а ядро nt было интересно сделано - предполагалось что поверх него будут сделаны различные подсистемы, главная конечно же это была windows, но при этом сделали еще и posix слой, и вроде бы еще запиливали другие более специализированные системы, для ранних смарт-устройств например
в общем, майкрософт, повторюсь, как ни странно зачастую являются пионерами, бегут впереди рынка
Аноним 23/02/22 Срд 01:29:22 #370 №2304669 
>>2304574
ну тогда тебе придется научиться писать драйвера.. обычно всякие утилитки для мониторинга под винду идут этим путем..
Аноним 23/02/22 Срд 01:42:55 #371 №2304672 DELETED
>>2297921>А вообще толстый тредОП-треда сидит на фряхе Это достаточно толсто?
Аноним 23/02/22 Срд 12:34:43 #372 №2304825 
>>2304574
https://github.com/openhardwaremonitor/openhardwaremonitor
Аноним 23/02/22 Срд 14:02:13 #373 №2304872 
Как у кьюти дела с мобильной разработкой под андроид? Какие подводные? Стоит или проще взять котлин\жабу?
Аноним 23/02/22 Срд 14:31:07 #374 №2304885 
>>2304872
Всё очень плохо. Любой шаг влево-вправо - и приходится переписывать на жабу.
Аноним 23/02/22 Срд 17:20:33 #375 №2305012 
бля вы всегда так пугаете физтехами. Как будто
1) Это единственный нормальный вуз (есть еще МГТУ и МГУ как минимум)
2) Они реально такие жесткие. Они все там физики, которые идут в машин лергиниг, если денег хотят. Че вы то ссытесь, чмохи?
3) Да даже если они реально ТАК знают математику, то это не гарантирует, что они хорошие программисты. Мб Rnd или анатилики да, но прям прогеры - хз. Думаю что процент хороший прогеров оттуда не сильно выше чем у других топовых втузов
4) Был у меня знакомый физтеховец мощный. Прям стандарная история: топ школа -> физтех -> свой стартап в тех зрении. Так вот он утверждал что на мобилке нереально в риал тайме распознавать лица. Ну йопта. Не говорю, что он тупой - чел реально мощный. Но, как грится, также ошибаются как и все.
Так что я совершенно не разделяю хуйни типа "ой там физтеховцы одни в очереди стоят, ик пук". Конечно, если ты заканчивал ЗалупкинГУ и тебе после рабочего дня интереснее пивас пососать, вместо того, чтобы почитать чего-нибудь по алгосам\линалу\терверу\любой другой математике, то да. Соре
А если чел реально увлечен работой и имеет хорошую базу (или хотя бы поднимает ее в свободное время), то не нужно депрессовать
Пысы. у меня знакомый из второсортного вуза в самсуге работает. Не скажу, что он мимокрок, но и не топ перформер. В свое время не смог с usb либками разобраться
Аноним 23/02/22 Срд 17:24:00 #376 №2305019 
>>2305012
>вы всегда так пугаете физтехами
Кто? Кого?
Аноним 23/02/22 Срд 19:35:47 #377 №2305100 
>>2304825
спасибо

>>2304669
это я и хочу сделать
Аноним 23/02/22 Срд 19:40:03 #378 №2305103 
>>2304669
Для начала я бы хотел просто запустить программу которая бы просто вывела один раз значение температуры цпу в консоль один раз и всё. я ещё заняться не могу этим недавно с одного компа на другой перешёл, пока данные по сети тащил с одного на другой, пока обратно, пока винду искал/драйвера пока на старом всё переделал я его же отдал другому человеку. ну ты понел как это геморно
Аноним 23/02/22 Срд 20:45:52 #379 №2305141 
>>2305012
Ну топ конторы, они же RnD занимаются, считай околонаучной деятельностью. Допустим тот же самсунг занимается параллельными вычислениями на кластерах GPU. Для этого нужны исследователи, которые родят концепт. Это выпускники МФТИ. В добавок к этим челикам нужны инженеры, которые переложат концепт в код. Это твой дружаня из второсортного вуза.
Аноним 23/02/22 Срд 22:37:13 #380 №2305214 
>>2305141
Ну, извини меня, rnd штат совсем небольшой. Тут я часто слышу тему, что даже инженером не устроишься в такие конторы.
Ну а насчет того, что в рнд беркт одних физкеков тоже хз. Опчть же я не говорю, что рнд самсунга держится на МАИ, но думаю что и не только физтех
Аноним 23/02/22 Срд 23:07:56 #381 №2305234 
>>2305214
RnD вещи делают люди с учеными степенями, либо стремящиеся их получить - аспиранты, кадидаты и доктора наук.
И там больше роляет чем ты занимался, кто ты по жизни и кто твой научник. Ну и так сложилось, что наукой в инженерных вузах у нас не занимаются от слова совсем, поэтому в RnD кроме физтехов ты вряд ли кого-нибудь встретишь (может только парочку челов из МГУ и ВШЭ).
Аноним 24/02/22 Чтв 00:28:22 #382 №2305307 
>>2305214
>>2305234
Раз уж тут обсуждение рнд и физтехов, то внесу ясность, как физтех, прошедший 3 крупных рнд + успешную институтскую лабу с компьютерным зрением.
1. Физтехи есть, но немного. Где они все - хз. В основном работают не по специальности типа банковскими аналитиками или кодерами.
2. В компании, где был прямо максимальный рисеч, было много людей вообще не из московских вузов (удивительно много сибиряков)
3. Мода нанимать "не ниже кандидата" прошла году в 2015, когда стало понятно, что рисеч тоже может приносить бабло, а людей не хватает.
4. На физтехов при этом многие смотрели с восторгом, хотя мы особо не выделялись из общей толпы. хотя я все-таки смог придумать клевый успешный алгоритм для своего направления. Наверно сейчас хэдквотер во всю его себе на девайсы адаптирует
Аноним 24/02/22 Чтв 18:03:16 #383 №2305743 
Как мне подключить библиотеку к QT, я не понимаю в корне. Почему все так не понятно.
Вот есть
https://github.com/signal11/hidapi
библиотека, но там нет не lib, не dll, не а, ничего нет.
Что мне подключать? Как? у меня голова уже болит просто пиздец.
помогите пожалуйста я не смог найти ни одного адекватного гайда
Аноним 24/02/22 Чтв 18:17:17 #384 №2305752 
>>2305743
https://doc.qt.io/qt-6/cmake-get-started.html

Если тебе без CMake нужно, то у меня по такому пути они находятся: C:\Qt\6.2.2\msvc2019_64\bin
Аноним 24/02/22 Чтв 18:17:50 #385 №2305753 
>>2305752
>>2305743
ой бля, тебе надо К qt
Аноним 24/02/22 Чтв 19:58:50 #386 №2305781 
>>2305743
>библиотека, но там нет не lib, не dll, не а, ничего нет.
Это исходный код библиотеки, в ридми есть описание того, как ее собрать.
Аноним 24/02/22 Чтв 20:39:38 #387 №2305802 
>>2305743
>но там нет не lib, не dll
>Как
Очевишче yarn install ... и съеби
Аноним 25/02/22 Птн 02:26:54 #388 №2306017 
А правда что после гос компаний на работу за границей не берут и обходят будто ты заразный?
Аноним 25/02/22 Птн 05:02:09 #389 №2306026 
>>2306017
Это наоборот работает, если ты имел доступ к гостайнам ты несколько лет невыездной. Хотя какой смысл в эпоху интернета хз.
Аноним 25/02/22 Птн 08:18:26 #390 №2306042 
>>2306026
Ну типо ты работал на агрессию, и вообще может быть шпион и хакер. Они даже после работы в касперском боятся брать. Но не говорят этого потому что на них можно подать в суд.
Аноним 25/02/22 Птн 08:33:35 #391 №2306044 
>>2306017
В целом нет, но при оформлении рабочих виз могут быть доп проверки
Аноним 25/02/22 Птн 10:14:01 #392 №2306073 
>>2305781
я не понимаю как ее собрать, тут даже Readme фаилы не в txt
Аноним 25/02/22 Птн 12:43:31 #393 №2306158 
Я в полной фрустрации, как бы я не гуглил я ничего не нахожу дельного, о том как пользоваться ебаной библиотекой скачанной с git, как ее подключать если там нихуя нет, как ее собрать если нет нормального гайда, сидеть неделю изучать как работает Cmake, ради создания одного ебаного фаила .lib, сукааааааааааааа
Аноним 25/02/22 Птн 13:12:51 #394 №2306188 
>>2306158
Добро пожаловать
Cmake - база, на которой вся индустрия сидит и да, придется жрать говно вместе со всеми

но вобще достаточно cmake ..
Аноним 25/02/22 Птн 15:15:29 #395 №2306288 
>>2306017
Всем похуй, но на допуски смотрят когда думают, выдавать тебе визу или нет. Если второй-третий лвл был, то могут и отказать. На первый похуй обычно.
Аноним 25/02/22 Птн 15:36:58 #396 №2306311 
>>2306288
Ты уровни допуска перепутал. 3й наоборот самый поверхностный. Как на практикес визами работает. Лично я не в курсе. Мне кажется, что больше от предприятия зависит, на котором работал. Потому что 3й уровень допуска на военной кафедре вузика и работа непосредственно на министерство обороны с третьим уровнем допуска все-таки разные вещи.
Аноним 25/02/22 Птн 16:14:20 #397 №2306347 
>>2300537
События предназначены для хэндлинга внутренней жизни объекта, сигналы и слоты для общения объектов друг с другом. Иногда события пересылаются дочерним объектам конечно же, но в целом они не должны протекать наружу.
Эвенты - часть приватной реализации, сигналы - публичный интерфейс класса.
А потом кто-то придумал что было бы прикольно менять поведение класса композицией вместо наследования и вмешиваться в жизнь объекта пробиваясь шаловливыми ручонками к его эвентам. Так появился эвентфильтр. Эвентфильтр - это хак, вернув true вместо false можно сломать отрисовку объекта или его респонсивность нужным тебе образом. Это очень полезный и удобный хак, так что совершенно невозможно отказать себе в удовольствии им пользоваться.
Не могу представить себе ситуацию когда тебе нужны какие-то ещё эвенты кроме уже реализованных, да ещё и публичные. Обрисуй идею.
Аноним 25/02/22 Птн 16:30:05 #398 №2306368 
>>2306347
Я хотел сделать drug and drop квадратиков как в windows phone, типо там будут квадратики и их можно будет перемещать по сетке, так вот я хотел с помощью события передавать другим квадратикам что я нажал на квадратик и собираюсь его перетащить. А когда другие объекты ловят евент о том что я сделал drag одного из квадратиков, то они уменьшались в размере бы, что бы можно было понять какой квадратик ты взял, а какие нет. Я просто на тот момент думал что евент, это что то глобальное, что можно послать в общий эфир и все услышат, но как оказалось это не так, это частный случай сигнала.
Аноним 25/02/22 Птн 16:43:16 #399 №2306380 
>>2306368
В примерах есть проект с мозайкой и драг-энд-дёрпом, там всё расписано
Аноним 25/02/22 Птн 16:50:22 #400 №2306384 
>>2306380
А где примеры найти? В Qt Creator?
Аноним 25/02/22 Птн 17:28:01 #401 №2306396 
>>2306384
Да В Qt Creator на главной должны быть если ставил с ними
ну или тута https://code.qt.io/cgit/qt/qtbase.git/tree/examples/widgets/draganddrop/puzzle?h=5.15.2
git://code.qt.io/qt/qtbase.git
https://doc.qt.io/qt-5/qtwidgets-draganddrop-puzzle-example.html
Аноним 25/02/22 Птн 18:16:12 #402 №2306443 
У кого какой рабочий инструмент? У всех коллег какие то полуигровые ноуты с видяхами хорошими, а я вот думаю простой хонор взять, ну максимум виртуалку запустить, да сервер. Должно же хватать?
Кто новый ноут покупал недавно что вы там брали?
Аноним 25/02/22 Птн 19:08:35 #403 №2306489 
>>2306311
Был третий (ДСП) без факта ознакомления, всем похеру было.
Аноним 25/02/22 Птн 19:11:34 #404 №2306493 
>>2306443
Стационарник с 16gb ram. Спокойно верчу одновременно пару виртуалок, 3 студии и хром с огромным количеством вкладок.
Аноним 25/02/22 Птн 19:14:48 #405 №2306497 DELETED
>>2306443
>а я вот думаю простой хонор взять
за щеку себе возьмешь скорее, если ты в украине или рахе, сходи на сайт днс цены посмотри ;)
Аноним 25/02/22 Птн 19:30:30 #406 №2306516 
>>2306497
Съеби в порашу, зарепортил.
Аноним 25/02/22 Птн 19:53:24 #407 №2306539 
>>2306443
Дома станция на тредриппере стоит. Но я очень часто в постоянных переездах/перелётах так что беру с собой простенький ультрабук и не так давно новый хуйоми планшет взял. Когда как то с одним, то с другим. 95% работы делаю через ssh преспокойно. Если нужно какую-нибудь модельку быстро обучить - тупо арендую кластера. Брать ноут как основу == тупость.
Аноним 26/02/22 Суб 18:51:38 #408 №2307064 
>>2299453
Что-то твои свидетельства сильно расходсятся с тем, что аноны пишут в англоязычных интернетах - веб-макаки (бекендовые, по крайней мере) и востребованнее, и богаче.
Аноним 26/02/22 Суб 19:43:06 #409 №2307108 
аноны, кто работал с dds ? Хочу попробовать ради тренировки написать свой, но чет не совсем понимаю, как это все работает. Точнее концепция ясна, но вот реализация - хз . Я прочитал, что там не используются сокеры. Тогда вопрос: как передать данные в от устройства к устройству? или я все-таки не понимаю концепцию?
Скиньте что-нибудь почитать плез на эту тему
Аноним 26/02/22 Суб 19:44:25 #410 №2307109 
>>2307108
> сокеры
сокеты, быстрофикс
Аноним 26/02/22 Суб 19:51:31 #411 №2307111 
>>2307108
Что именно ты понимаешь под dds?
Аноним 26/02/22 Суб 19:54:16 #412 №2307112 
>>2307111
сорян, забыл, что не один контекст
https://ru.wikipedia.org/wiki/Data_Distribution_Service
Аноним 26/02/22 Суб 20:20:30 #413 №2307128 
>>2307112
Это обычный сервер или я не понимаю?
Аноним 26/02/22 Суб 20:31:56 #414 №2307138 
>>2307128
нууууууууууу и да и нет. Представь что у тебя есть много устройств, например, робот с большим количеством сенсоров и систем типа СТЗ, локализации и тд.
Вот драйвер каждого сенсора или камеры может срать сообщениями.
Представил
Так вот ддс это модель, при которой существуют публикаторы и подписчики на определенный топик. Например, топик называется 'camera_data'. В него публикует данные драйвер камеры. А, например, модуль object detection на этот топик подписан и эти данные оттуда забирает.
так вот я мельком видел инфу, что вся такая архитектура сделана не на сокетах а как-то иначе. Как - я хуй его. Как я понял, ты , анон, сам не очень шаришь в этом. Однако взываю к анонам, которые понимают что происходит, чтобы чуть объяснили, а то я чет не совсем понимаю реализацию этого говнища
Аноним 26/02/22 Суб 21:18:15 #415 №2307163 
>>2307138
Ты же сам ответил на свой вопрос на чем, кроме сокетов, такое можно сделать, драйвера для устройств, взаимодействие через условный USB порт или через что-то еще.

То, что ты описал, является сервером.
Аноним 26/02/22 Суб 21:19:58 #416 №2307164 
>>2307138
Чёт это всё пахнет хуем. Возьми socket.io или его аналоговнет и не выёбывайся.
Аноним 26/02/22 Суб 21:21:11 #417 №2307165 
>>2307138
>>2307163
В дополнение, подобное можно реализовать на каком-нибудь, более узком для такой задачи, микроконтроллере, чтобы не занимать целую машину для подобной задачи, к тому же более удобное подключение множества устройств через пины, как и в целом более гибкая структура может получиться, потому что не будет ограничений от ОС.

Ну, или просто поднять сервер.
Аноним 26/02/22 Суб 22:33:11 #418 №2307195 

>>2303126
А разве это полностью заменит visual studio? Есть ли анализ участков кода на использование процессорного времени в вашей схесе есть? Мне иногда vs code + clang кидали странные ошибки, которые я потом только в visual stduio находил. Мне студия кидала heap corruption, а vs и clang просто "Вызвано исключение" и всё. А я голову ломал почему оно вызвано.
Аноним 26/02/22 Суб 23:32:59 #419 №2307200 
>>2307195
Clion преспокойно заменяет никому не нужную помойную студию.
Аноним 26/02/22 Суб 23:35:49 #420 №2307201 
>>2307200
Он жирный шо пиздец. Разница между Clion и vs небольшая. Переходить с vs на clion особого желания нет. Я вообще не уверен, что clion получше vs будет
Аноним 27/02/22 Вск 01:07:57 #421 №2307223 
>>2307163
Нет. Точнее я не очень хорошо описал
Но прикол в том, что в такой архитектуре нет сервера. Там идеология такая, что выход одного компонента не должен выводить из строя другие
Это скорее шина, по которой гоняется словарь, где коючи - топик, а значение - очередь сообщений
С микроконтроллером соглы, но это не только в микроконтроллерах применяется. А везде, где нужен риалтайм. В примерах применения часто фигурируют финансовые системы
Аноним 27/02/22 Вск 01:48:59 #422 №2307235 
>>2307223
Так у тебя устройства по сетке общаются или физически к одному хосту прицеплены? Если к одному хосту и на лялексе, то могут и через shared memory общаться или пайпы. Зачем тебе сокеты то?
Аноним 27/02/22 Вск 02:19:39 #423 №2307240 
>>2307138
Бумеры изобрели брокер сообщений.
Аноним 27/02/22 Вск 06:41:05 #424 №2307264 
>>2307223
>Там идеология такая, что выход одного компонента не должен выводить из строя другие
https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D1%80%D0%B0%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C

В любом случае, получается клиент-серверная архитектура, только децентрализованная.
Аноним 27/02/22 Вск 09:36:44 #425 №2307283 
>>2307201
Ну тогда иди нахуй. Серьёзно, я предложил тебе набор крестоджентельмена, что тебе ещё сказать?
Аноним 27/02/22 Вск 13:40:31 #426 №2307446 
>>2307200
> топ1 инструмент
> помойная студия ряя мам когда мы мне новый ноутпук для учебы купим?
Аноним 27/02/22 Вск 14:39:54 #427 №2307486 
>>2307446
Ты какую-то мысль хотел донести или просто не смог мимо пройти и не спиздануть ничего?
Аноним 27/02/22 Вск 17:53:34 #428 №2307649 
>>2307486
да, мысль в том, что обоссаным студентикам не пристало определять, что не нужно, а что нужно. По-этому, пожалуйста, не определяй.
Аноним 27/02/22 Вск 19:36:13 #429 №2307683 
>>2307649
>обоссаным студентикам
Так может тебе стоило штаны спустить прежде чем на горшок садиться?
Аноним 28/02/22 Пнд 09:03:29 #430 №2307949 
mcpp.png
В одной статье на хабре наткнулся на такую фразу, что постепенно все идет к полному удалению препроцессора и соответственно его директив.
По многим понятно, но на что можно заменить те же директивы условий, когда например при одной битности нужно определить тип как 32 бита, а при другой как 64 бита и другие такие штуки
И вроде как тоже препроцессор удаляет токены типа комментариев и тому подобное, как совсем без него-то?
Аноним 28/02/22 Пнд 10:18:47 #431 №2307974 
>>2307949
>на хабре
Аноним 28/02/22 Пнд 12:10:16 #432 №2308060 
>>2307949
Compile-time хуйня останется за препроцессором.
Аноним 28/02/22 Пнд 12:26:52 #433 №2308080 
>>2307974
> ряяя хабр помойка потому что русек
Аноним 28/02/22 Пнд 12:38:54 #434 №2308087 
>>2308080
Нет, хабр помойка потому что давно не тот.
Аноним 28/02/22 Пнд 12:42:20 #435 №2308090 
>>2308060
Ну т.е. я так понял, что только include поменять на модули вместо define value использовать enum, а вместо define fn() использовать inline, а остальное также?
Аноним 28/02/22 Пнд 12:53:53 #436 №2308097 
>>2308090
Замены проверок препроцессора они не подвезли? Тогда никак.
Аноним 28/02/22 Пнд 20:44:49 #437 №2308413 
>>2307949
учитывая скорость развития крестов лет через 50 вполне реально
Аноним 28/02/22 Пнд 22:37:32 #438 №2308493 

struct sockaddr_in

{

short sin_family; // Protocol type

u_short sin_port; // Port number of socket

struct in_addr sin_addr; // IP address

char sin_zero[8]; // Unused

};

что означает 5 строчка?

Аноним 28/02/22 Пнд 22:43:49 #439 №2308498 
>>2308493
Если ты про sin_zero, так это для того, чтобы можно было кастовать эту структуру в другие структуры, например sockaddr. А вообще мог бы загуглить
Аноним 01/03/22 Втр 16:00:31 #440 №2308828 
>>2308498
это типо ручной align as или я не понял?
Аноним 01/03/22 Втр 16:21:41 #441 №2308845 
Анончики, есть вопрос, немного связанный с WinAPI. Есть у меня канал (pipe) для IPC между службами, и я хочу передавать через него кастомные структуры размером до n байт. Вопрос состоит в том, как это правильно сделать? То есть, грубо говоря, один процесс посылает структуру struct1 второму, а тот лишь заполняет n байт (или меньше, в зависимости от размера struct1) в динамическом массиве. Я так понимаю, нужна шаблонная базовая структура, от которой будут наследоваться другие структуры?
Аноним 01/03/22 Втр 17:05:35 #442 №2308884 
>>2308845
Я бы предложил тебе не изобретать сериализацию, а взять готовую. Мы используем protobuf
Аноним 01/03/22 Втр 18:47:38 #443 №2308945 
>>2308884
А просто связка CRTP + std::typeid не пойдёт? Посмотрел про protobuf, он всё-таки больше подходит для больших данных, у меня канал данных небольшой, около 512-1024 байт. Да и скорость очень важна.
Аноним 01/03/22 Втр 18:52:32 #444 №2308950 
>>2308845
в протоколах обмена обычно делают заголовок фиксированной длины, в этом заголовке описывается что будет лежать в динамической части
просто посмотри в интернете как проектируют протоколы обмена, если уж так хочется свое сделать
Аноним 01/03/22 Втр 18:53:59 #445 №2308952 
>>2308945
Ну тут я не знаю, я пользователь этого api, внутрь не заглядывал, для меня это чёрный ящик с простынями кода. Не забудь о версионировании и изменении структур в будущем
Аноним 01/03/22 Втр 18:54:57 #446 №2308953 
>>2308493
зачастую оставляют чутка место если в будущем планируется модифицировать протокол, не теряя обратной совместимости
Аноним 01/03/22 Втр 18:59:17 #447 №2308957 
>>2308950
Пусть посмотрит на всякие простые протоколы поверх rs 232
Modbus например
Аноним 01/03/22 Втр 19:33:08 #448 №2308990 
>>2307949
>когда например при одной битности нужно определить тип как 32 бита, а при другой как 64 бита и другие такие штуки
КОНСТЭКСПР
О
Н
С
Т
Э
К
С
П
Р

https://godbolt.org/z/vWG7sn3sr
Даёшь зависимые типы в плюсы!
Аноним 01/03/22 Втр 23:20:22 #449 №2309085 
>>2308990
А, забыл. Для любителей шквариться шаблонами и сфинаями, можно https://godbolt.org/z/szMWeTM8o
Аноним 01/03/22 Втр 23:32:08 #450 №2309087 
>>2309085
using MyInt = size_t
Аноним 02/03/22 Срд 00:52:46 #451 №2309110 
>>2309087
Но это намного менее интересно, а главное - слишком просто.
Аноним 02/03/22 Срд 01:16:30 #452 №2309116 
>>2309110
Паты выше бинарны, а эта небинарна и абсолтно трансгендерна портируема.
Аноним 02/03/22 Срд 01:17:37 #453 №2309117 
>>2309110
Путь С++: почему всё должно работать просто, если может работать причудливо?
Аноним 02/03/22 Срд 09:39:36 #454 №2309164 
>>2309116
Я показал это лишь как пример того, как можно заменить препроцессорное определение средствами языка. Но именно для этого случая я бы, в зависимости от конкретной ситуации:
1) Обмазался бы ифдефами
2) Создал бы две структуры (FooBar32 и FooBar64)
3) Сделал бы два различных .cpp файла и выбирал бы нужный системой сборки
Аноним 02/03/22 Срд 11:10:17 #455 №2309211 
>>2309164
Ты графоманией занимаешься вместо разработки.
Аноним 02/03/22 Срд 11:31:18 #456 №2309242 
Сап аноны, есть один язык программирования, основанный на С, но с урезанными функциями.
Дело в том что float здесь 8 байт. Я читаю из бинарного файла число с плавающей точкой 4 байта. Как мне преобразовать 4 байта в 8?
Аноним 02/03/22 Срд 12:30:04 #457 №2309317 
>>2309242
float 4 байта, double 8 байт.
Аноним 02/03/22 Срд 12:39:48 #458 №2309324 
>>2309317
Нет, здесь и флот и добл 8 байт.
Аноним 02/03/22 Срд 12:42:52 #459 №2309328 
>>2309324
Что за язык? Почему float и double 8 байт? Зачем тогда в нем такое различие, на float и double, если у них одинаковые размеры?
Аноним 02/03/22 Срд 12:46:22 #460 №2309332 
short float
float
long float
long long float
unsigned float
Аноним 02/03/22 Срд 12:49:52 #461 №2309335 
>>2309332
Мне кажется их не существует.
Аноним 02/03/22 Срд 13:10:41 #462 №2309345 
>>2309328
> Что за язык?
Control
> Почему float и double 8 байт? Зачем тогда в нем такое различие, на float и double, если у них одинаковые размеры?
Я не знаю. Даже в мануале написано, что между ними никакой разницы.
Аноним 02/03/22 Срд 13:24:41 #463 №2309351 
>>2309345
>Control
Первый раз слышу, как и поисковики.

Определись, в каких форматах у тебя представлены вещественные числа в языке и в каком формате они в файле. После чего преобразуй float из файла, в свой (язычный) float.

https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8
https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8
Аноним 02/03/22 Срд 16:33:21 #464 №2309482 
Хочу написать приложение, которое можно будет легко адаптировать для разных протоколов связи. То есть есть данные, их надо отправить одним из некоторых способов. Может быть как отправка через tcp/ip, tor, i2p, какой то свой произвольный формат, хоть по usb. И вот хочется сделать какой то единый интерфейс для всего этого. Можно ли как то это обобщить все, кроме использвания какой то функции send, которая внутри себя уже просто вызовет другую соответствующую выбранному протоколу?
Аноним 02/03/22 Срд 17:08:11 #465 №2309504 
>>2309482
Всё есть файл...
Аноним 02/03/22 Срд 17:10:08 #466 №2309507 
>>2309482
>tcp/ip, tor, i2p
>обобщить все, кроме использвания какой то функции send
Как ты собрался реализовывать абстракцию между несовместимыми конечными адресами?
Аноним 02/03/22 Срд 17:18:32 #467 №2309510 
>>2309482
>>2309507
Забей, не выспался, да можно.
Аноним 02/03/22 Срд 18:16:28 #468 №2309552 
>>2309510
Как?
Аноним 02/03/22 Срд 18:26:59 #469 №2309566 
>>2309552
Что значит "как"?
Аноним 02/03/22 Срд 18:39:20 #470 №2309579 
>>2309566
Ну как? Я вот пока не знаю, поэтому к вам пришел за советом
Аноним 02/03/22 Срд 18:39:48 #471 №2309581 
>>2309504
Не понял намека
Аноним 02/03/22 Срд 18:45:14 #472 №2309589 
>>2309579
В чем именно у тебя проблема?
Аноним 02/03/22 Срд 19:16:18 #473 №2309613 
>>2309589
Нет идей кроме как расписывать передачу ручками для каждого протокола
Аноним 02/03/22 Срд 19:21:27 #474 №2309617 
>>2309613
Вот пример, как я бы реализовал, но на Си.
https://ideone.com/1vCdB8

А вот, что тебе почитать.
https://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%86%D0%B8%D1%8F
Аноним 02/03/22 Срд 19:25:37 #475 №2309620 
Снимок экрана 2022-03-02 в 19.24.57.png
Найс
Аноним 02/03/22 Срд 19:29:11 #476 №2309624 
>>2309620
Проблемы форточников.
Аноним 02/03/22 Срд 19:33:15 #477 №2309626 
>>2309617
Ну ты же сделал, то о чем я и говорил выше. Есть одна функция, которая уже из себя вызывает нужные для конкретного протокола. А я спрашивал можно ли сделать это элегантнее и с минимумом дублирования кода.
Аноним 02/03/22 Срд 19:34:34 #478 №2309627 
>>2309626
Какое у тебя может быть дублирование кода, когда у тебя все протоколы разные?
Аноним 02/03/22 Срд 19:39:59 #479 №2309633 
>>2309627
Они могут быть похожи. Некий тор и i2p кажется можно вообще как прокси юзать, тогда интерфейс будет вообще одинаковым, а можно ручками api дергать.
Аноним 02/03/22 Срд 19:41:58 #480 №2309638 
>>2309624
Там нет форточек
Аноним 02/03/22 Срд 19:46:07 #481 №2309642 
>>2309638
Это что, инсталлятор для лялеха? Зачем не из репозиториев ставить?
Аноним 02/03/22 Срд 19:48:01 #482 №2309645 
>>2309633
>Некий тор и i2p кажется можно вообще как прокси юзать
Если они у тебя установлены в системе, да. Тогда вообще никаких проблем с дублированием не будет, просто создай какую-нибудь функцию, типа connect_to_local_socks(port) и указывай порт для каждого локального прокси в зависимости от тора или айтупи. Дублирования нет.
Аноним 02/03/22 Срд 20:36:51 #483 №2309670 
Ребят, я по ravesli знаю, что говно, не кидайтесь камнями говном пытаюсь учить плюсы. Сайт сейчас отключили, есть у кого-нибудь их pdf-ка, или локально сохранённая копия сайта? Буду очень благодарен.
С вебархива тоже выпилили, прям грусть-тоска.

Почему из-за политики я должен страдать?
Аноним 02/03/22 Срд 20:42:42 #484 №2309673 
Аноны, есть задача написать логгер обращений программ в реестр, для удаления созданных программами ключей при деинсталляции. Короче чтоб реестр не засорялся. Я в системном программировании вообще не шарю, поэтому пришёл к вам за советом.
1. Правильно ли я понимаю, что этот функционал стоит реализовать в виде драйвера?
2. Каким образом я могу отследить событие установки приложения (или его обращения в реестр)?
Аноним 02/03/22 Срд 20:50:23 #485 №2309676 
>>2309673
Ты решил по тредам походить и сделать таким образом курсовую? Это же ты в Си треде спрашивал про тему.
>>2309343 →

>1. Правильно ли я понимаю, что этот функционал стоит реализовать в виде драйвера?
Хуки.

>2. Каким образом я могу отследить событие установки приложения (или его обращения в реестр)?
Хуки.
Аноним 02/03/22 Срд 20:58:04 #486 №2309677 
>>2309642
Кути. Всё красиво, перечисление компонентов
Аноним 02/03/22 Срд 20:58:12 #487 №2309678 
>>2309676
>Ты решил по тредам походить и сделать таким образом курсовую?
А это запрещено? Я стараюсь самостоятельно разбираться и тут задавать конкретные вопросы там, где у меня проблемы.

Про хуки сейчас прочитаю, спасибо. Кстати, нашёл ещё такую вещь как RegistryCallback для драйверов, вроде то что нужно.
Аноним 02/03/22 Срд 21:10:23 #488 №2309682 
>>2309676
> 1. Правильно ли я понимаю, что этот функционал стоит реализовать в виде драйвера?
Да, весь реестр ты не хуканешь.

> 2. Каким образом я могу отследить событие установки приложения (или его обращения в реестр)?
Отслеживать записи от определенных приложений (у тебя будет PID в каждом коллбэке). Но глобально задача не решается. Т.е. можно логировать все, что сделает msiexec, допустим. А если софтина не юзает msiexec, и экзешник не называется setup.exe ? Только какие-то эвристики придумывать, типа создания ключения в HKCU\Software или HKLM\Software

Писал виртуализацию реестра, так что можешь задавать вопросы
Аноним 02/03/22 Срд 21:10:45 #489 №2309683 
>>2309678
Тебе нужны хуки на вызов функций и dll. Драйвер только усложнит эту задачу, тут пользовательских администраторских прав более чем достаточно.
Аноним 02/03/22 Срд 21:16:26 #490 №2309685 
>>2309682
>А если софтина не юзает msiexec, и экзешник не называется setup.exe
Там изначально идея была в другом, чтобы удалить все созданные программой ключи, которые она создала, даже после установки. Определение является ли программа установщиком тут не нужно, просто чистка от мусора (неиспользуемых) ключей реестра.
Аноним 02/03/22 Срд 21:23:46 #491 №2309689 
Читаю из сети, соответственно после каждого чтения проверяю, что чтение успешно, поэтому приходится постоянно писать
client >> req;
if(!client){
break;}
, что заебывает. Как это можно красиво обернуть во что то?
Аноним 02/03/22 Срд 21:25:23 #492 №2309692 
>>2309689
Сначала хотел исключение кидать, что слишком жирно для такой мелкой штучки
Аноним 02/03/22 Срд 21:30:03 #493 №2309697 
>>2309692
В макрос #define READ(client, req) (client) >> (req); if (!(client)) break;
Аноним 02/03/22 Срд 21:30:51 #494 №2309698 
>>2309685
нет такого понятия, как "неиспользуемый ключ реестра". Если ты хочешь что-то почистить - надо записать то, что ты хочешь почистить, как, например, делает Ashampoo Uninstaller.

Просто рандомно хуярить ключи на основе каких-то эвристик - так работают все эти хуевые бесплатные чистильщики реестра, а потом после чистки винду переставляешь.
Аноним 02/03/22 Срд 21:31:52 #495 №2309699 

>>2309697
За макросы руки отобъют
Аноним 02/03/22 Срд 21:33:51 #496 №2309701 
>>2309698
Ты не понял, да? Смысл в том, что многие программы под окнами, не удаляют созданные ключи в реестре после своей деинсталяции. Логгер записывает все созданные, удаляемой программой, ключи в базу данных, чтобы после деинсталяции удалить их самостоятельно.

>нет такого понятия, как "неиспользуемый ключ реестра".
В итоге, получаем неиспользуемые ключи реестра.
Аноним 02/03/22 Срд 21:35:07 #497 №2309702 
>>2309701
> Ты не понял, да? Смысл в том, что многие программы под окнами, не удаляют созданные ключи в реестре после своей деинсталяции. Логгер записывает все созданные, удаляемой программой, ключи в базу данных, чтобы после деинсталяции удалить их самостоятельно.
Чел, я тебе об этом и пишу - тебе надо тогда сканировать процесс установки, чтобы знать, какие ключи не удалились. Ровно так, как делает Ashampoo uninstaller.
Аноним 02/03/22 Срд 21:37:01 #498 №2309703 
>>2309702
Сканирование идет всех процессов, включая уже установленные, чтобы удалить еще и созданные на этапе работы ключи, таким образом определять, кто есть установщик не придется.
Аноним 02/03/22 Срд 21:38:38 #499 №2309706 
>>2309699
Колбэк на отвал подключения можешь повесить?
Аноним 02/03/22 Срд 21:40:42 #500 №2309707 
>>2309706
Нет
Аноним 02/03/22 Срд 21:43:44 #501 №2309710 
>>2309703
Типа навесить хук на любое обращение в реестр, и если обращение идёт в software на создание ключа, то логировать его?
Потом хуком перехватывать деинсталляцию приложений?



Аноним 02/03/22 Срд 21:46:40 #502 №2309717 
>>2309710
>Типа навесить хук на любое обращение в реестр
Не любое, а только создание ключей\параметров.

>и если обращение идёт в software на создание ключа, то логировать его
Логгируй все.

>Потом хуком перехватывать деинсталляцию приложений?
Такого хука нет, программа может быть вообще portable версии, но фактически удалить ее можно будет и ты никак это не отследишь без огромной аналитической работы.
Аноним 02/03/22 Срд 21:52:36 #503 №2309723 
>>2309717
Думаю, меня никто не побьет если я буду предполагать что у программы в реестре зареган unistall. В таком случае, как я могу определить момент деинсталляции? Может в реестре менять UnistallString на путь к моему деинсталлятора, который сначала удаляет мусорные ключи и затем вызывает оригинальный деинсталлятор?
Аноним 02/03/22 Срд 21:55:59 #504 №2309726 
>>2309723
Возможно сработает винду не видел уже несколько лет в живую, только сначала придется вызывать оригинальный деинсталятор, а потом твой, потому что оригинальный деинсталятор тоже может создавать ключи активности программы.
Аноним 02/03/22 Срд 21:57:25 #505 №2309728 
>>2309726
Звучит логично. Спасибо, аноны, буду думать в этом направлении…
Аноним 02/03/22 Срд 22:19:35 #506 №2309744 
>>2309670
Выспался, вспомнил, что в гугле меня не забанили пока что и нашёл открытую раздачу. Если кому-то нужно, то вот ссыль. Сам сайт какой-то вонючий, нужна регистрация, но после неё качать можно сразу.
s3. itor. be/viewtopic.php?t=77232
Аноним 02/03/22 Срд 22:29:32 #507 №2309750 
>>2309706
Короче похуйч исключение кину жа и все
Аноним 03/03/22 Чтв 06:07:55 #508 №2309896 
изображение.png
Ну вот и всё
Аноним 03/03/22 Чтв 06:10:06 #509 №2309898 
>>2309896
И дальше будет только хуже(
Аноним 03/03/22 Чтв 14:13:37 #510 №2310129 
image.png
Почему это не компилится
https://godbolt.org/z/f69dTMa7o
а если вынести Inner из Outer наружу, то нормально компилится. Или ещё если явно прописать Outer(Inner const &inner = {-1}) { ... } то тоже компилится.

Можно как-то без этого заставить компилиться?
Аноним 03/03/22 Чтв 14:14:14 #511 №2310130 
image.png
>>2310129
Блин, не тот скрин
Аноним 03/03/22 Чтв 14:21:50 #512 №2310132 
image.png
>>2310130
Эм, ок, сорри, не подумал так сделать, вроде работает. Хотя блин странно, это баг что ли какой-то, он причём и в кланге, и в гцц есть
Аноним 03/03/22 Чтв 15:30:40 #513 №2310162 
>>2310132
Это не баг, а основы языка.
Аноним 03/03/22 Чтв 17:17:13 #514 №2310227 
>>2310162
Понятия не имею, про что ты вообще, обожаю такие короткие бессодержательные ответы

В этом случае есть что ли какая-то существуенная разница между
struct S1 { int x{-1}; };
и
struct S2 { int x; S2() noexcept : x{-1} {} };
и
struct S3 { int x{-1}; S3() noexcept {} }
?

Или тут >>2310129 с точки зрения языка есть фундаментальная разница между тем, что Inner находится внутри Outer или снаружи?
Аноним 03/03/22 Чтв 18:04:48 #515 №2310251 
Привет, анон. Помоги, пожалуйста радиоинженеру, которому внезапно понадобилось написать немного обработки сигналов на Qt.

Есть одна библиотека для обработки сигналов, liquid-dsp. Официально она не поддерживается под Win, но есть зборочка в рамках другого проекта, и я хочу взять оттуда dll, def и lib. https://github.com/cjcliffe/CubicSDR/tree/master/external/liquid-dsp/msvc/32

В Qt я собираю msvc2019. Пропробовал сделать самое простое:
#include <liquid.h>
(...)
qDebug() << liquid_libversion_number();


Оно билдится без ошибок, но крашится в рантайме сразу же: The program has unexpectedly finished.
Я забыл что-то важное? Библиотеку линковщику указал, ошибок линковки нет. DLLку рядом с бинарником положил. Разрядность проекта и библиотеки проверил (32).

В линуксе поставленный из репозитория .so подгрузился вообще без проблем и сделал то, что от него требовалось.
Аноним 03/03/22 Чтв 18:20:57 #516 №2310268 
>>2310251
>The program has unexpectedly finished.
Собери отладочный билд и запусти под отладчиком, такое сообщение вообще не информативное.
Аноним 03/03/22 Чтв 20:08:48 #517 №2310336 
>>2310227
Тебе компилятор написал, что {} в твоём контексте это <brace-enclosed initializer list>. Открываешь гугл и смотришь что такое initializer list и какой у него приоритет при перегрузке. Как тебе раньше ответили - это база.
Аноним 03/03/22 Чтв 20:41:51 #518 №2310347 
Как мне передать объекту который я создал в QtDesigner сигнал из потока отдельного? К чему обратиться?
Аноним 03/03/22 Чтв 21:25:59 #519 №2310381 
image.png
image.png
>>2310336
Ну ты троллишь или как.
https://en.cppreference.com/w/cpp/language/list_initialization#Explanation

Inner в изначальном примере с ошибкой компиляции (без явно определённого конструктора) - это агрегатный тип, поэтому его должно быть можно инициализировать через braced-init-list. Можно хоть все конструкторы выпилить, но его всё равно можно будет инициализировать (24 строка). И std::initializer_list тут вообще ни при чём.

https://godbolt.org/z/PxEqY1Mxa
Почему на 14 строке я могу спокойно написать:
Outer(Inner const &inner = {42}) { ... }

но не могу так:
Outer(Inner const &inner = {}) { ... }
?

Ну да, не баг, БАЗА, ОСНОВЫ ЯЗЫКА, и ничего что другой компилятор вообще абсолютно другую ошибку выдаст, без упоминания инишалайзер листа.
Аноним 04/03/22 Птн 06:52:36 #520 №2310504 
>>2310381
>Почему на 14 строке я могу спокойно написать:
В ссылке, которую ты скинул, есть объяснение.

>Ну да, не баг, БАЗА, ОСНОВЫ ЯЗЫКА
Где тут баг?

>и ничего что другой компилятор вообще абсолютно другую ошибку выдаст
Какую?
Аноним 04/03/22 Птн 19:41:43 #521 №2310864 
>>2310129
>>2310227
>Или тут >>2310129 с точки зрения языка есть фундаментальная разница между тем, что Inner находится внутри Outer или снаружи?
В C++ традиционно сложные отношения между вложенными классами и complete class context внешнего.
Аноним 04/03/22 Птн 20:53:29 #522 №2310910 
>>2309896
чтоб не ебаться с инсталятором конпеляю сам, запускаю, ухожу на три часа, возвращаюсь и всё готово, могу плагины сконпелять какие хочу, могу раздебажить насколько угодно внутрь, поглядеть какие куски кода выполняются и какие переменные и шо куда, рекомендую.
Аноним 04/03/22 Птн 20:58:07 #523 №2310914 
>>2310910
>чтоб не ебаться с инсталятором конпеляю сам, запускаю, ухожу на три часа
Сначала хотел посмеяться, а потом вспомнил гуи инсталяторы, так действительно лучше.
Аноним 05/03/22 Суб 12:22:11 #524 №2311210 
>>2310251
> 2022
> 32
собери в msys2 на mingw32 и всё будет работать, там легко
Аноним 05/03/22 Суб 17:44:05 #525 №2311415 
Вопрос к nvidia куну: представительство в РФ закрывают? Сотрудников вывозят? Реквестирую подробности
Аноним 05/03/22 Суб 21:49:02 #526 №2311560 
>>2311415
А зачем их вывозить? Чебурнет ещё не вводили и они могут работать на барена удалённо.
Аноним 05/03/22 Суб 21:50:59 #527 №2311562 
Хз куда писать, поэтому спрошу тут. На сколько плохо много раз открывать и закрывать tcp соединение для отправки маленьких пакетов? Дело в том, что я хочу периодически отправлять нескольким адресам (их может быть довольно много) текстовые сообщения. Держать 10000 постоянных соединений с каждым тупо. На сколько большой оверхет будет?
Аноним 05/03/22 Суб 21:58:32 #528 №2311567 
>>2311560
Тут ужечточился экспорт-контроль, точнее слежение за ним. То есть список технологий, который можно передавать заграницу, ограничен.

Мы в хуавее еще до этой заварухи сильно изучали этот список, и выяснили, что ИИ это прямо на грани. И даже некоторые проекты типа manifold learning пришлось не запускать от греха подальше.
Аноним 05/03/22 Суб 22:49:34 #529 №2311583 
>>2311567
Ничего не понял. Чьи, кому передавать? Самим себе из хуавея в хуавей?
Аноним 05/03/22 Суб 22:49:45 #530 №2311584 
>>2311415
этот заполнятель эксель табличек уже сьебал из рассеюшки и уже обустраивается на новом месте
ничего, сейчас крыса придет в себя и отпишется через месяц-другой
Аноним 05/03/22 Суб 22:52:43 #531 №2311587 
>>2311567
Имеется в виду, что вы хантите челиков из российских компаний, они сливают вам технологии и вы их передаёте далее как свои "разработки"?
Аноним 05/03/22 Суб 22:53:35 #532 №2311588 
>>2311583
Твой код, российского инженера, из Москвы за границу летит по проводу к китайцам. Вот в этот момент происходит экспорт. И вот какой конкретно код и для чего он написан определяет законность пересечения этой границы.
Аноним 05/03/22 Суб 23:21:49 #533 №2311606 
https://godbolt.org/z/78r8zsdaq

Почему A? Почему не B? Почему не ambiguous overload error?
Аноним 06/03/22 Вск 07:14:38 #534 №2311681 
>>2311606
>Почему A? Почему не B?
Потому что код говно, которое даже кодеру не ясно, что ты хотел сделать.

>Почему не ambiguous overload error?
Где оно тут должно быть?
Аноним 06/03/22 Вск 13:07:22 #535 №2311774 
>>2311606
хз, не разбираюсь в таких тонкостях, но замечу, что, во-первых, если ты в инициализации b заменишь внешние фигурные скобки на круглые, то ошибка, которую ты ожидаешь, внезапно появится

во-вторых, если ты оставишь двойные фигурные скобки, но уберёшь из B конструктор, который принимает A, то увидишь ошибку, что типа no known conversion '<brace-enclosed initializer list>' to 'const B&'
Аноним 06/03/22 Вск 13:10:48 #536 №2311777 
>>2300158
Все там есть (для тех же кортекс М), просто без MMU использование может быстро привести к сильной фрагментации памяти. Дурной тон, конечно использовать, но если очень хочется - можно, нужно только о кастомных аллокаторах позаботиться.
Аноним 06/03/22 Вск 13:11:09 #537 №2311779 
>>2300158
Все там есть (для тех же кортекс М), просто без MMU использование может быстро привести к сильной фрагментации памяти. Дурной тон, конечно использовать, но если очень хочется - можно, нужно только о кастомных аллокаторах позаботиться.
Аноним 06/03/22 Вск 13:17:30 #538 №2311781 
>>2308990
Спасибо
с с++ 98 grandfather inside
Аноним 06/03/22 Вск 17:04:51 #539 №2311905 
Тред хоть и мёртвый, но пожалуй спрошу.
Есть класс sf::Keyboard и в нём есть enum Key, в котором перечислены все клавиши.
Я хочу создать класс EventManager, и "скопировать" этот enum себе в класс, т.е что бы EventManager::W равнялось sf::Keyboard::W. Как вариант нашёл добавить typedef в свой класс:
typedef sf::Keyboard::Key Key, и теперь элементы enum будут доступны так: EventManager::Key::W. Есть ли вариант добавить этот enum, что бы он был виден в скопе самого класса? И насколько "легален" вариант который я нашёл с typedef'ом?
Аноним 06/03/22 Вск 17:37:42 #540 №2311922 
>>2311905
Надеюсь понятно.

https://ideone.com/ZfXjbJ
Аноним 06/03/22 Вск 17:40:45 #541 №2311924 
>>2311905
>>2311922
В дополнение, typedef использовать в C++, то же самое, что есть говно.
Аноним 06/03/22 Вск 17:48:28 #542 №2311929 
>>2311924
Какой язык, такие блюда.
Аноним 06/03/22 Вск 18:15:49 #543 №2311951 
>>2311584
Съебал в связи с последними событиями или раньше? Съебал в другой офис nvidia?
Аноним 06/03/22 Вск 18:21:45 #544 №2311954 
>>2311415
На момент последней коммуникации в четверг - Офис остается для всех желающих в нем работать. Все остальные желающие сьебать - имеют право сьебать в любой офис NV.

Собстно, у меня из команды сьебывают почти все, 1 человек остается в РФ только. Так что, как получу ворквизу - попрощаюсь с РФ навсегда.
Аноним 06/03/22 Вск 18:30:42 #545 №2311962 
>>2311954
Как быстро визу дают? В какую страну уезжаешь? Вас чартерами вывозят или самоходом?
Аноним 06/03/22 Вск 18:31:36 #546 №2311963 
>>2311954
Алсо, какая ситуация в других командах?

тот же вопрос анонам из яндекса, мейла и хуавея
Аноним 06/03/22 Вск 18:38:44 #547 №2311969 
>>2311962
Визы зависят от посольств и прочего. Еду я в европу, но весьма специфическую, так что диванон-лигивон. Дохера народу сьебывает в Амстер или там в Берлин, Лондон еще.

>>2311963
В других командах все всеьма похоже. Сьебывают почти все
Аноним 06/03/22 Вск 19:34:40 #548 №2311996 
>>2311963
> тот же вопрос анонам из яндекса, мейла и хуавея
А нахер хуавею валить? Россия и Китай братья навек! Там даже мыслей об этом нет.
Интел тоже весь остается. Пока вроде даже не рассматривается релокация.
Аноним 06/03/22 Вск 21:46:35 #549 №2312046 
>>2311996
>А нахер хуавею валить
Не компания, а сотрудники. В мейле сотрудники массово выезжают зарубеж (как минимум на время), опасаясь закрытия границ. Работать продолжат на удаленке
Аноним 06/03/22 Вск 21:49:07 #550 №2312047 
>>2312046
В хуавее даже из Москвы удаленку не одобряют, бро.
Аноним 06/03/22 Вск 23:50:09 #551 №2312105 
>>2311681
>Потому что код говно
Я согласен
Код не мой, но интересно разобраться
Аноним 07/03/22 Пнд 18:58:40 #552 №2312547 
>>2311954
уебывай, говно
не пропадешь там, ведь у тебя охуенный скилл заполнения эксель табличек и написания батфайликов


Аноним 07/03/22 Пнд 21:11:39 #553 №2312641 
Ребят, кто шарит как забилдить это? Нужно качать VS2008?
https://github.com/microsoft/Detours
Аноним 07/03/22 Пнд 22:02:47 #554 №2312683 
>>2312547
Когда мой эксель и батники оплачиваются в несколько раз лучше, чем твой С++ - это лишь повод задуматься о собственной карьере, а не завидовать мне.
Аноним 07/03/22 Пнд 22:10:17 #555 №2312686 
image.png
>>2312641
Я просто нажал Build в 22 студии (правда тулзы от 19 стоят тоже, солюшен на 22 не грейдил) - и все собралось.
Аноним 07/03/22 Пнд 22:11:24 #556 №2312687 
>>2312641
Нужно качать интеллект. А ещё эксель и батники.
Аноним 08/03/22 Втр 00:01:39 #557 №2312728 
>>2312683
я тебе не завидую, щенок
уебывай со страны
Аноним 08/03/22 Втр 04:09:14 #558 №2312788 
>>2312728
Мало того, что завидуешь, так еще и горишь, хихи
Аноним 08/03/22 Втр 17:15:21 #559 №2313003 
image.png
>>2312686
Анон, пытался собрать на двух разных машинах, и там и там ошибка одинаковая. Что я делаю не так?
Аноним 08/03/22 Втр 17:17:11 #560 №2313005 
>>2313003
Detours вроде x64 не поддерживает бесплатно, а только за деньги.
Могу ошибаться.
Аноним 08/03/22 Втр 17:20:12 #561 №2313007 
>>2313003
>>2313005
Поддерживает, я ошибся.
Аноним 08/03/22 Втр 17:27:14 #562 №2313010 
>>2313007
насколько я понял с тех пор как они выкатились в опенсорс они стали полностью бесплатными. Анон выше, судя по скрину, билдил под x64, у меня и под x86 ошибка вылетает.
Аноним 08/03/22 Втр 17:56:12 #563 №2313032 
image.png
>>2313010
Аноним 08/03/22 Втр 18:08:22 #564 №2313041 
>>2313010
Попробуй через vcpkg собрать и установить.

https://github.com/Microsoft/Detours/blob/master/samples/README.TXT
Аноним 08/03/22 Втр 18:09:11 #565 №2313042 
>>2313032
ты просто открыл солюшен и нажал "собрать"? Не менял ничего вообще?
Аноним 08/03/22 Втр 18:21:26 #566 №2313046 
>>2313042
все именно так
Аноним 08/03/22 Втр 18:21:52 #567 №2313047 
>>2313041
сейчас попробую. Кстати, может мне надо какие-то дополнительные средства сборки накатить? Я когда vs ставил, оставил по дефолту все что качается для разработки на крестах
Аноним 08/03/22 Втр 18:22:31 #568 №2313048 
>>2313047
Хз, студию видел последний раз лет 5 назад.
sageАноним 08/03/22 Втр 19:28:19 #569 №2313061 
>>2312788
я тебе добро делаю, сжимаю твои булки, это тебе пригодиться ближайшее время

Аноним 08/03/22 Втр 19:29:50 #570 №2313063 
куда вас там перекидывают? с учетом того что русских в европке щас жрать будут, полгодика минимум
кипр, венгрия-румыния? там вроде поменьше хейта

Аноним 08/03/22 Втр 19:30:11 #571 №2313065 
лень гуглить просто
sageАноним 08/03/22 Втр 19:32:00 #572 №2313066 
Никуда.
Аноним 08/03/22 Втр 19:44:36 #573 №2313076 
image.png
>>2313066
>Никуда
о, хорошее место, в таких местах всегда нужны специалисты в ничегонеделании

Аноним 08/03/22 Втр 20:35:23 #574 №2313094 
http://cpp.sh/32hwn
Почему иногда я получаю срабатывание условия? Мне казалось, что std::memory_order_seq_cst должен был решить эту проблему?
Аноним 08/03/22 Втр 20:41:44 #575 №2313099 
>>2313094
Что происходит, если у тебя сначала только тред с функцией s() полностью отработает?
Аноним 08/03/22 Втр 20:52:07 #576 №2313103 
>>2313099
Точно, хуя я дурачок. А можно как-нибудь этот пример починить, чтобы при смене memory_order'а проблема появлялась?
Аноним 08/03/22 Втр 21:28:44 #577 №2313127 
>>2313103
http://cpp.sh/4jz7l периодически может выдать проблемы при любом опрядочивании, ниже sequential consistency. Даже на x86 с его Total Store Order. У меня "BAD" появилось 1 раз на 3 запуска.
Аноним 08/03/22 Втр 21:29:03 #578 №2313128 
>>2313127
>упорядочивании
Быстрофикс
Аноним 08/03/22 Втр 21:45:23 #579 №2313143 
>>2313061
А он и не против
Аноним 08/03/22 Втр 23:44:28 #580 №2313226 
>>2313061
Может лучше маслицем смазать? Арахисовым.
Аноним 09/03/22 Срд 00:41:53 #581 №2313272 
>>2313041
спасибо анон, это заработало
Аноним 09/03/22 Срд 00:45:17 #582 №2313275 
Аноны, кто шарит в API реестра винды? Если я хочу, скажем, залогировать создание ключей определенным процессом, хорошей ли идеей будет логировать дескриптор hkey и адрес подключа? Как из этого говна получить нормальный идентификатор только что созданного ключа?
Аноним 09/03/22 Срд 08:12:16 #583 №2313330 
>>2313275
Функции RegCreateKeyExAW и RegSetValueExAW принимают дескриптор ветки, и расположение до ключа, и имя значения, если это RegSetValueExAW. Получить строковое представление дескриптора можно через swicth-case.

>хорошей ли идеей будет логировать дескриптор hkey и адрес подключа
Какой адрес ты собрался логгировать?

Все, что тебе нужно есть тут https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-functions
Аноним 09/03/22 Срд 12:33:10 #584 №2313403 
>>2313330
> Какой адрес ты собрался логгировать?
Я про аргумент lpSubKey
Короче говоря, вопрос был в том, можно ли парой hkey-lpSubKey однозначно определить ключ в реестре, чтоб потом читать эти пары из лога и совершать операции (удаления например)
Аноним 09/03/22 Срд 12:38:34 #585 №2313408 
>>2313330
Кажется я понял, что если буду использовать не Ex-версию функции, то она будет возвращать мне дескриптор созданного ключа. Если так, то наверное достаточно логировать его
Аноним 09/03/22 Срд 12:38:41 #586 №2313409 
>>2313403
Да.
Аноним 09/03/22 Срд 12:39:55 #587 №2313410 
>>2313408
>Кажется я понял, что если буду использовать не Ex-версию функции, то она будет возвращать мне дескриптор созданного ключа. Если так, то наверное достаточно логировать его
Я просто надеюсь, что ты знаешь, как работают указатели и дескрипторы...
Аноним 09/03/22 Срд 22:35:12 #588 №2313794 
Есть базовый класс с полем type. Хочу в наследнике написать type =1, но не могу. Что делать?
Аноним 09/03/22 Срд 23:13:03 #589 №2313804 
>>2313794
читай про public protected и private наследовании.
Аноним 12/03/22 Суб 14:40:58 #590 №2315444 
Есть курсы для людей с опытом, чтобы можно было относительно быстро пройти шелупонь типо массивов и циклов и перейти к практике чего-то достаточно узкоспециализированного?
Аноним 12/03/22 Суб 15:33:56 #591 №2315474 
>>2315444
>курсы
>для людей с опытом
>массивов и циклов
>перейти к практике чего-то достаточно узкоспециализированного
Тут много хуйни пишут, но такую хуйню первый раз вижу.
Аноним 12/03/22 Суб 19:09:45 #592 №2315528 
>>2315444
Хуй знает чего ты хочешь
Можешь на Ютубе выступления посмотреть back to basics на тему которая интересует
Аноним 12/03/22 Суб 20:14:47 #593 №2315568 
> Make
> CMake
> Meson
> Ninja
> SCons
> Jam
Что использовать то, ёбана
Аноним 12/03/22 Суб 20:18:53 #594 №2315570 
>>2315568
> Make
Для чего-то небольшого, можно.

> CMake
Можно.

> Meson
> Ninja
> SCons
> Jam
Идут нахуй.
Аноним 12/03/22 Суб 20:23:38 #595 №2315575 
>>2315568
MSBuild.
Аноним 12/03/22 Суб 20:27:55 #596 №2315578 
шизоид.webm
>>2315575
Вот этого не слушай.
Аноним 12/03/22 Суб 20:36:46 #597 №2315581 
>>2315570
так говоришь, как будто симейк умеет сам билдить
Аноним 12/03/22 Суб 20:40:04 #598 №2315582 
>>2315581
cmake --build
Фактически собирает не симейк, но какая разница, что он там вызывает для сборки.
Аноним 12/03/22 Суб 20:54:28 #599 №2315592 
>>2315568
то, с чем у тебя интеграция в IDE. т.е. Симейк или Мсбилд.
Аноним 12/03/22 Суб 21:16:09 #600 №2315603 
Вопрос уровня теоремы сосницкого. Дано задание,сдлеать программу,которая будет форматировать текст. Она должна убирать лишние пробелы ,убирать пробелы перед знаками препинания после слова и ставить пробел после знака препинания. Вот рабочий код одногруппника:
https://0bin.net/paste/lHjkzWLo#j1zFHuowdCdbmAR18N2if2mpkXsN-1UIfix9e6qRKAO
А вот мой:
https://0bin.net/paste/o7bbTRui#a2alHg+OkD2adbl5Q6br6vDKSMxNL9tpQ-8zlY3+1FC

Прикол в том,что у меня почему-то в строку вместо букв записываются '\0' . Почему так? Новый проект создавал,в онлайн компилятор вставлял,везде одно и то же.
Аноним 12/03/22 Суб 21:22:01 #601 №2315606 
В бусте для отправки данных, подключений и тд и тп используются async connect, async write и подобное. Ну я так понимаю, что boost как то внутри себя решает когда данные отправлены, но ответ еще не пришел, что можно пока отправить что-то на другой сокет. Ну ок, а когда операция завершается и управление передается в мою функцию, то что происходит тогда? Каким образом выполнение идет в моей функции? Все кроме async'ов стопится или как?
Аноним 12/03/22 Суб 21:22:28 #602 №2315607 
>>2315603
>18 строка
>else if (str = ' ' && sgn) {
Возможно проблема в этом.
Аноним 12/03/22 Суб 21:23:23 #603 №2315609 
>>2315606
То есть если у меня есть async_connect1, on_connect->f1(), то же самое с f2, где f1 и f2 долгие функции. Если начнет выполнятся f1, то f2 уже не сможет и будет ждать или как?
Аноним 12/03/22 Суб 21:28:29 #604 №2315611 
>>2315603
Ёбаный рот этого Си Плас Плас.
Опять присвоение вместо равенства,которое не обрабатывается как исключение
Спасибо
Аноним 12/03/22 Суб 21:29:43 #605 №2315612 
>>2315611
> Опять присвоение вместо равенства,которое не обрабатывается как исключение
А почему оно должно обрабатываться как исключение? Это вполне себе нормальное выражение, которое имеет определённое значение.
Аноним 12/03/22 Суб 21:29:54 #606 №2315613 
>>2315611
КАжется, что нельзя строки сишные так сравнивать.
Аноним 12/03/22 Суб 21:30:23 #607 №2315614 
>>2315613
То есть можно, но оно работает не так как ты ожидаешь
Аноним 12/03/22 Суб 21:32:04 #608 №2315615 
>>2315614
В коде сравнение идет символов, а не строк.
Аноним 12/03/22 Суб 22:13:15 #609 №2315627 
I understand your frustration.jpg
>>2315611
Используй варнинги (ВСЕ), линтеры, clang-tidy, статические анализаторы, динамические анализаторы и всё остальное. Хреново, но щито поделать.
Аноним 12/03/22 Суб 23:05:20 #610 №2315637 
>>2315612
Вот как раз хотел спросить,а в чем смысл? Зачем нужно присвоение в условиях и циклах while?
Аноним 12/03/22 Суб 23:11:57 #611 №2315638 
>>2315637
Иногда короче писать сразу в for, нежели ниже
Аноним 12/03/22 Суб 23:19:48 #612 №2315639 
>>2315637
Ну а если строго, то в языке просто есть expressions, statements и еще вроде что то. В стандарте написано, что на таком то месте в for может стоять такой тип. С точки зрения языка нет разницы там i++ или что то другое. Я так сходу и не приведу пример когда это прям гораздо удобнее
Аноним 12/03/22 Суб 23:38:13 #613 №2315650 
>>2315637
это не про возможность присвоение в условиях

просто operator= возвращает какое-то значение, которое в твоём случае можно неявно привести к bool, поэтому ты можешь присваивание написать внутри if, например

про использование этого на практике, в коде на си особенно часто встречается что-то вроде

if ((error = getResource(&out)) != 0)
{
// обработать ошибку
}

ну или так ещё можно
while ((ch = getChar()) != EOF) { }

ещё, если бы оператор присваивания ничего не возвращал, нельзя было бы написать

x = y = z;
это то же самое, что
x = (y = z);
то есть переменным x и y присваивается значение z, потому что равно правоассоциативно
Аноним 12/03/22 Суб 23:49:58 #614 №2315654 
>>2315650
>то есть переменным x и y присваивается значение z, потому что равно правоассоциативно
вернее этот код эквивалентен
y = z;
x = y;
проебался
потому что из оператора = возвращается ссылка на то, к чему присваивается какое-то значение ("y = z" вернёт ссылку на y)
Аноним 13/03/22 Вск 00:47:27 #615 №2315670 
Короче такая тема: программа должна уметь соединяться с сервисом через i2p, либо же просто tcp. Я не знаю как лучше разбить программу на файлы. Хотел бы файлик в котором все функции за сеть отвечают. Начал так делать, но столкнулся с проблемой: для i2p нужкн конфиг с настройками, а где этот конфиг хранить не понятно. Как у дедов файлик и перезагружать приложение после каждого изменения чет такое)) А создать глобальный конфиг на всю программу тоже не понятно как. Да и как то странно
Аноним 13/03/22 Вск 07:33:05 #616 №2315705 
>>2315670
>для i2p нужкн конфиг с настройками, а где этот конфиг хранить не понятно
Там же где их хранят все нормальные люди, "$HOME/.config/app", "/etc/app", "%APPDATA%/app", "Program FIles/app" и т. д..

>Как у дедов файлик и перезагружать приложение после каждого изменения чет такое))
Зачем перезагружать?
А, как не деды делают?

>А создать глобальный конфиг на всю программу тоже не понятно как.
Что такое глобальный конфиг?
Аноним 13/03/22 Вск 15:53:44 #617 №2315943 
С помощью чего правильно выделать, освобождать память?
Аноним 13/03/22 Вск 15:55:19 #618 №2315944 
>>2315943
new, delete.
Аноним 13/03/22 Вск 16:08:51 #619 №2315951 
>>2315943
vector, make_unique, make_shared
Этого >>2315944 не слушай. New и delete нужны теперь только для реализации аллокаторов и умных указателей. Ну или если твой фреймворк принимает сырые указатели и дальше сам ими управляет
Аноним 13/03/22 Вск 17:02:27 #620 №2316006 
>>2315606
Бамп
Аноним 13/03/22 Вск 19:29:27 #621 №2316132 
>>2315943
пишешь свой custom allocator, все остальное не тру


Аноним 13/03/22 Вск 19:32:44 #622 №2316135 
Дайте пожалуйста ссылку на объяснение действий, при которых вектор копируется, копируется только ссылка, или перемещается, и подводные камни всего этого
Аноним 13/03/22 Вск 19:34:19 #623 №2316137 
>>2316135
>Дайте пожалуйста ссылку на объяснение действий
Поисковики под санкциями?
Аноним 13/03/22 Вск 19:40:41 #624 №2316144 
>>2316137
Гугл забанили?
Аноним 13/03/22 Вск 19:45:41 #625 №2316147 
Есть проект пизженный с гитхаба. Там в одном файле инклудится другой, находящий вообще в хуй знает какой папке. Я в clang++ прописал --include-directory="...", но нихуя не помогло. Че делать?
Аноним 13/03/22 Вск 19:47:09 #626 №2316149 
>>2316147
>Есть проект пизженный с гитхаба.
>Че делать?
Использовать систему сборки, которая там есть, а если нет, то читать ридми.
Аноним 13/03/22 Вск 19:53:29 #627 №2316155 
>>2316147
Молиться, что не придётся эти файлы искать и копировать вручную.
Аноним 13/03/22 Вск 20:05:52 #628 №2316159 
>>2316144
Хрень гуглится какая-то в основном.
Аноним 13/03/22 Вск 21:21:03 #629 №2316199 
Хелпаните, плез. Я целый день сижу, дрочусь с этим. Мне нужно https://github.com/PurpleI2P/i2pd отсюда использовать пару функций. Если точнее, то из файла SAM.h мосты создать. Там конечно, есть инструкция как собирать, но мне не надо весь проект собирать. Я пытался просто ручками поинклудить и компильнуть из консоли, но оно ругается на функции, которые используются в какой то там библиотеке и хз что делать дальше
Аноним 13/03/22 Вск 21:23:48 #630 №2316200 
>>2315444
> шелупонь типо массивов
Статисеское и динамическое выделение памяти под массив - это уже достаточно специализированно?
Аноним 13/03/22 Вск 21:26:09 #631 №2316203 
>>2316199
boost прилинкуй к нему и зависимые исходные файлы добавь в сборку.
Легче целиком собрать, чем такой хуйней заниматься.
Аноним 13/03/22 Вск 21:28:02 #632 №2316205 
>>2316199
>>2316203
И openssl еще.
Аноним 13/03/22 Вск 21:31:40 #633 №2316207 
>>2316203
>>2316205
А вот как? Я до этого всю жизнь в консоли писал cpp которые нужно компилировать вместе с проектом. Я же не могу руками все файлы из буста в параметры компиляции передать. Максимум папку для поиска инклудов
Аноним 13/03/22 Вск 21:32:30 #634 №2316208 
>>2316207
Библиотеки.
Аноним 13/03/22 Вск 21:37:51 #635 №2316211 
>>2316208
Я собрать сначала cmake'ом ту либу, а потом o файлы нужные передать компилятору? Ты же об этом или нет?
Аноним 13/03/22 Вск 21:43:13 #636 №2316214 
>>2316211
.so, .a, .dll, .lib - библиотеки.
https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

Ты собрался работать с криптографией и сетью, но даже не знаешь, что такое библиотеки? Может быть стоит бросить эту идею?
Аноним 13/03/22 Вск 21:46:57 #637 №2316216 

>>2316214
Спасибо
> Ты собрался работать с криптографией и сетью, но даже не знаешь, что такое библиотеки? Может быть стоит бросить эту идею?
Нет. Я просто до этого использовал vcpkg либо header-only библиотеки
Аноним 13/03/22 Вск 21:58:18 #638 №2316222 
Функция возвращает unsigned char. Безопасно ли привести тип к (char) и использовать этот указатель на строку?
Аноним 13/03/22 Вск 22:00:48 #639 №2316223 
>>2316222
Правильно, а нахуя мне читать шапку.
Функция возвращает unsigned char⚹. Безопасно ли привести тип к (char⚹) и использовать этот указатель на строку?
Аноним 13/03/22 Вск 22:01:24 #640 №2316224 
>>2316222
Если заканчивается нулем, то да.
Аноним 13/03/22 Вск 23:20:14 #641 №2316278 
>>2316214
Тогда еще вопрос. Это ебнуться можно ручками все это устанавливать, прописывать. Нет ли пакетного менеджера, чтобы я прописал install boost/openssl и у меня все работало?
Аноним 13/03/22 Вск 23:31:37 #642 №2316286 
>>2316278
>Нет ли пакетного менеджера, чтобы я прописал install boost/openssl и у меня все работало?
Под окнами вроде нет, под линуксом любой дистр и из репов dev (если они есть, иначе обычные) версии тянешь.
Аноним 14/03/22 Пнд 00:06:03 #643 №2316299 
>>2316286
> Под окнами вроде нет
Есть. Ебанулись бы погромисты сами разыскивать зависимости, и ещё более ебанулись бы их искать обычные рядовые пользователи.
Есть различные пакетные менеджеры, например, vcpkg, conan и т.д.
Аноним 14/03/22 Пнд 00:08:15 #644 №2316300 
изображение.png
Зачем оно мне предлагает что то с бустом делать, если sudo apt-get boost должно было мне все подвезти?
Аноним 14/03/22 Пнд 00:18:56 #645 №2316302 
Всё, похуй, собрал. УРААА
Аноним 14/03/22 Пнд 00:24:52 #646 №2316304 
>>2316302
Правда моя прога с пустым main'ом весит 1.6 мб, ну да похуй
Аноним 14/03/22 Пнд 00:26:06 #647 №2316306 
>>2316304
Судя по скрину, линковка статическая. Ну это если ты по нему собирал.
Аноним 14/03/22 Пнд 00:27:27 #648 №2316307 
>>2316304
>пустым main'ом весит 1.6 мб
Не должна, поиграйся с флагами компиляции\линковки.
Аноним 14/03/22 Пнд 00:30:22 #649 №2316309 
>>2316306
>>2316307
Я просто собрал https://i2pd.readthedocs.io/en/latest/devs/building/unix/ по этой хуйне, нашел client.so, а затем свою прогу уже с ней собрал. Но там не только main компилировался. Еще какие то cppшники, которые тоже используют client.so, но в main`не ничего не вызывается
Аноним 14/03/22 Пнд 02:23:34 #650 №2316336 
Начал я разбираться с i2pd. Надеюсь я все правильно понял. Так вот
sambridgecreatesession() возвращает мне SamSession, у которого UDPEndpoint. Это что еще такое? Почему вдруг udp, а не tcp?
Аноним 14/03/22 Пнд 02:28:44 #651 №2316337 
>>2315705
Спасибо, понял
Аноним 14/03/22 Пнд 02:29:47 #652 №2316338 
>>2316336
У меня просто все ломается. Я хотел подключиться к i2p устройству, получить tcp socket и дальше работать с ним как с обычным, а тут хуйня какая то
Аноним 14/03/22 Пнд 12:12:02 #653 №2316520 
Снимок экрана-20220314120858-1119x71.png
Как конвертировать std::future<bool> в обычный bool?
Аноним 14/03/22 Пнд 12:14:40 #654 №2316523 
>>2316520
А, разобрался. res.get() == true
Аноним 14/03/22 Пнд 12:18:56 #655 №2316530 
>>2316523
>res.get() == true
if (condition == true) -> if (condition), зачем ты добавляешь " == true"?
Аноним 14/03/22 Пнд 16:40:46 #656 №2316663 
>>2316530
if (x == true) { ... }
else if (x == false) { ... }
else { ... }
Аноним 14/03/22 Пнд 19:16:36 #657 №2316742 
Есть ли какие-нибуудь либы на плюсах аналогичны этой https://github.com/gammazero/workerpool ?
Аноним 14/03/22 Пнд 19:20:21 #658 №2316749 
>>2316742
Выбирай.
https://github.com/fffaraz/awesome-cpp#concurrency
Аноним 14/03/22 Пнд 19:23:26 #659 №2316753 
>>2316749
И как там выбрать? Мне бы что-нибудь простое в использовании, но чтобы можно было запускать хотя бы 1к одновременных тасков.
Аноним 14/03/22 Пнд 20:38:25 #660 №2316824 
Бля, ну неужели нет ничего подобного для ньюфагов сипэпэ?
Аноним 15/03/22 Втр 00:38:02 #661 №2316947 
Ебать у меня код хуйня. Короче такое дело: у меня есть бустовый tcp сервер, а есть еще https://notabug.org/acetone/i2pSAM-Qt. У них и обертки над потоками разные, ваще пиздец. Я хз будет ли оно все вместе работать или нет
Аноним 15/03/22 Втр 01:43:37 #662 №2316955 
Привет ребята,я уже писала сюда,всем спасибо за помощь,но у меня новая проблемка с лабой. Вот условие:

Вам даны три неизвестных числа, обозначенных aaa, bbb, ccc, а также все попарные сравнения этих чисел друг с другом. Напишите программу, которая выведет эти числа в порядке возрастания (неубывания).

Формат входных данных

Вводятся три строки. В первой записан результат сравнения между собой чисел aaa и bbb. Во второй строке — результат сравнения aaa и ccc. В третьей строке — результат сравнения bbb и ccc. Результат сравнения выражается соответствующим знаком — символом "«<", "»>" или "===".

Формат выходных данных

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

Я не понимаю как решить без огромного дерева ифов,буду благодарна за любую подсказку
Аноним 15/03/22 Втр 12:59:25 #663 №2317062 
>>2316955
> Я не понимаю как решить без огромного дерева ифов,буду благодарна за любую подсказку
Сколько в дереве листьев будет?
Аноним 15/03/22 Втр 14:24:04 #664 №2317108 
Аноны, покормите с ложечки: с чем стоит ознакомиться перед изучением C++ SICP из F.A.Q. треда?? Хочу вкатиться. Опыта 0.
Аноним 15/03/22 Втр 14:39:33 #665 №2317114 
>>2317108
Иначе говоря, где roadmap'ы эти ваши взять?
Аноним 15/03/22 Втр 15:55:13 #666 №2317153 
>>2317108
Не вкатывайся лучше в C++.
Аноним 15/03/22 Втр 16:10:20 #667 №2317161 
>>2317108
Ознакомиться с зарплатами и рынком труда. Понять что ты на C++ делать собрался.
Аноним 15/03/22 Втр 16:56:31 #668 №2317192 
Я хотел скомпилить через qt класс, чтобы затем его использовать в другой программе. Класс описал в h, в cpp фунции реализовал, собрал в qt creator, получил so файл. Затем в своей проге подключил инклуд, so файл, но при компиляции ошибка
/usr/bin/ld: /tmp/main-92fde9.o: undefined reference to symbol 'qt_version_tag@@Qt_5.15'
/usr/bin/ld: /home/.../Qt/5.15.2/gcc_64/lib/libQt5Core.so.5: error adding symbols: DSO missing from command line

Попытался прописать DEFINES += QT_NO_VERSION_TAGGING, но не помолго
Аноним 15/03/22 Втр 16:58:50 #669 №2317199 
>>2317192
Попробуй зависимости от Qt прилинковать.
Аноним 15/03/22 Втр 17:14:43 #670 №2317214 
>>2317199
Да, забыл qtcore, спасибо
Аноним 15/03/22 Втр 17:24:19 #671 №2317217 
>>2316955
https://0bin.net/paste/EhNZyicJ#rvo91OXdaTkwlDF0QcxjYlYJ3S1AWcVIMc5vVtfIh-A

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

Не тестировал, могут быть баги, а может вообще работает не правильно.
Аноним 15/03/22 Втр 17:36:58 #672 №2317232 
>>2317214
Прог скомпилиась, но при запуске
/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found , хотя сам файл лежит там
Аноним 15/03/22 Втр 17:42:12 #673 №2317241 
>>2317232
Разные версии, программа не может найти библиотеку или еще что-то, попробуй собрать с -Wl,-rpath,path-to-lib, где path-to-lib - это путь до директории с библиотеками, с которыми ты собираешь, возможно проблема в том, что версия Qt установленная в системе и версия Qt, которую ты использовал для сборки не совместимы.
Аноним 15/03/22 Втр 17:56:17 #674 №2317266 
>>2317241
Wl компилятор не понимает
Аноним 15/03/22 Втр 17:57:10 #675 №2317268 
>>2317266
Тогда сделай так.
https://forum.qt.io/topic/120129/usr-lib-x86_64-linux-gnu-libqt5core-so-5-version-qt_5-15-not-found
Научись гуглить ошибки.
Аноним 15/03/22 Втр 18:12:08 #676 №2317283 
изображение.png
>>2317241
Не сработало то что ты кинул. Я это находид. Кажется, что версии разные
Аноним 15/03/22 Втр 19:15:07 #677 №2317322 
>>2317283
Уже лучше. Прога вроде начинает работать, а потом валится с undefined symbol: _ZdlPvm, version Qt_5
Аноним 15/03/22 Втр 19:32:50 #678 №2317337 
>>2317322
Правда теперь у меня нет идей в чем проблема, кроме как проверить, что компиляторы совпадают
Аноним 15/03/22 Втр 19:34:11 #679 №2317339 
>>2317337
>кроме как проверить, что компиляторы совпадают
Проверь.
Аноним 15/03/22 Втр 19:55:56 #680 №2317349 
>>2317339
Проврил, поменял. Теперь ошибка выскакивает раньше
Аноним 15/03/22 Втр 20:01:22 #681 №2317355 
>>2317349
А они должны совпадать с Qt/5.12.12/gcc_64? Или достаточно чтобы qt и я собирали одним и тем же?
Аноним 15/03/22 Втр 20:09:16 #682 №2317357 
>>2317355
Проверь флаги компиляции, возможно в них какие-то конфликты происходят, например, в библиотеке один функционал имеется, которого нет в компилируемом с ней проекте, или наоборот.

qt5-base, qt-default и их -dev версии поставил из репозитория?

Как вообще на производных дебиана можно заниматься разработкой чего-либо?
Аноним 15/03/22 Втр 21:15:23 #683 №2317379 
16459595670830.jpg
>>2317153
Но к другим языкам так не тянет почему-то
>>2317161
>Ознакомиться с зарплатами и рынком труда.
Я на хедхантере находил вакансии джуном без опыта за 20-40т. Ну и сениор 3 года опыта за 200к. Наверное, в вебе вакансий больше и вкуснее, но там и конкуренции больше ведь, да и не так интересно.
>Понять что ты на C++ делать собрался.
Игоры же, анимации в игровых движках пилить, приложухи для ведроидов клепать.

Исправь, что не так
Аноним 15/03/22 Втр 21:48:26 #684 №2317403 
>>2317379
>Но к другим языкам так не тянет почему-то
C++ - худший язык, на уровне жабы, что тебя в нем тянет, камень на шее?
Аноним 15/03/22 Втр 21:54:51 #685 №2317409 
>>2316955
По условию у тебя есть результат сравнения каждого вводимого элемента с каждым. Соответственно можно для каждого получить ранг - количество элементов меньше его. Допустим вводится: a > b (ранг а = 0 + 1, ранг b = 0), b > c (ранг b = 0 + 1, c = 0), a > c (ранг a = 1 + 1, c = 0). Далее сортируешь элементы по возрастанию ранга и лексикографически, если ранги совпадают.

Решение предполагает, что порядок действительно существует и нет ситуации, типа a = b, b > c, c = a.
Аноним 15/03/22 Втр 22:00:24 #686 №2317412 
>>2317379
Андроид это в основном Kotlin или Java. Мобильного софта с большими нагрузками не так много, где бы вот прям надо было на C++ пилить.

Игры да, пока что на C++, но немалая часть это Unity + C# или Unreal с блюпринтами или биндами к другим языкам.

200к в современных реалиях это <2k USD, а 20к это что-то уровня пенсии.
Аноним 15/03/22 Втр 22:26:48 #687 №2317422 
>>2317403
Ты еблан?
Аноним 15/03/22 Втр 22:28:21 #688 №2317423 
>>2317379
>Ты еблан?
Что в C++ есть хорошего?
Аноним 15/03/22 Втр 22:32:45 #689 №2317426 
>>2317423
Отвечай на вопрос, сука.
Аноним 15/03/22 Втр 22:34:44 #690 №2317427 
>>2317426
>Отвечай на вопрос, сука.
>>2317423
>Что в C++ есть хорошего?
Аноним 15/03/22 Втр 22:35:55 #691 №2317430 
>>2317427
Слит.
Аноним 15/03/22 Втр 22:44:59 #692 №2317436 
g2jj462m8ws21.jpg
>>2317423
>>2317403

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

>>2317412
Про unreal и блюпринты тоже думал. Хули делать-то? Смотреть в сторону жабаскрипт, пихтон, C#? Что из этого имеет шансы на выживание? только не 1С
Аноним 15/03/22 Втр 22:50:19 #693 №2317439 
>>2317436
В крестах самое большое сборище токсичных пидорасов, ненавидящих друг друга и всех остальных.
Всем индивидуальный подход нужен при вкате. Читай/смотри все материалы для начинающих подряд, пока не найдёшь такой, который понятен именно тебе.
https://github.com/sosachbot/cppthreadhat#для-нюфань
Аноним 15/03/22 Втр 23:04:23 #694 №2317446 
DX7Gg4UtPok.jpg
>>2317439
> крестах самое большое сборище токсичных пидорасов, ненавидящих друг друга и всех остальных.
Почему именно в крестах? Как так сложилось?
>>2317439
>смотри все материалы
Так-то hello world по учебнику Праты я уже написал, но есть ощущение, будто нужно было какое-то введение в кодинг прочитать, я про это и спросил тред, а аноны так и накинулись
Аноним 15/03/22 Втр 23:06:57 #695 №2317448 
>>2317446
>Почему именно в крестах? Как так сложилось?
Какой язык, такое и комьюнити.
Аноним 15/03/22 Втр 23:08:43 #696 №2317450 
>>2317446
Нет таких введений в кодинг, сразу практику нарабатывай.
Аноним 15/03/22 Втр 23:11:48 #697 №2317454 
>>2317446
>Так-то hello world по учебнику Праты я уже написал, но есть ощущение, будто нужно было какое-то введение в кодинг прочитать, я про это и спросил тред, а аноны так и накинулись
C++ слишком огромный, чтобы его изучать по-методичке, в любом случае, на любом этапе своих знаний, ты столкнешься с тем, что задача требует большего, потому что язык говно, в которое пытаются засунуть всё и все, потому что понять логику чужого кода, на C++ невозможно, ты можешь знать все о программировании, но всегда найдется долбоеб, который придумал новый вариант решения примитивной задачи, в котором еще и какой-нибудь новый стандарт используется "для упрощения кода". Что такое программирование лучше начинать с другого языка, более примитивного и ясного для человека, а не имя_библиотеки::основные_функции::расширение::дополнения::пошел_нахуй().
Аноним 15/03/22 Втр 23:14:47 #698 №2317457 
>>2317454
> лучше начинать с другого языка, более примитивного и ясного для человека
Получить разжижение мозга, привыкнуть, что все задачи решаются а одну волшебную строчку, и при первых реальных сложностях слиться.
Аноним 15/03/22 Втр 23:15:56 #699 №2317458 
>>2317457
> первых реальных сложностях слиться
Сложности созданные языком, вся суть C++-кодеров.
Аноним 15/03/22 Втр 23:31:03 #700 №2317463 
77179f2bc973913a0973c18b3a218cb7.jpg
>>2317454
>язык говно
В чем это проявляется, помимо менеджмента памяти?

>понять логику чужого кода, на C++ невозможно
Из-за того, что язык дает большую свободу? Действительно с этим все настолько плохо? Часто встречал такое по своему опыту, анон?

>лучше начинать с другого языка, более примитивного и ясного для человека
Как я понял, начинать советуют везде с C, т.к. он более приближен к аппаратной части, почему бы тогда сразу не начать с плюсов? Если не С, какие еще варианты есть?
Аноним 15/03/22 Втр 23:59:58 #701 №2317473 
>>2317463
>В чем это проявляется, помимо менеджмента памяти?
Это не проблема, проблема в том, что из языка делают псевдо-универсальный инструмент типа Си, но с кучей не самых удобных для использования оберток, реализаций, конструкций.
Если кратко и более ясно, то стандарт C++, развивают по принципу, люди используют что-то из сторонних библиотек (или пишут что-то свое), а значит нам нужно добавить эту функциональность в стандартную библиотеку, вместо того, чтобы добавить удобный пакетный менеджер для языка, а от языка оставить только удобное представление логики и основных реализаций. В итоге, получается монолитное чудовище, которое невозможно знать всё и постоянно необходимо смотреть документацию для стандарта.

>Из-за того, что язык дает большую свободу? Действительно с этим все настолько плохо? Часто встречал такое по своему опыту, анон?
Посмотри на Go и на C++, на Go, можно просто и понятно выразить то, что программист хотел сделать.
2 разных языка, с разными задачами, но учитывая, что C++ позиционирует себя, как универсальный системный язык, это сравнение имеет место.

>Как я понял, начинать советуют везде с C, т.к. он более приближен к аппаратной части, почему бы тогда сразу не начать с плюсов? Если не С, какие еще варианты есть?
Go, но после него, ты не захочешь писать на C++. C и C++ не имеют никакой связи, у C++ есть небольшая обратная совместимость, но не более. Программирование на C, дает тебе понимание, как работает система и код, который ты пишешь, внутри.
Аноним 16/03/22 Срд 01:19:46 #702 №2317492 
>>2317473
>но с кучей не самых удобных для использования оберток, реализаций, конструкций
Например? Вроде же наоборот плюсы идут в сторону упрощения жизни: концепты вместо сфинае, constexpr вместо метапрограмм, PMR вместо C++11 аллокаторов.
Аноним 16/03/22 Срд 01:39:14 #703 №2317497 
>>2317492
>Вроде же наоборот плюсы идут в сторону упрощения жизни: концепты вместо сфинае, constexpr вместо метапрограмм, PMR вместо C++11 аллокаторов.
Даже в твоем уточнении видно, что C++ слишком перегруженный и выглядит, как вечный тестовый язык, в который добавляют что-то, если не нравится удаляют, но удаление заключается в создании новой версии.
Такой пример подойдет?
Аноним 16/03/22 Срд 02:15:37 #704 №2317507 
>>2317492
Так оно не вместо, а вместе.
c-array и std::array, union и std::variant, enum и class enum, struct и class, typedef и using, pragma once и ifdef, c-cast и std::cast<>, printf и iostream, FILE и fstream.
Сюда ещё добавляем бесконечно плодящиеся since CXX, until CXX. Если бы они крупными патчами накатывали как c++-98 --> c++2011, то было бы норм. Но когда у тебя каждый год синтаксис лямбд меняется то ты сидишь и реально не вдупляешь как писать надо, а как не надо.
Аноним 16/03/22 Срд 03:07:06 #705 №2317514 
>>2317507
> c-array и std::array
Всегда юзать std::array, потому что он не норовит декеиться к указателю, у него есть удобные методы и он буквально всем лучше, кроме того, что шаблонный параметр размера компилятором не выводится никак при определении массива?

> union и std::variant
В моей голове тут по духу разница такая же, как и между raw и умными указателями. Ты можешь юзать обычный юнион, но тебе тогда нужно либо держать в голове, объект какого типа там внутри него находится, либо хранить тип, который сейчас внутри юниона, и писать адхок проверки.

Единственное тут ещё неоднозначный сильно момент с деструктором variant, его по-разному можно реализовать. https://youtu.be/va9I2qivBOA Да и сам variant от одной реализации к другой по производительности разнится вроде бы

Про синтаксис лямбд, не знаю... Ну там вроде сделали, что можно пустые круглые скобки скипать, раскрывать пачку параметров внутри [], юзать шаблонные параметры вместо auto... Но тут вроде же нет breaking changes никаких, просто добавили удобств

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

Не знаю короче, я с плюсами не особо давно познакомился, но не вижу ничего плохого, что тут много всякого есть. Тебя не заставляют это всё использовать, можно хоть в стиле си писать, наоборот, тупо по-минимуму притрагиваться к плюсовым фичам.
Аноним 16/03/22 Срд 04:51:43 #706 №2317537 
>>2317514
Ну так типичный проект состоит из мешанины вот этого всего. И "можно не знать" обычно не прокатывает. С кодом на С линковаться надо, дорабатывать написанный код надо, последний стандарт принесут пориджи, ибо другого они просто не знают. Крупные конторы пытаются с этим бороться, составляя целые документы что можно, а что нельзя.

И параллельно более грамотный подход в питоне. Отдельно версия 2 и отдельно версия 3.

>Про синтаксис лямбд
Ломается совместимость с предыдущей версией компилятора. Раз в два года. А нормальный с++ проект пишется года 4, не менее.
Аноним 16/03/22 Срд 07:30:04 #707 №2317548 
>>2317473
C++ позиционирует себя как системный язык. А Go - с гц.
В C++ мешанина всякого, то что неудобно - добавляют в стд.
А в Go - комплексные часть стд тк нет перегрузки операторов. (в спп тоже правда..)
Си даёт полный контроль и понимание как работает система. А асм даёт ещё больше контроля и понимания.

>>2317492
И нет тут перегруженности. Метапрограмма не часть языка, sfinae тоже выходит само из шаблонов. Аллокаторы как полиморфные и нет - все же там, где нужен контроль, приходится иметь больше инструментов, друг другу они не мешают.

Конечно плюсы древние и долго вбирали в себя всякое, но вбирали не тк людям делать нехуй и это "тестовый язык", а потому что людям надо и используется в реальном коде. Не надо говорить что они хуже кастрированных Го и Си.
Аноним 16/03/22 Срд 13:19:31 #708 №2317657 
>>2317548
>>2317548
>C++ позиционирует себя как системный язык.
В системном языке, не нужно ООП.

>Си даёт полный контроль и понимание как работает система.
Задача Си - переносимая запись и чтение памяти, контроля над системой нет, даже системные вызовы в нем, реализованы через асм вставки.

>И нет тут перегруженности.
Есть.

>Аллокаторы как полиморфные и нет - все же там, где нужен контроль, приходится иметь больше инструментов, друг другу они не мешают.
Для контроля они не нужны. Мешают.

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

>что людям надо и используется в реальном коде.
Что надо людям, реализуется с помощью самих людей, а не бесконечным расширением стандарта.
Аноним 16/03/22 Срд 15:57:37 #709 №2317736 
>>2317657
>В системном языке, не нужно ООП.

> >Аллокаторы как полиморфные и нет - все же там, где нужен контроль, приходится иметь больше инструментов, друг другу они не мешают.
>Для контроля они не нужны. Мешают.

Мне не нужно - значит никому не нужно.
Аноним 16/03/22 Срд 18:15:33 #710 №2317788 
>>2315568
> CMake
this

ну для какого то своего проектика без зависимостей можешь что угодно использовать
Аноним 16/03/22 Срд 18:17:28 #711 №2317790 
>>2315568
build2 конечно же!
Аноним 16/03/22 Срд 20:24:49 #712 №2317881 
>>2317657
У тебя с запятыми беда. Уже не первый пост такой
Аноним 16/03/22 Срд 21:53:56 #713 №2317932 
У меня либа использует сервер который написан на qt. И у него нет всяких функций типо wait new connection. Там просто слот, который при соединении вызывается. Какой есть хороший способ заставить эту всю хуйню ждать соединений без while(true). Только самому писать convar'ы с циклом?
Аноним 16/03/22 Срд 23:14:35 #714 №2317981 
>>2317736
>Мне не нужно - значит никому не нужно.
Назови действительные причины, зачем это, а не навязанные языком или твоими личными проблемами.
Аноним 16/03/22 Срд 23:29:40 #715 №2317990 
изображение.png
Книга страуструпа 2014 года не слишком старая? в 2022 ее еще можно читать?
Везде читаю как все носятся с переходом с 98 на 11 стандарт, я так понимаю с того времени каки-то охуеть измнений не было и если я почитаю того же страуструпа за 14 год, то потеряю не очень много?

И почему он с того времени больше ничего не написал?
Аноним 16/03/22 Срд 23:37:12 #716 №2317993 
>>2317932
>Там просто слот, который при соединении вызывается.
Это.
Аноним 16/03/22 Срд 23:39:17 #717 №2317995 
>>2317993
Там другое. Я еблан просто, не так понял. У меня прога сразу завершалась, надо было run на треде вызвать, а я не мог найти этот run
Аноним 17/03/22 Чтв 01:21:25 #718 №2318043 
>>2317446
>Почему именно в крестах? Как так сложилось?
мало работы потому что
высокая конкуренция
ты либо пишешь ядро ос в майкрософт за 300ккккк в секунду либо отдыхаешь на помоечке
нет средних вакансий

Аноним 17/03/22 Чтв 06:49:40 #719 №2318065 
>>2317990
>И почему он с того времени больше ничего не написал?
написал, смотри внимательнее
Аноним 17/03/22 Чтв 16:31:52 #720 №2318291 
>>2318065
И правда, видимо я на амазоне что-то не так тыкнул, хотя вроде по году публикации смотрел его книги.

Так а что по вопросу? Стоит читать книгу из моего поста как первую или A Tour of C++ лучше?
Аноним 17/03/22 Чтв 17:04:22 #721 №2318308 
>>2315568
Скорее всего придется использовать всё, включая кастомные сборщики на баше и автомейки, добро пожаловать в кресты.
Аноним 17/03/22 Чтв 17:42:54 #722 №2318332 
Хочу передать в функцию хендлер. Для этого хочу использовать лямбду. Можно ли как то определить функцию так, что лямбда которая будет одним из ее аргументов, должна обязательно иметь нужные мне параметры
Аноним 17/03/22 Чтв 17:47:10 #723 №2318335 
>>2318332
Можно.
Аноним 17/03/22 Чтв 17:49:42 #724 №2318338 
>>2318335
Как? Я видел везде только шаблоны без спецификации параметров
Аноним 17/03/22 Чтв 17:53:31 #725 №2318341 
>>2318332
std::function
Аноним 17/03/22 Чтв 17:54:46 #726 №2318346 
>>2318341
Оно жирное. Лямбда быстрая и маленькая, а std function большой и скорее всего медленный в сравнении с лямбдой
Аноним 17/03/22 Чтв 17:56:14 #727 №2318347 
>>2318338
Так?
https://godbolt.org/z/P6TrPacdv
Аноним 17/03/22 Чтв 17:58:31 #728 №2318350 
>>2318347
Так только для stateless лямбд можно
Аноним 17/03/22 Чтв 17:58:35 #729 №2318351 
>>2318347
Мне захватывать нужно. Так бы я на указателях все сделал (как и ты)
Аноним 17/03/22 Чтв 18:02:35 #730 №2318359 
>>2318346
Sfinae с enable_if и callable. Или концепты
Аноним 17/03/22 Чтв 18:04:24 #731 №2318361 
>>2318346
> большой
шта
> скорее всего
я чтоли проверять должен?
Аноним 17/03/22 Чтв 18:07:47 #732 №2318367 
изображение.png
>>2318361
> шта
Учитывая это быстродействие я уже проверять не стал
Аноним 17/03/22 Чтв 18:09:41 #733 №2318372 
>>2318367
Какой тип имеет х и почему он 1?
Аноним 17/03/22 Чтв 18:10:53 #734 №2318373 
>>2318372
Он имеет типо написанной справа лямбды. Погугли почему он 1
Аноним 17/03/22 Чтв 21:00:17 #735 №2318540 
.png
>>2318373
> Why does a lambda have a size of 1 byte?
Ебать, целая статья. Больше графоманили только про std::launder и inline variables.
Аноним 18/03/22 Птн 02:11:22 #736 №2318706 
>>2318540
Почему до сих пор люди стартуют проекты на этом. Я думал С++ это легаси только. Что их к этому подталкивает?
Аноним 18/03/22 Птн 04:25:15 #737 №2318719 
>>2318706
А почему нет? Имхо, плюсы зачастую очень удобен, когда хочется получить больше контроля за программой. В другом языке вероятнее всего вместо красивой и аккуратной лямбды будет хуйня с оверхедом в 64 байта на функцию. Или как в питоне, где объекты имеет размет не суммы состовляющих как в c(за исключением паддинга), а какой то неебический
Аноним 18/03/22 Птн 04:56:05 #738 №2318723 
>>2318719
Да, сори, чушь написал.. ошибся подумав что там сказано о возможности переопределять лямбду с получением ub.
Аноним 18/03/22 Птн 16:38:33 #739 №2318939 
>>2318706
>Почему до сих пор люди стартуют проекты на этом.
Кресты говно, но альтернатив нет.
Аноним 18/03/22 Птн 17:40:00 #740 №2318976 
>>2318939
> Кресты говно
Почему?
мимокрокодил
Аноним 18/03/22 Птн 17:46:09 #741 №2318980 
>>2318976
Посмотри тред. C++кодеры кроме "этанужна" никаких аргументов не имеют. Получается язык говно.
Аноним 18/03/22 Птн 18:37:53 #742 №2319002 
>>2318939
Альтернатив нету только в каком-нибудь кернеле и в диком хайлоаде\реалтайме, где ты сидишь с профайлером и считаешь миссы кэша.

Во всех остальных случаях С++ нахуй не сдался. Мы все хотим вообще весь наш код, кроме драйвера перевезти на С# или Go, но увы, пока нету капасити в команде
Аноним 18/03/22 Птн 18:46:56 #743 №2319008 
>>2319002
>Альтернатив нету только в каком-нибудь кернеле и в диком хайлоаде\реалтайме, где ты сидишь с профайлером и считаешь миссы кэша.
В таких задачах, как раз есть альтернативы, но плюсам там делать нечего.
>Мы все хотим вообще весь наш код, кроме драйвера перевезти на С# или Go
Голанг не может в десктопы, у шарпа с переносимостью хуево.
Аноним 18/03/22 Птн 19:18:58 #744 №2319031 
Теперь представь что все программы запущенные сейчас у тебя, какой нибудь браузер, файловый менеджер, читалка книг, еще какая нибудь хуйня внезапно станут написаны на каком нибудь питоне
Аноним 18/03/22 Птн 19:24:00 #745 №2319033 
>>2319031
Это кому?
Аноним 18/03/22 Птн 19:25:27 #746 №2319035 
>>2319031

Ему >>2319002
Аноним 18/03/22 Птн 19:34:58 #747 №2319044 
>>2319031
Электрон приветы передает.

А вообще - в нашем конкретном случае с этим проблем не будет, специфика софта.
Аноним 18/03/22 Птн 20:33:49 #748 №2319087 
>>2319031
похуй. абсолютно.
я твою мамку кстати ебал своим питоном
Аноним 18/03/22 Птн 21:24:10 #749 №2319116 
image.png
https://godbolt.org/z/7MKzznxEE
У меня есть пикрил код, он работает в годболте, но когда пробую скомпилить локально у меня выдаёт код ошибки -1073741571 (винда, судя по ответам в интернете стак оверфлоу), я не понимаю, вроде mingw gcc 11.2 компилятором компилю тоже -O2, но стек переполняется, почему бля.. Как понять что не так без залезания в асемблер я слишком тупенький для этого
Аноним 18/03/22 Птн 21:30:51 #750 №2319121 
>>2319116
А под линуксом (wsl) всё норм работает... Блять ладно в пизду, походу нельзя на хвостовую рекурсию в плюсах полагаться
Аноним 18/03/22 Птн 21:52:19 #751 №2319129 
>>2319121
>нельзя на хвостовую рекурсию в плюсах полагаться
Да.
Аноним 18/03/22 Птн 21:59:56 #752 №2319133 
>>2319008
>Голанг не может в десктопы, у шарпа с переносимостью хуево.
Так может у них вообще десктопа нет? Тогда зачем им С++, когда можно на говноланг или шарп все переписать? Писать код на шарпе в разы проще и приятнее, чем на плюсах.
Аноним 18/03/22 Птн 22:01:05 #753 №2319136 
>>2319116
Интересно, с какого языка пикрел перешел
Аноним 18/03/22 Птн 23:04:01 #754 №2319164 
С линукса для винды только mingw что ли компилит?
Аноним 19/03/22 Суб 02:29:35 #755 №2319219 
>>2319164
Шланг еще. А если у тебя СИМЕЙК и код без корявой хуйни - то и студия компилять будет
Аноним 19/03/22 Суб 02:37:12 #756 №2319224 
>>2319219
А чому так? Я думал почти все компиляторы по умолчанию умеюи в разные ос
Аноним 19/03/22 Суб 02:44:24 #757 №2319227 
>>2319219
А может и не будет, если там Посекс.
Аноним 19/03/22 Суб 03:18:04 #758 №2319230 
>>2319224
Сборка проекта это сценарий, записанный в специальные файлы. В Linux есть свой собственный формат Makefile и утилита make, которая эти файлы исполняет. То есть она в процессе выполнения вызывает компилятор, линковщик и системные утилиты Linux (всё вместе - tool chain). В Windows нет ни make ни этих утилит, поэтому нужно ставить mingw или cygwin, чтобы они появились.
Это работает и в обратную сторону - студийный проект .vcxproj это такой же Makefile, но написанный в терминах windows и в формате XML (а ещё есть формат для студийного nmake).
Так как это полная ебанина, то дополнительно придумали CMake, который использует промежуточный формат сценариев - CMakeLists. Он конвертируется самой утилитой в Makefile или vcxproj и потом уже собирается tool chain'ом, который есть в OS.




Аноним 19/03/22 Суб 03:21:07 #759 №2319231 
>>2319230
Так не, я немного о другом. Пусть у меня есть просто файлы без зависимостей всяких. И вот как я понял я не могу будучи на линуксе получить на выходе exe, если не использую то что написал выше.
Аноним 19/03/22 Суб 03:25:02 #760 №2319232 
>>2319231
Не, ты можешь собрать, если напишешь makefile или через консольку последовательно команды введёшь. Проблема будет, если в коде есть вызовы системного API (WinApi или POSIX).
Аноним 19/03/22 Суб 03:30:33 #761 №2319233 
>>2319232
Я чет не нагуглил как с gcc под винду скомпилить. Да, имею ввиду случай, когда я ручками указываю все cpp и получаю исполняемый файл без всяких cmake и прочего. И в случае, когда я явно не использую api специфичное
Аноним 19/03/22 Суб 03:42:43 #762 №2319236 
>>2319231
А, я понял, ты хочешь под лялексом сделать exe и потом его запускать на win. Тогда тебе нужен не штатный gcc из linux, а кросс-компилятор (придётся поставить на линукс mingw-w64 и использовать компилятор из него).
Аноним 19/03/22 Суб 03:45:54 #763 №2319239 
>>2319236
Ну так я спрашиваю почему компиляторы по дефолту не умеют в разные ос
Аноним 19/03/22 Суб 08:14:49 #764 №2319257 
>>2319239
Зачем тащить оверхед для разных ос? Почему именно ос есть же другие архитектуры, почему для них не надо тащить? Будет компилятор размером 20гб удобно.
Аноним 19/03/22 Суб 08:18:27 #765 №2319258 
>>2319133
>Так может у них вообще десктопа нет?
Тогда кресты были ошибкой изначальной.
Аноним 19/03/22 Суб 13:25:34 #766 №2319352 
>>2319239
В итоге получится компилятор огромных размеров. А ещё есть проблемы с лицензиями, интеллектуальной собственностью и банально конкуренцией. Microsoft и Apple не хотят раскрывать свои исходники и делают только под себя.
Аноним 19/03/22 Суб 13:26:46 #767 №2319353 
>>2319352
>Microsoft и Apple не хотят раскрывать свои исходники и делают только под себя.
???
Аноним 19/03/22 Суб 13:55:41 #768 №2319366 
>>2319353
Чё сказать то хотел?
Аноним 19/03/22 Суб 13:59:37 #769 №2319368 
>>2319366
К чему это?
Аноним 19/03/22 Суб 14:35:45 #770 №2319378 
>>2319368
К теме про 100500 компиляторов от разных вендоров и под разные платформы.
Аноним 19/03/22 Суб 18:01:51 #771 №2319470 
>>2318291
бамп
Аноним 19/03/22 Суб 19:37:23 #772 №2319505 
Почему разработчики стандарта за 20 лет не смогли выпустить нормальную библиотеку форматированного вывода?
Аноним 19/03/22 Суб 19:40:47 #773 №2319507 
>>2318291
> A Tour of C++ лучше
Лучше. Старый пидорас таки умеет не лить воду и писать кратко.
Аноним 19/03/22 Суб 19:40:51 #774 №2319508 
>>2319505
Что подразумевается под форматированным вводом/выводом?
Аноним 19/03/22 Суб 19:42:05 #775 №2319509 
>>2319508
print("foo: {}, bar: {}, baz: {}", a, b, c)
Аноним 19/03/22 Суб 19:43:33 #776 №2319510 
>>2319509
Напиши ручками
Аноним 19/03/22 Суб 19:44:35 #777 №2319511 
>>2319510
Ты вопрос изначальный прочитай.
Аноним 19/03/22 Суб 19:45:20 #778 №2319512 
>>2319511
Нахуя это пилить? Имхо, польза сомнительная
Аноним 19/03/22 Суб 19:47:34 #779 №2319513 
>>2319512
Так почему оно во всех других языках есть?
C#, Java, Rust, Go, в остальных просто лень проверять.
Аноним 19/03/22 Суб 19:50:44 #780 №2319515 
>>2319509
Зачем использовать printf-like функции в C++, когда есть поточный вывод?
Аноним 19/03/22 Суб 19:53:39 #781 №2319516 
>>2319515
Потому поточный вывод неудобный? Что легче: написать форматную строку, а после неё просто расставить все объекты, или ебаться с переключением состояний обоссаного cout'а?
Аноним 19/03/22 Суб 19:55:37 #782 №2319517 
>>2319516
Какие ты состояния переключать собрался?
Аноним 19/03/22 Суб 19:57:04 #783 №2319518 
>>2319516
>Потому поточный вывод неудобный?
Да.

>Что легче: написать форматную строку, а после неё просто расставить все объекты
Используй printf, в чем проблема?
Аноним 19/03/22 Суб 20:01:05 #784 №2319519 
>>2319518
> в чем проблема
В том, что я не могу имплементировать вывод произвольного объекта.
> Какие ты состояния переключать собрался
Всякие hex, oct, dec, fill, setw, не ебу как это называется, но суть понятна.
Аноним 19/03/22 Суб 20:01:36 #785 №2319520 
>>2319519 -> >>2319517
Аноним 19/03/22 Суб 20:09:10 #786 №2319524 
>>2319519
>В том, что я не могу имплементировать вывод произвольного объекта.
Клэнговский парсер + обработка перед компиляцией.
Аноним 19/03/22 Суб 20:13:32 #787 №2319525 
>>2319524
Хуенговский. Готовые решения есть, почему долбоёбы их в стандарт до сих пор не завезли?
Аноним 19/03/22 Суб 20:25:49 #788 №2319530 
>>2319525
Бесконечное расширение стандарта, снова. Просто используй другой язык или используй нестандартные расширения.
Аноним 19/03/22 Суб 20:32:47 #789 №2319533 
>>2319530
> Бесконечное расширение стандарта, снова.
Крестам слишком поздно сходить с этого пути. Им остаётся только идти по нему дальше.
Аноним 19/03/22 Суб 20:33:46 #790 №2319534 
Чтобы любой язык, какой бы у него ни был синтаксис, являлся подмножеством крестов.
Аноним 19/03/22 Суб 21:05:03 #791 №2319543 
>>2319507
А в шапке именно первую для новичка советуют. Прошло правда 5 лет уже судя по надписи в начале фака, но на тот момент вроде уже тур был написан. Я думаю его бы там упомянули наверное будь он лучше.

Короче что читать если я хочу знать с++, опыта почти нет, немного на пайтоне писал, но ничего серьезного, просто хуйню типа разложения числа на простые множители и немного пайгейм ковырял. Есть небольшое представления о классах, объектах, функциях и подобном
Аноним 19/03/22 Суб 21:31:04 #792 №2319551 
>>2319543
>я хочу знать с++
Зачем?
Аноним 19/03/22 Суб 21:35:08 #793 №2319554 
>>2319551
Просто есть такое желание, вообще я админ, но хочется просто для себя немного си++ поучить
Аноним 19/03/22 Суб 21:58:58 #794 №2319563 
>>2319554
питон поучи, епт. Прекрасный язык для админа, решает 100% всех задач в этой области.
Будешь знать питухон, попрогай на чем-нибудь комплируемом вроде C#, Java, Kotlin, Scala (рекомендую скалу из-за прикосновения к fp)
Потом попрогай на чем-то лоулевел с gc вроде раста или go
Потом помацай сишку
А вот теперь, если тебе вдруг захочется посидеть в мейнстримных проектах, завязанных на производительность, то вкатывайся и страдай в плюсы. Есть даже маленькая вероятность, что через 10 лет он будет представлять из себя нечто вменяемое на уровне языков нового поколения, которые появились на почве боли и страдания из-за C++

мимо-сеньер-помидор-с-широким-кругозором
Аноним 19/03/22 Суб 22:23:07 #795 №2319569 
>>2319563
> решает 100% всех задач в этой области
Я как раз в другую область хотел заглянуть. В серьезный язык, в разработку софта, даже выбрал программу опенсорс, которой пользуюсь часто и которая на с++, чтобы попозже копаться в ней
> питон поучи
> попрогай на чем-нибудь комплируемом вроде C#, Java, Kotlin, Scala
> Потом попрогай на чем-то лоулевел с gc вроде раста или go
> Потом помацай сишку
Какой-то до охуения долгий путь, я думал как раз после плюсов если будет желания учить что-то другое, тем более говорят в плюсах всё есть, все парадигмы, и вся прочая хуйня, поэтому в другие языки будет легко переходить потом если знаешь с++
Аноним 19/03/22 Суб 22:34:10 #796 №2319572 
>>2319569
>тем более говорят в плюсах всё есть, все парадигмы
лолнет. Там есть формально есть разные парадигмы, но они в урезанном виде. Возьмем, к примеру, haskell и c++. И там, и там есть функциональная парадигма, но есть нюанс. Кроме того решает еще качество реализации парадигмы и выставленные акценты. К примеру, асинхронное программирование в плюсах неплохое, а вот iostreams - параша ебаная. Причем даже если дизайн и тулинг неплохой в плюсах, это не означает, что нет такого же хорошего, но немного другого или что нет еще лучше. Чем больше пробуешь разного, тем лучше видишь ущербность и отсталость плюсов. Впрочем, в других языках тоже видишь ущербность. А также более толерантно начинаешь относиться к недостаткам, т.к. становится похуй на очередную N+1 реализацию одних и тех же принципов
Аноним 19/03/22 Суб 22:35:38 #797 №2319573 
>>2319572
>если дизайн и тулинг неплохой в плюсах
если дизайн и тулинг отдельных моментов языка неплохой в плюсах
Аноним 19/03/22 Суб 23:48:19 #798 №2319597 
Привет, аноны. Вопрос про MySQL + C++ через X DevAPI
Я хочу написать функцию select для всех таблиц в бд и не использовать литералы в названии полей, но проблему с датой и переводом ее UnixTimeStamp решают через select с "UNIX_TIMESTAMP(имя поля)", что опять приводит к необходимости вбивать ебучие названия полей в код. Как можно решить эту проблему без литералов и как-то перекодировать то, что хранится в дате, в UnixTimeStamp?
Аноним 19/03/22 Суб 23:49:38 #799 №2319598 
>>2319597
Не использовать литералы для перечисления названий полей при написании select'а, то есть
Аноним 20/03/22 Вск 00:58:26 #800 №2319646 
>>2319563
У раста нет gc, не сравнивай его пожалуйста с GO. То что они одновременно на слуху не делает их под один класс задач.
Аноним 20/03/22 Вск 04:51:15 #801 №2319681 
>>2319563
> лоулевел с gc
Лик вообразили?
Аноним 20/03/22 Вск 07:41:40 #802 №2319685 
>>2319569
>В серьезный язык, в разработку софта, даже выбрал программу опенсорс
Куча оперсорса написано на Си, питоне и тд. Зачем нагружать голову крестами?
>поэтому в другие языки будет легко переходить потом если знаешь с++
Да. Потому что понимаешь сколько в C++ говна и радуешься, что в других языках от этого уходят или ушли.

Аноним 20/03/22 Вск 11:57:01 #803 №2319742 
>>2319685
Охуеть как плюсы говнят. Почему тогда на них столько всего пишут?
Аноним 20/03/22 Вск 12:05:49 #804 №2319747 
>>2319742
Потому что говноеды.
Аноним 20/03/22 Вск 12:07:21 #805 №2319749 
сохраняйте спокойствие это шпион из растотреда
Аноним 20/03/22 Вск 13:13:10 #806 №2319795 
>>2319569
>Какой-то до охуения долгий путь, я думал как раз после плюсов если будет желания учить что-то другое,
Так учить С++ еще дольше чем этот путь. И ты его не сможешь выучить, если только у тебя нет дара от природы хранить миллиард устаревших фактов.
Аноним 20/03/22 Вск 16:50:53 #807 №2319960 
Ребятки, с понедельника буду учиться в яндекс практикуме. С трудом осилил базовые понятия Си++, это 18 часов, а впереди 250 часов чего-то как я понимаю невообразимо сложного, я боюс.
Аноним 20/03/22 Вск 16:57:39 #808 №2319962 
>>2319685
> Куча оперсорса написано на Си
> Зачем нагружать голову крестами?
Может потому что в крестах есть много улучшений Си, и ты в принципе можешь писать в процедурном стиле, но это будет намного приятнее?
Аноним 20/03/22 Вск 17:08:38 #809 №2319972 
>>2319685
>Куча оперсорса написано на Си, питоне и тд. Зачем нагружать голову крестами?
Есть ровно 3 (три) валидных причины писать на C в 2022 году.
1. FFI\extern "C" интерфейсы для других языков
2. Под твой некроконтроллер нет C++ компилятора.
3. Адовое сишное легаси, которое перевезти на С++ маловозможно (бизнес причины как минимум)

Всё, других причин писать на C в 2022 году нету.



Аноним 20/03/22 Вск 17:10:38 #810 №2319975 
>>2319962
>потому что в крестах есть много улучшений Си,
Какие?
>и ты в принципе можешь писать в процедурном стиле
Проблема не в стиле, а в том какой пиздец из себя представляют кресты.
>но это будет намного приятнее?
Нет.
Аноним 20/03/22 Вск 17:14:48 #811 №2319977 
>>2319975
> Какие?
Из того, что в голову приходит сразу:
1. auto
2. Ссылки вместо б-гомерзких указателей (при передаче в фунцкию имеется в виду)
3. Исключения вместо передачи флажков через 10 циклов
4. Дженерики
5. Нормальные, по сравнению с C, строки
Аноним 20/03/22 Вск 17:16:03 #812 №2319979 
>>2319975
>Какие?
Самое простое RAII без очищения ресурсов на каждый чих уже настолько улучшает код и избавляет от утечек, по сравнению с чистым С, что этого одного достаточно
Аноним 20/03/22 Вск 17:16:50 #813 №2319980 
>>2319977
>1. auto
void *
>2. Ссылки вместо б-гомерзких указателей (при передаче в фунцкию имеется в виду)
Не ясно, что ты передаешь в функцию.
>3. Исключения вместо передачи флажков через 10 циклов
Отключены.
>4. Дженерики
_Generic
>5. Нормальные, по сравнению с C, строки
Обертка над сишными строками.
Аноним 20/03/22 Вск 17:23:55 #814 №2319985 
>>2319980
> void *
> _Generic
Я тебя понял.
> Не ясно, что ты передаешь в функцию.
Ссылку на объект передаю в функцию.
> Обертка над сишными строками.
И? Эта обёртка даст столько удобства, сколько ни один программист на Си в жизни не видел.
Аноним 20/03/22 Вск 17:31:36 #815 №2319992 
>>2319985
>Ссылку на объект передаю в функцию.
В чем преимущество перед указателем, кроме экономии 1 символа? Почему все объекты обладающие размером больше размера указателя не преобразуются в ссылки\указатели автоматически?
>И? Эта обёртка даст столько удобства, сколько ни один программист на Си в жизни не видел.
Никакого.
Аноним 20/03/22 Вск 17:46:03 #816 №2320005 
>>2319960
Тебе там скорее всего не покажут такое https://godbolt.org/z/hzWbGjG4j
Так что учись пока мы живы.
Аноним 20/03/22 Вск 17:51:20 #817 №2320007 
>>2319980
>void *
Значение знаешь? нетипизированный указатель
И почему это считается дурным тоном в >2000х годах.
Аноним 20/03/22 Вск 17:55:04 #818 №2320011 
>>2320007
>И почему это считается дурным тоном в >2000х годах.
Расскажи.
Аноним 20/03/22 Вск 18:00:18 #819 №2320017 
>>2320011
Хотя бы потому что любой осмысленный кусок памяти в твоем компьютере имеет тот или иной формат, а лишая себя знаний о том что там хранится ты подвергаешь себя и других программистов разбирающих этот код возможности ошибиться на этот счет.

Самое смешное происходит тогда, когда через годы ты понимаешь что так писать не обязательно. И ты себя при этом ни в чем не ограничишь.
Аноним 20/03/22 Вск 18:04:05 #820 №2320022 
>>2320017
>Хотя бы потому что любой осмысленный кусок памяти в твоем компьютере имеет тот или иной формат, а лишая себя знаний о том что там хранится ты подвергаешь себя и других программистов разбирающих этот код возможности ошибиться на этот счет.
Тип void , в Си можно преобразовать в указатель на любой тип, иначе тебе бы пришлось писать function((type )param) или отключать варнинги.
Аноним 20/03/22 Вск 18:04:53 #821 №2320023 
>>2320022
>void ⚹
>type ⚹
Аноним 20/03/22 Вск 18:09:34 #822 №2320024 
>>2320005
Блеванул, спасибо

>>2319646
>У раста нет gc, не сравнивай его пожалуйста с GO. То что они одновременно на слуху не делает их под один класс задач.
Базара нет, в расте нет рантаймового GC, с другой стороны направление языков похожее - "мы против ручного управления памятью, но мы не хотим превращать наш язык в очередного IR мастодонта, так что давайте придумаем какой-нибудь инструмент, чтобы памятью поменьше управлять". В Go запилили mark&sweep, в rust обычный reference counting + обязательный статический анализ на расшаривание мутабельных переменных. Собственно в плюсах без refcount тоже никто не пишет, а это так-то одна из форм GC

>>2319681
>Лик вообразили?
Компилируемый язык без IR, без тяжелого рантайма, с gc. Если смотреть с точки зрения сферы применения, то он гораздо ближе к с/c++/rust, чем к IR языкам

>>2319742
Писали бы на чем-то другом, но мешает слишком большой объем кода на плюсах, который очень дорого переписать на другой язык и который неудобно использовать в других языках. Какой-то приличный FFI есть только с C, кто бы что не пытался с этим сделать.
Аноним 20/03/22 Вск 18:16:17 #823 №2320026 
>>2320022
Преобразование из одного типа в другой в нормальных языках реализуется одной строчкой.

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

В Си же непонятно что такое находится за этим поинтером в момент где эта субстанция находится. Может они это комментариями к коду указывают, не знаю.

Зря я разглагольствую о Си и С++ когда банальных вещей про разработку на них не знаю. Сорян если чушь пишу. Просто самому интересно, неужели кто-то считает нетипизированный указатель чем-то что необходимо в современном мире и при этом не является рудиментом.
Аноним 20/03/22 Вск 18:26:00 #824 №2320038 
>>2320024
Тут хочется добавить про то что ты сказал о ГЦ
> Собственно в плюсах без refcount тоже никто не пишет
Пишут только там, где это нужно для реализации безопасной многопоточности а не как в языках с полноценным сборщиком мусора. Когда каждый объект, кроме может быть стековых, будет посчитан.
>refcount одна из форм GC
Самая самая нетребовательная по накладным расходам. Без разрешения циклических ссылок.
Аноним 20/03/22 Вск 18:28:25 #825 №2320041 
15633963172190.jpg
>>2320005
Ну ты ебанутый бля. Моё почтение.

про лямбды забыл:    ([](){})();
Аноним 20/03/22 Вск 18:33:34 #826 №2320048 
>>2320026
>А передача обобщенного типа реализуется указанием что тип поддерживает какую-то функциональность, или обладает какими-то общими свойствами. В С++ это реализуется (если не ошибаюсь) через наследование, абстрактные классы и шаблоны.
https://0bin.net/paste/p8nuyOWh#+dwU6o0LINUvKPg+wHbwPE8hlaeLmjR++bXqkVX6m-s
Например, вот это можно было бы сделать через void *, но сделали через указатель на структуру, в итоге постоянно приходится явно приводить к типу. Я не знаю почему, возможно я что-то не понимаю.
https://www.opennet.ru/man.shtml?topic=connect

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

>Зря я разглагольствую о Си и С++ когда банальных вещей про разработку на них не знаю. Сорян если чушь пишу. Просто самому интересно, неужели кто-то считает нетипизированный указатель чем-то что необходимо в современном мире и при этом не является рудиментом.
Работа с данными по указателю, как с областью памяти.
https://www.opennet.ru/man.shtml?topic=memcpy
https://www.opennet.ru/man.shtml?topic=memset
https://www.opennet.ru/man.shtml?topic=memmove
Аноним 20/03/22 Вск 18:47:52 #827 №2320057 
>>2319992
> >И? Эта обёртка даст столько удобства, сколько ни один программист на Си в жизни не видел.
> Никакого.
Сейчас ты присылаешь код в котором делаешь конкатенацию двух строк неопределенного размера в Си и при этом не обсираешь себе штаны. Я жду.
Аноним 20/03/22 Вск 18:47:58 #828 №2320058 
>>2320048
>>2320026
На С деды давно сделали СОМ с интерфейсами типа IUnknown и т.д.
И вообще эта динамикопараша переизобретается регулярно.
Аноним 20/03/22 Вск 18:59:20 #829 №2320067 
>>2320057
>Сейчас ты присылаешь код в котором делаешь конкатенацию двух строк неопределенного размера в Си и при этом не обсираешь себе штаны. Я жду.
https://0bin.net/paste/vv6ouKYt#6fVwAA-y02tUNvVSGZrSbuONS2DSkNmknU9mSfuJgee

Сейчас ты присылаешь мне объяснение, что хорошего есть в C++. Я жду.
Аноним 20/03/22 Вск 19:00:19 #830 №2320069 
>>2320067
Обосрался с +1.
Аноним 20/03/22 Вск 19:26:34 #831 №2320087 
>>2320038
>Пишут только там, где это нужно для реализации безопасной многопоточности а не как в языках с полноценным сборщиком мусора.
unique_ptr - это привязка вызова деструктора к фрейму стека. Т.е. частный случай reference counting
Аноним 20/03/22 Вск 19:41:19 #832 №2320093 
>>2320067
То, что в C++ твоя лапша делается одной строкой
a + b
Где a и b имеют тип string.
Аноним 20/03/22 Вск 19:49:13 #833 №2320097 
>>2319985
обёртка так-то говно, всякий кал типа find, starts/ends_with и прочее по хорошему должно быть реализовано как свободные функции, но в c++23 туда ещё и contains засунут

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

мимо

Аноним 20/03/22 Вск 19:50:28 #834 №2320098 
>>2320093
И что? Сколько раз в твоем копировании произойдет копирование строки? А выделений памяти? А если памяти не хватит, исключение или аборт?

Какие у C++ есть достоинства? Безграничный стандарт?
Аноним 20/03/22 Вск 19:51:37 #835 №2320099 
>>2320098
>в твоем копировании
в твоей конкатенации
Аноним 20/03/22 Вск 19:55:33 #836 №2320102 
Нахуя кормите?
Аноним 20/03/22 Вск 19:56:28 #837 №2320104 
>>2320067
Чел, ты же толсто нас троллишь. Ты сам не видишь в этом пиздеце проблем?
Аноним 20/03/22 Вск 19:59:12 #838 №2320107 
>>2320104
>>2320098
Не вижу.
Аноним 20/03/22 Вск 20:00:10 #839 №2320108 
>>2320098
У твоей мамки много достоинств
Аноним 20/03/22 Вск 20:02:03 #840 №2320110 
>>2320108
>У твоей мамки много достоинств
C++кодер пытается в разговор.
Аноним 20/03/22 Вск 20:02:23 #841 №2320111 
>>2320048
>Например, вот это можно было бы сделать через void *, но сделали через указатель на структуру,
Используя такую древность можно было конечно и получше если бы в википедию заглянули (tagged union) https://0bin.net/paste/unJN41wX#ElXvFbqlytv3m4u5tEaJZYMkr3rB9yKUDcP45Ajs9VY
https://en.wikipedia.org/wiki/Tagged_union
>Работа с данными по указателю, как с областью памяти.
Слава Богу 99% такой необходимости можно закопать в базовые типы вроде обобщенного массива.
>>2320087
>unique_ptr - RC
Но он без накладных расходов стадии исполнения. Такой же по накладным расходам как &. Ну, там есть в результирующем бинарнике небольшой оверхед, но он связан только с необходимости поддержки разных форматов вызовов. И концетпуально никаких ограничений не накладывает
Аноним 20/03/22 Вск 20:03:29 #842 №2320112 
>>2320098
лол, в худшем случае динамической памяти выделится столько же, сколько и у тебя, в лучшем - будет SSO, который твой велосипед офк не делает

про копирование бред какой-то
Аноним 20/03/22 Вск 20:04:17 #843 №2320113 
>>2320098
>А если памяти не хватит, исключение или аборт?
А что ты в программе сделаешь, если у тебя памяти не хватит?
Аноним 20/03/22 Вск 20:15:14 #844 №2320117 
>>2320111
>Такой же по накладным расходам как &.
Такой же по накладным расходам как ✱.
Аноним 20/03/22 Вск 20:16:14 #845 №2320118 
>>2320024
> Писали бы на чем-то другом, но мешает слишком большой объем кода на плюсах, который очень дорого переписать на другой язык и который неудобно использовать в других языках. Какой-то приличный FFI есть только с C, кто бы что не пытался с этим сделать.
Получается правда с++ лучше не учить сейчас?
Аноним 20/03/22 Вск 20:18:03 #846 №2320121 
>>2320112
Смотри, преобразование char * в std::string, скорее всего будет реализовано через выделение памяти + копирование. Существуют оптимизации стандартных библиотек, но стандарт такое поведение не определяет, насколько я знаю. Могу ошибаться. Уже 2 выделения и 2 копирования. Далее, если ты захочешь их "сумму" другой строке std::string = std::string + std::string, то произойдет еще 2 копирования и 1 выделение памяти. В итоге, 4 копирования и 3 выделения памяти, если повезет и строки будут вмещаться в заранее выделенную кучу, то всего 1 системный вызов будет, а если строки длинные, сколько системных вызовов будет? 3?

>про копирование бред какой-то
Где тут бред?

>>2320113
Если про пример, то выход. Там же все ясно видно, проверка на NULL с последующим успешным выходом, потому что мне не интересна работа и код завершения, так как в случае успешного выполнения в stdout поступит вывод.
Аноним 20/03/22 Вск 20:23:27 #847 №2320127 
>>2320111
>https://0bin.net/paste/unJN41wX#ElXvFbqlytv3m4u5tEaJZYMkr3rB9yKUDcP45Ajs9VY
Там юнион в структуре занимает `sizeof(int) x 2`, а вообще пример не понятен.
Аноним 20/03/22 Вск 20:30:01 #848 №2320135 
>>2320121
>преобразование char * в std::string
Ты не показал что там 2 выделения и 2 копирования. Просто сказал бездоказательно.
>Далее, если ты захочешь их "сумму" другой строке std::string = std::string + std::string, то произойдет еще 2 копирования и 1 выделение памяти
А как тут должно быть? Если тут три строки в результате из двух то так и должно быть. Если ты хочешь к первой прибавить вторую. То есть у тебя всего две строки. То произойдет 1 реаллок первой и в нее 1 раз скопируется вторая.
sageАноним 20/03/22 Вск 20:42:33 #849 №2320150 
>>2320121
>Смотри, преобразование char звёздочка в std::string
если я внутри плюсов, то я, скорее всего, си-строки не юзаю и у меня на руках будут на руках два std::string, никаких преобразований не будет

если одна из строк char const звёздочка, то у операторов + и += для строк внезапно есть перегрузка под этот случай, а если обе строки сишные, то я просто создам строку сразу нужного размера и сделаю в неё += view на сишные строки (чтобы размер строк не пересчитывался лол)

в плюсах нет оператора+ для двух const char звёздочка, нельзя их просто приплюсовать
короче, тут не будет никаких преобразований сишных строк в std::string

>Далее, если ты захочешь их "сумму" другой строке std::string = std::string + std::string, то произойдет еще 2 копирования и 1 выделение памяти.
ну да, выделится память под строку, в которой уместятся две сконкатенированных, и туда эти две и скопируются, в твоей реализации ровно это и делается лол
Аноним 20/03/22 Вск 20:46:27 #850 №2320156 
>>2320135
>Ты не показал что там 2 выделения и 2 копирования. Просто сказал бездоказательно.
Ты первый день программируешь? Смотри адреса.
https://godbolt.org/z/7KKzWqKE4

>А как тут должно быть? Если тут три строки в результате из двух то так и должно быть. Если ты хочешь к первой прибавить вторую. То есть у тебя всего две строки. То произойдет 1 реаллок первой и в нее 1 раз скопируется вторая.
Это был пример с 2-ойным преобразованием char ⚹ -> std::string, в этом случае будет 2 выделения памяти и 1 выделения для конечной строки. Можно сделать и через std::string(argv[1]) += char ⚹, тогда будет 2 выделения памяти для std::string = argv[1] и std::string += argv[2], но это не отменяет моих слов.

В реальности std::string резервирует на несколько байт больше памяти, поэтому при коротких строках будет 1 выделение, но при длинных будет 2 выделения и в худшем случае 2 системных вызова. Но количество копирований останется равно количеству преобразований.
Аноним 20/03/22 Вск 20:53:34 #851 №2320166 
>>2320127
>Там юнион в структуре занимает `sizeof(int) x 2`
Что поделать, раньше не было никаких абстрактных классов, наследования и шаблонов.
>а вообще пример не понятен.
Хоть я и не программист на Си или С++, но даже я догадался https://godbolt.org/z/WxfY7zW1q Гораздо понятней чем непонятно что.
Аноним 20/03/22 Вск 20:56:20 #852 №2320168 
>>2320156
>Ты первый день программируешь? Смотри адреса.
Но там все-таки не показано что два выделения и два копирования на одну строку. Зачем ты меня троллишь?
Аноним 20/03/22 Вск 20:57:10 #853 №2320170 
>>2320150
>если я внутри плюсов, то я, скорее всего, си-строки не юзаю и у меня на руках будут на руках два std::string, никаких преобразований не будет
Параметры запуска передаются в виде "сишных" строк, у тебя нет выбора.

>если одна из строк char const звёздочка, то у операторов + и += для строк внезапно есть перегрузка под этот случай, а если обе строки сишные, то я просто создам строку сразу нужного размера и сделаю в неё += view на сишные строки (чтобы размер строк не пересчитывался лол)
Удивительно, тогда разницы никакой не будет в исходном коде, но разница в производительности будет, кроме того, что будет если памяти не хватит исключение, аборт или ожидание, что случится внутри std::string?

>короче, тут не будет никаких преобразований сишных строк в std::string
Копирование, выделение памяти внутри std::string уже является преобразованием "сишной" строки в std::string.
Аноним 20/03/22 Вск 20:58:48 #854 №2320172 
>>2320166
>https://godbolt.org/z/WxfY7zW1q
Все равно юнион потребляет больше памяти, размер указателя больше размера int.
Аноним 20/03/22 Вск 21:05:52 #855 №2320180 
>>2320156
Я кажется понял чего ты просишь. Ты хочешь создания объекта string inplace прямо из char* с поглощением владения последним.

Тут https://stackoverflow.com/questions/65055864/construct-stdstring-from-dynamically-allocated-char-array-in-an-owning-way советуют использовать string_view или unique_ptr. Возможно в библиотеках есть.
Аноним 20/03/22 Вск 21:12:22 #856 №2320182 
>>2320180
Но это не значит что язык такое не позволяет. Это претензия к стандартной библиотеке.
Аноним 20/03/22 Вск 21:15:45 #857 №2320184 
>>2320150
https://quick-bench.com/q/q6drxZkC_FC3d86hq8S4uHmVAgc

Может быть не правильно понял, что ты хотел сделать, но в любом случае C++ будет медленней.
Аноним 20/03/22 Вск 22:02:12 #858 №2320215 
>>2320184
А где вообще этот выигрыш в скорости нужен? Я понимаю если это софт для пво, который должен ракету перехватить пока она не ебнет в цель, ну или когда ОС пишешь, но условным десктопным приложениям это нахуя

Мимо
Аноним 20/03/22 Вск 22:08:03 #859 №2320220 
>>2320215
>но условным десктопным приложениям это нахуя
Процессорное время у всего кода одно, если одна программа потребляет много, то на других это тоже сказывается.
Аноним 20/03/22 Вск 22:11:01 #860 №2320222 
Screenshot 2022-03-20 at 22.08.50.png
>>2320184
охуительный бенчмарк, просто сказка
Аноним 20/03/22 Вск 22:12:17 #861 №2320223 
>>2320222
Я делал B). Не заметил.
Аноним 20/03/22 Вск 22:15:00 #862 №2320225 
>>2320222
Без оптимизации показатели все равно в пользу 1 варианта.
https://quick-bench.com/q/noiN41EsJXLPSt9JQltxLo_5nh4
Аноним 20/03/22 Вск 22:48:20 #863 №2320253 
image.png
image.png
>>2320225
https://github.com/google/benchmark/blob/main/docs/user_guide.md#preventing-optimization
нужно делать DoNotOptimize + ClobberMemory, а не просто выключать оптимизации компилятора, какой вообще смысл их выключать, когда мы тестим скорость, лол

на больших вроде примерно одинаково, сишные только самую малость быстрее, хз хз, я первый раз бенч делаю, не уверен, что всё правильно сделал
https://quick-bench.com/q/0sU_YZEAMyFkRMRvn0miCWyIDaI (это который пикрил)

а на маленьких у меня почему-то сильно проигрывает мой вариант, но выигрывает наивный?
https://quick-bench.com/q/uKXSaS7Pw1UPvk0BWqy4Cc91K88

но на кланге std::string выигрывает, мб проблемы libstdc++ я хзхз, я слишком тупой чтобы понять чому так
https://quick-bench.com/q/v50CqNBkbz9hw9vd8pcj2shJm5w

не знаю, но с твоим бенчем очевидно что-то не то, смотри, он сам себе проигрывает
https://quick-bench.com/q/oE_osrLAAkkJEnTaZ_5MmNhTJFk
Аноним 20/03/22 Вск 22:50:32 #864 №2320258 
>>2320220
Хорошо, но в любом случае много всего пишется на каком нибудь питоне и подобном, который в десять раз медленнее, а вы тут своими с и с++ высчитываете у кого код на микросекунду быстрее
Аноним 20/03/22 Вск 22:52:36 #865 №2320260 
>>2320253
>мб проблемы libstdc++
а лол там в обоих случаях он выставлен ну я хз, я не могу асм читать энивей, и на си чистой в жизни писать никогда не собираюсь
Аноним 20/03/22 Вск 22:56:47 #866 №2320263 
>>2320225
Естественно, без оптимизаций конкретный код сильно быстрее абстрактного.
Но, как уже было продемонстрировано тобой же, в любой хоть сколько-нибудь нетривиальной логике очень просто обосраться. Собственно, для снижения когнитивной нагрузки и пишется (a + b), вместо твоего шедевра.
Вопрос с производительностью более тонкий. Простой ответ на него такой -- пока не доказал, что нужно оптимизировать, не делай этого. Иначе просто лишний раз жопу себе порвёшь. Нет, это, конечно, полезно, но когда учишься, а не работаешь.
Аноним 20/03/22 Вск 23:14:44 #867 №2320273 
>>2320253
>какой вообще смысл их выключать, когда мы тестим скорость, лол
Потому что я одной ногой уже во сне и мне лень этим заниматься.
Аноним 21/03/22 Пнд 01:00:27 #868 №2320346 
>>2320258
ДРОЧЬБА на скорость - детектор студентика-дебила, или просто неуча. Потому-что скорость она не в слиянии двух строк, а в гораздо более сложных вещах.

Да и скорость почти нигде нахуй не сдалась в нашем шлепательном ремесле
Аноним 21/03/22 Пнд 01:17:25 #869 №2320355 
>>2320346
если ты настолько тупой, что не можешь даже избежать лишнего преобразования сишной строки в std::string, то куда тебе до чего-то более сложного, ну камон, ты же не копируешь векторы по значению без необходимости, вот это то же самое
Аноним 21/03/22 Пнд 01:32:30 #870 №2320360 
>>2320355
Друг, я достаточно умен, чтобы не париться из-за такой полнейшей хуйни как преобразование сишной строки в std::string.
Аноним 21/03/22 Пнд 01:48:26 #871 №2320365 
>>2320360
И в итоге получится так, что любое интерпертируемое говно со сборкой мусора трахнет твой говнокод тупо хотя бы из-за того, что ты насрал строками в память. Зачем вообще тогда писать на плюсах? И те самые сложные вещи, где ты находишь скорость, будут проявлять себя только на достаточно больших инпутах, когда оверхед копирования строк по кд и прочей "полнейшей хуйни" станет сравнительно малым по сравнению с основной работой.
Аноним 21/03/22 Пнд 03:11:04 #872 №2320370 
>>2320365
>Зачем вообще тогда писать на плюсах?
Ты сейчас всё понял.
Аноним 21/03/22 Пнд 03:27:19 #873 №2320373 
Чёт проигрываю с треда. Днбичи обсасывают строки, которые в 90% кода используются только для логирования.
Аноним 21/03/22 Пнд 05:55:12 #874 №2320375 
>>2320253
>а на маленьких у меня почему-то сильно проигрывает мой вариант, но выигрывает наивный?
Оптимизация std::string для коротких строк, в котором не происходит выделение памяти, а используется внутренний буфер.

>не знаю, но с твоим бенчем очевидно что-то не то, смотри, он сам себе проигрывает
Все то, он сам у себя выигрывает.
Аноним 21/03/22 Пнд 05:56:13 #875 №2320376 
>>2320373
>Днбичи обсасывают строки, которые в 90% кода используются только для логирования.
У тебя логирование бесплатное?
Аноним 21/03/22 Пнд 06:25:21 #876 №2320380 
>>2320263
Там нет оптимизаций со стороны программиста, там только валидный код на C и C++.
Аноним 21/03/22 Пнд 12:59:36 #877 №2320520 
>>2320376
Относительно общего объёма вычислений - да. Я же не текстовый процессор пишу. В большинстве проектов достаточно подцепить какой-нибудь spdlog и заниматься своими делами. Ну разве что поглядывать за количеством вызовов.
Аноним 21/03/22 Пнд 17:50:37 #878 №2320707 
Сидишь, ковыряешь CUDA, тензорные ядра, векторизацию. Заходишь на двощ, а тут до сих пор строки оптимизируют, попадание в кэш и "шта garbage каллектар всё сам сделает".
Аноним 21/03/22 Пнд 18:08:32 #879 №2320718 
>>2320707
> ковыряешь CUDA, тензорные ядра, векторизацию
Как именно?
Аноним 21/03/22 Пнд 18:21:53 #880 №2320730 
>>2320718
Очевидно, что пишешь cuda ядра, ASM вставки/интринсики.
Аноним 21/03/22 Пнд 21:06:32 #881 №2320839 
>>2320121
смотри: если хочешь чтобы у тебя си-строка побыстрее конвертировалась в string, либо сделать конкатенацию сишных строк с преобразованием в string, то есть парочка приемов оптимизации:
первый, это то что есть перегрузка конструктора string и член-функция append которые принимает не только сишную строку, но и количество копируемых символов вторым параметром, соответственно не надо там пробегать высчитывать длину сишной строки
второй это то что в классе string есть члены-функции reserve и shrink_to_fit, в случае когда у тебя уже известны (либо примерно известны) размеры сишных строк из которых ты хочешь сделать объект string, используешь эту парочку функций
по итогу если заранее знаешь размеры сишных строк, то у тебя будет 1 выделение памяти и 2 копирования
Аноним 21/03/22 Пнд 21:14:34 #882 №2320842 
>>2320839
>если хочешь чтобы у тебя си-строка побыстрее конвертировалась в string
Не хочу.

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

>у тебя будет 1 выделение памяти
Выделение для преобразования, выделение для копирования, минимум 2.

Научись читать целую ветку, а не отдельные ответы. Там все уже расписано много раз.
Аноним 21/03/22 Пнд 21:21:00 #883 №2320846 
>>2320842
>Чтобы узнать длину сишной строки, нужно найти ее конец.
зачастую ты уже знаешь длину сишной строки
к примеру в реляционных субд строковые поля фиксированной длины, и когда ты пишешь с++ обертку для работы с интерфейсом этой субд это обычный прием оптимизации..
Аноним 21/03/22 Пнд 21:22:57 #884 №2320848 
>>2320842
>Выделение для преобразования, выделение для копирования, минимум 2.
используешь конструктор который принимает сишную строку, будет только одно копирование
Аноним 21/03/22 Пнд 21:24:53 #885 №2320849 
>>2320846
>>2320848
C++кодеры не могут в понимание внутренностей кода и реализаций. Даже тред прочитать не могут полностью.
Аноним 21/03/22 Пнд 22:31:45 #886 №2320908 
Немного оффтоп, но как адекватно переводится "statement"? Я почему-то переводил его для себя всегда как "выражение" или типа того, но тут решил сунуть в переводчик и везде хрень какая-то, то оператор, то инструкция. В общем должно быть какое-то слово получше для "statement"
Аноним 21/03/22 Пнд 22:45:02 #887 №2320917 
>>2320908
Да, инструкция или оператор (но не операция, которая operator). Никакое это не выражение, у выражения есть результат какого-то типа. его можно присвоить соответствующей переменной, либо сделать из выражения инструкцию добавлением ; в конец.
Аноним 21/03/22 Пнд 22:49:50 #888 №2320919 
image.png
>>2320917
Для меня оператором всегда было то, что на пикриле.
Блять, десять терминов и на все одно слово.
Аноним 21/03/22 Пнд 22:51:34 #889 №2320920 
>>2320919
Да просто дебилы придумали перевести operator как операция и начали городить вокруг этого костыльные термины.
Аноним 22/03/22 Втр 02:52:47 #890 №2321005 
>>2320849
хорош маняврировать
если надо смотрим ассемблерный листинг, если надо то влючаем флажек "заходить в код библиотек" и смотрим что там в потрохах stl
никакой магии нет, это белый ящик
Аноним 22/03/22 Втр 07:19:49 #891 №2321027 
>>2320908
"утверждение" хорошо подойдет
Аноним 22/03/22 Втр 08:08:05 #892 №2321031 
#include <iostream>
using namespace std;
void main()
{
long int x = 64310, y = 54, z = 0;
z = x + y;
cout << x << "+" << y << "=" << z;
cin.get ();
{
Короче, помогите мне, пожалуйста. Для вас нихуя, а мне спасёте жизнь.
Суть: препод сказал изменить код так, чтобы вычисления были в cout , как я понял. Напишите, пж.
Аноним 22/03/22 Втр 08:13:56 #893 №2321032 
>>2321031
Вместо << z ; пишешь << (х + у);
Аноним 22/03/22 Втр 08:20:45 #894 №2321033 
>>2321032
>>2321032
Живи сто лет, спасибо.



P. S. Я не тупой, просто я тупой и жизнь меня закинула сюда :/
Аноним 22/03/22 Втр 08:53:36 #895 №2321037 
>>2321027
>"утверждение"
Это к "assertion" ближе.
Аноним 22/03/22 Втр 12:26:33 #896 №2321127 
Я не понял. Почему тред не закреплен на главной? С++ теперь единственный перспективный язык в нашей стране.
Началась новая эпоха низкоуровневых и среднеуровневых языков, написание своих библиотек и фреймворков.
Аноним 22/03/22 Втр 12:30:58 #897 №2321131 
>>2321127
>С++ теперь единственный перспективный язык в нашей стране.
Почему?
>Началась новая эпоха низкоуровневых и среднеуровневых языков
Нет.
>написание своих библиотек и фреймворков.
Зачем?
Аноним 22/03/22 Втр 12:35:31 #898 №2321134 
>>2321127
Будь это так, я бы первый перекатился из ебаной ненавистной жабы в любимые крестики.
Аноним 22/03/22 Втр 12:36:40 #899 №2321135 
>>2321134
>жабы
>любимые крестики
Ты говноед со стажем?
Аноним 22/03/22 Втр 13:14:56 #900 №2321161 
>>2321037
Тут как договоришься. Для меня, assertion = жопу ставлю, а statement идет как утверждение, предлагаемое к рассмотрению.
Аноним 22/03/22 Втр 13:58:19 #901 №2321196 
>>2320908
Если больная логика, то можно перевести, как "установка состояния", "изменение состояния", "смена (переход) состояния" или "шаг", хотя не отражает смысл исходного значения, но имхо наиболее ясный вариант для меня, слово "выражение" у меня в голове создает картину каких-то математических формул, а "утверждение" ассоциируется с assert, "операция" с Украиной.
Аноним 22/03/22 Втр 15:05:46 #902 №2321256 
Чому в openssl - одной из самых популярных либ для криптографии миллион багов и утечек?
Аноним 22/03/22 Втр 15:58:53 #903 №2321277 
>>2321256
Потому что она на сишке, с кучей макросов, кроссплатфооменных хаков, местами имитацией ооп (через struct с десятком указателей на функции), void× и size_t (а то и int) и это всё хер отследишь и даже статик анализаторы мало помогают. Читал её код и плакал.
Аноним 22/03/22 Втр 16:07:57 #904 №2321281 
>>2321277
Почему она самая популярная? Она кажется вообще даже одобрение от какой то американской криптоорганизации получила, лол. Разве не лучше использовать Crypto++ или что то подобное.
Аноним 22/03/22 Втр 16:08:55 #905 №2321283 
>>2321277
> size_t (а то и int)
Как? Мне в вузе на первой паре сказали, что нигде кроме контестов так писать не надо, потому что потом заебешься искать ошибку
Аноним 22/03/22 Втр 16:10:28 #906 №2321286 
Поисковики это какая область? Машоб по большей части?
Аноним 22/03/22 Втр 17:02:39 #907 №2321337 
>>2321196
>>2321027
>>2320920
Короче постараюсь придать этому слову для себя смесь смыслов слов "утверждение, выражение, операция", и будут читать с++ книжки с таким настроем в голове
Аноним 23/03/22 Срд 16:43:44 #908 №2321842 
>>2321256
>миллион багов и утечек?
Какие?
Аноним 23/03/22 Срд 16:54:49 #909 №2321847 
>>2321286
>Поисковики это какая область?
Коммерческая.
Аноним 23/03/22 Срд 16:55:15 #910 №2321848 
Что почитать по поводу шаблонов и их использования?
Аноним 23/03/22 Срд 16:57:01 #911 №2321849 
>>2321848
https://docs.microsoft.com/ru-ru/cpp/cpp/templates-cpp
Аноним 23/03/22 Срд 19:22:02 #912 №2321931 
>>2321849
Там же просто сухая информация. Мне бы что-нибудь с примерами использования, объяснением каких-то неочевидных фич или спорными моментами, в которых легко обосраться.
Неужели нет никаких статей/книг про это?
Аноним 23/03/22 Срд 19:44:45 #913 №2321942 
>>2321848
https://www.youtube.com/channel/UCvmBEbr9NZt7UEh9doI7n_A
У этого челика из МФТИ последние лекции для баколавра были про шаблоны и их применение.
Аноним 23/03/22 Срд 20:15:26 #914 №2321953 
>>2321931
https://www.youtube.com/playlist?list=PLmSYEYYGhnBu1fFtnzKx-pycYbJnb0rOl
Аноним 24/03/22 Чтв 01:32:31 #915 №2322080 
>>2321127
>написание своих библиотек и фреймворков
А на какие деньги это все будет писаться и поддерживаться? Вон, яндекс тратит дохуиллиарды на поддержание своей самописной инфраструктуры в актуальном состоянии.
Разработку своих велосипедов в основном только фаанги могут позволить. Либо какие-то узконаправленные стартапы.

Дефолтное ковыряение крудов в банке или гос энтерпрайзе не нуждается в собственных велосипедах, всегда можно взять старую джаву8 и спринг4 для больших проектов, а для тех, что поменьше пхп5 и битрикс с 1с, где еще нет или не было никаких закладок против злых русских, это проще и дешевле в разы.
Аноним 25/03/22 Птн 02:26:21 #916 №2322633 
>>2321848
страуструп "дизайн и эволюция с++" 15я глава
страуструп "язык программирования с++, специальное издание" 13я глава и приложение в13
это чисто база, написанная еще тогда когда страус не был ленивой задницей
Coplien, James O. "Curiously Recurring Template Patterns" - crtp одна из основ практической шаблонной магии на крестах
Александреску "Современное программирование на с++" - ну это база метапрограммирования на с++, в сегодняшних стандартах языка ты будешь делать все то же самое, но просто с применением новых языковых расширений, а суть не поменяеться
ну и есть толстая книжка вандевурд, джосаттис, грегор "шаблоны с++", где собственно попытались все запехать, и основы, и crtp, и метапрограммирование, неплохая как по мне, для новичков сойдет

Аноним 25/03/22 Птн 03:38:57 #917 №2322642 
>>2321127
ты там зайди на hh
крестовики больше всех провалились по вакансиям
мы теперь совсем не нужны здеся
Аноним 25/03/22 Птн 16:39:58 #918 №2323021 
На Qt нужно сделать так что бы в зависимость от введенных цифр на экране загорались нужные квадратики, квадратики это виджеты, цифры получаются в отдельном потоке, когда приходят нужные цифры загорается нужный квадратик. Планирую создать двумерный массив указателей на виджеты(квадратики), передать это в поток который читает цифры. В потоке который читает цифры создать также события которые будут отправляться нужному квадратику и иметь такой же индекс в двумерном массиве что и квадратик. То есть строка и столбец событие в массиве событий будут соотвествовать нужному указателю на виджет в массиве указателей на виджеты.
Затем берется событие из массива событий, туда подставляется нужный указатель из массива указателей, и отсылается виджету событие измени цвет.
Нормальная идея, или шиза?
Лично меня не устраивает то что цифры приходящие в поток который читает цифры, так сказать не весь свой диапазон задействуют. Ну вот например пришли цифры 2 и 1 и значит во 2 строке и первом столбце должен зажечься квадратик, а 2 например 2 и 3, не должно существовать квадратика, а 2 и 4 должен. И так пропусков может быть много, и жалко память тратить. Хотя че эти жалкие байты экономить.
Аноним 25/03/22 Птн 16:44:49 #919 №2323026 
>>2323021
Или же связать все квадратики с сигналом из потока который читает цифры, пускай все квадратики получают сигнал в котором будут передаваться цифры, и если квадратик обнаружил свои цифры, то он загорается, а ну так то полегче и покрасивше будет.
Аноним 25/03/22 Птн 16:45:14 #920 №2323027 
>>2323021
Рисуй квадратики сам.
Аноним 25/03/22 Птн 16:46:33 #921 №2323028 
>>2323027
Кто?Я?
Аноним 25/03/22 Птн 17:31:49 #922 №2323058 
>>2323021
Если кто не понял, то квадратики расположены на экране, просто они меняют цвет если пришли цифры зажигающие нужный квадратик
Аноним 25/03/22 Птн 18:14:34 #923 №2323084 
Есть ли у меня гарантия того, что деструктор объекта сработает?
Просто в шарпе, например, такой гарантии нет, и приходится использовать либо using, либо try-finally.
Есть ли в плюсах какие-то такие заморочки?
Аноним 25/03/22 Птн 18:16:54 #924 №2323085 
>>2323021
Один сигнал для менеджера квадратиков, он проверяет существует ли такой и даёт ему сигнал на изменение цвета.
Аноним 25/03/22 Птн 18:20:46 #925 №2323091 
>>2323084
Есть при удалении объекта из кучи, для стековых - при выходе из скоупа или исключении. Т.е.если ты создаёшь все на стеке и используешь умные указатели - всегда.
Аноним 25/03/22 Птн 18:21:25 #926 №2323092 
>>2323084
Всегда, но только при нормальной работе программы, нестандартное (системный вызов, сигнал завершения и т. д.) завершение программы или потока не гарантирует вызова деструктора.
Аноним 25/03/22 Птн 18:55:43 #927 №2323126 
>>2323092
Ты можешь создать объекты на куче, нормально завершить программу и деструкторов не будет.
Аноним 25/03/22 Птн 19:01:07 #928 №2323131 
>>2323126
Потому что вызова деструктора изначально не было, а не потому что он не вызвался из-за каких-то языковых проблем.
Аноним 25/03/22 Птн 22:15:53 #929 №2323245 
>>2323021
надеюсь ты студентик еще и это курсач твой
а если ты РАБотаешь уже то земля пухом твоей фирме и отдельный привет службе hr

Аноним 25/03/22 Птн 22:35:37 #930 №2323250 
>>2323245
хихихи
Аноним 25/03/22 Птн 23:39:16 #931 №2323265 
>>2323021
>Qt
Очень надеюсь что ты не из РФии
Аноним 25/03/22 Птн 23:46:24 #932 №2323267 
>>2321931
Тебе скинули >>2321953 норм курс, но он на базовый поток. А так, чтобы ты не терял своё время, советую ознакомиться с тем, что тебе придётся понять и освоить если хочешь вкатиться в C++.
http://mesyarik.ru/17/cplusplus_course.html

К слову, это только язык. Дальше там на ФПМИ есть ещё куча курсов для C++, в которых учат писать качественное ПО. Ну и ещё есть курс где рассказывается БАЗА для программирования.

Если тебе не страшно, если ты на 100% уверен что тебе не интересен ВебДевелопмент, и никакие там C# с Java, то... Добро пожаловать..

Чуть не забыл, дальше ещё надо бы алгоритмы подучить, там тоже на ФПМИ есть. Но, если ты не учился на матфаке, будет тяжко вкатиться в эти дебри (манеру объяснения). Ну, на этот счёт есть курсы МГУ / МФТИ по матану и линалу, там по сути студентов подводят к этой философии изложения материала.
Аноним 25/03/22 Птн 23:49:04 #933 №2323270 
>>2321848
Гугли курс метапрограммирования на C++ от ФПМИ, там должен быть плейлист с 10 видосами как минимум.
Аноним 26/03/22 Суб 10:07:57 #934 №2323351 
>>2321848
>Что почитать по поводу шаблонов и их использования?
>>2321942
>>2321953
>>2323267
>>2323270
>Рекомендуют 50 часов лекций.
Аноним 26/03/22 Суб 11:23:08 #935 №2323401 
>>2323265
РФия
Аноним 26/03/22 Суб 11:49:24 #936 №2323414 
>>2323401
Не советую в ближайшее время использовать Qt. Они уже сейчас начинают хуйню творить в отношении русскоязычного сообщества.
Аноним 26/03/22 Суб 11:56:03 #937 №2323416 
>>2323414
Ну у меня пока все работает
Аноним 26/03/22 Суб 17:28:38 #938 №2323663 
>>2323414
Какую? Это ж попенсорс (раньше был)
Аноним 26/03/22 Суб 17:33:07 #939 №2323665 
>>2323663
Лицензию посмотри их.
Аноним 26/03/22 Суб 17:39:42 #940 №2323667 
>>2323665
какую именно? Там их дохуя - на каждый компонент лицензия отдельная
Аноним 26/03/22 Суб 17:47:37 #941 №2323674 
>>2323667
Достаточно в гугле вбить. https://regnum.ru/news/polit/3526080.html


мимо другой анон
Аноним 26/03/22 Суб 17:48:33 #942 №2323677 
>>2323667
Для закрытого и коммерческого ПО стало проблемно использовать Qt, потому что оплатить и скачать оффициально нельзя из РФ, для открытого и некоммерческого можно использовать.
Аноним 26/03/22 Суб 22:14:47 #943 №2323765 
Я быдло, хочу программировать на C++ как боженька. Прочитал Шилдта и A Tour Of C++.
Что читать дальше?
Аноним 26/03/22 Суб 22:22:17 #944 №2323769 
>>2323765
>Что читать дальше?
Программируй.
Аноним 26/03/22 Суб 22:48:47 #945 №2323783 
>>2323765
Быдлу будет сложно вкатиться из-за большого порогового входа. Мб тебе выбрать что-то другое?
Аноним 26/03/22 Суб 23:19:45 #946 №2323788 
>>2323765
Гарри Поттера почитай, а код писать надо
Аноним 26/03/22 Суб 23:21:42 #947 №2323789 
>>2323769
>>2323788
Нельзя же просто взять и начать писать код, нужен какой-то базовый набор знаний. Иначе я буду троллируем опытными C++-девелоперами.
Аноним 26/03/22 Суб 23:24:25 #948 №2323790 
>>2323789
можно. Ты достаточно прочитал, чтобы сделать какую-нибудь хуевую консольную змейку или тетрис, например
Аноним 27/03/22 Вск 10:34:49 #949 №2323870 
>>2323265
А какой гуи фреймворк тогда юзать?
Аноним 27/03/22 Вск 10:38:12 #950 №2323872 
>>2323870
Выбирай любой.
https://github.com/fffaraz/awesome-cpp#gui
Аноним 27/03/22 Вск 10:41:05 #951 №2323875 
>>2323769
А что такого написать в виде пет-проекта, чтобы ты на собесе сказал "молодца"?
Аноним 27/03/22 Вск 13:23:22 #952 №2323962 
>>2323875
Придумай. Почему у меня в вузе первокуры сами проекты придумывают и им потом на собесе говорят "Малаца"? Вы все спрашиваете блядь. Ладно книги, это нормально, но что тебе писать это странно. Неужели тебе самому не интересно что то сложное и большое написать? Вот это для себеса подойдет
Аноним 27/03/22 Вск 13:37:15 #953 №2323971 
>>2323962
Я бы игру сам хотел написать, но будет ли это выглядеть серьезным?
Аноним 27/03/22 Вск 13:39:49 #954 №2323973 
>>2323971
Зависит от реализации, если просто возьмешь готовый движок, то ты написал игру на готовом движке, еще одну. А если ты напишешь свой движок (даже хуевый и примитивный), но на нем можно будет построить несколько игр, даже 2д, даже визуальных новелл, но это будет удобно, то имхо будет интереснее выглядить.
Аноним 27/03/22 Вск 13:50:33 #955 №2323986 
>>2323971
>>2323973
Фокусируйся на технических деталях. Для игрушки с точки зрения пользователя важен сюжет, персонажи, красивая рисовка и тд. Для проги это все абсолютно неважно. Для проги важно придумать какой нибудь интересный алгоритм, решить сложные технические задачи.
Аноним 27/03/22 Вск 14:01:40 #956 №2323997 
Ребят, читаю : "Программирование. Принципы и практика использования C++".
Но там есть своя библиотека какая-то, а я не могу найти её целиком в интернете, получается только частями какие-то функции выискивать и вставлять себе((
Кто читал, помогите дурачку
Аноним 27/03/22 Вск 16:13:55 #957 №2324054 
>>2323414
Вопрос по теме. Какие вообще гуи есть годные кроме Qt, а то всегда как только заходит тема про гуи, то только про него говорят. Это такая прям годнота или конкурентов просто нет?
Мимо
Аноним 27/03/22 Вск 16:15:50 #958 №2324055 
>>2323677
Как будто здесь кто-то пишет коммерческие проекты. Ну а если и пишет, то явно это не человек который что-то там решает и выбирает какие фреймворки/библиотеки использовать
Аноним 27/03/22 Вск 16:38:06 #959 №2324074 
>>2324054
Для крупных проектов GTK, для мелких xvWidgets. Qt лучшее, что есть на c++ и другого не будет. На данный момент на c++ GUI пишут скорее как исключение: чутка под эмбед, чутка под мобилки и чутка под десктоп. Типичный проект - это связка с web или C#/Java (React, WPF, Spring).
Аноним 27/03/22 Вск 17:02:34 #960 №2324085 
>>2324074
Получается если хочешь десктоп приложения, то лучше в шарп/джава идти?
Аноним 27/03/22 Вск 17:18:04 #961 №2324094 
>>2324085
Скорее в веб, щас все на электроне из крупняка. На С++ только адове легаси
Аноним 27/03/22 Вск 17:19:40 #962 №2324096 
Привет, анон. Нашел у ФПМИ клевый курс по concurrency.
https://www.youtube.com/watch?v=zw6V3SDsXDk&list=PL4_hYwCyhAvZLYM41IC4JMnrPpNLbAVL2&index=2
Однако лекций всего 6, а в первом же видосе есть список тем, и лекций там 15
Вопрос: никто не знает, где можно добыть полный набор лекций? Или это проприетарщина мфти? Или еще может просто не все выложили?
И, может, кто проходил его. Насколько годный? Мне по вводной лекции показалось, что прям ок.
Аноним 27/03/22 Вск 17:23:48 #963 №2324098 
>>2324085
В целом - да. На c++ пишут десктоп для гос. нужд под всякие Astra Linux. Либо доделывают проекты с долгим жизненным циклом. Иногда бывает софт типа графических редакторов или для работы с видео и аудио (хотя многое уже на wpf переехало).
Аноним 27/03/22 Вск 18:32:29 #964 №2324127 
>>2324094
>>2324098
А если требования к производительност есть? Внутренности на с++ писать, а потом прикручивать к этомуи гуи через электрон?
Аноним 27/03/22 Вск 19:03:59 #965 №2324143 
>>2324098
ага ага, поэтому яндекс переписали такси с питона на плюсы, все потому что только легаси осталось. Не позорься, а
кому нужна производительность - пишут на плюсах, все.
Плюс есть области где кроме плюсов пока никто ничего предложить не может - селф драфвинг, очень часто комп зрение, бэк реже, но есть
Или ты просто 11 классник и наслушался неудачников на дваче?
Аноним 27/03/22 Вск 19:16:27 #966 №2324148 
>>2324127
На С++ переписывать такие произведения никто не собирается, посоветуют взять железо помощнее, если это клиентское ПО, или выделят еще пару серверов для микросервисов, если серверное.
Аноним 27/03/22 Вск 21:03:58 #967 №2324228 
>>2324127
Ну в целом gui стараются абстрагировать и отделить от остальных подсистем. Прогресс не стоит на месте и многие проекты хотя бы раз меняли фронт. Допустим раньше был MFC и с него перекатывали на Qt или WPF. Я видел немецкий enterprise, где фронт на Qt выкинули нахуй и заменили на Web (только выиграли).

Поэтому да, критическую по производительности внутрянку пишут на cpp, а остальное на том, на чём быстрее и с чем меньше ебаться при дальнейшей поддержке (фактически на c++ писать не выгодно по деньгам).

Бывает ещё в эмбед ситуация, когда ресурсов у железки мало и жабу с дотнеткорами не впихнуть - там страдают с Qt или библиотечками поменьше.
Аноним 27/03/22 Вск 21:19:28 #968 №2324234 
>>2324228
> стараются абстрагировать и отделить от остальных подсистем
Я пока не сильно разбираюсь в этом. Что это вообще за процесс соединения условного кода на с++ с гуи на условном электроне?
Есть какие-то библиотеки для этого или какая-то еще штука уже встроенная в электрон и другие фреймворки? Это вообще сложно делается или в два клика?
Аноним 27/03/22 Вск 21:21:46 #969 №2324238 
>>2324143
Ну я даже не знаю куда тебе пояснять...

Портирование кода с питона это обычная практика. Например головастики пишут алгоритмы и proof of concept на нём, а потом его уже дрочат под конкретную платформу с avx, cuda, opencl, intrinsics на c++. Причём пилится либа с биндами для питона, а остальная бэкендовская часть на питоне же и остаётся.

По зрению ты тоже фантазируешь. Математика gbitncz на c, c++, fortran. Бэк бывает написан на Go/Rust/c++/java/python. Фронт - чаще встречается web.
Аноним 27/03/22 Вск 21:33:15 #970 №2324243 
>>2324234
Не знаю, как оно в JS устроено. Но вот например в жабе есть JNI. Там делается так - пишешь класс на java и помечаешь его методы как native. Отдаёшь его компилятору джавы javac с ключиком и он тебе генерирует c++ заголовок .h. Цепляешь его и либы jni из java sdk к своей библиотеке на c++ и реализуешь его методы. Компилируешь в dll. Дальше в коде Java загружаешь dll одним вызовом и используешь свой java класс.
В итоге у тебя есть абстрактный java класс с набором методов без реализации (на java). Потом ты можешь выкинуть dll и запилить эти методы на чём-то другом.
Аноним 27/03/22 Вск 21:43:23 #971 №2324252 
>>2324127
"Требований к производительности" нет ни у Микрософт тимс, ни у слака (с миллиардами установок у каждого) - а у тебя есть, да?

Если разговор идет о программе, делающей что-то трудозатратное - числодробилке там, или видеоконвертере - то ГУЙ пишешь на электроне\шарпе\прочем.

И далее собираешь из гуя и числодробилки общий продукт, где они общаться могут хоть через пайпы, хоть через сеть, хоть через прости-господи http. Ну, или через нативные вызовы, любой язык умеет дергать сишный код.
Аноним 27/03/22 Вск 21:50:40 #972 №2324257 
>>2324234
Это не сложно, скорее муторно, но в долгую очень помогает.
Реализация может быть разная - например вызовы библиотек Qt через JNI, как я описал выше, либо это общение с JS фронтом через отправку REST запросов.
Аноним 27/03/22 Вск 21:59:55 #973 №2324259 
>>2324096
весна 2022 не кончилась еще
курс выходит
Аноним 27/03/22 Вск 22:24:49 #974 №2324281 
>>2324252
> "Требований к производительности" нет ни у Микрософт тимс, ни у слака (с миллиардами установок у каждого) - а у тебя есть, да?
А потом такие обезьяны начинают свое говно подчищать спустя годы и получается ситуация как с блендером, когда сайклс ускорился в 3-10 раз после одной обновы. Но производительность нам не нужна конечно, у нас таких требований нет, напишем говно хрен знает как, а потом понадеемся что через 15 лет кто-то исправит
Аноним 27/03/22 Вск 22:48:35 #975 №2324297 
>>2324238
> Портирование кода с питона
не путай портатирование и переписывание в связи с тем, что питон не тянет нагрузку
> По зрению ты тоже фантазируешь
нет. Нейросети - питон. Деплой - плюсы. Не веришь - тот же хуавей набирет на зрение спецов со знанием с++. И не только хуевей
> Бэк бывает написан на Go/Rust/c++/java/python
согласен, бэк на плюсах себе позволяют только топ конторы типа яндекса и пр. В целом, я и написал бывает. И это не всегда легаси.
Аноним 27/03/22 Вск 23:10:03 #976 №2324316 
>>2324281
Пока ты будешь делать ПРОИЗВОДИТЕЛЬНО и на С++ - говношлепы уже 100% рыночка займут. В этом и суть.

Переписывать можно сильно позже, только business justification у гуйни нет для этого
Аноним 27/03/22 Вск 23:18:48 #977 №2324320 
Screenshot2022-03-27-23-16-09-801com.android.chrome.png
как стать таким крутым? овер 8000 ответов, это законно вообще? что за разум такой?
https://stackoverflow.com/users/85371/sehe?tab=topactivity
Аноним 27/03/22 Вск 23:27:33 #978 №2324324 
>>2324297
>портатирование
чёт кекнул с этого

>Нейросети - питон.
В моём проекте cети Кохонена, каскады Хаара, AdaBoost - всё на плюсах, avx и cuda. Но тебе ничего не мешает педалить на Python фреймворках типа PyTorch позади которых стоят всякие blas/lapack, писанные на c/c++/fortran.

>Деплой - плюсы.
Вообще похуй на чём он.

>хуавей набирет
Если позиция - researcher, то у них в требованиях Python, если sw developer, то c++. То есть там такой же процесс python --> cpp, как я и описал.
Аноним 27/03/22 Вск 23:31:53 #979 №2324329 
>>2324320
у меня есть профиль на SO с 4к+ репы. Просто сидишь эфпячишь 24х7 и очень стараешься успеть ответить самым первым.

Сейчас это пиздец как сложно, т.к. все легкие вопросы отвечены - та кчто надо успеть ответить, пока мочераторы не помаркают вопрос как дубликат.
Аноним 27/03/22 Вск 23:40:17 #980 №2324336 
>>2324329
А что если бустить аккаунты и продавать их индусам? Взлетит бизнес?
Аноним 27/03/22 Вск 23:41:53 #981 №2324339 
>>2324336
Зачем?
Аноним 27/03/22 Вск 23:42:56 #982 №2324341 
>>2324336
Если ты можешь бустить аккаунты на SO очень быстро - то тебе проще работать программистом на 100 баксов в час на удаленке, или онсайт в Гугле\ФБ L5+.

Если ты не можешь их бустить быстро - то раздавать листовки на улице будет выгоднее
Аноним 27/03/22 Вск 23:45:12 #983 №2324343 
>>2324339
Ну типа тебе деньги а им бонус в CV. Плюс они, как и азиаты, падки на тщеславие.
Аноним 28/03/22 Пнд 14:10:41 #984 №2324564 
16235876877020.jpg
>>2324316
> Пока ты будешь делать ПРОИЗВОДИТЕЛЬНО и на С++ - говношлепы уже 100% рыночка займут. В этом и суть.
В каком мире мы живем...
Аноним 28/03/22 Пнд 15:45:18 #985 №2324630 
Кто разбирается в создании собственных виджетов для QtDesigner, я вот виджет сделал, но не пойму как его добавить в QtDesigner, что бы он был как полноценный, а не как promoted. Что бы были видны все его свойства справа. Я гайд в интернете нашел, там сказано сделать его как плагин, патом собрать это все надо и положить библиотеку dll в папку с плагинами, я так делаю мне выдает ошибку не найден подключаемый модуль имявиджета.dll, хотя он лежит в папке plagins.
Аноним 28/03/22 Пнд 18:10:20 #986 №2324724 
>>2324630
>plagins
Попробуй положить в папку plugins
Аноним 28/03/22 Пнд 21:00:02 #987 №2324795 
image.png
>>2324724
Аноним 28/03/22 Пнд 21:32:24 #988 №2324802 
>>2324324
> чёт кекнул с этого
бля да, тоже проорал

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

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

насчет хуевея такое ощуещение. что мы достигли соглашения, потому что твой ответ, в целом, подтверждает мой
Аноним 28/03/22 Пнд 21:52:51 #989 №2324810 
>>2324802
Деплой вообще не про языки программирования, это devops. Чем отличается "сервер" от "условной тачки"? Go без проблем тиражируется образами для запуска в контейнерах и оркестраторах.

>такое ощуещение
что ты виляешь жопой, дав подливы
Аноним 28/03/22 Пнд 21:59:33 #990 №2324812 
>>2324810
Ебанутый?
> говорю, что большие конторы пишут на плюсах, говорю что он там, где нужна производительность, привожу пример с хуевеем
> ХУАВАЙ ПЛЮСЫ НА СЕ ДА ДА
> соглашаюсь
> ЫЫЫ ОПОДЛИВИЛСЯ ВИЛЯЕШЬ ЖОПОЙ
дебич

> Деплой вообще не про языки программирования, это devops.
ой бляя. Ну давай, девопси в юпитере нейросети в докере своем.
Я говорю, что как только нужно уйти за пределы маня ноутбуков с обучением и превратить то что нахуярили дата сентисты в производительный код с применением того же тензоррт, то тебе , нихуя себе, понадобится не девопсер, а прогер на плюсах
Аноним 28/03/22 Пнд 22:00:04 #991 №2324813 
>>2324812
бля не те скобки
Аноним 28/03/22 Пнд 22:15:45 #992 №2324817 
>>2324812
Сначала почитай, что такое deployment, а потом поясни как он связан с cpp:
https://en.wikipedia.org/wiki/Software_deployment

>>2324813
хватит подливу по треду размазывать
Аноним 28/03/22 Пнд 23:13:41 #993 №2324846 
>>2324817
ты же хуйню пишешь
мимо
Аноним 28/03/22 Пнд 23:16:44 #994 №2324851 
>>2324846
В чём он не прав?
мимо
Аноним 29/03/22 Втр 00:02:35 #995 №2324868 
>>2324851
в том, что пишет хуйню

>>2324810
Чем сервер отличается от тачки? Ну, как минимум требованиями к скорости. У тачки они выше. Твои докеры в связке с го идут нахуй. Мы у себя паримся над количеством копирований, и том, как в памяти выровнять точки траектории робота, а ты все еще думаешь, что твои контейнеры с го туда можно впилить
Аноним 29/03/22 Втр 00:07:52 #996 №2324872 
Господи, как в этом эклипсе подключать заголовочные файлы?
Аноним 29/03/22 Втр 00:10:47 #997 №2324874 
>>2324872
Бля, опять ты, иди нахуй.
Аноним 29/03/22 Втр 00:33:52 #998 №2324887 
>>2324868
Ну то есть ты думаешь, что твоя прога, помещённая в контейнер, сразу начинает потреблять x2 по памяти и замедляется в два раза? Или что контейнер сам жрёт х10 оперативки? Или ты не понимаешь, что на Go пишется не алгоритм робота, а бэкенд, в котором твой робот это лишь часть пайплайна или многокомпонентной системы?
Аноним 29/03/22 Втр 00:36:56 #999 №2324888 
>>2324868
Вангую, что для тебя контейнер и виртуальная машина это одно и тоже.
Аноним 29/03/22 Втр 06:16:02 #1000 №2324914 
>>2324872
Не пользуйся эклипсом.
Аноним 29/03/22 Втр 06:26:27 #1001 №2324915 
>>2324888
Да.
мимо другой
Аноним 29/03/22 Втр 14:21:41 #1002 №2325163 
>>2324914
Самый дельный совет
Скачал студию и разобрался за секунду
Аноним 29/03/22 Втр 18:50:31 #1003 №2325338 
А есть какой-то учебник с практикой, но легче страустропа?
Там просто не могу врубиться с калькулятором в 6 главе, а остальные учебники будто просто теорию подают и в конце глав вопросики лёгкие.
Аноним 29/03/22 Втр 19:29:53 #1004 №2325368 
>>2325338
> но легче страустропа
Нахуя? Иди сразу по сложному пути, иначе нахуя вообще что-то читать.
Аноним 29/03/22 Втр 19:57:08 #1005 №2325383 
>>2325368
Да я думаю, что можно легче что-то почитать, а потом вернуться к сложному. Разные источники информации использовать
Аноним 30/03/22 Срд 06:14:20 #1006 №2325523 
image.png
image.png
image.png
>>2297529 (OP)
Сап. Что я делаю не так? Решаю сейчас задачку, в которой необходимо впихнуть в словарь "базу данных" из тхт, связку логин/пароль и потом сравнить с вводимым в консоль. Столкнулся с проблемой, что, после слэша чтение файла тупо прекращается, и все, что ниже первой строки в словарь уже не входит. Как это пофиксить?
Аноним 30/03/22 Срд 06:51:04 #1007 №2325525 
>>2325523
Проблема в алгоритме, которого у тебя нет, а есть ошибочное использование getline.
Аноним 30/03/22 Срд 21:12:42 #1008 №2326022 
Аноны, можете объяснить смысл ООП и классов в частности? Полистал книги, посмотрел ютуб. Везде используются довольно странные примеры, смысл которых не понятен, ибо эту хуйню можно спокойно запихнуть в функции.
Аноним 30/03/22 Срд 21:26:20 #1009 №2326028 
>>2326022
>Аноны, можете объяснить смысл ООП и классов в частности?
Определение функциональности, каких-либо данных.
>Везде используются довольно странные примеры
Возможно они используют ООП, как "Все используют и вообще современно!".
>ибо эту хуйню можно спокойно запихнуть в функции.
Да, но данные и функции условного списка удобнее представить в виде класса, чтобы было удобнее и яснее List.Length, List.ValueBy, вместо list_length(struct list list), list_value_by(struct list list, ...).
Аноним 30/03/22 Срд 23:01:43 #1010 №2326063 
>>2326028
>Возможно они используют ООП, как "Все используют и вообще современно!".
Ну а мог бы привести пример, где классы необходимы? Просто до этого я видел только то, как долбаебы умудряются написать 80 строчек класса, когда это можно запихнуть в 10 в функции или вообще в мейне.
Аноним 30/03/22 Срд 23:04:44 #1011 №2326066 
>>2326063
>>2326028
>Да, но данные и функции условного списка удобнее представить в виде класса, чтобы было удобнее и яснее List.Length, List.ValueBy, вместо list_length(struct list list), list_value_by(struct list list, ...).
Аноним 30/03/22 Срд 23:11:47 #1012 №2326075 
>>2326063
> долбаебы умудряются написать 80 строчек класса
Тебе за код построчно платят что-ли? Эти 80 строк могут тебе упростить взаимодействие с данными в разы.
И чет слишком сильный перевес, есть конкретный код?
Аноним 30/03/22 Срд 23:32:11 #1013 №2326092 
>>2326075
> могут тебе упростить взаимодействие с данными в разы.
Как минимум не у тех, кого я приводил выше.
Один додик создал класс, в полях определил две переменные, унаследовал их в другой класс, в одном методе их перемножил, во-втором вывел.
Вместо того, чтобы написать:
int a,b;
cout << a*b;
И ВСЕ
Аноним 30/03/22 Срд 23:49:12 #1014 №2326102 
>>2326092
Ты думаешь, в реальном софте всё происходит так?
> Один додик создал класс, в полях определил две переменные, унаследовал их в другой класс, в одном методе их перемножил, во-втором вывел.
Если он сделал это не в демонстративных целях, то его мотивация действительно не ясна, но вдруг он просто хотел показать тебе, как можно делать?
Аноним 31/03/22 Чтв 03:22:52 #1015 №2326137 
>>2326022
возможно тебе стоит посмотреть с другой стороны на классы в с++ как на возможность создания в языке пользовательских типов данных, с правилами конструирования объектов этих классов за счет предоставления пары конструктор-деструктор, с правилами взаимоотношений между типами за счет предоставления специализированных конструкторов и возможности перегрузки оператора приведения типа, с возможностью создать иерархию пользовательских типов (в том числе и гомогенную) через наследование..
механизмы наследования классов и виртуальные функции предоставляют динамический полиморфизм, механизм шаблонов дает возможность статического полиморфизма, перегрузку свободных функций можно рассматривать как случай ad-hoc полиморфизма..
ну и опять же классы предоставляют банальную инкапсуляцию данных и кода что их обрабатывает, с разграничением доступа..
с++ не концептуальный язык, скорее это такая солянка из необходимых семантических и синтаксических механизмов, добавленных поверх языка си..
Аноним 31/03/22 Чтв 04:16:58 #1016 №2326142 
>>2325525
Мог бы ты объяснить че за алгоритм и почему я неправильно использую гетлайн? Я с этой хуйней уже вторую ночь сижу.
Аноним 31/03/22 Чтв 07:45:28 #1017 №2326152 
Анон, объясни как должен работать вектор содержащий вектора?

То есть суть std::vector в том чтобы все данные в нем лежали друг за другом без дыр в памяти (из-за чего можно делать всякие си финты типа &v[0])

А что тогда произойдет тут:

std::vector<std::vector<Tile>> map;
map.push_back(std::vector<Tile>{...});
map.push_back(std::vector<Tile>{...});
map.push_back(std::vector<Tile>{...});

А теперь:
map[1].resize(...)



Как теперь будут лежать данные, если я сделаю &map[0] (или map.data())?


Аноним 31/03/22 Чтв 08:34:42 #1018 №2326175 
>>2326152
>Как теперь будут лежать данные, если я сделаю &map[0] (или map.data())?
Так же, как и лежали.
Аноним 31/03/22 Чтв 08:37:47 #1019 №2326176 
Что учить дальше? Знаю всю хуйню, аля массивы, словари, функции. Имею общее понимание ооп.
Аноним 31/03/22 Чтв 08:39:00 #1020 №2326179 
>>2326176
>Что учить дальше?
Пиши код.
Аноним 31/03/22 Чтв 08:50:21 #1021 №2326182 
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int num1, num2, result1, result2, result3, result4, result5, result6;
cout << "Enter number 1: " << endl;
cin >> num1;
cout << "enter number 2: " << endl;
cin >> num2;
result1 = -num1 + sqrt(((num1^2) + 3 num2)) / (2num2);
result2 = sqrt((3 + num1 num2 / 4 (num1 ^ 2)));
result3 = 6 - abs (num1 num2) / sqrt(5-(num2^2));
result4 = (exp(num1 + 7))
sqrt (37num2 - (num1^3));
result5 = sin(num1) + ((num2^2) / cos(2
num1) + 23);
result6 = tan(num2) - abs(num1 - 3*num2 + (2 / sqrt(num2+4)));
cout << "result: " << result1 << endl << result2 << endl << result3 << endl << result4 << endl << result5 << endl << result6 << endl;
cin.get();
}
Лабу сдаю, эта хуйня не работает. Помогите, пж.
Аноним 31/03/22 Чтв 08:51:55 #1022 №2326183 
>>2326182
>Лабу сдаю, эта хуйня не работает. Помогите, пж.
1) Что он должен делать?
2) Что он делает?
Аноним 31/03/22 Чтв 09:00:39 #1023 №2326187 
>>2326183
Решать 6 примеров
Не решает 6 примеров
Аноним 31/03/22 Чтв 09:26:29 #1024 №2326193 
>>2326187
А, всё, я исправил>>2326182
Аноним 31/03/22 Чтв 09:27:48 #1025 №2326194 
>>2326175
C чего бы? Как он выделит под них память, если эта память там уже занята следующим элементом?
Аноним 31/03/22 Чтв 09:33:33 #1026 №2326196 
>>2326194
>>2326152
>map[1].resize(...)
Почему она должна быть занята?
Аноним 31/03/22 Чтв 09:39:38 #1027 №2326199 
>>2326196
Потому что после map[1] идет map[2] который должен быть ровно за map[1]

Это же не лист в котором память может дергаться из любого места
Аноним 31/03/22 Чтв 09:42:38 #1028 №2326200 
>>2326199
https://godbolt.org/z/1r6vnvGsd
Ты изменяешь размер памяти внутри вектора, а не сам вектор, он у тебя имеет константный размер.
Аноним 31/03/22 Чтв 20:59:02 #1029 №2326771 
>>2326194
Я так понимаю, что внутри вектора должен быть вызван realloc в таком случае.
>>2326200
Так вектор гарантирует, что данные внутри него идут подряд. Если ему не получится довыделить память для новых элементов, то нужно переаллоцировать.
Аноним 31/03/22 Чтв 21:02:27 #1030 №2326773 
>>2326771
>Так вектор гарантирует, что данные внутри него идут подряд.
Да.
>Если ему не получится довыделить память для новых элементов, то нужно переаллоцировать.
Да.
Аноним 31/03/22 Чтв 21:49:30 #1031 №2326801 
>>2326199
>после map[1] идет map[2] который должен быть ровно за map[1]
?
Аноним 31/03/22 Чтв 21:58:22 #1032 №2326809 
>>2326773
Спасибо. Значит я не совсем долбоеб в плюсах. Мимосишник.
Аноним 31/03/22 Чтв 22:53:28 #1033 №2326831 
>>2326809
Вектор внутри это как структура
struct vector {
int size;
int allocted;
void⚹ data;
}
В ней объекты по указателю data лежат последовательно в памяти. Всего их size, а allocated это сколько может влезть без реаллокации. Как только место заканчивается - выделяется новый блок побольше, в него копируется старый и адрес нового блока ставится в data.

А вектор векторов это такая же структура, только data указывает на список структур vector и ведёт она себя также.
Аноним 01/04/22 Птн 20:36:18 #1034 №2327305 
изображение.png
Какой-то тупой пример, я его с первого раза правильно решил и на 10 вопрос ответил что деструктор здесь нахуй не на что не влияет. Запустил проверил, все правильно. В чем подвох такого задания?
Аноним 02/04/22 Суб 06:44:13 #1035 №2327427 
>>2327305
>В чем подвох такого задания?
В том, что C++ имеет бесполезный функционал.
Аноним 02/04/22 Суб 07:39:18 #1036 №2327431 
>>2320024
>в rust обычный reference counting
чо несёт бля
Аноним 02/04/22 Суб 16:48:11 #1037 №2327635 
1200px-OpenCVLogowithtextsvgversion.svg.png
Для проекта нужно сделать обработку картинок на OpenCV и 3д визуализацию в Viz, но у меня не получается собрать проект OpenCV со всеми модулями. Анон, предоставь пожалуйста ссылку на целиком собранный OpenCV с Viz или толковый не устаревший гайд по сборке.
Аноним 02/04/22 Суб 18:36:26 #1038 №2327733 
auto p = &"Hello, world!";
std::cout << ⚹p;

Вот так пишут хеллоуворлд хацкеры.
Аноним 02/04/22 Суб 18:44:47 #1039 №2327738 
>>2327733
Слишком просто. Надо прихуярить шаблоны.
Аноним 02/04/22 Суб 19:23:57 #1040 №2327768 
>>2327733
> хацкеры
> хеллоуворлд
Аноним 02/04/22 Суб 19:32:20 #1041 №2327775 
>>2327733
БЛИН ПОМОГИТЕ!!!! Скомпилировал код, а у меня компьютер выключился, что делать?!?!??!??!
Аноним 02/04/22 Суб 21:28:07 #1042 №2327843 
hottess.png
Здравствуйте. Подскажите что сделать чтобы перегрузить оператор <<? Этот код работает в visual studio, но в clion не работает.
https://www.toptal.com/developers/hastebin/ceniwemajo.cpp
Аноним 02/04/22 Суб 21:53:40 #1043 №2327852 
>>2327843
этот код работает и в шланге и в гцц
Аноним 02/04/22 Суб 21:57:26 #1044 №2327853 
>>2327852
Ну хорошо, но все равно со стрингами и чарами проблема, стандартный << не работает.
Аноним 03/04/22 Вск 09:10:30 #1045 №2328002 
Как устроен bitset? Вряд ли есть способ хранить отдельный бит. Я думаю, там используются обычные байты, в которых упаковыны эти биты. Выигрыша в памяти тогда никакого нет, вопрос в удобстве?
Аноним 03/04/22 Вск 09:20:19 #1046 №2328005 
>>2328002
>Вряд ли есть способ хранить отдельный бит.
Есть, но память будет выделяться побайтово, поэтому <8 бит будут размером 1 байт.
>Я думаю, там используются обычные байты, в которых упаковыны эти биты.
1 байт = 8 бит.
>Выигрыша в памяти тогда никакого нет, вопрос в удобстве?
Говно без задач.
Аноним 03/04/22 Вск 14:40:39 #1047 №2328135 
>>2327775
Кстати, без шуток, как-то разбирался с винапи, в частности с перехватом и отправкой событий клавиатуры.
Нажимаю билд (не запуск даже) - что там началось... Я думал мне сейчас спецназ дверь вынесет. Такой визг из антивируса стоял, как будто его все китайские хакеры одновременно вскрывают.
Аноним 03/04/22 Вск 18:13:28 #1048 №2328239 
高雄さんおっぱいチャレンジ動画版 TikTok風 [@takesuing].mp4
>>2328135
Мне ебаная винда не дала не давала запускать простейшее клиент-серверное приложение с сокетами, хотя я это приложение написал и собрал в MVS под бдительным надзором большого брата. Не заработало, пока не отключил виндоус дефендер и брандмауэр.
Вот так вот нашим миром управляет глупость.
Аноним 03/04/22 Вск 19:17:59 #1049 №2328294 
>>2327635
>Для проекта
для диплома, лох
Аноним 03/04/22 Вск 19:26:30 #1050 №2328302 
>>2326831
все же не стоит так упрощено объяснять внутреннее устройство контейнеров стандартной библиотеки, в которых управление памятью вынесено в аллокаторы, являющимися по сути менеджерами ресурсов
Аноним 03/04/22 Вск 19:37:49 #1051 №2328313 
>>2326152
ответ на этот вопрос ты найдешь загуглив по теме "валидность итератора"
ну опять же проблема эта не нова, и в си был тот же самый подводный камень, валидность указателей
Аноним 03/04/22 Вск 20:44:22 #1052 №2328387 
>>2297529 (OP)
Подскажите IDE под линукс, желательно опенсорс.
Аноним 03/04/22 Вск 20:49:22 #1053 №2328393 
>>2328387
vim, g++, gdb, valgrind
Аноним 03/04/22 Вск 21:02:16 #1054 №2328405 
>>2328387
Все говно, переходи на редакторы.
sageАноним 03/04/22 Вск 22:36:12 #1055 №2328456 
>>2328393
Вимодебилов не слушай
Аноним 03/04/22 Вск 23:28:59 #1056 №2328486 
>>2328393
А где gсс и mingv
Аноним 03/04/22 Вск 23:30:20 #1057 №2328487 
>>2327775
У тебя что-то с блоком питания.
Аноним 03/04/22 Вск 23:34:52 #1058 №2328489 
>>2328486
> gсс
g++ это часть gcc
> mingw
Это вообще про шиндовс.
Аноним 03/04/22 Вск 23:35:54 #1059 №2328492 
>>2328489
Да? спасибо, не знал.
Аноним 04/04/22 Пнд 06:45:27 #1060 №2328535 
Сап. Я первокурсник, который до поступления на Айти не выводил даже Хеллоу ворлд в Паскале. У нас сейчас идёт программирование на Си, скоро должны перейти на С++. Я начал вкатываться с Си, как идет по программе, но т.к на С++ нашел больше понятных видосиков и курс на Stepik, сейчас решил писать на нём: Си считается более удобным для вката, в факе написано, что при вкате с С++ анона ждёт разочарование, но я не вижу между Си и С++ какой-то разницы, а учебная программа вынуждает кодить на них. Че, реально всё тлен? Потом, кстати, пойдет С# и JavaScript. Последний я планирую изучать, т.к хочу попробовать себя во фронте, ибо не думаю, что достаточно способный, чтобы осилить какое-то более тяжелое программирование на высоком уровне

Сейчас у меня возникают большие трудности с выполнением лабораторных работ для универа: даже посмотрев какие-то гайды по теме в Ютубе, как подступиться в решению задачи — мне непонятно, и я бесконечно далёк от того, чтобы писать что-то за пределами элементарщины. Как это фиксить — мне пока не особо понятно

Не знаю, как преодолеть этот барьер, когда вроде познакомился с темой, а написать ничерта не можешь — у других в моем окружении такого нет, и они продвинулись гораздо дальше меня, хотя кроме Гоши Дударя на Ютубе ничего не смотрели. Так же плохо у меня со всеми математическими предметами, должно быть, в целом слабые способности аукаются мне и в этом деле

Сейчас я стал решать задачи из курса Stepik и тупо заниматься больше. Скачал книжку Трупа Страуса, стал смотреть канал Simple Code на Ютубе. На Си кодить потерял смысл — скоро переход на С++
Может, будут какие-то советы? Какие-то ошибки в том, как я занимаюсь

Как стал заниматься больше, вроде бы, стал получать удовольствие от процесса. Может, когда-нибудь я напишу какую-нибудь интересную программку для себя. Я также стал задумываться о том, какие алгоритмы имеют разные штуки из повседневности, те же турникеты на входе в универ. Но когда вижу более способных в окружении, а более способные в нём вообще все, ловлю дизморать. Так же, как и тогда, когда осознаю, как я далек от того, чтобы сделать какую-нибудь лабораторную работу, которую остальные легко делают. Приходится покупать работы, иначе будут проблемы после сессии
Аноним 04/04/22 Пнд 07:32:46 #1061 №2328541 
>>2328535
Сейчас, например, мне нужно выполнить работы по темам "бинарные деревья" и "односвязные списки"
Каков мой порядок действий для изучения данной темы, чтобы я мог решать по ним задачи? При чем достаточно быстрые, чтобы я укладывался в университетские сроки: срок даётся в пару недель.
Аноним 04/04/22 Пнд 07:52:12 #1062 №2328545 
>>2328535
>>2328541
У тебя все очень плохо. Каналы на ютубе почти все говно, а не говно я не видел, кроме пары записей лекций из шараг, курсы такое же говно, как каналы на ютубе, дрочи всякие литкоды и кодварсы, общее понимание реализаций алгоритмов будет. Односвязные списки и бинарные деревья база, просто пойми их.
Аноним 04/04/22 Пнд 11:26:19 #1063 №2328636 
>>2328405
А запускать то где?
Аноним 04/04/22 Пнд 11:27:25 #1064 №2328637 
>>2328636
Кого?
Аноним 04/04/22 Пнд 12:50:16 #1065 №2328697 
Хуйня этот С, на плюсах уже все вопросики обкашлены, где надо добавлена move-семантика, RVO, NRVO, поэтому можно без задней мысли возвращать по значению. А если я вдруг перейду на С, я как в темном подземелье буду боятся лишний шаг сделать: а вдруг неэффективно, а вдруг утечка?
Аноним 04/04/22 Пнд 12:56:57 #1066 №2328707 
>>2328541
> работы по темам "бинарные деревья" и "односвязные списки"
Симпл код хорошо разобрал списки, посмотри его видео и повторяя за ним напиши свою реализацию листа.
Аноним 04/04/22 Пнд 14:06:57 #1067 №2328754 
>>2328545
>дрочи всякие литкоды и кодварсы
Посмотрел, что это. Да, полезно. В том курсе, который я прохожу, ты тоже пишешь задачи, и они проверяются аналогично Литкоду и Кодеварсу. А в конце еще курсовой проект, который будет преподом проверяться. Курс 10 баксов мне стоил, знакомый очень рекомендовал. У него с программированием лучше моего, так что я прислушался. А в моем окружении программирование как-то иначе, чем через видосики на ютубе не изучают, и при этом как-то справляются с задачами учебного курса

Перед тем, как решать задачи по какой-либо теме на том же LeedCode, нужно ведь изучить темы, которые будут нужны для решения задачи. Если я сейчас сходу зайду туда и выберу задачи на темы, которые еще не изучал — в чем будет профит? Я просто посмотрю на задачу и не напишу и строчки кода, не зная темы. В курсе перед тем, как отправить своё решение задачи, тебе объясняют тему, показывают на примерах других задач, как надо решать задачи по этой теме, и только потом дают задачу. А сразу идти на Кодеварс или Литкод... Что-то я не врубился.
Аноним 04/04/22 Пнд 14:27:06 #1068 №2328767 
>>2328707
Нахуя их писать вообще.
Что сложного в списках?
Аноним 04/04/22 Пнд 17:49:42 #1069 №2328885 
>>2328697
>на плюсах уже все вопросики обкашлены
это не так
стандартизованного abi так и не сделали, стандартизованной динамической загрузки классов нету, как следствие любые системы с расширяемостью через плагины приходиться писать используя тот же олдскульный сишный компонентный подход (com в винде самый известный пример), правда можно сверху для удобства шаблончиками обмазать используя crtp, ну и то что абстрактный класс взаимозаменяем со структурами из указателей на функции, что дает синтаксические плюшки, но суть не меняет
из-за этого к примеру весь энтерпрайз в начале нулевых дружно пересел на явку и шарпик
Аноним 04/04/22 Пнд 19:38:55 #1070 №2328980 
for (string str; getline(inp, str); ) {
size_t id = str.find('1');
while (id != str.npos) {
id = str.find('1', id+1);
}
}

id удвоен по сравнению с фактическим индексом единицы
пример - строка "0 1 0 0 1 0 1 1 0 0"
id для неё будут 2 8 12 14

че за хуйня?

Аноним 04/04/22 Пнд 19:47:33 #1071 №2328991 
>>2328980
Без пробелов строку введи.
Аноним 04/04/22 Пнд 20:24:22 #1072 №2329015 
>>2328637
Код блядь, если я пишу в редакторе, то запускается он где?
Аноним 04/04/22 Пнд 20:42:22 #1073 №2329024 
>>2329015
В компилятор суешь и запускаешь.
Ох уж эти зумеры-программисты...
Аноним 04/04/22 Пнд 21:05:49 #1074 №2329043 
>>2329024
Я слышал про библиотеки, в редактор кода она тоже должны быть загружены? Мне кажется это не удобно, если постоянно ctrl+c - ctrl-v делать, из редактора в компилятор.
Тогда какой выбрать? Под линукс.
Аноним 04/04/22 Пнд 21:07:39 #1075 №2329044 
>>2329043
> если постоянно ctrl+c - ctrl-v делать, из редактора в компилятор
Ох уж эти зумеры-программисты...
Аноним 04/04/22 Пнд 21:18:26 #1076 №2329050 
>>2329043
Если серьёзно, то почитай первый том Столярова.
Он хоть и шиз, который фреймбуфер в ядре отключает и ищет CMS, написанную на чистом C/C++, но в плане dev-набора расписал всё +- нормально.
Аноним 05/04/22 Втр 01:44:54 #1077 №2329160 
>>2328535
https://youtu.be/YnWhqhNdYyk
Аноним 05/04/22 Втр 15:05:52 #1078 №2329481 
>>2328535
Список и деревья - это алгоритмы и структуры данных. Для меня порядок для понимания темы такой:
1. Успокоился и расслабился.
2. Настроился на занятие
3. Гуглю базу по теме
4. Смотрю примеры
5.а. Решаю задачи, начиная с несложной
5.б .Решаю лабу по универу

Забей на успехи окружающих - смотри на себя. Реализовывай свои цели. Если ты учишься и не забросил - значит победил.

университетские лабы гуглятся, да и к тому же можно у старшекурсников глянуть или к преподу обратиться
Аноним 05/04/22 Втр 17:47:39 #1079 №2329620 
>>2329481
Спасибо за советы, няша

>Гуглю базу по теме
Ну я вот в Ютубе забиваю обычно, но как-то решать это не помогало мне, разве что что-то очень простое. Попробую теперь LeetCode, Codewars юзать и начинать с простых и переходить к сложным задачам, смотреть решения, мб учебник читать перед сном для закрепления

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

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





Аноним 05/04/22 Втр 21:01:44 #1080 №2329757 
>>2329050
Спасибо.
мимозумерпрограммист
Аноним 05/04/22 Втр 22:12:11 #1081 №2329800 
1475303202122216579.png
15934185834680.png
https://www.toptal.com/developers/hastebin/ezimulaxak.properties

Господа, почему у меня неинициализированная локальная переменная? Пытаюсь перегрузить оператор ввода чтобы вводить структуру.
Аноним 05/04/22 Втр 22:27:46 #1082 №2329826 
>>2329800
По ссылке нужно передавать второй параметр, когда перегружаешь оператор>>
Аноним 05/04/22 Втр 22:32:07 #1083 №2329829 
>>2329826
Спасибо! работает!
Аноним 05/04/22 Втр 22:36:14 #1084 №2329836 
>>2329829
Но это так себе решение.
Инициализируя объект оператором ввода, ты нарушаешь RAII
Аноним 05/04/22 Втр 22:42:29 #1085 №2329849 
>>2329836
Не перегружать оператор ввода?
Аноним 07/04/22 Чтв 02:28:33 #1086 №2330702 
хочу в файле (фб2) находить данные, и в соответствии с ними переименовывать (std::filesystem::rename) этот самый файл.
все норм, кроме того, что при считывании гетлайном русские символы читаются как кракозябры (смотрю при отладке, ну и до конца так остается).
при этом в файле есть данные "encoding="UTF-8"". НО, если попробовать эти кракозябры декодировать (например http://foxtools.ru/Text ) читабельный вариант имеет данные "Исходная кодировка Кириллица шиндовс1251, Конечная - юникод ЮТФ8".
и что в итоге мне надо? сразу считывать ютф8? считывать как сейчас, потом декодировать? или м.б. просто нахуй пойти еще что-то?
подскажите плес, куда копать, а то совсем в этих соснах запутался.
Аноним 07/04/22 Чтв 02:47:54 #1087 №2330707 
>>2330702
Используй xml парсер
Аноним 09/04/22 Суб 00:17:25 #1088 №2332280 
Сап, есть main.сpp вида
}
string str;
while (getline(str)) {
Делаем бочку(line)
}
}

test.txt - просто строка текста

Можно ли makefile сделать который бы засовывал текст в str, или в самом main открывать файловый дескриптор, или test.txt на что-то менять?
Аноним 09/04/22 Суб 05:05:21 #1089 №2332324 
изображение.png
изображение.png
>>2297529 (OP)
Поясните тупому неосилятору.
Откуда высралось число 4, а не 128. Как я понял, должно произойти деление 900 на 7
Аноним 09/04/22 Суб 05:36:12 #1090 №2332327 
>>2332324
% это остаток от деления 900 на 7 и он равен 4
Аноним 09/04/22 Суб 07:33:44 #1091 №2332332 
e797e8315d39bcce514fcfb408109683.jpg
>>2332280
Аноним 09/04/22 Суб 11:30:19 #1092 №2332366 
изображение.png
изображение.png
К сожалению сейчас нет времени полноценно засесть за учебник, так что учу этот ваш си плюс плюс "на ходу", экспериментируя в процессе написания программ. В следствие этого возник дурацкий вопрос:

Прога

const int RAW = 5;
const int COL = 3;

int arr[][COL] {{1,2,3},
{1,2,3}
};

cout << RAW << ' ' << COL << endl;

for (int r = 0; r < RAW; r++)
{
cout << "r = " << r << "\t\t";

for (int c = 0; c < COL; c++)
{
//cout << arr[r][c] << "\t\t";
}

cout << "RAW = " << RAW << endl;
}

выводит ожидаемый результат с первой пикчи, но стоит раскоментить строку с массивом, как начинается полный пиздец как на второй пикче. Я осознаю, что вопрос, скорее всего, дурацкий, и посидев пол часа за учебником я мб
нашел бы на него ответ. Но мб кто в двух словах ответит, почему цикл фор игнорит условие r < RAW?
Аноним 09/04/22 Суб 11:36:52 #1093 №2332368 
>>2332366
Если что, не надо писать, что: "азазаза, у тебя там размерность массива не та))))"

Я в курсе. Мне интересно, как это в принципе может повлиять на условие цикла
Аноним 09/04/22 Суб 11:55:17 #1094 №2332375 
>>2332366
Ладно, чтобы меня совсем сходу нахуй не послали просто спрошу:
Как видно из второго скрина, переменные r и RAW не херятся ни чем, занчит херится условие цикла, так ведь? Хериться оно может только массивом, который мог что-то перезаписать в коде проги, но в строчке /cout << arr[r][c] << "\t\t" мы его лишь считываем, так что каким образом эта строчка может что-то поменять - я не ебу.Ну, либо я чего-то не понимаю.
Аноним 09/04/22 Суб 11:57:06 #1095 №2332376 
>>2332368
>Мне интересно, как это в принципе может повлиять на условие цикла
Никак, значит проблема в другом.
Аноним 09/04/22 Суб 11:59:16 #1096 №2332378 
>>2332376
В чем?)))))))) Я, считай, за исключением полуформальной дефолтной хуйни весь код выложил. Если это играет роль, компилю на код блоке вроде MinGW (если не путаю)
Аноним 09/04/22 Суб 12:00:57 #1097 №2332379 
>>2332378
Не, наврал. Соряны. GNU GCC Compiler
Аноним 09/04/22 Суб 12:06:02 #1098 №2332383 
>>2332378
>код блоке
>MinGW
Значит в этом.
>Я, считай, за исключением полуформальной дефолтной хуйни весь код выложил.
При условии, что ты в этом ничего не сломал.
Аноним 09/04/22 Суб 12:08:43 #1099 №2332385 
>>2332383
#include <iostream>

using namespace std;

int main()
{

const int RAW = 5;
const int COL = 3;

int arr[][COL] {{1,2,3},
{1,2,3}
};

cout << RAW << ' ' << COL << endl;

for (int r = 0; r < RAW; r++)
{
cout << "r = " << r << "\t\t";

for (int c = 0; c < COL; c++)
{
//cout << arr[r][c] << "\t\t";
}

cout << "RAW = " << RAW << endl;
}

return 0;
}

Спешиал фо ю. Вряд ли проблема в include, "int main" или "return 0"/ А больше этот код ничем не отличается от того, что выше.
Аноним 09/04/22 Суб 12:11:55 #1100 №2332386 
>>2332385
>код блоке
>MinGW
Значит в этом.

Баг скорее всего в компиляторе или в отладчике, который ты используешь. Запусти без отладчика.
Аноним 09/04/22 Суб 12:14:36 #1101 №2332388 
>>2332386
А ты не могу бы у себя скомпилить? Если не влом, канеш. Просто сравню результаты.
Аноним 09/04/22 Суб 12:17:52 #1102 №2332389 
>>2332388
https://godbolt.org/z/58s7GGbar
Аноним 09/04/22 Суб 12:23:03 #1103 №2332392 
>>2332386
>>2332389
Хмм... Я сейчас попробовал тоже в другом онлайн компиляторе откомпилить, но получилось то же самое, что и в код блоке:
https://ideone.com/CR59Ta (работает через впн)

Это так после изучения плюсов в дурку и попадают, да?
Аноним 09/04/22 Суб 21:16:25 #1104 №2332733 
>>2332386
>>2332383
>>2332378
>>2332376
>>2332392
Вы ебанутые?
Лезут за пределы массива, да еще и на стеке, а потом удивляются "чо ето нечего не роботает, баг в конпеляторе наверно".
Аноним 10/04/22 Вск 06:16:59 #1105 №2332839 
image.png
Вопрос по Visual Studio: когда сохраняю проект, а потом снова открываю его, запуск становится недоступной. Поэтому я, открыв проект, чтобы запустить его, копирую весь код, создаю новый проект и уже потом запускаю
А как сделать, чтобы я мог открыть файл сходного кода формата .cpp и сразу компилировать его, а не делать такие идиотские кульбиты? Нигде в ютубе, гугле не нашел решение этой проблемы. Поэтому и я, и люди в моем окружении тоже занимаются такой хуйней. Но на нервы действует уже.
Аноним 10/04/22 Вск 06:17:17 #1106 №2332840 
image.png
Вопрос по Visual Studio: когда сохраняю проект, а потом снова открываю его, запуск становится недоступной. Поэтому я, открыв проект, чтобы запустить его, копирую весь код, создаю новый проект и уже потом запускаю
А как сделать, чтобы я мог открыть файл сходного кода формата .cpp и сразу компилировать его, а не делать такие идиотские кульбиты? Нигде в ютубе, гугле не нашел решение этой проблемы. Поэтому и я, и люди в моем окружении тоже занимаются такой хуйней. Но на нервы действует уже.
Аноним 10/04/22 Вск 06:18:04 #1107 №2332841 
>>2332839
>>2332840
Блядь, сначала пишет, что капча невалидна, а потом постит по 2 поста.
Аноним 10/04/22 Вск 08:09:30 #1108 №2332849 
>>2332839
>>2332840
> А как сделать, чтобы я мог открыть файл сходного кода формата .cpp и сразу компилировать его, а не делать такие идиотские кульбиты?
Можно просто воспользоваться компилятором напрямую через консоль
А вообще тебе нужна система сборки
Аноним 10/04/22 Вск 09:05:39 #1109 №2332863 
>>2332366
>цикл фор игнорит условие r < RAW
Он как раз не игнорит, у тебя вывод raw соптимизировался на вывод постоянного значения, а не того, что ты наворотил на стеке. Замени const на volatile.
Аноним 10/04/22 Вск 14:28:05 #1110 №2333029 
FE3nTzraIAM7QMv.jpg
Сегодня выходные, после подня ебалм на русте, узнал от колеги о библиотеке буст на плюсах, на плюсах последний раз я писал два года назад даже классов и стл не продвинулся, и решил потратить этот день на изучение этой библиотеки, ибо она мне показалось интересной

Вообще, какие есть подводные? Стойт ли оно того вообще? Сейчас она испольузетьс хоть где-то?


Копчую с последней бубунты
Аноним 10/04/22 Вск 14:35:03 #1111 №2333030 
image.png
устоновил всё нужно и запустил, отлично, можно начинать изучение
Аноним 10/04/22 Вск 14:51:10 #1112 №2333035 
>>2333029
те денег что ли уже платят, щеня? как так то блядь
че за тупые вопросы?
скажи, плиз, чем занимаешься, если ты такой тупой но при этом на работе работаешь?

Аноним 10/04/22 Вск 15:04:20 #1113 №2333037 
>>2332733
>Лезут за пределы массива
Как "запредельное" чтение может изменить поведение цикла?
>>2332863
>а не того, что ты наворотил на стеке
Что он натворил на стеке?
Аноним 10/04/22 Вск 15:20:04 #1114 №2333042 
suCD-ECqoGQ.jpg
>>2333035
Лол, проиграл с тебя

Работаю учителем по программированию и размножаю учу веб-макак, вёрстка+жс+реакт/вью+элементарные алгоритмы и решения задач через рекурсию/подобную хуету
Аноним 10/04/22 Вск 15:39:08 #1115 №2333051 
Привет, подскажите как посмотреть в visual studio на какой итерации код падает? https://www.toptal.com/developers/hastebin/uvofohibil.cpp
Аноним 10/04/22 Вск 19:40:34 #1116 №2333236 
>>2333042
Как стать учителем по программированию? Мне кажется это изи, приходишь и на каждом занятии пытаешься разъяснить бездарям концепцию полиморфизма. Потом даешь им самостоятельно простенькую задачу, а сам сидишь чиллишь.
Аноним 10/04/22 Вск 20:34:54 #1117 №2333294 
2022-04-1020-33.png
Почему так?

как линукс работает с памятью? как это будет работать на винде?
Аноним 10/04/22 Вск 20:39:35 #1118 №2333298 
2022-04-0222-07.png
>>2333236
надо быть соцыком, я лично через знакомых


>приходишь и на каждом занятии пытаешься разъяснить бездарям концепцию полиморфизма. Потом даешь им самостоятельно простенькую задачу

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

Аноним 10/04/22 Вск 21:06:09 #1119 №2333333 
Привет, анончики. Только не бейте сразу ссаными тряпками, хочу спросить насколько сложно к вам закатиться из Java на серверную разработку, по типу написание софта для форекс, там где задержки по GC недопустиы? Опыта 3 года.

Ещё можете разъяснить чем сейчас qt-шники занимаются? Легаси? Или есть так много десктопного софта, который требует взаимодействия с системными API?
Аноним 10/04/22 Вск 21:23:33 #1120 №2333356 
>>2333294
>Почему так?
free
totalram
freeram
sharedram
bufferram
>как линукс работает с памятью?
Так же, как и все.
>как это будет работать на винде?
sysinfo даже не posix, чтобы там работать.
>>2333333
Ахуеть.
Аноним 10/04/22 Вск 23:11:22 #1121 №2333436 
>>2333037
А очень просто. Имеет право, т.к. чтение тоже UB.
Аноним 11/04/22 Пнд 02:13:13 #1122 №2333485 
Сап плюсач, есть вопрос по организации IPC с помощью каналов на Win API. Суть такая: есть канал-сервер, сначала он ждёт подключения клиента с помощью ConnectNamedPipe, клиент подключается с помощью связки функций CreateFileA и SetPipeState. После обмена информации клиент отключается посредством CloseHandle (закрывает свой дескриптор), сервер вызывает связку функций FlushFileBuffers и DisconnectNamedPipe, после чего опять вызывает функцию ConnectNamedPipe и начинается вторая итерация цикла. Только второй клиент при подключении падает, GetLastError() возвращает ERROR_PIPE_BUSY, хотя по идее канал свободен. В чём могут быть траблы, анонче? Могу также код на пастебин скинуть, если это поможет лучше понять проблему.
Аноним 11/04/22 Пнд 02:58:45 #1123 №2333494 
>>2333333
>закатиться из Java на серверную разработку
тебе это не надо 100%
не знаю ни одного человека который ушел бы с явки на кресты, но с кресты на явку - полно

Аноним 11/04/22 Пнд 10:03:55 #1124 №2333547 
>>2333436
>>2333037
>>2332863
Так, блет. Чет я подзалип немного. Смотрю, по моему вопросу к консенсусу еще не пришли?
Аноним 11/04/22 Пнд 14:10:53 #1125 №2333650 
>>2333547
>Смотрю, по моему вопросу к консенсусу еще не пришли?
консенсус в распределенных системах невозможен
есть только частные решения, а общего решения этой проблемы нет!
Аноним 11/04/22 Пнд 15:17:44 #1126 №2333707 
Какой из двух стульев выбрать ньюфагу: codelite или code::blocks? Visual studio не очень хочу ставить, и даже не спрашивайте почему - на это нет рациональных причин.
Аноним 11/04/22 Пнд 15:26:14 #1127 №2333721 
>>2333707
Заодно спрошу: я попробовал накатить на codelite CMake, но, такое чувство, что я сделал что-то не так. Я правильно понимаю, что если все сделано верно, то достаточно в IDE прожать билд прожект и он автоматически запустит CMake на нужном этапе компиляции? Или там нужно каждый раз что-то делать вручную? (Прост при нажатии ПКМ на проект есть пункт меню Run CMake, вот я и думаю)
Аноним 11/04/22 Пнд 15:30:17 #1128 №2333730 
>>2333721
Блин, забыл сказать (но по контексту и так мб понятно): проекты на codelite + CMake + MinGW упорно не билдятся, или я что-то не понимаю. После нажатия Run CMake появляются только два экзешника разных папках - оба с именами a.exe. А если просто билдить проект, то, похоже, экзешники даже не создаются.
Аноним 11/04/22 Пнд 15:43:22 #1129 №2333744 
>>2333707
>Visual studio не очень хочу ставить
ты можешь его не юзать, но ставить в 99% на винде скорее всего придется

> codelite или code::blocks
Сорта говна как говориться, можешь хоть в виме программировать
Тебе главное научиться Cmake пользоваться и сможешь где угодно свои проэкты писать
ну и еще language server тебе скорее всего пригодиться тогда, я знаю только clangd - мбы в виме\емаксе какие то свои приколы еще есть
Аноним 11/04/22 Пнд 18:25:38 #1130 №2333833 
Продолжаю дудосить двощь нубовопросами:

void EnableOpenGL(HWND hwnd, HDC hDC, HGLRC hRC)
{
//....
//везде в теле ф-ции исользуется запись в виде разыменования ссылки на HDC
//например:
SetPixelFormat(hDC, iFormat, &pfd);
//....
}

void DisableOpenGL (HWND hwnd, HDC hDC, HGLRC hRC)
{
//.....
ReleaseDC(hwnd, hDC);
}

Я так понял, в первом случае нам в функцию приходит ссылка на HDC, а во втором содержимое HDC. Так, собственно, нахуя нам в первом случае приходит ссылка на HDC, если мы везде в теле функции используем
hDC? Можно же было сразу в функцию слать содержимое HDC или нет? Просто интересно, чому сделали именно так?
Аноним 11/04/22 Пнд 18:27:12 #1131 №2333835 
изображение.png
>>2333833
Сцук. Забыл, что двощь звездочки удаляет
Аноним 11/04/22 Пнд 18:36:28 #1132 №2333843 
>>2333037
>Что он натворил на стеке?
Трудно сказать, зависит от компилятора. Но стек растет вниз, а адресация массива вверх, так что он точно залазит на свои константные переменные когда выходит за пределы массива.
Аноним 11/04/22 Пнд 18:40:27 #1133 №2333846 
>>2333707
Попробуй qtcreator, сам кют необязательно использовать, есть много приятных фич.
Аноним 11/04/22 Пнд 20:02:37 #1134 №2333935 
>>2333721
а мог поставить студию и не ебать голову никому
Аноним 11/04/22 Пнд 20:14:46 #1135 №2333943 
>>2333935
>Ньюфаг
>Не ебать голову
Да и вообще, думаю тебя тоже вела дорога приключений. Не пизди, что нет.
Аноним 12/04/22 Втр 02:35:11 #1136 №2334121 
>>2333943
>дорога приключений
Сук, аж вспомнил как к codeblocks прикручивал новый питон и скрипты для нормального отображения в дебаге содержимого контейнеров std. Это была неделя жесточайшего пердолинга, я со сборкой буста так не ебался.
Аноним 12/04/22 Втр 03:07:52 #1137 №2334124 
Зачем в стек сохранять локальные переменные?
Единственное логичное объяснение, которое я нашел - рекурсивные функции. Только для этого?
Ведь если у нас не рекурсивная функция, то мы можешь напрямую грузить переменные в регистры процессора прямо из блока кода и хранить их там же. Просто в регистр ebp записать адрес не из стека, а из блока кода. Это же по сути идет просто лишнее копирование.
Понятно, что основная задача стека вызовов - это хранение адреса возврата из функции. Я прав?
Аноним 12/04/22 Втр 04:03:24 #1138 №2334127 
>>2334124
Регистров не хватит
Аноним 12/04/22 Втр 04:42:52 #1139 №2334131 
>>2334127
Спасибо
Аноним 12/04/22 Втр 13:12:36 #1140 №2334344 
Вопрос по VS Community 2019, решил через полгода покодить а на моей учётке пишет что лицензия устарела, нажал обновить и всё работает. А теперь вопрос есть ли какая ни-будь версия той же самой программы, только без раздражающих учёток, напоминаний об обновлении? Тем более кто знает обновится ли завтра она или нет!
Аноним 12/04/22 Втр 13:36:32 #1141 №2334372 
>>2334344
Нет. Можно только взять какую-нибудь кряк ультимейт кейген бесплатно без смс с варезника, из которой пираты всё выпилили. Если найдёшь.
Аноним 12/04/22 Втр 21:53:27 #1142 №2334722 
Так оказывается точка входа точкой входа не является. Можно запустить другую функцию до входа в main(), и об этом могут спросить на собеседовании. Тогда зачем было называть это точкой входа, сишный архаизм? Правильней назвать точка входа после инициализации глобальных переменных.
Аноним 12/04/22 Втр 23:05:23 #1143 №2334763 
>>2334722
В общем случае порядок инициализации глобальных переменных не определён, так что за начало выполнения программы разумнее считать main().
Аноним 13/04/22 Срд 06:52:19 #1144 №2334847 
image.png
Как надо?

У меня С++20
Аноним 13/04/22 Срд 07:52:56 #1145 №2334854 
>>2334847
Растовик троль? Или просто пишешь все подряд?
Аноним 13/04/22 Срд 08:43:11 #1146 №2334866 
image.png
>>2334854
при чем тут раст?
Аноним 13/04/22 Срд 08:58:12 #1147 №2334870 
>>2334847
Наведи на подчёркнутое красным и прочитай, что студия тебе пишет.
Аноним 13/04/22 Срд 09:13:56 #1148 №2334874 
>>2334847
> error: variable has incomplete type 'const MyClass'
у меня тоже почему то компилятор тупит
ну как очевидное решение вынести эту переменную вне класса

Аноним 13/04/22 Срд 09:17:15 #1149 №2334879 
>>2334870
Какая разница что он пишет, я спрашиваю как нужно сделать чтобы работало.

>>2334874
>вынести эту переменную вне класса
У меня инлайновый класс в заголовке. Мне не нравится из-за пары констант новый файл добавлять. Да и вообще не нравится когда эти константы торчат из каждого угла, а не упорядочены по месту
Аноним 13/04/22 Срд 09:19:55 #1150 №2334882 
>>2334879
>не нравится когда эти константы торчат из каждого угла, а не упорядочены по месту
в неймспейс засунь
Аноним 13/04/22 Срд 15:26:22 #1151 №2335052 
>>2334847
Представь змею, которая пытается съесть саму себя, вот это ты и делаешь.
Аноним 13/04/22 Срд 16:11:14 #1152 №2335062 
>>2335052
слово статик тебя не смущает?
Аноним 13/04/22 Срд 17:28:28 #1153 №2335091 
>>2335062
Меня инлайн смущает, на статик похуй.
Аноним 13/04/22 Срд 17:33:58 #1154 №2335094 
>>2335062
То что ты пытаешься использовать ещё не созданный класс тебя не смущает? Ты должен сделать его объявление перед определением, а внутрь пихать указатель на него, тк размер указателей всегда известен.
В том виде как ты пишешь прокатит в языках типа Шарпа и джавы, т к там все переменные объекты - указатели.
Аноним 13/04/22 Срд 17:38:31 #1155 №2335097 
>>2335091
Инлайн добавили в 17 стандарте чтобы не морочится с статик переменными в срр файлах. В принципе это слово означает что определение переменной или функции может по несколько раз инклудится и компилятор не будет ругаться, а собственно инлайном функций компилятор сам занимается без подсказок при оптимизации.
Аноним 13/04/22 Срд 18:08:58 #1156 №2335118 
>>2335094
как статик переменная влияет на использование класса?
я могу свой класс и как параметры функции легко передавать, так и преспокойно как указатели на него вертеть
статик переменная никак на размер класса не влияет, так что не вижу ни одной причины почему компилятор не может выполнить тот код, у него достаточно информации для выполнения этого функционала
Аноним 13/04/22 Срд 18:26:29 #1157 №2335132 
>>2335118
Но все равно класс ещё не определен на тот момент, попробуй сделать его объявление заранее и то я сомневаюсь что прокатит, компилятору же все равно надо знать сколько памяти выделять для статиков.
Аноним 13/04/22 Срд 18:31:20 #1158 №2335134 
>>2335132
> компилятору же все равно надо знать сколько памяти выделять для статиков
столько же сколько и классу
или компилятор глупенький и не умеет чуть дальше просмотреть?
Аноним 13/04/22 Срд 18:33:58 #1159 №2335136 
>>2334847
после определения дописать

const MyClass MyClass::s_my = MyClass{};
Аноним 13/04/22 Срд 18:35:54 #1160 №2335139 
>>2335134
У тебя класс рекурсивно объявляется, как он посчитает? Там получается бесконечная петля вложенности и компилятор вахуе.
Аноним 13/04/22 Срд 18:36:14 #1161 №2335140 
>>2335136
В одной из единиц трансляции (cpp файл), в которую этот класс инклюдится.
Аноним 13/04/22 Срд 18:39:42 #1162 №2335144 
>>2335139
компилятор.цпп:
если (встретил статик + тип класса) то:
отложить создания статика
пропарсить определение класса
создать статик
Аноним 13/04/22 Срд 18:46:17 #1163 №2335150 
>>2335144
Давай ты напишешь компилятор.
Аноним 13/04/22 Срд 21:41:00 #1164 №2335232 
Учу плюсы. Разбираюсь с указателями на функции. Имеется функция

int func1(void) {
return 555;
}

Вызывается так:

void pointerplay() {
int (*fp1) (void);
fp1 = func1;
cout << "fp1 = " << fp1() << endl; // куда копируется 555 перед выводом?
}

Возникает ли в этом коде повреждение памяти, ведь указателю не выделена память? Несмотря на то, что в mingw компилируется и выводится 555, у меня сомнения.

Аноним 13/04/22 Срд 21:44:24 #1165 №2335240 
>>2335232
upd
inb4 только опыт байтоебства с микроконтроллерами, где все указатели либо на глобал переменную буфера, либо на фиксированный адрес. Там таких вопросов не было.
Аноним 13/04/22 Срд 22:46:28 #1166 №2335281 
>>2335232
ты просто с указателями разберись сначала, а потом лезь к указателям на функции.

Судя по "указателю не выделена память" - ты вообще нихуя не понимаешь.
Аноним 13/04/22 Срд 22:55:50 #1167 №2335294 
>>2335281
Да, хуйню сказал насчет памяти. Хорошо, указатель хранит адрес. В данном случае - адрес возвращаемого значения функции. Оно что, блять всегда по одному и тому же адресу находится?
Аноним 13/04/22 Срд 23:13:59 #1168 №2335315 
>>2335294
Указатель на функцию - адрес возвращаемого значения - разные вещи. Функция - код, значение вообще через регистр возвращается.
Аноним 14/04/22 Чтв 21:51:29 #1169 №2335989 
image.png
image.png
Блять что за ебень, почему оно говорит что нету иле не видит xlib++/display.hpp, хот по факту оно есть в системе
Аноним 14/04/22 Чтв 21:53:06 #1170 №2335991 
image.png
>>2335989
вопрос всё ещё такой же, какого хуя?
Аноним 14/04/22 Чтв 22:23:42 #1171 №2336001 
>>2335991
А путь к заголовкам в makefile сам собой пропишется?
Аноним 14/04/22 Чтв 22:25:26 #1172 №2336002 
>>2335991
Вон ты вызываешь g++, указываешь -L либы, а -I для заголовков где?
Аноним 14/04/22 Чтв 22:29:24 #1173 №2336006 
>>2336001
Конечно сам, а не как у дедов в прошлом веке.
Аноним 14/04/22 Чтв 23:09:02 #1174 №2336028 
>>2336002
Что это такое? Скинь гайд по этом компилеру

>>2336001
Ты где там мейкфайл увидел? Ебанутый?
Аноним 15/04/22 Птн 08:43:01 #1175 №2336149 
Screenshot20220415-084129GitHub.jpg
IMG20220414180011344.jpg
По итогам скомпилил через эту команду

Анон >>2335989
Аноним 15/04/22 Птн 14:24:56 #1176 №2336362 
>>2336149
господи, тупое ебло, ты теперь тут срешь вместо своих десктоп тредов
Аноним 15/04/22 Птн 14:45:49 #1177 №2336379 
Вопрос 1) Стоит ли обновлять VS2019 на новый? 2) Периодически он подвисает когда кликаешь куда-то или переходить, висит где-то 5 секунд, как от этого избавиться?
Аноним 15/04/22 Птн 14:51:53 #1178 №2336385 
>>2336379
>как от этого избавиться?
Пиши код в vim.
Аноним 15/04/22 Птн 14:55:25 #1179 №2336390 
>>2336379
>как от этого избавиться?
Перейти на редакторы.
Аноним 15/04/22 Птн 18:28:45 #1180 №2336618 
>>2336379
1. Ну если хочешь новые фичи - обнови.
2. Отключи АНТИВИРУС в шинде, ну или у тебя очень слабый комп, хули делать.

Вимодебилов не слушай, их мнение равно мнению грязи из под ногтей
Аноним 15/04/22 Птн 20:42:11 #1181 №2336709 
изображение.png
Как так выходит, что скобочка с } занимает больше времени, чем все остальное?
Аноним 15/04/22 Птн 20:46:24 #1182 №2336715 
>>2336709
разрушение обьектов на стэке?
Аноним 15/04/22 Птн 20:48:01 #1183 №2336718 
>>2336715
Нет объектов. В теле ифа только строчка dp=min(dp1, dp2)
Аноним 15/04/22 Птн 20:51:58 #1184 №2336722 
>>2336709
Вывод: скобочки потребляют много процессорного времени, а значит от них надо отказываться.
Аноним 15/04/22 Птн 20:54:39 #1185 №2336727 
изображение.png
>>2336709
Я переписал с вектора на двумерный массив и теперь картина более понятная. Но что вектор там так долго делает?
Аноним 15/04/22 Птн 21:12:45 #1186 №2336747 
>>2336727
Не знаю, что за профилировщик, но можешь посмотреть на граф вызова функций из этой функции (в VS точно есть), где больше всего self time. А вообще прямо процентикам около строчек не стоит верить, часто это значит "где-то тут тратится время, может строчкой выше или ниже"
Аноним 15/04/22 Птн 21:55:26 #1187 №2336778 
Надо написать серверное приложение, которое будет обрабатывать поступающие запросы. Клиентское приложение на qt, так что наверное буду использовать qt network. Хотя boost asio кажется легче. С чего начать?
Аноним 15/04/22 Птн 22:15:56 #1188 №2336783 
>>2336778
Покурить доки asio?
Аноним 16/04/22 Суб 06:55:12 #1189 №2336947 
>>2336778
>Надо написать серверное приложение
Возьми голанг, а не кресты.
Аноним 16/04/22 Суб 10:17:16 #1190 №2336972 
>>2336947
Но я не знаю его синтаксис
Аноним 16/04/22 Суб 10:22:37 #1191 №2336976 
>>2336972
Теперь знаешь.
https://ru.wikipedia.org/wiki/Go
Аноним 16/04/22 Суб 11:15:21 #1192 №2337014 
>>2334847
Зачем вы вообще инлайны пишите, самые умные чтоле? В учебнике по c++ написано, что инлайн для петухов, мол компилятор сам решит, когда инлайнить функцию, когда нет, а не когда кодер своими корявыми ручками впишет этот устаревший спецификатор.
Аноним 16/04/22 Суб 11:20:21 #1193 №2337016 
>>2337014
>самые умные чтоле?
Да.
>A static data member may be declared inline. An inline static data member can be defined in the class definition and may specify an initializer. It does not need an out-of-class definition:
https://en.cppreference.com/w/cpp/language/static
Аноним 16/04/22 Суб 12:24:28 #1194 №2337059 
>>2337014
Компилятор мразь по определению, которой доверять нельзя
Поэтому иногда нужно заставлять его инлайнить
Аноним 16/04/22 Суб 12:26:54 #1195 №2337060 
>>2337059
>доверять нельзя
>нужно заставлять его инлайнить
Имеет право полностью игнорировать любую твою просьбу на инлайн функций.
Аноним 16/04/22 Суб 13:02:52 #1196 №2337116 
>>2337060
Есть способы заставить
Аноним 16/04/22 Суб 14:14:28 #1197 №2337180 
>>2337014
Дурачок, инлайн это вообще про другое теперь.
Аноним 16/04/22 Суб 14:48:22 #1198 №2337200 
>>2337180
Поясни.
Аноним 16/04/22 Суб 14:57:50 #1199 №2337203 
>>2335097
>>2337200
Аноним 16/04/22 Суб 19:19:48 #1200 №2337394 
Изучаю с++ после питона и не могу понять как в одну структуру запихать массив других, заполнить ее и обратиться к ней после? Не отправляйте в гугл, пожалуйста)
struct Children {
string name;
int age;
}
struct User {
string name;
int age;
vector<Address> address;
}
Аноним 16/04/22 Суб 19:20:45 #1201 №2337398 
>>2337394
бля
struct Children {
string name;
int age;
}
struct User {
string name;
int age;
vector<Children> childrens;
}
Аноним 16/04/22 Суб 19:35:02 #1202 №2337407 
>>2337398
array[index].value
Аноним 16/04/22 Суб 19:47:34 #1203 №2337415 
>>2337407
Я походу не умею формулировать вопросы)
Аноним 16/04/22 Суб 20:35:27 #1204 №2337463 
>>2337394
А зачем тебе это? Код должен быть простым и понятным.
Аноним 16/04/22 Суб 20:58:53 #1205 №2337486 
>>2337398
https://godbolt.org/z/bxz6Pjv47
Аноним 16/04/22 Суб 22:27:45 #1206 №2337568 
Аноны, а в каком редакторе/иде щас модно писать C++ проги под иксами? Нужны подсветка синтаксиса, автодополнения, подсвечивание ошибок, дебаггер.
Аноним 16/04/22 Суб 23:30:17 #1207 №2337589 
Можно как-нибудь сократить писанину и не писать перед каждой функцией template<typename T>?
Аноним 16/04/22 Суб 23:34:15 #1208 №2337596 
>>2337589
Через #define.
Аноним 16/04/22 Суб 23:35:06 #1209 №2337597 
>>2337596
Человеческого решения как всегда нет?
Аноним 17/04/22 Вск 00:14:57 #1210 №2337621 
>>2337597
auto?
Аноним 17/04/22 Вск 00:24:32 #1211 №2337625 
>>2337621
Ты отличаешь вывод типов от шаблонов? Сможешь написать коллекцию через auto?
Аноним 17/04/22 Вск 00:31:36 #1212 №2337633 
>>2337625
а тебе надо в реализации коллекции перед каждым методом писать template<typename T>?
и ты про функции спрашивал, что не так с auto аргументами...
Аноним 17/04/22 Вск 03:17:59 #1213 №2337707 
>>2337486
Спасибо, друг.
Аноним 17/04/22 Вск 11:51:55 #1214 №2337783 
>>2337625
Тот анон про abbreviated function template говори, и это как раз то, что тебе надо.
Аноним 17/04/22 Вск 15:37:14 #1215 №2337942 
2022-04-1715-32.png
На днях узнал о свойстве компиляторов "time", которое показывает время выполнения

и решил протестить на разных компилерах quick_sort алгоритм из стндартной либы сишки, по итогам получил разительно разный результат, с чем это может быть связанно?
Аноним 17/04/22 Вск 15:39:47 #1216 №2337943 
>>2337942
> На днях узнал о свойстве компиляторов "time", которое показывает время выполнения
ls и vim - это по твоему тоже свойства компилятора?
Аноним 17/04/22 Вск 15:42:30 #1217 №2337946 
FPkwKWaWUAYe4bT.png
>>2337943
да понл, хуйню сморозил, прсто не знаю как это называть

это просто команда с папки /bin

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

ну ещё time.h есть
Аноним 17/04/22 Вск 15:55:13 #1218 №2337952 
>>2297570
>Если выдернуть компьютер из розетки, то деструктор тоже не вызывается.
Это так называемая база
Аноним 18/04/22 Пнд 06:41:17 #1219 №2338337 DELETED
Всю ночь не мог понять кто у меня украл кал, зашел сюда в тред и нашел. Крестобляди калокрады!
Аноним 18/04/22 Пнд 13:28:32 #1220 №2338454 
Вопрос насчет p2p приложения. Какое максимальное количество сокетов я могу позволить себе открыть? Теоритически 2^48, но на практике компьютер охуеет столько держать. Какой максимум лучше поставить? 10? 20? 100?
Аноним 18/04/22 Пнд 13:40:46 #1221 №2338460 
>>2338454
А ты используй UDP.
Аноним 18/04/22 Пнд 13:42:55 #1222 №2338461 
>>2338460
Впадлу контролировать приход пакетов. Мооожет быть когда нибудь сделаю и на udp, но пока хз
Аноним 18/04/22 Пнд 13:50:43 #1223 №2338465 
>>2338454
>Вопрос насчет p2p приложения.
Возьми готовый алгоритм или реализацию.
Аноним 18/04/22 Пнд 14:04:16 #1224 №2338471 
>>2338460
Да, чет я тупанул. Лучше udp, чтобы кучу соединений постояннт не открытвать/закрывать/держать открытыми
Аноним 18/04/22 Пнд 14:11:03 #1225 №2338475 
>>2338460
Спасибо
Аноним 18/04/22 Пнд 22:40:55 #1226 №2338764 
Бля аноны, помогите, для перемножения матриц скачал библиотеку
http://mathenglish.ru/dmatrix/
Но она внутри юзает StdCtrls.hpp Которой у меня нет, гуглю, но найти ее не могу, типа должна быть встроенная, что делать?
Аноним 19/04/22 Втр 06:43:15 #1227 №2338883 
image.png
А что, так можно чтоли?
перегрузка функций в классе. Я думал что можно только когда разные аргументы.

Но как обычно - хуй оно работает без коленодробления. Если класс или ссылка на него константы - то да, он вызывает константый метод.
А вот если класс не константен, но принимающая ссылка константна - то хуй, вызывает неконстантный

const WindowSystem& e = engine.GetWindowSystem(); // думаете константная ссылка вернется? А вот хуй. Вызовет WindowSystem& GetWindowSystem(), несмотря на то что e - константая ссылка


А вот тут все норм:
void goo(const EngineSystem& engine)
{
auto& e = engine.GetWindowSystem();
}
goo(engine);

проверял так:
WindowSystem& GetWindowSystem() { puts("WindowSystem"); return m_window; }
const WindowSystem& GetWindowSystem() const { puts("const WindowSystem"); return m_window; }

Вывело:
WindowSystem
const WindowSystem
Аноним 19/04/22 Втр 06:51:12 #1228 №2338885 
>>2338764
>Но она внутри юзает StdCtrls.hpp Которой у меня нет, гуглю, но найти ее не могу, типа должна быть встроенная, что делать?
Взять любую другую библиотеку для матриц. Они все одинаково считаются.

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

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



Либо руками удаляй весь болрадский код (то есть удали StdCtrls.hpp и все что там тянется.. __fastcall тоже удаляй), так как работа матриц - это тупо базовые операции по умножению, сложению. Плюс синус-косинус
Аноним 19/04/22 Втр 07:47:40 #1229 №2338889 
>>2338764
Сам напиши. Чего там писать-то.
На CUDA напиши.

>>2338883
>const WindowSystem& e = engine.GetWindowSystem();
Ну так здесь выбор метода GetWindowSystem зависит от того, константен engine или нет. Константность e тут ни при чём.
Аноним 19/04/22 Втр 07:52:34 #1230 №2338891 
>>2338883
Ой, я тут недавно разбирал стандарт сишки, и по его грамматике получилось что вот эти выражения норм: ++x = 0; x++ = 0; но компилятор проглотил только первое. Пути си языков неисповедимы.
Аноним 19/04/22 Втр 11:47:03 #1231 №2338999 
>>2338891
Язык определяется не только грамматикой. Вот тут например х++ это rvalue.
Аноним 19/04/22 Втр 16:33:37 #1232 №2339195 
>>2329481
>4. Смотрю примеры
>5.а. Решаю задачи, начиная с несложной
Где смотреть примеры и где решать задачи? У меня тоже проблемы с выполнением лабораторных работ по программированию: в Ютубе смотрю уроки по теме, повторяю их код, читаю в учебнике базу по теме, а как до решения задач доходит — жидко пукаю и не знаю, как решать.
Аноним 19/04/22 Втр 17:00:24 #1233 №2339229 
>>2339195
codeforces, codewars -- этими сам пользуюсь. Ну и в учебниках по проге задания решать можно, какого-то конкретного не посоветую.
другойанон
Аноним 19/04/22 Втр 17:26:01 #1234 №2339285 
>>2339195
>Где смотреть примеры и где решать задачи?

Примеры есть на сайтах(cppstduio, purecode например), учебниках по теме. Оттуда и задачи можно порешать.


>не знаю, как решать

Если не знаешь синтаксис - учишь язык и std
Не знаешь алгоритмы - учишь алгоритмы и структуры данных
Не знаешь вообще ничего - проходишь курс, параллельно смотришь дополнительные материалы(видосы, задачи и тд)

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


Кстати, лабы с вузов бывают плохо структурированы по уровню знания студента, что создает барьер. Гугл и ресурсы в свободном доступе помогают этот барьер преодолеть.
Аноним 20/04/22 Срд 00:41:04 #1235 №2339616 
image.png
image.png
Есть идей по учебнику с++ для детей и дебилов стандарта с13 с стл?

АТО у меня есть толька классика с++99 для дедов
Аноним 20/04/22 Срд 00:43:11 #1236 №2339618 
>>2339616
Да, в шапке.
Аноним 20/04/22 Срд 11:10:37 #1237 №2339749 
Вопрос по VisualStudio, как перемещаться по закладкам и почему не сохраняются свёрнутые функции после перезапуска, опять рассрыты
Аноним 20/04/22 Срд 13:41:16 #1238 №2339948 
Анон, наставь на путь истинный.

Хочу вкатиться в эти ваши кресты, дабы в будущем делать какие-нибудь мелкие игры на ПК мечта с детства.

Мне в 17-18 лет это показалось чем-то невероятно сложным, дошёл в С++ до раздела функций и дропнул, хоть и сдал ЕГЭ по информатике на 88 баллов, поэтому я забил, отложил мечту на потом и поступил в говновуз чтобы зацепиться за Москву.

Сейчас мне 23, отучился по профессии которая совершенно не интересует, и вот уже около четырёх месяцев потихоньку вкатываюсь в IT сферу - чутка поговнокодил на Петухоне, выучил основы HTML и CSS и стараюсь в целом "вариться" в этой тематике.

И вроде всё идёт нормально, мне очень нравится копаться во всём этом, но проблема в том, что я вообще нихуя не уверен, за что стоит полноценно зацепиться и где стоит прокачивать хард скилы. Как не почитаю очередную статью / мнение с двачей / рандом комментарий про то что языкнейм говно без задач, куча минусов, работы нет, конкуренция 5000 человек на место, и даже если и возьмут, то за бесплатно учиться будешь ещё полгода, я вот учил этот язык и 2 года работу не могу найти потому что не берут - сразу накатывает паника и желание дропнуть всё к хуям и пересесть на что-то более актуальное, потому что есть ощущение, что я в итоге буду ненужным и безработным. Короче пугалки на меня пиздец сильно действуют, и я вместо того чтобы ПРОСТО сидеть и ебашить - начинаю паниковать и постоянно думаю "а надо ли оно мне вообще бля? а вдруг реально нет работы? а что если работа будет скучной и унылой?", и всё в таком духе.

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

Можешь меня обнадёжить, анон?
Аноним 20/04/22 Срд 14:04:02 #1239 №2339965 
>>2339948
>мелкие игры на ПК
C#.
>языкнейм говно без задач
Да.
>куча минусов
Да.
>работы нет
Без опыта - скорее всего.
>конкуренция 5000 человек на место
Да.
>я в итоге буду ненужным и безработным
Сейчас ты нужный?
>В общем хочу быть уверен в том, что если я выдрочу кресты и программирование в целом - я почти что гарантированно найду себе местечко в нашей великой стране, мне даже в целом похуй на зп, я просто хочу хоть что-то зарабатывать и как-то развиваться, дабы в будущем всё же попробовать осуществить свою детскую мечту.
Возможно, но ты скорее всего дропнешь кресты.
Аноним 20/04/22 Срд 14:52:45 #1240 №2340024 
VID20220308183116404.mp4
>>2339965
>>Сейчас ты нужный?
Сижу без работы и без опыта на мамкиной шее стыдно.
Нужна уверенность в том, что моя "нужность" заметно возрастёт после дроча крестов.

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

>>C#
Судя по треду он больше на веб нацелен, а меня от веба слегка подёргивает. Всё же хотелось бы в сторону софта двигаться но если что могу и веб потерпеть.
Аноним 20/04/22 Срд 15:33:31 #1241 №2340060 
Понюхал тут Go. Какой же прекрасный язык. Всё просто, понятно, красиво. В иде есть прекрасная встроенная документация, стоит только навести на название функции. Таким и должно быть программирование в 21 веке, а не ошибки на 2 листа А4, которые невозможно прочесть.
Аноним 20/04/22 Срд 15:36:18 #1242 №2340061 
изображение.png
>>2340060
Пикрил в принципе полностью передает суть крестов. И ладно бы платили много, так в среднем по больнице язык используется только в легаси и платят немного.
К слову, помню тут был кун из нвидии с за 600к, интересно, что с ним.
Аноним 20/04/22 Срд 17:14:56 #1243 №2340149 
>>2340060
>В иде есть прекрасная встроенная документация, стоит только навести на название функции. Таким и должно быть программирование в 21 веке, а не ошибки на 2 листа А4, которые невозможно прочесть.
Причем тут язык?
Аноним 20/04/22 Срд 18:02:03 #1244 №2340173 
>>2340061
За 700, и он релоцировался. Писал из их офиса только один человек остался.
Аноним 20/04/22 Срд 18:10:52 #1245 №2340183 
>>2340173
еще не релоцировался, пока только процедуры начались.

Ну и да, 900к где-то сейчас, акции упали. А так больше ляма было
Аноним 20/04/22 Срд 20:07:04 #1246 №2340315 
Можно ли определение шаблонного класса писать в cpp? Я так понимаю, что можно только отдельные функции, которые не зависят от шаблонов.
Аноним 20/04/22 Срд 20:39:05 #1247 №2340342 
>>2340315
pimpl
Аноним 20/04/22 Срд 21:30:04 #1248 №2340379 
>>2340342
хуимпл, деб, башкой подумай прежде, чем высирать какую-то хуйню
Аноним 21/04/22 Чтв 06:45:30 #1249 №2340535 
>>2340315
Можно
Аноним 21/04/22 Чтв 15:03:48 #1250 №2340821 
Аноны, а есть ли шизы, пишущие код прямо противоположно букве О в СОЛИД? Вот чтоб код потом можно было легко модифицировать или переписать. Как вообще такое проворачивать? Если ООП не принципиален, то может есть какой-то уже изобретённый приём вне этой парадигмы для подобного извращения? Причём главное требование — без потери производительности, т.е. рефлексировать или оборачивать код в тонны абстракций — не вариант. Единственное рабочее, что мне приходит в голову — это писать в процедурном стиле, по сути выкинуть весь ООП и писать как на Си с сахаром. Посоветуйте что-то адекватнее.
Аноним 21/04/22 Чтв 15:10:58 #1251 №2340831 
>>2340821
>пишущие код прямо противоположно букве О в СОЛИД
Закрытый для расширения и открытый для изменения интерфейса?
Аноним 21/04/22 Чтв 15:18:39 #1252 №2340841 
>>2340831
Да, переписывать функционал без добавления нового. В том числе и сам интерфейс менять, по необходимости. В процедурном стиле оно уже разбито на минимальные элементы — минимум правок надо делать при переписывании, нет интерфейсов — нет проблем. А как быть, если хочется оставаться с классами? Или я хочу невозможного от ООП?
Аноним 21/04/22 Чтв 15:26:56 #1253 №2340848 
>>2340841
>минимум правок надо делать при переписывании
>противоположно букве О в СОЛИД
ты кажется что то путаешь
Аноним 21/04/22 Чтв 15:27:39 #1254 №2340851 
>>2340841
Это секретная информация, среди разработчиков на C++, но ты можешь просто изменять класс, то есть, прямо из `class a { void m1(); void m2() };`, можешь сделать `class a { int m1(int, int); int m2(int, int); };`, плавающий интерфейс есть, возможность расширения только через наследование, что неизбежно, насколько я знаю.
Аноним 21/04/22 Чтв 15:31:01 #1255 №2340855 
>>2340851
> Это секретная информация, среди разработчиков на C++, но ты можешь просто изменять класс
Но ведь мне тогда придётся править всё что зависело от этого интерфейса, в том числе и сломанную архитектуру. А если, например, я сделаю это с процедурой, то мне надо будет только в другой процедуре использование этой процедуры поправить.
Аноним 21/04/22 Чтв 15:36:25 #1256 №2340860 
>>2340821
>пишущие код прямо противоположно букве О в СОЛИД
>>2340841
>Да, переписывать функционал без добавления нового
>>2340855
>Но ведь мне тогда придётся править всё что зависело от этого интерфейса, в том числе и сломанную архитектуру.
Аноним 21/04/22 Чтв 19:16:13 #1257 №2341096 
Ахуеть. Думал скачаю Qt. Сварганю приложуху на домашнюю пеку, а установка ide забанена по IP. Пидарасы
Аноним 21/04/22 Чтв 22:08:04 #1258 №2341222 
Помогите плз решить задачу
https://www.cyberforum.ru/cpp-beginners/thread2973571.html
Аноним 21/04/22 Чтв 22:57:59 #1259 №2341264 
>>2341222
pos = 0
while (pos < array.size - 1) {
1. среди элементов с позиции pos находишь максимальный;
меняешь его местами с array[pos];
сдвигаешь pos на 1;
2. среди элементов с позиции pos находишь минимальный;
меняешь его местами с array[pos];
сдвигаешь pos на 1;
}

Аноним 22/04/22 Птн 00:33:05 #1260 №2341318 
>>2341096
в msys2 есть
Аноним 22/04/22 Птн 04:57:07 #1261 №2341351 
>>2297529 (OP)
как называется операция когда мы делаем * нам поинтером
вылетело из головы.
Аноним 22/04/22 Птн 07:15:43 #1262 №2341363 
>>2341351
Разыменование
Аноним 22/04/22 Птн 23:34:10 #1263 №2342157 
Как выводить в файл кириллическую строку,введенную в cmd с клавиатуры? setlocale(LC_ALL, "ru") не помогает,все равно в тхт на месте букв кракозябры
Аноним 23/04/22 Суб 08:01:54 #1264 №2342298 
>>2342157
>Как выводить в файл кириллическую строку,введенную в cmd с клавиатуры?
Проблема окон, копай в эту сторону.
Аноним 23/04/22 Суб 08:35:58 #1265 №2342305 
>>2342157
Чел, в Шинде всегда используй _tmain и TCHAR. Юникод выключи, нахуй!
> setlocale(LC_ALL, "ru")
Чё, блять?
> в тхт на месте букв кракозябры
Блокнот любит cp1251.
Аноним 23/04/22 Суб 08:53:44 #1266 №2342309 
>>2342305
>setlocale(LC_ALL, "ru")
>Чё, блять?
Эта инструкция позволяет на консоль кириллицу выводить
Аноним 23/04/22 Суб 09:12:33 #1267 №2342310 
>>2342309
Ты из какого года капчуешь?
Аноним 23/04/22 Суб 10:11:52 #1268 №2342326 
>>2342310
Заебись лектор по информатике, в восьмидесятые нас переносит. Машина времени ебать.
Он строки как массив чаров пишет ,всегда.
Аноним 23/04/22 Суб 11:21:53 #1269 №2342344 
>>2340061
>Пикрил в принципе полностью передает суть крестов
Не суть крестов, а суть вкатывальщиков, которые нихуя не знают, а уже программисты

Нет ничего сложного в С++.

Да, есть наркоманская STL где и выкатывает полотна невнятного бреда... ну это наркомания и придумал ее наркоман в наркобреду (и это даже не шутка, он сам об этом писал)
Аноним 23/04/22 Суб 11:27:34 #1270 №2342346 
>>2342326
>Заебись лектор по информатике,
Кстати о лекторах... Какой же охуенный чел по С++
https://www.youtube.com/channel/UCGlYKd-FR4g0Tp4wF6_wxig/videos

Я бы к такому походил поучиться сям.

А говорят что в институтах не учат нормальному программированию... эх, жаль я был слишком туп чтобы поступить очно (поступил заочно на программиста, кстати тоже норм лекторы были - финальной лабой года например была полностью законченная программа управления школьным расписанием со всякими там базами данных, работой по сети и т.д.)
Аноним 23/04/22 Суб 17:01:42 #1271 №2342586 
>>2340535
Как?
Аноним 23/04/22 Суб 17:38:42 #1272 №2342633 
>>2338465
Пока только retroshare знаю, но к сожалению, там только исходники придется читать, что не просто бывает. Скорее даже затратно по времени
Аноним 23/04/22 Суб 17:41:14 #1273 №2342636 
Ну шо, как дела, как зряплатки крестовиков в рашке? Всё еще ржоте с Kharkiv IT Cluster или уже нет?

Салтовка-кум
Аноним 23/04/22 Суб 18:33:12 #1274 №2342675 
>>2342636
Если в долларах считать, то выросли. А так - по-разному.
Аноним 23/04/22 Суб 19:12:21 #1275 №2342716 
>>2342636
проблема не с зарплатами, как никак многие крестобояре из городских семей, зачастую с родителями инженерами, и как следсвие с наследной бабкиной хатой, и поэтому крестобояре всегда были готовы трудиться за копеечку
но проблема с количеством вакансий, а вот оно за последние пару месяцев просто рухнуло
к примеру, геймдев в россии (даже унылые мобилки) просто перестал существовать, его сейчас нет можно скзаать


Аноним 23/04/22 Суб 19:27:45 #1276 №2342725 
>>2341264
Я что то не совсем понял, что именно ты предлагаешь сделать.
Типо ты предлагаешь мне создать цикл, в котором я уже сделаю:
>среди элементов с позиции pos находишь максимальный;
меняешь его местами с array[pos];
сдвигаешь pos на 1;
>среди элементов с позиции pos находишь минимальный;
меняешь его местами с array[pos];
сдвигаешь pos на 1;
Но как мне это сделать? Я просто в с++ совсем ньюфаг
Аноним 23/04/22 Суб 19:29:13 #1277 №2342727 
>>2341264
Я что то не совсем понял, что именно ты предлагаешь сделать.
Типо ты предлагаешь мне создать цикл, в котором я уже сделаю:
>среди элементов с позиции pos находишь максимальный; меняешь его местами с array[pos]; сдвигаешь pos на 1;
>среди элементов с позиции pos находишь минимальный; меняешь его местами с array[pos]; сдвигаешь pos на 1;
Но как мне это сделать? Я просто в с++ совсем ньюфаг
Аноним 23/04/22 Суб 20:04:20 #1278 №2342764 
>>2342716
>поэтому крестобояре всегда были готовы трудиться за копеечку
Ну не, опция релокейта всегда существует. В Грузию например?

>но проблема с количеством вакансий, а вот оно за последние пару месяцев просто рухнуло
>к примеру, геймдев в россии (даже унылые мобилки) просто перестал существовать, его сейчас нет можно скзаать
У остальных должны были упасть рейты, не?

Салтовка-кум
Аноним 23/04/22 Суб 20:05:22 #1279 №2342766 
>>2342716
Да не сказать, чтобы рухнуло. Сократилось где-то на 25%, ну максимум на 30. При этом изменилась структура, да. Гейдев ушёл, пришли телекомы, эмбед, нагруженный бэк и сервисы. Зепки в принципе остались довоенными. В некоторых местах апнули, потому что вакухи по полгода висели.
Аноним 23/04/22 Суб 20:10:34 #1280 №2342771 
>>2342764
А что тебе релокейт в Грузию даст? За переезд и хату мало никому доплачивают, зарплаты - остаются те же, а кому-то предлагают идти на меньший прайс. Паспорт Грузии - хуйня полная. Сама Грузия маленькая, работы там нет, делать там нехуй.
Аноним 23/04/22 Суб 20:13:59 #1281 №2342772 
>>2342771
>А что тебе релокейт в Грузию даст?
Возможность работать? У нас с проектов кастомеры выпиздили всех разрабов кто в рашке или белорашке
Аноним 23/04/22 Суб 20:18:14 #1282 №2342775 
>>2342764
Так а почему рейты должны были упасть? Посыпались прежде всего аутсорсные направления. А кресты в аутсорсе занимают малую долю. Кто может в кресты перекатиться из безработных? Да в общем-то никто (джависты и шарписты зарабатывают больше сидя в сытных офисах).
Аноним 23/04/22 Суб 20:19:32 #1283 №2342777 
>>2342772
> У нас с проектов кастомеры выпиздили всех разрабов кто в рашке или белорашке
А нехуй работать на галере. Пойди устройся в нормальную компанию, которая пилит свои разработки или хотя бы не для западных куколдов. В чём проблема? Сейчас наоборот все фрилансеры-трактористы нахуй пошли и в рашке можно без проблем найти работу.
Аноним 23/04/22 Суб 20:21:25 #1284 №2342778 
>>2342775
>Так а почему рейты должны были упасть?
Меньше вакансий = больше кандидатов на место = меньшие рейты

>А кресты в аутсорсе занимают малую долю.
Ну хуй знает, у меня 20 штыков работает

>>2342777
>Пойди устройся в нормальную компанию, которая пилит свои разработки
Я не нищееб

>хотя бы не для западных куколдов
Ой дурак
Аноним 23/04/22 Суб 20:24:39 #1285 №2342780 
>>2342778
> Я не нищееб
Но очень похож, раз выбираешь между бомжеванием и укатыванием в недострану.
> Ой дурак
Азиаты уже давно платят больше, чем любители шестицветных флагов.
Аноним 23/04/22 Суб 20:25:59 #1286 №2342781 
>>2342772
Возможность работать, она ускользающая. Если джон боар через пол года скажет всё, то что ты дальше делать будешь? В Грузии работы нету, а искать ты будешь удалёнку как руссо программисто.

В качестве нормальной альтернативы есть Кипр. Там и ойти развито и фин сектор и русскоговорящих масса и проблем с местными нет. Но как туда сейчас попасть - я хз.
Аноним 23/04/22 Суб 20:29:46 #1287 №2342782 
>>2342780
>укатыванием в недострану
Я не в рашке です

>Азиаты уже давно платят больше, чем любители шестицветных флагов
Это сколько?

>>2342781
>а искать ты будешь удалёнку как руссо программисто.
Не, стоит искать как человек из Грузии, в нормальных странах всё понимают

>В качестве нормальной альтернативы есть Кипр. Там и ойти развито
Айти развито в штатах и в штатах только. Остальное - это всего лишь место комфортной работы на нормальных клиентов
Аноним 23/04/22 Суб 20:30:26 #1288 №2342783 
>>2342778
>20 штыков
Так а чё они от тебя не уходят? Зачем жить в стране, где с неба падает хуета и президент говорит, что будем воевать ещё 10 лет (пока всех не призовём)?
Аноним 23/04/22 Суб 20:35:00 #1289 №2342788 
>>2342782
В нормальных странах считают, что Georgia это ламповый американский штат, а не горы с чебуреками.
Хотя в целом всем поебать откуда кодер, главное не попасть под санкции.
Аноним 23/04/22 Суб 20:37:08 #1290 №2342790 
>>2342783
>Так а чё они от тебя не уходят?
Куда ж ты денешься с подводной лодки?

>>2342788
>Хотя в целом всем поебать откуда кодер, главное не попасть под санкции
Так отож
Аноним 23/04/22 Суб 20:45:08 #1291 №2342796 
>>2342778
>Меньше вакансий = больше кандидатов на место = меньшие рейты
Так вакансий сильно меньше не стало и основной удар пришёлся по вкатунцам. Ушёл Luxoft (хотя они продолжают мониторить рынок). Вместо него активизировался VK.
Аноним 23/04/22 Суб 20:52:13 #1292 №2342802 
>>2342790
Сам то с Украхи съехал или ждёшь призыва?
Аноним 23/04/22 Суб 20:58:27 #1293 №2342805 
>>2342802
Жду призыва естественно

Салтовка-кум
Аноним 23/04/22 Суб 21:00:14 #1294 №2342807 
>>2342796
>Ушёл Luxoft
А еще ушел EPAM и интел
Аноним 23/04/22 Суб 21:12:01 #1295 №2342810 
>>2342807
Интел перетечёт в Huawei, LG и им подобные.
Luxoft вроде крупнее был, чем EPAM. Да и контрагенты у Luxoft были получше. В Украхе наоборот.
Аноним 23/04/22 Суб 21:16:29 #1296 №2342813 
>>2342810
>Интел перетечёт в Huawei, LG и им подобные
Разве шо в хуавей, потому что лыжи тоже закрываются
Аноним 23/04/22 Суб 21:18:37 #1297 №2342816 
>>2342813
У хуавея очень много вакансий. Samsung ещё хантил людей на тематику близкую к проектам Intel.
Аноним 23/04/22 Суб 21:40:43 #1298 №2342824 
Знаете ли вы реализации надежной доставки сообщений по udp? Есть ли сурсы, а то че то не нашел
Аноним 23/04/22 Суб 21:51:04 #1299 №2342826 
>>2342824
Тончее нашел, но сомнительные
Аноним 23/04/22 Суб 21:58:04 #1300 №2342828 
>>2342824
Лучше я опишу проблему, а вы может подскажите че. Может есть какие то другие протоколы с нормальной реализацией, но на основе udp. Мне нужно почти всё, что есть в tcp, но при этом мне не подходит формат соединений. Мне нужно отправлять данные без установления соединения
Аноним 23/04/22 Суб 22:08:49 #1301 №2342830 
>>2342824
QUIC
Аноним 23/04/22 Суб 22:09:17 #1302 №2342831 
>>2342828
Пишешь P2P?
Считается, что если пытаться достичь такой же надёжности, как в TCP, в итоге и получится такой же оверхед. Так что можно либо снизить требования, либо устанавливать соединение, передавать ланные и разъединяться, как в HTTP без keep-alive.
Аноним 23/04/22 Суб 22:30:58 #1303 №2342835 
> Пишешь P2P?
Да
> Так что можно либо снизить требования, либо устанавливать соединение, передавать данные и разъединяться
Тогда мне придется очень часто соединяться, разъединяться, что при большом количестве человек может быть очень критично. Я очень слабо представляю как это будет выглядеть в чате на 1000 человек, например.
Аноним 23/04/22 Суб 23:23:34 #1304 №2342846 
Есть еще вариант использовать SCTP или RUDP, но я это в первый раз вижу
Аноним 24/04/22 Вск 04:47:14 #1305 №2342927 
>>2342782
>Айти развито в штатах и в штатах только
а под айти ты подразумеваешь сайто-клепательство?
Аноним 24/04/22 Вск 10:20:56 #1306 №2342981 
9bqBEan3gJc.jpg
Здравствуйте. Вы моя последняя надежда. Дело в том что я совершенно не понимаю алгоритм ханойских башен и для решения задачи использу код, который пытаюсь переводить с джавы (мне нужен именно такой принцип), но, ожидаемо, у меня ничего не получается.

Вот что я наделал: https://www.toptal.com/developers/hastebin/sahuyikeya.cpp

А вот откуда я это взял:
https://zhengyang2015.gitbooks.io/lintcode/content/mock_hanoi_tower_by_stacks_227.html
Аноним 24/04/22 Вск 11:44:37 #1307 №2343043 
>>2342927
>>Айти развито в штатах и в штатах только
>а под айти ты подразумеваешь сайто-клепательство?
Именно что не вебмакакинг. Все самые advanced поделки делаются там, а остальные - копируют
Аноним 24/04/22 Вск 12:05:22 #1308 №2343052 
>>2342344
Любитель велосипедов, ты?
Аноним 24/04/22 Вск 14:21:26 #1309 №2343109 
>>2342775
>Кто может в кресты перекатиться из безработных? Да в общем-то никто
всегда есть приток свежего мяса: умных дурачков из вузов что решили специализироваться на си/си++


Аноним 24/04/22 Вск 14:27:34 #1310 №2343115 
>>2342835
> чате на 1000 человек, например.
чел, сейчас решают проблемы C10M на сервак, для протоколов http и websocket
а ты бля хочешь уходить на udp потому что у тебя http 1k не держит
ха ха

Аноним 24/04/22 Вск 15:29:01 #1311 №2343151 
>>2342981
Хелп.
Аноним 24/04/22 Вск 15:43:16 #1312 №2343166 
>>2343109
Ну так то величина постоянная. Вузы выпускают примерно одинаковое количество народу ежегодно (это без учёта демографической ямы).
\r\n \r\n \r\n
Аноним 24/04/22 Вск 16:20:05 #1313 №2343188 
изображение.png
Почему так нахуй? Если уж делать explicit так до конца, без исключений для ифов
Аноним 24/04/22 Вск 16:43:49 #1314 №2343199 
>>2343188
Потому что как раз для ифов этот оператор в основном и нужен. А explicit - защита для остальных мест.
Аноним 24/04/22 Вск 16:45:51 #1315 №2343200 
>>2343199
Основное использование - в смарт поинтерах и optional
Аноним 24/04/22 Вск 20:38:20 #1316 №2343390 
>>2342636
уже давно не плюсовик, но по java/scala бек все оки доки, рейты даже растут, т.к. всякие нервные пориджи судорожно ищут релокейт. nvidia офис не закрыла, хуавей не закрыл, сименс не закрыл, ебучих размеров яндекс и vk остались. Банки никуда не делись, но там плюсовых вакансий мало

>>2342805
>Жду призыва естественно
ебать дебил

харьков-кун
Аноним 24/04/22 Вск 20:45:56 #1317 №2343400 
image.png
>>2343390
>nvidia офис не закрыла
А почему вакансий нет? https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite
Почему Ukraine есть, а Russia нет?

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

Салтовка-кум
Аноним 24/04/22 Вск 20:56:41 #1318 №2343404 
image.png
>>2343400
Хз, на hh.ru вакансии публикуют и обновляют. Правда сильно меньше, чем раньше
https://hh.ru/vacancy/54409308?from=vacancy_search_list&hhtmFrom=vacancy_search_list

>Сейчас лучше оказаться по эту сторону железного занавеса, чем по рашкинскую
tell me about it
У нас тут по сравнению с Украиной сейчас либеральный рай. У нас тут на подвалы не увозят за неправильное мнение в отличие от. Все мои родственники из Харькова со вторника боятся звонить мне по телеге, т.к. у знакомых устроили обыск за то, что звонили родственникам в РФ по сотовой связи. Железный занавес, да?
Аноним 24/04/22 Вск 20:58:19 #1319 №2343405 
>>2343400
Потому что бизнес любит тишину. Luxoft тоже журавлика на сайте нарисовал. Но по резюме они всё равно шерстят.
Аноним 24/04/22 Вск 21:09:54 #1320 №2343411 
>>2343400
Так а чё ты в Европу то не уехал? Даже всякие Сергеи Немчинские укатились, ибо нахуя жизнью рисковать, если ты хорошо зарабатываешь и можешь получать от жизни удовольствие? Уровень жизни упадёт по обе стороны границы. Какой смысл жить среди бедных и вских махновцев с разноцветными повязками?
Аноним 24/04/22 Вск 21:23:23 #1321 №2343422 
>>2342716
>геймдев в россии (даже унылые мобилки)
А тут вообще после нулевых вообще было что-то кроме мобилок, браузерок и ммо? Все нормальные студии позакрывались. Только ледорубы вспоминаются но это творцы, не умеющие в проджект менеджмент и работающие только лишь на энтузиазме Дыбовского, да симуляторы самолётов для аутистов.
Аноним 24/04/22 Вск 21:24:26 #1322 №2343424 
image.png
image.png
>>2343404
>https://hh.ru/vacancy/54409308?from=vacancy_search_list&hhtmFrom=vacancy_search_list

Armenia, Remote

>У нас тут по сравнению с Украиной сейчас либеральный рай.
Ахаха, ясно

>Все мои родственники из Харькова со вторника боятся звонить мне по телеге
Просто тебя уже выписали из родственников, но этого еще не понял

>>2343411
>Уровень жизни упадёт по обе стороны границы
А вот и нет. Бумага, прокладки, памперсы и сахар у меня в магазе как раз есть.
Аноним 24/04/22 Вск 21:34:26 #1323 №2343428 
>>2343424
>московская вакансия без релокейта
>Armenia, Remote
Смекаешь, да?

>Ахаха, ясно
>Просто тебя уже выписали из родственников, но этого еще не понял
>А вот и нет. Бумага, прокладки, памперсы и сахар у меня в магазе как раз есть.

Всегда думал, что в /po такой низкий, отбитый уровень контента, т.к. там срут работники ботоферм на зарплате. Но оказывается, что ровно так же пишут вполне себе образованные ребята - программисты. Просто пиздец.
Аноним 24/04/22 Вск 21:40:10 #1324 №2343430 
>>2343428
>>московская вакансия без релокейта
>>Armenia, Remote
>Смекаешь, да?
Смекаю что конкретных подробностей нет, но на всякий случай стоит поднять вой по этому вопросу. Сейчас еще и армянскому офису пизда будет

>Всегда думал, что в /po такой низкий, отбитый уровень контента
В Харькове последние ватаны уже ненавидят рашку, после пережитых обстрелов, пожаров и прочего пиздеца. Выписывание из родственников - довольно распространенная тема
Аноним 24/04/22 Вск 21:52:51 #1325 №2343437 
>>2343430
>В Харькове последние ватаны уже ненавидят рашку
Мне интересен алгоритм поиска ватанов, если за любой неотрицательный сентимент в сторону РФ неиллюзорно могут прийти пообщаться, а то и чего похуже.

>Выписывание из родственников - довольно распространенная тема
Во-первых, это твой личный опыт, опыт ближайшего окружения? Если нет - нехуй распространять не личный опыт. Во-вторых нехуй свои фантазии проецировать на меня - у меня с родственниками охуительнейшие отношения и они стали со мной очень осторожно контактировать сразу после некоторых событий неделю назад
Аноним 24/04/22 Вск 21:57:10 #1326 №2343438 
>>2343424
>прокладки, памперсы
То есть ты ещё и жизнью семьи рискуешь. Ебать ты промытый.
Аноним 24/04/22 Вск 21:57:17 #1327 №2343439 
>>2343437
>Мне интересен алгоритм поиска ватанов, если за любой неотрицательный сентимент в сторону РФ неиллюзорно могут прийти пообщаться, а то и чего похуже.
С соседями никогда не общался? Не знаешь их настроений?

>у меня с родственниками охуительнейшие отношения
Можешь верить. Но родственников у тебя больше нет
Аноним 25/04/22 Пнд 16:02:27 #1328 №2343837 
>>2343422
>кроме мобилок, браузерок и ммо?
это и было потому что давало безумную маржу
Аноним 25/04/22 Пнд 17:30:00 #1329 №2343906 
изображение.png
При инициализации сокета в конструкторе виджета, программа вылетает. Что я делаю не так?
Аноним 25/04/22 Пнд 17:37:30 #1330 №2343915 
>>2343906
>Что я делаю не так?
Ставишь лишние запятые. Попробуй его инициализировать до тела конструктора. this там уже определен.
Аноним 25/04/22 Пнд 22:29:50 #1331 №2344116 
>>2343906
У тебя есть дебаггер. Как именно вылетает?
Аноним 26/04/22 Втр 05:11:32 #1332 №2344242 
Двощ, хуле рандом не рандомный? По логике хеш должен пересчитываться каждое срабатывание функции, но по факту во время всего выполнения выходит одно и то же число.
https://pastebin.com/QR4JzZkW
Аноним 26/04/22 Втр 05:54:49 #1333 №2344251 
>>2344242
А все, нахуй скопипиздил откуда-то код через random.h, и он заработал
Аноним 26/04/22 Втр 09:04:21 #1334 №2344281 
>>2344242
Основы.
Аноним 26/04/22 Втр 15:05:04 #1335 №2344543 
image.png
image.png
Проблема с определением длины файла в режиме "rb"
Почему при загрузке функции для определения длины файла вида (1-й пик)
не соответствуют (2-й пик)
Получается что в текстовом режиме каждую новую строку в первом случае прибавляется два символа, во втором только один.
Аноним 26/04/22 Втр 18:32:59 #1336 №2344749 
бля, как упростить себе жизнь будучи плюсовиком, создал папку приходится блять запихивать в нее CMakeList и так в каждую....
добавить бибилиотеку с гитхаба это вообще горе.
Как упростить все это?
Можно конечно взять vcpkg но у меня CLion с ним не дружит абсолютно, а через mingw приходится постоянно врубить их консольку и искать (а там иногда все устарело)

Ну почему в раст есть богоподобный единственный toml файлик и все

Аноним 26/04/22 Втр 18:44:16 #1337 №2344766 
>>2344749
>Как упростить все это?
Использовать средства среды, для организации проектов.
Аноним 26/04/22 Втр 19:01:36 #1338 №2344770 
>>2344749
Cmake fetch content
Аноним 26/04/22 Втр 19:07:31 #1339 №2344774 
>>2344766
что это за средства среды в данном случае для Clion
>>2344770
Да, спасибо новой фишечке, но указывать прямо юрл адресс в файле эстеттически не комильфо, а также проблема с тем что в каждую папку надо сувать этот сраный файл

какой вообще модерн тулчейн
Аноним 26/04/22 Втр 19:55:18 #1340 №2344809 
>>2344774
> в каждую папку
Ты видимо что то не так делаешь, в каждую ничего сказать не надо, сделай общую зависимость у всех таргетов
Нужна практика! Аноним 26/04/22 Втр 20:36:16 #1341 №2344816 
Всем добрый вечер. Начал недавно изучать плюсы по самоучителям, получается без подсказок решить простые примеры из тех же самоучителей, но я считаю, что этого очень мало. Подскажите, как и где можно начать реальную практику плюсов, какие задачи решать? Есть ли смысл пробоваться в какие-нибудь пулл-реквесты на гитхаб? Те, кто шарят, пожалуйста, подскажите.
Аноним 26/04/22 Втр 20:38:15 #1342 №2344817 
>>2344816
>какие задачи решать?
Напиши что-нибудь полезное.
>Есть ли смысл пробоваться в какие-нибудь пулл-реквесты на гитхаб?
Нет.
Аноним 26/04/22 Втр 23:18:48 #1343 №2344906 
>>2344543
>каждую новую строку в первом случае прибавляется два символа, во втором только один
Дай угадаю - у тебя шиндовс?
Аноним 27/04/22 Срд 07:57:17 #1344 №2345009 
>>2344906
именно, в принципе понятно что это из-за управляющих символов, не понятно почему разные результаты
Аноним 27/04/22 Срд 08:43:17 #1345 №2345023 
>>2345009
Сочетание символов \r\n тебе о чем-то говорит?
Аноним 27/04/22 Срд 11:12:45 #1346 №2345090 
>>2344543
>Получается что в текстовом режиме каждую новую строку в первом случае прибавляется два символа, во втором только один.
Все так. Под виндой перевод строки кодируется двумя символами.
Аноним 27/04/22 Срд 12:07:47 #1347 №2345115 
>>2345090
>Под виндой перевод строки кодируется двумя символами.
Понимаешь, что пишешь?
Аноним 27/04/22 Срд 17:37:02 #1348 №2345370 
12847065343377.jpg
Массив для постоянных значений используют, а вектор для переменных?
Аноним 27/04/22 Срд 17:44:47 #1349 №2345371 
>>2345370
Нет.
Аноним 27/04/22 Срд 18:05:53 #1350 №2345377 
>>2345371
Вектор - усовершенствованный массив?
Аноним 27/04/22 Срд 18:08:01 #1351 №2345379 
>>2345377
Нет.
Аноним 27/04/22 Срд 18:12:50 #1352 №2345380 
перекатывайте
иначе последствия.....
Аноним 27/04/22 Срд 18:33:46 #1353 №2345397 
>>2345380
Перекатывай.
перекат Аноним 27/04/22 Срд 23:16:24 #1354 №2345618 
https://2ch.hk/pr/res/2345617.html
https://2ch.hk/pr/res/2345617.html
https://2ch.hk/pr/res/2345617.html
Аноним 28/04/22 Чтв 23:05:32 #1355 №2346317 
>>2344816
напиши впо которое будет делать что-то полезное
Аноним 01/05/22 Вск 13:05:16 #1356 №2347942 
>>2342981
Toptal еще работает с разработчиками из этой страны или прикрыли лавочку из-за санкций?
[89536873818] drake3250 23/06/22 Чтв 15:00:39 #1357 №2387118 
https://rsdn.org/article/cpp/stl.xml
стоит ли учить stl по этому руководству?
Аноним 23/06/22 Чтв 15:02:00 #1358 №2387121 
https://rsdn.org/article/cpp/stl.xml
стоит ли учить stl по этому руководству?
sageАноним 25/06/22 Суб 13:06:12 #1359 №2388587 
>>2343405
>бизнес любит тишину

Бизнес любит пиар, подписчик четких пабликов в вк хуев
comments powered by Disqus

Отзывы и предложения