• C++标准库vector使用(更新中...)


    内容:

    vector()  //构造函数

    insert()  //插入操作 

    1.vector构造函数---申请vector对象的方法

    default (1)    explicit vector (const allocator_type& alloc = allocator_type());//默认情况下  vector<int> vec;

    fill (
    2) explicit vector (size_type n);//只给定vector的大小 vector<int> first(10);   vector (size_type n, const value_type& val,const allocator_type& alloc = allocator_type());//给定vector的大小和初值 vector<int> second (4,100);


    range (3)    template <class InputIterator>
            vector (InputIterator first, InputIterator last,const allocator_type& alloc = allocator_type());
                    //用另一个vector的给定范围迭代器初始化 vector<int> third (second.begin(),second.end());注意该方式拷贝到end()之前的一个值,end()迭代器对应不拷贝

    copy (
    4) vector (const vector& x);//拷贝构造   vector<int>fourth (third); 
          vector (const vector& x, const allocator_type& alloc);//拷贝构造指定内存分配器


    move (5) vector (vector&& x);//构造一个获取容器x的元素的容器,如果指定了alloc并且与x的allocator不同,则移动元素。 否则,不构建任何元素(它们的所有权直接转移)。
          vector (vector&& x, const allocator_type& alloc);

    initializer list (
    6)   vector (initializer_list<value_type> il,const allocator_type& alloc = allocator_type());//初始化列表初始化
    vector<int> nums{2,7,11,15};

     2.vector.insert()插入操作

    • vector.insert()

    函数原型如下:

    单一元素:iterator insert (const_iterator position, const value_type& val); //在某个迭代器位置插入元素值  vec.insert(it,value);
    填充n个相同元素 iterator insert (const_iterator position, size_type n, const value_type& val); //在某个迭代器位置插入n个相同的值  vec.insert(it,10,20);
    迭代器范围填充 template <class InputIterator>
          iterator insert (const_iterator position, InputIterator first, InputIterator last);
          //在自己迭代器内,插入其他vector的迭代器内容  vec.insert(vec.end(),vec1.begin(),bec1.end());
    move (
    4) iterator insert (const_iterator position, value_type&& val); //暂时没用到,不知道啥意思
    初始化列表插入元素:initializer list (5) iterator insert (const_iterator position, initializer_list<value_type> il);
            //指定迭代器位置按照初始化列表插入元素  vec.insert(vec.begin(),{1,2,3});
    •  vector.push_back(),该函数是在vector尾部插入值

    函数原型:

    void push_back (const value_type& val);
    void push_back (value_type&& val);
    • vector.pop_back(),从vector尾部弹出一个元素

    函数原型:

    void pop_back();
  • 相关阅读:
    linux命令学习
    linux sar命令详解
    消息中间件设计
    google三驾马车
    Apache ZooKeeper 服务启动源码解释
    ubuntu16 ccls neovim coc.nvim ccls langserver安装
    ubuntu 字体安装 —— 以nerd font为例
    neovim
    vim youcompleteme conda 虚拟环境
    sublime 插件管理
  • 原文地址:https://www.cnblogs.com/jainszhang/p/10661317.html
Copyright © 2020-2023  润新知