சி ++ இல் இன்லைன் மற்றும் மேக்ரோ இடையே உள்ள வேறுபாடு
உள்ளடக்கம்
மேக்ரோ என்பது ஒரு அறிவுறுத்தலாகும், இது அதன் அழைப்பின் போது விரிவடைகிறது. மேக்ரோக்களைப் போலவே செயல்பாடுகளையும் வரையறுக்கலாம். இதேபோல், இன்லைன் செயல்பாடுகளும் அதன் அழைப்பின் கட்டத்தில் விரிவடைகின்றன. இன்லைன் மற்றும் மேக்ரோ செயல்பாட்டிற்கு இடையிலான ஒரு முதன்மை வேறுபாடு என்னவென்றால் இன்லைன் செயல்பாடுகள் போது விரிவாக்கப்படுகின்றன தொகுப்பு, மற்றும் இந்த மேக்ரோக்கள் நிரல் செயலாக்கும்போது விரிவாக்கப்படும் என்பதன்.
ஒப்பீட்டு விளக்கப்படத்தின் உதவியுடன் இன்லைன் மற்றும் மேக்ரோ இடையேயான வித்தியாசத்தைப் படிப்போம்.
- ஒப்பீட்டு விளக்கப்படம்
- வரையறை
- முக்கிய வேறுபாடுகள்
- தீர்மானம்
ஒப்பீட்டு விளக்கப்படம்
ஒப்பீட்டுக்கான அடிப்படை | கோட்டில் | மேக்ரோ |
---|---|---|
அடிப்படை | இன்லைன் செயல்பாடுகள் தொகுப்பால் பாகுபடுத்தப்படுகின்றன. | மேக்ரோக்கள் ப்ராப்ரோசஸரால் விரிவாக்கப்படுகின்றன. |
தொடரியல் | இன்லைன் ரிட்டர்ன்_ டைப் ஃபங்க்_பெயர் (அளவுருக்கள்) {. . . } | # மேக்ரோ_பெயர் கரி_அறிவிப்பை வரையறுக்கவும் |
பயன்படுத்தப்படும் முக்கிய வார்த்தைகள் | கோட்டில் | வரையறுத்து |
வரையறுத்த | அதை வகுப்பினுள் அல்லது வெளியே வரையறுக்கலாம். | இது எப்போதும் திட்டத்தின் தொடக்கத்தில் வரையறுக்கப்படுகிறது. |
மதிப்பீட்டு | இது ஒரு முறை மட்டுமே வாதத்தை மதிப்பீடு செய்கிறது. | ஒவ்வொரு முறையும் குறியீட்டில் பயன்படுத்தப்படும்போது அது வாதத்தை மதிப்பீடு செய்கிறது. |
விரிவாக்கம் | கம்பைலர் அனைத்து செயல்பாடுகளையும் இன்லைன் செய்து விரிவாக்கக்கூடாது. | மேக்ரோக்கள் எப்போதும் விரிவாக்கப்படுகின்றன. |
ஆட்டோமேஷன் | வகுப்பினுள் வரையறுக்கப்பட்ட குறுகிய செயல்பாடுகள் தானாக இன்லைன் செயல்பாடுகளில் செய்யப்படுகின்றன. | மேக்ரோக்கள் குறிப்பாக வரையறுக்கப்பட வேண்டும். |
அணுகும் | இன்லைன் உறுப்பினர் செயல்பாடு வகுப்பின் தரவு உறுப்பினர்களை அணுக முடியும். | மேக்ரோக்கள் ஒருபோதும் வகுப்பின் உறுப்பினர்களாக இருக்க முடியாது மற்றும் வகுப்பின் தரவு உறுப்பினர்களை அணுக முடியாது. |
முடித்தல் | இன்லைன் செயல்பாட்டின் வரையறை இன்லைன் செயல்பாட்டின் முடிவில் சுருள் அடைப்புக்குறிகளுடன் முடிவடைகிறது. | மேக்ரோவின் வரையறை புதிய வரியுடன் முடிவடைகிறது. |
பிழைதிருத்தம் | தொகுப்பின் போது பிழை சரிபார்ப்பு செய்யப்படுவதால் பிழைத்திருத்தம் ஒரு இன்லைன் செயல்பாட்டிற்கு எளிதானது. | தொகுப்பின் போது பிழை சரிபார்ப்பு ஏற்படாததால் பிழைத்திருத்தம் மேக்ரோக்களுக்கு கடினமாகிறது. |
பிணைப்பு | ஒரு இன்லைன் செயல்பாடு செயல்பாட்டின் உடலில் உள்ள அனைத்து அறிக்கைகளையும் நன்றாக பிணைக்கிறது, மேலும் செயல்பாட்டின் உடல் துவங்கி சுருள் அடைப்புக்குறிகளுடன் முடிகிறது. | ஒரு மேக்ரோ ஒன்றுக்கு மேற்பட்ட அறிக்கைகளைக் கொண்டிருந்தால் பிணைப்பு சிக்கலை எதிர்கொள்கிறது, ஏனெனில் அதற்கு முடித்தல் சின்னம் இல்லை. |
இன்லைன் வரையறை
ஒரு இன்லைன் செயல்பாடு வழக்கமான செயல்பாடாகத் தோன்றுகிறது, ஆனால் அதற்கு முன்னதாக “கோட்டில்". இன்லைன் செயல்பாடுகள் குறுகிய நீள செயல்பாடுகளாகும், அவை அழைக்கப்படுவதற்குப் பதிலாக அதன் அழைப்பின் போது விரிவாக்கப்படுகின்றன. ஒரு எடுத்துக்காட்டுடன் இன்லைன் செயல்பாடுகளைப் புரிந்துகொள்வோம்.
#சேர்க்கிறது மேலேயுள்ள நிரலில், “உதாரணம்” வகுப்பில் ஒரு இன்லைன் செயல்பாடாக, செயல்பாடு () துவக்குகிறது. துவக்க () செயல்பாட்டின் குறியீடு வர்க்கத்தின் “எடுத்துக்காட்டு” இன் பொருளால் செயல்படுத்தப்படும் இடத்தில் விரிவடையும். வகுப்பு எடுத்துக்காட்டில் வரையறுக்கப்பட்ட செயல்பாட்டு காட்சி () இன்லைன் என அறிவிக்கப்படவில்லை, ஆனால் இது கம்பைலரால் இன்லைன் என்று கருதப்படலாம், சி ++ இல், வகுப்பினுள் வரையறுக்கப்பட்ட செயல்பாடு தானாகவே தொகுப்பின் மூலம் செயல்பாட்டின் நீளத்தைக் கருத்தில் கொண்டு இன்லைன் செய்யப்படுகிறது. மேக்ரோ ஒரு “ப்ராப்ரோசெசர்ஸ் டைரெக்டிவ்” ஆகும். தொகுப்பதற்கு முன், நிரல் ப்ராப்ரோசெசரால் ஆராயப்படுகிறது, மேலும் நிரலில் மேக்ரோவைக் கண்டறிந்தால், அது அந்த மேக்ரோவை அதன் வரையறையால் மாற்றுகிறது. எனவே, மேக்ரோ “மாற்று” என்று கருதப்படுகிறது. ஒரு உதாரணத்துடன் மேக்ரோவைப் படிப்போம். #சேர்க்கிறது மேலே உள்ள குறியீட்டில், GREATER () என்ற மேக்ரோ செயல்பாட்டை அறிவித்தேன், இது இரண்டு அளவுருக்களின் அதிக எண்ணிக்கையை ஒப்பிட்டு கண்டுபிடிக்கும். மேக்ரோ புதிய வரியால் மட்டுமே நிறுத்தப்படுவதால் மேக்ரோவை நிறுத்த அரைக்காற்புள்ளி இல்லை என்பதை நீங்கள் அவதானிக்கலாம். மேக்ரோ ஒரு மாற்றாக இருப்பதால், அது செயல்படுத்தப்படும் மேக்ரோ குறியீட்டை விரிவாக்கும். மேக்ரோ செயல்பாட்டை விட இன்லைன் செயல்பாடுகள் மிகவும் உறுதியானவை. சி ++ ஒரு மாறிலியை வரையறுக்க சிறந்த வழியையும் வழங்குகிறது, இது “கான்ஸ்ட்” முக்கிய சொல்லைப் பயன்படுத்துகிறது.
மேக்ரோவின் வரையறை
முடிவுகளை: