É fácil criar um novo nome para um tipo, variável ou namespace. Mas como atribuo um novo nome a uma função? Por exemplo, quero usar o nome holler
para printf
. #define é óbvio ... alguma outra forma?
Soluções:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
aqui. Isso foi apenas um exemplo. O problema aqui tem mais a ver com as limitações do inglês do que com qualquer outra coisa. Tenho uma única função que atende ao propósito A e ao propósito B, mas simplesmente não consigo encontrar um único nome que atenda a ambos os propósitos aqui.
T &a = b;
cria um novo nome para b
. typedef
para tipos e namespace A=B;
para namespaces.
using BaseClass::BaseClassMethod
, existe using AliasType = Type;
e existe até namespace AliasNamespace = Namespace;
. O que está faltando éusing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
no meu próximo check-in.