高质量程序设计指南-c/c++语言:笔记之C++函数的高级特性
*. 对于c语言的函数,c++增加了重载、内联、const、virtual四种新机制。
1.其中重载、内联可以用于全局函数;const virtual则只能用于类的成员函数

一。重载;
*. 只能靠参数列表来区分,不能靠返回值来区分。
*. 因为c++的编译机制与c的编译机制不同,所以要想在c++中调用已经被编译的c函数,我们应该用extern "C" { #endif  #include "myheader.h"  #ifdef __cplusplus}
这就是链接规范的概念。
*. 全局函数与类函数同名不会有冲突,因为他们的作用区域不同。   ::Abc() 表示调用全局东东
*. 重载的重要标志:在同一个作用域中。所以,类之间通过继承的同名函数,不构成重载,而是隐藏掉了。  可以使用类名把这些隐藏的东东现形。

二。默认值;
*. 默认值出现在函数的声明,不应该出现在函数的定义
*. 必须是从右边到左边的写函数默认值,否则调用的时候就无法区分谁有默认谁没有默认。

三。运算符重载;
*. 前置:无参数 ,  后置:有象征性的int参数。

四。函数内联;
*. 目的:提高函数的执行效率。
*. 比预处理宏要更好用,可以调试。
*. inline要放在函数的定义前哦,不能仅仅放在函数的声明前面。

五。具有类型转换的构造函数;会造成该对象作为形参的时候导致具有隐士转换的效果;
*. 可以使用explicit阻止这种隐士转换机制。
*. 优点:方便了我们许多的事情哦。
*. 缺点:有点乱。哈哈。

六。const成员函数;
*. 定义:任何不会修改数据成员的成员函数都应该声明为const类型。提高程序的健壮性。
*. const放在函数的最后面,大概是因为其他的地方被占用了。哈哈。

*. 但是如果真的要修改某个数据成员,但业务上这个函数是const,那么在这个成员数据声明前面加上一个 vartable...好像是这个,不太记得了。

高质量程序设计指南-c/c++语言:笔记之对象的初始化、拷贝和析构

*. c++类会自动生成4大天王:1. A () 2. A(const A&) 3. ~A() 4. A& operator = (const A& a);   默认构造,默认拷贝构造,默认析构,默认赋值函数。

*. 根据经验,不少难以察觉的程序错误是由于变量没有被正确初始化或者清除造成的,而初始化和清除工作很容易被人遗忘。

*. 注意:不要在构造函数内做与初始化对象无关的事情,不要在析构函数内做与销毁一个对象无关的工作。
比如:对于一个用于消息发送和接收的类来说,不应该在构造函数内打开一个socket链接,同样不应该在析构函数内断开一个socket链接,而应该把打开和断开socket链接放到另外的成员函数内来完成。

高质量程序设计指南-c/c++语言:笔记之C++函数的高级特性相关推荐

  1. 高质量程序设计指南C/C++阅读笔记

    阅读书籍:<高质量程序设计指南C/C++语言>林锐.韩勇泉著 说明: 本文档为阅读笔记,要求有一定的C/C++基础,属于提高篇 一.软件质量基本概念 功能属性: 1.正确性Correcte ...

  2. 《高质量程序设计指南——C/C++语言》之开篇记

    <高质量程序设计指南--C/C++语言>是林锐博士和韩永泉先生撰写的著作,记得刚毕业那会读过了.应该说,这本书是对学校教科书的一个很好补充和提高.关于C/C++的经典书籍,国外已经有很多很 ...

  3. 高质量程序设计指南:C++/C语言

    <高质量程序设计指南:C++/C语言> 基本信息 作者: 林锐 韩永泉 [作译者介绍] 出版社:电子工业出版社 ISBN:9787121186172 上架时间:2012-10-24 出版日 ...

  4. 《高质量程序设计指南——C/C++语言》第1章 高质量软件开发之道

    第1章 高质量软件开发之道 本书的第1章之高质量软件开发之道,作者用大量的篇幅介绍了"软件质量"的基本概念,解释了软件质量的十大属性.这十大质量属性又分为功能性和非功能性两类,功能 ...

  5. 高质量程序设计指南c++/c语言(33)--函数指针

    函数类型由其返回类型和形参表确定,而与函数名无关. // pf points to function returning bool that takes two const string refere ...

  6. 高质量程序设计指南c++/c语言(17)--函数

    对于静态链接库的函数库或者类库,如果你调用了其中的函数,那么连接器会从相应的库中提取这些函数的实现代码并把他们连接到你的程序中,如果你没有调用库中的某些函数,则连接器是不会把他们的实现代码连接进来的, ...

  7. 高质量程序设计指南c++/c语言(25)--类与内联函数

    我们可以用inline来定义内联函数,不过,任何在类的说明部分定义(不是声明)的函数都会被自动的认为是内联函数. 内联函数必须是和函数体声明在一起,才有效.像这样的声明inline Tablefunc ...

  8. 高质量程序设计指南c++/c语言(30)--引用

    引用就是对象的另一个名字,不能定义引用类型的引用.引用必须用与该引用同类型的对象初始化. const引用是指向const对象的引用. const int ival = 1024; const int ...

  9. 高质量程序设计指南c++/c语言(14)--函数指针

    在注册一个回调函数的时候,我们常常使用函数指针.c++/c的连接器在连接程序的时候必须把函数体的首地址绑定到对该函数调用语句上,因此函数地址必须在编译时就确定下来,也就是编译器为函数体生成代码的时候. ...

  10. C语言书籍阅读-读书笔记--高质量程序设计指南》--C/C++,林锐

    最近闲下来想找机会参加一些编程比赛锻炼锻炼,可没有一个相关网站可以搜集这些信息,因而自己记录下来: 百度之星,http://star.baidu.com/index/developer.时间07.25 ...

最新文章

  1. FTP 命令的使用详解
  2. 入门深度学习,先看看三位顶级大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton的联合综述
  3. lightningJS之动画
  4. 离散数学平面图对偶图和着色问题
  5. swift4.2 - 一个自定义view弹框
  6. 快速实现Apache二级域名的方法
  7. 如何在AWS上架设文件服务器
  8. 「刘一哥GIS」系列专栏《QGIS入门实战精品教程(配套案例数据)》
  9. 【LCT】Tree II(luogu 1501)
  10. linux系统安装并配置oracle客户端
  11. RSYNC及其算法简单介绍
  12. WinForm实现SQLServer存储图片
  13. jsp物流配送管理系统
  14. 百度网盘错误消息状态码大全
  15. 用c语言算法统宗 李白沽酒,趣味数学题:百羊问题与李白沽酒
  16. CUDA的下载与安装
  17. java创建一个问卷调查界面_十分钟搭建自己的问卷调查系统 | 码云周刊
  18. 共模电压和差模电压两种理解方式
  19. 固态硬盘坏了的表现是什么?从哪里可以看出来?
  20. android拷机工具,Android8.0平台Camera monkey拷机卡死异常解决方案

热门文章

  1. iOS中的坑:URL不识别##
  2. java 清除所有 Session
  3. 在Java中使用Jedis的测试案例
  4. SharedPreferences小探
  5. 用NextResult方法取得多个Result Set
  6. css 主页模版 搜索技巧
  7. 光标移动事件。 gridview光标移动变色
  8. 自动生成xml报文_使用python如何给xml报文进行签名 signXML库
  9. IDEA调试代码F7、F8、F9
  10. qt调用python(不是python调用qt,不是使用pyqt模块)