Impossible is nothing
爱过知情重醉过知酒浓 　　花开花谢终是空 　　缘份不停留像春风来又走 　　女人如花花似梦

 < 2007年12月 >
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

• 随笔 - 8
• 文章 - 91
• 评论 - 16
• 引用 - 0

# 相册

•

### 评论排行榜

1.使用max/min时可以给一个比较函数指针。
#include <algorithm>
using namespace std;

/* function that compares two pointers by comparing the values to which they point
*/
bool int_ptr_less (int* a, int* b)
{
return *a < *b;
}

int main()
{
int x = 17;
int y = 42;
int* px = &x;
int* py = &y;
int* pmax;

// call max() with special comparison function
pmax = max (px, py, int_ptr_less);
//...
}

template<class _Ty,
class _Pr> inline
const _Ty& _MAX(const _Ty& _Left, const _Ty& _Right, _Pr _Pred)
{ // return larger of _Left and _Right using _Pred
return (_Pred(_Left, _Right) ? _Right : _Left);
}

2.设置boolalpha可以让流输出bool值的字符串形式

cout << boolalpha ;
bool b = true;
cout << b <<"*********"<<!b << endl;

true*********false
3。一下代码可以测试你的系统各类型的范围
#include <iostream>
#include <limits>
#include <string>
using namespace std;

int main()
{
// use textual representation for bool
cout << boolalpha;

// print maximum of integral types
cout << "max(short): " << numeric_limits<short>::max() << endl;
cout << "max(int):   " << numeric_limits<int>::max() << endl;
cout << "max(long):  " << numeric_limits<long>::max() << endl;
cout << endl;

// print maximum of floating-point types
cout << "max(float):       "
<< numeric_limits<float>::max() << endl;
cout << "max(double):      "
<< numeric_limits<double>::max() << endl;
cout << "max(long double): "
<< numeric_limits<long double>::max() << endl;
cout << endl;

// print whether char is signed
cout << "is_signed(char): "
<< numeric_limits<char>::is_signed << endl;
cout << endl;

// print whether numeric limits for type string exist
cout << "is_specialized(string): "
<< numeric_limits<string>::is_specialized << endl;
}

posted on 2006-06-28 16:12 笑笑生 阅读(597) 评论(1)  编辑 收藏 引用 所属分类: STL/BOOST

 只有注册用户登录后才能发表评论。 【推荐】100%开源！大型工业跨平台软件C++源码提供，建模，组态！ 相关文章: