Итак, на пару вопросов:
- А
int
(Int32
) указывается (очевидно) 32 бита. Как насчетint?
(Nullable<int>
)? Моя кишка говорит мне, что это будет 32 бита для целого числа плюс еще 8 бит для логического, но, возможно, реализация более сложная, чем эта. - Я бы ответил на свой вопрос, используя
sizeof(int?)
; но посколькуint?
является управляемым типом, это недопустимо. Я понимаю, что размер типа может быть зависимым от платформы, и что в случае объектов, содержащих ссылки на другие объекты, операцияsizeof
будет вводить в заблуждение. Однако существует ли способ получить "базовый" размер (т.е. Размер нового экземпляра экземпляра) для управляемого типа, учитывая текущую среду?