首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector 是 引用地址的?解决办法

2012-04-18 
vector 是 引用地址的?vectorchar*vchara[]111\n charb[]222\n intmain(intargc,char*argv[]){

vector 是 引用地址的?
vector   <char*>   v;
char   a[]=   "111\n ";
char   b[]=   "222\n ";

int   main(int   argc,   char*   argv[])   {

v.push_back(a);
v.push_back(b);

memcpy(a,b,strlen(a));
for(i=0;i <v.size();i++){
printf(v.at(i));
}
return   0;
}

经过一个memcpy之后,输出为
222
222

我想要得到的是
111
222
请问有什么办法能解决这个问题?或者有没有类似的类库可以用?

[解决办法]
不要用vector <char*> ,用vector <string> 。
[解决办法]
#include <iostream>
#include <string>
#include <vector>

vector <char*> v;
char a[]= "111\n ";
char b[]= "222\n ";

int main()
{
string a = "111 ";
string b = "222 ";

vector <string> v;

v.push_back(a);
v.push_back(b);

for(int i=0; i <v.size(); i++)
{
cout < < v[i];
}

return 0;
}

热点排行