摘要: 结果并不是0,因为在默认构造函数内部再调用带参数的构造函数是用户行为而非编译器行为,只执行函数调用,不会执行初始表达式。 阅读全文
posted @ 2016-08-31 15:05 绿水白川 阅读(478) 评论(0) 推荐(0) 编辑
摘要: //B公有继承自A,可以是间接继承 class B:public A{} //B实现了隐式转化为A的转化操作 class B{operator A();} //A实现了non-explicit的参数为B class A{A(const B&);} //赋值操作 A& operator=(const B&); 阅读全文
posted @ 2016-08-31 14:58 绿水白川 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 这段代码有错,str指针始终为空,因为GetMemory改变的是参数的值,而非指针指向的空间里的值,而改变形参的值并不会传回。 修改方法: 阅读全文
posted @ 2016-08-30 11:42 绿水白川 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 常见的几种机器的存储方式: Linux: 小端 NT: 小端 Alpha: 小端 Sun: 大端 阅读全文
posted @ 2016-08-30 11:30 绿水白川 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: class A{ public: A(){ p = this }; ~A{ if( p != NULL){ delete p; p = NULL }; } A *p; } 由于A类中有一个指针A *p;而构造函数中有p = this;也就是说整个指针指向了对象本身。这个会导致无限构造。所以不要构造本 阅读全文
posted @ 2016-08-30 00:49 绿水白川 阅读(153) 评论(0) 推荐(0) 编辑
摘要: //方法一 i = i + j; j = i - j; i = i - j; //方法二 i ^= j; j ^= i; i ^= j; //方法三 a = a + b - (b = a) 阅读全文
posted @ 2016-08-30 00:26 绿水白川 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 对于结构体X中表示s1占用字节的0-1,s2占用字节的2-4,s3占用字节的5-7位 阅读全文
posted @ 2016-08-30 00:19 绿水白川 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 注意:在函数返回值前加const的目的是为了使其返回值不为左值。比如假设a*b=c是合法的,但无意义,我们需要杜绝这种情况,于是我们可以将*操作符重载为返回值加const的函数。 阅读全文
posted @ 2016-08-29 23:50 绿水白川 阅读(170) 评论(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) 编辑