- 博客(7)
- 资源 (29)
- 收藏
- 关注
原创 汉诺塔(递归运算)
汉诺塔移动规则是小盘子只能放到大盘子上面,运用递归运算把移动n(n>1)个盘化解为移动两个盘子的问题,即把小盘子移动到大盘子上。a,b,c三个柱子,通过b柱把a柱上的盘子移动到c柱上第一步:借用c柱把a柱最大盘子上面的n-1个盘子移动到b柱上第二步:把a柱最大盘子移动到c柱上第三步:借用a柱把b柱上的盘子移动到c柱上
2014-11-22 12:22:44 873
原创 运用递归编写strlen函数实例
代码如下:#include int Strlen(const char *s){ if( NULL == s) return -1; if('\0' == *s) return 0; else return Strlen(s+1)+1;}int main(){ printf("Strlen(\"123\")=%d\n",Strlen("123")); r
2014-11-22 09:19:54 1507
原创 调用构造函数进行类型转换
我们可以把数字当最对象赋给另一个对象,这样在对该赋值表达式进行计算时,首先对数字进行类型转换,同时判断该类的构造函数的参数是否与数字类型匹配,假如匹配则调用构造函数创建一个临时对象,跟着将该临时对象赋给赋值操作符左边的对象,最后调用析构函数进行删除临时对象。示例代码如下:#include using namespace std;class A{ public: A(in
2014-11-12 18:50:12 1830
原创 C++笔记
#、构造函数对每个成员变量的初始化顺序取决于成员变量在类中的说明顺序,初始化顺序是按照类中每个成员变量的说明顺序。析构函数正好与构造函数相反。#、当我们声明一个变量或一个对象,系统就会根据它们的类型自动的在栈中为每个变量开辟内存空间,以保证数值被合理地存放。(栈中空间比较小,据说只有2MB)#、所谓浅拷贝,就是仅仅将一个对象的成员指针复制给另一个对象,因此两个对象的成员指针都指向同一块内存
2014-11-07 16:04:41 916
原创 自己编写ASSERT()宏(对调试程序很有帮助)
程序代码:#include using namespace std;#define DEBUG#ifndef DEBUG#define ASSERT(x)#else#define ASSERT(x) \ if(!(x)){\ cout<<"错误!ASSERT("<<#x<<")宏函数执行失败;";\ cout<<"错误代码出现在第"<< __LINE__ <<"
2014-11-04 14:28:38 1418
原创 预定义宏的使用
代码实例:#include using namespace std;void show(){ cout<< "该语句所在的函数名为:"<< __FUNCTION__ <<endl; cout<< "当前文件名为:" << __FILE__ <<endl; cout<< "当前代码所在行为:" << __LINE__ <<endl;}int main
2014-11-04 11:20:34 886
Source Insight 4.0.0086原版软件包及破解文件
2017-08-27
网络是怎样连接的
2017-07-15
Wireshark数据包分析实战详解
2017-05-06
深入理解Linux驱动程序设计
2016-08-27
面包板电子制作130例 全彩印刷
2016-08-26
Linux设备驱动开发详解:基于最新的Linux 4.0内核
2016-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人