77范文网 - 专业文章范例文档资料分享平台

c++中vector的用法详解(2)

来源:网络收集 时间:2022-01-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

iVec.push_back(8);cout << "容器 大小为: " << iVec.size() << endl;cout << "容器 容量为: " << iVec.capacity() << endl; //8个元素, 容器容量为8

iVec.push_back(9);cout << "容器 大小为: " << iVec.size() << endl;cout << "容器 容量为: " << iVec.capacity() << endl; //9个元素, 容器容量为16/* vs2005/8 容量增长不是翻倍的,如 9个元素 容量9 10个元素 容量13 */

/* 测试effective stl中的特殊的交换 swap() */cout << "当前vector 的大小为: " << iVec.size() << endl;cout << "当前vector 的容量为: " << iVec.capacity() << endl;vector(iVec).swap(iVec);

cout << "临时的vector对象 的大小为: " << (vector(iVec)).size() << endl;cout << "临时的vector对象 的容量为: " << (vector(iVec)).capacity() << endl;cout << "交换后,当前vector 的大小为: " << iVec.size() << endl;cout << "交换后,当前vector 的容量为: " << iVec.capacity() << endl;

return 0;}

6.vector的其他成员函数

c.assign(beg,end):将[beg; end)区间中的数据赋值给c。 c.assign(n,elem):将n个elem的拷贝赋值给c。 c.at(idx):传回索引idx所指的数据,如果idx越界,抛出out_of_range。 c.back():传回最后一个数据,不检查这个数据是否存在。 c.front():传回地一个数据。 get_allocator:使用构造函数返回一个拷贝。 c.rbegin():传回一个逆向队列的第一个数据。 c.rend():传回一个逆向队列的最后一个数据的下一个位置。 c.~ vector ():销毁所有数据,释放内存。

7.备注:在用vector的过程中的一些问题,特此列出讨论:

1)

vector a;

int b = 5;

a.push_back(b);

此时若对b另外赋值时不会影响a[0]的值

2)

vector a;int *b;b= new int[4];b[0]=0;b[1]=1;b[2]=2;a.push_back(b);delete b; //释放b的地址空间for(int i=0 ; i <3 ; i++){cout<

此时输出的值并不是一开始b数组初始化的值,而是一些无法预计的值.

分析:根据1) 2)的结果,可以想到,在1)中,往a向量中压入的是b的值,即a[0]=b,此时a[0]和b是存储在两个不同的地址中的.因此改变b的值不会影响a[0];而在2)中,因为是把一个地址(指针)压入向量a,即a[0]=b,因此释放了b的地址也就释放了a[0]的地址,因此a[0]数组中存放的数值也就不得而知了.


百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库c++中vector的用法详解(2)在线全文阅读。

c++中vector的用法详解(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1278009.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: