作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
通常的模板结构可以被专门化,例如,
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/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
正如您在 this travis.yml 中看到的那样文件,我的代码依赖于一些第三方库,我在构建项目之前将它们安装在远程系统上。 Travis 每次推送提交时都会下载并构建这些库,这可以避免吗?我的意
我是一名优秀的程序员,十分优秀!