Consider the following code:
int main() { int *intArPtr = new int[100]; int *intArPtr1 = intArPtr + 1; delete [] intArPtr; //ok //delete intArPtr; //valgrind warning, but no leaks! //delete intArPtr1; //invalid pointer error return 0; }
I know what delete [] intArPtris the only valid way to delete this array, but I'm just wondering:
delete [] intArPtr
delete intArPtr
delete intArPtr1
delete intArPtr ? undefined, , ?
, undefined delete , new[]. -, .
delete
new[]
, , , , delete delete[] . , , : delete delete[] - . (. № 3 ).
delete[]
delete intArPtr1 ? , ?
delete , new. . new, . .
new
++ ( [])? - ?
, , . delete , , 4 8 . - , .
++ , , . , -. .
:
[]
new T[n]
p = new Fred[n]
n
delete[] p
. delete delete[] , . . delete, .
intArPtr1 . delete, .
intArPtr1
.
Source: https://habr.com/ru/post/1609710/More articles:Amazon CloudWatchLogs putLogEvents in PHP also throws error OldLogEventEndIndex - phpAlgorithm to sum over a column with randomly selecting data from another column - sqlUse NSUserActivity and CoreSpotlight, but still set iOS8 as the deployment target - iosHow to extract all the lines between the start signal and the end signal? - rredshift select selected returns duplicate values - sqlWhen you drag an object into a collision with another object in the sprite set, there is no bouncing - iosCreating a search device Hardy-Ramanujan nth number - javaPrint specific user input in java - javaConnect QT signals declared in an interface - c ++OAuth2 and email authorization for REST API backend - javaAll Articles