外部参数是否已过时?

Dav*_*vid 3 c++ design-patterns

我很长一段时间的直觉和实践是尽可能避免使用params.我相信一个函数应该有一个逻辑目的,通常意味着一个返回类型(不返回多个东西).有时,返回多个东西是可取的(fe std :: map :: insert).我知道这可以作为一对/元组或输出参数来完成; 使用哪一个对我来说不那么重要.

偏好输出参数或返回值的概念,设计或性能原因是什么?

Luc*_*ore 6

你是对的,不需要输出参数,因为RVO使得返回值可行,即使是大型类型也是如此.并且必须返回多个东西要么是代码气味,要么可以合理地包装在结构中.

我要说的唯一剩下的原因,也是一个大问题,就是一致性.如果类已经通过参数返回了数十个方法,请坚持下去(除非你有权重构这个糟糕的东西:).