我目前正在尝试实现从 C++ 中的文本字段中删除字符。如果用户点击 Backspace,则执行以下代码。当前没有光标,它应该只删除最后一个字符...
if (mText.length() > 0){
mText.erase( mText.length() - 1, 1);
// mText.resize(mText.length() - 1);
}
这第一次工作正常,但如果你再次点击 Backspace,它不会删除任何东西。
我打印了mText.length()
它,它表明长度永远不会改变。我尝试resize()
了字符串,它工作正常,但我第一次点击 Backspace 它删除了2 个字符。
我希望有人可以解释这种行为并帮助我解决问题。我对内存分配不太了解,所以请耐心等待;)
感谢
opatut