There was a question like this before, in 2011: Exotic architectures the standards committees care about
Now, I'd like to ask a very similar question, but this time, I'm asking it from the programmer's view of perspective, and in the perspective of C++11.
Which hardwares exist currently, which has a C++11 compiler for it, and can be considered exotic?
What do I consider exotic?
- where a char is not 8 bit
- where IEEE 754 float number format not available
- where the integer numbers aren't encoded in two complement
- where there is no 8, 16 or 32 bit types supported by the compiler
- where the memory model is not linear (so, you cannot compare/subtract any pointers)
So anything, which is not the standard, which we see on x86/ARM world, where we have:
- have 8/16/32-bit two complement integers
- IEEE754 floats, some fully compliant, some don't, but use the IEEE754 format
- linear memory model
Note: I'd like to have answers, where a C++11 conformant compiler exists for the hardware, not where a C++ compiler exists, but isn't fully conformant.
I'm asking this, because a lot of times, I get answers like "you cannot depend on that, it is implementation defined", and I'd like to know, that actually, in the real world, how much I can depend on the standard. Just an example: whenever I write std::uint16_t
, I may worry (as this feature is optional), that on a platform, this type is non-existent. But, is there an actual platform, where this type doesn't exist?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…