不会有影响,这是两份独立的拷贝。【任何Windows和Linux环境下】【所有的c++的编译器】都是这样的,因为C++标准库是这样定义的,所以任何编译器在实现标准库的时候都会遵守这条规则
没有,这个=重载了拷贝构造,直接把里面的内容全部复制过去了。
大部分人说,很简单,因为对于关联容器来说,不需要做内存拷贝和内存移动。说对了,确实如此。set容器内所有元素都是以节点的方式来存储,其节点结构和链表差不多,指向父节点和子节点。结构图可能如下:
A
/ \
B C
/ \ / \
D E F G
因此插入的时候只需要稍做变换,把节点的指针指向新的节点就可以了。删除的时候类似,稍做变换后把指向删除节点的指针指向其他节点也OK了。这里的一切操作就是指针换来换去,和内存移动没有关系。