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++复习——侯捷版相关推荐

  1. C++标准库(第2版)(侯捷译)PDF

    C++标准库(第2版)(侯捷译)PDF下载地址: https://pan.baidu.com/s/1HmRjuUUTRF7_feyo3mXoAg 提取码: cnze 资源全部收集于互联网,分享目的仅供 ...

  2. 侯捷文章:初学者要如何学习 C++【我见 我闻我感我思】

    很不错的一篇文章, 虽然说的是C++, 但很多道理是一样的 看到十倍速学习里的课前预习, 课后复习, 和兄弟连的规定一样, 不过这道理和规定都是好的, 只是要真正有效的做到才有用. --------- ...

  3. 上穷碧落下黄泉,源码追踪经验谈——侯捷

    刚刚把开题的准备弄完了,决定好好研究一个开源引擎.看网友评价说几大开源引擎中,Irrlicht比较小,容易入门,所以决定先研究它了.在找Irrlicht相关资料时,看到有人推荐了侯捷老师的这篇文章,觉 ...

  4. 侯捷--迷时师度 悟了自度

    <迷时师度 悟了自度> 侯捷 1998.04.20 第一次发表於清大.枫挢驿站.电脑书讯 CompBook 版(140.114.87.5) 以下是全文内容,颇为深刻: 元智大学和清华大学的 ...

  5. 迷时师度 悟了自度--侯捷

    迷时师度 悟了自度  侯捷 1998.04.20 第一次发表於  清大.枫挢驿站.电脑书讯 CompBook 版(140.114.87.5)  ---------------------------- ...

  6. 你心目中最难忘的侯捷老师的文章有哪些???

    作者:武龙飞 链接:https://www.zhihu.com/question/30354267/answer/47765817 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  7. 侯捷:搞Windows程序设计我们需要啥

    侯捷:搞Windows程序设计我们需要啥 如果你是一位资深的Windows程序员,相信你对Jeffrey Richter一定不会陌生,是不是有些崇拜和景仰?如果你是一位刚涉足这个领域的Windows程 ...

  8. 侯捷推荐的C++书单

    ●书籍是永远的良师益友 过去十年中,有一件事最是奇特有趣:我於 1993 开始<无责任书评>专栏,介绍我所能够掌握的技术范围内的一些世界名着.这样的题材与文体,吸引了很多目光,也开创了某种 ...

  9. 侯捷C++学习记录-面向对象高级编程上

    目标: 培养正规的.大气的编程习惯 以良好的方式编写C++ class [Object Based(基于对象)] 学习Classes 之间的关系 [Object Oriented(面向对象)] 继承( ...

  10. 【C++面向对象程序设计——侯捷大师】心得摘要

    侯捷大师讲的真好,很多模糊的知识点,都得到了解决.感觉像是相见恨晚!非常感谢侯捷老师的启迪!谢谢啦!非常推荐萌新去学习学习! 下面是侯捷大师的<面向对象程序设计>课程的一些我觉得重要的摘要 ...

最新文章

  1. Android秒级编译方案-FreeLine
  2. 免gre美国计算机硕士,美国硕士免GRE/GMAT的学校-计算机篇
  3. 兰州大学第一届『飞马杯』程序设计竞赛 - ★★飞马祝福语★★(动态dp)
  4. 揭阳学计算机的好学校,揭阳初中排名2020最新排名,揭阳初中排名前十的学校有哪些...
  5. 美团将建新上海总部 斥资65亿元拿下上海杨浦商办地块
  6. 分子排列不同会导致_武汉理工《Matter》:构筑晶体内跨尺度分子筛单晶反应器...
  7. 提取数据_Origin如何提取图片数据
  8. python爬虫-Python爬虫入门这一篇就够了
  9. launcher3的具体学习
  10. html 半框添加,配眼镜全框好还是半框的好?
  11. [PHP] 新浪企业邮箱登录功能难点梳理
  12. 看完这个,你还觉得SOME/IP测试难吗?
  13. 不知道如何分析选择基金、股票?Python来教你
  14. 5G业务测试方法与验证
  15. 工作java工作总结
  16. python写新年快乐程序_新年快乐! python实现绚烂的烟花绽放效果
  17. 第九周 任务四
  18. asp html表单没有csrf保护,ASP.NET MVC 和网页中的 XSRF/CSRF 防护
  19. 《版权与版权贸易》第二章 版权的内容
  20. iOS系统整体框架及类继承框架图

热门文章

  1. 杭电计算机组成原理实验RISC-V 实验 取指令及指令译码实验
  2. 学习Python的第一天
  3. 联想 ThinkBook 15 LLI 蓝屏恢复
  4. crm系统如何处理好客户投诉问题?
  5. centos安装部分开发软件
  6. 从零开始写RISC-V处理器
  7. HDU 4826Labyrinth(dp)
  8. Django批量修改 get_field_display foreignkey
  9. linux 命令英文全称
  10. 多传感器融合的四种经典结构