最近,与一位同行程序员进行讨论时,有人要求我进行一些代码更改。我的代码大致如下:
if( mystring.size() == 0)
// do something
else
// do something else
讨论的是使用mystring.empty()
来验证字符串是否为空。我同意,string.empty()
可能更易读,但这样做会带来性能方面的好处吗?
我查找了两个与我的问题相关的答案:
这两个答案都支持我的看法,即string.empty()
仅仅是更易读,并没有相对于string.size() == 0
带来任何性能优势。
我仍然想确认一下,是否有任何实现string
的方法来保持一个内部布尔标志以验证字符串是否为空?还是有其他某些实现方法可以否定我的说法?