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