Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1347 92 283
С++ thread #133 /cpp/ Аноним # OP 15/02/22 Втр 03:49:24 2297529 1
image.png 84Кб, 1600x1600
1600x1600
image.png 200Кб, 432x324
432x324
Аноним # OP 15/02/22 Втр 03:51:58 2297531 2
image.png 77Кб, 700x444
700x444
Аноним 15/02/22 Втр 04:47:44 2297539 3
>>2297529 (OP)
>Для указателей: ⚹
Вот это было мощно.
Аноним 15/02/22 Втр 04:54:46 2297540 4
Век живи - век учись.

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

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

Охуенно, да?




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

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

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

Вне гуя и игор классы говно без задач.
Аноним 15/02/22 Втр 12:38:57 2297730 8
Аноним 15/02/22 Втр 13:30:57 2297796 9
peka-classic.jpg 6Кб, 180x173
180x173
>>2297730

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

> Борщехлёб

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

this

а вот это

> std::endl

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

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

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

На куче других языков получают больше или сравнимо. Впрочем, те языки тоже говно. Кресты прикольные, пока пишешь по сути на ссы-с-удобствами
Аноним 15/02/22 Втр 15:01:34 2297952 44
Зачем мы сремся по хуйне? Давайте лучше обсудим почему индустрия языков и компиляторов застряла в 70-90х годах и почему все языки ЯП говно. За наш век не появилось ничего нового, ни одной новой философии и течения. Все пердит и свистит на наработках древних.
Аноним 15/02/22 Втр 15:07:25 2297954 45
>>2297952
> почему индустрия языков и компиляторов застряла в 70-90х годах
> За наш век не появилось ничего нового, ни одной новой философии и течения. Все пердит и свистит на наработках древних.
Потому что этот фундамент идеален и продуман на сто лет вперёд. Проблема в говнореализациях. Каждый раз, когда пилят новое, что-то упрощают или не учитывают, потом это начинает вызывать проблемы, для решения которых впиливают ad hoc костыли, а потом поздно что-то переделывать из-за легаси.
Аноним 15/02/22 Втр 15:14:14 2297961 46
>>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 2297975 47
>>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 2297983 48
>>2297952

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кстати, это неебовое преимущество крестов перед VHLL. У тебя хотя бы есть опция взять примитивное быстрое решение, там, где его хватает. В рубях и пиздоне по сути только "вектора".
Аноним 18/02/22 Птн 09:27:34 2300537 196
>>2300534
То есть ты хочешь сказать, что события тоже самое что и слоты и сигналы? А зачем мне тогда нужны события если я также могу соединить сигналами и слотами. Я думал события это такое глобальное действие, которое рассылается всем кто его ждет, и не надо указывать какому объекту отправить событие. а sendpos() только конкретному объекту отправляет сигнал-событие. А как сделать так что бы вся программа знала что что то произошло? Отсылать событие главному окну? а она пусть отсылает событие своим детям?
Аноним 18/02/22 Птн 09:42:28 2300544 197
>>2300537
P.S. Проблема, в еще в том что на русском нормальных статьей нет, а с переводчиком плохо понятно
Аноним 18/02/22 Птн 10:29:19 2300561 198
>>2300473
О! Нифига! Решили поменять механизм трансляции, которому полвека? Надо идти курить мануалы.
Аноним 18/02/22 Птн 11:27:11 2300613 199
Какое же чудовище этот ваш кьюти, радует то, что кьюмейк удобный.
Аноним 18/02/22 Птн 11:47:56 2300628 200
>>2300534
Также я не пойму, почему что ты, что анон выше, используете слово сигналы, хотя я в своем вопросе даже не написал ни разу о сигналах.
Аноним 18/02/22 Птн 12:39:15 2300655 201
Какие же плюсы охительные, после питона и js вообще сплошное удовольствие на них писать.
Аноним 18/02/22 Птн 13:35:44 2300693 202
>>2299536
Для вката нужно понимать OS Internals и иметь навыки программирования на С/С++ по большому счету.
Но скажу сразу - в пределах СНГ ловить нечего, рынок мёртвый, лучше быть веб-макакой. Если хочешь, чтобы за байтослесарство хорошо платили, строго нужен перекат в США/Канаду/страну западной Европы/Израиль/Сингапур.
Аноним 18/02/22 Птн 13:35:46 2300694 203
>>2300655
Обычно наоборот пишут.
Аноним 18/02/22 Птн 13:37:50 2300696 204
>>2300694
Наоборот пишут те, у кого от динамикодрисни началось разжижение мозга.
Аноним 18/02/22 Птн 13:37:52 2300697 205
>>2300694
Да не, прямо глоток воздуха для меня, быстро выгоревшего в макакинге.
Аноним 18/02/22 Птн 13:50:30 2300704 206
>>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 2300709 207
>>2300476
RAII > сборка мусора, поэтому нет, не завезут, ибо юзлесс хуета.
Аноним 18/02/22 Птн 13:57:05 2300714 208
>>2300655
Плюсую. Дактайповая параша, особенно в крупных проектах, это просто пиздец.
Аноним 18/02/22 Птн 14:06:00 2300723 209
>>2300709
С RAII надо потом думать о владении и перемещении, когда в динамикодрисне с GC можно хуйнуть new и забыть а на ОЗУ похуй, она ж бесконечная.
Аноним 18/02/22 Птн 14:08:36 2300725 210
>>2300723
>а на ОЗУ похуй, она ж бесконечная.
this. Помню как у меня в яндекс дзене на протяжении 2ух месяцев память неумолимо утекала и спустя минут 15 в этой хуйне мои 32гб уже задыхались по полной.
Аноним 18/02/22 Птн 14:29:45 2300746 211
>>2300473
А что плохого в модулях?
По сути, они же предназначены для того, чтобы исключить костыль
#ifndef XUY
#define XUY
...
#endif
Аноним 18/02/22 Птн 14:31:18 2300748 212
>>2300746
Так этот костыль давным-давно исключён #pragma once
Аноним 18/02/22 Птн 14:35:02 2300755 213
>>2300748
Которого нет в стандарте.
Аноним 18/02/22 Птн 14:35:15 2300756 214
image.png 77Кб, 1261x632
1261x632
Аноним 18/02/22 Птн 14:37:28 2300762 215
>>2300748
Это в пределах одного .срр. В соседнем один хрен придется всё заново включать, парсить и конпелироватб.
Прекомпилед хедеры это расширение и костыль который в цпп20 легализован через import <zalupa>
Аноним 18/02/22 Птн 14:39:51 2300763 216
>>2300756
Оставлено только из-за обратной совместимости, #pragma once не все компиляторы поддерживают.
Аноним 18/02/22 Птн 14:40:41 2300764 217
>>2300763
Ну то есть костыль не исключён?
Аноним 18/02/22 Птн 14:43:16 2300767 218
>>2300764
Появится еще один костыль, export module, #pragma once, #ifndef #define.
Аноним 18/02/22 Птн 15:52:20 2300831 219
Аноним 18/02/22 Птн 16:12:48 2300849 220
>>2300723
Так-то думать фактически не надо. Unique_ptr и shared_ptr с рефкаунтом когда надо, всё обёрнуто. Единственный момент когда надо думать - это cyclic reference, и знать что надо юзать weak_ptr дабы избавиться от него.
Итог - сборка мусора by design с фактически нулевым оверхедом.
Аноним 18/02/22 Птн 16:15:02 2300852 221
>>2300831
>И в чём я неправ?
>Чем сишный массив лучше? Например тем, что он выделяется на стеке, в то время, как vector требует хотя бы одного вызова new.

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

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

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

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

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

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


Аноним 20/02/22 Вск 10:44:01 2302101 274
Надо ли закрывать файловый стрим? А если он у меня окрывается и обрабатывается в отдельном блоке {}?
Аноним 20/02/22 Вск 11:16:42 2302110 275
>>2302101
Сам закроется при выходе из блока.
Аноним 20/02/22 Вск 11:55:05 2302144 276
Аноним 20/02/22 Вск 13:16:22 2302328 277
Аноним 20/02/22 Вск 13:18:00 2302332 278
Помнится где-то читал, что базовые типы можно передавать там, где не требуется иное по значению и ни о чём не сожалеть мол там всё внутри отлично организованно и от передачи ссылок профитов нет. Так ли это?
Аноним 20/02/22 Вск 13:20:02 2302337 279
>>2302332
Ну и как тогда изменять значения переменных из места вызова? Через указатели?
Аноним 20/02/22 Вск 13:22:36 2302342 280
>>2302337
Я же пишу - там, в тех случаях, где изменять ничего не требуется.
Аноним 20/02/22 Вск 14:41:48 2302413 281
Как сделать метод с 1 единственным опциональным параметром? Юзаю std::optional с дефолтным значением но оно всё равно не компилируется если не передавать никакое значение в функцию. Не кидать же постоянно туда std::nullopt, это же тупо?
Аноним 20/02/22 Вск 14:54:09 2302421 282
>>2302413
ПЕРЕГРУЗКА
Е
Р
Е
Г
Р
У
З
К
А
Аноним 20/02/22 Вск 14:56:01 2302422 283
>>2302421
Ну нееет, я имел в виду без неё.
Аноним 20/02/22 Вск 15:03:34 2302430 284
Аноним 20/02/22 Вск 15:24:11 2302447 285
>>2302422
Без нее тоже работает, только что проверил.
Аноним 20/02/22 Вск 15:34:55 2302460 286
Аноним 20/02/22 Вск 15:52:24 2302473 287
>>2302413

void sosat_hui(int len = 42) { ... }
Аноним 20/02/22 Вск 15:59:04 2302486 288
image.png 10Кб, 921x72
921x72
image.png 37Кб, 676x203
676x203
>>2302473
И что за несправедливость?
Аноним 20/02/22 Вск 16:05:33 2302493 289
>>2302486
Надо прямо в объявлении. А ты в определение ебанул.
Аноним 20/02/22 Вск 16:09:03 2302500 290
>>2302493
Вот оно что, спасибо!
Аноним 20/02/22 Вск 19:13:14 2302797 291
Давненько не писал ка плюсах, и подзабыл уже
Вот есть у меня
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 2302799 292
>>2302797
Ну и да, используется это все в духе Base* ptr= get_Impl(); ptr->foo(42);
Сам Base ни в каком другом виде никогда не используется
Аноним 20/02/22 Вск 19:21:59 2302806 293
Что надо знать/уметь чтобы вкатиться для начала хотя бы на 1500 ерос?
Аноним 20/02/22 Вск 19:28:44 2302816 294
>>2302806
Для начала надо умерить свои запросы.
Аноним 20/02/22 Вск 19:30:58 2302819 295
>>2302816
Да в смысле? Это же вообще копейки. Ну я и сам из себя норм, умный, старательный.
Аноним 20/02/22 Вск 20:00:59 2302851 296
>>2302819
Джунька 1к, мидло 1.5к, сенька 3к и выше. Вкатыш без опыта 600-700 может быть и стоит, но многие даже такими деньгами рисковать не станут.
Аноним 20/02/22 Вск 20:11:42 2302859 297
>>2302851
А если у меня 0.5 года изучения С, 1.5 года С++ и 2 пета по последнему?
Аноним 20/02/22 Вск 20:20:19 2302866 298
>>2302859
Опыт это конечно хорошо, но что уметь то можешь? Что за петы?
Аноним 20/02/22 Вск 20:30:46 2302871 299
>>2302859
Опыт на C вообще никак не засчитывается. 1.5 года это считай джун, максимум сотыга.
Аноним 20/02/22 Вск 20:39:16 2302877 300
>>2302797
Она приватная, потомок ее не видит и не переопределяет своим объявлением. Если бы использовал override тебе бы сразу выдало что хрень пишешь.
Аноним 20/02/22 Вск 20:42:59 2302881 301
>>2302819
>Ну я и сам из себя норм, умный, старательный.
Славный парень - это не профессия.
Аноним 20/02/22 Вск 20:48:31 2302887 302
>>2302877
Нет, у меня в коде не приватная.
Аноним 20/02/22 Вск 20:50:37 2302888 303
>>2302887
>class Base { virtual bool foo(int) = 0; }
>не приватная
Чаво?
Аноним 20/02/22 Вск 20:52:35 2302891 304
>>2302887
Дальше мой телепатический навык не работает (
Аноним 20/02/22 Вск 20:52:37 2302892 305
>>2302888
Не тупи. Я же не буду сюда все 100 строк копипастить.
Аноним 20/02/22 Вск 23:26:15 2303006 306
>>2300875
Да, с отчизной наибольшие проблемы.
В РФ на плюсы активно нанимает яндекс, но там предметная область бекенда, а не роботов, автономных машин и компиляторов.
Еще есть касперский, хуавей, самсунг, мцст. Наверное сначала нужно туда пытаться попасть. Но в хуавее и самсунге все забито на несколько лет вперед разнообразными олимпиадниками из мфти, поэтому если ты один из них, то остается касперский и мцст. Хотя в мцст тоже очередь из мфтишников есть.
А так в целом раз уж ты родился здесь, то смысла от переката за бугор много не будет.
Будешь получать свои 150 килобаксов в США и платить там конскую сумму за ипотеку. В итоге уровень жизни будет гораздо меньше, чем у местной веб маньки.
Аноним 20/02/22 Вск 23:45:02 2303019 307
>>2303006
>В РФ на плюсы активно нанимает яндекс
не пизди, это не так
они собеседуют, но за последние 2 года не взяли ни одного кодера с++ вообще то
Аноним 21/02/22 Пнд 01:20:55 2303053 308
Планирую перекатиться на линукс. Мне главное чтобы прогать можно было удобно. Я обычно прогаю в vs code + настроены компиляторы в vs либо через консоль компилирую. Иногда возвращаюсь на винду в vs когда надо что то отдебажить сложное. Все таки в vs с этим удобнее. + есть анализ участков кода на производительность и анализ памяти. На линуксе с этим либо не так просто, либо я не разобрался. Чем на линуксе vs заменить?
Аноним 21/02/22 Пнд 01:24:20 2303055 309
Как сделать "читерский" 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 2303077 310
>>2303053
А чем тебе vs code на Linux не устраивает?
Аноним 21/02/22 Пнд 04:02:07 2303078 311
>>2303077
Ну и когда-то netbeans был неплох. Но сейчас C/C++ поддержку на нём не развивают. Плюс жрать стал как не в себя. Сам перекатился в VS.
Аноним 21/02/22 Пнд 06:25:48 2303094 312
>>2303053
Я в vscode через lldb дебажу
CodeLLDB или как то так расширение называлось
Аноним 21/02/22 Пнд 07:06:46 2303100 313
>>2303055
CRTP
Посмотри как ATL и WTL сделаны
Аноним 21/02/22 Пнд 09:19:25 2303126 314
>>2303053
>>2303078
Линукс, вим, gdb, иногда шлайно. Всё, гуи не нужен.
Аноним 21/02/22 Пнд 17:48:44 2303598 315
В плюсах можно сделать так?
Вытащить из рандомной структуры список всех полей вида "type | var_name | address".
Т.е я не знаю сколько полей и какие они.
Аноним 21/02/22 Пнд 18:08:28 2303623 316
>>2303598
если вкратце то на райтайме нельзя, тк нет рефлексии
в компайл тайм можно
Аноним 21/02/22 Пнд 18:33:26 2303645 317
>>2303598
Если у тебя задача распарсить какой-то протокол с данными, то есть либы наподобие http://kaitai.io/
Там ты конечно должен структуру сам ручками расписать, методом тыка.
Аноним 21/02/22 Пнд 20:18:05 2303737 318
А есть какие-нибудь либы что написать полноценный такой гуй на HTML+CSS? Или хуйня затея?
Аноним 21/02/22 Пнд 20:25:16 2303740 319
>>2303737
Есть, но хуйня затея.
Аноним 21/02/22 Пнд 20:27:23 2303741 320
Аноним 21/02/22 Пнд 20:30:43 2303742 321
>>2303741
Потому что не нужны тебе кресты, если такая идея возникла.
Аноним 21/02/22 Пнд 21:25:21 2303772 322
>>2303742
Ну, если ты так говоришь... Кресты же у нас чисто про вертикальное мышление и Ctrl-C и Ctrl-V код. Есть Qt и больше нам ничего не надо, так ведь?
Аноним 21/02/22 Пнд 21:53:43 2303796 323
>>2303772
Использование HTML+CSS, когда есть Qt/Gtk избыточно и это лишняя нагрузка, переносимость/кастомизация у них большая, тащить с собой webkit на 30мб загружать в ОЗУ пару мегабайт, такое себе, что ты от этого получишь?
Аноним 21/02/22 Пнд 21:57:06 2303802 324
>>2303737
RmlUI, там конечно отличается но идея такая. Попробуй, еще захочешь.
Аноним 21/02/22 Пнд 21:57:55 2303804 325
>>2303796
А Qt у нас невесомый, лол.
Аноним 21/02/22 Пнд 22:23:15 2303828 326
Аноним 21/02/22 Пнд 22:53:44 2303861 327
>>2303828
Удовлетворение своего энтузиазма и неприятия мейнстрима.
Аноним 22/02/22 Втр 00:32:12 2303940 328
>>2303861
>своего энтузиазма
Какого? Взять готовую библиотеку и написать никому ненужный и всеми ненавистный еще один локальный HTTP сервер, это по-твоему удовлетворение энтузиазма?

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

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



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

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

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

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

Аноним 23/02/22 Срд 01:26:39 2304668 369
>>2304387
ну смотри, ведь wsl это был преемник sfu (сервисы майкрософт для юникс), а sfu был преемником posix windows nt
а ядро nt было интересно сделано - предполагалось что поверх него будут сделаны различные подсистемы, главная конечно же это была windows, но при этом сделали еще и posix слой, и вроде бы еще запиливали другие более специализированные системы, для ранних смарт-устройств например
в общем, майкрософт, повторюсь, как ни странно зачастую являются пионерами, бегут впереди рынка
Аноним 23/02/22 Срд 01:29:22 2304669 370
>>2304574
ну тогда тебе придется научиться писать драйвера.. обычно всякие утилитки для мониторинга под винду идут этим путем..
Аноним 23/02/22 Срд 12:34:43 2304825 371
Аноним 23/02/22 Срд 14:02:13 2304872 372
Как у кьюти дела с мобильной разработкой под андроид? Какие подводные? Стоит или проще взять котлин\жабу?
Аноним 23/02/22 Срд 14:31:07 2304885 373
>>2304872
Всё очень плохо. Любой шаг влево-вправо - и приходится переписывать на жабу.
Аноним 23/02/22 Срд 17:20:33 2305012 374
бля вы всегда так пугаете физтехами. Как будто
1) Это единственный нормальный вуз (есть еще МГТУ и МГУ как минимум)
2) Они реально такие жесткие. Они все там физики, которые идут в машин лергиниг, если денег хотят. Че вы то ссытесь, чмохи?
3) Да даже если они реально ТАК знают математику, то это не гарантирует, что они хорошие программисты. Мб Rnd или анатилики да, но прям прогеры - хз. Думаю что процент хороший прогеров оттуда не сильно выше чем у других топовых втузов
4) Был у меня знакомый физтеховец мощный. Прям стандарная история: топ школа -> физтех -> свой стартап в тех зрении. Так вот он утверждал что на мобилке нереально в риал тайме распознавать лица. Ну йопта. Не говорю, что он тупой - чел реально мощный. Но, как грится, также ошибаются как и все.
Так что я совершенно не разделяю хуйни типа "ой там физтеховцы одни в очереди стоят, ик пук". Конечно, если ты заканчивал ЗалупкинГУ и тебе после рабочего дня интереснее пивас пососать, вместо того, чтобы почитать чего-нибудь по алгосам\линалу\терверу\любой другой математике, то да. Соре
А если чел реально увлечен работой и имеет хорошую базу (или хотя бы поднимает ее в свободное время), то не нужно депрессовать
Пысы. у меня знакомый из второсортного вуза в самсуге работает. Не скажу, что он мимокрок, но и не топ перформер. В свое время не смог с usb либками разобраться
Аноним 23/02/22 Срд 17:24:00 2305019 375
>>2305012
>вы всегда так пугаете физтехами
Кто? Кого?
Аноним 23/02/22 Срд 19:35:47 2305100 376
Аноним 23/02/22 Срд 19:40:03 2305103 377
>>2304669
Для начала я бы хотел просто запустить программу которая бы просто вывела один раз значение температуры цпу в консоль один раз и всё. я ещё заняться не могу этим недавно с одного компа на другой перешёл, пока данные по сети тащил с одного на другой, пока обратно, пока винду искал/драйвера пока на старом всё переделал я его же отдал другому человеку. ну ты понел как это геморно
Аноним 23/02/22 Срд 20:45:52 2305141 378
>>2305012
Ну топ конторы, они же RnD занимаются, считай околонаучной деятельностью. Допустим тот же самсунг занимается параллельными вычислениями на кластерах GPU. Для этого нужны исследователи, которые родят концепт. Это выпускники МФТИ. В добавок к этим челикам нужны инженеры, которые переложат концепт в код. Это твой дружаня из второсортного вуза.
Аноним 23/02/22 Срд 22:37:13 2305214 379
>>2305141
Ну, извини меня, rnd штат совсем небольшой. Тут я часто слышу тему, что даже инженером не устроишься в такие конторы.
Ну а насчет того, что в рнд беркт одних физкеков тоже хз. Опчть же я не говорю, что рнд самсунга держится на МАИ, но думаю что и не только физтех
Аноним 23/02/22 Срд 23:07:56 2305234 380
>>2305214
RnD вещи делают люди с учеными степенями, либо стремящиеся их получить - аспиранты, кадидаты и доктора наук.
И там больше роляет чем ты занимался, кто ты по жизни и кто твой научник. Ну и так сложилось, что наукой в инженерных вузах у нас не занимаются от слова совсем, поэтому в RnD кроме физтехов ты вряд ли кого-нибудь встретишь (может только парочку челов из МГУ и ВШЭ).
Аноним 24/02/22 Чтв 00:28:22 2305307 381
>>2305214
>>2305234
Раз уж тут обсуждение рнд и физтехов, то внесу ясность, как физтех, прошедший 3 крупных рнд + успешную институтскую лабу с компьютерным зрением.
1. Физтехи есть, но немного. Где они все - хз. В основном работают не по специальности типа банковскими аналитиками или кодерами.
2. В компании, где был прямо максимальный рисеч, было много людей вообще не из московских вузов (удивительно много сибиряков)
3. Мода нанимать "не ниже кандидата" прошла году в 2015, когда стало понятно, что рисеч тоже может приносить бабло, а людей не хватает.
4. На физтехов при этом многие смотрели с восторгом, хотя мы особо не выделялись из общей толпы. хотя я все-таки смог придумать клевый успешный алгоритм для своего направления. Наверно сейчас хэдквотер во всю его себе на девайсы адаптирует
Аноним 24/02/22 Чтв 18:03:16 2305743 382
Как мне подключить библиотеку к QT, я не понимаю в корне. Почему все так не понятно.
Вот есть
https://github.com/signal11/hidapi
библиотека, но там нет не lib, не dll, не а, ничего нет.
Что мне подключать? Как? у меня голова уже болит просто пиздец.
помогите пожалуйста я не смог найти ни одного адекватного гайда
Аноним 24/02/22 Чтв 18:17:17 2305752 383
Аноним 24/02/22 Чтв 18:17:50 2305753 384
Аноним 24/02/22 Чтв 19:58:50 2305781 385
>>2305743
>библиотека, но там нет не lib, не dll, не а, ничего нет.
Это исходный код библиотеки, в ридми есть описание того, как ее собрать.
Аноним 24/02/22 Чтв 20:39:38 2305802 386
>>2305743
>но там нет не lib, не dll
>Как
Очевишче yarn install ... и съеби
Аноним 25/02/22 Птн 02:26:54 2306017 387
А правда что после гос компаний на работу за границей не берут и обходят будто ты заразный?
Аноним 25/02/22 Птн 05:02:09 2306026 388
>>2306017
Это наоборот работает, если ты имел доступ к гостайнам ты несколько лет невыездной. Хотя какой смысл в эпоху интернета хз.
Аноним 25/02/22 Птн 08:18:26 2306042 389
>>2306026
Ну типо ты работал на агрессию, и вообще может быть шпион и хакер. Они даже после работы в касперском боятся брать. Но не говорят этого потому что на них можно подать в суд.
Аноним 25/02/22 Птн 08:33:35 2306044 390
>>2306017
В целом нет, но при оформлении рабочих виз могут быть доп проверки
Аноним 25/02/22 Птн 10:14:01 2306073 391
>>2305781
я не понимаю как ее собрать, тут даже Readme фаилы не в txt
Аноним 25/02/22 Птн 12:43:31 2306158 392
Я в полной фрустрации, как бы я не гуглил я ничего не нахожу дельного, о том как пользоваться ебаной библиотекой скачанной с git, как ее подключать если там нихуя нет, как ее собрать если нет нормального гайда, сидеть неделю изучать как работает Cmake, ради создания одного ебаного фаила .lib, сукааааааааааааа
Аноним 25/02/22 Птн 13:12:51 2306188 393
>>2306158
Добро пожаловать
Cmake - база, на которой вся индустрия сидит и да, придется жрать говно вместе со всеми

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

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

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

>>2303126
А разве это полностью заменит visual studio? Есть ли анализ участков кода на использование процессорного времени в вашей схесе есть? Мне иногда vs code + clang кидали странные ошибки, которые я потом только в visual stduio находил. Мне студия кидала heap corruption, а vs и clang просто "Вызвано исключение" и всё. А я голову ломал почему оно вызвано.
Аноним 26/02/22 Суб 23:32:59 2307200 417
>>2307195
Clion преспокойно заменяет никому не нужную помойную студию.
Аноним 26/02/22 Суб 23:35:49 2307201 418
>>2307200
Он жирный шо пиздец. Разница между Clion и vs небольшая. Переходить с vs на clion особого желания нет. Я вообще не уверен, что clion получше vs будет
Аноним 27/02/22 Вск 01:07:57 2307223 419
>>2307163
Нет. Точнее я не очень хорошо описал
Но прикол в том, что в такой архитектуре нет сервера. Там идеология такая, что выход одного компонента не должен выводить из строя другие
Это скорее шина, по которой гоняется словарь, где коючи - топик, а значение - очередь сообщений
С микроконтроллером соглы, но это не только в микроконтроллерах применяется. А везде, где нужен риалтайм. В примерах применения часто фигурируют финансовые системы
Аноним 27/02/22 Вск 01:48:59 2307235 420
>>2307223
Так у тебя устройства по сетке общаются или физически к одному хосту прицеплены? Если к одному хосту и на лялексе, то могут и через shared memory общаться или пайпы. Зачем тебе сокеты то?
Аноним 27/02/22 Вск 02:19:39 2307240 421
>>2307138
Бумеры изобрели брокер сообщений.
Аноним 27/02/22 Вск 06:41:05 2307264 422
Аноним 27/02/22 Вск 09:36:44 2307283 423
>>2307201
Ну тогда иди нахуй. Серьёзно, я предложил тебе набор крестоджентельмена, что тебе ещё сказать?
Аноним 27/02/22 Вск 13:40:31 2307446 424
>>2307200
> топ1 инструмент
> помойная студия ряя мам когда мы мне новый ноутпук для учебы купим?
Аноним 27/02/22 Вск 14:39:54 2307486 425
>>2307446
Ты какую-то мысль хотел донести или просто не смог мимо пройти и не спиздануть ничего?
Аноним 27/02/22 Вск 17:53:34 2307649 426
>>2307486
да, мысль в том, что обоссаным студентикам не пристало определять, что не нужно, а что нужно. По-этому, пожалуйста, не определяй.
Аноним 27/02/22 Вск 19:36:13 2307683 427
>>2307649
>обоссаным студентикам
Так может тебе стоило штаны спустить прежде чем на горшок садиться?
Аноним 28/02/22 Пнд 09:03:29 2307949 428
mcpp.png 58Кб, 1810x404
1810x404
В одной статье на хабре наткнулся на такую фразу, что постепенно все идет к полному удалению препроцессора и соответственно его директив.
По многим понятно, но на что можно заменить те же директивы условий, когда например при одной битности нужно определить тип как 32 бита, а при другой как 64 бита и другие такие штуки
И вроде как тоже препроцессор удаляет токены типа комментариев и тому подобное, как совсем без него-то?
Аноним 28/02/22 Пнд 10:18:47 2307974 429
Аноним 28/02/22 Пнд 12:10:16 2308060 430
>>2307949
Compile-time хуйня останется за препроцессором.
Аноним 28/02/22 Пнд 12:26:52 2308080 431
>>2307974
> ряяя хабр помойка потому что русек
Аноним 28/02/22 Пнд 12:38:54 2308087 432
>>2308080
Нет, хабр помойка потому что давно не тот.
Аноним 28/02/22 Пнд 12:42:20 2308090 433
>>2308060
Ну т.е. я так понял, что только include поменять на модули вместо define value использовать enum, а вместо define fn() использовать inline, а остальное также?
Аноним 28/02/22 Пнд 12:53:53 2308097 434
>>2308090
Замены проверок препроцессора они не подвезли? Тогда никак.
Аноним 28/02/22 Пнд 20:44:49 2308413 435
>>2307949
учитывая скорость развития крестов лет через 50 вполне реально
Аноним 28/02/22 Пнд 22:37:32 2308493 436

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

https://godbolt.org/z/vWG7sn3sr
Даёшь зависимые типы в плюсы!
Аноним 01/03/22 Втр 23:20:22 2309085 447
Аноним 01/03/22 Втр 23:32:08 2309087 448
Аноним 02/03/22 Срд 00:52:46 2309110 449
>>2309087
Но это намного менее интересно, а главное - слишком просто.
Аноним 02/03/22 Срд 01:16:30 2309116 450
>>2309110
Паты выше бинарны, а эта небинарна и абсолтно трансгендерна портируема.
Аноним 02/03/22 Срд 01:17:37 2309117 451
>>2309110
Путь С++: почему всё должно работать просто, если может работать причудливо?
Аноним 02/03/22 Срд 09:39:36 2309164 452
>>2309116
Я показал это лишь как пример того, как можно заменить препроцессорное определение средствами языка. Но именно для этого случая я бы, в зависимости от конкретной ситуации:
1) Обмазался бы ифдефами
2) Создал бы две структуры (FooBar32 и FooBar64)
3) Сделал бы два различных .cpp файла и выбирал бы нужный системой сборки
Аноним 02/03/22 Срд 11:10:17 2309211 453
>>2309164
Ты графоманией занимаешься вместо разработки.
Аноним 02/03/22 Срд 11:31:18 2309242 454
Сап аноны, есть один язык программирования, основанный на С, но с урезанными функциями.
Дело в том что float здесь 8 байт. Я читаю из бинарного файла число с плавающей точкой 4 байта. Как мне преобразовать 4 байта в 8?
Аноним 02/03/22 Срд 12:30:04 2309317 455
>>2309242
float 4 байта, double 8 байт.
Аноним 02/03/22 Срд 12:39:48 2309324 456
>>2309317
Нет, здесь и флот и добл 8 байт.
Аноним 02/03/22 Срд 12:42:52 2309328 457
>>2309324
Что за язык? Почему float и double 8 байт? Зачем тогда в нем такое различие, на float и double, если у них одинаковые размеры?
Аноним 02/03/22 Срд 12:46:22 2309332 458
short float
float
long float
long long float
unsigned float
Аноним 02/03/22 Срд 12:49:52 2309335 459
>>2309332
Мне кажется их не существует.
Аноним 02/03/22 Срд 13:10:41 2309345 460
>>2309328
> Что за язык?
Control
> Почему float и double 8 байт? Зачем тогда в нем такое различие, на float и double, если у них одинаковые размеры?
Я не знаю. Даже в мануале написано, что между ними никакой разницы.
Аноним 02/03/22 Срд 13:24:41 2309351 461
>>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 2309482 462
Хочу написать приложение, которое можно будет легко адаптировать для разных протоколов связи. То есть есть данные, их надо отправить одним из некоторых способов. Может быть как отправка через tcp/ip, tor, i2p, какой то свой произвольный формат, хоть по usb. И вот хочется сделать какой то единый интерфейс для всего этого. Можно ли как то это обобщить все, кроме использвания какой то функции send, которая внутри себя уже просто вызовет другую соответствующую выбранному протоколу?
Аноним 02/03/22 Срд 17:08:11 2309504 463
Аноним 02/03/22 Срд 17:10:08 2309507 464
>>2309482
>tcp/ip, tor, i2p
>обобщить все, кроме использвания какой то функции send
Как ты собрался реализовывать абстракцию между несовместимыми конечными адресами?
Аноним 02/03/22 Срд 17:18:32 2309510 465
Аноним 02/03/22 Срд 18:16:28 2309552 466
Аноним 02/03/22 Срд 18:26:59 2309566 467
Аноним 02/03/22 Срд 18:39:20 2309579 468
>>2309566
Ну как? Я вот пока не знаю, поэтому к вам пришел за советом
Аноним 02/03/22 Срд 18:39:48 2309581 469
Аноним 02/03/22 Срд 18:45:14 2309589 470
>>2309579
В чем именно у тебя проблема?
Аноним 02/03/22 Срд 19:16:18 2309613 471
>>2309589
Нет идей кроме как расписывать передачу ручками для каждого протокола
Аноним 02/03/22 Срд 19:21:27 2309617 472
Аноним 02/03/22 Срд 19:25:37 2309620 473
Снимок экрана 2[...].png 469Кб, 1840x430
1840x430
Найс
Аноним 02/03/22 Срд 19:29:11 2309624 474
>>2309620
Проблемы форточников.
Аноним 02/03/22 Срд 19:33:15 2309626 475
>>2309617
Ну ты же сделал, то о чем я и говорил выше. Есть одна функция, которая уже из себя вызывает нужные для конкретного протокола. А я спрашивал можно ли сделать это элегантнее и с минимумом дублирования кода.
Аноним 02/03/22 Срд 19:34:34 2309627 476
>>2309626
Какое у тебя может быть дублирование кода, когда у тебя все протоколы разные?
Аноним 02/03/22 Срд 19:39:59 2309633 477
>>2309627
Они могут быть похожи. Некий тор и i2p кажется можно вообще как прокси юзать, тогда интерфейс будет вообще одинаковым, а можно ручками api дергать.
Аноним 02/03/22 Срд 19:41:58 2309638 478
Аноним 02/03/22 Срд 19:46:07 2309642 479
>>2309638
Это что, инсталлятор для лялеха? Зачем не из репозиториев ставить?
Аноним 02/03/22 Срд 19:48:01 2309645 480
>>2309633
>Некий тор и i2p кажется можно вообще как прокси юзать
Если они у тебя установлены в системе, да. Тогда вообще никаких проблем с дублированием не будет, просто создай какую-нибудь функцию, типа connect_to_local_socks(port) и указывай порт для каждого локального прокси в зависимости от тора или айтупи. Дублирования нет.
Аноним 02/03/22 Срд 20:36:51 2309670 481
Ребят, я по ravesli знаю, что говно, не кидайтесь камнями говном пытаюсь учить плюсы. Сайт сейчас отключили, есть у кого-нибудь их pdf-ка, или локально сохранённая копия сайта? Буду очень благодарен.
С вебархива тоже выпилили, прям грусть-тоска.

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

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

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

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

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

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

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

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

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



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

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

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

Можно как-то без этого заставить компилиться?
Аноним 03/03/22 Чтв 14:14:14 2310130 509
image.png 33Кб, 577x622
577x622
Аноним 03/03/22 Чтв 14:21:50 2310132 510
image.png 39Кб, 736x689
736x689
>>2310130
Эм, ок, сорри, не подумал так сделать, вроде работает. Хотя блин странно, это баг что ли какой-то, он причём и в кланге, и в гцц есть
Аноним 03/03/22 Чтв 15:30:40 2310162 511
>>2310132
Это не баг, а основы языка.
Аноним 03/03/22 Чтв 17:17:13 2310227 512
>>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 2310251 513
Привет, анон. Помоги, пожалуйста радиоинженеру, которому внезапно понадобилось написать немного обработки сигналов на 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 2310268 514
>>2310251
>The program has unexpectedly finished.
Собери отладочный билд и запусти под отладчиком, такое сообщение вообще не информативное.
Аноним 03/03/22 Чтв 20:08:48 2310336 515
>>2310227
Тебе компилятор написал, что {} в твоём контексте это <brace-enclosed initializer list>. Открываешь гугл и смотришь что такое initializer list и какой у него приоритет при перегрузке. Как тебе раньше ответили - это база.
Аноним 03/03/22 Чтв 20:41:51 2310347 516
Как мне передать объекту который я создал в QtDesigner сигнал из потока отдельного? К чему обратиться?
Аноним 03/03/22 Чтв 21:25:59 2310381 517
image.png 51Кб, 1455x666
1455x666
image.png 204Кб, 1611x725
1611x725
>>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 2310504 518
>>2310381
>Почему на 14 строке я могу спокойно написать:
В ссылке, которую ты скинул, есть объяснение.

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

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

Мы в хуавее еще до этой заварухи сильно изучали этот список, и выяснили, что ИИ это прямо на грани. И даже некоторые проекты типа manifold learning пришлось не запускать от греха подальше.
Аноним 05/03/22 Суб 22:49:34 2311583 527
>>2311567
Ничего не понял. Чьи, кому передавать? Самим себе из хуавея в хуавей?
Аноним 05/03/22 Суб 22:49:45 2311584 528
>>2311415
этот заполнятель эксель табличек уже сьебал из рассеюшки и уже обустраивается на новом месте
ничего, сейчас крыса придет в себя и отпишется через месяц-другой
Аноним 05/03/22 Суб 22:52:43 2311587 529
>>2311567
Имеется в виду, что вы хантите челиков из российских компаний, они сливают вам технологии и вы их передаёте далее как свои "разработки"?
Аноним 05/03/22 Суб 22:53:35 2311588 530
>>2311583
Твой код, российского инженера, из Москвы за границу летит по проводу к китайцам. Вот в этот момент происходит экспорт. И вот какой конкретно код и для чего он написан определяет законность пересечения этой границы.
Аноним 05/03/22 Суб 23:21:49 2311606 531
Аноним 06/03/22 Вск 07:14:38 2311681 532
>>2311606
>Почему A? Почему не B?
Потому что код говно, которое даже кодеру не ясно, что ты хотел сделать.

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

во-вторых, если ты оставишь двойные фигурные скобки, но уберёшь из B конструктор, который принимает A, то увидишь ошибку, что типа no known conversion '<brace-enclosed initializer list>' to 'const B&'
Аноним 06/03/22 Вск 13:10:48 2311777 534
>>2300158
Все там есть (для тех же кортекс М), просто без MMU использование может быстро привести к сильной фрагментации памяти. Дурной тон, конечно использовать, но если очень хочется - можно, нужно только о кастомных аллокаторах позаботиться.
Аноним 06/03/22 Вск 13:11:09 2311779 535
>>2300158
Все там есть (для тех же кортекс М), просто без MMU использование может быстро привести к сильной фрагментации памяти. Дурной тон, конечно использовать, но если очень хочется - можно, нужно только о кастомных аллокаторах позаботиться.
Аноним 06/03/22 Вск 13:17:30 2311781 536
>>2308990
Спасибо
с с++ 98 grandfather inside
Аноним 06/03/22 Вск 17:04:51 2311905 537
Тред хоть и мёртвый, но пожалуй спрошу.
Есть класс 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 2311922 538
Аноним 06/03/22 Вск 17:40:45 2311924 539
>>2311905
>>2311922
В дополнение, typedef использовать в C++, то же самое, что есть говно.
Аноним 06/03/22 Вск 17:48:28 2311929 540
>>2311924
Какой язык, такие блюда.
Аноним 06/03/22 Вск 18:15:49 2311951 541
>>2311584
Съебал в связи с последними событиями или раньше? Съебал в другой офис nvidia?
Аноним 06/03/22 Вск 18:21:45 2311954 542
>>2311415
На момент последней коммуникации в четверг - Офис остается для всех желающих в нем работать. Все остальные желающие сьебать - имеют право сьебать в любой офис NV.

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

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

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


Аноним 07/03/22 Пнд 21:11:39 2312641 551
Аноним 07/03/22 Пнд 22:02:47 2312683 552
>>2312547
Когда мой эксель и батники оплачиваются в несколько раз лучше, чем твой С++ - это лишь повод задуматься о собственной карьере, а не завидовать мне.
Аноним 07/03/22 Пнд 22:10:17 2312686 553
image.png 56Кб, 1092x621
1092x621
>>2312641
Я просто нажал Build в 22 студии (правда тулзы от 19 стоят тоже, солюшен на 22 не грейдил) - и все собралось.
Аноним 07/03/22 Пнд 22:11:24 2312687 554
>>2312641
Нужно качать интеллект. А ещё эксель и батники.
Аноним 08/03/22 Втр 00:01:39 2312728 555
>>2312683
я тебе не завидую, щенок
уебывай со страны
Аноним 08/03/22 Втр 04:09:14 2312788 556
>>2312728
Мало того, что завидуешь, так еще и горишь, хихи
Аноним 08/03/22 Втр 17:15:21 2313003 557
image.png 40Кб, 1375x428
1375x428
>>2312686
Анон, пытался собрать на двух разных машинах, и там и там ошибка одинаковая. Что я делаю не так?
Аноним 08/03/22 Втр 17:17:11 2313005 558
>>2313003
Detours вроде x64 не поддерживает бесплатно, а только за деньги.
Могу ошибаться.
Аноним 08/03/22 Втр 17:20:12 2313007 559
Аноним 08/03/22 Втр 17:27:14 2313010 560
>>2313007
насколько я понял с тех пор как они выкатились в опенсорс они стали полностью бесплатными. Анон выше, судя по скрину, билдил под x64, у меня и под x86 ошибка вылетает.
Аноним 08/03/22 Втр 17:56:12 2313032 561
image.png 85Кб, 1072x621
1072x621
Аноним 08/03/22 Втр 18:08:22 2313041 562
Аноним 08/03/22 Втр 18:09:11 2313042 563
>>2313032
ты просто открыл солюшен и нажал "собрать"? Не менял ничего вообще?
Аноним 08/03/22 Втр 18:21:26 2313046 564
Аноним 08/03/22 Втр 18:21:52 2313047 565
>>2313041
сейчас попробую. Кстати, может мне надо какие-то дополнительные средства сборки накатить? Я когда vs ставил, оставил по дефолту все что качается для разработки на крестах
Аноним 08/03/22 Втр 18:22:31 2313048 566
>>2313047
Хз, студию видел последний раз лет 5 назад.
08/03/22 Втр 19:28:19 2313061 567
>>2312788
я тебе добро делаю, сжимаю твои булки, это тебе пригодиться ближайшее время

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

Аноним 08/03/22 Втр 19:30:11 2313065 569
лень гуглить просто
08/03/22 Втр 19:32:00 2313066 570
Никуда.
Аноним 08/03/22 Втр 19:44:36 2313076 571
image.png 270Кб, 540x360
540x360
>>2313066
>Никуда
о, хорошее место, в таких местах всегда нужны специалисты в ничегонеделании

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

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

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

> CMake
Можно.

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

Прикол в том,что у меня почему-то в строку вместо букв записываются '\0' . Почему так? Новый проект создавал,в онлайн компилятор вставлял,везде одно и то же.
Аноним 12/03/22 Суб 21:22:01 2315606 599
В бусте для отправки данных, подключений и тд и тп используются async connect, async write и подобное. Ну я так понимаю, что boost как то внутри себя решает когда данные отправлены, но ответ еще не пришел, что можно пока отправить что-то на другой сокет. Ну ок, а когда операция завершается и управление передается в мою функцию, то что происходит тогда? Каким образом выполнение идет в моей функции? Все кроме async'ов стопится или как?
Аноним 12/03/22 Суб 21:22:28 2315607 600
>>2315603
>18 строка
>else if (str = ' ' && sgn) {
Возможно проблема в этом.
Аноним 12/03/22 Суб 21:23:23 2315609 601
>>2315606
То есть если у меня есть async_connect1, on_connect->f1(), то же самое с f2, где f1 и f2 долгие функции. Если начнет выполнятся f1, то f2 уже не сможет и будет ждать или как?
Аноним 12/03/22 Суб 21:28:29 2315611 602
>>2315603
Ёбаный рот этого Си Плас Плас.
Опять присвоение вместо равенства,которое не обрабатывается как исключение
Спасибо
Аноним 12/03/22 Суб 21:29:43 2315612 603
>>2315611
> Опять присвоение вместо равенства,которое не обрабатывается как исключение
А почему оно должно обрабатываться как исключение? Это вполне себе нормальное выражение, которое имеет определённое значение.
Аноним 12/03/22 Суб 21:29:54 2315613 604
>>2315611
КАжется, что нельзя строки сишные так сравнивать.
Аноним 12/03/22 Суб 21:30:23 2315614 605
>>2315613
То есть можно, но оно работает не так как ты ожидаешь
Аноним 12/03/22 Суб 21:32:04 2315615 606
>>2315614
В коде сравнение идет символов, а не строк.
Аноним 12/03/22 Суб 22:13:15 2315627 607
I understand yo[...].jpg 100Кб, 500x500
500x500
>>2315611
Используй варнинги (ВСЕ), линтеры, clang-tidy, статические анализаторы, динамические анализаторы и всё остальное. Хреново, но щито поделать.
Аноним 12/03/22 Суб 23:05:20 2315637 608
>>2315612
Вот как раз хотел спросить,а в чем смысл? Зачем нужно присвоение в условиях и циклах while?
Аноним 12/03/22 Суб 23:11:57 2315638 609
>>2315637
Иногда короче писать сразу в for, нежели ниже
Аноним 12/03/22 Суб 23:19:48 2315639 610
>>2315637
Ну а если строго, то в языке просто есть expressions, statements и еще вроде что то. В стандарте написано, что на таком то месте в for может стоять такой тип. С точки зрения языка нет разницы там i++ или что то другое. Я так сходу и не приведу пример когда это прям гораздо удобнее
Аноним 12/03/22 Суб 23:38:13 2315650 611
>>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 2315654 612
>>2315650
>то есть переменным x и y присваивается значение z, потому что равно правоассоциативно
вернее этот код эквивалентен
y = z;
x = y;
проебался
потому что из оператора = возвращается ссылка на то, к чему присваивается какое-то значение ("y = z" вернёт ссылку на y)
Аноним 13/03/22 Вск 00:47:27 2315670 613
Короче такая тема: программа должна уметь соединяться с сервисом через i2p, либо же просто tcp. Я не знаю как лучше разбить программу на файлы. Хотел бы файлик в котором все функции за сеть отвечают. Начал так делать, но столкнулся с проблемой: для i2p нужкн конфиг с настройками, а где этот конфиг хранить не понятно. Как у дедов файлик и перезагружать приложение после каждого изменения чет такое)) А создать глобальный конфиг на всю программу тоже не понятно как. Да и как то странно
Аноним 13/03/22 Вск 07:33:05 2315705 614
>>2315670
>для i2p нужкн конфиг с настройками, а где этот конфиг хранить не понятно
Там же где их хранят все нормальные люди, "$HOME/.config/app", "/etc/app", "%APPDATA%/app", "Program FIles/app" и т. д..

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

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


Аноним 13/03/22 Вск 19:32:44 2316135 620
Дайте пожалуйста ссылку на объяснение действий, при которых вектор копируется, копируется только ссылка, или перемещается, и подводные камни всего этого
Аноним 13/03/22 Вск 19:34:19 2316137 621
>>2316135
>Дайте пожалуйста ссылку на объяснение действий
Поисковики под санкциями?
Аноним 13/03/22 Вск 19:40:41 2316144 622
Аноним 13/03/22 Вск 19:45:41 2316147 623
Есть проект пизженный с гитхаба. Там в одном файле инклудится другой, находящий вообще в хуй знает какой папке. Я в clang++ прописал --include-directory="...", но нихуя не помогло. Че делать?
Аноним 13/03/22 Вск 19:47:09 2316149 624
>>2316147
>Есть проект пизженный с гитхаба.
>Че делать?
Использовать систему сборки, которая там есть, а если нет, то читать ридми.
Аноним 13/03/22 Вск 19:53:29 2316155 625
>>2316147
Молиться, что не придётся эти файлы искать и копировать вручную.
Аноним 13/03/22 Вск 20:05:52 2316159 626
>>2316144
Хрень гуглится какая-то в основном.
Аноним 13/03/22 Вск 21:21:03 2316199 627
Хелпаните, плез. Я целый день сижу, дрочусь с этим. Мне нужно https://github.com/PurpleI2P/i2pd отсюда использовать пару функций. Если точнее, то из файла SAM.h мосты создать. Там конечно, есть инструкция как собирать, но мне не надо весь проект собирать. Я пытался просто ручками поинклудить и компильнуть из консоли, но оно ругается на функции, которые используются в какой то там библиотеке и хз что делать дальше
Аноним 13/03/22 Вск 21:23:48 2316200 628
>>2315444
> шелупонь типо массивов
Статисеское и динамическое выделение памяти под массив - это уже достаточно специализированно?
Аноним 13/03/22 Вск 21:26:09 2316203 629
>>2316199
boost прилинкуй к нему и зависимые исходные файлы добавь в сборку.
Легче целиком собрать, чем такой хуйней заниматься.
Аноним 13/03/22 Вск 21:28:02 2316205 630
Аноним 13/03/22 Вск 21:31:40 2316207 631
>>2316203
>>2316205
А вот как? Я до этого всю жизнь в консоли писал cpp которые нужно компилировать вместе с проектом. Я же не могу руками все файлы из буста в параметры компиляции передать. Максимум папку для поиска инклудов
Аноним 13/03/22 Вск 21:32:30 2316208 632
Аноним 13/03/22 Вск 21:37:51 2316211 633
>>2316208
Я собрать сначала cmake'ом ту либу, а потом o файлы нужные передать компилятору? Ты же об этом или нет?
Аноним 13/03/22 Вск 21:43:13 2316214 634
Аноним 13/03/22 Вск 21:46:57 2316216 635

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

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

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

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

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

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

Я не понимаю как решить без огромного дерева ифов,буду благодарна за любую подсказку
Аноним 15/03/22 Втр 12:59:25 2317062 661
>>2316955
> Я не понимаю как решить без огромного дерева ифов,буду благодарна за любую подсказку
Сколько в дереве листьев будет?
Аноним 15/03/22 Втр 14:24:04 2317108 662
Аноны, покормите с ложечки: с чем стоит ознакомиться перед изучением C++ SICP из F.A.Q. треда?? Хочу вкатиться. Опыта 0.
Аноним 15/03/22 Втр 14:39:33 2317114 663
>>2317108
Иначе говоря, где roadmap'ы эти ваши взять?
Аноним 15/03/22 Втр 15:55:13 2317153 664
>>2317108
Не вкатывайся лучше в C++.
Аноним 15/03/22 Втр 16:10:20 2317161 665
>>2317108
Ознакомиться с зарплатами и рынком труда. Понять что ты на C++ делать собрался.
Аноним 15/03/22 Втр 16:56:31 2317192 666
Я хотел скомпилить через 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 2317199 667
>>2317192
Попробуй зависимости от Qt прилинковать.
Аноним 15/03/22 Втр 17:14:43 2317214 668
>>2317199
Да, забыл qtcore, спасибо
Аноним 15/03/22 Втр 17:24:19 2317217 669
>>2316955
https://0bin.net/paste/EhNZyicJ#rvo91OXdaTkwlDF0QcxjYlYJ3S1AWcVIMc5vVtfIh-A

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

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

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

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

Исправь, что не так
Аноним 15/03/22 Втр 21:48:26 2317403 682
>>2317379
>Но к другим языкам так не тянет почему-то
C++ - худший язык, на уровне жабы, что тебя в нем тянет, камень на шее?
Аноним 15/03/22 Втр 21:54:51 2317409 683
>>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 2317412 684
>>2317379
Андроид это в основном Kotlin или Java. Мобильного софта с большими нагрузками не так много, где бы вот прям надо было на C++ пилить.

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

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

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

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

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

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

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

>Как я понял, начинать советуют везде с C, т.к. он более приближен к аппаратной части, почему бы тогда сразу не начать с плюсов? Если не С, какие еще варианты есть?
Go, но после него, ты не захочешь писать на C++. C и C++ не имеют никакой связи, у C++ есть небольшая обратная совместимость, но не более. Программирование на C, дает тебе понимание, как работает система и код, который ты пишешь, внутри.
Аноним 16/03/22 Срд 01:19:46 2317492 700
>>2317473
>но с кучей не самых удобных для использования оберток, реализаций, конструкций
Например? Вроде же наоборот плюсы идут в сторону упрощения жизни: концепты вместо сфинае, constexpr вместо метапрограмм, PMR вместо C++11 аллокаторов.
Аноним 16/03/22 Срд 01:39:14 2317497 701
>>2317492
>Вроде же наоборот плюсы идут в сторону упрощения жизни: концепты вместо сфинае, constexpr вместо метапрограмм, PMR вместо C++11 аллокаторов.
Даже в твоем уточнении видно, что C++ слишком перегруженный и выглядит, как вечный тестовый язык, в который добавляют что-то, если не нравится удаляют, но удаление заключается в создании новой версии.
Такой пример подойдет?
Аноним 16/03/22 Срд 02:15:37 2317507 702
>>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 2317514 703
>>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 2317537 704
>>2317514
Ну так типичный проект состоит из мешанины вот этого всего. И "можно не знать" обычно не прокатывает. С кодом на С линковаться надо, дорабатывать написанный код надо, последний стандарт принесут пориджи, ибо другого они просто не знают. Крупные конторы пытаются с этим бороться, составляя целые документы что можно, а что нельзя.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А вообще - в нашем конкретном случае с этим проблем не будет, специфика софта.
Аноним 18/03/22 Птн 20:33:49 2319087 746
>>2319031
похуй. абсолютно.
я твою мамку кстати ебал своим питоном
Аноним 18/03/22 Птн 21:24:10 2319116 747
image.png 57Кб, 1407x751
1407x751
https://godbolt.org/z/7MKzznxEE
У меня есть пикрил код, он работает в годболте, но когда пробую скомпилить локально у меня выдаёт код ошибки -1073741571 (винда, судя по ответам в интернете стак оверфлоу), я не понимаю, вроде mingw gcc 11.2 компилятором компилю тоже -O2, но стек переполняется, почему бля.. Как понять что не так без залезания в асемблер я слишком тупенький для этого
Аноним 18/03/22 Птн 21:30:51 2319121 748
>>2319116
А под линуксом (wsl) всё норм работает... Блять ладно в пизду, походу нельзя на хвостовую рекурсию в плюсах полагаться
Аноним 18/03/22 Птн 21:52:19 2319129 749
>>2319121
>нельзя на хвостовую рекурсию в плюсах полагаться
Да.
Аноним 18/03/22 Птн 21:59:56 2319133 750
>>2319008
>Голанг не может в десктопы, у шарпа с переносимостью хуево.
Так может у них вообще десктопа нет? Тогда зачем им С++, когда можно на говноланг или шарп все переписать? Писать код на шарпе в разы проще и приятнее, чем на плюсах.
Аноним 18/03/22 Птн 22:01:05 2319136 751
>>2319116
Интересно, с какого языка пикрел перешел
Аноним 18/03/22 Птн 23:04:01 2319164 752
С линукса для винды только mingw что ли компилит?
Аноним 19/03/22 Суб 02:29:35 2319219 753
>>2319164
Шланг еще. А если у тебя СИМЕЙК и код без корявой хуйни - то и студия компилять будет
Аноним 19/03/22 Суб 02:37:12 2319224 754
>>2319219
А чому так? Я думал почти все компиляторы по умолчанию умеюи в разные ос
Аноним 19/03/22 Суб 02:44:24 2319227 755
>>2319219
А может и не будет, если там Посекс.
Аноним 19/03/22 Суб 03:18:04 2319230 756
>>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 2319231 757
>>2319230
Так не, я немного о другом. Пусть у меня есть просто файлы без зависимостей всяких. И вот как я понял я не могу будучи на линуксе получить на выходе exe, если не использую то что написал выше.
Аноним 19/03/22 Суб 03:25:02 2319232 758
>>2319231
Не, ты можешь собрать, если напишешь makefile или через консольку последовательно команды введёшь. Проблема будет, если в коде есть вызовы системного API (WinApi или POSIX).
Аноним 19/03/22 Суб 03:30:33 2319233 759
>>2319232
Я чет не нагуглил как с gcc под винду скомпилить. Да, имею ввиду случай, когда я ручками указываю все cpp и получаю исполняемый файл без всяких cmake и прочего. И в случае, когда я явно не использую api специфичное
Аноним 19/03/22 Суб 03:42:43 2319236 760
>>2319231
А, я понял, ты хочешь под лялексом сделать exe и потом его запускать на win. Тогда тебе нужен не штатный gcc из linux, а кросс-компилятор (придётся поставить на линукс mingw-w64 и использовать компилятор из него).
Аноним 19/03/22 Суб 03:45:54 2319239 761
>>2319236
Ну так я спрашиваю почему компиляторы по дефолту не умеют в разные ос
Аноним 19/03/22 Суб 08:14:49 2319257 762
>>2319239
Зачем тащить оверхед для разных ос? Почему именно ос есть же другие архитектуры, почему для них не надо тащить? Будет компилятор размером 20гб удобно.
Аноним 19/03/22 Суб 08:18:27 2319258 763
>>2319133
>Так может у них вообще десктопа нет?
Тогда кресты были ошибкой изначальной.
Аноним 19/03/22 Суб 13:25:34 2319352 764
>>2319239
В итоге получится компилятор огромных размеров. А ещё есть проблемы с лицензиями, интеллектуальной собственностью и банально конкуренцией. Microsoft и Apple не хотят раскрывать свои исходники и делают только под себя.
Аноним 19/03/22 Суб 13:26:46 2319353 765
>>2319352
>Microsoft и Apple не хотят раскрывать свои исходники и делают только под себя.
???
Аноним 19/03/22 Суб 13:55:41 2319366 766
>>2319353
Чё сказать то хотел?
Аноним 19/03/22 Суб 13:59:37 2319368 767
Аноним 19/03/22 Суб 14:35:45 2319378 768
>>2319368
К теме про 100500 компиляторов от разных вендоров и под разные платформы.
Аноним 19/03/22 Суб 18:01:51 2319470 769
Аноним 19/03/22 Суб 19:37:23 2319505 770
Почему разработчики стандарта за 20 лет не смогли выпустить нормальную библиотеку форматированного вывода?
Аноним 19/03/22 Суб 19:40:47 2319507 771
>>2318291
> A Tour of C++ лучше
Лучше. Старый пидорас таки умеет не лить воду и писать кратко.
Аноним 19/03/22 Суб 19:40:51 2319508 772
>>2319505
Что подразумевается под форматированным вводом/выводом?
Аноним 19/03/22 Суб 19:42:05 2319509 773
>>2319508
print("foo: {}, bar: {}, baz: {}", a, b, c)
Аноним 19/03/22 Суб 19:43:33 2319510 774
Аноним 19/03/22 Суб 19:44:35 2319511 775
>>2319510
Ты вопрос изначальный прочитай.
Аноним 19/03/22 Суб 19:45:20 2319512 776
>>2319511
Нахуя это пилить? Имхо, польза сомнительная
Аноним 19/03/22 Суб 19:47:34 2319513 777
>>2319512
Так почему оно во всех других языках есть?
C#, Java, Rust, Go, в остальных просто лень проверять.
Аноним 19/03/22 Суб 19:50:44 2319515 778
>>2319509
Зачем использовать printf-like функции в C++, когда есть поточный вывод?
Аноним 19/03/22 Суб 19:53:39 2319516 779
>>2319515
Потому поточный вывод неудобный? Что легче: написать форматную строку, а после неё просто расставить все объекты, или ебаться с переключением состояний обоссаного cout'а?
Аноним 19/03/22 Суб 19:55:37 2319517 780
>>2319516
Какие ты состояния переключать собрался?
Аноним 19/03/22 Суб 19:57:04 2319518 781
>>2319516
>Потому поточный вывод неудобный?
Да.

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

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

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

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

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



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

Самое смешное происходит тогда, когда через годы ты понимаешь что так писать не обязательно. И ты себя при этом ни в чем не ограничишь.
Аноним 20/03/22 Вск 18:04:05 2320022 818
>>2320017
>Хотя бы потому что любой осмысленный кусок памяти в твоем компьютере имеет тот или иной формат, а лишая себя знаний о том что там хранится ты подвергаешь себя и других программистов разбирающих этот код возможности ошибиться на этот счет.
Тип void , в Си можно преобразовать в указатель на любой тип, иначе тебе бы пришлось писать function((type )param) или отключать варнинги.
Аноним 20/03/22 Вск 18:04:53 2320023 819
Аноним 20/03/22 Вск 18:09:34 2320024 820
>>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 2320026 821
>>2320022
Преобразование из одного типа в другой в нормальных языках реализуется одной строчкой.

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

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

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

про лямбды забыл:    ([](){})();
Аноним 20/03/22 Вск 18:33:34 2320048 824
>>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 2320057 825
>>2319992
> >И? Эта обёртка даст столько удобства, сколько ни один программист на Си в жизни не видел.
> Никакого.
Сейчас ты присылаешь код в котором делаешь конкатенацию двух строк неопределенного размера в Си и при этом не обсираешь себе штаны. Я жду.
Аноним 20/03/22 Вск 18:47:58 2320058 826
>>2320048
>>2320026
На С деды давно сделали СОМ с интерфейсами типа IUnknown и т.д.
И вообще эта динамикопараша переизобретается регулярно.
Аноним 20/03/22 Вск 18:59:20 2320067 827
>>2320057
>Сейчас ты присылаешь код в котором делаешь конкатенацию двух строк неопределенного размера в Си и при этом не обсираешь себе штаны. Я жду.
https://0bin.net/paste/vv6ouKYt#6fVwAA-y02tUNvVSGZrSbuONS2DSkNmknU9mSfuJgee

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

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

мимо

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

Какие у C++ есть достоинства? Безграничный стандарт?
Аноним 20/03/22 Вск 19:51:37 2320099 833
>>2320098
>в твоем копировании
в твоей конкатенации
Аноним 20/03/22 Вск 19:55:33 2320102 834
Нахуя кормите?
Аноним 20/03/22 Вск 19:56:28 2320104 835
>>2320067
Чел, ты же толсто нас троллишь. Ты сам не видишь в этом пиздеце проблем?
Аноним 20/03/22 Вск 19:59:12 2320107 836
Аноним 20/03/22 Вск 20:00:10 2320108 837
>>2320098
У твоей мамки много достоинств
Аноним 20/03/22 Вск 20:02:03 2320110 838
>>2320108
>У твоей мамки много достоинств
C++кодер пытается в разговор.
Аноним 20/03/22 Вск 20:02:23 2320111 839
>>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 2320112 840
>>2320098
лол, в худшем случае динамической памяти выделится столько же, сколько и у тебя, в лучшем - будет SSO, который твой велосипед офк не делает

про копирование бред какой-то
Аноним 20/03/22 Вск 20:04:17 2320113 841
>>2320098
>А если памяти не хватит, исключение или аборт?
А что ты в программе сделаешь, если у тебя памяти не хватит?
Аноним 20/03/22 Вск 20:15:14 2320117 842
>>2320111
>Такой же по накладным расходам как &.
Такой же по накладным расходам как ✱.
Аноним 20/03/22 Вск 20:16:14 2320118 843
>>2320024
> Писали бы на чем-то другом, но мешает слишком большой объем кода на плюсах, который очень дорого переписать на другой язык и который неудобно использовать в других языках. Какой-то приличный FFI есть только с C, кто бы что не пытался с этим сделать.
Получается правда с++ лучше не учить сейчас?
Аноним 20/03/22 Вск 20:18:03 2320121 844
>>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 2320127 845
Аноним 20/03/22 Вск 20:30:01 2320135 846
>>2320121
>преобразование char * в std::string
Ты не показал что там 2 выделения и 2 копирования. Просто сказал бездоказательно.
>Далее, если ты захочешь их "сумму" другой строке std::string = std::string + std::string, то произойдет еще 2 копирования и 1 выделение памяти
А как тут должно быть? Если тут три строки в результате из двух то так и должно быть. Если ты хочешь к первой прибавить вторую. То есть у тебя всего две строки. То произойдет 1 реаллок первой и в нее 1 раз скопируется вторая.
20/03/22 Вск 20:42:33 2320150 847
>>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 2320156 848
>>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 2320166 849
>>2320127
>Там юнион в структуре занимает `sizeof(int) x 2`
Что поделать, раньше не было никаких абстрактных классов, наследования и шаблонов.
>а вообще пример не понятен.
Хоть я и не программист на Си или С++, но даже я догадался https://godbolt.org/z/WxfY7zW1q Гораздо понятней чем непонятно что.
Аноним 20/03/22 Вск 20:56:20 2320168 850
>>2320156
>Ты первый день программируешь? Смотри адреса.
Но там все-таки не показано что два выделения и два копирования на одну строку. Зачем ты меня троллишь?
Аноним 20/03/22 Вск 20:57:10 2320170 851
>>2320150
>если я внутри плюсов, то я, скорее всего, си-строки не юзаю и у меня на руках будут на руках два std::string, никаких преобразований не будет
Параметры запуска передаются в виде "сишных" строк, у тебя нет выбора.

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

>короче, тут не будет никаких преобразований сишных строк в std::string
Копирование, выделение памяти внутри std::string уже является преобразованием "сишной" строки в std::string.
Аноним 20/03/22 Вск 20:58:48 2320172 852
Аноним 20/03/22 Вск 21:05:52 2320180 853
Аноним 20/03/22 Вск 21:12:22 2320182 854
>>2320180
Но это не значит что язык такое не позволяет. Это претензия к стандартной библиотеке.
Аноним 20/03/22 Вск 21:15:45 2320184 855
Аноним 20/03/22 Вск 22:02:12 2320215 856
>>2320184
А где вообще этот выигрыш в скорости нужен? Я понимаю если это софт для пво, который должен ракету перехватить пока она не ебнет в цель, ну или когда ОС пишешь, но условным десктопным приложениям это нахуя

Мимо
Аноним 20/03/22 Вск 22:08:03 2320220 857
>>2320215
>но условным десктопным приложениям это нахуя
Процессорное время у всего кода одно, если одна программа потребляет много, то на других это тоже сказывается.
Аноним 20/03/22 Вск 22:11:01 2320222 858
Screenshot 2022[...].png 59Кб, 902x302
902x302
>>2320184
охуительный бенчмарк, просто сказка
Аноним 20/03/22 Вск 22:12:17 2320223 859
>>2320222
Я делал B). Не заметил.
Аноним 20/03/22 Вск 22:15:00 2320225 860
Аноним 20/03/22 Вск 22:48:20 2320253 861
image.png 65Кб, 1289x450
1289x450
image.png 125Кб, 1815x687
1815x687
>>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 2320258 862
>>2320220
Хорошо, но в любом случае много всего пишется на каком нибудь питоне и подобном, который в десять раз медленнее, а вы тут своими с и с++ высчитываете у кого код на микросекунду быстрее
Аноним 20/03/22 Вск 22:52:36 2320260 863
>>2320253
>мб проблемы libstdc++
а лол там в обоих случаях он выставлен ну я хз, я не могу асм читать энивей, и на си чистой в жизни писать никогда не собираюсь
Аноним 20/03/22 Вск 22:56:47 2320263 864
>>2320225
Естественно, без оптимизаций конкретный код сильно быстрее абстрактного.
Но, как уже было продемонстрировано тобой же, в любой хоть сколько-нибудь нетривиальной логике очень просто обосраться. Собственно, для снижения когнитивной нагрузки и пишется (a + b), вместо твоего шедевра.
Вопрос с производительностью более тонкий. Простой ответ на него такой -- пока не доказал, что нужно оптимизировать, не делай этого. Иначе просто лишний раз жопу себе порвёшь. Нет, это, конечно, полезно, но когда учишься, а не работаешь.
Аноним 20/03/22 Вск 23:14:44 2320273 865
>>2320253
>какой вообще смысл их выключать, когда мы тестим скорость, лол
Потому что я одной ногой уже во сне и мне лень этим заниматься.
Аноним 21/03/22 Пнд 01:00:27 2320346 866
>>2320258
ДРОЧЬБА на скорость - детектор студентика-дебила, или просто неуча. Потому-что скорость она не в слиянии двух строк, а в гораздо более сложных вещах.

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

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

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

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

Научись читать целую ветку, а не отдельные ответы. Там все уже расписано много раз.
Аноним 21/03/22 Пнд 21:21:00 2320846 881
>>2320842
>Чтобы узнать длину сишной строки, нужно найти ее конец.
зачастую ты уже знаешь длину сишной строки
к примеру в реляционных субд строковые поля фиксированной длины, и когда ты пишешь с++ обертку для работы с интерфейсом этой субд это обычный прием оптимизации..
Аноним 21/03/22 Пнд 21:22:57 2320848 882
>>2320842
>Выделение для преобразования, выделение для копирования, минимум 2.
используешь конструктор который принимает сишную строку, будет только одно копирование
Аноним 21/03/22 Пнд 21:24:53 2320849 883
>>2320846
>>2320848
C++кодеры не могут в понимание внутренностей кода и реализаций. Даже тред прочитать не могут полностью.
Аноним 21/03/22 Пнд 22:31:45 2320908 884
Немного оффтоп, но как адекватно переводится "statement"? Я почему-то переводил его для себя всегда как "выражение" или типа того, но тут решил сунуть в переводчик и везде хрень какая-то, то оператор, то инструкция. В общем должно быть какое-то слово получше для "statement"
Аноним 21/03/22 Пнд 22:45:02 2320917 885
>>2320908
Да, инструкция или оператор (но не операция, которая operator). Никакое это не выражение, у выражения есть результат какого-то типа. его можно присвоить соответствующей переменной, либо сделать из выражения инструкцию добавлением ; в конец.
Аноним 21/03/22 Пнд 22:49:50 2320919 886
image.png 116Кб, 731x634
731x634
>>2320917
Для меня оператором всегда было то, что на пикриле.
Блять, десять терминов и на все одно слово.
Аноним 21/03/22 Пнд 22:51:34 2320920 887
>>2320919
Да просто дебилы придумали перевести operator как операция и начали городить вокруг этого костыльные термины.
Аноним 22/03/22 Втр 02:52:47 2321005 888
>>2320849
хорош маняврировать
если надо смотрим ассемблерный листинг, если надо то влючаем флажек "заходить в код библиотек" и смотрим что там в потрохах stl
никакой магии нет, это белый ящик
Аноним 22/03/22 Втр 07:19:49 2321027 889
>>2320908
"утверждение" хорошо подойдет
Аноним 22/03/22 Втр 08:08:05 2321031 890
#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 2321032 891
>>2321031
Вместо << z ; пишешь << (х + у);
Аноним 22/03/22 Втр 08:20:45 2321033 892
>>2321032
>>2321032
Живи сто лет, спасибо.



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

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

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

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

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

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

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

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

Бывает ещё в эмбед ситуация, когда ресурсов у железки мало и жабу с дотнеткорами не впихнуть - там страдают с Qt или библиотечками поменьше.
Аноним 27/03/22 Вск 21:19:28 2324234 966
>>2324228
> стараются абстрагировать и отделить от остальных подсистем
Я пока не сильно разбираюсь в этом. Что это вообще за процесс соединения условного кода на с++ с гуи на условном электроне?
Есть какие-то библиотеки для этого или какая-то еще штука уже встроенная в электрон и другие фреймворки? Это вообще сложно делается или в два клика?
Аноним 27/03/22 Вск 21:21:46 2324238 967
>>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 2324243 968
>>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 2324252 969
>>2324127
"Требований к производительности" нет ни у Микрософт тимс, ни у слака (с миллиардами установок у каждого) - а у тебя есть, да?

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

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

Переписывать можно сильно позже, только business justification у гуйни нет для этого
Аноним 27/03/22 Вск 23:18:48 2324320 975
Screenshot2022-[...].png 169Кб, 1080x1920
1080x1920
Аноним 27/03/22 Вск 23:27:33 2324324 976
>>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 2324329 977
>>2324320
у меня есть профиль на SO с 4к+ репы. Просто сидишь эфпячишь 24х7 и очень стараешься успеть ответить самым первым.

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

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

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

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

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

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

> Деплой вообще не про языки программирования, это devops.
ой бляя. Ну давай, девопси в юпитере нейросети в докере своем.
Я говорю, что как только нужно уйти за пределы маня ноутбуков с обучением и превратить то что нахуярили дата сентисты в производительный код с применением того же тензоррт, то тебе , нихуя себе, понадобится не девопсер, а прогер на плюсах
Аноним 28/03/22 Пнд 22:00:04 2324813 989
Аноним 28/03/22 Пнд 22:15:45 2324817 990
Аноним 28/03/22 Пнд 23:13:41 2324846 991
>>2324817
ты же хуйню пишешь
мимо
Аноним 28/03/22 Пнд 23:16:44 2324851 992
>>2324846
В чём он не прав?
мимо
Аноним 29/03/22 Втр 00:02:35 2324868 993
>>2324851
в том, что пишет хуйню

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

То есть суть 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 2326175 1016
>>2326152
>Как теперь будут лежать данные, если я сделаю &map[0] (или map.data())?
Так же, как и лежали.
Аноним 31/03/22 Чтв 08:37:47 2326176 1017
Что учить дальше? Знаю всю хуйню, аля массивы, словари, функции. Имею общее понимание ооп.
Аноним 31/03/22 Чтв 08:39:00 2326179 1018
>>2326176
>Что учить дальше?
Пиши код.
Аноним 31/03/22 Чтв 08:50:21 2326182 1019
#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 2326183 1020
>>2326182
>Лабу сдаю, эта хуйня не работает. Помогите, пж.
1) Что он должен делать?
2) Что он делает?
Аноним 31/03/22 Чтв 09:00:39 2326187 1021
>>2326183
Решать 6 примеров
Не решает 6 примеров
Аноним 31/03/22 Чтв 09:26:29 2326193 1022
Аноним 31/03/22 Чтв 09:27:48 2326194 1023
>>2326175
C чего бы? Как он выделит под них память, если эта память там уже занята следующим элементом?
Аноним 31/03/22 Чтв 09:33:33 2326196 1024
>>2326194
>>2326152
>map[1].resize(...)
Почему она должна быть занята?
Аноним 31/03/22 Чтв 09:39:38 2326199 1025
>>2326196
Потому что после map[1] идет map[2] который должен быть ровно за map[1]

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

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

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

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

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

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

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

Перед тем, как решать задачи по какой-либо теме на том же LeedCode, нужно ведь изучить темы, которые будут нужны для решения задачи. Если я сейчас сходу зайду туда и выберу задачи на темы, которые еще не изучал — в чем будет профит? Я просто посмотрю на задачу и не напишу и строчки кода, не зная темы. В курсе перед тем, как отправить своё решение задачи, тебе объясняют тему, показывают на примерах других задач, как надо решать задачи по этой теме, и только потом дают задачу. А сразу идти на Кодеварс или Литкод... Что-то я не врубился.
Аноним 04/04/22 Пнд 14:27:06 2328767 1066
>>2328707
Нахуя их писать вообще.
Что сложного в списках?
Аноним 04/04/22 Пнд 17:49:42 2328885 1067
>>2328697
>на плюсах уже все вопросики обкашлены
это не так
стандартизованного abi так и не сделали, стандартизованной динамической загрузки классов нету, как следствие любые системы с расширяемостью через плагины приходиться писать используя тот же олдскульный сишный компонентный подход (com в винде самый известный пример), правда можно сверху для удобства шаблончиками обмазать используя crtp, ну и то что абстрактный класс взаимозаменяем со структурами из указателей на функции, что дает синтаксические плюшки, но суть не меняет
из-за этого к примеру весь энтерпрайз в начале нулевых дружно пересел на явку и шарпик
Аноним 04/04/22 Пнд 19:38:55 2328980 1068
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 2328991 1069
>>2328980
Без пробелов строку введи.
Аноним 04/04/22 Пнд 20:24:22 2329015 1070
>>2328637
Код блядь, если я пишу в редакторе, то запускается он где?
Аноним 04/04/22 Пнд 20:42:22 2329024 1071
>>2329015
В компилятор суешь и запускаешь.
Ох уж эти зумеры-программисты...
Аноним 04/04/22 Пнд 21:05:49 2329043 1072
>>2329024
Я слышал про библиотеки, в редактор кода она тоже должны быть загружены? Мне кажется это не удобно, если постоянно ctrl+c - ctrl-v делать, из редактора в компилятор.
Тогда какой выбрать? Под линукс.
Аноним 04/04/22 Пнд 21:07:39 2329044 1073
>>2329043
> если постоянно ctrl+c - ctrl-v делать, из редактора в компилятор
Ох уж эти зумеры-программисты...
Аноним 04/04/22 Пнд 21:18:26 2329050 1074
>>2329043
Если серьёзно, то почитай первый том Столярова.
Он хоть и шиз, который фреймбуфер в ядре отключает и ищет CMS, написанную на чистом C/C++, но в плане dev-набора расписал всё +- нормально.
Аноним 05/04/22 Втр 01:44:54 2329160 1075
Аноним 05/04/22 Втр 15:05:52 2329481 1076
>>2328535
Список и деревья - это алгоритмы и структуры данных. Для меня порядок для понимания темы такой:
1. Успокоился и расслабился.
2. Настроился на занятие
3. Гуглю базу по теме
4. Смотрю примеры
5.а. Решаю задачи, начиная с несложной
5.б .Решаю лабу по универу

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

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

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

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

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





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

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

Можно ли makefile сделать который бы засовывал текст в str, или в самом main открывать файловый дескриптор, или test.txt на что-то менять?
Аноним 09/04/22 Суб 05:05:21 2332324 1087
изображение.png 115Кб, 677x335
677x335
изображение.png 127Кб, 654x545
654x545
>>2297529 (OP)
Поясните тупому неосилятору.
Откуда высралось число 4, а не 128. Как я понял, должно произойти деление 900 на 7
Аноним 09/04/22 Суб 05:36:12 2332327 1088
>>2332324
% это остаток от деления 900 на 7 и он равен 4
Аноним 09/04/22 Суб 07:33:44 2332332 1089
e797e8315d39bcc[...].jpg 52Кб, 500x409
500x409
Аноним 09/04/22 Суб 11:30:19 2332366 1090
изображение.png 8Кб, 527x234
527x234
изображение.png 42Кб, 814x710
814x710
К сожалению сейчас нет времени полноценно засесть за учебник, так что учу этот ваш си плюс плюс "на ходу", экспериментируя в процессе написания программ. В следствие этого возник дурацкий вопрос:

Прога

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 2332368 1091
>>2332366
Если что, не надо писать, что: "азазаза, у тебя там размерность массива не та))))"

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

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

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

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


Копчую с последней бубунты
Аноним 10/04/22 Вск 14:51:10 2333035 1109
>>2333029
те денег что ли уже платят, щеня? как так то блядь
че за тупые вопросы?
скажи, плиз, чем занимаешься, если ты такой тупой но при этом на работе работаешь?

Аноним 10/04/22 Вск 15:04:20 2333037 1110
>>2332733
>Лезут за пределы массива
Как "запредельное" чтение может изменить поведение цикла?
>>2332863
>а не того, что ты наворотил на стеке
Что он натворил на стеке?
Аноним 10/04/22 Вск 15:39:08 2333051 1111
Аноним 10/04/22 Вск 19:40:34 2333236 1112
>>2333042
Как стать учителем по программированию? Мне кажется это изи, приходишь и на каждом занятии пытаешься разъяснить бездарям концепцию полиморфизма. Потом даешь им самостоятельно простенькую задачу, а сам сидишь чиллишь.
Аноним 10/04/22 Вск 21:06:09 2333333 1113
Привет, анончики. Только не бейте сразу ссаными тряпками, хочу спросить насколько сложно к вам закатиться из Java на серверную разработку, по типу написание софта для форекс, там где задержки по GC недопустиы? Опыта 3 года.

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

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

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

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

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

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

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

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

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 2335240 1159
>>2335232
upd
inb4 только опыт байтоебства с микроконтроллерами, где все указатели либо на глобал переменную буфера, либо на фиксированный адрес. Там таких вопросов не было.
Аноним 13/04/22 Срд 22:46:28 2335281 1160
>>2335232
ты просто с указателями разберись сначала, а потом лезь к указателям на функции.

Судя по "указателю не выделена память" - ты вообще нихуя не понимаешь.
Аноним 13/04/22 Срд 22:55:50 2335294 1161
>>2335281
Да, хуйню сказал насчет памяти. Хорошо, указатель хранит адрес. В данном случае - адрес возвращаемого значения функции. Оно что, блять всегда по одному и тому же адресу находится?
Аноним 13/04/22 Срд 23:13:59 2335315 1162
>>2335294
Указатель на функцию - адрес возвращаемого значения - разные вещи. Функция - код, значение вообще через регистр возвращается.
Аноним 14/04/22 Чтв 22:23:42 2336001 1163
>>2335991
А путь к заголовкам в makefile сам собой пропишется?
Аноним 14/04/22 Чтв 22:25:26 2336002 1164
>>2335991
Вон ты вызываешь g++, указываешь -L либы, а -I для заголовков где?
Аноним 14/04/22 Чтв 22:29:24 2336006 1165
>>2336001
Конечно сам, а не как у дедов в прошлом веке.
Аноним 15/04/22 Птн 08:43:01 2336149 1166
Screenshot20220[...].jpg 247Кб, 1080x2400
1080x2400
IMG202204141800[...].jpg 118Кб, 1080x1064
1080x1064
По итогам скомпилил через эту команду

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

Вимодебилов не слушай, их мнение равно мнению грязи из под ногтей
Аноним 15/04/22 Птн 20:42:11 2336709 1172
изображение.png 10Кб, 366x71
366x71
Как так выходит, что скобочка с } занимает больше времени, чем все остальное?
Аноним 15/04/22 Птн 20:46:24 2336715 1173
>>2336709
разрушение обьектов на стэке?
Аноним 15/04/22 Птн 20:48:01 2336718 1174
>>2336715
Нет объектов. В теле ифа только строчка dp=min(dp1, dp2)
Аноним 15/04/22 Птн 20:51:58 2336722 1175
>>2336709
Вывод: скобочки потребляют много процессорного времени, а значит от них надо отказываться.
Аноним 15/04/22 Птн 20:54:39 2336727 1176
изображение.png 7Кб, 245x66
245x66
>>2336709
Я переписал с вектора на двумерный массив и теперь картина более понятная. Но что вектор там так долго делает?
Аноним 15/04/22 Птн 21:12:45 2336747 1177
>>2336727
Не знаю, что за профилировщик, но можешь посмотреть на граф вызова функций из этой функции (в VS точно есть), где больше всего self time. А вообще прямо процентикам около строчек не стоит верить, часто это значит "где-то тут тратится время, может строчкой выше или ниже"
Аноним 15/04/22 Птн 21:55:26 2336778 1178
Надо написать серверное приложение, которое будет обрабатывать поступающие запросы. Клиентское приложение на qt, так что наверное буду использовать qt network. Хотя boost asio кажется легче. С чего начать?
Аноним 15/04/22 Птн 22:15:56 2336783 1179
Аноним 16/04/22 Суб 06:55:12 2336947 1180
>>2336778
>Надо написать серверное приложение
Возьми голанг, а не кресты.
Аноним 16/04/22 Суб 10:17:16 2336972 1181
>>2336947
Но я не знаю его синтаксис
Аноним 16/04/22 Суб 10:22:37 2336976 1182
Аноним 16/04/22 Суб 11:15:21 2337014 1183
>>2334847
Зачем вы вообще инлайны пишите, самые умные чтоле? В учебнике по c++ написано, что инлайн для петухов, мол компилятор сам решит, когда инлайнить функцию, когда нет, а не когда кодер своими корявыми ручками впишет этот устаревший спецификатор.
Аноним 16/04/22 Суб 11:20:21 2337016 1184
>>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 2337059 1185
>>2337014
Компилятор мразь по определению, которой доверять нельзя
Поэтому иногда нужно заставлять его инлайнить
Аноним 16/04/22 Суб 12:26:54 2337060 1186
>>2337059
>доверять нельзя
>нужно заставлять его инлайнить
Имеет право полностью игнорировать любую твою просьбу на инлайн функций.
Аноним 16/04/22 Суб 13:02:52 2337116 1187
>>2337060
Есть способы заставить
Аноним 16/04/22 Суб 14:14:28 2337180 1188
>>2337014
Дурачок, инлайн это вообще про другое теперь.
Аноним 16/04/22 Суб 14:48:22 2337200 1189
Аноним 16/04/22 Суб 14:57:50 2337203 1190
Аноним 16/04/22 Суб 19:19:48 2337394 1191
Изучаю с++ после питона и не могу понять как в одну структуру запихать массив других, заполнить ее и обратиться к ней после? Не отправляйте в гугл, пожалуйста)
struct Children {
string name;
int age;
}
struct User {
string name;
int age;
vector<Address> address;
}
Аноним 16/04/22 Суб 19:20:45 2337398 1192
>>2337394
бля
struct Children {
string name;
int age;
}
struct User {
string name;
int age;
vector<Children> childrens;
}
Аноним 16/04/22 Суб 19:35:02 2337407 1193
Аноним 16/04/22 Суб 19:47:34 2337415 1194
>>2337407
Я походу не умею формулировать вопросы)
Аноним 16/04/22 Суб 20:35:27 2337463 1195
>>2337394
А зачем тебе это? Код должен быть простым и понятным.
Аноним 16/04/22 Суб 20:58:53 2337486 1196
Аноним 16/04/22 Суб 22:27:45 2337568 1197
Аноны, а в каком редакторе/иде щас модно писать C++ проги под иксами? Нужны подсветка синтаксиса, автодополнения, подсвечивание ошибок, дебаггер.
Аноним 16/04/22 Суб 23:30:17 2337589 1198
Можно как-нибудь сократить писанину и не писать перед каждой функцией template<typename T>?
Аноним 16/04/22 Суб 23:34:15 2337596 1199
Аноним 16/04/22 Суб 23:35:06 2337597 1200
>>2337596
Человеческого решения как всегда нет?
Аноним 17/04/22 Вск 00:14:57 2337621 1201
Аноним 17/04/22 Вск 00:24:32 2337625 1202
>>2337621
Ты отличаешь вывод типов от шаблонов? Сможешь написать коллекцию через auto?
Аноним 17/04/22 Вск 00:31:36 2337633 1203
>>2337625
а тебе надо в реализации коллекции перед каждым методом писать template<typename T>?
и ты про функции спрашивал, что не так с auto аргументами...
Аноним 17/04/22 Вск 03:17:59 2337707 1204
Аноним 17/04/22 Вск 11:51:55 2337783 1205
>>2337625
Тот анон про abbreviated function template говори, и это как раз то, что тебе надо.
Аноним 17/04/22 Вск 15:39:47 2337943 1206
>>2337942
> На днях узнал о свойстве компиляторов "time", которое показывает время выполнения
ls и vim - это по твоему тоже свойства компилятора?
Аноним 17/04/22 Вск 15:55:13 2337952 1207
>>2297570
>Если выдернуть компьютер из розетки, то деструктор тоже не вызывается.
Это так называемая база
Аноним 18/04/22 Пнд 13:28:32 2338454 1208
Вопрос насчет p2p приложения. Какое максимальное количество сокетов я могу позволить себе открыть? Теоритически 2^48, но на практике компьютер охуеет столько держать. Какой максимум лучше поставить? 10? 20? 100?
Аноним 18/04/22 Пнд 13:40:46 2338460 1209
Аноним 18/04/22 Пнд 13:42:55 2338461 1210
>>2338460
Впадлу контролировать приход пакетов. Мооожет быть когда нибудь сделаю и на udp, но пока хз
Аноним 18/04/22 Пнд 13:50:43 2338465 1211
>>2338454
>Вопрос насчет p2p приложения.
Возьми готовый алгоритм или реализацию.
Аноним 18/04/22 Пнд 14:04:16 2338471 1212
>>2338460
Да, чет я тупанул. Лучше udp, чтобы кучу соединений постояннт не открытвать/закрывать/держать открытыми
Аноним 18/04/22 Пнд 14:11:03 2338475 1213
Аноним 18/04/22 Пнд 22:40:55 2338764 1214
Бля аноны, помогите, для перемножения матриц скачал библиотеку
http://mathenglish.ru/dmatrix/
Но она внутри юзает StdCtrls.hpp Которой у меня нет, гуглю, но найти ее не могу, типа должна быть встроенная, что делать?
Аноним 19/04/22 Втр 06:43:15 2338883 1215
image.png 11Кб, 762x73
762x73
А что, так можно чтоли?
перегрузка функций в классе. Я думал что можно только когда разные аргументы.

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

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 2338885 1216
>>2338764
>Но она внутри юзает StdCtrls.hpp Которой у меня нет, гуглю, но найти ее не могу, типа должна быть встроенная, что делать?
Взять любую другую библиотеку для матриц. Они все одинаково считаются.

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

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



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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

Ну и да, 900к где-то сейчас, акции упали. А так больше ляма было
Аноним 20/04/22 Срд 20:07:04 2340315 1234
Можно ли определение шаблонного класса писать в cpp? Я так понимаю, что можно только отдельные функции, которые не зависят от шаблонов.
Аноним 20/04/22 Срд 20:39:05 2340342 1235
Аноним 20/04/22 Срд 21:30:04 2340379 1236
>>2340342
хуимпл, деб, башкой подумай прежде, чем высирать какую-то хуйню
Аноним 21/04/22 Чтв 06:45:30 2340535 1237
Аноним 21/04/22 Чтв 15:03:48 2340821 1238
Аноны, а есть ли шизы, пишущие код прямо противоположно букве О в СОЛИД? Вот чтоб код потом можно было легко модифицировать или переписать. Как вообще такое проворачивать? Если ООП не принципиален, то может есть какой-то уже изобретённый приём вне этой парадигмы для подобного извращения? Причём главное требование — без потери производительности, т.е. рефлексировать или оборачивать код в тонны абстракций — не вариант. Единственное рабочее, что мне приходит в голову — это писать в процедурном стиле, по сути выкинуть весь ООП и писать как на Си с сахаром. Посоветуйте что-то адекватнее.
Аноним 21/04/22 Чтв 15:10:58 2340831 1239
>>2340821
>пишущие код прямо противоположно букве О в СОЛИД
Закрытый для расширения и открытый для изменения интерфейса?
Аноним 21/04/22 Чтв 15:18:39 2340841 1240
>>2340831
Да, переписывать функционал без добавления нового. В том числе и сам интерфейс менять, по необходимости. В процедурном стиле оно уже разбито на минимальные элементы — минимум правок надо делать при переписывании, нет интерфейсов — нет проблем. А как быть, если хочется оставаться с классами? Или я хочу невозможного от ООП?
Аноним 21/04/22 Чтв 15:26:56 2340848 1241
>>2340841
>минимум правок надо делать при переписывании
>противоположно букве О в СОЛИД
ты кажется что то путаешь
Аноним 21/04/22 Чтв 15:27:39 2340851 1242
>>2340841
Это секретная информация, среди разработчиков на C++, но ты можешь просто изменять класс, то есть, прямо из `class a { void m1(); void m2() };`, можешь сделать `class a { int m1(int, int); int m2(int, int); };`, плавающий интерфейс есть, возможность расширения только через наследование, что неизбежно, насколько я знаю.
Аноним 21/04/22 Чтв 15:31:01 2340855 1243
>>2340851
> Это секретная информация, среди разработчиков на C++, но ты можешь просто изменять класс
Но ведь мне тогда придётся править всё что зависело от этого интерфейса, в том числе и сломанную архитектуру. А если, например, я сделаю это с процедурой, то мне надо будет только в другой процедуре использование этой процедуры поправить.
Аноним 21/04/22 Чтв 15:36:25 2340860 1244
>>2340821
>пишущие код прямо противоположно букве О в СОЛИД
>>2340841
>Да, переписывать функционал без добавления нового
>>2340855
>Но ведь мне тогда придётся править всё что зависело от этого интерфейса, в том числе и сломанную архитектуру.
Аноним 21/04/22 Чтв 19:16:13 2341096 1245
Ахуеть. Думал скачаю Qt. Сварганю приложуху на домашнюю пеку, а установка ide забанена по IP. Пидарасы
Аноним 21/04/22 Чтв 22:08:04 2341222 1246
Аноним 21/04/22 Чтв 22:57:59 2341264 1247
>>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 2341318 1248
Аноним 22/04/22 Птн 04:57:07 2341351 1249
>>2297529 (OP)
как называется операция когда мы делаем * нам поинтером
вылетело из головы.
Аноним 22/04/22 Птн 07:15:43 2341363 1250
Аноним 22/04/22 Птн 23:34:10 2342157 1251
Как выводить в файл кириллическую строку,введенную в cmd с клавиатуры? setlocale(LC_ALL, "ru") не помогает,все равно в тхт на месте букв кракозябры
Аноним 23/04/22 Суб 08:01:54 2342298 1252
>>2342157
>Как выводить в файл кириллическую строку,введенную в cmd с клавиатуры?
Проблема окон, копай в эту сторону.
Аноним 23/04/22 Суб 08:35:58 2342305 1253
>>2342157
Чел, в Шинде всегда используй _tmain и TCHAR. Юникод выключи, нахуй!
> setlocale(LC_ALL, "ru")
Чё, блять?
> в тхт на месте букв кракозябры
Блокнот любит cp1251.
Аноним 23/04/22 Суб 08:53:44 2342309 1254
>>2342305
>setlocale(LC_ALL, "ru")
>Чё, блять?
Эта инструкция позволяет на консоль кириллицу выводить
Аноним 23/04/22 Суб 09:12:33 2342310 1255
>>2342309
Ты из какого года капчуешь?
Аноним 23/04/22 Суб 10:11:52 2342326 1256
>>2342310
Заебись лектор по информатике, в восьмидесятые нас переносит. Машина времени ебать.
Он строки как массив чаров пишет ,всегда.
Аноним 23/04/22 Суб 11:21:53 2342344 1257
>>2340061
>Пикрил в принципе полностью передает суть крестов
Не суть крестов, а суть вкатывальщиков, которые нихуя не знают, а уже программисты

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Салтовка-кум
Аноним 23/04/22 Суб 21:00:14 2342807 1282
>>2342796
>Ушёл Luxoft
А еще ушел EPAM и интел
Аноним 23/04/22 Суб 21:12:01 2342810 1283
>>2342807
Интел перетечёт в Huawei, LG и им подобные.
Luxoft вроде крупнее был, чем EPAM. Да и контрагенты у Luxoft были получше. В Украхе наоборот.
Аноним 23/04/22 Суб 21:16:29 2342813 1284
>>2342810
>Интел перетечёт в Huawei, LG и им подобные
Разве шо в хуавей, потому что лыжи тоже закрываются
Аноним 23/04/22 Суб 21:18:37 2342816 1285
>>2342813
У хуавея очень много вакансий. Samsung ещё хантил людей на тематику близкую к проектам Intel.
Аноним 23/04/22 Суб 21:40:43 2342824 1286
Знаете ли вы реализации надежной доставки сообщений по udp? Есть ли сурсы, а то че то не нашел
Аноним 23/04/22 Суб 21:51:04 2342826 1287
>>2342824
Тончее нашел, но сомнительные
Аноним 23/04/22 Суб 21:58:04 2342828 1288
>>2342824
Лучше я опишу проблему, а вы может подскажите че. Может есть какие то другие протоколы с нормальной реализацией, но на основе udp. Мне нужно почти всё, что есть в tcp, но при этом мне не подходит формат соединений. Мне нужно отправлять данные без установления соединения
Аноним 23/04/22 Суб 22:08:49 2342830 1289
Аноним 23/04/22 Суб 22:09:17 2342831 1290
>>2342828
Пишешь P2P?
Считается, что если пытаться достичь такой же надёжности, как в TCP, в итоге и получится такой же оверхед. Так что можно либо снизить требования, либо устанавливать соединение, передавать ланные и разъединяться, как в HTTP без keep-alive.
Аноним 23/04/22 Суб 22:30:58 2342835 1291
> Пишешь P2P?
Да
> Так что можно либо снизить требования, либо устанавливать соединение, передавать данные и разъединяться
Тогда мне придется очень часто соединяться, разъединяться, что при большом количестве человек может быть очень критично. Я очень слабо представляю как это будет выглядеть в чате на 1000 человек, например.
Аноним 23/04/22 Суб 23:23:34 2342846 1292
Есть еще вариант использовать SCTP или RUDP, но я это в первый раз вижу
Аноним 24/04/22 Вск 04:47:14 2342927 1293
>>2342782
>Айти развито в штатах и в штатах только
а под айти ты подразумеваешь сайто-клепательство?
Аноним 24/04/22 Вск 10:20:56 2342981 1294
9bqBEan3gJc.jpg 248Кб, 864x1080
864x1080
Здравствуйте. Вы моя последняя надежда. Дело в том что я совершенно не понимаю алгоритм ханойских башен и для решения задачи использу код, который пытаюсь переводить с джавы (мне нужен именно такой принцип), но, ожидаемо, у меня ничего не получается.

Вот что я наделал: 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 2343043 1295
>>2342927
>>Айти развито в штатах и в штатах только
>а под айти ты подразумеваешь сайто-клепательство?
Именно что не вебмакакинг. Все самые advanced поделки делаются там, а остальные - копируют
Аноним 24/04/22 Вск 12:05:22 2343052 1296
>>2342344
Любитель велосипедов, ты?
Аноним 24/04/22 Вск 14:21:26 2343109 1297
>>2342775
>Кто может в кресты перекатиться из безработных? Да в общем-то никто
всегда есть приток свежего мяса: умных дурачков из вузов что решили специализироваться на си/си++


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

Аноним 24/04/22 Вск 15:29:01 2343151 1299
Аноним 24/04/22 Вск 15:43:16 2343166 1300
>>2343109
Ну так то величина постоянная. Вузы выпускают примерно одинаковое количество народу ежегодно (это без учёта демографической ямы).
\r\n \r\n \r\n
Аноним 24/04/22 Вск 16:20:05 2343188 1301
изображение.png 26Кб, 512x738
512x738
Почему так нахуй? Если уж делать explicit так до конца, без исключений для ифов
Аноним 24/04/22 Вск 16:43:49 2343199 1302
>>2343188
Потому что как раз для ифов этот оператор в основном и нужен. А explicit - защита для остальных мест.
Аноним 24/04/22 Вск 16:45:51 2343200 1303
>>2343199
Основное использование - в смарт поинтерах и optional
Аноним 24/04/22 Вск 20:38:20 2343390 1304
>>2342636
уже давно не плюсовик, но по java/scala бек все оки доки, рейты даже растут, т.к. всякие нервные пориджи судорожно ищут релокейт. nvidia офис не закрыла, хуавей не закрыл, сименс не закрыл, ебучих размеров яндекс и vk остались. Банки никуда не делись, но там плюсовых вакансий мало

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

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

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

Салтовка-кум
Аноним 24/04/22 Вск 20:56:41 2343404 1306
image.png 25Кб, 890x192
890x192
>>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 2343405 1307
>>2343400
Потому что бизнес любит тишину. Luxoft тоже журавлика на сайте нарисовал. Но по резюме они всё равно шерстят.
Аноним 24/04/22 Вск 21:09:54 2343411 1308
>>2343400
Так а чё ты в Европу то не уехал? Даже всякие Сергеи Немчинские укатились, ибо нахуя жизнью рисковать, если ты хорошо зарабатываешь и можешь получать от жизни удовольствие? Уровень жизни упадёт по обе стороны границы. Какой смысл жить среди бедных и вских махновцев с разноцветными повязками?
Аноним 24/04/22 Вск 21:23:23 2343422 1309
>>2342716
>геймдев в россии (даже унылые мобилки)
А тут вообще после нулевых вообще было что-то кроме мобилок, браузерок и ммо? Все нормальные студии позакрывались. Только ледорубы вспоминаются но это творцы, не умеющие в проджект менеджмент и работающие только лишь на энтузиазме Дыбовского, да симуляторы самолётов для аутистов.
Аноним 24/04/22 Вск 21:24:26 2343424 1310
image.png 4Кб, 494x137
494x137
image.png 7Кб, 575x165
575x165
>>2343404
>https://hh.ru/vacancy/54409308?from=vacancy_search_list&hhtmFrom=vacancy_search_list

Armenia, Remote

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

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

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

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

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

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

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

>у меня с родственниками охуительнейшие отношения
Можешь верить. Но родственников у тебя больше нет
Аноним 25/04/22 Пнд 16:02:27 2343837 1316
>>2343422
>кроме мобилок, браузерок и ммо?
это и было потому что давало безумную маржу
Аноним 25/04/22 Пнд 17:30:00 2343906 1317
изображение.png 7Кб, 500x117
500x117
При инициализации сокета в конструкторе виджета, программа вылетает. Что я делаю не так?
Аноним 25/04/22 Пнд 17:37:30 2343915 1318
>>2343906
>Что я делаю не так?
Ставишь лишние запятые. Попробуй его инициализировать до тела конструктора. this там уже определен.
Аноним 25/04/22 Пнд 22:29:50 2344116 1319
>>2343906
У тебя есть дебаггер. Как именно вылетает?
Аноним 26/04/22 Втр 05:11:32 2344242 1320
Двощ, хуле рандом не рандомный? По логике хеш должен пересчитываться каждое срабатывание функции, но по факту во время всего выполнения выходит одно и то же число.
https://pastebin.com/QR4JzZkW
Аноним 26/04/22 Втр 05:54:49 2344251 1321
>>2344242
А все, нахуй скопипиздил откуда-то код через random.h, и он заработал
Аноним 26/04/22 Втр 09:04:21 2344281 1322
Аноним 26/04/22 Втр 15:05:04 2344543 1323
image.png 8Кб, 335x81
335x81
image.png 4Кб, 434x26
434x26
Проблема с определением длины файла в режиме "rb"
Почему при загрузке функции для определения длины файла вида (1-й пик)
не соответствуют (2-й пик)
Получается что в текстовом режиме каждую новую строку в первом случае прибавляется два символа, во втором только один.
Аноним 26/04/22 Втр 18:32:59 2344749 1324
бля, как упростить себе жизнь будучи плюсовиком, создал папку приходится блять запихивать в нее CMakeList и так в каждую....
добавить бибилиотеку с гитхаба это вообще горе.
Как упростить все это?
Можно конечно взять vcpkg но у меня CLion с ним не дружит абсолютно, а через mingw приходится постоянно врубить их консольку и искать (а там иногда все устарело)

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

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

какой вообще модерн тулчейн
Аноним 26/04/22 Втр 19:55:18 2344809 1328
>>2344774
> в каждую папку
Ты видимо что то не так делаешь, в каждую ничего сказать не надо, сделай общую зависимость у всех таргетов
Нужна практика! Аноним 26/04/22 Втр 20:36:16 2344816 1329
Всем добрый вечер. Начал недавно изучать плюсы по самоучителям, получается без подсказок решить простые примеры из тех же самоучителей, но я считаю, что этого очень мало. Подскажите, как и где можно начать реальную практику плюсов, какие задачи решать? Есть ли смысл пробоваться в какие-нибудь пулл-реквесты на гитхаб? Те, кто шарят, пожалуйста, подскажите.
Аноним 26/04/22 Втр 20:38:15 2344817 1330
>>2344816
>какие задачи решать?
Напиши что-нибудь полезное.
>Есть ли смысл пробоваться в какие-нибудь пулл-реквесты на гитхаб?
Нет.
Аноним 26/04/22 Втр 23:18:48 2344906 1331
>>2344543
>каждую новую строку в первом случае прибавляется два символа, во втором только один
Дай угадаю - у тебя шиндовс?
Аноним 27/04/22 Срд 07:57:17 2345009 1332
>>2344906
именно, в принципе понятно что это из-за управляющих символов, не понятно почему разные результаты
Аноним 27/04/22 Срд 08:43:17 2345023 1333
>>2345009
Сочетание символов \r\n тебе о чем-то говорит?
Аноним 27/04/22 Срд 11:12:45 2345090 1334
>>2344543
>Получается что в текстовом режиме каждую новую строку в первом случае прибавляется два символа, во втором только один.
Все так. Под виндой перевод строки кодируется двумя символами.
Аноним 27/04/22 Срд 12:07:47 2345115 1335
>>2345090
>Под виндой перевод строки кодируется двумя символами.
Понимаешь, что пишешь?
Аноним 27/04/22 Срд 17:37:02 2345370 1336
12847065343377.jpg 6Кб, 207x186
207x186
Массив для постоянных значений используют, а вектор для переменных?
Аноним 27/04/22 Срд 17:44:47 2345371 1337
Аноним 27/04/22 Срд 18:05:53 2345377 1338
>>2345371
Вектор - усовершенствованный массив?
Аноним 27/04/22 Срд 18:08:01 2345379 1339
Аноним 27/04/22 Срд 18:12:50 2345380 1340
перекатывайте
иначе последствия.....
Аноним 27/04/22 Срд 18:33:46 2345397 1341
перекат Аноним 27/04/22 Срд 23:16:24 2345618 1342
Аноним 28/04/22 Чтв 23:05:32 2346317 1343
>>2344816
напиши впо которое будет делать что-то полезное
Аноним 01/05/22 Вск 13:05:16 2347942 1344
>>2342981
Toptal еще работает с разработчиками из этой страны или прикрыли лавочку из-за санкций?
23/06/22 Чтв 15:00:39 2387118 1345
Аноним 23/06/22 Чтв 15:02:00 2387121 1346
25/06/22 Суб 13:06:12 2388587 1347
>>2343405
>бизнес любит тишину

Бизнес любит пиар, подписчик четких пабликов в вк хуев
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов