وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز
وبلاگ شخصی مستر حاج رضا

وبلاگ شخصی مستر حاج رضا

در اینجا میخوام فقط بنویسم! درهم و نامربوط! همه چیز

Enumeration n در زبان سی پلاس پلاس

در ابتدا می بایست تعریف صحیحی از نوع شمارشی enum ارائه داد و در ادامه به نحوه استفاده از آن پرداخت. برای توضیح این موضوع از یک مثال استفاده می کنیم. فرض کنید می خواهید یک برنامه حسابداری بنویسید که در آن حقوق نظافت چی 3 واحد پول، حقوق منشی 5 واحد پول، حقوق کارمندان 6 واحد پول و حقوق کارشناسان 8 واحد پول باشد و در ادامه قصد دارید تا جمع پرداختی را محاسبه کنید...
راه اول بدون استفاده از enum)
در این روش می توانید مقدار حقوق هر فرد را جمع کنید که در این حالت خروجی برابر مقدار پرداختی در سر ماه خواهد بود. ولی در این روش دو مشکل وجود دارد. یکی اینکه اگر تعداد افراد شاغل در شرکت زیاد باشد، باید از یک دفترچه راهنما استفاده کنید تا فراموش نکنید که مثلا حقوق کارمند چند واحد پول بوده است و دیگر اینکه اگر فردی برنامه ی شما را بخواند متوجه نمی شود که 6 واحد پول به چه معناست. برای رفع این مشکلات از نوع شمارشی enum استفاده می کنیم. برای مشاهده جزییات به ادامه توجه کنید.
راه دوم با استفاده از enum)
ساده و صریح بگویم: در واقع در این روش کارمند را به معنای 6 واحد پول در نظر می گیریم و به کامپایلر می گوییم هر کجا نام کارمند را دید به جای آن 6 واحد پول جایگزین کن. به این صورت هم مشکل اول حل می شود (چرا که تنها یک بار حقوق کارمند را مشخص می کنیم و در ادامه تنها از آن استفاده می کنیم) و هم مشکل دوم. (چرا که به جای مقدار حقوق، نام کارمند را قرار می دهیم.)

منبع 

متغییرهای مرجع

زبان برنامه‌نویسی C از دو نوع متغیر پشتیبانی می‌کندمتغیرهای معمولی و اشاره‌گرها (متغیرهای حاوی آدرس حافظه). زبان ++C نوع سومی را به این مجموعه اضافه کرده استمتغیرهای مرجع (Reference).

متغیرهای مرجع از روی دو نوع دیگر ساخته می‌شود و به نوعی می‌توان گفت نام مستعار برای متغیر اصلی به حساب می‌آیدبرای تعریف متغیر مرجع از عملگر & استفاده می‌کنیم:

  

int a;
int &b = a;

  

عبارت فوق متغیر b را مرجعی برای a معرفی می‌کنداز این کد به بعد متغیرهای a و b معادل هم هستندیعنی تغییرات a در b و تغییرات b در aتاثیر می‌گذارددر واقع a و b از یک محل حافظه استفاده می‌کنند؛ یا اینکه یک خانه‌ی حافظه، دو نام متفاوت دارد.

کاربرد اصلی متغیرهای مرجع را می‌توان در انتقال اطلاعات به توابع و بالعکس دیدهمانطور که می‌دانید در زبان C دو روش برای انتقال اطلاعات به تابع و بالعکس وجود داردمقدار و اشاره‌گرزمانی که از روش اول استفاده می‌کنیم، آرگومان متناظر با پارامتر تابع فقط یک کپی از مقدار آن پارامتر را داردیعنی تغییر متغیر آرگومان تاثیری در متغیر پارامتر ندارد. 

منبع الگوریتم ها


متغییرهای مرجع در سه جا به درد میخورند

1- هنگامی که داده های برگشتی ما بیشتر از یکی باشد

2- برای تغییر پارامتر اصلی

3- برای ذخیره کمتر حافظ و زمان 

استراکچر سویچ در سی پلاس پلاس

switch, case, break, and default
are reserved words
The switch structure must include a break statement after each cout statement
---
assert Function
is useful in stopping program execution when certain elusive errors occur
To use assert, include cassert header file