C++ => Pointeurs - C++ - Programmation
Marsh Posté le 29-01-2005 à 21:38:00
dégage donc les char[] = "machin", et utilise std::string
Marsh Posté le 29-01-2005 à 21:41:40
lol ok Soit pas trop violent j'ai commencé le C++ cet aprem et je ne suis qu a la page 150 / 1300... j'ai enormement a apprendre...
Pourquoi me conseille tu cette methode ?
Marsh Posté le 29-01-2005 à 21:41:55
en plus y'a plein de trucs faux :
Code :
|
l'opérateur "&" ne doit pas être utilisé, car name est déjà un pointeur.
en plus, pourquoi ces 2 pointeurs ne pointent pas vers un char ? pourquoi pname pointe vers un int ?
Marsh Posté le 29-01-2005 à 21:43:03
shrito a écrit : lol ok Soit pas trop violent j'ai commencé le C++ cet aprem et je ne suis qu a la page 150 / 1300... j'ai enormement a apprendre... |
parce que les chaines de caractères sous forme de char[], c'est du C, pas du C++.
en C++, les chaines de caractères sont représentées par la classe string (#include <string> )
Marsh Posté le 29-01-2005 à 21:47:22
lol j'ai du acheter un bouquin en bois (il a un an) Visual C++ 6 spo bien ce truc ?
Marsh Posté le 29-01-2005 à 21:50:07
shrito a écrit : lol j'ai du acheter un bouquin en bois (il a un an) Visual C++ 6 spo bien ce truc ? |
euh, pas vraiment non.... le compilateur de Visual C++ version 6 est une catastrophe buggée de partout et ne respectant aucun standard.
ce qui n'est absolument pas le cas de celui de Visual C++ 7 (VC++ 2003) qui est très stable, et certainement un de ceux, si ce n'est celui, qui respecte le plus le standard.
c'est quoi le bouquin que tu as acheté ?
Marsh Posté le 29-01-2005 à 21:51:41
un bouquin EYROLLES Visual C++ 6 (Eyrolles que je pensais serieux ???)
Tu me conseille de laisser tomber ce truc ?
Si oui que me conseille tu comme boquin ?
Ou alors mieux vaut il bosser le C ???
Marsh Posté le 29-01-2005 à 21:58:16
shrito a écrit : un bouquin EYROLLES Visual C++ 6 (Eyrolles que je pensais serieux ???) |
généralement ils le sont
faut dire aussi que le compilo sur lequel le bouquin repose n'est pas top non plus
shrito a écrit : |
si dans le bouquin ils utilisent ces trucs :
- chaines de caractères sous forme de tableaux de char au lieu de string,
- fflush(stdin)
- gets (au lieu de fgets)
- ...
tu peux passer ton chemin, le bouquin est moisi.
shrito a écrit : |
le bouquin écrit par l'auteur du langage :
http://www.eyrolles.com/Informatiq [...] te=devasso
sinon, sur le net, y'a des cours pas mal, comme celui de Christian Casteyde:
http://www.developpez.com/c/megacours/book1.html
Marsh Posté le 29-01-2005 à 23:26:38
En général, surtout en C++, il faut se méfier des bouquins qui mélanges le C++ et la programmation C++ avec un IDE particulier. Ce sont 2 choses distinctes.
Marsh Posté le 30-01-2005 à 10:15:45
Harkonnen a écrit : |
Pour débuter, non.
Citation : |
Oui, et aussi (en anglais) l'excellent "Thinking in C++".
Sinon le Delannoy est très correct.
Marsh Posté le 31-01-2005 à 12:19:01
Le langage C++ de chez deitel & deitel est pas mal aussi pour apprendre le C++, de plus on y apprends l'UML
Marsh Posté le 29-01-2005 à 21:35:05
Salut a tous...
J'ai un petit probleme avec l utilisation des pointeurs. Voila le (tout petit) script
// Pointeur
#include <iostream>
using namespace std;
int main()
{
long* pname = NULL;
char name[]="SoMiT";
char surname[]="SoLiD";
pname= &name;
*pname=surname;
cout << dec << name << hex << name;
}
Et voici l erreur retourné
C:\Program Files\Microsoft Visual Studio\MyProjects\Memoire\Memoire.cpp(11) : error C2440: '=' : cannot convert from 'char (*)[6]' to 'long *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\Memoire\Memoire.cpp(12) : error C2440: '=' : cannot convert from 'char [6]' to 'long'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\Memoire\Memoire.cpp(14) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Pourriez vous m expliquer pourquoi ca ne marche pas ???
Le but etant de remplacer la valeur d'un emplacement memoire par la valeur d un autre
Merci d avance