1

不是专业的程序员,但偶尔会写程序,最近我听到一个人给我们讲了一些编程技巧,他说的一件事是,一个称为运算符和函数重载的 C++ 特性会损害程序的性能。

然后我做了一些测试,在执行速度方面,我发现一些程序与函数和运算符重载没有区别,那么函数/运算符重载的真正缺点是什么,如果有的话?

4

3 回答 3

3

无论如何,函数重载对性能没有影响。重载解决是在编译时完成的。以不同的方式命名你的函数而不是重载相同的名称并不重要。

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

于 2013-01-17T22:35:53.307 回答
2

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

于 2013-01-17T22:34:23.287 回答
1

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

于 2014-04-25T04:23:24.910 回答