//关于模拟sizeof函数实现计算类型大小
//查了很多资料,也用过模板
//但都无法获得对象的类型
//下面是一个用宏来实现的方法
#define my_sizeof(L_Value) ( \
(char *)(&L_Value + 1) - (char *)&L_Value \
)
#include
#include
int main(void){
int i;
double f;
double a[4];
double *p;
printf("%d\n", my_sizeof(i));
printf("%d\n", my_sizeof(f));
printf("%d\n", my_sizeof(a));
printf("%d\n", my_sizeof(p));
printf("%d\n", my_sizeof("abdegh"));
return 0;
}
//模板的类型操作
#include
using namespace std;
template
int LengthOfArray(Any * p)
{
return int(p+1) - int(p);
}
int main()
{
double * q;
char a[10];
cout << LengthOfArray(q)< cout << LengthOfArray(&a)<
return 0;
}
阅读(1265) | 评论(0) | 转发(0) |