ホームページ >バックエンド開発 >C++ >C コンストラクターのどこにメンバー初期化子リストを配置すればよいですか?

C コンストラクターのどこにメンバー初期化子リストを配置すればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 12:33:11347ブラウズ

Where Should I Place the Member Initializer List in a C   Constructor?

コンストラクター定義での初期化子リストの配置

クラス コンストラクターを定義するときは、メンバー初期化子リストの役割を理解することが重要です。このリストは、コンストラクター定義の一部としてメンバー変数を初期化します。

その配置に関しては、初期化子リストはコンストラクターの宣言ではなく定義の一部です。これは、クラス自体が宣言されているヘッダー ファイル (.h) には含まれていないことを意味します。代わりに、コンストラクターが定義されているソース ファイル (.cpp) に存在します。

使用例

次のクラスについて考えてみましょう:

class Example
{
private:
    int m_top;
    const int m_size;
public:
    Example(int size, int grow_by = 1);
};

この例では、コンストラクターは次のように定義されています:

Example::Example(int size, int grow_by) : m_size(5), m_top(-1)
{
    // ...
}

このコンストラクター内の初期化リストは、メンバー変数 m_size および m_top を初期化します。ソース ファイル (.cpp) のコンストラクター定義の一部として初期化子リストを含めることが重要です。

したがって、初期化子リストの正しい配置は、ヘッダー ファイル内ではなく、コンストラクターの定義内にあります ( .h) クラスが宣言されている場所。

以上がC コンストラクターのどこにメンバー初期化子リストを配置すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。