C++学习(三)

来源:互联网 发布:arm是单片机吗 编辑:程序博客网 时间:2024/06/06 05:33

1.C++中对文件的存取与Java,C有异曲同工之处,C++采用数据流对象来存取文件,因此首先要搞清楚输入数据流(从文件---->程序),输出数据流(从程序---->文件)的方向

PS:指向同一个文件时,特别要注意何时打开,何时关闭,否则出现错误,如:

ifstream FileInPut.open(文件名,模式指示参数.......)     //新版本的C++中不支持ios::noreplace/ios::nocreate,因此这一部分通常会省略不写

在打开之前该文件要存在,且文件中的数据若做了修改,则该文件会被覆盖,不用之后最好记得关闭。。。。。

2.ifstream/ofstream 对象与cin/cout存取方式一样,都是调用get()/getline(),因此ifstream/ofstream对象获取的通常是单个字符,也正因为如此它可以利用循环来获取多个文字,判断条件一般为“FileInput.peek()!=EOF”,此外,C++的文件存取会自动以空白格和换行作为判断数据单元的标准

3.在C++中一个项目只能有一个main.cpp(类似于Java)文件,可以在main.cpp开始处用#include "***.h"把要用到的其他的cpp程序的头文件包含进来,然后在main.cpp中声明其他cpp程序中定义的类的对象

此外,每一个程序都可以写出其头文件,在头文件中声明其预处理命令,函数,然后在cpp程序中直接引入头文件即可

4.C++中有关输出格式的设置一般封装在#include<iomanip>中,用的最多的就是setw()(设置宽度),setprecision()(设置精确度),还有left/right(设置对齐格式)

    文件的输出格式设置和cout一样,以cout为例

cout<<setw(...)<<setprecision(.....)<<left/right<<x

    先设置好输出格式,最后输出x

    #include<iomanip>中还有一个函数exit(1),退出程序

5.#include<ctime>中有个clock()函数用来获取当前时钟数,Clock_t用来存取时针数值,完整的计时程序为:

        Clock_tStart,Finish;

Start=clock();Finish=clock();

doublet=double(Finish-Start)/CLOCKS_PER_SEC;

6.struct,union,enum三种自定义的数据类型在C中也出现过,在C++中它们的概念是一样的,做个简单的概述

unoin:联合体,union声明的变量一次只能用其中一个成员,感觉很少会用它;

enum:枚举,顾名思义,将该数据类型的取值(在计算中进行存储的时候默认从0开始,当然也可以自定义),全部列出,其声明的变量的取值只能为其中之一;

struct:结构体,用的最多,将一个对象的各种属性放在一起,有点类似于Java中的类的概念,C++中struct比C中的struct多了一个自我引用的思想,自我引用可以用作列表,栈等的表示

struct  a

{

a   *b;

};

7.命名空间在大规模的程序编写过程中有很大作用,能帮助解决同名的问题,但也带来了很大的困扰,有的C++软件如Qt  Creartor可以自动检查同名情况,若出现同名则会报错,因此不会有函数同名等类似问题了,一般出现multiple definition的错误提示时就要考虑程序中是否出现同名的情况了

0 0
原创粉丝点击