【发布时间】:2017-05-29 13:04:00
【问题描述】:
我想问是否有一种方法可以使用define在C++中创建一个函数:
#define RequiredDamage(%1) ( (%1+1)*500 )
有人可以帮助我更好地了解#define 的实际工作原理。实际创建这样一个函数的实际语法是什么,它可以应用在哪里,使用它是个好主意吗?为什么我更喜欢它而不是普通函数?
提前致谢!
【问题讨论】:
-
您对
#define的某些特定方面感到困惑吗?你的书没有解释的东西?为什么不写一个实际的函数呢? -
你读过宏(不是函数)吗?你见过他们的例子吗?您能否更具体地说明您遇到的问题,详细说明您的疑惑?
-
实际上,在您的情况下,您应该避免这种情况,而只是 define 一些
static int RequiredDamage(int x) { return (x*1)*500; }函数可能在您的某些头文件中。你需要阅读更多关于C & C++ preprocessor尤其是here -
是的,您可以使用每个处理器来创建函数。但是模板是更安全、更健壮和更强大的方式来完成同样的任务。无论如何,你所做的是一个宏,而不是一个函数。
标签: c++