Назад к вопросам
Junior — Middle
81
Какие улучшения были внесены в язык C++ с появлением стандарта C++11?
Ответ от нейросети
sobes.tech 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 sum = 0;
std::for_each(v.begin(), v.end(), [&sum](int n) { sum += n; });
std::cout << "Sum: " << sum << std::endl;
return 0;
}