【问题标题】:Can std::string copy constructor throw?std::string 复制构造函数可以抛出吗?
【发布时间】:2015-10-15 20:48:38
【问题描述】:

std::string的拷贝构造函数可以在C++11中抛出吗?

(Stackoverflow 说我的问题不符合它的质量标准,而且它似乎只是想要更多的散文,所以这里是一些虚拟文本。)

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为问题质量低,并且发帖人试图延长问题的质量差,超过了最小问题长度限制。
  • @marko,你能解释一下质量问题是什么吗?
  • @marko 一般来说我会同意,但这个问题确实不需要太多代码。它不会添加任何东西。
  • 它的质量很低,因为当然复制构造函数可以抛出。没有研究工作。
  • @JonathanWakely,如果您研究过std::string 实现,以及标准对此的要求,这对您来说可能是显而易见的,但除此之外,它远非显而易见。例如,在我看来,总是可以通过复制有效负载引用来复制字符串对象,并且只在修改之前和允许修改的“泄漏”之前克隆有效负载。

标签: c++ c++11 exception copy-constructor stdstring


【解决方案1】:

它可能会导致内存分配,并且可能会抛出。所以是的,它可以抛出。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多