C++之map

1、map介紹

????????map是C++ STL的一個關聯容器,它提供一對一的數據處理能力。其中,各個鍵值對的鍵和值可以是任意數據類型,包括 C++ 基本數據類型(int、double 等)、使用結構體或類自定義的類型。

????????第一個可以稱為關鍵字(key);
????????第二個可能稱為該關鍵字的值(value);
????????使用 map 容器存儲的各個鍵值對,鍵的值既不能重復也不能被修改。換句話說,map 容器中存儲的各個鍵值對不僅鍵的值獨一無二,鍵的類型也會用 const 修飾,這意味著只要鍵值對被存儲到 map 容器中,其鍵的值將不能再做任何修改。

2、map庫函數

2.1、構造函數

(1)map<key_DataType, value_DataType> map_vec;

//聲明一個map類型的變量舉例如下:
map<int, int> map1;
map<int, string> map2;
map<string, int> map3;
map<vector<int>, vector<vector<int>>> map4;
map<vector<int, int> map5

2.2、屬性操作

(1)empty() ? ? ? ? ? ? ?// 如果map為空,則返回true
(2)size() ? ? ? ? ? ? ? ? // 返回map中的元素數
(3)max?size() ? ? ? ? // 返回map的最大容量

2.3、元素訪問

(1)operator[] ? ? ? ? ? ? ? ? ? // 用給定的鍵檢索元素
(2)at ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 用給定的鍵檢索元素

2.4、增刪改查

insert()? ? ? ? ? ? ? ? ? ? //在map中插入元素
erase() ? ? ? ? ? ? ? ? ? ?//從map上擦除元素
swap() ? ? ? ? ? ? ? ? ? ? //交換map內容
clear() ? ? ? ? ? ? ? ? ? ? ?//刪除map的所有元素
emplace() ? ? ? ? ? ? ? //構造新元素并將其插入map
emplace_hint() ? ? ? //通過提示構造新元素并將其插入map
key?_comp() ? ? ? ? ? ? //返回鍵比較對象的副本
value?comp() ? ? ? ? ? ?//返回值比較對象的副本
find() ? ? ? ? ? ? ? ? ? ? ? ? ?//搜索具有給定鍵的元素
count() ? ? ? ? ? ? ? ? ? ? ? //獲取與給定鍵匹配的元素數
lower_bound() ? ? ? ? ? //返回迭代器的下限
upper_bound() ? ? ? ? // 返回一個迭代器到上限
equal_range() ? ? ? ? ? //返回與給定鍵匹配的元素范圍

2.5、迭代器

(1)begin() ? ? ? ? ? ? ? ?//返回指向map中第一個元素的迭代器
(2)cbegin() ? ? ? ? ? ? ?//返回指向map中第一個元素的consti迭代器
(3)end() ? ? ? ? ? ? ? ? ?// 返回指向末尾的迭代器
(4)cend() ? ? ? ? ? ? ? ? //返回指向末尾的常量迭代器
(5)rbegin() ? ? ? ? ? ? ?//返回指向末尾的反向迭代器
(6)rend() ? ? ? ? ? ? ? ? ?//返回指向起點的反向迭代器
(7)crbegin() ? ? ? ? ? ? //返回指向末尾的常量反向迭代器
(8)crend() ? ? ? ? ? ? ? ?//返回指向起點的常量反向迭代器

3、示例

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

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

相關文章

docker構建hyperf環境

一&#xff0c;構建hyperf 鏡像 官網git https://github.com/hyperf/hyperf-docker 使用dockerfile構建鏡像 根據需要這里我使用8.1 swoole版本的鏡像 在/home/hyperfdocker 目錄中新建一個Dockerfile文件&#xff0c;將這個git上的Dockerfile內容復制粘貼進去 docker build…

HBase總結

基本介紹 特點(高可靠、高性能、面向列、可伸縮) 非關系型數據庫大數據實時處理 表規模達數十億行及數百萬列讀、寫訪問可實時分布式存儲系統 HDFS(Hadoop Distributed File System)文件存儲ZooKeeper作為協同服務列存儲 優點:有利于單列數據查詢缺點:整行讀取時效率較慢,…

毫末智行開年融資,揭幕了自動駕駛最后的賽點

毫末智行日前官宣拿到的超億元B1輪融資&#xff0c;在行業引起了不小的關注。 一方面是信心問題&#xff0c;自動駕駛從早期拼技術到去年拼量產落地&#xff0c;創業公司們的聲量此消彼長&#xff0c;有人領先也有人掉隊&#xff0c;但市場的態度都以謹慎為主&#xff0c;甚至…

Android ANR 日志分析定位

ANR 是 Android 應用程序中的 "Application Not Responding" 的縮寫&#xff0c;中文意思是 "應用程序無響應"。這是當應用程序在 Android 系統上運行時&#xff0c;由于某種原因不能及時響應用戶輸入事件或執行一個操作&#xff0c;導致界面無法更新&…

Kubernetes(k8s第二部分)

資源清單相當于劇本 什么是資源&#xff1a; k8s中所有的內容都抽象為資源&#xff0c;資源實例化后&#xff0c;叫做對象。 1.K8S中的資源 集群資源分類 名稱空間級別&#xff1a; kubeadm k8s kube-system kubectl get pod -n default 工作負載型資源&#xff0c;&a…

指針篇章-(1)

指針&#xff08;1&#xff09;學習流程 —————————————————————————————————————————————————————————————————————————————————————————————————————————————…

Linux:使用nslookup和dig查詢DNS記錄信息

nslookup nslookup&#xff08;Name Server Lookup&#xff09;用于從 DNS 服務器查詢域名、IP 或其他 DNS 記錄信息 示例 查詢域名信息 $ nslookup baidu.comServer: 114.114.114.114 Address: 114.114.114.114#53Non-authoritative answer: Name: baidu.com Add…

springcloud項目,無法在Sentinel Dashboard查看到服務的訪問監控信息【解決方法】

1.問題場景 因為warehouse子項目的前端未開發&#xff0c;所以只能通過postman測試接口訪問&#xff1b; 2.解決方法 package org.sharetek.common.security.config;import cn.dev33.satoken.SaManager; import cn.dev33.satoken.filter.SaServletFilter; import cn.dev33.sat…

【Django】執行查詢—檢索對象(二)

主鍵 (pk) 查詢快捷方式 pk查詢等同于通過模型的 primary key 進行過濾&#xff0c;直接上例子&#xff0c;下面三個語句是等效的。 >>> Blog.objects.get(id__exact14) # Explicit form >>> Blog.objects.get(id14) # __exact is implied >>> …

構筑未來商業智能——數據中臺的戰略視角_光點科技

隨著數字化時代的加速到來&#xff0c;企業對于數據的依賴程度日益增強。數據中臺&#xff0c;作為連接數據與商業決策的關鍵樞紐&#xff0c;已成為企業打造持久競爭優勢的戰略選擇。本文將從戰略的高度&#xff0c;解析數據中臺如何幫助企業捕捉數據紅利&#xff0c;推進業務…

NXP實戰筆記(十一):32K3xx基于RTD-SDK在S32DS上配置LPSPI(同步、異步、DMA、主機、從機、中斷、輪詢)

目錄 1、概述 2、RTD-SDK配置 2.1、配置目標 2.2、主、從機引腳配置 2.3、時鐘配置 2.4、LPSPI配置 2.5、中斷配置 2.6、DMA配置(使用DMA才會配置) 2、dma Logic Instance 2.7、RM配置(使用DMA的情況下必須配置此選項) 3、代碼實現 1、概述 S32K3_低功耗LPSPI輪詢…

第七十六周周報

學習目標&#xff1a; 論文 實驗 學習時間&#xff1a; 2024.2.24-2024.3.1 學習產出&#xff1a; 論文 仔細看了論文"All are Worth Words: A ViT Backbone for Diffusion Models"&#xff0c;”DiffiT: Diffusion Vision Transformers for Image Generation…

備戰藍橋杯Day19 - 堆排序基礎知識

一、每日一題 - 填充 詳細題解 s input() # 輸入字符串 n len(s) # 定義字符的長度 judge ["00", "11", "0?", "1?", "?0", "?1", "??"] # 把所有的情況一一列舉出來 count 0 # 設置計數…

性能優化篇(四) GPU Instancing

使用GPU Instancing可以在一個Draw Call中同時渲染多個相同或類似的物體&#xff0c;從而減少CPU和GPU的開銷。 官方文檔&#xff1a;https://docs.unity3d.com/Manual/GPUInstancing.html 啟用GPU Instancing&#xff0c;我們可以選中一個材質&#xff0c;然后在Inspector窗口…

PostgreSQL教程(二十一):服務器管理(三)之服務器設置和操作

本章討論如何設置和運行數據庫服務器&#xff0c;以及它與操作系統的交互。 一、PostgreSQL用戶賬戶 和對外部世界可訪問的任何服務器守護進程一樣&#xff0c;我們也建議在一個獨立的用戶賬戶下運行PostgreSQL。這個用戶賬戶應該只擁有被該服務器管理的數據&#xff0c;并且…

埃隆·馬斯克對OpenAI提起訴訟

埃隆馬斯克對OpenAI提起訴訟&#xff0c;理由是AI安全威脅 馬斯克指責&#xff0c;自從公司將其開發的人工通用智能技術&#xff08;AGI&#xff09;以閉源形式交給微軟后&#xff0c;OpenAI已經失去了其“開放”的本質。 埃隆馬斯克在周四提交的一項訴訟中聲稱&#xff0c;薩姆…

Ubuntu22.04下安裝Spark2.4.0(Local模式)

一、版本信息 虛擬機產品&#xff1a;VMware Workstation 17 Pro 虛擬機版本&#xff1a;17.0.0 build-20800274 ISO映像文件&#xff1a;ubuntukylin-22.04-pro-amd64.iso Hadoop版本&#xff1a;Hadoop 3.1.3 JDK版本&#xff1a;Java JDK 1.8 Spark版本&#xff1a;S…

[SUCTF 2019]EasyWeb --不會編程的崽

個人認為&#xff0c;這題還算有些東西。先來看源碼 <?php function get_the_flag(){// webadmin will remove your upload file every 20 min!!!! $userdir "upload/tmp_".md5($_SERVER[REMOTE_ADDR]);if(!file_exists($userdir)){mkdir($userdir);}if(!empty…

Slurm作業系統

1、什么是計算機集群 計算機集群是由多臺獨立的計算機&#xff08;節點&#xff09;通過網絡連接在一起&#xff0c;以共同完成任務的一種計算機系統結構。集群系統旨在提高性能、可用性和可擴展性。以下是計算機集群的一般結構和組成要素&#xff1a; 節點&#xff08;Nodes&…

android Service 與 activity 通信 并不斷傳數據

注&#xff1a;這只是個Demo 以下載為案例&#xff0c;實現開啟下載&#xff0c;暫停下載&#xff0c;下載進度不斷發送給activity class DownloadService : Service() {override fun onBind(intent: Intent?): IBinder? {return MyBinder()}inner class MyBinder : Binder…