关于C++ Primer中bind占位符_1参数传递的技术疑问
关于bind占位符_1的参数说明
这里的占位符_1会接收**find_if遍历ivec时的每个int类型元素值**。
具体逻辑如下:
bind(check_size, word, _1)生成了一个适配后的可调用对象,它把check_size的第一个参数固定为word(即字符串"turtle"),_1代表这个适配对象的第一个参数位置,会在调用时被传入的值填充。- 当
find_if遍历ivec的过程中,每遇到一个元素,就会把该元素的值传给适配对象的第一个参数(也就是_1对应的位置),进而调用check_size(word, 当前元素值),判断word.size()(此处为6)是否小于当前元素值。 - 代码里
ivec排序后为[1,2,3,4,5,6,7,8],第一个满足6 < sz的元素是7,因此最终输出7。
内容的提问来源于stack exchange,提问作者gaofeng
相关产品推荐
相关产品推荐

