c - c习语的名字—— `static void *thing = &thing;`

标签 c

代码:

static const void *const uniquePtr = &uniquePtr;

…将在编译单元中提供一个唯一的void指针。以这种方式为喜欢将名称作为 void* 的 API 生成唯一句柄或名称非常方便。

使用示例:

明智的做法是将此模式包装在一个宏中以避免使用它出错,并封装该想法以便它自行记录。

但这引出了一个问题:是否有一个可以用来命名宏的成语名称?:

#define DECLARE_VOID_THING(name) static const void *const name = &name
DECLARE_VOID_THING(aHandle);
DECLARE_VOID_THING(anotherHandle);

有什么想法吗?

最佳答案

如上文所述,(很可能)没有标准的说法,因此您可以自由选择您认为最好的任何说法。也许像 UNIQUE_VOID_POINTER 之类的东西。

关于c - c习语的名字—— `static void *thing = &thing;`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983215/

相关文章:

将 volatile 数组转换为非 volatile 数组

c - 为什么指针导致非指针编译错误?

c - 来自 stdin 的 fgets 具有不可预测的输入大小

c - 有趣的 C 语法问题 x ->

c - C 中的结构填充

c - 使用标准 C 套接字下载互联网图像时遇到问题

在 C 中计算时间跨度

c++ - 什么创建了堆栈?

c - AVR-GCC 中 undefined reference

c - 为什么C跳到下一个printf而不是等待scanf?