2016-06-10 31 views
0

Ich habe oft in C++ Bibliotheken Töne von Objekten gesehen, deren Namen mit Unterstrichen beginnen. Ich kenne einige Fälle, in denen dies zum Beispiel nützlich ist:Warum beginnen einige Objektnamen mit einzelnen oder mehreren Unterstrichen in C++?

class Person { 
    private: 
     unsigned int age; 
     //... 
    public: 
     Person(unsigned int _age): age(_age) {} 
    }; 

hier ist es nützlich logisch gleiche Objekte zu unterscheiden _age, age.

Es gibt jedoch auch Fälle, in denen globale Funktionsnamen (nicht aus einer Klasse) auch einzelne oder mehrere Unterstriche haben. Ich würde das gerne im Allgemeinen und ideologischer verstehen. So

:

Was sind die Vorteile für diese Art der Namensgebung?

Wann müssen einzelne und wenn mehrere Unterstriche am Anfang verwendet werden?

+0

Doppelte Unterstriche sind normalerweise für die interne Verwendung des Compilers als Konvention reserviert. Einzelne Unterstriche sind für Bibliotheksfunktionen reserviert, um Kollisionen zu verhindern. –

+0

In diesem speziellen Fall wäre 'Person (unsigned int age): Alter (Alter) {}' auch legal (und erzeugt den gleichen Code). – IInspectable

+0

@ParagAgarwal - doppelte Unterstriche sind ** immer ** reserviert, nicht manchmal. –

Antwort

0

Es ist nie erforderlich, ein erstes einfaches oder doppelt unterstrichenes Präfix für Variablennamen zu verwenden.

Dies ist einfach jemand Namenskonvention oder eine Gewohnheit.

+4

Aber es gibt eine Anforderung, sie nicht nach dem Standard zu verwenden. – NathanOliver

+0

Nur bestimmte Arten; nämlich ein Unterstrich gefolgt von einem Großbuchstaben. –

+0

@SamVarshavchik: Auch doppelte Unterstriche. –