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