gpt4 book ai didi

c++ - 使用模板特化

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:05 24 4
gpt4 key购买 nike

通常的模板结构可以被专门化,例如,

template<typename T>
struct X{};

template<>
struct X<int>{};

C++11 为我们提供了新的很酷的 using 语法来表达模板类型定义:

template<typename T>
using YetAnotherVector = std::vector<T>

有没有一种方法可以为这些使用类似于结构模板特化的构造定义模板特化?我尝试了以下方法:

template<>
using YetAnotherVector<int> = AFancyIntVector;

但是它产生了一个编译错误。这有可能吗?

最佳答案

没有。

但您可以将别名定义为:

template<typename T>
using YetAnotherVector = typename std::conditional<
std::is_same<T,int>::value,
AFancyIntVector,
std::vector<T>
>::type;

希望对您有所帮助。

关于c++ - 使用模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26844443/

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