pair与tuple 用法、套接字、TCP粘包/拆包、http长连接与短连接

本文介绍了C++11中的pair和tuple的使用,包括它们的创建、初始化及应用场景。此外,文章还探讨了TCP套接字、粘包/拆包现象以及HTTP长连接与短连接的概念,深入理解网络通信的关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日学习:

pair

C++中的结构模板,定义在头文件<utility>中,提供一个包含2个数据成员的结构体模板。

pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair。

(1)STL中的map就是将key和value放在一起来保存。

(2)另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair

pair的创建和初始化

pair<string, string> anon;        // 创建一个空对象anon,两个元素类型都是string
pair<string, int> word_count;     // 创建一个空对象 word_count, 两个元素类型分别是string和int类型
pair<string, vector<int> > line;  // 创建一个空对象line,两个元素类型分别是string和vector类型

pair<string, string> author("James","Joy");    // 创建一个author对象,两个元素类型分别为string类型,并默认初始值为James和Joy。
pair<string, int> name_age("Tom", 18);
pair<string, int> name_age2(name_age);    // 拷贝构造初始化
pair<float,string> p2={1.0,"today"};



pair<int, double> p1(1, 1.2);
pair<int, double> p2 = p1;     // copy construction to initialize object
pair<int, double> p3;
p3 = p1;    // operator =


pair<int ,double> p1;
p1.first = 1;
p1.second = 2.5;
cout<<p1.first<<' '<<p1.second<<endl;

利用make_pair创建新的pair对象


 pair<int, double> p1;
 p1 = make_pair(1, 1.2);
 cout << p1.first << p1.second << endl;

 
 pair<int,double> p2 = make_pair(12,3.14);

通过tie获取pair元素值

pair<int,int> Function(){
    return make_pair(1,2);
}

int main(){
    int a,b;
    tie(a,b)=F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值