C++ 三字母组

2024 年 8 月 28 日 | 3 分钟阅读

引言

翻译 C 和 C++ 源代码时,一组称为三字符组三字符序列会被替换为单个字符。为了允许在不包含 C 语言所需所有字符的字符集中编写程序,它们于1990 年首次纳入 C 标准。

无论源代码是用什么字符集编写的,三字符组总是被替换为相同的字符。因此,任何支持 C 或 C++ 语言的平台都将能够运行使用三字符组的程序。

下表列出了九个三字符序列及其替代字符

序号三字符组等效
1.??=#
2.??/\
3.??'^
4.??([
5.??)]
6.??!|
7.??<{
8.??>}
9.??-~

语法

在编译过程的翻译阶段,三字符组会被替换为等效字符。因此,它们在已生成的二进制代码中是不可见的。

CC++ 语言使用三字符组是有争议的。有些人认为它们是移动性的有用工具,而另一些人则认为它们是令人困惑和多余的功能。

是否在 C 或 C++ 程序中使用三字符组取决于您的个人需求。在编写将在各种平台上编译的代码时,三字符组可能是一个有用的工具,以确保您的代码能够正常运行。并非所有编译器都支持三字符组,因此如果您正在为特定平台编写代码,您可能希望避免使用它们。

C++ 三字符组示例

下面显示了基本三字符组序列的实现示例

输出

My message to JavaTpoint
My program is C++

下面显示了另一个三字符组序列的示例

输出

My Name is: saswat
My Age is: 26
My Qualification is: MCA
I'm From odisha.

三字符组的难题

三字符组有各种缺点。它们只能替换有限数量的字符,这是一个缺点。三字符组可能难以理解且复杂,这是另一个缺点。最后,并非所有编译器都支持三字符组。

三字符组的解决方案

三字符组可以通过多种结构来替换。使用包含 C 或 C++ 语言所需所有符号的字符集是一种替代方法。另一种选择是使用预处理器指令为字符集中不包含的字符定义宏。最后,您可以使用程序将源代码翻译成包含所需所有字符的字符集。