您的位置:首页 > 其它

STL vector usage tips and problems

2011-01-26 16:30 531 查看
Today I program using STL vector,and find some characteristics of vector.

To initiate a vector by another vector after declaration, there are two ways.

1, vector<int> m;

vector<int> n;

m.assign(n.begin(),n.end());

2, m=vector<int>(n);

Do not push_back pointers to a vector. A pointer can not be pushed into vector properly, although I don't know the reason.

run the following code, and the result verifies the ambiguity caused by pushing-back pointer into vector!

#include <vector>

using namespace std;

struct comp

{

int a;

int*b;

};

void main()

{

int L=5,i;

vector<int> m,n;

vector<comp> dx;

comp xx;

for(i=0;i<5;++i)

{

m.push_back(i+1);

xx.a=i;

//xx.b=&m[i];

dx.push_back(xx);

dx[i].b=&m[i];

}

n=vector<int>(m);

for(i=0;i<L;++i)

printf("%d/t%d/n",m[i],*dx[i].b);

// getchar();

}

These are a few notes through learning and using STL vector in Visual C++ 6.0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: