Il est facile de créer un nouveau nom pour un type, une variable ou un espace de noms. Mais comment attribuer un nouveau nom à une fonction? Par exemple, je souhaite utiliser le nom holler
de printf
. #define est évident ... d'une autre manière?
Solutions:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
ici. Ce n'était qu'un exemple. Le problème ici a plus à voir avec les limitations de l'anglais qu'autre chose. J'ai une seule fonction au service du but A et du but B, mais je suis tout simplement incapable de trouver un seul nom servant les deux buts ici.
T &a = b;
crée un nouveau nom pour b
. typedef
pour les types et namespace A=B;
pour les espaces de noms.
using BaseClass::BaseClassMethod
, et il y a using AliasType = Type;
, et il y a même namespace AliasNamespace = Namespace;
. Ce qu'il nous manque, c'estusing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
lors de mon prochain enregistrement.