如何在c++中#定义它为类python

How to #define if in C++ to be python-like

本文关键字:python 定义 c++      更新时间:2023-10-16

我知道我可以定义一些东西,比如

#define LESS(x, y) if(x < y)

所以我想知道我可以在c++中定义if为类似python的模板吗?如

if x < y: do something代替if(x < y) do something

将它不久——没有

从cplusplus.com

:

当预处理器遇到此指令时,它用replacement替换其余代码中出现的任何标识符。这个替换可以是表达式、语句、块或简单的任何东西。预处理器不理解c++,它只是用replace替换任何出现的标识符。

你想要的是这样的东西

#define if(x):(y) if(x){##y##};

然而,冒号是一个关键字,不能用作标识符,因此它破坏了宏定义。