A menudo he encontrado querer deshacer el efecto de una sentencia using o incluir todo un espacio de nombres (como std) pero excluir un bit para reemplazar (como cout). Por alguna razón, esto no es posible. Me pregunto si alguien sabe por qué se decidió no agregar esta habilidad al idioma. ¿Hay alguna razón técnica? Supongo que no fue solo olvidado, ya que tampoco parece estar programado para C++ 0x.¿Por qué no hay forma de deshacer "usar" en C++?
Solo para aclarar, no estoy buscando soluciones, ya que Google puede mostrarme esas. Estoy buscando una explicación de por qué esto es imposible, y por qué no se consideró (por lo que puedo decir) para su inclusión en 0x.
Les recordaría que la directiva 'using namespace' generalmente se considera una muy mala idea, podría usar perfectamente una directiva' using' para cada nombre que use con frecuencia ... y, francamente, por lo general no me molesto y solo deletrear el espacio de nombres (¿qué son 5 caracteres más?) –
Para aclarar: no desea deshacer los efectos de la declaración de uso en algún momento posterior del archivo; ¿Desea especificar símbolos para excluir de la importación como parte de la propia declaración de uso? Encuentro tu elección de palabras aquí confusa. –
@msteam: ¿Conoce la posibilidad de escribir directivas 'using' no solo en el alcance del archivo, sino también dentro de las funciones o bloques anidados? – fredoverflow