gpt4 book ai didi

具有模板化和非模板化形式的 C++ 类

转载 作者:搜寻专家 更新时间:2023-10-31 01:10:13 24 4
gpt4 key购买 nike

我很好奇是否可以有一个同时具有模板化和非模板化形式的类。像这样的东西:

SomeClass foo;
SomeClass<int> bar;

foo.do_something();
bar.do_something(5);

我可以多次定义所有内容,但我不知道是否可以使用相同的类名。

最佳答案

简短回答:不,这是不允许的。您的编译器给您的确切错误消息会有所不同,但您应该会收到一条错误消息。

但是,您可以为模板提供默认参数,这样您就可以只用 <> 来实例化它。 ,比如:

template <class T=int>
class X {};

int main(){
X<long> a;
X<> b; // used default, so equivalent to "X<int> b;"
}

关于具有模板化和非模板化形式的 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16139074/

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