勿忘初心(51) 发表于 2014-09-17 | 分类于 生活 不忘初心,方得始终 这几天自己也有点想多了,因为本来就进入大三了,该考虑的也多了起来。反而烦恼了自己。 写下日记,提醒自己,大三上的时间还是很充足的,不要被迷惑。做好自己! 阅读全文 »
non-virtual和virtual函数(49) 发表于 2014-09-15 | 分类于 语言 首先,普通函数的派生会出现遮掩情况: 如;基类有多个重载函数(fun)。派生类只要定义一个(fun); 所有的基类函数(fun(int)、fun(double)等)不能使用。 当然可以通过using::Base::fun()来解决。 (编译器智能使用父子关系类的fun函数) 遮掩不仅会阻止派生类内部 ... 阅读全文 »
大三的开学(48) 发表于 2014-09-14 | 分类于 生活 不知不觉我也大三了,这几天我又没有天天去试验室。现在感觉一天不去实验室就有点罪恶感了!然后就愈来愈不敢去。 我还有梦想没实现,我还这么弱小,我这样的颓废生活真心烦死了!现在的交际圈也越来越小了,连已有的我都不知道能不能把握到! 写下日记,告诉自己还没有实现的东西,大学别留遗憾! 阅读全文 »
降低文件依赖,减少编译时间(47) 发表于 2014-09-12 | 分类于 语言 首先是第二次做这种题了。大概分析下吧: 1、无前置声明,直接包含头文件调用。(当包含的头文件出现变化时,编译器就必须重新对包含文件重新编译) 2、我来说明下前置声明后的情况 分析对象: 前置的意义不大,编译器编译的时候首先对声明的对象分配大小内存,即使有了前置声明, ... 阅读全文 »
pass by reference to const replace pass by value(45) 发表于 2014-09-11 | 分类于 语言 当用类去传递的时候遇见这么一个编译消耗。 Class Person {std::string str1, std::string str2;}; Class Student : public Person {std::string str1, std::string str2;}; //函数 va ... 阅读全文 »
返回对象(46) 发表于 2014-09-11 | 分类于 语言 作者对返回对象觉得: 1、拒绝用new 指针来返回引用对象(栈空间返回就省略了)。销毁问题 2、拒绝用静态,全局空间来返回。多次调用问题。 作者觉得该返回一个新的对象,调用构造函数。(具体情况而定,当是上一个栈空间的时候,返回也是很好的) 阅读全文 »
effectivec++ 设计接口正确使用(44) 发表于 2014-09-10 | 分类于 语言 看代码:++1234567891011121314class Date {public: Date(int moth, int day, int year);}//存在的问题,由于都是int,调用会出现顺序错误。修改struct Day {explicit Day(in ... 阅读全文 »
effective c++数组指针销毁(43) 发表于 2014-09-10 | 分类于 语言 遇见: std::string* p = new std::string[100]; 请用: delete[] p; 用delete p;会出现内存错误。 所以对于数组指针,拒绝使用typedef(typdedef string ADD[4];) 避免销毁异常。 阅读全文 »
取非符和内存对齐进阶(42) 发表于 2014-09-09 | 分类于 语言 先看取非符: a=0=(00000000); ~a=(11111111)=-1 a=1=(00000001); ~a=(11111110)=-2 a=2=(00000010); ~a=(11111101)=-3 而计算机里是用补码来存储的,因此111...11101是补码,对应的有符号数是-3 ... 阅读全文 »
more effective c++非尾端类设计抽象类(41) 发表于 2014-09-06 | 分类于 书籍 先看代码:++1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 class Animal { public: int a; pu ... 阅读全文 »