gpt4 book ai didi

C++:string.empty() 是否总是等价于 string == ""?

转载 作者:IT老高 更新时间:2023-10-28 13:57:30 30 4
gpt4 key购买 nike

我可以假设给定

std::string str;
... // do something to str

以下陈述是否总是正确的?

(str.empty() == (str == ""))

最佳答案

回答

是的。这是来自bits/basic_string.h的相关实现, basic_string<_CharT, _Traits, _Alloc> 的代码:

  /**
* Returns true if the %string is empty. Equivalent to *this == "".
*/
bool
empty() const
{ return this->size() == 0; }

讨论

尽管 std::string 的两种形式是等价的,您可能希望使用 .empty()因为它更通用。

确实,J.F. Sebastian评论说如果你改用 std::wstring而不是 std::string ,然后 ==""甚至不会编译,因为您无法比较 wchar_t 的字符串与 char 之一.但是,这与您的原始问题没有直接关系,我 99% 确定您不会切换到 std::wstring。 .

关于C++:string.empty() 是否总是等价于 string == ""?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/483337/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com