在函数参数中常量类型的常量化是否会显着提高性能?
|
一位朋友告诉我,这样做效率更高
int addNumbers(const int number1, const int number2);
比
int addNumbers(int number1, int number2);
假设number1
和number2
当然不会被赋予新值。这会大大提高性能吗?我还应该了解其他副作用吗?
没有找到相关结果
已邀请:
5 个回复
赣借
更多的是让编译器帮助您避免犯诚实的错误。声明参数的恒定性只是类型安全的另一种形式,而不能提高性能。 大多数现代编译器将能够检测变量是否确实是常数,并应用正确的优化方法。因此,出于性能原因,请勿使用const-correctness。而是出于可维护性原因使用它,并防止自己犯下愚蠢的错误。
蕉衫
锹缄
烷刨画颠离
与
第二种情况可能会更快,因为编译器只会将引用推入堆栈。在第一种情况下,整个向量将被推送。
赐黄