C++中无需提前定义string,如何将char传入string形参函数?
直接将char转换为string作为函数参数的方法
当然可以实现,有几种简洁的方式,无需提前声明额外的string变量:
使用string的构造函数:
string类提供了接受字符数量和单个字符的构造函数,可直接在函数调用时构造临时string对象:char ch = 'a'; foo(string(1, ch));利用临时空string对象拼接:
通过默认构造生成临时空string,再与char相加,最终得到包含该字符的string:char ch = 'a'; foo(string() + ch);C++11及以上:通过string_view构造:
若环境支持C++11或更高版本,也可借助string_view实现转换:char ch = 'a'; foo(string(string_view(&ch, 1)));
其中前两种方法最为常用,尤其是第一种,代码清晰且效率表现良好。
内容的提问来源于stack exchange,提问作者CodeTalker
相关产品推荐
相关产品推荐

