对于set这个find方法的使用,需要定义transparent comparator(使用key的部分,查询整个key,常用于大key或者不想构造整个查询key的情况)
https://en.cppreference.com/w/cpp/container/set/find (3, 4)
定义transparent comparator之后,extract就也可以使用了
使用extract方法把元素取(摘)出来,然后修改(想修改啥字段都行),再加回set里面,要求 C++17
https://en.cppreference.com/w/cpp/container/set/extract (1)
no elements are copied or moved, only the internal pointers of the container nodes are repointed
楼主这个问题一般使用map比较合适,但有时候key本身也是value的一部分,这个时候单独把key拿出来作为map的key,有点冗余, 也可以使用set
※ 修改:·jtcheng 于 Dec 24 13:27:49 2023 修改本文·[FROM: 222.91.199.*]
※ 来源:·水木社区
http://www.mysmth.net·[FROM: 222.91.199.*]
修改:jtcheng FROM 222.91.199.*
FROM 222.91.199.*