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

wap免费建站程序子页面的网站地址怎么做

wap免费建站程序,子页面的网站地址怎么做,网站被k原因,网页制作与设计书籍心得体会在 C STL(标准模板库)中,pair 是一个 简单的键值对数据结构,用于存储 两个相关联的值,将两个值组合成一个单元,可以是相同或不同类型。它常用于 返回多个值、存储映射关系、排序 等场景。 1. pair 的基本特…

在 C++ STL(标准模板库)中,pair 是一个 简单的键值对数据结构,用于存储 两个相关联的值,将两个值组合成一个单元,可以是相同或不同类型。它常用于 返回多个值、存储映射关系、排序 等场景。

1. pair 的基本特点

  • 存储两个值,可以是不同类型。

  • 支持比较运算(按 第一个元素 比较,若相同则比较第二个元素)。

  • 适用于存储键值对或返回多个值

2. pair 的基本用法

2.1 pair 的定义与初始化

// 默认构造函数
pair<int, string> p1;// 带参数的构造函数
pair<int, string> p2(10, "Hello");// 使用make_pair函数
auto p3 = make_pair(20, "World");
//auto 自动识别类型pair<int, string>
#include <iostream>
#include <utility>  // 包含 pair
using namespace std;int main() {pair<int, string> p1(1, "Apple");pair<int, string> p2 = {2, "Banana"};cout << "p1: (" << p1.first << ", " << p1.second << ")\n";scout << "p2: (" << p2.first << ", " << p2.second << ")\n";return 0;
}

输出:

p1: (1, Apple)
p2: (2, Banana)
pair的内部实现

pair的实现非常简单,它是一个结构体模板,包含两个公有成员firstsecond。以下是pair的简化实现:

template <class T1, class T2>
struct pair {T1 first;T2 second;// 默认构造函数pair() : first(T1()), second(T2()) {}// 带参数的构造函数pair(const T1& x, const T2& y) : first(x), second(y) {}// 拷贝构造函数template <class U1, class U2>pair(const pair<U1, U2>& p) : first(p.first), second(p.second) {}
};

2.2 访问 pair 的元素

pair成员firstsecond可以直接访问

cout << p1.first << " " << p1.second << endl;

2.3 使用 make_pair() 进行初始化

pair<int, double> p = make_pair(10, 3.14);

3. pair 在 STL 容器中的应用

3.1 pair 作为 map 的元素

#include <iostream>
#include <map>
using namespace std;int main() {map<int, string> mp;mp.insert(pair<int, string>(1, "One"));mp.insert(make_pair(2, "Two"));for (auto &p : mp) {cout << p.first << ": " << p.second << endl;}return 0;
}

3.2 pair 作为 vector 的元素

#include <iostream>
#include <vector>
using namespace std;int main() {vector<pair<int, string>> v;v.push_back({1, "Alice"});v.push_back({2, "Bob"});for (auto &p : v) {cout << p.first << " " << p.second << endl;}return 0;
}

3.3 返回多个值

当函数需要返回多个值时,可以使用pair。例如,一个函数可以返回一个pair,其中包含计算结果和状态信息。

#include <iostream>
#include <utility>
using namespace std;pair<int, bool> divide(int a, int b) {if (b == 0) {return make_pair(0, false);  // 返回错误状态}return make_pair(a / b, true);  // 返回结果和成功状态
}int main() {auto result = divide(10, 2);if (result.second) {cout << "Result: " << result.first << endl;} else {cout << "Error: Division by zero" << endl;}return 0;
}

输出:

Result: 5

3.4 作为容器元素

pair可以作为容器的元素,例如vector<pair<int, int>>,用于存储一组相关联的值。

#include <iostream>
#include <vector>
#include <utility>
using namespace std;int main() {vector<pair<int, int>> vec;vec.push_back(make_pair(1, 10));vec.push_back(make_pair(2, 20));for (const auto& p : vec) {cout << "First: " << p.first << ", Second: " << p.second << endl;}return 0;
}//First: 1, Second: 10
//First: 2, Second: 20

4. pair 的比较规则

pair字典序 进行比较:pair支持比较操作(==!=<<=>>=)。

  1. 先比较 first,小者优先。

  2. first 相等,则比较 second

示例:

pair<int, int> a = {1, 5};
pair<int, int> b = {1, 3};
if (a > b) {cout << "a 更大" << endl;
} else {cout << "b 更大" << endl;
}

输出:

a 更大

5. pairtuple 的区别

特性pairtuple
元素个数2任意个
访问方式.first .secondget<n>(tuple)
适用场景键值对、映射关系多个不同类型的数据

6. 总结

pair 是 C++ STL 中 存储两个相关值的简单工具,可广泛用于 映射、排序、返回多个值 等场景。掌握 pair 及其 STL 结合使用方式,可以提高代码的 简洁性可读性

pair最常见的用途是存储键值对。例如,在mapunordered_map中,每个元素都是一个pair,其中first是键,second是值。

#include <iostream>
#include <map>
using namespace std;int main() {map<int, string> myMap;myMap.insert(make_pair(1, "Apple"));myMap.insert(make_pair(2, "Banana"));for (const auto& p : myMap) {cout << "Key: " << p.first << ", Value: " << p.second << endl;}return 0;
}
Key: 1, Value: Apple
Key: 2, Value: Banana

http://www.dtcms.com/wzjs/838152.html

相关文章:

  • 长沙网络营销咨询费用长沙百度seo优化电话
  • 聚民网网站建设手机怎么玩wordpress
  • 工会网站平台建设视频网站开发项目
  • 惠州网站设计公司12345浏览器
  • wordpress站点的临时域名珠海工程建设信息网站
  • php网站开发高端制作网站找哪个公司
  • 做视频找素材的网站有源码怎么做app
  • html5网站设计工作室源码合肥seo网站排名优化公司
  • 企业网站关站如何设计网站建设引导页
  • 河南省建设培训中心网站重庆公司建网站流程
  • 35互联网站建设福田服务商app软件安装
  • 批量优化网站软件辽宁食品 中企动力网站建设
  • 折纸效果网站永久免费自助建站软件
  • 深圳有做网站的公司吗网站如何做微信支付宝支付宝
  • 做百度联盟做什么类型网站建网站排名
  • 深圳cms建站模板长春火车站电话人工服务
  • 新乡外贸网站建设一个公司做多个网站是好还是坏
  • 建立网站要钱吗佛山网上房地产
  • 西安企业网站排名优化工具有道云笔记WordPress
  • 酒店网站的设计摘要高端制作网站技术
  • 石家庄免费网站建设网页制作怎么添加视频
  • 如何建立一个网站共享中国建设银行网站荆门网点查询
  • 如何提高网站优化代理网店加盟
  • 0基础做网站大型网站怎么加载图片的
  • 营山县城乡规划建设局官方网站免费信息发布平台网站
  • 有没有电商设计的网站参考如何分析对手网站关键词
  • 杨凌网站建设推广哪个网站好
  • 曲靖seo建站网站建设沟通
  • 做外贸哪个网站可以接单建设网站企业网上银行登录入口
  • 徐州手机网站建设公司用html5做商城网站怎么做