I'm new to Arduino programming and I was trying to refactor some code from a .ino file into several supporting c++ classes. However, a problem I encountered is some c++ libraries are not seemed to be supported in Arduino. For example I was trying to use std::string but the compiler gave me an error.
This made me rethink my intended approach - Should I strive for the level of modularization in Arduino programming as I normally do in OO programming? If so, my ability is severely restricted by what library is available for me to utilize. If not, what would be a good software engineering guideline I should follow?