livre/site pour apprendre le C/C++

livre/site pour apprendre le C/C++ - C++ - Programmation

Marsh Posté le 29-03-2008 à 20:35:53    

Bonjour, je chercherais un livre ou un site pour apprendre à programmer en C/C++, je suis completement débutant dans ce domaine.
 
Merci de m'aiguiller.

Reply

Marsh Posté le 29-03-2008 à 20:35:53   

Reply

Marsh Posté le 29-03-2008 à 20:51:16    

épinglé en tete de liste des topics : bibliolinks


---------------
Töp of the plöp
Reply

Marsh Posté le 29-03-2008 à 20:57:54    

Reply

Marsh Posté le 29-03-2008 à 21:05:15    

C'est pas super sérieux, y'a pas de notions fondamentales expliquées dans ce bouquin, il vaut mieux un bouquin de fond, et non pas de surface comme celui ci, qui n'est utile que ponctuellement.


---------------
Töp of the plöp
Reply

Marsh Posté le 29-03-2008 à 21:06:56    

_darkalt3_ a écrit :

C'est pas super sérieux, y'a pas de notions fondamentales expliquées dans ce bouquin, il vaut mieux un bouquin de fond, et non pas de surface comme celui ci, qui n'est utile que ponctuellement.


 
OPk et tu me conseillerais qoii ?
 
La bibliolink possede beaucoup de liens morts c pas terrible...
 
Merci

Reply

Marsh Posté le 29-03-2008 à 21:08:26    

Le c/c++ n'existe pas.

 

En C : le k&r (google).
En C++ : Stroutrup et/ou Charbonnel.

 

Avec ça t'es peinard pour commencer sérieusement.


Message édité par _darkalt3_ le 29-03-2008 à 21:08:37

---------------
Töp of the plöp
Reply

Marsh Posté le 29-03-2008 à 21:13:22    

OK, tu me conseille de commencer par le C ?
En fait je soiuhaite surtout faire du C++, faut-il nécessairement commencer par le C ?
 
Merci

Reply

Marsh Posté le 29-03-2008 à 21:23:47    

c'est ca le K&R
 
http://www.amazon.fr/langage-C-Nor [...] 752&sr=8-1  
 
?
 
Il ne fait que 250 pages...

Reply

Marsh Posté le 29-03-2008 à 21:34:09    

DarkNeo2 a écrit :

OK, tu me conseille de commencer par le C ?
En fait je soiuhaite surtout faire du C++, faut-il nécessairement commencer par le C ?
 
Merci


Non


---------------
Töp of the plöp
Reply

Marsh Posté le 29-03-2008 à 21:34:54    

DarkNeo2 a écrit :

c'est ca le K&R
 
http://www.amazon.fr/langage-C-Nor [...] 752&sr=8-1  
 
?
 
Il ne fait que 250 pages...


Oui.
 
La force d'un Jedi ne se mesure pas à sa taille.


---------------
Töp of the plöp
Reply

Marsh Posté le 29-03-2008 à 21:34:54   

Reply

Marsh Posté le 29-03-2008 à 21:38:52    

_darkalt3_ a écrit :


Oui.
 
La force d'un Jedi ne se mesure pas à sa taille.


 
 
C'est vrai.
 
Sinon tu me conseille de quand même passer par le C ou pas ?
Je sais je pose peut êter des questions débiles, mais il faut un début à tout...
 
Merci

Reply

Marsh Posté le 29-03-2008 à 21:41:42    

onpeut survivre en C++ sans le C, c'est une question d ephilosophie.

Reply

Marsh Posté le 29-03-2008 à 21:49:08    

Joel F a écrit :

onpeut survivre en C++ sans le C, c'est une question d ephilosophie.


 
Mais tu me conseille de faire du C avant ou pas ?
 
Merci

Reply

Marsh Posté le 29-03-2008 à 21:52:35    

personnellement mes cours de C++ se font sans connaissance du C car il déforme plus qu'il ne forme. Malgré leur nom proche, C et C++ sont très différents.

Reply

Marsh Posté le 29-03-2008 à 22:32:07    

+1, on peut tout à fait apprendre c++ sans avoir fait de c avant.


---------------
Töp of the plöp
Reply

Marsh Posté le 30-03-2008 à 05:23:08    

En plus apprendre le C pour ensuite faire du C++ c'est le meilleur moyen pour faire du C orienté objet plutôt que du C++. On garde les vieilles habitudes parcequ'elles fonctionnent aussi.


---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 30-03-2008 à 10:41:40    

jamais ... apprendre le C c'est s'empêtrer à expliquer les pointeurs les alloc mémoires alors que tu peut direct embrayer sur l'objet ... Très peu pour moi. J'ai arrêté de faire C->C++ au regard des résultats catastrophiques des étudiants.  
 
Tu démarres en présentant string et vector comme des types natifs, tu fais qqs heures sur les bases (flux, références etc) puis tu embraye sur l'objet. La notion de mémoire & de pointeurs n'arrivent qu'au moment opportun : la gestion du polymorphisme.

Reply

Marsh Posté le 30-03-2008 à 12:06:54    

OK, en ce ui concerne les livres en C++, les deux cités plus haut sont d'apres les critiques pas des livres destinés aux débutants.
 
Je n'y connais rien du tout.
 
N'y a t-il pas un livre qui reprends les bases ?

Reply

Marsh Posté le 30-03-2008 à 12:45:15    

Ces livres vont t'apprendre correctement la base, aucun doute à avoir là dessus.
 
En tant que débutant, tu auras au moins les bonnes références, justement.


---------------
Töp of the plöp
Reply

Marsh Posté le 30-03-2008 à 19:30:03    

_darkalt3_ a écrit :

Ces livres vont t'apprendre correctement la base, aucun doute à avoir là dessus.
 
En tant que débutant, tu auras au moins les bonnes références, justement.


 
OK, je vais les prendre.
 
Merci

Reply

Marsh Posté le 30-03-2008 à 19:37:24    

Joel F a écrit :

jamais ... apprendre le C c'est s'empêtrer à expliquer les pointeurs les alloc mémoires alors que tu peut direct embrayer sur l'objet ... Très peu pour moi. J'ai arrêté de faire C->C++ au regard des résultats catastrophiques des étudiants.  
 
Tu démarres en présentant string et vector comme des types natifs, tu fais qqs heures sur les bases (flux, références etc) puis tu embraye sur l'objet. La notion de mémoire & de pointeurs n'arrivent qu'au moment opportun : la gestion du polymorphisme.


 
int nombre=100;
int tableau[nombre];
et là c'est le drame avec vc++

Reply

Marsh Posté le 30-03-2008 à 19:43:17    

C'est normal, c'est du C99 les VLA. Meme sur les compilateurs les plus recents ce n'est pas (ou mal) supporte, en plus d'etre une heresie (pas moyen de choper un probleme d'allocation memoire).

Reply

Marsh Posté le 30-03-2008 à 19:49:35    

GrosBocdel a écrit :


 
int nombre=100;
int tableau[nombre];
et là c'est le drame avec vc++


 
ou ais je parlé de VLA ??
 

Code :
  1. int nombre = 100;
  2. vector a(nombre);


 
Quand on ne sait pas on se tait.
 
Et pusi VC++, en 3 lettres : L o L

Reply

Marsh Posté le 30-03-2008 à 19:50:57    

C'est quoi VLA? :/
Bon sinon admettons, mais la manip que j'ai décrite, on peut avoir envie de la faire, je dirais légitimement. On est quand même bien obligés de les mettre là, les pointeurs, du coup(exemple : lecture d'un fichier binaire à n champs avec n écrit dans le fichier)

Reply

Marsh Posté le 30-03-2008 à 19:52:40    

non, on mets aps de pointeur, on fait un vector. Tu as lu ce que j'ai écris ou bien ?

Reply

Marsh Posté le 30-03-2008 à 19:53:30    

Joel F a écrit :


 
ou ais je parlé de VLA ??
 

Code :
  1. int nombre = 100;
  2. vector a(nombre);


 
Quand on ne sait pas on se tait.
 
Et pusi VC++, en 3 lettres : L o L


 
oui, bah oui, mais l'informatique on peut aussi en avoir besoin pour dans 3 heures parce qu'un patron obtiendra ta tête si c'est pas fait à temps.
et VC++ bah oui, mais on me l'a demandé pour cause d'allergie à linux

Reply

Marsh Posté le 30-03-2008 à 19:55:10    

-> vector c la base de la base :|
-> lol & mingw c 'est pour les cul terreux ?

Reply

Marsh Posté le 30-03-2008 à 19:59:52    

Joel F a écrit :

-> vector c la base de la base :|
-> lol & mingw c 'est pour les cul terreux ?


 
Dans une entreprise ya des partenariats commerciaux.
C'est pas de gaieté de coeur d'utiliser vc++ hein


Message édité par GrosBocdel le 30-03-2008 à 20:01:00
Reply

Marsh Posté le 30-03-2008 à 20:01:29    

ok pour la 2 ... reste le point 1.
Et être industriel n'empêche pas d'avoir 2 francs de jugeotte ...

Reply

Marsh Posté le 30-03-2008 à 20:06:45    

     fstream file (nom, ios::in | ios::binary);
      file.seekg (0, ios::end);
      file.read(???????????????????)
 
 :D
je sais je suis une brêle  :D

Reply

Marsh Posté le 30-03-2008 à 20:17:10    

http://cplusplus.com/ or GTFO :o

 
Code :
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. using namespace std;
  5. int main()
  6. {
  7.   int length;
  8.   vector<unsigned char> buffer;
  9.   ifstream is;
  10.   is.open ("test.dat", ios::binary );
  11.   // get length of file:
  12.   is.seekg (0, ios::end);
  13.   length = is.tellg();
  14.   is.seekg (0, ios::beg);
  15.   // allocate memory:
  16.   buffer.resize(length);
  17.   // read data as a block:
  18.   is.read (&buffer[0],length);
  19.   return 0;
  20. }

Message cité 1 fois
Message édité par Joel F le 30-03-2008 à 20:17:56
Reply

Marsh Posté le 30-03-2008 à 20:17:39    

getline [:cerveau sadnoir]
 
Oops, binary. [:dawao]


Message édité par Elmoricq le 30-03-2008 à 20:18:07
Reply

Marsh Posté le 30-03-2008 à 20:18:27    

getline en mode binaire, j'y crois pas 1 pico seconde

Reply

Marsh Posté le 30-03-2008 à 20:19:09    

J'ai edite avant que tu ne postes. [:klem3i1]

Reply

Marsh Posté le 30-03-2008 à 20:20:31    

Joel F a écrit :

http://cplusplus.com/ or GTFO :o
 

Code :
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. using namespace std;
  5. int main()
  6. {
  7.   int length;
  8.   vector<unsigned char> buffer;
  9.   ifstream is;
  10.   is.open ("test.dat", ios::binary );
  11.   // get length of file:
  12.   is.seekg (0, ios::end);
  13.   length = is.tellg();
  14.   is.seekg (0, ios::beg);
  15.   // allocate memory:
  16.   buffer.resize(length);
  17.   // read data as a block:
  18.   is.read (&buffer[0],length);
  19.   return 0;
  20. }



 
Tu vois je t'avais dit d'utiliser un vecteur!  :D

Reply

Marsh Posté le 30-03-2008 à 20:44:38    

hors topic les experts :o


Message édité par _darkalt3_ le 30-03-2008 à 20:44:57

---------------
Töp of the plöp
Reply

Marsh Posté le 30-03-2008 à 21:37:54    

Joel F a écrit :

ok pour la 2 ... reste le point 1.
Et être industriel n'empêche pas d'avoir 2 francs de jugeotte ...


C'est quoi le problème avec VC++ exactement ?

Reply

Marsh Posté le 30-03-2008 à 21:50:05    

VC est tout sauf standard compliant, ne supporte pas des trucs triviaux comme l'ADL des opérateurs et certains idiomes templates. Ah et son math.h est incomplet. le 6 est le pire suivi du 2005. Seul el 2008 est à demi decent.  
 
Je parle ofc du compilo, l'IDE est un chef d'oeuvre par contre

Reply

Marsh Posté le 30-03-2008 à 21:56:38    

Joel F a écrit :

VC est tout sauf standard compliant, ne supporte pas des trucs triviaux comme l'ADL des opérateurs et certains idiomes templates. Ah et son math.h est incomplet. le 6 est le pire suivi du 2005. Seul el 2008 est à demi decent.  
 
Je parle ofc du compilo, l'IDE est un chef d'oeuvre par contre


On est d'accord :) C'est d'ailleurs dommage que d'autres IDE alternatifs (eclipse et autres) ne  soient pas aussi conviviaux que Visual C++.

Reply

Marsh Posté le 31-03-2008 à 19:22:52    

j'ai rien compris à votre discussion.
Ptain vivement l'année prochaine...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed