如果类的一个成员函数的返回值是string类型,需要注意一个问题 其返回值可能是错误的
procedure test(); 那么s的值是什么呢? 答案是“12”,不是“2” 原因是:第一次调用GetString方法,把s和GetString的result指向了同一个地址,第二次调用GetString方法,result指向的仍然是之前的地址,其值仍然为'1',所以结果是'1' + '2' = '12' 当然其中一个问题就是这个函数的返回值没有初始化,当返回值的类型为string时,而delphi并不会进行警告或提示 所以我们一定要养成良好的习惯,如上述实现不应该在初始化result前使用它 ============================================== 另一个例子 function GetNumberType( n: Integer ): string; 结果: 结果:偶数 结果:偶数 结果:偶数
http://blog.csdn.net/youthon/article/details/4298524 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论