Sobes.tech
Junior — Middle

Milliseid täiustusi tehti C++ keeles C++11 standardi ilmumisega?

sobes.tech AI

Vastus AI-lt

C++11 standard tõi kaasa palju täiustusi ja uusi võimalusi, sealhulgas:

  • Automaatne tüüpide tuletamine (auto) — lihtsustab muutujate deklaratsiooni.
  • Nutikad näitajad (std::unique_ptr, std::shared_ptr) — turvaliseks dünaamilise mälu haldamiseks.
  • Lambda avaldised — võimaldavad kirjutada anonüümseid funktsioone otse kasutuskoha lähedal.
  • Konstantsed avaldised (constexpr) — arvutused kompileerimise ajal.
  • Vahemiku põhised tsüklid (range-based for) — lihtsustavad elementide läbikäimist kogumites.
  • Mitme niidiga programmeerimine — standardsete niitide (std::thread), mutexide ja teiste sünkroniseerimismeetodite kasutuselevõtt.
  • Liikumise semantika ja rvalue-viited — ressursside edastamise optimeerimine.
  • Standardsete fikseeritud suurusega tüüpide kasutamine (<cstdint>) — täpsem kontroll tüüpide üle.

Näide lambda avaldisest:

#include <iostream>
#include <vector>

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