C++被认为(几乎)是C的超集;但是仍然有些事情在C中起作用,而在C++中不起作用。

是否有任何有效的C++03但不能在C++11中使用的功能/设施?

最佳答案



几乎没有不兼容性:

  • export template已删除(不推荐使用,实际上已删除)
  • 您不能再使用auto作为存储说明符
  • 有新的保留字:alignofchar16_tchar32_tconstexprdecltypenoexceptnullptrstatic_assertthread_local

  • 另外,对于将来的版本:
  • std::auto_ptr已弃用
  • throw规格已弃用

  • 也许我想念其他人,但是如果您的代码使用了那些,则必须对其进行修复。

    对于C++ 2011中的编译器实现,几乎所有C++ 2003功能仍然相同或更为精确地指定。

    关于c++ - C++ 11(C++ 0x)是C++ 03的完整 super 集吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6293075/

    10-09 19:32