ثابت

ثابت ها انواعی هستند که مقدار آنها در طول برنامه تغییر نمی کند. ثابت ها حتما باید مقدار دهی اولیه شوند و اگر مقدار دهی آنها فراموش شود در برنامه خطا به وجود می آید. بعد از این که به ثابت ها مقدار اولیه اختصاص داده شد هرگز در زمان اجرای برنامه نمی توان آن را تغییر داد. برای تعریف ثابت ها باید از کلمه کلیدی 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;

ممکن است این سوال برایتان پیش آمده باشد که دلیل استفاده از ثابت ها چیست؟ اگر مطمئن هستید که مقادیری در برنامه وجود دارند که هرگز در طول برنامه تغییر نمی کنند بهتر است که آنها را به صورت ثابت تعریف کنید.این کار هر چند کوچک کیفیت برنامه شما را بالا می برد.