亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Linux和Windows不一樣嗎》為什么我的代碼運行和上面的結果不一樣?而且delete就出錯!

#include?<iostream>
#include?"Coornidate.h"

using?namespace?std;
int?main()
{
????Coornidate*?p?=?new?Coornidate[3];
????Coornidate?coor[3];
????coor[0].X?=?11;
????coor[0].Y?=?11;

????p->X?=?10;
????p[0].Y?=?11;
????p++;
????p->X?=?20;
????p->Y?=?21;
//????p[1].X?=?3;
//????p[1].Y?=?3;
????for(int?i=0;i<3;i++)
????{
????????cout<<p[i].X<<"?:?"<<p[i].Y<<"?"<<"\n";
????????p--;
????}
????p++;
//????delete?[]?p;
}
20?:?21?20?:?21?20?:?21

delete內存:

00e09000-00e3b000?rw-p?00000000?00:00?0??????????????????????????????????[heap]7f66fc000000-7f66fc021000?rw-p?00000000?00:00?0?7f66fc021000-7f6700000000?---p?00000000?00:00?0?7f670095a000-7f6700970000?r-xp?00000000?103:08?1053774???????????????????/lib/x86_64-linux-gnu/libgcc_s.so.17f6700970000-7f6700b6f000?---p?00016000?103:08?1053774???????????????????/lib/x86_64-linux-gnu/libgcc_s.so.17f6700b6f000-7f6700b70000?rw-p?00015000?103:08?1053774???????????????????/lib/x86_64-linux-gnu/libgcc_s.so.17f6700b70000-7f6700c78000?r-xp?00000000?103:08?1054128???????????????????/lib/x86_64-linux-gnu/libm-2.23.so7f6700c78000-7f6700e77000?---p?00108000?103:08?1054128???????????????????/lib/x86_64-linux-gnu/libm-2.23.so7f6700e77000-7f6700e78000?r--p?00107000?103:08?1054128???????????????????/lib/x86_64-linux-gnu/libm-2.23.so7f6700e78000-7f6700e79000?rw-p?00108000?103:08?1054128???????????????????/lib/x86_64-linux-gnu/libm-2.23.so7f6700e79000-7f6701039000?r-xp?00000000?103:08?1054132???????????????????/lib/x86_64-linux-gnu/libc-2.23.so7f6701039000-7f6701239000?---p?001c0000?103:08?1054132???????????????????/lib/x86_64-linux-gnu/libc-2.23.so7f6701239000-7f670123d000?r--p?001c0000?103:08?1054132???????????????????/lib/x86_64-linux-gnu/libc-2.23.so7f670123d000-7f670123f000?rw-p?001c4000?103:08?1054132???????????????????/lib/x86_64-linux-gnu/libc-2.23.so7f670123f000-7f6701243000?rw-p?00000000?00:00?0?7f6701243000-7f67013b5000?r-xp?00000000?103:08?1705995???????????????????/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.217f67013b5000-7f67015b5000?---p?00172000?103:08?1705995???????????????????/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.217f67015b5000-7f67015bf000?r--p?00172000?103:08?1705995???????????????????/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.217f67015bf000-7f67015c1000?rw-p?0017c000?103:08?1705995???????????????????/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.217f67015c1000-7f67015c5000?rw-p?00000000?00:00?0?7f67015c5000-7f67015eb000?r-xp?00000000?103:08?1054130???????????????????/lib/x86_64-linux-gnu/ld-2.23.so7f67017b3000-7f67017b9000?rw-p?00000000?00:00?0?7f67017e9000-7f67017ea000?rw-p?00000000?00:00?0?7f67017ea000-7f67017eb000?r--p?00025000?103:08?1054130???????????????????/lib/x86_64-linux-gnu/ld-2.23.so7f67017eb000-7f67017ec000?rw-p?00026000?103:08?1054130???????????????????/lib/x86_64-linux-gnu/ld-2.23.so7f67017ec000-7f67017ed000?rw-p?00000000?00:00?0?7ffc32477000-7ffc32498000?rw-p?00000000?00:00?0??????????????????????????[stack]7ffc325cb000-7ffc325ce000?r--p?00000000?00:00?0??????????????????????????[vvar]7ffc325ce000-7ffc325d0000?r-xp?00000000?00:00?0??????????????????????????[vdso]ffffffffff600000-ffffffffff601000?r-xp?00000000?00:00?0??????????????????[vsyscall]


正在回答

2 回答

你p自減了三次,只自加了兩次,最后釋放的時候,要釋放的已經不是你原本申請的內存了,所以報錯了

0 回復 有任何疑惑可以回復我~

p--;

delete?[]?p;

是不是這樣?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之封裝篇(下)
  • 參與學習       70902    人
  • 解答問題       534    個

封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通

進入課程

Linux和Windows不一樣嗎》為什么我的代碼運行和上面的結果不一樣?而且delete就出錯!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號