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++免费学习笔记(深入)”;
- 定义一个空字符串并判断
- 从用户输入获取字符串后判断
- 在条件语句中使用 empty() 进行逻辑控制
示例代码:
#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
注意事项
使用 empty() 时需要注意以下几点:
- 它只判断字符串是否有字符,不关心内容是否是空白字符(如空格、制表符)。例如,字符串 " " 虽然看起来“空”,但 empty() 返回 false。
- 若需判断是否只包含空白字符,需要自行遍历或使用 find_first_not_of(" \t\n\r") 等方法。
- empty() 时间复杂度为 O(1),性能高效,可放心在循环或频繁调用中使用。
基本上就这些。使用 string::empty() 是判断C++字符串是否为空最简洁、安全的方式。










