【发布时间】:2011-02-13 17:49:45
【问题描述】:
在GMan's answer here 中,restore_base 类的析构函数不是virtual,所以我一直想知道它到底是如何工作的。通常,您希望 restorer_base 的析构函数仅在对象超出范围后执行,但似乎派生的 restorer_holder 析构函数确实被调用了。有大神指点一下吗?
【问题讨论】:
-
这不值得自己提出问题。在答案下方的 cmets 中提问,@GMan 将根据需要更新答案。
-
@wilhelmtell 不,绝对可以。 const-ref 技巧非常重要,值得适当解释。
-
@Konrad Rudolph:完全同意。但是,re > 50K 的人应该重新表述问题,以便人们理解真正的问题。
-
@Martin:然后告诉我如何改写它,我会这样做,因为我真的不知道还能怎么称呼它。 :)
标签: c++ inheritance reference