C++使用using与typedef定义别名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010164190/article/details/88354695
1.为C++模版设置别名
//typedef定义别名
template <typename T>
typedef std::vector<T> v;//error

//using定义别名
template <typename T>
using v = std::vector<T>;//ok
注意:C++编译器不支持使用typedef关键词为模板类设置别名,但是使用using的方式声明一个关键词却是允许的,只是这个是C++11标准才有的,如果在编译时不加上--std=c++11使用新的标准的话,编译器一样会报错。

2.设置回调函数别名
void f(){ cout << __FUNCTION__ <<"() is Called Success!" <<  endl;}
int main()
{
 using FunctionPtr = void(*)();//相当于typedef void(*FunctionPtr)();
 FunctionPtr ptr = f;
}

猜你喜欢

转载自blog.csdn.net/u010164190/article/details/88354695