Nadine St-Amand wrote:C'est le fruit de 3 ans de cours particuliers de C++, il
s'agit du matériel didactique préparé pour mes élèves.http://cplusplus.cdoc.biz/
Juste quelques petits commentaires, vite faits.
(Je n'ai regardé
que quelque pages du chapitre 1.)
-- En C++, normalement, on écrit : « int main() », et non « int
main( void ) ». (L'utilisation de void, ici, est un hack,
rendu nécessaire pour des raisons de compatibilité avec C.)
-- Je ne veux pas être plus royaliste que le roi, mais est-ce
que l'expression « point flottant » est réelement français ?
J'aurais dit « virgule flottant ». (Mais j'ai vu d'après
l'adresse email que tu es au Canada. C'est peut-être la
cause de la différence.)
-- Plus généralement : il ne faut jamais, jamais parler des
réels quand on parle des nombres dans l'ordinateur. Ça mène
fait. (Et je sais, ce n'est pas facile à dire à un débutant,
il y a des types dont tu n'as pas le droit de t'en servir,
parce qu'il faudrait un cour entier seulement pour apprendre
à s'en servir.)
-- Je me méfie beaucoup d'un livre d'aujourd'hui qui parle
immédiatement, dans le premier chapitre, de char[] et
d'int[].
Le type chaîne de caractères, c'est std::string en
C++, et un tableau d'entiers s'écrit std::vector<int>.
Surtout dans les devoirs, dans les réponses proposées : un
prénom ou un nom ne se stocke jamais dans un « tableau
char[] ».
-- L'encodage ASCII ne fait pas partie du C++, et de toute
façon, la façon que sont encoder des caractères est un thème
Nadine St-Amand wrote:
C'est le fruit de 3 ans de cours particuliers de C++, il
s'agit du matériel didactique préparé pour mes élèves.
http://cplusplus.cdoc.biz/
Juste quelques petits commentaires, vite faits.
(Je n'ai regardé
que quelque pages du chapitre 1.)
-- En C++, normalement, on écrit : « int main() », et non « int
main( void ) ». (L'utilisation de void, ici, est un hack,
rendu nécessaire pour des raisons de compatibilité avec C.)
-- Je ne veux pas être plus royaliste que le roi, mais est-ce
que l'expression « point flottant » est réelement français ?
J'aurais dit « virgule flottant ». (Mais j'ai vu d'après
l'adresse email que tu es au Canada. C'est peut-être la
cause de la différence.)
-- Plus généralement : il ne faut jamais, jamais parler des
réels quand on parle des nombres dans l'ordinateur. Ça mène
fait. (Et je sais, ce n'est pas facile à dire à un débutant,
il y a des types dont tu n'as pas le droit de t'en servir,
parce qu'il faudrait un cour entier seulement pour apprendre
à s'en servir.)
-- Je me méfie beaucoup d'un livre d'aujourd'hui qui parle
immédiatement, dans le premier chapitre, de char[] et
d'int[].
Le type chaîne de caractères, c'est std::string en
C++, et un tableau d'entiers s'écrit std::vector<int>.
Surtout dans les devoirs, dans les réponses proposées : un
prénom ou un nom ne se stocke jamais dans un « tableau
char[] ».
-- L'encodage ASCII ne fait pas partie du C++, et de toute
façon, la façon que sont encoder des caractères est un thème
Nadine St-Amand wrote:C'est le fruit de 3 ans de cours particuliers de C++, il
s'agit du matériel didactique préparé pour mes élèves.http://cplusplus.cdoc.biz/
Juste quelques petits commentaires, vite faits.
(Je n'ai regardé
que quelque pages du chapitre 1.)
-- En C++, normalement, on écrit : « int main() », et non « int
main( void ) ». (L'utilisation de void, ici, est un hack,
rendu nécessaire pour des raisons de compatibilité avec C.)
-- Je ne veux pas être plus royaliste que le roi, mais est-ce
que l'expression « point flottant » est réelement français ?
J'aurais dit « virgule flottant ». (Mais j'ai vu d'après
l'adresse email que tu es au Canada. C'est peut-être la
cause de la différence.)
-- Plus généralement : il ne faut jamais, jamais parler des
réels quand on parle des nombres dans l'ordinateur. Ça mène
fait. (Et je sais, ce n'est pas facile à dire à un débutant,
il y a des types dont tu n'as pas le droit de t'en servir,
parce qu'il faudrait un cour entier seulement pour apprendre
à s'en servir.)
-- Je me méfie beaucoup d'un livre d'aujourd'hui qui parle
immédiatement, dans le premier chapitre, de char[] et
d'int[].
Le type chaîne de caractères, c'est std::string en
C++, et un tableau d'entiers s'écrit std::vector<int>.
Surtout dans les devoirs, dans les réponses proposées : un
prénom ou un nom ne se stocke jamais dans un « tableau
char[] ».
-- L'encodage ASCII ne fait pas partie du C++, et de toute
façon, la façon que sont encoder des caractères est un thème
* parler de template pour autre chose que le concept C++ ne
me semble pas indiqué
* c'est quoi vos conventions de nommage? Parfois en
anglais, parfois en français, parfois les identificateurs
* le tableau sur les cast est à revoir. En fait parler des
cast aussi tôt est plutôt à éviter. Donner des exemples
avec des pointeurs alors qu'ils n'ont pas été abordé, ce
n'est pas mal.
* on introduit la boucle for au milieu de la description des
tableaux,
* on voit les fonctions C de manipulation de caractères,
suivit des classes String et StringBuffer de Java et
j'abandonne.
* parler de template pour autre chose que le concept C++ ne
me semble pas indiqué
* c'est quoi vos conventions de nommage? Parfois en
anglais, parfois en français, parfois les identificateurs
* le tableau sur les cast est à revoir. En fait parler des
cast aussi tôt est plutôt à éviter. Donner des exemples
avec des pointeurs alors qu'ils n'ont pas été abordé, ce
n'est pas mal.
* on introduit la boucle for au milieu de la description des
tableaux,
* on voit les fonctions C de manipulation de caractères,
suivit des classes String et StringBuffer de Java et
j'abandonne.
* parler de template pour autre chose que le concept C++ ne
me semble pas indiqué
* c'est quoi vos conventions de nommage? Parfois en
anglais, parfois en français, parfois les identificateurs
* le tableau sur les cast est à revoir. En fait parler des
cast aussi tôt est plutôt à éviter. Donner des exemples
avec des pointeurs alors qu'ils n'ont pas été abordé, ce
n'est pas mal.
* on introduit la boucle for au milieu de la description des
tableaux,
* on voit les fonctions C de manipulation de caractères,
suivit des classes String et StringBuffer de Java et
j'abandonne.
| A mon sens, std::vector<int> est plutot le type 'chaine de caractères
| de longueur variable'
Ahem.
| A mon sens, std::vector<int> est plutot le type 'chaine de caractères
| de longueur variable'
Ahem.
| A mon sens, std::vector<int> est plutot le type 'chaine de caractères
| de longueur variable'
Ahem.
Nadine St-Amand writes:
| > | A mon sens, std::vector<int> est plutot le type 'chaine de caractères
| > | de longueur variable'
| > Ahem.
|
| std::vector<char>
Si tu vas là, ils auront des problèmes le jour ils découvriront qu'en
fait, le type chaîne de caractères c'est std::string et que, ben en
fait, il ne se comporte pas, mais pas du tout comme std::vector<char>.
À éviter.
Le type chaîne de caractères, ce n'est pas que toi ou moi decidons
qu'il est. Mais ce que la communauté perçoit comme tel. C'est
std::string et non std::vector<char>.
Nadine St-Amand <nadine@coloria.ca> writes:
| > | A mon sens, std::vector<int> est plutot le type 'chaine de caractères
| > | de longueur variable'
| > Ahem.
|
| std::vector<char>
Si tu vas là, ils auront des problèmes le jour ils découvriront qu'en
fait, le type chaîne de caractères c'est std::string et que, ben en
fait, il ne se comporte pas, mais pas du tout comme std::vector<char>.
À éviter.
Le type chaîne de caractères, ce n'est pas que toi ou moi decidons
qu'il est. Mais ce que la communauté perçoit comme tel. C'est
std::string et non std::vector<char>.
Nadine St-Amand writes:
| > | A mon sens, std::vector<int> est plutot le type 'chaine de caractères
| > | de longueur variable'
| > Ahem.
|
| std::vector<char>
Si tu vas là, ils auront des problèmes le jour ils découvriront qu'en
fait, le type chaîne de caractères c'est std::string et que, ben en
fait, il ne se comporte pas, mais pas du tout comme std::vector<char>.
À éviter.
Le type chaîne de caractères, ce n'est pas que toi ou moi decidons
qu'il est. Mais ce que la communauté perçoit comme tel. C'est
std::string et non std::vector<char>.
Andre Heinen wrote:On Thu, 23 Jun 2005 14:44:25 +0000, Nadine St-Amand
wrote:Les gens très intéressés peuvent me laisser leur adresse e-mail
Pourquoi ne pas poster un article ici même lorsque le document sera
prêt?
C'est ce qui vient d'être fait.
Je considère que le contenu de ce qui est en ligne est suffisamment mûr
car je ne l'ai pas modifié depuis plusieurs mois.
A moins que vous ne parliez de poster un contenu typique ?
Andre Heinen wrote:
On Thu, 23 Jun 2005 14:44:25 +0000, Nadine St-Amand
<nadine@coloria.ca> wrote:
Les gens très intéressés peuvent me laisser leur adresse e-mail
Pourquoi ne pas poster un article ici même lorsque le document sera
prêt?
C'est ce qui vient d'être fait.
Je considère que le contenu de ce qui est en ligne est suffisamment mûr
car je ne l'ai pas modifié depuis plusieurs mois.
A moins que vous ne parliez de poster un contenu typique ?
Andre Heinen wrote:On Thu, 23 Jun 2005 14:44:25 +0000, Nadine St-Amand
wrote:Les gens très intéressés peuvent me laisser leur adresse e-mail
Pourquoi ne pas poster un article ici même lorsque le document sera
prêt?
C'est ce qui vient d'être fait.
Je considère que le contenu de ce qui est en ligne est suffisamment mûr
car je ne l'ai pas modifié depuis plusieurs mois.
A moins que vous ne parliez de poster un contenu typique ?
Gabriel Dos Reis wrote:Des bouquins sur C++, il y en a déjà plein. Ce dont la
communauté a besoin, c'est de bons bouquins. Sans excuses :-)
Il y a même quelques très bons bouquins.
Gabriel Dos Reis wrote:
Des bouquins sur C++, il y en a déjà plein. Ce dont la
communauté a besoin, c'est de bons bouquins. Sans excuses :-)
Il y a même quelques très bons bouquins.
Gabriel Dos Reis wrote:Des bouquins sur C++, il y en a déjà plein. Ce dont la
communauté a besoin, c'est de bons bouquins. Sans excuses :-)
Il y a même quelques très bons bouquins.
Gabriel Dos Reis wrote:Nadine St-Amand writes:
Le type chaîne de caractères, ce n'est pas que toi ou moi decidons
qu'il est. Mais ce que la communauté perçoit comme tel. C'est
std::string et non std::vector<char>.
ce n'est pas faux
le type natif de base est char []
le type objet le plus utilisé est std::string
on pourrait penser à utiliser un vector<char> pour implémenter une
classe de type std::string
Gabriel Dos Reis wrote:
Nadine St-Amand <nadine@coloria.ca> writes:
Le type chaîne de caractères, ce n'est pas que toi ou moi decidons
qu'il est. Mais ce que la communauté perçoit comme tel. C'est
std::string et non std::vector<char>.
ce n'est pas faux
le type natif de base est char []
le type objet le plus utilisé est std::string
on pourrait penser à utiliser un vector<char> pour implémenter une
classe de type std::string
Gabriel Dos Reis wrote:Nadine St-Amand writes:
Le type chaîne de caractères, ce n'est pas que toi ou moi decidons
qu'il est. Mais ce que la communauté perçoit comme tel. C'est
std::string et non std::vector<char>.
ce n'est pas faux
le type natif de base est char []
le type objet le plus utilisé est std::string
on pourrait penser à utiliser un vector<char> pour implémenter une
classe de type std::string
wrote:Nadine St-Amand wrote:
-- En C++, normalement, on écrit : « int main() », et non « int
main( void ) ». (L'utilisation de void, ici, est un hack,
rendu nécessaire pour des raisons de compatibilité avec C.)
Bonne remarque,
En effet, mais le livre parle des deux langages donc je ne
peux pas me permettre d'utiliser main() qui est très illégal
en C.
De plus, le prototype détaillé
int main ( int argc, char *argv[] )
qui est compatible en C et en C++
est un petit peu surchargé pour le 'premier programme'
l'objectif est d'avoir une vue dégagée de la page pour se
concentrer sur les notions de base.
Je suppose que le seul moyen de me sortir de cette impasse est
de présenter les deux versions séparément :
int main() pour le C++
et
int main(void) pour le C
-- Je ne veux pas être plus royaliste que le roi, mais est-ce
que l'expression « point flottant » est réelement français ?
J'aurais dit « virgule flottant ». (Mais j'ai vu d'après
l'adresse email que tu es au Canada. C'est peut-être la
cause de la différence.)
Oui :)
Merci de la remarque, je n'y aurais jamais pensé seule :)
En fait, on utilise spontanément le terme anglais 'floating
point' ou 'float', autant dans les milieux anglophones que
francophones.
En fait, au Québec, comme les américains et les canadiens,
nous utilisons un point pour séparer les décimale de la partie
entière dans les nombres, alors que vous utilisez une virgule,
c'est probablement pourquoi j'ai traduit différemment de vous.
Il me faudra donc une version francaise, une version
québécoise et une version anglaise... :)
-- Plus généralement : il ne faut jamais, jamais parler des
réels quand on parle des nombres dans l'ordinateur. Ça mène
fait. (Et je sais, ce n'est pas facile à dire à un débutant,
il y a des types dont tu n'as pas le droit de t'en servir,
parce qu'il faudrait un cour entier seulement pour apprendre
à s'en servir.)
oui c'est vrai rigoureusement.
mais je ne peux pas être trop précise dans le tout premier
chapître qui devrait s'intituler 'me debrouiller pour
comprendre le premier programme de ma vie', c'est déjà assez
difficile d'expliquer à un débutant sans ces technicalités.
Le chapître sur les boucles mentionne ce fait puisque ca a une
incidence sur l'utilisation de l'opérateur ==.
À votre suggestion, j'ajouterai un commentaire plus long, une
discussion, sur le sujet
-- Je me méfie beaucoup d'un livre d'aujourd'hui qui parle
immédiatement, dans le premier chapitre, de char[] et
d'int[].
J'aime aborder la programmation avec un regard bas-niveau.
Ca permet aux élèves de tout de suite comprendre qu'ils vont
travailler avec une machine.
Un accent particulier est fait sur l'utilisation faite des
espace-mémoire car c'est le plus gros problème chez les
débutants en programmation et c'est aussi ce qui leur permet
le plus rapidement de retomber sur du tangible.
Il faut dire aussi que c'est un livre qui présente le C et le
C++ (dans l'ordre).
Il est vrai que l'approche top-down est aussi nécessaire pour
devenir un développeur complet et la section architecture sera
consacré à ce sujet et utilisera plutôt les techniques
haut-niveau pour cadrer et simplifier l'expression.Le type chaîne de caractères, c'est std::string en
C++, et un tableau d'entiers s'écrit std::vector<int>.
A mon sens, std::vector<int> est plutot le type 'chaine de
caractères de longueur variable'
et ce type ne fait pas directement partie du langage mais
d'une librairie complémentaire (la STL)
et encore une fois, le livre enseigne autant le C que le C++,
surtout dans les premières sections.
Le C++ c'est surtout le chapître sur les oo.
Il existe plusieurs manières de développer en C++,
- on peut travailler bas-niveau excepté pour l'architecture
globale du programme qui elle est basée sur les classes
- ou encore travailler de façon systématique avec les objets
du C++ autant que possible
Surtout dans les devoirs, dans les réponses proposées :
un prénom ou un nom ne se stocke jamais dans un «
tableau char[] ».
Vous avez raison, il me faut trouver des exemples plus
appropries pour représenter les chaînes de longueur constante.
-- L'encodage ASCII ne fait pas partie du C++, et de toute
façon, la façon que sont encoder des caractères est un thème
Effectivement, mais il fait partie de ce qu'un élève a besoin
ou croit avoir besoin pour écrire ses premiers programmes.
Le chapitre 1 n'est pas une introduction au C++ mais une
introduction a 'Je lis ou j'ecris mon premier programme et je
le comprend'
Si je dis à l'élève :
tu peux construire une chaîne de caractère avec un tableau de
char,
je dois lui expliquer comment assigner un caractère à cet
espace-mémoire (et toutes les façons de le faire).
Dans les bouquins de langage C, c'est toujours abordé assez
rapidement, avec la table ascii en annexe.
kanze@gabi-soft.fr wrote:
Nadine St-Amand wrote:
-- En C++, normalement, on écrit : « int main() », et non « int
main( void ) ». (L'utilisation de void, ici, est un hack,
rendu nécessaire pour des raisons de compatibilité avec C.)
Bonne remarque,
En effet, mais le livre parle des deux langages donc je ne
peux pas me permettre d'utiliser main() qui est très illégal
en C.
De plus, le prototype détaillé
int main ( int argc, char *argv[] )
qui est compatible en C et en C++
est un petit peu surchargé pour le 'premier programme'
l'objectif est d'avoir une vue dégagée de la page pour se
concentrer sur les notions de base.
Je suppose que le seul moyen de me sortir de cette impasse est
de présenter les deux versions séparément :
int main() pour le C++
et
int main(void) pour le C
-- Je ne veux pas être plus royaliste que le roi, mais est-ce
que l'expression « point flottant » est réelement français ?
J'aurais dit « virgule flottant ». (Mais j'ai vu d'après
l'adresse email que tu es au Canada. C'est peut-être la
cause de la différence.)
Oui :)
Merci de la remarque, je n'y aurais jamais pensé seule :)
En fait, on utilise spontanément le terme anglais 'floating
point' ou 'float', autant dans les milieux anglophones que
francophones.
En fait, au Québec, comme les américains et les canadiens,
nous utilisons un point pour séparer les décimale de la partie
entière dans les nombres, alors que vous utilisez une virgule,
c'est probablement pourquoi j'ai traduit différemment de vous.
Il me faudra donc une version francaise, une version
québécoise et une version anglaise... :)
-- Plus généralement : il ne faut jamais, jamais parler des
réels quand on parle des nombres dans l'ordinateur. Ça mène
fait. (Et je sais, ce n'est pas facile à dire à un débutant,
il y a des types dont tu n'as pas le droit de t'en servir,
parce qu'il faudrait un cour entier seulement pour apprendre
à s'en servir.)
oui c'est vrai rigoureusement.
mais je ne peux pas être trop précise dans le tout premier
chapître qui devrait s'intituler 'me debrouiller pour
comprendre le premier programme de ma vie', c'est déjà assez
difficile d'expliquer à un débutant sans ces technicalités.
Le chapître sur les boucles mentionne ce fait puisque ca a une
incidence sur l'utilisation de l'opérateur ==.
À votre suggestion, j'ajouterai un commentaire plus long, une
discussion, sur le sujet
-- Je me méfie beaucoup d'un livre d'aujourd'hui qui parle
immédiatement, dans le premier chapitre, de char[] et
d'int[].
J'aime aborder la programmation avec un regard bas-niveau.
Ca permet aux élèves de tout de suite comprendre qu'ils vont
travailler avec une machine.
Un accent particulier est fait sur l'utilisation faite des
espace-mémoire car c'est le plus gros problème chez les
débutants en programmation et c'est aussi ce qui leur permet
le plus rapidement de retomber sur du tangible.
Il faut dire aussi que c'est un livre qui présente le C et le
C++ (dans l'ordre).
Il est vrai que l'approche top-down est aussi nécessaire pour
devenir un développeur complet et la section architecture sera
consacré à ce sujet et utilisera plutôt les techniques
haut-niveau pour cadrer et simplifier l'expression.
Le type chaîne de caractères, c'est std::string en
C++, et un tableau d'entiers s'écrit std::vector<int>.
A mon sens, std::vector<int> est plutot le type 'chaine de
caractères de longueur variable'
et ce type ne fait pas directement partie du langage mais
d'une librairie complémentaire (la STL)
et encore une fois, le livre enseigne autant le C que le C++,
surtout dans les premières sections.
Le C++ c'est surtout le chapître sur les oo.
Il existe plusieurs manières de développer en C++,
- on peut travailler bas-niveau excepté pour l'architecture
globale du programme qui elle est basée sur les classes
- ou encore travailler de façon systématique avec les objets
du C++ autant que possible
Surtout dans les devoirs, dans les réponses proposées :
un prénom ou un nom ne se stocke jamais dans un «
tableau char[] ».
Vous avez raison, il me faut trouver des exemples plus
appropries pour représenter les chaînes de longueur constante.
-- L'encodage ASCII ne fait pas partie du C++, et de toute
façon, la façon que sont encoder des caractères est un thème
Effectivement, mais il fait partie de ce qu'un élève a besoin
ou croit avoir besoin pour écrire ses premiers programmes.
Le chapitre 1 n'est pas une introduction au C++ mais une
introduction a 'Je lis ou j'ecris mon premier programme et je
le comprend'
Si je dis à l'élève :
tu peux construire une chaîne de caractère avec un tableau de
char,
je dois lui expliquer comment assigner un caractère à cet
espace-mémoire (et toutes les façons de le faire).
Dans les bouquins de langage C, c'est toujours abordé assez
rapidement, avec la table ascii en annexe.
wrote:Nadine St-Amand wrote:
-- En C++, normalement, on écrit : « int main() », et non « int
main( void ) ». (L'utilisation de void, ici, est un hack,
rendu nécessaire pour des raisons de compatibilité avec C.)
Bonne remarque,
En effet, mais le livre parle des deux langages donc je ne
peux pas me permettre d'utiliser main() qui est très illégal
en C.
De plus, le prototype détaillé
int main ( int argc, char *argv[] )
qui est compatible en C et en C++
est un petit peu surchargé pour le 'premier programme'
l'objectif est d'avoir une vue dégagée de la page pour se
concentrer sur les notions de base.
Je suppose que le seul moyen de me sortir de cette impasse est
de présenter les deux versions séparément :
int main() pour le C++
et
int main(void) pour le C
-- Je ne veux pas être plus royaliste que le roi, mais est-ce
que l'expression « point flottant » est réelement français ?
J'aurais dit « virgule flottant ». (Mais j'ai vu d'après
l'adresse email que tu es au Canada. C'est peut-être la
cause de la différence.)
Oui :)
Merci de la remarque, je n'y aurais jamais pensé seule :)
En fait, on utilise spontanément le terme anglais 'floating
point' ou 'float', autant dans les milieux anglophones que
francophones.
En fait, au Québec, comme les américains et les canadiens,
nous utilisons un point pour séparer les décimale de la partie
entière dans les nombres, alors que vous utilisez une virgule,
c'est probablement pourquoi j'ai traduit différemment de vous.
Il me faudra donc une version francaise, une version
québécoise et une version anglaise... :)
-- Plus généralement : il ne faut jamais, jamais parler des
réels quand on parle des nombres dans l'ordinateur. Ça mène
fait. (Et je sais, ce n'est pas facile à dire à un débutant,
il y a des types dont tu n'as pas le droit de t'en servir,
parce qu'il faudrait un cour entier seulement pour apprendre
à s'en servir.)
oui c'est vrai rigoureusement.
mais je ne peux pas être trop précise dans le tout premier
chapître qui devrait s'intituler 'me debrouiller pour
comprendre le premier programme de ma vie', c'est déjà assez
difficile d'expliquer à un débutant sans ces technicalités.
Le chapître sur les boucles mentionne ce fait puisque ca a une
incidence sur l'utilisation de l'opérateur ==.
À votre suggestion, j'ajouterai un commentaire plus long, une
discussion, sur le sujet
-- Je me méfie beaucoup d'un livre d'aujourd'hui qui parle
immédiatement, dans le premier chapitre, de char[] et
d'int[].
J'aime aborder la programmation avec un regard bas-niveau.
Ca permet aux élèves de tout de suite comprendre qu'ils vont
travailler avec une machine.
Un accent particulier est fait sur l'utilisation faite des
espace-mémoire car c'est le plus gros problème chez les
débutants en programmation et c'est aussi ce qui leur permet
le plus rapidement de retomber sur du tangible.
Il faut dire aussi que c'est un livre qui présente le C et le
C++ (dans l'ordre).
Il est vrai que l'approche top-down est aussi nécessaire pour
devenir un développeur complet et la section architecture sera
consacré à ce sujet et utilisera plutôt les techniques
haut-niveau pour cadrer et simplifier l'expression.Le type chaîne de caractères, c'est std::string en
C++, et un tableau d'entiers s'écrit std::vector<int>.
A mon sens, std::vector<int> est plutot le type 'chaine de
caractères de longueur variable'
et ce type ne fait pas directement partie du langage mais
d'une librairie complémentaire (la STL)
et encore une fois, le livre enseigne autant le C que le C++,
surtout dans les premières sections.
Le C++ c'est surtout le chapître sur les oo.
Il existe plusieurs manières de développer en C++,
- on peut travailler bas-niveau excepté pour l'architecture
globale du programme qui elle est basée sur les classes
- ou encore travailler de façon systématique avec les objets
du C++ autant que possible
Surtout dans les devoirs, dans les réponses proposées :
un prénom ou un nom ne se stocke jamais dans un «
tableau char[] ».
Vous avez raison, il me faut trouver des exemples plus
appropries pour représenter les chaînes de longueur constante.
-- L'encodage ASCII ne fait pas partie du C++, et de toute
façon, la façon que sont encoder des caractères est un thème
Effectivement, mais il fait partie de ce qu'un élève a besoin
ou croit avoir besoin pour écrire ses premiers programmes.
Le chapitre 1 n'est pas une introduction au C++ mais une
introduction a 'Je lis ou j'ecris mon premier programme et je
le comprend'
Si je dis à l'élève :
tu peux construire une chaîne de caractère avec un tableau de
char,
je dois lui expliquer comment assigner un caractère à cet
espace-mémoire (et toutes les façons de le faire).
Dans les bouquins de langage C, c'est toujours abordé assez
rapidement, avec la table ascii en annexe.
On 23 Jun 2005 09:31:00 -0700, wrote:Gabriel Dos Reis wrote:Des bouquins sur C++, il y en a déjà plein. Ce dont la
communauté a besoin, c'est de bons bouquins. Sans excuses :-)
Il y a même quelques très bons bouquins.
En français? Peux-tu nous en donner quelques exemples? Je ne
sais jamais quoi conseiller aux gens.
On 23 Jun 2005 09:31:00 -0700, kanze@gabi-soft.fr wrote:
Gabriel Dos Reis wrote:
Des bouquins sur C++, il y en a déjà plein. Ce dont la
communauté a besoin, c'est de bons bouquins. Sans excuses :-)
Il y a même quelques très bons bouquins.
En français? Peux-tu nous en donner quelques exemples? Je ne
sais jamais quoi conseiller aux gens.
On 23 Jun 2005 09:31:00 -0700, wrote:Gabriel Dos Reis wrote:Des bouquins sur C++, il y en a déjà plein. Ce dont la
communauté a besoin, c'est de bons bouquins. Sans excuses :-)
Il y a même quelques très bons bouquins.
En français? Peux-tu nous en donner quelques exemples? Je ne
sais jamais quoi conseiller aux gens.
wrote:Nadine St-Amand wrote:
(Je n'ai regardé
que quelque pages du chapitre 1.)
Ce n'est pas vraiment le meilleur chapître,
il vaut mieux consulter les chapitres plus illustrés.
Puisque vous avez consulté le chapître le moins représentatif du livre,
je vous invite plutôt à consulter parmi ces sections
(qui n'ont que quelques pages chacunes) :
sur l'allocation dynamique :
http://cplusplus.cdoc.biz/download_fichier.php?f=1%205%20memoire%20dynamique%2013.pdf
sur les pointeurs avancés :
http://cplusplus.cdoc.biz/download_fichier.php?f=6%201%20pointeurs%20avance%2016.pdf
ou sur les pointeurs débutants :
http://cplusplus.cdoc.biz/download_fichier.php?f=1%203%20pointeurs%205.pdf
ou sur les recursives :
http://cplusplus.cdoc.biz/download_fichier.php?f=4%204%20recursive%2030.pdf
qui sont plus représentatifs de la technique d'enseignement dont
j'essaie en vain de faire part dans ce newsgroup.
et ce type ne fait pas directement partie du langage mais d'une
librairie complémentaire (la STL)
et encore une fois, le livre enseigne autant le C que le C++,
surtout dans les premières sections.
Le C++ c'est surtout le chapître sur les oo.
kanze@gabi-soft.fr wrote:
Nadine St-Amand wrote:
(Je n'ai regardé
que quelque pages du chapitre 1.)
Ce n'est pas vraiment le meilleur chapître,
il vaut mieux consulter les chapitres plus illustrés.
Puisque vous avez consulté le chapître le moins représentatif du livre,
je vous invite plutôt à consulter parmi ces sections
(qui n'ont que quelques pages chacunes) :
sur l'allocation dynamique :
http://cplusplus.cdoc.biz/download_fichier.php?f=1%205%20memoire%20dynamique%2013.pdf
sur les pointeurs avancés :
http://cplusplus.cdoc.biz/download_fichier.php?f=6%201%20pointeurs%20avance%2016.pdf
ou sur les pointeurs débutants :
http://cplusplus.cdoc.biz/download_fichier.php?f=1%203%20pointeurs%205.pdf
ou sur les recursives :
http://cplusplus.cdoc.biz/download_fichier.php?f=4%204%20recursive%2030.pdf
qui sont plus représentatifs de la technique d'enseignement dont
j'essaie en vain de faire part dans ce newsgroup.
et ce type ne fait pas directement partie du langage mais d'une
librairie complémentaire (la STL)
et encore une fois, le livre enseigne autant le C que le C++,
surtout dans les premières sections.
Le C++ c'est surtout le chapître sur les oo.
wrote:Nadine St-Amand wrote:
(Je n'ai regardé
que quelque pages du chapitre 1.)
Ce n'est pas vraiment le meilleur chapître,
il vaut mieux consulter les chapitres plus illustrés.
Puisque vous avez consulté le chapître le moins représentatif du livre,
je vous invite plutôt à consulter parmi ces sections
(qui n'ont que quelques pages chacunes) :
sur l'allocation dynamique :
http://cplusplus.cdoc.biz/download_fichier.php?f=1%205%20memoire%20dynamique%2013.pdf
sur les pointeurs avancés :
http://cplusplus.cdoc.biz/download_fichier.php?f=6%201%20pointeurs%20avance%2016.pdf
ou sur les pointeurs débutants :
http://cplusplus.cdoc.biz/download_fichier.php?f=1%203%20pointeurs%205.pdf
ou sur les recursives :
http://cplusplus.cdoc.biz/download_fichier.php?f=4%204%20recursive%2030.pdf
qui sont plus représentatifs de la technique d'enseignement dont
j'essaie en vain de faire part dans ce newsgroup.
et ce type ne fait pas directement partie du langage mais d'une
librairie complémentaire (la STL)
et encore une fois, le livre enseigne autant le C que le C++,
surtout dans les premières sections.
Le C++ c'est surtout le chapître sur les oo.