iterator_category

/**迭代器类型*1.inputierator*2.writeiterator*3.forwarditerator在迭代器所形成的区间上进行读写操作*4.bidir

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

iterator_category此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

/*
* 迭代器类型
* 1. input ierator 
* 2. write iterator
* 3. forward iterator 在迭代器所形成的区间上进行读写操作
* 4. bidirectional iterator 可双向移动
* 5. random access iterator
*/

// 在执行时期决定使用哪一个版本会影响程序效率,最好在编译期选择正确的版本,重载机制可以实现这个目标

// 任何一个迭代器,其类型永远应该落在“该迭代器所隶属之各种类型中最强化的那个”
// STL算法的一个命名规则:以算法所能接受之最地接迭代器类型来为其迭代器性别参数命名
#pragma once

template <class Category, 
		   class T,
		   class Distance = ptrdiff_t,
		   class Pointer = T*,
			class Reference = T&>

struct iterator
{
	typedef Category iterator_category;
	typedef T value_type;
	typedef Distance difference_type;
	typedef Pointer pointer;
	typedef Reference reference;
};
// 继承关系的灵活应用
// class只作标记,不需要任何成员
struct B{};
struct C : public B{};
struct D : public C{};

template <class TT>
void fun(TT& p, B b)
{
	cout << "B version" << endl;
}

template <class TT>
void fun(TT& p, D d)
{
	cout <<"D version" <<endl;
}

int main()
{
	int nn = 10;
	fun(nn, B());
	fun(nn, C());
	fun(nn, D());

	return 0;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120233.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java类 英文文献_java英文参考文献[通俗易懂]

    java类 英文文献_java英文参考文献[通俗易懂]java英文参考文献【1】vonNeumann.TheFirstDraftReportontheEDVAC.1945年.D.L.Parnas.OntheCriteriaToBeUsedinDecomposingSystemsintoModules.CommunicationsoftheACM,Vol.15,No.12,December19…

  • 原型工具 墨刀_原型设计工具 axure

    原型工具 墨刀_原型设计工具 axure一、AxureAxureRP是美国AxureSoftwareSolution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网

  • 关于力矩单位的理解

    关于力矩单位的理解电机转矩,简单的说,就是指转动的力量的大小。但电动机的转矩与旋转磁场的强弱和转子笼条中的电流成正比,和电源电压的平方成正比所以转矩是由电流和电压的因素所决定的。转矩是一种力矩,力矩在物理中的定义是:力矩=力×力臂电机的“扭矩”,单位是N·m(牛米)。电磁转矩的计算公式没有涉及力臂的概念,单位为什么也是N.m?电磁转矩是机电能量转换的桥梁。从电角度看T=CT*Φ*Ia;从机

  • unix命令大全详解-完整版_command方式:「建议收藏」

    unix命令大全详解-完整版_command方式:「建议收藏」UNIX命令大全详解-完整版command方式:任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入都引起立即反映insert方式:任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入in

  • awk 数组学习

    awk 数组学习awk是Linux一个必不可少的文本处理工具,其编程简单,功能强大。其中awk处理文本的几块比较常用:1、行分隔;2、正则表达式匹配;3、字符串处理;4、awk数组。接下来主要介绍一下awk数组的相关内容。awk数组特点:(1)、是一种关联数组(AssociativeArrays),下表可以是数字也可以是字符串,(2)、数组名和元素无需提前声明,(3)、无需指定数…

  • Protostuff使用示例

    Protostuff使用示例Protostuff使用示例1、引入Maven依赖的JAR包&amp;lt;dependency&amp;gt;&amp;lt;groupId&amp;gt;io.protostuff&amp;lt;/groupId&amp;gt;&amp;lt;artifactId&amp;gt;protostuff-core&amp;lt;/artifactId&amp;gt;

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号