为什么我这个小程序会出现Segmentation fault?

Why I have a Segmentation fault in this small program?

#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;

int main() {
    map<int, int> score;
    int n;
    cin >> n;
    while(n--){
        int a,b;
        cin >> a >> b;
        score[a] = score[a] + b;
    }
    cout << score.rbegin()->first << " " << score.rbegin()->second << endl;
    return 0;
}

错误信息是16254分段fault::11。退出码:139,请问为什么在使用地图容器时经常出现分段错误。

如果 n0,您永远不会填充 score,然后您继续从 score 访问元素而不检查它是否为空。

一般来说,在使用迭代器之前一定要证明它是有效的。