Sobes.tech
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;
}