Note that a popular convention of prefixing private members with an underscore runs afoul of these rules if the member name begins with an uppercase letter. class Widget { public: Widget(); private: int _size; // okay void _Toggle(); // not okay }; The C language does not have namespaces, so it also must reserve names in the global namespace for future expansion. Some names may not be used by symb
![On leading underscores and names reserved by the C and C++ languages - The Old New Thing](https://cdn-ak-scissors.b.st-hatena.com/image/square/dfde42e02623fe46bcffcf10299ed7e357561f73/height=288;version=1;width=512/https%3A%2F%2Fdevblogs.microsoft.com%2Foldnewthing%2Fwp-content%2Fuploads%2Fsites%2F38%2F2019%2F02%2FShowCover.jpg)