没有合适的资源?快使用搜索试试~ 我知道了~
danei c++ 学习笔记
需积分: 0 1 下载量 99 浏览量
2018-03-29
22:03:30
上传
评论
收藏 493KB DOCX 举报
温馨提示
试读
64页
danei 2016 c++ 课程中的笔记,存在部分编码错误,可以下载自己修改一下
资源推荐
资源详情
资源评论
day01
标准 头文件,不再以结尾
可以使用 的头文件
标准 头文件 建议去尾加头的方式使用
非标准 头文件
原样导入
源文件
建议使用 结尾,可以是
输入输出
使用
自动处理格式
编译器
建议使用
使用标准的命名空间
命名空间就是把一组逻辑上相关的数据组织到一起的逻辑名。便于模块化,防止命名冲突
空间名
;
如何使用命名空间
在数据前 加命名空间名::即可
#include<iostream>
using namespace std;
namespace IBM{
int age = 50;
void show(){
cout << "ibm age is " << age << endl;
}
}
namespace think{
int age;
void show();
}
namespace think{
void show(){
cout << "think age is " << age << endl;
}
}
int main(){
IBM::show();//修改 IBM 中的 age 加 1 再调用
IBM::age++;
IBM::show();
think::age=12;
think::show();
}
空间名!!数据名;
使用 指令
空间名;
无命名空间
如果一个数据没有定义在任何命名空间,则这个数据属于无命名空间。
""防止跨文件访问
#$%&
::数据
命名空间嵌套
#include<iostream>
using namespace std;
namespace ns1{
int a = 1;
namespace ns2{
int a = 2;
void show(){
cout << a << endl;
}
namespace ns3{
void show(){
cout << "this is ns3" << endl;
}
}
}
}
namespace ns4=ns1::ns2::ns3;
int main(){
ns1::ns2::show();
ns4::show();
}
结构体
结构体的定义和 语言 中完全相同
中使用结构体作为类型时 可以省略关键字
中的结构体是可以定义函数的
#include<iostream>
#include<cstdio>
using namespace std;
//定义一个结构体表达日期
struct Data{
//成员变量
int year;
int month;
int day;
//成员函数
void show(){
printf("%4d-%02d-%02d\n",year,month,day);
}
};
//设计一个函数可以表现一个日期变量的数据
// void showData(Data data){
// printf("%04d-%02d-%02d\n",data.year,data.month,data.day);
// }
int main(){
Data data{2017,1,20};
data.year = 2020;
//showData(data);
data.show();//调用成员函数
}
联合体
让多个变量共享一块内存,联合体的定义和 语言中完全相同
中表达联合类型时,可以省略关键字
中支持匿名联合
#include<iostream>
using namespace std;
int main(){
union {
char data[4];
int x;
};
// '0' 48
x = 0x31323334;//可以测试是大端还是小端
for(int i=0;i<4;i++){
cout << data[i] << " ";
}
cout << endl;
}
枚举类型
表达枚举类型时 可以省略关键字
可以把枚举赋值给整数
中不允许将整数赋值给枚举变量,这里体现了 对类型检查的严格
#include<iostream>
using namespace std;
enum Direction{
D_UP,D_DOWN,D_LEFT,D_RIGHT
};
int main(){
Direction dir = D_UP;
// dir = 2;//失败,不能把整数复制过来
dir = D_LEFT;//可以
int x = dir;
cout << x << endl;
}
中的 ' 类型
取值有 和
中需要导入头文件 '
定义一个变量 除下面四个值之外,结果都是真
( )*(+ ,-..
中的符号替换
//
00
中的函数
中 函数的参数列表严格匹配 无参代表没有任何参数 依然可用
中不再支持函数的隐式声明 调用函数必须前置声明或者定义。
函数的返回类型不能省略 函数除外
中的函数重载
在同一作用域中 函数名相同 参数列表不同的函数 构成重载关系
参数列表不同:参数的个数 类型 顺序
函数重载原理:
编译器生成函数调用时,只考虑函数名
编译生成调用函数时 不但考虑函数名 而且考虑参数列表
day02
一、内联函数
$$可以把函数的二进制代码,直接复制到调用位置,这样减少了开栈和清栈的开销。
$%如何实现
1234567889!8
::7;
:;9:!;
$&小函数 频繁调用 适合内联 (<( 行以内)
大函数 稀少调用 不适合内联
递归函数 不能内联
只是一个请求,请求成功就按照内联方式调用,请求不成功就按照普通函数
调用。
二、参数哑元
%$如果一个参数只有类型,没有参数名 则叫哑元。
%%作用
让参数列表 匹配更加严格
保持函数的向前兼容
=;
=;
区分函数
前
后
三、函数参数的默认值
剩余63页未读,继续阅读
资源评论
second_ming
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python实现的基于PyQt5和爬虫的小说阅读系统.zip
- 机械设计整经机上纱自动化sw20非常好的设计图纸100%好用.zip
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功