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

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

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

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

C++ №81 /cpp/ 28 янв, 18:50 1336773 В конец треда | Веб

7 Кб, 225x225283 Кб, 603x324

Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
Прошлый - https://2ch.hk/pr/res/1323587.html (М)

Ответы37692

2 28 янв, 20:48 2 1336875

Ребятa, а что более верное?
переменная в void main()
a=5+2
где "а" это левое, а 5+2 это правое?
либо тут "а" это тоже правое, а левым считаются только глобальные переменные?

Ответы3688336929369703702437029

3 28 янв, 20:55 3 1336883

>>1336875
>void main()
int main. void main нет уже лет 30
>где "а" это левое, а 5+2 это правое
если ты про lvalue и rvalue, то lvalue это все, что может быть помещено слева, а rvalue - справа. Если a=5+2; компилируется, то да a - lvalue. 5+2 очевидно, rvalue.

Ответы36889369073695937029

4 28 янв, 20:58 4 1336889

>>1336883
>void main()
Спасибо) просто запутала инфа, где говорится, что временная переменная, которая умирает после того как функция заканчивается, не может быть левым
это сложно понять было для меня

Ответы3690636959

5 28 янв, 21:11 5 1336906

>>1336889
Не путай rvalue и rvalue reference
rvalue - это все, что может быть справа от присваивания. Вообще все.
lvalue - это все, что может быть слева от присваивания. Тоже вообще все.
Ссылки обычно lvalue - то есть если ZZ у тебя ссылка (void yoba(int& ZZ)), ты можешь написать ZZ=238 и ничего тебе не будет

А rvalue reference - это ссылка, которая, в отличие от обыкновенной lvalue ссылки ты не можешь написать ZZ=238. В этом смысл - rvalue reference это такая ссылка с ограничениями.

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

Ответы36959370293706437070

6 28 янв, 21:11 6 1336907

>>1336883
a может быть справа. Rvalue это то, от чего нельзя взять ссылки.

Ответы36959

7 28 янв, 21:28 7 1336929

>>1336875
Сам оператор + возвращает rvalue.
a = b + c;
выражение (b + c) в целом тоже будет rvalue, даже если b и c были lvalue, то есть не получится скомпилировать
b + c = a;

Ответы36959

8 28 янв, 21:52 8 1336959

>>1336883
>lvalue это все, что может быть помещено слева, а rvalue - справа
Самое колхозное объяснение из всех, что я видел.
>>1336889
>временная переменная
Бессмысленный набор слов. Временными бывают объекты.
>>1336906
Слишком толстый троллинг тупостью.
>>1336907
>Rvalue это то, от чего нельзя взять ссылки.
Следующее по колхозности объяснение.
>>1336929
>Сам оператор + возвращает rvalue.
Кстати, в стандарте об этом ни слова.

Ответы3696136967369753697837018

9 28 янв, 21:53 9 1336961

>>1336959
Аутист-вахтер приперся. Держи в курсе о своем охуенно ценном мнении.

Ответы369633696836978

10 28 янв, 21:54 10 1336963

>>1336961
Этот колхозник порвался, несите следующего.

Ответы36966

11 28 янв, 21:57 11 1336966

>>1336963
Я, в отличие от тебя, объясняю просто и понятно, а ты предпочитаешь выебываться, но не писать нихуя по существу, потому что знаешь, что сам напишешь хуйню.
У тебя претензии кроме как "колхозно" есть? Нет? Ну и пройди нахуй.

Ответы36969

12 28 янв, 21:57 12 1336967

>>1336959
а своего объяснения ты так и не дал

Ответы36969

13 28 янв, 21:58 13 1336968

>>1336961
Это конкурирующий совхоз, не обращай внимания.

14 28 янв, 21:58 14 1336969

>>1336966
>Я, в отличие от тебя, объясняю просто и понятно
Это тебе от скудоумия кажется.
>>1336967
>а своего объяснения ты так и не дал
И чо?

Ответы36970

15 28 янв, 22:00 15 1336970

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

Ответы36978

16 28 янв, 22:04 16 1336975

>>1336959
>в стандарте об этом ни слова
В стандарт я конечно лезть не буду.
Но где может храниться результат a + b кроме как во временном объекте, который и есть rvalue? если конечно + не переопределен В a записывется? или может быть в b?

Ответы3697836987369883699337018

17 28 янв, 22:07 17 1336978

>>1336970
>Пруфы моего скудоумия.
Ты не в состоянии воспринимать пруфы, т.к. скудоумен.
>ты аутист (не способный в социальный контекст)
Я же написал. Колхозное объяснение. Это и есть социальный контекст. Объяснение от селюка для селюков.
>вахтер
Заметь, ты первый перешёл на личности (в >>1336961), не я в >>1336959. Так что иди отсюда тушить свою колхозную сраку, пока сеновал не поджёг.
>>1336975
>В стандарт я конечно лезть не буду.
>Но где может храниться результат a + b кроме как во временном объекте, который и есть rvalue?
Все знают, что это prvalue. Но стандарт об этом не говорит явно. Хотя обещает во введении к выражениям рассказать про value category каждого оператора и требования к value category его операндов.

Ответы369853698737018

18 28 янв, 22:18 18 1336985

>>1336978
>Все знают, что это prvalue
нууу, я всегда был не такой как все...

19 28 янв, 22:18 19 1336987

>>1336978
>Ты не в состоянии воспринимать пруфы, т.к. скудоумен.
Засливан.
>Я же написал. Колхозное объяснение. Это и есть социальный контекст. Объяснение от селюка для селюков.
Нет. Объяснение для селюков не значит, что оно от селюка. Ты аутист просто, раз этого не понимаешь.
Как и то, что задающий вопросы не селюк, а просто учится. Случилось следующее: не селюк, а учащийся, которому разрешено много, задал вопрос, анон попытался ему объяснить ответ.
Кто здесь селюк? Та-дам - тот самый токсичный вахтер, который вместо того, чтобы придти и ответить на вопрос ньюфага, начал самоутверждаться.
>Заметь, ты первый перешёл на личности
В чем проблема говноеда назвать говноедом?
>Все знают, что это prvalue
Лол. Охуенная аргументация продолжается - ВСЕ ЗНАЮТ.
>>1336975
>Но где может храниться результат a + b кроме как во временном объекте, который и есть rvalue
А кто тебе сказал, что a+b обязательно должен возвращать временный объект? https://ideone.com/Ze5lsY
Не должен.

Ответы369933700737018

20 28 янв, 22:18 20 1336988

>>1336975
>во временном объекте, который и есть rvalue?
Кстати да, никаких временных объектов там нет.

21 28 янв, 22:22 21 1336993

>>1336987
> токсичный
Сорян, ты не колхоз оказывается, а колхоз_ка.
>В чем проблема говноеда назвать говноедом?
Для меня ни в чём, а вот для тебя проблема — ты сорвался в истерику с первого сообщения.
> https://ideone.com/Ze5lsY
Колхоз_ка, читай внимательно:
>>1336975
> + не переопределен

Ответы37034

22 28 янв, 22:35 22 1337007

>>1336987
> возвращать временный объект
Что по-твоему значит "возвращать временный объект"? То, что в выражении у return будет временный объект или что (a+b) будет временный объект?

Ответы37070

23 28 янв, 22:35 23 1337009

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

32 Кб, 420x434
24 28 янв, 22:44 24 1337018

>>1336959
>>1336975
>>1336978
>>1336987
Поехавшие. Оператор + может возвращать хоть void, хоть мой хуй. Особенно переопределенный.

Ответы3702137024

25 28 янв, 22:46 25 1337021

>>1337018
Мы тут изначально говорили про встроенный.
Только селюк, чтобы продемонстрировать, как он хорошо разбирается в контекстах, полез понтоваться переопределёнными операторами.

26 28 янв, 22:48 26 1337024

>>1337018
Ну ебана, позырь с чего началось >>1336875
>a=5+2
У него там int подразумевается. Какой void? Зачем переопределенный?

27 28 янв, 22:52 27 1337029

>>1336875
>>1336883
>>1336906

https://habr.com/ru/post/322132/

Третий раз эту хуйню сюда кидаю. Скоро пора будет в шапку добавлять.

Ответы37031

28 28 янв, 22:53 28 1337030

Ребята, можно тлдр да/нет
я С++ учу 1.5 месяца по официальным MS-курсам
сейчас я на теме "функция" и прошел только ее перегрузку, я не проходил перегрузку операторов
и так, могу ли я леджит пока воспринимать левое и правое как
а=b+c где "а" это левое а "b+c" правое?

Ответы3703337051

29 28 янв, 22:54 29 1337031

>>1337029
Архива тредов-то нету

30 28 янв, 22:54 30 1337033

>>1337030
>и так, могу ли я леджит пока воспринимать левое и правое как
>а=b+c где "а" это левое а "b+c" правое?
Именем колхоза, разрешаю тебе.

31 28 янв, 22:56 31 1337034

>>1336993
>Сорян, ты не колхоз оказывается, а колхоз_ка.
Ого, мамин альтрайт.
>Для меня ни в чём, а вот для тебя проблема — ты сорвался в истерику с первого сообщения.
Конечно, когда говноеду говорят, что он говноед - это истерика. Ведь не может же говноед оказаться говноедом. Он же на двач всех хуесосить пришел.
>Колхоз_ка, читай внимательно:
Читать внимательно что, что все знают?
Оператор у встроенного типа вообще ссылку не возвращает, он возвращает значение. Вроде бы доебка, но ты же самый правильный хуесос, который читал стандарт.

Ответы37036

32 28 янв, 22:57 32 1337036

>>1337034
>Оператор у встроенного типа вообще ссылку не возвращает, он возвращает значение.
Он вообще ничего не возвращает, т.к. это не вызов функции. Даже концептуально.

Ответы37038

29 Кб, 904x265
33 28 янв, 22:59 33 1337038

>>1337036
Блядь.

Ответы37048

34 28 янв, 23:08 34 1337048

>>1337038
Так я и думал, что ты это кинешь.))))

Читай https://timsong-cpp.github.io/cppwp/n4659/over.built#1 и ссылки оттуда внимательно.

[over.built] используется только когда хотя бы один из операндов имеет не-встроенный тип. И используется только для overload resolution, для выбора встроенного оператора. Сами же эти операторы не вызываются даже концептуально.

> These candidate functions participate in the operator overload resolution process as described in [over.match.oper] and are used for no other purpose.

1. Для встроенных операторов не применяется [over.match.oper]
https://timsong-cpp.github.io/cppwp/n4659/over.match.oper#1 :
> If no operand of an operator in an expression has a type that is a class or an enumeration, the operator is assumed to be a built-in operator and interpreted according to Clause [expr].
2. Даже когда [over.match.oper] применим и какой-то из операторов из [over.built] выбран, срабатывает "used for no other purpose", который в том числе означает, что эти операторы даже концептуально не вызываются. Т.к. вызов функции это уже other purpose, а не overload resolution.

Ответы370503707937212

49 Кб, 700x522
35 28 янв, 23:09 35 1337049

Поясните плиз за tcp сокеты.
Вот есть например сокет. Я зная его адрес и порт, могу отправить на него что нибудь, например текст, да? То есть пишу фукцию отправки, и текст ведь сразу оказывается на сокете? То есть на его стороне этот текст уже можно считать? Или нужно сначала как то открыть этот сокет?

Ответы37247

36 28 янв, 23:09 36 1337050

>>1337048
>1. Для встроенных операторов не применяется [over.match.oper]
* для встроенных типов

37 28 янв, 23:11 37 1337051

>>1337030
https://habr.com/ru/post/348198/

38 28 янв, 23:13 38 1337055

Плюсоёбы во всех смыслах

Ответы37056

39 28 янв, 23:15 39 1337056

>>1337055
В каких ещё всех? Нарываешься?

Ответы37058

40 28 янв, 23:18 40 1337058

>>1337056
Ебатели языка "плюсы" доебались до оператора "плюс" и ебутся

41 28 янв, 23:20 41 1337064

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

Ответы37070

42 28 янв, 23:28 42 1337070

>>1337007
При наличии перегрузки операторов у тебя может возвращаться что угодно (и это очень удобно). В случае отсутствия перегрузки операторов у тебя, как тебе написали до меня, возвращается prvalue.

int yoba(int i) {return 5;}

yoba(5) = 5; можно написать? Нет. Но не потому что возвращается временный объект, возвращается просто rvalue. То, что я писал тут >>1336906 , не путай rvalue и rvalue reference.

У встроенных операторов типы а-ля int operator+(int, int) и так далее.

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

>>1337064
В основном для move-семантики, то есть чтобы работало быстрее. Сравни vector::push_back и vector::emplace_back. В первом случае будет создано больше лишних объектов, а втором ты компилятору говоришь, что помести в вектор то, что я тебе дал и мне это уже не нужно. В этом случае он сможет обойтись без лишних копирований.
Так же без этого весьма геморройно использовать unique_ptr - его же копировать нельзя, а что-то с ним надо делать.

Ответы3707137212

38 Кб, 400x400
43 28 янв, 23:32 43 1337071

>>1337070
Если честно, не совсем понимаю, что делает vector::push_back и почему в его случае будет создано больше объектов. И не могу оценить прибавку в производительности, потому что не знаю, сколько времени выполняется данная команда.

Ответы37101

44 28 янв, 23:52 44 1337079

>>1337048
Падажжи. Так "все знают, что результат a + b это prvalue", или эти операторы не вызываются даже концептуально?

Ответы3708337212

45 28 янв, 23:59 45 1337083

>>1337079
>Так "все знают, что результат a + b это prvalue", или эти операторы не вызываются даже концептуально?
Ты так спрашиваешь, как будто эти 2 утверждения друг другу противоречат.

Для a и b не-классовых и не-enum типов (например, если оба — int) [over.built] вообще не применяется.
Так что считать то, что в [over.built] приводится `LR operator+(L, R)` для арифметических типов доказательством того, что a + b это prvalue для int a, b не получится.

Ответы3709237212

46 29 янв, 00:16 46 1337092

>>1337083
>Ты так спрашиваешь, как будто эти 2 утверждения друг другу противоречат.
Именно так. Результат a+b это не prvalue, это ничто. Вызова-то нет, значит нет и результата. Например
int i = (5+3)/(5+3) может быть скомпилировано в int i = 1. Какой результат у +? Никакого. Это просто ноды в AST.
Поэтому они были вынуждены добавить такую клозу - мол, чуваки, типы у нас такие, но вообще вы этого не видели.

Ответы371033710437212

47 29 янв, 00:23 47 1337101

>>1337071
>Если честно, не совсем понимаю, что делает vector::push_back и почему в его случае будет создано больше объектов
На самом деле не всегда. В зависимости от того, есть ли у твоего объекта move-конструктор, copy-конструктор, временный ли твой объект сам (а-ля push_back(Yoba()) - это за счет оптимизаций может вообще с одним вызовом конструктора решиться), или постоянный, а еще от реализации push_back. Я всех тонкостей не помню и каждый раз беру принты и смотрю, как оптимальнее в моем случае. Последний раз такое было пару лет назад, потому что редко, знаешь ли, подобные вещи бывают бутылочным горлышком.
Это так хуйня, из-за которой С++ считают сложным языком, а на практике с тонкостями проще на месте разобраться.

Ответы37358

48 29 янв, 00:26 48 1337103

>>1337092
> Результат a+b это не prvalue, это ничто. Вызова-то нет, значит нет и результата.
Откуда этот радикализм?
Литералы, кроме строковых, это prvalue (https://timsong-cpp.github.io/cppwp/n4659/expr.prim.literal)
`5` — это вызов чего? Хотя бы притащи что-нибудь из [over.built].

Или ты считаешь что раз вызов функции с нессылочным возвращаемым типом это prvalue, то любое prvalue должно быть вызовом функции с нессылочным возвращаемым типом?

> Поэтому они были вынуждены добавить такую клозу - мол, чуваки, типы у нас такие, но вообще вы этого не видели.

Нет. Я видел обсуждение где пытались про отсутствующее описание свойства (не value category) одного встроенного оператора сказать, что оно не отсутствует, а следует из [over.built], на что был дан ответ от мембера комитета что для случая встроенных типов [over.built] не применяется и фиксить надо [expr]. Хочешь верь, хочешь — нет.

Ответы37212

49 29 янв, 00:28 49 1337104

>>1337092
>Это просто ноды в AST.
Вызов функции это тоже ноды в AST)))

Аноним 50 29 янв, 05:54 50 1337186

нихуя у вас страуструп

51 29 янв, 09:10 51 1337212

>>1337103
>>1337092
>>1337083
>>1337079
>>1337070
>>1337048

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

Допустим, я смотрю на выражение (a + b) как на возвращающее результат, по аналогии с функцией.

Вот можно ли привести пример кода, где такая аналогия не сработает? Ну, например, код будет вести не так, как ожидалось.

Или же это просто спор о том, что в чорном ящике происходит?

Ответы3721837235

11 Кб, 1171x68
52 29 янв, 09:28 52 1337218

>>1337212
>Вот можно ли привести пример кода, где такая аналогия не сработает? Ну, например, код будет вести не так, как ожидалось.
https://timsong-cpp.github.io/cppwp/n4659/over.built#14
https://wandbox.org/permlink/w5MpwseMmHithwnv поменяй #if 1 на #if 0

53 29 янв, 10:04 53 1337235

>>1337212
>Или же это просто спор о том, что в чорном ящике происходит?
В чорном ящике, которого нет.

54 29 янв, 10:20 54 1337247

>>1337049
tcp по идее сперва нужно открыть. udp позволяет слать сразу, но в любом случае на другой стороне у тебя должен висеть слушатель.

Ответы37360

55 29 янв, 14:08 55 1337358

>>1337101
А что такое принты, напомни пожалуйста.

56 29 янв, 14:11 56 1337360

>>1337247
А слушатель - это кто? Функция какая то?
И на сокет данные в каком виде приходят? Это же вроде как просто поток единиц и нулей, то есть слушатель должен будет ещё и дешифровать все это сам?

215 Кб, 750x558
57 29 янв, 15:50 57 1337424

Почему эта книга такой ёбнутой цены стоит?

58 29 янв, 20:18 58 1337532

Вот создал я tcp сокет. Как мне вернуть его адрес и порт? Какой функцией? Читаю доку Qt, но там почему то нет такой функции.

Ответы37543

59 29 янв, 20:31 59 1337543

>>1337532
А унаследованные функции смотрел? И не проще тсп сервер и клиента использовать?

Ответы37565

60 29 янв, 21:06 60 1337565

>>1337543
А обычно между сокетами данные не отправляют, да? Только с сокета на сервер?
И вообще, клиент ведь может несколько сокетов делать для связи с сервером, или так лучше не делать? А закрывать их надо руками или они сами? Как несколько сокетов вообще влияют на производительность?

Ответы37574

61 29 янв, 21:17 61 1337574

>>1337565
Почему с сокета на сервер? У сервера тоже есть сокет, не так ли?

Ответы37581

62 29 янв, 21:22 62 1337581

>>1337574
У сервера hostAddress. Который мы прописываем для сокета клиента, чтобы он читал с него данные. Так ведь?

63 29 янв, 21:24 63 1337585

потому что здесь и сейчас
у них нет будущего
женщины на это ведутся
им нужны эмоции

Ответы37595

64 29 янв, 21:38 64 1337595

>>1337585
Оставь этот тред крестоблещащий,
Динамикой дщерь соблазненная.

54 Кб, 1413x762
65 29 янв, 22:28 65 1337616

Аноны, помогите. Код на пикче. Вроде бы все просто, ошибок никаких нет. Но почему то после сборки постоянно пишет "Программа неожиданно завершилась". И хуй знает, почему.
Опытным путем, закомменчивая строки, выяснил, что это из-за 19 строки. Но в чем проблема там - хз.

Ответы37627

66 29 янв, 22:39 66 1337627

>>1337616
server->serverPort() у тебя возвращает число. Попробуй заменить на QString::number(server->serverPort()).
Да и зачем комментить строки, запускаешь в режиме дебага, оно тебе само breakpoint поставит на том месте, где программа крашится. И call stack посмотреть можно будет.

Ответы3763037631

67 29 янв, 22:42 67 1337630

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

68 29 янв, 22:46 68 1337631

>>1337627
> server->serverPort() у тебя возвращает число. Попробуй заменить на QString::number(server->serverPort()).
Не помогает. Да и в примере, в котором я смотрел код, все так же. Даже если я возьму код оттуда и заменю им свой, все равно будет писать "Программа неожиданно завершилась". Пиздец какой то. Для Qt Creator такие ситуации - это норма?

Ответы37657

78 Кб, 1594x859
69 29 янв, 23:27 69 1337657

>>1337631
Короче, понял, как запускать отладку.
Какой то read access violation у меня.
Алсо, сервер создается, но IP адрес у него почему то 0.0.0.0.
В описании QTcpServer::serverAddress() написано Returns the server's address if the server is listening for connections; otherwise returns QHostAddress::Null. Почему серверу присваивается нулевой адрес, если у меня listen прописан?

Ответы384323843538530

70 30 янв, 02:03 70 1337686

Мне вот интересно, зачем у типов битность.
short — целевой тип будет оптимизирован по размеру и иметь ширину не меньше 16 бит.
long — целевой тип будет иметь ширину не меньше 32 бит.
long long — целевой тип будет иметь ширину не меньше 64 бит.

Это только для совместимости с архитектурами систем?
То есть long long будет выдавать ошибку в системе виндовс х32?

Ответы3769337786

71 30 янв, 02:48 71 1337692

>>1336773 (OP)
Hello world плюсики, вот ненавижу я ебаться с любими символьными задачами еб их мать, таки заставили.
В общем есть текстовый файл e.g любая книга там, нужно парсить на слова. Слово — набор символов по правилу a-zA-zА-яа-я0-9 разделенных любым не !правило символом e.g word space (пробел), запятая, да что угодно. Пытаюсь именно через fsanf сделать, красиво то бишь, таким образом fscanf(отсюда,"%[a-zA-z\u0401\u0451\u0410-\u044f\u0430-\u044f]s",сюда);
Если в файле первое слово на инглише -- распознается оно целиком и на этом все, я подозреваю что функция в цикле одно и тоже слово распознает, то есть не переключается на поиск следующего как при fscanf(pIn,"%s",pBuf);. Если в файле первое слово на руссцком то распознается только до первого мелкого символа и тоже стопорится на первом слове. Есть вариант именно через fscanf сделать распозвнование слов ?

Ответы3771437721

72 30 янв, 02:52 72 1337693

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

sage 73 30 янв, 06:32 73 1337714

>>1337692
Hello world плюсики
В общем есть тарелка, оттуда надо есть суп.
Пытаюсь именно ножом есть красиво, но он режется.
Есть вариант как именно ножом поесть супа?

Ответы3800538007

74 30 янв, 07:26 74 1337721

>>1337692
>именно через fscanf
Причем тут плюсики?

Ответы38005

75 30 янв, 11:19 75 1337786

>>1337686
>То есть long long будет выдавать ошибку в системе виндовс х32?
Нет, схуяли?

Ответы3786537866

массивы ы 76 30 янв, 13:46 76 1337837

памагите

77 30 янв, 14:53 77 1337865

>>1337786
А всякие uint_64 зачем?

78 30 янв, 14:54 78 1337866

>>1337786
А в чем тогда смысл

79 30 янв, 15:57 79 1337902

Зачем учить почти мертвый язык, на ХХ несколько вакансий, где нужен опыт от 3 лет, как сюда можно вкатится и возможно ли это?

Ответы37977

1,4 Мб, 2018x2228
80 30 янв, 16:08 80 1337910

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

Ответы3796938268

81 30 янв, 17:09 81 1337969

>>1337910
Тот, кто достаточно опытен, чтобы запилить подобный гайд, подобной хуйней заниматься не будет.
Берешь не сильно крупный опенсорс с гитхаба и пробуешь пофиксить любой баг из issues. Попробуй сам, не получится - напиши мейнтейнерам.
Альтенратива - пилить пет-проекты самому, хуже.

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

82 30 янв, 17:25 82 1337977

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

Ответы37979

83 30 янв, 17:27 83 1337979

>>1337977
Крестобляди ОЧЕНЬ легко работать на западе. Потому что кресты являются унылым говном вообще везде, поэтому джоны учить кресты не хотят. А тут ты такой молодой и красивый

Ответы38010

84 30 янв, 17:53 84 1338005

>>1337721
>>1337714
Ясно, ну хули от вас еще ожидать было. Ералаш ебаный

85 30 янв, 17:54 85 1338007

>>1337714
Хотя этот прав на самом деле, я всегда такой хуйней маюсь, хз почему мне это доставляет.

86 30 янв, 17:56 86 1338010

>>1337979
на швятом западе
дааа

Ответы38021

87 30 янв, 18:12 87 1338021

>>1338010
Ну, факт. Я через кресты вкатился и сейчас пишу на них процентов 20 времени. А кому я был нужен со стандартным стеком? Никому

Ответы38256

88 30 янв, 22:22 88 1338256

>>1338021
Если не секрет в какой области работаешь?

Ответы38260

89 30 янв, 22:24 89 1338260

>>1338256
deep learning в основном

Ответы38270

90 30 янв, 22:29 90 1338268

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

Ответы38307

91 30 янв, 22:30 91 1338270

>>1338260
Бля как же грустно осознавать что такое проходит мимо, и я никогда не смогу туда вкатиться..
Удачи тебе анонче.

Ответы38279

92 30 янв, 22:35 92 1338279

>>1338270
хули мимо, серьёзные языки учит 3.5 человека, 90% ит скота пробует вкатиться в веб, потому что он дико распирен всякими барыгами курсов, здесь же вкатиться более реально

Ответы38286

93 30 янв, 22:40 93 1338286

>>1338279
>хули мимо, серьёзные языки учит 3.5 человека, 90% ит скота пробует вкатиться в веб, потому что он дико распирен
Распиарен потому, что отбить вложеннок бабло гораздо проще. Вакансии на веб исчисляются просто тысячами в радиусе 10км от меня, например.
А что я буду представлять зная с/с++? Кроме этого требуют еще чуть ли не PhD по матану чтобы вкатиться, либо 100500 лет опыта.
Рад за тебя анон, если не пиздишь.

Ответы382913830438307

94 30 янв, 22:45 94 1338291

>>1338286
>вложенное
быстрофикс

95 30 янв, 23:00 95 1338304

>>1338286
У меня вакансии исчисляются десятками, соискателей конечно тысячи. По с++ вакансий в два раза меньше, чем по php, но не мало, по java вакансий почти в два раза больше, чем по php. Если у тебя тысячи, то по с++ будут тысячи/сотни тебе мало? Я с C# устраивался, когда было 3 вакансии на весь город и все с опытом, а ты тут ноешь. Требования ты преувеличивешь, они тебе кажутся завышенными, потому что ты нихуя не знаешь, ты поучи, что в требованиях написано и поймёшь, что они вполне адекватные и минимальные. Распиарен, потому что на курсах зарабатываешь больше, чем в офисе макакой.

Вообще в программировании ты нахуй никому не нужен, будущее программистов весьма хуёвое, оно будет напоминать сегодняшнего водителя. Поголовная автомобилизация, все пользуются машинами, всё доставляется машинами, всё перевозится, каждый чих, каждый пук, стопку из 300 листов А4 возят целый день по городу, сумасшедший дом, всем нужны машины, без машины никуда. Но вместе с тем почти каждый человек с яйцами имеет права и может управлять машиной, в результате чего водители имеют маленькую зп и хуже червя пидора, конечно если это не водитель какого-нибудь полковника, который сам майор или быть может это водитель какой-то йоба-строительной техники, которой умеет управлять 1 человек на 100 000. Вот и с программистами будет так же, ты станешь нахуй никому ненужной обслугой, которой, как грязи, бизнес никогда не позволит, чтобы ему рабочий класс диктовал какие-то условия.
Программисты дорогие? Наплодим тысячи программистов, чтобы рыночек порешал. В таких жёстких условихя в это говно либо нужно не вкатываться вообще, либо вкатываться так, чтобы быть программистов-майором у какого-нибудь полковника на подсосе, либо программистом, который знает ебалу, которую знает 1 человек на 100 000. Вот и выбирай что тебе учить.

Ответы38309383423884438847

96 30 янв, 23:01 96 1338307

>>1338268
>Это сфера в которую нужно лезть, дома ты ничего на научишься, таких материалов в широком доступе просто нет и у всех своя специфика
Неправда, есть опенсорс, который сам по себе лучше 90% коммерции. Не сам код, а соответствующая тусовка - мейллисты и т. п. У меня был наставником один из разработчиков Swift, например.
Сделай один хороший пуллреквест куда-нибудь, и работа у тебя в кармане, при чем сразу на позиции мидла.

>>1338286
>Распиарен потому, что отбить вложеннок бабло гораздо проще
А в работе охранником отбить вложенное бабло еще проще.
В этом и прикол, что сюда идут только те, кто может пройти зефирный тест. Сама по себе работа как работа. В реакте например я так и не разобрался.

Ответы3835338354

97 30 янв, 23:03 97 1338309

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

Ответы38317

98 30 янв, 23:08 98 1338317

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

99 30 янв, 23:25 99 1338336

Аноны, что лучше учить после Шилда, вкатываться в QT или STL библиотеку? Продолжил обучение плюсов пока что книгой "Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ Скотт Майерс", но там не поясняют за то, что делают новые фичи в плюсах, а говорят как их юзать. Я лох в английском(но работаю над этим), поэтому не могу вкатиться в англ книгу(ждать пока не выучу англ до уровня чтения спец литературы не вариант). Есть что-то на русском про новые стандарты?

Ответы38338

100 30 янв, 23:26 100 1338338

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

101 30 янв, 23:32 101 1338342

>>1338304
>программистом, который знает ебалу, которую знает 1 человек на 100 000
Хочу это.
Ты имел ввиду с/с++?

31 Кб, 400x400
102 31 янв, 00:04 102 1338353

>>1338307
>есть опенсорс, который сам по себе лучше 90% коммерции
>опенсорс лучше 90% коммерции
>опенсорс
>лучше коммерции
>опенсорс
>лучше

Ответы38355

103 31 янв, 00:05 103 1338354

>>1338307
>наставником
Что значит наставником? Где их добывать? На гитхабе?

Ответы38364

104 31 янв, 00:08 104 1338355

>>1338353
Посмотри исходники винды на досуге

105 31 янв, 00:32 105 1338364

>>1338354
Я тебе раскрою страшную вещь, но за опенсорс не платят, поэтому там нужно быть полным бесполезным долбоебом, чтобы тебя не приняли. Если ты полезен проекту, тебе будут помогать - объяснять какие-то вещи, ревьюить твой код, пока он не станет нормальным для пуллреквеста, и так далее. Естественно, нужно уметь в гайдлайны проекта - если ты пишешь код на уровне laba1.cpp, то конечно тебя нахуй пошлют.
Стыдно вспомнить, но я git rebase научился пользоваться именно после матюков.
Возьми проект, не сильно большой (там много бюрократии и ты нахуй не нужен - профессионалы на зарплате сидят коммитят), не сильно маленький (там два васяна годами пилят то, что хотят), короче тысяч 5 коммитов, с нетоксичным мейнтейнером (короче он не должен посылать нахуй с обсуждениях), по интересной тебе теме, зайди в issues и посмотри, что ты можешь пофиксить. У любого проекта на С++ ДОХУИЩА багов типа "здрастьте я юзер, я пукнул когда луна была в юпитере и у меня выпал сегфолт", который всем просто лень фиксить. А дело там скорее всего в паре строчек, и что кому-то лень фиксить, а для тебя принятый пуллреквест и строчка в authors.txt
У меня еще такая хуйня была, юзаю библиотеку с BSD-лицензией, в ней баг, который решен в виде пуллреквеста и висит год. Я на этот баг напоролся, охуел, но в общем наткнулся на этот пуллреквест. Ну и хули, написал автору, мол, давай я реквесты принимать буду, а то очень нехороший баг, а ты забил на свою репу, и теперь я мейнтейнер с правом приема пулреквестов. А автор этот член комитета стандартизации С++.

Только не участвуй во флеймах и прочей токсичной поеботе. Если такая хуйня начинается, лучше смени проект.

Ответы3838438420

106 31 янв, 01:44 106 1338384

>>1338364
> А автор этот член комитета стандартизации С++.
Так чем закончилось в итоге?
Поебались? Он пригласил тебя в свои СШП в качестве молоденького супруга? Рассказывай, не томи.

107 31 янв, 07:01 107 1338420

>>1338364
Спасибо! Огромное!
Я вот просто без задней мысли, зашел на гитхаб, и нашел кое-что по душе - игру из юношества моего :)
Чуваки пилят форк.

11 Кб, 498x117
108 31 янв, 08:06 108 1338432

>>1337657
Доставь код из main.cpp.
Утром проверял код с пикрил, у меня всё работает.

109 31 янв, 08:12 109 1338435

>>1337657
Блин, не надо ничего из main.cpp) Я кажись догадался. У тебя statusLabel не создан, а ты берёшь и по указателю пытаешься что то в него поместить. У тебя даже в отладчике написано это в списке справа "statusLabel 0x0".

Ответы3858638780

110 31 янв, 12:24 110 1338530

>>1337657
че за IDE

Ответы38541

111 31 янв, 12:36 111 1338535

а С++ объектно-ориентированый язык?

Ответы3854138596

112 31 янв, 12:46 112 1338541

>>1338530
Очевидный QtCreator
>>1338535
Страуструп говорил что нет. Мультипарадигменый.

113 31 янв, 14:11 113 1338586

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

114 31 янв, 15:01 114 1338596

>>1338535
он как хорошая жена - ночью в постели как шлюха, но на людях сама скромность!

31 Кб, 1134x740
115 31 янв, 17:23 115 1338673

Програмач помоги бля ! Почему ругается как исправить ? Нихуя не пойму !

Ответы38683

116 31 янв, 17:47 116 1338683

>>1338673
Убери равно, поставь вокруг строки круглые скобки.

Ответы38691

117 31 янв, 18:04 117 1338691

>>1338683
Чёт не помогло, но проблему решило то после того как я поставил квалификатор const в конструкторе. НО всё равно не пойму почему, в GDB всё работало с первоначальным кодом.

Ответы38692

118 31 янв, 18:05 118 1338692

>>1338691
Литералы это конст чар.

119 31 янв, 18:44 119 1338726

Начал разбираться с OpenGL и хочу задать вопрос: какого хуя всё так сложно то. Один ебучий треугольник нарисовать 120 строк кода. Кто уже освоил, скажите, вам по началу сложно было или я один такой тупой?

Ответы387343899939123

120 31 янв, 18:56 120 1338734

>>1338726
>Один ебучий треугольник нарисовать 120 строк кода.
Этот код пишешь один раз всего, потом копипастишь или оборачиваешь в либу.
Кстати, на Vulkan вывод треугольника - больше тысячи строк.
>вам по началу сложно было
Первый раз все сложно. Самое сложное там не программный интерфейс, а понимание компьютерной графики.

Ответы3884039124

121 31 янв, 19:17 121 1338753

Нужно шарить в Машине Тьюринга/Макарова/Поста, чтобы быть нормис программистом?

Ответы38755387693878738868

122 31 янв, 19:17 122 1338755

>>1338753
>Макарова
Маркова
фикс

123 31 янв, 19:24 123 1338769

>>1338753
Нет, зачем?

124 31 янв, 19:38 124 1338780

3,7 Мб, mp4,
1280x720, 0:162 Кб, 116x92

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

Ответы39135

125 31 янв, 19:47 125 1338787

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

126 31 янв, 21:35 126 1338840

>>1338734
>копипастишь или оборачиваешь в либу
А почему это сразу не завернули в опен жл?

Ответы38848

Больжедор 127 31 янв, 21:37 127 1338842

Когда мне нужен массив всегда юзаю вектор, разве это плохо?

Ответы38861

128 31 янв, 21:39 128 1338844

>>1338304
>будущее программистов весьма хуёвое, оно будет напоминать сегодняшнего водителя
Плохая аналогия. Программировать в принципе могут не все, а нормально программировать - вообще очень маленький процент населения. Даже с нынешним наплывом вкатывальщиков, рыночек все равно всех проглотит и добавки попросит. Прогресс постоянно подкидывает новую работенку. Например, кто пятнадцать лет назад думал об ML и Data Science за пределами академий?

Больжедор 129 31 янв, 21:49 129 1338847

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

Ответы38851

130 31 янв, 21:54 130 1338848

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

131 31 янв, 21:57 131 1338851

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

Ответы38852

Больжедор 132 31 янв, 22:00 132 1338852

>>1338851
>Какой-то гайки в голове не хватает.
Даже без этого жопа с пальцем, как сравнить официанта и инженера-геолога. А с этим так вообще.

Ответы38864

31 Кб, 801x336
133 31 янв, 22:12 133 1338859

Что значит, если NULL == 0? Когда NULL == 0, а когда не равен 0?

Ответы38862388633886738881

134 31 янв, 22:19 134 1338861

>>1338842
ем супы только с эклерами вприкуску
разве это плохо?

Ответы38865

135 31 янв, 22:20 135 1338862

>>1338859
В крестах вроде всегда равен по стандарту. В сишке - нет. Были какие-то компиляторы для древних архитектур, где ненулевое значение.

Ответы38867

136 31 янв, 22:21 136 1338863

>>1338859
Думаю он имел ввиду что использование NULL не всегда является однозначным, и если тебе нужен именно нулевой указатель, то в С++11 появилось специальное ключевое слово, которое гарантированно означает то, что тебе нужно.

137 31 янв, 22:22 137 1338864

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

Ответы38866

722 Кб, 960x720
Больжедор 138 31 янв, 22:23 138 1338865

>>1338861
У Страуструпа было написано используйте вектор везде где только можно в книге. Погуглил, даже в презентации он это сказао. Последняя строчка. Ну чем он плох? Это ж удобный безопасный массив, с ним не надо ебаться, как можно быть против?

Ответы3886939371

Больжедор 139 31 янв, 22:23 139 1338866

>>1338864
Тогда я его понял неправильно вообще, лол.

140 31 янв, 22:23 140 1338867

>>1338859
>>1338862
Даже если NULL не задефайнен в 0, должна вызываться f(int). Он же превращается после препроцесса в целочисленный литерал. Откуда неоднозначность?

Ответы38876388813888439050

141 31 янв, 22:25 141 1338868

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

142 31 янв, 22:25 142 1338869

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

Ответы388723887538880

143 31 янв, 22:27 143 1338872

>>1338869
Что за дека?

Ответы38874

144 31 янв, 22:27 144 1338874

>>1338872
std::deque

Больжедор 145 31 янв, 22:28 145 1338875

>>1338869
У деки другой смысл, рандом акссес за О(н), речь о том, что чем плохо вместо массива вектор юзать всегда. Деку вместо массива не поюзаешь.

Ответы3887738879

146 31 янв, 22:29 146 1338876

>>1338867
>Откуда неоднозначность?
Неоднозначности нет. Есть вариант, что ты хочешь вызывать f(void), но у тебя где-то заинклудится и вызовется f(int) и выстрелит тебе в ногу. С nullptr такой проблемы нет.

Ответы38884

147 31 янв, 22:29 147 1338877

>>1338875
Извиняюсь за подпись, хотел посмотреть что за поле имя и забыл.

148 31 янв, 22:32 148 1338879

>>1338875
А как работает вектор, напомните? Он же дает произвольный доступ к элементам, но при этом может менять размер?

Ответы3888338886

149 31 янв, 22:32 149 1338880

>>1338869
>рандом акссес за О(н),
Разве? Там же вроде массив указателей на субмассивы одинакового размера. То есть сначала ищется указатель на субмассив (за O(1)), а потом в нем элемент по индексу.

Ответы38888

150 31 янв, 22:32 150 1338881

>>1338859
>>1338867
Сейчас проверил. Если написать f(NULL), компилятор ругается на двусмысленность. Видимо в современных компайлерах NULL в какой-то имплементейшон-дефайнед тип задефайнен, что кастуется как в int, так и в поинтер.

Ответы3888238889

151 31 янв, 22:33 151 1338882

>>1338881
В gcc это некий __null

152 31 янв, 22:34 152 1338883

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

Ответы3889338939

153 31 янв, 22:34 153 1338884

>>1338867
NULL где-то может быть за- или пере- дефайнен вообще не в int

>>1338876
Тогда может появиться неоднозначность в подборе функции.

154 31 янв, 22:35 154 1338886

>>1338879
>Он же дает произвольный доступ к элементам, но при этом может менять размер?
Да. Но ты не можешь хранить указатели на элементы вектора. При увеличении размера он может аллоцировать память, и перемещать элементы туда. С декой - можешь (если не удаляешь элементы из середины).

Ответы3889438895

155 31 янв, 22:36 155 1338888

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

Ответы3889138892

156 31 янв, 22:36 156 1338889

4 Кб, 269x2131 Кб, 114x92

>>1338881
У меня нормально работает, студия 17

157 31 янв, 22:38 157 1338891

>>1338888
https://wandbox.org/permlink/FlRC0QGuhxuoDsvd

158 31 янв, 22:38 158 1338892

>>1338888
По стандарту и вставка, и доступ за конст.

Ответы38896

159 31 янв, 22:39 159 1338893

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

Ответы38898

160 31 янв, 22:39 160 1338894

>>1338886
С динамическим массивом та же херня будет по идее, не?

Ответы38897

161 31 янв, 22:39 161 1338895

>>1338886
А зачем тебе указатели на его элементы?

Ответы38899

162 31 янв, 22:41 162 1338896

>>1338892
В деке как структуре зависит от реализации. И по мне так то, что в деке как структуре возможен рандом аксес бред немного.

Ответы39051

163 31 янв, 22:41 163 1338897

>>1338894
>С динамическим массивом
Что такое "динамический массив"?

Ответы38902

164 31 янв, 22:41 164 1338898

>>1338893
Почему? Разве он настолько много жрёт?

Ответы38906

165 31 янв, 22:42 165 1338899

>>1338895
>А зачем тебе указатели на его элементы?
Чтобы обращаться к ним через указатель, а не по индексу.

Ответы38905

166 31 янв, 22:43 166 1338902

>>1338897
Массив с переменным размером?

167 31 янв, 22:44 167 1338904

void* - указатель на тип воид или указатель типа воид?

Ответы38910

168 31 янв, 22:44 168 1338905

>>1338899
А по индексу тебе не нравится?

Ответы38912

169 31 янв, 22:44 169 1338906

>>1338898
>Почему? Разве он настолько много жрёт?
Он аллоцирует память в хипе, а это может быть дорого даже на современных машинах.

Ответы3890838909

170 31 янв, 22:45 170 1338908

>>1338906
Что значит дорого? А надо все в стеке делать? С хипом лучше не связываться?

Ответы38917

171 31 янв, 22:45 171 1338909

>>1338906
>это может быть дорого даже на современных машинах.
Ясно, ну похоже это ответ, я думал это давно уже не проблема.

172 31 янв, 22:45 172 1338910

>>1338904
Вообще особая штука. Указатель на что угодно, но в арифметике ведёт себя как char*.

Ответы39049

173 31 янв, 22:46 173 1338912

>>1338905
>А по индексу тебе не нравится?
Тем, что указатель самодостаточен, ты можешь передать его куда-нибудь, сохранить, а с индексом для обращения к элементу нужен еще и сам вектор.

Ответы3891438941

174 31 янв, 22:49 174 1338914

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

175 31 янв, 22:51 175 1338917

>>1338908
>Что значит дорого?
Что лучше очень часто не вызывать.
>А надо все в стеке делать? С хипом лучше не связываться?
Если функция часто вызывается, то лучше маллок в ней не делать.

Ответы38920

176 31 янв, 22:52 176 1338920

>>1338917
А если аллоцировать, а потом подчищать сразу?

Ответы3892338934

177 31 янв, 22:53 177 1338923

>>1338920
В два раза хуже сделаешь.

Ответы38930

178 31 янв, 22:53 178 1338924

Почему компилятор при дебаге иногда выдает переменным значения, отличные от тех, которые выведет cout? Всё дело в процессах, которые выполняются в рантайме?

Ответы38927

179 31 янв, 22:55 179 1338927

>>1338924
>компилятор при дебаге
Почти квантовая поебень, наблюдение начинает влиять на ход эксперимента.

Ответы38935

180 31 янв, 22:58 180 1338930

>>1338923
Чому???

Ответы38932

181 31 янв, 22:59 181 1338932

>>1338930
Ну так ты время тратил на каждое выделение, а теперь ещё и на каждое освобождение будешь тратить.

Ответы38937

426 Кб, 600x630
182 31 янв, 23:00 182 1338934

>>1338920
Представляешь примерно, как аллокатор общего вида работает? Он менеджит дохрена памяти, должен обращаться периодически к ОС, не допускать фрагментации, ходить по куче всяких списков и тд. И так каждый раз при вызове malloc или free. Маллок тут, маллок здесь на каждой операции программы - вот и просраны миллисекунды, медленно переходящие в секунды при длительной работе.
Если тебе нужна память именно на куче - выдели её один раз для твоей операции, и освободи в конце программы.

183 31 янв, 23:01 183 1338935

>>1338927
То есть дебаг говно без задач и остается чекать все через сиауты?

Ответы3893839048

184 31 янв, 23:03 184 1338937

>>1338932
А, так дело во времени? А я думал, вся проблема в трате памяти.

Ответы38974

185 31 янв, 23:04 185 1338938

>>1338935
Конечно нет, просто относись спокойно к спецэффектам, вот без дебага было как: в двух тредах мютекс лок мьютекс анлок, тыц тыц, в cout выводит mutex1 mutex2 mutex1 mutex2, нормально, а с дебагом то же самое mutex1 mutex1 mutex1 mutex2 mutex1 mutex2 полный рандом.

Ответы38942

186 31 янв, 23:05 186 1338939

>>1338883
Если под обычным массивом он подразумевал int yoba[], то он тоже ебанат, потому что обычный массив в С++ называется std::array.
А так вектор хорош в 99% случаев, еще 1% он плох, но в 99% из этого процента это будет преждевременной оптимизацией. Так что не парься.

Ответы38945

187 31 янв, 23:07 187 1338941

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

188 31 янв, 23:07 188 1338942

>>1338938
Что за мьютекс?

Ответы3894838952

189 31 янв, 23:08 189 1338945

>>1338939
>под обычным массивом он подразумевал int yoba[]
Его, тк я переспрашивал мб стд аррай? , да и вот с std::array хуета, пушо один хуй аллокация будет хотел сказать я, но да погуглил, std array на стеке целиком, прикольно, век живи век учись. Спасибо двач.

190 31 янв, 23:09 190 1338946

int i{} = int i() и.т.п ?

Ответы3895038954

191 31 янв, 23:10 191 1338948

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

Ответы38949

192 31 янв, 23:11 192 1338949

>>1338948
Мьютекс один на несколько тредов или у каждого треда свой?

Ответы38956

193 31 янв, 23:12 193 1338950

>>1338946
Нет. Попробуй
int i();
std::cout << i;
А потом гугли the most vexing parse.

Ответы38958

194 31 янв, 23:12 194 1338952

>>1338942
Mutual Exclusion. Штука, которую может "захватить" только один тред. Используется для того, чтобы в любой момент времени только один тред владел какими-то данными или исполнял какой-то код. Остальные, обычно, ждут, пока мьютекс разлочится, чтобы захватить его самим.

Ответы38962

195 31 янв, 23:13 195 1338954

>>1338946
int i(); это функция с именем i возвращающая тип int. Если хочешь вызвать дефолтный конструктор, пиши int i;

Ответы3896139047

196 31 янв, 23:13 196 1338956

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

197 31 янв, 23:15 197 1338958

>>1338950
У меня и там и там 0 получился.

198 31 янв, 23:17 198 1338961

>>1338954
Я хочу инициализировать "i" нулём.

199 31 янв, 23:17 199 1338962

>>1338952
Это что то типа Fence в Directx 12?

Ответы38978

200 31 янв, 23:40 200 1338974

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

Ответы38980

201 31 янв, 23:50 201 1338978

>>1338962
Никогда не работал с directx. Судя по диагональному прочтению, fence - штука, позволяющая ждать и объявлять определённые события. Эти скорее больше похоже на conditional variable или Events.
ЕМНИП в "Соверменных Операционных Системах" Таненбаума (или в любой книге про многопоточное программирование) описаны все основные примитивы синхронизации потоков.

202 31 янв, 23:54 202 1338980

>>1338974
>Маллок - это системный вызов
Не обязательно. Он может вызвать какой-нибудь VirtualAlloc/sbrk, а может и не вызвать.

Ответы38984

203 1 фев, 00:07 203 1338984

>>1338980
>Он может вызвать какой-нибудь VirtualAlloc/sbrk, а может и не вызвать.
Там кроме этого еще мьютекс как минимум.

Ответы38986

204 1 фев, 00:13 204 1338986

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

Ответы38990

205 1 фев, 00:22 205 1338990

>>1338986
>Но я думаю аллокаторы держат маленькие арены отдельно для каждого треда, чтобы избежать слишком частого дёрганья этого глобального мьютекса.
Не получится. Ты можешь вызывать маллок в одном треде, а фри в другом. Как минимум фри синхронизировать придется.

206 1 фев, 00:30 206 1338999

>>1338726
Я так на DirectX11 пока рисовал треугольник чуть не пизданулся. Посмотрел, какой охуенный треугольник получился, и дропнул это дело.

Ответы39266

207 1 фев, 05:11 207 1339047

>>1338954
>Если хочешь вызвать дефолтный конструктор
У int нет никаких конструкторов.

208 1 фев, 05:12 208 1339048

>>1338935
>То есть дебаг говно без задач
Нiт, это твой код говно

209 1 фев, 05:13 209 1339049

>>1338910
>Указатель на что угодно, но в арифметике ведёт себя как char.
Арифметика с void невозможна.

210 1 фев, 05:16 210 1339050

>>1338867
>Даже если NULL не задефайнен в 0, должна вызываться f(int). Он же превращается после препроцесса в целочисленный литерал.
С разморозкой, начиная с C++11 NULL может быть определён как nullptr, который к целым числам не преобразуется.

211 1 фев, 05:24 211 1339051

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

Ответы39395

23 Кб, 1065x227
212 1 фев, 10:13 212 1339102

Это снова экволибрист-аутист, хелло плюсики, выхожу на связь. В это раз мне уперлось заставить тренарный оператор выполнять cout. Я знаю что ему от меня нужно ebala() желаетльно с возращаемым значением, ну хули я сделаю - то. Может я его как - то неправильно употребляю ?

Ответы39103391043910739112

213 1 фев, 10:15 213 1339103

>>1339102
Скобки расставь

Ответы3910639112

214 1 фев, 10:16 214 1339104

>>1339102
Вместо false потому будет тот же cout но в fstream.

Ответы3973139757

215 1 фев, 10:16 215 1339106

>>1339103
Какие ?

Ответы39112

216 1 фев, 10:17 216 1339107

>>1339102
Хотя стоп. Тут не в скобках дело.
Типы с любыми скобками будут несовместимыю

Ответы39112

16 Кб, 757x187
217 1 фев, 10:20 217 1339112

>>1339107
>>1339106
>>1339103
>>1339102
Отбой, вроде удалось наебать.

Ответы3912839323

218 1 фев, 10:32 218 1339123

>>1338726
> Один ебучий треугольник нарисовать 120 строк кода.
Пиздабол. Именно просто нарисовать с уже готовым всем остальным в однус троку можно. Матрцы проекции/хуекции в случае с трекгольником 2D, хуйня то бишь. А вообще OpenGL проебал дайрект иксу от мелкомягких где - то в 90 - ых, ну ты понял.

219 1 фев, 10:33 219 1339124

>>1338734
> а понимание компьютерной графики.
Двачую этого люто.

220 1 фев, 10:37 220 1339128

>>1339112
b ? std::cout : std::cout << "hui pizda";

Ответы39130

221 1 фев, 10:41 221 1339130

>>1339128
Не, пространство имен у меня жестко прописано. Суть в том что cout не возвращает значения вот и все, приходится, в данном случе, принудительно спрашивать.

222 1 фев, 10:48 222 1339135

>>1338780
Раз уж я взялся тебе помогать, в функцию listen(const QHostAddress &address = QHostAddress::Any, quint16 port = 0) по умолчанию передаются переменные QHostAddress::Any значит, что прослушиваться будут интерфейсы IPv4 и IPv6. Для IPv4 будет прослушиваться адрес 0.0.0.0
Если передать нулевой порт, будет автоматом выбран любой свободный порт, что у тебя и происходит.

Ответы3926739413

4,2 Мб, 1668x2220
223 1 фев, 10:56 223 1339142

До этого упарывал питон и немного js.
База - циклы, ветвления etc js списана с си, как пони.
Но что за хуйня идёт дальше? Указатели, ссылки?! Куда не посмотришь, теперь эти звёзды в кошмарах снятся.
Может кто посоветовать литературу, которая бы играла роль вазелина при переходе на си с более высокоуровневых?

Ответы39158391663931939327

7 Кб, 1246x59
224 1 фев, 11:07 224 1339158

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

Ответы39333

225 1 фев, 11:17 225 1339166

>>1339142
>Может кто посоветовать литературу, которая бы играла роль вазелина при переходе на си с более высокоуровневых?
http://wg21.link/std17

Ответы39264

226 1 фев, 14:04 226 1339264

>>1339166
мозг

227 1 фев, 14:05 227 1339266

>>1338999
А мог бы сохранить его в отдельном классе и рисовать потом несколько треугольников.

Ответы39363

228 1 фев, 14:06 228 1339267

>>1339135
Спс.

140 Кб, 1423x841
229 1 фев, 15:03 229 1339287

Аноны, может кто подсказать в чём проблема с Соилом? В инете о нём нихуя нету, его будто вообще никто не использует. При попытке вкинуть в проект файл SOIL.c выдает 100 ошибок, что где-то в библиотеке gl.h нехватает скобок

Ответы39293

230 1 фев, 15:09 230 1339293

>>1339287
Либу подключи, либо скомпилируй.

А вообще - stb_image

Ответы3930039301

40 Кб, 1425x236
231 1 фев, 15:22 231 1339300

>>1339293
Либа подключена, пересобрал ее по гайду для своей студии. Вроде всё на месте. Мне подобные ошибки давало когда я только glad и glfw3 подключал, но там решалось всё вкидыванием файла glad.c в проект. А тут при вкидывании SOIL.h выдает пик.
Я так понимаю файлы где-то конфликтуют, но уже час ебусь и не пойму где.

Ответы39372

232 1 фев, 15:22 232 1339301

>>1339293
поддвачну stbi

233 1 фев, 15:30 233 1339319

>>1339142
https://www.amazon.com/Harry-Potter-Sorcerers-Stone-Rowling/dp/059035342X

234 1 фев, 15:33 234 1339323

>>1339112
А почему нельзя cout << (expr ? "something" : "") << endl; ?
Нихуя у тебя и не получается, потому что обе ветви тернарного оператора должны иметь один и тот же тип. Или хотя бы быть приводимы друг к другу, если не ошибаюсь.

Ответы39731

235 1 фев, 15:35 235 1339327

>>1339142
Скроллил треды /pr, случайно упоролся по С. Захожу и сюда иногда, планирую в последствии вкатываться в плюсики.
Никакого дальноидущего плана, просто для души и по приколу.

>Указатели, ссылки?!
Детские какульки по сравнению с сопроматом, играючи просто.

Ответы39364

5 Кб, 200x200
236 1 фев, 15:43 236 1339333

>>1339158
>дцппшную ебанину

237 1 фев, 16:31 237 1339363

>>1339266
Слабо трифорс на direct x

238 1 фев, 16:32 238 1339364

>>1339327
А что не так с сопроматом в с++?

239 1 фев, 16:36 239 1339365

Пользовался ли кто данной ECS приблудой?
https://github.com/skypjack/entt
Если да, то как вам по сравнению с аналогами, не завалялся ли пример какой-нибудь "змейки" с использованием.

240 1 фев, 16:47 240 1339371

>>1338865
Не слушай шизиков.

Ответы39373

241 1 фев, 16:48 241 1339372

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

Ответы39398

242 1 фев, 16:48 242 1339373

>>1339371
Охуел Страуструпа шизиком обзывать?

Ответы39375

243 1 фев, 16:54 243 1339375

>>1339373
я про шизиков, которые деку советуют. Страуструп прав.

244 1 фев, 17:45 244 1339395

>>1339051
std::deque реализация двусторонней очереди, двусторонняя очередь может быть на списке двойном сделана, там за о(н) доступ и я это считаю правильным, потому что это блядб двусторонняя очередь, какой нахуй рандом аксес, ты очередь видел вот люди в очереди стоят, чтобы добраться до 5 человека нужно пролистнуть пять и добраться, а так получается мы тупо берём пятого в ней и делаем с ним чтото, пока другие стоят и ждут. Беспредел.Сделелали бы отдельную хуету типа std::block_list и там соглы, никаких вопросов, а так бредово.

Ответы39797

245 1 фев, 17:52 245 1339398

>>1339372
Да я уже stb_image скачал. А так эту хуйню я и сам заметил, там из-за ебанутых #ifndef порядок важен очень, иначе часть либы не подключиться и будет миллион ошибок. Я ебал в рот эти ресурсы по опенглу, на сайте висит книга которая должна быть копией сайта, но при этом там разный материал

Ответы39440

246 1 фев, 19:01 246 1339413

>>1339135
Слушай, а сервер ведь только один порт слушать может одновременно? То есть экземпляр QTcpServer? А если я хочу несколько клиентов обслуживать, то мне надо будет несколько QTcpServer-ов инициализировать?

Ответы39433

247 1 фев, 19:29 247 1339433

>>1339413
На одном порту может висеть много соединений с разными клиентами

Ответы39437

248 1 фев, 19:32 248 1339437

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

Ответы39443

249 1 фев, 19:35 249 1339440

>>1339398
А тебе именно OpenGL нужен? Есть SFML - плюсовая обёртка на SDL, что, в свою очередь, сишная обёртка над OpenGL.
Я сейчас тренируюсь прогать именно на этой штуке, куда проще, чем опенгл + на оффсайте хорошие примеры.

Ответы39526

3 Кб, 403x306
250 1 фев, 19:42 250 1339443

>>1339437
>А как сервер будет отличать разные соединения?
Посмотри структуру пакета TCP. По source port'у клиента он будет отличать.
Вообще почитай Танненбаума Компьютерные сети как художественную литературу, книга толстая, но за неделю такого чтения все вопросы отпадут.

Ответы39447

251 1 фев, 19:46 251 1339447

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

Ответы39461

252 1 фев, 19:54 252 1339461

>>1339447
>То есть сервер должен заранее знать, на каком порту что идет?
Нет, порт клиента будет рандомный. После установки соединения клиент и сервер должны договориться. В твоем случае лучше всего клиенту послать установку команд или данных сразу после установки соединения. Таким образом у твоего состояния появляется стейт.

Но на дворе 2019 год, люди сидят с ноутбуков через вайфай самолета, летящего по разным странам, а все это происходит через TOR. Делать при таких условиях stateful протокол, в котором у тебя что-то зависит от IP клиента - хуевая идея. IP клиента может меняться хоть каждую секунду.
Тебе нужно делать stateless протокол, в котором клиент посылает сообщение, где каждый раз идентифицирует себя каким-то идентификатором сессии и затем описывает что именно он посылает.
А еще лучше не выпендриваться и взять готовое решение типа http или вебсокетов.

Ответы39464

253 1 фев, 19:56 253 1339464

>>1339461
> Тебе нужно делать stateless протокол, в котором клиент посылает сообщение, где каждый раз идентифицирует себя каким-то идентификатором сессии и затем описывает что именно он посылает.
То есть слать по одному соединению все? И команды, и данные?

Ответы39480

254 1 фев, 20:09 254 1339480

>>1339464
Конечно. Клиент должен посылать сообщения, каждое сообщение должно содержать в себе
1. Версию
2. Идентификатор сессии
3. Размер данных
4. Сами данные
Данные в свою очередь могут состоять из команды+параметры или же кусок файла, в самимости от заголовка этих данных.
Первое сообщение должно запрашивать у сервера идентификатор сессии. Далее если даже соединение разорвется или у клиента сменится IP, клиент его восстановит и продолжит

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

Ответы39495

255 1 фев, 20:19 255 1339495

>>1339480
А вообще есть смысл использовать TCP, если использоваться будет только локалка, или проще все через файловую систему запилить?

Ответы39498

256 1 фев, 20:21 256 1339498

>>1339495
В 2019 году нужно использовать HTTP(S) и пилить REST API.
В это даже роутеры могут.

Ответы39504

257 1 фев, 20:22 257 1339504

>>1339498
> HTTP(S)
Это же интернет-сайты, нет?

Ответы39506

258 1 фев, 20:25 258 1339506

>>1339504
HTTP отличный протокол практически для всего, кроме тяжелого реалтайма.

Ответы39512

259 1 фев, 20:28 259 1339512

>>1339506
Тяжелый реалтайм - это как? Несколько тысяч клиентов?

Ответы39523

260 1 фев, 20:31 260 1339523

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

Ответы39524

261 1 фев, 20:32 261 1339524

>>1339523
Почему тяжело поднять? Не совсем понял.

Ответы39540

262 1 фев, 20:33 262 1339526

>>1339440
SFML - это никаким боком не обертка над SDL, а отдельная реализация схожих вещей на плюсах в академичном ООП. SDL - это не обертка над OpenGL, а лишь одна из частей этого, причем не обязательная. Что ты вообще пишешь.

263 1 фев, 20:43 263 1339540

>>1339524
Ну епт, для роутера и сервера на 666 ядер тяжелый реалтайм это разные вещи, не догадываешься?
Правило простое, если HTTP тебе хватает, используй HTTP. Если же это для тебя выливается в большие траты на железо (например, ты ютуб), выдумывай что-то еще.

Ответы3954139553

264 1 фев, 20:45 264 1339541

>>1339540
Еще для игр везде предложи http использовать.

Ответы39543

265 1 фев, 20:46 265 1339543

>>1339541
А чем игры отличаются, школоигротрон? В точности такое же правило.

Ответы39547

266 1 фев, 20:48 266 1339547

>>1339543
Тем, что для только небольшого количества типов игр подойдет http (вебсокеты).

Ответы395513955639561

7 Кб, 377x374
267 1 фев, 20:49 267 1339551

>>1339547

Мужики, объясните, почему при таком объявлении длинны массива и самого массива int будут утечки памяти.

Ответы3955439557

3 Мб, webm,
540x960, 0:11
268 1 фев, 20:53 268 1339553

>>1339540
Ну ладно, спасибо тебе за советы, анончик. Держи няшу.

Ответы39565

269 1 фев, 20:53 269 1339554

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

Ответы395583956439570

270 1 фев, 20:55 270 1339556

>>1339547
ничего что вебсокеты не работают поверх http?

Ответы39560

271 1 фев, 20:55 271 1339557

>>1339551
Зачем тебе длина в виде указателя на инт?

Ответы39567

272 1 фев, 20:55 272 1339558

>>1339554
Мужик это крестьянин

Ответы39563

273 1 фев, 20:56 273 1339560

>>1339556
Ничего, это просто как альтернатива приведено.

Ответы39562

274 1 фев, 20:57 274 1339561

>>1339547
Только там где требуется низкая задержка не подойдет, там проще UDP срать. И я про это писал

275 1 фев, 20:57 275 1339562

>>1339560
В играх же UDP юзают?

Ответы3957239578

276 1 фев, 20:57 276 1339563

>>1339558
Мужик - это без наколки крестов или петухов.

Ответы3957039571

277 1 фев, 20:57 277 1339564

>>1339554
Вже...

278 1 фев, 20:57 278 1339565

>>1339553
Фу таким быть

Ответы39592

279 1 фев, 20:58 279 1339567

>>1339557
Для проверки выхода за пределы массива.

Ответы3957439575

280 1 фев, 20:58 280 1339570

>>1339563
В тюрьме то же значение практически, простой рабочий человек, не блатной и не петух.
Мужик это НЕ воин, как ты написал тут >>1339554

281 1 фев, 20:58 281 1339571

>>1339563
Ты сильно промахнулся. Из какой ты пещеры вылез?

282 1 фев, 20:59 282 1339572

>>1339562
Зависит от игр, на серваках часто udp и его реализации eNet там.

283 1 фев, 21:00 283 1339574

>>1339567
То есть это указатель на конец массива? Тогда нахуя ты его называешь длиной.

length пишется так, а не lenght
Судя по коду утечек может и не быть, хо

Ответы39579

284 1 фев, 21:00 284 1339575

>>1339567
Так и к чему тебе там указатель на инт, а не просто инт?

Ответы39579

285 1 фев, 21:00 285 1339576

тя хуй знает что ты там наворотил в реалзации

286 1 фев, 21:01 286 1339578

>>1339562
UPD юзают где гарантии доставки не нужны. Как правило они не нужны там, где малость задержки важнее корректности. Поэтому я написал про реалтайм

17 Кб, 460x631
287 1 фев, 21:04 287 1339579

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

>>1339574
Мне сегодня препод объяснял, что нужно как я понял через прибавление, то есть сначала создаём int, затем ему значение ноль присваиваем, не адрес, а именно значение.

Ответы3958339584

288 1 фев, 21:11 288 1339583

>>1339579
Ну так создаешь длину массива как int, потом при добавлении элемента в массив этот int++, наверное это он тебе говорил. Не указателя на int.

Ответы39588

289 1 фев, 21:12 289 1339584

>>1339579
Как у тебя Length->GetValue компилируется, если это указатель на int? Ты согласованные скрины кидай хотя бы.
Я утечек не вижу, в конструкторе 2 new, в деструкторе 2 delete.

Наверное, если в конструкторе Length->GetValue кинет исключение, то утечет память Lenght, но учитывая общую говняность кода этим можно пренебречь.

Ответы39588

290 1 фев, 21:17 290 1339585

Бля, какая залупа эти стандарты С++11, вроде не тупой, но нихуя не понятно

Ответы3959139597

76 Кб, 1342x768
291 1 фев, 21:18 291 1339588

>>1339583
>потом при добавлении элемента в массив

ШО? Это же не лист или вектор, тут сначала надо вычислить длину, а потом уже создать количество инт, равное длине.

>>1339584
Да, вот.

>но учитывая общую говняность кода этим можно пренебречь

Почему? Подробности плес.

Ответы3959839771

292 1 фев, 21:21 292 1339591

>>1339585
Используй старые.

/thread

293 1 фев, 21:21 293 1339592

>>1339565
В смысле?

294 1 фев, 21:24 294 1339596

Если у меня функция нихуя не проверяет и не выбрасывает ошибок, то её нужно помечать как noexcept?

Ответы39603

295 1 фев, 21:25 295 1339597

>>1339585
Попробуй modern effective c++ что-ли почитать. На сам деле новые стандарты делают многие вещи гораздо проще.

Ответы39600

296 1 фев, 21:25 296 1339598

>>1339588
>Почему? Подробности плес.
-1. Самописный массив место стандартного. Но ты, допустим, учишься (чему?)
1. _Int и _Char вместо темплейтов
2. Указатель на int вместо int
3. Общая бессмысленность - Cls_Value_Int - это нахуя? Хранить интегер в куче просто так?
4. lenght вместо length

Стиль тоже так себе, мне не импонирует. Почитай там саттера и александреску "101 хуйня про С++"

Ответы39609

297 1 фев, 21:26 297 1339600

>>1339597
Я и старый то не совсем понимаю. Вот auto где применять и в каких случаях он полезен?

Ответы3960139604

298 1 фев, 21:28 298 1339601

>>1339600
vector<int>* yoba = new vector<int>(5, 3)
vs
auto yoba = new vector<int>(5,3)

Ответы39606

299 1 фев, 21:28 299 1339603

>>1339596
Wrong hole.
Нужно смотреть не саму твою функцию, а где она будет вызываться.

300 1 фев, 21:29 300 1339604

>>1339600
Везде где только можно, он гарантирует что переменная определена.

301 1 фев, 21:31 301 1339606

>>1339601
А, понел, типа чтобы два раза не писать vector или любой другой класс?

Ответы39610

302 1 фев, 21:33 302 1339609

>>1339598
>Самописный массив место стандартного.

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

>темплейтов

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

>Общая бессмысленность - Cls_Value_Int - это нахуя? Хранить интегер в куче просто так?

опять же для удобства, иногда бывает надо напрямую получить доступ к переменной в классе, а делать 100500 set и get явно плохой вариант.

Последнее опечатка же.

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

Ответы39618

303 1 фев, 21:33 303 1339610

>>1339606
Да. Особенно в шаблонах приятно так делать
//T - некий контейнер типа вектор
template<typename T> yoba(T x) {
auto a = t.begin();
}
вместо
T::forward_iterator a = t.begin(); // ну или как-то так

Ответы39613

304 1 фев, 21:35 304 1339613

>>1339610
Круто. А такая запись ничем не чревата?

Ответы39619

305 1 фев, 21:39 305 1339618

>>1339609
>Что ты под этим подразумеваешь? Да, учусь.
Вместо этого лучше бы почитал код STL'ного вектора и почему он устроен так, а не иначе. Я за свою жизнь насмотрелся на самописные контейнеры, заебало уже, ну нахуя, почему на питоне никому не приходит в голову первым делом запилить свой собственный словарь или еще что-то, а все пользуются библиотекой, а на С++ считают важным эту библиотеку переписывать.
>опять же для удобства, иногда бывает надо напрямую получить доступ к переменной в классе, а делать 100500 set и get явно плохой вариант.
Не вижу связи, как тебе класс-обретка для инта поможет в этом

Ответы39630

306 1 фев, 21:40 306 1339619

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

Ответы3962139622

307 1 фев, 21:41 307 1339621

>>1339619
То есть лучше писать по старинке?

Ответы39623

308 1 фев, 21:43 308 1339622

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

Ответы39626

309 1 фев, 21:43 309 1339623

>>1339621
Пиши как удобно

310 1 фев, 21:44 310 1339626

>>1339622
Особенно в коде типа
template<typename T> yoba(T t) {
auto a = t.begin();
}

311 1 фев, 21:46 311 1339630

>>1339618
> ну нахуя

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

>Не вижу связи, как тебе класс-обретка для инта поможет в этом

Как минимум не будет мозолить глаза, как класс она приятнее, не шучу.

Ответы39632

312 1 фев, 21:48 312 1339632

>>1339630
>Чтобы понять зачем это было придумано.
Ну поэтому я поставил это под -1.
Хотя крестовый вектор ты все равно не переизобретешь.
>Как минимум не будет мозолить глаза, как класс она приятнее, не шучу.
Так себе мотивация.

Ответы39638

313 1 фев, 21:51 313 1339638

>>1339632

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

Ответы39643

314 1 фев, 21:55 314 1339643

>>1339638
Почитай дизайн и эволюцию с++, там написано, откуда шаблоны взялись

Ответы3964739756

315 1 фев, 21:56 315 1339647

>>1339643
Хорошо, но после Шилдта.

Ответы39651

316 1 фев, 21:58 316 1339651

>>1339647
Шилдт основной источник говна в твоей голове

Ответы39653

317 1 фев, 22:00 317 1339653

>>1339651
И кого же рекомендуют просвящённые?

Ответы39657

318 1 фев, 22:08 318 1339657

>>1339653
Вся проблема С++ в том, что хорошей книги для начинающих просто нет. У Страуструпа тоже говно.
Лично я рекомендую читать Кернигана и Ричи, Дизайн и эволюцию, Мейерса, Саттера, компилировать это все с своей голове и таким образом становиться хорошим программистом. Но это я рекомндую, больше так никто не делал.

Ответы39658396593966739756

319 1 фев, 22:09 319 1339658

>>1339657
А может лучше не читать, а больше практики?

320 1 фев, 22:10 320 1339659

>>1339657
Дизаен и Эволюция заинтересовала, правда её чот в интернете нету, видать придётся ползти на Удельную или где там книжная ярмарка бывает.

Ответы3966239664

321 1 фев, 22:13 321 1339662

>>1339659
Надо чередовать. Если будешь читать то, что сам не переживал, пропустишь мимо ушей. А если дохуя практики, то будешь изобретать хуевые велосипеды уровня 70-х годов.

Ответы39667

322 1 фев, 22:15 322 1339664

>>1339659
В интернете есть, посмотри где-нибудь на торрентах, раз правообладатель везде анально огораживает все

Ответы39667

323 1 фев, 22:17 323 1339667

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

>>1339662
Это да, вот выше мне подсказали про шаблоны, до этого шугался, теперь написав много одинаковых классов с разными типами данных пришёл к ним.

>>1339664
На рутракере глядел, не нашёл, может плохо смотрел, ведь мне нужна Русская версия, а там есть ещё и на оригинале, видимо программист, не знающий англ языка это нонсенс, а ведь он меня так раздражает.

Ответы39688

324 1 фев, 22:33 324 1339688

>>1339667
http://lib1.org/_ads/57ed0e8e9a94824b5369d8ebf6bf5265

Ответы3969439756

325 1 фев, 22:36 325 1339694

>>1339688
Благодарю

19 Кб, 551x165
326 1 фев, 23:17 326 1339719

Ебаная магия

Ответы39722

327 1 фев, 23:19 327 1339722

>>1339719
Напомните, чем (в данном случае) отличаются auto и decltype(auto) ?

Ответы3972439726

328 1 фев, 23:20 328 1339724

>>1339722
авто по правилам деклтайпа выводит

20 Кб, 640x214
329 1 фев, 23:22 329 1339726

>>1339722
вот оттуда же

330 1 фев, 23:38 330 1339731

>>1339323
Потому что в зависимости от условия мне нужно чтобы выполнялся cout или что - то другое (в данном случае вывод в стрим), не ужели это не понятно из скрина, вот жеж пишу >>1339104 ? Вот как тут можно увидеть что я пытаюсь вывести то или иное в зависимости от условия ?

>Нихуя у тебя и не получается
>потому что обе ветви тернарного оператора должны иметь один и тот же тип. Или хотя бы быть приводимы друг к другу, если не ошибаюсь.
Во - первых получилось уже, во вторых, то о чем ты пишешь это следствие из того что перед оператором обычно становится return/переменная и тд куда он отсылает либо первое значение либо второе, то есть в первую очередь значения должны быть, ну а по типам там уже в завимиости от того куда отправляю, типы можно и свои какие угодно нарисовать.

Ответы397373975539757

331 1 фев, 23:49 331 1339737

>>1339731
Я канешно извеняюсь...
Но еб твою мать, если в зависимости от условия нужно что-то выполнять или не выполнять, то у меня для тебя хорошая новость:
В язык добавлена конструкция специально для таких случаев, она называется оператор if.

Ответы39769

332 1 фев, 23:54 332 1339743

int yoba = 1;
yoba ? (cout << "peka", 0) : 0;

Господи, помилуй мя грешнаго

Ответы3974939753

333 1 фев, 23:56 333 1339745

Сиплаплас не нужно нах

112 Кб, 736x736
334 1 фев, 23:58 334 1339749

>>1339743
Запятую хоть перегрузил?

335 2 фев, 00:12 335 1339753

>>1339743
Ох уж эти копролюбители тернарных операторов.

Ответы3976239769

336 2 фев, 00:22 336 1339755

>>1339731
>Вот как тут можно увидеть что я пытаюсь вывести то или иное в зависимости от условия ?

Потому что твой ебаный код - это в точности вот это:
if (flag>0) false;
else cout << "хуйня" << endl;
И значит это, что ты в зависимости от условия хочешь либо что-то вывести, либо ничего не выводить.
А cout << "", ВНЕЗАПНО, ничего не выведет. Охуеть, да?

>во вторых, то о чем ты пишешь это следствие из того что перед оператором обычно становится return/переменная и тд куда он отсылает либо первое значение либо второе, то есть в первую очередь значения должны быть, ну а по типам там уже в завимиости от того куда отправляю, типы можно и свои какие угодно нарисовать.
Блядь, ты прикалываешься?
Может, ты сначала почитаешь про тернарный оператор и больше не будешь писать в своем коде такую хуйню?
Оператору ?: вообще насрать, что перед ним ставится, хоть ничего ему не ставь. Ты в курсе вообще, что ты можешь написать true ? void : void ? Это оператор, блядь, у него аргументы должны быть приводимы, а не левая сторона выражения. Если тернарный оператор вернёт строку, а ты попытаешься присвоить ее переменной типа int, ты получишь совсем другую ошибку.

Почему ты, блядь, не постишь со словами "никампилица" код типа 1 + vector<int>(10)? Или это почему-то для тебя очевидно?

Ответы397573976239769

337 2 фев, 00:26 337 1339756

>>1339688
>>1339643
>>1339657
> Страуструп
Как же бесит его стиль изложения, я охуенный, я крутой, я изобрел то, придумал се, а еще я философ, проводил всем вялым по губам в Кембридже и т.д.
Мерзкий уебок с комплексом неполноценности. Уебал бы мразь.

338 2 фев, 00:27 338 1339757

>>1339731
>>1339755
>>1339104
А если уж говорить касательно того, что ты хочешь в зависимости от значения флага выводить либо в консоль, либо в файл, то почему ты ставишь заглушку в виде false?
И если бы ты, опять же, задумался, то почитал бы доки и сделал бы так:
(flag > 0 ? fout : cout) << "текст";
Но ведь это же не говнокод, правда?нет, это тоже говнокод

Ответы39762

339 2 фев, 00:56 339 1339762

>>1339753
>>1339755
>>1339757

https://ideone.com/iJvxIr

я все правильно сделал??!
код же компилируется! и запускается!!))

Ответы39764

340 2 фев, 01:02 340 1339764

>>1339762
https://www.ioccc.org/2018/algmyr/prog.c

341 2 фев, 01:47 341 1339769

>>1339737
Частным случаем описаниея которой является тренарный оператор.
>>1339753
Ох уж эти любители писать if ()
{}
else if ()
{}
else {} вместо ??::
>>1339755
Я прочитал несколько предложений и мне очень не понравилось, извини, но мне не интересна беседа с тобой о чем - либо.

342 2 фев, 01:54 342 1339771

>>1339588
> if(...)
> {
> выражение
> }
> ...
> for(...)
> {
> выражение
> }

Ору.

Ответы397794023740645

343 2 фев, 02:27 343 1339779

>>1339771
Че, к кодстайлу хочешь приебаться? А я может еще и табами выравниваю, и хуле ты мне сделаешь?

Ответы4021440230

344 2 фев, 02:28 344 1339781

Ребята а может кто-то начинающему на простых словах объяснить что такое указатели * которые работают с оперативной памятью и чето то оттуда берут? не вкурил до конца в чем их бенефит

Ответы397833978739790

345 2 фев, 02:37 345 1339783

>>1339781
>не вкурил до конца в чем их бенефит
уебвывай тогда с доски

Ответы3978439790

346 2 фев, 02:38 346 1339784

>>1339783
пошел нахyй

Ответы3978539790

347 2 фев, 02:40 347 1339785

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

Ответы397863978739790

348 2 фев, 02:45 348 1339786

>>1339785
Достойный ответ(стрелки)
Предлагаю закрыть еблище, червяк который почему-то возомнил себя человеком

Ответы39790

349 2 фев, 02:45 349 1339787

>>1339785
Тянку заведи, вахтер
>>1339781
А ты иди нахуй

Ответы39790

350 2 фев, 02:50 350 1339790

>>1339783
>>1339784
>>1339785
>>1339786
>>1339787
Вот тебе ( >>1339781 ) пример работы с указателями, не блпгодари.
Автор | >>1339783 | >>1339785 |

>>1339787
Не знаю о чем ты, я аообще мимо на эту доску зашел так как писал про тринарный оператор и сейчас с нее съебу, ИМХО просто писать что ты нихуя не понял при этом не написать что именно и как пытался (что читал, примеры кода), объясните простыми словами про такую очевидно простуи и важную вешь как указатели все равно что заявить о своем умственном недуге, а посему самое эффективное разъяснение это послать нахуй.

351 2 фев, 02:57 351 1339793

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

Ответы397963979939802

352 2 фев, 03:07 352 1339796

>>1339793
Без указателей ты даже массив a не сделаешь. Указатели первичны, массивы вторичны. a это на самом деле *(a + i). Более того, ты можешь написать i[a], потому что это то же самое. Улавливаешь?

Ответы39801

353 2 фев, 03:08 353 1339797

>>1339395
>std::deque реализация двусторонней очереди, двусторонняя очередь может быть на списке двойном сделана, там за о(н) доступ
От deque::operator[] требуется не более чем амортизированная константа. Хватит бредить.

Ответы39817

354 2 фев, 03:12 354 1339799

>>1339793
>Ну если для тебя "бенефит" сложно перевести как "профит",
Борется с соломенным чучелом, молодца.
> Пытался разобраться
> я не понял в чем их преимущество над обычными переменными
> т.к больно сложная концепция
> ты ебаное животное
Ясно. Ну иди любой мало мальский полезный АТД организуй без них, ах да, helloworld.cpp же этого не требует, уточняй в следущий раз.

Ответы39801

355 2 фев, 03:16 355 1339801

>>1339796
Да, щас более менее начинаю , но надо почитать больше про это все
но пока не представляю где я *a напишу вместо обычной
>>1339799
> АТД
я уточнял, я писал что начинающий, мне нахуй пока не уперлось их применение там, чего я не знаю
а проходил я только функции и массивы

Ответы3980239804

356 2 фев, 03:24 356 1339802

>>1339801
Ладно, я съебываю уже отседа. Если бы ты сразу написал так >>1339793 я бы вообще ничего не написал, как - то так.

357 2 фев, 03:35 357 1339804

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

struct Predmet{
void do();
};

далее

struct Chuvak {
vector<Predmet звездочка> karman;
};

либо

vector<Predmet> premdety;

struct Chuvak {
vector<int> karman;
};

В первом случае у тебя будет

Chuvak chuvak;
//... заполняем карманы
(*chuvak.karman[0]).do();

вто втором

predmety[chuvak.karman[0]].do()

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

357 2 фев, 03:35 357 1339804

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

struct Predmet{
void do();
};

далее

struct Chuvak {
vector<Predmet звездочка> karman;
};

либо

vector<Predmet> premdety;

struct Chuvak {
vector<int> karman;
};

В первом случае у тебя будет

Chuvak chuvak;
//... заполняем карманы
(*chuvak.karman[0]).do();

вто втором

predmety[chuvak.karman[0]].do()

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

Показать весь текст
Ответы39805

358 2 фев, 03:46 358 1339805

>>1339804
>(*chuvak.karman[0]).do();
Без понтов уже жить не можешь?
chuvak.karman[0]->do();

Ответы39806

359 2 фев, 03:47 359 1339806

>>1339805
Не мешай педагогическому процессу, пидор.

360 2 фев, 05:07 360 1339817

>>1339797
Охуенно ты на double-ended list амортизированную константу сделаешь, да.

Ответы3981839819

361 2 фев, 05:09 361 1339818

>>1339817
double-linked
быстрофикс

362 2 фев, 05:23 362 1339819

>>1339817
Всем насрать, как ты это сделаешь.

Ответы39820

363 2 фев, 05:26 363 1339820

>>1339819
Большая разница, если как в stl то амортизированная константа, а если на листе, то О(Н), и пиздец нелогично то, что в очереди(!) сука рандом аксес за О(1). Можно было сделать другую структуру типа список массивов, чем по сути и является std::deque и никаких вопросов не было бы. А так бредово, мы от самой структуры спускаемся к реализации, это как в мапе можно было бы цвет ноды возвращать, эта хуеты не должно быть снаружи, а она как фича выставляется.

Ответы39823

364 2 фев, 05:30 364 1339823

>>1339820
>как в мапе можно было бы цвет ноды возвращать
Тип мапа это красно-чёрное дерево, что сложного добавить метод , которая бы возвращала цвет ноды, но нахуя? Снаружи это словарь, как и std::deque снаружи двусторонняя очередь, нахуя оставлять рандом аксес операторы, их вообще там быть не должно.

Ответы3982439826

365 2 фев, 05:31 365 1339824

>>1339823
Таблетки прими.

Ответы39827

366 2 фев, 05:31 366 1339826

>>1339823
Ну сука, давайте к стеку operator[] тоже приделаем тогда, а хули. Короче бред пиздец.

367 2 фев, 05:33 367 1339827

>>1339824
Хуетки. И приму, нехуй мне тут напоминать, ясно тебе? Если я шизик это не значит, что я неправ и у меня нет чувства вкуса, чувства прекрасного. А приделать operator[] к очереди полнейший пиздец.

Ответы39828

368 2 фев, 05:34 368 1339828

>>1339827
Довен, двусторонняя очередь уже есть — это std::list
Там никакого operator[]

Ответы3982939830

369 2 фев, 05:35 369 1339829

>>1339828
>двусторонняя очередь уже есть — это std::list
Это двусторонний список, блядь. По твоему мне зря в вузе структурами данных мозг ебли?

Ответы398313983539843

370 2 фев, 05:36 370 1339830

>>1339828
И блядь как по твоему deque расшифровывается? Сука тупой.
double-ended queue

Ответы39832

371 2 фев, 05:37 371 1339831

>>1339829
Двусвязный.
фикс

372 2 фев, 05:37 372 1339832

>>1339830
Ну и где там запрет иметь random access?

Ответы3983339834

373 2 фев, 05:39 373 1339833

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

374 2 фев, 05:40 374 1339834

>>1339832
В стеке и queue тоже нет запрета, хуле бы не влепить туда operator[], ну а чё, нормальная же тема.

Ответы39836

375 2 фев, 05:41 375 1339835

>>1339829
>Это двусторонний список, блядь. По твоему мне зря в вузе структурами данных мозг ебли?
Структурами может не зря ебли, но зря не ебли логикой, поэтому ты вышел дебилом.

Двусторонняя очередь это абстрактное понятие в виде требования к набору операций (заталкивание и доставание элементов спереди и сзади), и это в std::list есть.

std::deque создавали в том числе ради рандом эксеса.

Ответы39837

376 2 фев, 05:42 376 1339836

>>1339834
Это не контейнеры, а врапперы - ты можешь захотеть врапнуть лист, например, поэтому у них интерфейс ограничен.
Дек же это контейнер, то, что он расшифровывается как-то похуй

Ответы3983839842

377 2 фев, 05:43 377 1339837

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

Ответы39839

378 2 фев, 05:44 378 1339838

>>1339836
И что? По умолчанию там дека как контейнер используется, если лист поставил в темплейт параметре сам еблан и тд Оп

Ответы39840

379 2 фев, 05:44 379 1339839

>>1339837
Я тебя удивлю, но в стеке процессора есть рандом акцесс, например

Ответы39842

380 2 фев, 05:45 380 1339840

>>1339838
Ох уж эти аргументы ad eblanum.

Ответы39845

381 2 фев, 05:46 381 1339842

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

Ответы3984439846

382 2 фев, 05:48 382 1339843

>>1339829
>По твоему мне зря в вузе структурами данных мозг ебли?
Кароче, единственная твоя претензия что в C++ под названием deque обозначается не то, что было в методичке Урюпинского Заборостроительного. Утёнок as is.

Ответы39847

383 2 фев, 05:49 383 1339844

>>1339842
С каких это пор интерфейс сущности определяется по тому, что она делать НЕ должна, а не потому, что она делать должна? Есть push и pop - это стек. То, что у стека есть дополнительные функции, не стеком его не делает.

Ответы39850

384 2 фев, 05:50 384 1339845

>>1339840
Ну так а нахуй тебе явно указывать лист, а потом рассчитывать, что рандом аксес не за О(н) отрабатывать будет. Суть-то в том, что в queue нет никакого рандом аксеса, а в двусторонней с какого-то хуя есть. Пиздец некрасиво, я говорю, ну нужна вам структура с таким функционалом, ну запилите вы какой-нибудь std::list_array или типа того и хуй с вами. Но нет, запилить очередь-не очередь, ибо нам поебать.

385 2 фев, 05:50 385 1339846

>>1339842
так та же дека враппер для листа или массива.
deque это полноценный контейнер

386 2 фев, 05:52 386 1339847

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

Ответы39849

387 2 фев, 05:55 387 1339849

>>1339847
>это что-то будет вести себя как очередь,
Он ведет себя как очередь, оба метода очереди (запихнуть в конец и вытащить с начала) предоставлены.
У тебя претензии не то что он ведет себя как очередь, а то, что он может вести себя как-то еще. А это хуйня, а не претензия, если бы это было бы проблемой, такой вещи, как наследование интерфейсов не существовало бы. А оно существует в любом языке.

Ответы39851

388 2 фев, 05:55 388 1339850

>>1339844
Зачем из стека делать что-то большее, чем стек? Блядь, я вижу стек, я читаю стек, я ожидаю, что эта хуета поведёт себя так и только так, как может вести себя стек, мне поебать, что он внутри, а он снаружи мне с какого-то хуя предлагает в косынку сыграть и пиццу заказать мне от него только пуш и поп блядь надо и размер. Понимаешь меня? МЕня

389 2 фев, 05:56 389 1339851

>>1339849
Меня напрягает, когда вещи не то(а НЕ ТОЛЬКО ТО это тоже не то) чем кажутся. Такой хуйни не должно быть, сука.

Ответы39852

390 2 фев, 05:59 390 1339852

>>1339851
То есть ты хочешь нахуй отказаться от полиморфизма. Ну заебись, че.

Ответы39853

391 2 фев, 06:01 391 1339853

>>1339852
Нет, если ты хочешь сделать деку-со-спецэффектами, то так и скажи класс дека-со-спецэффектами : дека или что там, а это просто хуета, когда детали реализации выносятся наверх и подаётся что это типафича, а на деле хуйня.

Ответы39856398593986239863

392 2 фев, 06:05 392 1339856

>>1339853
И именно реализации, только в такой реализации от operator[] на деке есть какой-то смысл.

393 2 фев, 06:09 393 1339859

>>1339853
С такой логикой надо из всех контейнеров половину методов выкинуть

Ответы39862

394 2 фев, 06:10 394 1339862

>>1339853
То есть я понимаю, что такой проёб не просто так, наверняка это какой-то дикий костыль, без которого было бы геморно и похуй, надо так надо, но всё началось с того, что челу норм использовать деку как альтернативу массиву, хотя рандом аксес там торчащий из реализации костыль и ну хуй знает, короче. Так дела не делаются.
>>1339859
Неправда, первый раз столкнулся, как правило в стл всё пиздец как чётенько и по делу.

Ответы39865

395 2 фев, 06:11 395 1339863

>>1339853
Отсутствие оператора [] у списка это тоже детали реализации, вынесенные наверх.

Ответы39864

396 2 фев, 06:14 396 1339864

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

397 2 фев, 06:14 397 1339865

>>1339862
Да никто не воспринимает дек как дабл эндед кью. Точно так же, как никто не воспринимает вектор как вектор из линейной алгебры. Или например std::set это всегда дерево, а никакой не хэш.
Это философия С++ тащемта, абстракции не должны стоить производительности.

Ответы39867

398 2 фев, 06:21 398 1339867

>>1339865
Я воспринимаю, как бы смысл от них, если они не то, чем они являются, нахуй нужен такой стл где стринг это не строка, например.
>это всегда дерево, а никакой не хэш.
Разница между упорядоченный и неупорядоченный существенна, да и сет/мап это множество/словарь, а не дерево, вот как раз то, что оно дерево это уже реализация, которую нахуй не нужно нам знать и мы её, в отличие от хуйни с декой, и не знаем.
> абстракции не должны стоить производительности
Ну вот может быть, что operator[] там костыль, на котором половина стл держится, уверен, что этому есть причина, иначе бы там не было его.

Ответы3986839869

399 2 фев, 06:23 399 1339868

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

Ответы39869

400 2 фев, 06:26 400 1339869

>>1339867
>Я воспринимаю, как бы смысл от них, если они не то, чем они являются, нахуй нужен такой стл где стринг это не строка, например.
Тем, не менее, у std::string есть такие методы, как reserve и capacity. Низкоуровневые детали.
>>1339868
Вектор в линейной алгебре имеет кучу свойств типа существования vector operator+(vector, vector).
А вектор в С++ это динамический массив

Ответы39870

401 2 фев, 06:30 401 1339870

>>1339869
Суть передана, всё же понятие вектор есть и в программировании, где оно означает именно крестовый вектор. Вики не даст соврать
>Вектор — (последовательность, кортеж) однородных элементов. Это наиболее общее определение в том смысле, что может быть не задано обычных векторных операций вообще, их может быть меньше, или они могут не удовлетворять обычным аксиомам линейного пространства. Именно в таком виде вектор понимается в программировании, где, как правило, обозначается именем-идентификатором с квадратными скобками (например, object[]).
>>1339869
Для стринг это нормально, стринг по сути vector<char> с оговорками.

Ответы39872

22 Кб, 353x434
402 2 фев, 06:33 402 1339871

Наверное все спят, но, все же, может мне кто - нибудь объяснить.
Какого хуя First example выводит все слова чторазделены пробелом, то есть проходится по всему файлу а Second example всегда хуячит одно и тоже слово, то есть функция fscanf все время с одной и той же позиции ищет вхождение, но ведь в First example тоже также тогда должно быть, какого хуя там ей понятно что предидущее вхождение нужно скипать и искать следующее пока eof не настанет. Ну что за ебатория - то...

Ответы39875

403 2 фев, 06:33 403 1339872

>>1339870
>Для стринг это нормально, стринг по сути vector<char> с оговорками.
И для дека нормально

Ответы39873

404 2 фев, 06:37 404 1339873

>>1339872
В случае с декой, которая чисто программистское понятие, такая хуйня не прокатит. Да пофиг, то, что это костыль это ладно, я не против, а вот то, что этот костыль используется как фича, вот это тупо. Будешь такой код читать, где чел юзает деки вместо массивов и хуеть. И вроде как бы похуй, но вроде как бы и топор-отвертка получается, дрова норм рубит, но сука постоянно этот ебучий кусок отвёртки на обухе в глаза бросается, нахуя он, а потом видишь, как кто-то этим куском шурупы крутит за топор и вообще охуеваешь.

Ответы39877

405 2 фев, 06:41 405 1339875

>>1339871
Возвращаемое значение fscanf проверяй, довун.

Ответы39878

406 2 фев, 06:43 406 1339877

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

407 2 фев, 06:43 407 1339878

>>1339875
При чем тут возращаемое значение (количество преобразований) ? В первом случае fscan помещает в pBuf слово за слово постепенно с каждой итерацией новое и так до конца файла. Во - втором случае она помещает в pBuf каждый раз первое вхождение (считай первое слово) и все, ни идет дальше. Разъесни почему ?

Ответы39879

408 2 фев, 06:45 408 1339879

>>1339878
>Во - втором случае она помещает в pBuf каждый раз первое вхождение
Нет, только в первый раз.
Потом просто значение не меняется.
> Разъесни почему ?
Не может идти дальше. Тупик.

Ответы39881

1 Кб, 119x97
409 2 фев, 06:51 409 1339881

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

Ответы39883

410 2 фев, 06:52 410 1339883

>>1339881
>Так какого хуя тупик - то ?
Ты сам создал тупик в виде [A-z].

Ответы39884

411 2 фев, 06:56 411 1339884

>>1339883
почему тогда в первом случае "%s" не тупик ? в " " указывает то что ищем/получаем так ? "%s" значит до пробела/skip whitespace и чем это принципиально отличается от "A-z" что трактуется как все пока не встретится что - то что не !"A-z" а в комбинации с %s это что - то только до пробела.

Ответы39885

412 2 фев, 07:03 412 1339885

>>1339884
http://port70.net/~nsz/c/c11/n1570.html#7.21.6.2p8
> Input white-space characters (as specified by the isspace function) are skipped, unless the specification includes a [, c, or n specifier.

Ответы39889

413 2 фев, 07:12 413 1339889

>>1339885
Ну и хули теперь делать ?

Ответы39891

414 2 фев, 07:14 414 1339891

>>1339889
Скипай символ, если fscanf фейлится.

Ответы3989239894

415 2 фев, 07:17 415 1339892

>>1339891
Как, я уже нихуя логику это срани не понимаю...

416 2 фев, 07:20 416 1339894

>>1339891
Пэкспереминтировал, в первый раз эта хуита возвращает 1 (типа че - то нашла) дальше естественно только 0, как тут заставить ее начать искать дальше ...

Ответы39895

417 2 фев, 07:23 417 1339895

>>1339894
Кароче, бери std::string, читай туда всю строку через std::getline и разбивай по регулярке (std::sregex_iterator)

Ответы39896

418 2 фев, 07:25 418 1339896

>>1339895
Блядь я использования <regex> и пытаюсь избежать, хуя ты кэп.

Ответы39897

419 2 фев, 07:26 419 1339897

>>1339896
Хуя ты пытаешься его избежать?

Ответы39900

420 2 фев, 07:37 420 1339900

>>1339897
Потому что я более - менее знаком с RegExp и для меня какой - то бред использовать его всего то для выделения ебаных слов из файла.

Ответы3990139903

421 2 фев, 07:38 421 1339901

>>1339900
>знаком, но использовать не желаю
Пиздец ты дурак, ну так ебись тогда со сканфом, лол.

Ответы39907

422 2 фев, 07:41 422 1339903

>>1339900
Алсо ты можешь как мудила посимвольно считывать и проверять, что твои ебучие символы попадают в интервал нужный.

Ответы39907

423 2 фев, 07:48 423 1339907

>>1339903
>>1339901
Бля, анон, я сам сейчас проиграл на всю комнату, мне самому буквально 20 сек назад пришло прогонять буфер через sscanf(pBuf, "%[a-zA-Z]",pBuf); ,ебать надо спать идти уже точно. Спасибо тебе все равно, без тебя бы таки забил хуй и пошел бы доставать <regex>

Ответы39908

424 2 фев, 07:49 424 1339908

>>1339907
Да не за что. Зря ты регексов так чураешься, не понимаю такого. Но пофиг, добра.

Ответы39910

425 2 фев, 07:51 425 1339910

>>1339908
Согласен, взаимно <3

39 Кб, 512x512
426 2 фев, 09:02 426 1339930

Таки на этом мучения не закончились, чтоб оно неладно...
sscanf(from, "%[a-zA-z]", to) Выводит любое eng слово в любом регистре, в т.ч смешанном, заебок, но, нужно добавить ссаную кирилицу. Пробовал и %[а-яА-я] и %[a-zA-Z\u0401\u0451\u0410-\u042f\u0430-\u044f] в последнем случае выдает все eng-слова, но ебаный русский только в all-capitalize виде "ПРИВЕТ" выведет полностью, а "Привет" только "П", "привет" вообще не выведет, сцука, причем так будет если даже прописать только %[а-я] или %[А-я].

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

Ответы399323999340040

427 2 фев, 09:05 427 1339932

>>1339930
По факту блядь ну все готово 3k+ строк кода, хуева туча всего, все отлажено и причесано и я сижу и ебусь с ебаным текстом дольше чем не самые простые задачи решать времени. Нинавижу это говно.

Ответы39993

428 2 фев, 09:56 428 1339948

Поясните за CMake. Чё эта?

429 2 фев, 11:13 429 1339993

>>1339932
>>1339930
Покапавшись стало ясно что мозги ебет, кто бы мог подумать, кодровка. Энглишь поэтому норм проходит, а вот русланд хоть и нормально выделяется до пробела, дальше - то я описываю условие через коды в unicode, а текст насколько я понимаю не внем хранится, хотя я пробовал кормить все кодировки. Из больших символов например не распознаются Щ и Ы еще. Ну или я хз....

Ответы40001

430 2 фев, 11:37 430 1340001

>>1339993
lconv

431 2 фев, 13:29 431 1340040

>>1339930
>ПРИВЕТ
Вырвалось.
https://www.youtube.com/watch?v=VFvAX0nRy0M

432 2 фев, 17:40 432 1340214

>>1339779
>я может еще и табами выравниваю, и хуле ты мне сделаешь?
Но ведь по-хорошему так и надо.

Ответы40232

433 2 фев, 18:07 433 1340230

>>1339779
Школьник использует дефолтные настройки IDE - вот это да

434 2 фев, 18:12 434 1340232

>>1340214
>Но ведь по-хорошему так и надо.

Сейчас набегут питоношкольники, которым ANSI не указ.
Впрочем, даже у K&R открывающая скобка на одной строке с декларацией.

435 2 фев, 18:13 435 1340233

как сделать свою супер игру на c++ ну скажите как пожалуйста)) где почитать

Ответы40235402384025940332

436 2 фев, 18:14 436 1340235

>>1340233
в треде жабопидоров

437 2 фев, 18:18 437 1340237

>>1339771
С чего?

Ответы40537

438 2 фев, 18:22 438 1340238

>>1340233
Два пути — всё с нуля или взять UE4 и сразу начать делать.

Ответы40240

439 2 фев, 18:24 439 1340240

>>1340238
хочу с нуля..

Ответы40247

440 2 фев, 18:44 440 1340247

>>1340240
И через десять лет покажешь альфу своей игры.
Учи геометрию, кинематическую физику, OpenGL и GLSL.
И моделирование, без него никак.
И вообще иди в /gd

Ответы40304

441 2 фев, 19:32 441 1340259

>>1340233
Качаешь опенсорсный движок, компилируешь...

442 2 фев, 20:32 442 1340293

Что можно прикольного поделать с windows api ?

Ответы4030640979

443 2 фев, 20:40 443 1340301

[code]var c++ = Universe.getShit();[/code]

Ответы40549

444 2 фев, 20:42 444 1340304

>>1340247
>И моделирование, без него никак.
А вот например в пубг все модельки позаимствовали из опен сорса.

445 2 фев, 20:42 445 1340306

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

446 2 фев, 21:11 446 1340332

>>1340233
https://hero.handmade.network/episode/code

152 Кб, 982x541
447 3 фев, 00:48 447 1340486

Чому здесь к плюсам ассоциативность применяется, а к вызовам функций нет?

Ответы40495

448 3 фев, 01:03 448 1340495

>>1340486
Ассоциативность это a+b=b+a, при чем тут вызовы функций вообще

Ответы4049840525

40 Кб, 716x790
449 3 фев, 01:11 449 1340498

>>1340495
Нет, это в математике a+b=b+a.
В c++ это другое, см. последнюю колонку в таблице.

Ответы40521

450 3 фев, 01:57 450 1340521

>>1340498
Ээ, в твоей табличке 4 строка сверху - function call

Ответы40523

451 3 фев, 02:01 451 1340523

>>1340521
Ну так я и не могу понять.
И плюса и у function call установлена left-to-right ассоциативность.
Почему она игнорится у function call?

Ответы40527

452 3 фев, 02:03 452 1340525

>>1340495
Это коммутативность
(a + b) + c = a + b + c Левая ассоциативность
a + (b + c) = a + b + c Права ассоциативность

Ответы40527

453 3 фев, 02:13 453 1340527

>>1340523
Да вроде нет
https://ideone.com/sG0bIi
Существует вообще способ сделать правоассоциативный operator()
>>1340525
Точно, я соснул

152 Кб, 982x541
454 3 фев, 02:20 454 1340530

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

Ответы40531

455 3 фев, 02:22 455 1340531

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

Ответы40534

456 3 фев, 02:33 456 1340534

>>1340531
>нет двух operator() подряд?
Нигде не видел такого определения ассоциативности, чтобы требовались подряд идущие операторы.
Везде говорится о том, что ассоциативность разруливает ситуацию, когда встречаются операторы с одинаковым приоритетом.

Ответы40536

457 3 фев, 02:39 457 1340536

>>1340534
Окей, но в твоем примере и этого нет. Там из списка a++ a-- type() type{} a() a[] . -> только a() и есть.

Ответы40540

458 3 фев, 02:41 458 1340537

>>1340237
С того, что челик пишет четыре строчки вместо одной.

Ответы4053940716

459 3 фев, 02:46 459 1340539

>>1340537
Одну профессионалы не пишут. Надо три:
if (yoba) {
...
}

Две - сраный лисп, одна - студент с laba.cpp
Четыре - чел пришел с паскаля какого-нибудь

Ответы4054240718

12 Кб, 776x121
460 3 фев, 02:48 460 1340540

>>1340536
Есть четыре оператора вызова.
На одинаковых операторах ассоциативность тоже вроде как должна работать https://en.cppreference.com/w/cpp/language/operator_precedence

Ответы40544

461 3 фев, 02:50 461 1340542

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

if(yoba) printf("Eto ty? \n");

Ответы4054640720

462 3 фев, 02:52 462 1340544

>>1340540
Короче. Тебе делать больше нехуй? Есть простое правило - сомневаешься, поставь скобки. Вот и все. Страдаешь херней какой-то. Лучше программировать это тебе не поможет.

Ответы4054740551

463 3 фев, 02:53 463 1340546

>>1340542
Как и положено студенту с laba.cpp.
Еще и печатаешь небось подглядывая символов 100 в минуту.

Ответы40550

464 3 фев, 02:54 464 1340547

>>1340544
Чем меньше скобок, тем лучше. Иначе получится что-то вроде ((((((((()))))))))).

465 3 фев, 02:56 465 1340549

>>1340301
>var
>c++
PASCAL POWER ARE U DOWN ?

Ответы4084040922

466 3 фев, 02:56 466 1340550

>>1340546
Гораздо меньше. Лучше подумать, а потом сделать. Особенно, если речь о C++. А ещё я не пользуюсь IDE и компилирую через консоль.

467 3 фев, 02:57 467 1340551

>>1340544
Лол, у меня такое ощущение, что в том примере никак невозможно расставить скобки так, чтобы произвольно задать порядок вызова функций. Как скобки не ставь, будет либо тож самое, либо нарушится порядок сложения и умножения.
Только расчленять на отдельные выражения.

Ответы40560

468 3 фев, 03:11 468 1340560

>>1340551
Непроизвольный порядок вызова функций выглядит так: f(g(x)). yoba()() частный случай этого. Если результат одной функции не зависит от результата другой, они могут вызываться как угодно. Даже в случае
a(t)+b(t)c(t) если ты думаешь, что b(t) вызовется первым из-за приоритета, это не так. Приоритет касается только парсинга в AST, a(t)+b(t)c(t) будет распарсено как
a(t)+(b(t)@c(t)), то есть будет нода +, у нее две ноды, call с поднодами a и t, и умножить с поднодами b(t) и c(t). А порядок вызова это уже на этапе компиляции, и тут компилятор может запихнуть как ему удобно

469 3 фев, 10:33 469 1340645

>>1339771
У меня для тебя.

ЧИТАЕМОСТЬ, ЯСНОСТЬ КОДА

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

Ответы40714

470 3 фев, 13:35 470 1340714

>>1340645
>который только тебе понятен.
Во - первых в данном случае лишняя операция, а не только читаемость. Исходя из того что код в первую очередь должен работать и желательно быстро его как раз таки нужно делать наиболее читаемым не для дауна человека, а для машины. В этом и состоит смысл программирования, как можно точнее и короче объяснить ЭВМ чем ей вообще нахуй заняться. Если человек не может прочитать это, значит мы находимся в доме-приюте для слабоумных, погромисты-дауны не агрессивны сами по себе, значит перед нами просто не погромист, а значит он вообще нихуя не понимает и порду набъет в люьом случае, или не набъет в любом случае. Банально, читаемость как раз - таки становится в разы лучше так как из 500 строк кода становится +-150, где быстрее можно ориентироваться ? Наблюдая всю картину уже куда легче сконцентрировать внимание где нужно и там не уже не составит труда разобраться.

mimo shel

471 3 фев, 13:37 471 1340716

>>1340537
Хз, меня тимлид за такое ебал, приучил если есть if/for/while, значит должно быть
{
...
}
без вариантов, даже если там одна строчка внутри.

Ответы42384

472 3 фев, 13:39 472 1340718

>>1340539
>Одну профессионалы не пишут.
Три это С стайл, 4 цпп стайл.

Ответы42385

473 3 фев, 13:46 473 1340720

>>1340542
Бля анон ты не одтинок, я вообще выделяю части задачи - микрозадачи и хуярю обычно все в одну строку к ней относящееся, у всех кто читает горит они КАЖДЫЙ ОПЕРАТОР ХУЯРЯТ ЧЕРЕЗ #13#10, но, я вот не понимаю, есть код, хочется тебе его видеть в том каком - то виде, ну возьми да отформатируй его есть же инструменты, можешь под свой конфиг в два клика это сделать.

Я вообще фанат такого подхода, те же сайты,раньше для них писал CSS стили так как всегда не нравилось как они выглядят а еще больше UX, велосипеды там рисовал, переделывал UI/UX насколько это возможно попутно вхуячивая свои JS скрипыты, а эти суки один хуй через месяц все меняли, начали генерировать рандомный неймы/id и тд для жлементов, в общем пиздец. Ну я их понял, теперь я просто граблю всю инфу что мне нужно и уже на своей платформе наслаждаюсь ее представлнием как мне нужно и взаимодействие через API. Только то что мне нужно и как. ХЗ, может это болезнь.

837 Кб, 1024x718
474 3 фев, 15:10 474 1340770

В общем, пришло время поставить ньюфагов на место и расставить все точки над «i». Во первых, код должен быть как можно короче. Поэтому, если один оператор if пишется в 4 строки, а всего в исходном коде таких операторов, ну, скажем 1000, то это создаёт реальную проблемму. Сами посудите, 1000 строк лучше чем 4000. Во вторых, это в разы повышает читаемость и понятность кода, так как выражения такого типа наиболее близки к естественным языкам.

Вы же не пишете:
Если я заболею {
я не пойду в гости
}

Скорее всего вы напишете просто:
Если я заболею, то я не пойду в гости.

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

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

Ответы4077240782

475 3 фев, 15:11 475 1340772

>>1340770
Слишком толсто.

476 3 фев, 15:41 476 1340782

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

Ответы40805

477 3 фев, 16:30 477 1340805

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

478 3 фев, 17:20 478 1340840

>>1340549
Скорее javascript retard

Ответы4092241234

479 3 фев, 17:59 479 1340890

Анончик, а как лучше установить qt creator на мак?
И есть ли смысл опен сурс версию ставить? Или только триал 30 дн?

Ответы41038

480 3 фев, 19:04 480 1340922

>>1340549
>>1340840
Я джава-господин, чмохи. ЖС-бляди юзают let

Ответы41234

481 3 фев, 19:06 481 1340927

Посмотрела в шапке книги для ньюфагов, почему все они с 1200+ страниц?

Есть какой-то экспресс вариант до 300 страниц kind of The C Programming Language?

Ответы410534118641358

482 3 фев, 19:50 482 1340979

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

Ответы41238

483 3 фев, 20:33 483 1341038

>>1340890
бамп

484 3 фев, 20:43 484 1341053

>>1340927
тебе зачем?

Ответы41055

485 3 фев, 20:45 485 1341055

>>1341053
Для геймдева

486 3 фев, 23:33 486 1341186

>>1340927
Скорость чтения книги зависит не от ее объема, а от ее сложности.
Экспресс вариант будет тупо сложнее за счет более лаконичных и неоднозначных формулировок.

89 Кб, 750x531
487 4 фев, 01:17 487 1341234

>>1340840
scary horor
>>1340922
А нах твоя джава нужна когда нативное пишется на cpp не нативное в том числе JS в электроне ? Я вот все что писал на JS без проблем пользую в браузере. При этом у меня не стоит Java. Так что, вам, господин, пожаловать надобно прямиком в 2000 - x jar/jad поделки лепить.

Ответы41701

488 4 фев, 01:20 488 1341238

>>1340979
>Я как-то кейлоггер писал на winapi,
Что там писать - то, хук подрубить в виде dll ?
>который при запуске прописывается в регистре.
А должен перманентно инжектится в сис процессы, winapi же.

496 Кб, 500x283
489 4 фев, 02:22 489 1341296

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

Ответы41299

490 4 фев, 02:26 490 1341299

>>1341296
Учи постепенно с сишки и 98 стандарта

Ответы41302

491 4 фев, 02:29 491 1341302

>>1341299
Старые стандарты я уже выучил

Ответы41304

492 4 фев, 02:30 492 1341304

>>1341302
Тогда не знаю в чем проблема. У меня в основном одна мысль - "бля, наконец-то".

Ответы41312

493 4 фев, 02:41 493 1341312

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

Ответы41374

494 4 фев, 05:23 494 1341358

>>1340927
A Tour of C++

495 4 фев, 07:16 495 1341374

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

Ответы41376

496 4 фев, 07:53 496 1341376

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

Ответы41381

497 4 фев, 08:01 497 1341381

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

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

Ответы4138641388

498 4 фев, 08:10 498 1341386

>>1341381
>Опищи конкретную часто решаемую и востребованную задачу где необойтись без наследования классов или шаблонизации, либо использованаие таковых сраз эту задачу решает. Вперед.
std::vector, реши без шаблонизации. Вперед.

Ответы41387414714155542063

499 4 фев, 08:13 499 1341387

>>1341386
>Опиши задачу
>ну это вектор бля во вектор сделой мне вектор без шаблонизации, понял бля !
Ясно. Вперед, нахуй.

Ответы41396

500 4 фев, 08:19 500 1341388

>>1341381
У тебя есть разное железо - например, opencl и cuda и нужно написать полиморфную прослойку, которая позволяет делать код либо
Prosloyka<ProsloykaCuda> instance; либо через наследование.
Дальше все упирается в то, нужно тебе разруливать это в динамике или статики достаточно, во втором случае можно взять шаблоны, в первом - наследование.

А если ты захочешь eDSL в кресты встроить, то там совсем весело будет.

Ответы41391

501 4 фев, 08:28 501 1341391

>>1341388
>У тебя есть разное железо - например, opencl и cuda
Это не задача, здесь нет проблемы.
>нужно написать полиморфную прослойку
>ну там это задача как раз в том чтобы полиморфизм наш юзать, нуа хули, он нахуй нинужен вот задачи и выдумываю.
Где здесь проблема и задача ? Дословно, ты пишешь : А как ты не будешь использовать шаблонизацию если в задаче написано сделать шаблонизацию и полиморфизм. Вот только никогда проблема не являет собой саму необходимость использования того или иного АТД/Алгоритма/Инструмента/Etc

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

Ответы41394

502 4 фев, 08:41 502 1341394

>>1341391
>Вот только никогда проблема не являет собой саму необходимость использования того или иного АТД/Алгоритма/Инструмента/Etc
Иными словами, когда ты пишешь "Опищи конкретную часто решаемую и востребованную задачу где необойтись XXX" ты заранее задаешь провокационный вопрос, на который невозможно ответить, не зависимо от того, что подставить XXX.
Зачем задаешь тогда, аутист ты ебаный. Пиши все в машинных кодах и съеби из крестотреда.

Ответы41415

503 4 фев, 08:44 503 1341396

>>1341387
чтд, мамкин аутист

Ответы41415

504 4 фев, 09:28 504 1341415

>>1341394
> съеби из крестотреда.
да не очень - то и хотелось с вами даунами общаться
>>1341396
аутист -- человек с проблемами социализации, дауненок ты комнатный.

Ответы41421

77 Кб, 1000x667
505 4 фев, 09:44 505 1341421

>>1341415
Имплаинг у тебя нет проблем с социализацей

Ответы41422

506 4 фев, 09:55 506 1341422

>>1341421
Есть, но написать - то ты не это хотел. iq < 0 ?

507 4 фев, 11:15 507 1341471

>>1341386
Кстати задача с собеса, а ещё есть вариация сделать вектор на чистом си.

Ответы41474

508 4 фев, 11:18 508 1341474

>>1341471
>Кстати задача с собеса
Городского или районного?

Ответы41475

245 Кб, 610x385
509 4 фев, 11:19 509 1341475

>>1341474

510 4 фев, 13:07 510 1341555

>>1341386
Хранить указатели на void и указатель на функцию преобразующую назад к указателю на нужный тип.

Ответы4157341670

511 4 фев, 13:27 511 1341573

>>1341555
>указатель на функцию преобразующую назад к указателю на нужный тип.
Откуда функция будет знать какой тип нужный?

512 4 фев, 16:50 512 1341670

>>1341555
А как ты собрался деструкторы дергать, когда у тебя одни указатели на воид?

513 4 фев, 17:31 513 1341701

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

150 Кб, 281x500
514 5 фев, 03:12 514 1342051

Ебаный ебоманый ты веб, блять. Твои скрипты ебут где-нибудь, нихуй, а процессы гибнут на... на серверах нахуй.

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

Есть у меня сервер на апаче. И есть у меня желание, чтобы при определенном событии на странице сын собаки javascript отправлял данные на сервер, что-нибудь принимало эти данные, пинало бы крестовую программку и передавало ей данные, а она бы ими редактировала html-документ. Внимание, вопрос: каким образом такое можно реализовать и что использовать в качестве пинательно-приемопередаточно посредника?

Вся надежда на вас, анончики

Ответы4205442260

450 Кб, 1920x1080
515 5 фев, 03:27 515 1342054

>>1342051
Аноны, выручайте

смеюсь блять

516 5 фев, 05:27 516 1342063

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

Ответы42065

517 5 фев, 06:20 517 1342065

>>1342063
>синтаксический сахар
Ты не знаешь определения этого термина.

Ответы42081

518 5 фев, 08:10 518 1342081

>>1342065
Ты дебил? Я говорю что на сишном препроцессоре можно соорудить некое подобие простейших шаблонов, но это будет практически нечитаемо.

Ответы42083

519 5 фев, 08:12 519 1342083

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

520 5 фев, 10:50 520 1342150

Где перекат блят?

Ответы42230

521 5 фев, 13:29 521 1342230

>>1342150
Вот >>1339902 (OP)

ПЕРИКОТ >>1339902 (OP)
ПЕРИКОТ >>1339902 (OP)
ПЕРИКОТ >>1339902 (OP)
ПЕРИКОТ >>1339902 (OP)

Ответы42291

522 5 фев, 14:21 522 1342260

>>1342051
Гугли CGI из простого

523 5 фев, 15:26 523 1342291

>>1342230
Не пизди.

524 5 фев, 18:11 524 1342384

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

525 5 фев, 18:12 525 1342385

>>1340718
Все правильно он написал - три, в плюсах тоже. Т.к. при 4 при сворачивании блока у тебя будет висеть лишняя пустая строка, которая нахуй не нужна.

526 5 фев, 19:02 526 1342426

(*object).add(3) полностью аналогичен object->add(3) или это как у соседей непонятно?

Ответы42437

527 5 фев, 19:38 527 1342437

>>1342426
Полнасцью

Перекат 528 5 фев, 19:46 528 1342445

>>1342442 (OP)
>>1342442 (OP)
>>1342442 (OP)

80 Кб, 1920x1031
529 6 фев, 01:24 529 1342576

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

Ответы426674275242871

530 6 фев, 08:47 530 1342667

>>1342576
Тред утонул, пиши сюда >>1339902 (OP)

531 6 фев, 11:32 531 1342752

>>1342576
Создавай пустой проект всегда

1,2 Мб, 720x1096
532 6 фев, 16:16 532 1342871

>>1342576
Кнопочка "файл" левый верхний угол ->
Создать ->
Проект ->
Выбираешь Visual c++ ->
Выбираешь "Пустой проект" ->
Нажимаешь Ctrl+Alt+L ->
В обозревателе решений во вкладке "исходные файлы " жмешь ПКМ и "Добавить" ->
нажимаешь "создать элемент" ->
вкладка Visual C++ нажмешь "файл С++" ->
"Добавить" -> Пишешь говнятину.
Я уже блять не знаю как проще объяснить
Бля тред без шапки выпилили

Ответы42924

140 Кб, 1920x1080
533 6 фев, 17:43 533 1342924

>>1342871
Немного не то, но я чуть подшаманил с шаблонами и сделал что хотел. Чтоб при создании проекта сразу было написано то, что мне надо
Спасибо!

Ответы42951

534 6 фев, 18:20 534 1342951

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

Ответы4295343740

535 6 фев, 18:21 535 1342953

>>1342951
*классы
быстро-фикс

536 6 фев, 19:57 536 1342984

анончики вот этот код рабочий что меня удивило! поясните нубу

char c = 0;
std::cin.get(c);

std::cout << c << std::endl;

как этот код вообще работает? как функция находит адрес локальной с?

Ответы4303450169

537 6 фев, 20:45 537 1343012

Легитимный перекат
>>1342442 (OP)
>>1342442 (OP)
>>1342442 (OP)
>>1342442 (OP)
>>1342442 (OP)

538 6 фев, 21:07 538 1343034

>>1342984
Линкуется с libastral.so

539 7 фев, 10:29 539 1343218

Какую сетевую библиотеку посоветуете для кооперативного шутера? Чтобы с модными молодежными компенсациями лагов и прочего. Кто что допиливает под свои нужды.

Ответы52676

540 8 фев, 01:09 540 1343740

>>1342951
Я просто спортивный

541 18 фев, 01:00 541 1350169

>>1342984
Этот феномен вроде ссылка называется.

542 22 фев, 18:12 542 1352676

>>1343218
Если проект не масштабный, а домашний/игрушечный, то в качестве отличной практики можно попробовать всё самому написать. Сетевая часть не далеко от quake убежала. Есть отличная статья на хабре, описывающая основные моменты. Куча статей про детальный реверс.
https://habr.com/ru/post/324804/
https://cs-mapping.com.ua/forum/showthread.php?t=37309

543 1 мар, 23:52 543 1357478

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

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

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

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

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

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