اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

تعریف نوع داده

+1 امتیاز
252 نمایش

ما چند تا روش برای تعریف نوع داده‌ی جدید واسه خودمون داریم. یکی‌ش استفاده مستقیم از دستور typedef هست که خوب فقط یه تغییر نام محسوب می‌شه. یکی استفاده از ساختار struct و یکی هم استفاده از رده class.
بدیهیه که وقتی یه نوع به هر صورتی غیر از انواع پیش‌فرض C++ تعریف می‌کنیم سرعتش نسبت به اون خیلی پایین باشه.
دو تا سوال
۱- می‌شه یه متغیر درست به همون صورتی که تو خود کامپایلر ‌C++ تعریف شده٬ تعریف کرد که سرعتش فرق نکنه؟
۲- فرق سرعت متغیرهایی که خودمون با رده و ساختار تعریف می‌کنیم با انواع داده‌ی پیش‌فرص ‌C++ چقدره؟

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده دوشنبه ۲۹ آبان ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۲ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

انواع داده‌ی اولیه به زبان ماشین نوشته می‌شه و عملیات روی اون بهینه‌سازی می‌شه. بنابراین اگه بتونیم با زبان ماشین یه نوع داده و عملیات اون رو پیاده کنیم بدیهیه که با بهینه‌سازی سرعتش خیلی بالا می‌ره.
دلایلی وجود داره که چرا این کار انجام نمی‌شه. حداقل برای انواع داده‌ی بزرگ.
دلیل اول این که این کار بسیار سخت و زمان‌بره و پشتیبانی و نگهداری کد به دست اومده سخت‌تر
دلیل دوم این که این کار به دانش سخت‌افزار و زبان ماشین نیاز داده که طبیعتاً خیلی‌ها این رو بلد نیستن
دلیل سوم این که زمان لازم برای این کار خیلی خیلی بیشتر از حالتی هست که از ارث‌بری C++ استفاده می‌کنیم. شاید ده‌ها یا گاهی صدها برابر و در بیشتر حالت‌ها صرف این زمان غیرمنطقیه

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۱۶ اسفند ۱۳۹۱ توسط prodo  
انتخاب شده شنبه ۱۸ خرداد ۱۳۹۲ توسط admin