bit_cast

来源:互联网 发布:小米5数据网络不稳定 编辑:程序博客网 时间:2024/06/06 03:44

 

template <class Dest, class Source>

inline Dest bit_cast(const Source& source) {

  // Compile time assertion: sizeof(Dest) == sizeof(Source)

  // A compile error here means your Dest and Source have different sizes.

  typedef char VerifySizesAreEqual [sizeof(Dest) == sizeof(Source) ? 1 : -1];

 

  Dest dest;

  memcpy(&dest, &source, sizeof(dest));

  return dest;

}

 

原创粉丝点击