Junior — Middle
Кадом беҳбудиҳо ба забони C++ ворид шуданд бо пайдоиши стандарти C++11?
sobes.tech AI
Ҷавоб аз AI
Стандарти C++11 ворид намуд, ки бисёр такмилҳо ва имкониятҳои навро дарбар мегирад, аз ҷумла:
- Таъйини автоматии намуд (
auto) — соддасозии эълони тағйирёбандаҳо. - Показгарҳои оқил (
std::unique_ptr,std::shared_ptr) — барои идоракунии бехатари хотираи динамикӣ. - Ифодаҳои lambda — имкон медиҳанд, ки функсияҳои номаълумро мустақиман дар ҷойи истифода нависед.
- Ифодаҳои доимӣ (
constexpr) — ҳисобҳо дар марҳилаи компилятсия. - Циклҳои асосёфта ба диапазон (
range-based for) — осон кардани гузариш дар элементҳои коллексияҳо. - Барномасозии бисёрсоҳавӣ — ворид кардани сӯрохиҳои стандартӣ (
std::thread), mutex ва дигар воситаҳои ҳамоҳангсозӣ. - Маънои ҳаракат ва истинодҳои rvalue — оптимизатсия дар интиқоли захираҳо.
- Типҳои бо андозаи муайян (
<cstdint>) — барои назорати дақиқи намудҳо.
Масалан, ифодаи lambda:
#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;
}