排序元素的向量或元素的指针

尼克·查普曼

是否可以编写一个可以对avector<MyType>或a进行排序的函数vector<MyType*>

我有一些代码

template <class Iterator>
void SortMyType(Iterator first, Iterator last) {
  std::sort(first, last, [](const MyType& a, const MyType& b) {
      return a.some_value() < b.some_value();
    });
}

当我拥有时效果很好std::vector<MyType>但是现在我想对a进行排序,std::vector<MyType*>并且我想使用完全相同的逻辑。可以做这样的事情吗?

萨胡

如果您抽象掉了“获取价值”部分,则可以重新使用该函数的大部分。

template <class Iterator>
void SortMyType(Iterator first, Iterator last) {
  using ObjeceType = decltype(*first);
  std::sort(first, last, [](const ObjectType& a, const ObjectType& b) {
      return getValue(a) < getValue(b);
    });
}

哪里

ReturnType getValue(MyType const& o)
{
   return o.some_value;
}

ReturnType getValue(MyType const* p)
{
    return getValue(*p);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

访问向量元素的指针

来自分类Dev

通过元素指针作为键的无序映射对向量进行排序

来自分类Dev

返回向量元素的副本与返回向量元素的指针

来自分类Dev

如何过滤向量并返回指向向量元素的指针的向量

来自分类Dev

存储指向整数向量向量元素的指针向量

来自分类Dev

指针向量中的C ++擦除元素

来自分类Dev

如何通过指针擦除向量元素?

来自分类Dev

指针向量中的C ++擦除元素

来自分类Dev

通过原始指针访问int向量的元素

来自分类Dev

指向向量元素的C ++指针,元素已删除

来自分类Dev

指向向量元素的C ++指针,元素已删除

来自分类Dev

如何对向量中的对元素进行排序?

来自分类Dev

查找与排序向量比较的元素索引

来自分类Dev

快速排序算法(C ++)的结构向量的排序/交换元素

来自分类Dev

指针向量:为什么从外部更改指针不会改变向量元素?

来自分类Dev

如何在向量中的元素上进行指针/引用?

来自分类Dev

使用指针访问struct c ++向量中的元素

来自分类Dev

如何访问包含指向字符串的指针的向量的元素?

来自分类Dev

初始化为对象指针的向量中的哪些元素?

来自分类Dev

如何使用指针算法获取向量中元素的索引?

来自分类Dev

如何在指针中保存向量元素的详细信息?

来自分类Dev

将第 N 个元素推入元素 K-1 的向量后,对象指针向量的元素 K 变为空

来自分类Dev

有限距离内排序向量的最远元素

来自分类常见问题

R:按名称对命名向量中的元素进行排序

来自分类Dev

R:按名称对命名向量中的元素进行排序

来自分类Dev

按向量元素对数据框进行排序

来自分类Dev

在MATLAB中对向量的前N个元素进行排序

来自分类Dev

对列向量元素后面的矩阵行重新排序

来自分类Dev

查找两个已排序向量之间的公共元素

Related 相关文章

  1. 1

    访问向量元素的指针

  2. 2

    通过元素指针作为键的无序映射对向量进行排序

  3. 3

    返回向量元素的副本与返回向量元素的指针

  4. 4

    如何过滤向量并返回指向向量元素的指针的向量

  5. 5

    存储指向整数向量向量元素的指针向量

  6. 6

    指针向量中的C ++擦除元素

  7. 7

    如何通过指针擦除向量元素?

  8. 8

    指针向量中的C ++擦除元素

  9. 9

    通过原始指针访问int向量的元素

  10. 10

    指向向量元素的C ++指针,元素已删除

  11. 11

    指向向量元素的C ++指针,元素已删除

  12. 12

    如何对向量中的对元素进行排序?

  13. 13

    查找与排序向量比较的元素索引

  14. 14

    快速排序算法(C ++)的结构向量的排序/交换元素

  15. 15

    指针向量:为什么从外部更改指针不会改变向量元素?

  16. 16

    如何在向量中的元素上进行指针/引用?

  17. 17

    使用指针访问struct c ++向量中的元素

  18. 18

    如何访问包含指向字符串的指针的向量的元素?

  19. 19

    初始化为对象指针的向量中的哪些元素?

  20. 20

    如何使用指针算法获取向量中元素的索引?

  21. 21

    如何在指针中保存向量元素的详细信息?

  22. 22

    将第 N 个元素推入元素 K-1 的向量后,对象指针向量的元素 K 变为空

  23. 23

    有限距离内排序向量的最远元素

  24. 24

    R:按名称对命名向量中的元素进行排序

  25. 25

    R:按名称对命名向量中的元素进行排序

  26. 26

    按向量元素对数据框进行排序

  27. 27

    在MATLAB中对向量的前N个元素进行排序

  28. 28

    对列向量元素后面的矩阵行重新排序

  29. 29

    查找两个已排序向量之间的公共元素

热门标签

归档