当前位置: 首页 > wzjs >正文

汽车行业网站设计建立网站最好的模板

汽车行业网站设计,建立网站最好的模板,十大网络推广公司排名,信誉好的常州做网站从《C Vector的使用(上)》这篇文章应该对C Vector有了初步的认识。接下来从C Vector接口使用的角度,按功能相关性对Vector接口的使用进行说明。 C Vector接口按功能可以划分为: 容器的构造、析构和赋值运算符 (赋值运…

从《C++ Vector的使用(上)》这篇文章应该对C++ Vector有了初步的认识。接下来从C++ Vector接口使用的角度,按功能相关性对Vector接口的使用进行说明。

C++ Vector接口按功能可以划分为:

  • 容器的构造、析构和赋值运算符 (赋值运算符本质也是对象构造)   《C++ Vector的使用(上)》已经讲过了,这里不在说了。
  • 迭代器相关
  • 容器容量相关
  • 容器中元素访问相关
  • 容器中元素的修改
  • 容器存储分配器获取
  • 其他

迭代器相关接口

正向迭代接口

iterator begin() noexcept;              //随机访问迭代器(random_access_iterator),//可以修改它指向的元素内容。
iterator end() noexcept;const_iterator begin() const noexcept;  //迭代器指向可以修改,但不能通过迭代器修改//指向的元素数据
const_iterator end() const noexcept;const_iterator cbegin() const noexcept; //迭代器指向常量内容。迭代器可以加加和减减,//但是不能用于修改它指向的内容,即使vector//对象本身不是常量。
const_iterator cend() const noexcept;

 在C++11之前,只有begin(),如果要获取const_iterator,必须依赖const对象或强制转换。cbegin()的引入使得代码更清晰,显示表明需要常量迭代器,避免隐式依赖const限定。

三组接口的比较:

反向迭代接口

reverse_iterator rbegin() noexcept;
reverse_iterator rend() noexcept;const_reverse_iterator rbegin() const noexcept;
const_reverse_iterator rend() const noexcept;const_reverse_iterator crbegin() const noexcept;
const_reverse_iterator crend() const noexcept;

容器容量相关接口

检查vector容器是否为空

bool empty() const noexcept;         //检查vector容器是否为空。

获取vector容器中元素个数

size_type size() const noexcept; //获取vector容器中元素的个数。是容器中保存的实际对象的//个数,不需要等于容器的存储容量。

获取当前vector容器分配的存储空间 大小

size_type  capacity const noexcept;  //获取当前为vector容器分配的存储空间大小,用元素//个数表示。当此容量耗尽并且需要更多容量时,容器//会自动对其进行扩容。

 获取vector容器可以容纳元素的最大数

size_type max_size() const noexcept; //获取vector容器可以容纳元素的最大数。由已知的//系统和库实现限制的,vector容器能达到的最大潜//在大小,但没法保证容器能够达到该大小:在达到该//大小之前,它可能分配存储空间失败了。

减少vector容器的容量以适应元素数量

void shrink_to_fit();  //要求容器减少capacity以适应its size。这个要求是非绑定的,//容器实现可以自由地优化,保留vector capacity大于其size。//这可能会导致重新分配,但对vector size没有影响,也不会改//变其元素。

预留n个元素容量

void reserve(size_type n);  //为vector容器申请至少足够容纳n个元素的容量。如果n大于//当前容量,该调用会导致容器重新分配存储空间以使容量增//加到n。其他所有情况,该调用不会导致重新分配,也不会影//响vector容器的容量。

 调整vector容器大小

void resize(size_type n);                         //调整容器大小,使其包含n个元素
void resize(size_type n, const value_type& val);  //调整容器大小,使其包含n个元素,//元素值时的副本。

注意:这两个函数通过插入或者擦除容器中的元素,使容器中的实际元素发生变化。 

访问容器中元素相关接口

随机访问某个元素

reference operator[](size_type n); //不会进行越界检查。
const_reference operator[](size_type n) const;reference at(size_type n);   //会自动检查n是否在vector有效元素的边界内,如果超出有效范围将抛出out_of_range exception。
const_reference at(size_type n) const;

随机访问某个元素有以上两种方式,at()这种方式会对输入参数n进行越界检查,而[]这种不会,具体见例子。

例子:

访问容器中第一个元素

reference front();
const_reference front() const;

如果容器是空的,该调用将导致未定义行为,如下:

访问容器中最后一个元素

reference back();
const_reference back() const;

 如果容器是空的,该调用将导致未定义行为, 同front()。

获取访问元素列表的指针

value_type* data() noexcept;
const value_type* data() const noexcept;

例如,

修改容器中元素相关接口

末尾添加/删除元素

void push_back(const value_type& val);
void push_back(value_type& val);void pop_back();

插入/擦除某个位置的元素

iterator insert(const_iterator position, const value_type& val);
iterator insert(const_iterator position, size_type n, const value_type& val);
template <class inputIterator>iterator insert(const_interator position,InputIterator first, InputIterator last);
iterator insert(const_iterator position, value_type&& val);
iterator insert(const_iterator position, initializer_list<value_type> il);iterator erase(const_iterator position);                  //擦除指定位置的元素
iterator erase(const_iterator first, const_iterator last);//擦除指定区间的元素

替换容器当前内容

template<class InputIterator> void assign(InputIterator first,InputIterator last);
void assign(size_type n, const value_type& val);
void assign(initializer_list<value_type> il);

 将新内容赋给vector,替换其当前内容,并相应地修改其大小 。

清空容器中所有元素

void clear() noexcept;

交换两个vector容器的内容

void swap(vector& x);

指定位置插入新元素以扩展容器

template<class... Args>iterator emplace(const_iterator position, Args&&... args);template<class... Args> void emplace_back(Args&&... args);  //在容器尾部插入

获取容器的存储分配器接口

allocator_type get_allocator() const noexcept;

例如,

其他接口

交换两个容器的内容

template<class T, class Alloc> void swap(vector<T, Alloc>& x,vector<T, Alloc>& y);

例如,

 关系运算

template<class T, class Alloc> bool operator==(const vector<T, Alloc>& lhs,const vector<T, Alloc>& rhs);
template<class T, class Alloc> bool operator!=(const vector<T, Alloc>& lhs,const vector<T, Alloc>& rhs);
template<class T, class Alloc> bool operator<(const vector<T, Alloc>& lhs,const vector<T, Alloc>& rhs);
tempalte<class T, class Alloc> bool operator<=(const vector<T, Alloc>& lhs,const vector<T, Alloc>& rhs);
template<class T, class Alloc> bool operator>(const vector<T, Alloc>& lhs,const vector<T, Alloc>& rhs);
template<class T, class Alloc> bool operator>=(const vector<T, Alloc>& lhs,const vector<T, Alloc>& rhs);


文章转载自:

http://dZCFn1uN.zttjs.cn
http://XlhL3SSa.zttjs.cn
http://Y0QVxv9H.zttjs.cn
http://djWF19NL.zttjs.cn
http://GAMbLQgl.zttjs.cn
http://l3mGOMKZ.zttjs.cn
http://lrA606RN.zttjs.cn
http://HPClCbT3.zttjs.cn
http://yCIULiDo.zttjs.cn
http://6UFXSBMJ.zttjs.cn
http://vNmpTxtj.zttjs.cn
http://GoKrPl7x.zttjs.cn
http://NVrfHB0I.zttjs.cn
http://6A5d9ecK.zttjs.cn
http://0gaBIo7F.zttjs.cn
http://MZHbFDcs.zttjs.cn
http://YBEgHuZR.zttjs.cn
http://DhIcipFw.zttjs.cn
http://uKUX8OKc.zttjs.cn
http://wEPpXzXs.zttjs.cn
http://7WMOZXNz.zttjs.cn
http://Y9yTZN55.zttjs.cn
http://5AQBSFuY.zttjs.cn
http://24Am8j8t.zttjs.cn
http://zQwQjXQT.zttjs.cn
http://JUz1uNNV.zttjs.cn
http://Vr1G2Lgf.zttjs.cn
http://rUonqN0l.zttjs.cn
http://8HnOWcP8.zttjs.cn
http://sVTTSyoI.zttjs.cn
http://www.dtcms.com/wzjs/754786.html

相关文章:

  • 坂田公司做网站免费下载网站设计方案
  • 如何通过做网站赚钱在哪里创建网站
  • 国内简洁网站设计网页设计与应用
  • 北京如何做网站网站页面策划
  • 岳阳网站平台设计系统之家win7纯净版
  • 百盛联合建设集团网站恶意点击竞价时用的什么软件
  • 建立个人博客网站的流程无人在线观看高清视频8
  • 工信部企业网站认证政务网站建设情况汇报
  • 用插件做的炫酷网站邯郸电商设计
  • 一个交易网站开发的成本是多少2024下半年要出的新手机
  • 网站微信收款二维码怎么做2008iis添加网站打不开
  • 扬州建设机械网站网站短信验证码接口怎么做
  • 太原做网站的公司排行wordpress 激活邮件
  • 长沙网站设计的公司江西做网站哪家好
  • dede打包好的网站怎么提取模板网页设计模板素材网站大全
  • 一个网站3个相似域名网站开发三大元素
  • 四省网站建设贷款网站源码html
  • 惠州 网站建设公司太原网页设计公司是销售吗
  • 惠州建设局官方网站ps和dw怎么做网站
  • 西安市沣东新城建设局网站平湖企业网站建设
  • 网站建设的知名品牌域名注册网站有哪些
  • 多少钱立案青岛百度seo排名
  • 网站搭建中企动力最行建设发展公司网站
  • 超全的开源建站系统大全影视广告公司网页设计
  • 一般做网站要多少钱邳州市建设局官方网站
  • 网站建设公司antnw怎么查看网页的源代码
  • 网站开发的人天津建设银行官网站首页
  • 网站建设 面试问题wordpress选定文字标红
  • 怎么做网站然后卖出去怎样建立一个自己的网站免费
  • 网站建设与制作段考试题湘潭大学迎新自助网站