Rule A2-3-1 (required, architecture / design / implementation, automated)
Only those characters specified in the C++ Language Standard basic source character set shall be used in the source code.
Rationale
The basic source character set consists of 96 characters: the space character, the control characters representing horizontal tab, vertical tab, form feed, and new-line,
plus the following 91 graphical characters:
a b c d e f g h i j k l m n o p q r s t u v w x y z
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_{}[]#(
) < > % : ; . ? * + - / ^ & | ~ ! =, \ " ’
[C++ Language Standard [3]]
Exception
It is permitted to use other characters inside the text of a wide string and a UTF-8 encoded string literal. It is also permitted to use a character @ inside comments. See rule A2-7-3.
Example
// $Id: A2-3-1.cpp 307578 2018-02-14 14:46:20Z michal.szczepankiewicz $
#include <cstdint>
void Fn() noexcept
{
std::int32_t sum = 0; // Compliant
// std::int32_t £_value = 10; // Non-compliant
// sum += £_value; // Non-compliant
// Variable sum stores £ pounds // Non-compliant
}
See also
JSF December 2005 [8]: AV Rule 9: Only those characters specified in the C++ basic source character set will be used.