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