将 nullptr 分配给 std::string 安全吗?

2024-02-27

我正在做一个小项目,遇到了以下情况:

std::string myString;
#GetValue() returns a char*
myString = myObject.GetValue();

我的问题是如果GetValue()返回 NULLmyString变成空字符串?是未定义的吗?或者它会出现段错误?


有趣的小问题。根据 C++11 标准,sect。 21.4.2.9,

basic_string(const charT* s, const Allocator& a = Allocator());

要求:s 不能是空指针。

由于标准不要求库在不满足此特定要求时抛出异常,因此传递空指针似乎会引发未定义的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 nullptr 分配给 std::string 安全吗? 的相关文章

随机推荐