Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: std::

Sivun loppuun

Pollapoju [29.07.2008 12:28:10]

#

Onko tämä std:: merkintä pakollinen. Jos on niin minkälaisilla paikoilla sitä käytetään.

rndprogy [29.07.2008 12:31:19]

#

ei,
using namespace std ohjelman alussa riittää.

Kray [29.07.2008 12:34:06]

#

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.

Pollapoju [29.07.2008 12:39:22]

#

Kiitos. Nopeutaa koodaamista huomattavasti.

TsaTsaTsaa [29.07.2008 15:43:26]

#

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.

alottelijaa [30.07.2008 14:51:58]

#

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 :(

os [30.07.2008 19:00:59]

#

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 cinin 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.

Pollapoju [30.07.2008 21:04:33]

#

C++ oppaista jo laajempi keskustelu.

alottelijaa [30.07.2008 21:18:51]

#

juu tosiaan englanninkielisiä oppaita on netti väärällään. loppukoon keskustelu tähän :D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta