仿函数(functors),在C++标准中采用的名称是函数对象(function objects)就是类里重载()操作,实现用类伪装成函数,实现对应功能。比如可以藉此访问成员变量,让一元函数完成二元或多元函数的功能。以及与STL算法搭配使用。
还有比较神奇的语法:count_if(myVector.begin(), myVector.end(), ShorterThan(length));这里ShorterThan(length)是类的对象,却也可以调用operator()函数!
这一操作在https://www.jianshu.com/p/b4acf77af5fe这篇文章中多次使用。
而且结构体内也是可以实现仿函数。
原文链接: https://www.cnblogs.com/banlcer/p/13182404.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/358115
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!