面试题答案
一键面试push
方法- 描述:用于向向量末尾添加单个元素。
- 适用场景:适用于需要动态、逐个添加元素的场景。例如,在处理数据流时,每接收到一个新数据项就添加到向量中,不需要预先知道元素的大致数量。
extend
方法- 描述:可将一个可迭代对象(如另一个向量、数组、迭代器等)的所有元素添加到当前向量末尾。
- 适用场景:当有一批数据需要一次性添加到向量中时适用。比如,从文件中读取了一批数据存储在数组中,要将这批数据添加到向量,
extend
比逐个使用push
更高效。
resize
方法- 描述:将向量的长度调整为指定大小。如果新长度大于原长度,会使用指定的默认值填充新增部分;如果新长度小于原长度,会截断向量。
- 适用场景:当预先知道向量最终需要的大小,并且需要用特定的默认值填充时适用。例如,初始化一个固定大小的向量来存储某种默认值的数据,之后再对其中元素进行修改。
reserve
方法- 描述:预先分配足够的容量来容纳指定数量的额外元素,而不改变向量的当前长度。
- 适用场景:在需要频繁添加元素且事先知道大致数量的场景下适用。因为
reserve
方法通过预先分配足够的内存,减少了在添加元素过程中由于向量容量不足而导致的重新分配内存次数。重新分配内存涉及到内存的复制等操作,开销较大,所以预先使用reserve
方法分配内存可以提高性能。