Compréhension des const [C++] - C++ - Programmation
Marsh Posté le 17-05-2004 à 21:16:00
const -> constante
*pi = 12;
pi n'est pas un pointeur
ptr2 = &y;
ptr2 est const, tu ne peux lui affecter une valeur qu'à l'initialisation
Marsh Posté le 17-05-2004 à 21:20:42
Taz a écrit : const -> constante |
Ok pour expliquer mieux il aurait dû mettre
pi=12
ou *ptr1 = 12
pour montrer que ça merde, car si pi n'est pas const, ca ne marche pas quand même...
pour la deuxième question, mon pb c'est qu'il veut mettre l'adresse d'un double dans un pointeur vers un autre type., j'avais compris pour ptr2=&y
Marsh Posté le 17-05-2004 à 21:59:26
dans ce cour j'au vu qu'il utilisait systematiquement endl, pour "forcer" l'affichage meme si c'est pas necessaire, seulement j'ai lu que utiliser endl a outrance (et donc tj flusher le stream) peut poser de grave probleme de performance
d'ailleur bjarne stroupstrup ne l'utilise pratiquement pas dans c++ third edition
Marsh Posté le 17-05-2004 à 22:20:45
dache33 a écrit : noté, mais ça ne répond pas à ma question |
en effet il y a erreur dans ce cours (de merde )
il fallait lire:
*ptr = 12 |
un peu d'imagination que diable!
Marsh Posté le 17-05-2004 à 22:23:48
si tu ve un bon cour online, je te conseil celui la
http://casteyde.christian.free.fr/ [...] book1.html
d'ailleur j'aimerais bien avoir l'avi d'autre pesonne dessus
Marsh Posté le 17-05-2004 à 22:25:47
schnapsmann a écrit : |
ok, j'avais donc bien compris...
Sinon, pour le second problème (types différents à l'affectation), il s'est planté comme une otarie bourrée à la bière aussi?
Marsh Posté le 17-05-2004 à 22:28:03
Sinon pour le document en lui-même, à part les erreurs sus-citées et celles que je n'ai pas vues, je le trouve clair, concis. Parfait pour la veille d'un partiel
Marsh Posté le 17-05-2004 à 22:28:51
dache33 a écrit : |
sans aucun doute possible
Marsh Posté le 17-05-2004 à 22:29:25
ben ca depend ce qu'il cherche a faire, mais ca semble sementiquement correcte, il affecte une adresse à un pointeur
Marsh Posté le 17-05-2004 à 22:30:35
cris56 a écrit : ben ca depend ce qu'il cherche a faire, mais ca semble sementiquement correcte, il affecte une adresse à un pointeur |
c'est bon si
typedef double Point; |
Marsh Posté le 17-05-2004 à 22:32:44
a, ben aparament Point semble etre une agregation de 2 int ??
Marsh Posté le 17-05-2004 à 22:33:33
non, c'est une classe Point definie en peu avant :
class Point {
private:
double x; // Absisse
double y; // Ordonnee
public:
etc...
Marsh Posté le 17-05-2004 à 22:34:42
bon bein c'est clair alors, ça ne compile même pas donc inutile de chercher midi à quatorze heures
Marsh Posté le 17-05-2004 à 22:36:08
oui mais il fait const Point origine(0, 0);
il faudrait alors faire const Point origine(0.0, 0.0);
sinon ya un cast, d'ailleur ca devrait balancer un waning ca
Marsh Posté le 17-05-2004 à 22:37:07
si tu ve un cour meilleur, je repete
http://casteyde.christian.free.fr/ [...] book1.html
ou achete un livre, c++ third edition est une reference
Marsh Posté le 17-05-2004 à 22:37:46
cris56 a écrit : oui mais il fait const Point origine(0, 0); |
Mais non arretes toi avec tes casts!
Tu peux tjrs en fair un, ça va compiler, mais faire n'importe quoi à l'éxécution.
Marsh Posté le 17-05-2004 à 22:43:32
attend, si tu fait double n=0; ya un cast implicite, non?
Marsh Posté le 17-05-2004 à 22:45:11
cris56 a écrit : attend, si tu fait double n=0; ya un cast implicite, non? |
bon tu pars de trop loin, j'abandonne.
désolé, a+
Marsh Posté le 17-05-2004 à 21:13:24
Voilà je suis dans les const. Je suis le support de cours d'Antoine Mahul (http://frog.isima.fr/antoine/avance.shtml).
Ya un truc qui m'echappe. Si vous pouviez m'expliquer ce serait sympa..
Voilà son explication:
le
me pose problème, sachant que pi n'est pas un pointeur, je ne vois pas ce qu'il veut faire ?!
plus loin :
Je ne comprend pas pourquoi il veut mettre l'adresse d'un double dans un pointeur de Point (Point étant une classe définie précedemment).
Merci de vos explications...