2011-09-26 15 views
14

Acabo de ver algún (presumiblemente) código C++ que tiene dos "palabras clave" desconocidas para mí (estoy asumiendo palabras clave pero, dado que no tengo contexto, pueden ser cosas simples #define).¿Cuáles son las palabras clave 'ref' y 'selladas' en C++?

Tampoco parece que aparezcan en el estándar C++ 11, al menos el borrador que tengo pero, dado que es un borrador bastante tardío, no puedo imaginar que hayan sido incluidos en el estándar en el último minuto. Son ref y sealed.

El código de las encontré fue algo así como:

public ref class DevIface sealed { 
    private: 
     int currOffset; 
public: 
     DevIface (int initOffset); 
     : : : 

¿Alguien sabe lo que estas palabras clave son, y lo que estamos destinados a lograr?

Respuesta

19

Esto es C++/CLI.

A ref class es un tipo administrado.
sealed significa que la clase no se puede heredar

+3

Estas palabras clave también se usan con API C++ WinRT nativas para Windows 8. – Sandeep

+1

Una clase de referencia en WinRT significa que es un tipo ref-contado que se puede usar en llamadas ABI (interfaz binaria de aplicaciones). –

7

sealed en C++/CLI es aproximadamente equivalente a final en C++ 11.

6

Por lo tanto, el resumen es que "ref" y "sellado" no son palabras clave estándar de C++. Se usan en la versión de Microsoft.

Cuestiones relacionadas