۱- اگه عملگرهای =
و +
رو سربارگذاری کرده باشین بدیهی هست که میتونین عملگر ترکیبی رو به صورت زیر پیادهسازی کنین
const class & operator+=(const class &other)
{
*this = *this + other;
return *this;
}
این کار یه مزیت عمده و یه عیب عمده داره
مزیت: جلوگیری از تکرار کدهای زیاد و بزرگشدن حجم کد و آسان شدن تغییرات بعدی.
عیب: ایجاد، انتساب و فراخوانیهای بیشتر نسبت به حالت مستقیم
بنابراین نسبت به کاربرد خودتون انتخاب کنین از کدوم شیوه استفاده کنین
یه نکته این که میتونین عملگر رو به صورت درخط (inline
) تعریف کرد که مشکلات گفته شده رو حل کرد و در عین حال از مزیت گفته شده استفاده کرد. اما توجه داشته باشین که در کامپایلرهای جدید inline
توسط کامپایلر تقریباً نادیده گرفته میشه.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)