读书人

这2个条件本质下有什么不同

发布时间: 2012-09-07 10:38:15 作者: rapoo

这2个条件本质上有什么不同?
1. if( aStr == rtl::OUString::createFromAscii("") )

2. if( aStr .getLength() == 0 )

这2个条件本质上有什么不同?

[解决办法]
从面向对象的思想理解,1表示的是使用字符串对象aStr与创建的“”字符串对象进行比较;2表示的是判断字符串对象aStr的长度是否为零。
[解决办法]
不管是不是unicode ""的strlen就是0, strcmp 也都是相等,
问题是里面没有定义,如果有一些字符再另行讨论
[解决办法]
效率,第一个比较有临时对象产生,第二个没有。

读书人网 >C++

热点推荐