首页 > 编程知识 正文

in one's effort,defeat for

时间:2023-05-04 09:10:50 阅读:116798 作者:3956

pair

std:pair的主要作用是将两个数据合并为一个数据。 两个数据可以是相同的类型,也可以是不同的类型。

c标准库中的“必须返回两个值”函数也使用pair对象。

class pair可以将两个值视为一个单元。 容器类map和multimap是使用pairs管理其“健康/真实”(key/value )的配对元素。

1.构造函数

pairT1、T2 p1;//两个元素分别为T1和T2类型,创建用值初始化的空pair对象。

pairT1、T2P1(V1、v2 );//两个元素分别创建T1和T2类型的pair对象。 其中first成员初始化为v1,second成员初始化为v2。

例如,pairstring,intname_age('Tom ',18 ); 需要//类型声明

2.pair对象的操作

访问两个元素的操作可以通过first和sencond访问

pairint,double p1;

p1.first=1;

p1.second=2.5;

make_pair函数

templatepairmake_pair(T1a,T2 b ) returnpair,b ); }

特征是可以生成pair对象,而不用写类型。 因此,可以使用pair构造函数和make_pair来生成所需的pair。

STD:3360make_Pair(42,' @ ';

不需要费力地写:

std:pairint,char(42,' @ ' ) ) )。

例如pairint、double p1;

P1=make _ pair (1,1.2 );

延长:在c 17中,不需要特别指定,可以直接导出类型

pairp (1,2.2; //c 17自动导出tuple

tuple是C 11新标准中的类型。 这是pair类型的模板。 pair类型的每个成员变量可以是任意类型,但只有两个成员。 另一方面,tuple与pair不同,可以有任意数量的成员。 但是,每个特定tuple类型的成员数量是固定的。

与pair一样,可以在构造函数和make_tuple中初始化定义。

tupleint,int,float TP (1,2,3.1 );

STD :3360 tuples TD :3360 string,std:string,int T2=STD :3360 make _ tuple (yqdby (,csdmy ),199999

C 17不需要特别指定,可以直接导出类型。 代码如下。 STD :3360 tuple eee (64,128.0,' yqdby ';

1 .接入元素使用"get()"方法,get中的位置信息为常量表达式(const expression)

例如,cout '的第一个元素是:'get0(TP ) endl;

2.http://获取www.Sina.com /元素类型:

例如,std:tuple_element1、Decltype(t ) :3360 typecnt=STD :3360 get1) t;

通过std::tuple_element0, decltype(t)::type取得元素数

例如,size _ tnum=STD 33603360 tuple _ sizedecltype (t ) :value;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。

  •  标签:  
  • one   in