Espacios de Nombres

Uso de la Composición de Espacios de Nombres

Las mejores prácticas en programación sugieren el secuestro de nuevos datos o la funcionalidad en un espacio de nombres único y con nombre sano cuando sea posible. Esto se considera una ventaja sobre el volcado de todo en el espacio de nombres global, ya que la búsqueda de nombres puede habilitarse explícitamente o habilitarse como se indica anteriormente, los símbolos se mutilan constantemente sin prefijos de nombres repetitivos o macros, etc.

Por ejemplo, considere un proyecto que define la mayoría de sus clases en namespace gtk. Es posible adaptar namespace gtk a namespace std utilizando una característica de C++llamada composición de espacio de nombres. Esto es lo que sucede si la declaración de uso se coloca en una definición de espacio de nombres: los símbolos importados se importan a los espacios de nombres actualmente activos. Por ejemplo:

namespace gtk{ using std::string; using std::tr1::array; class Window { ... };}

En este ejemplo, std::string se importa anamespace gtk. El resultado es que el uso destd::string dentro del espacio de nombres gtk solo puede usar string, sin la qualification.As una ventaja añadida,std::string no se importa en el espacio de nombres global. Además, se puede hacer una disposición más elaborada para compatibilidad con versiones anteriores y portabilidad, por lo que las declaracionesusingpueden empaquetarse en macros que se establecen en base a pruebas autoconf a «» o, por ejemplo, using std::string; (dependiendo de si el sistema tiene libstdc++ en std:: o no). (ideas de Llewelly y Karl Nelson)

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Previous post La Edad de Oro de la televisión Ha terminado
Next post Las aplicaciones de seguimiento del período no son para mujeres