Quoting from C++14 ISO standard (Freely available working draft ) (Page 6, section 1.7)
The fundamental storage unit in the C++ memory model is the byte. A byte is at least large enough to contain any member of the basic execution character set (2.3) and the eight-bit code units of the Unicode UTF-8 encoding form and is composed of a contiguous sequence of bits, the number of which is implementation- defined....
The question is:
Doesn't the above imply that a byte will always contain 8 bits, since it has to contain 8-bit code units, and the basic execution character set contains all the basic english and mathematical symbols which I hope will require at least 8 bits for storage? Why then, it says that number of bits is implementation defined?