是否可以在默认参数上重载方法?
例如,如果我有一个拆分字符串的方法 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/