将成员函数用作可调用对象

简介: 19.18编写一个函数,使用count_if统计在给定的vector中有多少个空string。 #include #include #include #include #include using namespace std; int main() { vector...

19.18编写一个函数,使用count_if统计在给定的vector中有多少个空string。

#include<algorithm>
#include<string>
#include<iostream>
#include<vector>
#include<functional>
using namespace std;

int main()
{
    vector<string> svec={"fhhd","fdf","","hafh","",""};
    function<bool (const string&)> fcn=&string::empty;
    cout<<find_if(svec.begin(),svec.end(),fcn)-svec.begin()<<endl;
    cout<<find_if(svec.begin(),svec.end(),mem_fn(&string::empty))-svec.begin()<<endl;
    cout<<find_if(svec.begin(),svec.end(),bind(&string::empty,std::placeholders::_1))-svec.begin()<<endl;
    cout<<count_if(svec.begin(),svec.end(),fcn)<<endl;
    cout<<count_if(svec.begin(),svec.end(),mem_fn(&string::empty))<<endl;
    cout<<count_if(svec.begin(),svec.end(),bind(&string::empty,std::placeholders::_1))<<endl;
}

 

相关文章
|
5月前
|
C++
C++中一个函数接收一个类对象时使用引用会怎样
其实传值时就相当于,使用类型对象B(实参)去给类型对象A(形参)初始化。是不是有点熟悉了? 没错就是拷贝构造函数做的事情。虽然AB类型不一致。但是创建B对象的类类型是创建A对象的类类型的派生类。 这种情况下并不会产生类型不匹配的错误。
31 0
|
4月前
|
Java
【Java方法重载】 定义,使用,理解,示例解读
【Java方法重载】 定义,使用,理解,示例解读
|
5月前
|
存储 算法 C语言
27 C++ - 对象成员变量和函数的存储
27 C++ - 对象成员变量和函数的存储
18 0
|
编译器 C++
【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数(一)
朋友们好啊,今天终于更新了。我是柠檬叶子C,本章将继续讲解C++中的面向对象的知识点,本篇主要讲解默认成员函数中的构造函数、析构函数和拷贝构造函数。还是和以前一样,我们将由浅入深地去讲解,以 "初学者" 的角度去探索式地学习。会一步步地推进讲解,而不是直接把枯燥的知识点倒出来,应该会有不错的阅读体验。如果觉得不错,可以 "一键三连" 支持一下博主!你们的关注就是我更新的最大动力!Thanks ♪ (・ω・)ノ
103 0
【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数(一)
|
安全 编译器 C++
【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数(二)
朋友们好啊,今天终于更新了。我是柠檬叶子C,本章将继续讲解C++中的面向对象的知识点,本篇主要讲解默认成员函数中的构造函数、析构函数和拷贝构造函数。还是和以前一样,我们将由浅入深地去讲解,以 "初学者" 的角度去探索式地学习。会一步步地推进讲解,而不是直接把枯燥的知识点倒出来,应该会有不错的阅读体验。如果觉得不错,可以 "一键三连" 支持一下博主!你们的关注就是我更新的最大动力!Thanks ♪ (・ω・)ノ
73 0
【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数(二)
引用调用
引用调用
93 0
|
编译器 C++
C++关于参数是对象时要调用拷贝构造函数进行传参的问题探讨
C++关于参数是对象时要调用拷贝构造函数进行传参的问题探讨
231 0
|
程序员
构造函数和实例对象和原型之间的关系
构造函数和实例对象和原型之间的关系
构造函数和实例对象和原型之间的关系
|
JavaScript 前端开发
证明函数是对象的特殊子类型和函数的对象属性
证明函数是对象的特殊子类型和函数的对象属性
类中静态方法的调用,根据传入值生成不同类但同一个接口对象,调用其中实现的接口的方法.
实现同一个接口的不同的类,根据调用总和类中静态类型(返回值同接口)方法,(传入不同值),根据if else判定该new哪一个实现类.从而使用不同的接口的实现方法.  将编程看作是一门艺术,而不单单是个技术。
1084 0