是否有内置方法可以根据给定的 char
构造 std::string
?
我问这个的原因是因为我想直接在 if
语句中进行函数调用:
// Given function prototype
bool func(std::string s);
for(auto rit = s.rbegin(); rit != s.rend(); ++rit)
{
if(func(*rit))
{
//
}
}
我试过以下方法:
std::string(*rit)
static_cast<std::string>(*rit)
最佳答案
自 C++11 以来最简洁的方法 是通过初始化列表构造:
func({*rit})
或者如果您需要显式指定类型(对于函数模板):
func(std::string{*rit})
对于 C++11 之前的版本,它是 std::string
's constructor 的第二次重载:
func(std::string(1, *rit))
关于c++ - 内联 char 到 std::string 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017865/