An integer type which is “large enough to store any member of the implementation’s basic character set”. It is implementation-defined whether char is signed (and has a range of at least -127 to +127, inclusive) or unsigned (and has a range of at least 0 to 255, inclusive).

const char zero = '0';
const char one = zero + 1;
const char newline = '\\n';
std::cout << one << newline; // prints 1 followed by a newline