DamageCost是整数,但是正如您在下面的代码中看到的那样,我想将它们与字符串连接(如果这是正确的词)。我怎样才能做到这一点?

class Weapon : Shopable{
    private:
        int Damage;
    public:
        std::string getDesc() const{
            return getName()+"\t"+Damage+"\t"+Cost;
        }
};

最佳答案

为您提供此模板:

#include <sstream>

template <class TYPE> std::string Str( const TYPE & t ) {
    std::ostringstream os;
    os << t;
    return os.str();
}


然后您可以说:

return getName() + "\t" + Str( Damage ) + "\t" + Str(Cost);


请注意,这几乎等同于Boost的lexical_cast以及即将发布的标准中的类似功能。还要注意,此功能在性能和便利性之间进行权衡。

10-06 10:24