首页 >后端开发 >C++ >如何在 C 11 中处理移出对象?

如何在 C 11 中处理移出对象?

Susan Sarandon
Susan Sarandon原创
2024-12-28 05:57:13149浏览

How Do I Handle Moved-From Objects in C  11?

处理 C 11 中的移出对象

理解 C 11 中“移出”对象的概念可能具有挑战性。当对象被移出时,它会进入未指定的状态。但是,类型定义应指定哪些操作对移出对象有效。

对于标准库类型,移出对象被置于有效但未指定的状态。这意味着在使用任何操作之前都应该检查其先决条件。例如,在验证空条件之前,无法将移出的字符串弹出。

在自定义类型中,开发人员负责定义移出对象的状态。例如,pimpl 对象可能会指定从它移出会使 do_stuff 操作无效。

语言设计可防止意外移出对象。当对移出的对象无法进行进一步操作或用户明确请求移动操作时,就会发生移动。

需要注意的是,移出的对象不符合标准库概念。如果类型不保持有效状态(如概念所定义),则它不能与标准库一起使用。

以上是如何在 C 11 中处理移出对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn