加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 05:23:26 所属栏目:大数据 来源:网络整理
导读:我知道标记字符串参数为const可以产生巨大的性能差异,但是序数类型呢?我通过使它们const获得任何东西? 我在处理字符串时总是使用const参数,但从来没有使用Integer,Pointer,类实例等。 当使用const时,我经常需要创建额外的临时变量,替换现在写保护的
我知道标记字符串参数为const可以产生巨大的性能差异,但是序数类型呢?我通过使它们const获得任何东西?

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读