1,vector
//注意容易混淆的问题:各种括号
vector<int> v1(10);//v1有10个int元素,每个都初始化为0
vector<int> v2{10}; //v2有1个元素,值是10
vector<int> v3[10]; //v3是有10个元素的数组,相当于二维数组。
//每个元素都是一个空vector对象
vector<int> v4(10, 1); //v4有10个int元素,每个都初始化为1
vector<int> v5{10, 1}; //v5有2个int元素,值分别是10和1
可以定义结构体向量
struct ScoreItem{
string name;
vector<int> scores;
};
vector<ScoreItem> scoreSheet;
2,文件读写
输入输出重定向
将标准输入和标准输出与命名文件关联起来
c:\> program <inputfile >outputfile
运行名为program.exe的可执行程序,用文件inputfile作为输入,用文件outputfile作为输出
步骤:
1)新建一个文件流对象
读文件用ifstream,写文件用ofstream;
(2)把文件流对象和文件关联起来
打开文件,使用文件流的open函数;
可以指定打开文件的模式
(3)操作文件流
使用与终端I/O相同的操作读写文件
(4)关闭文件流
使用文件流的close函数
#include <fstream> //文件流标准库头文件
using namespace std;
int main(){
ifstream in("numbers.txt");//用来输入(读文件)的文件流
int number, sum = 0;
in >> number;
while(number != 0){
sum += number;
in >> number;
}
in.close();
ofstream out; //用来输出(写文件)的文件流
out.open("output.txt");
out << "sum is: " << sum << endl;
out.close();