14/10/2018
# POS3 # C/C++
1. C/C++ -ով պրոֆեսիոնալ ծրագրավորողը պետք է լավ տիրապետի C/C++-ի բոլոր ստանդարտ տիպերին և կարողանա նրանց հիման վրա ստեղծել ցանկացած նոր տիպեր՝ class, struct, union:
2. Խորացված հասկանալ փոփոխականի, հաստատունի, հղման և ցուցիչի օգտագործման նպատակները, նրանք օգտագործել ճշգրիտ և տեղին, հասկանալ թ նրանք որտեղ են գտնվում հիշողությունում և ինչ գործողություններ ակրելի է կատարել նրանց նկատմամբ:
3. Լավ տիրապետել C/C++-ի օպերատորներին:
4. Լավ տիրապետել C/C++-ի կառավարման հրահանգներին:
5. C++-ով ծրագիր գրելուց երբեմն հարմար և էֆեկտիվ է լինում օգտագործել նաև C-ի ստանդարտ գրադարանից՝
հիշողության հետ աշխատող ֆունկցիաները;
տեքստերի հետ աշխատող ֆունկցիաները;
մաթեմատիկական ֆունկցիաները;
թվերը տեքստային ֆորմատի և հակառակը՝ տեքստային թվերը թվային տիպի վերածելու ֆունկցիաները;
ֆայլային սիստեմայի հետ աշխատող ֆունկցիաները և այլն:
6. Խորացված իմանալ կլասները և կլասի համար կարողանալ գրել ցանկացած տիպի կոնստրուկտորներ, օպերատորներ, ուրիշ անդամ ֆունկցիաներ, լավ տիրապետել կլասները ժառանգելու մեխանիզմներին: Հասկանալ կլասի անդամ սովորական, ստատիկ և վիրտուալ ֆունկցիաների տարբերությունները և կանչելու մեխանիզմները, իհարկե մինչ այդ պետք է լավ պատկերացնել ֆունկցիայի, նրան ուղարկվող պարամետրերի և նրա հետ ուղարկած արժեքի մեխանիզմները:
7. Լավ հասկանալ class-ի, struct-ի և union-ի նմանությունները և տարբերություննեևը:
8. Արդեն C/C++-ի մակարդակում Պետք է լավ հասկանալ թե ինչպես է C/C++-ը աշխատում ծրագրի վիրտուալ հիշողության հետ և արդեն օպերացիոն համակարգի մակարդակով լավ իմանալ վիրտուալ և ֆիզիկական հիշողությունների կապը և համագործակցությունը:
9. Պետք է լավ պատկերացնել ինչ են փոփոխականների և ցուցիչների մասիվները, կարողանալ չափերը փոփոխող մասիվներ ստեղծել, և այդ մասիվների և նրանց անդամների հետ ցանկացած գործողություններ կատարել՝ անդամներ ավելացնել, հեռացնել, փոփոխել, փնտրել, ցանկացած պայմանով դասավերել և այլն, իհարկե մինչ այդ
10. Պետք է լավ իմանալ STL-ը, STL-ում եղած Կոնտեյներները, Ալգորիթմները, իմանալ Իտերատորների օգտագործման նրբությունները և այլն Հետագայում երբ ծրագրավորողը կունենա STL-ոմ եղածի սեփական իրագործումները, ապա կարող է հրաժարվել STL-ը օգտագործելուց:
11. Նույնը վերաբերվում է MFC, QT, boost գրադարաններին և Embarcadero RAD Studio ( C++ Builder, Borland) պակետի գրադարաններին: Ծրագրավորողը ժամանակի ընթացքում ստիպված է լինում գրելու այդ գրադարաններում եղած ֆունկցիաների (ալգորիթմներ) և կլասների (Կոնտեյներները, կոնտրոլներ, կոմպոնենտներ և այլն) սեփական տարբերակները և այդ գրադարանները այլևս պետք չեն գալիս:
Վերևում թվարկած կետերում ոչ բոլոր թեմաների մասին եմ գրել, հետագայում ժամանակ ունենալու դեպքում բաց թողնված թեմաները կլրացնեմ և ավելի մանրամասն մեկ առ մեկ կանրադառնամ վերևում թվարկած կետերին: