当前位置: 首页 > news >正文

查建设公司年度保证金网站discuz论坛建站教程

查建设公司年度保证金网站,discuz论坛建站教程,武进网站建设基本流程,全网业务自助商城#x1f466;个人主页#xff1a;Weraphael ✍#x1f3fb;作者简介#xff1a;目前学习C和算法 ✈️专栏#xff1a;C航路 #x1f40b; 希望大家多多支持#xff0c;咱一起进步#xff01;#x1f601; 如果文章对你有帮助的话 欢迎 评论#x1f4ac; 点赞#x1… 个人主页Weraphael ✍作者简介目前学习C和算法 ✈️专栏C航路 希望大家多多支持咱一起进步 如果文章对你有帮助的话 欢迎 评论 点赞 收藏 加关注✨ 目录 一、什么是pair二、pair的初始化三、pair的大小比较四、make_pair函数 一、什么是pair 假设我想打包两种数据第一个是学生的姓名第二个是学生的学号我们就可以写出如下结构体 #include stringstruct Student {std::string _name; // 名字int _id; // 学号 };像这样只打包两种数据我们就可以使用std::pair。pair的中文意思一对也就是说它只能保存一对数据 pair是C已经定义好的结构体同时也是一个类模板并且使用前需要加上头文件utility 【pair部分源码】 template class T1, class T2 struct pair {typedef T1 first_type;typedef T2 second_type;T1 first;T2 second;pair(): first(T1()), second(T2()){}pair(const T1 a, const T2 b): first(a), second(b){} }通过以上源码我们发现pair有两个公有成员变量分别是first和second。并且它们可以直接在类外被使用。 【声明方式】 类模板实例化对象需要加上 std::pair第一个数据类型,第二个数据类型 变量名接下来我用代码演示 一下刚才的学生结构体 #include iostream #include utility #include stringint main() {// 第一个数据类型为string表示学生的姓名// 第二个数据类型为int,表示学生的学号std::pairstd::string, int stu;stu.first Weraphael;stu.second 2022;std::cout 姓名: stu.first std::endl;std::cout 学号: stu.second std::endl;return 0; }【运行结果】 二、pair的初始化 pair常见的初始化是以上第一种和第二种分别是默认构造和拷贝构造 注意如果使用默认构造函数初始化其成员变量first和second的值是0如果是string就是空字符串 除此之外还有第三种初始化方式 std::pair类型1, 类型2 变量名(第一个数据的初始值, 第二个数据的初始值); // 对应的类型一定要匹配【代码演示】 #include iostream #include utility #include stringint main() {std::pairstd::string, int p(Weraphael, 18);std::cout 姓名: p.first std::endl;std::cout 年龄: p.second std::endl;return 0; }【程序结果】 三、pair的大小比较 它们的比较顺序是这样的首先先比较first成员变量如果相等就会比较second 注意pair内部成员的类型不一样的两个对象不能比较大小 【代码验证】 pair内部已经实现过比较大小运算符重载了 #include iostream #include utility #include stringint main() {std::pairint, std::string p1(18, Weraphael);std::pairint, std::string p2(19, Weraphael);std::cout p1是否小于p2 (p1 p2) std::endl;std::pairint, std::string p3(18, zhangsan);std::cout p1是否小于p3 (p1 p3) std::endl;std::pairint, std::string p4(18, Weraphael);std::cout p1是否等于p4 (p1 p4) std::endl;return 0; }【运行结果】 四、make_pair函数 功能make_pair函数接收两个参数然后它会将这两个参数来创建pair对象 【代码样例】 #include iostream #include utility #include stringint main() {std::pairint, int p std::make_pair(1, 2);std::cout first: p.first std::endl;std::cout second: p.second std::endl;return 0; }【程序结果】 以上我们发现用了make_pair函数后代码变长了。但是实际上make_pair函数是用来简化代码的。 从C到C17结构体创建对象的代码一直都在简化。我们可以看C98是如何简化pair创建对象的代码的 有两个long long类型的变量现需要通过一个打印函数将这两个变量打包成pair后再打印 如果不使用make_pair函数就会写出以下代码 #include iostream #include utilityvoid Print(std::pairlong long, long long p) {std::cout first: p.first std::endl;std::cout second: p.second std::endl; }int main() {long long a 1;long long b 2;Print(std::pairlong long, long long(a, b));return 0; }【运行结果】 但是用了make_pair函数后以上代码就会简化很多 #include iostream #include utilityvoid Print(std::pairlong long, long long p) {std::cout first: p.first std::endl;std::cout second: p.second std::endl; }int main() {long long a 1;long long b 2;Print(std::make_pair(a, b));return 0; } 【运行结果】 注以上知识是为了为map容器打基础
http://wiki.neutronadmin.com/news/105885/

相关文章:

  • 如何建立一个小程序的网站wordpress首页改颜色
  • 网页网站建设软件网站建设高端培训学校
  • 深圳福田园岭网站建设如何建设公司的网站首页
  • 福州网站建设索q4791857002022重大时政热点事件简短
  • 淘宝客网站免费建站建筑工程网络设计
  • 网站建设用图制作音乐排行榜html5
  • 云南微网站建设的公司有哪些咨询公司怎么注册
  • 移动端网站建设的尺寸广西明电建设有限公司网站
  • 流行网站设计做婚庆网站有哪些内容
  • 网站建设贵苏州网络
  • 做网站公司费用wordpress的标题字体大小
  • 如何在网站后台备份数据库表网站建设氺金手指排名15
  • 权威的南昌网站建设是wordpress
  • dede5.7模板 新闻文章网站源码什么网站都有漏洞
  • 沈阳 网站制作报价网页制作自学教程
  • 广西建设厅招投标中心网站如何在百度上发布自己的广告
  • 安徽省住房与城乡建设网站网站制作一年多少钱
  • 广东广州免费建站营销型企业网站有哪些平台
  • 质量好网站建设商家wordpress cdn 非插件
  • 石家庄建设网站公司恩施网站建设教程
  • 建设网站要多少钱网站 数据库 sql 导入数据库文件
  • 四川网站建设电话咨询望野原文及翻译赏析
  • 一个网站建设需要多少人力烟台网站建设地址
  • 北京学校网站建设发新闻稿平台
  • 房产信息网准确吗义乌网站建设优化排名
  • 北京搜狗建网站的电话wordpress自助发卡
  • 舟山建设信息港网站商业网站建设设计装饰
  • 浙江标力建设集团网站绵阳住房和城乡建设厅官方网站
  • 中国版动漫网站模板广州工程建设信息网
  • 网站空间送数据库网站开发kpi