sirve significado significa qué que proposito programacion para namespace función dev desempeña cual c++ namespaces standards nested language-lawyer

c++ - significado - ¿Por qué está prohibido abrir múltiples espacios de nombres a la vez?



significado de namespace en programacion (2)

¿Por qué hacer que los compiladores lo implementen cuando podrías hacerlo?

namespace foo { namespace bar { }}

Es posible hacerlo using namespace foo::bar; (es decir, usar el espacio de nombres interno sin usar el espacio de nombres externo primero / en absoluto), ¿por qué el estándar prohíbe hacer lo siguiente?

namespace foo::bar { // open nested namespace bar in foo and extend it... }

No estoy buscando una solución alternativa, solo una posible explicación de por qué esto no está permitido.


No estoy seguro de que "prohibido" sea la palabra correcta, tal vez fue solo un descuido. Es un bien pequeño bastante agradable que no es realmente un gran problema.

También puede tomar el punto de vista de que el espacio de nombres foo aún no se ha creado cuando escribe foo::bar , por lo que al permitir que la sintaxis parezca que foo ya estaba creado cuando no lo estaba.

También puede ir más allá y solicitar la capacidad de escribir la class Foo::MyClass {... para definir MyClass en el espacio de nombres Foo , y lo mismo para funciones, variables, etc. ¿Pero es esta función realmente necesaria y está resolviendo algún problema de presión en particular?