Вопрос Щитпост

Статус
В этой теме нельзя размещать новые ответы.
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции
25
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
айкью тест:
Expand Collapse Copy
class object{
private:
    object* ptr = this;
public:
    int shit{ 5 };
    object* get_object_ptr(){
        return ptr;
    }
};

int main() {
    object $object;
    std::cout << sizeof($object);
    system("pause");
}
вопрос - какой будет принт и почему
за неправильный ответ комментатор получит клоуна
за правильный ответ комментатор получит попокорн
 
за неправильный ответ комментатор получит клоуна
за правильный ответ комментатор получит попокорн
Есть один стул...


Вывод данной программы будет зависеть от размера объекта "object" в байтах. Конкретное значение размера зависит от реализации компилятора и архитектуры системы.
Могу и ошибаться..
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Есть один стул...


Вывод данной программы будет зависеть от размера объекта "object" в байтах. Конкретное значение размера зависит от реализации компилятора и архитектуры системы.
х64, компилятор вроде не должен никак влиять
 
На х64 - 12 байт, т.к. указатель равен 8 байтам, интежер - 4 байтам
На х86 - 8 байт, т.к. указатель будет равен уже 4 байтам
 
Пожалуйста, авторизуйтесь для просмотра ссылки.

1690038283858.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На х64 - 12 байт, т.к. указатель равен 8 байтам, интежер - 4 байтам
На х86 - 8 байт, т.к. указатель будет равен уже 4 байтам
айкью тест не пройден, еслиб я мог, поставил бы клоуна, x64 весит не 12. второй ответ правильный
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
у меня айкью 40 получилось а чьто
 
Если брать самый общий случай, то на платформе x64 наш прелестный int будет иметь размер в 8 байт, так же как и указатель. Функции ( помимо виртуальных ) никак не влияют на размер класса, так что размеры: x64 -> 16, x86 -> 8 байтов соответственно.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если брать самый общий случай, то на платформе x64 наш прелестный int будет иметь размер в 8 байт, так же как и указатель. Функции ( помимо виртуальных ) никак не влияют на размер класса, так что размеры: x64 -> 16, x86 -> 8 байтов соответственно.
инт (не указатель) будет весить 8 по причине?)) и не будет он 8. он будет 4. но ответ правильный
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
айкью тест:
Expand Collapse Copy
class object{
private:
    object* ptr = this;
public:
    int shit{ 5 };
    object* get_object_ptr(){
        return ptr;
    }
};

int main() {
    object $object;
    std::cout << sizeof($object);
    system("pause");
}
вопрос - какой будет принт и почему
за неправильный ответ комментатор получит клоуна
за правильный ответ комментатор получит попокорн
принт будет sizeof($object)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну по идее, раз на x86 размер 8 байт (4 байта + 4 байта), то на
x64 должен быть 12 (4 байта + 8 байт)

Однако в случае сборки под x64 из-за выравнивания размер класса может быть
больше, чем сумма размеров его мемберов, потому что размер класса округляется до
ближайшего кратного 8, отсюда и получается 16 байт.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну по идее, раз на x86 размер 8 байт (4 байта + 4 байта), то на
x64 должен быть 12 (4 байта + 8 байт)

Однако в случае сборки под x64 из-за выравнивания размер класса может быть
больше, чем сумма размеров его мемберов, потому что размер класса округляется до
ближайшего кратного 8, отсюда и получается 16 байт.
ответ правильный, объяснение не до конца понятное, не знаешь, где можно про "выравнивание классов" почитать?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу