c++ - 在默认参数上重载方法

标签 c++ string delimiter

是否可以在默认参数上重载方法?

例如,如果我有一个拆分字符串的方法 split(),但该字符串有两个分隔符,例如“_”和“delimit”。我可以有两种方法吗:

split(const char *str, char delim = ' ')

split(const char *str, const char* delim = "delimit");

或者,是否有更好的方法来实现这一点?不知何故,我的大脑现在不工作了,无法想出任何其他解决方案。

编辑:详细问题:

我有一个带有两个分隔符的字符串,例如 nativeProbableCause_Complete|Alarm|Text。我需要将 nativeProbableCause 和 Complete|Alarm|Text 分开,然后进一步,我需要将 Complete|Alarm|Text 分成单独的单词,并在稍后的某个时候用空格作为分隔符将它们重新连接起来(为此我已经编写了一个实用程序并且不是'没什么大不了的)。只是分隔字符串的分离让我感到困扰。

最佳答案

不,你不能 - 如果你考虑一下,默认的概念意味着“除非我另有说明,否则使用它”。如果编译器默认有 2 个选项,它会选择哪个?

关于c++ - 在默认参数上重载方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/755028/

相关文章:

c - 在 C 中查找字符串数组中的唯一元素

linux - Unix AWK 命令 - 多个字符作为单个分隔符

regex - 非常具体地分隔列

c++ - 模板类 : gcc vs VS 中的静态函数

c++ - Boost UDP 套接字的性能 - 吞吐量低?

c++ - 清除同步概念的小项目想法

java - 计算分数表达式 : Subtraction

c++ - 提升图形库 : Error while compiling with make_reverse_graph

java - 删除单词中等于单词中最后一个符号的所有符号

C++ 连接字符串的最快方法(最佳方法)