【发布时间】:2011-04-09 09:45:21
【问题描述】:
看看这段代码:
#include <framework_i_hate.h>
int main() {
XFile file("./my_file.xxxx", "create");
XObject object("my_object");
// modify the object
object.Write();
}
尝试猜测object 将被保存在哪里......是的,你猜对了。我觉得这太神奇了,我想写object.Save(file)之类的东西,但没有必要。显然framework_i_hate.h 内部有一个全局变量,它在file 构造函数期间被修改。您如何看待构造函数内部的这种副作用?
如何隐藏这种行为?
猜猜框架的人的奖励。
【问题讨论】:
-
@aaa:我认为回答这个问题的最佳方式是这样做,是的。
-
我应该标记这个
[root-framework]吗?最后,这仍然是太多的咆哮并且没有真正的用处。
标签: c++ constructor side-effects