- 主题:一个set复制到另外一个set里,哪种方式最好?
直接 = 复制?
--
FROM 218.76.62.*
用move语义的构造、赋值
C++17:std::set的extract()
--
修改:z16166 FROM 123.115.163.*
FROM 123.115.163.*
没有说清楚,复制之后,原来的 set 还要求能继续用,所以不能 move
【 在 z16166 的大作中提到: 】
: 用move语义的构造、赋值
: C++17:std::set的extract()
:
--
FROM 218.76.62.*
直接=没问题啊。
为什么会问这个问题?
【 在 speedboy2998 的大作中提到: 】
: 没有说清楚,复制之后,原来的 set 还要求能继续用,所以不能 move
:
--
FROM 76.126.252.*
那就是copy语义,没有取巧的办法吧,只能看能否提高copy的效率。
对于trivial的类型,编译器或者说stl实现的copy就是memcpy。或者只copy指针(浅拷贝,ref-counted)。
【 在 speedboy2998 的大作中提到: 】
: 没有说清楚,复制之后,原来的 set 还要求能继续用,所以不能 move
:
--
FROM 123.115.163.*