Avatar ·

如何在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那样的单行写法?