当前位置:  开发笔记 > 编程语言 > 正文

相同的模板,不同的代码?

如何解决《相同的模板,不同的代码?》经验,为你挑选了1个好方法。

通过更改传递的值,是否有任何方法可以使用相同的模板类型而具有不同的代码?即:

template 
class container; 

container生成不同的代码container

如果没有,有什么替代品吗?



1> templatetype..:

是.这称为模板专业化.你可以写这样的代码:

template  class container {
    /* Implementation for true */
};

template <> class container {
    /* Implementation for false */
};

现在,如果您实例化container,它将选择最高版本,因为底部版本不适用.如果您实例化container,那么将选择底部版本,因​​为两个版本都适用,但底部更专业.

这里的实现可以完全不同.没有要求他们有任何共同点.这通常用于实现编译时计算.查找模板元编程以获取更多信息.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有