课题训练中的C++学习笔记

C++学习笔记

1、

运行前:
代码区:共享,只读;全局区:全局变量、静态变量、常量在全局区,局部变量在局部区。
运行后:
栈区:系统自动分配释放,执行完自动释放,编译器保留一次,类似与map(函数体不要返回局部变量的地址)。
堆区:程序员new分配释放(程序结束后系统强行释放),new返回值为该数据类型的一个指针,delete释放。(数组:int *p=new int[10],delete[ ] p)

2、

引用:给变量起别名,同一个内存,int &b=a;引用必须初始化,且不可更改指向,值可以更改(不要返回局部变量的引用,但可以作为左值)。
注:值传递不改变实参值,地址传递、引用传递会改变。常量引用修饰形参防止误操作。

3、

指针常量:int * const p=&a,p指向不可更改,值可以修改(引用的本质就是指针常量);常量指针:const int *p,指向可变,值不可改变。

4、

二进制读写文件可以实现自定义数据类型的写入。

5、

内联函数作用类似于宏,节省函数调用的开销(以增加代码量为代价,直接替换),函数体多于10行不推荐使用。声明加inline不足以证明为内联函数,定义也要加。

6、

返回值为bool类型的仿函数成为谓词,一个参数为一元谓词,两个参数为二元谓词。

7、

functional 头文件提供了内建仿函数(常用:大于greater,逻辑非logical_not,小于less)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值