[英]C++: How To Use %i in Function?
我有一个问题,可以在函数中使用%i吗? 这是我需要做的。 我有一个函数回调:
engine.gui->menu.addItem(Menu::AGILITY,"Agility (+1 defense)");
我想以这种方式使用它:
engine.gui->menu.addItem(Menu::AGILITY,"Agility (%i defense)",engine.level);
我该如何实施,或者甚至不可能? 我尽了最大的努力去做一些事情,但是却没有做到。 :(我之所以这样做,是因为玩家报仇到下一个级别,engine.level计数变为++,因此玩家级别提升后,他可以在不同级别获得更多敏捷性,然后进行级别划分,可以知道有多少个级别他可以获得的敏捷性。
最有可能的boost::format
( http://www.boost.org/doc/libs/1_54_0/libs/format/ )应该可以做您想要的。 它不是确切的语法,但应该接近。
如果您拥有C ++ 11,则可以执行以下操作:
engine.gui->menu.addItem(
Menu::AGILITY,
"Agility (" + std::to_string( engine.level ) + " defense)" );
如果您没有C ++ 11,则您的工具箱中应具有与std::to_string
等效的名称。 就像是:
template <typename T>
std::string
toString( T const& obj )
{
std::ostringstream result;
result << obj;
return result.str();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.