在C++中,sort函數可以接受一個可選的第三個參數cmp,用于自定義排序規則。這個參數是一個函數指針或者函數對象,用來比較兩個元素的大小關系。如果不提供cmp參數,sort函數會默認使用標準的比較函數std::less來進行排序。
當提供cmp參數時,它會影響排序結果的順序。如果cmp函數返回true,表示第一個參數應該排在第二個參數之前;如果返回false,則表示第二個參數應該排在第一個參數之前。通過自定義cmp函數,可以實現按照特定的規則進行排序,比如按照字符串長度、按照自定義的對象屬性等。
因此,提供cmp參數可以對排序結果產生直接的影響,使得sort函數可以按照用戶自定義的規則進行排序。