Akhir-akhir ini ketika saya sedang menulis C atau C ++, saya akan mendeklarasikan semua variabel saya di stack hanya karena itu pilihan, tidak seperti dengan Java.
Namun, saya pernah mendengar bahwa itu adalah ide yang buruk untuk menyatakan hal-hal besar di tumpukan.
- Kenapa ini yang terjadi? Saya pikir stack overflow terlibat, tapi saya tidak begitu jelas mengapa itu terjadi.
- Berapa banyak barang di tumpukan yang terlalu banyak?
Saya tidak mencoba untuk meletakkan file 100MB di stack, hanya selusin kilobyte array untuk digunakan sebagai buffer string atau apa pun. Apakah ini terlalu banyak penggunaan stack?
(Maaf jika duplikat, mencari stack terus memberikan referensi ke Stack Overflow. Bahkan tidak ada tag stack panggilan, saya hanya menggunakan yang abstrak.)
std::vector<int>
Variabel lokal tidak akan memakan banyak ruang stack, sebagian besar data berada di tumpukan.