gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 19:28:43 29 4
gpt4 key购买 nike

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

有人可以发布一两个示例来说明如何使用这个记录不完整的功能吗?

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

我也读过范围可以像 C++ 迭代器一样使用。如果这是真的,我如何在循环中使用范围?

最佳答案

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

迭代一个容器你可以这样做:

foreach(el;container[]){

}

一个range有一个front属性,它是当前指向的元素,一个range的popFront会将范围移动到下一个元素,empty表示该范围是否在末尾

上面的foreach循环等同于

for(auto range=container[];!range.empty;range.popFront()){
auto el = range.front;

}

插入到你需要做的列表的中间

container.insertAfter(take(container[],5),element);

在最后插入

container.insertAfter(container[],element);

关于STL - D STL 容器 Phobos - 如何使用范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003443/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com