C_and_CPP 板


LINE

现在课堂上正在复习C++语法 顺便介绍变数宣告时 电脑是如何实际的指派记忆体位置给那些被宣告的变数 其中有一题是这样的:(只列出关键部份) class A { int data; } int main() { A *arr = new A[17]; //Some Commands...... return 0; } 根据教授的说法,"17"这一个数字会实际存在於记忆体中, 而且其位置位於arr之前的几个byte, 要我们定位出"17"这个数字,所占据的记忆体位址。 我试过好几个方法,可是最後都是失败的, 最後还用到超级暴力法: int *intptr = (int *) &arr //强制取出arr的记忆体位址 for (int k = 0; k < 50; k++ ) cout << *(intptr - k) << endl //把arr位址之前的记忆体全部扫瞄过一遍 结果还是不能扫到17这个数字 囧 实在没办法,只好PO上版来请教各位强者, 请问我要如何定位出"17"这个数字所占据的记忆体位址呢? 谢谢<(_ _)> -- BED ●▅ ▅ ●▁▁ ●▅▅▅ ●▅▅ ▇▇▇ ▇ ▇▇▇▇ ▇▇▇▇ ●▅▅ ▇▇▇▇ ▇▇▇▇ & ▎ ▎ ▎ ▎ ▎ ▎ ▎●▅▅ ▎ ▎ ▇▇▇▇ I magician super model basketball homeless prisoner engineer player --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.243.205
1F:→ VictorTom:dynamic alloc回来的空间, 其大小不会直接放在该空间前 10/05 21:31
2F:→ VictorTom:後才对吧?? 这个资讯要也是放在heap管理相关的code里, 10/05 21:32
3F:→ VictorTom:我想你应该先确认教授的问题, 我猜他想问的应该是code 10/05 21:33
4F:→ VictorTom:(翻好的)哪里会让你看到17. 如果是VC, 你可以disasm出来 10/05 21:33
5F:→ VictorTom:看, 组语码找到new那行前後, 应该就会有地方算出来这个 10/05 21:34
6F:→ VictorTom:17怎麽换算与传给OS让它帮你配记忆体的. 10/05 21:34
7F:→ VictorTom:至於是local的, global的, static的, 又都是另一段故事 10/05 21:36
8F:→ VictorTom:了....XD 10/05 21:36
9F:推 VictorTom:话说, 他说的到底是arr这个pointer本身位址的前面还是 10/05 21:40
10F:→ VictorTom:arr指到的位址的前面啊?? 反正前者应该是错的XD 10/05 21:40
11F:→ VictorTom:而你的code看起来就是用上一行说的错的那种在找Orz 10/05 21:41
他的原文是 The array size "17" is recorded around "arr's" location in the heap memory. (hint: some bytes before arr's address). please locate this piece of memory and verify that the number in that memory is indeed "17". 因此我就把上面那段话想成要找出"17"的所在位置了 囧 ※ 编辑: jerrypotato 来自: 140.112.243.205 (10/05 21:51)
12F:推 ADF:建议你trace delete[] 看compiler是怎麽实作的 10/05 22:06
13F:推 joefaq:我觉得那个"17"就跟一般的const变数放一起 10/05 22:11
14F:→ ilway25:资结!?xd 10/06 16:33







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灯, 水草

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

TOP