Alias
From C++11, using statement can be used similar to typedef to define type synonyms.
using counter = long;
Function Pointers
Alias make function pointers more readable compared to typedef.
# Function Pointer alias
using functPtrAlias = int(*)(int, int);
# Function Pointer typedef
typedef int(*functPtrTypedef)(int, int);
int ProcessNos(functPtrAlias foo, int a, int b) { return foo(a, b); }
static int Add(int a, int b) { return (a+b); }
static int Multiply(int a, int b) { return (a*b); }
int main()
{
int a=10, b=20;
cout << ProcessNos(&Add, a, b) << endl;
cout << ProcessNos(&Multiply, a, b) << endl;
}