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

Сообщение Re[2]: return void от 15.06.2023 14:16

Изменено 15.06.2023 14:24 rg45

Re[2]: return void
Здравствуйте, CRT, Вы писали:

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).
Re[2]: return void
Здравствуйте, CRT, Вы писали:

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).