Qiymat berish va initsializatsiya
Qiymat berish va initsializatsiya turli amallardir. Ayniqsa destruktor aniqlanganda bu muhimdir. Biror X tipidagi obyektni intsializatsiya qilish nusxa olish konstruktori yordamida amalga oshiriladi. Satr – bu simvollar vektoriga ko’rsatkich.
Vektor konstruktor tomonidan yaratilib, destruktor bilan o’chirilganda muammo tug’ilishi mumkin:
string s1(10);
string s2(20)
s1 = s2;
Bu yerda ikki simvolli vektor joylashadi, lekin s1 = s2 qiymat berish natijasida biri o’chirilib, ikkinchisi nusxasi bilan almashtiriladi. Funktsiyadan chiqishda s1 va s2 uchun destruktor chaqiriladi va bitta vektor ikki marta o’chiriladi. Bu muammoni xal qilish uchun qiymat berish amalini qo’shimcha yuklash lozim:
Do'stlaringiz bilan baham: |