源码网站跟自己做的网站区别,公司大厅设计效果图大全,公司网站制作的费用,做个手机app需要多少钱引言
本文针对C11中greater和less做简单的记录。本文使用visual studio 2017下控制台输出程序可以直接使用c11特性。
内部实现
查看greater和less会看到其下面的实现;
templateclass _Ty voidstruct greater{ // functor for operator_CXX17_DEPRECATE_ADAPTO…引言
本文针对C11中greater和less做简单的记录。本文使用visual studio 2017下控制台输出程序可以直接使用c11特性。
内部实现
查看greater和less会看到其下面的实现;
templateclass _Ty voidstruct greater{ // functor for operator_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef _Ty first_argument_type;_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef _Ty second_argument_type;_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef bool result_type;constexpr bool operator()(const _Ty _Left, const _Ty _Right) const{ // apply operator to operandsreturn (_Left _Right);}};// STRUCT TEMPLATE less
templateclass _Ty voidstruct less{ // functor for operator_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef _Ty first_argument_type;_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef _Ty second_argument_type;_CXX17_DEPRECATE_ADAPTOR_TYPEDEFS typedef bool result_type;constexpr bool operator()(const _Ty _Left, const _Ty _Right) const{ // apply operator to operandsreturn (_Left _Right);}};如何使用
结合上面的实现来看看如何使用greater和less。下面是使用过程中的一些记录。
#include iostream
#include functional
#include algorithm//sort
using namespace std;int main()
{int array[] {2,4,1,78,55,34,8};int len sizeof(array) / sizeof(int);sort(array,arraylen,greaterint());//从大到小排序for (auto i:array) {cout i ;}cout endl;sort(array,arraylen,lessint());//从小到大排序for (int i:array) {cout i ;}cout endl;return 0;
}greater与less同为函数模板上面是int类型的使用下面看看char类型的使用实质是一样的。
#include iostream
#include functional
#include algorithm//sort
using namespace std;int main()
{char array[] {g,e,s,a,v,f};int len sizeof(array) / sizeof(char);sort(array,arraylen,greaterchar());for (auto i:array) {cout i ;}cout endl;sort(array,arraylen,lesschar());for (char i:array) {cout i ;}cout endl;return 0;
}当然除了上述的int,char类型还可以是string类型下面是string类型下greater与less的使用。
#include iostream
#include functional
#include algorithm//sort
#include string//必须包含string头文件才可以进行相关的cout操作
using namespace std;int main()
{string array[] {sdf,aww,sdfr,hellos,good,last};/*const int len 6;*/int len sizeof(array) / sizeof(array[0]);sort(array,arraylen,greaterstring());for (auto i:array) {cout i ;}cout endl;sort(array,arraylen,lessstring());for (string i:array) {cout i ;}cout endl;return 0;
}以上仅记录。
特别关注
平台类型x64x86int44float44double88long long88string4028void*84
以上特别关注为vs2017上运行的结果。仅以记录。