He estado leyendo otras preguntas aquí y hay algo que me tiene confundido y espero que se pueda explicar. Estoy seguro de que es algo simple pero me está aludiendo.Espacios de nombre sin nombre vs variables privadas
Así que en C++ que tienen las variables privadas que son sólo visible dentro de la clase:
class MyClass
{
private:
int i;
};
Pero también puede tener espacios de nombres sin nombre:
namespace
{
int i;
}
Ambos parecen ser privados de la clase, pero en el segundo caso, no puede ver que existen desde el archivo de encabezado. Al leer otras preguntas, parece que las funciones son diferentes ya que no puede pasarles objetos de clase. Pero no estoy seguro de cuál es la diferencia aquí para las variables.
¿Existe una desventaja para la 2ª manera que significa que todavía debe usar variables privadas?
Eso es bastante obvio ahora, lo explicas. Sabía que en algunos casos se preferían a la estática, pero esas dos afirmaciones simplemente no se unieron en mi cabeza por alguna razón :-) Gracias – Firedragon