इनलाइन आणि मॅक्रोमध्ये फरक

Anonim

Inline vs Macro

C ++ संगणकावरील प्रोग्रामिंगच्या क्षेत्रात खूपच दूर गेले आहे. एक शक्तिशाली भाषा असल्यामुळे, काहीवेळा प्रोग्रामरना त्याच्या प्रचंड ग्रंथालयामुळे काहीवेळा गोंधळ होतो. इनलाइन फंक्शन त्यापैकी एक आहे जे भाषेत मॅक्रोसह सहजपणे गोंधळ करू शकते.

हे असे नाही की या दोघांमधील लहान फरक आहे, परंतु त्यांच्या मालकीच्या मालमत्तेमुळे ते गोंधळात टाकू शकतात. या लेखात, आम्ही C ++ मधील इनलाइन फंक्शन आणि मॅक्रोज्मधील फरकांबद्दल अधिक चर्चा करणार आहोत.

इनलाइन

एक इनलाइन फंक्शन म्हणजे सी ++ मधील इतर कुठल्याही फंक्शनसारखेच आहे आणि त्यास नियमितपणे देखील म्हणतात. हे कार्य करते की हे संकलित फंक्शनल परिभाषाची एक प्रत तयार करते. म्हणजेच, ते संकलित करण्यासाठी परिभाषित केलेल्या आयटमची कॉपी तयार करते. जर आपण दोन इंटिजर जोडत असाल आणि त्याला इनलाइन फंक्शन म्हणाल तर एक उदाहरण घेतले जाऊ शकते, कंपाइलर संकलित करण्यासाठी पूर्णांकाची एक कॉपी तयार करेल.

उदाहरण:

इनलाइन एनएएए (बेरारेक्स x, इंट y)

{

परतावा (x + y);

}

मॅक्रो

मॅक्रो प्रोग्रामेन्ट ओळीमध्ये मजकूर बदलण्याची क्रिया अंमलबजावणी करतात. म्हणजेच ते फंक्शनमधील परिभाषित केलेल्या बदलानुसार मजकूर पुनर्स्थित करतात. एक फंक्शन म्हणून इनलाइन विपरीत, एक मॅक्रो फंक्शन वापरून कोड manipulates. उदाहरणार्थ:

# दुहेरी (एक्स) एक्स * एक्स < इंट y = 5 परिभाषित करा;

इंट जे = दुहेरी (++ वाय);

येथे, आम्ही 30 म्हणून मूल्य मिळेल! कॉलिंग मॅक्रोद्वारे केले गेले असल्याने, "X" ला ++ y ने बदलले आहे जे ++ y दुसर्या आणि ++ y गुणाकार करते. हे 5 * 6 ची बेरीज करते. 30 नाही 6. सहा ही मूलभूत पण एक चुकीचे उत्तर असेल.

आता, मॅक्रोमुळे येथे बगचे कारण होऊ शकते. त्यामुळे कंपाइलर्सच्या मेमरीमध्ये व्हॅल्यूची कॉपी करुन संकलित करून इनलाइन फंक्शन बचावला येतो.

सारांश:

1 एक इनलाइन फंक्शन फंक्शन परिभाषाची कॉपी बनवते.

2 मॅक्रोने फंक्शनच्या आत ओळखीच्या आणि परिभाषित केल्याप्रमाणे मजकूर बदलतो.

3 मॅक्रो प्रोग्राममध्ये बग होऊ शकतो तेव्हा एक इनलाइन फंक्शन देखील लागू होते. <