不同的 C++ 标准是否与不同的 Java 版本具有可比性?

Are the different C++ standards comparable to the different Java versions?

假设有一个简单的应用程序使用了 Java 8 个功能。这意味着:

  1. 开发者必须有 JDK 1.8 才能开发它。
  2. 最终用户必须至少拥有 JRE 1.8。

在 C++ 中,有不同的标准。在 C++ shell it lists three: C++98, C++11, C++14. Wikipedia 上列出更多。

我的问题是:这些像 Java 版本吗?

有点。要使用 C++11/14 功能,您需要一个支持这些功能的编译器。但请注意,C++ 编译器没有与 Java 编译器相同的全有或全无版本方法,即您可能有一个支持 some C++11 的编译器和 C++14 功能,但不是全部。

C++ 的 JRE 是独一无二的。 C++ 被编译为本机可执行文件。您可能需要分发您使用的一些库,如果您使用更新的编译器,您必须分发的编译器库也可能不同。但它确实与任何其他图书馆没有什么不同。