再定義一個指針指向第一個元素,應(yīng)該更簡單
在實例化的時候?qū)懀篊oordinate * q = p; 定義一個指針指向第一個元素,賦值的時候用戶 p 賦值,遍歷的時候有 q 遍歷,則之后p指向第3個元素,q指向第一個元素,再delete 【】q 不就行了嗎,在vs2017上運行,沒有報錯
#include <iostream>
#include "Coordinate.h"
using namespace std;
/*
定義Coordinate 類
數(shù)據(jù)成員:m_iX 和 m_iY
分別從堆中和棧中實例化長度為3的數(shù)組
給數(shù)組的元素賦值
遍歷兩個數(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
再讓指針指向第一個元素不是更簡單嗎