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