The manual itself answers your first question:
... the choice of ABI to use does not depend on the -std parameter used to compile your code ... This ensures that -std does not change the ABI, so it is easy to connect the C ++ 03 and C ++ 11 code together.
Regarding the second question, I'm afraid this is hard to generalize because it depends on how your code uses the standard library. Does he copy a lot of lines? How often is the list size requested? Is the code multi-threaded?
Although atomicity and concurrency were introduced in the C ++ 11 standard, I would suggest that the stdlib ++ copy-on-write mechanism already used variation anyway. These implementations are usually thread safe.
Perhaps one thing you didn't talk about directly is the effect on other std components that depend on these behaviors such as list::splice
source share