我正在实现一个不透明的数据结构,它在内部是一个不透明的数据结构数组。我们称它们为记录。一条记录的不同字段将有多个查询,每个查询都具有相同的键。我有一个这种形式的 API 列表:
QueryFieldX(KEY key, FieldX& Data)
每个查询当前使用键搜索记录,然后获取数据。
我想将其更改为以下形式:
GetHandleToRecord(KEY key, MYHANDLE handle);
QueryFieldX(MYHANDLE handle, FieldX& Data);
优点是消除了每次搜索记录。我可以自己实现一个 MYHANDLE,但我想知道 C++ 中是否有一个好的库/数据结构/原语给我一个可以使用的不透明句柄。