Ist es möglich, std :: string in einem conexpr zu verwenden?

Mit C++11, Ubuntu 14.04, GCC-Standard-toolchain.

Dieser code nicht:

constexpr std::string constString = "constString";

Fehler: der Typ 'const string {aka const std::basic_string}' von
constexpr variable 'constString' ist nicht wörtlich gemeint... weil...
'std::basic_string' hat einen nicht-trivialen Destruktor

Ist es möglich std::string imconstexpr? (offenbar nicht...), Wenn ja, wie? Gibt es einen alternativen Weg, um eine Zeichenfolge in eine constexpr?

Kommentar zu dem Problem
std::string ist nicht wörtlich Art Kommentarautor: Piotr Skotnicki
@PiotrS - die Frage sagt, dass... Kommentarautor: Vector
@Vektor ich fragte Sie, was die constexpr ist oder warum wollen Sie std::string constexpr? es gibt mehrere compile-time string-Implementierungen auf SO. was ist der Punkt zu Fragen, wenn du eine nicht-wörtliche Art constexpr, wenn Sie verstehen, Fehlermeldung und weiß nur literal-Typen gemacht werden können constexpr? wie gut, es gibt mehrere Gründe, warum man möchte, um eine constexpr-Instanz, so schlage ich vor, Sie klären Ihre Frage Kommentarautor: Piotr Skotnicki
Ja, wie @PiotrS. sagte, es gibt constexpr - string-Implementierungen gibt. std::string ist nicht einer von Ihnen. Kommentarautor: tenfour
@PiotrS - es sind mehrere compile-time string-Implementierungen auf SO - OK, danke, verstanden. Das ist keine option für mich, aber es beantwortet meine Frage: auf keinen Fall std::string arbeiten. Als ich bemerkte tenfour, ich Frage mich, ob es eine Möglichkeit zur Nutzung von std::string in einer Weise, die funktionieren würde. Es gibt viele tricks, ganz sicher bin ich mir nicht bewusst. Kommentarautor: Vector

InformationsquelleAutor der Frage Vector | 2014-11-25

Schreibe einen Kommentar