基本用法
在 C++ 中,std::vector 类的 resize 方法用于改变向量的大小。当你调用 resize(n) 时,它会将向量的大小调整为 n。如果 n 大于当前向量的大小,则新元素将被添加到向量的末尾,这些新元素会被初始化为默认值。如果 n 小于当前向量的大小,向量将被缩减,多余的元素会被丢弃。
特点和注意事项
-
改变大小的影响:当
resize增加向量大小时,新添加的元素会被默认初始化。对于基本数据类型(如int、double等),这意味着新元素的初始值不确定。对于类对象,将调用默认构造函数。 -
效率考虑:频繁调用
resize可能影响性能,因为每次大小改变可能涉及内存分配和元素复制或销毁。 -
安全性:与
reserve方法不同,resize会改变向量的实际元素数量,而reserve只改变容量。 -
重载版本:
resize还有一个重载版本resize(n, value),可以指定新添加元素的初始值。
示例代码
1 |
|
在这个例子中,你可以看到如何使用 resize 来增加和减少向量的大小,以及如何指定新元素的初始化值。