30/09/2018, 20:34
Stack and heap trong c++
Chào mọi người, mọi người cho Em hỏi trong stack và heap thì khi nào 2 thằng đó được giai phóng, Theo như mình biết thì stack nó được giair phóng khi có lệnh return còn thằng heap thì sao ? Ai rõ chỉ cho mình với.
Bài liên quan
Bạn ơi, mình không biết khi nào heap giải phóng. Nhưng theo mình biết thì biến thuộc stack sẽ huỷ khi bạn ra khỏi khối lệnh mà bạn đã khai báo nó (khối lệnh là nhiều lệnh được viết trong dấu { }).
Bạn cứ coi bài này sẽ hiểu: https://youtu.be/QDbkuH57gHo?list=PLyiioioEJSxHVTaeL-ELYy6Io-I8diIVZ
Bạn thưr đọc link này xem sao. :3 http://www.learncpp.com/cpp-tutorial/79-the-stack-and-the-heap/
Bạn nhập chương trình này vào IDE của bạn nha:
#include
<iostream>
using namespace std;
void main()
{
{
int i = 1;
cout << “i trong = " << i << endl;
}
cout <<” i ngoai = " << i << endl;
system(“pause”);
}
Đây là 1 đoạn code đơn giản không hề dùng return, và nó sẽ báo lỗi là chưa khai báo biến i tại dòng code số 9. Chứng tỏ biến i đã bị huỷ khi đi ra khỏi khối lệnh đã khai báo nó.
cảm ơn Bạn nha. có thêm kiến thức bỏ túi