-
1. Data: 2010-01-05 16:08:32
Temat: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Krzysztof Poc <f...@w...pl>
Witajcie
W jaki sposob moge zainicjalizowac zmienna statyczna w szablonie dla
konkretnego typu. Ponizszy program inicjalizuje zmienna st jako 'a'
dla
wszystkich typow.
Dzieki za pomoc
#include <iostream>
using namespace std;
template <class T>
class Container
{
public:
static T st;
};
template <class T>
int Container<int>::st = 81;
template <class T>
char Container<char>::st = 'a'; // chyba ostatnia inicjalizacja jest
brana pod uwage
int main ( void )
{
Container<int> i1;
Container<int> i2;
Container<char> c;
cout << "i1.st: " << dec << i1.st << endl; // 'a' - ma byc 81
cout << "i2.st: " << dec << i2.st << endl; // 'a' - ma byc 81
cout << "c.st: " << dec << c.st << endl; // 'a' - ok
return 0;
}
-
2. Data: 2010-01-06 07:25:39
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Maciej Pilichowski <P...@g...com>
On Tue, 5 Jan 2010 08:08:32 -0800 (PST), Krzysztof Poc
<f...@w...pl> wrote:
>W jaki sposob moge zainicjalizowac zmienna statyczna w szablonie dla
>konkretnego typu. Ponizszy program inicjalizuje zmienna st jako 'a'
>dla
>wszystkich typow.
Specjalizacja jesli sie nie myle.
template <char>
char Container<>::st = 'a';
milego dnia, hej
-
3. Data: 2010-01-20 08:38:23
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Krzysztof Poc <f...@w...pl>
On Jan 6, 8:25 am, Maciej Pilichowski
<P...@g...com> wrote:
> On Tue, 5 Jan 2010 08:08:32 -0800 (PST), Krzysztof Poc
>
> <f...@w...pl> wrote:
> >W jaki sposob moge zainicjalizowac zmienna statyczna w szablonie dla
> >konkretnego typu. Ponizszy program inicjalizuje zmienna st jako 'a'
> >dla
> >wszystkich typow.
>
> Specjalizacja jesli sie nie myle.
>
> template <char>
> char Container<>::st = 'a';
dzieki za pomoc
niestety to rowniez, nie dziala :(
efekt taki sam jak pierwotnie
-
4. Data: 2010-01-21 12:32:28
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Roman Werpachowski <r...@g...com>
On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
> dzieki za pomoc
> niestety to rowniez, nie dziala :(
> efekt taki sam jak pierwotnie
Wpisz
template <>
char Container<char>::st = 'a';
do pliku .cpp (a nie .h).
RW
-
5. Data: 2010-01-22 16:12:07
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Krzysztof Poc <f...@w...pl>
On Jan 21, 1:32 pm, Roman Werpachowski <r...@g...com>
wrote:
> On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
>
> > dzieki za pomoc
> > niestety to rowniez, nie dziala :(
> > efekt taki sam jak pierwotnie
>
> Wpisz
>
> template <>
> char Container<char>::st = 'a';
>
> do pliku .cpp (a nie .h).
>
> RW
wielki dziex
teraz poszlo :)
-
6. Data: 2010-01-22 20:53:07
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Roman Werpachowski <r...@g...com>
On 22 Sty, 16:12, Krzysztof Poc <f...@w...pl> wrote:
> On Jan 21, 1:32 pm, Roman Werpachowski <r...@g...com>
> wrote:
>
> > On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
>
> > > dzieki za pomoc
> > > niestety to rowniez, nie dziala :(
> > > efekt taki sam jak pierwotnie
>
> > Wpisz
>
> > template <>
> > char Container<char>::st = 'a';
>
> > do pliku .cpp (a nie .h).
>
> > RW
>
> wielki dziex
> teraz poszlo :)
A rozumiesz, dlaczego?
RW
-
7. Data: 2010-02-02 09:24:04
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Krzysztof Poc <f...@w...pl>
On Jan 22, 9:53 pm, Roman Werpachowski <r...@g...com>
wrote:
> On 22 Sty, 16:12, Krzysztof Poc <f...@w...pl> wrote:
>
>
>
> > On Jan 21, 1:32 pm, Roman Werpachowski <r...@g...com>
> > wrote:
>
> > > On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
>
> > > > dzieki za pomoc
> > > > niestety to rowniez, nie dziala :(
> > > > efekt taki sam jak pierwotnie
>
> > > Wpisz
>
> > > template <>
> > > char Container<char>::st = 'a';
>
> > > do pliku .cpp (a nie .h).
>
> > > RW
>
> > wielki dziex
> > teraz poszlo :)
>
> A rozumiesz, dlaczego?
>
> RW
Dla scislosci, bledny kod (bledna inicjalizacja):
template <class T>
char Container<char>::st = 'a';
lub
template <char>
char Container<char>::st = 'a';
Prawidlowy kod:
template <>
char Container<char>::st = 'a';
To ze "template <class T>" powodowalo inicjalizowanie rowniez
pozostalych zmiennych moglbym wytlumaczyc jako dopasowanie pozostalych
typow do "class T".
Jednak chyba nie dokonca jestem swiadom dlaczego tak samo zle dziala
"template <char>".
-
8. Data: 2010-02-03 15:55:01
Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Od: Roman Werpachowski <r...@g...com>
On 2 Feb, 09:24, Krzysztof Poc <f...@w...pl> wrote:
> Dla scislosci, bledny kod (bledna inicjalizacja):
>
> template <class T>
> char Container<char>::st = 'a';
>
> lub
>
> template <char>
> char Container<char>::st = 'a';
>
> Prawidlowy kod:
>
> template <>
> char Container<char>::st = 'a';
>
> To ze "template <class T>" powodowalo inicjalizowanie rowniez
> pozostalych zmiennych moglbym wytlumaczyc jako dopasowanie pozostalych
> typow do "class T".
> Jednak chyba nie dokonca jestem swiadom dlaczego tak samo zle dziala
> "template <char>".
"template <char>" ma tyle samo sensu, co "double funkcja(double 1.34)
{ return 0.45 }"
RW