Информация об изменениях

Сообщение Re[4]: Можно ли записать читабельнее? от 07.04.2023 20:59

Изменено 07.04.2023 21:01 rg45

Re[4]: Можно ли записать читабельнее?
Здравствуйте, Кодт, Вы писали:

К>Вот только дефолтить значащий аргумент к ... — это моветон.


Тут согласен. Я просто старался упрощать, как мог

К>Поэтому визит и визитёры нужно сделать немножко по-другому.

К>http://rsdn.org/forum/cpp/8501535.1
Автор: Кодт
Дата: 07.04.23


А вот тут, я бы вместо

[](auto& t, int) -> std::void_t<decltype(t.foo(0))> { t.foo(0); }


написал бы все-же вот так:

[](auto& t, int) -> decltype(t.foo(0)) { return t.foo(0); }


Так опрятнее, по-моему. Но с концептами лучше всего — это очевидно.
Re[4]: Можно ли записать читабельнее?
Здравствуйте, Кодт, Вы писали:

К>Вот только дефолтить значащий аргумент к ... — это моветон.


Тут согласен. Я просто старался упрощать, как мог

К>Поэтому визит и визитёры нужно сделать немножко по-другому.

К>http://rsdn.org/forum/cpp/8501535.1
Автор: Кодт
Дата: 07.04.23


А вот тут, я бы вместо

[](auto& t, int) -> std::void_t<decltype(t.foo(0))> { t.foo(0); }


написал бы все-же вот так:

[](auto&& t, int) -> decltype(t.foo(0)) { return t.foo(0); }


Так опрятнее, по-моему. И перфект-форвардинг референс в параметре снимает головную боль с контанстностью и lvalue-rvalue.

Но с концептами лучше всего, конечно, это очевидно.