创建类的实例后,我们可以显式调用构造函数吗?例如
class A{ A(int a) { } } A instance; instance.A(2);
我们可以这样做吗?
您可以使用新的展示位置:http://en.wikipedia.org/wiki/Placement_new允许
new (&instance) A(2);
但是,从您的示例中,您将在对象上调用两次构造函数,这是非常糟糕的做法.相反,我建议你做
A instance(2);
Placement new通常仅在您需要预分配内存时使用,例如在自定义内存管理器中.
没有.
为集合创建一个方法并从构造函数中调用它.此方法也将在稍后提供.
class A{ A(int a) { Set(a); } void Set(int a) { } } A instance; instance.Set(2);
您可能还需要默认值或默认构造函数.