C++11 #9: Wyłączanie funkcji z użycia: słowo kluczowe delete.

C++11 #9: Wyłączanie funkcji z użycia: słowo kluczowe delete.

Słowo kluczowe delete w deklaracji funkcji.

Czasami zachodzi potrzeba uniemożliwienia wywołania konkretnej funkcji. A dokładniej – zadbania o to, żeby zdefiniowanej wcześniej funkcji nie można było użyć w kodzie importującym/używającym wcześniej zdefiniowanych konstrukcji.

Najciekawsze są sytuacje, w których kompilator samodzielnie jest w stanie wygenerować teoretycznie potrzebne funkcje i użyć ich, co pozbawia nas niejako kontroli nad tym procesem. Przykładem są tutaj choćby funkcje szablonowe, czy też automatycznie generowane konstruktory oraz operatory w klasach.

(więcej…)