как хранятся структуры в C/C++ и классы

при компиляции программы , компилятор видит структуру и запоминает ее размер(с выравниванием), и уже при создании переменной он видит тип переменной, который занимает сколько то уже места, выделяет участок памяти под эту переменную(про локальный стек вызова, кучу не трогаю)? потом создаем еще переменную с именем структуры, он на тебе еще памяти.так все происходит? и как я понимаю в С память под структуры выделяется непрерывным блоком, и я могу ее например кастовать к (char *) и побайтово пробежаться типа memcpy, а объекты под классы в с++ тоже так же выделяются непрерывно и по ним можно побайтово пробежаться?

    struct test
{
    int i;
    int j;
};
int main()
{
    test ptr;
    return 0;
}

когда мы создаем ptr, как он знает что ему надо выделить участок в 8 байт?


Ответы (0 шт):