私はthe different meanings of a curly-brace enclosed listについて質問があります。なぜGCC 6.3は明示的なC++ 11サポートなしでこのBraced-Init-Listコードをコンパイルするのですか?
私はC++ 03はC++ 11のinitializer_list
をサポートしていませんでしたことを知っています。しかし、でもこのコードのwill properly initialize interpolate
6.3 GCC -std=c++11
コンパイラフラグ、なし:これがうまくいく理由について
map<string, string> interpolate = { { "F", "a && b && c" }, { "H", "p^2 + w" }, { "K", "H > 10 || e < 5" }, { "J", "F && !K" } };
I was challenged、と私は答えを持っていないことに気付きました。これはBrace-Init-Listですが、これから標準コンテナを初期化する方法は、通常initializer_list
です。だから、どのように非C + + 11のコードは、初期化を達成するだろうか?
私はこの質問には「ホットネットワーク質問」リストに加えられたことは非常に驚いています:|私は、これはよく私があまりにも少し驚いP0W @新しいgccの – P0W
にgccとデフォルトのコンパイルフラグに関するインターネット上のいくつかの場所で文書化されたと思いました。私はgcc 5のデフォルト動作と同様に、 "-std = C++ 98"を使用していたと私は思っていました。私は同じ先入観を持っていた多くの人がちょうど起こったと推測しています。心配しないで、私はそれが単なる収差であったと確信しています。通常のC++の投票率はすぐに回復しなければなりません。 –