string类是C++STL类之一,有很丰富的接口,判断string为空是经常用到的操作。
string类为空,实际也就是元素为0个。 可以按照如下方式判断:
1、string类有自己的成员函数empty, 可以用来判断是否为空:
string str;
if(str.empty())//成立则为空
...
2、判断字符串长度。如果长度为0,则为空:
string str;
if(str.size()==0)//成立则为空
...
3、与空串比较,如果相等则为空:
string str;
if(str=="")//成立则为空
...
几种方法中,empty函数是效率最高也是最常用的一种。
注意:
不能使用str==NULL来判断,NULL一般只拿和指针做比较或者赋给指针,string是类,传参进函数时str调用默认的构造函数已经初始化了,并且str都已经是对象了,它不可能为NULL,也不能和NULL比较。