关键字using和template的一种使用方法
2018-08-17 本文已影响10人
louyang
如果有这样的定义
template <class T>
using XXX = const T;
则
xxx<int> x
等于
const int x
例如
#include <iostream>
template <typename TYPE>
using IN = const TYPE&;
int add(IN<int> a, IN<int> b)
{
return a+b;
}
int main()
{
std::cout << add(1,2) << std::endl;
}
# g++ a.cpp && ./a.out
3
这段程序等同于
#include <iostream>
int add(const int& a, const int& b)
{
return a+b;
}
int main()
{
std::cout << add(1,2) << std::endl;
}