No, non sei corretto. E sì, il C++ fa un uso eccessivo della parola "statico".
Una variabile membro di classe statico è ovviamente globale con la classe che funge da ambito spazio dei nomi e con alcune differenze di privilegi di accesso se è privata o protetta (è possibile accedervi solo dalla classe).
Tuttavia, una funzione membro di classe statica è proprio come una normale funzione libera (non membro della classe) e ha le sue variabili locali ogni volta che viene chiamata.
L'unica vera differenza tra una funzione membro di classe statica e una funzione libera normale, a parte la convenzione di denominazione, è che ha accesso ai membri privati di una classe (e richiede un'istanza esterna di una classe).
Inoltre, una funzione di membro di classe statico può essere chiamata da un modello con un parametro di modello variabile, che richiama quello che viene comunemente chiamato "polimorfismo in fase di compilazione" ed è comunemente utilizzato nella meta-programmazione.
Una variabile "locale" statica in qualsiasi funzione è una singola istanza, d'altra parte, è anche un po 'come globale ed è sensibile ai problemi di conflitto di thread poiché due thread che chiamano la funzione accedono alla stessa istanza.
possibile duplicato di [funzione membro statica e sicurezza thread] (http://stackoverflow.com/questions/4509850/static-member-function-and-thread-safety) – Suma
Tony, perché, sulla terra, sei chiedendo di nuovo la stessa domanda? – Suma
@Suma Ho votato per chiudere la mia domanda, ho dimenticato di averlo già chiesto ... –