c - 如果 c 不支持运算符重载,我们如何在#include 指令中使用小于号( '<' 或什至大于( '>'))?

标签 c operator-overloading c-preprocessor

我们都知道 c 不支持运算符重载。谁能告诉我如果是这样,那么我们如何在 #include 指令和 < strong>比较也?或者所提供的功能被称为其他东西并用语言定义?

最佳答案

C 中的许多符号根据上下文具有不同的含义。

例子:

*可以表示乘法或指针取消引用。

这种双重含义使得编写 C 解析器变得有些棘手,甚至在代码未编译时提供有用的错误消息也变得更加棘手。

请注意,这种双重含义不是运算符重载。他们是两个独立的运营商。

说到#include指令答案是它们由预处理器处理。在预处理器步骤之后 <>消失了 - 该行已被包含文件的全部内容替换。

关于c - 如果 c 不支持运算符重载,我们如何在#include 指令中使用小于号( '<' 或什至大于( '>'))?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633766/

相关文章:

c - 如何使用 Arb 库获得更高精度的正弦波?

c - 使用 C 进行架构上独立的数字序列化/反序列化

c - C语言中如何显示UNICODE符号

c++ - 运算符重载 + C++ 中的运算符。如何重载objecttype+Objecttype = Objecttype B?

c - 保持 Erlang 和 C 之间的定义同步

c++ - #include 在 x 宏内

C 通过指针将数组传递给函数

javascript - 在 JavaScript 中重载算术运算符?

c++ - 运算符 = 重载

c++ - C++ 中#define 生成的数据类型