这里有一点代码:
itr2=s.replace(itr2-5, itr2+1, newVal.begin(), newVal.end()).begin();
这里begin()返回字符串上的迭代器,在我的例子中,这将是不是从起始字符串开始的字符串' s'。我想知道在replace()之后,我会在副本上引用不是开头或引用。
我想知道s.replace(...)的回归是s的一部分吗?
答案 0 :(得分:2)
s.replace()
将引用返回给s。您的陈述相当于
s.replace(itr2-5, itr2+1, newVal.begin(), newVal.end());
itr2 = s.begin();
没有什么鬼鬼祟祟的事。