• 【C++】泛型算法到定制操作


    什么是算法

    标准库中,算法都是独立于特定类型和容器的,这些算法都是通用的因此被称为泛型(generic),算法永远不会改变底层容器的大小。算法可能改变容器中保存的元素的值,也可能在容器中移动元素,但是永远不会直接添加或删除元素,算法对迭代器进行操作。
    算法通常包括:

    • 只读算法
    • 写容器元素的算法
    • 重拍容器元素的算法

    定制操作

    除了一些基本的操作,我们还可以定义操作。

    • 向算法传递函数
      谓词的概念,算法调用函数参数的个数。
      lambda表达式,使用lambda表达式可以摆脱谓词的限制。lambda函数的捕获方式包括:按值、按引用和隐式捕获。
    • 参数绑定
      对于那种只在一两个地方使用的简单操作,lambda表达式是最有用的。如果我们需要在很多地方使用相同的操作,通常应该定义一个函数,而不是多次编写相同的lambda表达式。类似地,如果一个操作需要很多语句才能完成,通常使用函数更好。(注意lambda是“表达式”而不是函数)
      由于一些算法只接受固定谓词的函数,但是我们又想用函数这是我们可以使用标准库bind函数。
      • bind函数
        bind函数可以看作一个通用的函数适配器。

        基本上是一眼懂。

    回调函数

  • 相关阅读:
    野心和实力的磨合
    tpm
    菜猫学习linux笔记(1)
    调试理解过程
    TSS学习记录
    RSA加密算法理解(整理自网络)
    *args和**kwargs在python中的作用
    在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器
    ubuntu安装微信客户端
    ubuntu 桌面操作系统安装WPS办公软件的方法
  • 原文地址:https://www.cnblogs.com/vrijheid/p/14621998.html
Copyright © 2020-2023  润新知