Je ne suis pas sûr de ce que vous faites référence à "initialisation/déclaration" dans ce contexte. Dans ce qui suit, le tableau est un prvalue
template<typename T> using alias = T;
int main() { return alias<int[]>{1, 2, 3}[0]; }
Cela peut être vérifié par decltype(alias<int[]>{1, 2, 3})
ayant le type int[3]
. Créer des tableaux de cette façon à la volée n'était pas initialement destiné à fonctionner, mais a glissé dans le brouillon de travail en cours de travail connexe sur l'initialisation uniforme. Quand j'ai réalisé que certains paragraphes dans le brouillon de travail de C++ 0x interdisent un cas particulier de cette création à la volée de temporaires de tableau alors que d'autres paragraphes le permettent, j'ai envoyé un rapport de défaut au comité C++, qui de la mise en œuvre partielle de GCC a décidé de soutenir pleinement cela.
duplication possible de [Je pense que je peux avoir trouvé un exemple de valeur de type tableau] (http://stackoverflow.com/questions/4058151/i-think-i-may-have-come-up- avec-un-exemple-de-valeur-de-type-tableau) –