Si j'ai ce code
std::map<int, char> example = { (1,'a'),
(2, 'b'),
(3, 'c') };
alors g++ me dit
deducing from brace-enclosed initializer list requires #include <initializer_list>
in C++98 ‘example' must be initialized by constructor, not by ‘{...}'
et qui m'agace légèrement parce que le constructeur est exécuté en temps et peut, en théorie échouer.
Bien sûr, si il ne, il ne sera pas rapidement et doit le faire de manière cohérente, de sorte que je dois localiser rapidement & corriger le problème.
Mais, tout de même, je suis curieux de savoir est - il de toute façon à initialiser la carte, vecteur, etc, au moment de la compilation?
Edit: j'aurais dû dire que je suis en train d'élaborer pour les systèmes embarqués. Pas tous les processeurs ont un compilateur C++0x. Le plus populaire sera probablement, mais je ne veux pas à la rencontre d'une chasse aux sorcières ' et de maintenir 2 de la version s du code.
De coup de pouce, je suis indécis. Ils sont fade sur l'utilisation de leur Machine à états Finis classes de systèmes embarqués, de sorte que c'est effectivement ce que je suis codage ici, d'Événement/État/Fsm classes.
Soupir, je suppose que je ferais mieux de simplement jouer la sécurité, mais j'espère que cette discussion a été utile pour les autres.