pig*_*d10 0 c++ string integer concatenation
Damage并且Cost是整数,但正如您在下面的代码中看到的,我想用字符串连接它们(如果这是正确的单词).我怎样才能做到这一点?
class Weapon : Shopable{
private:
int Damage;
public:
std::string getDesc() const{
return getName()+"\t"+Damage+"\t"+Cost;
}
};
Run Code Online (Sandbox Code Playgroud)
小智 7
提供此模板:
#include <sstream>
template <class TYPE> std::string Str( const TYPE & t ) {
std::ostringstream os;
os << t;
return os.str();
}
Run Code Online (Sandbox Code Playgroud)
然后你可以说:
return getName() + "\t" + Str( Damage ) + "\t" + Str(Cost);
Run Code Online (Sandbox Code Playgroud)
请注意,这几乎等同于Boost lexical_cast,以及即将推出的标准中的类似设施.另请注意,此功能为了方便和类型安全而交易性能.