"kanze" writes:
Fabien CHÊNE wrote:Fabien LE LEZ writes:On Sun, 11 Jun 2006 20:35:49 +0200, eb :unsigned rows = 25
Je n'aime pas beaucoup ce nom de variable : "rows" veut dire
"lignes", pas "nombre de lignes".
Généralement j'écris "nb_rows" (ou "nb_lignes").
Je trouve ce nom de variable assez fragile dans le sens où
il repose sur le s final. nb_row pourrait être interprété
comme numéro de la ligne (du fait que number veut dire à la
fois nombre et numéro).
Pas vraiement.
C'est vrai que le mélange d'anglais et de français peut souvent
prêter à la confusion. Mais ici, nb, c'est manifestement du
français -- ça ne signifie rien en anglais.
Je répondais par rapport au nom nb_rows :-p
nb n'est il jamais l'abbréviation de number en anglais ?
"kanze" <kanze@gabi-soft.fr> writes:
Fabien CHÊNE wrote:
Fabien LE LEZ <gramster@gramster.com> writes:
On Sun, 11 Jun 2006 20:35:49 +0200, eb <eb@nowhere.com>:
unsigned rows = 25
Je n'aime pas beaucoup ce nom de variable : "rows" veut dire
"lignes", pas "nombre de lignes".
Généralement j'écris "nb_rows" (ou "nb_lignes").
Je trouve ce nom de variable assez fragile dans le sens où
il repose sur le s final. nb_row pourrait être interprété
comme numéro de la ligne (du fait que number veut dire à la
fois nombre et numéro).
Pas vraiement.
C'est vrai que le mélange d'anglais et de français peut souvent
prêter à la confusion. Mais ici, nb, c'est manifestement du
français -- ça ne signifie rien en anglais.
Je répondais par rapport au nom nb_rows :-p
nb n'est il jamais l'abbréviation de number en anglais ?
"kanze" writes:
Fabien CHÊNE wrote:Fabien LE LEZ writes:On Sun, 11 Jun 2006 20:35:49 +0200, eb :unsigned rows = 25
Je n'aime pas beaucoup ce nom de variable : "rows" veut dire
"lignes", pas "nombre de lignes".
Généralement j'écris "nb_rows" (ou "nb_lignes").
Je trouve ce nom de variable assez fragile dans le sens où
il repose sur le s final. nb_row pourrait être interprété
comme numéro de la ligne (du fait que number veut dire à la
fois nombre et numéro).
Pas vraiement.
C'est vrai que le mélange d'anglais et de français peut souvent
prêter à la confusion. Mais ici, nb, c'est manifestement du
français -- ça ne signifie rien en anglais.
Je répondais par rapport au nom nb_rows :-p
nb n'est il jamais l'abbréviation de number en anglais ?
On Mon, 12 Jun 2006 22:47:44 +0200, (Fabien
CHÊNE):
nb n'est il jamais l'abbréviation de number en anglais ?
En pratique, il semble que "num" soit utilisé -- que ce soit
pour désigner un nombre (i.e. une taille) ou bien un numéro
(i.e. un indice).
On Mon, 12 Jun 2006 22:47:44 +0200, fabien.chene@gmail.com (Fabien
CHÊNE):
nb n'est il jamais l'abbréviation de number en anglais ?
En pratique, il semble que "num" soit utilisé -- que ce soit
pour désigner un nombre (i.e. une taille) ou bien un numéro
(i.e. un indice).
On Mon, 12 Jun 2006 22:47:44 +0200, (Fabien
CHÊNE):
nb n'est il jamais l'abbréviation de number en anglais ?
En pratique, il semble que "num" soit utilisé -- que ce soit
pour désigner un nombre (i.e. une taille) ou bien un numéro
(i.e. un indice).
Mais ce n'est pas non typé ; « unsigned », c'est bien un type.
Strictement parlant, la norme définit quatres catégories de
types de base entier, ..
signed char unsigned char
signed short unsigned short
signed int unsigned int
signed long unsigned long
Mais ce n'est pas non typé ; « unsigned », c'est bien un type.
Strictement parlant, la norme définit quatres catégories de
types de base entier, ..
signed char unsigned char
signed short unsigned short
signed int unsigned int
signed long unsigned long
Mais ce n'est pas non typé ; « unsigned », c'est bien un type.
Strictement parlant, la norme définit quatres catégories de
types de base entier, ..
signed char unsigned char
signed short unsigned short
signed int unsigned int
signed long unsigned long
Si je fais
{
QCanvasLine l = QCanvasLine::QCanvasLine(canvas);
...
l.show()
}
Si je fais
{
QCanvasLine l = QCanvasLine::QCanvasLine(canvas);
...
l.show()
}
Si je fais
{
QCanvasLine l = QCanvasLine::QCanvasLine(canvas);
...
l.show()
}
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
Comme v[i] n'est pas un pointeur, j'utilise v[i].show() (pour l'afficher) et
rien ...
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
Comme v[i] n'est pas un pointeur, j'utilise v[i].show() (pour l'afficher) et
rien ...
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
Comme v[i] n'est pas un pointeur, j'utilise v[i].show() (pour l'afficher) et
rien ...
kanze wrote on 12/06/2006 09:47:Mais ce n'est pas non typé ; « unsigned », c'est bien un type.
je comprends bien un "modifier" mais pas du tout un "type" !
peux-tu expliquer/détailler ? merci.
Strictement parlant, la norme définit quatres catégories de
types de base entier, ..
signed char unsigned char
signed short unsigned short
signed int unsigned int
signed long unsigned long
où hormis le cas char, la référence "int" est implicite
lorsqu'un modifier de taille existe (short, long),
la liste non simplifiée étant plutôt:
{signed | unsigned} {short | long } int
ma compréhension est que la désignation du type référé int
peut être omisse uniquement dans le cas où une spécification
de taille existe (et non dans le cas où seul un désignation de
signe existe), n'est-ce pas le cas?
(je reprécise le cadre est un "C++ un peu typé quand même")
kanze wrote on 12/06/2006 09:47:
Mais ce n'est pas non typé ; « unsigned », c'est bien un type.
je comprends bien un "modifier" mais pas du tout un "type" !
peux-tu expliquer/détailler ? merci.
Strictement parlant, la norme définit quatres catégories de
types de base entier, ..
signed char unsigned char
signed short unsigned short
signed int unsigned int
signed long unsigned long
où hormis le cas char, la référence "int" est implicite
lorsqu'un modifier de taille existe (short, long),
la liste non simplifiée étant plutôt:
{signed | unsigned} {short | long } int
ma compréhension est que la désignation du type référé int
peut être omisse uniquement dans le cas où une spécification
de taille existe (et non dans le cas où seul un désignation de
signe existe), n'est-ce pas le cas?
(je reprécise le cadre est un "C++ un peu typé quand même")
kanze wrote on 12/06/2006 09:47:Mais ce n'est pas non typé ; « unsigned », c'est bien un type.
je comprends bien un "modifier" mais pas du tout un "type" !
peux-tu expliquer/détailler ? merci.
Strictement parlant, la norme définit quatres catégories de
types de base entier, ..
signed char unsigned char
signed short unsigned short
signed int unsigned int
signed long unsigned long
où hormis le cas char, la référence "int" est implicite
lorsqu'un modifier de taille existe (short, long),
la liste non simplifiée étant plutôt:
{signed | unsigned} {short | long } int
ma compréhension est que la désignation du type référé int
peut être omisse uniquement dans le cas où une spécification
de taille existe (et non dans le cas où seul un désignation de
signe existe), n'est-ce pas le cas?
(je reprécise le cadre est un "C++ un peu typé quand même")
eb wrote:J'ai essayé une version simplifiée dans un premier temps,
unsigned rows = 25
std::vector< QCanvasLine > v(rows) ;
mais sans succès :
Bon, j'ai progressé :
Le compilateur accepte :
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
car QCanvasLine::QCanvasLine(canvas) est un constructeur valide.
et v[i] est valide.
Le seul problème, c'est que ça ne marche pas. Comme v[i]
n'est pas un pointeur, j'utilise v[i].show() (pour l'afficher)
et rien ...
En fait, (mais c'est dû à on ignorance - je ne suis pas
programmeur) :
si je fais un code très simple
{
QCanvasLine *l = new QCanvasLine(canvas);
...
l->show()
}
ça marche
Si je fais
{
QCanvasLine l = QCanvasLine::QCanvasLine(canvas);
...
l.show()
}
ça marche pas (et pourtant, je vérifie bien que 'canvas' est
le parent de l ...)
Une idée ?
eb wrote:
J'ai essayé une version simplifiée dans un premier temps,
unsigned rows = 25
std::vector< QCanvasLine > v(rows) ;
mais sans succès :
Bon, j'ai progressé :
Le compilateur accepte :
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
car QCanvasLine::QCanvasLine(canvas) est un constructeur valide.
et v[i] est valide.
Le seul problème, c'est que ça ne marche pas. Comme v[i]
n'est pas un pointeur, j'utilise v[i].show() (pour l'afficher)
et rien ...
En fait, (mais c'est dû à on ignorance - je ne suis pas
programmeur) :
si je fais un code très simple
{
QCanvasLine *l = new QCanvasLine(canvas);
...
l->show()
}
ça marche
Si je fais
{
QCanvasLine l = QCanvasLine::QCanvasLine(canvas);
...
l.show()
}
ça marche pas (et pourtant, je vérifie bien que 'canvas' est
le parent de l ...)
Une idée ?
eb wrote:J'ai essayé une version simplifiée dans un premier temps,
unsigned rows = 25
std::vector< QCanvasLine > v(rows) ;
mais sans succès :
Bon, j'ai progressé :
Le compilateur accepte :
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
car QCanvasLine::QCanvasLine(canvas) est un constructeur valide.
et v[i] est valide.
Le seul problème, c'est que ça ne marche pas. Comme v[i]
n'est pas un pointeur, j'utilise v[i].show() (pour l'afficher)
et rien ...
En fait, (mais c'est dû à on ignorance - je ne suis pas
programmeur) :
si je fais un code très simple
{
QCanvasLine *l = new QCanvasLine(canvas);
...
l->show()
}
ça marche
Si je fais
{
QCanvasLine l = QCanvasLine::QCanvasLine(canvas);
...
l.show()
}
ça marche pas (et pourtant, je vérifie bien que 'canvas' est
le parent de l ...)
Une idée ?
eb wrote on 12/06/2006 23:31:unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
j'ai été un peu surpris par cet équivalent fourni par James,
j'y vois un problème si les instances se recopient mal (oui
elles sont "censées" être copiable, mais l'erreur ...)
HS: comment est géré std::vector< T* > ???
comment est traiter un "redimensionne le vector à m éléments
(m > n initial), le T 'témoin' est-il gardé sous le coude en
cas de besoin?
eb wrote on 12/06/2006 23:31:
unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
j'ai été un peu surpris par cet équivalent fourni par James,
j'y vois un problème si les instances se recopient mal (oui
elles sont "censées" être copiable, mais l'erreur ...)
HS: comment est géré std::vector< T* > ???
comment est traiter un "redimensionne le vector à m éléments
(m > n initial), le T 'témoin' est-il gardé sous le coude en
cas de besoin?
eb wrote on 12/06/2006 23:31:unsigned rows = 25
std::vector< QCanvasLine > v(rows, QCanvasLine::QCanvasLine(canvas) ) ;
j'ai été un peu surpris par cet équivalent fourni par James,
j'y vois un problème si les instances se recopient mal (oui
elles sont "censées" être copiable, mais l'erreur ...)
HS: comment est géré std::vector< T* > ???
comment est traiter un "redimensionne le vector à m éléments
(m > n initial), le T 'témoin' est-il gardé sous le coude en
cas de besoin?
Il y a une longue histoire derrière, et beaucoup de points de
vue sont possible. [...]
Il y a une longue histoire derrière, et beaucoup de points de
vue sont possible. [...]
Il y a une longue histoire derrière, et beaucoup de points de
vue sont possible. [...]