Maison >développement back-end >C++ >C 11 peut-il obtenir des propriétés de type C# avec des classes et des Lambdas sans nom ?
C 11 : Propriétés comme C# ?
La syntaxe C# permet des getters et setters de champs concis. C 11 introduit les classes nommées et les lambdas, offrant une solution similaire.
Implémentation des propriétés C# dans C 11
Pour émuler les propriétés C# dans C 11, vous pouvez utiliser des classes sans nom et les fonctions d’accès aux membres. Considérez l'implémentation suivante :
<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>
Exemple d'utilisation
<code class="cpp">Foo foo; foo.alpha = 10; cout <p>Cette approche fournit une syntaxe de type C# pour obtenir et définir des propriétés avec des noms générés automatiquement. </p></code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!