Створити нове ім’я для типу, змінної чи простору імен легко. Але як призначити нове ім’я функції? Наприклад, я хочу використовувати ім'я hollerдля printf. #define очевидно ... будь-який інший спосіб?
Рішення:
#define holler printfvoid (*p)() = fn; //function pointervoid (&r)() = fn; //function referenceinline void g(){ f(); }
printf. Це був лише приклад. Проблема тут пов'язана з обмеженнями англійської мови, ніж будь-що інше. У мене є одна функція, яка служить цілі A і B, але я просто не можу знайти одне ім’я, яке служить обом цілям.
T &a = b;створює нову назву для b. typedefдля типів та namespace A=B;просторів імен.
using BaseClass::BaseClassMethod, і є using AliasType = Type;, і є навіть namespace AliasNamespace = Namespace;. Чого нам не вистачаєusing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;під час моєї наступної реєстрації.