Q624353765 发表于 2023-12-5 17:44 返回文本型会多复制一次内存,不过看你喜欢了 |
此时此刻才体现了火山C++的威力 |
可以试下这个,优化的重点是将分配内存的次数降到最低。 <火山程序 类型 = "通常" 版本 = 1 /> 方法 间隔插入指定文本 <公开 静态> 参数 原始文本 <类型 = 文本型 注释 = "所欲插入内容的文本"> 参数 结果文本 <类型 = 文本型 注释 = "插入结果返回到此参数"> 参数 插入内容 <类型 = 文本型 注释 = "所欲插入的内容" @默认值 = "\r\n"> 参数 插入间隔 <类型 = 整数 注释 = "每隔多少个字符插入指定的内容" @默认值 = 5> { 清空文本 (结果文本) 变量 文本长度 <类型 = 整数> 变量 文本指针 <类型 = 变整数> 文本长度 = 取文本长度 (原始文本) 文本指针 = 取文本指针 (原始文本) 如果 (文本长度 < 插入间隔) { 置文本指针 (结果文本, 文本指针) 返回 } 变量 循环次数 <类型 = 整数> 循环次数 = 文本长度 / 插入间隔 置文本预分配字符数 (结果文本, 文本长度 + (循环次数 + 1) * 取文本长度 (插入内容)) 计次循环 (循环次数) { 添加部分文本指针内容 (结果文本, 文本指针, 插入间隔) 加入文本 (结果文本, 插入内容) 文本指针 = 文本指针 + 插入间隔 * 2 } 如果 (文本长度 % 插入间隔 > 0) { 添加文本指针内容 (结果文本, 文本指针) } } |
|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )
GMT+8, 2024-11-24 02:52 , Processed in 0.088304 second(s), 22 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.