A menos que sientan que son "parte de la implementación", es decir, las bibliotecas estándar, entonces no deberían.
Las reglas son bastante específicas, y son un poco más detalladas que otras sugeridas.
Todos los identificadores que contienen un doble guión bajo o comienzan con un guión bajo seguido de una letra mayúscula están reservados para el uso de la implementación en todos los ámbitos, es decir, pueden usarse para macros.
Además, todos los demás identificadores que comiencen con un guión bajo (es decir, no seguido de otro guión bajo o una letra mayúscula) se reservan para la implementación en el ámbito global. Esto significa que puede usar estos identificadores en sus propios espacios de nombres o en las definiciones de clase.
Esta es la razón por la cual Microsoft usa nombres de funciones con un guion bajo y todos en minúscula para muchas de sus funciones de biblioteca de tiempo de ejecución central que no son parte del estándar C++. Se garantiza que estos nombres de función no entren en conflicto con las funciones estándar de C++ o las funciones de código de usuario.
¿Por qué es difícil de leer? Está diseñado principalmente como un delímetro, al igual que las comillas.Según recuerdo, se usa principalmente para constantes integradas. –