假设我有一个函数
str_rev(string &s, int len) {}
反转长度为len的字符串s
我想反转从索引 5 开始且长度为 10 的长字符串的子字符串
为此,我不得不先调用子字符串函数,然后调用传递子字符串的 str_rev 函数
sub_string = long_str.substr(5, 10)
str_rev(sub_string, 10);
有没有办法在不实际创建临时对象的情况下实现这一点?
最佳答案
让您的函数采用迭代器(或者更确切地说,使用 std::reverse()
)并传入分隔子字符串的迭代器。
关于c++ - c++ - 如何在不实际创建临时对象的情况下传递子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4060839/