C ++ میں ان لائن اور میکرو کے درمیان فرق
مواد
میکرو ایک ہدایت ہے جو اس کی درخواست کے وقت پھیلتی ہے۔ افعال کی تعریف میکرو کی طرح بھی کی جاسکتی ہے۔ اسی طرح ، انلاک کے موقع پر بھی ان لائن افعال میں توسیع ہوتی ہے۔ ان لائن اور میکرو فنکشن کے درمیان ایک بنیادی فرق یہ ہے کہ ان لائن افعال کے دوران توسیع کر رہے ہیں تالیف، اور میکرو جب پروگرام کے ذریعہ عملدرآمد ہوتا ہے تو اس میں اضافہ کیا جاتا ہے پریپروسیسر.
آئیے موازنہ چارٹ کی مدد سے ان لائن اور میکرو کے درمیان فرق کا مطالعہ کرتے ہیں۔
- موازنہ چارٹ
- تعریف
- کلیدی اختلافات
- نتیجہ اخذ کرنا
موازنہ چارٹ
موازنہ کی بنیاد | لائن میں | وسیع |
---|---|---|
بنیادی | ان لائن افعال مرتب کرکے تجزیہ کرتے ہیں۔ | میکرو کو پری پروسیسر کے ذریعہ بڑھایا جاتا ہے۔ |
نحو | ان لائن ریٹرن ٹائپ فنکٹ_ نیم (پیرامیٹرز) {۔ . . } | # تعی maن میکرو_ نام چار_سکنس |
استعمال شدہ مطلوبہ الفاظ | لائن میں | # تعریف |
متعین | اس کی وضاحت طبقے کے اندر یا باہر کی ہوسکتی ہے۔ | پروگرام کی شروعات میں ہی اس کی تعریف کی جاتی ہے۔ |
تشخیص | یہ صرف ایک بار دلیل کا اندازہ کرتا ہے۔ | ہر بار اس کوڈ میں استعمال ہونے پر دلیل کا اندازہ ہوتا ہے۔ |
توسیع کے | مرتب کرنے والے تمام افعال کو ان لائن اور بڑھا نہیں سکتا ہے۔ | میکروز ہمیشہ بڑھایا جاتا ہے۔ |
آٹومیشن | مختصر افعال ، کلاس کے اندر بیان کردہ خود بخود ان لائن افعال پر بن جاتے ہیں۔ | میکروز کو خاص طور پر بیان کیا جانا چاہئے۔ |
رسائی | ایک ان لائن ممبر فنکشن کلاس کے ڈیٹا ممبروں تک رسائی حاصل کرسکتا ہے۔ | میکروس کبھی بھی کلاس کے ممبر نہیں ہوسکتے ہیں اور کلاس کے ڈیٹا ممبروں تک رسائی حاصل نہیں کرسکتے ہیں۔ |
خاتمہ | ان لائن فنکشن کی تعریف ان لائن فنکشن کے اختتام پر گھوبگھرالی خطوط کے ساتھ ختم ہوجاتی ہے۔ | نئی لائن کے ساتھ ہی میکرو کی تعریف ختم ہوجاتی ہے۔ |
ٹھیک کرنا | ان لائن فنکشن کیلئے ڈیبگنگ کرنا آسان ہے کیونکہ تالیف کے دوران غلطی کی جانچ پڑتال کی جاتی ہے۔ | ڈیبگنگ میکروز کے لئے مشکل ہوجاتی ہے کیونکہ تالیف کے دوران غلطی کی جانچ پڑتال نہیں ہوتی ہے۔ |
پابند | ایک ان لائن فنکشن فنکشن کے باڈی میں موجود تمام بیانات کو بہت اچھی طرح سے باندھتا ہے اور فنکشن کے باڈی کے جسم کے ساتھ ساتھ گھوبگھرالی خطوط وحدانی سے ختم ہوتا ہے۔ | ایک میکرو کو پابند مسئلہ کا سامنا کرنا پڑتا ہے اگر اس میں ایک سے زیادہ بیانات ہوں ، کیونکہ اس میں ختم ہونے کی علامت نہیں ہے۔ |
ان لائن کی تعریف
ایک ان لائن فنکشن ایک باقاعدہ فنکشن کی طرح لگتا ہے لیکن ، اس سے پہلے کی ورڈ “لائن میں“۔ ان لائن افعال مختصر لمبائی کے افعال ہوتے ہیں جن کو طلب کرنے کے بجائے اس کی درخواست کے موقع پر بڑھا دیا جاتا ہے۔ آئیے ایک مثال کے ساتھ ان لائن افعال کو سمجھیں۔
# شامل کریں مندرجہ بالا پروگرام میں ، میں نے اعلان کیا اور بیان کیا ، فنکشن ابتداء () ، کلاس میں ایک ان لائن فنکشن کے طور پر "مثال"۔ ابتداء () فنکشن کا کوڈ پھیل جائے گا جہاں اسے کلاس "مثال" کے آبجیکٹ کے ذریعہ طلب کیا گیا ہے۔ فنکشن ڈسپلے () ، کلاس مثال میں بیان کردہ نہیں ہے لیکن اس کو مرتب کرنے والے کے ذریعہ ان لائن سمجھا جاسکتا ہے ، جیسا کہ C ++ میں کلاس کے اندر بیان کردہ فنکشن خود بخود ان لائن بنا دیا جاتا ہے جس سے کمپلر فنکشن کی لمبائی کو مد نظر رکھتا ہے۔ میکرو ایک "پری پروسیسرس ہدایت" ہے۔ تالیف سے قبل ، پروگرام کی جانچ پڑتال پری پروسیسر کے ذریعہ کی جاتی ہے اور جہاں بھی اسے پروگرام میں میکرو مل جاتا ہے ، وہ اس میکرو کو اپنی تعریف کے مطابق بدل دیتا ہے۔ لہذا ، میکرو کو "متبادل" کے طور پر سمجھا جاتا ہے۔ آئیے ہم مثال کے ساتھ میکرو کا مطالعہ کرتے ہیں۔ # شامل کریں مذکورہ کوڈ میں ، میں نے ایک میکرو فنکشن GREATER () کا اعلان کیا ، جو موازنہ کرتا ہے اور دونوں پیرامیٹرز کی زیادہ سے زیادہ تعداد تلاش کرتا ہے۔ آپ مشاہدہ کرسکتے ہیں کہ میکرو کو ختم کرنے کے لئے کوئی سیمکولون نہیں ہے کیونکہ میکرو کو صرف نئی لائن کے ذریعے ختم کیا جاتا ہے۔ چونکہ میکرو صرف ایک متبادل ہے ، لہذا یہ میکرو کے کوڈ کو بڑھا دے گا جہاں اسے طلب کیا گیا ہے۔ ان لائن افعال میکرو فنکشن سے کہیں زیادہ قائل ہیں۔ سی ++ کسی مستحکم کی تعریف کرنے کا ایک بہتر طریقہ بھی فراہم کرتا ہے ، جس میں "کانس" کی ورڈ استعمال ہوتا ہے۔
میکرو کی تعریف
نتائج: