cinatra
cinatra copied to clipboard
http_router.hpp 第 151 行的问题
if constexpr(std::is_void_v<result_type>) { //business if(self) (*self.*f)(req, res); else (nonpointer_type{}.*f)(req, res); // 这个地方不如不要,会强制要求提供一个默认的构造函数 //after do_void_after(req, res, tp); }
这个是为更灵活,可以允许不填切面对象,不填的话提供一个类型就可以了,内部根据类型自动创建这个对象。
这可能会带来一些性能损耗。当然,这需要一些权衡。 不过事实上,我如果不是遇到了编译时问题,我并不会知道还可以提供一个类型作为参数。
并不会带来损耗,本质是一样的。只不过是接口例子里面没加这样的示例。
呃,,,不会每次都生成一个 nonpointer_type 的临时变量吗