两句代码,不知道用那句比较快(0分)

  • 主题发起人 主题发起人 全文检索
  • 开始时间 开始时间

全文检索

Unregistered / Unconfirmed
GUEST, unregistred user!
var<br> s1,s2:string;<br>begin<br> s1:='测试';<br><br> //第一种<br> s2:=s1;<br> //第二种<br> copyMemory(@integer(s2),@integer(s1),sizeOf(s1));<br><br> //请问那种方法比较快让s2=s1 <br> <br>end;
 
你知道其中的原理么?要是知道的话可能就简单了,第一中只是s2指向s1的内存地址,没有内存空间,第二种是s2分配跟s1相同的内存,并写相同的数据,第一种应该快些吧
 
如果就是赋值的话,应该是第一种快。因为DELPHI的字符串是在第一次改动时才COPY的。<br>如果s1的初值很长,而赋值后再来个s2[1]:='1'的话,应该是第二种快。因为。。。。。。。sizeOf(s1)应该一定等于4(指针类型长度)的。。。。。。
 
测试了,是第一种快.[:D]
 
后退
顶部