我最喜欢的c ++ sofgun

2021-06-23 04:26:36

我' m目前学习c ++能够为openmw做有意义的贡献,所以我一直在阅读很多代码,以及几个书店这个话题。

但它' s中有效的c ++,由scott meyers,第17项,我发现最惊人的触发快乐的脚跟示例:

std :: shared_ptr是一个引用计数模仿:它将自动销毁它在拥有的shard :: shared_ptr所拥有的物体中拥有的对象。

首先,我考虑了在窗口小部件的构造函数失败时,STD :: Shared_ptr和新建之间的奇怪交互,但这种情况是涉及C ++运行时的。

这里的第一个技巧是函数参数评估顺序是未指定的,这意味着新的小部件可能被调用,然后是优先级(),然后通过新小部件的ValueRurned传递给STD :: Shared_ptr< widget>(...)。第二个是因此,由于这是C ++,优先级()可能会引发异常,这意味着将调用新的小部件,但从未传递给std :: shared_ptr,因此永远不会删除!

随着读取的AlyOldName3读取它读取的读数之后,这可能是为什么存在std :: make_shared,std :: make_shared< widget>()是等效于std :: shared_ptr< widget>(新小部件)。(新小部件)。(新小部件)。(新小部件)。(新小部件)。(新小部件)。(新小部件)。(新小部件)。