C++编程思想学习-对象的创建与使用

来源:互联网 发布:java代码阅读 pdf 编辑:程序博客网 时间:2024/06/06 11:36

1、分段编译、连接

      通过变量命名空间,将一个大的程序构造为许多小的程序。而这些小的程序可以单独编译,单独调试。

      函数、变量的定义需要编译器在他们的定义的点分配空间。而声明则不是。

函数的声明为,告诉编译器函数的特征,从而编译器能够使用这些特征信息进行安全性的检查。

      变量的声明同样如此,使用关键词:extern

      包含头文件则:如果为什么声明头文件中所包含的库函数,只需要包含库文件所在的库即可。当库函数在程序员自己定义的文件中时,一般用””来包含。在C++中一般使用没有扩展名的并在文件前面带字符C的头文件。如:C#include<stdio.h>C++#include<cstdio>。而且在C++中的库函数都是经过了模块化的处理。所以,最好使用C++中的。

         所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、 Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
   预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
   编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
   因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"(最后四段为引用CSDN博客)。

2、名字空间

       C++中用namespace即命名空间来隔离各个变量的、函数名字的空间范围。但只包括头文件,编译器是无法找到库提供的函数的,因为,这些库函数、变量的声明都是在命名空间中的。如果未指定命名空间,即没有声明。所以,需要用“using namespace 命名空间名”来指定所使用哪一个命名空间。而C++将所有的标准库都封装在std命名空间中了。在C中包含库文件用.h的形式,C++提供对向下的兼容,所以,可以不用命名空间,而在使用标准化的C++类库时,必须要指定所使用的命名空间。

3、字符串操作

       C++中提供了string类。使用该类可以通过“=”来方便的进行字符串之间的赋值,拖过“+”来组合字符串。同时在定义string类的对象时直接用 string str(“初值”);的方式赋初值。Cout类也对字符串的“+”操作符进行了重载,即实现了string类的接口。

4、文件的读写

       C++中的头文件<fstream>头文件提供iofstream流类来对对文件的读写,而次头文件也自动包含了iostream。读为创建一个ifstream的对象,写为ofstream的对象。读写为iofstream类的对象。Iostream类库默认的提供了函数getline用以从指定的流中读取一行的内容,放至指定的字符串变量中。同时文件流的读写对“<<”和“>>”也实现了运算符的重载。

5vector

       Vector是通过模板实现的。所以,使用vector<类名>来声明一个只能用来装载本类的对象的一个容器。Vector使程序可以动态的方便的将类的新元素放入容器中,而不必事先考虑需要多少新元素,即需要多少存储空间。其中push_back用于向容器尾添加一个新元素。而,Push_front用于向容器中头部的添加一新元素。用数组下标的方式即可以读取容器中指定位置的元素。可以理解为通用灵活的一个暂存器。也可以对已经存在于容器中的某个元素通过已经实现的“=”运算符重载来进行重新赋值。

          以上内容为个人学习C++编程思想一书时的理解,难免描述有不准确之处、同时可能也有错误之处,敬请之处。谢谢了!

原创粉丝点击