【问题标题】:How to select a part of vector in boost c++如何在boost c ++中选择向量的一部分
【发布时间】:2014-04-30 09:20:26
【问题描述】:

我有一个愚蠢的问题,我想把它砍掉或者只选择一部分向量元素。

我正在使用boost矩阵输出一个数字矩阵,boost有一个非常简洁的函数,matrix_column (matrix, index)在boost矩阵中选择一列作为向量。

现在我需要将选定的列分成两部分,并进行不同的计算。 我想我想要一种选择 matlab 或 R 中的元素的方法,即 vector(1:5),返回 1 到 5 个索引向量。

你们能给我一些建议或指导吗?现在我正在考虑一种将选定部分复制到新向量来处理我的计算的方法,效率不高。

【问题讨论】:

  • inb4 有人提到std::valarray... :S

标签: c++ r matlab boost vector


【解决方案1】:

只需传递向量的两个迭代器(如vec.begin()vec.begin() + n)甚至是boost:range

这(一对迭代器)是 STL 的做法,你可以找到很多例子here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多