1、内联函数

inline声明只是建议

函数执行时,操作系统要在栈中为形参、局部变量分配存储空间,存放返回地址,函数执行结束后,回收存储空间,根据返回地址回到原函数继续执行。

如果一个函数代码量少,循环次数少,申明为inline则编译器会将函数代码复制到原函数执行,而不会执行上面的操作。最终可执行程序体积增加但是运行时间会减少。

构造函数若定义在class.body里,自动成为inline候选人

2、初始列

给参数赋值有两个阶段,一是初始化,二是赋值。如果不使用初始化列表,则是浪费了初始化阶段,效率低。

//初始化列表
class complex
{public:complex(double a, double b):re(a),im(b){};private:double re;double im;
}
//不使用初始化列表
class complex
{public:complex(double a, double b){re = a; im = b;};private:double re;double im;
}

3、构造函数可以重载,无参构造函数只能有一个

class complex
{public:complex(double a = 0, double b = 0):re(a),im(b){};complex():re(0),im(0){};
}complex c1;//系统不知道调用哪个
complex c2();

4、重载-overloading

重载之后,编译器会把同名函数的函数名、参数个数、类型写在只有编译器认识的编译后的实际名称里

形似

?real@complex@@QBENSZ

?real@complex@@AVERGSZ

5、构造函数可以放在private区

通过访问public函数调用私有构造函数来创建对象

侯捷C++->构造函数相关推荐

  1. 侯捷-C++面向对象高级开发(头文件与类的声明,构造函数,参数传递与返回值)

    侯捷-C++面向对象高级开发 1.头文件与类的声明 Object Based:面对的是单一的class的设计 Object Oriented:面对的是多重classes的设计,classes和clas ...

  2. C++11新特性选讲 语言部分 侯捷

    C++11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分.只谈新特性,并且是选讲. 本文为语言部分笔记. 语言 Variadic Templates move semanti ...

  3. 一、C++面向对象高级编程(上) (侯捷)

    侯捷 C++八部曲笔记汇总 - - - 持续更新 ! ! ! 一.C++ 面向对象高级开发 1.C++面向对象高级编程(上) 2.C++面向对象高级编程(下) 二.STL 标准库和泛型编程 1.分配器 ...

  4. 侯捷-C++面向对象高级开发(操作符重载与临时对象)

    侯捷-C++面向对象高级开发(操作符重载与临时对象) 1.操作符重载与临时对象 任何成员函数有一个隐藏的this pointer指向,指向调用者. 传递者无需知道接收者是以什么形式接收 就比如下面方框 ...

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

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

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

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

  7. 侯捷C++八部曲笔记(四、C++2.0新特性)

    侯捷C++八部曲笔记(四.C++2.0新特性) 关键字 noexcept override final decltype =default, =delete nullptr auto explicit ...

  8. 侯捷C++->参数传递与返回值

    1.常量成员函数 class complex //声明 class complex { public:double real() const {return re};//函数不改变数据内容 { //使 ...

  9. 侯捷老师整理||IT专业术语中英对照表

    侯捷老师整理||IT专业术语中英对照表 百度文库的原文,侯捷老师整理的中英单词,真的对我们学习很有帮助 由于老师的网站已经失效了,所以就是从网上搜索来的,没有注明转载. 一群性质相近同的「东西」,如果 ...

  10. 【C++】侯捷C++面向对象高级编程(下)

    转换函数(conversion function) 可以把"这种"东西,转化为"别种"东西. 即Fraction --> double class Fra ...

最新文章

  1. hihoCoder 1051 补提交卡(贪心,枚举)
  2. UA OPTI501 电磁波 求解麦克斯韦方程组的Fourier方法3 Coulomb Gauge下讨论Maxwell方程
  3. Flutter是什么
  4. padding和卷积的区别_池化、池化与卷积异同、zero-padding
  5. 解读Dataphin流批一体的实时研发
  6. bootstrap-媒体对象-对齐
  7. URI和URL的区别(12万访问量)
  8. python——pandas数据分析(表格处理)工具实现Apriori算法
  9. MQTT(1)---物联网核心之MQTT(一)
  10. Java程序员从笨鸟到菜鸟之(五十八)细谈Hibernate(九)hibernate一对一关系映射...
  11. C++中的floor()函数
  12. 全球DDOS安全防护
  13. 计算机实验excel总结,EXCEL实验报告
  14. excel宏计算机,Excel怎么设置宏 Excel宏设置图文教程-电脑教程
  15. 分享抖音上热门技巧!短视频涨粉+运营攻略!
  16. 项目无法启动,Disconnected from the target VM
  17. CCAI 2017 | 中国工程院院士李德毅:L3的挑战与量产
  18. 计算机桌面怎么设置时钟,怎么用DesktopDigitalClock设置电脑桌面时钟
  19. Android 开发多摄像头 API
  20. mysql版本升级手册

热门文章

  1. Wi-Fi 7全新升级,小米蓄势待发!
  2. android手机连接hdmi,手机hdmi转接线的介绍以及连接方法
  3. SpringBoot集成微信支付微信退款
  4. LuceneSolrElasticSearch-面试题
  5. C# Excel 为图表添加模拟运算表
  6. 网络攻防|CVE-2021-42287、CVE-2021-42278域内提权
  7. 友盟社会化分享+第三方登录 2022.03.28 最新版
  8. Dialect needs to be explicitly supplied as of v4.0.0解决方案
  9. 重要:欢迎光临新版微软中文CRM论坛!
  10. mysql导入数据出现--unknown command '\'