我有很多这样的代码:
otherString1 = myString1.replace("a", "b").replace("c", "d").replace("e", "f");
otherString2 = myString2.replace("a", "b").replace("c", "d").replace("e", "f");
otherString3 = myString3.replace("a", "b").replace("c", "d").replace("e", "f");
我不想replace
一次又一次地重复这些方法。重构此类代码的正确方法是什么?我是 C++ 新手...
我以为我可以这样做:
#define REPLACE .replace("a", "b").replace("c", "d").replace("e", "f")
otherString1 = myString1#REPLACE;
但这不起作用。
我显然不能猴子修补字符串类来添加myReplace()
......
该怎么办?我应该将替换代码放入头文件还是源文件?那些static
, inline
,const
东西呢?我应该创建一个完整的辅助类和一个辅助方法,还是应该只在某个地方创建一个函数?怎么样的东西:
[helper.hpp]
static inline const myReplace(const StringClass s);
[helper.cpp]
static inline const myReplace(const StringClass s) {
return s.replace("a", "b").replace("c", "d").replace("e", "f");
}
[somefile.cpp]
include "helper.hpp"
otherString3 = myReplace(myString3);