joa*_*dre 4 c++ string boost casting
我试图将一个整数连接到一个已知的字符串,我发现有几种方法可以做到这一点,其中两个是:
int num=13;
string str = "Text" + static_cast<ostringstream*>( &(ostringstream() << num) )->str();
Run Code Online (Sandbox Code Playgroud)
或者我也可以使用boost库' lexical_cast:
int num=13;
string str= "Text" + boost::lexical_cast<std::string>(num);
Run Code Online (Sandbox Code Playgroud)
是否boost::lexical_cast以任何方式使用更高效,因为我已经知道转换类型(intto string)?或者static_cast同样有效,而不必依赖外部库?
string str = "Text" + static_cast<ostringstream*>( &(ostringstream() << num) )->str();
Run Code Online (Sandbox Code Playgroud)
这很丑陋,不易阅读.除此之外,lexical_cast几乎就是这样,我们可以肯定地说使用lexical_cast是"更好".
但是,在C++ 11中,我们有to_string重载.
string str = "Text" + to_string(num);
Run Code Online (Sandbox Code Playgroud)
如果您的编译器支持,哪个是最佳选项.