Посмотрите, sizeof
- это языковая возможность для этого. Единственный, так что это единственный портативный способ добиться этого.
В некоторых особых случаях вы можете сгенерировать непереносимый код, который использует другую эвристику для понимания размера определенных объектов [*] (возможно, заставляя их отслеживать их собственный размер), но вам придется делать все ведение бухгалтерии самостоятельно.
[*] Объекты в очень общем смысле, а не в смысле ООП.