#include <iostream>
#include <array>
#include <algorithm>
#include <cstring>
using namespace std;
int main() {
array<char, 20> test{"HelloWorld"}, tmp;
// method 1
tmp = test;
sort(tmp.begin(), tmp.begin() + strlen(tmp.begin()));
cout << "result: " << tmp.data() << endl;
// method 2
tmp = test;
sort(tmp.begin(), tmp.end());
cout << "result: " << tmp.data() << endl;
return 0;
}
std::array
可以用方法1進行排序。但它很難看。如何使用std :: sort對std :: array進行排序?
我更喜歡方法2,但什麼都不能返回。它出什麼問題了?
這兩個'sort'調用做不同的事情。使用你需要的那個。 –
這裏的根本問題是你試圖讓'std :: array'成爲'std :: string'。這不是,而且試圖用它作爲一個永遠不會很好的工作。 –
爲什麼不使用'std :: string'?然後方法2將正常工作。 –