1. 前言
工程设计中需要用到文件读写的功能,往往需要将保存在文本中的数据读取出来。由于数据的数量不确定,vector 很好的解决了这样的问题。
本博文案例仅供参考。
2. 用法
结构体不同于普通变量,因而不能像int型 可以直接 push_back(), 结构体需要一个中间变量,需要先给这个变量赋值,再push_back()中间变量。
-
用法:
1 存放结构体变量本身;
2 存放结构体变量的指针; -
案例:该方法将结构体变量的副本放在vector中,结构体变量放在内存栈中。
定义一个结构体
struct Goal{
double x;
double y;
double z;
};
定义一个结构体变量的vector容器
std::vector<Goal> vec;
Goal goal;
使用:
『
ifstream fin("/path.path");
while (fin) {
fin>>goal.x;
fin>>goal.y;
fin>>goal.z;
vec.push_back(goal);
}
/* 遍历 */
for (int i=0; i<vec.size(); i++) {
std::cout<< vec[i].x<<" "<<vec[i].y<<" "<<vec[i].z<<std::endl;
}
』
一个新的遍历方法:
for(std::vector<Goal>::iterator it=vec.begin(); it!=vec.end(); it++)
{
std::cout<<(*it).x<<" "<<(*it).y<<" "<<(*it).z<<std::endl;
}