老师劝诫c++少用default arguments,为什么啊有什么不好吗
老师告诫c++少用default arguments,为什么啊,有什么不好吗
老师告诫c++少用default arguments,为什么啊,有什么不好吗
------解决方案--------------------
参考http://blog.****.net/weiwangchao_/article/details/6928645
------解决方案--------------------
#1说的对,该用的时候还是要用,应该明确的讲明什么时候该用,什么时候不该用。默认参数有时候还是很有用的,能简化不少东西,单用重载处理大量重复的代码也是很麻烦的。
不过在某些情况下的确不该用,比如有你除了默认参数还有重载的情况,容易引起二义性的问题。还有《Effective C++》中条款38还说了决不要重新定义继承而来的缺省参数值,具体例子可以看这里,简单的说就是如果派生类和基类想有不同的默认参数,那干脆不要有默认参数比较安全。默认参数有很多限制,自己去了解下。
去掉很多不能用的情况,剩下能用的情况就少了,但这不是说要尽量少用,而是说在允许的条件下合理使用。
老师告诫c++少用default arguments,为什么啊,有什么不好吗
------解决方案--------------------
参考http://blog.****.net/weiwangchao_/article/details/6928645
------解决方案--------------------
#1说的对,该用的时候还是要用,应该明确的讲明什么时候该用,什么时候不该用。默认参数有时候还是很有用的,能简化不少东西,单用重载处理大量重复的代码也是很麻烦的。
不过在某些情况下的确不该用,比如有你除了默认参数还有重载的情况,容易引起二义性的问题。还有《Effective C++》中条款38还说了决不要重新定义继承而来的缺省参数值,具体例子可以看这里,简单的说就是如果派生类和基类想有不同的默认参数,那干脆不要有默认参数比较安全。默认参数有很多限制,自己去了解下。
去掉很多不能用的情况,剩下能用的情况就少了,但这不是说要尽量少用,而是说在允许的条件下合理使用。