您的位置:首页 > 其它

奇葩001

2015-07-25 09:36 375 查看
#include<iostream>
template<size_t len>
struct __byteArr
{
char arr[len+1];
};
template<typename ldType,size_t lenA,size_t lenB>
__byteArr<lenB> __funDecl(ldType, __byteArr<lenA>,__byteArr<lenB>);
#define counter_read(id) \
(sizeof __funDecl(id(),__byteArr<0x01>(), __byteArr< \
(sizeof __funDecl(id(),__byteArr<0x02>(), __byteArr< \
(sizeof __funDecl(id(),__byteArr<0x04>(), __byteArr< \
(sizeof __funDecl(id(),__byteArr<0x08>(), __byteArr< \
(sizeof __funDecl(id(),__byteArr<0x10>(), __byteArr< \
(sizeof __funDecl(id(),__byteArr<0x20>(), __byteArr<0>()) - 1 ) \
>()) - 1 ) \
>()) - 1 ) \
>()) - 1 ) \
>()) - 1 ) \
>()) - 1 )
#define counter_inc(id) \
__byteArr<counter_read(id) + 1> \
__funDecl(id, __byteArr<(counter_read(id) + 1) & ~counter_read(id)>, \
__byteArr<(counter_read(id) + 1) & counter_read(id)>)
struct idType {};
//#define mmm case counter_read(idType); counter_inc(idType);
#define num counter_read(idType)
#define numAdd counter_inc(idType)

numAdd;
char a[num];
numAdd;
char b[num];
numAdd;
char c[num];
using namespace std;
int main()
{
cout<<sizeof a<<endl;
cout<<sizeof b<<endl;
cout<<sizeof c<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: