OVH Cloud OVH Cloud

Ou apprendre le C++???

57 réponses
Avatar
nemrod2100
Bonjour Je desire apprendre le C++ je connais le C et Java .
Es ce que quelqu'un pourrait il m'indiquer par exemple un bon ouvrage a
acheter ou un bon site web avec Tutoriel.
En vous remerciant a l'avance
Cordialement

10 réponses

1 2 3 4 5
Avatar
Fabien LE LEZ
On Mon, 7 Jun 2004 11:10:55 +0200, "K. Ahausse"
wrote:

Mais, quelque chose me chiffonne, les pointeurs et les tableaux existent en
C++, alors pourquoi en masquer l'existence.


Même réponse que d'habitude : il ne s'agit pas d'en masquer
l'existence. Le problème est qu'il s'agit d'une notion complexe, et
peu utile à un débutant. Donc, étudier ce genre de choses dans les
premiers chapitres ne me paraît pas une bonne stratégie.

De plus, pour moi, l'utilisation de vector devient vite illisible.


Uh ?

--
;-)
FLL, Epagneul Breton

Avatar
Socrate
Loïc Joly Wrote


Socrate wrote:

bonjours,
je souhaite aprendre aussi le c++
mais je ne connait aucun autre language (j'ai 16ans)

j'ai acheté le livre de bjarne stroustrup mais j'ai un peu de mal a bien
commencer


C'est normal.

existe-il un libre assez simple (en Fr) qui serait une introduction à la
programmation en C++ ?


Hélàs, je n'en connais pas. Pour l'instant, mon préféré pour ce genre de
situations est Accelerated C++, mais il n'existe qu'en anglais.
Maintenant, l'anglais technique n'est pas le plus difficile qui soit à
lire.


--
Loïc


ok
merci bcp
je vais essayer de trouver Accelerated C++

nicolas


Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

On Mon, 7 Jun 2004 11:10:55 +0200, "K. Ahausse"
wrote:

Mais, quelque chose me chiffonne, les pointeurs et les tableaux existent
en


C++, alors pourquoi en masquer l'existence.


Même réponse que d'habitude : il ne s'agit pas d'en masquer
l'existence. Le problème est qu'il s'agit d'une notion complexe,


Mais pas tant que ça, voyons !

et
peu utile à un débutant.


Il y a ici plein de gens qui ont débuté avec pas d'autre choix,
et ils ne sont pas morts.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France


Avatar
drkm
"Alain Naigeon" writes:

"Fabien LE LEZ" a écrit dans le message news:


On Mon, 7 Jun 2004 11:10:55 +0200, "K. Ahausse"
wrote:

Mais, quelque chose me chiffonne, les pointeurs et les tableaux existent
en


C++, alors pourquoi en masquer l'existence.




Mais pourquoi codes-tu en C++, si ce n'est pour masquer la complexité
d'exprimer les mêmes concepts en assembleur ?

Même réponse que d'habitude : il ne s'agit pas d'en masquer
l'existence. Le problème est qu'il s'agit d'une notion complexe,


Mais pas tant que ça, voyons !


Bien sûr. Il suffit de faire une recherche sur fr.comp.lang.c++ et
fr.comp.lang.c pour s'en rendre compte ... Ahem.

J'ai eu l'occasion de suivre un cours de C, il n'y a pas longtemps,
avec des gens en ayant déjà (un peu) fait. Mais les pointeurs, hou là
là. Il suffit de dire « arithmétique des pointeurs » pour 1) vider la
pièce et 2) être qualifié de grand gourou (y compris par les profs).

et
peu utile à un débutant.


Il y a ici plein de gens qui ont débuté avec pas d'autre choix,
et ils ne sont pas morts.


Mouais. À part la mort, il y a peu de choses que l'on peut
qualifier de négatives, avec ce raisonnement. Il y a plein de gens
torturés qui n'en sont pas mort ...

Mais pour revenir à la discussion : si tu as besoin de std::vector,
new t'est de peu d'utilité.

--dkrm



Avatar
Alain Naigeon
"drkm" a écrit dans le message news:


Mais pour revenir à la discussion : si tu as besoin de std::vector,
new t'est de peu d'utilité.


Alors là, mon oeil, utiliser un container qui garde des
pointeurs sans avoir jamais utilisé new, c'est bizare.
La preuve, il y eu plusieurs débutants ici qui se perdaient
en confondant l'allocation et l'initialisation d'un pointeur sur
un int avec alloc et init de cet int lui-même. C'est avec
les pointeurs qu'on se coltine ce problème, c'est en se
trompant qu'on apprend, et je me vois mal utiliser une
classe qui garde des pointeurs sans savoir ce qu'est un pointeur.
Dis Monsieur, quand le container il est mort, j'ai encore le
droit d'utiliser mes objets ? Oui ?!! Ah bon !! Et comment c'est
possible ça ? Et tu lui expliques comment ? Ah bon, c'est vrai,
ce n'est qu'un débutant, il n'a donc pas besoin d'explication,
et donc il le restera.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France

Avatar
Fabien LE LEZ
On Tue, 8 Jun 2004 00:24:54 +0200, "Alain Naigeon"
wrote:

Alors là, mon oeil, utiliser un container qui garde des
pointeurs


Là, tu es déjà au moins au Chapitre 2. Evidemment, si tu veux stocker
des pointeurs, il faut savoir ce que c'est et d'où ils sortent.
Dans un Chapitre 1, et dans la vie courante[*], je me contente de
stocker des objets.


[*] J'utilise assez peu le polymorphisme d'héritage

sans avoir jamais utilisé new, c'est bizare.
[...]
Dis Monsieur, quand le container il est mort, j'ai encore le
droit d'utiliser mes objets ? Oui ?!! Ah bon !!



--
;-)
FLL, Epagneul Breton

Avatar
Fabien LE LEZ
On Tue, 08 Jun 2004 00:08:11 +0200, drkm
wrote:

J'ai eu l'occasion de suivre un cours de C, il n'y a pas longtemps,
avec des gens en ayant déjà (un peu) fait. Mais les pointeurs, hou là
là. Il suffit de dire « arithmétique des pointeurs » pour 1) vider la
pièce et 2) être qualifié de grand gourou (y compris par les profs).


Et encore, la gestion des pointeurs en C, c'est plus simple qu'en C++,
puisqu'il n'y a pas d'exceptions. De même, l'arithmétique des
pointeurs en C est nettement plus simple qu'en C++, puisqu'il n'y a
pas d'héritage.

--
;-)
FLL, Epagneul Breton

Avatar
Fabien LE LEZ
On Mon, 7 Jun 2004 23:05:52 +0200, "Alain Naigeon"
wrote:

Même réponse que d'habitude : il ne s'agit pas d'en masquer
l'existence. Le problème est qu'il s'agit d'une notion complexe,


Mais pas tant que ça, voyons !


Pour un débutant complet (i.e. quelqu'un qui ne connaît pas encore
vector<> et string), si.

et peu utile à un débutant.


Il y a ici plein de gens qui ont débuté avec pas d'autre choix,
et ils ne sont pas morts.


Sans doute. Ça a même été mon cas, c'est pour ça que je parle en
connaissance de cause.
Il est _possible_ d'apprendre le C++ par de mauvaises méthodes, ça
prend plus de temps, c'est tout.

--
;-)
FLL, Epagneul Breton


Avatar
drkm
"Alain Naigeon" writes:

"drkm" a écrit dans le message news:


Mais pour revenir à la discussion : si tu as besoin de std::vector,
new t'est de peu d'utilité.


Alors là, mon oeil, utiliser un container qui garde des
pointeurs


Quel est le rapport ?

sans avoir jamais utilisé new, c'est bizare.


Évidemment.

La preuve, il y eu plusieurs débutants ici qui se perdaient
en confondant l'allocation et l'initialisation d'un pointeur sur
un int avec alloc et init de cet int lui-même.


La preuve ? De quoi ?

C'est avec
les pointeurs qu'on se coltine ce problème, c'est en se
trompant qu'on apprend, et je me vois mal utiliser une
classe qui garde des pointeurs sans savoir ce qu'est un pointeur.


Si par « qui garde des pointeurs », tu veux dire qui en utilise,
comme std::vector pour stocker ses éléments, alors je ne suis pas du
tout d'accord (je ne te suis d'ailleurs pas du tout). Si tu veux dire
qu'elle stocke pour toi des pointeurs, comme le ferait un
sd::vector< T * >, alors bien sûr, je te vois mal utiliser des
pointeurs sans savoir ce qu'est un pointeur.

Mais, là, c'est toi qui utilise les pointeurs, et que tu utilises
std::vector n'y change rien. Mais cela n'a que peu à voir avec le
propos ci-dessus : « si tu as besoin de std::vector, new t'est de peu
d'utilité ».

Dis Monsieur, quand le container il est mort, j'ai encore le
droit d'utiliser mes objets ? Oui ?!! Ah bon !! Et comment c'est
possible ça ? Et tu lui expliques comment ? Ah bon, c'est vrai,
ce n'est qu'un débutant, il n'a donc pas besoin d'explication,
et donc il le restera.


Ahem.

--drkm


Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

On Mon, 7 Jun 2004 23:05:52 +0200, "Alain Naigeon"
wrote:

Même réponse que d'habitude : il ne s'agit pas d'en masquer
l'existence. Le problème est qu'il s'agit d'une notion complexe,


Mais pas tant que ça, voyons !


Pour un débutant complet (i.e. quelqu'un qui ne connaît pas encore
vector<> et string), si.


Oh mais c'est énorme !! Des générations entières ont "digéré"
les pointeurs avnt l'existence de vector et string ; je dirais même
plus, ont utilisé les pointeurs pour se faire de telles classes,
exercices figurant en bonne place, c'est à dire pas du tout
en fin d'ouvrage, chez le Maître et quelques centimaîtres.

D'autre part, la distinction entre le passage d'argument par valeur
ou par adresse existe depuis la nuit des temps, et je ne vois pas
comment expliquer cela (ou une référence) sans donner la notion
de pointeur. Ou alors par effet papillon, téléportation, magie noire,
inégalité de Bell ?? Bon, je sais, on est dans la civilisation
presse-bouton,
alors voilà, c'est magique, et on t'expliquera plus tard... Là je me rebiffe
!

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France



1 2 3 4 5