C 11: ¿Propiedades como C#?
La sintaxis de C# permite captadores y configuradores de campos concisos. C 11 introduce clases con nombre y lambdas, ofreciendo una solución similar.
Implementación de propiedades de C# en C 11
Para emular propiedades de C# en C 11, puede emplear clases sin nombre y funciones de acceso de miembros. Considere la siguiente implementación:
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;
};
Ejemplo de uso
Foo foo;
foo.alpha = 10;
cout Este enfoque proporciona una sintaxis similar a C# para obtener y configurar propiedades con nombres generados automáticamente.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3