如何在C++中简单初始化带有预定义元素的std::vector?
你好!我最近开始学习C++,遇到了一个问题。我需要创建一个向量,让它立即包含几个特定的数字,例如:1, 2, 3, 4, 5。在Python中,我只需写`my_list = [1, 2, 3, 4, 5]`,而在C++中似乎复杂得多。
我知道可以先声明一个vector,然后通过`push_back`逐个添加元素:
```cpp
std::vector v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
```
但这非常冗长且不方便,尤其是当元素有10个或20个时。我还尝试过先指定大小声明vector,然后按索引赋值:
```cpp
std::vector v(5);
v[0] = 1;
v[1] = 2;
v[2] = 3;
v[3] = 4;
v[4] = 5;
```
但这看起来也很笨拙。我觉得C++应该有一种更简单、更优雅的方法。我听说过`initializer_list`,但不太明白它是如何工作的。也许有像Python或JavaScript那样的单行写法?