"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Antoine
Antoine Leca
Le 04/06/2009 12:36, candide écrivit :
Pierre Maurette a écrit :
Effectivement, j'aurais dû écrire "foo est concerné par le qualifieur (hum) de type const"
Qu'est-ce que c'est que ce charabia ? "foo est concerné" non mais ! et pourquoi pas aussi "foo est interpelé" ou "foo a une âme" ?
"de type const" : vraiment n'importe quoi, const n'est pas un type.
Effectivement : en l'occurence, «de type» est un complément de l'adjectif substantivé «qualifieur» (je préfère qualificatif), tandis que const est son nom. Donc const est un «qualifieur».
En anglais, l'expression est "the type qualifier /const/".
Antoine
Le 04/06/2009 12:36, candide écrivit :
Pierre Maurette a écrit :
Effectivement, j'aurais dû écrire "foo est concerné par le qualifieur
(hum) de type const"
Qu'est-ce que c'est que ce charabia ? "foo est concerné" non mais ! et pourquoi
pas aussi "foo est interpelé" ou "foo a une âme" ?
"de type const" : vraiment n'importe quoi, const n'est pas un type.
Effectivement : en l'occurence, «de type» est un complément de
l'adjectif substantivé «qualifieur» (je préfère qualificatif), tandis
que const est son nom. Donc const est un «qualifieur».
En anglais, l'expression est "the type qualifier /const/".
Effectivement, j'aurais dû écrire "foo est concerné par le qualifieur (hum) de type const"
Qu'est-ce que c'est que ce charabia ? "foo est concerné" non mais ! et pourquoi pas aussi "foo est interpelé" ou "foo a une âme" ?
"de type const" : vraiment n'importe quoi, const n'est pas un type.
Effectivement : en l'occurence, «de type» est un complément de l'adjectif substantivé «qualifieur» (je préfère qualificatif), tandis que const est son nom. Donc const est un «qualifieur».
En anglais, l'expression est "the type qualifier /const/".
Antoine
Pierre Maurette
Antoine Leca, le 04/06/2009 a écrit :
Le 04/06/2009 8:23, Pierre Maurette écrivit :
"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Oui, sans doute. En fait, ce que je vois derrière const et volatile (et restrict), c'est une idée de surcharge. En gros, un /int const/ est un /int/. Alors qu'un /int*/ ou un /int[2]/ (ou même un /int[1]/) ne sont pas du tout des /int/.
-- Pierre Maurette
Antoine Leca, le 04/06/2009 a écrit :
Le 04/06/2009 8:23, Pierre Maurette écrivit :
"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Oui, sans doute.
En fait, ce que je vois derrière const et volatile (et restrict), c'est
une idée de surcharge. En gros, un /int const/ est un /int/. Alors
qu'un /int*/ ou un /int[2]/ (ou même un /int[1]/) ne sont pas du tout
des /int/.
"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Oui, sans doute. En fait, ce que je vois derrière const et volatile (et restrict), c'est une idée de surcharge. En gros, un /int const/ est un /int/. Alors qu'un /int*/ ou un /int[2]/ (ou même un /int[1]/) ne sont pas du tout des /int/.
-- Pierre Maurette
candide
Antoine Leca a écrit :
Le 04/06/2009 8:23, Pierre Maurette écrivit :
"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Finalement, ça me parait être la meilleure traduction.
identifier -> identificateur, type specifier -> spécificateur de type donc type qualifier -> "qualificateur" de type
"qualificateur" n'existe pas, "qualifieur" non plus donc "qualificatif" me paraît bon.
Dans la littérature du C en langue française et jargonneuse :
Braquelaire est presque imbattable en jargonneries. Comment appelle-t-il auto, extern, register et static ? Réponse : des spécifications de rangement ! Comment désigne-t-il "typedef" ? Réponse : un constructeur !
Tiens en lisant ce qu'écrit Braquelaire sur const je retrouve le vocabulaire et les formulations regrettables utilisées dans ce fil :
"Le qualificatif de type const placé devant une déclaration etc" (page 103)
"Pour définir une constante pointeur, on place le qualificatif const juste après l'opérateur de déclaration *" (page 103). Au passage, bof-bof pour "l'opérateur de déclaration *".
Bon, il se reprend quand même pour préciser :
"Il est important de noter que les objets déclarés au moyen du qualificatif const ne sont pas réellement des constantes, etc"
Tiens, il parle lui aussi de "constantes littérales" y compris pour des constantes entières ou flottantes.
Antoine Leca a écrit :
Le 04/06/2009 8:23, Pierre Maurette écrivit :
"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Finalement, ça me parait être la meilleure traduction.
identifier -> identificateur,
type specifier -> spécificateur de type
donc
type qualifier -> "qualificateur" de type
"qualificateur" n'existe pas, "qualifieur" non plus donc "qualificatif" me
paraît bon.
Dans la littérature du C en langue française et jargonneuse :
Braquelaire est presque imbattable en jargonneries. Comment appelle-t-il
auto, extern, register et static ? Réponse : des spécifications de rangement !
Comment désigne-t-il "typedef" ? Réponse : un constructeur !
Tiens en lisant ce qu'écrit Braquelaire sur const je retrouve le vocabulaire et
les formulations regrettables utilisées dans ce fil :
"Le qualificatif de type const placé devant une déclaration etc" (page 103)
"Pour définir une constante pointeur, on place le qualificatif const juste après
l'opérateur de déclaration *" (page 103). Au passage, bof-bof pour "l'opérateur
de déclaration *".
Bon, il se reprend quand même pour préciser :
"Il est important de noter que les objets déclarés au moyen du qualificatif
const ne sont pas réellement des constantes, etc"
Tiens, il parle lui aussi de "constantes littérales" y compris pour des
constantes entières ou flottantes.
Braquelaire est presque imbattable en jargonneries. Comment appelle-t-il auto, extern, register et static ? Réponse : des spécifications de rangement ! Comment désigne-t-il "typedef" ? Réponse : un constructeur !
Tiens en lisant ce qu'écrit Braquelaire sur const je retrouve le vocabulaire et les formulations regrettables utilisées dans ce fil :
"Le qualificatif de type const placé devant une déclaration etc" (page 103)
"Pour définir une constante pointeur, on place le qualificatif const juste après l'opérateur de déclaration *" (page 103). Au passage, bof-bof pour "l'opérateur de déclaration *".
Bon, il se reprend quand même pour préciser :
"Il est important de noter que les objets déclarés au moyen du qualificatif const ne sont pas réellement des constantes, etc"
Tiens, il parle lui aussi de "constantes littérales" y compris pour des constantes entières ou flottantes.
xylo
Le Fri, 05 Jun 2009 01:05:47 +0200, candide a écrit:
Antoine Leca a écrit :
Le 04/06/2009 8:23, Pierre Maurette écrivit :
"foo est concerné par le qualifieur (hum) de type const"
qualificatif ?
Finalement, ça me parait être la meilleure traduction.
identifier -> identificateur, type specifier -> spécificateur de type donc type qualifier -> "qualificateur" de type
"qualificateur" n'existe pas, "qualifieur" non plus donc "qualificatif" me paraît bon.
Dans la littérature du C en langue française et jargonneuse :
Braquelaire est presque imbattable en jargonneries. Comment appelle-t-il auto, extern, register et static ? Réponse : des spécifications de rangement ! Comment désigne-t-il "typedef" ? Réponse : un constructeur !
Tiens en lisant ce qu'écrit Braquelaire sur const je retrouve le vocabulaire et les formulations regrettables utilisées dans ce fil :
"Le qualificatif de type const placé devant une déclaration etc" (page 103)
"Pour définir une constante pointeur, on place le qualificatif const juste après l'opérateur de déclaration *" (page 103). Au passage, bof-bof pour "l'opérateur de déclaration *".
Bon, il se reprend quand même pour préciser :
"Il est important de noter que les objets déclarés au moyen du qualificatif const ne sont pas réellement des constantes, etc"
Tiens, il parle lui aussi de "constantes littérales" y compris pour des constantes entières ou flottantes.
1) Est-ce que je peux considérer que la réponse SIMPLE est:
Braquelaire est presque imbattable en jargonneries. Comment appelle-t-il
auto, extern, register et static ? Réponse : des spécifications de rangement !
Comment désigne-t-il "typedef" ? Réponse : un constructeur !
Tiens en lisant ce qu'écrit Braquelaire sur const je retrouve le vocabulaire et
les formulations regrettables utilisées dans ce fil :
"Le qualificatif de type const placé devant une déclaration etc" (page 103)
"Pour définir une constante pointeur, on place le qualificatif const juste après
l'opérateur de déclaration *" (page 103). Au passage, bof-bof pour "l'opérateur
de déclaration *".
Bon, il se reprend quand même pour préciser :
"Il est important de noter que les objets déclarés au moyen du qualificatif
const ne sont pas réellement des constantes, etc"
Tiens, il parle lui aussi de "constantes littérales" y compris pour des
constantes entières ou flottantes.
1) Est-ce que je peux considérer que la réponse SIMPLE est:
Braquelaire est presque imbattable en jargonneries. Comment appelle-t-il auto, extern, register et static ? Réponse : des spécifications de rangement ! Comment désigne-t-il "typedef" ? Réponse : un constructeur !
Tiens en lisant ce qu'écrit Braquelaire sur const je retrouve le vocabulaire et les formulations regrettables utilisées dans ce fil :
"Le qualificatif de type const placé devant une déclaration etc" (page 103)
"Pour définir une constante pointeur, on place le qualificatif const juste après l'opérateur de déclaration *" (page 103). Au passage, bof-bof pour "l'opérateur de déclaration *".
Bon, il se reprend quand même pour préciser :
"Il est important de noter que les objets déclarés au moyen du qualificatif const ne sont pas réellement des constantes, etc"
Tiens, il parle lui aussi de "constantes littérales" y compris pour des constantes entières ou flottantes.
1) Est-ce que je peux considérer que la réponse SIMPLE est:
Oui, comme il a été expliqué plusieurs fois... Mais il est vrai q ue certains s'amusent à brouiller le message.
Et le message est tellement habilement brouillé, qu'à chaque fois que la question "const" revient sur le tapis, je relis les threads en entier, et au final je ne sais toujours pas comment utiliser const !
Un peu triste comme constat, non ?
Maintenant si une bonne âme pouvait donner une explication claire, compréhensible pour tous même ceux qui ne savent pas lire la norme, c e serait super...
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je l'aurai fait après).
Ham
-ed- a écrit :
On 5 juin, 07:17, xylo <chovp....@serr.se> wrote:
1) Est-ce que je peux considérer que la réponse SIMPLE est:
Oui, comme il a été expliqué plusieurs fois... Mais il est vrai q ue
certains s'amusent à brouiller le message.
Et le message est tellement habilement brouillé, qu'à chaque fois que la
question "const" revient sur le tapis, je relis les threads en entier,
et au final je ne sais toujours pas comment utiliser const !
Un peu triste comme constat, non ?
Maintenant si une bonne âme pouvait donner une explication claire,
compréhensible pour tous même ceux qui ne savent pas lire la norme, c e
serait super...
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je
l'aurai fait après).
Oui, comme il a été expliqué plusieurs fois... Mais il est vrai q ue certains s'amusent à brouiller le message.
Et le message est tellement habilement brouillé, qu'à chaque fois que la question "const" revient sur le tapis, je relis les threads en entier, et au final je ne sais toujours pas comment utiliser const !
Un peu triste comme constat, non ?
Maintenant si une bonne âme pouvait donner une explication claire, compréhensible pour tous même ceux qui ne savent pas lire la norme, c e serait super...
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je l'aurai fait après).
Ham
Hamiral
Hamiral a écrit :
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je l'aurai fait après).
Ham
Et, même après avoir lu la FAQ j'ai toujours un peu de mal... :(
Ham
Hamiral a écrit :
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je
l'aurai fait après).
Ham
Et, même après avoir lu la FAQ j'ai toujours un peu de mal... :(
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je l'aurai fait après).
Ham
Et, même après avoir lu la FAQ j'ai toujours un peu de mal... :(
Ham
Manuel Pégourié-Gonnard
Hamiral scripsit:
Hamiral a écrit :
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je l'aurai fait après).
Et, même après avoir lu la FAQ j'ai toujours un peu de mal... :(
Je me risque à essayer de compléter l'exemple de la FAQ avec une liste de choses qu'on peut faire et qu'on ne peut pas faire Il n'y a pas de différence entre sz1 et sz2 (c'était l'objet initial de ce fil).
#include <stdlib.h>
int main(void) { /* Déclarations et initialisations */ // pointeurs non constant sur objet constant const char * sz1 = "foubarre"; char const * sz2 = "foubarre"; // pointeur constant sur objet non constant char * const sz3 = "foubarre"; // pointeur constant sur objet constant char const * const sz4 = "foubarre";
/* Ce qu'on peut faire */ sz1 = sz2; sz3[0] = 'B';
/* Ce qu'on ne peut pas faire */ // sz1[0] = 'B'; // sz3 = sz2; // sz4 = sz2; // sz4[0] = 'B';
return 0; }
Les quatres instructions commentées sont illégales.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Hamiral scripsit:
Hamiral a écrit :
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je
l'aurai fait après).
Et, même après avoir lu la FAQ j'ai toujours un peu de mal... :(
Je me risque à essayer de compléter l'exemple de la FAQ avec une liste de
choses qu'on peut faire et qu'on ne peut pas faire Il n'y a pas de
différence entre sz1 et sz2 (c'était l'objet initial de ce fil).
#include <stdlib.h>
int main(void) {
/* Déclarations et initialisations */
// pointeurs non constant sur objet constant
const char * sz1 = "foubarre";
char const * sz2 = "foubarre";
// pointeur constant sur objet non constant
char * const sz3 = "foubarre";
// pointeur constant sur objet constant
char const * const sz4 = "foubarre";
/* Ce qu'on peut faire */
sz1 = sz2;
sz3[0] = 'B';
/* Ce qu'on ne peut pas faire */
// sz1[0] = 'B';
// sz3 = sz2;
// sz4 = sz2;
// sz4[0] = 'B';
return 0;
}
Les quatres instructions commentées sont illégales.
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
(effectivement je n'ai pas lu la FAQ avant de poster ce message mais je l'aurai fait après).
Et, même après avoir lu la FAQ j'ai toujours un peu de mal... :(
Je me risque à essayer de compléter l'exemple de la FAQ avec une liste de choses qu'on peut faire et qu'on ne peut pas faire Il n'y a pas de différence entre sz1 et sz2 (c'était l'objet initial de ce fil).
#include <stdlib.h>
int main(void) { /* Déclarations et initialisations */ // pointeurs non constant sur objet constant const char * sz1 = "foubarre"; char const * sz2 = "foubarre"; // pointeur constant sur objet non constant char * const sz3 = "foubarre"; // pointeur constant sur objet constant char const * const sz4 = "foubarre";
/* Ce qu'on peut faire */ sz1 = sz2; sz3[0] = 'B';
/* Ce qu'on ne peut pas faire */ // sz1[0] = 'B'; // sz3 = sz2; // sz4 = sz2; // sz4[0] = 'B';
return 0; }
Les quatres instructions commentées sont illégales.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/