📒 Գրադարանային ֆունկցիաներ

Ֆունկցիաների օգտագործումը թույլ է տալիս կոդը բաժանել տրամաբանական մասերի։ Առավել կարևոր է այն, որ ֆունկցիաները հնարավորություն են տալիս ստեղծել գրադարաններ։ Մինչ այս մենք գրեթե բոլոր ծրագրերում օգտվել ենք <iostream> (input-output stream) գրադարանից։ Նկատեք, որ մենք ուղղակի օգտագործում ենք iostream գրադարանի cout/cin<< ֆունկցիաներն առանց իմանալու, թե ի՞նչ գործողություններ է հարկավոր կատարել որևէ տող էկրանին տպելու համար։ Սա ֆունկցիաների կիրառման գլխավոր առավելություններից մեկն է։
Գրադարանային Ֆունկցիաներին կարող եք վերաբերվել ինչպես «սև արկղերի»։ Դուք փոխանցում եք մուտքային տվյալներ և օգտագործում եք ստացված արդյունքը, առանց իմանալու, թե ինչ եղանակով է ֆունկցիան ստանում այդ արդյունքը։
std::cout-ի իմպլեմենտացիան մեզ անհայտ է։
std::cout-ի իմպլեմենտացիան մեզ անհայտ է։
Գրեթե բոլոր ծրագրավորման լեզուներն ունեն այսպես կոչված «ստանդարտ գրադարաններ»։ Ստանդարտ գրադարանները ներառում են այն հիմնական ֆունկցիաները, առանց որոնց հնարավոր չէ պատկերացնել ժամանակակից ծրագրավորման լեզուները։ Այդպիսի օրինակներ են «մուտքի/ելքի» գրադարանը (<iostream> գրադարանը C++ լեզվում), ֆայլերի, տողերի, օպերացիոն համակարգի հետ աշխատող գրադարանները, մաթեմաթիկական գրադարանները և այլն։
Դիտարկենք, օրինակ, cmath C++ ստանդարտ մաթեմատիկական գրադարանը։ Գրադարանի ֆունկցիաների մասին ամբողջ անհրաժեշտ ինֆորմացիան կարելի է հեշտությամբ գտնել համացանցում։ Այս գրադարանը պարունակում է մի քանի տասնյակ ֆունկցիաներ, որոնք կարող եք ազատորեն օգտագործել՝ կցելով cmath գրադարանը ձեր ծրագրին։
 
#include <iostream>
#include <cmath>
int main() {
   double input;
   std::cout << "Input number: ";
   std::cin >> input;
   double result = sqrt(input); // sqrt ֆունկցիայի իրականացման մանրամասները կարևոր չեն
   std::cout << "Square root of " << input << " is " << result << std::endl;  
}
Այս օրինակում ևս, մենք չգիտենք, թե ի՞նչ ալգորիթմ է կիրառվում sqrt ֆունկցիայում քառակուսի արմատ հաշվելու համար։ Մենք միայն գիտենք, որ sqrt ֆունկցիան վերադարձնում է մուտքային թվի քառակուսի արմատը։
Բացի ստանդարտ գրադարաններից, գոյություն ունեն նաև բազմաթիվ այլ (անվճար և վճարովի) գրադարաններ, որոնք ստեղծվել են (և շարունակաբար ստեղծվում են) տարբեր կազմակերպությունների կամ անհատ ծրագրավորողների կողմից: Ահա դրանցից մի քանիսը՝
  • OpenCV - համակարգչային տեսողության (computer vision) գրադարան։ Պարունակում է մոտ 2500 ալգորիթմներ՝ նախատեսված դեմքերի, օբյեկտների ճանաչման, շարժումների դասակարգման և բազմաթիվ այլ խնդիրների լուծման համար։
  • OpenSSL - կրիպտավորման գրադարան։ Լայնորեն օգտագործվում է համացանցում անվտանգ կապեր հաստատելու համար։ Գրեթե բոլոր կայքերը այժմ օգտագործում են https (http secure) պրոտոկոլը սերվերների հետ կապ հաստատելու համար։ Այս պրոտոկոլը օգտագործում է openSSL գրադարանը՝ սերվեր փոխանցվող տվյլաները ցույց տալու համար։
  • FFmpeg - աուդիո և վիդեո մշակման համար նախատեսված գրադարան։
To check your solution you need to sign in
Sign in to continue