Ah, caspita, non sapevo mancasse su windows 
Questo è l’output dopo aver compilato e eseguito su linux usando:
g++ -g -fsanitize=address acronimi.cpp
./a.out
Output:
[wil93@xps tmp]$ ./a.out
=================================================================
==6701==ERROR: AddressSanitizer: heap-use-after-free on address 0x60300000ed40 at pc 0x000000402d58 bp 0x7fff989cd5c0 sp 0x7fff989cd5b0
READ of size 8 at 0x60300000ed40 thread T0
#0 0x402d57 in std::_List_iterator<elemento>::operator++(int) /usr/include/c++/6.2.1/bits/stl_list.h:170
#1 0x401f1e in main /tmp/acronimi.cpp:58
#2 0x7fc4d0597290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)
#3 0x4017b9 in _start (/tmp/a.out+0x4017b9)
0x60300000ed40 is located 0 bytes inside of 32-byte region [0x60300000ed40,0x60300000ed60)
freed by thread T0 here:
#0 0x7fc4d1280520 in operator delete(void*) /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_new_delete.cc:92
#1 0x404df1 in __gnu_cxx::new_allocator<std::_List_node<elemento> >::deallocate(std::_List_node<elemento>*, unsigned long) /usr/include/c++/6.2.1/ext/new_allocator.h:110
#2 0x4048e5 in std::allocator_traits<std::allocator<std::_List_node<elemento> > >::deallocate(std::allocator<std::_List_node<elemento> >&, std::_List_node<elemento>*, unsigned long) /usr/include/c++/6.2.1/bits/alloc_traits.h:442
#3 0x403e59 in std::__cxx11::_List_base<elemento, std::allocator<elemento> >::_M_put_node(std::_List_node<elemento>*) /usr/include/c++/6.2.1/bits/stl_list.h:387
#4 0x4036f0 in std::__cxx11::list<elemento, std::allocator<elemento> >::_M_erase(std::_List_iterator<elemento>) /usr/include/c++/6.2.1/bits/stl_list.h:1789
#5 0x402f5a in std::__cxx11::list<elemento, std::allocator<elemento> >::erase(std::_List_const_iterator<elemento>) /usr/include/c++/6.2.1/bits/list.tcc:157
#6 0x401f0a in main /tmp/acronimi.cpp:60
#7 0x7fc4d0597290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)
previously allocated by thread T0 here:
#0 0x7fc4d127fea0 in operator new(unsigned long) /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_new_delete.cc:60
#1 0x405214 in __gnu_cxx::new_allocator<std::_List_node<elemento> >::allocate(unsigned long, void const*) /usr/include/c++/6.2.1/ext/new_allocator.h:104
#2 0x404e1c in std::allocator_traits<std::allocator<std::_List_node<elemento> > >::allocate(std::allocator<std::_List_node<elemento> >&, unsigned long) /usr/include/c++/6.2.1/bits/alloc_traits.h:416
#3 0x404906 in std::__cxx11::_List_base<elemento, std::allocator<elemento> >::_M_get_node() /usr/include/c++/6.2.1/bits/stl_list.h:383
#4 0x403efc in std::_List_node<elemento>* std::__cxx11::list<elemento, std::allocator<elemento> >::_M_create_node<elemento const&>(elemento const&) /usr/include/c++/6.2.1/bits/stl_list.h:568
#5 0x40320b in void std::__cxx11::list<elemento, std::allocator<elemento> >::_M_insert<elemento const&>(std::_List_iterator<elemento>, elemento const&) /usr/include/c++/6.2.1/bits/stl_list.h:1770
#6 0x40535c in void std::__cxx11::list<elemento, std::allocator<elemento> >::emplace_back<elemento const&>(elemento const&) /usr/include/c++/6.2.1/bits/stl_list.h:1108
#7 0x404fb6 in void std::__cxx11::list<elemento, std::allocator<elemento> >::_M_initialize_dispatch<std::_List_const_iterator<elemento> >(std::_List_const_iterator<elemento>, std::_List_const_iterator<elemento>, std::__false_type) /usr/include/c++/6.2.1/bits/stl_list.h:1699
#8 0x404cf0 in std::__cxx11::list<elemento, std::allocator<elemento> >::list<std::_List_const_iterator<elemento>, void>(std::_List_const_iterator<elemento>, std::_List_const_iterator<elemento>, std::allocator<elemento> const&) /usr/include/c++/6.2.1/bits/stl_list.h:708
#9 0x40469e in std::_List_iterator<elemento> std::__cxx11::list<elemento, std::allocator<elemento> >::insert<std::_List_const_iterator<elemento>, void>(std::_List_const_iterator<elemento>, std::_List_const_iterator<elemento>, std::_List_const_iterator<elemento>) /usr/include/c++/6.2.1/bits/list.tcc:136
#10 0x403aee in void std::__cxx11::list<elemento, std::allocator<elemento> >::_M_assign_dispatch<std::_List_const_iterator<elemento> >(std::_List_const_iterator<elemento>, std::_List_const_iterator<elemento>, std::__false_type) /usr/include/c++/6.2.1/bits/list.tcc:319
#11 0x402b80 in std::__cxx11::list<elemento, std::allocator<elemento> >::operator=(std::__cxx11::list<elemento, std::allocator<elemento> > const&) /usr/include/c++/6.2.1/bits/list.tcc:285
#12 0x401e39 in main /tmp/acronimi.cpp:57
#13 0x7fc4d0597290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)
SUMMARY: AddressSanitizer: heap-use-after-free /usr/include/c++/6.2.1/bits/stl_list.h:170 in std::_List_iterator<elemento>::operator++(int)
Shadow bytes around the buggy address:
0x0c067fff9d50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff9d60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff9d70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff9d80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff9d90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c067fff9da0: fa fa fa fa fa fa fa fa[fd]fd fd fd fa fa 00 00
0x0c067fff9db0: 00 00 fa fa 00 00 00 00 fa fa fd fd fd fd fa fa
0x0c067fff9dc0: 00 00 00 00 fa fa fd fd fd fd fa fa 00 00 00 00
0x0c067fff9dd0: fa fa 00 00 00 00 fa fa fd fd fd fd fa fa fd fd
0x0c067fff9de0: fd fd fa fa 00 00 00 00 fa fa 00 00 00 00 fa fa
0x0c067fff9df0: fd fd fd fa fa fa fd fd fd fd fa fa fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==6701==ABORTING
In realtà l’output sarebbe colorato in modo da facilitare la lettura, comunque la parte interessante direi che è:
READ of size 8 at 0x60300000ed40 thread T0
#0 0x402d57 in std::_List_iterator<elemento>::operator++(int) /usr/include/c++/6.2.1/bits/stl_list.h:170
#1 0x401f1e in main /tmp/acronimi.cpp:58