【发布时间】:2015-12-27 15:28:09
【问题描述】:
我正在尝试实现一个简单的“字符串混合”方法,它递归地混合两个大小相等的字符串(例如 cat 和 dog 变成 cdaotg -- 字符串 1 的第一个字母,字符串 2 的第一个字母,等等) .
我的方法如下:
string mingleStrings(string s1, string s2, int index) {
if (index >= s1.length()) {
return "";
} else {
string mingled = "";
mingled += s1[index] + s2[index];
mingled += mingleStrings(s1,s2,++index);
return mingled;
}
}
当我在我的字符串 (s1[index]) 上使用下标运算符时,它会将整个字符串返回到该索引。要在某个索引处获取字符串的特定字符,我需要输入 s1[index,index]。这对我来说是新的。
【问题讨论】:
-
您能提供一个MCVE,其中
s1[index]会返回一个完整的子字符串,而s1[index,index]可以解决这个问题吗?这绝对不应该发生,index,index只是对index进行两次评估并使用第二次评估。 -
不可能吗?
标签: c++ string c++14 subscript