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

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

تاریخچه‌ی ویرایش برای ارسال #2117

یکشنبه ۲۰ مرداد ۱۳۹۲ ارسال شده توسط prodo

استفاده از `size_t` حداقل به دو دلیل مفید هست.
۱) خوانایی برنامه رو بالا می‌بره. وقتی که شما قسمتی از یه کد رو ببینین که از `size_t` استفاده می‌کنه سریع متوجه می‌شین که قراره این مقدار اندازه‌ی یه چیزی باشه.
۲) قابلیت حمل برنامه رو افزایش می‌ده. با `size_t` برنامه‌ی شما در کامپایلرها و سیستم‌های مختلف به خوبی کار می‌کنه در صورتی که اگه از `int` استفاده کنین و در یه سیستم دیگه برای اندازه از `long` استفاده بشه، حداقل شما تبدیل اضافی رو به دست می‌آرین که خوب نیست.
یکشنبه ۲۰ مرداد ۱۳۹۲ ویرایش شده توسط prodo

استفاده از `size_t` حداقل به دو دلیل مفید هست.
۱) خوانایی برنامه رو بالا می‌بره. وقتی که شما قسمتی از یه کد رو ببینین که از `size_t` استفاده می‌کنه سریع متوجه می‌شین که قراره این مقدار اندازه‌ی یه چیزی باشه.
۲) قابلیت حمل برنامه رو افزایش می‌ده. با `size_t` برنامه‌ی شما در کامپایلرها و سیستم‌های مختلف به خوبی کار می‌کنه در صورتی که اگه از `int` استفاده کنین و در یه سیستم دیگه برای اندازه از `long` استفاده بشه، حداقل شما تبدیل اضافی رو به دست می‌آرین که خوب نیست.

مثلاً فرض کنید در یک سیستم ۶۴ بیتی که `int` در اون ۳۲ بیت هست، شما برای نگهداری اندازه‌ی `string` از `int` استفاده کنین.

string s;
int x = s.size();
یعنی نهایتاً `2^31` بیت (که در صورتی که بایت رو هشت بیتی در نظر بگیریم، `2^28` بایت). بنابراین اگه یه رشته طولش از این بزرگ‌تر باشه برنامه‌ی شما به مشکل می‌خوره. (این طول از لحاظ نظری در محیط ۶۴ بیتی ممکنه هرچند معمولاً اتفاق نمی‌افته).

اما `size_t` تضمین می‌کنه که اندازه‌ی مورد نظر رو در هر محیطی حفظ کنه و حداقل اندازه‌ی لازم رو داشته باشه. بنابراین در سیستم ۶۴ بیتی `size_t` معادل عدد صحیح ۶۴ بیتی تعریف می‌شه.