Règles d'utilisation du trait de soulignement dans les identifiants C++
Bonjour à tous ! Je viens de commencer à apprendre le C++ et j'ai remarqué que dans différents exemples de code, le trait de soulignement `_` est utilisé de différentes manières. Parfois, il est placé au début d'un nom de variable, par exemple `_value` ou `__value`, parfois à la fin — `value_`. Et dans certaines bibliothèques standard, j'ai vu des noms comme `_M_engine` ou `__func__`.
J'ai écrit un petit code, et il s'est compilé sans erreurs :
```cpp
#include
int _myVar = 10;
int main() {
int __anotherVar = 20;
std::cout << _myVar + __anotherVar;
return 0;
}
```
Mais ensuite, j'ai lu que certains identifiants avec trait de soulignement sont réservés pour le compilateur et la bibliothèque standard. Maintenant, j'ai peur que mon code puisse soudainement se casser ou provoquer un comportement indéfini.
Dites-moi, s'il vous plaît, quelles sont les règles d'utilisation du trait de soulignement dans les noms ? Quand peut-on l'utiliser et quand ne le peut-on pas ? Et pourquoi ces règles sont-elles si strictes ? Je vous serais reconnaissant pour une explication détaillée avec des exemples de code correct et incorrect.