7

为什么有些 C++ 名称很短,有时难以理解,例如strcmp, cout,cin等。但在其他语言中,如 Java 名称并不短。它会节省时间,内存还是什么?

4

3 回答 3

11

这主要适用于从 C“继承”的标准 C++ 库部分。在 C 语言的 C89 之前的标准中,外部标识符的重要部分被限制为 6 个字符;允许链接器忽略剩余的字符。这就是标准 C 库将标识符长度限制为 6 个字符的原因。C++ 合并了该库“批发”,以及一些神秘的标识符。

于 2013-06-30T04:36:02.383 回答
1

C++ 标准库的某些部分派生自较旧的 C 标准库。较旧的 C 标准库又衍生自较旧的 K&R 库,该库通过其他语言中内置的函数(例如输入/输出)提供一些基本功能。

《ANSI C 编程语言的基本原理》一书的这一部分提供了对 C 标识符命名约定的描述。

C 编程语言被编译,编译器的机器代码输出被链接到实际应用程序中。执行链接的软件通常是操作系统供应商提供的标准工具的一部分。对不同供应商提供的可用链接器应用程序的调查发现,最基本的为链接器可以处理的外部标识符提供了六个字符。一些链接器允许更多,但是通过指定六个字符的限制,C 编译器的可用目标计算机列表要大得多。

通过保持链接器的限制,它允许 C 程序员编写可与用其他语言编写的软件一起使用的 C 程序和函数库,并允许 C 程序员使用以其他语言编写的库。

于 2013-06-30T04:58:47.417 回答
0

C++ 继承自 C,C 是很久以前由习惯于使用汇编程序工作的程序员构建的。

但我认为它更深入地了解了程序员的数学背景。早期尝试使用英语术语使语言更易于理解,COBOL 和 SQL 可能是唯一的幸存者。但是由于编程语言中的单词具有非常精确的含义,使用 'SELECT' 而不是冒号只能起到很小的作用,你仍然需要了解 SQL 的所有细节来编写查询的其余部分。

简短的标识符使有经验的程序员更容易理解代码,您可以一目了然地查看和解析更多结构。如果您必须阅读 C17-C18 的科学论文,他们使用一页散文来描述我们将在一个方程式中写出的内容 - 您会明白的。

于 2013-06-30T04:45:57.193 回答