Onko tämä std:: merkintä pakollinen. Jos on niin minkälaisilla paikoilla sitä käytetään.
ei,
using namespace std ohjelman alussa riittää.
std on c++:n nimiavaruus joka sisältää mm. c++:n omat i/o-funktiot. Se ei ole välttämätön jos ohjelman alussa lukee using namespace std;
Edit: Oho, rndprogy ehti ensin.
Kiitos. Nopeutaa koodaamista huomattavasti.
Koodin selkeyttä ajatellen voi myös vaihtoehtoisesti kirjoittaa using namespace std:n tilalle vain ne, mitä oikeasti käyttää, eli esim. pelkästään using std::cout;
Tämä siis selkeyttää koodia siinä mielessä että näkee heti koodin alusta, mitä varsinaisesti kyseisestä nimiavaruudesta käytetään.
Anteeksi että asia ei varsinaisesti tänne kuulu:
hyvä c++ opas: http://www.nic.funet.fi/c opas/
ja tässä vähän laajempi: http://cpp.mureakuha.com/cppohje/cpp01.htm
on pätemisen tarve :(
Ainakaan suomenkielisiin netistä löytyviin C++-oppaisiin ei tällä hetkellä kannata ihan sokeasti luottaaa. "Hassun hauska C++ opas" on - kuten itsekin osaa sanoa - melko pahasti vanhentunut, eikä tuon Mureakuhan oppaan tasokaan ihan päätä huimaa ( missä virtuaalinen destruktori??? )
Olisi ihan positiivinen yllätys olla tässä kohtaa väärässä, joten jos joku tietää parempia suomenkielisiä oppaita, niin saa tietty muillekin kertoa :)
Tuota std::
etuliitettä kannattaa tosiaankin käyttää. Se on selkeä tapa erottaa C++:n standardikomponentit omista (tai ulkoisista kirjastoista) peräisin olevista symboleista ja tekee koodista helpommin luettavaa. Kyllähän jokainen tietty tunnistaa cin
in ilman std
:täkin, mutta mitäs sitten, jos koodissa (etenkin jonkun muun kirjoittamassa koodissa) pyörii sellaisia nimiä kuin remove
, count
tai rotate
? Etuliitettä käytettäessä homma on selvä: "std::fill
? Never heard, katsotaan Googlesta." Eikä tarvitse arvuutella, että olikohan tuo sittenkin jonkun isoisoisoisäluokan metodi tai kenties jotain makrokikkailua C-kielisen grafiikkarajapinnan otiskkotiedostosta x.h.
C++ oppaista jo laajempi keskustelu.
juu tosiaan englanninkielisiä oppaita on netti väärällään. loppukoon keskustelu tähän :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.