C++之traits(萃取技术)

 

traits相关总结:
1.typedef 可以在class或者struct中定义
template<T>
class CXX
{
       typedef T value_type;
};
同样,template可以嵌入template!
2.见到template<>多半是在模板特化。特化分全特化、偏特化等。熟记这点,否则有些地方看不懂。
3.template其实就是扩展编译器,让代码自动生成。其功能等同于#define之类。说白了,c++的这些东西就是让你的代码可以重用,减少日后不必要的编程量。
4.traits就目前我们能用到的东西而言,就是它能统一接口,让你的template可以兼容基本类型。
5.一个实例设想:
像WINAPI经常提供诸如XxA和XxW,要跟据使用的ASCII码还是UNICODE码来决定调用。那么可以利用template配合traits来实现——只用template估计不行,ASCII跟UNICODE在有些地方可能是不同的,这些地方就要traits上阵了。

引用几篇文章:
C++ Traitshttp://www.cnblogs.com/hush/archive/2004/03/10/2717.html
《type traits 之”本质论”》http://blog.csdn.net/sanlongcai/archive/2007/09/15/1786647.aspx
traits:Traits技术初探http://www.cppblog.com/woaidongmao/archive/2008/11/09/66387.html(这篇讲得真的很好!)

原文链接: https://www.cnblogs.com/me115/archive/2010/03/25/1694845.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++之traits(萃取技术)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/9146

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月6日 下午8:33
下一篇 2023年2月6日 下午8:37

相关推荐