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

网站商品展示页怎么做南京电商网站开发公司

网站商品展示页怎么做,南京电商网站开发公司,百度文章收录提交入口,电子商务有限公司👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

在这里插入图片描述

👦个人主页:@Weraphael
✍🏻作者简介:目前学习C++和算法
✈️专栏:C++航路
🐋 希望大家多多支持,咱一起进步!😁
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注✨


目录

  • 一、什么是pair
  • 二、pair的初始化
  • 三、pair的大小比较
  • 四、make_pair函数

一、什么是pair

假设我想打包两种数据,第一个是学生的姓名,第二个是学生的学号,我们就可以写出如下结构体:

#include <string>struct Student
{std::string _name; // 名字int _id; // 学号
};

像这样只打包两种数据,我们就可以使用std::pairpair的中文意思一对,也就是说它只能保存一对数据

在这里插入图片描述

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有两个公有成员变量,分别是:firstsecond。并且它们可以直接在类外被使用。

【声明方式】

类模板实例化对象需要加上<>

std::pair<第一个数据类型,第二个数据类型> 变量名

接下来我用代码演示 一下刚才的学生结构体

#include <iostream>
#include <utility>
#include <string>int main()
{// 第一个数据类型为string,表示学生的姓名// 第二个数据类型为int,表示学生的学号std::pair<std::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常见的初始化是以上第一种和第二种,分别是默认构造和拷贝构造

  • 注意:如果使用默认构造函数初始化,其成员变量firstsecond的值是0(如果是string就是空字符串)

在这里插入图片描述

  • 除此之外,还有第三种初始化方式
std::pair<类型1, 类型2> 变量名(第一个数据的初始值, 第二个数据的初始值);
// 对应的类型一定要匹配!!!

【代码演示】

#include <iostream>
#include <utility>
#include <string>int main()
{std::pair<std::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 <string>int main()
{std::pair<int, std::string> p1(18, "Weraphael");std::pair<int, std::string> p2(19, "Weraphael");std::cout << "p1是否小于p2:" << (p1 < p2) << std::endl;std::pair<int, std::string> p3(18, "zhangsan");std::cout << "p1是否小于p3:" << (p1 < p3) << std::endl;std::pair<int, 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 <string>int main()
{std::pair<int, 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++到C++17,结构体创建对象的代码一直都在简化。我们可以看C++98是如何简化pair创建对象的代码的:

  • 有两个long long类型的变量,现需要通过一个打印函数,将这两个变量打包成pair后再打印

如果不使用make_pair函数,就会写出以下代码

#include <iostream>
#include <utility>void Print(std::pair<long 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::pair<long long, long long>(a, b));return 0;
}

【运行结果】

在这里插入图片描述

但是用了make_pair函数后,以上代码就会简化很多

#include <iostream>
#include <utility>void Print(std::pair<long 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://www.yayakq.cn/news/681335/

相关文章:

  • 网站赏析wordpress教程pdf
  • 做润滑油网站图片百度站长提交网站地图
  • 网站服务器数据库四平seo
  • 青岛谷歌网站建设建筑设计师网
  • 建设网站技术要求网站程上传
  • 建网站那个网最好互联网 网站定制
  • 网站建设方案 文库网站建设和运维单位责任
  • 权重6网站怎么做媒体网站怎么申请
  • 建立链接网站模板Wordpress 建站 软件
  • 公司网站建设的步骤宁波地区做网络推广的
  • 北京做胃镜哪好德胜门网站I品牌营销做得好的品牌有哪些
  • 建设公司网站步骤网络seo优化服务
  • 怎么做公司宣传网站网站的底部导航栏怎么做
  • 只做英文网站 域名有什么要求2016年网站设计风格
  • 食品网站建设优化案例今天的最新消息
  • 企业门户网站设计报告外贸网站怎么做推广
  • 定制网站建设和运营长春网站建设网站制作推广
  • 惠州酒店网站建设网页设计作品及源码
  • 网站设计板块科技类网站设计
  • 企业网站的主要功能板块外贸怎么建立自己的网站
  • 网站建设的合同书三原网站开发
  • 手机版网站的优势软件公司宣传册设计样本
  • 凡客建站网浙江室内设计公司排名
  • 网站怎么做图片动态图片不显示不出来的企业网站要更新文章吗
  • shuwon-成都网站建设-成都网站制作-成都网络公司-蜀美网络godaddy wordpress hosting
  • 高端企业网站要多少钱服饰网站建设
  • 镇江做网站需要多少钱西安建筑科技大学就业信息网
  • 有站点地图的网站湖南专业seo公司
  • 权威的郑州网站建设西安好的皮肤管理做团购网站
  • 免费建站优化网站开发 经常要清理缓存