笔记5 《C++大学教程》
来源:互联网 发布:java项目自我评价 编辑:程序博客网 时间:2024/06/06 03:06
第六章 函数和递归入门
实参和函数原型中形参不匹配时,编译器会按照C++升级规则升级; #include <cstdlib>
使用C++标准库函数rand
生成伪随机数,一定范围内的随机数,可按如下公式:
number = shiftingValue + rand() % scalingFactor
枚举类型由关键字enum
开头,后跟一个类型的名字,是一组由标识符表示的整型常量。通常从零开始,除非指定,否则逐次增1;
关键字auto
register
用于声明自动存储类别的变量。
关键字extern
static
用于声明静态存储类别的变量和函数标识符。
把变量放在任何类或函数之外就创建了全局变量,具有文件作用域。
标签是唯一具有函数作用域的标识符
C++可以定义多个具有相同函数名称的函数,只要这些函数具有不同的参数集合,这种特性是函数重载,检测实参个数,类型,顺序来确认函数。
所有函数模版定义都以template
关键字开头,后跟函数的模版参数列表,该列表括在一对尖括号中(< >
),列表中的每个参数(形式类型参数)由关键字typename
或者关键字class
开头,(两者是同义词)
递归函数是直接地或间接的调用自身的函数。
递归有许多不足之处,重复调用必然会带来很多开销,消耗处理器时间,消耗内存空间,每个递归调用都会创建函数的一份副本,也会占用相当的内存。
存储类别说明符有5种 mutalbe
auto
register
static
extern
标识符的六个可能作用域
函数作用域 文件作用域 语句块作用域 函数原型作用域 类作用域 名字空间作用域
const
限定符用于声明只读变量
函数原型的函数名和参数类型部分称为函数签名,不包括函数的返回值类型。
srand
函数可以为rand
函数设置种子
堆栈被称为后进先出的数据结构
无参函数 空的参数列表可以通过在圆括号里面写上void
或什么都不写
内联函数在函数的返回值类型前添加限定符inline
,可以“建议”编译器在适当的地方生成函数代码的副本以避免函数调用。可以减少执行时间,但会增加程序尺寸
两种函数参数传递方式:按值传递,引用传递(引用参数&
、指针)
默认实参 重复调用函数时,对某个特定的形参一直用相同的实参。默认实参必须是函数参数列表中最靠右边的参数。调用有两个或以上默认实参的函数时,如果省略的实参不是最靠右的,则该实参右边所有参数必须被省略。 默认值可以是任何表达式、包括常量全局变量或函数调用。默认实参也能用于内联函数。
一元作用域分辨运算符 ::
以便当作用域中的局部变量和全局变量具有相同名字时访问全局变量,不能使用一元作用域分蝙蝠访问外层语句块中具有相同名字的局部变量
C++ 只指定了四种运算符的求值顺序,分别是
&&
||
,
?:
从左往右
- 笔记5 《C++大学教程》
- C大学教程
- java大学教程第一章笔记
- 笔记1 《C++ 大学教程》
- 笔记2 《C++大学教程》
- 笔记3 《C++大学教程》
- 笔记6 《C++大学教程》
- 笔记7 《C++大学教程》
- 笔记8 《C++大学教程》
- 笔记9 《C++ 大学教程》
- 笔记10 《C++ 大学教程》
- 笔记11 《C++ 大学教程》
- 笔记12 《C++ 大学教程》
- 笔记13 《C++ 大学教程》
- c大学程序教程注意点
- 我的大学--孙鑫MFC笔记教程
- 《大学算法教程Algorithms》笔记--Chapter1--Part1
- 《大学算法教程Algorithms》笔记--Chapter1--Part2
- 100元钱买100只鸡
- data-bind 绑定
- 工作日记2017.07.31
- JAVA学习_day 01
- 2. vue.js-饿了吗全套-学习目标
- 笔记5 《C++大学教程》
- 【栈和队列】基础
- 【二十三】Windows时间同步服务地址
- 六、Activiti5 数据库表简要分析
- Ubuntu下卸载ssh
- poj 2385 背包问题变形
- 多线程——java线程池简介
- 【图】最短路径--迪杰斯特拉(Dijkdtra)算法
- 欢迎使用CSDN-markdown编辑器