メンバー変数と同じ名前のコンストラクター引数の使用
元の質問:
はC 標準では、コンストラクターと同じ名前を使用してメンバー変数を初期化することが許可されています引数?
応答:
はい、C 標準ではこのアプローチが許可されています。このコードは、コンストラクター引数で指定された名前に従ってメンバー変数を初期化します。次の例はこれを示しています。
#include <cstdio> #include <vector> class Blah { std::vector<int> vec; public: Blah(std::vector<int> vec) : vec(vec) {} void printVec() { for (unsigned int i = 0; i < vec.size(); i++) printf("%i ", vec.at(i)); printf("\n"); } };
標準リファレンス:
C 標準 (§12.6.2/7) には、「式リスト内の名前」と記載されています。 mem-initializer のは、mem-initializer が対象となるコンストラクターのスコープで評価されます。 "
追加の考慮事項:
この例では、const std::vector
以上がC で同じ名前のコンストラクター引数を使用してメンバー変数を初期化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。