duy nhất - một chức năng nén tất cả các chuỗi phần tử liên tiếp giống hệt nhau thành một trong thời gian tuyến tính.
Là một đối số, nó được chuyển qua các ranh giới của mảng, trong đó cần áp dụng nén.
Một trình vòng lặp được trả về phần cuối mới (không bao gồm) của mảng. Bạn nên cẩn thận với các phần tử sau phần cuối mới nhưng trước phần cuối cũ, vì chúng sẽ có giá trị không xác định.
Bạn có thể đọc thêm trong tài liệu.
Nếu bạn đang sử dụng chức năng này trên một véc-tơ, thì việc thay đổi kích thước bằng cách sử dụng kết quả trả về sẽ rất tiện lợi (thêm về điều đó bên dưới).
Ví dụ:
véc tơ a = { 3, 3, 3, 2, 3, 3, 1, 1, 4, 5, 5 };
duy nhất (a.begin(), a.end());
// a = [3, 2, 3, 1, 4, 5, ?, ?, ?, ?, ?]
// sử dụng chức năng duy nhất là thuận tiện để làm
// mảng phụ để nén tọa độ
a = { 235, 10, 41, 10, 41, 41, 235, 500, 500 };
sắp xếp(a.begin(), a.end());
// a = [10, 10, 41, 41, 41, 235, 235, 500, 500]
a.resize(duy nhất(a.begin(), a.end()) - a.begin());
// a = [10, 41, 235, 500]