我们知道 C 和 C++ 在许多方面非常相似。C++ 在其中添加了额外的面向对象特性,但大多数 C 程序在 C++ 中也可能是正确的。在这里,我们将看到一个与函数调用相关的程序,当它用 C 编写时可以运行,但在 C++ 中将无法工作。示例 在线演示#include void myFunction() { printf("Function called"); } int main() { myFunction(); myFunction(2); }输出Function called Function called此程序将在 C 中运行并生成输出,但当我们想要在 C++ 中编译时,它将返回错误 ... 阅读更多
在本节中,我们将了解 C 中的字符串化运算符 (#) 和令牌粘贴运算符 (##) 是什么。字符串化运算符是一个预处理器运算符。它向编译器发送命令以将令牌转换为字符串。我们在宏定义中使用此运算符。使用字符串化运算符,我们可以将某些文本转换为字符串,而无需使用任何引号。示例 在线演示#include #define STR_PRINT(x) #x main() { printf(STR_PRINT(This is a string without double quotes)); }输出This is a string without double quotes令牌粘贴运算符是一个预处理器运算符。它向编译器发送命令以将两个令牌添加到一个字符串中。我们 ... 阅读更多
在这里,我们将了解如何编写一个包含两个函数的代码,一个函数将在 main 函数之前执行,另一个函数将在 main 函数之后执行。这些功能用于在执行 main 之前执行一些启动任务,并在执行 main 之后执行一些清理任务。要执行此任务,我们必须为这两个函数设置属性。当属性为构造函数属性时,它将在 main() 之前执行,而当属性为析构函数类型时,它将在 main() 之后执行。我们正在使用 GCC 函数。该函数是 __attribute__()。 ... 阅读更多