Якщо вони не відчувають, що вони є "частиною реалізації", тобто стандартними бібліотеками, тоді вони не повинні.
Правила є досить конкретними та дещо докладнішими, ніж пропонували деякі інші.
Всі ідентифікатори, які містять подвійне підкреслення або починаються з підкреслення, після якого йде велика літера, зарезервовані для використання реалізації в усіх сферах, тобто вони можуть бути використані для макросів.
Крім того, всі інші ідентифікатори, які починаються з підкреслення (тобто не слідують за іншим підкресленням або великою літерою), зарезервовані для реалізації в глобальному масштабі. Це означає, що ви можете використовувати ці ідентифікатори у власних просторах імен або у визначеннях класів.
Ось чому корпорація Майкрософт використовує імена функцій із символами нижнього підкреслення та з малими літерами для багатьох основних функцій бібліотеки середовища виконання, які не є частиною стандарту С ++. Ці імена функцій гарантовано не суперечать ні стандартним функціям C ++, ні функціям коду користувача.