É 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 hollerpara printf. #define é óbvio ... alguma outra forma?
Soluções:
#define holler printfvoid (*p)() = fn; //function pointervoid (&r)() = fn; //function referenceinline void g(){ f(); }
printfaqui. 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. typedefpara 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.