I'm developing in an environment that is very constrained on memory and thus C++ exception handling has been turned off. Does this mean I cannot use std::string because of exceptions it might throw? I'm not concerned about allocation exceptions but other exceptions. Is there a list of exceptions documented somewhere that I can review?
So, if I have two modules, one that was compiled with exceptions turned off and the other compiled with a throw and exceptions turned on, the linker should complain?
As with nearly everything, it depends on the system.
For example, Visual Studio linking a full win32 app can, but it won't for wince. This is because of it's "Safe Exception Handlers". I can't comment on any other system in this regard.