Utworzenie nowej nazwy dla typu, zmiennej lub przestrzeni nazw jest łatwe. Ale jak przypisać nową nazwę do funkcji? Na przykład chcę użyć nazwy holler
dla printf
. #define jest oczywiste ... w inny sposób?
Rozwiązania:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
. To był tylko przykład. Problem tutaj bardziej dotyczy ograniczeń języka angielskiego niż czegokolwiek innego. Mam jedną funkcję służącą do celu A i celu B, ale po prostu nie mogę znaleźć tutaj jednej nazwy służącej do obu celów.
T &a = b;
tworzy nową nazwę dla b
. typedef
dla typów i namespace A=B;
dla przestrzeni nazw.
using BaseClass::BaseClassMethod
i jest using AliasType = Type;
i jest nawet namespace AliasNamespace = Namespace;
. To, czego nam brakuje, tousing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
moim następnym zameldowaniem.