📄 3.cc
字号:
// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>// Copyright (C) 2001, 2004 Free Software Foundation, Inc.//// This file is part of the GNU ISO C++ Library. This library is free// software; you can redistribute it and/or modify it under the// terms of the GNU General Public License as published by the// Free Software Foundation; either version 2, or (at your option)// any later version.// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License along// with this library; see the file COPYING. If not, write to the Free// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,// USA.// 20.2.2 Pairs#include <utility>#include <testsuite_hooks.h>class gnu_obj{ int i;public: gnu_obj(int arg = 0): i(arg) { } bool operator==(const gnu_obj& rhs) const { return i == rhs.i; } bool operator<(const gnu_obj& rhs) const { return i < rhs.i; }};template<typename T> struct gnu_t { bool b; public: gnu_t(bool arg = 0): b(arg) { } bool operator==(const gnu_t& rhs) const { return b == rhs.b; } bool operator<(const gnu_t& rhs) const { return int(b) < int(rhs.b); } };// constvoid test03(){ bool test __attribute__((unused)) = true; const std::pair<bool, long> p_bl_1(true, 433); const std::pair<bool, long> p_bl_2 = std::make_pair(true, 433); VERIFY( p_bl_1 == p_bl_2 ); VERIFY( !(p_bl_1 < p_bl_2) ); const std::pair<const char*, float> p_sf_1("total enlightenment", 433.00); const std::pair<const char*, float> p_sf_2 = std::make_pair("total enlightenment", 433.00); VERIFY( p_sf_1 == p_sf_2 ); VERIFY( !(p_sf_1 < p_sf_2) ); const std::pair<const char*, gnu_obj> p_sg_1("enlightenment", gnu_obj(5)); const std::pair<const char*, gnu_obj> p_sg_2 = std::make_pair("enlightenment", gnu_obj(5)); VERIFY( p_sg_1 == p_sg_2 ); VERIFY( !(p_sg_1 < p_sg_2) ); const std::pair<gnu_t<long>, gnu_obj> p_st_1(gnu_t<long>(false), gnu_obj(5)); const std::pair<gnu_t<long>, gnu_obj> p_st_2 = std::make_pair(gnu_t<long>(false), gnu_obj(5)); VERIFY( p_st_1 == p_st_2 ); VERIFY( !(p_st_1 < p_st_2) );}int main() { test03(); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -