/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
std:: og int main
Fra : Anders Lund


Dato : 12-07-02 20:34

Nu har jeg til min forbavselse set at det hedder int main og ikke void main.
På siden der giver mig den skidebalde
(http://www.research.att.com/~bs/bs_faq2.html#void-main) finder jeg så denne
kode stump:

#include<iostream>

   int main()
   {
      std::cout << "This program returns the integer value 0\n";
   }

hvorfor std:: ? og hvornår

hverten "int main" eller "std::" bliver nævnt i bogen "C++" af Kris Jamsa,
er det bogen der er dårlig (Det ville da være irriterende da jeg lige er
færdig med at læse den intenst)

Mvh
Anders Lund



 
 
Daniel Blankensteine~ (12-07-2002)
Kommentar
Fra : Daniel Blankensteine~


Dato : 12-07-02 20:47

"Anders Lund" <webmaster@123grin.dk> wrote in message
news:3d2f2f27$0$12707$edfadb0f@dspool01.news.tele.dk...
> Nu har jeg til min forbavselse set at det hedder int main og ikke void
main.
> På siden der giver mig den skidebalde
> (http://www.research.att.com/~bs/bs_faq2.html#void-main) finder jeg så
denne
> kode stump:
>
> #include<iostream>
>
> int main()
> {
> std::cout << "This program returns the integer value 0\n";
> }
>
> hvorfor std:: ? og hvornår
>
> hverten "int main" eller "std::" bliver nævnt i bogen "C++" af Kris
Jamsa,
> er det bogen der er dårlig (Det ville da være irriterende da jeg lige er
> færdig med at læse den intenst)

Jeg har også læst ovenstående bog og undre mig over det samme. Ligeledes har
jeg altid brugt char* og ikke strings, men måske I kan anbefale en god bog
der behandler std:, strings and hvad C++ består af. Jeg har nemlig hørt at
hvis man kan de 64 (eller deromkring) grundlæggende "funktioner", så kan man
alt indenfor C++.

mvh
db



Mogens Hansen (12-07-2002)
Kommentar
Fra : Mogens Hansen


Dato : 12-07-02 21:43


"Daniel Blankensteiner" <db@traceroute.dk> wrote

[snip]
> Jeg har også læst ovenstående bog og undre mig over det samme. Ligeledes
har
> jeg altid brugt char* og ikke strings, men måske I kan anbefale en god bog
> der behandler std:, strings and hvad C++ består af.

Jeg plejer at anbefale
Accelerated C++, Practical Programming by Example
Andrew Koenig, Barbara E. Moo
ISBN 0-201-70353-X
hvis man vil have en kort (336 sider, med det hele) introduktion til moderne
C++.

F.eks. start "namespace" og "std" forklaret på side 3, "std::string" på side
9.
På side 4 står der at string literals først vil blive forklaret på side 176,
omkring det sted hvor der også står noget om pointere og arrays.
Disse sidetal giver dig formodentlig et indtryk af at det er en bog, hvor
fokus ligger væsentligt anderledes end hvor mange andre bøger lægger det.

Bogens størrelse gør naturligvis at hele C++ ikke kan blive beskrevet.

> Jeg har nemlig hørt at
> hvis man kan de 64 (eller deromkring) grundlæggende "funktioner", så kan
man
> alt indenfor C++.

Det er nok temmeligt optimistisk.
Men ovennævnte bog dækker nok en god del af de grundlæggende "funktioner",
som man har brug for til at skrive nyttige programmer.

Venlig hilsen

Mogens Hansen



Daniel Blankensteine~ (12-07-2002)
Kommentar
Fra : Daniel Blankensteine~


Dato : 12-07-02 22:11

"Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
news:agner1$26ps$1@news.cybercity.dk...
> Jeg plejer at anbefale
> Accelerated C++, Practical Programming by Example
> Andrew Koenig, Barbara E. Moo
> ISBN 0-201-70353-X

Jeps, den har jeg skrevet ned, da jeg fik den anbefalet herinde for noget
tid siden

> hvis man vil have en kort (336 sider, med det hele) introduktion til
moderne
> C++.
>
> F.eks. start "namespace" og "std" forklaret på side 3, "std::string" på
side
> 9.
> På side 4 står der at string literals først vil blive forklaret på side
176,
> omkring det sted hvor der også står noget om pointere og arrays.
> Disse sidetal giver dig formodentlig et indtryk af at det er en bog, hvor
> fokus ligger væsentligt anderledes end hvor mange andre bøger lægger det.
>
> Bogens størrelse gør naturligvis at hele C++ ikke kan blive beskrevet.

Ok, jeg er meget int i strings for at beskytte mine programmer mod buffer
overflows o.s.v.

> > Jeg har nemlig hørt at
> > hvis man kan de 64 (eller deromkring) grundlæggende "funktioner", så kan
> man
> > alt indenfor C++.
>
> Det er nok temmeligt optimistisk.
> Men ovennævnte bog dækker nok en god del af de grundlæggende "funktioner",
> som man har brug for til at skrive nyttige programmer.

oki, takker

mvh
db



Daniel Blankensteine~ (16-07-2002)
Kommentar
Fra : Daniel Blankensteine~


Dato : 16-07-02 19:58

"Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
news:agner1$26ps$1@news.cybercity.dk...
> F.eks. start "namespace" og "std" forklaret på side 3, "std::string" på
side
> 9.

Hov forresten, det første programmeringssprog jeg prøvet var java og der kan
jeg huske jeg arbejdet med strings, fungere strings på samme måde i C++?
Altså fx med at man kan sige string1 + string2 = string3.

mvh
db



Kent Friis (16-07-2002)
Kommentar
Fra : Kent Friis


Dato : 16-07-02 20:05

Den Tue, 16 Jul 2002 20:58:03 +0200 skrev Daniel Blankensteiner:
>"Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
>news:agner1$26ps$1@news.cybercity.dk...
>> F.eks. start "namespace" og "std" forklaret på side 3, "std::string" på
>side
>> 9.
>
>Hov forresten, det første programmeringssprog jeg prøvet var java og der kan
>jeg huske jeg arbejdet med strings, fungere strings på samme måde i C++?
>Altså fx med at man kan sige string1 + string2 = string3.

Huh? Det der ligner mere Cobol-syntax.

I C++ ville man skrive: string3 = string 1 + string 2

Mvh
Kent
--
Those who write "Optimized for Netscape" og "Best viewed with MSIE"
never figured out the difference between the WWW and a
Word Perfect 4.2 Document.

Mogens Hansen (16-07-2002)
Kommentar
Fra : Mogens Hansen


Dato : 16-07-02 20:11


"Daniel Blankensteiner" <db@traceroute.dk> wrote

> Altså fx med at man kan sige string1 + string2 = string3.

Ja (næsten):
string3 = string1 + string 3;


Venlig hilsen

Mogens Hansen



Daniel Blankensteine~ (16-07-2002)
Kommentar
Fra : Daniel Blankensteine~


Dato : 16-07-02 20:16

"Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
news:ah1qr3$n2c$1@news.cybercity.dk...
>
> "Daniel Blankensteiner" <db@traceroute.dk> wrote
>
> > Altså fx med at man kan sige string1 + string2 = string3.
>
> Ja (næsten):
> string3 = string1 + string 3;

Ja ok, det var nu heller ikke et forsøg på at lave et syntaks mæssigt
korrekt eksempel, men bare at I vidste hvad jeg snakket om og det gjorde I


mvh
db



Kent Friis (16-07-2002)
Kommentar
Fra : Kent Friis


Dato : 16-07-02 20:16

Den Tue, 16 Jul 2002 21:11:20 +0200 skrev Mogens Hansen:
>
>"Daniel Blankensteiner" <db@traceroute.dk> wrote
>
>> Altså fx med at man kan sige string1 + string2 = string3.
>
>Ja (næsten):
> string3 = string1 + string 3;

Ja (næsten):

string 3 = string 1 + string 2;

)))))


Mvh
Kent
--
Mails skrevet før 12:00 skal læses med det forbehold, at hjernen først
forventes at være færdig med at boote på det tidspunkt, og indholdet
derfor kan indeholde random data der tilfældigvis lå i den
uinitializerede cache.

Morten Boysen (12-07-2002)
Kommentar
Fra : Morten Boysen


Dato : 12-07-02 21:44

"Daniel Blankensteiner" <db@traceroute.dk> wrote in message
news:agnbmh$i6n$1@sunsite.dk...
> Jeg har også læst ovenstående bog og undre mig over det samme.
Ligeledes har
> jeg altid brugt char* og ikke strings, men måske I kan anbefale en
god bog
> der behandler std:, strings and hvad C++ består af. Jeg har nemlig
hørt at
> hvis man kan de 64 (eller deromkring) grundlæggende "funktioner", så
kan man
> alt indenfor C++.

En fremragende bog vil være:

<http://www.amazon.com/exec/obidos/ASIN/020170353X/qid=1026506186/sr=8
-1/ref=sr_8_1/102-0849945-3505766>

Angående de 64 grundlæggende funktioner, så har du enten misforstået
noget, eller personen der siger det, aner ikke hvad vedkommende
snakker om. Derudover er der en del forskel på at kunne programmere og
så kunne C++.

Programmering er et spørgsmål om tankegang, mens C++ er et spørgsmål
om syntaks og semantik. En, måske dårlig, analogi, vil være at opfatte
programmering murerhåndværket, og C++ som det specifikke værktøj, du
bruger. Bare fordi man ved, hvad mørtel er, så behøves man så sandelig
ikke være en god murer.

Det er desværre en opfattelse, at man kan lære at programmere på 21
dage eller 24 timer. Det er skudt helt hen i vejret. Lidt forsimplet
skal en gennemsnitsperson skal bruge minimum et koncentreret år, for
at kunne skrive kode, der kan bruges til noget fornuftigt. Kriteriet
for god kode er ikke alene, at det kan kompileres. Der skal meget mere
til.


--
Morten Boysen




Claus Rasmussen (12-07-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-07-02 21:49

Daniel Blankensteiner wrote:

> ... . Jeg har nemlig
> hørt at hvis man kan de 64 (eller deromkring) grundlæggende "funktioner",
> så kan man alt indenfor C++.

Mon ikke snarere det er C, der er tale om ?

-Claus


Daniel Blankensteine~ (12-07-2002)
Kommentar
Fra : Daniel Blankensteine~


Dato : 12-07-02 22:15

"Claus Rasmussen" <clr@cc-consult.dk> wrote in message
news:agnfbk$1a5$1@sunsite.dk...
> ... . Jeg har nemlig
> > hørt at hvis man kan de 64 (eller deromkring) grundlæggende
"funktioner",
> > så kan man alt indenfor C++.
>
> Mon ikke snarere det er C, der er tale om ?

Han programmere i C og da jeg spurgte om dette også gælder for c++ svarede
han ja.
Egentlig bruger jeg både C og C++. C giver mig nogle system funktion i
freebsd som jeg ikke kan undvære og C++ giver mig OOP.

mvh
db



Claus Rasmussen (12-07-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-07-02 21:07

Anders Lund wrote:

> Nu har jeg til min forbavselse set at det hedder int main og ikke void
> main.

Væn dig til det


> hvorfor std:: ? og hvornår

Det er så en anden sag...

'std::' er en namespace-dims, der fortæller at 'cout' skal findes i 'std'
namespacet. Namespaces er en "slags" moduler, som du måske kender fra andre
sprog. Du kan lave dine egne, f.eks:

namespace mit_namespace {
void f() { ... }
};

int main() {
mit_namespace::f();
}

Det er muligt at undgå at skrive 'mit_namespace::' ved at bruge et 'using'
direktiv:

namespace mit_namespace {
void f() { ... }
};

using namespace mit_namespace;

int main() {
f();
}

(using direktivet kan også stå inde i en funktion, og så gælder det
kun der)

Det er en del diskuteret, om det er god praksis at anvende 'using'
eller ej. Faktisk har der været nogle heftige flame-wars på comp.std.
c++ omkring netop dette spørgsmål: Der er dem, der mener, at man altid
skal bruge 'std::', mens andre er godt trætte af at skulle skrive 'std::'
117 millioner gange og mener, at i .c/.C/.cc/.cpp filer kan man godt
bruge 'using'.

I headerfiler (.h/.H/.hh/.hpp) er der derimod enighed om, at der skal
man altid bruge 'std::' (ellers kan man få nogle temmeligt obskure fejl).

Jeg bruger altid 'using namespace std;', men det er helt op til dig.

-Claus


Mogens Hansen (12-07-2002)
Kommentar
Fra : Mogens Hansen


Dato : 12-07-02 21:43


"Anders Lund" <webmaster@123grin.dk> wrote

[snip]
> hverten "int main" eller "std::" bliver nævnt i bogen "C++" af Kris
Jamsa,
> er det bogen der er dårlig (Det ville da være irriterende da jeg lige er
> færdig med at læse den intenst)

Se f.eks. mine tidligere kommentarer
http://groups.google.com/groups?q=%22Mogens+Hansen%22+dansk&hl=da&scoring=d&
selm=9uj6rp%242qqf%241%40news.cybercity.dk&rnum=3

Venilg hilsen

Mogens Hansen



Byrial Jensen (12-07-2002)
Kommentar
Fra : Byrial Jensen


Dato : 12-07-02 21:53

Anders Lund <webmaster@123grin.dk> skrev:
> hverten "int main" eller "std::" bliver nævnt i bogen "C++" af Kris Jamsa,
> er det bogen der er dårlig

Ja

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste