Size: a a a

2020 July 24

ПК

Побитый Кирпич... in pro.cxx
То есть функтор создастся до вызова foo
источник

DP

Denis Paukaev in pro.cxx
Побитый Кирпич
видимо в функтор
Тут даже функтора нет, простой вызов функции
источник

ПК

Побитый Кирпич... in pro.cxx
Denis Paukaev
Тут даже функтора нет, простой вызов функции
функтор в виде лямбды в  then передаётся
источник

ПК

Побитый Кирпич... in pro.cxx
там параметр std::function
источник

AT

Andrew Titov in pro.cxx
Побитый Кирпич
Если бы был такой код:
foo(params).bar(std::move(params));

ЕМНИП до С++17 тут можно было словить отстрел ноги.
У меня похожий случай
Хм... а можно ли этот код переписать в следующем виде? Если да, то получается, что caller and args are indeterminately sequenced.
&decltype(foo(params))::bar(foo(params), std::move(params))
источник

ip

illya palkin in pro.cxx
Побитый Кирпич
Если бы был такой код:
foo(params).bar(std::move(params));

ЕМНИП до С++17 тут можно было словить отстрел ноги.
У меня похожий случай
Было бы очень странно если бы это не работало. А как же всякие chain of responsibility patterns.
А ты точно не о arguments evaluation order ?
источник

ПК

Побитый Кирпич... in pro.cxx
illya palkin
Было бы очень странно если бы это не работало. А как же всякие chain of responsibility patterns.
А ты точно не о arguments evaluation order ?
Точно
источник

ПК

Побитый Кирпич... in pro.cxx
Andrew Titov
Хм... а можно ли этот код переписать в следующем виде? Если да, то получается, что caller and args are indeterminately sequenced.
&decltype(foo(params))::bar(foo(params), std::move(params))
я не понимаю что здесь написано
источник

AT

Andrew Titov in pro.cxx
Указатель на функцию-член.
источник

DP

Denis Paukaev in pro.cxx
illya palkin
Было бы очень странно если бы это не работало. А как же всякие chain of responsibility patterns.
А ты точно не о arguments evaluation order ?
Мне кажется было бы странно вычислять что-то для then, который вообще может быть не вызван из-за исключения в foo например )
источник

ip

illya palkin in pro.cxx
Denis Paukaev
Мне кажется было бы странно вычислять что-то для then, который вообще может быть не вызван из-за исключения в foo например )
Так еще и dot operator вычисляется left to right
источник

AT

Andrew Titov in pro.cxx
illya palkin
Так еще и dot operator вычисляется left to right
А где можно прочитать про это?
источник

ip

illya palkin in pro.cxx
Andrew Titov
А где можно прочитать про это?
источник

AT

Andrew Titov in pro.cxx
Ассоциативность ≠ порядок вычисления.
источник

ip

illya palkin in pro.cxx
Andrew Titov
Ассоциативность ≠ порядок вычисления.
Ну да, не так выразился
источник

AT

Andrew Titov in pro.cxx
Left-to-right associativity означает, что a.b.c эквивалентно (a.b).c, но порядок вычисления a, b и c не задан.
источник

AS

Anatoly Shirokov in pro.cxx
Andrew Titov
А где можно прочитать про это?
источник

AT

Andrew Titov in pro.cxx
Кажется, там ничего не сказано про member access operator.
источник

AS

Anatoly Shirokov in pro.cxx
Andrew Titov
Кажется, там ничего не сказано про member access operator.
источник

AS

Anatoly Shirokov in pro.cxx
а вот собственно предложение, которое вошло в стандарт http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0145r1.pdf
источник