Buona a sapersi, devo essere rimasto indietro.Originariamente inviato da MItaly
Teoricamente quando ti pare, in pratica ci sono delle limitazioni.
Lo standard C++ infatti dice (§17.4.3.1.2):
Ossia, non puoi mai usare nomi che iniziano con due underscore e nomi che iniziano con un underscore seguito da una lettera maiuscola, e non puoi usare alcun nome che inizia con un underscore nel namespace globale. In tali contesti, infatti, i nomi fatti a quella maniera sono riservati per uso da parte della libreria C++; l'uso che questa ne può fare può essere interno (se guardi negli header standard vedrai che tutti i nomi "privati" iniziano con un doppio underscore) sia esterno (se una libreria standard fornisce negli header standard delle funzioni aggiuntive oltre a quelle previste dallo standard, lo fa con nomi che iniziano per doppio underscore).
In sostanza, quindi, puoi usare solo nomi che iniziano per underscore seguito da lettera minuscola, e comunque non nel namespace globale (puoi usarli ad esempio come membri di una classe).
Se non hai voglia di imparare queste limitazioni, limitati a non usare mai identificatori che iniziano per underscore.
![]()
![]()

Rispondi quotando