c++ vector 和 list 如何存储对象
时间: 2024-05-21 17:14:11 浏览: 87
vector 和 list 都可以用来存储对象,但是它们的实现方式不同。
vector 是一个连续的动态数组,当要添加元素时,如果数组已经满了,就会重新分配一块更大的内存,并把原来的元素复制到新的内存中。这样就会造成一些性能上的开销,但是查找元素比较快。
list 是一个双向链表,每个节点都保存了前一个节点和后一个节点的指针,所以添加和删除元素时,只需要调整指针就可以了,不用进行元素的复制。但是由于链表是不连续的,所以查找元素的效率比较低。
所以当我们需要频繁的添加和删除元素时,应该选择 list;当我们需要快速查找元素时,应该选择 vector。
阅读全文