C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 了解值绑定器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
花了整整一年的时间,但我已经通过David Vandevoorde和Nicolai m. Josuttis在 C++ Templates – The Complete Guide工作了,现在我被困在最后一章的最后一部分 – 过去3周的价值粘合剂.

值粘合剂的介绍,第457页的第22.8节,很容易理解,但我发现本节其余部分的例子很难理解.具体来说,我不明白Binder(见functors/binder1.hppfunctors/binder2.hpp以及BinderParams类(见functors/binderparams.hpp)试图实现的目标.我的困难不在于模板语法,而在于这些类背后的意图.

Binder类如何执行绑定? BinderParams类如何识别(?)参数?这就是我难以看到/理解的东西.

解决方法

它是 partial application一个实现,你可以在其中获取一个函数(或函子),并将一个值“绑定”到它的一个参数上,以获得一个新的函子减去一个参数.

这通常用于将一般函数与特定数据组合,而无需自己编写额外的样板代码.

虑:您希望通过将函数应用于每个元素来转换集合,从而生成相同大小的新集合.例如,std :: transform需要一元函数.如果你已经有一个函数正在做你想要的但是需要更多的参数(例如,当你只想为每个元素添加相同的常量时,Kerrek的AddTwoThings),你可以:

>重写它
>编写另一个函数调用一个,并修复一个参数
>或者,您可以将一个参数绑定到固定值,获取std :: transform可以使用的一元函数

对于一些实例,显示了Vandevoor& C的标准等效物的简单用途. Josuttis的系统,看到令人惊讶的详细cppreference examples.

大佬总结

以上是大佬教程为你收集整理的c – 了解值绑定器全部内容,希望文章能够帮你解决c – 了解值绑定器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。