码迷,mamicode.com
首页 >  
搜索关键字:萃取    ( 80个结果
【干货】C++通过模板特化实现类型萃取实例--实现区分基本类型与自定义类型的memcpy
类型萃取是一种常用的编程技巧,其目的是实现不同类型数据面对同一函数实现不同的操作,如STL中cout的实现,它与类封装的区别是,我们并不用知道我们所调用的对象是什么类型,类型萃取是编译器后知道类型,先实现,而类的封装则是先定义类型,后实现方法。在这里我们可以用模板..
分类:编程语言   时间:2016-03-16 01:23:38    阅读次数:288
stl源码剖析学习笔记(二)traits编程技法简明例程
解释说明 traits侯捷老师的翻译是萃取。其目的就是在编译期进行模板调用的类型识别,从而做一些事情。 最突出的例子,我觉得不是《STL源码剖析》中“迭代器概念与traits编程技法"这一章的说明,而是stl算法中copy的实现。代码在stl源码的stl_algobase.h中。 copy的最终实现,大致分为两类,一类是直接整块内存的memmove操作,另一类是一个个对象赋值。其中涉及has...
分类:其他好文   时间:2016-03-14 18:56:33    阅读次数:250
c++ 类型萃取(模板类型 运用)
//类型萃取 #pragmaonce #include<iostream> usingnamespacestd; struct__TrueType//定义类普通类型(基本类型的) { boolGet() { returntrue; } }; struct__FalseType//定义类非基本类型 { boolGet() { returnfalse; } }; template<class_Tp>//模..
分类:编程语言   时间:2016-01-01 23:15:25    阅读次数:449
c++ 块内存管理
#pragmaonce//头文件 #include<iostream> #include<string.h> #include<list> #include"TypeTraits.hpp"//类型萃取 #include<stdarg.h> usingnamespacestd; structSaveAdapter//保存适配器基类 { virtualvoidsave(constchar*fmt,...)=0;//定义可变..
分类:编程语言   时间:2016-01-01 23:14:30    阅读次数:523
检查内存泄漏
1.分配空间2.记录内存块信息3.调用构造函数(类型萃取)#include<iostream> #include<string> #include<list> #include<assert.h> usingnamespacestd; structBlockInfo { void*_ptr; string_file; int_line; BlockInfo(void*ptr,constchar*file,in..
分类:其他好文   时间:2015-12-26 23:52:18    阅读次数:387
数据结构之——基数排序
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢...
分类:编程语言   时间:2015-09-15 09:25:05    阅读次数:224
STL源码剖析-型别技术
迭代器(一种泛型指针类型)是容器和算法的胶合剂。在使用中,经常会使用迭代器相关的类型。 来看迭代器类型萃取机。 文件:stl_iterator_base.h 定义迭代器种类的五种类型,这五种类型不包含任何数据,只是用来作为参数传递给算法, 这时会根据编译器的函数重载来选择最合适的对迭代器的操作,比如,对一个迭代器加上n, 对于forword类型的,只能循环n次,一次加一,而对于random类...
分类:其他好文   时间:2015-08-30 15:55:47    阅读次数:217
Dagger2官方CoffeeMaker案例的分解说明
官方例子的场景描述:一个泵压式咖啡机(CoffeeMaker)由两个主要零件组成,泵浦(Pump)和加热器(Heater),咖啡机有一个功能是煮泡咖啡(brew),当进行煮泡咖啡时,会按如下几个步骤进行打开加热器进行加热,泵浦加压,萃取出咖啡,然后关闭加热器,一杯咖啡就算制作完毕了。 按照上一篇文章的5个步骤,我们来分解一下这个例子: Step 1 确定依赖和被依赖对象 依赖对象是Coffe...
分类:其他好文   时间:2015-08-27 02:15:15    阅读次数:591
c++11之类型萃取type_traits
不知道怎么评价这个特性。。。代码#include#include//继承integral_constant可以方便写静态变量structGetSize: std::integral_constant{};templatestruct integral_my{staticconst T value =...
分类:编程语言   时间:2015-08-19 23:18:59    阅读次数:270
STL之traits编程技法
traits编程技法利用了“内嵌型别”的编程技巧与编译器的template参数推导功能。下面主要看看利用traits编程技法实现的迭代器萃取机制。5种迭代器类型定义:struct input_iterator_tag {};struct output_iterator_tag {};struct.....
分类:其他好文   时间:2015-08-04 11:02:46    阅读次数:99
80条   上一页 1 ... 4 5 6 7 8 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!