在较旧的C ++标准中,我可以使用什么代替std :: string :: pop_back?

时间:2014-01-29 21:27:16

标签: c++ visual-studio-2008 c++03

我正在使用Visual C ++ 2008.我无法使用pop_back,因为它成为C ++ 11中字符串类的成员函数。

我可以使用哪些内容,因为我无法使用pop_back

4 个答案:

答案 0 :(得分:6)

你可以使用std::string::erase,我个人觉得它比resize替代方案在语义上更清晰:

if (!s.empty())
  s.erase (s.size()-1);

答案 1 :(得分:5)

您可以使用std::string::resize

if (!s.empty())
  s.resize(s.size()-1);

答案 2 :(得分:1)

我不太明白你的问题,但是如果你想把某些东西附加到std :: string你可以使用

std::string::append

如果你想“收缩”它,你可以使用

std::string::resize

答案 3 :(得分:1)

至少有两种可能性。要么使用成员函数擦除,要么使用成员函数调整大小。例如

s.erase( s.size() - 1 );

s.resize( s.size() - 1 );

如果您不想使用push_back,则可以将其替换为operator +或member function append。