自己学习c++笔记

                           c++学习笔记

1.全局变量在程序运行完成才会被释放,局部变量在所在函数结束时释放
2.在取模运算中,两个数不能为小数;
3.前置运算(++a)计算值+1,a+1;a++计算值不变,a+1;
4.三目运算符t=(a>b?a:b)真前假后,在c++中返回值为变量可以继续赋值(a>b?a:b)=100;
5.Switch与if的区别:前者效率高,但判断时候只能是整型,枚举和字符型,不能是变量;
6.c++中存在字符串数组string 数组名[个数]={“”,””…};
7.指针指向数据地址*p占4个字节,所以我们使用地址传递可以减少空间的使用;
8.const int p=&a 是一个常量指针,可以修改指向但不能修改指向地址储存的值;
9.int * const p=&a 是一个指针常量(还是一个指针
p),不能修改指向但能修改指向的值;
10.const int * const p =&a 什么都不可以改;(这3个可以结合vs一个cpp文件来理解)
11.结构体可以嵌套结构体,可以定义结构体指针来操作结构体内容
12.结构体指针student *p=& s; p->age这里的引用符号改成了->
13. Arr[i].t=”Teacher_” Arr[i].t += “x” 即在第一次赋值后追加x
14.c++程序执行时内存被划分为4个区域
1.代码区:存放函数体二进制代码,由操作系统管理
2.全局区:存放全局变量静态变量和常量
3.栈区:由编译器自动分配释放,存放函数参数值,局部变量(地址不要返回)等
4.堆区:由程序员分配释放,如果程序员不释放测程序结束时操作系统回收
15.new数据类型 函数返回的时一个指针delete来释放地址,数组释放格式delete[] p3;
16.引用
1.引用就是给变量起别名且必须初始化且不可改变 符号为& int &p=a a为原名;
2.引用做函数参数传递会修改实参类似于地址传递
3.引用做函数返回值,但不要返回局部变量(栈区)引用
4.函数调用可以为左值(那么必须返回引用) test02()=1000相当于函数内的引用赋值
5.本质为指针常量
17.常量引用const int &p =10==int a=10等同于const int &p=a; p不可修改可以防止误操作
18.函数可以有默认参数,int fun(int a=10,int b=10,int c)错误有默认参数之后的参数必须赋值
19.函数声明如果有了参数,那么函数实现就不能有默认参数
20.函数占位参数void func(int a,int)后面的数据类型就是占位参数,引用函数时必须要两个实参
21.占位参数还可以有默认值void func(int a,int =10)这样就不用输入这个实参
22.函数重载
23. 1.函数重载可以使用同名函数
满足条件
1.同一个作用域下
2.函数名相同
3.函数参数类型不同,或个数不同,或者顺序不同
注意
1.函数返回值不能成为重载条件
2.引用成为重载条件要加const可以赋值来区分const int &a=10 加了const编 译器给我们 创建一个临时空间,所以合法传10只会调用有const的函数
3.函数重载碰到默认参数会出现二义性 要尽量避免
24.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值