传统的定义类型别名的方法是使用关键字typedef:
typedef long long llong;
我们也可以使用#define来定义别名(使用预处理器)
#define llong long long
在C++11中,使用关键字using来进行别名声明;格式为:using 别名=数据类型
假设我们现在定义了结构体MyStruct,那么我们可以使用using为Mystruct类型设置一个别名:
为嵌套vector容器设置别名:
using MS=MyStruct;
using watching_type = std::vector<std::vector<int>>;
这样我们在定义该结构体类型变量时,就可以使用MS作为类型名了
MS TempStruct;
举例:
#include<bits/stdc++.h>
using namespace std;
using llong = long long ;
int main(){
llong a , b, c;
cin >> a >> b;
cout << a + b;
return 0;
}
举例2:
#include<bits/stdc++.h>
using namespace std;
#define x first //来定义别名
#define y second //来定义别名
//using x = first; //using 别名=数据类型 这里使用是错的
//using y = second; //using 别名=数据类型 这里使用是错的
using V_p = vector<pair<int, int>> ; //这里用法正确
V_p pii;
int main(){
pii.push_back({1,2});
pii.push_back({2,3});
for(auto i : pii){
cout << i.x << " " << i.y << endl;
}
return 0;
}
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com