Often times I find myself using std::pair to define logical groupings of two related quantities as function arguments/return values. Some examples: row/col, tag/value, etc.
This is what Boost.Tuple was made for.
But you should probably be using std::tuple now...