Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

delete d'une classe vide

11 réponses
Avatar
Guillaume Gourdin
Bonjour, est-il nécessaire de faire un delete sur une classe ne contenant
pas de variables membre (et donc de taille nulle).

Genre :

class EMPTY_CLASS
{
// que des methodes et pas de variables membres.
}

// Plus loin dans un CPP
EMPTY_CLASS * p = new EMPTY_CLASS;
// Traitement
delete p; // Cette ligne est-elle nécessaire ?

10 réponses

1 2
Avatar
Arnaud Meurgues
Guillaume Gourdin wrote:

Bonjour, est-il nécessaire de faire un delete sur une classe ne contenant
pas de variables membre (et donc de taille nulle).


Oui. Car une classe a au moins une taille de 1.

Arnaud

Avatar
Christophe Lephay
"Guillaume Gourdin" a écrit dans le message de
news:bdpjju$9hv$
Bonjour, est-il nécessaire de faire un delete sur une classe ne contenant
pas de variables membre (et donc de taille nulle).

Genre :

class EMPTY_CLASS
{
// que des methodes et pas de variables membres.
}

// Plus loin dans un CPP
EMPTY_CLASS * p = new EMPTY_CLASS;
// Traitement
delete p; // Cette ligne est-elle nécessaire ?


En plus de la raison (suffisante) qu'a donné Arnaud, il se peut également
que le destructeur fasse quelque chose, que la classe évolue ou que tu en
hérites...

Chris

Avatar
M.B.
1 quoi ?

MB

"Arnaud Meurgues" a écrit dans le message
news: 3f00523c$0$12428$

Oui. Car une classe a au moins une taille de 1.



Avatar
Benoit Dejean
Le Mon, 30 Jun 2003 18:06:01 +0200, M.B. a ecrit:

1 quoi ?


y pas d'unités. juste la définition sizeof(char) == 1



--
Ne perdez pas de vue qu'un programme qui plante est d'une utilité quasi nulle,
ce qui est loin d'être incompatible avec la notion d'Art.

Avatar
kanze
Benoit Dejean wrote in message
news:...
Le Mon, 30 Jun 2003 18:06:01 +0200, M.B. a ecrit:

1 quoi ?


y pas d'unités. juste la définition sizeof(char) == 1


Il y a bien une unité : en anglais, « byte ». Malheureusement, on
utilise souvent le mot « octet » en français, or que ce n'est pas du
tout la même chose. (Ceci dit, la norme a quand même modifiée la
définition de « byte » pour ses besions.)

--
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, Tél. : +33 (0)1 30 23 45 16


Avatar
Michel Michaud
Dans news:, Jean-Marc
Thierry Monney writes:

wrote:
Il y a bien une unité : en anglais, « byte ». Malheureusement, on
utilise souvent le mot « octet » en français, or que ce n'est pas
du tout la même chose. (Ceci dit, la norme a quand même modifiée
la définition de « byte » pour ses besions.)


Corrigez-moi si je me trompe, mais j'ai toujours pensé que 1 byte
= 1 octet = 8 bits...


1 octet = 8 bits (en francais comme en anglais)
1 byte = le sens originel un caractere (6,7,8,9 bits sont des
valeurs qui ont ete utilisees) a glisse vers 8 bits avec la


Et en français, un byte est un multiplet. Un multiplet de 8 bits
est un octet, comme un « 8-bit byte » est un octet (en anglais
aussi).

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



Avatar
kanze
Jean-Marc Bourguet wrote in message
news:...
Thierry Monney writes:
wrote:
Il y a bien une unité : en anglais, « byte ». Malheureusement, on
utilise souvent le mot « octet » en français, or que ce n'est pas
du tout la même chose. (Ceci dit, la norme a quand même modifiée
la définition de « byte » pour ses besions.)


Corrigez-moi si je me trompe, mais j'ai toujours pensé que 1 byte > > 1 octet = 8 bits...


1 octet = 8 bits (en francais comme en anglais)
1 byte = le sens originel un caractere (6,7,8,9 bits sont des valeurs qui
ont ete utilisees) a glisse vers 8 bits avec la disparition
des machines ayant une autre taille de caractere (encore qu'il
y a quelqu'un qui porte gcc sur le pdp10
http://pdp10.nocrew.org/)


Il me semble avoir entendu que les gros Unisys ont des bytes de 9 bits
aussi. Et on les fabrique encore. Mais je ne suis pas sûr.

Il arrive que des DSP ne savent adresser que des mots. Et que certaines
implémentations de C sur ces systèmes font que tous les types entiers,
du char jusqu'à long, ont 32 bits. En ce qui concerne la norme, alors,
un byte a 32 bits. Dans l'utilisation classique, ces machines n'ont pas
de bytes, que des mots.

Ce serait donc la même chose : un terme pour nommer un regroupement
de 8 bits. Je vois donc mal comment la norme pourrait modifier la
définition d'un byte.


La norme tends a l'utiliser dans le sens de plus petite unite
adressable.


Même quand cette unité est un mot.

--
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, Tél. : +33 (0)1 30 23 45 16



Avatar
kanze
"Michel Michaud" wrote in message
news:<JxgMa.2966$...
Dans news:, Jean-Marc
Thierry Monney writes:
wrote:
Il y a bien une unité : en anglais, « byte ». Malheureusement, on
utilise souvent le mot « octet » en français, or que ce n'est pas
du tout la même chose. (Ceci dit, la norme a quand même modifiée
la définition de « byte » pour ses besions.)


Corrigez-moi si je me trompe, mais j'ai toujours pensé que 1 byte > >> 1 octet = 8 bits...


1 octet = 8 bits (en francais comme en anglais)
1 byte = le sens originel un caractere (6,7,8,9 bits sont des
valeurs qui ont ete utilisees) a glisse vers 8 bits avec la


Et en français, un byte est un multiplet.


Au différence près que le mot « byte » est très répandu en anglais,
tandis que je ne me rappelle pas d'avoir jamais vu multiplet en
français, sauf quand on posait la question précise.

Et alors, qu'est-ce que ça donne pour « multi-byte sequence » ?

--
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, Tél. : +33 (0)1 30 23 45 16




Avatar
Christophe de Vienne
wrote:



Et alors, qu'est-ce que ça donne pour « multi-byte sequence » ?


Ça donne un leitmotiv de fclc++ :-)

--
Christophe de Vienne
Experience is something you don't get until just after you need it.
Oliver's Law.

Avatar
Michel Michaud
Dans news:,
"Michel Michaud" wrote in message
Et en français, un byte est un multiplet.


Au différence près que le mot « byte » est très répandu en anglais,


Et parmi les francophones aussi, car tu as raison, le mot multiplet
est assez rarement utilisé. Mais c'est clair que quand on dit
multiplet, c'est qu'on veut vraiment parler d'un groupe de bits
quelconque, pas seulement 8. En anglais, j'ai bien peur que bien des
gens pensent que byte = 8 bit. Alors on est chanceux d'avoir un
autre mot !

Et alors, qu'est-ce que ça donne pour « multi-byte sequence » ?


On a déjà eu cette discussion il y a quelques années... Gabriel
disait qu'il s'en parlait au comité de normalisation français...

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


1 2