empty()函数用于判断字符串是否无字符,返回true表示空。示例中str1.empty()为真,str2.empty()为假。注意它不检测空白字符,仅看长度是否为0,时间复杂度O(1),推荐使用。
在C++中,判断字符串是否为空是一个常见的操作。我们通常使用
标准库
中的
std::string
类型,并调用其成员函数
empty()
来完成这一任务。
什么是 empty() 函数?
empty()
是
std::string
提供的一个成员函数,用于检查字符串是否包含字符。如果字符串没有字符(即长度为0),该函数返回
true
;否则返回
false
。
相比使用
length() == 0
或
size() == 0
,
empty()
更加直观且效率相当,是推荐的写法。
empty() 使用方法示例
下面是一些常见的使用场景和代码示例:
立即学习
“
C++免费学习笔记(深入)
”;
C函数速查手册(CHM版)
C函数速查手册(CHM版)
下载
定义一个空字符串并判断
从用户输入获取字符串后判断
在条件语句中使用 empty() 进行逻辑控制
示例代码:
输出结果:
注意事项
使用
empty()
时需要注意以下几点:
它只判断字符串是否有字符,不关心内容是否是空白字符(如空格、制表符)。例如,字符串 " " 虽然看起来“空”,但
empty()
返回
false
。
若需判断是否只包含空白字符,需要自行遍历或使用
find_first_not_of(" \t\n\r")
等方法。
empty()
时间复杂度为 O(1),性能高效,可放心在循环或频繁调用中使用。
基本上就这些。使用
string::empty()
是判断C++字符串是否为空最简洁、安全的方式。
#include
#include
int main() {
std::string str1 = "";
std::string str2 = "Hello";
if (str1.empty()) {
std::cout << "str1 是空字符串" << std::endl;
}
if (!str2.empty()) {
std::cout << "str2 不是空字符串,内容是: " << str2 << std::endl;
}
return 0;
}
str1 是空字符串
str2 不是空字符串,内容是: Hello
