string类是C++STL类之一,有很丰富的接口,判断string为空是常用操作。
判断string为空就是元素个数为0。
我一开始使用的是:
str == NULL
这是不正确的!!!因为,NULL一般只和指针比较或者赋给指针,string是类,传参进函数时str调用默认的构造函数已经初始化了,str已经是对象了,它不可能为NULL,也不能和NULL比较。
总的来说就是在不是对象时,可以使用NULL;在针对对象时,不可以使用NULL。
1. 使用string类的成员函数empty(),判断是否为空:
string str;
if(str.empty()){ // 为空成立
...
}
2. 使用size(),判断字符串长度,如果为0,则为空:
string str;
if(str.size() == 0){ // 为空成立
...
}
3. 与空串""比较,相等,则为空:
string str;
if(str == ""){ // 为空成立
...
}
以上方法中,empty函数是效率最高也是最常用的一种。