zoukankan      html  css  js  c++  java
  • C++学习笔记32 断言函数


    首先,让我们来看看百度百科上"断言函数"定义说明:

    1定义编辑

    一个推断式,一个返回bool值的函数或者仿函数。几元就是函数有几个參数,至于定义和使用。函数定义和一般的函数定义一样。仿函数就是写个类,然后重载operator()。

    使用就是在那些以这样的须要返回bool值的函数作參数的函数里用了。

    一元谓词函数举比例如以下

    1,推断给出的string对象的长度是否小于6
    bool GT6(const string &s)
    {
    return s.size() >= 6;
    }
    2,推断给出的int是否在3到8之间
    bool Compare( int i ) 
      { 
      return ( i >= 3 && i <= 8 ); 
      }

    二元谓词举比例如以下

    1,比較两个string对象,返回一个bool值。指出第一个string是否比第二个短
    bool isShorter(const string &s1, const string &s2)
    {
    return s1.size() < s2.size();
    }

    谓词函数主要用于STL算法.比如以下的一个样例

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    bool isZero(int num){
    	return num==0;	
    }
    int main(){
    	vector<int> v1={10,11,12,13};
    	vector<int> v2({7,8,9,15,0});
    	auto b1=find_if(v1.begin(),v1.end(),isZero);
    	if(b1!=v1.end()){
    		cout<<"v1存在元素0!"<<endl;
    	}else{
    		cout<<"v1不存在元素0!"<<endl;
    	}
    	auto b2=find_if(v2.begin(),v2.end(),isZero);
    	if(b2!=v1.end()){
    		cout<<"v2存在元素0!"<<endl;
    	}else{
    		cout<<"v2不存在元素0!"<<endl;
    	}
    	
    	
    }

    find_if()接受一个谓词函数回调作为參数.

    find_if()算法对范围内每一个元素调用谓词,直到这个谓词返回true;

    假设返回true,find_if()它返回一个参考的元素迭代器.否则,它在尾部返回迭代.


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    搜索型SQL注入解决方法
    windows10系统下phpstudy安装php8版本
    齐博cms基础教程之认识齐博cms
    thinkphp查找父级栏目及子级栏目的所有文章
    phpstudy+iis搭建php项目
    python办公自动化基础搜索文件
    thinkphp屏蔽ip访问项目做法
    thinkphp使用paypal进行支付的做法详细步骤
    数据库无法插入数据解决方法
    tp5发送邮件适用于常用的php版本做法
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4656312.html
Copyright © 2011-2022 走看看