从一个char中生成std :: string的最佳方法是什么?

gre*_*ake 2 c++ c++11

有很多方法可以从一个char创建一个std :: string.

  • std::string(1, ch)
  • std::string() + ch
  • std::string(&ch, 1)
  • std::string {ch} \\ c++11

我想知道哪一个我更喜欢.

Che*_*Alf 18

请记住,源代码与读者通信,而不是主要与编译器通信.

因此,您应该努力清晰,并且主要是将优化留给编译器.

因此,作为一个不涉及无关问题的表达,因此最清楚地传达意图std::string{ ch }是优选的.