基本STL使用

一 、关于vector

在STL中有一个称为vector的数据结构,可以用来代替数组。

定义Book特性

    private:vector<string> shelf_books;

Notic :  类中不能使用类似的定义:vector<sttring> shelf_boos( 10 );

定义Book方法

    public:void setName(string name){shelf_books.push_back(name);}string getName(unsigned short idx){if (idx < shelf_books.size())return shelf_books[idx];elsereturn "NULL";}unsigned short getSize(void){return shelf_books.size();}vector<string>& getVector(){return shelf_books;}void display_all(void){unsigned short idx = 0U;cout << "There are " << shelf_books.size() << " books:" << endl;for(string name : shelf_books){cout << name << endl;}}

测试:

    Book book;book.setName("Issta");book.setName("Gao");book.setName("Hello");book.setName("你好");book.display_all();cout << "--------------------------------" << endl;vector<string>& b_v = book.getVector();for(string _name : b_v){cout << _name << endl;}cout << "--------------------------------" << endl;for(unsigned short idx = 0; idx < book.getSize(); idx++){cout << book.getName(idx) << endl;}cout << "--------------------------------" << endl;

输出:

二、静态vector与iterator

int key = itr->first; // 从迭代器中获得键
int value = itr->second; // 从迭代器中获得值

代码

   vector<string> wap(5);wap[0] = "激光大炮";wap[1] = "巡航导弹";wap[2] = "喀秋莎";wap[3] = "导弹";wap[4] = "东风快递使命必达";for(int i = 0; i < wap.size(); i++){cout << wap[i] << endl;}cout << "Next using iterator..." << endl;vector<string>::iterator  wap_itr = wap.begin();vector<string>::iterator  wap_itr_end = wap.end();for(;  wap_itr != wap_itr_end; ++wap_itr){cout  << *wap_itr << endl;}cout << "--------------------------------" << endl;

测试结果

三、map与iterator

特征

    private:map<string, string> name_to_email;

属性

       void add_context(string name, string email){name_to_email["issta"] = "issta0309@163.com";name_to_email[name] = email;}void  show_email(void){if(!name_to_email.empty()){cout <<  "there are :" << name_to_email.size() << endl;cout << name_to_email["issta"] << endl;cout << name_to_email["Lucy"] << endl;}cout << "Now using iterator..." << endl;map<string, string>::iterator  map_itr = name_to_email.begin();map<string, string>::iterator  map_itr_end = name_to_email.end();for(;  map_itr != map_itr_end; ++map_itr){cout  << map_itr->first << " --> " << map_itr->second << endl;}map<string, string>::iterator  find_itr = name_to_email.find("Lucy");if(find_itr != map_itr_end){cout << "Lucy's email address is : " << find_itr->second << endl;}name_to_email.clear();if(name_to_email.empty()){cout << "clear successful!" << endl;}

测试代码

    book.add_context("Lucy", "glb_moonkey@soho.com");book.show_email();

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661599.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PDF 正确指定页码后,挂载的书签页码对不上

这个问题与我的另一篇中方法一样 如何让一个大几千页的打开巨慢的 PDF 秒开-CSDN博客 https://blog.csdn.net/u013669912/article/details/138166922 另作一篇的原因 一篇文章附带一个与该文章主题不相关的问题时&#xff0c;不利于被遇到该问题的人快速搜索发现以解决其遇到…

OpenCV如何实现背投(58)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV直方图比较(57) 下一篇&#xff1a;OpenCV如何模板匹配(59) 目标 在本教程中&#xff0c;您将学习&#xff1a; 什么是背投以及它为什么有用如何使用 OpenCV 函数 cv::calcBackP…

Windows之隐藏特殊文件夹(自定义快捷桌面程序)

作者主页&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月1日12点55分 祝大家劳动节快乐~ Windows中的特殊文件夹是指一些预定义的文件夹&#xff0c;用于存储特定类型的数据或文件。这些文件夹通常由操作系统或应用程序使用&#xff0c;但用户也可以访问和管理它…

数字旅游引领未来智慧之旅:科技应用深度重塑旅游生态,智慧服务全面升级打造极致高品质旅游体验

随着信息技术的飞速发展&#xff0c;数字旅游作为旅游业与科技融合的新兴业态&#xff0c;正以其独特的魅力和优势&#xff0c;引领着旅游业迈向智慧之旅的新时代。数字旅游不仅通过科技应用重塑了旅游生态&#xff0c;更通过智慧服务为游客带来了高品质的旅游体验。本文将深入…

bun 换源 国内阿里源 npmmirror 加速下载

Github https://github.com/oven-sh/bun 版本号 bun 1.1.5 windows 安装 bun 如果本机有 nodejs 环境, 可以 npm install -g bun 安装 ( 官方把 exe 已经传到了 npm 仓库, 走的国内 npm 镜像, 下载速度会很快) 没有 nodejs, 可以用 powershell 脚本安装 具体操作 全局 …

自定义之道:学习 Java 中如何打磨独特的异常

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

HR招聘测评,什么是好用的在线人才测评工具?

选择哪一种人才测评工具&#xff1f;特别是每年的招聘高峰季节。根据以往的工作经验&#xff0c;一个好用的在线人才工具&#xff0c;可以起到事半功倍的效果&#xff0c;带给人力资源工作者一个轻松的工作体验。因此&#xff0c;我们必须对好用的人才测评工具有一个基本的认识…

2023 年 Django 开发者调查结果(jetbrains)

原文-中文 原文-英文 推荐观看原文。 本报告基于 2023 年 9 月至 10 月进行的第三次年度 Django 开发者调查&#xff0c;是 Django 软件基金会和 PyCharm 之间的合作成果。为了帮助我们更好地了解框架的当前状态及其周围的生态系统&#xff0c;来自世界各地的大约 4,000 名 Dja…

【论文笔记】Training language models to follow instructions with human feedback A部分

Training language models to follow instructions with human feedback A 部分 回顾一下第一代 GPT-1 &#xff1a; 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式&#xff1b;模型架构是基于 Transformer 的叠加解码器&#xff08;掩码自注意…

分布式与一致性协议之Raft算法与一致哈希算法(一)

Raft算法 Raft与一致性 有很多人把Raft算法当成一致性算法&#xff0c;其实它不是一致性算法而是共识算法&#xff0c;是一个Multi-Paxos算法&#xff0c;实现的是如何就一系列值达成共识。并且&#xff0c;Raft算法能容忍少数节点的故障。虽然Raft算法能实现强一致性&#x…

快速掌握Element-Ul,构建高效网页应用【AI写作】

首先&#xff0c;这篇文章是基于笔尖AI写作进行文章创作的&#xff0c;喜欢的宝子&#xff0c;也可以去体验下&#xff0c;解放双手&#xff0c;上班直接摸鱼~ 按照惯例&#xff0c;先介绍下这款笔尖AI写作&#xff0c;宝子也可以直接下滑跳过看正文~ 笔尖Ai写作&#xff1a;…

【Go 语言入门专栏】Go 语言的起源与发展

前言 Go 语言是当下最为流行的编程语言之一&#xff0c;大约在 2020、2021 年左右开始于国内盛行&#xff0c;许多大厂很早就将部分 Java 项目迁移到了 Go&#xff0c;足可看出其在性能方面的优越性。 相信各位都知道&#xff0c;在爬虫业务中&#xff0c;并发是一个关键的需…