问题标签 [boost-foreach]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
16727 浏览

c++ - 使用 BOOST_FOREACH 遍历目录中的所有文件

您可以使用 boost::filesystem 和 BOOST_FOREACH 遍历目录中的所有文件吗?我试过

此代码编译、运行,但不会产生所需的结果。

0 投票
4 回答
2688 浏览

c++ - 如何将 BOOST_FOREACH 与仅支持 const_iterator 的容器一起使用?

我有这个容器:

鉴于此,以下代码编译得很好:

但是,Row该类不应具有可变迭代器,因此我通过删除可变访问来更改 Row 类:

但是现在相同的 foreach 循环无法编译:

从错误消息中,我了解到BOOST_FOREACH尝试实例化一个range_mutable_iterator类型,这显然失败了。我如何让它实例化常量范围?

谢谢。

编辑

以下是Rowand的完整类声明FieldIterator

0 投票
3 回答
453 浏览

c++ - 安全地重新定义 BOOST_FOREACH 宏

我有以下宏:

(我正在使用这个宏,因为我的容器没有实现可变迭代 API。)

它的问题在于它c被评估了两次。

我的问题是可以修复这个宏,以便:

  1. c最多评估一次
  2. 为了满足第一个条件而创建的任何局部变量仅存在于各自的 foreach 范围内。
0 投票
5 回答
3091 浏览

c++ - 为什么 BOOST_FOREACH 不完全等同于手工编码?

来自 boost doc

这导致近乎最佳的代码生成;BOOST_FOREACH 的性能通常在等效手动编码循环的百分之几内。

我想使用宏和非标准的 typeof 运算符,我们可以生成完全相同的一个。BOOST_FOREACH 的什么特性使它不精确?

编辑:

我的版本:

我正在尝试编写一个没有任何开销的版本。这使用非标准 typeof 并给出迭代器而不是 value_type。我在这里错过了什么吗?

0 投票
3 回答
6465 浏览

c++ - 将 BOOST_FOREACH 替换为“纯”C++11 替代品?

是否可以BOOST_FOREACH用“纯”C++11 等价物替换此示例中的 ?

关键特性是将键/值对保留在对 和 的引用kv

我试过:

但是基于范围的 for 循环想法似乎都不起作用。据推测,基于范围的 for 循环需要在 之前有一个声明:,因为即使:

无效。

我能找到的最接近的等价物是:

这不像BOOST_FOREACH版本那么简洁!

有没有办法在 C++11 中简洁地表达同样的事情而无需提升?

0 投票
2 回答
1205 浏览

c++ - 使用带有常量侵入列表的 BOOST_FOREACH

考虑以下代码,使用 BOOST_FOREACH 宏迭代侵入性列表:

鉴于 boost 版本 1.48,代码在 clang 3.2 (SVN) 和 gcc 4.6.3 中失败,但适用于 gcc 4.5.3。xs对代码使用非 const 限定参数iterate。启用 C++11 后,所有编译器都接受该代码。使用 boost-1.46 时,两个 gcc 版本都接受代码,但 clang 仍然不接受。

手头的代码是对宏的滥用BOOST_FOREACH,还是提升方面的错误?是否有比使用常规 for 循环进行迭代更好的解决方法?

编辑:我将错误消息粘贴到GCCclang的 pastebin (两者都非常冗长)。

0 投票
1 回答
8031 浏览

c++ - 我们如何在 boost 属性树中获取对象

我需要理解和修改示例代码。我被困在某个时候,找不到任何解决方案。这是代码:

有人可以告诉我这里的“第二”是什么意思吗?

这是程序读取的 JSON 示例:

还有一个问题,当我尝试编译代码时,我也收到以下错误。这是什么意思,我该如何解决?

非常感谢。

0 投票
1 回答
148 浏览

c++ - 没有 Boost 的 BOOST_FOREACH?

是否有一个BOOST_FOREACH不需要Boost的“for each”宏的实现?

0 投票
1 回答
10839 浏览

c++ - 使用 boost 属性树解析 JSON

我正在构建一个从 themoviedb.com 获取电影信息的应用程序。该信息以 JSON 文件的形式提供。我正在尝试使用 boost 属性树来存储信息。但是有一个小问题。

我通过以下代码说明问题:

但是当我运行它时,我得到以下输出:

有谁知道我做错了什么?我猜它在 BOOST_FOREACH 代码中。

PS:将 Xcode 4.5.2 与 LLVM GCC 4.2 编译器一起使用。

0 投票
3 回答
11381 浏览

c++ - BOOST_FOREACH 和一个向量

我有一个场景向量,vector<Scene>。作为参考或不作为参考,迭代元素的正确方法是什么?

例如这个:

宏是在向量上的每次迭代中复制场景,还是在幕后使用参考?

那么它与此有什么不同: