gpt4 book ai didi

c++ - 移动构造函数是否必须是 noexcept ?

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

关于是否允许抛出移动构造函数/赋值,我一直在阅读一些相互矛盾的文章。

所以想问一下最终的C++11标准中是否允许move构造函数/赋值?

最佳答案

通常允许抛出移动构造函数吗?是的。 应该他们吗?没有。

一般来说,您在其中所做的任何事情都不应该是可以抛出的任何东西。您不应该分配内存、调用其他代码或类似的事情。编写移动构造函数的唯一原因是潜逃他人的内存指针和对象引用。您应该复制一些基本类型并将另一个对象中的值清空。那些东西不应该扔。

所以虽然允许,但这不是一个好主意。如果您正在这样做,请重新考虑您在移动操作中所做的工作。

关于c++ - 移动构造函数是否必须是 noexcept ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9249781/

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