Size: a a a

2020 September 23

VF

Vlad Faust in pro.cxx
Засунуть однажды и забыть как страшный сон — это потом никакого маинтаин-абилити
источник

m

magras in pro.cxx
Anatoly Tomilov
return из оператора сразу в return метода _lex_char_container происходит
Да, RVO, видимо не помешает. А вот NRVO кажется не будет работать. Мне кажется компилятору придется использовать локальную переменную.
источник

AT

Anatoly Tomilov in pro.cxx
magras
Да, RVO, видимо не помешает. А вот NRVO кажется не будет работать. Мне кажется компилятору придется использовать локальную переменную.
вот так типа лучше?
источник

AT

Anatoly Tomilov in pro.cxx
можно ещё универсальнее сделать — чтобы generic лямбда прямо в пользовательском коде создавалась, а AtResult уйдёт в библиотечный хедер.
источник

m

magras in pro.cxx
Anatoly Tomilov
тело функции переносится в AtResult. Вместо прямого доступа до данных-членов (i к примеру) — доступ через lexer. (lexer.i к примеру)
Наверное я не прав. Если все тело переносить в AtResult все должно работать.

Но в таком случае, кажется можно просто зафорвардить вызов в auto foo_impl(...) или любой другой уже предложенный вариант.
источник

m

magras in pro.cxx
magras
Наверное я не прав. Если все тело переносить в AtResult все должно работать.

Но в таком случае, кажется можно просто зафорвардить вызов в auto foo_impl(...) или любой другой уже предложенный вариант.
Я опять туплю. Извиняюсь.
источник

AT

Anatoly Tomilov in pro.cxx
источник

AT

Anatoly Tomilov in pro.cxx
вот прям то, что надо. И не очень магично)))
источник

AT

Anatoly Tomilov in pro.cxx
AtResult, в который запихивается лямбда, отходит в какой-то хедер и про него можно забыть
источник

АР

Андрей Руссков... in pro.cxx
using T = struct {}; наверно не очень удобная штука. Потом forward declaration придется так же делать
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
using T = struct {}; наверно не очень удобная штука. Потом forward declaration придется так же делать
наверное так. Просто забавный синтаксис
источник

AT

Anatoly Tomilov in pro.cxx
Вот в сухом остатке https://wandbox.org/permlink/JcfJF8nvS65xwl9s
источник

АР

Андрей Руссков... in pro.cxx
Anatoly Tomilov
наверное так. Просто забавный синтаксис
ну это как
auto x = T{};
крутой до жопы синтаксис, вот только совершенно непрактичный )
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
ну это как
auto x = T{};
крутой до жопы синтаксис, вот только совершенно непрактичный )
с круглыми скобочками — очень даже практичный
источник

АР

Андрей Руссков... in pro.cxx
если только ты совсем из js'а пришел и хочешь писать через
#define var auto
var i = 1;
источник

AT

Anatoly Tomilov in pro.cxx
для конвертации
источник

АР

Андрей Руссков... in pro.cxx
Anatoly Tomilov
с круглыми скобочками — очень даже практичный
most vexing parse )
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
most vexing parse )
непустыми
источник

AT

Anatoly Tomilov in pro.cxx
auto size = size_t(std::distance(beg, end)); к примеру
источник

АР

Андрей Руссков... in pro.cxx
мм
источник