给vector赋初值
时间: 2024-11-18 15:13:06 浏览: 27
c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
5星 · 资源好评率100%
在 C++ 中,向 `vector` 赋初值有多种方法,以下是常见的几种:
1. **使用构造函数初始化**:
如果你知道要存储的具体元素个数以及初始值,可以直接传递给构造函数:
```cpp
std::vector<int> myVec(5); // 创建一个包含5个默认值0的vector
myVec = {1, 2, 3, 4, 5}; // 或者一次性设定所有元素
std::vector<std::string> names {"Alice", "Bob", "Charlie"}; // 创建字符串向量并立即设置元素
```
2. **使用`reserve`和`push_back`**:
首先预留空间,然后逐个添加元素:
```cpp
std::vector<int> myVec;
myVec.reserve(5); // 预留5个位置
for (int i = 1; i <= 5; ++i)
myVec.push_back(i);
```
3. **使用`fill`函数**:
将整个向量填充相同的值:
```cpp
std::vector<int> myVec(5);
std::fill(myVec.begin(), myVec.end(), 0); // 全部设为0
```
4. **使用列表推导式**:
当需要从一个集合生成向量时,可以用列表推导式:
```cpp
std::vector<int> powersOfTwo = {1, 2, 4, 8, 16, 32}; // 生成1到32的所有2次幂
```
以上每种方式可以根据实际需求选择,注意如果预知元素个数很大,使用构造函数会更高效。
阅读全文