[课程视频]指针、引用、函数参数、内联函数等
今天气温低、风大,我穿一个略正式的T恤衫、一条大短裤和人字拖在办公室里录制最新一期课程视频。反正拍不到下半身,所以下半身衣着随意我面向的录制环境如下图,我背后是一个绿幕。设备由广东省教学改革项目资金提供。
合成的视频如下图
视频网址 https://www.bilibili.com/video/BV1Vf4y1P7pq?p=19 或者长按下方二维码
上周讲了指针,这周讲函数。指针这个知识点是C/C++的关键点及难点。函数这一部分内容,跟指针密切相关。我敢保证,只要你把最近两周的内容掌握好了,在就业市场上,就可以“藐视”大部分号称熟悉C/C++的程序员。
本周新内容有:
函数调用的开销(没免费午餐,代码模块化要付出代价的)
用基本数据类型、指针、结构体等逐一详述函数参数pass by value的真正意思。
由上一条推导出引用(reference)的必要性(指针已经够头大了,再来个引用!但理解了后会觉得太棒了)
内联函数(inline function)跟宏定义优缺点对比。
我自己最为满意的是,我亲手绘制了很多内存数据示意图,带领学生理解代码背后的数据关系,而不是照猫画虎式的编程。如下图就展示了指针、引用、结构体等的关系。C/C++本来就是操纵内存数据的语言(特别是用于计算的时候),理解了数据存储,一切会豁然开朗。
下图表示函数的参数
目前所有的课件、例程及书稿在Github上,跟课堂同步更新,网址:https://github.com/ShiqiYu/CPP 欢迎关注,也欢迎各位教C或C++的同行老师参考,并建议和指正。
教学团队成员:于仕琪、廖琪梅、王大兴。
[课程视频]指针、引用、函数参数、内联函数等相关推荐
- c++入门 有关《c++关键字》 《命名空间》《缺省参数》《函数重载》《引用》《内联函数》《outo关键字》
1.C++关键字(c++98) C++总共63个关键字,c语言一共32个关键字. 下面我列 举出c++的关键字: 2.命名空间 在c/c++中,变量,函数和后面要学到的类都是大量存在的,这些变量,函数 ...
- 拷贝构造,深度拷贝,关于delete和default相关的操作,explicit,类赋初值,构造函数和析构函数,成员函数和内联函数,关于内存存储,默认参数,静态函数和普通函数,const函数,友元
1.拷贝构造 //拷贝构造的规则,有两种方式实现初始化. //1.一个是通过在后面:a(x),b(y)的方式实现初始化. //2.第二种初始化的方式是直接在构造方法里面实现初始化. 案例如下: ...
- 对普通函数、宏函数、内联函数的作用机制的探索
这次我们来分析的是C/C++程序员经常遇到的问题,如何在普通函数.宏函数.内联函数之间做取舍,其实它们三者之间并没有什么绝对的你好我差的说法,只要掌握了三者的作用机制的话,结合实际情况一般都能做出正确 ...
- C++宏函数和内联函数
C++宏函数和内联函数 1. 宏常量&宏函数 1.1 定义 // a. 定义一个宏常量 #define MAX 1024 // 宏常量 MAX称为符号常量// b. 定义一个宏函数 // 宏函 ...
- mysql 内联函数_内联函数 - freeboy小亮 - 博客园
(1)什么是内联函数? 内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内. (2)为什么要引入内联函数? 当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题.另外,前面我们 ...
- 宏定义,宏函数和内联函数
宏定义,宏函数和内联函数 宏是什么: 简单宏替换出现的问题: 带参数的宏定义(宏函数): 宏的优点: 宏的缺陷,内联函数的引入 内联函数(空间换时间) 宏是什么: 宏(#define)命令是C语言中的 ...
- 【C/C++】宏函数与内联函数的区别
[C/C++]宏函数与内联函数的区别 文章目录 [C/C++]宏函数与内联函数的区别 一.概念 二.特性 三.优缺点 3.1 内联函数的优缺点? 3.2 宏的优缺点? 四.笔试题 4.1 为什么要是用 ...
- java内联函数_Java之内联函数_内联函数的优缺点
描述 内联函数 1.内联函数就是指函数在被调用的地方直接展开,编译器在调用时不用像一般函数那样,参数压栈,返回时参数出栈以及资源释放等,这样提高了程序执行速度. 2.Java语言中有一个关键字fina ...
- 【C++之函数】引用符号、内联函数inline、函数重载
文章目录 引用(&)是标识符的别名 内联函数(关键字:inline) 函数重载 引用(&)是标识符的别名 声明一个引用指向一个对象,则只是为对象的别名,其本身同所指对象保持一致. 例如 ...
- Kotlin系列四:标准函数、扩展函数、高阶函数、内联函数
目录 一 标准函数 1.1 作用域函数 1.1.1 let 1.1.2 with 1.1.3 run 1.1.4 apply 1.1.5 also 1.1.6 takeIf 与 takeUnless ...
最新文章
- 消费金融首推即时沟通工具“马上”探索科技金融发展新方向
- 猿创征文|C++软件开发值得推荐的十大高效软件分析工具
- python划分训练集、验证集和测试集
- 计算机网络自顶向下WireShark实验:IP
- android导入html文件怎么打开,Android浏览器如何打开本地html文件
- 基于改进禁忌搜索算法求解TSP问题(Matlab代码实现)
- java中一个简单的涂鸦程序
- 分账的使用场景及解决方案
- webug4.0支付漏洞
- 一家两制抗风雨 有得有失看未来(转)
- TypeError: first argument must be an iterable of pandas objects, you passed an object of type “DataF
- 幼儿园微课怎么制作?怎么给微课配音?
- 人工智能能否代替人类?
- 数据结构(十一) -- C语言版 -- 树 - 二叉树基本概念
- Unity - 搬砖日志 - Android 的 Optimized Frame Pacing - 对应 ProjectSettings 配置字段:androidUseSwappy
- 团队作业第六周--alpha阶段项目复审
- 搭建hexo主题Butterfly部署github+个人服务器
- python使用multiprocess.managers搭建分布式计算模型
- upupw网站平台绿色搭建Edusoho
- php ajax parsererror,mui.ajax报错 error:parsererror