Ja es kann vlt sein, dass du darauf zugreifen kannst, dass hat aber nichts mit dem namespace zu tun, deshalb geht es ja auch nicht mehr, wenn du das using weg nimmst. das using namespace hat dabei keinen effekt auch wenn es so scheint. Wenn du du das mit direktem zugriff machst, passiert das:
|
C-/C++-Quelltext
|
1
2
3
4
|
namespace ABC
{
#define GAME_CAPTION "Superawesome Killer Game"
}
|
Dann gilt:
|
C-/C++-Quelltext
|
1
2
|
using namespace ABC;
std::cout << GAME_CAPTION;
|
Wird zu:
|
C-/C++-Quelltext
|
1
2
|
using namespace ABC;
std::cout << "Superawesome Killer Game";
|
Aber mit direktem zugriff:
|
C-/C++-Quelltext
|
1
|
std::cout << ABC::GAME_CAPTION;
|
Wird zu:
|
C-/C++-Quelltext
|
1
|
std::cout << ABC::"Superawesome Killer Game";
|
Das gibt natülich einen Fehler. Das makro GAME_CAPTION wird direkt im textfile ersetzt, du könntest allso genau so gut durchgehen mit "suchen und ersetzten" alle "GAME_CAPTION" mit "Superawesome Killer Game" ! Deshalb sollst du es ja auch nicht benutzen