中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何初始化c++的vector

c++
小樊
102
2024-09-16 16:27:47
欄目: 編程語言

在C++中,可以通過多種方式初始化std::vector

  1. 默認初始化:創建一個空的std::vector
#include<iostream>
#include<vector>

int main() {
    std::vector<int> vec;
    return 0;
}
  1. 指定大小:創建一個具有指定大小的std::vector,其元素將被默認初始化(對于整數類型為0,對于其他類型可能需要顯式初始化)。
#include<iostream>
#include<vector>

int main() {
    std::vector<int> vec(5); // 創建一個包含5個元素的vector,所有元素都初始化為0
    return 0;
}
  1. 指定大小和初始值:創建一個具有指定大小的std::vector,并用特定值初始化所有元素。
#include<iostream>
#include<vector>

int main() {
    std::vector<int> vec(5, 42); // 創建一個包含5個元素的vector,所有元素都初始化為42
    return 0;
}
  1. 從數組或其他容器初始化:使用已存在的數組或其他容器來初始化std::vector
#include<iostream>
#include<vector>
#include<array>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    std::vector<int> vec(arr, arr + sizeof(arr) / sizeof(int));
    
    // 或者使用C++11的列表初始化
    std::vector<int> vec2 = {1, 2, 3, 4, 5};
    
    // 從其他容器(如std::array)初始化
    std::array<int, 5> arr2 = {1, 2, 3, 4, 5};
    std::vector<int> vec3(arr2.begin(), arr2.end());
    
    return 0;
}
  1. 使用C++11的emplace-based析構函數:這種方法允許你直接在std::vector中構造元素,而不是先創建臨時對象再拷貝到std::vector中。
#include<iostream>
#include<vector>

class MyClass {
public:
    MyClass(int x, int y) : x_(x), y_(y) {}
private:
    int x_;
    int y_;
};

int main() {
    std::vector<MyClass> vec;
    vec.emplace_back(1, 2);
    vec.emplace_back(3, 4);
    vec.emplace_back(5, 6);
    return 0;
}

以上就是在C++中初始化std::vector的幾種方法。

0
阳东县| 从江县| 庆云县| 南华县| 马山县| 和静县| 云梦县| 石嘴山市| 金川县| 阜城县| 巴东县| 塔城市| 农安县| 宜昌市| 会昌县| 灵川县| 涟源市| 湘乡市| 宿州市| 龙江县| 江华| 义乌市| 逊克县| 板桥市| 东乡族自治县| 贡嘎县| 烟台市| 汝南县| 沂源县| 新河县| 汕头市| 友谊县| 曲松县| 山西省| 孝感市| 蒙自县| 山阴县| 新泰市| 道孚县| 图木舒克市| 邹城市|