当前位置: 首页 > 知识库问答 >
问题:

将nullptr分配给STD::String安全吗?

颛孙英才
2023-03-14

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

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

我的问题是getvalue()返回NULLmystring是否变成空字符串?是不是没有定义?或者它会分段?

共有1个答案

桓宜
2023-03-14

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

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

要求:s不能是空指针。

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

 类似资料:
  • 我想把字典的value元素赋给一个字符串变量。 在swiftUI中,字典中的所有值元素都作为字符串返回?类型 什么时候有绳子?类型分配给字符串变量,该字符串变量在swiftUI应用程序中显示为可选(“字符串尝试显示”)。 如何去掉应用程序显示中的“可选”选项?

  • 问题内容: 我有一个哈希图,我想复制该哈希图以用于其他用途。但是,每当我复制并重复使用它时,它也会更改原始内容。这是为什么? 提前致谢 问题答案: 您要做的不是创建地图的副本,而是创建地图的副本。当两个引用指向同一对象时,对一个对象的更改将在另一个对象中反映出来。 解决方案1:如果这是从某种简单类型到另一种类型的Map,则应改为: 这称为复制构造函数。几乎所有标准的Collection和Map实现

  • 这是我的水果 现在我正在导入另一个typescript文件中的fruit.ts。这是我的 当我做的时候 我得到一个错误: 类型“string”不能分配给类型“orange”“apple”“banana”“ 如何将字符串赋给自定义类型fruit的变量?

  • 这种思考方式(静态+动态对于每个字符串是它占用的全部内存)正确吗? 也就是说,如果我有一个Std::string向量,并且我也想计算该向量的所有内存,我需要做同样的事情:我把向量的初始/静态大小加到动态部分,这意味着一个字符串占用的总内存,就像上面对向量中的每个字符串所做的那样? 总而言之,这是我的“缓存”占用的正确内存量吗? 对于每个-我需要添加,另外对于每个-添加??

  • 问题内容: 一段相当简单的代码 生成以下编译时错误 简单的类型检查告诉我这是 我可以更改为,一切都会正常 但我想了解为什么会出现错误?是否不再?还是这是一个错误? 问题答案: 在b6中,String不再神奇地桥接到NSString。字符串不是类;它不是类。这是一个结构。您需要手工进行桥接: 似乎仍在桥接的事实可能是一个错误,应该报告。 不言而喻的是和应作为你的代码越少越好。 (请确保遵循以下评论中

  • 问题内容: 假设我有一个功能 现在,我想将函数分配给一个名为的变量,这样,如果我使用,它将再次调用该函数。如果我只是做作业,它就会返回。 问题答案: 您根本不调用该函数。 括号告诉蟒蛇,你调用的函数,所以当你把它们放在那里,它调用的功能,并指定值 返回 的(在这种情况下)。