侯捷C++->构造函数
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++->构造函数相关推荐
- 侯捷-C++面向对象高级开发(头文件与类的声明,构造函数,参数传递与返回值)
侯捷-C++面向对象高级开发 1.头文件与类的声明 Object Based:面对的是单一的class的设计 Object Oriented:面对的是多重classes的设计,classes和clas ...
- C++11新特性选讲 语言部分 侯捷
C++11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分.只谈新特性,并且是选讲. 本文为语言部分笔记. 语言 Variadic Templates move semanti ...
- 一、C++面向对象高级编程(上) (侯捷)
侯捷 C++八部曲笔记汇总 - - - 持续更新 ! ! ! 一.C++ 面向对象高级开发 1.C++面向对象高级编程(上) 2.C++面向对象高级编程(下) 二.STL 标准库和泛型编程 1.分配器 ...
- 侯捷-C++面向对象高级开发(操作符重载与临时对象)
侯捷-C++面向对象高级开发(操作符重载与临时对象) 1.操作符重载与临时对象 任何成员函数有一个隐藏的this pointer指向,指向调用者. 传递者无需知道接收者是以什么形式接收 就比如下面方框 ...
- 侯捷C++学习记录-面向对象高级编程上
目标: 培养正规的.大气的编程习惯 以良好的方式编写C++ class [Object Based(基于对象)] 学习Classes 之间的关系 [Object Oriented(面向对象)] 继承( ...
- 【C++面向对象程序设计——侯捷大师】心得摘要
侯捷大师讲的真好,很多模糊的知识点,都得到了解决.感觉像是相见恨晚!非常感谢侯捷老师的启迪!谢谢啦!非常推荐萌新去学习学习! 下面是侯捷大师的<面向对象程序设计>课程的一些我觉得重要的摘要 ...
- 侯捷C++八部曲笔记(四、C++2.0新特性)
侯捷C++八部曲笔记(四.C++2.0新特性) 关键字 noexcept override final decltype =default, =delete nullptr auto explicit ...
- 侯捷C++->参数传递与返回值
1.常量成员函数 class complex //声明 class complex { public:double real() const {return re};//函数不改变数据内容 { //使 ...
- 侯捷老师整理||IT专业术语中英对照表
侯捷老师整理||IT专业术语中英对照表 百度文库的原文,侯捷老师整理的中英单词,真的对我们学习很有帮助 由于老师的网站已经失效了,所以就是从网上搜索来的,没有注明转载. 一群性质相近同的「东西」,如果 ...
- 【C++】侯捷C++面向对象高级编程(下)
转换函数(conversion function) 可以把"这种"东西,转化为"别种"东西. 即Fraction --> double class Fra ...
最新文章
- hihoCoder 1051 补提交卡(贪心,枚举)
- UA OPTI501 电磁波 求解麦克斯韦方程组的Fourier方法3 Coulomb Gauge下讨论Maxwell方程
- Flutter是什么
- padding和卷积的区别_池化、池化与卷积异同、zero-padding
- 解读Dataphin流批一体的实时研发
- bootstrap-媒体对象-对齐
- URI和URL的区别(12万访问量)
- python——pandas数据分析(表格处理)工具实现Apriori算法
- MQTT(1)---物联网核心之MQTT(一)
- Java程序员从笨鸟到菜鸟之(五十八)细谈Hibernate(九)hibernate一对一关系映射...
- C++中的floor()函数
- 全球DDOS安全防护
- 计算机实验excel总结,EXCEL实验报告
- excel宏计算机,Excel怎么设置宏 Excel宏设置图文教程-电脑教程
- 分享抖音上热门技巧!短视频涨粉+运营攻略!
- 项目无法启动,Disconnected from the target VM
- CCAI 2017 | 中国工程院院士李德毅:L3的挑战与量产
- 计算机桌面怎么设置时钟,怎么用DesktopDigitalClock设置电脑桌面时钟
- Android 开发多摄像头 API
- mysql版本升级手册
热门文章
- Wi-Fi 7全新升级,小米蓄势待发!
- android手机连接hdmi,手机hdmi转接线的介绍以及连接方法
- SpringBoot集成微信支付微信退款
- LuceneSolrElasticSearch-面试题
- C# Excel 为图表添加模拟运算表
- 网络攻防|CVE-2021-42287、CVE-2021-42278域内提权
- 友盟社会化分享+第三方登录 2022.03.28 最新版
- Dialect needs to be explicitly supplied as of v4.0.0解决方案
- 重要:欢迎光临新版微软中文CRM论坛!
- mysql导入数据出现--unknown command '\'