为类型,变量或名称空间创建新名称很容易。但是,如何为函数分配新名称?例如,我想使用的名称holler
进行printf
。#define很明显...还有其他方法吗?
解决方案:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
这里弄乱。那只是一个例子。这里的问题更多是与英语的局限性有关。我有一个服务于目的A和目的B的功能,但是我根本无法在这里找到一个同时服务于这两个目的的名称。
T &a = b;
为创建新名称b
。typedef
用于类型和namespace A=B;
名称空间。
using BaseClass::BaseClassMethod
,有using AliasType = Type;
,甚至有namespace AliasNamespace = Namespace;
。我们缺少的是using AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
在我的下一个签到。