Es ist einfach, einen neuen Namen für einen Typ, eine Variable oder einen Namespace zu erstellen. Aber wie ordne ich einer Funktion einen neuen Namen zu? Zum Beispiel möchte ich den Namen holler
für verwenden printf
. #define ist offensichtlich ... auf andere Weise?
Lösungen:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
hier nicht mit . Das war nur ein Beispiel. Das Problem hier hat mehr mit Einschränkungen des Englischen als mit irgendetwas anderem zu tun. Ich habe eine einzige Funktion, die Zweck A und Zweck B erfüllt, aber ich kann hier einfach keinen einzigen Namen finden, der beiden Zwecken dient.
T &a = b;
erstellt einen neuen Namen für b
. typedef
für Typen und namespace A=B;
für Namespaces.
using BaseClass::BaseClassMethod
und es gibt using AliasType = Type;
und es gibt sogar namespace AliasNamespace = Namespace;
. Was wir vermissen istusing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
bei meinem nächsten Check-in zu sehen.