一个神奇的类,用来封装消息数据,统一数据传递接口,从unity引擎源码拷贝而来。

#include <iostream>
#include <assert.h>
#include <crtdefs.h>struct MessageData
{int type;
private:// Note: on Metro WinRT types cannot be located in union, so don't use union!intptr_t data;public:MessageData (){ data = 0; type = 0; }template<class T>void SetData (T inData, int classId){// Check if SetData is used instead of SetScriptingObjectData //assert (type !=-1);//assert (sizeof (T) > sizeof (data)); // increase the data size*reinterpret_cast<T*> (&data) = *reinterpret_cast<T*> (&inData);type = classId;}template<class T>T GetData (){// Check if GetData is used instead of GetScriptingObjectData assert (type != -1);return *reinterpret_cast<T*> (&data);}intptr_t& GetGenericDataRef (){// Check if GetGenericDataRef is used instead of GetScriptingObjectData assert (type != -1);return data;}
};class test
{
public:test(int x){m_date = x;}void print(){std::cout<<m_date<<std::endl;}private:int m_date ;
};int main()
{MessageData data;test t(4);data.SetData(&t, 2);test * tt = data.GetData<test*>();tt->print();return 0;
}

转载于:https://www.cnblogs.com/Vulkan/p/7530039.html

一个神奇的???whatever~~相关推荐

  1. 23,148,855,308,184,500是一个神奇的数字,还是纯粹的机会?

    新闻报道等这一指示上述号码可能出现的编程错误. 一名男子在美国突然出现在当地的加油站购买一包香烟 - 但却发现他的信用卡收费为23,148,855,308,184,500美元. 这是23亿美元(14亿 ...

  2. 硬核项目 | 用Arduino做一个神奇的悬浮灯!

    要学嵌入式,关注@我要学嵌入式,嵌入式猛男的加油站. 01  前言 今天给大家介绍的项目,是一个国外初级设计师用Arduino做的一个神奇的悬浮灯! 这是一个适合初学者的3D打印项目. 02  材料准 ...

  3. python查询斐波那契数列通项公式_分享一个神奇的操作系统——斐波那契+MACD,每一波都有20%以上的收益!...

    斐波那契数列,又称兔子数列,或者黄金分割数列.指的是这样一个数列: 0.1.1.2.3.5.8.13.21--从第三项起,它的每一项都等于前两项的和. 为什么是兔子数列?我们假设兔子在出生两个月后,就 ...

  4. 一个神奇的测试_这4个在线黑科技工具拥有神奇的魔法,值得收藏!

    本期神器妹分享4个超实用在线黑科技工具,其典型特点就是无需安装任何软件,打开网址就可以使用,另外就是个个都有其独到之处,用起来也很爽.下面来详细介绍这4个工具:2.万能命令 这是一个神奇的在线工具效率 ...

  5. 解决xib自定义tableFooterView一个神奇的bug

    最近看视频学习,做一个demo的时候碰到一个神奇的bug,后来经过各种搜索.调试和修改代码虽然把这个bug解决了,但不知道为什么.这里打算把这个过程分享出来,给大家做参考顺便也求大神来指导下. 事情是 ...

  6. 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

    摘要:该项目是DAYU平台的数据开发(DLF),数据开发中一个重要的功能就是ETL(数据清洗).ETL由源端到目的端,中间的业务逻辑一般由用户自己编写的SQL模板实现,velocity是其中涉及的一种 ...

  7. 微软官网真的是一个神奇的地方,高清壁纸,直接下载

    目标网址:https://wallpapers.microsoft.design/ 微软官网真的是一个神奇的地方,今天浏览发现里面竟然还藏着一个超清高质量壁纸板块,实在是太喜欢里面的壁纸风格,虽然不是 ...

  8. 萌妹子语音在线吹彩虹屁陪你写代码!一个神奇的 VSCode 插件

    来源 | 程序员的那些事 一个神奇的 VSCode 插件 最近在 GitHub 发现了一个有趣的 VSCode 插件:Rainbow Fart.在你写代码的时候,可根据关键字播放接近代码含义的语音. ...

  9. 计算机图标怎么隐藏cmd,一个神奇的bat批处理文件,更好的隐藏电脑里的文件或者文件夹...

    原标题:一个神奇的bat批处理文件,更好的隐藏电脑里的文件或者文件夹 在之前和大家分享了如何隐藏电脑上不希望别人看到的文件或者文件夹,具体的分享了两种方法: 1.利用文件或者文件夹本身的隐藏属性进行隐 ...

  10. 淘宝新品补单平台怎么样才能为你的产品精准打标?大神导航,一个神奇的网站,从此开启大神之路!

    不看你一定会后悔! 大神导航,一个神奇的网站,从此开启大神之路! 轻松导航,不仅有最新资讯,还有最近使用记录.常用推荐,方便用户使用!图标精美,良心精美.简易搜索,功能齐全,免费高质量素材任意挑选! ...

最新文章

  1. Android View体系(一)视图坐标系
  2. ESP32 One-Wire驱动功能
  3. OpenCL与异构并行计算
  4. 【Linux入门到精通系列讲解】shell中的eval命令
  5. 基于mcat开发智能合约应用(二)调用合约
  6. ip访问次数统计 nginx_PHP实现IP访问限制及提交次数的方法详解
  7. SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
  8. 正式宣布DXBC2GLSL,HLSL字节码到GLSL的编译器
  9. OpenShift 4之访问权限分级授权
  10. 或许你不知道的10条SQL技巧
  11. Java之实现简单中文笔画验证码
  12. 基于springboot的网上零食购物系统
  13. 单独计算机械台班费套什么定额,机械台班费用定额
  14. IP地址如何分的五类
  15. 别让我们的幸福感受在别人眼中
  16. LeetCode 1419. Minimum Number of Frogs Croaking
  17. python中set集合的使用
  18. 生鲜配送APP软件开发快速制作
  19. 霍涛发现数据科学专业门槛最高,霍涛完善数据实践
  20. os-003-protected-mode

热门文章

  1. LAMP源码安装配置实战
  2. cisco 的网络地址转换技术(NAT)
  3. 阿里云物联网平台物模型SDK试用
  4. python基础1-字符串
  5. ansible自动化运维必备工具详解
  6. Android 用户可以直接在搜索页面上安装 app 了
  7. python+django(解决对象编码显示Test Object问题)
  8. 【js与jquery】导航下拉菜单效果
  9. 网络工程交换技术之hsrp
  10. AVFoundation总结