size
和data
。data
指向这个堆对象。下图表示:data
指针的地址也是完全相同的。data
指针,指向的实际上是被复制的对象所建立的堆对象:
x
//#include <vector>
using namespace std;
class vector{
private:
int * data;
int size;
public:
vector(int size){
this->size = size;
data=new int[size];
}
//深复制
vector(vector& v){
size=v.size;
data=new int[size];
for (int i = 0; i < size; i++) {
data[i]=v.data[i];
}
}
~vector(){
delete[] data;
}
void print() {
// 输出大小与地址
cout << size << " " << data << endl;
}
};
int main() {
vector v(10);
v.print();
vector v1(v);
v1.print();
return 0;
}