- 博客(7)
- 收藏
- 关注
原创 <<More Effective C++>>读书笔记2: 运算符
《More Effective C++》+《Effective C++》,两本经典双剑合璧,必然威力无穷。 Item M5 谨慎定义类型转换函数 1. 两种函数允许编译器进行"自定义类型"转换:单参数构造函数和隐式类型转换运算符。 2. 单参数构造函数是指只用一个参数即可以调用的构造函数。该函数可以是只定义了一个参数,也可以是虽定义了多个参数但第一个参数以后的所有
2016-07-22 09:24:17 704
原创 自定义类型转换函数
(本文参考自《More Effecitve C++》 Item5 谨慎定义类型转换函数) 自定义类型转换函数有2种: 1.隐式类型转换运算符; 2.单参数构造函数。 隐式类型转换运算符是一个成员函数:operator其后跟一个类型和符号;不用定义函数的返回类型,因为返回类型就是这个函数的名字。 单参数构造函数是指只用一个参数即可以调用的构造函数。该函数可以是只定义了一个参数,也可以是虽定
2016-07-21 10:28:32 1613
原创 <<More Effective C++>>读书笔记1: 基础议题
《More Effective C++》+《Effective C++》,两本经典双剑合璧,必然威力无穷。 Item M1 指针与引用的区别 1. 在任何情况下都不能使用指向空值的引用。结果将是不确定的。 [例如: char *pc = 0; char& rc = *pc;] 2. 不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前
2016-07-13 10:42:46 793
原创 什么时候使用引用
当必须指向一个对象并且不想改变其指向时,或者在重载操作符并为防止不必要的语义误解时,你应该使用引用;而在除此之外的其他情况下,则应使用指针。 下面这个例子是引用指向一个对象并且不会改变其指向,这个“new出来的对象”只能被引用改变。 关于在重载操作符并为防止不必要的语义误解时使用引用,参考《more effecitve c++》 Item 1。 #include using nam
2016-07-13 10:32:21 2182
原创 不要对数组使用多态
在对数组进行传参使用多态时,程序会crash; 因为数组在移位至下一数据时,步长是形参(基类)的size,而不是指针实际指向数据类型(派生类)的size,所以会数组会移位至一个非法的地址。 详见下例: 有1点需要注意:如果Base和Derived类size大小一样(有相同的数据成员),不会crash。 #include using namespace std; class Base
2016-07-13 09:35:00 1047 1
原创 <<More Effective C++>>读书笔记4: 效率
《More Effective C++》+《Effective C++》,两本经典双剑合璧,必然威力无穷。 Item M16 牢记80-20 准则 1. 如果想写出一个高效的C++程序,你必须首先能写出一个高效的算法。 2. 软件整体的性能取决于代码组成中的一小部分。 3. profiler 告诉你每条语句执行了多少次或各函数被调用了多少次,这是一个作用有限的工具。 [
2016-07-11 10:20:24 695
原创 gprof
使用gprof寻找应用程序中占用时间最长的部分。 (目前我还没有在大型系统中使用过gprof,依然觉得gprof是一个很好的工具,在这里只是做一个记号,有足够经验后再来详述) 网络上关于gprof的资料很多,下面3个是总结的比较好的: http://www.ibm.com/developerworks/cn/linux/l-gnuprof.html http://blog.csdn.n
2016-07-05 13:29:17 753
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人