我正在寻找将字符串向量内爆为字符串的最优雅方法。以下是我现在使用的解决方案:
static std::string& implode(const std::vector<std::string>& elems, char delim, std::string& s)
{
for (std::vector<std::string>::const_iterator ii = elems.begin(); ii != elems.end(); ++ii)
{
s += (*ii);
if ( ii + 1 != elems.end() ) {
s += delim;
}
}
return s;
}
static std::string implode(const std::vector<std::string>& elems, char delim)
{
std::string s;
return implode(elems, delim, s);
}
还有其他人吗?
原文由 ezpresso 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您已经在使用 C++ 基础库(用于常用工具),则通常包含字符串处理功能。除了上面提到的 Boost, Abseil 还提供:
愚蠢提供:
两者都给出字符串
"Linus, Dennis, Ken"
。