我有一个包含两个整数的键的类
class TKey {
public:
int iKey1;
int iKey2;
};
class TData : public TKey {
public:
int iData;
};
typedef map<TKey, TData, less <TKey> > MapData;
typedef MapData::iterator ItData;
TMapData mapData;
mapData.push_back(...);
mapData.push_back(...);
现在我想找到iKey1 == 10的项目!
我无法使用
TKey theKey;
theKey.iKey1 = 10;
theKey.iKey2 = void; // <<<<<
ItData it = mapData.find(theKey);
我该怎么做?
答案 0 :(得分:0)
您可以使用std::find_if
功能执行自定义搜索。
struct check_iKey1
{
check_iKey1( int iKey1) : iKey1_(iKey1) {}
bool operator()( const std::pair<int, int>& v ) const
{
return v.first == iKey1_;
}
private:
int iKey1_;
};
ItData it = std::find_if( mapData.begin(), mapData.end(), check_iKey1(10) );
用浏览器编写。没编译!取自this answer。
答案 1 :(得分:0)
var primary=
{
"RHID": {
"type": "numeric"
},
"CD_DOC_ID": {
"type": "numeric"
},
"SEQ": {
"type": "numeric"
}
}
console.log('RHID' in primary);