Utilizando "namespace foo {" en lugar de calificar explícitamente fuera de los archivos de encabezado [cerrado]

Si una función se declara como tal:

namespace foo {
    void bar();
}

a mayoría de las personas definen la función de esta manera:

void foo::bar() {
    ...
}

Sin embargo, me gusta hacerlo de esta manera:

namespace foo {
    void bar() {
        ...
    }
}

Prefiero este estilo porque me salva de volver a escribir siempre foo ::, que a menudo es tedioso en los parámetros de función que aceptan tipos declarados en ese mismo espacio de nombres. Además, es más fácil cambiar el nombre de todo el espacio de nombres.

Me pregunto por qué casi nunca veo mi estilo en el código de otras personas, ¿hay alguna desventaja también, además del nivel de sangría adicional (y ni siquiera tiene que sangrar espacios de nombres)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta