C++ std::sort in vector返回0而不是值
我在做一个简单的HackerRank练习,在一个向量中得到一些整数,然后在屏幕上按顺序打印出来C++ std::sort in vector返回0而不是值,c++,C++,我在做一个简单的HackerRank练习,在一个向量中得到一些整数,然后在屏幕上按顺序打印出来 int main() { int sz; std::cin >> sz; // 5 in this case std::vector<int> v(sz); for(auto elem : v){ std::cin >> elem; std::cout << elem << '
int main() {
int sz;
std::cin >> sz; // 5 in this case
std::vector<int> v(sz);
for(auto elem : v){
std::cin >> elem;
std::cout << elem << ' '; //1 6 10 8 4
}
std::cout << std::endl;
std::sort(v.begin(), v.end());
for (auto elem : v) {
std::cout << elem << ' '; //0 0 0 0 0
}
return 0;
}
对于std::sort,还有什么需要考虑的吗?这是HackerRank编译器的问题吗?elem是向量中项目的副本!将其更改为引用,以便在读取值时实际修改向量:
for(auto &elem : v){
// ^^^
std::cin >> elem;
std::cout << elem << ' '; //1 6 10 8 4
}
请在此处查看它的工作情况:elem是向量中项目的副本!将其更改为引用,以便在读取值时实际修改向量:
for(auto &elem : v){
// ^^^
std::cin >> elem;
std::cout << elem << ' '; //1 6 10 8 4
}
在这里查看它的工作情况:是的,就是这样,谢谢!是的,就是这样,谢谢!