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), մյուտեքսներ և այլ սինխրոնիզացիոն միջոցներ:
  • Տրանսֆերի սեմանտիկա և 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;
}