C ++ යනු එක් ක්රමලේඛන භාෂාවකි:
අ) එය “වඩා හොඳ” සී ආ) එය වස්තු නැඹුරු භාෂාවක් ඇ) එය සාමාන්ය වැඩසටහන් ලිවීමට අපට ඉඩ සලසන භාෂාවකි
මෙම සියලු අංගයන් වෙන වෙනම භාවිතා කළ හැකි වුවද, ඒවා තුනම එකවර භාවිතා කරන විට හොඳම ප්රති results ල ලබා ගත හැකිය. එසේ වුවද, ඔබ ඒවායින් එකක් පමණක් තෝරා ගැනීමට තෝරා ගන්නේ නම් කාවැද්දූ මෘදුකාංගයේ ගුණාත්මකභාවය ඉහළ යනු ඇත.
a) එය “වඩා හොඳ” සී
සී ++ යනු ශක්තිමත් ටයිප් කළ භාෂාවකි; සී ට වඩා ශක්තිමත්. ඔබේ වැඩසටහන් මෙම අංගයෙන් ප්රතිලාභ ලබයි.
සමහර අය දර්ශකයන්ට බිය වෙති. C ++ හි යොමු කිරීම් ඇතුළත් වේ. අධික ලෙස පටවන ලද කාර්යයන්.
කීමට වටිනවා: මෙම ලක්ෂණ කිසිවක් විශාල හෝ මන්දගාමී වැඩසටහන් වලට භාජනය නොවීය.
ආ) එය වස්තු නැඹුරු භාෂාවකි
මයික්රොකොන්ට්රෝලර්වල යන්ත්රය වියුක්ත කිරීම හොඳ අදහසක් නොවන බව යමෙක් මෙම ලිපියෙන් පැවසීය. වැරදි! අප සියල්ලන්ම, කාවැද්දූ ඉංජිනේරුවන්, සෑම විටම යන්ත්රය වියුක්ත කර ඇත, අනෙක් සින්ටැක්ස් සමඟ සී ++ ය. මෙම තර්කය සමඟ මා දකින ගැටළුව නම් සමහර ක්රමලේඛකයින් වස්තූන් ගැන සිතීමට භාවිතා නොකිරීමයි, ඒ ආකාරයෙන් ඔවුන් OOP හි ප්රතිලාභ නොදකිති.
ඔබ මයික්රොකොන්ට්රෝලර්ගේ පර්යන්තයක් භාවිතා කිරීමට සුදානම් වන සෑම විටම උපාංග ධාවකයේ ස්වරූපයෙන් (ඔබෙන් හෝ තෙවන පාර්ශවයකින්) පර්යන්තය වියුක්ත කර ඇති බව පෙනේ. මා කලින් කී පරිදි, ඊළඟ උදාහරණයෙන් පෙන්නුම් කරන පරිදි (NXP LPC1114 උදාහරණයකින් කෙලින්ම ගත්) එම ධාවක සී සින්ටැක්ස් භාවිතා කරයි:
/ * TICKRATE_HZ හි ගැලපීම සහ බාධා කිරීම සඳහා ටයිමර් සැකසුම * /
Chip_TIMER_Reset (LPC_TIMER32_0);
Chip_TIMER_MatchEnableInt (LPC_TIMER32_0, 1);
Chip_TIMER_SetMatch (LPC_TIMER32_0, 1, (timerFreq / TICKRATE_HZ2));
Chip_TIMER_ResetOnMatchEnable (LPC_TIMER32_0, 1);
Chip_TIMER_ සක්රීය කරන්න (LPC_TIMER32_0);
ඔබ සාරාංශය දකිනවාද? එබැවින්, එකම අරමුණක් සඳහා C ++ භාවිතා කරන විට, ශුන්ය පිරිවැයකින් C ++ හි වියුක්ත කිරීම සහ සංවෘත කිරීමේ යාන්ත්රණය හරහා සාරාංශය ඊළඟ මට්ටමට ගෙන එනු ලැබේ!
ඇ) එය සාමාන්ය වැඩසටහන් ලිවීමට අපට ඉඩ සලසන භාෂාවකි
සාමාන්ය වැඩසටහන් අච්චු හරහා සාක්ෂාත් කරගනු ලබන අතර, අපගේ වැඩසටහන් සඳහා සැකිලි සඳහා කිසිදු පිරිවැයක් නොමැත.
ඊට අමතරව, ස්ථිතික බහුමාපකය සැකිලි සමඟ සාක්ෂාත් කරගනු ලැබේ.
අතථ්ය ක්රම, RTTI සහ ව්යතිරේක.
අතථ්ය ක්රම භාවිතා කිරීමේදී සම්මුතියක් තිබේ: වඩා හොඳ මෘදුකාංග එදිරිව කාර්ය සාධනයේ යම් ද penalty ුවමක්. කෙසේ වෙතත්, අතථ්ය වගුවක් (ක්රියාකාරී දර්ශක සමූහයක්) භාවිතයෙන් ගතික බන්ධනය ක්රියාත්මක කිරීමට ඉඩ ඇති බව මතක තබා ගන්න. මම C හි බොහෝ වාර ගණනක් එය කර ඇත (නිතිපතා වුවද), එබැවින් අතථ්ය ක්රම භාවිතා කිරීමේ අඩුපාඩු මා දකින්නේ නැත. තවද, C ++ හි අථත්ය ක්රම වඩාත් අලංකාර වේ.
අවසාන වශයෙන්, RTTI සහ ව්යතිරේක පිළිබඳ උපදෙස්: කාවැද්දූ පද්ධතිවල ඒවා භාවිතා නොකරන්න. ඒවායින් වළකින්න !!