Sobes.tech
Junior — Middle

Ποιες βελτιώσεις έγιναν στη γλώσσα C++ με την εμφάνιση του προτύπου C++11;

sobes.tech AI

Απάντηση από AI

Το πρότυπο C++11 εισήγαγε πολλές βελτιώσεις και νέες δυνατότητες, μεταξύ των οποίων:

  • Αυτόματη απόδοση τύπων (auto) — απλοποιεί τη δήλωση μεταβλητών.
  • Έξυπνοι δείκτες (std::unique_ptr, std::shared_ptr) — για ασφαλή διαχείριση δυναμικής μνήμης.
  • Εκφράσεις lambda — επιτρέπουν την άμεση γραφή ανώνυμων συναρτήσεων.
  • Σταθερές εκφράσεις (constexpr) — υπολογισμοί κατά τη μεταγλώττιση.
  • Βρόχοι βασισμένοι σε εύρος (range-based for) — απλοποιούν την επανάληψη σε στοιχεία συλλογών.
  • Πολυνηματικός προγραμματισμός — εισαγωγή τρεχόντων (std::thread), mutex και άλλων μέσων συγχρονισμού.
  • Ναυτιλία και rvalue αναφορές — βελτιστοποίηση στη μεταφορά πόρων.
  • Τύποι σταθερού μεγέθους (<cstdint>) — για πιο ακριβή έλεγχο των τύπων.

Παράδειγμα έκφρασης lambda:

#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;
}