【发布时间】:2010-09-24 12:04:15
【问题描述】:
我刚进入一家新公司,大部分代码库使用初始化方法而不是构造函数。
struct MyFancyClass : theUberClass
{
MyFancyClass();
~MyFancyClass();
resultType initMyFancyClass(fancyArgument arg1, classyArgument arg2,
redundantArgument arg3=TODO);
// several fancy methods...
};
他们告诉我,这与时间安排有关。有些事情必须在构造函数中失败之后完成。但是大多数构造函数都是空的,我真的看不出有什么理由不使用构造函数。
所以我转向你,哦 C++ 的巫师:你为什么要使用 init 方法而不是构造函数?
【问题讨论】:
-
如果你自己的公司连解释都解释不了,我就闻到了糟糕的代码。
-
好像缺少
void。 -
我同意迈克的观点。开始找工作。
-
我是一名工程师。该公司是一家工程公司。只要算法很棒,代码就会很臭。他们是! (如果我再问,他们会进一步解释。只是你们可以更好更快地解释它,所以我问你;-))
-
在 Wiki 上查看有关最新 C++ 标准的此链接,因为它解决了使用 init 函数的一个有效原因:en.wikipedia.org/wiki/C%2B%2B11#Object_construction_improvement
标签: c++ constructor initialization