2013年2月16日

深拷贝与浅拷贝

摘要: c++默认的拷贝构造函数是浅拷贝浅拷贝就是对象的数据成员之间的简单赋值,如你设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如:class A {public: A(int _data) : data(_data){} A(){}private: int data; };int main(){ A a(5); A b = a; // 仅仅是数据成员之间的赋值 }这一句b = a;就是浅拷贝,执行完这句后b.data = 5;如果对象中没有其他的资源(如:堆,文件,系统资源等),则深拷贝和浅拷贝没有什么区别... 阅读全文

posted @ 2013-02-16 21:08 mymemory 阅读(1542) 评论(0) 推荐(0)

zigzag数组,螺旋数组

摘要: /*zigzag数组是一个“之”字形排列的数组,如8*8的zigzag数组: 1 5 6 14 15 27 28 4 7 13 16 26 29 42 8 12 17 25 30 41 43 11 18 24 31 40 44 53 19 23 32 39 45 52 54 22 33 38 46 51 55 60 34 ... 阅读全文

posted @ 2013-02-16 16:34 mymemory 阅读(221) 评论(0) 推荐(0)

程序员面试宝典之输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序,即输出125,126,145,146

摘要: //============================================================================// Name : 2例一.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#in... 阅读全文

posted @ 2013-02-16 15:44 mymemory 阅读(1345) 评论(0) 推荐(0)

数组指针:a pointer to an array,即指向数组的指针

摘要: #include <iostream>#include <stdio.h>using namespace std;int main(){ int test[2][3]={{1,2,3},{4,5,6}}; int (*A)[3]; A = &test[0];// A = test cout<<(*A)[0]<<endl; cout<<(*A)[4]<<endl; cout<<**A<<endl; cout<<**(A+1)<<endl; // cout<< 阅读全文

posted @ 2013-02-16 00:52 mymemory 阅读(267) 评论(0) 推荐(0)

导航