本文将简单总结下std::vector初始化的几种方式。

1 std::vector初始化

1.1 使用值初始化std::vector

#include<iostream>
#include <vector>

int main()
{
    std::vector<int> int_vec{ 1,2,3,4,5,6,7,8,9,10 };
    for (const auto& value : int_vec)
    {
        std::cout << value << " ";
    }

    return 0;
}

输出

1 2 3 4 5 6 7 8 9 10

1.2 使用现有数组初始化std::vector

#include<iostream>
#include <vector>

int main()
{
    int int_array[10] = { 1,2,3,4,5,6,7,8,9,10 };

    std::vector<int> int_vec(int_array, int_array+sizeof(int_array)/sizeof(int_array[0]));
    for (const auto& value : int_vec)
    {
        std::cout << value << " ";
    }

    return 0;
}

输出

1 2 3 4 5 6 7 8 9 10

1.3 创建std::vector时使用值初始化std::vector

#include<iostream>
#include <vector>

int main()
{
    std::vector<int> int_vec(5,10);
    for (const auto& value : int_vec)
    {
        std::cout << value << " ";
    }

    return 0;
}

输出

10 10 10 10 10

1.4 使用fill函数用特定值填充std::vector

#include<iostream>
#include <vector>

int main()
{
    std::vector<int> int_vec(5);
    std::fill(int_vec.begin(), int_vec.end(), 10);

    for (const auto& value : int_vec)
    {
        std::cout << value << " ";
    }

    return 0;
}

输出

10 10 10 10 10

1.5 使用现有std::vector初始化

#include<iostream>
#include <vector>

int main()
{
    std::vector<int> old_vec{ 11,12,13,14,15 };
    std::vector<int> int_vec(old_vec.begin(),old_vec.end());

    for (const auto& value : int_vec)
    {
        std::cout << value << " ";
    }

    return 0;
}

输出

11 12 13 14 15