دنیای برنامه نویسی و اپلیکیشن

baner-telegram
شما اینجا هستید : صفحه اول » آموزش برنامه نویسی » آموزش ++C » فیلم آموزش برنامه نویسی C++ : کلاس های حافظه
فیلم آموزش برنامه نویسی C++ : کلاس های حافظه

فیلم آموزش برنامه نویسی C++ : کلاس های حافظه

در این قسمت از آموزش برنامه نویسی C++ در مورد کلاس های حافظه آموزش داده شده است که مبحث مهمی برای نحوه استفاده از متغیر ها در برنامه است .

کلاس حافظه ( Storage Classes ) :

کلاس حافظه در برنامه نویسی c++ یک ویژگی از متغیر است که حوزه متغیر و طول عمر متغیر را مشخص می کند .

حوزه متغیر یعنی یک متغیر در چه جاهایی قابل استفاده است .

طول عمر یعنی مدت زمانی که متغیر در حافظه وجود دارد ، به زبان ساده متغیر کی به وجود میاد و کی از بین می رود .

در زبان برنامه نویسی C++ از کلاس های حافظه ای گوناگونی برای تعریف متغیر استفاده می شود :

سینتکس کلاس های حافظه

کلاس حافظه اتوماتیک ( auto ) :

تمام متغیرهای عادی که می نویسید از نوع کلاس auto هستند و دیگه لازم نیست که اول هر متغیر از کلمه auto استفاده کنیم خواستید بر این موضوع تاکید کنید می توانید این کلمه را بنویسید مثلاً دوتا عبارت زیر مثل هم هستند :

متغیر هایی که از نوع کلاس حافظه اتوماتیک هستند با فراخوانی تابع به وجود می آیند و تمام شدن تابع به صورت خودکار از بین می روند .

کلاس حافظه ثبات ( register ) :

این نوع از کلاس حافظه به کامپایلر پیشنهاد می دهد که متغیر رو بجای RAM در ثبات پردازنده ( CPU ) قرار بده .
به این نکته توجه کنید ، این یک پیشنهاد است و اگر ثبات خالی نداشته باشیم این کار انجام نمی شود . از این نوع کلاس حافظه بیش تر برای شمارنده حلقه استفاده می شود چون سرعت خواندن و نوشتن آن زیاد است :

کلاس حافظه استاتیک ( static )

اگر به متغیرهای کلاس حافظه استاتیک مقداری را بدهید ، این نوع متغیر ها حافظه اختصاصی خودشان را حفظ می کنند ، حتی اگر کنترل اجرای برنامه به تابع دیگری برود .

اگر کد های بالا را اجرا کنید می بینید که مقدار متغیر در هر بار صفر است ولی مقدار متغیر test از صفر تا 4 است دلیل این موضوع این است که چون نوع کلاس حافظه متغیر test از نوع استاتیک است و در زمان خروج ار تابع مقدار خودش رو حفظ می کند و دوباره که تابع بازمی گردد دیگه مقدار اولیه صفر را در نظر نمیگیره .

نکته مهم : نکته مهمی که باید در مورد متغیر های کلاس حافظه استاتیک بدونید این است که اگر با یک دستور جداگانه به متغیر مقدار بدید این یک خطای منطقی است :

حالا اگه کد بالارو اجرا کنید خواهید دید که مقدار test هم برابر صفر خواهد شد ، در این کد فقط به متغیر test جداگانه مقدار دادیم .

کلاس حافظه خارجی ( extern )

با استفاده از این نوع کلاس حافظه می تونید اگه دوتا فایل جداگانه برای برنامه داشتید می تونید با استفاده از کلمه extern از متغیر موجود در فایل یک در فایل دوم هم از اون استفاده کنید :

فیلم آموزش برنامه نویسی C++ را می توانید از لینک زیر دانلود کنید .

پیشنهاد می کنیم حتما بخوانید :

درباره : رضا طوماری

دانشجوی رشته نرم افزار ، عاشق برنامه نویسی

نظرات کاربران :


  1. پیمان گفت:

    با سلام
    با سپاس از جناب آقای طوماری ، من چند هفته است که با فیلمهای آموزشی برنامه نویسی شما آشنا شده ام ، خیلی با زبان سلیس و روان نکات بسیار مهمی را آموزش میدهید، همانطور که میدانید بهترین راه یادگیری تجربه و تمرین کردن است. من خواهش میکنم که بخشی از کدها ،سورسها و یا توابعی که شما در طول دوران حرفه ای خود داشته اید برای تمرین در اختیار علاقه مندان بگذارید. شما با طرح پرسش و گذاشتن پاسخ در انتهای آن ضریب هوشیاری و یادیگری علاقه مندان را به چالش خواهید کشید و به پیشرفت و یادگیری علاقه مندان کمکی بزرگ خواهید نمود.
    چنانچه در حال حاضر در آموشگاهی تدریس می کنید لطفا اعلام کنید.
    با سپاس

جواب سوال چیه ؟ *