Beim Lesen Code ich auf eine Klasse kam, die zwei Kennungen hat ‚es Namensgebung‘:Eine Klasse mit 2 Namen?
class A_EXP Node
{
//..
};
Ich bin zu verstehen, nicht in der Lage, was das bedeutet. Könnte mir jemand helfen?
Beim Lesen Code ich auf eine Klasse kam, die zwei Kennungen hat ‚es Namensgebung‘:Eine Klasse mit 2 Namen?
class A_EXP Node
{
//..
};
Ich bin zu verstehen, nicht in der Lage, was das bedeutet. Könnte mir jemand helfen?
A_EXP
ist wahrscheinlich ein Makro, möglicherweise zu nichts erweitert. Es kann auch zu einer __declspec
oder ähnlichen Deklaration erweitert werden, die ändert, wie der Compiler die Klasse als Objektcode ausgibt. Eine häufige Verwendung dieses Musters wäre:
#define A_EXP __declspec(dllexport)
"..in der MSVC Welt." –
In jedem Compiler ist es völlig legal, dass das Makro auf nichts erweitert wird. – cdhowie
Die 'A_EXP' ist wahrscheinlich ein Dekorateur Makro von einer Art - es dehnt sich wahrscheinlich bis zu einem gewissen Compiler spezifische Konstrukt (Sichtbarkeit Kontrollen?) Unter bestimmten Umständen und zu nichts unter Andere. –
'A_EXP' könnte eine Definition für' __dllspec (dllexport) ' –
sein. Ich vermute, dass es je nach Szenario zu' __declspec (dllexport) 'oder' __declspec (dllimport) 'expandiert. – tmpearce