Danyhack, no pretendia hacerte sentir mal. Mis conocimientos sobre C++ estan anticuados y estoy poniendome al dia, pero por lo que tengo leido, un namespace lo que hace es identificar funciones, clases y variables de forma unica a un nombre, de tal forma que si en algun momento puede haber ambiguedad porque puedan aparecer repetidos el identificadores o nombres de variables, clases o funciones, esta queda resuelta mediante el nombre bajo el que estan agrupados.
Por ejemplo, en un fiuchero fuente tienes una funcion que se llama ordenar para manejar un juego de cartas, y en otro tienes otra funcion que se llama ordenar y ordena enteros, puedes hacer lo siguiente:
Código
//en uno de los ficheros namespace cartas { //... void ordenar(int baraja[]); } //en el otro namespace enteros { //... void ordenar(int vector[]); }
Para los prototipos los identificadores de los parametros no cuentan asi que ambos son void ordenar(int []);. Si incluyes las dos funciones en un fichero se distinguen asi:
cartas::ordenar
enteros::ordenar
Ya digo que nunca he utilizado los namespaces, y se que el funcionamiento es mas complejo, pero la idea basica es esa. Aqui hay gente que sabe mas y te lo podra explicar mejor y con mas profundidad.
¡Saludos!