重载的缺点是什么?

时间:2013-01-17 22:30:21

标签: c++ performance overloading

不是专业程序员,但偶尔编写程序,最近我听到一个人向我们谈论了一些编程技巧,他说的一件事是一个叫做操作符和函数重载的C ++特性会损害性能一个程序。

然后我做了一些测试,就执行速度而言,我发现某些程序与函数和运算符重载之间没有差异,而这些没有,那么函数/运算符重载的真正缺点是什么呢?

3 个答案:

答案 0 :(得分:3)

函数重载对性能没有任何影响。重载分辨率在编译时完成。以不同的方式命名您的函数而不是重载相同的名称对于一个iota来说并不重要。

运算符在某种程度上重载同上。操作员重载的潜在问题是您可能不太了解您正在使用它们,因此您可能在没有意识到的情况下使用昂贵的操作。使用常规函数而不是重载运算符使这更加明显。但我认为这充其量只是一个微弱的论点。

答案 1 :(得分:2)

重载不会导致执行速度下降。这个人可能一直在混淆虚函数,虚函数通常用指针间接实现。

答案 2 :(得分:1)

重载不会影响性能的速度。相反,它降低了文档复杂性程序员以更好的方式使用内存,并且更容易通过名称跟踪函数。程序员得到了使用相同名称定义近似相似功能的优势。