Migration? I thought WG21 fought hard to maintain all compatibility. If you did not use export, you do not need migration, the existing code is in order.
I think you really had in mind the issue of reorganizing existing code to get C ++ 11 features. Here I would apply the general wisdom regarding refactoring - never do it without the right goal and motivation based on value.
Just new brilliant features have appeared, does not impose technological debt on your code.
I suggest you start using the new features in the new code and apply more liberal changes where you refactor for various reasons. And to start thinking altogether, change only when having several styles is considered a real pain. (The nature of a C ++ multi-paradigm usually should provide enough freedom and a uniform approach only occasionally).
Of the new features that I would focus on:
- auto. All my new code is populated with the
auto const and auto const& locales, omitting the types. Well, one suggested a globalreplace, contrary to what I said earlier: replace :: using an auto iterator, if you have to use their loops. - lambdas if you use algos with single shot features.
- new stream, especially
std::future , if applied to the project
If you use 'std :: auto_ptr', then probably a good candidate for globalreplace too.
I left the semantics of movement because I still need to jump on them, not sure about the impact, so I leave it to others to suggest or not.
source share