Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3126 connectés 

 


Dernière réponse
Sujet : C++ : j'ai du mal là :D
joce yaiss ! :D

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
joce yaiss ! :D
chrisbk oué après, et oué ca sent l'expérience :D
 
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 :
  1. NAME
  2.        bzero - write zeros to a byte string
  3. SYNOPSIS
  4.        #include <string.h>
  5.        void bzero(void *s, size_t n);
  6. DESCRIPTION
  7.        The  bzero()  function  sets the first n bytes of the byte
  8.        string s to zero.
  9. RETURN VALUE
  10.        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 *
deathsharp un pointer
joce J'ai ca :
 
typedef struct st_dynamic_array {
  char *buffer;        
  uint elements,max_element;
  uint alloc_increment;
  uint size_of_element;
} DYNAMIC_ARRAY;
 
DYNAMIC_ARRAY keyuse;
bzero((char*) &keyuse,sizeof(keyuse));
 
(char*) &keyuse représente quoi :??:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)