函数调用的C ++评估顺序

时间:2018-04-28 19:03:27

标签: c++

在另一个论坛中有人声称使用以下代码......

f( shared_ptr<A>( new A() ), shared_ptr<A>( new B() ) )

...允许C ++在将其返回值分配给shard_ptrs之前评估这两个消息,从而在第二个新消息(无论执行的顺序是什么)抛出异常时产生内存泄漏。我无法相信这一点,因为以一种不会发生这种情况的方式定义语言会太容易了。

这是真的吗?

0 个答案:

没有答案