2013-06-25 5 views

Odpowiedz

13

Nie, kod nie zostanie wygenerowany dla szablonu funkcji, który nigdy nie jest tworzony. Ponadto, nie zostanie utworzony kod dla funkcji szablonu bez szablonu, która nigdy nie jest wywoływana.

W szczególności, rozmiar twojego pliku wykonywalnego nie będzie większy, ani nie wystąpi narzut w czasie wykonywania.

+0

(o ile nie zostanie jawnie utworzony szablon klasy) – aschepler

4

Nie, nie ma.

Klasy szablonów i funkcje nie są rzeczywistymi klasami lub funkcjami: zamiast tego są instrukcjami dla kompilatora, jak generować określone typy klas i funkcji. Kiedy odwołujesz się do szablonu, kompilator używa szablonu, aby dowiedzieć się, jak wygenerować kod źródłowy, i kompiluje wygenerowany kod, raz dla każdej innej parametryzacji szablonu.

Jedyny narzut na korzystanie z szablonu to trochę więcej czasu na kompilację, nic wielkiego dla jakiegokolwiek komputera zbudowanego w dowolnym czasie po 1980 roku.

+0

OK dzięki, że ma sens – Iowa15

Powiązane problemy