|
|
1
20
Delphi字符串是在写时复制的。如果修改字符串(不使用指针技巧或类似技术欺骗编译器),对同一字符串的任何其他引用都不会受到影响。 Delphi字符串不在内部。如果您从两个单独的代码段创建相同的字符串,它们将不会共享同一个备份存储区-相同的数据将存储两次。 |
|
2
4
Delphi字符串不是不可变的(try:string1[2]:='a'),但它们是引用计数并在写入时复制。 散列的结果还不清楚,您必须详细说明它们是如何存储的等等。 但是散列值应该只依赖于字符串的内容,而不是它的存储方式。这使整个问题变得哑口无言。除非你能更好地解释。 |
|
|
3
2
正如其他人所说,delphi字符串 不 一般不可变。这里有一些关于delphi中字符串的参考。 http://blog.marcocantu.com/blog/delphi_super_duper_strings.html |
|
|
4
1
Delphi版本可能很重要。好的旧DelphiBCL将字符串作为copy-on-write处理,这基本上意味着当字符串中的某些内容发生更改时会创建一个新实例。所以是的,它们或多或少是不变的。 |
|
|
Emanuel Pinho · 无不变目标push的角度变化检测策略 8 年前 |
|
|
MingtyeP · 如何使用不可变js取消移动列表中的每个元素? 8 年前 |
|
|
Brannon · 让赋值运算符在申报时工作 8 年前 |
|
|
Javallion · JAVA中的不可变对象初始化 8 年前 |
|
|
Ankush Pandit · 字符串与字符串数组元素之间的比较 8 年前 |
|
|
plamkata__ · Swift到Kotlin,管理不可变列表 8 年前 |