Assume that I have an array a
and an array is b.
Both are the same type and size but different values.
Now I make 3 or more pointers which indicate various elements in one, you can a [0]
, a [4]
And a [13]
.
Now if I overwrite a
with b
a = b
- where will the indicator indicate?
Indicators still point to their parent position in a
, but the values they call b
are those that are not fixed in C ++. Once you declare an array:
< Code> int a [10];
There is no way to overwrite it, only to change the value that is included in it. Specifically, you can not do this:
int a [10], b [10]; A = B; // C ++ (or C) can not work
If you dynamically create an array and assign points:
int * A = new int [10]; Int * p = a + 1; Int * b = new int [10]; A = B;
Then the Pointer P still points in the first array, but you have a memory leak.
In the case of a string with an array:
straight s {int a [10]; }; SS1, S2; Int * p = s1.a + 1; S1 = s2;
Then the indicator P still indicates the first structure of the array, but the array content will be overwritten with the array material from the second structure.
Comments
Post a Comment