/ 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
C++ Tutorial
Fra : Simon


Dato : 02-06-05 17:45

Jeg står her og skal til at lære noget om C++

Jeg har kigget et par tutorials igennem på internettet men syntes li'som de
sluttede "for hurtigt" inden jeg rigtig havde nå'et at komme igang var det
slut..

Så hvis nogle af jer kendte en god lang dansk tutorial ville
jeg blive meget glad hvis i lige gav et lnik til det..

...



 
 
Bertel Brander (03-06-2005)
Kommentar
Fra : Bertel Brander


Dato : 03-06-05 22:54

Simon wrote:
> Jeg står her og skal til at lære noget om C++
>
> Jeg har kigget et par tutorials igennem på internettet men syntes li'som de
> sluttede "for hurtigt" inden jeg rigtig havde nå'et at komme igang var det
> slut..
>
> Så hvis nogle af jer kendte en god lang dansk tutorial ville
> jeg blive meget glad hvis i lige gav et lnik til det..

Jeg tror at det bliver svært at finde en tutorial der gennemgår mere end
det mest simple, specielt hvis den skal være på dansk.

Det er nok bedre at finde en bog, evt. på biblioteket. Da jeg aldrig
har læst en bog om C eller C++, har jeg svært ved at anbefale nogen,
men jeg har før set denne anbefalet, også af folk der har læst mere
end en bog, og som almindeligvis ved hvad de snakker om:

http://www.acceleratedcpp.com/

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Benny Andersen (04-06-2005)
Kommentar
Fra : Benny Andersen


Dato : 04-06-05 08:32

Lidt OT:Det bedste svar som kan gives på sådanne subj gengangere er
det implicitte. (med mindre der er gået så mange år at der er fare for
at google arkiverne er tømte)

Thorsten Ottosen (08-06-2005)
Kommentar
Fra : Thorsten Ottosen


Dato : 08-06-05 14:37

"Simon" <MAXMotor2@hotmail.com> wrote in message
news:eIGne.586$iV5.210@news.get2net.dk...
| Jeg står her og skal til at lære noget om C++
|
| Jeg har kigget et par tutorials igennem på internettet men syntes li'som de
| sluttede "for hurtigt" inden jeg rigtig havde nå'et at komme igang var det
| slut..

Der er desværre en mængde dårlige tuts på nettet.

Men denne her kan jeg anbefale:

http://www.roguewave.com/support/docs/sourcepro/stdlibug/index.html

mvh

Thorsten



J. Nielsen (13-06-2005)
Kommentar
Fra : J. Nielsen


Dato : 13-06-05 19:49

Hej Simon,
hvis du kan leve med endnu en engelsk tutorial, så kan jeg anbefale
http://www.cplusplus.com/doc/tutorial/, som jeg selv har benyttet.
Mvh
Jakob


Simon wrote:
> Jeg står her og skal til at lære noget om C++
>
> Jeg har kigget et par tutorials igennem på internettet men syntes li'som de
> sluttede "for hurtigt" inden jeg rigtig havde nå'et at komme igang var det
> slut..
>
> Så hvis nogle af jer kendte en god lang dansk tutorial ville
> jeg blive meget glad hvis i lige gav et lnik til det..

Bertel Brander (13-06-2005)
Kommentar
Fra : Bertel Brander


Dato : 13-06-05 20:34

J. Nielsen wrote:
> Hej Simon,
> hvis du kan leve med endnu en engelsk tutorial, så kan jeg anbefale
> http://www.cplusplus.com/doc/tutorial/, som jeg selv har benyttet.

Hvis man ser på deres første eksempel:
#include <iostream.h>

int main ()
{
cout << "Hello World!";
return 0;
}

er der vist kun en fejl de mangler: deres main returnerer
en int.

I afsnit 5.3 gennemgår de exceptions, og har dette eksempel:
#include <iostream.h>

int main () {
char myarray[10];
try
{
for (int n=0; n<=10; n++)
{
if (n>9) throw "Out of range";
myarray[n]='z';
}
}
catch (char * str)
{
cout << "Exception: " << str << endl;
}
return 0;
}

Det er en fejl! Man kan ikke fange "Out of range"
med en char *

Der må findes bedre tutorials...

/b

roberth+news@ifi.uio~ (13-06-2005)
Kommentar
Fra : roberth+news@ifi.uio~


Dato : 13-06-05 21:37

Bertel Brander <bertel@post4.tele.dk> wrote:
| J. Nielsen wrote:
| > Hej Simon,
| > hvis du kan leve med endnu en engelsk tutorial, så kan jeg anbefale
| > http://www.cplusplus.com/doc/tutorial/, som jeg selv har benyttet.
|
| Hvis man ser på deres første eksempel:
| #include <iostream.h>
|
| int main ()
| {
| cout << "Hello World!";
| return 0;
| }
|
| er der vist kun en fejl de mangler: deres main returnerer
| en int.

Main skal returnere en int. Det eneste problemet med dette eksempel er
at det ikke er skrevet i C++. I følge standarden skal dette skrives
slik:

#include <iostream>

int main()
{
std::cout << "Hello, World!";
return 0;
}

| I afsnit 5.3 gennemgår de exceptions, og har dette eksempel:
| #include <iostream.h>
|
| int main () {
| char myarray[10];
| try
| {
| for (int n=0; n<=10; n++)
| {
| if (n>9) throw "Out of range";
| myarray[n]='z';
| }
| }
| catch (char * str)
| {
| cout << "Exception: " << str << endl;
| }
| return 0;
| }
|
| Det er en fejl! Man kan ikke fange "Out of range"
| med en char *

I tillegg:
Det heter <iostream>, std::cout og std::endl. I tillegg skal <ostream>
#includeres for å definere std::endl.

En annen sak er at:
#include <iostream>
#include <ostream>
#include <vector>

int main()
{
std::vector<char> myarray(10);
try {
for (std::vector<char>::size_type n=0; n <= 10; ++n)
myarray.at(n) = 'z';
}
catch (std::exception& s) {
std::cout << s.what() << std::endl;
}
return 0;
}

kanskje ville være et mer fornuftig som eksempel, dersom man synes noe
slikt er fornuftig.

Tutorialen er helt håpløs, idet std::string heller ikke forklares. Prøv
heller: <URL:http://home.no.net/dubjai/win32cpptut/html/>.
--
Robert Bauck Hamar

Michael Rasmussen (13-06-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 13-06-05 21:42

On Mon, 13 Jun 2005 20:37:08 +0000, roberth+news wrote:

>
> Main skal returnere en int. Det eneste problemet med dette eksempel er
> at det ikke er skrevet i C++. I følge standarden skal dette skrives
> slik:
>
> #include <iostream>
>
> int main()
> {
> std::cout << "Hello, World!";
> return 0;
> }
>
Eller ligeså korrekt

#include <iostream>
using namespace std;

int main() {
cout << "Hello, World!";
return 0;
}

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


roberth+news@ifi.uio~ (13-06-2005)
Kommentar
Fra : roberth+news@ifi.uio~


Dato : 13-06-05 22:27

Michael Rasmussen <mir@miras.org> wrote:
| On Mon, 13 Jun 2005 20:37:08 +0000, roberth+news wrote:
|
| >
| > Main skal returnere en int. Det eneste problemet med dette eksempel er
| > at det ikke er skrevet i C++. I følge standarden skal dette skrives
| > slik:
| >
| > #include <iostream>
| >
| > int main()
| > {
| > std::cout << "Hello, World!";
| > return 0;
| > }
| >
| Eller ligeså korrekt
|
| #include <iostream>
| using namespace std;
|
| int main() {
| cout << "Hello, World!";
| return 0;
| }

Men det er flere tastetrykk, samt at det drar hele std inn i det globale
navnerom. Det siste kan lett medføre navnekonflikter i større
programmer.

#include <iostream>
using std::cout;

drar bare cout i det globale rom, mens
#include <iostream>

int main()
{
using std::cout;
//...
}

bare vil dra inn navnet lokalt i main.

Hva som er mest ønsket må vurderes i hver enkelt situasjon, men jeg vil
heller anbefale nybegynnere å la være å bruke using unødvendig.
--
Robert Bauck Hamar

Michael Rasmussen (14-06-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 14-06-05 01:15

On Mon, 13 Jun 2005 21:27:07 +0000, roberth+news wrote:

> Men det er flere tastetrykk, samt at det drar hele std inn i det globale
> navnerom. Det siste kan lett medføre navnekonflikter i større
> programmer.
Alt hvad der ikke bliver benyttet, fjernes af compileren, så overskydende
fra std, der ikke anvendes, medtages ikke i det compilerede program.

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Jakob Møbjerg Niels~ (14-06-2005)
Kommentar
Fra : Jakob Møbjerg Niels~


Dato : 14-06-05 09:11

Michael Rasmussen wrote:
> Alt hvad der ikke bliver benyttet, fjernes af compileren, så overskydende
> fra std, der ikke anvendes, medtages ikke i det compilerede program.

Det hjælper stadig ikke på navnekonflikter.

--
Jakob Møbjerg Nielsen | Nordvestjysk Brass Band - http://nvbb.dk/
jakob@dataloger.dk | Vinder af Grenland Brass Festival - 1. division
http://vitz.dk/ | Vinder af DM 2004 - 2. division
| http://www.daonet.dk/DM/2004/resultater2004.pdf

Bertel Brander (13-06-2005)
Kommentar
Fra : Bertel Brander


Dato : 13-06-05 21:55

roberth+news@ifi.uio.no wrote:
> Main skal returnere en int.

I know; det kommer bag på mig at forfatteren også ved det.

Det eneste problemet med dette eksempel er
> at det ikke er skrevet i C++.

Det er heller ikke C

I følge standarden skal dette skrives
> slik:

>
> #include <iostream>
>
> int main()
> {
> std::cout << "Hello, World!";

Man bør tilføje << std::endl;

>
> | I afsnit 5.3 gennemgår de exceptions, og har dette eksempel:
> | #include <iostream.h>
> |
> | int main () {
> | char myarray[10];
> | try
> | {
> | for (int n=0; n<=10; n++)
> | {
> | if (n>9) throw "Out of range";
> | myarray[n]='z';
> | }
> | }
> | catch (char * str)
> | {
> | cout << "Exception: " << str << endl;
> | }
> | return 0;
> | }
> |
> | Det er en fejl! Man kan ikke fange "Out of range"
> | med en char *
>
> I tillegg:
> Det heter <iostream>, std::cout og std::endl. I tillegg skal <ostream>
> #includeres for å definere std::endl.

Det største problem med eksemplet er at "Out of range" er en
const char *

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

roberth+news@ifi.uio~ (13-06-2005)
Kommentar
Fra : roberth+news@ifi.uio~


Dato : 13-06-05 22:17

Bertel Brander <bertel@post4.tele.dk> wrote:
| roberth+news@ifi.uio.no wrote:
| Det eneste problemet med dette eksempel er
| > at det ikke er skrevet i C++.
|
| Det er heller ikke C

Det er det heller ingen som påstår.

| I følge standarden skal dette skrives
| > slik:
|
| >
| > #include <iostream>
| >
| > int main()
| > {
| > std::cout << "Hello, World!";
|
| Man bør tilføje << std::endl;

Eventuelt bare avslutte strengen med en \n. Men det opprinnelige
eksempel hadde ikke dette.

| > | I afsnit 5.3 gennemgår de exceptions, og har dette eksempel:
| > | #include <iostream.h>
| > |
| > | int main () {
| > | char myarray[10];
| > | try
| > | {
| > | for (int n=0; n<=10; n++)
| > | {
| > | if (n>9) throw "Out of range";
| > | myarray[n]='z';
| > | }
| > | }
| > | catch (char * str)
| > | {
| > | cout << "Exception: " << str << endl;
| > | }
| > | return 0;
| > | }
| > |
| > | Det er en fejl! Man kan ikke fange "Out of range"
| > | med en char *
| >
| > I tillegg:
| > Det heter <iostream>, std::cout og std::endl. I tillegg skal <ostream>
| > #includeres for å definere std::endl.
|
| Det største problem med eksemplet er at "Out of range" er en
| const char *

Det kommer forsåvidt an på. Dersom dette sprog tutorialen omhandler
definerer "Out of range" til å være char*, så er det største problemet
at det antydes at det er C++.
--
Robert Bauck Hamar

Per Abrahamsen (14-06-2005)
Kommentar
Fra : Per Abrahamsen


Dato : 14-06-05 12:57

roberth+news@ifi.uio.no writes:

> Main skal returnere en int. Det eneste problemet med dette eksempel er
> at det ikke er skrevet i C++.

Det er helt klart skrevet i C++. Det er ikke skrevet i ISO C++, men
C++ er mange år ældre end ISO standarden, og omfatter en langt bredere
og løserede defineret klasse af sprog.

I det meste af C++'s levetid ville den manglende "\n" være det eneste
der afholdt eksemplet fra at være et godt "hello world" program.

Fundatsen til denne nyhedsgruppe nævner i øvrigt eksplicit andre sprog
i C++ familien, såsom Visual C++.

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste