gpt4 book ai didi

c++ - 模板类函数语法的模板类参数

转载 作者:行者123 更新时间:2023-11-30 03:38:39 25 4
gpt4 key购买 nike

template <typename T>
class Foo {
public:
T val;
Foo(T p_val) : val(p_val) {}
T sum(Foo<T> other) { return val + other.val; }
};

int main() {
Foo<int> f1(3);
Foo<int> f2(5);
std::cout << f1.sum(f2) << std::endl;
}

这会打印出 8正如预期的那样。

如果我将成员函数签名更改为 T sum(Foo other) (删除 <T> ),它仍然打印 8 .一般来说,我是否包括 <T> 是否重要?或不?我正在使用 Visual C++ 2015。

最佳答案

template<...> class X内, 名字 X作为非模板是指 X<...> .

所以<T>那里是多余的。这是合法的,但多余。

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

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