不使用sizeof,求类型长度
用指针移动计算来测量字节大小。
#include<iostream>
using namespace std;
//#define lengthofType(val) (char*)(&val+1)-(char*)&val
#if(1)
template <class any>
int lengthofType(any* p)
{
return int(p+1)-int(p);
}
#endif
void main()
{
int* i;
double* q;
char a[11];
cout<<lengthofType(i)<<endl;
cout<<lengthofType(q)<<endl;
cout<<lengthofType(&a)<<endl;
//cout<<lengthofType(a)<<endl;
system("pause");
}
/*
4
8
11
*/
有没有敲着玩一下呢。原来自己敲代码这么累,一点提示没有
网友评论