で一定の大きさの配列を初期化:私は、次の中でまとめることができる状況持っている初期化子リスト
class Test
{
Test();
int MySet[10];
};
を初期化子リストでMySet
を初期化することが可能ですか?初期化子リストのこの種のよう
:
Test::Test() : MySet({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}) {}
は、クラスのinitalizerリストにある一定のサイズのメンバーの配列を初期化する方法はありますか?
によってサポートされていますどちらも
std::vector
とC+++ 11std::array
を、使用は、 'Set'はへの単なるポインタではありません'10'の整数の配列でも、静的でもありません。むしろ、配列名 'Set'は、特定の状況で配列の最初の要素へのポインタに減衰します。違いは 'sizeof'を使って明瞭に見ることができます。つまり、sizeof(int)!= sizeof(int *)' sizeof(Set)== 10 * sizeof(int)! –@StuartGolodetz説明をありがとう。私が静的と言ったとき、私はそれがオブジェクト/インスタンスと共に格納され、ヒープ内の他の場所ではないという形で静的であることを意味しました。もちろん、これは私の言うところの「静的」という言葉の重大な誤用です。ごめんなさい。 – Serge
心配はありません:)私は主に、誤解があった可能性があることについて、配列とポインタの区別を明確にしようとしていました。 –