C++模板编程->嵌套实现元组
来源:互联网 发布:阿基拉和拼字比赛 知乎 编辑:程序博客网 时间:2024/05/29 18:08
/* 通过嵌套元组 */#include <iostream>#include <string>using namespace std;template <typename T,typename N > //构建元组的类模板struct tuple{T value ;N next;tuple(T const &v ,N const &n ):value(v),next(n){}};template<typename T,typename N> //构建向元组增加函数的函数模板tuple<T,N>push(T const &v,N const &n){return tuple<T,N>(v,n);}int main(int argc, char const *argv[]){//用typedef构造元组类型typedef tuple<int,char>tuple2;typedef tuple<float,tuple2>tuple3;typedef tuple<string,tuple3>tuple4;//构造4元素的元组tuple4 tup4=push(string("welcom"),push(.1f,push(1,'a')));//访问元组任意元素cout<<tup4.value<<endl<<tup4.next.value<<endl<<tup4.next.next.value<<endl<<tup4.next.next.next<<endl;system("pause");return 0;}这就是简单而没有额外储存开销的元组实现方法之一。但这种方法也有其不足,就是在构造元组时存在元素的重复复制问题。例如上例中元组的第四个元素字符'a',在嵌套调用push函数模板构造元组时,每调用一次push就被复制一次。当所存元素数据类型比较复杂时,无疑这种重复复制对程序性能的影响不可忽视。
0 0
- C++模板编程->嵌套实现元组
- 模板元编程实现递归
- 【C++】traits技术与模板元编程
- 模板--模板元编程
- 【C/C++】C++模板元编程 入门简介
- 初探模板元编程
- 模板元编程
- C++模板元编程
- 模板元编程
- 模板元编程
- C++模板元编程
- C++模板元编程
- 模板元编程-C++
- C++模板元编程
- 模板元编程(二)
- 模板元编程练习
- 模板元编程练习
- 模板元编程简介
- 【最小生成树 并查集】hdu 3371 Connect the Cities
- 视图和索引一些规则以及应用
- MFC中动态数组CArray的使用
- 经典的二分查找
- PyQt4 入门学习资料整理
- C++模板编程->嵌套实现元组
- 源码分析
- 4 . 函数升级(下)
- Login spoofing
- 用自己的血汗钱告诉了大家两党制的优越性
- HDU - 2838 Cow Sorting (树状数组)
- 开启sharepoint网站设置的导航选项
- 维基百科图片无法正常显示
- openURL的使用方法