Sobes.tech
Junior — Middle

Какви подобрения бяха въведени в езика C++ с появата на стандарта C++11?

sobes.tech AI

Отговор от AI

Стандартът C++11 въведе много подобрения и нови функции, сред които:

  • Автоматично извеждане на типове (auto) — улеснява обявяването на променливи.
  • Умни указатели (std::unique_ptr, std::shared_ptr) — за безопасно управление на динамична памет.
  • Ламбда изрази — позволяват писане на анонимни функции директно на мястото на използване.
  • Константни изрази (constexpr) — изчисления по време на компилация.
  • Цикли базирани на диапазони (range-based for) — улесняват обхождането на елементите на колекции.
  • Мултинишково програмиране — въвеждане на стандартни нишки (std::thread), мьютекси и други средства за синхронизация.
  • Миграционна семантика и rvalue референции — оптимизация при прехвърляне на ресурси.
  • Стандартни типове с фиксиран размер (<cstdint>) — за по-точен контрол върху типовете.

Пример с ламбда израз:

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