c++中的泛型迭代器

     2023-02-21     219

关键词:

【中文标题】c++中的泛型迭代器【英文标题】:Generic iterator in c++ 【发布时间】:2012-09-08 16:33:51 【问题描述】:

我正忙于一个项目,想知道type T 数组的通用迭代器类是什么以及如何编写一个。我在书籍和网站上看过,但我找不到任何东西。请帮忙。但是不要给我写代码。

【问题讨论】:

应该符合RandomAccessIterator concept。 【参考方案1】:

可能是一个具有一元运算符*++ 和可能定义的-- 的类,其中第一个返回对底层T 对象的引用,第二个将迭代器推进到下一个元素容器,最后一个将迭代器向后推进。

或者,如果您使用一些标准容器,只需返回 yourContainer.begin()yourContainer.find() 的值。

如果您详细说明您的问题,您可以获得更好的答案。例如,您使用的是什么容器?什么是通用迭代器?

【讨论】:

是泛型向量还是模板相关?

从 C++ 中的泛型函数返回可选的

】从C++中的泛型函数返回可选的【英文标题】:returnoptionalfromgenericfunctioninc++【发布时间】:2017-02-0304:38:59【问题描述】:不使用optional&lt;T&gt;fromBOOSTlibrary在c++中返回泛型可选的另一种方法是什么示例template<classT>Tsearch... 查看详情

聊聊c#和c++中的泛型模板底层玩法

...点意思,这一篇我们来聊聊它们底层是怎么玩的?一:C++中的模板玩法毕竟C++是兼容C语言,而C是过程式的玩法,所以C++就出现了两种模板类型,分别为:函数模板 查看详情

语言中的泛型

java的设计采用了单根结构,除去在GC上的好处之外,在泛型编程上(模板C++),因为所有的类型都继承自Object,因此利用向上塑型,我们是可以写出如下的代码:publicclassGenericTest{publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add(... 查看详情

使用正确的泛型类型迭代对象

】使用正确的泛型类型迭代对象【英文标题】:Iterateoverobjectwithcorrectgenerictype【发布时间】:2022-01-1911:51:15【问题描述】:我想迭代一个通用接口。并使用jsx中对象的值。但是Typescript会抛出以下内容:\'(key:K)=>JSX.Element\'类型... 查看详情

聊聊c#和c++中的泛型模板底层玩法(代码片段)

...篇我们来聊聊它们底层是怎么玩的?一:C++中的模板玩法毕竟C++是兼容C语言,而C是过程式 查看详情

c++模板(代码片段)

...类型别名时将类型或参数作为参数  指C++程序设计语言中的函数模板与类模板,是一种参数化类型机制,大体对应于java和C#中的泛型,但也有一些功能上的显著差异(C++模板支持后两者没有明确对应的模板模板参数和模板非... 查看详情

c语言的泛型编程

...问题,实现一个泛型的swap函数,分别使用C++和C实现。2C++的泛型  C++有良好的泛型编程机制,所以我很快就写出了C++版的泛型swap函数。template<typenameT>voidMySwap(T&a,T&b){ Tc=a; a=b; b=c;}3C语言的泛型  我的第一想法是既... 查看详情

lua中的泛型for用法:fori,vintalbedo....end

...fun1的返回值必须是一个迭代函数不然就计算不完了。lua中的泛型for直接使用talbe的原因:当我 查看详情

如何处理 GraphQl-Java 中的泛型类型?

】如何处理GraphQl-Java中的泛型类型?【英文标题】:HowtohandlegenerictypesinGraphQl-Java?【发布时间】:2018-09-2918:05:11【问题描述】:我尝试使用以下解析器将我们的模型转换为GraphQL架构:@ComponentpublicclassQueryResolverimplementsGraphQLQueryReso... 查看详情

如何解决 Realm 对象观察器的泛型问题?

】如何解决Realm对象观察器的泛型问题?【英文标题】:HowdoIresolvethegenericforRealm\'sobjectobserver?【发布时间】:2021-12-1701:17:03【问题描述】:我已经在Realm中实现了一个对象观察器...letcontactObserver:NotificationToken=contact.observechangeinswit... 查看详情

集合迭代器增强for泛型

...法直接创建对象,使用多态的方式创建对象Collection<集合中的数据类型(泛型)>coll=newArrayList<集合中的数据类型(泛型)>();迭代器集合中存储数据的方式(数据类型)不一样,取出集合中元素的方式也不同,java给我们提供了一种公... 查看详情

Swift 中的泛型数组

】Swift中的泛型数组【英文标题】:ArraysofGenericsinSwift【发布时间】:2015-04-2211:50:24【问题描述】:我一直在玩不同类型的泛型类数组。用一些示例代码最容易解释我的问题://Obviouslyaverypointlessprotocol...protocolMyProtocolvarvalue:Selfgete... 查看详情

C++中的向量迭代器

】C++中的向量迭代器【英文标题】:vectoriteratorinc++【发布时间】:2012-08-1314:49:17【问题描述】:我正在尝试使用迭代器在c++中遍历vector&lt;char*&gt;。我已经构建了一个虚拟程序,它应该从末尾开始,在数字>0上后退(朝向... 查看详情

java中的泛型

...的泛型,在实际声明时可以用特定的引用类型替代<>中的字母,如 ArrayList<String>arrString=newArrayList<>(); 该语句实现了指向String对象的ArrayList容器的声明。 2.泛 查看详情

lua迭代器iterator

...(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址在Lua中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。泛型for迭代器泛型for在自己内部... 查看详情

java中的泛型方法

java中的泛型方法:是否拥有泛型方法。与其所在的类是否泛型没有关系。泛型的声明,必须在方法的修饰符(public,static,final,abstract等)之后。返回值声明之前。和泛型类一样,能够声明多个泛型,用逗号隔开。一个st... 查看详情

地图 C++ 中的迭代器失效

】地图C++中的迭代器失效【英文标题】:iteratorinvalidationinmapC++【发布时间】:2018-04-1809:02:19【问题描述】:我有一个示例程序,我试图在其中查看迭代器在从地图中删除元素时如何失效。程序在这里:#include<iostream>#include<... 查看详情

覆盖方法中的泛型

】覆盖方法中的泛型【英文标题】:Genericsinoverriddenmethods【发布时间】:2013-04-0404:04:20【问题描述】:遇到了一个有趣的问题;以下类编译:publicclassTestpublicstaticvoidmain(String[]args)throwsExceptionAa=newA();Bb=newB();foo(a);foo(b);privatestaticvoi... 查看详情