gpt4 book ai didi

c++ - 部分默认使用内部类型初始化模板模板参数

转载 作者:太空狗 更新时间:2023-10-29 23:17:18 24 4
gpt4 key购买 nike

template <template <typename> class container_type>
class MyClass
{
class Internal{
};
};

我想以如下方式使用此类(或它看起来正确的方式)...

MyClass(std::list);

...因此在 MyClass 中 container_type 声明/typedef 为:

std::list<Internal*>

这样的事情有可能吗?

最佳答案

您可能需要如下内容:

#include <list>
#include <memory>

template <template <typename, typename>
class Container = std::list>
class MyClass
{
class Internal
{ };

Container<Internal*, std::allocator<Internal*>> my_list;
};

int main()
{
MyClass<> m;
}

Here's一个你可以玩的可编译的例子。请注意,此处需要额外的 typename 和分配器的定义。

关于c++ - 部分默认使用内部类型初始化模板模板参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691785/

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