C ++ అనేది సరళమైన సాధారణ ప్రయోజన ప్రోగ్రామింగ్ భాష. ఇది మొదట సృష్టించబడింది జార్నే స్ట్రోస్ట్రప్, ఒక డానిష్ కంప్యూటర్ శాస్త్రవేత్త, 1985 లో తిరిగి వచ్చారు. C ++ మూడు-పారామీటర్ పాసింగ్ పద్ధతులకు మద్దతు ఇస్తుంది, అనగా, విలువ ద్వారా కాల్, చిరునామా ద్వారా కాల్ మరియు సూచన ద్వారా కాల్. ఈ ఆర్టికల్లో, మేము కాల్ ద్వారా అడ్రస్ ద్వారా మరియు రిఫరెన్స్ మెకానిజం ద్వారా కాల్ గురించి చర్చించబోతున్నాం.
ఫంక్షన్ అంటే ఏమిటి?
అసలు టాపిక్ లోకి వెళ్లే ముందు, C ++ లో ఫంక్షన్ ఏమిటో మనం అర్థం చేసుకోవాలి. మీలో చాలామందికి ఇప్పటికే ఫంక్షన్లు తెలిసి ఉండవచ్చు.
ఫంక్షన్ అనేది ప్రాథమికంగా కోడ్ యొక్క ఒక భాగం, ఇది ఒక నిర్దిష్ట పనిని చేయడానికి ఉపయోగించబడుతుంది. C ++ ప్రోగ్రామ్లో పునరావృత కోడ్ను తగ్గించడానికి ఒక ఫంక్షన్ ప్రధానంగా ఉపయోగించబడుతుంది. ఇది పారామీటర్లుగా ఇన్పుట్ను తీసుకుంటుంది మరియు అవుట్పుట్ను రిటర్న్ వాల్యూగా అందిస్తుంది. మేము ఫంక్షన్ను ఒకసారి నిర్వచించినట్లయితే, మా ప్రోగ్రామ్ యొక్క తరువాతి భాగంలో మేము దానిని అనేకసార్లు కాల్ చేయవచ్చు/ఉపయోగించవచ్చు. ఆ విధంగా, మేము ప్రోగ్రామ్లో చాలా పునరావృత కోడ్ను సేవ్ చేస్తాము.
ప్రతి C ++ ప్రోగ్రామ్లో ప్రధాన () ఫంక్షన్ ఉంటుంది. ప్రధాన () ఫంక్షన్ C ++ ప్రోగ్రామ్ కోసం ఎంట్రీ పాయింట్. ప్రధాన () ఫంక్షన్ కాకుండా, ప్రోగ్రామర్ వారికి కావలసినన్ని ఫంక్షన్లను నిర్వచించవచ్చు.
ఫంక్షన్ నిర్వచించే వాక్యనిర్మాణం ఇక్కడ ఉంది:
Return_type ఫంక్షన్_పేరు(ఇన్పుట్ పారామీటర్ జాబితా)
C ++ లోని ఫంక్షన్ 0 లేదా అంతకంటే ఎక్కువ సంఖ్యలో ఇన్పుట్ పారామితులను ఆమోదించగలదు, అయితే ఇది కేవలం ఒక రిటర్న్-వాల్యూని మాత్రమే అందిస్తుంది.
చిరునామా అంటే ఏమిటి?
C ++ లో రెండు రకాల వేరియబుల్స్ ఉన్నాయి (C లాంగ్వేజ్ లాగా) - డేటా వేరియబుల్ మరియు అడ్రస్ వేరియబుల్. చిరునామా వేరియబుల్ మరొక డేటా వేరియబుల్ చిరునామాను నిల్వ చేయడానికి ఉపయోగించబడుతుంది. ఉదాహరణకు, కింది కోడ్ స్నిప్పెట్ను పరిశీలిద్దాం:
inti= 100;
int *ptr= &i;
ఇక్కడ, వేరియబుల్ i ఒక డేటా వేరియబుల్ అని మొదటి స్టేట్మెంట్ మాకు చెబుతుంది, మరియు అది విలువ 100 ని నిల్వ చేస్తుంది. రెండవ స్టేట్మెంట్లో, మేము పాయింటర్ వేరియబుల్ను ప్రకటిస్తున్నాము, అనగా ptr, మరియు వేరియబుల్ i యొక్క చిరునామాతో దీన్ని ప్రారంభిస్తాము.
రిఫరెన్స్ అంటే ఏమిటి?
సూచన C ++ భాష యొక్క మరొక శక్తివంతమైన లక్షణం. కింది కోడ్ స్నిప్పెట్ను పరిశీలిద్దాం:
intకు= 200;int &ఆర్=కు;
ఈ ఉదాహరణలో, మేము ఒక పూర్ణాంకాన్ని ప్రకటించాము, అనగా a మరియు తరువాత a రిఫరెన్స్ వేరియబుల్ r ని ప్రకటించాము, ఇది a విలువతో ప్రారంభించబడింది. కాబట్టి, రిఫరెన్స్ వేరియబుల్ మరొక వేరియబుల్ యొక్క మారుపేరు తప్ప మరొకటి కాదు.
పారామీటర్ పాస్ పద్ధతులు:
C ++ భాషలో మూడు రకాల పారామీటర్ పాస్ పద్ధతులు ఉన్నాయి:
- విలువ ద్వారా కాల్ చేయండి / విలువ ద్వారా పాస్ చేయండి
- చిరునామా ద్వారా కాల్ చేయండి / చిరునామా ద్వారా పాస్ చేయండి
- సూచన ద్వారా కాల్ చేయండి / సూచన ద్వారా పాస్ చేయండి
ఈ ఆర్టికల్లో, మేము - చిరునామా ద్వారా కాల్ మరియు రిఫరెన్స్ ద్వారా కాల్ గురించి చర్చిస్తున్నాము.
చిరునామా ద్వారా కాల్ / చిరునామా ద్వారా పాస్ అంటే ఏమిటి?
కాల్ ద్వారా అడ్రస్ / పాస్ ద్వారా చిరునామా విషయంలో, ఫంక్షన్ వాదనలు చిరునామాగా పంపబడతాయి. కాలర్ ఫంక్షన్ పారామితుల చిరునామాను పాస్ చేస్తుంది. ఫంక్షన్ నిర్వచనంలో పాయింటర్ వేరియబుల్స్ ఉపయోగించబడతాయి. కాల్ బై అడ్రస్ పద్ధతి సహాయంతో, ఫంక్షన్ వాస్తవ పారామితులను యాక్సెస్ చేయవచ్చు మరియు వాటిని సవరించవచ్చు. మేము ఈ ఆర్టికల్ యొక్క తరువాత విభాగం ద్వారా కాల్ పద్ధతి యొక్క ఉదాహరణను చూస్తాము.
రిఫరెన్స్ కాల్ / రిఫరెన్స్ ద్వారా పాస్ అంటే ఏమిటి?
రిఫరెన్స్ పద్ధతి ద్వారా కాల్ / రిఫరెన్స్ పద్ధతి ద్వారా, ఫంక్షన్ పారామితులు సూచనగా పంపబడతాయి. ఫంక్షన్ నిర్వచనం లోపల, రిఫరెన్స్ వేరియబుల్ ఉపయోగించి వాస్తవ పారామితులు యాక్సెస్ చేయబడతాయి.
ఉదాహరణలు:
ఇప్పుడు, మేము పారామీటర్ పాస్ చేసే పద్ధతుల భావనను అర్థం చేసుకున్నందున, C ++ లో పారామీటర్ పాస్ మెకానిజం అర్థం చేసుకోవడానికి అనేక ఉదాహరణ ప్రోగ్రామ్లను చూస్తాము:
- ఉదాహరణ -1-చిరునామా ద్వారా కాల్ (1)
- ఉదాహరణ -2-చిరునామా ద్వారా కాల్ (2)
- ఉదాహరణ -3-రిఫరెన్స్ ద్వారా కాల్ (1)
- ఉదాహరణ -4-రిఫరెన్స్ ద్వారా కాల్ (2)
C ++ లో కాల్ బై అడ్రస్ పద్ధతి ఎలా పనిచేస్తుందో వివరించడానికి మొదటి రెండు ఉదాహరణలు ఇవ్వబడ్డాయి. చివరి రెండు ఉదాహరణలు కాల్ కాన్ఫరెన్స్ కాన్సెప్ట్ ద్వారా వివరించడం.
ఉదాహరణ -1-చిరునామా ద్వారా కాల్ (1)
ఈ ఉదాహరణలో, మేము అడ్రస్ మెకానిజం ద్వారా కాల్ను ప్రదర్శించబోతున్నాము. ప్రధాన () ఫంక్షన్ నుండి, మేము హలో () ఫంక్షన్కు కాల్ చేస్తున్నాము మరియు var చిరునామాను పాస్ చేస్తున్నాము. ఫంక్షన్ నిర్వచనంలో, మేము పాయింటర్ వేరియబుల్లో var చిరునామాను స్వీకరిస్తున్నాము, అనగా p. హలో ఫంక్షన్ లోపల, పాయింటర్ సహాయంతో var విలువ 200 కి మార్చబడుతోంది. అందువల్ల, హలో () ఫంక్షన్ కాల్ తర్వాత ప్రధాన () ఫంక్షన్ లోపల var విలువ 200 కి మార్చబడుతుంది.
#చేర్చండిఉపయోగించి నేమ్స్పేస్గంటలు;
శూన్యంహలో(int *p)
{
ఖరీదు <<endl<< 'హలో () ఫంక్షన్ లోపల:' <<endl;
ఖరీదు << ' *P =' విలువ << *p<<endl;
*p= 200;
ఖరీదు << ' *P =' విలువ << *p<<endl;
ఖరీదు << హలో () ఫంక్షన్ నుండి నిష్క్రమిస్తోంది. ' <<endl;
}
intప్రధాన()
{
intఎక్కడ= 100;
ఖరీదు << ప్రధాన () ఫంక్షన్ లోపల var విలువ = ' <<ఎక్కడ<<endl;
హలో(&ఎక్కడ);
ఖరీదు <<endl<< ప్రధాన () ఫంక్షన్ లోపల var విలువ = ' <<ఎక్కడ<<endl;
తిరిగి 0;
}
ఉదాహరణ -2-చిరునామా ద్వారా కాల్ (2)
చిరునామా పద్ధతి ద్వారా కాల్కు ఇది మరొక ఉదాహరణ. ఈ ఉదాహరణలో, నిజ జీవిత సమస్యను పరిష్కరించడానికి కాల్ బై అడ్రస్ పద్ధతి ఎలా ఉపయోగపడుతుందో మేము వివరించబోతున్నాము. ఉదాహరణకు, మేము రెండు వేరియబుల్స్ మార్చుకోవడానికి ఒక ఫంక్షన్ రాయాలనుకుంటున్నాము. రెండు వేరియబుల్స్ని మార్చుకోవడానికి మేము కాల్ బై వాల్యూ మెకానిజమ్ని ఉపయోగిస్తే, అసలు వేరియబుల్స్ కాలర్ ఫంక్షన్లో మారవు. చిరునామా ద్వారా కాల్ పద్ధతి అటువంటి దృష్టాంతంలో ఉపయోగించవచ్చు. ఈ ఉదాహరణలో, మేము var_1 (& var_1) మరియు var_2 (& var_2) రెండింటి చిరునామాను mySwap () ఫంక్షన్కు పంపుతున్నాము. MySwap () ఫంక్షన్ లోపల, మేము పాయింటర్ల సహాయంతో ఈ రెండు వేరియబుల్స్ విలువలను మార్చుకుంటున్నాము. దిగువ అవుట్పుట్లో మీరు చూడగలిగినట్లుగా, mySwap () ఫంక్షన్ అమలు చేయబడిన తర్వాత ఈ వేరియబుల్స్ యొక్క వాస్తవ విలువ ప్రధాన () ఫంక్షన్లో మార్చుకోబడుతోంది.
#చేర్చండిఉపయోగించి నేమ్స్పేస్గంటలు;
శూన్యంmySwap(int *vptr_1,int *vptr_2)
{
inttemp_var;
temp_var= *vptr_1;
*vptr_1= *vptr_2;
*vptr_2=temp_var;
}
intప్రధాన()
{
intvar_1= 100;
intvar_2= 300;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేయడానికి ముందు, var_1 విలువ:' <<var_1<<endl;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేయడానికి ముందు, var_2 విలువ:' <<var_2<<endl<<endl;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేస్తోంది - చిరునామా ద్వారా కాల్ చేయండి.' <<endl<<endl;
mySwap(&var_1,&var_2);
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేసిన తర్వాత, var_1 విలువ:' <<var_1<<endl;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేసిన తర్వాత, var_2 విలువ:' <<var_2<<endl;
తిరిగి 0;
}
ఉదాహరణ -3-రిఫరెన్స్ ద్వారా కాల్ (1)
ఈ ఉదాహరణలో, C ++ లో రిఫరెన్స్ కాల్ ఎలా పనిచేస్తుందో మేము ప్రదర్శించబోతున్నాం. హలో () ఫంక్షన్ నిర్వచనంలో, విలువ రిఫరెన్స్ వేరియబుల్ (& p) గా స్వీకరించబడుతోంది. రిఫరెన్స్ వేరియబుల్ (అనగా, p) సహాయంతో, మేము ప్రధాన () ఫంక్షన్ లోపల వాస్తవ పరామితి (var) విలువను మార్చగలుగుతాము.
#చేర్చండిఉపయోగించి నేమ్స్పేస్గంటలు;
శూన్యంహలో(int &p)
{
ఖరీదు <<endl<< 'హలో () ఫంక్షన్ లోపల:' <<endl;
ఖరీదు << 'P =' విలువ <<p<<endl;
p= 200;
ఖరీదు << 'P =' విలువ <<p<<endl;
ఖరీదు << హలో () ఫంక్షన్ నుండి నిష్క్రమిస్తోంది. ' <<endl;
}
intప్రధాన()
{
intఎక్కడ= 100;
ఖరీదు << ప్రధాన () ఫంక్షన్ లోపల var విలువ = ' <<ఎక్కడ<<endl;
హలో(ఎక్కడ);
ఖరీదు <<endl<< ప్రధాన () ఫంక్షన్ లోపల var విలువ = ' <<ఎక్కడ<<endl;
తిరిగి 0;
}
ఉదాహరణ -4-రిఫరెన్స్ ద్వారా కాల్ (2)
రిఫరెన్స్ ద్వారా కాల్ చేయడానికి ఇది మరొక ఉదాహరణ. ఈ ఉదాహరణలో, రియల్-వరల్డ్ ఉదాహరణ సహాయంతో C ++ లో రిఫరెన్స్ కాల్ ఎలా పనిచేస్తుందో మేము ప్రదర్శించబోతున్నాం. MySwap () ఫంక్షన్ ప్రధాన () ఫంక్షన్ నుండి క్రింది పారామితులతో పిలువబడుతుంది - var_1 మరియు var_2. MySwap () ఫంక్షన్ లోపల, మేము పారామితులను రిఫరెన్స్ వేరియబుల్స్గా స్వీకరిస్తున్నాము.
#చేర్చండిఉపయోగించి నేమ్స్పేస్గంటలు;
శూన్యంmySwap(int &vref_1,int &vref_2)
{
inttemp_var;
temp_var=vref_1;
vref_1=vref_2;
vref_2=temp_var;
}
intప్రధాన()
{
intvar_1= 100;
intvar_2= 300;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేయడానికి ముందు, var_1 విలువ:' <<var_1<<endl;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేయడానికి ముందు, var_2 విలువ:' <<var_2<<endl<<endl;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేస్తోంది - రిఫరెన్స్ ద్వారా కాల్ చేయండి.' <<endl<<endl;
mySwap(var_1, var_2);
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేసిన తర్వాత, var_1 విలువ:' <<var_1<<endl;
ఖరీదు << 'MySwap () ఫంక్షన్కు కాల్ చేసిన తర్వాత, var_2 విలువ:' <<var_2<<endl;
తిరిగి 0;
}
ముగింపు
లో పరామితి ఉత్తీర్ణత పద్ధతులను అర్థం చేసుకోవడం సి ++ చాలా కీలకం. సి ప్రోగ్రామింగ్ లాంగ్వేజ్ కాల్ విలువ మరియు కాల్ ద్వారా మాత్రమే కాల్కు మద్దతు ఇస్తుంది. కానీ, C ++ మునుపటి రెండు మెకానిజమ్లతో పాటు రిఫరెన్స్ ద్వారా కాల్కు మద్దతు ఇస్తుంది. ఈ వ్యాసంలో, చిరునామా ద్వారా కాల్ మరియు సూచన ద్వారా కాల్ అనే భావనను అర్థం చేసుకోవడానికి మేము అనేక పని ఉదాహరణలను చూశాము. చిరునామా ద్వారా కాల్ అనేది ఎంబెడెడ్ డొమైన్ అప్లికేషన్లలో చాలా శక్తివంతమైన మరియు ప్రసిద్ధ పద్ధతి.