Створити нове ім’я для типу, змінної чи простору імен легко. Але як призначити нове ім’я функції? Наприклад, я хочу використовувати ім'я holler
для printf
. #define очевидно ... будь-який інший спосіб?
Рішення:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline 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;
під час моєї наступної реєстрації.