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