我想将编号的对象输入到数组中。每个对象的元素必须根据其在阵列上的位置进行编号。我无法弄清楚为什么字符串索引在循环继续时转换时保留了以前的值。例如, 。第一个地方是0,随着循环的进行,变成01,012,0123等等。 这里的那部分代码我有从int到字符串的转换
stringstream convert;
int N;
int k;
srand ((long) 123456);
N=rand()%100+1;
NewTable=new Employee[N];
for(k=0;k<N;k++){
string name,surname,number="";
convert<<k;
number=convert.str();
cout<<number;
name="John_"+number;
surname="John_"+number;
NewTable[k].SetEmployee(name,surname,13*k,3*k);*/
问题}
我还认为,通过在循环的开始重新初始化数字的字符串时,它会解决这个问题,但它没“T。
这是不是100%当然;比流中的状态更多。最好的解决方案是每次在循环中创建一个新的'std :: ostringstream'。 – 2014-10-17 09:17:43
我决定在每个循环中创建一个新的std :: ostringstream。谢谢你的答案 – 2014-10-17 09:27:51