Ho letto altre domande qui e c'è qualcosa che mi ha confuso e spero che possa essere spiegato. Sono sicuro che è una cosa semplice ma mi sta alludendo.Spazi dei nomi senza nome vs variabili private
Quindi, in C++ abbiamo variabili private che sono visualizzabili solo all'interno della classe:
class MyClass
{
private:
int i;
};
ma possiamo anche avere spazi dei nomi senza nome:
namespace
{
int i;
}
Entrambe sembrano essere privato della categoria, ma nel 2 ° caso non è possibile vedere che esistono dal file di intestazione. Dalla lettura di altre domande sembra che le funzioni siano diverse in quanto non è possibile passare loro degli oggetti di classe? Ma non sono sicuro di quale sia la differenza per le variabili.
C'è uno svantaggio del 2o modo che significa che si devono ancora utilizzare variabili private?
Questo è abbastanza ovvio ora lo spieghi. Sapevo che in alcuni casi erano preferibili alla statica, ma quelle 2 affermazioni non si sono legate nella mia testa per qualche motivo :-) Grazie – Firedragon