尊宝国际娱乐APP下载

设为首页收藏本站

编程十万个为什么,属于程序员的编程论坛

 找回密码
 5秒快速注册
QQ登录 只需一步,快速开始
搜索
查看: 1975|回复: 0
打印 上一主题 下一主题

[原创] c++零基础快速入门教程--[标准库类型vector]

[复制链接]
跳转到指定楼层
传说中的楼主
发表于 2016-10-4 14:20:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
标准库类型vector
标准库类型vecrot表示对象的集合,其中所所有对象的类型都相同。集合中的每隔对象都有一个与之相应的索引,索引用于访问对象。在使用vector之前,必须要包含头文件。#include<vector>
定义和初始化vector对象
       vector<T>v1               //默认初始化,v1不包含任何元素
       vector<T>v2(v1)           //v2中包含有v1所有元素副本
       vector<T>v2 = v1              //等价于v2(v1),v2中包含有v1所有元素的副本
       vector<T>v3(n, i)        //v3包含n个值为i的元素
       vector<T>v4(n)           //v4含有初始化的元素的n个副本
如果没有指定元素初始化,那么标准库将自行提供一个元素初始化进行初始化。这个由库生成的初始值将用来初始化容器中的每个元素,具体的值为什么,取决于存储在vector中元素的数据类型。
       C++11新标准还提供了一种为vector对象的元素赋初值的方法,即列表初始化。
       vector<T>v5 = {“a”, “an”, “the”};

向vector对象中添加元素

                              
访问vector对象中元素的方法和访问string对象中字符的方法差不多,也是通过元素在vector对象中的位置。
Vector的empty和size两个成员与string的同名成员功能完全一致:empty检查vector对象是否包好元素后返回一个布尔值;size则返回vector对象中元素的个数,返回值的类型是有vector定义的size_type类型。
使用迭代器
       和指针不一样的是,获取迭代器不是使用取地址符,有迭代器的类型同时拥有返回迭代器的成员。如,这些类型都拥有名为begin和end成员,其中begin成员负责返回指向第一个元素的迭代器。end成员则负责返回指向容器(或string)“尾元素的下一个位置”元素。
       如果容器为空,则begin和end返回的是同一个迭代器,都是尾后迭代器。


下面程序中利用下表运算符把string对象的第一个字母改成大写形式。


将迭代器从一个元素移动到另一个元素


迭代器类型
       就像不知道string和vector的size_type成员到底是什么类型一样,一般来说我们也不知道(其实是无须直到)迭代器的精确类型。而实际上,那些拥有迭代器的标准库类型使用iterator和const_iterator来表示迭代器的类型:
       vector<int>::iteratorit;        //it能读写vector<int>的元素
       string::iteratorit2;                //it2能读写string对象中的字符
vector<int>::const_iteratorit3;           //it3只能读元素,不能写元素
string::const_iteratorit4;                    //it4只能读元素,不能写元素
const_iterator和常量指针差不多,能读取但不能修改它所指的元素指。相反,iterator的对象可读可写。
结合解引用和成员访问操作
       解引用迭代器可获得迭代器所指的对象,如果该对象的类型恰好是类,就有可能希望进一步访问它的成员。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 !wechat_share!!wechat_share!
收藏收藏 转播转播 分享分享 分享淘帖 顶一个顶一个1 踩一下踩一下

BcWhy版权声明1、本帖可以任何形式转载到任何媒体,但必须带上本贴的URL连接,否则即视为同意支付 1000 元报酬
2、本主题所有言论和图片纯属黄瓜个人意见,与本论坛立场无关
3、本主题由该帖子作者黄瓜发表,该帖子作者黄瓜与本站享有帖子相关版权
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、本站管理员和版主有权不事先通知发贴者而删除本文

您需要登录后才可以回帖 登录 | 5秒快速注册
本版积分规则
关闭

BcWhy推荐上一条 /1 下一条

QQ|关于我们|最新帖子|小黑屋|手机版|编程十万个为什么 ( 粤ICP备16108587号-2   GMT+8, 2017-12-16 13:25 , Processed in 0.160816 second(s), 34 queries , File On.
Powered by Discuz! X3.3 © 2001-2017 Comsenz Inc.
快速回复 返回顶部 返回列表
尊宝国际娱乐APP下载亚虎娱乐手机官方网站亚虎国际娱乐齐乐娱乐国际
优乐娱乐齐乐娱乐网优乐娱乐龙8娱乐手机下载
优乐娱乐亚虎娱乐手机官方网站亚虎国际娱乐梦之城娱乐
尊宝国际娱乐APP下载尊宝国际手机首页尊宝国际娱乐城齐乐娱乐国际
优乐娱乐齐乐娱乐网优乐娱乐龙8娱乐手机下载