C++

++ (ჩვეულებრივ ქართულად გამოითქმის „სი-პლუს-პლუსი“) — საერთო დანიშნულების პროგრამირების ენა. მისი განვითარება დაიწყო ბიარნ სტრუსტრუპმა 1979 წელს ბელ-ლაბში პროგრამული ენის გასაძლიერებლად. თავდაპირველად მას ერქვა, ხოლო 1983 წელს ++ ეწოდა. 1990-იანი წლებიდან ++ გახდა ერთ-ერთი ყველაზე პოპულარული კომერციული პროგრამირების ენებიდან. ++ პროგრამული ენის სტანდარტის რატიფიკაცია მოხდა 1998 წელს, როგორც / 14882:1998; მისი თანამედროვე ვერსიაა 2003 წლის, / 14882:2003. ამჟამად დამუშავების პროცესშია სტანდარტის ახალი ვერსია (არაფორმალურად ცნობილი როგორც ++0).
პროგრამირების არსი
პროგრამა შედგება ორი მთავარი ნაწილისგან: მონაცემებისა და ინსტრუქციებისგან.
უმცირესი მონაცემი, რომლის აღქმაც შეუძლია კომპიუტერს, არის 0 ან 1, ან უფრო ზუსტად „-“ ან „+“, რისი ჩაწერა და წაკითხვაც მას შეუძლია ფიზიკური მეხსიერების უმცირეს ერთეულში. ეს იმის გამო, რომ ჯერჯერობით ელექტრონულ სქემებს მხოლოდ ორ მდგრად მდგომარეობაში შეუძლიათ ყოფნა. მონაცემთა ამ უმცირეს ერთეულს ეწოდება ბიტი (ინგლისური ტერმინი წარმოადგენს „ -ის“ ანუ ორობითი ციფრის შემოკლებას). ნებისმიერი მონაცემი, რომელიც მუშავდება კომპიუტერის მიერ, წარმოიდგინება ნულებისა და ერთების კომბინაციით და მის დასამახსოვრებლად საჭიროა ბიტების გარკვეული რაოდენობა. შემდეგ, შედარებით მარტივი ტიპის მონაცემებისგან შესაძლებელია უფრო რთული კონსტრუქციების შექმნა, მათგან კიდევ უფრო რთულის და დახვეწილის და ა.შ.
++-ში ჩაშენებულია რამდენიმე მარტივი საბაზო ტიპი მონაცემებისთვის. თითოეული ტიპისთვის გამოყოფილია ბიტების მკაცრად დადგენილი რაოდენობა. ამათგან აიგება ყველა დანარჩენი. ზოგადად, მონაცემები და ინსტრუქციები ანალოგიურია მათემატიკის სიმრავლეებისა და ფუნქციებისა. ამიტომ, ვიდრე ++ -ის მონაცემთა ტიპებსა და ფუნქციებზე ვისაუბრებთ, ჯერ უნდა გავარკვიოთ რა ცოდნა შეგვიძლია გამოვიყენოთ მათემატიკიდან. მანამდე მოკლედ შევეხოთ კომპიუტერში რიცხვების წარმოდგენის საკითხს.

ძველი და ახალი ვარიანტი
ათობით წლების მანძილზე იხვეწებოდა ენის სინტაქსი. საყურადღებოა სახელსივრცეების და სათაურების გამოყენების წესი. ქვემოთ მოყვანილია ორი ერთნაირი პროგრამის მაგალითი სხვადასხვა სტილით, პროგრამა არავითარ ფუნქციას არ ასრულებს, გაშვებისთანავე იხურება.

ძველი სტილი - პრეპროცესორით (#) შემოტანილია სათაურის ფაილები, რომლებიც .-ით მთავრდება:

ახალი სტილი - საჭირო აღარაა, ყველა შემოტანილი ფაილი ერთიანდება ერთ სახელსივრცეში:

იდეალური პროგრამა
არსებობს კრიტერიუმები, რომლებსაც უნდა აკმაყოფილებდეს იდეალური პროგრამა. ზოგჯერ მათი ერდროულად შესრულება შეუძლებელია, ზოგჯერ განზრახ ხდება საჭირო რომელიმე მათგანის დარღვევა, მაგრამ ზოგადად ითვლება, რომ იდეალური პროგრამა უნდა იყოს:
მრავალჯერადი, გამოყენების თვალსაზრისით;
ადვილად გაუმჯობესებადი გადაკეთების თვალსაზრისით და მარტივი ექსპლოატაციაში;
საიმედოდ დაწერილი (მაგალითად, ნაკლებად დამოკიდებული კონკრეტულ სისტემაზე);
ადვილად გასარჩევი;
კარგად დოკუმენტირებული (ანუ ახლდეს ყველა საჭირო კომენტარი და ახსნა-განმარტება).
იდეალური პროგრამების შესაქმნელად აუცილებელია იმ გამოცდილების გამოყენება, რაც დაგროვდა საუკეთესო პროგრამისტების მიერ და რაც კონდენსირებულია სტილების და პარადიგმების სახით. ჩვენს კურსში ყურადღებას გავამახვილებთ რამდენიმე მომენტზე, რასაც პროგრამირების კარგი სტილი გვირჩევს: კომენტარების გამოყენებაზე და პროგრამის ფრაგმენტების შეწევაზე.
++ –ში კოდის მრავალჯერადი განმეორების იდეა ეფუძნება ფუნქციების და კლასების გამოყენებას. სტანდარტული ბიბლიოთეკის სახით ენა სთავაზობს პროგრამისტებს უამრავ ფუნქციას და კლასს. კერძოდ, ++ –ის ყველა პროგრამა იყენებს სტანდარტულ შეტანა–გამოტანის კლასებს.
უმარტივესი ++ –პროგრამის სტრუქტურა შემდეგია:

მაგალითად, ქვემოთ მოყვანილი პროგრამა იპოვის და დაბეჭდავს ორი მთელი რიცხვის ჯამს:

შემოკლებული ოპერატორები
++–ში არის არაერთი ოპერატორი, რომლის შესრულება ნიშნავს ორი სხვა ოპერატორის ან ინსტრუქციის შესრულებას. როგორც წესი, ამ ოპერატორების უმრავლესობა აგრეთვე გადატვირთულია სხვადასხვა საბაზო ტიპზე. უფრო მეტიც, მომხმარებლის მიერ განსაზღვრულ სხვადასხვა ტიპისთვის (კლასისთვის) ხშირად ძალიან მოსახერხებელია შემოკლებული და სხვა ოპერატორების (ნაწილის მაინც) გადატვირთვა.
მაგალითად, ძალიან ხშირად არის საჭირო რომელიმე ცვლადის, მთელის ან ნამდვილის, (ვთქვათ, ) მნიშვნელობის ერთით გაზრდა. თუ ამას მინიჭების შეტყობინებით გავაკეთებთ, გვექნება:
 = +1;
იგივე შედეგს მოგვცემს ++ (მომატების ოპერატორი ანუ ინკრიმენტი) ოპერატორის გამოყენება:
++;
ანალოგიური მოქმედებისაა -- (მოკლების ოპერატორი ანუ დენკრიმენტი) ოპერატორი, რომელიც ერთით ამცირებს ცვლადის მნიშვნელობას. თუ გვინდა არა ერთით, არამედ 3–ით გავზარდოთ ცვლადის მნიშვნელობა, უნდა გამოვიყენოთ += ოპერატორი, ანუ შემდეგი ორი შეტყობინება აკეთებს ერთი და იგივე რამეს:
 = + 3;
 += 3;
ცხრილში მოყვანილია რამდენიმე მაგალითი: