d'une maniere générale n'effectue pas de memset / memcpy / bzero & cie sur des classes, generalement ca se finit en drame
verdoux
joce a écrit a écrit :
c noté
ca plante à la compile ou après ? (ca sent l'expérience :D)
Après bien sûr ! :D
joce
c noté
ca plante à la compile ou après ? (ca sent l'expérience :D)
chrisbk
joce a écrit a écrit :
vi ca je l'ai déjà...
donc en gros c'est une méthode rapide pour initialiser toutes les variables de DYNAMIC_ARRAY à 0 ?
Yes !
mais surtout, SURTOUT, vu que t en c++, ne fais jamais cela sur une classe ou structure contenant des fonction virtuelles !
plantage en vue, sinon
joce
chrisbk a écrit a écrit :
au fait, tant que t la, y'aurait moyen de desactiver les smiley dans les bouts de post compris entre [ code] et [ /code] ?
ca donne des trucs louche parfois :D
faudrait que je regarde ;)
chrisbk
au fait, tant que t la, y'aurait moyen de desactiver les smiley dans les bouts de post compris entre [ code] et [ /code] ?
ca donne des trucs louche parfois :D
joce
vi ca je l'ai déjà...
donc en gros c'est une méthode rapide pour initialiser toutes les variables de DYNAMIC_ARRAY à 0 ?
[edtdd]--Message édité par joce--[/edtdd]
chrisbk
nope dans le contenu dans l'adresse, enfin, ce sur quoi l'adresse pointe .
regarde
int a = 5;
bzero( (char *)&a,sizeof(a));
apres ca, a = 0;
en premier parametre tu lui file l'adresse des données a modifié, en deuxieme la taille des données en octet
alles klar ?
verdoux
Code :
NAME
bzero - write zeros to a byte string
SYNOPSIS
#include <string.h>
void bzero(void *s, size_t n);
DESCRIPTION
The bzero() function sets the first n bytes of the byte
string s to zero.
RETURN VALUE
The bzero() function returns no value.
Ici il met à zero la structure pointée.
[edtdd]--Message édité par Verdoux--[/edtdd]
joce
BOn ca va ch'uis rassuré j'avais compris :D
Mais bzero fait quoi, il met autant de zero que sizeof(keyuse) dans l'adresse ? (pas le contenu de l'adresse)
chrisbk
ben ce que tu as fait la c'est :
1) recupere l'adresse de keyuse ( &keyuse)
2) caster cette adresse non plus en DYNAMIC_ARRAY * mais en char *