C++ tilining asosiy qudrati uning funksiyalaridadir va ular kompilyator bilan birga funksiyalar kutubxonasi tarzida taqdim qilinadi.
Funksiya maxsus masalalarni hal qilish uchun ishlatiladigan ketma-ket tartibda berilgan ko`rsatmalar to`plamidir. Kutubxona-kompilyatorga biriktirilgan alohida fayl bo`lib, u turli xil muammolarni hal qiluvchi funksiyalar to`plamidan tashkil topgan.
Masalan, ma`lumotni ekranga chiqarish uchun bir necha funksiya mavjud bo`lib, ularning muvofig`idan o`z o`rnida foydalanish orqali kerakli ish bajariladi. Har bir funksiya o`z nomiga ega. Biror bir ishni bajarish uchun uni amalga oshiruvchi funksiyaning nomini sintaksisiga muvofiq yozish kifoya qiladi.
Ba`zi bir funksiyalar avvaldan kompilyatsiya qilingan kodga ega. Agar kompilyator dastur matnida bunday funksiyaga duch kelsa, uni ikkilik kodga o`girish bilan shug`ullanmaydi. Chunki, funksiya matni ikkilik kodga o`girilgan bo`ladi. Komponovka jarayonida funksiyaning ikkilik kodi kutubxonadan olinib dastur matniga biriktiriladi.
Funksiya avvaldan kompilyatsiya qilinganligi uchun juda ham unumli kodlashtirilgan hamda u to`liq optimallashtirilgan bo`ladi.
Kompilyator bilan birgalikda juda ko`p ishlatiladigan funksiyalarning boshlang`ich matni ham taqdim qilinadi. Ular sarlavhafayllarideb ataluvchi fayllarda saqlanadi va odatda *.h kengaytmaga ega bo`lishadi. Sarlavha fayllari tarkibida kompilyator direktivalari va biror bir aniqlanishni ishlatish qo`llanmalari ham mavjud. Kompilyatsiya jarayonida ishlatilgan sarlavha fayli matni ham sizning xususiy matningiz tarkibiga kiritiladi va birgalikda umumiy ob`ekt fayl hosil qilinadi.
Sarlavha fayllari kutubxona fayllaridan farqli ravishda kompilyatsiya qilinmagan bo`ladi. Ularni ham xuddi boshlang`ich dasturingiz matni singari o`qish, o`zgartirish va chop qilish mumkin. Ammo, kompilyator bilan birga taqdim
qilingan sarlavha fayllarini o`zgartirishdan saqlanishingizni maslahat beramiz, chunki ular barcha imkoniyatlarni hisobga olib tuzilgan va biror xatoga yo`l qo`ysangiz kompilyator hech qachon ular ob`ekt kodini generatsiya qila olmaydi.
Kompilyator bilan birga taqdim qilinayotgan kutubxonaga qo`shimcha, maxsus ma`lumotlar bazasini qurish, grafik, kommunikatsiya singari har xil kutubxonalarni ham olishingiz mumkin. Kutubxona qanchalik boy bo`lsa ishingiz unumli va tez bo`ladi. Bundan tashqari dasturlaringizda juda ko`p ishlatilayotgan ish jarayonlarini umumlashtirib o`z xususiy kutubxonangizni ham tashkil qilishingiz mumkin. Masalan, ko`pchilik dasturlaringizda A va B jarayonni bajarishni, keyin esa C jarayonni bajarish kerakligini ko`p marta takrorlaysiz. Ular ish jarayonini tavsiflovchi funksiyalarni yaratib, ularni xususiy kutubxonangizga joylashtirasiz. Ular oldindan yozilgan va kompilyatsiya qilinganligi uchun har doim ehtiyoj tug`ilganda dasturlaringizda ulardan tez foydalana olasiz.
Til imlo qoidalariga rioya qilgan va kompilyator kutubxonasidagi funksiyalardan foydalangan holda yozilgan dasturlar oson ko`chiriluvchan bo`ladi. Chunki, har bir platforma kompilyatori standart talablarni qanoatlantiradi va yaratilgan ishchi dastur ushbu platformada xatosiz ishlaydi.