{"id":2146,"date":"2026-04-01T07:23:29","date_gmt":"2026-04-01T07:23:29","guid":{"rendered":"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/"},"modified":"2026-04-01T07:23:29","modified_gmt":"2026-04-01T07:23:29","slug":"c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma","status":"publish","type":"post","link":"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/","title":{"rendered":"C++26 yra baigtas: \u012ftikinamiausias leidimas, nes C++11 u\u017etikrina atspind\u012f ir atminties saugum\u0105"},"content":{"rendered":"<p><\/p>\n<div id=\"\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Turinys:<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Nauja_siuolaikinio_C_kurimo_era\" >Nauja \u0161iuolaikinio C++ k\u016brimo era<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Keturi_C26_ramsciai\" >Keturi C++26 rams\u010diai<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Kodel_C26_priemimas_bus_greitas\" >Kod\u0117l C++26 pri\u0117mimas bus greitas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Kelias_i_C29_dar_daugiau_atminties_saugos\" >Kelias \u012f C++29: dar daugiau atminties saugos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Ka_tai_reiskia_C_kurejams\" >K\u0105 tai rei\u0161kia C++ k\u016br\u0117jams<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Platesne_reiksme\" >Platesn\u0117 reik\u0161m\u0117<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/infonaujiena.lt\/index.php\/2026\/04\/01\/c26-yra-baigtas-itikinamiausias-leidimas-nes-c11-uztikrina-atspindi-ir-atminties-sauguma\/#Isvada\" >I\u0161vada<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Nauja_siuolaikinio_C_kurimo_era\"><\/span>Nauja \u0161iuolaikinio C++ k\u016brimo era<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>2026 m. kovo 29 d. ISO C++ standart\u0173 komitetas baig\u0117 technin\u012f C++26 darb\u0105 Londone, pa\u017eym\u0117damas trej\u0173 met\u0173 k\u016brimo ciklo pabaig\u0105 ir prad\u017ei\u0105, kur\u012f daugelis ekspert\u0173 vadina reik\u0161mingiausiu leidimu nuo C++11. Komitetas, kuriame dalyvavo 210 dalyvi\u0173, atstovaujan\u010di\u0173 24 tautoms, i\u0161sprend\u0117 galutines tarptautines pastabas ir dabar rengia tarptautinio standarto projekt\u0105, kad b\u016bt\u0173 patvirtintas balsavimas ir paskelbtas ISO.<\/p>\n<p>C++26 rei\u0161kia esmin\u012f pokyt\u012f, kaip C++ sprend\u017eia du svarbius i\u0161\u0161\u016bkius, kurie jau de\u0161imtme\u010dius kamavo kalb\u0105: savistabos sunkum\u0105 ir neapibr\u0117\u017eto elgesio paplitim\u0105. Rezultatas yra leidimas, kuris \u017eada padaryti C++ galingesn\u012f, saugesn\u012f ir prieinamesn\u012f k\u016br\u0117jams.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Keturi_C26_ramsciai\"><\/span>Keturi C++26 rams\u010diai<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>1. Atspindys: C++ de\u0161imtmet\u012f apibr\u0117\u017eiantis raket\u0173 variklis<\/strong><\/p>\n<p>Reflection yra did\u017eiausias C++ k\u016brimo atnaujinimas nuo \u0161ablon\u0173 i\u0161radimo. Pirm\u0105 kart\u0105 C++ gali apib\u016bdinti save ir generuoti daugiau kodo pagal \u0161\u012f apra\u0161ym\u0105.<\/p>\n<p>Prie\u0161 C++26, jei nor\u0117jote suskirstyti strukt\u016br\u0105, generuoti derinimo i\u0161vest\u012f arba sukurti API paket\u0105, tur\u0117jote rankiniu b\u016bdu para\u0161yti kiekvieno tipo kod\u0105. Apm\u0105stydami galite para\u0161yti bendr\u0105j\u012f kod\u0105, kuris veikia su bet kokiu tipu, automati\u0161kai atrasdamas jo narius ir j\u0173 tipus kompiliavimo metu.<\/p>\n<p>Apsvarstykite paprast\u0105 pavyzd\u012f: strukt\u016bros suskirstymas \u012f JSON. Prie\u0161 apm\u0105stydami, para\u0161ykite:<\/p>\n<pre><code class=\"language-cpp\">struct Person {\n    std::string name;\n    int age;\n    std::string email;\n};\n\n\/\/ Manual serialization\njson serialize(const Person&amp; p) {\n    json j;\n    j(\"name\") = p.name;\n    j(\"age\") = p.age;\n    j(\"email\") = p.email;\n    return j;\n}\n<\/code><\/pre>\n<p>Su C++26 atspind\u017eiu galite ra\u0161yti:<\/p>\n<pre><code class=\"language-cpp\">template&lt;typename t&gt;\njson serialize(const T&amp; obj) {\n    json j;\n    for (auto member : reflect(obj)) {\n        j(member.name()) = member.get(obj);\n    }\n    return j;\n}\n<\/code><\/pre>\n<p>\u0160i funkcija veikia bet kokiam tipui ir automati\u0161kai atranda visus narius. Tai kei\u010dia bibliotekos k\u016brim\u0105, kod\u0173 generavim\u0105 ir metaprogramavim\u0105.<\/p>\n<p>Kaip savo CppCon 2025 pagrindiniame prane\u0161ime pa\u017eym\u0117jo Herbas Sutteris: \u201e2025 m. bir\u017eelio m\u0117n. C++ per\u017eeng\u0117 Rubikon\u0105: jis perdav\u0117 mums savo pa\u010di\u0173 mechanizm\u0173 raktus. Pirm\u0105 kart\u0105 C++ gali apib\u016bdinti save \u2013 ir sukurti daugiau. Pirmosios kompiliavimo laiko refleksijos funkcijos C++26 juodra\u0161tyje \u017eymi did\u017eiausi\u0105 m\u016bs\u0173 kalbos istorijos l\u016b\u017eio ta\u0161k\u0105.<\/p>\n<p><strong>2. Ma\u017eiau neapibr\u0117\u017eto elgesio, kad atmintis b\u016bt\u0173 saugiau<\/strong><\/p>\n<p>C++26 turi svarbi\u0173 atminties saugos patobulinim\u0173, kuriuos gausite tiesiog perkompiliuodami esam\u0105 C++ kod\u0105 be pakeitim\u0173:<\/p>\n<p><strong>Nebereikia neapibr\u0117\u017etos elgsenos skaitant nepainicijuotus vietinius kintamuosius<\/strong><\/p>\n<p>Visa \u0161i galim\u0173 pa\u017eeid\u017eiamum\u0173 kategorija i\u0161nyksta C++26, tiesiog perkompiliavus kod\u0105. C++23 ir senesn\u0117se versijose neinicializuoto vietinio kintamojo skaitymas yra neapibr\u0117\u017etas \u2013 kompiliatorius gali padaryti bet k\u0105, \u012fskaitant saugos patikr\u0173 optimizavim\u0105. C++26 kalboje nepainicijuoti vietiniai kintamieji pagal numatytuosius nustatymus inicijuojami nuliui, tod\u0117l \u0161ios klaidos visi\u0161kai pa\u0161alinamos.<\/p>\n<p><strong>U\u017egr\u016bdinta standartin\u0117 biblioteka<\/strong><\/p>\n<p>C++26 suteikia pradines keli\u0173 platform\u0173 bibliotekos saugumo garantijas, \u012fskaitant ribin\u0119 saug\u0105 de\u0161im\u010diai pla\u010diausiai naudojam\u0173 apribot\u0173 operacij\u0173 bendruose standartiniuose tipuose: vektorius, intervalas, eilut\u0117, string_view ir kt.<\/p>\n<p>Tai n\u0117ra teorin\u0117. \u201eGoogle\u201c \u0161is sutvirtinimas jau buvo pritaikytas \u0161imtams milijon\u0173 C++ kodo eilu\u010di\u0173. Rezultatai yra nuostab\u016bs:<\/p>\n<ul>\n<li>Tik penkios paslaugos visi\u0161kai atsisak\u0117 d\u0117l patikimumo ar na\u0161umo problem\u0173<\/li>\n<li>Smulki nesaugios prieigos API buvo naudojama tik septyniose skirtingose \u200b\u200bvietose<\/li>\n<li>Sistema jau i\u0161tais\u0117 daugiau nei 1000 klaid\u0173<\/li>\n<li>Numatoma, kad tai pad\u0117s i\u0161vengti 1 000\u20132 000 klaid\u0173 per metus<\/li>\n<li>Tai suma\u017eino gedim\u0173 da\u017en\u012f visame gamybos parke 30 proc.<\/li>\n<\/ul>\n<p>Visa tai su vidutin\u0117mis na\u0161umo s\u0105naudomis, kurios siekia vos 0,3 % \u2013 1 %. Tai n\u0117ra tik popierinis dizainas. Tai gamyboje patikrinta technologija, kuri dabar standartizuojama visiems.<\/p>\n<p><strong>3. Funkcin\u0117s saugos sutartys<\/strong><\/p>\n<p>C++26 pristato kalbos kontraktus: funkcij\u0173 deklaracij\u0173 i\u0161ankstines ir pos\u0105lygas bei kalbos palaikom\u0105 tvirtinimo teigin\u012f \u2013 visa tai yra be galo geresn\u0117 u\u017e C tvirtinimo makrokomand\u0105.<\/p>\n<p>Sutartys leid\u017eia i\u0161reik\u0161ti savo funkcijos daromas prielaidas ir jos teikiamas garantijas:<\/p>\n<pre><code class=\"language-cpp\">int divide(int a, int b)\n  ((pre: b != 0))\n  ((post r: r == a \/ b))\n{\n    return a \/ b;\n}\n<\/code><\/pre>\n<p>\u0160ios sutartys gali b\u016bti:<\/p>\n<ul>\n<li>Tikrinama vykdymo metu k\u016brimo metu<\/li>\n<li>Sudaryta gamybos na\u0161umui<\/li>\n<li>Stati\u0161kai analizuojama \u012frankiais<\/li>\n<li>Naudojamas dokumentacijai<\/li>\n<li>Integruota su \u012frodymo pagalbininkais<\/li>\n<\/ul>\n<p>Sutar\u010di\u0173 funkcija buvo gin\u010dytina &#8211; kai kurie ekspertai tur\u0117jo technini\u0173 susir\u016bpinim\u0105 d\u0117l dizaino. Ta\u010diau po ilg\u0173 diskusij\u0173 ir patobulinim\u0173 komitetas balsavo 114 u\u017e, 12 prie\u0161 ir 3 susilaik\u0117, kad sutartys b\u016bt\u0173 \u012ftrauktos \u012f C++26. Ne\u012fprastai ma\u017eas susilaikiusi\u0173j\u0173 skai\u010dius rodo, kad dabar beveik visi ekspertai yra tikri d\u0117l savo technin\u0117s nuomon\u0117s.<\/p>\n<p><strong>4. std::vykdymas (C++ async modelis)<\/strong><\/p>\n<p>std::vykdymas suteikia viening\u0105 sistem\u0105, leid\u017eian\u010di\u0105 i\u0161reik\u0161ti ir kontroliuoti lygiagretum\u0105 ir lygiagretum\u0105. Tai leid\u017eia lengviau ra\u0161yti programas, kuriose naudojamas strukt\u016brizuotas (grie\u017etai vis\u0105 gyvenim\u0105 \u012fd\u0117tas) lygiagretumas ir lygiagretumas, kad b\u016bt\u0173 i\u0161vengta duomen\u0173 lenktyni\u0173.<\/p>\n<p>\u0160i funkcija ypa\u010d vertinga didelio na\u0161umo sistemoms, kur teisingumas ir na\u0161umas yra labai svarb\u016bs. Ta\u010diau \u0161iuo metu j\u0105 pritaikyti sunkiau nei daugum\u0105 C++ funkcij\u0173, nes jai tr\u016bksta puikios dokumentacijos ir kai kuri\u0173 \u201epir\u0161t\u0173 ir koj\u0173 pir\u0161t\u0173\u201c bibliotek\u0173. Tik\u0117kit\u0117s puiki\u0173 rezultat\u0173 i\u0161 std::execution, bet taip pat tikit\u0117s praleisti \u0161iek tiek pradinio laiko mokydamiesi padedant k\u0105 nors, kas tai gerai i\u0161mano.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kodel_C26_priemimas_bus_greitas\"><\/span>Kod\u0117l C++26 pri\u0117mimas bus greitas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yra dvi prie\u017eastys, d\u0117l kuri\u0173 galima tik\u0117tis, kad C++26 pramon\u0117je bus priimtas daug grei\u010diau nei C++17, C++20 arba C++23:<\/p>\n<p><strong>Nepaprastas vartotoj\u0173 poreikis<\/strong><\/p>\n<p>C++11 buvo paskutinis \u201edidelis ir \u012fsp\u016bdingas\u201c leidimas, kuriame buvo gausu funkcij\u0173, kurias did\u017eioji dauguma C++ k\u016br\u0117j\u0173 naudot\u0173 kasdien: automatinis, diapazonas, lambdas, i\u0161maniosios rodykl\u0117s, jud\u0117jimo semantika, gijos, mutexes. Nuo tada tolesni trejeto met\u0173 standartai tur\u0117jo kelet\u0105 dideli\u0173 funkcij\u0173, toki\u0173 kaip lygiagretus STL, koncepcijos, korutinos ir moduliai, ta\u010diau jie nebuvo tokie dideli visiems C++ k\u016br\u0117jams.<\/p>\n<p>C++26 palapin\u0117s atspindys ir saugos gr\u016bdinimas bus. Net jei j\u016bs\u0173 \u012fmon\u0117 l\u0117tai \u012fjung\u0117 C++20 jungikl\u012f, grei\u010diausiai pasteb\u0117site, kad C++26 \u012fjungs daug grei\u010diau. Yra tik tiek daug didesn\u0117s paklausos vert\u0117s, tod\u0117l tai yra jaudinantis ir i\u0161skirtinai naudingas leidimas visiems, kurie naudoja C++.<\/p>\n<p><strong>Greitas kompiliatoriaus diegimas<\/strong><\/p>\n<p>Kuriant C++26, bet kuriuo metu GCC ir Clang jau buvo \u012fdieg\u0119 du tre\u010ddalius C++26 funkcij\u0173. \u0160iandien GCC jau svarsto, o sutartys yra sujungtos \u012f baga\u017ein\u0119 ir laukia i\u0161leidimo. Tai rei\u0161kia, kad jums nereik\u0117s met\u0173 laukti kompiliatoriaus palaikymo \u2013 jis jau ateina.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kelias_i_C29_dar_daugiau_atminties_saugos\"><\/span>Kelias \u012f C++29: dar daugiau atminties saugos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0160iame pos\u0117dyje komitetas taip pat patvirtino C++29 tvarkara\u0161t\u012f, kuris bus dar vienas trej\u0173 met\u0173 i\u0161leidimo ciklas. Pagrindinis d\u0117mesys diskutuojant apie C++29 laiko tarpo med\u017eiag\u0105 buvo toliau didinamas atminties saugumas.<\/p>\n<p>Pagrindinis kalbos evoliucijos pogrupis per\u017ei\u016br\u0117jo keli\u0173 \u0161iuo metu teikiam\u0173 pasi\u016blym\u0173 d\u0117l tolesni\u0173 tipo \/ atminties saugos patobulinim\u0173, \u012fskaitant pasi\u016blymus toliau ma\u017einti neapibr\u0117\u017et\u0105 elges\u012f ir saugos profilio dokument\u0173 rengim\u0105, atnaujinimus. Bjarne Stroustrup P3984 tipo saugos profilis kuriamas naudojant si\u016blom\u0105 bendr\u0173j\u0173 profili\u0173 sistem\u0105.<\/p>\n<p>Oliveris Huntas i\u0161 \u201eApple\u201c pristat\u0117 praktin\u0119 WebKit patirt\u012f, kuri sustiprino daugiau nei 4 milijonus kodo eilu\u010di\u0173, naudodama antrini\u0173 rinkini\u0173 pogrupio metod\u0105. Rezultatai buvo nuostab\u016bs:<\/p>\n<ul>\n<li>Priimta ~4 milijonai kodo eilu\u010di\u0173<\/li>\n<li>U\u017edaro kelias pa\u017eeid\u017eiamumo klases<\/li>\n<li>Dabartin\u0117 politika b\u016bt\u0173 u\u017ekirtusi keli\u0105 daugumai istorini\u0173 i\u0161naudojim\u0173<\/li>\n<li>Rasta ir u\u017ekirto keli\u0105 nauj\u0173 ir esam\u0173 klaid\u0173 i\u0161naudojimui<\/li>\n<\/ul>\n<p>C++29 jau ruo\u0161iasi dar labiau remtis C++26 saugos patobulinimais. Tai yra esminis pokytis: C++ pereinama nuo laukini\u0173 vakar\u0173 kalbos, kurioje viskas pereinama prie saugesn\u0117s pagal numatytuosius nustatymus, kuri vis dar i\u0161laiko nulin\u0117s prid\u0117tin\u0117s vert\u0117s princip\u0105. J\u016bs nemokate u\u017e tai, ko nenaudojate, ir net kai kai kurie saugos \u012frenginiai yra tokie pig\u016bs, kad jie \u012fjungti pagal numatytuosius nustatymus, visada turite galimyb\u0119 atsisakyti, kai jums reikia i\u0161naudoti paskutin\u0119 uncij\u0105.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ka_tai_reiskia_C_kurejams\"><\/span>K\u0105 tai rei\u0161kia C++ k\u016br\u0117jams<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Program\u0173 k\u016br\u0117jams<\/strong><\/p>\n<p>Atspind\u0117jimas ir sustiprinta standartin\u0117 biblioteka padarys j\u016bs\u0173 kod\u0105 saugesn\u012f ir lengviau ra\u0161om\u0105. Ma\u017eiau laiko sugai\u0161ite svarstydami ir daugiau laiko dirbsite su verslo logika. Atminties saugos patobulinimai rei\u0161kia ma\u017eiau paslapting\u0173 gedim\u0173 ir saugumo sprag\u0173.<\/p>\n<p><strong>Bibliotekos autoriams<\/strong><\/p>\n<p>Refleksija atveria visi\u0161kai naujas bendro programavimo galimybes. Galite ra\u0161yti bibliotekas, kurios veikia su bet kokiu vartotojo apibr\u0117\u017etu tipu, automati\u0161kai atrasdamos jo strukt\u016br\u0105. Taip bus sukurtos galingesn\u0117s, lankstesn\u0117s bibliotekos.<\/p>\n<p><strong>Sistem\u0173 programuotojams<\/strong><\/p>\n<p>Sutartys ir std::vykdymas suteikia naujus \u012frankius teisingumo savyb\u0117ms i\u0161reik\u0161ti ir lygiagretumui valdyti. Sustiprinta standartin\u0117 biblioteka suteikia jums saugumo garantijas neprarandant na\u0161umo.<\/p>\n<p><strong>Saugumo \u017einioms organizacijoms<\/strong><\/p>\n<p>D\u0117l atminties saugos patobulinim\u0173 ir sutar\u010di\u0173 palaikymo C++26 yra patrauklus pasirinkimas saugumui svarbioms sistemoms. Galimyb\u0117 i\u0161reik\u0161ti ir patikrinti teisingumo savybes kompiliavimo metu yra ne\u012fkainojama.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Platesne_reiksme\"><\/span>Platesn\u0117 reik\u0161m\u0117<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>C++26 rei\u0161kia kalbos brandinim\u0105. U\u017euot prid\u0117j\u0119 ry\u0161ki\u0173 nauj\u0173 funkcij\u0173, jame pagrindinis d\u0117mesys skiriamas pagrindini\u0173 problem\u0173, kurios ken\u010dia C++ de\u0161imtme\u010dius, sprendimams. Refleksija i\u0161sprend\u017eia metaprogramavimo problem\u0105. Atminties saugos patobulinimai i\u0161sprend\u017eia saugumo problem\u0105. Sutartys leid\u017eia oficialiai patikrinti.<\/p>\n<p>Tai leidimas, kuriame gerbiama C++ istorija, kartu stumiant j\u0105 \u012f priek\u012f. Tai palaiko atgalin\u012f suderinamum\u0105, tuo pa\u010diu daro kalb\u0105 saugesn\u0119 ir galingesn\u0119. Tai leidimas, kuriame sakoma: \u201eC++ nei\u0161nyksta, o vis ger\u0117ja\u201c.<\/p>\n<p>Kalbai, kuri gyvuoja beveik 40 met\u0173, tai yra puikus pasiekimas.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Isvada\"><\/span>I\u0161vada<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>C++26 baigtas, ir tai didelis dalykas. Atsi\u017evelgdamas \u012f tai, patobulinus atminties saug\u0105, sudarant sutartis ir std::vykdym\u0105, tai yra reik\u0161mingiausia C++ raida nuo C++11. Komitetas pristat\u0117 leidim\u0105, kuriame sprend\u017eiamos tikrosios problemos, su kuriomis susiduria tikri k\u016br\u0117jai, ir pateikiami gamybos metu patvirtinti sprendimai.<\/p>\n<p>Tik\u0117tis greito pri\u0117mimo. Tik\u0117kit\u0117s nauj\u0173 bibliotek\u0173, kurios paskatins apm\u0105stymus. Tik\u0117kit\u0117s saugesnio ir patikimesnio C++ kodo. Ir tik\u0117kit\u0117s, kad C++ ateinan\u010diais de\u0161imtme\u010diais i\u0161liks pasirenkama kalba kuriant didelio na\u0161umo, saugai svarbias sistemas.<\/p>\n<p>At\u0117jo kita C++ k\u016brimo era.<\/p>\n<\/p><\/div>\n<p>Jei tekste radote klaid\u0105, si\u0173skite prane\u0161im\u0105 autoriui pa\u017eym\u0117dami klaid\u0105 ir paspausdami Ctrl-Enter.<\/p>\n<p><a href=\"https:\/\/techplanet.today\/post\/c26-is-complete-the-most-compelling-release-since-c11-brings-reflection-and-memory-safety\"> Nuoroda \u012f informacijos \u0161altin\u012f <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nauja \u0161iuolaikinio C++ k\u016brimo era 2026 m. kovo 29 d. ISO C++ standart\u0173 komitetas baig\u0117 technin\u012f C++26 darb\u0105 Londone, pa\u017eym\u0117damas trej\u0173 met\u0173 k\u016brimo ciklo pabaig\u0105 ir prad\u017ei\u0105, kur\u012f daugelis ekspert\u0173 vadina reik\u0161mingiausiu leidimu nuo C++11. Komitetas, kuriame dalyvavo 210 dalyvi\u0173, atstovaujan\u010di\u0173 24 tautoms, i\u0161sprend\u0117 galutines tarptautines pastabas ir dabar rengia tarptautinio standarto projekt\u0105, kad b\u016bt\u0173 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[4081,4080,4077,4079,4076,4078,2884,2962,587,3636,171],"class_list":["post-2146","post","type-post","status-publish","format-standard","hentry","category-technologijos","tag-atminties","tag-atspindi","tag-baigtas","tag-c11","tag-c26","tag-itikinamiausias","tag-leidimas","tag-nes","tag-sauguma","tag-uztikrina","tag-yra"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/posts\/2146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/comments?post=2146"}],"version-history":[{"count":0,"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/posts\/2146\/revisions"}],"wp:attachment":[{"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/media?parent=2146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/categories?post=2146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infonaujiena.lt\/index.php\/wp-json\/wp\/v2\/tags?post=2146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}