可以使用 std::vector 的构造函数来将 std::initializer_list 转换为 std::vector。以下是一个示例:

#include <iostream>
#include <vector>
#include <initializer_list>

int main() {
    std::initializer_list<int> initList = {1, 2, 3, 4, 5};

    // 将 std::initializer_list 转换为 std::vector
    std::vector<int> vec(initList.begin(), initList.end());

    // 输出 std::vector 的内容
    for (const auto& element : vec) {
        std::cout << element << ' ';  
    }
    std::cout << std::endl;

    return 0;
}

运行结果:

1 2 3 4 5

在上面的示例中,我们首先创建了一个 std::initializer_list initList,并将其初始化为 {1, 2, 3, 4, 5}。然后,我们使用 std::vector 的构造函数将 initList 转换为 std::vector vec。最后,我们使用 for 循环输出 vec 的内容。

需要注意的是,这种转换方式只适用于将 std::initializer_list 转换为 std::vector,而不能将 std::vector 转换为 std::initializer_list。因为 std::initializer_list 是一个只读容器,不能修改其中的元素。


原文地址: https://www.cveoy.top/t/topic/qmRN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录