菜鸟笔记
提升您的技术认知

c 11的using与typedef的区别-ag真人官方网

两者都是给类型设置一个别名,区别是using可以给模板类设置别名,而typedef则不能模板类设置设置别名。其余情况没有什么区别。

#include 
using namespace std;
template
using myvector=vector;
int main(){
  myvector iv;
  return 0;
}

编译通过。

#include 
using namespace std;
template
typedef vector myvector;
int main(){
  myvector iv;
  return 0;
}

编译报错error: template declaration of ‘typedef’。

而已经推演过的模板类是可以用typedef设置别名的

#include 
using namespace std;
typedef vector intvector;
int main(){
  intvector iv;
  return 0;
}
网站地图