Parece que recuerdo haber visto notas en alguna parte de una manera de combinar múltiples espacios de nombres en uno solo.¿Es posible envolver o fusionar espacios de nombres separados?
Ahora, en busca de dichas notas, no las encuentro, incluso buscando utilizando términos de búsqueda peinando, agrupando, fusionando y envolviendo No se me ocurre nada. Tal vez no entendí lo que vi antes. No tengo una aplicación específica para esto, es solo una curiosidad y es un poco artificial.
Pero, a partir de dos espacios de nombres ...
namespace a {int func() {return 1;}}
namespace b {int func() {return 2;}}
que estaba buscando a la sintaxis ya sea simplemente envolverlos en otro nombre - después del hecho - (sí, sé que puedo reescribirlo de forma anidada) o combinarlos en un nuevo espacio. Pero encontré que si agrego uno de los espacios de nombres que funciona mucho.
namespace c {namespace a{ int func2() {return 3;}} }
int main(int argc, char **argv)
{
int a = a::func(); // normal case
int c = c::a::func2(); // wrapped and added to
//int c = c::func2(); // doesn't work
//int d = a::func2(); // doesn't work
}
La pregunta son:
1) ¿hay sintaxis que simplemente combina los dos espacios en uno nuevo?
2) ¿hay una sintaxis para envolver los espacios sin agregar más a los subespacios?
supongo que se podría poner 'using namespace a;' 'en b' pero la superposición de nombres de funciones pueden causar problemas. – GWW
¿cuál sería el objetivo de esto? – Rhexis
@Flyphe - para citar la pregunta anterior: * No tengo una aplicación específica para esto, es solo una curiosidad y es un poco artificial. * – Arbalest