トリッキーなコード その2

このエントリーをはてなブックマークに追加
463431
皆さんの意見を総合。C++大すきっコなので使うことは無いですが。

#include <memory.h>
#define Swap(a,b) \
do{\
typedef char static_assert[sizeof(a)==sizeof(b)];\
char temp[sizeof(a)];\
memcpy(temp,&a,sizeof(a));\
memcpy(&a,&b,sizeof(a));\
memcpy(&b,temp,sizeof(a));\
}while(0)