模板方法中可调用对象的最佳类型是什么?

scx

每当我编写一个接受模板可调用的签名时,我总是想知道参数的最佳类型是什么。它应该是值类型还是const引用类型?

例如,

template <class Func>
void execute_func(Func func) {
    /* ... */
}

// vs.

template <class Func>
void execute_func(const Func& func) {
    /* ... */
}

是否存在可调用大于64位(又称指向func的指针)的情况?也许std::function表现不同?

古普塔

通常,我不喜欢通过callableconst引用传递对象,因为它不那么灵活(例如,不能在可变lambda上使用)。我建议按价值传递它们。如果检查stl算法的实现(例如std::for_each),那么所有可调用对象也会按值传递。

这样,如果需要,用户仍然可以使用std::ref(func)std::cref(func)避免不必要地复制可调用对象(使用reference_wrapper)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在对象中获取调用方类名称的最佳方法是什么?

来自分类Dev

使用捕获模板化可调用对象的返回类型

来自分类Dev

在Rails中调用Postgres存储函数的最佳方法是什么?

来自分类Dev

在WASM中调用我的API的最佳方法是什么?

来自分类Dev

在Laravel迁移中更改列类型的最佳方法是什么?

来自分类Dev

在C ++中实现分数类型的最佳方法是什么?

来自分类Dev

在 tsconfig 中显式包含类型的最佳方法是什么?

来自分类Dev

“模块对象不可调用”是什么意思?

来自分类Dev

“ TypeError'xxx'对象不可调用”是什么意思?

来自分类Dev

“模块对象不可调用”是什么意思?

来自分类Dev

从联接查询中读取嵌套对象的最佳方法是什么

来自分类Dev

在Rails表单对象中处理日期的最佳方法是什么

来自分类Dev

在Android中绘制任意对象的最佳方法是什么?

来自分类Dev

在JavaScript中删除对象的最佳方法是什么?

来自分类Dev

在Rails中迭代嵌套对象的最佳方法是什么

来自分类Dev

在JavaScript对象中迭代属性的最佳方法是什么?

来自分类Dev

从键列表中获取对象的最佳方法是什么?

来自分类Dev

在Java List中合并相似对象的最佳方法是什么?

来自分类Dev

在Redis中存储对象的最佳方法是什么?

来自分类Dev

Cython中的枚举是检查对象的最佳方法是什么?

来自分类Dev

对Android中的许多对象使用SoundPools的最佳方法是什么?

来自分类Dev

在对象中定义因变量的最佳方法是什么?

来自分类Dev

在Rails表单对象中处理日期的最佳方法是什么

来自分类Dev

在Rails中设置固定对象关系的最佳方法是什么

来自分类Dev

防止在 Realm 中复制对象的最佳方法是什么?

来自分类Dev

在文件中存储大量对象的最佳方法是什么?

来自分类Dev

从其他类访问非类型模板参数的最佳方法是什么?

来自分类Dev

调用函数的最佳方法是什么?

来自分类Dev

对象列表投射的最佳方法是什么

Related 相关文章

  1. 1

    在对象中获取调用方类名称的最佳方法是什么?

  2. 2

    使用捕获模板化可调用对象的返回类型

  3. 3

    在Rails中调用Postgres存储函数的最佳方法是什么?

  4. 4

    在WASM中调用我的API的最佳方法是什么?

  5. 5

    在Laravel迁移中更改列类型的最佳方法是什么?

  6. 6

    在C ++中实现分数类型的最佳方法是什么?

  7. 7

    在 tsconfig 中显式包含类型的最佳方法是什么?

  8. 8

    “模块对象不可调用”是什么意思?

  9. 9

    “ TypeError'xxx'对象不可调用”是什么意思?

  10. 10

    “模块对象不可调用”是什么意思?

  11. 11

    从联接查询中读取嵌套对象的最佳方法是什么

  12. 12

    在Rails表单对象中处理日期的最佳方法是什么

  13. 13

    在Android中绘制任意对象的最佳方法是什么?

  14. 14

    在JavaScript中删除对象的最佳方法是什么?

  15. 15

    在Rails中迭代嵌套对象的最佳方法是什么

  16. 16

    在JavaScript对象中迭代属性的最佳方法是什么?

  17. 17

    从键列表中获取对象的最佳方法是什么?

  18. 18

    在Java List中合并相似对象的最佳方法是什么?

  19. 19

    在Redis中存储对象的最佳方法是什么?

  20. 20

    Cython中的枚举是检查对象的最佳方法是什么?

  21. 21

    对Android中的许多对象使用SoundPools的最佳方法是什么?

  22. 22

    在对象中定义因变量的最佳方法是什么?

  23. 23

    在Rails表单对象中处理日期的最佳方法是什么

  24. 24

    在Rails中设置固定对象关系的最佳方法是什么

  25. 25

    防止在 Realm 中复制对象的最佳方法是什么?

  26. 26

    在文件中存储大量对象的最佳方法是什么?

  27. 27

    从其他类访问非类型模板参数的最佳方法是什么?

  28. 28

    调用函数的最佳方法是什么?

  29. 29

    对象列表投射的最佳方法是什么

热门标签

归档