gpt4 book ai didi

c++ - 模板定义语法

转载 作者:行者123 更新时间:2023-11-28 02:24:55 26 4
gpt4 key购买 nike

简短的问题,这些定义是否相同?

1.

    template<class T1>
template<class T2>
void function(T1 *a, T2*b);

2.

    template<class T1,class T2>
void function(T1 *a, T2*b);

最佳答案

不,它们不一样。第一种情况不会编译为自由函数(live example)。通常你会做第一种情况,当你有一个模板类并且你有一个函数接受另一个模板参数时

template <typename T1>
class Foo
{
public:
template<typename T2>
void function(T1 *a, T2*b);
};

template<class T1>
template<class T2>
void Foo<T1>::function(T1 *a, T2*b);

您的第二个示例作为具有两个模板参数的函数就很好。

关于c++ - 模板定义语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31077443/

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