I am learning to program my Arduino, but I have a pretty good background in C ++, which means that I was very disappointed that I could not use the standard C ++ library. I looked around trying to figure out why this is, and so far the only plausible explanation is that the AVR-GCC does not comply with the C ++ language standard.
Now I know that most compilers have slight deviations from the Standard, but I think that there should be something really big that shares AVR-GCC with GCC, Clang or any other compiler that I used before, Like some kind of mass an important feature that is completely absent or something like that. There must be a good reason why I cannot use std::vector, for example. It is just too useful to leave for no reason.
So what is it? What giant AVR-GCC dialectic hole makes the standard C ++ library unusable on Arduino? And I ask for this more than just curiosity, because if there are giant holes in the language, I need to know about them before I make a mistake in some undefined behavior that I did not expect.
source
share