问题标签 [boost-tuples]

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 投票
9 回答
11426 浏览

c++ - Boost::Tuples vs Structs 返回值

我试图让我的头脑围绕元组(感谢@litb),他们使用的常见建议是返回> 1值的函数。

这是我通常会使用 struct 的东西,在这种情况下我无法理解元组的优势 - 对于最终懒惰的人来说,这似乎是一种容易出错的方法。

借用一个例子,我会用这个

使用元组,您将拥有

但是,如果不阅读您正在调用的函数的代码(或注释,如果您愚蠢到相信它们),您将不知道哪个 int 是商,反之亦然。好像比较像...

...这不会让我充满信心。

那么,元组与弥补歧义的结构相比有什么优势

0 投票
2 回答
6263 浏览

c++ - 常量 std::map?

使用 boost - 可以初始化 const std::containers 以进行测试等。如上面的代码所示,制作 const std::map 或 std::map 非常容易。创建 aconst map<string, std::vector<int>>有点复杂 - 但仍然相当容易。

我试图想出一个const std::map<boost::tuples::tuple<string, string, string>, string>但我无法初始化它。其他人有运气吗?

0 投票
1 回答
752 浏览

c++ - Boost::tuple 相当于 Python 的 itemgetter?

我有一些看起来像这样的代码:

不幸的是,最后一行没有编译 - 它给了我这样的消息:

基本上,要使用 Python 的 operator.itemgetter 函数,我想做这样的事情:

如何使用 Boost 做到这一点?

0 投票
1 回答
1134 浏览

c++ - 提升元组是可变的吗?

我一直在使用提升元组作为 STL 映射中的值。到目前为止,我只需要构造元组并插入到地图中,然后在稍后阶段检索值。

现在我需要能够更改地图中的元组。这是可能的,还是我遇到了一个你不应该使用元组而不是结构的地方。

谢谢

0 投票
4 回答
3264 浏览

c++ - 未知大小/参数类型的元组

我需要创建一个映射,从整数到元组集合,单个集合中的元组具有相同的大小。问题在于元组的大小及其参数类型可以在运行时确定,而不是在编译时确定。我在想像:

但不确定如何准确地做到这一点,主要是使用指针。

这样做的目的是创建临时关系(表),每个都有一个唯一的标识符(键),也许你有另一种方法。

0 投票
1 回答
1585 浏览

c++ - Boost.Tuple 是否与 C++0x 可变参数模板兼容?

我在玩可变参数模板(gcc 4.5)并遇到了这个问题:

GCC 错误信息:

如果我替换每次出现的boost::tupleby std::tuple,它编译得很好。
boost tuple 的实现有问题吗?或者这是一个 gcc 错误?

我现在必须坚持使用 Boost.Tuple。你知道任何解决方法吗?
谢谢。

0 投票
1 回答
656 浏览

c++ - 模板函数中的错误(使用 Boost.Tuples)

我正在获取具有此模板功能的库。Gcc 4.1.2 ( codepad.org ) 报告以下错误:

对模板更有经验的人可以提供建议吗?自己研究的问题或关键词?这让我卡住了。

0 投票
2 回答
2233 浏览

c++ - 使用可变参数模板解决 C++ 中的 mixin 构造函数问题

我最近解决了构造函数问题,其中相互装饰的各种混合类(以及最顶层的宿主类)具有不同的构造函数签名。为了在生成的装饰类中维护单个构造函数,并且不添加初始化函数,我找到了以下解决方案。它对 mixin 类的唯一限制是,如果它的构造函数接受多个参数,则它们都应该封装在一个元组中。(使用 g++ 编译此代码需要 -std=c++0x 标志)

我的问题是:
1) 有没有更好、更优雅的方法来用 C++0X 解决这个问题?
2)具体来说,元组真的有必要吗?

0 投票
1 回答
852 浏览

c++ - 错误: boost.fusion::for_each() 和从 boost.tuple 派生的结构

在编译此代码时:

得到错误:“struct any_type”中没有名为“category”的类型,为什么?我希望它继承自 boost.tuple。

0 投票
2 回答
1836 浏览

c++ - 提高元组性能

根据boost::tuple 文档,访问元组的单个元素与访问成员变量具有相同的性能。例如,给定以下声明:

这两个语句应该具有相同(或可以忽略不计)的性能:

我查看了 boost::tuple 的来源,如果我理解正确(我不确定我是否理解),get<N>函数实际上执行了这个操作:

这更像是在链表中查找而不是直接访问,并且据我所知,它具有 O(N) 复杂性而不是 O(1),这是成员访问所期望的。根据我过去的 boost 经验,我认为我理解错了。但我的错误是什么?get真正如何运作?