我想开始过渡到在大型跨平台代码库中使用 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
想法?