我已经有一段时间没有使用 C++ 了,我对语法有点迷茫。有人可以向我解释 boost::log
库教程中的以下几行吗?
logging::core::get()->set_filter
(
logging::trivial::severity >= logging::trivial::info
);
据我所知,它是函数 set_filter()
调用,但它需要一个 filter
对象:
BOOST_LOG_API void set_filter(filter const& filter)
和表达式:
logging::trivial::severity >= logging::trivial::info
返回 bool 值? operator >=
在这里重载了吗?我试图通过查找定义和宏来解决这个问题,但我看不到任何运算符重载。在我看来这不合逻辑。它有什么作用?它是如何工作的?
最佳答案
logging::trivial::severity >= logging::trivial::info
返回一个函数对象。
函数对象进行比较。
由 Boost.Phoenix 库完成。
关于c++ - boost::log 教程中的代码如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623736/