小编use*_*261的帖子

C++映射表中结构键的比较运算符

我有由3个整数组合唯一标识的数据.

例如:
项目#1:10,20,1
项目#2:10,21,0
项目#3:0,14,13
项目#4:103,324,78

我的结构:

struct structureKeyID
{
    int keyA;
    int keyB;
    int keyC;

    // Comparison operator for table sorting.
    bool operator<(const structureKeyID& param) const
    {
        if (keyA < param.keyA) return true;
        if (keyB < param.keyB) return true;
        if (keyC < param.keyC) return true;
        return false;
    }
};

map <structureKeyID, classDataRecord> tableRecords;
Run Code Online (Sandbox Code Playgroud)

我发现如果我添加一个键(0,0,1):

structureKeyID keyID1;
keyID1.keyA = 0;
keyID1.keyB = 0;
keyID1.keyC = 1;
tableRecords[keyID1] = <data>;
Run Code Online (Sandbox Code Playgroud)

然后我检查密钥(0,1,0)是否存在:

structureKeyID keyID2;
keyID1.keyA = 0;
keyID1.keyB = 1;
keyID1.keyC = …
Run Code Online (Sandbox Code Playgroud)

c++ dictionary key operator-keyword

3
推荐指数
2
解决办法
4054
查看次数

标签 统计

c++ ×1

dictionary ×1

key ×1

operator-keyword ×1