Sobes.tech
Junior — Middle

რა გაუმჯობესებები განხორციელდა C++ ენისთვის C++11 სტანდარტის გამოჩენის შემდეგ?

sobes.tech AI

პასუხი AI-სგან

C++11 სტანდარტმა შემოიტანა მრავალი გაუმჯობესება და ახალი შესაძლებლობები, მათ შორის:

  • ავტომატური ტიპის გამოტანა (auto) — ამარტივებს ცვლადების გამოცხადებას.
  • ჭკვიანი მაჩვენებლები (std::unique_ptr, std::shared_ptr) — უსაფრთხო მართვა დინამიკულ მეხსიერებაზე.
  • ლამბდა გამოხატულებები — საშუალებას აძლევს პირდაპირ გამოიყენოთ ანონიმური ფუნქციები.
  • მტკიცე გამოთვლები (constexpr) — გამოთვლები კომპილაციის დროს.
  • სივრცის დაფუძნებული ციკლები (range-based for) — მარტივია კოლექციების ელემენტებზე გადასვლა.
  • მრავალთარიანი პროგრამირება — სტანდარტული ნაკადების (std::thread), mutex-ებისა და სხვა სინქრონიზაციის საშუალებების შეტანა.
  • გადაცემის სემანტიკა და rvalue-კავშირები — რესურსების გადაცემის ოპტიმიზაცია.
  • სტანდარტული ზომის ტიპები (<cstdint>) — უფრო ზუსტი კონტროლი ტიპებზე.

მაგალითი ლამბდა გამოხატულებით:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> v = {1, 2, 3, 4, 5};
    int ჯამი = 0;
    std::for_each(v.begin(), v.end(), [&ჯამი](int n) { ჯამი += n; });
    std::cout << "ჯამი: " << ჯამი << std::endl;
    return 0;
}