gpt4 book ai didi

c++ - 括号后面的类名是什么类型

转载 作者:行者123 更新时间:2023-12-01 22:34:42 28 4
gpt4 key购买 nike

我无法理解https://github.com/hmenke/boost_matheval/blob/master/src/qi/parser.hpp#L43中的这种语法

struct bar {
bar() {}
};

template<typename _T>
class foo {
public:
foo() {}
};

...
foo<bar()> fb;
...

模板 foo 的特化中 _T 的类型是什么?如何在 foo 中使用_T?

最佳答案

它是函数的类型。当你声明时

bar function();

即,一个不带参数并返回一个 bar 的函数,那么 function 有一个类型,它是 bar()_T 代表它。就像您有别名一样

using _T = bar();

typedef bar _T();

这并不是一种罕见的类型。例如,函数类型是 std::function接受。如何使用它取决于类模板的目的以及它的潜在特化方式。

关于c++ - 括号后面的类名是什么类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59558839/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com