|
|
1
5
当然有可能。虽然你可以手动操作, Boost.Preprocessor 已经为您提供了所需的工具:
... 转换为:
利用增强.PP同样,你的第二个例子可以这样做:
你当然可以手动实现什么增强.PP是的,但考虑到这需要的时间和精力,我个人不会费心。 作为一个C用户,您不会对Boost的其余部分感兴趣,因此您可能希望使用 bcp 提取预处理器组件。 |
|
|
2
2
标准的C预处理器不会做你想做的事情。为了可靠地获得这种行为,您需要一个更强大的、非标准的预处理工具。然而,我不太熟悉什么是可用的,以指导你到哪一个你可能想要的。 不过,在第二种情况下,您仍然可以在大多数现代编译器上获得所需的效果。例如:
仍将是 作为:
但是,没有什么 编译器将执行此优化。 |
|
|
3
2
如果你的类型是
编辑,在caf的评论之后:
|
|
4
0
我可以做些什么
仍在思考问题。我的地图是
|
|
|
5
0
那么我的地图问题。。。
|
|
|
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 8 年前 |
|
|
user3623498 · 在#if中更改变量时出现问题 8 年前 |
|
|
einpoklum · 来自#cmakedefine替换的意外结果 8 年前 |
|
|
Joseph Franciscus · C中预处理器方法的别名++ 8 年前 |
|
|
stoper · 防止同一宏在多个转换单元中具有不同的定义 8 年前 |
|
|
СеÑгей · MinGW中预处理器g++的奇怪行为 8 年前 |