gpt4 book ai didi

string - Delphi字符串共享问题

转载 作者:行者123 更新时间:2023-12-03 15:22:38 26 4
gpt4 key购买 nike

我有大量对象,其中都存储有文件名。所有文件名都位于给定的基本目录中(我们称之为C:\BaseDir\)。我现在正在考虑两种选择:

  1. 在对象中存储绝对路径
  2. 在对象中存储相对路径并另外存储基本路径

如果我正确理解 Delphi 字符串,第二种方法将需要更少的内存,因为基本路径字符串是共享的 - 假设我将相同的字符串字段传递给所有对象,如下所示:

TDataObject.Create (FBasePath, RelFileName);

这个假设正确吗?内存中是否只有一个基本路径的字符串实例?

如果有人知道处理此类情况的更好方法,也请随时发表评论。

谢谢!

最佳答案

你是对的。当您使用两个字符串变量编写 s1 := s2 时,内存中有一个字符串并且有(至少两个)对其的引用。

您还询问尝试减少内存中的字符串数量是否是一个好主意。这取决于与其他消耗内存的对象相比您有多少字符串。只有你才能真正回答这个问题。

关于string - Delphi字符串共享问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7201236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com