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?
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. –
In diesem speziellen Fall wäre 'Person (unsigned int age): Alter (Alter) {}' auch legal (und erzeugt den gleichen Code). – IInspectable
@ParagAgarwal - doppelte Unterstriche sind ** immer ** reserviert, nicht manchmal. –