首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D STL容器Phobos -如何使用范围?

D STL容器Phobos -如何使用范围?
EN

Stack Overflow用户
提问于 2012-06-13 03:25:14
回答 1查看 232关注 0票数 3

我找不到任何关于如何将范围与容器结合使用的好文档。我尝试使用给定的.insertAfter()函数将一个元素插入到SList中。它需要一个范围,但我不知道如何检索它。

有没有人能贴出一两个例子来说明如何使用这个文档不完善的特性?

这是containers - http://dlang.org/phobos/std_container.html的D文档

我还读到了ranges可以像c++迭代器一样使用。如果这是真的,我如何在循环中使用范围?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-13 03:50:53

使用切片运算符([])获取容器的范围

要遍历容器,您可以执行以下操作:

代码语言:javascript
复制
foreach(el;container[]){

}

范围具有一个前端属性,该属性是当前指向的元素,范围的popFront将把范围移动到下一个元素,而empty将指示范围是否在末尾

上面的foreach循环等同于

代码语言:javascript
复制
for(auto range=container[];!range.empty;range.popFront()){
    auto el = range.front;

}

要插入到列表的中间,您需要执行以下操作

代码语言:javascript
复制
container.insertAfter(take(container[],5),element);

在末尾插入它的

代码语言:javascript
复制
container.insertAfter(container[],element);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11003443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档