tipos sirve significado que para namespace fuente ejemplos dev declaracion codigos codigo basicos c++ class namespaces symbol

sirve - Clases y espacios de nombres que comparten el mismo nombre en C++



para que sirve el using namespace std en dev c++ (3)

Puede especificar un nombre completamente calificado a partir de :: que define el espacio de nombres global, por ejemplo:

namespace abc { class foo { int a; int b; }; } namespace foo { class abc { ::abc::foo a; // Changed from ''abc::a = 10;'' since it doesn''t compile }; }

Digamos que tengo una clase llamada ''foo'' en el espacio de nombres "abc" ...

namespace abc { class foo { int a; int b; }; }

... y luego digo que tengo otra clase llamada "abc" en un espacio de nombres diferente

#include "foo.h" namespace foo { class abc { abc::a = 10; }; }

abc :: a no sería un tipo definido, porque estaría buscando la clase abc, no el espacio de nombres abc. ¿Cómo haría para referirme apropiadamente a un objeto en otro espacio de nombres, en el que ese otro espacio de nombres tuviera el mismo nombre que la clase en la que estoy?


Puede usar ::abc::xx , es decir, identificar la variable o tipo como su ruta de espacio de nombres absoluta. Si no especifica un nombre absoluto, los nombres relativos comienzan a subir en los espacios de nombres / clases incluidos.


Puede utilizar un prefijo :: para denotar a partir del espacio de nombres global, por lo que en su caso ::abc denotaría el espacio de nombres abc desde su primer fragmento de código.