摘要: 动态分配一个int变量的内存,并用指针指向它,利用指针去给变量赋值: c语言的写法: int* p1=(int*)malloc(sizeof(int)); *p1=10; c++的写法: int* p2=new int(10); //注意,是() 动态分配一个int[10]数组的内存,并用指针指向它 阅读全文
posted @ 2018-01-23 20:09 8号prince 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 在copy一个对象时(用一个对象去初始化另外一个对象),会调用类中的拷贝构造函数。如果我们自己没有在类里面写拷贝构造函数,则C++编译器会调用默认的拷贝构造函数。 浅拷贝:如果类定义的对象包含的某个成员是动态内存分配产生的(指针变量成员),你先用该类定义了一个对象1,然后又用这个对象1去初始化另外一 阅读全文
posted @ 2018-01-23 11:44 8号prince 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 1.当类中没有定义任何一个构造函数(包括拷贝构造函数)时,c++编译器会提供一个默认的无参构造函数和默认拷贝构造函数; 2.当类中定义了拷贝构造函数时,c++编译器不会提供默认的无参构造函数;(拷贝构造函数也是构造函数,它的函数名和默认的无参构造函数是同名的,这时候你必须得自己写一个构造函数来初始化 阅读全文
posted @ 2018-01-22 21:28 8号prince 阅读(239) 评论(0) 推荐(0) 编辑
摘要: C++里面初始化一个对象的时候需要调用构造函数,而用一个对象去初始化另外一个对象的时候则是调用拷贝构造函数。 拷贝构造函数的作用:用一个对象来初始化另外一个对象(注意:初始化和赋值是两种完全不同的操作) 阅读全文
posted @ 2018-01-22 16:28 8号prince 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 使用Visual Stdio进行编程时,有以下快捷键可用: F7:编译 F5:Debug/停止Debug F9:添加断点 Ctrl + F5:运行程序 F10:单步调试,不进入函数体内部(逐过程) F11:单步调试,进入函数体内部(逐语句) 先按Crl + K,再按Ctrl + C:注释选中代码段 阅读全文
posted @ 2018-01-19 17:13 8号prince 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 3 using namespace std; 4 5 //对数组a中前num个元素进行插入排序,从小到大排列 6 void sort(int* &a,int num) 7 { 8 for(int i=0;ij;k--) 16 { 17 a[k]=a[k-1]; 18 ... 阅读全文
posted @ 2018-01-19 10:58 8号prince 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 3 #define SIZE 10 4 5 using namespace std; 6 7 //合并数组的前半部分和后半部分, 前提就是前后两个子数组分别都已经排好序了 8 void mergeArray(int a[], int first, int mid, int last) 9 { 10 int i, j, m, n; ... 阅读全文
posted @ 2018-01-19 10:54 8号prince 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 4 typedef struct node 5 { 6 int data; 7 struct node *next; 8 }Node,*pNode; 9 10 pNode Creat_list();//创建一个单链表 11 void Traverse_list(pNode head);//... 阅读全文
posted @ 2018-01-19 10:29 8号prince 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 堆排序的思想: 1.首先写一个维护二叉堆的函数,其作用是使完全二叉树的某个根节点下开始的所有父节点都比其左右子节点大(堆的性质); 2.然后自底向顶建立一棵完全二叉树,建树的过程就是第一次维护二叉堆的过程。然后交换堆顶元素和堆底的最后一个元素,形成一个新的堆。新的堆是指原来的堆中去除二叉堆中底层的最 阅读全文
posted @ 2018-01-18 21:21 8号prince 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 普通的引用: 1. int a=10; int &b=a;//b就是a,a就是b,b相当于a的别名,可以通过修改b的值来改变a的值 b=20; cout<<"a="<<a<<endl;//输出的结果是20,b的值被改变,a的值相应地也被改变 2.int &a=10;//非法!引用的本质是给内存起别名 阅读全文
posted @ 2018-01-17 16:16 8号prince 阅读(302) 评论(0) 推荐(0) 编辑