[c++] pytanie o stale i szablony

Odpowiedz Nowy wątek
2006-08-11 21:19
0

Czytajac o szablonach w ksiazce "Thinking in C++" przeczytalem, ze mozna uzywac wartosci, ktore w czasie kompilacji sa stalymi dla pewnego szablonu, przekazujac je jako argumenty tego szablonu. Mam w zwiazku z tym pytanie: czy lepiej jako stalych uzywac jest argumentow szablonu, czy deklarowac stale w klasach i nadawac im wartosc w konstruktorze? Ktore rozwiazanie jest szybsze? Ktore jest zalecane? Jezeli chodziloby tylko o wzgledy estetyczne, to chyba lepiej definiowac stala w klasie, nie trzeba pozniej pamietac o dodatkowym argumencie szablonu.

Znacie jakies inne za lub przeciw stosowaniu ktoregokolwiek z tych dwoch rozwiazan?

Pozostało 580 znaków

2006-08-12 15:38
0

Stałe w szblonach są po to abyś mógł tworzyć różne warianty klasy, struktury czy funkcji. Np. dana klasa:

template<typename T, int N> class Tablica
{
     private:
     T tab[N];
     public:
     ...
}
int main()
{
    Tablica<int, 10> a;
    Tablica<char, 20> b;
    ...
}

Stałe inicjowane w konstruktorze służą zupełnie do czegoś innego niż stałe określane w szblonie, więc nie chodzi tu o względy estetyczne.
Uzywając stałych możesz mieć wyłącznie jeden wariant danej klasy w całym programie.


Northern wind take my song up high
To the Hall of glory in the sky
So its gates shall greet me open wide
When my time has come to die

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0