不使用sizeof求int或者其他类型占用的字节数
2014-12-23 21:50
323 查看
题目要求不使用sizeof,只能从原理上对int型变量所占空间进行求解。
1)宏定义实现:
#define MySizeof(Value) (char*)(&Value + 1) - (char*)&Value
(char*)&Value返回Value的地址的第一个字节, (char*)(&Value + 1)返回的是Value的地址的下一个地址的第一个字节
2)template <class Any>
int LengthOfArray(Any *p)
{
return int(p+1) - int(p);
}
1)宏定义实现:
#define MySizeof(Value) (char*)(&Value + 1) - (char*)&Value
(char*)&Value返回Value的地址的第一个字节, (char*)(&Value + 1)返回的是Value的地址的下一个地址的第一个字节
2)template <class Any>
int LengthOfArray(Any *p)
{
return int(p+1) - int(p);
}
相关文章推荐
- C++学习笔记:不用sizeof判断int类型占用几个字节
- 不使用sizeof,获取变量所占用的字节数
- 因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 。。。
- 附加类型“UniversalReviewSystem.Models.ApplicationUser”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值
- 不使用sizeof,如何求出数据类型的字节数
- 编写一个函数int_shifts_are_logical(),在对 int 类型的数使用算术右移的机器上运行时,这个函数生成1,而其他情况下生成0
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- linux C编程(四)int占用字节数/大小端模式/数据类型自动转换/结构体内存占用
- 解决 ”不允许在查询中显式构造实体类型“问题及使用其他方法实现返回 List<Model对象>或者IQueryable<Model对象>对象
- 错误:因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 解决方法
- C/C++基本数据类型所占字节数以及sizeof运算符的使用
- char、int、float等数据类型占用的字节数
- Mysql:语法:支持的和其他数据库开发商兼容的数据类型映射,或者说mysql的数据类型别名
- sizeof()使用请注意类型隐式转换问题
- 32-如果其他类型更适合,则尽量避免使用字符串
- 不使用第三个变量交换两个int类型变量的值
- 往Blob类型字段插入图片,使用与MySql或者Oracle
- C语言中 sizeof 操作符使用时的一些细节 和 指针类型的大小
- 使用COM或者OLE的方法调用来控制Excel或者其他Office组件
- 为什么要用sizeof(int),而不直接使用2?