首页 理论教育 C++STL标准模板库中的小于比较运算符

C++STL标准模板库中的小于比较运算符

时间:2023-10-25 理论教育 版权反馈
【摘要】:在表9-2中,T是由C++提供的一种模板类型,其中a和b是类型T的值。表9-2 小于比较运算符说明和“小于”操作相关的还有“!=”“>”“<=”“>=”等4个比较运算符。这些运算符均定义在std的次命名空间rel_ops中。使用命名空间std::rel_ops之后,新的比较运算符就轻松到手了,无需使用复杂的搜寻规则来引用它们。例如,此时,虽然两个操作数的型别不同,但它们之间仍可以比较,而这不是C++标准库所支持的。例9-2例9-2的输出结果为:

C++STL标准模板库中的小于比较运算符

在表9-2中,T是由C++提供的一种模板类型,其中a和b是类型T的值。

9-2 小于比较运算符说明

978-7-111-51399-5-Chapter09-2.jpg

和“小于”操作相关的还有“!=”“>”“<=”“>=”等4个比较运算符。小于比较是利用运算符“==”和“<”完成的。这几个函数均定义在头文件<utility>中。虽然运算是多个,但仅需定义“<”和“==”即可使用这些运算符。在使用时还需要添加u-sing namespace std::rel_ops。这些运算符均定义在std的次命名空间rel_ops中。这样安排主要是为了防止用户定义的全局命名空间中的同类型操作待发生冲突。使用命名空间std::rel_ops之后,新的比较运算符就轻松到手了,无需使用复杂的搜寻规则来引用它们。

运算符“!=”“>”“<=”和“>=”的声明形式如下:

978-7-111-51399-5-Chapter09-3.jpg

C++STL还可以使用对组(pair)进行比较运算,其声明形式如下:

978-7-111-51399-5-Chapter09-4.jpg

下面通过例9-1对“!=”运算符进行举例说明。其余运算符仅需将程序中的运算符号取代即可。

例9-1

978-7-111-51399-5-Chapter09-5.jpg

978-7-111-51399-5-Chapter09-6.jpg(www.xing528.com)

例9-1的运行结果为:

978-7-111-51399-5-Chapter09-7.jpg

部分版本采用两个不同的参数型别来定义上述模板(template)。例如,

978-7-111-51399-5-Chapter09-8.jpg

此时,虽然两个操作数的型别不同,但它们之间仍可以比较,而这不是C++标准库所支持的。

例9-2

978-7-111-51399-5-Chapter09-9.jpg

978-7-111-51399-5-Chapter09-10.jpg

例9-2的输出结果为:

978-7-111-51399-5-Chapter09-11.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈