码迷,mamicode.com
首页 >  
搜索关键字:特化    ( 204个结果
Effective C++笔记_条款43 学习处理模板化基类内的名称
开篇就来了一个示例代码,整个这个小节就围绕这个示例代码来描述模板化基类内的名称(函数)。主要是因为C++知道base class templates有可能被特化,而那个特化版本肯呢个不提供和一般性template相同的接口。因此它往往拒绝在templatized base classes(模板化.....
分类:编程语言   时间:2015-04-12 11:59:23    阅读次数:135
c++模板元编程七:类型判断的traits类
2 用于判断类型的traits类is_void类可以判断模板参数的类型,使用很简单,注意,也可以直接使用::value。cout ::type::value << endl; cout ::type::value << endl; 但是实现很有趣,特化居然可以用来继承不同的类。这里没有去找clang++实现代码,用boost代码代替吧。template struct is_void : publ...
分类:编程语言   时间:2015-04-06 23:21:06    阅读次数:293
c++模板元编程六:integral_constant 类
1 integral_constant类这个类是所有traits类的基类,分别提供了以下功能:value_type 表示值的类型value表示值type 表示自己, 因此可以用::type::value来获取值true_type和false_type两个特化类用来表示bool值类型的traits,很多traits类都需要继承它们下面的代码分别来自C++11和Boost,略有差别:C++11包含va...
分类:编程语言   时间:2015-04-06 18:45:19    阅读次数:298
c++模板元编程五:switch/case语句编译时运行
2.4 switch/case 替代现在模拟switch/case语句,不过也是在编译期运行。先看调用代码和输出结果// test case cout << "test case" << endl; Case::Run(); test case case 2 实现代码很简单,还是模板特化template class Case { public: static inline void Run()...
分类:编程语言   时间:2015-04-05 22:02:23    阅读次数:223
c++模板元编程四:IF语句编译时运行
2.3 if 替代将if语句放在编译期执行,可以用模板特化的方式实现。下面是调用代码:// test if cout << "test if" << endl; If::Run(); 输出结果为:test if it's false 模板类的实现如下:template class If { public: static inline void Run() { cout << "it's...
分类:编程语言   时间:2015-04-05 17:31:41    阅读次数:133
Effective C++ -----条款25:考虑写出一个不抛异常的swap函数
当std::swap对你的类型效率不高时,提供一个swap成员函数,并确定这个函数不抛出异常。如果你提供一个member swap,也该提供一个non-member swap用来调用前者。对于class(而非templates),也请特化std::swap。调用swap时应针对std::swap使用...
分类:编程语言   时间:2015-03-11 19:33:57    阅读次数:161
模板的一些概念
1. 非类型模板形参是指模板的形参是基本类型比如int,如template array_init(T (&param[N))2. 模板特化是指为特定的类型重现实现,针对的是模板不能满足所有情况的一种补充3. 模板的traits就是具有这种功能的模板类:从模板形参中拿到需要的type,比如说itera...
分类:其他好文   时间:2015-03-10 18:43:31    阅读次数:140
STL-traits编程技法
不论是泛型思维或STL的实际运用,迭代器(iterators)都扮演者重要的角色。迭代器的中心思想在于:将数据容器(container)和算法分开,彼此独立设计,最后再以迭代器这种工具将两者粘合起来。 一.模板特化与偏特化 假设下面有一个class template如下:templateclas.....
分类:其他好文   时间:2015-03-06 20:44:48    阅读次数:173
c++模板元编程
范例:// 主模板templatestruct Fib{ enum { Result = Fib::Result + Fib::Result };};// 完全特化版template struct Fib{ enum { Result = 1 };};// 完全特化版template s...
分类:编程语言   时间:2015-02-27 13:27:26    阅读次数:154
204条   上一页 1 ... 14 15 16 17 18 ... 21 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!