改变字符串的副本并返回值,而不是更改原始字符串
Mutating copy of string and returning value instead of changing original string
我有一个使用字符串的递归函数,我执行的操作是
erase, replace, insert,..
int method(original_string):
...
min(operation1(original_string), operation2(original_string))
...
我想保持原始字符串不变,但需要一个突变的新字符串
mutate(original_string, operation) :
temp = copyof(original_string)
operation(temp);
return temp;
因为问题是操作 1 会影响original_string,我也想要操作 2 的真正original_string。
但是对于不同的函数,这是不可能的,我需要为每个函数编写。
- C++是否已经存在某些东西或可能的解决方法来实现这一点?
- 我想将字符串参数定义为 const * original_string并期望操作的行为相同。
我已经定义了一个克隆函数
string clone(string orig_str) {
string cloned_str(orig_str);
return cloned_str;
}
并在调用函数的方法类中
min(
method(clone(original_string).erase(...)),
method(clone(original_string).replace(...)
)
还将方法参数更改为
method(const orignal_string) { ... }
感谢@Scooter的输入。
相关文章:
- 有没有办法从非C/C++文件中读取C++原始字符串文字的内容
- 如何在连接器 C++ 中将原始字节转换为字符串
- 将以 null 结尾的字节字符串转换为原始字符串文本
- 是否可以在原始字符串文本中插入转义序列?
- 如何找到修改后的字符串与原始字符串相等的时间
- 如何在c++中打印原始std::string/c样式的字符串
- 是否存在像C++中那样带有分隔符的C#原始字符串
- 反转由空格分隔的字符串元素将返回比原始字符串更大的字符串
- C++ 原始字符串 Unicode 文字
- 编码大于原始文本:如何获取零和一的字符串并将它们作为实际字节写入文件
- 在对原始字符串进行一些处理后返回(或转换)原始字符串
- 打印可以重复以获取原始字符串的最小字符串
- 如何从字符串变量为正则表达式构建原始字符串
- 如何制作包含原始字符串终止符C++原始字符串
- 如何在 C++ VS 中使用原始字符串文字(编码问题)
- 如何将变量用作原始 JSON 字符串中的数据?
- 什么是原始字符串?
- 转义 R "()" 在 C++ 中的原始字符串中
- 原始字符串比普通字符串快
- C++多行字符串原始文字