vector<string> vecStr;
vecStr.push_back("1");
vecStr.push_back("2");
vecStr.push_back("3");
vecStr.push_back("4");
vecStr.push_back("5");现在我想把第3个元素修改成"6",应该怎样做?

解决方案 »

  1.   

    是栈的话只能通过push,pop进行修改,否则就没意义了,另外如果强行修改的话可能破坏整个栈.
    所以可行的方法只有:
    保存pop出来的数据,直到pop()值为2的那个修改的值,
    然后把修改后的值push_back进去,再将原来的值重新push_back进去.
      

  2.   

    像这样直接改vecStr[2]="6";会不会有什么问题?
      

  3.   

    像这样直接改vecStr[2]="6";会不会有什么问题?
    没有问题,但你要保证下标不越界