Salve a tutti ho un problema con la dimensione della classe in questione
codice:
class distrVehicle{
public:
distrVehicle()
{
cout << "Inizializzazione Vehicle\n";
}
~distrVehicle()
{
cout << "Distruzione Vehicle\n";
}
double updateVELOCITY;
bool dream;
bool obstacle;
int mHealth;
int mAttack;
int mUpdateVelocity;
//char* vehicleBlockPosition;
double m_dTimeElapsed;
double mAcceleration;
//distributedSteeringBehaviour steering;
//std::vector<Vector2D> m_vecVehicleVB;
//Moving Entity
Vector2D m_vVelocity;
Vector2D m_vHeading;
Vector2D m_vSide;
double m_dMass;
double m_dMaxSpeed;
double m_dMaxForce;
double m_dMaxTurnRate;
//Game Base Entity
int m_ID;
int m_EntityType;
bool m_bTag;
bool mLeader;
int mTeam;
int mBattalion;
double m_dBoundingRadius;
Vector2D m_vPos;
Vector2D m_vScale;
void fillVehicle(){
m_dBoundingRadius = 43.65f;
m_vPos = Vector2D(32,43);
m_vScale = Vector2D(32,43);
}
};
Quando faccio sizeof(distrVehicle) il suo valore è di 184 byte, invece facendo la somma delle singole variabili io mi trovo 180 la differenza diventa maggiore se aggiungo anche una variabile char*... infatti sizeof(char*) occupa 4 byte invece nel computo generale risultano essere 8...
sizeof(int) = 4
sizeof(double) = 8
sizeof(Vector2d) = 16
sizeof(bool) = 1
Il tutto è molto strano mi serve avere una misura specifica... perchè devo inviare l array di byte sulla rete....
Grazie a tutti...