Gần đây khi tôi viết C hoặc C ++, tôi sẽ khai báo tất cả các biến của mình trên ngăn xếp chỉ vì đó là một tùy chọn, không giống với Java.
Tuy nhiên, tôi đã nghe nói rằng đó là một ý tưởng tồi để khai báo những thứ lớn trên ngăn xếp.
- Tại sao chính xác là trường hợp này? Tôi cho rằng stack stack có liên quan, nhưng tôi không rõ tại sao điều đó xảy ra.
- Bao nhiêu thứ trên stack là quá nhiều?
Tôi không cố gắng đặt các tệp 100 MB vào ngăn xếp, chỉ là một tá mảng kilobyte để sử dụng làm bộ đệm chuỗi hoặc bất cứ thứ gì. Đây có phải là quá nhiều sử dụng ngăn xếp?
(Xin lỗi nếu trùng lặp, việc tìm kiếm ngăn xếp tiếp tục đưa ra các tham chiếu đến Stack Overflow. Thậm chí không có thẻ ngăn xếp cuộc gọi, tôi chỉ sử dụng thẻ trừu tượng.)
std::vector<int>
biến cục bộ sẽ không ăn nhiều dung lượng ngăn xếp, hầu hết dữ liệu đang được chất đống.