|
|
1
8
LStrArrayClear不是每个字符运行一次循环;它对数组中的每个字符串运行一次,以减少ref计数,并在字符串达到0时释放该字符串。编译器插入此命令以清除任何分配为局部变量的字符串,或它创建的任何临时字符串,以保存两个串接的结果。
UStrCat是字符串连接例程。是什么
这是必要的,你也无能为力。LStrArrayClear是事情变得有点模糊的地方。当您创建一个处理字符串的例程时,编译器必须分配足够的临时字符串来处理您可以在其中执行的所有操作,无论您是否执行过。然后它必须在事后清除它们。因此,通过将不常见的任务移动到其他函数来减少不必要的字符串操作会有所帮助,特别是在紧密循环中。 例如,你多久会看到这样的事情?
此错误消息包含5个不同的子字符串。即使它能够通过重用来优化它们,它仍然需要分配至少两个临时字符串来实现这一点。假设这是在一个紧密的循环中发生的,您不希望这种错误频繁发生,如果有的话。您可以通过将字符串连接卸载到格式调用中来消除临时字符串。这是一个非常方便的优化,事实上,它内置于
|
|
|
2
6
|
|
|
3
2
|
|
|
4
2
|
|
|
Boltu · pandas从url返回的值是什么? 1 年前 |
|
|
trystine · 试图运行CausalNex错误UnicodeEncodeError:“charmap”编解码器无法对位置263607-263621中的字符进行编码:字符映射到<undefined> 1 年前 |
|
|
Danny Coleiro · 向文本字符串添加不可见字符 1 年前 |