Ich habe ein Buch über C++ 14/11 gelesen. Ich habe gerade ein Kapitel über das Stichwort constexpr gelesen. Ich weiß, wofür es gebraucht wird. Ich verstehe, wie es für Klassen und Klassenfunktionen verwendet werden kann. Aber wie oft sollte ich Constexpr verwenden? Sollte ich es auch im Code für Klassen verwenden, die ich kenne, wird nie verwendet, um contstexpr Objekte zu erstellen? (Nur für den Fall, weil es mich nichts kostet, oder?)C++ 14 Wie oft sollte ich constexpr verwenden?
Antwort
C++ 14 Wie oft sollte ich constexpr verwenden?
Es gibt eine ausführliche Diskussion in Artikel 15 (Verwenden constexpr wann immer möglich) des Scott Meyer's Buch Effective Modern C++.
Die Gliederung dieses Artikels ist, dass constexpr
sollte wann immer möglich verwendet werden, aufgrund der Tatsache, dass constexpr
Funktionen und Objekte in einem breiteren Bereich von Kontexten als die Nicht-constexpr
verwendet werden können.
Allerdings erwähnt der Autor im selben Artikel einen Vorbehalt der Überbeanspruchung constexpr
. Das heißt, wenn Sie sich entscheiden, ein Objekt oder eine Funktion als constexpr
zu qualifizieren, dürfen Ihre Kunden es in constexpr
Inhalt verwenden. Wenn Sie jedoch später entscheiden, dass dieser Code nicht constexpr
sein und constexpr
entfernen muss, kann dies dazu führen, dass Ihr Code nicht kompiliert wird, einschließlich der Nebenwirkungen, die dies für Ihre Clients haben wird.
von Originaltext Zitiert:
„Use constexpr wann immer möglich“ ist Ihre Bereitschaft, ein langfristiges Engagement für die Zwänge auf die Objekte und Funktionen Sie es anzuwenden erlegt zu machen.
Sie fragen nach Meinungen. Von meinem Standpunkt aus sollten Sie es so oft wie möglich verwenden. Jemand könnte andere Gedanken haben. –
@GeorgeSovetov Das Problem ist, dass "Meinungen" hier nicht thematisiert sind (_in erster Linie meinungsbasierte_ Kategorie). – edmz
Früh und oft. Und zweimal am Sonntag. – wally