C++: Разлика помеѓу преработките

[проверена преработка][проверена преработка]
Избришана содржина Додадена содржина
с →‎Објекти: Јазично подобрување, replaced: индивидуални → поединечни
с →‎Шаблони: Јазична исправка, replaced: стрикно → строго
Ред 76:
C++ шаблоните овозможуваат генеричко програмирање. C++ поддржува шаблони и на функции и на класи. Шаблоните се моќни алатки кои можат да се користат за генеричко програмирање, шаблонско метапрограмирање и оптимизација на кдовите. Но оваа моќ има и цена. Употребата на шаблони може да го зголеми кодот, поради постоењето на копии на кодот на шаблоните: по една за секој сет на аргменти на шаблоните.
 
Шаблоните се различи од макроата. И шаблоните и макроата овозможуваат кондиционални компилации. Шаблоните се свесни за значењето и типот на системот на јазикот којшто ги придружува како и за сите дефиниции за времето компајлирање. И може да извршуваат операции на високо ниво вклучувајќи го programmatic flow control засновано на проценка од стрикнострого проверени параметри. Макроата се способни за кондиционална контрола врз компилацијата засновано на претходно одредени критериуми но не можат да инстанцира нови типови,или да извршат проценка на типовите и во ефект се ограничени на претходна компилација, замена на текст и вклучување/исклучување на текст. Со други зборови со макроата може да се контролира протокот на компилации, на основа на претходно дефинирани симболи, но не може, за разлика од шаблоните, независно да инстанцира нови симболи.Шаблоните се алатки за статично полиморфно и генеричко програмирање.
 
Како резиме, шаблоните се compile-time параметризирани функции или класи напишани без знаење на специфичните аргументи користени за да се инстанцира. После инстанцирањето крајниот код е еднаков со кодот напишан специјално за изминатите аргументи. На овој начин, шаблоните овозможуваат начин за
Преземено од „https://mk.wikipedia.org/wiki/C%2B%2B