我想在游戏中获取一些输入,并在按下退格键后从字符串中删除最后一个字母。我不确定应该使用text.end -1
还是+1
到end
来实现:
if (GetAsyncKeyState(VK_BACK))
text.erase(text.end - 1, text.end);
std::string
实际上有一个 pop_back()
方法!所以你可以这样做:
if (GetAsyncKeyState(VK_BACK) && !text.empty()) { text.pop_back(); }
std::string
也有一个 empty()
方法,所以您不必检查 size()
是否为 > 0
,例如: if (GetAsyncKeyState(VK_BACK) && !text.empty()) { text.pop_back(); }
- Remy Lebeautext.size()
,不需要 not
。 - Slava
text.end() - 1
。 - Slava