C++の構造体のメンバーとクラスのメンバーのデフォルト値は何ですか?これらのルールはどのように異なりますか(たとえば、classes/structs/primitives/etc間)?デフォルト値に関するルールが異なる状況はありますか?
この点に関して、C++では構造体とクラスの間に違いはありません。これらはすべてクラスタイプと呼ばれます。
クラス型のメンバーには、一般的なデフォルト値はありません。クラスメンバーが決定的な値を取得するには、initializedである必要があります。
さらに、静的ストレージ期間を持つすべてのオブジェクトは、プログラムの起動時にゼロで初期化されます。
上記の場合を除き、クラスメンバにはデフォルト値がなく、予測不可能なガベージ値が最初に含まれます。
ええ、あります。デフォルトのコンストラクタでオブジェクトを初期化し、括弧を使用すると、PODメンバーはゼロで初期化されます。
someClass * p = new someClass();