微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sizeof的成本是多少?

sizeof的成本是多少?

我会期待:

> sizeof(someclass)可以在编译时知道
> sizeof(someStaticArray)可以在编译时知道
> sizeof(someDynamicArray)在编译时无法知道

那么最后一种情况怎么办?

解决方法

C中的sizeof构造是一个完全编译时的结构.没有运行时费用.

此规则至少有一个例外:可变长度数组.这些数组的大小是在运行时计算出来的,并且这个大小被重用于任何适用于它们的大小的运算符.

请注意,可变长度数组和动态数组之间存在差异. C99中添加了可变长度的数组,它们支持sizeof运算符

> http://en.wikipedia.org/wiki/Sizeof
> http://docs.cray.com/books/004-2179-001/html-004-2179-001/z893434830malz.html

原文地址:https://www.jb51.cc/c/113870.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐