C++学习笔记之零碎知识点(二)

1. C++文件和流

C++读取文件需要添加头文件:#include<fstream>

需要使用标准库fstream,它定义了三个新的数据类型:

a.ofstream:输出文件流,用于创建文件冰箱文件写入信息

b.ifstream:输入文件流:用于从文件读取信息

c.fstream:兼有以上两种类型的功能

1.1 文件的打开:open()

1.2 文件的关闭:close()

1.3 写文件:使用流插入符<<向文件写入信息

1.4 读文件:使用流提取运算符>>从文件读取信息,getLine()函数从外部读取一行

1.5 文件指针位置:seekp,seekg函数


2.C++异常处理

需要添加头文件:#include<exception>

try:try块中包含可能抛出异常的代码

catch:用于捕获异常

throw:抛出异常


3. C++内存的动态分配

C++程序中的内存分为两个部分:

栈:在函数内部声明的所有变量都将占用栈内存

堆:程序中未使用的内存,在程序运行时可用于动态分配内存

new运算符:为给定类型的变量在运行时分配堆内的内存,这会返回所分配的空间地址

delete运算符:释放动态分配的内存

对数组空间的释放:delete[] 数组名


4. C++模板

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码,可以使用模板来定义函数和类

模板函数的定义如下:

template<class type>ret_type func_name(paraments list){
	...
	...
}
关键字class也可以替换为关键字typename

type为函数所使用的数据类型的占位符名称,这个名称可以再函数定义中使用


5. C++预处理器

预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理,所有的预处理都是以#开头的。

#define预处理

宏定义,简单的字符替换,可带参数

#define PI 3.1415926
#define min(a,b) a<b?a:b
条件编译

可以在调试时进行编译,调试开关可以用一个宏实现

#ifndef PI
#define PI 3.1415926
#endif






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值