- 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++记忆
C和C++的关系 (1 2 3)
1.C++包含整个C C语言是建立C++的基础
2.C++ 是强类型语言 对类型的检查更加严格
3.C++ 扩展 了C 面向对象,运算符重装,支持异常处理 exception,模板和泛型编程
----------------------------------------------
C++中的注释 头文件 cstdio
非标准C的头文件 #include pthread.h 原样导入
如果要包含自定义的头文件 c++和c一样
5.编译连接c++程序上
如果使用gcc 需要加一个连接库
gcc hello.cpp -lstdc++
也可以使用g++编译器
g++ hello.cpp
------------------------------------------------
什么是命名空间?
把一组相关的类型 变量 函数 对象 等按照某种标准组织到一个逻辑结构中,这个逻辑名字即是命名空间。
命名空间的作用就是按照逻辑划分模块,可以避免命名冲突
命名空间的定义是可以分开的
声明和实现要保持一致
使用using 声明 命名空间中数据
using 命名空间名::数据;
特殊的命名空间--无名命名空间
命名空间的嵌套
命名空间的别名
嵌套的命名冲突的规则
当多个命名空间嵌套 内部定义的数据和外部重名时 内部的会覆盖掉外部的定义。如果使用外部的可以直接使用 外部名::数据
-------------------------------------------------
1.c++中的结构
a.c++中结构在定义变量时 struct 不再是类型的一部分 结构体的名字就是类型名 表达类型 不再使用struct
b.c++中结构体中可以直接定义函数 成员函数
c.没有任何字段的结构体 在c++中大小是1,在c中是0。
2.c++中的联合
a.联合的名字就是类型名 表达类型不再使用union
b.c++中允许使用匿名联合
3.c++中的枚举
a.枚举的关键字在定义变量时可以省略
枚举名就是类型名 表达类型 不再使用enum
b.枚举是一种新的类型(C++类型检查更加严格)
-----------------------------------------------------
bool 类型
c++中bool是一个特定的类型
true false
只有取0 \0 false NULL 代表假
-----------------------------------------------------
c++中运算符替换
% {
% }
: [
: ]
%: #
and
|| or
bitand
-------------------------------------------------------
c++中的函数
1.c++函数参数列表严格匹配 无参代表没有任何参数 参数表中的void依然可以使用
2.函数调用前 至少要声明 前置声明
3.函数的返回值类型 int 不能省略 main 函数除外
------------------------------------------------------
函数的重载
a.什么是函数重载?
在同一作用域中函数名相同,参数列表不同的函数构成重载。
参数列表个数 顺序 类型
函数重载的原理:会把函数名和参数列表统一考虑
b.c++中为什么允许函数重载
gcc 编译器在生成代码时,不会给函数换名
g++ 编译器会在生成代码时,把函数名根据函数的名字和参数列表生成新的函数名。
c.函数重载的好处
函数名变的简单,方便调用
d.函数指针调用重载的函数 double (*padd)(double x,int y)
根据函数指针的类型确定调用的函数
e.不想让c++的编译器改变函数的名字 定义的函数名前 + extern C
-------------------------------------------------------
c++函数参数的默认值
当给函数参数指定一个默认的值时,如果参数不传实参值,则实参的值默认是这个指定的值。如果传入实参的值,就会替代默认值。
参数的默认值要靠右,如果一个参数有默认值,则参数右边的所有参数都必须有默认值。
当函数声明和实现分开时,参数的默认值在声明部分指定
-----------------------------------------------------
哑元
在实现函数时,函数的参数只有类型没有形参名
c语言中只能在声明部分,实现中不行 void testg(int)
文档评论(0)