Ist `constexpr const" wirklich nicht redundant?
Posted: 03 Jun 2025, 20:10
Verwendung < /p>
Der folgende Code erfasst ohne Vorwarnung:
Nach dem, was ich gelesen habe, bedeutet jeder Const in dieser Signatur etwas anderes:
Der Constexpr bedeutet im Wesentlichen bedeutet, dass die Mitgliedsfunktion zum Kompilieren der Kompilierung bewertet werden kann. /> Der zweite Const < /code> bedeutet, dass die Mitgliedsfunktion verspricht, keine Mitgliedsvariablen zu mutieren. /> Wie verwendet ein Contexpr für eine nicht-konstete Mitgliedsfunktion?>
Code: Select all
g++ -std=gnu++17 -Werror -Wall -Wextra
Der folgende Code erfasst ohne Vorwarnung:
Code: Select all
struct Mutable {
int x;
};
class State {
public:
constexpr const Mutable &Immutable() const {
return mutable_;
}
private:
Mutable mutable_;
} state_instance;
Der Constexpr bedeutet im Wesentlichen bedeutet, dass die Mitgliedsfunktion zum Kompilieren der Kompilierung bewertet werden kann. /> Der zweite Const < /code> bedeutet, dass die Mitgliedsfunktion verspricht, keine Mitgliedsvariablen zu mutieren. /> Wie verwendet ein Contexpr für eine nicht-konstete Mitgliedsfunktion?>