c++复习——侯捷版
c++ primer
effective c++中文版
STL源码剖析——侯捷
在.h中进行防卫式声明,如果没有定义过它,那么就定义它。如果定义了,那么就不会进去,也就是下图框中的内容
1是声明,2是对声明的定义,那么还需要提前弄个声明,那么就是0
类的组成部分
先有头,再有具体的内容,有些函数是直接在类里面定义,有些是在类之外定义
模板(class template)简介
将实部和虚部变量的类型不写死,如下图所示,T没写明具体类型,当我想具体使用的时候,我再去指定具体的类型,比如下面没有写死,在具体应用的时候,指明T的类型是double和int类型
内联函数(inline)
一些函数如果被重复调用,就会有函数不断地入栈,会造成栈空间和栈内存的大量消耗。
#include <stdio.h> //函数定义为inline即:内联函数
inline char* dbtest(int a)
{ return (i % 2 > 0) ? "奇" : "偶";
} int main()
{ int i = 0; for (i=1; i < 100; i++) { printf("i:%d 奇偶性:%s /n", i, dbtest(i)); }
比如上面的程序,使用inline,任何调用dbtest(i)的地方都换成了(i%2>0)?"奇":"偶"这样就避免了频繁调用函数对栈内存重复开辟所带来的消耗。也就是说将setest的代码直接放入到main函数里面,这样在执行for循环时,不需要重复开辟一个函数栈。
inline只适合函数体内代码简单的函数数使用,不能包含复杂的结构控制语句例如while、switch,并且内联函数本身不能是直接递归函数(自己内部还调用自己的函数)。
内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。如果执行函数体内代码的时间,相比于函数调用的开销较大,那么效率的收获会很少。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。
关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。
不能成为inline函数
inline void Foo(int x, int y); // inline 仅与函数声明放在一起
void Foo(int x, int y)
{
}
是inline函数
void Foo(int x, int y);
inline void Foo(int x, int y) // inline 与函数定义体放在一起
{
}
重载
构造函数
构造函数放在private里面 可以来实现单例
c++复习——侯捷版相关推荐
- C++标准库(第2版)(侯捷译)PDF
C++标准库(第2版)(侯捷译)PDF下载地址: https://pan.baidu.com/s/1HmRjuUUTRF7_feyo3mXoAg 提取码: cnze 资源全部收集于互联网,分享目的仅供 ...
- 侯捷文章:初学者要如何学习 C++【我见 我闻我感我思】
很不错的一篇文章, 虽然说的是C++, 但很多道理是一样的 看到十倍速学习里的课前预习, 课后复习, 和兄弟连的规定一样, 不过这道理和规定都是好的, 只是要真正有效的做到才有用. --------- ...
- 上穷碧落下黄泉,源码追踪经验谈——侯捷
刚刚把开题的准备弄完了,决定好好研究一个开源引擎.看网友评价说几大开源引擎中,Irrlicht比较小,容易入门,所以决定先研究它了.在找Irrlicht相关资料时,看到有人推荐了侯捷老师的这篇文章,觉 ...
- 侯捷--迷时师度 悟了自度
<迷时师度 悟了自度> 侯捷 1998.04.20 第一次发表於清大.枫挢驿站.电脑书讯 CompBook 版(140.114.87.5) 以下是全文内容,颇为深刻: 元智大学和清华大学的 ...
- 迷时师度 悟了自度--侯捷
迷时师度 悟了自度 侯捷 1998.04.20 第一次发表於 清大.枫挢驿站.电脑书讯 CompBook 版(140.114.87.5) ---------------------------- ...
- 你心目中最难忘的侯捷老师的文章有哪些???
作者:武龙飞 链接:https://www.zhihu.com/question/30354267/answer/47765817 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- 侯捷:搞Windows程序设计我们需要啥
侯捷:搞Windows程序设计我们需要啥 如果你是一位资深的Windows程序员,相信你对Jeffrey Richter一定不会陌生,是不是有些崇拜和景仰?如果你是一位刚涉足这个领域的Windows程 ...
- 侯捷推荐的C++书单
●书籍是永远的良师益友 过去十年中,有一件事最是奇特有趣:我於 1993 开始<无责任书评>专栏,介绍我所能够掌握的技术范围内的一些世界名着.这样的题材与文体,吸引了很多目光,也开创了某种 ...
- 侯捷C++学习记录-面向对象高级编程上
目标: 培养正规的.大气的编程习惯 以良好的方式编写C++ class [Object Based(基于对象)] 学习Classes 之间的关系 [Object Oriented(面向对象)] 继承( ...
- 【C++面向对象程序设计——侯捷大师】心得摘要
侯捷大师讲的真好,很多模糊的知识点,都得到了解决.感觉像是相见恨晚!非常感谢侯捷老师的启迪!谢谢啦!非常推荐萌新去学习学习! 下面是侯捷大师的<面向对象程序设计>课程的一些我觉得重要的摘要 ...
最新文章
- Android秒级编译方案-FreeLine
- 免gre美国计算机硕士,美国硕士免GRE/GMAT的学校-计算机篇
- 兰州大学第一届『飞马杯』程序设计竞赛 - ★★飞马祝福语★★(动态dp)
- 揭阳学计算机的好学校,揭阳初中排名2020最新排名,揭阳初中排名前十的学校有哪些...
- 美团将建新上海总部 斥资65亿元拿下上海杨浦商办地块
- 分子排列不同会导致_武汉理工《Matter》:构筑晶体内跨尺度分子筛单晶反应器...
- 提取数据_Origin如何提取图片数据
- python爬虫-Python爬虫入门这一篇就够了
- launcher3的具体学习
- html 半框添加,配眼镜全框好还是半框的好?
- [PHP] 新浪企业邮箱登录功能难点梳理
- 看完这个,你还觉得SOME/IP测试难吗?
- 不知道如何分析选择基金、股票?Python来教你
- 5G业务测试方法与验证
- 工作java工作总结
- python写新年快乐程序_新年快乐! python实现绚烂的烟花绽放效果
- 第九周 任务四
- asp html表单没有csrf保护,ASP.NET MVC 和网页中的 XSRF/CSRF 防护
- 《版权与版权贸易》第二章 版权的内容
- iOS系统整体框架及类继承框架图