Конструктор (обектно ориентирано програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
Addbot (беседа | приноси)
м Робот: Преместване на 16 междуезикови препратки към Уикиданни, в d:q1049476.
Ред 120:
Често приложение на конструкторите и деструкторите е да се използват за съответно [[динамично заделяне на памет|динамично заделяне и освобождаване на памет]]. Трябва да се внимава, тъй като може да се получат случаи, в които всеки обект от един клас да се опита да освободи едно и също пространство в [[компютърна памет|паметта]] и респективно после да я освободи. Друг пример е при връщането на обект като резултат от функция: създава се едно междинно копие на връщания обект, което не изпълнява конструктора на класа си, защото той вече е изпълнен за обекта, който се копира - т.е. копието е от настоящия момент. След връщането на този обект обаче ще се задейства деструкторът не само на самия обект, който се връща, но и на междинния. Тогава двата обекта ще се опитат да освободят една и съща заделена памет.
 
== Inline -декларации ==
Почти винаги конструкторите и деструкторите са малки на размер и почти винаги се дефинират inline. (Това е декларация, при която инструкциите на функцията директно се заместват на всяко място, на което се използва, наподобявайки [[предпроцесорна директива]]). Когато вместо прототип директно се дефинира конструкторът/деструкторът, компилаторът (ако изобщо поддържа inline) предполага, че това е inline декларация.