ثابت
ثابت ها انواعی هستند که مقدار آنها در طول برنامه تغییر نمی کند. ثابت ها حتما باید مقدار دهی اولیه شوند و اگر مقدار دهی آنها فراموش شود در برنامه خطا به وجود می آید. بعد از این که به ثابت ها مقدار اولیه اختصاص داده شد هرگز در زمان اجرای برنامه نمی توان آن را تغییر داد. برای تعریف ثابت ها باید از کلمه کلیدی const و define# استفاده کرد. معمولا نام ثابت ها را طبق قرارداد با حروف بزرگ می نویسند تا تشخیص آنها در برنامه راحت باشد. نحوه تعریف ثابت در زیر آمده است :
const data_type identifier = initial_value;
در کد بالا ابتدا کلمه کلیدی const و سپس نوع ثابت و بعد نام ثابت را با حروف بزرگ می نویسیم. و در نهایت یک مقدار را به آن اختصاص می دهیم و علامت سمیکالن می گذاریم.
#define data_type identifier initial_value
در روش بالا فقط define# را نوشته و سپس نام ثابت و بعد مقداری که قرار است دریافت کند. به این نکته توجه کنید که در روش بالا نه علامت سمیکالن وجود دارد و نه علامت مساوی. مثال :
#include <iostream> using namespace std; int main() { const int NUMBER = 1; NUMBER = 20; //ERROR, Cant modify a constant cout << NUMBER; }
#include <iostream> using namespace std; int main() { #define NUMBER 1 NUMBER = 20; //ERROR, Cant modify a constant cout << NUMBER; }
در این مثال می بینید که مقدار دادن به یک ثابت ،که قبلا مقدار دهی شده برنامه را با خطا مواجه می کند.نکته ی دیگری که نباید فراموش شود این است که نباید مقدار ثابت را با مقدار دیگر متغیرهای تعریف شده در برنامه برابر قرار داد.
مثال :
int someVariable; const int MY_CONST = someVariable;
ممکن است این سوال برایتان پیش آمده باشد که دلیل استفاده از ثابت ها چیست؟ اگر مطمئن هستید که مقادیری در برنامه وجود دارند که هرگز در طول برنامه تغییر نمی کنند بهتر است که آنها را به صورت ثابت تعریف کنید.این کار هر چند کوچک کیفیت برنامه شما را بالا می برد.
با سلام خدمت شما مطالب خیلی تاثیر گزار بود استاد دانشگاه ما مطالب شمارو کپی پیست کرده تو جزوش و از لحاظ شرعی بنظر من حرام میباشد و گفتم شمارو از این موضوع مطلع کنم.
سایت زیبایی دارین منم در زمینه تدریس php و c++ کار میکنم اگه میشه لینک وبلاگ منم تو نظرات بذارید تا از وبلاگ تازه تاسیس منم بازدید کنن. مرسی
http://tadriscpp.blogfa.com
سلام، نظر لطفتونه، ایمیلتون رو چک بفرمایید.