如何判断变量的内容是否已宏定义?

çYJ

#ifdef可用于确定字符串是否为宏定义。但是我有几个宏定义,如何判断变量的内容是否已被宏定义。例如,

char *str = "Macro"
#ifdef  (*str) 

有没有办法实现类似的功能?

克劳斯
char *str = "Macro"
#ifdef  (*str) 

那将永远行不通,因为str没有宏!*str预处理器将不接受的语法顺便说一句:在C ++char *str = "Macro"中也是错误的,因为您必须使用const char*

通常:避免使用宏,因为它们容易出错。它们没有类型,它们是某些文本替换功能的一部分,与C ++中的类型相距甚远。

我如何判断变量的内容是否已被宏定义

variable预处理器没有意义。而且您无法在预处理器中检查c ++变量,因为预处理器根本不了解C或C ++。它只是一个或多或少简单的文本替换工具,即使编译器和预处理器和C ++解析器实际上都在同一程序中,也可以在编译器解析C ++代码本身之前运行。

那么我在说的是有没有一种可以实现的类似方法呢?

没有!您无法检查变量是否存在。如果不存在,则始终会出现编译错误。您可以使用SFINAE检查变量的值或类型,但不能检查var本身是否存在。

但是真正的用例是什么?您的问题向我们表明,您如何看待自己会意识到什么,但为什么却又不是呢?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何判断是否已认证

来自分类Dev

使用gdb调试源代码时,如何判断是否定义了宏?

来自分类Dev

如何判断是否已安装JRE或JDK

来自分类Dev

如何判断int是否已更改

来自分类Dev

如何判断文件系统是否已缩小?

来自分类Dev

如何判断recaptcha是否已解决?

来自分类Dev

如何判断变量是否为数组

来自分类Dev

SQL合并复制:如何判断已更改的内容。

来自分类Dev

如何判断Rust库是否已弃用?

来自分类Dev

Postgres libpq如何判断连接是否已终止

来自分类Dev

如何判断单元格值是否已通过验证

来自分类Dev

如何判断Android应用是否处于“已停止”状态?

来自分类Dev

如何判断数据库记录是否已更改?

来自分类Dev

如何判断套接字是否已断开连接(Java)

来自分类Dev

在Github中,如何判断目录是否已删除?

来自分类Dev

如何判断PDF文本是否已旋转

来自分类Dev

如何判断网络流量是否已加密

来自分类Dev

Android如何判断对话框是否已关闭或完成

来自分类Dev

如何判断是否已安装DirectX 9.0c

来自分类Dev

如何判断Rust库是否已弃用?

来自分类Dev

如何判断我的每小时 cron 作业是否已运行?

来自分类Dev

Ruby on Rails / Javascript-如何判断内容是否动态生成?

来自分类Dev

在宏内定义变量

来自分类Dev

在宏内定义变量

来自分类Dev

如何检测对象变量是否已更改?

来自分类Dev

如何判断FOREACH迭代变量是否为null?

来自分类Dev

如何在Selenium IDE中判断变量是否为空

来自分类Dev

Python - 如何判断输入变量是否在函数中重复?

来自分类Dev

如何判断UITabBar是否从自定义视图打开?