我自己的运营商 '+' , '-'
My own operators '+' , '-'
- 是否可以创建我自己的运算符,如“+”或“/”
- 在 C++ 中可以吗?
我已经找到了运算符 '#' ,但我不知道如何用另一个运算符来做到这一点。
- 您可以为给定的 class 重载 +、-,因此它们具有自定义行为。
- 您可以像
#define OP(a,b) ((a))-(b)*(a))
那样定义预处理器宏并编写像 3 OP 4
. 这样的代码
除此之外,我不认为您可以在 C++ 中做任何深入的事情来创建您自己的新标记或语法。您始终可以编写自己的编程语言 - 很多人都这样做 - 创建一个新的运算符几乎意味着您正在自己编写一种新的编程语言。
如果通过创建,你的意思是定义,
您可以为自定义类型重载许多默认运算符,事实上对于所有:
+ - * / % ˆ & | ~ ! = < > += -= *= /= %= ˆ= &= |= << >> >>= <<= == != <= >= && || ++ -- , ->* -> ( ) [ ]
为您的 类 定制一些东西。
您还可以定义函数,例如 float add(...)
并定义它来执行任何您喜欢的操作
通过简单的 Google 搜索,我发现 table 确定了 42 个可以重载的 C++ 运算符和 4 个不能重载的 C++ 运算符。
我没有验证此信息。
- 是否可以创建我自己的运算符,如“+”或“/”
- 在 C++ 中可以吗? 我已经找到了运算符 '#' ,但我不知道如何用另一个运算符来做到这一点。
- 您可以为给定的 class 重载 +、-,因此它们具有自定义行为。
- 您可以像
#define OP(a,b) ((a))-(b)*(a))
那样定义预处理器宏并编写像3 OP 4
. 这样的代码
除此之外,我不认为您可以在 C++ 中做任何深入的事情来创建您自己的新标记或语法。您始终可以编写自己的编程语言 - 很多人都这样做 - 创建一个新的运算符几乎意味着您正在自己编写一种新的编程语言。
如果通过创建,你的意思是定义,
您可以为自定义类型重载许多默认运算符,事实上对于所有:
+ - * / % ˆ & | ~ ! = < > += -= *= /= %= ˆ= &= |= << >> >>= <<= == != <= >= && || ++ -- , ->* -> ( ) [ ]
为您的 类 定制一些东西。
您还可以定义函数,例如 float add(...)
并定义它来执行任何您喜欢的操作
通过简单的 Google 搜索,我发现 table 确定了 42 个可以重载的 C++ 运算符和 4 个不能重载的 C++ 运算符。
我没有验证此信息。