PDA

View Full Version : سوال: فرق clone با برابر قراردادن دو شی چیست؟



nunegandom
یک شنبه 07 مهر 1392, 15:07 عصر
با درود فراوان خدمت دوستان برنامه نویس :)
به کد زیر توجه کنید

$obj1 = new MyClass();
$obj2 = clone $obj1;
##################
$obj2 = $obj1;
فرق این دوتا دستور چیه؟ خو بجای clone از مساوی استفاده کنیم :متفکر:

sohail0098
یک شنبه 07 مهر 1392, 15:13 عصر
سلام
دقیق یادم نیست من سه سال پیش برنامه نویسی می کردم ولی باید اینطور باشه وقتی که از کلون استفاده می کنی یه کپی از آبجکت درسا می کنی که توی هر کدوم تغییری بدی تو اون یکی تغییرش اعمال نمیشه ولی وقتی از مساوی استفاده می کنی ادرس حافظش هم کپی میشه هر کدوم رو تغییر بدی اون یکی هم تغییر می کنه

nunegandom
یک شنبه 07 مهر 1392, 16:25 عصر
ممنون از جوابتون، یعنی هرجا من مساوی بگذارم آدرس شیء قدیمی رو به جدیده دادم؟ مثلا اگه call by reference یعنی & بذارم پشتش اینجوری با clone یه نتیجه رو بهم میده؟ :متفکر:

sohail0098
یک شنبه 07 مهر 1392, 16:36 عصر
ممنون از جوابتون، یعنی هرجا من مساوی بگذارم آدرس شیء قدیمی رو به جدیده دادم؟ مثلا اگه call by reference یعنی & بذارم پشتش اینجوری با clone یه نتیجه رو بهم میده؟ :متفکر:

دمت گرم، دقیقا خوب گرفتی جوابو