Heim > Backend-Entwicklung > C++ > Kann C 11 C#-ähnliche Eigenschaften mit unbenannten Klassen und Lambdas erreichen?

Kann C 11 C#-ähnliche Eigenschaften mit unbenannten Klassen und Lambdas erreichen?

Susan Sarandon
Freigeben: 2024-10-28 03:08:02
Original
890 Leute haben es durchsucht

 Can C  11 Achieve C#-Like Properties with Unnamed Classes and Lambdas?

C 11: Eigenschaften wie C#?

Die C#-Syntax ermöglicht prägnante Feld-Getter und -Setter. C 11 führt benannte Klassen und Lambdas ein und bietet eine ähnliche Lösung.

Implementieren von C#-Eigenschaften in C 11

Um C#-Eigenschaften in C 11 zu emulieren, können Sie unbenannte Klassen verwenden und Mitgliederzugriffsfunktionen. Betrachten Sie die folgende Implementierung:

<code class="cpp">struct Foo {
    struct {
        int value;
        auto &operator=(const int &i) -> decltype(auto) { return value = i; }
        auto operator()() const -> decltype(auto) { return value; }
    } alpha;

    struct {
        float value;
        auto &operator=(const float &f) -> decltype(auto) { return value = f; }
        auto operator()() const -> decltype(auto) { return value; }
    } bravo;
};</code>
Nach dem Login kopieren

Verwendungsbeispiel

<code class="cpp">Foo foo;
foo.alpha = 10;
cout << foo.alpha() << endl;</code>
Nach dem Login kopieren

Dieser Ansatz bietet eine C#-ähnliche Syntax zum Abrufen und Festlegen von Eigenschaften mit automatisch generierten Namen.

Das obige ist der detaillierte Inhalt vonKann C 11 C#-ähnliche Eigenschaften mit unbenannten Klassen und Lambdas erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage