To z <iostream>
:W jaki sposób extern działa w języku C++?
namespace std
{
extern istream cin; ///< Linked to standard input
extern ostream cout;
...
Wydaje używając extern
typy danych zdefiniowane w innych obszarach nazw będzie tylko dostępny?
Ale nigdzie nie znajduję definicji 'cin', tylko' istream' jest zdefiniowane w '' –
symfony
'cin' jest obiektem typu' istream'. "istream" jest definicją klasy (w tym przypadku klasy szablonu). 'cin' jest instancją klasy' istream'. "Definicja", o której wspomniałem w mojej odpowiedzi, to definicja "cin", a nie "istream". Musisz przyjrzeć się rozumieniu * definicja * kontra * declaraion *. Instrukcje w przykładach to * deklaracje *. –
Definicja * zmiennej 'cin' najprawdopodobniej znajduje się w bibliotece wykonawczej. Nie znajdziesz go w standardowych plikach nagłówkowych biblioteki. –