C++11的using与typedef的区别
作者:互联网
两者都是给类型设置一个别名,区别是using可以给模板类设置别名,而typedef则不能模板类设置设置别名。其余情况没有什么区别。
#include <vector>
using namespace std;
template<typename T>
using myvector=vector<T>;
int main(){
myvector<int> iv;
return 0;
}
编译通过。
#include <vector>
using namespace std;
template<typename T>
typedef vector<T> myvector;
int main(){
myvector<int> iv;
return 0;
}
编译报错error: template declaration of ‘typedef’
。
而已经推演过的模板类是可以用typedef设置别名的
#include <vector>
using namespace std;
typedef vector<int> intvector;
int main(){
intvector iv;
return 0;
}
标签:11,typedef,myvector,int,别名,iv,using 来源: https://www.cnblogs.com/wangyu2017/p/16271075.html