在使用函数模板时,我正在研究如何char在 C++ 中将 a 转换为长度为 1 的字符串,我发现使用 fill 构造函数std::string(1, c)将 a 转换char为字符串,遵循“重复char c1 次形成字符串”的逻辑。但是,没有定义std::string只接受 achar并将其转换为 a的构造函数重载std::string。
为什么会这样?不包含这个构造函数背后的设计决策是什么?char能够直接将 a 转换为字符串,而不必使用填充构造函数,感觉是一个非常自然和直观的想法。
我的目标是能够统一使用chars 和std::strings 。