【发布时间】:2018-07-28 18:18:56
【问题描述】:
这些天我在 C++ 中使用了很多对,所以接下来我想做:
代替:
pair<int, int> p;
cin >> p.first >> p.second;
我想写:
pair<int, int> p;
cin >> p.x >> p.y;
我尝试了#define first x 和类似的东西,但它不起作用。如何重新定义?
【问题讨论】:
这些天我在 C++ 中使用了很多对,所以接下来我想做:
代替:
pair<int, int> p;
cin >> p.first >> p.second;
我想写:
pair<int, int> p;
cin >> p.x >> p.y;
我尝试了#define first x 和类似的东西,但它不起作用。如何重新定义?
【问题讨论】:
只需使用x 和y 成员定义您自己的模板结构。就像std::pair,只是成员名不同。然后使用你自己的结构而不是std::pair。
【讨论】:
struct point { int x, y }; point p;。
int。模板提供了更大的灵活性并与std::pair 更接近。