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

Cet opérateur concatène à l'objet actif l'objet passé en argument.

Si le statut de l'objet en argument est EMemory::ObjectStatus_Unknown ou EMemory::ObjectStatus_Free ou EMemory::ObjectStatus_Empty, l'appel de cet opérateur n'a aucun effet.

 

Argument

EMemory &eMemory

référence de l'objet EMemory à concaténer

 

Retour

EMemory&

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

 

Exemple

Description :

Concaténation sur un objet EMemory (eMem) vièrge d'un objet EMemory (eMem0) vièrge puis d'un objet EMemory (eMem1) ayant un espace de travail de 3 octets contenant les données 0x41, 0x42 et 0x43 ("ABC" en ASCII) puis d'un objet EMemory (eMem2) vide puis de l'objet eMem sur lui-même.

Code :

EMemory eMem0; //- objet EMemory vièrge
EMemory eMem1( "ABC", 3 ); //- objet EMemory alloué de 3 octets
EMemory eMem2( 0 ); //- objet EMemory vide
EMemory eMem; //- objet EMemory vièrge

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

eMem += eMem0;
eMem.TraceEx( _T("eMem") );

eMem += eMem1;
eMem.TraceEx( _T("eMem") );

eMem += eMem2;
eMem.TraceEx( _T("eMem") );

eMem += eMem;
eMem.TraceEx( _T("eMem") );

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='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 'eMem2' Trace #
# Object address='0x0012F438', status='EMemory::ObjectStatus_Empty' (code '2').
# Buffer address='0x00000006', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

### Object EMemory 'eMem' 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 'eMem' 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 'eMem' Trace #
# Object address='0x0012F420', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000008', 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 'eMem' Trace #
# Object address='0x0012F420', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000008', 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 'eMem' Trace #
# Object address='0x0012F420', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000008', workspace size='6' byte(s).
# Array data from offset '0x00000000' to offset '0x00000005', length=6 byte(s).
# Offset start 0x00000000 41 42 43 41 42 43 .. .. .. .. .. .. .. .. .. .. [ABCABC]
### End #

Vue :

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

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

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

 

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

 

Minimum
Version 1.0.0