特别是,代码如何检查是否应该重新分配字符的内存?或者用户输入了多少个字符?如果我想将 C 字符串的值分配给我的字符串类的实现,我可能会做这样的事情
String& operator=(String& to, const char *from)
{
if((strlen(from) + 1) > to.size) {
if (to.str != NULL) {
delete[] to.str;
to.str = NULL;
}
to.size = strlen(from) + 1;
to.str = new char[to.size];
}
strcpy(to.str, from);
return to;
}
很容易。但是 std::string 的 operator>> 真的让我很好奇。