########### CODE SOURCE avec COMMENTAIRES DE DEBUG ##################### main() { SqrMatrix m1(3,3); cout << m1 << endl; *** debug : Matrix (3,3) constructed ; instances: 1 --- MemBlk debug : constructed [36] --- MemBlk debug : allocated, refs = 1, blocks: 1 1 2 3 4 5 6 7 8 0 SqrMatrix m2 = m1, m3(3,3); *** debug : Matrix (3,3) constructed ; instances: 2 --- MemBlk debug : copy-constructed, refs = 2 *** debug : Matrix (3,3) constructed ; instances: 3 --- MemBlk debug : constructed [36] --- MemBlk debug : allocated, refs = 1, blocks: 2 m3 = 2 * m1 + 2 * -m2; *** debug : Matrix (3,3) constructed ; instances: 4 --- MemBlk debug : constructed [36] --- MemBlk debug : allocated, refs = 1, blocks: 3 *** debug : Matrix (3,3) constructed ; instances: 5 --- MemBlk debug : copy-constructed, refs = 2 --- MemBlk debug : freed, refs = 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 4 *** debug : Matrix (3,3) constructed ; instances: 5 --- MemBlk debug : copy-constructed, refs = 2 *** debug : Matrix (3,3) touched --- MemBlk debug : freed, refs = 1 --- MemBlk debug : allocated, refs = 1, blocks: 4 --- MemBlk debug : cloned *** debug : Matrix (3,3) constructed ; instances: 6 --- MemBlk debug : copy-constructed, refs = 2 --- MemBlk debug : freed, refs = 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 5 *** debug : Matrix (3,3) constructed ; instances: 6 --- MemBlk debug : copy-constructed, refs = 3 *** debug : Matrix (3,3) touched --- MemBlk debug : freed, refs = 2 --- MemBlk debug : allocated, refs = 1, blocks: 5 --- MemBlk debug : cloned *** debug : Matrix (3,3) constructed ; instances: 7 --- MemBlk debug : copy-constructed, refs = 2 --- MemBlk debug : freed, refs = 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 6 *** debug : Matrix (3,3) constructed ; instances: 7 --- MemBlk debug : copy-constructed, refs = 2 *** debug : Matrix (3,3) touched --- MemBlk debug : freed, refs = 1 --- MemBlk debug : allocated, refs = 1, blocks: 6 --- MemBlk debug : cloned *** debug : Matrix (3,3) constructed ; instances: 8 --- MemBlk debug : copy-constructed, refs = 2 --- MemBlk debug : freed, refs = 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 7 --- MemBlk debug : freed, blocks: 5 --- MemBlk debug : copied, refs = 2 cout << m3 << endl; 0 0 0 0 0 0 0 0 0 return 0; } --- MemBlk debug : freed, refs = 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 6 --- MemBlk debug : freed, blocks: 4 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 5 --- MemBlk debug : freed, blocks: 3 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 4 --- MemBlk debug : freed, blocks: 2 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 3 --- MemBlk debug : freed, blocks: 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 2 --- MemBlk debug : freed, refs = 1 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 1 --- MemBlk debug : freed, blocks: 0 --- MemBlk debug : destroyed [36] *** debug : Matrix (3,3) deleted ; instances: 0