我是靠谱客的博主 粗犷石头,最近开发中收集的这篇文章主要介绍vector 常见方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

容器-vector
  //std::vector<int> vecTest1;     //空的构造 vector()
  //std::vector<int> vecTest2(3);  // vector(size)
  //std::vector<int> vecTest3(3,10);

//方法
  /*emplace_back  //通过传递参数 的方式调用构造函数生成对象插入尾部
  push_back(const _Ty& _Val)  //通过拷贝构造来生成对象插入尾部
  push_back(_Ty && _Val)
  template <class... _Valty>
  pointer _Emplace_reallocate(const pointer _Whereptr, _Valty&&... _Val)
  template <class... _Valty>
  iterator emplace(const_iterator _Where, _Valty && ... _Val)         //插入新成员,传递的是 构造函数的参数

 iterator
          insert(const_iterator _Where, const _Ty& _Val)              //插入新成员,传递的是对象
        iterator
          insert(const_iterator _Where, _Ty && _Val)
  iterator insert(const_iterator _Where, _CRT_GUARDOVERFLOW const     //连续插入相同的对象
  size_type _Count, const _Ty& _Val)

 template<class _Iter,
                class = enable_if_t<_Is_iterator_v<_Iter>>>
                iterator insert(const_iterator _Where, _Iter _First, _Iter
  _Last)

 iterator insert(const_iterator _Where, initializer_list<_Ty> _Ilist)  //连续插入 _Ilist的中的对象
  assign(_CRT_GUARDOVERFLOW const size_type _Newsize, const _Ty& _Val)
  template<class _Iter,
                class = enable_if_t<_Is_iterator_v<_Iter>>>
                void assign(_Iter _First, _Iter _Last)

  void assign(initializer_list<_Ty> _Ilist)
  vector& operator=(const vector& _Right)                               //赋值操作
  vector& operator=(initializer_list<_Ty> _Ilist)
  void resize(_CRT_GUARDOVERFLOW const size_type _Newsize)

void resize(_CRT_GUARDOVERFLOW const size_type _Newsize, const _Ty& _Val)
  void reserve(_CRT_GUARDOVERFLOW const size_type _Newcapacity)
  void shrink_to_fit()
  void pop_back()                                                     //删除最后的一个元素
  iterator erase(const_iterator _Where)                               //擦除某个位置的元素
  iterator erase(const_iterator _First, const_iterator _Last)         //擦除 从_First到_Last的元素
  void clear()                                                        //全部擦除
  void swap(vector& _Right)                                           //交换2 个相同的vector
  _NODISCARD _Ty * data()
  _NODISCARD const _Ty * data() const                                 //获取数据的首地址
  _NODISCARD iterator begin()

 _NODISCARD const_iterator begin() const
  _NODISCARD iterator end()
  _NODISCARD const_iterator end() const
  _NODISCARD reverse_iterator rbegin()
  _NODISCARD const_reverse_iterator rbegin() const                    //反向迭代器
  _NODISCARD reverse_iterator rend()                                  //方向迭代器的结束
  _NODISCARD const_reverse_iterator rend() const                    
  _NODISCARD const_iterator cbegin() const                            //正向迭代器的最后一个   和   rbegin类似        
  _NODISCARD const_iterator cend() const
  _NODISCARD const_reverse_iterator crbegin() const
  _NODISCARD const_reverse_iterator crend() const
  pointer _Unchecked_begin()
  const_pointer _Unchecked_begin() const
  pointer _Unchecked_end()

const_pointer _Unchecked_end() const
  _NODISCARD bool empty() const
  _NODISCARD size_type size() const
  _NODISCARD size_type max_size() const
  _NODISCARD size_type capacity() const
  _NODISCARD _Ty& operator[](const size_type _Pos)
  _NODISCARD const _Ty& operator[](const size_type _Pos) const
  _NODISCARD _Ty& at(const size_type _Pos)                           //和[] 一样
  _NODISCARD const _Ty& at(const size_type _Pos) const
  _NODISCARD _Ty& front()                                            //获取第一个元素               
  _NODISCARD const _Ty& front() const
  _NODISCARD _Ty& back()                                             //获取最后一个元素
  _NODISCARD const _Ty& back() const
  _NODISCARD allocator_type get_allocator() const noexcept
  */

最后

以上就是粗犷石头为你收集整理的vector 常见方法的全部内容,希望文章能够帮你解决vector 常见方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部