:C++では、デフォルトの引数だけを持つコンストラクタは、デフォルトのコンストラクタですか?次のコードで
struct Foo
{
Foo(int x=0);
};
は、コンストラクタは、デフォルトコンストラクタとしてカウントしていますか?
:C++では、デフォルトの引数だけを持つコンストラクタは、デフォルトのコンストラクタですか?次のコードで
struct Foo
{
Foo(int x=0);
};
は、コンストラクタは、デフォルトコンストラクタとしてカウントしていますか?
C++ 98§12.1/ 5 (強調鉱山):
クラスXのデフォルトコンストラクタは引数なしで呼び出すことができるXのコンストラクタです。クラスXにユーザーが宣言したコンストラクターがない場合、デフォルトのコンストラクターが暗黙的に宣言されます。
はい、デフォルトのコンストラクタとしてカウントされます。 See also。
デフォルトのコンストラクタは、定義していないときにコンパイラによって自動的に生成されます。あなたが定義したからではないと言うでしょう。 – peacemaker
@peacemaker実際には、デフォルトのコンストラクタは引数のないコンストラクタです。 – Matt
@peacemaker:デフォルトでは "デフォルトで呼び出されます。標準では、この用語を後者を参照するために使用します。 –