- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++期末复习资料
第三章 C++语言基础
1.基本数据类型
变量和常量
声明全局变量:extern 类型 变量名;
指针和引用
3.1指针的特点
指针持有一个对象的地址,称为指针“指向”这个对象
通过指针可以间接操纵它指向的对象
指针解引用(*):通过解引用操作可以间接访问指针指向的对象
指针的典型用法
构建链式的数据结构,如链表和树
管理程序运行时动态分配的对象
作为函数的参数
void*指针
可以持有任何类型的地址值
相关的值是个地址,但是该地址保存的对象类型不知道
不能操纵void指针指向的对象,而只能传送该地址值或者和其他地址值进行比较
C++不允许void指针到其他类型指针的直接赋值
3.2 引用:
引用又称为别名,它可以作为对象的另一个名字,通过引用可以间接地操纵对象
在程序中,引用主要用作函数的参数。
引用的定义和初始化:
引用由类型标识符和一个取地址符()来定义
type refVariable = leftValue;
特点:引用必须被初始化,初始值是一个有内存地址的对象
引用一旦初始化,就不能再指向其他的对象,对引用的所有操作都会被应用在它所指向的对象上
引用的初始化和赋值不同
初始化时引用“指向”一个对象
赋值时,引用被作为所指对象的别名
3.3指针和引用的区别:
定义和初始化:指针保存指定类型的对象的地址,一个指针可以指向同类型的不同对象。引用是一个对象的别名,定义引用时必须用有内存地址的对象初始化,引用在初始化之后,一直指向该对象。
使用方式:指针通过解引用(*)运算间接访问指向的对象。引用作为对象的别名,可以直接访问对象
有空指针没有空引用。
指针之间的赋值会改变指向关系,引用不会改变。
复合数据类型
Union:和struct语法类似,数据成员的存储方式不同
每个成员都从共用体变量的首地址开始存储,所以每次只能使用一个成员
union变量占据的内存空间大小是其最大成员的大小
使用union可以节省空间,但是容易出错
String和vector
String:两个字符串的比较使用关系运算符“==”
获得字符串s长度使用s.size()操作
判断字符串s是否为空可以使用s.empty()操作,结果是bool值
s.at(index)返回位于index的字符的引用
Vector:可以定义任何类型的vector
vector对象可以直接相互赋值,也可以用一个vector对象初始化另一个vector对象
size()操作返回vector中的元素个数,empty()操作,测试vector是否为空。
push_back()操作向vector的末尾插入元素,pop_back()操作删除vector末尾的元素。
front()返回第一个元素的引用,back()返回最后一个元素的引用
vector上的指针——迭代器:vectorint v;
定义格式:
vectorint::iterator it;
*it返回it指向的vector元素的引用
v.begin() 返回v的第一个元素的迭代器
v.end()返回v的最后一个元素的下一个的迭代器
运算符和表达式
new运算符:在堆上动态分配空间,创建对象,并返回对象的地址
Delete运算符:释放new分配的单个对象。delete 指针;释放new分配的数组
delete[] 指针;定位new没有对应的delete表达式
sizeof表达式有以下三种形式sizeof (type name),sizeof (object),sizeof object
7.语句
8.CV限定词:
关键字volatile限定的对象不能被编译器例行优化,当一个对象的值可能在编译器的控 制或检测之外被改变时,可以将对象声明为volatile。例如被系统时钟更新的对象,volatile 一般用在多线程或中断处理的程序设计中。const和volatile的使用语法相同。
Const:const可以限定数据对象,指针,引用,函数的参数,函数的返回值,类的成员
限定数据对象:将一个对象限定为常量。常量的值不能修改,必须在定义时初始化。
限定指针:指向非const对象的const指针,指针中的值不能改变,但它指向单元的值可以改变。定义语法:type* const pointer = initialValue;指针常量在定义时必须初始化,之后指针值不能改变。指向const对象的const指针:指针和指向的单元都是常量。定义语法:const type* const pointer = initialValue;type const* const pointer = initialValue;
const限定引用:const引用可以用不可寻址的值初始化。
函数
1.inline函数:在函数定义或声明中的返
您可能关注的文档
- 计科《人群与网络》总复习.pptx
- 分析化学课件-第四章气相色谱.pptx
- 分析化学课件-第2章 吸光光度法.pptx
- 多媒体课件-离散余弦变换.pptx
- 多媒体课件-傅里叶变换.pptx
- 多媒体课件-第五章多媒体数据编码标准.pptx
- 多媒体课件-第四章 多媒体数据编码标准.pptx
- 多媒体课件-第三章 多媒体数据压缩技术.pptx
- 多媒体课件-第二章媒体数字化.pptx
- 多媒体课件-MPEG压缩技术及音频信号的编码和解码.pptx
- 2016-2017学年第一学期本科大学语文考试试题.docx
- 2016-2017学年第二学期本科大学语文考试试题.docx
- 2014-2015学年第一学期本科大学语文考试试题.docx
- 2014-2015学年第二学期软件工程A卷.docx
- 2014-2015学年第二学期本科大学语文考试试题.docx
- 2013-2015IT项目管理考题.docx
- 2013-2014学年第一学期本科大学语文考试试题.docx
- 2013-2014学年第二 学期本科大学语文考试试题.docx
- 2012-2013学年第一学期本科大学语文考试试题B卷.docx
- 2012-2013学年第一学期本科大学语文考试试题B2卷.docx
网络工程师持证人
本人已从事浙江省工程咨询5年,对浙江省内工程信息非常熟悉,可获取新建工程相关联系人、设计院、业主等关键信息。另外从事楼宇自控专业已10年,考取了一建二建等资格证书,有关考试方面的问题(考试心得、方法、学习资料等)都欢饮来咨询交流。
原创力文档


文档评论(0)