《GeekBand》c++面向对象高级编程01

来源:互联网 发布:android高级编程4 pdf 编辑:程序博客网 时间:2024/06/08 05:18

拖延症要人命啊~最后的时刻~

因为以前有一定的c++基础,所以开始的视频看的有一点犯困,自我感觉侯捷老师讲代码就像讲国学,虽然干货很多,但节奏略慢。

不过后来的视频中对于const 的用法,以及reference和value的比较总结的很到位,印象深刻。

所以,画重点啦~~!

const member function(常量成员函数)

class A{public:int get_value() const {return value ;}privateint value;}

就是那个const,如果没有的话,常量对象就没法调用get函数。

const 参数

void func(const A& a)<pre name="code" class="cpp">{//...}

而参数中的const则要考虑的是参数在此func中是否会改变,不改变则使用const 改变则不需要使


pass by value vs. pass by reference(to const)

这个主要从效率上考虑,reference在大多数情况要比value效率高。

其次考虑在function中是否会改变此参数值,不改变就用const限制咯。


return by value vs. return by reference

这个主要考量函数的实现功能,比如对+=的重载,考虑的会有连续使用的情况,就要使用reference。



有个疑问,就是对复数类+=符号重载的时候,STL把实际功能代码写到了_doapl里的原因是什么,侯捷老师说是某种原因,是因为想把所有+操作作为模板归类吗?

有空查查STL源码。。。


大概就是这样。




0 0
原创粉丝点击