За исключением особых случаев, когда вы действительно, действительно знаете, что делаете, должно возвращаться либо class&
, либо void
.(И большую часть времени возвращение void
должно быть просто заполнителем для "Я ленивый и не удосужился убедиться, что возвращение class&
имеет смысл")
Возвращение class
плохая идея, потому что она тратит впустую время и память (она делает копию!) в обычном случае, когда пользователь не использует возвращаемое значение, и полностью введет в заблуждение пользователя, который фактически использует возвращаемое значение (и все еще тратит впустую)время копий).