93.STL-系統內置仿函數

? ? ? ?

目錄

?算術仿函數

關系仿函數?

邏輯仿函數?


? ? ? ? C++ 標準庫中提供了一些內置的函數對象,也稱為仿函數,它們通常位于 <functional> 頭文件中。以下是一些常見的系統內置仿函數:

?算術仿函數

功能描述:

  • 實現四則運算
  • 其中negate是一元運算,其他都是二元運算

仿函數原型:

  • template<class T> T plus<T> //加法仿函數
  • template<class T> T minus<T> //減法仿函數
  • template<class T> T multiplies<T> //乘法仿函數
  • template<class T> T divides<T> //除法仿函數
  • template<class T> T modulus<T> //取模仿函數
  • template<class T> T negate<T> //取反仿函數
#include <iostream>
#include <functional>using namespace std;int main() {plus<int> m;//加法仿函數cout << m(10,20) << endl;minus<int> m1;//減法仿函數cout << m1(20, 10) << endl;multiplies<int> m2;//乘法仿函數cout << m2(20, 10) << endl;divides<int> m3;//除法仿函數cout << m3(20, 10) << endl;modulus<int> m4;//取模仿函數cout << m4(20, 8) << endl;negate<int> m5;//取反仿函數cout << m5(20) << endl;return 0;
}

?

關系仿函數?

功能描述:

  • 實現關系對比

仿函數原型:

  • template<class T> bool equal_to<T> //等于
  • template<class T> bool not_equal_to<T> //不等于
  • template<class T> bool greater<T> //大于
  • template<class T> bool greater_equal<T> //大于等于
  • template<class T> bool less<T> //小于
  • template<class T> bool less_equal<T> //小于等于
void test01()
{vector<int> v;v.push_back(10);v.push_back(30);v.push_back(50);v.push_back(40);v.push_back(20);for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {cout << *it << " ";}cout << endl;//自己實現仿函數//sort(v.begin(), v.end(), MyCompare());//STL內建仿函數 大于仿函數sort(v.begin(), v.end(), greater<int>());//大于for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {cout << *it << " ";}cout << endl;
}
int main() {test01();system("pause");return 0;
}

?

邏輯仿函數?

功能描述:

  • 實現邏輯運算

函數原型:

  • template<class T> bool logical_and<T> //邏輯與
  • template<class T> bool logical_or<T> //邏輯或
  • template<class T> bool logical_not<T> //邏輯非
void test01()
{vector<bool> v;v.push_back(true);v.push_back(false);v.push_back(true);v.push_back(false);for (vector<bool>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}cout << endl;//邏輯非 將v容器搬運到v2中,并執行邏輯非運算vector<bool> v2;v2.resize(v.size());transform(v.begin(), v.end(), v2.begin(), logical_not<bool>());for (vector<bool>::iterator it = v2.begin(); it != v2.end(); it++){cout << *it << " ";}cout << endl;
}
int main() {test01();system("pause");return 0;
}

?

?寫在最后:以上就是本篇文章的內容了,感謝你的閱讀。如果感到有所收獲的話可以給博主點一個贊哦。如果文章內容有遺漏或者錯誤的地方歡迎私信博主或者在評論區指出~??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160906.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160906.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160906.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java游戲之飛翔的小鳥

前言 飛翔的小鳥 小游戲 可以作為 java入門階段的收尾作品 &#xff1b; 需要掌握 面向對象的使用以及了解 多線程&#xff0c;IO流&#xff0c;異常處理&#xff0c;一些java基礎等相關知識。一 、游戲分析 1. 分析游戲邏輯 &#xff08;1&#xff09;先讓窗口顯示出來&#x…

騰訊待辦導出的文件在哪找?支持打開ics文件的提醒待辦工具

您使用過騰訊待辦嗎&#xff1f;如果您在平常使用的提醒待辦工具為騰訊待辦&#xff0c;想必近期您打開這款提醒待辦工具時會看到提示您及時導出數據的提示。騰訊旗下的騰訊待辦應用&#xff0c;應業務發展方向調整將于2023年12月20日全面停止運營并下架該應用。 面對突如其來…

Redis的主從復制及哨兵模式

一、Redis的主從復制 1.1 Redis主從復制定義 主從復制是redis實現高可用的基礎&#xff0c;哨兵模式和集群都是在主從復制的基礎之上實現高可用&#xff1b; 主從復制實現數據的多級備份&#xff0c;以及讀寫分離(主服務器負責寫&#xff0c;從服務器只能讀) 1.2 主從復制流…

ChatGPT 也并非萬能,品牌如何搭上 AIGC「快班車」

內容即產品的時代&#xff0c;所見即所得&#xff0c;所得甚至超越所見。 無論是在公域的電商平臺、社交媒體&#xff0c;還是品牌私域的官網、社群、小程序&#xff0c;品牌如果想與用戶發生連接&#xff0c;內容永遠是最前置的第一要素。 01 當內容被消費過&#xff0c;就…

【python學習】基礎篇-常用模塊-os目錄操作

os模塊提供了許多與操作系統交互的函數&#xff0c;包括操作目錄的函數。 1、導入os模塊&#xff1a; import os2、獲取當前工作目錄&#xff1a;使用os模塊的getcwd()方法獲取當前工作目錄。 current_dir os.getcwd() print(current_dir)3、改變當前工作目錄&#xff1a;使…

2023全球數字貿易創新大賽7-8

目錄 2023全球數字貿易創新大賽 數據要素:數字經濟最核心的資源。(存儲,流通,使用)

C++虛析構和純虛析構解決delete堆區父類指針無法調用子類的構造函數

#include<iostream> #include<string>using namespace std;//虛析構和純虛析構 class Animal { public:Animal(){cout<<"執行Animal的構造函數"<<endl;}~Animal(){cout<<"執行Animal的析構函數"<<endl;}virtual void …

HTML新手入門筆記整理:HTML基本介紹

網頁 靜態頁面 僅可供用戶瀏覽&#xff0c;不具備與服務器交互的功能。 動態頁面 可供用戶瀏覽&#xff0c;具備與服務器交互的功能。 HTML HTML&#xff0c;全稱HyperText Markup Language&#xff08;超文本標記語言&#xff09;,是一種用于創建網頁的標準標記語言。用于…

HIS醫療項目

文章目錄 醫療項目簡介HIS項目介紹HIS架構解析HIS業務流程圖HIS項目架構圖 HIS組件解析——服務支撐 內存設置為4G或以上部署NGINX服務部署web安裝JDK部署Elasticsearch安裝ik中文分詞器 部署rabbitmq部署MySQL服務安裝MySQL服務建庫、授權用戶導入數據 部署Redis測試Redis 部署…

深入了解 JavaScript 中的 DOM 和 BOM

JavaScript 是一種強大的編程語言&#xff0c;它不僅可以操作網頁的內容&#xff0c;還可以控制瀏覽器的行為。在 JavaScript 中&#xff0c;DOM&#xff08;文檔對象模型&#xff09;和 BOM&#xff08;瀏覽器對象模型&#xff09;起著至關重要的作用。本文將深入探討這兩個概…

io+day5

1&#xff0c;select服務端 1 #include<myhead.h>2 3 #define PORT 8888 //端口號4 #define IP "192.168.228.165" //IP地址5 6 7 int main(int argc, const char *argv[])8 {9 //1、創建用于接受連接的套接字10 int sfd socket(…

pikachu靶場PHP反序列化漏洞

pikachu靶場PHP反序列化漏洞 源碼分析 查看源代碼 class S{var $test "pikachu";function __construct(){echo $this->test;} }// O:1:"S":1:{s:4:"test";s:29:"<script>alert(xss)</script>";} $html; if(isset($_PO…

unityplayer.dll如何安裝?unityplayer.dll缺失的解決方法

Unityplayer.dll是Unity引擎所需的一個重要動態鏈接庫&#xff08;DLL&#xff09;文件&#xff0c;負責在運行Unity創建的游戲或應用程序時處理相關的軟件邏輯。如果此文件意外丟失&#xff0c;可能會導致錯誤提示&#xff0c;甚至阻止程序的正常運行。因此&#xff0c;對于許…

Threejs_12 物體陰影的實現

所以在Threejs的畫布世界之中&#xff0c;一個物體有自己的影子呢&#xff1f; 陰影效果的實現 你需要先知道在threejs世界中&#xff0c;有哪些燈光或者材質是可以產生陰影效果的 環境光沒有陰影 平行光有陰影(太陽) 點光源有陰影(燈泡) 聚光燈有陰影(手電筒) 平面光源沒有…

GB/T 40623-2021 船用防靜電升高地板檢測

防靜電升高地板是指由地板構架、可拆地板和防靜電貼面搭建的地板。 GB/T 40623-2021 船用防靜電升高地板測試&#xff1a; 測試項目 測試方法 尺寸偏差與形位公差 GB/T 40623 表面處理 GB/T 40623 外觀 GB/T 40623 升高地板電性能 GB/T 40623 升高地板的載荷性能-系…

代碼隨想錄二刷 | 鏈表 |環形鏈表II

代碼隨想錄二刷 &#xff5c; 鏈表 &#xff5c;環形鏈表II 題目描述解題思路 & 代碼實現判斷鏈表是否有環如何找到環的入口 題目描述 142.環形鏈表II 給定一個鏈表的頭節點 head &#xff0c;返回鏈表開始入環的第一個節點。 如果鏈表無環&#xff0c;則返回 null。 如…

想發EI國際學術會議,但學校要求知網,這種情況該如何解決?

#學術發表# #國際會議# #知網要求# 近期后臺有私信想把論文發表在EI國際會議上&#xff0c;但是畢業要求又規定必須在知網上發表。看起來處境比較困難&#xff0c;作為一名師兄&#xff0c;我來分享下我的建議。 先要明確知網和EI國際會議的不同和各自的優劣&#xff1a; 知…

圖神經網絡:消息傳遞算法

一、說明 圖網絡-GNN&#xff08;Graph Neural Networks&#xff09;是近幾年研究的主題之一&#xff0c;雖不及深度神經網絡那么火爆&#xff0c;但在一些領域&#xff0c;如分子化學方面是不得不依賴的理論。本文就一些典型意義的圖神經網絡消息傳遞展開闡述。 二、圖網絡簡述…

Vue 3 渲染機制解密:從模板到頁面的魔法

Vue 3 渲染機制解密 前言Vue 3的響應性系統1. **Reactivity API:**2. **Proxy 對象:**3. **Getter 和 Setter:**4. **依賴追蹤:**5. **批量更新:**6. **異步更新:**7. **遞歸追蹤:**8. **刪除屬性:** 虛擬DOM的角色1. **減少直接操作真實 DOM:**2. **高效的批量更新:**3. **跨平…

【java】想要限制每次查詢的結果集不能超過10000行,該如何實現?

文章目錄 前言 前言 對于一些Saas化軟件&#xff0c;當某個租戶在執行查詢SQL時&#xff0c;如果查詢條件出現了BUG&#xff0c;導致去查了所有租戶的數據&#xff0c;這種情況是非常嚴重的&#xff0c;此時就需要在架構層面做限制&#xff0c;禁止一些特殊SQL的執行&#xff…