问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用vector代替数组,有没有必要

发布网友 发布时间:2022-05-15 20:02

我来回答

1个回答

热心网友 时间:2024-02-27 13:29

没必要。
用new动态分配数组,需要时时刻刻记住delete,很容易造成memory leak。使用vector和string则消除了这个负担,因为它们有自己的内存管理,在它们的析构函数中会自动释放内存。
通常情况下用vector代替动态数组,如果要存储的元素类型是字符类型时使用string。
所有适合于序列容器的STL算法,vector和string都可以使用。所以使用vector和string会带来更多的便利。
许多string的实现采用了“引用计数”,用于消除不必要的内存分配和不必要的字符拷贝。但这样的实现在多线程环境中,需要注意一下因支持线程安全而导致的性能问题。
如果所使用的string以“引用计数”方式实现,同时又运行在多线程环境中,并因此影响了程序效率。考虑以下三种选择:(1)是否可以通过改变某个预处理变量禁用引用计数。(2)寻找另外一个不使用“引用计数”实现的string。(3)使用vector<char>代替string,vector不允许使用引用计数,所以不会有多线程性能问题。
VC编译器自2005版本之后,大概是考虑到线程安全问题,string均没有以“引用计数”方式实现。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么网址更新火影忍者集数最快 如果你跟男朋友分手了,他的回答是顺其自然这是什么意思,我该怎么办... 一个女人像男人提分手男人说顺其自然是什么意思 上线两年《X-HERO》如何做到登顶多个国家榜首的? 龙武游戏怎么样费钱吗 Q1游戏公司产品 中国现有什么银行 x.最近六个月的通话记录? 爱奇艺会员哪里买便宜 爱奇艺会员免费领取 iphone4 怎样删除原来的旧凯立德地图 java中 如何从Vector中取出数组 菜鸟求救 java vector toArray 十万火急!!! C++基础问题 vector复制给数组 java ,Vector 的toArray 的方法 请问在JAVA中 VECTOR排序一定要转成数组吗?有没有排序函数? java里面,怎么将一个二维的Vector对象转化成一个二维数组了? c++中vector和数组中同类型数据是如何互换的? c++ vector 转化数组 怎么把Vector转换为Array C++中将一个已知的vector&lt;int&gt;转化为普通数组 将一个vector转换为一个二维数组 画册的防伪技术 中国知名装修设计师有谁 miuiV5微信铃声音量如何更改为媒体音量而不是系统铃声音量 MIUI有没有使铃声音量固定的插件? 希望调音量直接为媒体,已root 11月,英文怎么说? 湖南富汇哆电子商务有限公司怎么样? 富汇小额贷款是真的吗 宝马X62010款混合动力版的车型参数配置 保卫萝卜的地图是1整张图片!还是用元素块拼合成的? 【c++】求助,vector对象转换为array对象的方法 c++程序,将vector中的数据复制到数组中,程序报错 C++ 数组与vector转换 如何用vector实现双层数组 怎么防止电脑内部静电 阿里巴巴国际站的店铺找人代运营好不好 12306app在哪下载 两千年广州若有十分美,为何七分都在广州云道? 广州花果山夜总会在哪里 谁知道吖 能告诉下嘛 广州那个地方最有名? 神武4花果山的沾血的花草在哪里 校园成六小龄童第二座“花果山”了吗? 求教师题材的电影 四川睿豆扣款可以返还吗 jQuery $.ajax中的jsonp该怎么用 支付宝四川睿豆怎么解除 中移电子商务有限公司睿豆扣款是怎么回事 参移动的188元套餐直降920元买手机活动,昨天被四川睿豆互联*息技术有限责任公司从花呗扣828? 余额宝被四川睿豆互联网信息技术有限责任公司冻结了 银行卡为什么被睿豆乱扣费?