#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; }
奇葩001
猜你喜欢
转载自blog.csdn.net/d710055071/article/details/47053401
今日推荐
周排行