gpt4 book ai didi

c++ - 具有专用于自身的模板方法的模板类

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

假设我有带有模板函数的模板类。示例:

template<typename T>
class example
{
T some_member;

template<typename X>
example& foo(X& val)
{
/* general stuff */
return *this;
}

// rest of class
};

我未能实现的是对该方法进行专门化,该方法将类型示例 < T >(与调用者的类型相同)作为参数对象。展示它应该如何工作的小例子:

example<int> exampleObj;
example<int> sameTypeObj;
int diffrentType1;
example<double> diffrentType2;

exampleObj.foo(diffrentType1); // general template used
exampleObj.foo(diffrentType2); // general template used
exampleObj.foo(sameTypeObj); // specialization used

最佳答案

您可以重载,但不能特化,因为不存在部分模板函数特化。

example& foo(example&)
{
}

关于c++ - 具有专用于自身的模板方法的模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31611402/

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