![]() |
1
1
对于需要重载的情况,可以使用重载的类实例
然后,生成getAmountFunctor:
这是非常多的伪代码,但我想你明白了。在旧代码中,只要提到了特定的函数名,它就会被一个函数对象替换,并且该函数实际上是在该函数上调用的。不要认为您只需要为重载有问题的函数这样做。为了减少粘合代码的数量,可以为参数创建单个结构
|
![]() |
2
0
显然,使用预处理器的原因是它忽略了名称空间。
一个好的方法是咬紧牙关,重新定位整个大型应用程序以使用不同的名称空间。
内部
甚至可以有这样的编译时开关:
此外,包装可以零碎地带来:
|
![]() |
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 7 年前 |
![]() |
user3623498 · 在#if中更改变量时出现问题 7 年前 |
![]() |
einpoklum · 来自#cmakedefine替换的意外结果 7 年前 |
![]() |
Joseph Franciscus · C中预处理器方法的别名++ 7 年前 |
![]() |
stoper · 防止同一宏在多个转换单元中具有不同的定义 7 年前 |
![]() |
СеÑгей · MinGW中预处理器g++的奇怪行为 7 年前 |