2017-01-10 7 views
1

Kann man (möglicherweise const) std::set erstellen, die zur Kompilierungszeit mit Elementen gefüllt werden?Fill std :: zur Kompilierzeit gesetzt?

Ich wundere mich über std::set/std::unordered_set spezifisch, nicht eine Reihe von Vorlagen Funktionen, die das Verhalten eines Satzes emulieren würde.

+0

Nicht mit Garantien. Andernfalls könnte ein Compiler in einigen Fällen die Zeit für die Kompilierung optimieren, aber ich bezweifle, dass dies der Fall ist. –

Antwort

6

Nr

std::set und std::unordered_set als Runtime-Container entwickelt wurden, verwenden sie Verteilern und was noch wichtiger ist keiner ihrer Konstruktor als constexpr markiert (auch die, die eine std::initializer_list nehmen), das bedeutet, dass Sie nie ein Konstrukt kann Kompilierzeit

Verwandte Themen