delphi – 使用const参数和序数类型有什么优点吗?

前端之家收集整理的这篇文章主要介绍了delphi – 使用const参数和序数类型有什么优点吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道标记字符串参数为const可以产生巨大的性能差异,但是序数类型呢?我通过使它们const获得任何东西?

我在处理字符串时总是使用const参数,但从来没有使用Integer,Pointer,类实例等。

当使用const时,我经常需要创建额外的临时变量,替换现在写保护的参数,所以我想知道:我从标记序数参数const获得任何东西吗?

解决方法

你需要了解原因,避免“货币编程”。将字符串标记为const会导致性能差异,因为您不再需要对字符串使用引用计数的互锁递增和递减,这种操作实际上变得越来越昂贵,而不是越来越少,随着时间的推移,因为更多的核心意味着更多的工作以保持原子操作同步。这是安全的,因为编译器强制执行“这个变量不会改变”约束。

对于序数,通常是4字节或更少,没有性能增益。使用const作为优化仅在您使用大于4个字节的值类型(例如数组或记录)或引用计数类型(如字符串和接口)时有效。

但是,还有另一个重要的优点:代码可读性。如果你传递的东西为const,它对编译器没有什么区别,它仍然可以对你有所帮助,因为你可以阅读的代码,看到它的意图是让这个不被修改。这可能是重要的,如果你没有看到的代码之前(别人写它),或者如果你回来了很长时间,并不记得你在想什么,当你最初写它。

原文链接:https://www.f2er.com/delphi/103719.html

猜你在找的Delphi相关文章