ஆவியாகும் C++

Aviyakum C



'பயனர்-வெளி பயன்பாடுகளின் டெவலப்பர்கள் பல்வேறு சூழல்களில் தகுதிநிலை எவ்வாறு கையாளப்படலாம் என்பதை அறிய தொடர்புடைய கம்பைலர் கையேடுகளை எப்போதும் குறிப்பிட வேண்டும், ஏனெனில் கொந்தளிப்பான முக்கிய வார்த்தை நடத்தை பொதுவாக வன்பொருள் சார்ந்ததாகவே பார்க்கப்பட வேண்டும். ஒரு பொருள் ஆவியாகக்கூடியதாகக் குறிக்கப்படும்போது, ​​அது சுமை செயல்பாடுகளுக்கு உகந்ததாக இருக்கக் கூடாது என்றும், எப்போதும் பதிவுகள் அல்லது தற்காலிக சேமிப்புகளை விட முதன்மை நினைவகத்திலிருந்து மீட்டெடுக்கப்பட வேண்டும் என்றும் கம்பைலருக்கு அடிக்கடி தெரிவிக்கப்படும். இருப்பினும், கம்பைலர் நினைவக இருப்பிடத்தை பதிவேட்டில் வைக்க முயற்சிக்கும் போது, ​​மென்பொருளுக்குக் கிடைக்காத மற்றும் வன்பொருளில் மட்டுமே பராமரிக்கப்படும் பல அடுக்கு கேச்கள் இருந்தாலும் அது தானாகவே தற்காலிகமாகச் சேமிக்கப்படும். இதன் விளைவாக, ஒரே மாதிரியான நினைவக இருப்பிடத்தை விட CPU க்கு அருகில் உள்ள கேச் லைன்களில் இருந்து ரேமை பல மடங்கு வேகமாக அணுக முடியும்.

உகப்பாக்கம் இயக்கப்பட்டால், குறியீடு எதிர்பார்த்தபடி செயல்படாமல் போகலாம். குறுக்கீடுகள் பயன்படுத்தப்பட்டு இயக்கப்படும் போது, ​​குறியீடு திட்டமிட்டபடி செயல்பட முடியாது. மின்சாரம் இயக்கத்தில் இருக்கும்போது மட்டுமே தரவு ஆவியாகும் சேமிப்பகத்தில் சேமிக்கப்படும். வழங்கல் அகற்றப்படும் போது, ​​தரவு இழப்பு ஏற்படுகிறது.

இருப்பினும், மின்சாரம் துண்டிக்கப்பட்டாலும், ஆவியாகாத சேமிப்பகம் தரவைச் சேமிக்கிறது. செயல்முறைத் தகவல் கொந்தளிப்பான சேமிப்பகத்தில் சுருக்கமாக சேமிக்கப்படுகிறது, ஏனெனில் இது ஆவியாகாத சேமிப்பகத்தை விட கணிசமாக வேகமானது. நிலையற்ற சேமிப்பகத்திற்கு மாறாக, உணர்திறன் தரவைப் பாதுகாக்க ஆவியாகும் சேமிப்பு மிகவும் பொருத்தமானது. ஏனென்றால், மின்சாரம் துண்டிக்கப்படும்போது தரவு அணுக முடியாதது. கொந்தளிப்பான சேமிப்பிடம் நிறைய செலவாகும், ஏனெனில் கணினி அமைப்புகள் சில எம்பி முதல் சில ஜிபி வரை மட்டுமே இடமளிக்க முடியும்.







C++ இல் உள்ள ஆவியாகும் தகுதியின் பண்புகள்

C++ கொந்தளிப்பான தகுதி வழிமுறைகள் இங்கே நிரூபிக்கப்படும். நாம் ஒரு மாறியை அறிவிக்கும் போது, ​​தகுதியான 'கொந்தளிப்பான' பயன்படுத்தப்படுகிறது. எந்த நேரத்திலும் மதிப்பு மாறுபடலாம் என்பதை கம்பைலருக்கு நினைவூட்டலாக இது செயல்படுகிறது. கொந்தளிப்பானவை கீழே பட்டியலிடப்பட்டுள்ள சில பண்புகளைக் கொண்டுள்ளன.



• ஆவியாகும் முக்கிய சொல்லைக் கொண்டு நினைவக ஒதுக்கீட்டை மாற்ற முடியாது.



• பதிவேட்டின் மாறிகளை தற்காலிகமாக சேமிக்க முடியாது.





• ஒதுக்கீட்டின் அடிப்படையில், மதிப்பை மாற்ற முடியாது.

C++ இல் ஆவியாகும் தகுதிநிலையின் பயன்பாடு

1. உங்கள் குறியீடு மாறியின் மதிப்பை மாற்றவில்லை என்றாலும், அது அவ்வாறு செய்யலாம். இதன் விளைவாக, ஒவ்வொரு முறையும் கம்பைலர் மாறியின் நிலையைச் சரிபார்க்கும் போது, ​​அது அதிலிருந்து படிக்கப்பட்ட மிக சமீபத்திய மதிப்பு அல்லது சேமிக்கப்பட்ட மிக சமீபத்திய மதிப்பு போன்றது என்று கருத முடியாது; மாறாக, அது மாறியின் மதிப்பை மீண்டும் ஒருமுறை பெற வேண்டும்.



2. ஒரு மதிப்பை சேமிக்கும் செயலை நீக்குவதற்கு கம்பைலர் தேவையில்லை, ஏனெனில் இது வெளியில் இருந்து பார்க்கக்கூடிய ஒரு 'பக்க விளைவு' மற்றும் ஒரு மதிப்பு ஆவியாகும் மாறியில் சேமிக்கப்படும் போது ஏற்படும். உதாரணமாக, இரண்டு மதிப்புகள் ஒரு வரிசையில் வைக்கப்பட்டால், கம்பைலர் மதிப்பை இரண்டு முறை வைக்க வேண்டும்.

C++ இல் கொந்தளிப்பான தகுதியின் தொடரியல்

# ஆவியாகும் தரவு_வகை மாறி_பெயர்

அறிவிப்பில் ஆவியாகும் முக்கிய சொல்லைப் பயன்படுத்த வேண்டும், மேலும் தரவு வகை என்பது இரட்டை, மிதவை அல்லது முழு எண் உட்பட எந்த தரவு வகையையும் குறிக்கிறது. இறுதியாக, மாறிக்கு ஒரு பெயரைத் தேர்ந்தெடுக்கிறோம். இரண்டு அறிவிப்புகளும் செல்லுபடியாகும் என்பதால், இரண்டு முறைகளையும் பயன்படுத்தி ஒரு ஆவியாகும் மாறியை வரையறுக்கலாம்.

எடுத்துக்காட்டு: C++ இல் உள்ள பிற இழைகள் அல்லது வெளிப்புறச் செயல்களால் மாற்றியமைக்கக்கூடிய பொருள்களை அடையாளம் காண ஆவியாகும் தகுதிநிலை பயன்படுத்தப்படுகிறது.

பொருளானது வெளிப்புற சமிக்ஞை அல்லது குறுக்கீடாக செயல்படும் செயல்முறையால் மாற்றப்பட்டால், மாற்றப்பட்ட மதிப்பை ரேமில் இருந்து மீட்டெடுக்க வேண்டும், ஏனெனில் இதற்கிடையில் தேக்கக நிலை இனி பொருந்தாது. இதன் விளைவாக, கம்பைலர் கொந்தளிப்பான பொருள்களுக்கான அணுகலை சரியான முறையில் கையாளுகிறது.

# அடங்கும்
#உள்ளடக்க
# அடங்கும்

std ஐப் பயன்படுத்துகிறது :: கூட் ;
std ஐப் பயன்படுத்துகிறது :: endl ;
std ஐப் பயன்படுத்துகிறது :: செர்ர் ;
std ஐப் பயன்படுத்துகிறது :: உண்ணுதல் ;

நிலையற்ற முழு எண்ணாக வினாடிகள் = 0 ;

வெற்றிடமானது ஐந்து வினாடிகள் தாமதம் ( ) {
போது ( வினாடிகள் < 3 ) {
உறக்கம் ( 200000 ) ;
செர்ர் << 'காத்து...' << endl ;
}
}

வெற்றிடமானது அதிகரிப்பு வினாடிகள் ( ) {
க்கான ( முழு எண்ணாக நான் = 0 ; நான் < 5 ; ++ நான் ) {
தூங்கு ( 1 ) ;
செர்ர் << 'அதிகரித்த' << endl ;
வினாடிகள் = வினாடிகள் + 1 ;
}
}

முழு எண்ணாக முக்கிய ( ) {
கட்டமைக்க நேர தொடக்கம் { } ;
கட்டமைக்க காலக்கெடு முடிவு { } ;
வகுப்பு :: நூல் நூல்1 ;

நூல்1 = வகுப்பு :: நூல் ( அதிகரிப்பு வினாடிகள் ) ;

ஐந்து வினாடிகள் தாமதம் ( ) ;

நூல்1. சேர ( ) ;
திரும்ப EXIT_SUCCESS ;
}


சாத்தியமான சூழ்நிலையை விளக்குவதற்கு, 'int' தரவு வகையின் விநாடிகள் என அறிவிக்கப்பட்ட மாறியைக் கொண்ட ஆவியாகும் முக்கிய சொல்லைப் பயன்படுத்தியுள்ளோம், மேலும் அதற்கு 0 மதிப்பை வழங்கியுள்ளோம். பின்னர், நாங்கள் இரண்டு செயல்பாடுகளை உருவாக்குகிறோம்: ஒன்று 'DelayFiveSeconds' என உலகளாவிய ஆவியாகும் முழு எண் மாறியை மாற்றுகிறது, மற்றொன்று 'IncrementSeconds' ஆக அதே மதிப்பீட்டை அதே நேரத்தில் லூப்பில் செய்கிறது. இந்த உதாரணம் வினாடிகள் 3 க்கும் குறைவாக இருக்கும் போது வினாடிகளில் லூப் செய்ய அனுமதிக்கிறது என்பதை கவனத்தில் கொள்ள வேண்டும்.

நிபந்தனை சந்திக்கும் போது, ​​போது தொகுதி செயல்படுத்தப்படும். வேட் பிளாக்கிற்குள், 'காத்திருப்பு' என்ற அறிக்கையை அச்சிடும் தூக்கமின்மை முறையைப் பயன்படுத்தியுள்ளோம். 'IncrementSceonds' செயல்பாட்டில் for loop உள்ளது. மறு செய்கைக்குப் பிறகு, தூக்க முறை செயல்படுத்தப்படுகிறது, இது 'அதிகரிப்பு' என்ற அறிக்கையை அச்சிடுகிறது மற்றும் 'வினாடிகள்' மாறியை அதிகரிக்கிறது. 'IncrementSeconds' செயல்பாட்டின் ஆரம்ப செயலாக்கம் முக்கிய செயல்பாட்டால் உருவாக்கப்பட்ட ஒரு தனி நூலால் செய்யப்படுகிறது. 'DelayFiveSeconds' முறையானது பிரதான நூலால் அழைக்கப்படுகிறது, விநாடிகள் மாறி 5 இன் மதிப்பிற்கு மேல் நகரவில்லை என்றால் அது முடிவடையாது.

விநாடிகள் மாறியின் மதிப்பு மாறியிருப்பதை முதன்மை நூல் கவனித்தவுடன், அது முறையிலிருந்து திரும்பும், ஏனெனில் மற்றொரு நூல் ஏற்கனவே ஒரே நேரத்தில் அதை அதிகரிக்கத் தொடங்கியுள்ளது.

C++ இல் த்ரெட் குறியீட்டை இயக்க, “g++ -pthread –o filename filename.cc” என்ற கட்டளையைப் பயன்படுத்த வேண்டும். நீங்கள் கட்டளையில் '-pthread' ஐ வரிசைப்படுத்தவில்லை என்றால், கம்பைலரால் ஒரு விதிவிலக்கு எறியப்படும் வாய்ப்பு உள்ளது. இதன் விளைவாக, ஆவியாகும் பொருள் வெளிப்புற சக்தியால் மாற்றப்படும் வரை காத்திருக்கும் ஒரு நிபந்தனைக்குட்பட்ட காத்திருப்பு செயல்பாட்டை திறம்பட செய்தோம். மாறக்கூடிய தகுதிநிலை நீக்கப்பட்டு, வழக்கமான உலகளாவிய மாறியைப் பயன்படுத்தினால், இந்தக் குறியீடு இன்னும் ஒரே மாதிரியாகச் செயல்படும் என்றாலும், புதுப்பிப்பு குறியீட்டைத் தொகுதி வேறு மொழிபெயர்ப்புப் பிரிவு அல்லது வெளிப்புற சமிக்ஞை செயலில் இருந்து வரலாம் என்பதை நினைவில் கொள்ள வேண்டியது அவசியம்.

முடிவுரை

இங்கே, வாலாடைல் இன் சி++ இன் மேலோட்டத்தை, மேலும் சிறந்த புரிதலுக்காக தொடரியல், பயன்பாடு மற்றும் பொருத்தமான எடுத்துக்காட்டுகளுடன் பார்க்கிறோம். கம்பைலரால் மதிப்பைக் கணிக்க முடியாது என்பதால், சி நிரலாக்கத்தில் ஆவியாகும் தன்மை முக்கியமானது. ஆவியாகும் தன்மையைப் பயன்படுத்துவதன் முதன்மையான நன்மை என்னவென்றால், ஒரு பயனர் அதை மாற்றும்படி கோரும்போதோ அல்லது அதே மாறியைப் பயன்படுத்தும் வேறு ஏதேனும் திரி செயலில் இருக்கும்போதோ அதன் மதிப்பு மாறுபடலாம்.