"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Puede C++11 lograr propiedades similares a C# con clases sin nombre y Lambdas?

¿Puede C++11 lograr propiedades similares a C# con clases sin nombre y Lambdas?

Publicado el 2024-11-03
Navegar:216

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

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.

Último tutorial Más>

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