再定義一個(gè)指針指向第一個(gè)元素,應(yīng)該更簡(jiǎn)單
在實(shí)例化的時(shí)候?qū)懀篊oordinate * q = p; 定義一個(gè)指針指向第一個(gè)元素,賦值的時(shí)候用戶 p 賦值,遍歷的時(shí)候有 q 遍歷,則之后p指向第3個(gè)元素,q指向第一個(gè)元素,再delete 【】q 不就行了嗎,在vs2017上運(yùn)行,沒有報(bào)錯(cuò)
#include <iostream>
#include "Coordinate.h"
using namespace std;
/*
定義Coordinate 類
數(shù)據(jù)成員:m_iX 和 m_iY
分別從堆中和棧中實(shí)例化長(zhǎng)度為3的數(shù)組
給數(shù)組的元素賦值
遍歷兩個(gè)數(shù)組
*/
int main(void)
{
Coordinate * p = new Coordinate[3];
Coordinate * q = p;
p[0].m_iX = 1;
p->m_iY = 2;
p++;
p->m_iX = 3;
p->m_iY = 4;
p++;
p->m_iX = 5;
p->m_iY = 6;
for (int i = 0; i < 3; i++)
{
cout << q[i].m_iX << " " << q[i].m_iY << endl;
}
delete[]q;
q = NULL;
p = NULL;
}
2019-09-12
再讓指針指向第一個(gè)元素不是更簡(jiǎn)單嗎