trait
来源:互联网 发布:网上开淘宝怎么开 编辑:程序博客网 时间:2024/06/06 07:30
#include <iostream>#include <iterator>#include <typeinfo>#include <vector>using namespace std;//way 1template <typename iterT, typename distT>void advance11(iterT it, distT d){ //random access if(typeid(typename iterator_traits<iterT>::iterator_category) == typeid(std::random_access_iterator_tag)) it +=d;}/*-----------------------------------------------------------*///way2template <typename iterT, typename distT>// worker function 1void do_advance(iterT it, distT d, std::random_access_iterator_tag){ it +=d;}template <typename iterT, typename distT>// worker function 2void do_advance(iterT it, distT d, std::bidirectional_iterator_tag){ //for(auto ptr = it,size_t dis = 0 ; dis < d ; it ++)//mine {} if(d >= 0) {while (d--) ++ it} else { while ( d++ ) --it; }}template <typename iterT, typename distT>// worker function 3void do_advance(iterT it, distT d, std::input_iterator_tag) { if( d >= 0) {while (d--) ++ it; } //else return; else out_of_range(" - ");}template <typename iterT, typename distT>//boss functionvoid advance(iterT it, distT d){ do_advance(it,d, typename iterator_traits<iterT>::iterator_category() );}void main(){ vector<int> v (10,0); advance<vector<int>::iterator,size_t>(v.begin(),2);}
0 0
- Trait
- trait
- Trait
- trait
- trait
- trait
- trait技术
- Trait技术
- trait,线性化
- c++ trait
- php trait
- Scala:trait
- php trait
- PHP TRAIT
- PHP Trait
- PHP trait
- php trait
- Scala Trait
- 5.3.2 实现与设置过滤器 使用@WebFilter标注或在web.xml中定义过滤器
- 线程停止
- R语言-Rwordseg中文分词包安装步骤
- Android学习笔记九:SQLiteDatabase中query、insert、update、delete方法参数说明
- ucos II 系统学习之------时间管理函数OSTimeGet()
- trait
- spring rabbitmq 整合配置
- 1.创建型.2.建造者模式
- Android设计模式之浅谈MVP
- Android程序第一次安装进入时出现引导界面,以后进入都不再出现引导界面
- linux 开发常用命令
- takon—union
- Codeforces 665D Simple Subset
- SSIS 学习之旅 SSIS 简介