Junior — Middle
Kokius patobulinimus padarė C++ kalboje C++11 standarto atsiradimas?
sobes.tech AI
Atsakymas iš AI
C++11 standarto įvedė daugybę patobulinimų ir naujų galimybių, tarp jų:
- Automatinis tipų išvedimas (
auto) — supaprastina kintamųjų deklaravimą. - Protingi rodyklės (
std::unique_ptr,std::shared_ptr) — saugiai valdyti dinaminę atmintį. - Lambda išraiškos — leidžia rašyti anonimines funkcijas tiesiogiai naudojimo vietoje.
- Konstantinės išraiškos (
constexpr) — skaičiavimai kompiliacijos metu. - Intervalais pagrįsti ciklai (
range-based for) — supaprastina kolekcijų elementų perėjimą. - Daugiagijų programavimas — įdiegta standartinėms gijoms (
std::thread), mutex'ams ir kitiems sinchronizacijos įrankiams. - Perkėlimo semantika ir rvalue nuorodos — optimizuoja išteklių perdavimą.
- Standartiniai fiksuoto dydžio tipai (
<cstdint>) — leidžia tiksliau kontroliuoti tipus.
Pavyzdys su lambda išraiška:
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
int suma = 0;
std::for_each(v.begin(), v.end(), [&suma](int n) { suma += n; });
std::cout << "Suma: " << suma << std::endl;
return 0;
}