Mientras código me encontré con una clase que tiene 2 identificadores de nombres 'es la lectura:¿Una clase con 2 nombres?
class A_EXP Node
{
//..
};
no soy capaz de entender lo que esto significa. podria alguien ayudarme?
Mientras código me encontré con una clase que tiene 2 identificadores de nombres 'es la lectura:¿Una clase con 2 nombres?
class A_EXP Node
{
//..
};
no soy capaz de entender lo que esto significa. podria alguien ayudarme?
A_EXP
es probablemente un macro, posiblemente expandiéndose a nada en absoluto. También se puede expandir a una declaración __declspec
o similar, que modifica cómo el compilador emitirá la clase como código objeto. Un uso común de este patrón sería:
#define A_EXP __declspec(dllexport)
"..en el mundo de MSVC". –
Es completamente legal en cualquier compilador que la macro se expanda a nada. – cdhowie
El 'A_EXP' es probablemente una macro decorador de algún tipo - es probable que se expande hasta cierto constructo su compilador (controles de visibilidad?) En algunas circunstancias, y para nada bajo otros. –
'A_EXP' podría ser una definición para' __dllspec (dllexport) ' –
Supongo que se expande a' __declspec (dllexport) 'o' __declspec (dllimport) 'dependiendo del escenario. – tmpearce