Page 1 of 1

Ist `constexpr const" wirklich nicht redundant?

Posted: 03 Jun 2025, 20:10
by Anonymous
Verwendung < /p>

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;
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?>