我最近遇到过类似的代码:
std::string myString = "test";
boost::format fmt("%s");
fmt % myString;
第二个%运营商在这做什么?
编辑:
我理解最终结果,但我找不到如何使用%运算符的定义。
有人可以提供一个示例来解释%运算符的含义究竟在哪里吗?
答案 0 :(得分:3)
我理解最终结果,但我找不到如何使用%运算符的定义。
operator %
可能会超载。 Boost.Format does exactly that for its basic_format
class:
template<class T>
basic_format& operator%(const T& x)
{ return io::detail::feed<CharT, Tr, Alloc, const T&>(*this,x); }
只要您使用fmt % value
类型为fmt
的代码boost::basic_format<Ch>
,就会调用此成员函数。
答案 1 :(得分:1)
%
是一个重载运算符。 Click here.