¿Cómo funciona exactamente $ cast?

0

Cuando se ejecuta un $cast entre una base y una clase de objetos derivados, ¿asigna más memoria para el controlador de clase derivado?

$cast(derived, base) En una conversión exitosa, el manejador también podría acceder a miembros de clase derivados. Entonces, ¿cómo funcionan exactamente los internos?

    
pregunta kernalmode

1 respuesta

0

Un $cast funciona como cualquier otra asignación: transfiere un valor de una expresión de origen a una variable de destino. En el caso de $ cast, ese valor es un identificador de un objeto de clase y se asigna condicionalmente a una variable de clase. No hay construcción de objetos de clase. La condición es que el objeto de clase debe ser compatible con el tipo de clase de la variable de clase de destino. El tipo de la variable de clase determina a qué propiedades se puede acceder, no el tipo de identificador de objeto. Las reglas de conversión y asignación aseguran que no sea posible acceder a una propiedad de clase que no existe para el identificador almacenado en cualquier variable de clase.

Vea mi curso sobre clases de SystemVerilog , especialmente la segunda sesión.

    
respondido por el dave_59

Lea otras preguntas en las etiquetas