2017-01-10 2 views
1

Est-il possible de créer (éventuellement const) std::set qui serait rempli avec des éléments au moment de la compilation?Remplir std :: set au moment de la compilation?

Je m'interroge sur std::set/std::unordered_set spécifiquement, pas un ensemble de fonctions modèles qui émuleraient le comportement d'un ensemble.

+0

Non sans garantie. Sinon, dans certains cas, un compilateur pourrait l'optimiser pour compiler l'heure, mais j'en doute. –

Répondre

6

n °

std::set et std::unordered_set ont été conçus comme des conteneurs d'exécution, ils utilisent allocateurs et surtout aucun de leur constructeur est marqué comme constexpr (même ceux prenant un std::initializer_list), ce qui signifie que vous ne pouvez jamais construire un à compiler le temps.