آموزش C++ قسمت 5
هدف از این قسمت، آموزش حافظهی مصرفی دادهها در سی پلاس پلاس است.
دو نکتهی بسیار مهم در برنامهنویسی همیشه مورد توجه برنامهنویسان مجرب است، عبارتند از:
- زمان نمایش خروجی مورد نظر از برنامه
- مقدار حافظهی مصرفی برنامه نوشته شده
در اکثر موارد وقتی شما از زمان برنامه کم میکنید مجبورید حافظه مصرفی را زیاد کنید یا برعکس، یعنی اگر حافظه را کم کنید به زمان اجرای برنامه اضافه میشود. اما به این معنی نیست که شما نمیتوانید از دوتای اینها به بهترین شکل ممکن مصرف کنید. خیلی از برنامهنویسان قدرتمند با استفاده از راهکارهای جدید و الگوریتمهای خلاقانه خود از هردوی اینها به صورت کاملا بهینه استفاده میکنند.
مثال در سی پلاس پلاس C++
برنامهای بنویسید که مقدار حافظهی اختصاص یافته به یک عدد صحیح و عدد اعشاری و یک کاراکتر را نشان دهد ، همچنین نشان دهید که عدد اعشاری نوشته شده در سیپلاسپلاس یک عدد از نوع double میباشد.
میخوایم ببینیم که متغیری مثلا از نوع عدد صحیح int چه مقدار از حافظه مموری را مصرف میکند.
حل مثال در سی پلاس پلاس C++
#include <iostream> using namespace std; int main() { int a; float b; char c; double d; cout<<sizeof(a)<<endl; cout<<sizeof(b)<<"\n"<<sizeof(c)<<endl; cout<<sizeof(d); cout<<endl<<sizeof(1.2); return 0; }
خروجی برنامه
4 4 1 8 8
توضیح خط به خط کد برنامه
خط اول که مثه همیشه کتابخونه iostream رو اضافه کردم تا با استفاده از اون از cin و cout استفاده کنم و همچنین خط دوم برای اینه که بگیم اینایی که توی C++ مثه cin و cout استفاده شدن استاندارد هستن و همیشه std:: رو قبلشون نزاریم (راحتی کار).
خط 5 تا 8 یه متغیر از نوع اعداد صحیح ، کاراکتری، اعشاری ، اعشاری (تعداد رقم اعشار بیشتر) تعریف کردیم.
خط 9 تا 11 مقدار حافظهی مصرفی هر متغیر رو بر حسب بایت چاپ میکنه، خط 12 نشون میده که هر عدد اعشاری که داخل C++ نوشته میشه برحسب double هست.
نتیجه
مقدار حافظه مصرفی بر حسب بایت:
- int چهار بایتی
- float چهار بایتی
- char یک بایتی
- double هشت بایتی میباشد.
پس اگر سه متغیر از نوع صحیح تعریف کردید یعنی شما دارید 12 بایت از حافظه رو با این سه متغیر مصرف میکنید.
نظر یادتون نره !
خب تا انتهای این آموزش امیدوارم به خوبی هر چی رو که بوده گفته باشیم و شما به راحتی فهمیده باشید. اگر کمی گنگ بود و یا مشکلاتی داشت و هر نوع انتقاد یا پیشنهادی و سوالی داشتید می توانید در انتهای همین صفحه در قسمت نظرات بیان کنید . خیلی متشکریم بابت وقتی که گزاشتید و اچ کدینگ رو دنبال کردید.
برای اینکه خستگی از تن ما در بره می تونید ما رو به دوستانتون معرفی کنید (با به اشتراک گذاری) تا برای ما روحیه مثبتی بشه که در آموزش های آتی بهتر عمل کنیم.
یک نظر بنویسید