В показанном вами примере return
ничего не делает.Но подумайте об этом примере:
void do_the_thing()
{
if(it's already done)
return;
do the thing;
}
Если делать это дорого или вызывает проблемы, если это уже было сделано, вам нужна логика, подобная этой.И, помимо «затрат», существует множество причин, по которым функция может сделать меньше, чем полный набор действий во время любого вызова.
Другими словами, возвращаясь из функции void, хотя она и выиграла 't возвращает значение, по крайней мере, удержит функцию от выполнения каких-либо последующих действий.
(Теперь, с учетом сказанного, наличие return
в середине функции не единственныйДостижение такой цели. Вместо if
операторов, которые заставляют функцию возвращаться раньше, вы можете использовать if
операторы или else
предложения, чтобы заставить функцию делать то, что ей нужно, возвращаясь к моему примеру.мог бы также написать
void do_the_thing()
{
if( ! already done) {
do the thing;
}
}
И это приводит к спорам о вечном стиле, а именно, является ли хорошей или плохой идеей иметь несколько операторов return
, разбросанных по функции, или если всегда должен быть ровно один, в конце.)