As I known, map value is initialized by NULL(0). However, Below code is works well without any allocation. How is this code work?
#include<bits/stdc++.h>
using namespace std;
struct stuc{
    map<string, stuc> mp;
    int cnt;
}root;
int main() {
    stuc* u = &root;
    stuc* v = &(u->mp["test"]); // how to allocate?
    cout << v->cnt << endl;
    return 0;
}
 
     
    