处理 C 11 中的移出对象
理解 C 11 中“移出”对象的概念可能具有挑战性。当对象被移出时,它会进入未指定的状态。但是,类型定义应指定哪些操作对移出对象有效。
对于标准库类型,移出对象被置于有效但未指定的状态。这意味着在使用任何操作之前都应该检查其先决条件。例如,在验证空条件之前,无法将移出的字符串弹出。
在自定义类型中,开发人员负责定义移出对象的状态。例如,pimpl 对象可能会指定从它移出会使 do_stuff 操作无效。
语言设计可防止意外移出对象。当对移出的对象无法进行进一步操作或用户明确请求移动操作时,就会发生移动。
需要注意的是,移出的对象不符合标准库概念。如果类型不保持有效状态(如概念所定义),则它不能与标准库一起使用。
以上是如何在 C 11 中处理移出对象?的详细内容。更多信息请关注PHP中文网其他相关文章!