Date: 2013jan2
OS: Windows
Language: C/C++
Q. Win32: using min() / max() macros
A. The windows.h defines min() and max() macros which are ok in most situations.
#include "windows.h"
int smaller = min(a, b);
int bigger = min(a, b);
But they aren't perfect since they are macros they might eval your parameters.
Don't use so anything like min(a++, --b)
So its better to use the STL functions:
#include <algorithm>
int smaller = (std::min<int>)(a, b);
int bigger = (std::min<int>)(a, b);
If you are using the STL function you might want to do this:
#define NOMINMAX
#include <windows.h>
Which stops the min/max macros from being defined.
Finally you can define it yourself:
template<class T> T min(T a, T b) { return a < b ? a : b; }
template<class T> T max(T a, T b) { return a > b ? a : b; }