Как проверить значение карты в заданном Pair
без добавления другого узла? Вот упрощенная версия моего кода.Проверить содержимое карты без увеличения размера
#include<iostream>
#include<map>
using namespace std;
struct Pair{
int key1,key2;
Pair(int k1,int k2):key1(k1),key2(k2) {}
friend bool operator<(const Pair &a, const Pair &b){
return a.key1 < b.key1;
}
};
map<Pair,int> m;
int check(Pair p){
return m[p];
}
void increment(Pair p){
m[p]++;
}
int main(){
int x = check(Pair(1,2)); // Should not add new node
cout<<x<<endl;
increment(Pair(2,3));
x = check(Pair(2,3));
cout<<x<<endl;
char ch;cin>>ch;
return 0;
}
Почему «ключ» в паре _key value_ является самой парой? –
В моей реальной программе 'key' является' SpaceTime'. Вы знаете, пространство и время. –
Btw Почему вы определяете 'struct Pair' вместо использования' std :: pair' или 'std :: tuple'? – Slava