c++ - 如果我对 C++ 的理解有误,请纠正我

标签 c++ c

如果我对 C++ 的以下任何当前理解有误,请纠正我:

  1. C++ 是 C 的扩展版本。因此,C++ 与 C 一样高效。
  2. 此外,任何用 C 编写的应用程序都可以使用 C++ 编译器进行编译
  3. C 语法也是有效的 C++ 语法
  4. C++ 与 C 处于完全相同的语言层次结构中。

语言层次结构

例如。最低级:汇编语言, 高级:Java、PHP 等

所以我的解释是

C++/C 比Java、PHP 等层次低,因为它更接近硬件层次(因此比Java、PHP 等更高效),但又不像汇编语言那么极端。 ...但 C++/C 彼此处于同一级别,并且没有一个更接近硬件级别

最佳答案

  1. 如果您从与 C 和 C++ 一样合法的代码开始,它通常会编译成与两者相同的结果,或者足够接近以至于效率仅受到最小影响。

  2. 可以编写 C++ 不允许的 C(例如,使用名称与 C++ 中添加的关键字之一相同的变量,例如 new ).然而,大多数这样的情况转换起来都很简单,因此在 C++ 中是允许的。最难转换的情况可能是使用函数声明而不是原型(prototype)的代码(或者使用根本没有声明的函数,这在旧版本的 C 中是允许的)。

  3. 参见 2 -- 一些语法 C 不能像 C++ 那样工作。如前所述,虽然转换通常很简单。

  4. 不,不是真的。尽管 C++ 确实提供了与 C 相同的低级操作,但它也具有 C 所缺乏的高级操作。

关于c++ - 如果我对 C++ 的理解有误,请纠正我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853974/

相关文章:

c++ - 基于 ISO-639/ISO-3166 的语言/国家语言环境名称与 Windows 名称之间的转换表

c++ - QT QDebug 与 QIODevice 不工作

C 程序数组比较

c - 关于包装和调用 C 函数

c++ - MPI_Barrier() 的行为?

c++ - boost::posix_time::time_facet 和 boost::posix_time::time_input_facet 之间的不一致 '%f' 行为

c++ - 递归导致程序崩溃但 while 循环中的相同概念不是来自 C++ 析构函数

c - 如何以编程方式在 OpenSSL 中创建自签名证书(即,不使用 'openssl' CLI 命令)?

C 编程 - 用字符串替换 int?

c - 如何在 C 中执行 grep 操作?