Regeln für die Verwendung von Unterstrichen in C++-Bezeichnernamen
Hallo zusammen! Ich habe gerade angefangen, C++ zu lernen, und mir ist aufgefallen, dass in manchen Codebeispielen Leute Unterstriche am Anfang von Variablennamen verwenden, z.B. `_value` oder `__internal`. Ich verstehe, dass das wahrscheinlich ein bestimmter Namensstil ist, aber mir scheint, dass der Compiler sich mit solchen Namen seltsam verhält.
Zum Beispiel habe ich versucht, diesen Code zu schreiben:
```cpp
#include
class MyClass {
private:
int _value;
public:
MyClass(int v) : _value(v) {}
int getValue() const { return _value; }
};
int main() {
MyClass obj(42);
std::cout << obj.getValue() << std::endl;
return 0;
}
```
Es hat alles kompiliert und funktioniert, aber dann habe ich Folgendes versucht:
```cpp
int _main() {
return 0;
}
```
Und der Compiler hat eine Warnung ausgegeben. Als ich dann `__LINE__` als Variablennamen verwenden wollte, hat der Compiler sogar mit einem Fehler geschimpft.
Ich bin verwirrt: Was sind die Regeln? Wo darf man Unterstriche verwenden und wo nicht? Warum verhalten sich manche Namen mit Unterstrichen so?