I'm writing a set of pure virtual classes that act as interfaces. The idea is that the code implementing such interfaces could be built with a different build configuration, compiler, or even a different STL implementation to code making use of such an object via such an interface.
Plain old data like uint32_t
is standardised as is double
and float
. (bool
is not since the standard does not state its size.)
Which category does std::size_t
come in? Is it purely a function of the machine architecture? For example, on a 32 bit machine, could it ever be such that sizeof(std::size_t)
is not 4?