Prototype
EMemory& EMemory::operator = ( EMemory &eMemory );

Cet opérateur 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 à dupliquer.

 

Retour

EMemory&

référence de l'objet EMemory concerné par la copie.

 

Exemple

Description :

Copie successive dans un objet EMemory (eMem0) d'un objet EMemory (eMem1) ayant un espace de travail de 4 octets rempli du bloc d'octets 0x41, 0x42, 0x43 et 0x44 ("ABCD" en ASCII), d'un objet EMemory (eMem2) vide et enfin d'un objet EMemory (eMem3) vièrge.

Code :

EMemory eMem0; //- objet EMemory vièrge
EMemory eMem1( "ABCD", 4 ); //- objet EMemory alloué de 4 octets rempli du bloc "ABCD"
EMemory eMem2( 0 ); //- objet EMemory vide
EMemory eMem3; //- objet EMemory vièrge

eMem0.TraceEx( _T("eMem0") );
eMem1.TraceEx( _T("eMem1") );
eMem2.TraceEx( _T("eMem2") );
eMem3.TraceEx( _T("eMem3") );

eMem0 = eMem1;
eMem0.TraceEx( _T("eMem0") );

eMem0 = eMem2;
eMem0.TraceEx( _T("eMem0") );

eMem0 = eMem3;
eMem0.TraceEx( _T("eMem0") );

Sortie :

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Free' (code '1').
# Buffer address='0x00000000', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

### Object EMemory 'eMem1' Trace #
# Object address='0x0012F450', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='4' byte(s).
# Array data from offset '0x00000000' to offset '0x00000003', length=4 byte(s).
# Offset start 0x00000000 41 42 43 44 .. .. .. .. .. .. .. .. .. .. .. .. [ABCD]
### End #

### Object EMemory 'eMem2' Trace #
# Object address='0x0012F438', status='EMemory::ObjectStatus_Empty' (code '2').
# Buffer address='0x00000002', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

### Object EMemory 'eMem3' Trace #
# Object address='0x0012F420', status='EMemory::ObjectStatus_Free' (code '1').
# Buffer address='0x00000000', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

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

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Empty' (code '2').
# Buffer address='0x0000000A', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Free' (code '1').
# Buffer address='0x00000000', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

Vue :

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

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

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

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

 

Voir aussi
EMemory& operator += ( EMemory &eMemory );
uchar& operator [] ( ulonglong ullOffset );
void* operator () ( ulonglong ullOffset );

 

Minimum
Version 1.0.0