
Аттрибутивно-ассоциативный ряд
06.09.2018
06:57:09
Доброе утро. Есть приложение которое создаёт объект в куче и отдает указатель в длл, где объект удается. Какие подводные камни могут быть? 11 стандарт, с-апи, posix платформы

Александр
06.09.2018
07:05:46

Аттрибутивно-ассоциативный ряд
06.09.2018
07:07:32

Александр
06.09.2018
07:07:57

Google

Александр
06.09.2018
07:08:13
Чтобы всё было ок, нужно "вшивать" deleter в указатель

Egor
06.09.2018
07:08:14

Аттрибутивно-ассоциативный ряд
06.09.2018
07:08:29

Алексей
06.09.2018
07:37:12

Antony
06.09.2018
07:38:15
Так что рекомендую переписать с C на PHP :)

Daniel
06.09.2018
07:40:51

Алексей
06.09.2018
07:41:49
Начал практиковаться в ц++11 и обнаружил, что несмотря на определение конструктора перемещения и применение std::move в std::map улетает копия инстанса. Что я пропустил?

Max
06.09.2018
07:42:11

Antony
06.09.2018
07:42:43

Anatoly
06.09.2018
07:44:16

Алексей
06.09.2018
07:44:17

Google

/dev
06.09.2018
07:49:34

Ilia
06.09.2018
07:58:09

Ioann V
06.09.2018
08:12:42
Я забанил сразу за такое вот...
Блять. Пи$дец, днище. Зачем банить? На лицо, что человек запутался или чего то не знает. Почему взять и не объяснить ему в чем он не прав?

Antony
06.09.2018
08:13:07
Однако большинство людей под С++ понимают так называемый «современный C++», со счетчиками ссылок, классами, исключениями, шаблонами, лямбдами, STL, Boost, и так далее.
...
Если вам очень важна скорость, то писать на таком C++ вы не сможете. Если же он вам подходит, то лучше взять Java, Go или любой другой высокоуровневый язык по вкусу.
после этого места стало невозможно
Самое печальное - это количество и активность аудитории на этом сайте. Тоесть люди реально читают и верят в написанное


Matwey
06.09.2018
08:14:25
Идём далее -
"Код на C прекрасно пишется без каких-либо тяжеловесных IDE, в обычном Sublime Text или Vim с ctags. Для сколь-либо серьезного кода на C++ без нормальной IDE жизнь быстро становится очень грустной, потому что автоматический вывод типов, шаблоны, и вот это все, и потому что ctags начинает забрасывать не туда, куда нужно. К счастью, IDE для C++ существуют. CLion, например, довольно неплох. Но не все программисты согласны платить за него деньги и попрощаться с 2 Гб оперативной памяти. К тому же, CLion не все и не всегда подсвечивает правильно, и если открыть в нем сразу два проекта, то даже довольно мощный компьютер начнет тормозить. Есть и другие IDE, но у них свои проблемы, например, привязка к Windows или отсутствие важных возможностей, таких, как вывод типов."
Тут всё индивидуально. Тут есть много людей, что в виме сидят и валят кодяру. я их не понимаю, конечно. Но тот же Qt Creator я считаю очень лёгким. и его хватает для базовых вещей
Я в vim сижу и не жужжу


Сиие
06.09.2018
08:16:09

Ioann V
06.09.2018
08:17:08


Igor
06.09.2018
08:18:29
Привет, ребята, извиняюсь сразу за вопрос, но как сложно сделать что-то типа MTA (плагин к GTA: SA) для Mount & Blade (кампания в мультиплеере)?
за МТА не уверен, уж слишком гладкая у неё синхронизация, а вот за SAMP могу рассказать такое: самп это по сути сильно продвинутый трейнер, который хакает твою игру, но не устанавливает 100500 жизней, а получает данные от сервера, создаёт персонажей в соответствии с информацией о других игроках, и неистово шлёт на сервер информацию о действиях твоего персонажа
соответственно чтобы создать его подобие для другой игры, нужно как минимум чтобы 1) она поддерживала подобные механизмы скриптового управления персонажами 2) эти механизмы были доступны трейнер-процессу мультиплеера, после чего 3) распотрошить игру и преисполниться знаниями об этих механизмах, дабы можно было написать подобный трейнер

Ilia
06.09.2018
08:21:29

Antony
06.09.2018
08:21:51

Igor
06.09.2018
08:22:41
дурацкое автодополнение..

Ilia
06.09.2018
08:22:54

Igor
06.09.2018
08:23:28

Matwey
06.09.2018
08:23:44

Ilia
06.09.2018
08:24:34

Ruslan
06.09.2018
08:25:09
Ну, пока занимает...

Ilia
06.09.2018
08:25:41

Google

Igor
06.09.2018
08:25:54
это да)

/dev
06.09.2018
08:26:24

Agrailag
06.09.2018
08:27:33
@antoshkka, а какова вероятность, что примут вариант модулей от майков(как я понимаю, они за вариант без макросов) ? И что вообще влияет на выбор(лоббирование компаниями своих интересов, или чёт другое)?

Antony
06.09.2018
08:28:39


Ruslan
06.09.2018
08:30:07

Antony
06.09.2018
08:31:54

Ilia
06.09.2018
08:32:39

Ioann V
06.09.2018
08:35:35


Ilia
06.09.2018
08:37:26
? у меня есть ощущения что местами плюсы даже быстрее выйдут
Блин, основной способ повышения производительности С -кода -- инлайнинг функций. Я уж не помню, как там С умеет автоматом иннайнить, может и научился уже давно, но С++ инлайнить умеет очень хорошо. Поэтому да, С++ должен либо выигрывать, либо не проигрывать.

Oleg
06.09.2018
08:38:34

Ilia
06.09.2018
08:39:43
Ага, что взять с автора, который пишет такое:
"Трудно ругать язык, на котором написаны Chromium, Skype"
...
А потом такое:
То есть, тот C++, на котором вы пишите, почти как на Java, в котором никогда не встречаются обычные указатели, и вот это все. Если вам очень важна скорость, то писать на таком C++ вы не сможете
Да это просо КГАМ, и всё.

Antony
06.09.2018
08:45:00
Это вы осознаёте. Но для множетва людей, не знакомых с темой (как и сам автор) это будет звучать правдоподобно и люди будут в это верить и уверенно повторять.

Ilia
06.09.2018
08:48:18
Три топ это QtCreator, Visual Studio и CLion.

Alexander
06.09.2018
08:50:14

Ilia
06.09.2018
08:50:28
Ну где, где этот Павел?
МЫ ЕГО РАСКАТАЛИ!

Alexander
06.09.2018
08:50:32
Критичные места определяются профилированием

Igor
06.09.2018
08:50:41
ты же его забанил

Ilia
06.09.2018
08:50:49
Нет, не банил

Google

Igor
06.09.2018
08:51:09
)
на тебя даже Иоанн на это сагрился, а ты и не заметил)

Matwey
06.09.2018
08:51:41
Блин, основной способ повышения производительности С -кода -- инлайнинг функций. Я уж не помню, как там С умеет автоматом иннайнить, может и научился уже давно, но С++ инлайнить умеет очень хорошо. Поэтому да, С++ должен либо выигрывать, либо не проигрывать.
Ну в ядре следят за тем, чтобы функции которые наружу единиц компиляции не показывают, помечали как static. От этого, говорят, C-компилятор начинает их инлайнить.

Ilia
06.09.2018
08:53:50
нет банил
Я не банил. Но в мемберах его нет. Либо сам ушёл, либо ушли.

Kitsu
06.09.2018
08:55:45

Igor
06.09.2018
08:56:16
но это же не делает плюсы г-ном?

Kitsu
06.09.2018
08:57:04
очевидно, что на любом яп можно написать плохой код, так что нет
Но в вопросах сложности автор прав, без хорошего опыта плюсов их очень сложно понимать

Antony
06.09.2018
09:03:04

Matwey
06.09.2018
09:04:06
Ну хочу думать, мое дело писать static

Antony
06.09.2018
09:05:34
Там когда Линус успокаивается, он пишет конкретные причины, что ему в C++ не нравится: http://harmful.cat-v.org/software/c++/linus
- the whole C++ exception handling thing is fundamentally broken. It's
_especially_ broken for kernels.
- any compiler or language that likes to hide things like memory
allocations behind your back just isn't a good choice for a kernel.
- you can write object-oriented code (useful for filesystems etc) in C,
_without_ the crap that is C++.

Matwey
06.09.2018
09:06:39

Kirill
06.09.2018
09:06:41
Зачем _вот такие_ подчёркивания?

Matwey
06.09.2018
09:06:56

Alexander
06.09.2018
09:07:20

Matwey
06.09.2018
09:08:11

Ildar
06.09.2018
09:08:55
Я по ссылке из статьи сходил в репу glm и у меня вопрос возник: с какой целью используется конструкция вида template <...> template<...> в этом куске кода и что она делает?
template<typename T, qualifier Q>
template<qualifier P>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<4, 4, T, P> const& m)


Antony
06.09.2018
09:10:10
С исключениями он прав, над этим думают и пока не знают что делать
С подкапотными аллокациями (в случае исключений, сопрограм, и внезапных мест в стандартной библиотеке) он тоже отчасти прав. Но в случае со стандартной библиотекой такое же безобразие есть и в С - можно сделать функцию, которая внезапно что-то аллоцирует. Тоесть тут скорее проблема обучения, чем нерешаемая проблема библиотеки.
ООП в плюсах он погорячился отчасти. На плючах выразительнее и короче. Но ряд вещей в ядре требуют 1 инстанс класса наследника. В этом случае указатели на функции внутри класса позволят работать чуть быстрее, чем виртуальные функции C++ (за счёт -1 косвенности)

Google

Ilia
06.09.2018
09:10:15