为什么标准C++库中的一些标识符很短

Why some identifiers in the standard C++ library are short?

本文关键字:标识符 标准 C++ 为什么      更新时间:2023-10-16

为什么有些C++名称很短,有时很难理解,比如strcmpcoutcin等。但在Java等其他语言中,名称并不短。它能节省时间、内存还是什么?

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

有些C++标准库是从旧的C标准库派生而来的。旧的C标准库又是从旧的K&R库,通过其他语言中内置的函数(如输入/输出)提供了一些基本功能。

《ANSI C程序设计语言的基本原理》一书的本节介绍了C标识符的命名约定。

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

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

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

但我认为它深入到了程序员的数学背景中。早期有人试图通过使用英语术语来使语言更容易理解,COBOL和SQL可能是唯一的幸存者。但是,由于编程语言中的单词有着非常精确的含义,使用"SELECT"而不是冒号只会有一小部分帮助,因此您仍然需要了解SQL的所有细节才能编写查询的其余部分。

对于经验丰富的程序员来说,短标识符使代码更容易理解,您可以一眼就能看到和解析更多的结构。如果你必须阅读C17-C18的科学论文,他们用一页散文来描述我们在一个方程中所写的内容,你会理解的。