File tree Expand file tree Collapse file tree
docs/Teaching/C++/CS-2370/Projects/Project4 Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4444
4545### Allocate temp
4646
47- STACK
48- 0x3001 dynarray
49- 0x3002 data* : 0x5AF1
50- 0x3003 grow()
51- 0x3004 temp* : 0x5CF1
52-
53- HEAP
54- 0x5AF1\[ 0
55- 0x5AF2\] 1
47+ STACK
48+ 0x3001 dynarray
49+ 0x3002 data* : 0x5AF1
50+ 0x3003 grow()
51+ 0x3004 temp* : 0x5CF1
52+
53+ HEAP
54+ 0x5AF1\[ 0
55+ 0x5AF2\] 1
5656
57- 0x5CF1\[
58- 0x5CF2
59- 0X5CF3
60- 0X5CF4\]
57+ 0x5CF1\[
58+ 0x5CF2
59+ 0X5CF3
60+ 0X5CF4\]
6161
6262---
6363
6464### Copy data from data to temp
6565
66- STACK
67- 0x3001 dynarray
68- 0x3002 data* : 0x5AF1
69- 0x3003 grow()
70- 0x3004 temp* : 0x5CF1
71-
72- HEAP
73- 0x5AF1\[ 0
74- 0x5AF2\] 1
75-
76- 0x5CF1\[ 0
77- 0x5CF2 1
78- 0X5CF3
79- 0X5CF4\]
66+ STACK
67+ 0x3001 dynarray
68+ 0x3002 data* : 0x5AF1
69+ 0x3003 grow()
70+ 0x3004 temp* : 0x5CF1
71+
72+ HEAP
73+ 0x5AF1\[ 0
74+ 0x5AF2\] 1
75+
76+ 0x5CF1\[ 0
77+ 0x5CF2 1
78+ 0X5CF3
79+ 0X5CF4\]
8080
8181---
8282
8383### Delete data pointed to by data, and reassign data to point to new area
8484
85- STACK
86- 0x3001 dynarray
87- 0x3002 data* : 0x5CF1
88- 0x3003 grow()
89- 0x3004 temp* : 0x5CF1
90-
91- 0x5AF1 0 -> Data will persist, but this region is now freed to be used again, and not tracked by data anymore
92- 0x5AF2 1
85+ STACK
86+ 0x3001 dynarray
87+ 0x3002 data* : 0x5CF1
88+ 0x3003 grow()
89+ 0x3004 temp* : 0x5CF1
9390
94- 0x5CF1\[ 0
95- 0x5CF2 1
96- 0X5CF3
97- 0X5CF4\]
91+ 0x5AF1 0 -> Data may persist, but this region is now freed to be used again, and not tracked by data anymore
92+ 0x5AF2 1
93+
94+ 0x5CF1\[ 0
95+ 0x5CF2 1
96+ 0X5CF3
97+ 0X5CF4\]
9898
9999---
100100
101101### End of grow function. Local variable temp* goes out scope, but data still holds data
102102
103- STACK
104- 0x3001 dynarray
105- 0x3002 data* : 0x5CF1
103+ STACK
104+ 0x3001 dynarray
105+ 0x3002 data* : 0x5CF1
106106
107- 0x5CF1\[ 0
108- 0x5CF2 1
109- 0X5CF3
110- 0X5CF4\]
107+ 0x5CF1\[ 0
108+ 0x5CF2 1
109+ 0X5CF3
110+ 0X5CF4\]
111111
You can’t perform that action at this time.
0 commit comments