• 2106阅读
  • 1回复

函数后面一个箭头什么意思->,箭括号里面的函数参数? [复制链接]

上一主题 下一主题
离线介农酥
 

只看楼主 倒序阅读 楼主  发表于: 2020-05-23
class ThreadPool {
public:
    explicit ThreadPool(std::size_t threads
        = (std::max)(2u, std::thread::hardware_concurrency()));
    template<class F, class... Args>
    auto enqueue(F&& f, Args&&... args)
        -> std::future<typename std::result_of<F(Args...)>::type>;
    void wait_until_empty();
    void wait_until_nothing_in_flight();
    void set_queue_size_limit(std::size_t limit);
    void set_pool_size(std::size_t limit);
    ~ThreadPool();

这是log4cplus中的一段代码,上面红色的箭头是什么意思?F(Args...)是指什么,难道是返回值为F,参数为Args的函数,我记得C中函数参数至少有一个*,难道是引用,哪不得有个&
在线lemonzll

只看该作者 1楼 发表于: 2020-05-24
C++ 11开始函数可以把返回类型写在后面了,也就是函数定义int f(int a)可以写成auto f(int a) -> int。那个箭头就是用来写返回值类型的。F(Args)跟你想的一样,就是指返回值F,参数为Args的函数
快速回复
限100 字节
 
上一个 下一个