Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Dạ mọi người cho em hỏi cái này với ạ, em đang học bài 47 thì có đoạn code như sau:
#include<iostream>
using namespace std;
int main()
{
int size(3);
int* array = new int[size] {1, 2, 3};
int newSize = 4;
int* resize = new int[newSize];
for (int i = 0; i < size; i++)
{
resize[i] = array[i];
}
delete[] array;
array = resize;
size = newSize;
delete[] resize;
system("pause");
return 0;
}
-Dạ thứ nhất cho em hỏi khi mình dùng lệnh delete[] array thì có phải nó chỉ thu hồi lại bộ nhớ nhưng vẫn còn cái kích thước bộ nhớ ban đầu là Size không ạ hay là nó mất luôn?
-Dạ thứ hai là tại sao khi mình đã dùng lệnh array = resize thì dòng dưới mình lại phải có thêm dòng size = newSize , ở đât em không biết là khi mình gán như vậy số kích thước hắn có gán qua cái kích thước cũ không ấy ?
Dạ Mong mọi người giúp em với ạ <3 <3
2. 2 thằng chẳng liên quan