OVH Cloud OVH Cloud

Heritage et espace...

30 réponses
Avatar
Fabien LE LEZ
Bonjour,

Une question tellement con que je m'excuse d'avance de vous déranger
pour si peu... ;-)

Si je ne m'abuse, en français, on met un espace (ou une espace, ou une
espace fine, j'ai jamais bien su) avant les deux-points. Aussi,
dois-je écrire :

class MaClasse : public MaClasseDeBase

ou

class MaClasse: public MaClasseDeBase

?

Merci d'avance...

--
;-)

http://www.gotw.ca/gotw/063.htm
http://www.gotw.ca/gotw/067.htm#2

10 réponses

1 2 3
Avatar
Fabien LE LEZ
On Thu, 29 Jan 2004 17:54:44 -0500, "Michel Michaud"
wrote:

Non, pas fine. Tu as probablement vu une simplification de la vraie
règle, car le : est l'exception parmi les ponctuations doubles (il
faut effectivement une fine devant ; ! ?).


Grmbll... Vive la langue anglaise ! :-)

--
;-)

http://www.gotw.ca/gotw/063.htm
http://www.gotw.ca/gotw/067.htm#2

Avatar
Fabien LE LEZ
On Thu, 29 Jan 2004 17:55:50 -0500, "Michel Michaud"
wrote:

Mais dans un code C++, tout espace est de toutes façons insécable,


Pas pour le parser du compilateur...


Uh ? J'ai peur de ne pas bien comprendre ce qu'il vient faire
là-dedans, tu peux préciser ?
Merci d'avance...

--
;-)

http://www.gotw.ca/gotw/063.htm
http://www.gotw.ca/gotw/067.htm#2


Avatar
Michel Michaud
Dans news:, Fabien LE
On Thu, 29 Jan 2004 17:55:50 -0500, "Michel Michaud"
wrote:

Mais dans un code C++, tout espace est de toutes façons insécable,


Pas pour le parser du compilateur...


Uh ? J'ai peur de ne pas bien comprendre ce qu'il vient faire
là-dedans, tu peux préciser ?


Le compilateur détermine les tokens (je ne sais plus le terme
français) grâce aux délimiteurs et il *peut* couper à un
espace ordinaire, qui est donc sécable. Rien à voir avec les
changements de ligne ici, mais la logique des changements de
ligne des traitements de texte est presque identique : ils
« coupent » où c'est permis !

Si les caractères accentués étaient acceptés comme il se doit,
par un compilateur conforme, sur une plate-forme assez moderne,
je ne sais pas si l'espace insécable -- le caractère 160 --
serait vu comme un espace ou non... Bon... Pas de paresse ! Je
sors la norme... annexe E... et je ne trouve pas 00A0 dans les
intervalles montrés pour les caractères acceptés dans les
identificateurs. Donc... Est-ce qu'il s'agit d'un caractère
carrément illégal dans un source C++ ? J'imagine...

Dommage, ç'aurait été cool :

if (ma variable en plusieurs mots > 0)
...

Finalement je ne sais pas si cool est le bon mot !

Merci d'avance...


You're welcome.

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/



Avatar
Fabien LE LEZ
On Thu, 29 Jan 2004 21:36:29 -0500, "Michel Michaud"
wrote:

if (ma variable en plusieurs mots > 0)
...


Note que c'est un cas différent : Ajouter un espace (ou un retour à la
ligne, etc.) entre "MaClasse" et ":" ne change strictement rien pour
le compilo, tandis qu'un espace insécable à l'intérieur d'un
identifiant serait considéré comme un caractère (comme "_" par
exemple) et donc change l'identifiant.

Finalement je ne sais pas si cool est le bon mot !


Ben... Effectivement, il fait frais, c'est temps-ci...

A part ça, vivement les kanjis dans les noms de variables ! Au fait,
peut-on écrire des noms de variables verticalement ?

Merci d'avance...


You're welcome.


Rappel : fclc++ est un forum francophone ;-D

--
;-)

http://www.gotw.ca/gotw/063.htm
http://www.gotw.ca/gotw/067.htm#2


Avatar
Jean-Marc Bourguet
"Michel Michaud" writes:

Dommage, ç'aurait été cool :

if (ma variable en plusieurs mots > 0)
...

Finalement je ne sais pas si cool est le bon mot !


Avoir des identificateurs en plusieurs mots est possible si pas deux
ne peuvent se suivre ce qui serait relativement facile... s'il n'y
avait les mots cles et les operateurs.

Algol68 avait la possibilite d'identificateurs en plusieurs mots.
Formellement, les mots cles et les operateurs (qui pouvaient etre
definis par l'utilisateurs) etaient dans une fonte differente (et si
j'ai bonne memoire ne pouvait avoir plusieurs mots) et c'etait bien ce
qui etait utilise a l'impression (du gras ou du souligne). Dans les
fichiers, j'ai utilise deux techniques:

- les majuscules:

IF ma variable IN mon tableau THEN

- un point avant les mots reserves

.if ma Variable .in mon Tableau .then

et je crois qu'il y avait une qui utilisait les apostrophes

'if' ma Variable 'in' mon Tableau 'then'

La technique la plus agreable a utiliser etait celle avec les
majuscules.

A+

(Note: mon premier essai de reponse n'est apparemment pas passe, je
reessaie avec une version legerement modifiee).

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
kanze
"Michel Michaud" wrote in message
news:<ZbgSb.41765$...
Dans news:, Fabien LE
L'espace insécable (U+00A0) est invalide dans un source C++,


Même depuis que les lettres accentuées y sont valides ?


Hum... c'est une bonne question, mais il faudrait un compilateur qui
accepte les accents pour tester :-)


§2.4/2 : « Preprocessing tokens can be separated by white space; this
consists of comments, or white-space characters (space, horizontal tab,
new-line, vertical tab, and form-feed), or both. >

Les mots « white-space characters » sont en italiques ; c'est donc ici
la définition.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16



Avatar
kanze
"Michel Michaud" wrote in message
news:<RqjSb.41896$...

[...]
Dommage, ç'aurait été cool :

if (ma variable en plusieurs mots > 0)
...

Finalement je ne sais pas si cool est le bon mot !


N'est-ce pas ? J'ai hâte d'avoir un compilateur/éditeur qui traite des
UCN correctement, pour que je puisse créer des variables avec des noms
comme « Au0391u0410 ». C'est encore mieux que 0l et O1.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16

Avatar
kanze
"Michel Michaud" wrote in message
news:<WagSb.41763$...

[...]
En fait, il faudrait parler du ;, que tout le monde (?) colle sur les
instructions, mais c'est difficile de mettre une espace fine en C++...


Je suis deçu. Ça montre que tu ne régardes pas les exemples que je poste
ici.

En fait, j'ai pris l'habitude de mettre l'espace devant le ; parce que
j'ai vu d'autres qui le faisaient. Je ne suis donc pas seul.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16

Avatar
kanze
Serge Paccalin wrote in message
news:<nqprwn299has$...

Aussi, dois-je écrire :

class MaClasse : public MaClasseDeBase

ou

class MaClasse: public MaClasseDeBase

?


Le C++, ce n'est ni du français, ni de l'anglais, ni de l'allemand,
c'est... du C++. Donc, je lui applique des règles typographiques qui
lui sont propres. Il m'arrive de revenir à la ligne avant une virgule,
par exemple, ce qui serait une aberration dans un texte en français ou
en anglais. Je mets des guillemets ASCII autour de mes chaînes, et pas
les vrais guillemets français («»), etc.


C'est vrai, et si la ligne est longue, et qu'il y a plusieurs classes de
base, j'écris bien :

class MaClasseDerivee
: public MaBase1
, public MaBase2

etc.

N'empêche qu'il y a des sensibilités conditionnées par les conventions
typographiques de sa propre langue, et les allemands vont trouver
maladroit un espace où un français en trouverait étrange qu'il n'y en a
pas. De même qu'on écrit en allemand « Programmiersprache » à la place
de « langage de programmation », l'allemand risque d'écrire « f(x,y,z) »
où le français écrira « f( x, y, z ) ». (On remarque que ni l'un ni
l'autre ne correspond exactement aux règles typographiques du texte
normal.)

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16


Avatar
Gabriel Dos Reis
writes:

| "Michel Michaud" wrote in message
| news:<WagSb.41763$...
|
| [...]
| > En fait, il faudrait parler du ;, que tout le monde (?) colle sur les
| > instructions, mais c'est difficile de mettre une espace fine en C++...
^^^^
| Je suis deçu. Ça montre que tu ne régardes pas les exemples que je poste
| ici.

Le monsieur a dit « espace *fine* ». Autant que je me souvienne, tu
n'as jamais mis d'espace *fine*.

-- Gaby
1 2 3