私は、既定のコンストラクタは何もアクションを実行しないことを読んだことがある(クラスTのデフォルトコンストラクタは、いくつかの条件が満たされていると、それらの条件が暗黙的に定義されたときに、私は推測該当する場合(つまり)アクションを実行しません簡単です。もしそうならhttp://en.cppreference.com/w/cpp/language/default_constructorデフォルトコンストラクタがアクションを実行しない場合、目的は何ですか?
それも、コンパイラによって追加されて、なぜそれがクラスのために必要とされる理由は、アクションを実行しません?
ありがとう!
なぜf(x)= 0でxを入力する必要がありますか?それらは数学の言語の規則なので。それは入力で何かをするかどうかにかかわらず関数ですが、関数についてはまだ話していますが、x/yをマップすることはできます。 C++では、言語の一部としてクラスにコンストラクタが必要です。それが何かをしているかどうかは関係ありません、何かが呼び出されるためにそこにある必要があります。 –
@ChristopherPisz、ありがとう。あなたが言っていることは、それが何らかのアクションを実行するかどうかに関わらず、コンストラクターがなければならないという言語のルールであるということです。または私は何かを誤解していますか? –
それは私がインタビューで答える方法です。 CRTは、クラスがインスタンス化されるときにコンストラクタを呼び出します。したがって、「何もしない」場合でも、CRTは呼び出すために存在する必要があります。ボディが空であっても、クラスのメンバーデータが初期化されているのは、まだ構築時です。コンストラクタのトピックについては、https://isocpp.org/wiki/faq/ctors#overview-ctorsを参照してください。 –