Credits: BS, OGC A small demostration of the usage of std::vector to create a simple management system to manage 3D vectors. I used this in a game hack for CS Code: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // // UTN FRGP TSP // BS // mail: david_bs@live.com // web: Etalking.Com.Ar // 2012 // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include <windows.h> #include <stdio.h> #include <fstream.h> #include <vector> using namespace std; struct vec { float h; float f; float r; }; #define VEC_INDEX_MAX 32 vector<vec> Vecs[VEC_INDEX_MAX]; #define VECS 6 Functions to add, list and erase, as in every management system Code: void func_vec_add(int index, float x, float y, float z) { vec v; v.h = z; v.f = x; v.r = y; * if(index<=VECS){ Vecs[index].push_back(v); } } void func_vec_clear(int index) { * *if(index == -1){ * * * for(int i=0;i<=VECS;i++) * Vecs[i].clear(); * *} else if(index>=0&&index<=VECS){ * * * * * *Vecs[index].clear(); * *} } void func_vec_list(int index) { cout << "\n"; if(index == -1){ int cantidad=0; for(int i=0;i<=VECS;i++) for(vector<vec>::iterator si = Vecs[i].begin(); si != Vecs[i].end();++si) { cantidad++; printf("Height: %f Forward: %f Right: %f\n",si->h,si->f,si->r); } if(cantidad==0) cout << "There are no elements !" << endl; } else { if(index<=VECS){ * for(vector<vec>::iterator si = Vecs[index].begin(); si != Vecs[index].end();++si) * { printf("Height: %f Forward: %f Right: %f\n",si->h,si->f,si->r); * } } } } Main function, used for testing purposes Code: int main(){ func_vec_add(0, 100, 200, 0.61f); func_vec_add(1, 100, 200, 0.98f); func_vec_add(2, 100, 200, 0.59f); func_vec_add(3, 100, 200, 0.15f); func_vec_add(4, 100, 200, 0.00f); * * * *func_vec_add(5, 100, 500, 1.00f); func_vec_add(6, 100, 900, 2.00f); //func_vec_list(0); func_vec_list(-1); func_vec_clear(-1); func_vec_list(-1); cin.get(); return 0; }