
Даниил
14.08.2017
11:38:47

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

Constantine
14.08.2017
12:20:58
И случаи, когда происходит 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

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

Anatoly
14.08.2017
12:47:06
Или как, @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:58:53

Ilia
14.08.2017
14:58:59

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

Vladislav
14.08.2017
14:59:37

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

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

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

Alexander
14.08.2017
15:00:40

Sergey
14.08.2017
15:01:03

Vladislav
14.08.2017
15:01:33

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

Alexander
14.08.2017
15:03:50

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

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

Alexander
14.08.2017
15:05:22

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
Бля

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

Grigor
14.08.2017
16:37:37

Alexander
14.08.2017
16:37:48

Дед Пегас
14.08.2017
16:38:12

Alexander
14.08.2017
16:38:29

Дед Пегас
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

Stanislav
14.08.2017
18:25:23

Alexander
14.08.2017
18:29:15

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

Vladislav
14.08.2017
18:33:51

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

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