what is the size of this class
class size
{
public:
char data1;
double d;
int data2;
char data3;
double data4;
short data5;
};
please explain the padding for these double variables.
Answer Posted / siva
Hi guys why dont you test properly before posting answers???
the answer is 40. how it is padding is as shown bellow
char data1 1+7 bytes
double d 8 bytes
int data2 4 bytes
char data3 1+7 bytes
double data4 8 bytes
short data5 4 bytes
so 40 bits
padding intermes of char type only, not for int, double and
short.
also, padding depends one next member type.
also observe char member are not in sequence.if they are in
sequence all will use same size as first one.
example:
if above structure is as shown bellow
struct size{
char data1 //1+7 bytes
char data6 //uses above 8 bytes
char data7 //uses above 8 bytes
char data8 //uses above 8 bytes
double d //8 bytes
int data2 //4 bytes
char data3 //1+7 bytes
double data4 //8 bytes
short data5 //4 bytes
}
still its size is 40 byts.
here you guys can observe before char data8 double d is
declared thatsway char data8 is padding to 1+7 = 8 byts
if it is int d then char data8 is padding to 1+3 =4 byts
| Is This Answer Correct ? | 2 Yes | 1 No |
Post New Answer View All Answers
What happens when the extern "c" char func (char*,waste) executes?
What type of question are asked in GE code writing test based on c++ data structures and pointers?
What is private inheritance?
What is a try block?
What is the difference between a template and a macro?
How does code-bloating occur in c++?
What are c++ data types?
Why c++ is not a pure oop language?
What are its advantages and disadvantages of multiple inheritances (virtual inheritance)?
What are built-in functions? What is the syntax for the definition?
What does override mean in c++?
How should runtime errors be handled in c++?
What is data abstraction? How is it different from data encapsulation?
What is c++ good for?
Write about the use of the virtual destructor?