更多C++学习笔记,关注 wx公众号:cpp读书笔记
Item 27: Familiarize yourself with alternatives to overloading on universal references
Item26中说明了对使用通用引用形参的函数,无论是独立函数还是成员函数(尤其是构造函数),进行重载都会导致一系列问题。但是也提供了一些示例,如果能够按照我们期望的方式运行,重载可能也是有用的。这个条款探讨了几种,通过避免在通用引用上重载的设计,或者通过限制通用引用可以匹配的参数类型,来实现所期望行为的方法。
讨论基于Item26中的示例,如果你还没有阅读那个条款,请先阅读那个条款再继续。
放弃重载
在Item26中的第一个例子中,logAndAdd
是许多函数的代表,这些函数可以使用不同的名字来避免在通用引用上的重载的弊