随笔分类 -  C++ primer plus 学习记录

一边学习一边总结的 C++ 知识点。
摘要:作用域解析运算符:" :: " 放在变量名前表示使用全局版本 阅读全文
posted @ 2020-05-10 22:21 孱陵 阅读(392) 评论(0) 推荐(0)
摘要:变量只能有一次定义:定义声明(定义)、引用声明(声明) 引用声明: 关键字 extern 不初始化(否则变为定义,分配内存) 注意: 一个文件定义后,其他文件中使用须用 extern 阅读全文
posted @ 2020-05-10 22:15 孱陵 阅读(565) 评论(0) 推荐(0)
摘要:链接性:外部、内部、无 存储:固定的内存块(即整个程序执行期间存在) 创建: 外部链接性:代码块的外部声明 内部链接性:代码块的外部且用 static 声明 无链接性:代码块内且用 static 声明 初始化: 静态初始化: (默认)零初始化:未被初始化的静态变量的所有位都被设置为 0 常量表达式初 阅读全文
posted @ 2020-05-10 17:11 孱陵 阅读(243) 评论(0) 推荐(0)
摘要:存储持续性:自动 作用域:局部(起点:声明位置) 链接性:无 分配内存:执行到代码块时 存储方式:栈(LIFO 后进先出) 注意: 执行内部代码块时,新定义隐藏以前的定义,旧定义暂时不可见,离开代码块后重见 阅读全文
posted @ 2020-05-10 15:41 孱陵 阅读(523) 评论(0) 推荐(0)
摘要:作用域:名称在翻译单元(包括文件)的可见范围 局部: 只在定义它的代码块中可用,如自动变量 全局(文件作用域): 从定义位置到文件结尾都可用 注意: 静态变量的作用域取决于如何被定义 函数的作用域不能是局部 阅读全文
posted @ 2020-05-10 14:14 孱陵 阅读(361) 评论(0) 推荐(0)
摘要:自动存储持续性: 在函数或代码块中声明的变量(包括函数参数)的存储持续性为自动。执行函数或代码块时自动创建,结束时释放。 静态存储持续性: 函数定义外定义的变量及使用 static 定义的变量存储持续性为静态。其在整个程序运行过程中存在。 动态存储持续性: new delete 声明及释放的内存,这 阅读全文
posted @ 2020-05-10 11:51 孱陵 阅读(373) 评论(0) 推荐(0)
摘要:用法: 可以单独编译一个文件,使它与其它文件的编译版本链接。(使大程序的管理更便捷) 程序分段: 头文件:包含结构声明和使用这些结构的函数的原型 不要放函数定义和变量申明,避免两个文件都调用时此文件时编译器报错重复声明或定义。 可放类型: 函数原型 使用 #define 或 const 定义的符号常 阅读全文
posted @ 2020-05-10 09:07 孱陵 阅读(676) 评论(0) 推荐(0)
摘要:C++ 函数模板 定义:通用的函数描述,使用泛型来定义函数,其中的泛型可用具体的类型(如 int、double )替换。通过将类型作为参数传递给模板,可使编译器生成该类型的函数。 建立模板: 1 template <typename AnyType> 2 void Swap(AnyType & a, 阅读全文
posted @ 2020-04-24 10:15 孱陵 阅读(306) 评论(0) 推荐(0)
摘要:C++ 函数重载 什么是函数重载: 可以有多个同名的函数。 可以通过函数重载来设计一系列函数——他们完成相同的工作,但使用不同的参数列表。 函数特征标: 函数重载的关键是函数的参数列表——也称为函数特征标。 如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则它们的特征标相同,反之不同。 阅读全文
posted @ 2020-04-21 22:36 孱陵 阅读(433) 评论(0) 推荐(0)
摘要:C++ 默认参数 默认参数是指当函数调用中省略了实参时自动使用的一个值。 对于带参数列表的函数,必须从右向左添加默认值。 实参按从左到右的顺序一次被赋给相应的形参,而不能跳过任何参数。 注意:只有原型指定了默认值,函数定义与没有默认参数时完全相同。 阅读全文
posted @ 2020-04-21 21:30 孱陵 阅读(548) 评论(0) 推荐(0)
摘要:C++ 引用 定义: 已定义的变量的别名。 使用方法: 声明引用时必须将其初始化: 1 int rats=101; 2 int & rodents=rats; 注意:引用一旦被创建不能更改其与某个变量之间的关系,即引用不能再代表其他变量。 用作函数参数 引用仅仅是别名,使用引用的方法完全与原数据类型 阅读全文
posted @ 2020-04-21 18:49 孱陵 阅读(316) 评论(0) 推荐(0)
摘要:C++ 内联函数 功能: 牺牲一定的内存空间使得相应函数调用变成相应函数代码替换以达到节约时间的目的 使用方法: 在函数声明前加上关键字 inline 在函数定义前加上关键字 inline 通常做法:省略原型,将整个定义放在本应提供原型的地方 inline funcType funcName(... 阅读全文
posted @ 2020-04-21 09:40 孱陵 阅读(326) 评论(0) 推荐(1)
摘要:文件输入输出 文件写入: 准备: 包含 fstream 。 fstream 定义了 ofstream 类。 指明 std 。 ofstream 对象使用 open() 、 close() 。 注意: 写入各种数据:ofsteam对象 << #include<fstream> using namesp 阅读全文
posted @ 2020-03-27 08:25 孱陵 阅读(1142) 评论(0) 推荐(0)
摘要:字符集 通用字符名 以 \u 或 \U 打头 \u 后4 个十六进制位,\U 后8 个十六进制位。 这些位表示的是字符的 ISO 10646 码点。 在源代码中,可使用适用于所有系统的通用编码名,而编译器将根据当前系统使用合适的内部编码来表示它。 宽字符(wchar_t) 整数类型。 可以表示系统使 阅读全文
posted @ 2020-03-26 23:33 孱陵 阅读(535) 评论(0) 推荐(0)
摘要:初始化 变量: c:int cwls = 10; c++: int wrens(432); c++11: int emus{7}; int rheas={12}; 括号中不包含任何东西,变量初始化为 0 ; 适用于任何类型,等号可有可无; 结构体: C: inflatable guest= { "G 阅读全文
posted @ 2020-03-26 23:32 孱陵 阅读(454) 评论(0) 推荐(0)
摘要:枚举 enum:创建符号常量的方式 enum spectrum { red, orange, yellow, green, blue, violet, indigo, ultraviolet }; spectrum 被称为枚举,red 等作为符号常量,这些符号常量叫做枚举量。 默认将整数值赋给枚举量 阅读全文
posted @ 2020-03-26 23:31 孱陵 阅读(542) 评论(0) 推荐(0)
摘要:字符串输入 面向单词 cin : 输入出错时须使用cin.clear()取消异常状态才能继续读入缓冲区的内容,且不论正常与否始终不丢弃缓冲区中已输入的字符(包括换行符) 使用空白(空格、制表符和换行符)来确定字符串的结束位置。 自动添加空字符。 面向行 cin.getline(m,n) m 存储输入 阅读全文
posted @ 2020-03-26 23:28 孱陵 阅读(654) 评论(0) 推荐(0)