摘要: 注意:在函数返回值前加const的目的是为了使其返回值不为左值。比如假设a*b=c是合法的,但无意义,我们需要杜绝这种情况,于是我们可以将*操作符重载为返回值加const的函数。 阅读全文
posted @ 2016-08-29 23:50 绿水白川 阅读(179) 评论(0) 推荐(0) 编辑
摘要: /* * main.cpp * * Created on: 2016年8月29日 * Author: godsome */ #include #include #include using namespace std; int next[100]; int Index_KMP(char s[], char t[]){ ... 阅读全文
posted @ 2016-08-29 23:18 绿水白川 阅读(100) 评论(0) 推荐(0) 编辑
摘要: const int MINNUMBER = -32767; int find_sec_max(int data[], int count){ int maxnumber = data[0]; int sec_max = MINNUMBER; for (int i = 1; i maxnumber){ sec_max = maxnumber; ... 阅读全文
posted @ 2016-08-29 14:32 绿水白川 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 结果: 构造B(5) 析构B(5) 析构形参t1 析构t2 析构t1 阅读全文
posted @ 2016-08-29 13:53 绿水白川 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 结点: 阅读全文
posted @ 2016-08-29 13:37 绿水白川 阅读(155) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std; void Order(vector &data){ int count = data.size(); int tag = false; for(int i = 0; i data[j+1]){ tag = true; int... 阅读全文
posted @ 2016-08-29 11:55 绿水白川 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 调用_onexit(func)函数可以在main之后执行func()。 阅读全文
posted @ 2016-08-29 11:45 绿水白川 阅读(144) 评论(0) 推荐(0) 编辑
摘要: // __FILE__与__LINE__是系统预定义宏,由编译器定义的 cout << __FILE__; cout << __LINE__; 阅读全文
posted @ 2016-08-29 11:43 绿水白川 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 重载: ⑴同一个类中 ⑵函数名相同 ⑶参数不同 ⑷virtual关键字可有可无 覆盖: ⑴分别位于派生类与基类中 ⑵函数名字相同 ⑶参数相同 ⑷基类函数必须有virtual关键字 隐藏: ⑴如果派生类的函数与基类的函数同名,但参数不同,无论有无virtual关键字,基类的函数将被隐藏 ⑵如果派生类的 阅读全文
posted @ 2016-08-29 11:40 绿水白川 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 修改内容的差别: char a[] = "hello"; a[0] = 'x'; char *p = "world"; //指向常量字符串 p[0] = 'x'; //编译无错,运行出错 sizeof运算符能计算数组容量,而sizeof(pointer)得到的是指针变量的字节数而非pointer所指 阅读全文
posted @ 2016-08-29 11:24 绿水白川 阅读(123) 评论(0) 推荐(0) 编辑
摘要: //bool if(!a) if(a) //int if(a == 0) //float const EXP = 0.000001; if(a -EXP) //pointer if(a != NULL) if(a == NULL) 阅读全文
posted @ 2016-08-29 11:14 绿水白川 阅读(970) 评论(0) 推荐(0) 编辑
摘要: 如下表示合法: 阅读全文
posted @ 2016-08-29 11:10 绿水白川 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 通用寄存器给出的地址是段内偏移地址,相应的段寄存器地址*10H+通用寄存器内地址,便是实际访问地址。 阅读全文
posted @ 2016-08-29 11:02 绿水白川 阅读(1425) 评论(0) 推荐(0) 编辑
摘要: 当一个类A中没有任何成员变量与成员函数,这时sizeof(A)的值是多少? 答:不是0,如果是0,声明一个class A[10],而每个对象占用空间为0,这时没办法区分A[0],A[1]……。 注意:sizeof是编译时运算符,编译时就确定了,所以类似int id[sizeof(unsigned l 阅读全文
posted @ 2016-08-29 11:00 绿水白川 阅读(140) 评论(0) 推荐(0) 编辑
摘要: struct默认成员公有,class默认成员私有,其余功能相当。 阅读全文
posted @ 2016-08-29 10:57 绿水白川 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 从静态存储区域分配,如全局变量,static变量。 在栈上创建,如函数执行时,函数内局部变量的存储单元都可以在栈止创建,函数执行结束时释放,栈内存分配运算内置于处理器的指令集。 从堆上分配,如malloc和new,free和delete,动态内存的生存期由程序员决定。 阅读全文
posted @ 2016-08-29 10:56 绿水白川 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 全局对象的构造函数会在main函数之前执行。 阅读全文
posted @ 2016-08-29 10:52 绿水白川 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 两个不同类型的指针间可以使用强制转换,如reinterpret cast,C#是类型安全的。 阅读全文
posted @ 2016-08-29 10:51 绿水白川 阅读(1298) 评论(0) 推荐(0) 编辑
摘要: 当类中含有const、reference成员变量,基类的构造函数需要使用初始化表。 阅读全文
posted @ 2016-08-29 10:50 绿水白川 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 最终结果是i = 5 * 5 + 5 = 30 宏定义相当于是直接进行代码替换,如果要实现先加倍的操作应将DOUBLE(5)用括号括起来。 const与#define的区别: 阅读全文
posted @ 2016-08-29 10:49 绿水白川 阅读(366) 评论(0) 推荐(0) 编辑