Avatar billede gumbert Nybegynder
24. april 2003 - 22:05 Der er 8 kommentarer og
1 løsning

Iostream(.h)

Hej eksperter

  Sad og læste lidt på internettet og faldt over denne sætnin:  #include<iostream>
  grunden til at jeg faldt over dette er at jeg plejer at bruge  #include<iostream.h>

(det galdt oss for de andre .h filer så iostream er bare et eksempel)

Så nu er spørgsmålet ganske enkelt: <hvad er forskellen på om man har .h med eller ej??

på 4hånd tah 4 hjælpen
Avatar billede arne_v Ekspert
24. april 2003 - 22:09 #1
Med .H er den gamle standard.

Uden .H er den nye ANSI C++ standard.
Avatar billede arne_v Ekspert
24. april 2003 - 22:10 #2
Når du bruger versionen uden .H vil du nok også
bruge følgende:

using namespace std;
Avatar billede arne_v Ekspert
24. april 2003 - 22:11 #3
Altså:

#include <iostream.h>

int main()
{
    cout << "Hello world !" << endl;
}

og:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world !" << endl;
}
Avatar billede gumbert Nybegynder
24. april 2003 - 22:14 #4
lige et spørgsmål til er der nogen fordel ved at bruge de nye og hvorfor skal man skrive

using namespace std;
Avatar billede arne_v Ekspert
24. april 2003 - 22:18 #5
I løbet af få år vil compilerne nok kun acceptere den nye form.

Så du kan ligeså godt skifte nu.

Namespaces er en ny ting i C++.

Du kan enten skrive:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world !" << endl;
}

eller:

#include <iostream>

int main()
{
    std::cout << "Hello world !" << std::endl;
}

Jeg synes at den første form er langt den nemmeste.
Avatar billede gumbert Nybegynder
24. april 2003 - 22:19 #6
Er der noget at forstå ved using namespace std; eller er den der bare
Avatar billede arne_v Ekspert
24. april 2003 - 22:22 #7
Den gør at du ikke skal prefixe alt det der i std namespace med std::.
Avatar billede arne_v Ekspert
24. april 2003 - 22:23 #8
Og ideen i namespaces er at undgå navne-konflikter.

D.v.s. at C++ compileren kan komem med std::cout og du kan lave
minsuper::cout.

(hvis man gør det så skal man *IKKE* lave den "using namespace std;",
men det er der jo nok heller ingen der gør)
Avatar billede gumbert Nybegynder
24. april 2003 - 22:24 #9
ok tak for forklaringerne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester