Sangat mudah untuk membuat nama baru untuk sebuah tipe, variabel, atau namespace. Tapi bagaimana cara menetapkan nama baru ke suatu fungsi? Misalnya, saya ingin menggunakan nama holleruntuk printf. #define sudah jelas ... ada cara lain?
Solusi:
#define holler printfvoid (*p)() = fn; //function pointervoid (&r)() = fn; //function referenceinline void g(){ f(); }
printfsini. Itu hanya sebuah contoh. Masalahnya di sini lebih berkaitan dengan keterbatasan bahasa Inggris daripada hal lainnya. Saya memiliki satu fungsi yang melayani tujuan A dan tujuan B tetapi saya tidak dapat menemukan satu nama pun yang melayani kedua tujuan di sini.
T &a = b;membuat nama baru untuk b. typedefuntuk tipe dan namespace A=B;namespace.
using BaseClass::BaseClassMethod, dan ada using AliasType = Type;, dan bahkan ada namespace AliasNamespace = Namespace;. Apa yang kami lewatkan adalahusing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;di check-in berikutnya.