struct type {
int i;
std::string s;
char *c;
int a[2];
std::vector<int> v;
std::map<std::string, int> m;
};
int main()
{
std::cout << "hello" << std::endl;
type t1;
t1.i =10;
t1.s = "1234";
t1.c = "qwer";
t1.a[0] = 1;
t1.a[1] = 3;
t1.v.push_back(7);
t1.v.push_back(8);
t1.m["1"] = 1;
printf("t1 -- i:%d ->%p, s:%s ->%p, c:%s ->%p, a:{%d,%d} ->%p, v:[%d,%d] ->%p, m[\"1\"]=%d ->%p\n",
t1.i, t1.i, t1.s.c_str(), t1.s, t1.c, t1.c, t1.a[0], t1.a[1], t1.a, t1.v[0], t1.v[1], t1.v, t1.m["1"], t1.m);
type t2 = t1;
printf("t2 -- i:%d ->%p, s:%s ->%p, c:%s ->%p, a:{%d,%d} ->%p, v:[%d,%d] ->%p, m[\"1\"]=%d ->%p\n",
t2.i, t2.i, t2.s.c_str(), t2.s, t2.c, t2.c, t2.a[0], t2.a[1], t2.a, t2.v[0], t2.v[1], t2.v, t2.m["1"], t2.m);
type *t3 = new type();
*t3 = t1;
printf("t3 -- i:%d ->%p, s:%s ->%p, c:%s ->%p, a:{%d,%d} ->%p, v:[%d,%d] ->%p, m[\"1\"]=%d ->%p\n",
t3->i, t3->i, t3->s.c_str(), t3->s, t3->c, t3->c, t3->a[0], t3->a[1], t3->a, t3->v[0], t3->v[1], t3->v, t3->m["1"], t3->m);
}
c++學習筆記,c++結構體拷貝,c++深拷貝與淺拷貝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.