Компютърна академия IT STEP! Учим се от 1999 година. Висококачествено компютърно образование за възрастни и деца. Подготвяме програмисти, дизайнери и системни администратори, които не могат да бъдат заменени от изкуствен интелект. За тази цел, освен задълбочени знания, ние се научаваме да разбираме задачи, да мислим за готови проекти и да работим в екип.

Your browser is out of date!

You are using an outdated browser Internet Explorer. This version of the browser does not support many modern technologies, that's why many pages of the website are not displayed correctly, and may not work some of functions . We recommend viewing the website using the latest versions of the browsers Google Chrome, Safari, Mozilla Firefox, Opera, Microsoft Edge

Ние използваме бисквитки (“cookies”), за да подобрим потребителското изживяване и да Ви показваме съдържание, което би могло да Ви заинтересува. Използвайки този сайт Вие се съгласявате с правилата за използване на itstep.bg. Ако изберете «приемам», ще дадете Вашето съгласие да събираме, обработваме и съхраняваме Вашите лични данни.

Научи повече

Добавени функции/поправки в C++ 17

Ето и поправките и подобренията в C++ 17

Какво представлява фиксирането на езиков стандарт? Отговорът на въпроса е много прост. Липсващо нещо в предишните версии е включено в текущата версия е поправка.

Автоматични правила за инициализиране на директния списък

Вече можете да декларирате параметър на шаблон без тип с контейнер на типа auto. В C ++ 11 се сблъскваме със странен въпрос, където:

auto x {1};

се извежда като initializer_list. Този проблем е разрешен в новия стандарт, така че ще го изведе като int.

Преди да осъществите това, трябва да разберете двата начина на инициализация, като копиране и директно.

За директна инициализация C ++ 17 въвежда някои нови правила:

За "подреден списък с първоначални настройки" само с един елемент автоматично отклонение ще се направи от този запис;

За "архивиран списък с множество елементи", автоматичното приспадане ще бъде неправилно формирано.

Static_assert без съобщение

Тази актуализирана функция позволява да имате условие, без да предавате съобщението, и може да се каже, че вече static_assert декларацията не изисква втори аргумент. Версията със съобщение също е налице. Но той е съвместим с други твърдения като BOOST_STATIC_ASSERT.

Разнообразни типове за начало и край за диапазона на базата на цикли

В C ++ 11, базирани на "линия" се определят вътрешно.

Изясняване на езика

По-строга заповед за оценка на изразяването

Нямаше ред на оценяване, който да е бил посочен в историята на C ++ преди. Компилаторът оцени операндите в произволен ред и може да избере всеки друг ред, докато оценява същия израз друг път.

Обмислете следния ред на оценяване.

В f (x, y, z) редът на оценка a, b, c все още не е специфициран. Но е сигурно, че един параметър се оценява напълно преди да започне оценяването на следващия параметър.

Динамично разпределение на паметта

По време на SIMD (Single instruction, multiple data) или други изисквания за оформление на паметта, може да се наложи да подредите обектите конкретно. Тъй като в SSE се изисква подравняване на 16 байта, а за AVX 256 се изисква подравняване на 32 байта. дефинирайте вектор-4, както следва:

 

class align(16) vec4

{

    float a, b, c, x;

};

auto pVector = new vec4 [1000];

 

В C ++ 11 и C ++ 14 нямате гаранция за подмяна на паметта. Така че трябва да използвате някои специални процедури като _aligned_malloc / _aligned_free, за да сте сигурни, че подравняването е запазено. Това не е добър вариант, тъй като не работи със C ++ smart указателите. Освен това, в кода се виждат и разпределения или изтривания на паметта.

Международна компютърна академия IT STEP може да ви преквалифицира в завършен и високоплатен програмист. Благодарение на нашето обучение, покриващо всички стандарти на международни изисквания, вие можете да сбъднете своите мечти. Научете повече, като се запишете на безплатна консултация

Искаш ли да ти се обадим?

Този сайт използва Cookies

Политика за поверителност и правна информация