آیا clear کردن وکتور مخرب کلاس رو اجرا می کنه ؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

آیا clear کردن وکتور مخرب کلاس رو اجرا می کنه ؟

+1 امتیاز

سلام دوستان

اگر یک vector از یک اشاره گر به یک کلاس داشته باشم به این شکل مثلا

vector<myClass*>vect;

وقتی که از متد clear استفاده می کنم  آیا شی هایی که داخل وکتور هستن destructor اشون صدا زده میشه  و پاک میشن ؟!

سوال شده فروردین 8, 1393  بوسیله ی Mad (امتیاز 245)   10 35 47
دوباره تگ گذاری شد مهر 9, 1393 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ
اگر اشاره گر باشند Destructor ها رو فراخوانی نمیکنه .

ولی هر شی داخل vector اشاره گر نباشه و یه شی واقعی باشه اون موقع Destructor ها رو فراخوانی میکنه .

اگه میخواهید همچین کاری کنید یا از اشاره گرهای هوشمند ( Smart Pointers ) استفاده کنید . یا تک تک اشاره گرها رو خودتون

از بین ببرید و سپس پردازه clear رو برای vector فراخوانی کنید .
پاسخ داده شده فروردین 9, 1393 بوسیله ی Ali Rahbar (امتیاز 4,240)   6 16 46
انتخاب شد فروردین 9, 1393 بوسیله ی Mad
...