std::list<std::pair<std::wstring, std::wstring> > param;这句话是什么意思?

std::list<std::pair<std::wstring, std::wstring> > param;这句话是什么意思?,第1张

核心意思就是声明创建一个list类的对象 param。具体解析如下

这句代码涉及2个点:

1、C++有个命名空间机制,std就是一个命名空间。举例说,你想找个叫张三的人,那么可能会有很多个张三,如果你说是XXX市XXX县XXX镇的张三,那么估计就只有一个张三了(不是绝对),类似的,C++变量名、类名相同的可能性很大(尤其是工程较大的时候),于是引入了命名空间,把一些类、变量什么的组织在一个命名空间里,然后通过:命名空间名::类名等类似的方式访问类、对象。 std::list std::pair,std::wstring都是std命名空间下的类

2、C++有个泛型机制。例如比较两个数的大小(int,float,double和long等类型),那么一种方式就是重载函数:max(int a,int b),max(double a,double b)...针对不同的类型。但是另一种方式就是,把待比较的两个数的类型T可以作为参数,max(T a,T b),那么max不需要重载就可以适应大部分类型的比较。T在调用的时候确定类型。推而广之,有一些需要把类型做参数的类定义为模板,在使用的时候传类型作为参数。list类就是这样的一个模板类,需要一个类型参数,pair类就作为list的类型参数,即list<pair>param,但是pair同样是模板类,它也需要类型参数,而且需要2个,pair<wstring,wstring>,综合下来就是:

list<pair<wstring,wstring>>,然后由于这些类定义在std命名空间里,所以再加上std::来限定

std::string是标准C++的字符串实现,用法:

要想使用标准C++中string类,必须要包含

#include

<string>//

注意是<string>,不是<string.h>,带.h的是C语言中的头文件

using

std::string

using

std::wstring

using

namespace

std

下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。

扩展资料:

string类的字符 *** 作:

const

char

&operator[](int

n)const

const

char

&at(int

n)const

char

&operator[](int

n)

char

&at(int

n)

operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。

const

char

*data()const//返回一个非null终止的c字符数组。

const

char

*c_str()const//返回一个以null终止的c字符串。

int

copy(char

*s,

int

n,

int

pos

=

0)

const//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目。

参考资料来源:string-百度百科

就用==判断啊:

#include <iostream>

#include <string>

using namespace std

int main()

{

wstring s1=L"abcde"

wstring s2=L"abcda"

wstring s3=L"abcde"

cout<<(s1==s2)<<endl<<(s1==s3)<<endl

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11386456.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存