摘要: 函数指针指向的是函数而非对象,和其他指针一样,函数指针指向某种特定类型,函数的类型由它的返回类型和形参类型共同决定,与函数名无关。 记个概念,暂时没用到,用到再细细地学一下【逃】 重载函数的指针 编译器通过指针类型决定选用哪个函数,指针类型必须与重载函数的某一个精确匹配。 函数指针形参 形参可以是指 阅读全文
posted @ 2019-03-25 17:44 Stephen_A 阅读(1892) 评论(0) 推荐(0) 编辑
摘要: 内联函数可避免函数调用的开销 调用函数:将函数在美国调用点上“内联地”展开。(在函数前加个inline就可以了) 内联说明只是向编译器发出一个请求,编译器可以忽略这个请求。 说明:内联机制用于优化规模较小,流程直接,频繁调用的函数,很多编译器都不支持内联 递归函数。 constexpr 函数 con 阅读全文
posted @ 2019-03-25 16:16 Stephen_A 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 同一作用域内,函数名字相同但形参列表不同,就称之为重载函数。 notes: main函数不能重载 定义重载函数 对于重载函数来说,它们应该在形参数量或形参类型上有所不同。 判断两个形参的类型是否相异 【形参数量、类型相同,只是名字不同也算是相同的】 重载和const形参 一个拥有顶层const的形参 阅读全文
posted @ 2019-03-25 16:07 Stephen_A 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 在函数中值是如何被返回的 返回一个值的方式和初始化一个变量或者形参的方式完全一样:返回的值用于初始化调用点的一个临时量,该临时量就是函数调用的结果。 主函数mian的返回值 我们允许main函数没有return语句直接结束,如果控制到达了main函数的结尾处而且没有return语句,编译器将隐式的插 阅读全文
posted @ 2019-03-22 19:40 Stephen_A 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 基础概念: 组合运算符和运算对象(优先级与结合律) 运算对象转换(类型转换) 运算符重载(<< >>之类) 左值和右值 算术运算符 一元负号对布尔值的运算不起作用 提示:注意溢出和其它算术运算异常 逻辑和关系运算符 逻辑与和逻辑或运算符 逻辑非运算符 关系运算符 赋值运算符 赋值运算满足右结合律 赋 阅读全文
posted @ 2019-03-21 17:19 Stephen_A 阅读(4592) 评论(0) 推荐(0) 编辑
摘要: 严格的说,C++中没有多维数组,通常说的多维数组其实是数组的数组。 当一个数组的元素仍然是数组时,通常用两个维度来定义它,一个维度表示数组本身的大小,另一个维度表示其元素(也是数组的大小);4 int ia[3][4] ; //大小为3的数组,每个元素是含有四个整数的数组。 多维数组的初始化: 使用 阅读全文
posted @ 2019-03-21 15:59 Stephen_A 阅读(1669) 评论(0) 推荐(0) 编辑
摘要: C标准string函数 比较字符串 比较两个C风格字符串的方法和之前学过的比较标准库string对象的方法大相径庭。 标准库的比较是字典序比较 C风格字符串是比较两个指针而非字符串本身。 目标字符串的大小由调用者指定 与旧代码的接口 混用string对象和c风格字符串 任何出现字符串字面值的地方都可 阅读全文
posted @ 2019-03-21 15:28 Stephen_A 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 除了使用下标访问string对象的字符或者vector对象的元素,还可以通过迭代器来实现相同的目的。 使用迭代器 迭代器运算符 将迭代器从一个元素移动到另外一个元素 迭代器使用递增运算符(++)来从一个元素移动到下一个元素。 注意:因为end返回的迭代器并不实际只是某个元素,所以不能对其进行递增或解 阅读全文
posted @ 2019-03-20 22:12 Stephen_A 阅读(1597) 评论(0) 推荐(0) 编辑
摘要: 标准库类型vector表示对象的集合,其中所有对象的类型都相同。vector也叫容器。 与string类似,要使用vector,必须包含头文件 #include <vector> vector是一个类模板,编译器根据模板创建类或函数的过程称为实例化,使用模板时需要指出编译器应把类或函数实例化成何种类 阅读全文
posted @ 2019-03-20 21:44 Stephen_A 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 定义和初始化string对象 初始化string对象方式 string s1 默认初始化,s1是一个空串 string s2(s1) s2是s1的副本 string s2 = s1 等价于s2(s1), s2是s1的副本 string s3("value") s3是字面值"value"的副本,除了字 阅读全文
posted @ 2019-03-20 20:37 Stephen_A 阅读(265) 评论(0) 推荐(0) 编辑