当前位置:首页 > C++ > 正文内容

C++ vector 初始化

admin4年前 (2020-09-28)C++2404

有几种初始化的方式,直接扔到代码里看了:

#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;

//为了方便输出元素,写了个函数
void PrintVectorElements(vector<int> v);

int main()
{
    //初始化方式1,没有添加元素,此时size是0,capacity也是0,此时还未分配空间,可用于长度未知的情况。
    vector<int> v1;
    cout << "v1 size:" << v1.size() << " "
         << "v1 capacity:" << v1.capacity() << endl;

    for (int i = 0; i < 10; i++)
    {
        v1.push_back(i);
    }

    PrintVectorElements(v1);

    //初始化方式2,v2是v1的拷贝,v2和v1必须具有相同的类型,完成后v2拥有与v1相同的长度。下面两种方式是一样的。
    vector<int> v2 = v1;
    vector<int> v3(v1);
    PrintVectorElements(v2);
    PrintVectorElements(v3);

    //初始化方式3,使用已有容器的指定迭代器范围内的元素进行初始化
    vector<int> v4(v1.begin() + 1, v1.begin() + 3);
    PrintVectorElements(v4);

    //初始化方法4,下面表示的是包含10个元素的容器,且每个元素的值都是0
    //或者如第二种10个元素的值均为1
    vector<int> v5(10);
    vector<int> v6(10, 1);
    PrintVectorElements(v5);
    PrintVectorElements(v6);

    //初始化方法6,直接用中括号里面写元素
    vector<int> v7 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    PrintVectorElements(v7);

    cin.get();
    return 0;
}

void PrintVectorElements(vector<int> v)
{
    for (int i = 0; i < v.size(); i++)
    {
        cout << v[i] << " ";
    }
    cout << endl;
}


扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:http://lovedm.club/?id=87

分享给朋友:

“C++ vector 初始化” 的相关文章

C++ 函数指针

1、什么是函数指针函数是实现特定功能的程序代码的集合,函数代码在内存中也要占据一段存储空间,这段空间的起始地址称为函数的入口地址。C++规定函数的入口地址为函数的指针,即函数名既代表函数,又是函数的指针(或地址)。C++指向函数的指针变量,定义形式为:返回类型 (*函数指针变量名)(形参列表);可以...

C++常量

关于常量的一些形式以及含义在此记录一下:#include <iostream> using namespace std; int main() { //常量,不能改变值 const int a =&n...

GDAL构建Delaunay三角网

GDAL能创建Delaunay三角网我是没想到的,需要包含头文件gdal_alg.h使用GDALTriangulationCreateDelaunay函数,函数说明在此 ,三个参数:第一个是点的个数,第二三个分别是点的X坐标和点的Y坐标。返回值是GDALTriangulation* 类型的...

C++ 拷贝构造函数

拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。通常用于:通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并从函数返回这个对象。如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有...

OpenCV中简单的添加噪声

随机数生成器用到的是C++11中的新方法。以下代码来自OpenCV计算机视觉编程攻略第三版2.2.2节void salt(Mat image, int n) { default_random_engine generator; unifor...

FY4B warp

#include <iostream> #include <string> #include <gdal_priv.h> #include "gdalwarper.h" using std::string; void wa...