これは質問ですC++ Primer(第5版)第3.2章、ページ84,85我々は単一イニシャライザを持っている場合C++の初期化で「いくつかの値」とは何ですか?
することは、私たちは、直接または初期化の コピー形式のいずれかを使用することができます。我々は複数の値を使用したい場合は
string s4(10, 'c'); //s4 is "cccccccccc"
string s5 = "hiya"; // copy initialization
string s6("hiya"); // direct initialization
string s7(10, 'c'); // direct initialization; s7 is cccccccccc
:、我々は間接的にコピーするには、明示的に(一時的な)オブジェクト を作成することにより、初期のコピー フォームを使用することができます:私たちは、このようなS4の初期化のように、一つの値よりも 以上から変数を初期化するとき、我々は初期の直接型 を使用する必要があります。
string s8 = string(10, 'c'); // copy initialization; s8 is cccccccccc
"いくつかの値の意味"とは何ですか?上記のテキストは明示的にそれを明らかにしていません。そして、私は "単一初期化子"を理解できません。 "複数の値から変数を初期化する"の反対ですか?
http://www.merriam-webster.com/dictionary/several –
「シングルイニシャライザ」は値を使用して文字列オブジェクトを初期化することを理解しています。この場合、コピーと直接初期化の両方を使用できます。しかし、複数の値から初期化する場合、値はs4のように初期化演算子 '() '関数のパラメータであり、最初の値は** 10 **で文字数を示し、2番目の値は**' c ' **重複した文字が 'c'であることを示します。 –
@LightnessRacesinOrbit lol、残念なことにこのケースでは "数"は実際には "複数の"を意味します – Barry