可以优化上述 lambda 表达式的写法如下:
std::remove_if(pool_uuids.begin(), pool_uuids.end(), [&](const Value& i) {
const auto& user_manager = User_Manager::instance();
return !user_manager->authorized_pool(*conn, req.sess->uid(), i.get_str());
});
这样做的好处是将 User_Manager::instance()
的调用移至 lambda 函数外部,避免在每次迭代中都进行函数调用。
内容由零声教学AI助手提供,问题来源于学员提问