C_and_CPP 板


LINE

小弟是C++新手 想请问当int vector进行push_back前 size与capacity若一样 会如何配置空间 最近写作业有写到 例如 第一次push size=1 capacity=1 第二次 size=2 capacity=2 . . 第五次 size=5 capacity=6 . . 第7次 size=7 capacity=9 小弟有在overflow爬到文章 有看到会以两倍计算(或是我英文不好) 但怎麽想都不对 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.12.37.112
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1517059063.A.064.html
1F:→ Schottky: 不用管这麽多,只要知道 capacity 会自动长大就对了 01/27 21:33
2F:→ asd15723: S 大 这是功课阿QQ 我们要自己写1个class 01/27 21:34
3F:→ asd15723: 然後 size capacity要跟原本的一样 01/27 21:34
4F:→ asd15723: 不对 应该是说 会有一组测资是用push_back出来的 01/27 21:36
5F:→ uranusjr: 这什麽烂功课, 出题的去甲赛啦 01/27 21:37
6F:推 Hazukashiine: 我写过这样的作业 我倒觉得算是蛮重要的 01/27 21:38
7F:→ Hazukashiine: 你先不用去管其他的实作怎麽样 01/27 21:38
8F:→ asd15723: 做出来的要跟测资一样 但我做的capacity不会自动长大 01/27 21:39
9F:→ Hazukashiine: 根据 C++ Standard 的要求 push_back 要达到 01/27 21:39
10F:→ Hazukashiine: amortized constant time complexity 01/27 21:39
11F:→ Hazukashiine: 如此一来至少要是幂次增长来分配才可以 01/27 21:40
12F:→ uranusjr: 教 reserve 是满重要的, 但是要求和 vector 一样就甲赛 01/27 21:44
13F:→ uranusjr: 你要出就是直接给个 spec, 不是叫人去看 vector 行为 01/27 21:45
14F:→ Schottky: 我同意 uranusjr,老师要不是讲明作业要求,就该说符合 01/27 21:46
15F:→ Schottky: C++ spec 即可,而不是叫人去逆向工程或偷看原始码 01/27 21:47
教授是数学系毕业 奇葩作业不少QQ
16F:→ Schottky: 不过我还真没比较过各种不同实作是不是行为一模一样 01/27 21:51
https://imgur.com/a/K9wFk 这个是程式码片段,equal会比较size,capacity,值 ※ 编辑: asd15723 (39.12.37.112), 01/27/2018 22:06:31
17F:推 LPH66: 我刚才看了一下我手上的 VS2017, 它确实是 1.5 倍成长 01/27 22:02
18F:→ LPH66: 原 PO 的例子正好就是这样长的: 1,2,3,4,6,9 01/27 22:04
19F:推 Hazukashiine: see https://stackoverflow.com/a/5232477 01/27 22:08
3q,这样就有着落了! ※ 编辑: asd15723 (39.12.37.112), 01/27/2018 22:09:31
20F:→ aa0917954358: 好熟悉的作业模式…是不是元X基哥程二作业啊 我都 01/27 23:33
21F:→ aa0917954358: 直接看VS STL实作 看得懂差很多 01/27 23:33
4 被抓到惹 ※ 编辑: asd15723 (39.12.37.112), 01/27/2018 23:43:02
22F:→ aa0917954358: 有点好奇是谁 XD 根据我的经验 看懂VS STL ,在考试 01/27 23:51
23F:→ aa0917954358: 的时候可以直接翻来看 哈哈哈 01/27 23:51
1B 菜B巴 上学期期末就直接右键查看定义..... ※ 编辑: asd15723 (39.12.37.112), 01/28/2018 00:31:59
24F:→ aa0917954358: 这麽刚好 我2B的 XD 01/28 05:58
25F:推 peatle: ...问题是STL标准并没有说死capacity增长的方式,所以各家 01/29 16:06
26F:→ peatle: 编译器各有巧妙,如果要做得和VS一样,原始码又摆在那边, 01/29 16:06
27F:→ Hazukashiine: 那就直接复制贴上就好了(误 01/29 16:16
28F:推 peatle: 少推最後一行,楼上帮我补完了XD 01/31 10:01







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP