這裏是我的代碼:爲什麼排序不適合矢量?
vector<EntryMsg> entryMsgs; // i store some Entry Msg in this vector
void step5(vector<EntryMsg> entryMsg)
{
sort(entryMsg.begin(), entryMsg.end(), [](const EntryMsg& a, const EntryMsg& b) {
return (a.fields.instrument[0] <= b.fields.instrument[0]) || (a.fields.instrument[1] <= b.fields.instrument[1]) || (a.fields.instrument[2] <= b.fields.instrument[2]);
});
for_each(entryMsg.begin(), entryMsg.end(), [](const EntryMsg& msg){
cout<<msg.fields.instrument[0]<<msg.fields.instrument[1]<<msg.fields.instrument[2]<<endl;
});
}
我用它撥打:step5(entryMsgs);
但從輸出,我覺得entryMsgs
沒有排序,有什麼原因嗎?