factory::built_type b1 = factory::create();

0

Struktura wygląda tak:
Kod:
[code]
struct factory
{
// ...
typedef B *const built_type;
// ...
};
[/code]
Do deklaracji nowego typu danych służy instrukcja: typedef B *const built_type;
Pytanie co oznacza:
Kod:
[code]
factory::built_type b1 = factory::create();
B const *b2 = factory::create();
B *b3 = factory::create();
[/code]

Czym różnią się poszczególne linijki?

0

W zasadzie :
b1 jest zmienna typu factory::build_type czyli B * const (stały wskaźnik to B, czyli nie można zmienic adresu a można zmienic wartość).
b2 jest stałym wskażnikiem na B(jest rownowazne build_type),
b3 jest wskaźnikiem do B(czyli build_type)

Metoda create() inicjiuje zmienna wskaźnikiem na B.

P.S .
Jeśli się mylę to poprawcie mnie.:)

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