Сообщение Re[2]: return void от 15.06.2023 14:16
Изменено 15.06.2023 14:21 rg45
Re[2]: return void
Здравствуйте, CRT, Вы писали:
CRT>И чем это лучше чем
CRT>
CRT>По-моему doActionA(); return; лучше чем return doActionA(); в плане ясности кода
В данном примере, конечно ни чем. Но пример-то синтетический. А ты попробуй, например, реализовать аналог std::apply: тебе дают какую-то вызываемую сущность (функцию или функциональный объект) и список фактических параметров, запакованных в std::tuple. Тебе нужно распаковать тупл и передать аргументы в фунционал. И вернуть нужно то, что вернул функционал.
CRT>И чем это лучше чем
CRT>
CRT>void dispatch(Actions action) {
CRT> switch (action) {
CRT> case Actions::A: doActionA(); return;
CRT> case Actions::B: doActionB(); return;
CRT> }
CRT>}
CRT>???CRT>По-моему doActionA(); return; лучше чем return doActionA(); в плане ясности кода
В данном примере, конечно ни чем. Но пример-то синтетический. А ты попробуй, например, реализовать аналог std::apply: тебе дают какую-то вызываемую сущность (функцию или функциональный объект) и список фактических параметров, запакованных в std::tuple. Тебе нужно распаковать тупл и передать аргументы в фунционал. И вернуть нужно то, что вернул функционал.
Re[2]: return void
Здравствуйте, CRT, Вы писали:
CRT>И чем это лучше чем
CRT>
CRT>По-моему doActionA(); return; лучше чем return doActionA(); в плане ясности кода
В данном примере, конечно ни чем. Но пример-то синтетический. А ты попробуй, например, реализовать аналог std::apply: тебе дают какую-то вызываемую сущность (функцию или функциональный объект) и список фактических параметров, запакованных в std::tuple. Тебе нужно распаковать тупл и передать аргументы в фунционал. И вернуть нужно то, что вернул функционал — возможно ссылку, возможно значение, а возможно ничего (void).
CRT>И чем это лучше чем
CRT>
CRT>void dispatch(Actions action) {
CRT> switch (action) {
CRT> case Actions::A: doActionA(); return;
CRT> case Actions::B: doActionB(); return;
CRT> }
CRT>}
CRT>???CRT>По-моему doActionA(); return; лучше чем return doActionA(); в плане ясности кода
В данном примере, конечно ни чем. Но пример-то синтетический. А ты попробуй, например, реализовать аналог std::apply: тебе дают какую-то вызываемую сущность (функцию или функциональный объект) и список фактических параметров, запакованных в std::tuple. Тебе нужно распаковать тупл и передать аргументы в фунционал. И вернуть нужно то, что вернул функционал — возможно ссылку, возможно значение, а возможно ничего (void).