Prototype
EMemory::EMemory( EMemory &eMemory );

Ce constructeur effectue une copie exacte (statut, taille et contenu) de l'objet passé en argument dans l'objet EMemory appelant.

Il s'agit d'une copie et non d'une affectation, toutes les caractéristiques seront similaires mais les adresses de base d'allocation des espaces de travail seront différentes.

 

Argument

EMemory &eMemory

référence de l'objet EMemory à copier.

 

Retour

aucun.

 

Exemple

Description :

Instanciation d'un objet EMemory (eMem0) alloué d'une taille de 3 octets d'espace de travail contenant les données 0x41, 0x42 et 0x43 ("ABC" en ASCII) puis copie de celui-ci dans un autre objet EMemory (eMem1).

Code :

EMemory eMem0( 3, "ABC", 3 ); //- objet EMemory alloué de 3 octets nettoyé avec le bloc d'octets "ABC"
eMem0.TraceEx( _T("eMem0") );

EMemory eMem1( eMem0 ); //- copie de l'objet EMemory eMem0 dans l'objet EMemory eMem1
eMem1.TraceEx( _T("eMem1") );

Sortie :

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000002', workspace size='3' byte(s).
# Array data from offset '0x00000000' to offset '0x00000002', length=3 byte(s).
# Offset start 0x00000000 41 42 43 .. .. .. .. .. .. .. .. .. .. .. .. .. ABC
### End #

### Object EMemory 'eMem1' Trace #
# Object address='0x0012F450', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000007', workspace size='3' byte(s).
# Array data from offset '0x00000000' to offset '0x00000002', length=3 byte(s).
# Offset start 0x00000000 41 42 43 .. .. .. .. .. .. .. .. .. .. .. .. .. ABC
### End #

Vue :

Vue de l'objet eMem0 :

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02
  41
A
42
B
43
C

Vue de l'objet eMem0 et eMem1 :

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 00 01 02
  41
A
42
B
43
C
41
A
42
B
43
C

 

Voir aussi
EMemory::EMemory( void );
EMemory::EMemory( ulonglong ullSize );
EMemory::EMemory( ulonglong ullSize, uchar ucByteToFill );
EMemory::EMemory( ulonglong ullSize, void *pBlockToFill, ulonglong ullBlockToFillSize );
EMemory::EMemory( void *pBlockToCopy, ulonglong ullBlockToCopySize );

 

Minimum
Version 1.0.0