smcproject/ml-wiki-sentences huggingface dataset:
ആഗോള ക്ലാസ്സുകളും പ്രാദേശിക ക്ലാസ്സുകളും (global and local classes)
ഒരു പ്രോഗ്രാമിലെ എല്ലാ ഫങ്ക്ഷനുകളുടെയും പുറത്തു വിളംബരം ചെയ്യപ്പെട്ട ഒരു ക്ലാസ്സിനെ ആഗോള ക്ലാസ് എന്നു വിളിയ്ക്കുന്നു.
ഇത്തരം ഒരു ക്ലാസ് ഉപയോഗിച്ച് ആ പ്രോഗ്രാമിൽ എവിടെ നിന്നും ഒബ്ജക്റ്റുകൾ അഥവാ ഇൻസ്റ്റൻസുകൾ ഉണ്ടാക്കാൻ സാധിയ്ക്കുന്നതാണ്.
എന്നാൽ ഒരു ഫങ്ക്ഷന്റെ ഉള്ളിലും ഒരു ക്ലാസ് വിളംബരം ചെയ്യാൻ സാധിയ്ക്കുന്നതാണ്.
ഇത്തരം ക്ലാസ്സുകളെ പ്രാദേശിക ക്ലാസുകൾ എന്നു വിളിയ്ക്കുന്നു.
പ്രാദേശിക ക്ലാസ്സുകളെ അവ വിളംബരം ചെയ്യപ്പെട്ട സ്കോപിനുള്ളിൽ നിന്നു മാത്രമേ ഉപയോഗിയ്ക്കാൻ സാധിയ്ക്കൂ.
ക്ലാസ് വിളംബരവും ഡാറ്റാ ചരങ്ങളും
class അല്ലെങ്കിൽ struct എന്നീ സൂചകപദങ്ങൾ ഉപയോഗിച്ചാണ് ഒരു ക്ലാസ് വിളംബരം ചെയ്യപ്പെടുന്നത്.
struct person { string name ; int age ; }; class person { public : string name ; int age ; };
മുകളിൽ കൊടുത്തിരിയ്ക്കുന്ന രണ്ടു വിവരണങ്ങളും ഒരേ കാര്യം തന്നെയാണ് ചെയ്യുന്നത്.
person എന്ന ടൈപ്പിൽ ഉള്ള ഒബ്ജക്റ്റുകൾക്ക് പൊതു സമീപനത്തിനുള്ള name , age എന്നീ രണ്ടു ഡാറ്റാ ചരങ്ങൾ ഉണ്ടായിരിയ്ക്കും എന്നതാണ് ഈ വിവരണത്തിന്റെ അർത്ഥം.
അർധവിരാമവും { അടയാളവും അത്യാവശ്യമാണ്.
ഇതിൽ ഏതെങ്കിലും ഒരു വിവരണത്തിനു ശേഷം താഴെ കൊടുത്തിരിയ്ക്കുന്നതു പോലെ person ക്ലാസ് ഉപയോഗിച്ച് പുതിയ ഡാറ്റാ ചരങ്ങൾ ഉണ്ടാക്കിയെടുക്കാൻ പറ്റുന്നതാണ്: #include iostream #include string class person { public : string name ; int age ; }; int main () { person a , b ; a . name = "Calvin" ; b . name = "Hobbes" ; a . age = 30 ; b . age = 20 ; std :: cout a . name ": " a . age std :: endl ; std :: cout b . name ": " b . age std :: endl ; return 0 ; }
ഈ കോഡ് ഓടിച്ചു നോക്കിയാൽ താഴെ കാണുന്ന ഔട്ട്പുട്ട് കിട്ടും.
Calvin: 30
Hobbes: 20 ഒരു ക്ലാസ്സിന്റെ അംഗങ്ങളായ മെത്തേഡുകൾ
സി++ ക്ലാസിലെയും സ്ട്രക്ക്ച്ചറിലെയും പ്രധാന അംഗങ്ങളാണ് മെത്തേഡുകൾ.
ഈ മെത്തേഡുകൾക്ക് ആ ക്ലാസ്സിലെ ഏതു ഡാറ്റാ ചരത്തെയും ( private എന്നോ public എന്നോ വ്യത്യാസമില്ലാതെ) ഉപയോഗിയ്ക്കാൻ സാധിയ്ക്കുന്നതാണ്.
സ്റ്റാറ്റിക് ( static ) അല്ലാത്ത മെത്തേഡുകളിൽ നിന്ന് this എന്ന സൂചകപദം ഉപയോഗിച്ചാൽ ഏതു ഒബ്ജെക്റ്റിൻമേലാണോ ഈ മെത്തേഡ് വിളിച്ചത് ആ ഒബ്ജെക്ടിന്റെ പോയിന്റർ ഉപയോഗിയ്ക്കുന്നതിനു തുല്യമാണ്.
കംപൈലർ മെഷീൻ കോഡ് ഉണ്ടാക്കുമ്പോൾ ഇത്തരം മെത്തേഡുകളിലേയ്ക്ക് എപ്പോഴും ഈ ഒബ്ജെക്ടിന്റെ പോയിന്റർ പ്രോഗ്രാമർ പ്രത്യേകിച്ച് എടുത്തു പറയാതെ തന്നെ പാസ് ചെയ്യുന്നതായിരിയ്ക്കും.
മുകളിലെ person ഉദാഹരണം വീണ്ടും എടുക്കുക: class person { std :: string name ; int age ; public : person () : age ( 5 ) { } void print () const ; }; void person::print () const { std :: cout name ":" age std :: endl ; /* "name", "age" എന്നിവ അംഗങ്ങളായ ഡാറ്റാ ചരങ്ങൾ ആണ്. "this" എന്ന സൂചകപദം ഉപയോഗിച്ചാൽ ഏത് ഒബ്ജെക്ടിൽ ആണോ ഈ മെത്തേഡ് വിളിക്കപ്പെട്ടത് അതിന്റെ പോയിന്റർ കിട്ടും. */ }
മുകളിലത്തെ ഉദാഹരണത്തിൽ print() എന്ന മെത്തേഡ് ക്ലാസ്സിന്റെ ഉള്ളിൽ തന്നെ വിളംബരം ചെയ്യപ്പെട്ടിരിയ്ക്കുന്നു.
എന്നാൽ ഇതിന്റെ വിവരണം (definition) ക്ലാസിനു പുറത്താണ്.
ഇങ്ങനെ ചെയ്യുമ്പോൾ മെത്തേഡിന് മുന്നിൽ ക്ലാസ്സിന്റെ പേരും :: എന്ന ചിഹ്നവും ഇടണം.
name ഉം age ഉംപ്രൈവറ്റ് ആയും print() എന്ന മേത്തോട് പബ്ലിക് ആയും വിളംബരം ചെയ്യപ്പെട്ടിരിയ്ക്കുന്നു.
ഒരു ഒബ്ജക്റ്റ് ഉപയോഗിച്ച് ഈ print() , എന്ന ഫങ്ക്ഷനെ വിളിക്കാൻ സാധിയ്ക്കും: a .
print (); b .
print ();
ഇവിടെ ആദ്യത്തെ വരിയിലെ മെത്തേഡ് ഓടുമ്പോൾ a എന്ന ഒബ്ജെക്ടിലെ അംഗങ്ങളായ ഡാറ്റാ ചരങ്ങളാണ്‌ പ്രിന്റ് ചെയ്യപ്പെടുക.
രണ്ടാമത്തെ വരി ഓടുമ്പോൾ b എന്ന ഒബ്ജെക്ടിലേതും.
മുകളിൽ കാണിച്ച പോലെ ഒരു ക്ലാസ്സിലെ മെത്തേഡുകളുടെ വിളംബരവും വിവരണവും സാധാരണയായി വേറെ വേറെ ആക്കി വ്യത്യസ്ത ഫയലുകളിലായാണ് സൂക്ഷിച്ചു വെയ്ക്കാറ്.
ഒരു ക്ലാസ്സിന്റെ വിളംബരത്തെ അതിന്റെ ഇന്റർഫേസ് എന്നും വിളിയ്ക്കാറുണ്ട്.
സാധാരണ ഈ ക്ലാസ്സിനെ ഉപയോഗിയ്ക്കുന്ന മറ്റു പ്രോഗ്രാമ്മുകൾക്കും ക്ലാസ്സുകൾക്കും ഈ ഇന്റർഫേസ് മാത്രം കണ്ടാൽ മതിയാകും.
അതിനാൽ ഈ ഇന്റർഫേസിനെ ഒരു ഹെഡർ ഫയലിൽ ആക്കി സൂക്ഷിയ്ക്കുന്നു.
ഈ ക്ലാസ്സിന്റെ വിവരണം അഥവാ ഇമ്പ്ളെമെന്റഷൻ വേറെ ഒരു സോഴ്സ് ഫയലിൽ ആണ് സൂക്ഷിയ്ക്കാറ്.
ഇൻഹെറിറ്റൻസ്
ഒരു ക്ലാസ്സിനെ മെമ്മറിയിൽ എങ്ങനെ വെയ്ക്കണം എന്നത് സി++ സ്റ്റാൻഡേർഡ് നിഷ്കർഷിയ്ക്കാറില്ല.
ഇത് കംപൈലർ ഉണ്ടാക്കുന്നവരുടെ സ്വാതന്ത്ര്യത്തിനു വിട്ടുകൊടുത്തിരിയ്ക്കുകയാണ്.
സാധാരണയായി ഒരു ക്ലാസ്സിൽ നിന്നും മറ്റൊന്ന് ഇൻഹെറിറ്റ് ചെയ്യുമ്പോൾ രണ്ടു ക്ലാസ്സിലെ ഡാറ്റ ചരങ്ങളും മെമ്മറിയിൽ ഒന്നിനു പിറകെ മറ്റൊന്നായി വെയ്ക്കുകയാണ് ചെയ്യുക.
ഇങ്ങനെ ചെയ്യുകയാണെങ്കിൽ ബേസ് ക്ലാസ്സിന്റെ ഒരു പോയിന്റർ വെച്ച് സൂപ്പർ ക്ലാസ്സിനെ ഉപയോഗിയ്ക്കാൻ എളുപ്പമാകും.
താഴെ കൊടുത്തിരിയ്ക്കുന്ന ഉദാഹരണം ശ്രദ്ധിയ്ക്കുക class P { int x ; }; class C : public P { int y ; };
P യുടെ ഒരു ഒബ്ജെക്ടിലേയ്ക്ക് ചൂണ്ടുന്ന P* p എന്നൊരു പോയിന്റർ ഉണ്ടെന്നിരിയ്ക്കട്ടെ.
ഇതിന്റെ മെമ്മറി ക്രമീകരണം (memory layout) താഴെ കാണുന്നത് പോലെയായിരിയ്ക്കും: +----+
|P::x|
+----+
↑
p
ഇനി ഇത് C യുടെ ഒബ്ജക്റ്റ് ആണെങ്കിൽ താഴെ കാണുന്നത് പോലെ ഇരിയ്ക്കും: +----+----+
|P::x|C::y|
+----+----+
↑
p
അതിനാൽ P എന്ന ക്ലാസ്സിന്റെ ഒബ്ജെക്ടിന്മേൽ പ്രവർത്തിയ്ക്കുന്ന ഒരു പോയിന്റർ ഉണ്ടെങ്കിൽ C എന്ന ടൈപ്പിലുള്ള ഒബ്ജെക്ടിന്റെ ഉള്ളിലുള്ള P യുടെ ഡാറ്റാ ചരങ്ങളെയും അതിന് സമീപിയ്ക്കാൻ സാധിയ്ക്കും.
എന്നാൽ ഇത്തരത്തിൽ സി++ ഭാഷ എങ്ങനെ ഇമ്പ്ളേമെന്റ് ചെയ്തിരിയ്ക്കുന്നു എന്നതിനെ അടിസ്ഥാനമാക്കി പ്രോഗ്രാമുകൾ എഴുതുന്നത് ആശാസ്യമല്ല.
അതിനാൽ തുടങ്ങിയ ടൈപ്പ് കോൺവെർഷൻ ഓപ്പറേറ്ററുകൾ ഉപയോഗിച്ചാണ് ഒരു ടൈപ്പ് പോയിന്ററിനെ മറ്റൊരു ടൈപ്പ് അയക്കേണ്ടത്.
ഒരു ക്ലാസ് രണ്ടു വ്യത്യസ്ത ക്ലാസ്സുകളിൽ നിന്നും ഇൻഹെറിറ്റ് ചെയ്യുന്ന അവസ്ഥയിൽ ഇത് വളരെ സങ്കീർണമാകും.
ഓവർലോഡഡ് ഓപ്പറേറ്ററുകൾ
സി++'ൽ അടിസ്ഥാന ഗണിതക്രിയകളെ സൂചിപ്പിയ്ക്കുന്ന ഓപ്പറേറ്ററുകളായ + - * / എന്നിവ ഓവർലോഡ് ചെയ്തു വേറെ തരത്തിൽ എഴുതിയെടുക്കാൻ സാധിയ്ക്കുന്നതാണ്.
എന്നാൽ ഇങ്ങനെ ചെയ്യുമ്പോൾ ഒരു ഓപ്പറേറ്ററിന്റെ അടിസ്ഥാന അർത്ഥം മാറിപ്പോകാത്ത വിധത്തിൽ എഴുതണം എന്നാണ് കീഴ്വഴക്കം.
പക്ഷെ ഈ കീഴ്വഴക്കം തെറ്റിച്ചു കോഡ് എഴുതിയാലും പ്രത്യേകിച്ച് കുഴപ്പം ഒന്നും സംഭവിയ്ക്കില്ല.
കംപൈലർ അത് സാധാരണ പോലെ കമ്പൈൽ ചെയ്യുകയും ഉദ്ദേശിച്ച പോലെ അത് ഓടുകയും ചെയ്യും.
ഉദാഹരണത്തിന് താഴെ കൊടുത്തിരിയ്ക്കുന്ന integer എന്ന ക്ലാസ്സിലെ integer * integer എന്ന ഓപ്പറേറ്റർ വിളിച്ചാൽ ഒരു ഗുണിതം കിട്ടിയിരിയ്ക്കണം എന്നതാണ് കീഴ്വഴക്കം.
എന്നാൽ കോഡ് എഴുതിയിരിയ്ക്കുന്നത് സങ്കലനം ചെയ്യാനും!
struct integer { int i ; integer ( int j = 0 ) : i ( j ) {} integer operator * ( const integer k ) const { return integer ( i + k . i ); } }; struct integer { int i ; integer ( int j = 0 ) : i ( j ) {} integer operator * ( const integer k ) const ; }; integer integer :: operator * ( const integer k ) const { return integer ( i * k . i ); }
മുകളിൽ കൊടുത്തിരിയ്ക്കുന്ന ഉദാഹരണത്തിൽ ഒരു struct 'നുള്ളിൽ ഒരു മെത്തേഡ് വിളംബരം ചെയ്തിരിയ്ക്കുന്നു.
ഇത് നേരത്തെ കണ്ട ഉദാഹരണത്തിലെ, ക്ലാസ്സിനുള്ളിൽ മെത്തേഡ് വിളംബരം ചെയ്തു പുറത്തു വിവരിയ്ക്കുന്ന രീതിയ്ക്ക് സമാനമാണ്.
ഇവിടെ ഓപ്പറേറ്ററിന്റെ വിവരണത്തിൽ const എന്ന സൂചകപദം രണ്ടു പ്രാവശ്യം കൊടുത്തിരിയ്ക്കുന്നത് ശ്രദ്ധിയ്ക്കുക.
ആദ്യത്തേത് മെത്തേഡിലേയ്ക്ക് പാസ് ചെയ്യപ്പെടുന്ന ആർഗ്യുമെന്റിന്റെ ടൈപ്പ് സൂചിപ്പിയ്ക്കാനാണ്.
ഇത് const integer k എന്നതാണ്.
ഇതിന്റ അർഥം ഈ ആർഗ്യുമെന്റ് ഡാറ്റാ ചരത്തിന്റെ വില മെത്തേഡിന്റെ ഉള്ളിൽ വെച്ച് ഒരിയ്ക്കലും മാറില്ല എന്നാണ്.
രണ്ടാമത്തത് മെത്തേഡിന്റെ അവസാനം കൊടുത്തിരിയ്ക്കുന്ന ആണ്.
ഇത് സൂചിപ്പിയ്ക്കുന്നത് ഈ മെത്തേഡ് ഒരിയ്ക്കലും ആ ഒബ്ജെക്ടിലെ ഡാറ്റാ ചരങ്ങളുടെ വില മാറ്റില്ല എന്നാണ്.
ഈ രണ്ടു സൂചകങ്ങളും കംപൈലറിനോടും ഉപഭോക്താക്കളോടും ഉള്ള ഒരു ഉറപ്പാണ്.
const integer k എന്ന ടൈപ്പ് വിവരണത്തിലെ എന്ന ചിഹ്നം സൂചിപ്പിയ്ക്കുന്നത് k എന്ന ഡാറ്റാ ചരം "pass by reference" എന്ന രീതി വഴിയാണ് മെത്തേഡിലേയ്ക്ക് വില പാസ് ചെയ്യുന്നത് എന്നാണ്.
അതായത് k എന്ന ഡാറ്റാ ചരത്തിന്റെ വില വേണമെങ്കിൽ ഈ മെത്തേഡിനുള്ളിൽ നിന്നും മാറ്റാം.
പക്ഷെ const എന്ന് സൂചിപ്പിച്ചിരിയ്ക്കുന്നതുകൊണ്ട് അങ്ങനെ ചെയ്യില്ല എന്നും ഉറപ്പുവരുത്തപ്പെടുന്നു.
ഓവർലോഡ് ചെയ്യാൻ പറ്റുന്ന ദ്വയാങ്കക്രിയകൾ (Binary overloadable operators)
ദ്വയാങ്കക്രിയകൾ എന്നാൽ രണ്ടു ആർഗ്യുമെന്റുകൾ ഉള്ള ക്രിയകൾ.
ഇത് "operator (something)" എന്ന സൂചകപദം ഉപയോഗിച്ച് ഓവർലോഡ് ചെയ്യാം.
ഇവിടെ 'something' എന്നുള്ളത് ക്ലാസ്സിന്റെ ഒരു ഒബ്ജക്റ്റ് ആണ്.
രണ്ടാമത്തെ ഒബ്ജക്റ്റ് ഏതു ഒബ്ജെക്റ്റിലാണോ ഈ ഓപ്പറേറ്റർ വിളിയ്ക്കുന്നത് ആ ഒബ്ജക്റ്റ് തന്നെയാണ്.
( this പോയിന്ററിനെ ഓർക്കുക).
മുകളിൽ കൊടുത്ത integer എന്ന ക്ലാസിന്റെ ഉദാഹരണം ശ്രദ്ധിയ്ക്കുക.
ഇതിലെ * എന്ന ഓപ്പറേറ്റർ ഈ പാറ്റേണിൽ വിവരിയ്ക്കപ്പെട്ടിട്ടുള്ള ഒരു ഓപ്പറേറ്റർ ആണ്.
ഇവിടെ k എന്നത് പുറത്തു നിന്നും വരുന്ന ഒരു ഒബ്ജക്റ്റ് ആണ്.
* എന്ന ഓപ്പറേറ്ററിന്റെ രണ്ടാമത്തെ ആർഗ്യുമെന്റ് ഏതു ഒബ്ജെക്ടിൽ ആണോ ഈ ഓപ്പറേറ്റർ വിളിയ്ക്കുന്നത് അതാണ്.
താഴെ കൊടുത്തിരിയ്ക്കുന്ന കോഡ് കാണുക.
integer i = 1 ; /* we can initialize a structure variable this way as if calling a constructor with only the first argument specified.
*/ integer j = 3 ; /* variable names are independent of the names of the member variables of the structure.
*/ integer k = i * j ; cout k .
i endl ;
ഇവിടെ i * j എന്ന വരിയിൽ i എന്ന ഒബ്ജെക്ടിന്റെ ഓപ്പറേറ്റർ മെത്തേഡ് ആണ് വിളിക്കപ്പെടുന്നത്.
j എന്നത് പുറത്തുനിന്നും വരുന്ന ഡാറ്റാ ചരം ആകും.
ഇങ്ങനെ ഓവർലോഡ് ചെയ്യാവുന്ന ദ്വയാങ്കക്രിയകൾ താഴെ കൊടുത്തിരിയ്ക്കുന്നവയാണ്: ഓപ്പറേറ്റർ സാധാരണ ഉപയോഗം + - * / % അങ്കഗണിത കണക്കുകൂട്ടലുകൾ ^ | ബിറ്റ്കവൈസ് കണക്കുകൂട്ടലുകൾ == !
= = ലോജിക്കൽ താരതമ്യങ്ങൾ ലോജിക്കൽ കൺജംഗ്ഷൻ | | ലോജിക്കൽ ഡിസ്ജംഗ്ഷൻ += -= *= /= %=
^= = | = = സംയുക്ത വിലകൊടുക്കൽ(Compound assignment) , (no general usage) ഓവർലോഡ് ചെയ്യാൻ പറ്റുന്ന ഏകാങ്കക്രിയകൾ(Unary overloadable operators)
രണ്ടു ആർഗ്യുമെന്റുകൾ ഉള്ള ഓപ്പറേറ്ററുകൾ മുകളിൽ കണ്ടല്ലോ.
ചിലപ്പോൾ ഒരു ആർഗ്യുമെന്റ് മാത്രമുള്ള ഓപ്പറേറ്ററുകളും വേണ്ടി വരും.
ഇവിടെ പാസ് ചെയ്യപ്പെട്ട ആർഗ്യുമെന്റുകൾ ഉണ്ടാകില്ല, ഏത് ഒബ്ജെക്റ്റിലാണോ ഓപ്പറേറ്റർ വിളിയ്ക്കപ്പെടുന്നത് അത് മാത്രമായിരിയ്ക്കും ആർഗ്യുമെന്റ്.
താഴെ കൊടുത്തിരിയ്ക്കുന്നവയാണ് ഉദാഹരണങ്ങൾ: Operator General usage Position of sender + - Positive / negative sign right * Dereference right !
~ Logical / bitwise NOT right ++ -- Pre-increment / decrement right ++ -- Post-increment / decrement left
ഇത്തരം ഓപ്പറേറ്ററുകളിൽ ഒരു ചെറിയ സങ്കീർണതയുണ്ട്.
ഒരു ആർഗ്യുമെന്റ് മാത്രമുള്ളതുകൊണ്ട് അത് വിളിയ്ക്കപ്പെടുന്ന ഒബ്ജക്റ്റ് ഓപ്പറേറ്ററിന്റെ ഇടതുവശത്താണോ വരേണ്ടത് അതോ വലതുവശത്താണോ വരേണ്ടത് എന്നുള്ളത് കൃത്യമായി സൂചിപ്പിയ്ക്കണം.
രണ്ടു ആർഗ്യുമെന്റ് ഉള്ളപ്പോൾ ഇത് എളുപ്പമാണ്.
വിളിയ്ക്കപ്പെടുന്ന ഒബ്ജക്റ്റ് ഇടത്തും പാസ് ചെയ്യപ്പെടുന്ന ആർഗ്യുമെന്റ് വലത്തും.
ഇത് സൂചിപ്പിയ്ക്കാനായി താഴെ കാണുന്ന കീഴ്വഴക്കം ഉപയോഗിയ്ക്കുന്നു.
ആദ്യത്തെ അവസ്ഥയിൽ ഒബ്ജക്റ്റ് വലതുവശത്തു വരുന്നു.
: return_type operator@ ()
ആർഗ്യുമെന്റ് (വിളിയ്ക്കപ്പെടുന്ന ഒബ്ജക്റ്റ്) ഇടതുവശത്തു വരണമെങ്കിൽ ഇങ്ങനെ വിവരിയ്ക്കണം: return_type operator@ (int)
ഇവിടെ @ എന്നത് ഏതു ഓപ്പറേറ്റർ ആണോ അതിനെ സൂചിപ്പിയ്ക്കുന്നു.
return_type എന്നത് ആ ഓപ്പറേറ്ററിൽ നിന്നും എന്ത് വില പുറത്തേയ്ക്ക് കൊടുക്കുന്നു അതിന്റെ ടൈപ്പിനെ (return type) സൂചിപ്പിയ്ക്കുന്നു ( int , bool , structures തുടങ്ങിയവ.)
int എന്ന പാരാമീറ്റർ ആർഗ്യുമെന്റ് ഇടതു വശത്താണ് എന്ന് കാണിക്കാനുള്ള ഒരു കീഴ്വഴക്കം മാത്രമാണ്.
കോൺസ്ട്രക്ടർ
ഒരു ക്ലാസ്സിന്റെ ഒബ്ജക്റ്റ് ഉണ്ടാക്കുന്ന സമയത്ത് അതിലെ അംഗങ്ങളായിട്ടുള്ള ചരങ്ങൾക്ക് പുറത്തു നിന്നും വിലകൾ കൊടുക്കണമെങ്കിൽ ഒരു കോൺസ്ട്രക്ടർ ഉപയോഗിച്ച് അത് ചെയ്യാവുന്നതാണ്.
person :: person ( string N , int A ) { name = N ; age = A ; } അടിസ്ഥാന കോൺസ്ട്രക്ടർ (Default constructor)
ഒരു കോൺസ്ട്രക്ടറിന് ആർഗ്യുമെന്റുകൾ ഒന്നും തന്നെയില്ലെങ്കിൽ അതിനെ അടിസ്ഥാനകോൺസ്ട്രക്ടർ എന്ന് വിളിയ്ക്കുന്നു.
class A { int b ;}; //Object created using parentheses A * a = new A (); //Calls default constructor, and b will be initialized with '0' //Object created using no parentheses A * a = new A ; // allocate memory, then call default constructor, and b will have value '0' //Object creation without new A a ; //Just allocate memory, and b will have unknown garbage value ഡിസ്ട്രക്ടർ (Destructors)
ഒരു കോൺസ്ട്രക്ടറിന്റെ വിപരീത ഉപയോഗമാണ് ഒരു ഡിസ്ട്രക്ടറിന് ഉള്ളത്.
ഒരു ക്ലാസ്സിന്റെ ഒബ്ജെക്ടിനെ മെമ്മറിയിൽ നിന്നും നീക്കുമ്പോൾ ആ ക്ലാസ്സിലെ ഏതെങ്കിലും ഡാറ്റാ ചരങ്ങൾക്ക് അവസാനമായി എന്തെങ്കിലും ചെയ്യാനുണ്ടെങ്കിൽ ഒരു ഡിസ്ട്രക്ടർ വേണ്ടി വരും.
ഉദാഹരണത്തിന് ഒരു ഡാറ്റാ ചരം ഒരു പോയിന്റർ ആണെന്നും ഇത് ക്ലാസ്സിന്റെ ഉപയോഗത്തിൽ എപ്പോളോ ഒരു മെമ്മറി അലോക്കേഷൻ നടത്തി ഉപയോഗിച്ചു എന്ന് കരുതുക.
ഈ അംഗം പോയിന്റ് ചെയ്യുന്ന മെമ്മറി എപ്പോളെങ്കിലും ഡി അലൊക്കേറ്റ് ചെയ്തു വൃത്തിയാക്കേണ്ടി വരും.
ഇത്തരം പ്രവൃത്തികൾ ഡിസ്ട്രക്ടരിൽ ആണ് ചെയ്യുക.
ഒരു ഡിസ്ട്രക്ടർ ~ എന്ന പ്രത്യേക ചിഹ്നം ഉപയോഗിച്ചാണ് വിവരിയ്ക്കുക.
താഴെ കൊടുത്തിരിയ്ക്കുന്ന ഉദാഹരണം കാണുക..
~ person () { cout "I'm deleting " name " with age " age endl ; } ക്ലാസ് ടെംപ്ലേറ്റുകൾ (Class templates)
സി++'ൽ ഒരു ക്ലാസ്സിന്റെ വിവരണം ക്ലാസ് ടെംപ്ലേറ്റുകളിൽ നിന്നും ഒരു കംപൈലറിനുതന്നെ ഉണ്ടാക്കിയെടുക്കാൻ സാധിയ്ക്കും.
ഇത്തരം ക്ലാസ് ടെംപ്ലേറ്റുകൾ ഒരേ പോലെയുള്ള ക്ലാസ്സുകളുടെ ഒരു കുടുംബത്തെയാണ് പ്രതിനിധീകരിയ്ക്കുന്നത്.
കമ്പൈൽ ചെയ്യുന്ന സമയത്ത് ഈ ടെംപ്ലേറ്റിൽ നിന്നും ആവശ്യമുള്ള ക്ലാസ്സിന്റെ കോഡ് കംപൈലർ തന്നെ ഉണ്ടാക്കിയെടുക്കും..
ഇവ കൂടി കാണുക കോൺസ്ട്രക്ടർ ഡിസ്ട്രക്ടർ ക്ലാസ് ടെമ്പ്ലേറ്റ് അവലംബം
സാൾട്ട് റോഡ് ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Salt_road Sign for historic salt road in Bavaria
ആവശ്യമുള്ള ഉപ്പ് അത് ലഭ്യമല്ലാത്ത മേഖലകളിലേക്ക് എത്തിച്ചു കൊടുക്കുന്ന ചരിത്രാതീത കാലത്തെ ചരിത്രപരവുമായ വ്യാപാര വഴികളാണ് സാൾട്ട് റോഡ് (സാൾട്ട് റൂട്ട് , സാൾട്ട് വേ, സാൾട്ട്വേ , അല്ലെങ്കിൽ സാൾട്ട് ട്രേഡിങ്ങ് റൂട്ട് എന്നും അറിയപ്പെടുന്നു.).
വെങ്കലയുഗത്തിൽ നിന്ന് (ബി.സി. രണ്ടാം സഹസ്രാബ്ദത്തിൽ) ലിഗൂറിയ മലനിരകളുമായി ബന്ധിപ്പിക്കുന്ന ലിഗൂറിയൻ ഡ്രെയില്ലെസ് പോലെ സ്ഥിരമായ മനുഷ്യനിർമ്മിത വഴികൾ പ്രത്യക്ഷപ്പെട്ടിരുന്നു.
കൃത്യമായി നിർമ്മിച്ച റോഡുവഴികൾക്കുമുമ്പ് ഭൂഗർഭ പാതകൾ നിർമ്മിച്ചിരുന്നു.
ഇതിലൂടെ ഉപ്പിന് ബുദ്ധിമുട്ടുള്ളവർക്ക് ഉപ്പ് സമ്പന്നമായ പ്രവിശ്യകൾ വിതരണം ചെയ്തിരുന്നു.
ഇതും കാണുക History of salt Timeline of international trade അവലംബം കുറിപ്പുകൾ ബിബ്ലിയോഗ്രാഫി {{ cite book }} : | volume= has extra text ( help ) ; Invalid | ref=harv ( help ) {{ cite book }} : | volume= has extra text ( help ) ; Invalid | ref=harv ( help ) {{ cite book }} : Invalid | ref=harv ( help ) ബാഹ്യ ലിങ്കുകൾ Russ Collins, Route de Sel
സാൾട്ട് ലേക്ക് സിറ്റി, യൂട്ടാ
സാൾട്ട് ലേക്ക് സിറ്റി , (ചുരുക്കത്തിൽ സാൾട്ട് ലേക്ക് എന്നോ അല്ലെങ്കിൽ SLC എന്നോ ഉപയോഗിക്കുന്നു), അമേരിക്കൻ ഐക്യനാടുകളിലെ സംസ്ഥാനമായ ഉട്ടായുടെ തലസ്ഥാനവും അവിടുത്തെ ഏറ്റവും ജനസാന്ദ്രതയുള്ള മുനിസിപ്പാലിറ്റിയുമാണ്.
2014 ലെ കണക്കുകളനുസരിച്ച് പട്ടണത്തിലെ ആകെ ജനസംഖ്യ 190,884 ആണ്.
പട്ടണം സാൾട്ട് ലേക്ക് സിറ്റി മെട്രോപോളിറ്റൻ മേഖലയിലാണ് സ്ഥിതി ചെയ്യുന്നത്.
ഈ മെട്രോപോളിറ്റൻ മേഖലയിലെ ആകെ ജനസംഖ്യ 2014 ലെ കണക്കുകൾ പ്രകാരം 1,153,340 ആണ്.
ഈ മേഖലയാകെ വീണ്ടും ഒരു വലിയ മെട്രോപോളിസ് ആയ സാൾട്ട് ലേക്ക് സിറ്റി-ഒഗ്ഡെൻ-പ്രോവോ കമ്പൈൻഡ് സ്റ്റാറ്റിസ്റ്റിക്കൽ മേഖലയുടെ കീഴിലാണ്.
ക്രസ്തുമതത്തിലെ ഒരു ഉപ വിഭാഗമായ മാർമൺസ് വിശ്വാസികളായ (Restorationist Christianity) ബ്രിഘാം യംഗ്, ഇസാക് മോർലെ, ജോർജ്ജ് വാഷിംഗടൺ ബ്രാഡ്ലി മറ്റു മാർമൺ വിശ്വാസികളോടൊപ്പം ചേർന്ന് 1847 ലാണ് ഈ പട്ടണം സ്ഥാപിച്ചത്.
ഗ്രേറ്റ് സാൾട്ട് ലേക്കുമായിട്ടുള്ള സാമീപ്യമാണ് പട്ടണത്തിന് ഈ പേരു ലഭിക്കാൻ കാരണം.
പട്ടണത്തിൻറെ പേരിനു മുൻപിലുണ്ടായിരുന്ന ഗ്രേറ്റ് എന്ന ഭാഗം ഉട്ടാ ടെറിറ്റോറിയൽ ലെജിസ്ലേച്ചർ 1868 ൽ എടുത്തുമാറ്റി.
സാൾട്ട് ലേക്ക് സ്റ്റേഡിയം ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Salt_Lake_Stadium
പശ്ചിമബംഗാൾ സംസ്ഥാനത്തിന്റെ തലസ്ഥാനമായ കൊൽക്കത്തയിൽ ബിധാനഗറിലാണു ഇന്ത്യയിലെ ഏറ്റവും വലുതും ലോകത്തിലെ രണ്ടാമത്തേതുമായ സാൾട്ട് ലേക്ക് സ്റ്റേഡിയം .
1984 ജനുവരിയിലാണു ഈ സ്റ്റേഡിയം തുറന്നത്.
120000 ആളുകളെ ഉൾകൊള്ളാൻ ആവുന്നതാണു ഈ സ്റ്റേഡിയം.
1989- ൽ റൺഗ്രാഡോ മെയ് ഡേ സ്റ്റേഡിയത്തിന്റെ നിർമ്മാണത്തിനു മുമ്പ് തുറക്കുമ്പോഴും ലോകത്തിലെ ഏറ്റവും വലിയ ഫുട്ബോൾ സ്റ്റേഡിയമായിരുന്നു ഇത്.
സാൾട്ട് ആന്റ് പെപ്പർ ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Salt_and_pepper Salt powder and pepper powder in a dining table of a hotel Salt crystals and a black peppercorn
യൂറോപ്യൻ ഭക്ഷണം വിളമ്പുന്ന മേശകളിൽ കാണാറുള്ള തീൻമേശവിഭവങ്ങളാണ് ഉപ്പുപൊടിയും കുരുമുളക് പൊടിയും.
രണ്ടിനെയും ചേർത്ത് സാൾട്ട് ആന്റ് പെപ്പർ എന്നു പറയുന്നു.
ഫ്രഞ്ച് ഭക്ഷണരീതികളിൽ പതിനേഴാം നൂറ്റാണ്ടുമുതൽ ഇത് ഉപയോഗിച്ചുവരുന്നു.
കുരുമുളക് പൊടി മാത്രമാണ് ഭക്ഷണത്തിന്റെ സ്വാദിൽ വലിയ വ്യത്യാസം വരുത്താത്ത സുഗന്ധവ്യഞ്ജനം .
ഉപ്പ് വിവിധ വിഭവങ്ങളിൽ ആവശ്യാനുസരണം ചേർക്കാവുന്നതാണ്.
അതുകൊണ്ടായിരിക്കണം ഇവരണ്ടും ഉപഭോക്താവിന്റെ ആവശ്യാനുസരണം ഉപയോഗിക്കാവുന്ന രീതിയിൽ ലഭ്യമാക്കിയിരിക്കുന്നത്.
അവലംബം ↑ " When did salt and pepper become a pair? Archived 2008-08-19 at the Wayback Machine . "
, Max Shrem, Slashfood.com
സാൾട്ട് ലേക്ക് ടെമ്പിൾ ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Salt_Lake_Temple
40°46′14″N 111°53′31″W ﻿ / ﻿ 40.77056°N 111.89194°W ﻿ / 40.77056; -111.89194 അമേരിക്കൻ ഐക്യനാടുകളിലെ യൂട്ടയിലെ സാൾട്ട് ലേക്ക് സിറ്റിയിലെ ടെമ്പിൾ സ്ക്വയറിലെ ദി ചർച്ച് ഓഫ് ജീസസ് ക്രൈസ്റ്റ് ഓഫ് ലാറ്റർ-ഡേ സെയിന്റ്സിന്റെ (എൽഡിഎസ് ചർച്ച്) ക്ഷേത്രമാണ് സാൾട്ട് ലേക്ക് ടെമ്പിൾ .
253,015 ചതുരശ്ര അടി (23,505.9 മീ 2), തറ വിസ്തീർണ്ണമുള്ള ഏറ്റവും വലിയ എൽ‌ഡി‌എസ് ക്ഷേത്രമാണിത്.
1893-ൽ പള്ളി പൂർത്തീകരിച്ച ആറാമത്തെ ഈ ക്ഷേത്രം  പൂർത്തിയാക്കാൻ 40 വർഷമെടുത്തു.
1846-ൽ ഇല്ലിനോയിയിലെ നൗവൂവിൽ നിന്ന് മോർമോൺ പുറപ്പെട്ടതിനുശേഷം നിർമ്മിച്ച നാലാമത്തെ ക്ഷേത്രമാണിത്.
ഏകദേശം നാല് വർഷമെടുക്കുമെന്ന് പ്രതീക്ഷിക്കുന്ന നവീകരണത്തിനായി 2019 ഡിസംബർ 29 ന് ക്ഷേത്രം അടച്ചിടുമെന്ന് 2019 ഏപ്രിൽ 19 ന് എൽഡിഎസ് ചർച്ച് പ്രഖ്യാപിച്ചു.
വിശദാംശങ്ങൾ Cutaway model showing the interior layout of the temple
യൂട്ടയിലെ സാൾട്ട് ലേക്ക് സിറ്റിയിലെ 10 ഏക്കർ (4.0 ഹെക്ടർ) ക്ഷേത്ര സ്ക്വയറിന്റെ കേന്ദ്രഭാഗമാണ് സാൾട്ട് ലേക്ക് ക്ഷേത്രം.
മറ്റ് എൽ‌ഡി‌എസ് ക്ഷേത്രങ്ങളെപ്പോലെ, പള്ളിയും അതിലെ അംഗങ്ങളും ഇത് പവിത്രമായി കരുതുന്നു.
ക്ഷേത്രത്തിൽ പ്രവേശിക്കാൻ ശുപാർശ ചെയ്യേണ്ടതുണ്ട്.
അതിനാൽ ടെമ്പിൾ സ്ക്വയറിൽ അടുത്തുള്ള മറ്റ് കെട്ടിടങ്ങൾ ഉള്ളതിനാൽ ക്ഷേത്രത്തിനുള്ളിൽ പൊതു ടൂറുകളൊന്നും അനുവദിക്കുന്നില്ല.
1912-ൽ, ഇന്റീരിയറിന്റെ ആദ്യത്തെ പൊതു ഫോട്ടോഗ്രാഫുകൾ ജെയിംസ് ഇ.
ടാൽമാജ് എഴുതിയ ദി ഹൗസ് ഓഫ് ലോർഡ് എന്ന പുസ്തകത്തിൽ പ്രസിദ്ധീകരിച്ചു.
അതിനുശേഷം, 1938-ൽ വിവിധ ഫോട്ടോഗ്രാഫുകൾ ലൈഫ് മാഗസിൻ ഉൾപ്പെടെയുള്ള മാഗസിനുകളിൽ പ്രസിദ്ധീകരിച്ചു.
ക്ഷേത്ര മൈതാനം വിനോദ സഞ്ചാരികളെ ആകർഷിക്കുന്നവയായതിനാൽ പൊതുജനങ്ങൾക്കായി തുറന്നിരിക്കുന്നു.
എൽ‌ഡി‌എസ് ചർച്ച് ആസ്ഥാനത്ത് സ്ഥിതിചെയ്യുന്നതും ചരിത്രപരമായ പ്രാധാന്യവും ഉള്ളതിനാൽ ലോകമെമ്പാടുമുള്ള ലാറ്റർ-ഡേ വിശുദ്ധന്മാർ ക്ഷേത്രത്തെ സംരക്ഷിക്കുന്നു.
എൽ‌ഡി‌എസ് ചർച്ച് ഒന്നാം അദ്ധ്യക്ഷതയുടെയും ദ ക്വാറം ഓഫ് ട്വൽവ് അപ്പോസ്തൽസിന്റെയും പ്രതിവാര മീറ്റിംഗുകളുടെയും സ്ഥാനം കൂടിയാണ് സാൾട്ട് ലേക്ക് ക്ഷേത്രം.
മറ്റ് ക്ഷേത്രങ്ങളുടെ ഭാഗമല്ലാത്ത ഹോളി ഓഫ് ഹോളീസ് ഉൾപ്പെടെയുള്ള ആവശ്യങ്ങൾക്കായി കെട്ടിടത്തിൽ പ്രത്യേക മീറ്റിംഗ് റൂമുകളുണ്ട്.
ജറുസലേമിലെ ശലോമോന്റെ ക്ഷേത്രം സ്‌മരണയിൽവരുത്തുന്ന ചില ഘടകങ്ങൾ ഈ ക്ഷേത്രത്തിൽ ഉൾപ്പെടുന്നു.
ഇവിടെ ജറുസലേമിലേപ്പോലെ ജ്ഞാനസ്‌നാനത്തൊട്ടിയായി ഉപയോഗിക്കുന്ന വലിയ തടാകം പന്ത്രണ്ട് കാളകളുടെ പുറകിൽ ശലോമോന്റെ ക്ഷേത്രത്തിലെ ഉരുകിയ കടൽ പോലെ സ്ഥാപിച്ചിരിക്കുന്നു.
(ദിനവൃത്താന്തം 4: 2-4 കാണുക).
(എന്നിരുന്നാലും, ബൈബിൾ വാക്യങ്ങളുടെ അക്ഷരാർത്ഥ വ്യാഖ്യാനത്തിന് തർക്കമുണ്ട്.) കെട്ടിടത്തിന്റെ കിഴക്കേ അറ്റത്ത്, മൊറോണി മാലാഖയുടെ അടിത്തട്ടിലേക്കുള്ള മധ്യത്തിലുള്ള ഗോപുരാഗ്രം 210 അടി, അല്ലെങ്കിൽ 120 മുഴം ഈ ക്ഷേത്രത്തെ സോളമൻ ക്ഷേത്രത്തേക്കാൾ 20 മുഴം ഉയരമുള്ളതാക്കുന്നു.
അവലംബം കൂടുതൽ വായനയ്ക്ക് പുറം കണ്ണികൾ Media related to Salt Lake Temple at Wikimedia Commons All Wiki images categorized under Salt Lake Temple Official Salt Lake Temple page Inside The Salt Lake City Temple - a pictorial tour of the temple interior at Moroni10.com This image is in the public domain because it contains materials that originally came from the United States National Park Service .
Creator: U.S. Department of the Interior, National Park Service, Historic American Buildings Survey , (or Historic American Engineering Record).
Source: U.S. Library of Congress, Prints and Photographs Division, "Built in America" Collection : [{{{ImageURL}}} Image], [{{{RecordURL}}} Record] and [{{{CaptionURL}}} Caption].
Copyright: "The records in HABS/HAER were created for the U.S. Government and are considered to be in the public domain."
സാൾട്ട്ഫ്‍ജെല്ലെറ്റ്-സ്വാർട്ടിസെൻ ദേശീയോദ്യാനം
സാൾട്ട്ഫ്‍ജെല്ലെറ്റ്-സ്വാർട്ടിസെൻ ദേശീയോദ്യാനം ( Norwegian : Saltfjellet–Svartisen nasjonalpark ) നോർവേയിലെ നോർഡ്‍ലാൻറ് കൌണ്ടിയിൽ സ്ഥിതിചെയ്യുന്ന ഒരു ദേശീയോദ്യാനമാണ്.
ബെജാൺ , മെലോയ് , റാണ , റോഡോയ് , സാൾ‌ട്ട്ഡാൽ , ബോഡോ എന്നീ മുനിസിപ്പാലിറ്റികൾക്കുള്ളിലാണ് ഈ ദേശീയോദ്യാനം നിലനിൽക്കുന്നത്.
യൂറോപ്യൻ റൂട്ട് E06, നോർഡ്‍ലാൻറ് ലൈൻ എന്നീ പാതകൾ രണ്ടും ദേശീയോദ്യാനത്തിനും ചുറ്റും തെക്കും കിഴക്കും അതിർത്തികൾ പിന്തുടരുന്നു.
ദേശീയോദ്യാനത്തിൻറെ കിഴക്കേ അതിർത്തി നോർവ്-സ്വീഡൻ ബോർഡർ ആണ്.
ഈ അതിർത്തിയുടെ ഒരു ഭാഗം വിൻഡെൽഫ്ജാല്ലെൻ നേച്ചർ റിസർവ് ( സ്വീഡൻ ) ആണ്.
സി++ ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/C%2B%2B_(programming_language)
സി++ (/ˌsiːˌplʌsˈplʌs/) എന്നത് സി പ്രോഗ്രാമിംഗ് ഭാഷയുടെ അല്ലെങ്കിൽ "സി വിത്ത് ക്ലാസെസ്സ്" എന്നതിന്റെ ഒരു വിപുലീകരണമായി ബ്യാൻ സ്ട്രൗസ്ട്രെപ് സൃഷ്ടിച്ച ഒരു പൊതു-ഉദ്ദേശ്യ പ്രോഗ്രാമിംഗ് ഭാഷയാണ്.
കാലക്രമേണ ഭാഷ ഗണ്യമായി വികസിച്ചു, ആധുനിക സി++ന് ഇപ്പോൾ ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് , ജെനറിക്, ഫങ്ഷണൽ ഫീച്ചറുകൾ ഉണ്ട്, കൂടാതെ ലോ-ലെവൽ മെമ്മറി മാനിപ്പുലേഷനുള്ള സൗകര്യങ്ങളും ഉണ്ട്.
ഇത് മിക്കവാറും എല്ലായ്‌പ്പോഴും കംപൈൽ ചെയ്‌ത ഭാഷയായാണ് നടപ്പിലാക്കുന്നത്, കൂടാതെ സ്വതന്ത്ര സോഫ്‌റ്റ്‌വെയർ സമിതി , എൽഎൽവിഎം(LLVM), മൈക്രോസോഫ്റ്റ് , ഇന്റൽ , ഒറാക്കിൾ , ഐബിഎം എന്നിവയുൾപ്പെടെ പല വെണ്ടർമാരും സി++ കമ്പൈലറുകൾ നൽകുന്നു, അതിനാൽ ഇത് പല പ്ലാറ്റ്‌ഫോമുകളിലും ലഭ്യമാണ്.
1983-1985 കാലത്ത് ബ്യാൻ സ്ട്രൗസ്ട്രെപ് ആണ് ഇത് വികസിപ്പിച്ചെടുത്തത്.
1983 ന് മുൻപ്, അദ്ദേഹം സി പ്രോഗ്രാമിങ് ഭാഷ പുതുക്കി ചേർത്ത് അതിനെ സി വിത് ക്ലാസ്സെസ്  എന്ന് വിളിച്ചു.
ഇതിനു വേണ്ടി അദ്ദേഹം പ്രോഗ്രാമിങ്ങിൽ 'ഒബ്ജക്റ്റ്’ എന്ന ആശയം സിമുല എന്ന കമ്പ്യൂട്ടർ ഭാഷയിൽ നിന്ന് കടമെടുത്തു (എന്നാൽ പ്രായോഗിക ഉപയോഗത്തിന് ഭാഷ വളരെ മന്ദഗതിയിലായിരുന്നു, അതേസമയം ബിസിപിഎൽ (BCPL) വേഗതയേറിയതാണെങ്കിലും വലിയ സോഫ്റ്റ്‌വെയർ വികസനത്തിന് അനുയോജ്യമല്ലാത്ത നിമ്ന്ന(low level) തലത്തിലുള്ളതായിരുന്നു), കൂടെ സിയുടെ ശക്തിയും ലാളിത്യവും.
1983 ലാണ് സി++ എന്ന പേര് ഇതിന് നൽകിയത്.
ഒരു പുതിയ ഭാഷ സൃഷ്ടിക്കുന്നതിനുള്ള പ്രചോദനം അദ്ദേഹത്തിൻ്റെ പിഎച്ച്ഡി തീസിസിനായുള്ള പ്രോഗ്രാമിംഗിലെ സ്ട്രോസ്ട്രപ്പിൻ്റെ പ്രവർത്തി പരിചയത്തിൽ നിന്നാണ്.
സവിശേഷതകൾ ഗ്നു ഈമാക്സിൽ ജി.സി.സി. ഉപയോഗിച്ച് സി++ പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നു ഒബ്ജക്റ്റ് ഓറിയന്റഡ് കമ്പ്യൂട്ടർ പ്രോഗ്രാമിങ് (object oriented)- അത്യധികം സങ്കീർണങ്ങളായ കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ ഇതുപയോഗിച്ച് വികസിപ്പിച്ചെടുക്കുവാൻ കഴിയും.
ഇൻഹെറിറ്റൻസ് ( Inheritance) - സമാനസ്വഭാവമുള്ള പ്രോഗ്രാം ഭാഗങ്ങൾ ഒന്നിലധികം പ്രാവശ്യം ഒന്നിലധികം പ്രാവശ്യം എഴുതുന്നതൊഴിവാക്കാൻ സാധിക്കുന്നതു മൂലം പ്രോഗ്രാമ്മിങ്ങ് സമയം ലാഭിക്കാൻ സാധിക്കുന്നു.
എൻ‌ക്യാപ്സുലേഷൻ (Encapsulation)- ക്ലാസ്സുകളുടെ ഉപയോഗം ദത്തങ്ങളൂടെയും നിർദ്ദേശങ്ങളുടെയും സുരക്ഷിതത്വം ഉറപ്പാക്കുന്നു.
പോളിമോർഫിസം (Polimorphism) - സങ്കീർണ്ണമായ പ്രോഗ്രാമ്മിങ്ങ് നിർദ്ദേശങ്ങങ്ങൾക്ക് ലളിതമായ ഒരു കവചം സൃഷ്ടിക്കുന്നു ഹലോ വേൾഡ് പ്രോഗ്രാം
താഴെ സി++ൽ ഉള്ള ഒരു ഹലോ വേൾഡ് പ്രോഗ്രാം മാനകരൂപത്തിലും, ഏറെ പ്രചാരത്തിലുള്ള ടർബോ സി++ കമ്പൈലർ രീതിയിലും കൊടുത്തിരിക്കുന്നു.
മാനക രൂപം ടർബോ സി++ രൂപം #include iostream int main () { std :: cout "Hello, world!" std :: endl ; return 0 ; } #include iostream.h void main () { cout "Hello, world! \n " ; }
ഈ പ്രോഗ്രാം തരുന്ന ഫലം (ഔട്ട്പുട്ട്) താഴെ പറയും പ്രകാരമായിരിക്കും. ''Hello, world!
വിവിധ കംപൈലറുകൾക്കനുസരിച്ച് സി ++ പ്രോഗ്രാമ്മിന്റെ സ്ട്രക്ട്ച്ചറുകൾ ചെറുതായി വത്യാസപ്പെട്ടുകൊണ്ടിരിക്കും.
ഇവയും കാണുക സി (പ്രോഗ്രാമിങ് ഭാഷ) ഡെവ്-സി++ ഗ്നു കമ്പൈലർ ശേഖരം അടിക്കുറിപ്പുകൾ
പ്രകൃതി ദൃശ്യങ്ങൾ അവലംബം {{ cite book }} : Unknown parameter | coauthors= ignored ( | author= suggested) ( help ) {{ cite book }} : Unknown parameter | coauthors= ignored ( | author= suggested) ( help ) {{ cite book }} : Check date values in: | year= ( help ) {{ cite book }} : | edition= has extra text ( help ) ; Check date values in: | date= ( help ) {{ cite book }} : Unknown parameter | coauthors= ignored ( | author= suggested) ( help ) {{ cite book }} : Unknown parameter | coauthors= ignored ( | author= suggested) ( help ) {{ cite book }} : | edition= has extra text ( help ) {{ cite book }} : Unknown parameter | coauthors= ignored ( | author= suggested) ( help ) Scott Meyers (2005).
Effective C++ .
ISBN 0-321-33487-6 പുറത്തേക്കുള്ള കണ്ണികൾ Introduction to C++ C++ Annotations - A thorough and detailed C++ reference A paper by Stroustrup showing the timeline of C++ evolution (1979-1991) Apache C++ Standard Library Documentation Standards Committee Page: JTC1/SC22/WG21 - C++ Standard for Programming Language C++ (Working Draft June 2008) C++ FAQ Lite by Marshall Cline Boost C++ Libraries C++ വിക്കിപാഠഷാല Computer World interview with Bjarne Stroustrup CrazyEngineers.com interview with Bjarne Stroustrup Archived 2008-12-10 at the Wayback Machine .
Interactive web-based version of Comeau C++ compiler Archived 2008-10-16 at the Wayback Machine .
The State of the Language: An Interview with Bjarne Stroustrup (August 15, 2008) Archived 2009-01-31 at the Wayback Machine .
അവലംബം ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ {{ cite book }} : | edition= has extra text ( help ) ↑ Open issues for The C++ Programming Language (3rd Edition) - This code is copied directly from Bjarne Stroustrup's errata page (p. 633).
He addresses the std::endl issue.
Also see www.research.att.com and www.delorie.com/djgpp/ for detail on the valid implicit return value of main.
The implicit return of zero is not available for other functions.
വജൈനൽ കഫ് ഈ ലേഖനം ഇംഗ്ലീഷ് ഭാഷയിൽ നിന്ന് കൃത്യമല്ലാത്ത/യാന്ത്രികമായ പരിഭാഷപ്പെടുത്തലാണ് .
പെരിറ്റോണിയത്തിലേക്ക് തുറക്കുന്ന യോനിയുടെ മുകൾ ഭാഗമാണ് വജൈനൽ കഫ് , അത് ഹിസ്റ്റെരെക്ടമി സമയത്ത് സെർവിക്സും ഗർഭപാത്രവും നീക്കം ചെയ്തതിന് ശേഷം തുന്നിക്കെട്ടുകയും ചെയ്യുന്നു.
സെർവിക്സ് യോനിയിൽ ഘടിപ്പിച്ചിരിക്കുന്ന ശസ്ത്രക്രിയാ സൈറ്റിന്റെ അരികുകൾ ഒരുമിച്ച് ചേർത്താണ് വജൈനൽ കഫ് സൃഷ്ടിക്കുന്നത്.
യോനിയുടെ അരികുകൾ ഒരുമിച്ച് കൊണ്ടുവന്ന് അവയെ ഒന്നിച്ച് തുന്നിക്കെട്ടി, ഗർഭാശയ അസ്ഥിബന്ധങ്ങളിലേക്ക്  പ്രോലാപ്സ് തടയുന്നതിന് ഇത് സാധ്യമാക്കുന്നു.
പുതുതായി സൃഷ്ടിച്ച യോനി കഫിൽ പെരിറ്റോണിയം തുന്നിച്ചേർത്തിരിക്കുന്നു.
ഒരു അടച്ചുപൂട്ടൽ രീതി മറ്റൊന്നിനേക്കാൾ ഉപയോഗിക്കുന്നതിന് ഒരു നേട്ടമുണ്ടാകാം.
യോനിയിലെ കഫ് ഭാഗികമായോ പൂർണമായോ അഴുകുകയോ തുറക്കുകയോ ചെയ്യുന്ന പ്രവണതയുണ്ട്.