[lambda]How to use the member of placeholder in std algorithm?

I have a struct: struct Coordinate { double x, y, z; }; There is no any operator definition for it. I want to sort a array of this struct with 3 elements by comparing the Z value, so: Coordinate coords[3]; ....... std::sort(coords, coords+3, _1 < _2); What should I write to replace "_1 < _2" here? How can I reference the Z member of _1 and _2? I hope I can sort this array without defining any new function. thanks!

2009/2/27 钱晓明
I have a struct: struct Coordinate { double x, y, z; }; There is no any operator definition for it.
I want to sort a array of this struct with 3 elements by comparing the Z value, so: Coordinate coords[3]; ....... std::sort(coords, coords+3, _1 < _2); What should I write to replace "_1 < _2" here? How can I reference the Z member of _1 and _2? I hope I can sort this array without defining any new function.
bind(&Coordinate::z, _1) < bind(&Coordinate::z, _2) Roman Perepelitsa.
participants (2)
-
Roman Perepelitsa
-
钱晓明