第一章 C++简单程序设计
那么以一段程序开头吧
//first.cpp
#include <iostream>
#include <vector>
//动态数组(malloc, new 在heap上分配空间)
//malloc = m(内存)+ alloc(分配) //m(内存)--heap(堆)__stain(栈)
//vector 包含在<vector>中
using std::vector;
using std::cout; //输出
using std::cin; //输入
using std::endl; //换行
int main()
{
//类 对象
vector<int> vi;
//也可以直接写vector<int> vi(3);
//定义并分配3个空间,就像C中的数组,vi[0],vi[1],vi[2]
int i = 10;
vi.push_back(i); //push_bask()会先分配空间
vi.push_back(100);
vi.resize(3); //表示动态分配3个空间,所以下一条语句成立
vi[2]=76; //如果没有上一条的分配空间,这是不能直接用的
//vi[2]只是个指针而没有空间
for (int k(0); k < vi.size(); k++) {
// k(0) 与 k=0等价; vi.zize()可以得到数组的daxiao
cout << vi[k] << endl;
}
}
这里提一下
类,泛型编程,容器
类包括 结构体类型,结构体变量(在C中都是简单的数据, 在C++中则可以是函数)
容器(container)包括了 Map(集合),Set(映射)
简单的文件操作
- 创建一个相应的文件流对象
- 打开文件,将操作文件绑定到该流上
- 进行文件操作
- 关闭文件
创建与打开文件可以用一条语句实现
ifstream ifs("hi.cpp");
那么写一段程序作为例子
//file.cpp
#include <iostream>
#include <string.h>
#include <fstream> //文件操作需要用到
using namespace std;
int main()
{
ifstream ifs;
ifs.open("file.cpp"); //打开文件,文件的具体位置要自己找,使用相对路径与绝对路径皆可
//ifstream ifs("file.cpp");
string line;
getline(ifs, line); //全局函数,从ifs读1行到line中
cout << line << endl << endl;
//将整个文件都打印到屏幕上
int i(0);
while (getline(ifs, line)) {
cout << ++i << ": " << line << endl;
}
ifs.close(); //关闭文件
}
输入与输出都是对内存而言的,即
将内容读入内存——输入
将内容取出内存——输出
ifstream 与 ofstream 是两个类,分别用于输入和输出
要把内容写到文件中,只要使用以下代码
ofstream ofs("copy.cpp");
int j(0);
while (getline(ifs,line)) {
ofs << ++j << ": " << line << endl;
}
在创建对象时,自动调用构造函数
超过对象的使用域时会调用析构函数,其中包含了文件关闭函数,因此有时候就不用调用close()函数了
既然以一段代码开头了,那么就以代码结尾吧
//file.cpp
#include <iostream>
#include <string.h>
#include <fstream> //文件操作需要用到
using namespace std;
int main()
{
string name("Jiang");
int age(20); //括号也是可以赋值的
ofstream fout("person.ini");
fout << name << " " << age << endl;
fout.close(); //若没有这条语句则一个文件同时有了两个流,会出错
//{fout << name << " " << age << endl;}//也可以用花括号规定fout的作用域
cout << "after some days …" << endl;
ifstream fin("person.ini");
string newname;
int newage;
fin >> newname >> newage;
cout << newname << " " << newage << endl;
}
以上就是第一章的内容了
下一篇博客将会有与第一章内容相契合的三个小程序
第二章我们会讲到常量和引用