C++模版函数: 按成员变量比较大小

来源:互联网 发布:重庆大数据千人计划 编辑:程序博客网 时间:2024/05/24 01:44
 

// C++模版函数: 按成员变量比较大小
// VC8.0

// 在C++11, 可以用lambda简单解决这个问题,不必使用模版

#include "stdafx.h"

template<typename T, typename M, M T::* const m>
bool CompareMember(const T& t1, const T& t2)
{
 return t1.*m < t2.*m;
}

struct A
{
 int x;
 int y;
};

int _tmain(int argc, _TCHAR* argv[])
{
 A a,b;
 a.x = 100;
 a.y = 200;

 b.x = 200;
 b.y = 100;

 bool c1 = CompareMember<A, int, &A::x>(a, b);
 bool c2 = CompareMember<A, int, &A::y>(a, b);

 return 0;
}

原创粉丝点击