how to #define c++ STL macro

how to #define c++ STL macro

本文关键字:STL macro c++ #define to how      更新时间:2023-10-16

我想在C++中使用vector<pair<int,pair<int,int>>>,但我想缩短数据类型声明以避免重写长行。我试图以这种方式使用#define——

#define vector<pair<int,pair<int,int>>> my_list

但是,在编译时它说,

错误:"my_list"未命名类型

我找不到合适的方法来写这个,请帮忙!

您不需要为此任务使用预处理器,您可以使用类型别名:

using my_list = vector<pair<int,pair<int,int>>>;

不要将预处理器用于可以在该语言中完成的操作。


顺便说一下,你的#define不起作用,因为你已经颠倒了参数的顺序。令牌首先进行,然后进行所需的扩展:

#define my_list vector<pair<int,pair<int,int>>>