gpt4 book ai didi

c++ - 如何使多个模板类具有相同的类型

转载 作者:搜寻专家 更新时间:2023-10-30 23:56:45 25 4
gpt4 key购买 nike

有两个模板类A和B。如何强制它们被实例化为相同的类型而不是相互嵌套?例如如果我像下面这样定义这两个类:

template <class T> 
class A {};

template <class T>
class B {};

那么用户可能会做这样的事情A<int> a;B<float> b;

我想强制 A 和 B 具有完全相同的类型,但我希望它们相互嵌套。所以当有人使用这两个类时,A 和 B 必须具有相同的类型。有什么办法吗?设计此类类(class)的最佳做法是什么?

谢谢

最佳答案

您不必将它们嵌套在一起,但您可以将它们嵌套在第三种类型中:

template<class T>
struct C {

typedef A<T> A;
typedef B<T> B;

};

客户端只通过C访问:

C<T>::A a;
C<T>::B b;

关于c++ - 如何使多个模板类具有相同的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27193577/

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