C++ “如何”;字符串::擦除";在cpp工作?
例如,当我有下一个字符串去宽容:C++ “如何”;字符串::擦除";在cpp工作?,c++,C++,例如,当我有下一个字符串去宽容: std::string myStr("miki"); 然后我使用下一个命令: myStr.erase(0,1); 幕后到底发生了什么? 是否有任何“空终止符”可以像字符串上的所有字母一样向后移动一个位置? 在使用字符串时,内存中究竟发生了什么::擦除< /C> >?/P> < P> C++中没有“一个真”。有人给你的标准库编程了。还有其他实现 如果您真的想知道在您使用的实现中幕后发生了什么,请启动调试器并进入方法调用。有帮助吗?您可以在谷歌上搜索GCC(li
std::string myStr("miki");
然后我使用下一个命令:
myStr.erase(0,1);
幕后到底发生了什么?
是否有任何“空终止符”可以像字符串上的所有字母一样向后移动一个位置?
在使用<代码>字符串时,内存中究竟发生了什么::擦除< /C> >?/P> < P> C++中没有“一个真”。有人给你的标准库编程了。还有其他实现
如果您真的想知道在您使用的实现中幕后发生了什么,请启动调试器并进入方法调用。有帮助吗?您可以在谷歌上搜索GCC(libc++)或Clang实现,并找到@πάνταῥεῖ, 不,这可能没有任何帮助。以前命名为stl的代码的一个目的是您不需要(也许不应该)关心实现。我认为主要是因为这种实现被允许(并且确实)改变。虽然从技术上讲是正确的,但根据标准指令,它几乎可以肯定
std::string
被实现为以null结尾的char*
@NathanOliver,我确信这是正确的,但在我看来,按F11键(在我的IDE中)百分百肯定地知道要比(受过良好教育的)猜测好。