如何制作 boost::filesystem::directory_iterator 的副本?

2023-12-01

我知道这听起来很愚蠢,但是看看这个简单的例子(工作目录应该有多个项目):

#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem.hpp>
#include <cassert>

int main()
{
    using namespace boost::filesystem;
    directory_iterator it("./");
    directory_iterator it_copy = it;
    ++it;
    assert(it_copy != it);
    return 0;
}

it_copy一起修改为it! (boost 1.45)什么考虑因素可以导致这样的设计(directory_iterator是类似 smart ptr 的东西吗?

我只需要保存一份副本directory_iterator以便稍后使用。


如果你看一下参考你会注意到它被广告为boost::single_pass_traversal_tag.

这相当于(在升压术语中)输入迭代器在 STL 中(将其视为从网络连接传递数据包的迭代器,无法倒回)。

另请注意(来自同一页面):

i == j并不意味着++i == ++j.

说到这里,有人可能会奇怪为什么它可以被复制。原因是 STL 算法已经设定了通过复制获取参数的规范。因此,如果无法复制,则无法与 STL 算法一起使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作 boost::filesystem::directory_iterator 的副本? 的相关文章

  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • PLSQL动态查询

    我有一个表 A 其中有列A它将表名作为值 所有这些表都有一个公共列C 我需要每个表的该列的最大值 我尝试使用动态 SQL 但出现错误 请建议 DECLARE query1 VARCHAR2 100 c table VARCHAR2 40 c
  • CSS 圆形边框填充动画

    我有一个 css 文件 它可以完美地制作圆形边框填充动画 其宽度和高度均为 100 像素 但我只需要在 50px 宽度和高度的圆圈中使用相同的动画 我尝试了很多次来最小化尺寸 但圆圈没有通过动画正确修复 请帮我缩小这个圈子 我的需求 宽度
  • 当我使用任务管理器终止程序时收到什么消息

    所以我有一个 C dll 在我的 C 应用程序中使用它来监视 Windows 消息 我想知道 WM CLOSE 和 WM QUERYENDSESSION 是否已发送 因为我无法从 C 应用程序中看到它们 如果我收到这些消息之一 我想对我的文
  • 如何在microsoft azure上的django项目中配置celery-redis?

    我在 azure 中部署了这个 django 定位器项目 我的 Redis 缓存主机名 DNS 是 mycompany azure microsoft net 我在 azure 中创建了它 但不确定在哪里可以找到 redis 服务器的密码
  • 无法在 PowerShell 中获取事件数据字段数据

    我正在尝试将事件 4625 中的特定数据字段 FailureReason 获取到 CSV 字段 我用以下代码分析了事件模式 Get WinEvent ListProvider Microsoft Windows Security Audit
  • 检测 kiosk 应用程序启动的 Citrix 会话的终止

    我正在开发一个信息亭应用程序 它为用户提供了 Citrix 连接的选择 其想法是 用户选择 kiosk 应用程序提供的连接 然后 kiosk 启动程序通过运行类似于以下内容的命令来启动所选连接 C Program Files Citrix
  • 在 pandas 数据框中插入缺少的工作日并用 NaN 填充它们

    我正在尝试在时间序列数据框中插入缺少的工作日 例如 import pandas as pd from pandas tseries offsets import df pd DataFrame 2016 09 30 10 2020 2016
  • 每次尝试在 Heroku 上部署可能的应用程序时,我都会收到此代码错误:代码:'ERR_DLOPEN_FAILED'

    我是 Heroku 的新手 目前正在使用 React Node js 构建一个应用程序 虽然我能够成功地将我的主分支推送到 Heroku 并且 Heroku 确认我的应用程序已成功部署 但是 尽管显示以下部署成功消息 部署到 Heroku
  • 使用 CSS3/JS 的 SVG 径向擦除动画

    How can i achieve a radial wipe animation in CSS3 or JS It s seems so simple but I can t figure it out 这是使用 jQuery 的基本方法
  • JQuery - Firefox 中的 $.ajax ContentType 问题

    我正在使用以下代码发出跨域 JSON 请求 ajax type POST crossDomain true contentType application json charset utf 8 data domain domain asse
  • 带视图的叠加选项卡栏

    我有一个UIViewController标签栏内 对于选项卡栏中的一个 VC 我允许界面随着设备旋转而旋转 挑战是 我想隐藏选项卡栏并调整内部视图的大小 我做了什么 1 被调用 void willAnimateRotation 在我的标签栏
  • 比 for 循环更有效的求和方法

    我有两个大小相同的列表 两者都包含数字 第一个列表是生成的 第二个列表是静态的 由于我有许多生成的列表 我想找出哪一个是最好的 对我来说 最好的列表是最等于参考的列表 因此我计算每个位置的差异并将其相加 这是代码
  • 在php上写入文件

    我想保留访问者的 IP 并将其保存在文件中 我尝试了 fwrite 函数 但我认为它是在文件上的先前 ip 上重写的 Example ip txt 为空 当我运行 write php 脚本时 在 ip txt 上我有 x x x x ip
  • 将 StackPanel.Visibility 绑定到其子级的 Visibility 属性

    我对数据绑定比较陌生 只是在阅读它 我想做的是 我有一个带有许多子控件的 StackPanel
  • 从模板函数返回 double 或complex

    我正在编写一些函数模板来重载 矩阵类的运算符 我对类型矩阵做了很多工作double and complex
  • 如何在 RStudio 中查看、打开和保存 .rdb 文件

    我可以按照指示将变量环境中 rdb 文件中的每个数据库视为 承诺 here 现在 我想编辑其中一个文件并保存它 我怎样才能做到这一点 我是 R 新手 在一次讨论中r pkg 开发 Ivan Krylov 提供了以下读取 RDB 数据库的函数
  • Powershell 将用户添加到组

    我正在尝试读取包含用户信息的 XML 文件 并根据该信息将用户添加到 Active Directory 组 到目前为止 我一直在查找错误消息 但没有任何帮助 这是将用户添加到组的代码 MyUsers xml Get Content e sa
  • 没有“static”或“extern”的“inline”在 C99 中有用吗?

    当我尝试构建这段代码时 inline void f int main f 使用命令行 gcc std c99 o a a c 我收到链接器错误 未定义的引用f 如果我使用 错误就会消失static inline or extern inli
  • 解决BaseGameActivity

    我试图追随的人一样多本教程没有成功 简单的错误是 The import com google example games basegameutils BaseGameActivity cannot be resolved BaseGameU
  • 如何制作 boost::filesystem::directory_iterator 的副本?

    我知道这听起来很愚蠢 但是看看这个简单的例子 工作目录应该有多个项目 define BOOST FILESYSTEM VERSION 3 include