大規模なクロスプラットフォームコードベースで C++11 を使用するための移行を開始したいと考えています。主な問題は、C++11 サポートのレベルが、使用されるコンパイラーによって異なることです。
コード全体にマクロを散らかす以外に、この移行を容易にする方法についての例/提案はありますか? 特定の機能のテクニックを提供してください。例えば:
// cpp11compat.h
// For compilers that do not have 'nullptr', we will define it as 'NULL'.
// Any misuses of 'nullptr' will be caught by C++11 compliant compilers.
// Obviously, this won't fix anything that depends on the type 'nullptr_t'
//
#ifdef STUPID_SUN_COMPILER
#define nullptr NULL
#endif
考え?