【发布时间】:2012-06-30 07:55:27
【问题描述】:
在以下代码中:
struct Foo
{
Foo(int x=0);
};
构造函数算作默认构造函数吗?
【问题讨论】:
-
默认构造函数在你没有定义的时候由编译器自动生成。所以我会说不,这不是因为你已经定义了它
-
@peacemaker 实际上,默认构造函数是没有参数的构造函数
-
@peacemaker:您将“默认提供”中的默认值与“默认调用”中的默认值混淆了。该标准使用该术语来指代后者。
-
@peacemaker:根据上下文,“自动生成”正式称为“隐式声明”或“隐式定义”。所以你实际上指的是“隐式声明的构造函数”。
-
感谢大家更新术语!
标签: c++ constructor default-constructor default-arguments