@ProCxx

Страница 1208 из 2477
Даниил
14.08.2017
11:38:47
хм, ну архитектурно лучше всего было бы имхо сделать всё на динамической диспетчеризации т.е. чтоб можно было регестрировать свои обработчики для типа сообщений динамически мб что-то типа middleware вообще другой вопрос, что это конечно повлекло бы оверхед в рантайме, так что тут по ситуации
потому что тут опять-таки проблема расширяемости варианта с наследованием вот в какой-то прекрасный момент понадобится иметь разный набор протоколов в двух местах приложения в варианте с диспетчеризацией просто создаёшь новый инстанс и у него регестрируешь новые типы сообщений

Ilia
14.08.2017
11:57:00
Тебе на питоне надо программировать. Там так.

Даниил
14.08.2017
12:00:12
при чём тут язык вообще, лол я о подходе

Google
Ilia
14.08.2017
12:05:52
Язык == некоторый подход (набор подходов)

Alex Фэils?︙
14.08.2017
12:09:03
Тут знак не "равно", а "подразумевает"

Ilia
14.08.2017
12:10:04
да

Даниил
14.08.2017
12:11:42
в данном случае язык тут не при чём в питоне тоже есть наследование (и даже множественное), и его там довольно активно используют

Constantine
14.08.2017
12:13:03
Вот у меня есть класс фабрики MC объектов по прототипу и по-хорошему он не MC, поскольку создаваемый объект содержит ссылку на фабрику, но мне нужно, чтобы объект инициализировался через {} в структурах как обычно (по прототипу)

Вопрос: есть ли смысл писать proposal, чтобы можно было объявить Move Constructor так, чтобы был разрешен Move Elision, но не был разрешен Move Constructor

что-то вроде classname(classname && other) = elisioned;

Antony
14.08.2017
12:15:38
Constantine
14.08.2017
12:17:21
хм... это категорически не очевидно

Berkus
14.08.2017
12:20:43
что-то вроде classname(classname && other) = elisioned;
elided слово в совершенной форме

Constantine
14.08.2017
12:20:58
Так ведь из коробки в С++17. Если пишешь classname(classname && other) = delete; то copy elision разрешен
Мы точно правильно понимаем друг друга? Класс не Сopy Constructible, если я удаляю Move Constructor то я могу использовать {} structure initializator?

И случаи, когда происходит copy/move elision?

Antony
14.08.2017
12:24:44
И случаи, когда происходит copy/move elision?
Мы про этот случай ? classname(classname && other) = delete; ... template <class... Args> classname make_classname(Args... args) { classname c (args...); c.init(); return c; // copy elision, compiles in C++17 }

Google
Constantine
14.08.2017
12:25:27
class factory { public: factory(){}; factory(factory const& other) = delete; factory(factory && other) = delete; }; void f() { factory f = factory(); //11 : <source>:11:25: error: use of deleted function 'factory::factory(factory&&)' }

хм... clang скомпилировал под -std=c++1z

Antony
14.08.2017
12:27:48
gcc 7.1 тоже https://godbolt.org/g/X6gQRf

С С++17 это идёт из коробки.

Constantine
14.08.2017
12:28:32
Угу. Спасибо, а какая точная формулировка теперь на Copy/Move elision?

В смысле, как ее блокировать-то? :)

Antony
14.08.2017
12:31:50
Вроде никак :) Это равносильно тому, что компилятор сразу создаст по мету нужный объект, без всяких копирований и перемещений

Constantine
14.08.2017
12:32:05
class factory { public: factory(){}; factory(factory const& other) = delete; factory(factory && other) = delete; }; factory g() { return factory(); } void f() { factory f = g(); //немного взрывает мозг, но все ок }

Antony
14.08.2017
12:32:55
class factory { public: factory(){}; factory(factory const& other) = delete; factory(factory && other) = delete; }; factory g() { return factory(); } void f() { factory f = g(); //немного взрывает мозг, но все ок }
Ага, для этого и делалось - чтобы можно было делать фабрики для классов которые нельзя копировать и перемещать

Constantine
14.08.2017
12:36:00
Всегда приятно, когда комитет догадался о чем-то до меня :) Осталось подождать MS, хехехе

Anatoly
14.08.2017
12:47:06
Ага, для этого и делалось - чтобы можно было делать фабрики для классов которые нельзя копировать и перемещать
но если я помещю factory(factory const& other) = delete; factory(factory && other) = delete; в приватный раздел, по идее, приведенный выше код не должен скомпилироваться

Или как, @antoshkka ?

Aleksei
14.08.2017
12:53:04
а оператор = не надо?

Anatoly
14.08.2017
12:53:36
в этом примере он не задействован

Хьюстон, есть кто на базе?

Antony
14.08.2017
13:04:48
Или как, @antoshkka ?
Я попробовал - компилирует и с private :) Там до конструкторов вообще дело не доходит

Anatoly
14.08.2017
13:05:39
да, получается, что это вообще не оптимизация, а полностью переработанная концепция: In a function call, if the operand of a return statement is a prvalue and the return type of the function is the same as the type of that prvalue. T f() { return T{}; } T x = f(); // only one call to default constructor of T, to initialize x T* p = new T(f()); // only one call to default constructor of T, to initialize *p Note: the rule above does not specify an optimization: C++17 core language specification of prvalues and temporaries is fundamentally different from that of the earlier C++ revisions: there is no longer a temporary to copy/move from.

Vladislav
14.08.2017
14:53:45
нормально там
objC и С++ нормальные по-отдельности, но их комбинация objC++ - адов франкенштейн. Там все фичи дублированны по 2 раза - две (несовместимых) системы классов, два (несовместимых) синтаксиса лямбд, две (несовместимых) системы эксепшнов, и т.д.

Nik
14.08.2017
14:55:05
а зачем он тогда вообще?

Google
 Sergey
14.08.2017
14:59:12
в мобильной разработке под ios

Vladislav
14.08.2017
14:59:37
А где такой симбиоз испльзуется ?
в основном, чтобы писать обертки над плюсовым кодом для дерганья из objC

Nik
14.08.2017
14:59:42
А как же модненький свифт?

Sergei
14.08.2017
14:59:43
Только хотел это написать.

Ilia
14.08.2017
14:59:43
И — подскажите — вроде бы objectivec уже загнулся , и только как legacy рассматривается ?

 Sergey
14.08.2017
15:01:03
Vladislav
14.08.2017
15:01:33
А как же модненький свифт?
оно (objC++) появилось задолго до свифта

Sergei
14.08.2017
15:02:12
Я несколько матерных писем в апл написал из-за этого языка, ад конечно, а они сейчас на нем весь метал написали , а шейдеры на С++

Sergei
14.08.2017
15:04:21
Но мне было важно это сказать =))

Geek
14.08.2017
15:05:01
Тут 1.5к программистов по сишарп?! Ууу... Неплохо) Тоже решил научиться сишарпу После теста в гикбрейнс ?

Group Butler [beta]
14.08.2017
15:05:27
Geek
14.08.2017
15:05:54
Vladislav
14.08.2017
15:06:09
Alex Фэils?︙
14.08.2017
15:06:34
Это чат по языкам C/C++. Про c# велком в другой чат: @pro_net

Google
Дед Пегас
14.08.2017
15:07:03
Это чат по языкам C/C++. Про c# велком в другой чат: @pro_net
По шарпу есть специальный чатег https://t.me/CSharpChat

Бля

Geek
14.08.2017
15:07:16
Балин Точно

Дед Пегас
14.08.2017
15:07:21
Вот.

Aleksei
14.08.2017
15:07:40
1c-ник в чате!!!

Geek
14.08.2017
15:08:29
Перепутал Бывает

Parviz
14.08.2017
15:45:58
хэлоу

Admin
ERROR: S client not available

Alexander
14.08.2017
16:34:40
никто не хочет стать мейнтейнером бустовой либы?

будет вам честь, хвала и почёт

https://svn.boost.org/trac10/wiki/CommunityMaintenance

Дед Пегас
14.08.2017
16:36:27
https://svn.boost.org/trac10/wiki/CommunityMaintenance
Она на git переходить не собираются?

Grigor
14.08.2017
16:37:37
никто не хочет стать мейнтейнером бустовой либы?
а что делать надо и какими объемами?

Alexander
14.08.2017
16:37:48
Она на git переходить не собираются?
а ты не видел бустовую репу на гитхабе?

Дед Пегас
14.08.2017
16:38:12
Alexander
14.08.2017
16:38:29
а что делать надо и какими объемами?
http://www.boost.org/community/official_library_maintainer_program.html

Видел.
ну так что?)

Дед Пегас
14.08.2017
16:38:56
Alexander
14.08.2017
16:39:21
Почему?
ну просто я даже svn части не касаюсь. И буст на гитхабе хостится

 Sergey
14.08.2017
16:48:15
в мейнтейнеры берут всех желающих или есть какой-то отбор?

Google
Alexander
14.08.2017
16:48:45
Grigor
14.08.2017
16:49:03
ну конечно же смотрят, кто ты по масти
полотенце в ноги бросают?

Alexander
14.08.2017
16:57:02
полотенце в ноги бросают?
типа того. Смотрят, каков опыт, какие проекты есть, на код посмотрят. Вон недавно взяли мейнтейнера на Boost.UUID

Greetings! I'm a long-time boost user and over the years I have posted defects into boost trac for the components I have used. I was reviewing the backlog on boost::uuid and in trac and it needs a bit of grooming. I started submitting some PRs to resolve some of these. Edward D. in the CMT group was reviewing some of them and mentioned that there is no active maintainer for the library, and invited me to introduce myself here. I am currently a committer on the Apache Thrift project and I have 20+ years development experience with C++. I have good experience at backlog grooming, and I am very focused on quality. I believe firmly in testing all code branches, and using coverage tools to prove it. I also assisted the glibc team in getting started with Coverity Scan which helped lead to resolution of 138 defects at last count. My current position is a Software Architect at HPE SimpliVity where I have been for the last ~7 years (I'm easy to find on LinkedIn, hopefully). I live in Westford, MA, USA. Given there is no maintainer for boost::uuid currently, I would like to petition for that responsibility. It is a relatively small library in the portfolio and seems like a good introduction to being a maintainer in such a widely used project. Thanks for your consideration, Jim King

Azoyan
14.08.2017
16:57:23
Не каждый пройдёт прописку

Alexander
14.08.2017
17:10:38
полотенце в ноги бросают?
ну вообще мейнтнить - поддерживать компиялемость на компилах новых, фиксить баги

ничего экстраординарного

Stanislav
14.08.2017
17:43:18
https://blogs.msdn.microsoft.com/visualstudio/2017/08/14/visual-studio-2017-version-15-3-released/

whoohoo

Tom
14.08.2017
17:56:41
Stanislav
14.08.2017
18:08:34
https://github.com/Therena/ConEmuIntegration

Alexander
14.08.2017
18:23:20
А ты про какую либу вообще?
какую хочешь из списка либ без мейнтейнера

https://github.com/Therena/ConEmuIntegration
крайне полезная штука как отдельный консольный клиент на винде

Alexander
14.08.2017
18:29:15
еще бы, им и пользуюсь
я не представляю, чем ещё можно пользоваться на винде)

Berkus
14.08.2017
18:33:29
если ты на нем пишешь для удовольствия - мои соболезнования

Berkus
14.08.2017
18:34:12
потому что бриджить плюсы с помощью голого си еще более ебанутое занятие

 Sergey
14.08.2017
18:54:39
interesting proposal https://www.youtube.com/watch?v=61w4LbQ0fzU

Страница 1208 из 2477