C ++ 11(C ++ 0x)是C ++ 03的完整超集吗?

时间:2011-06-09 12:54:40

标签: c++ c++11

C++考虑(几乎)超级C;但仍然有某些内容适用于C而不是C++

是否有任何功能/设施有效C++03但无效C++11

2 个答案:

答案 0 :(得分:23)

  

是否有任何功能/设施   一个有效的C ++ 03但不适用于C ++ 11   ?

几乎没有不妥之处:

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

另外,对于未来的版本:

  • std::auto_ptr已弃用
  • 抛弃规范已弃用

也许我错过了其他人,但如果你的代码使用了那些,你就必须修复它。

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

答案 1 :(得分:2)

不,这不是一个严格的超集。 extern templateauto,仅列举一些差异......