问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MFC串行化为什么要用到对象指针实现串行化啊

发布网友 发布时间:2022-04-22 09:12

我来回答

2个回答

懂视网 时间:2022-04-22 13:33

/*
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读<<Core PHP Programming>> 
| = 中Classes and Objects一章的笔记 
| = 翻译为主+个人心得 
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢 
| = 欢迎批评指正,希望和所有PHP爱好者共同进步! 
| = PHP5研究中心: http://blog.csdn.net/haohappy2004
+-------------------------------------------------------------------------------+
*/
第十三节--对象串行化
串行化可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 你在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.
当一个对象被串行化,PHP会调用__sleep方法(如果存在的话). 在反串行化一个对象后,PHP 会调用__wakeup方法. 这两个方法都不接受参数. __sleep方法必须返回一个数组,包含需要串行化的属性. PHP会抛弃其它属性的值. 如果没有__sleep方法,PHP将保存所有属性.
例子6.16显示了如何用__sleep和__wakeup方法来串行化一个对象. Id属性是一个不打算保留在对象中的临时属性. __sleep方法保证在串行化的对象中不包含id属性. 当反串行化一个User对象,__wakeup方法建立id属性的新值. 这个例子被设计成自我保持. 在实际开发中,你可能发现包含资源(如图像或数据流)的对象需要这些方法. 
Listing 6.16 Object serialization
代码如下:<?php  
   class User  
   {  
       public $name;  
       public $id;  
       function __construct()  
       {  
           //give user a unique ID 赋予一个不同的ID  
           $this->id = uniqid();  
       }  
       function __sleep()  
       {  
           //do not serialize this->id 不串行化id    
           return(array("name"));  
       }  
       function __wakeup()  
       {  
           //give user a unique ID  
           $this->id = uniqid();  
       }  
   }  
   //create object 建立一个对象  
   $u = new User;  
   $u->name = "Leon";  
   //serialize it 串行化 注意不串行化id属性,id的值被抛弃  
   $s = serialize($u);  
   //unserialize it 反串行化 id被重新赋值  
   $u2 = unserialize($s);  
   //$u and $u2 have different IDs $u和$u2有不同的ID  
   print_r($u);  
   print_r($u2);  
?>  

热心网友 时间:2022-04-22 10:41

你创建了一个类CPerson,这个类如果没有重载<< ,你却用<<来进行串行化肯定是错误的。
至于第二句为什么对,因为&是取地址,相当于一个整形,而整形串行化是默认就支持的。so~追问不过如果是个整形值的话,那存到文件中的应该是个整形值吧,但是我却能够从文件中读出CPerson类正确的数据

追答大哥,那是地址,是你程序这次运行时,该对象所在的地址,下次不一定是这个地址了,你这个类俺也不知道你是咋写的,也有可能是其他问题……你可以自己看一看写入文件的参数是什么,用二进制模式查看,然后转化成整形。

接着你在查看person1的地址是不是那个,是,写入的就是地址,不是,你会发现在写入的文件不止是整形 ……

来自:求助得到的回答

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
whirlpool如何制热 如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 封闭路段拍摄是什么意思 摄像纠违路段是什么意思 抖音安全路段拍摄是什么意思 小学都有什么样的卷子 学而思的全优试卷怎么样 手机上有个‘电子地图’是干什么的,怎么玩 手机型号是依据什么排列的? ipad蜂窝网络插卡后要选择运营商是怎么回事 苹果手机的蜂窝移动数据,和运营商有什么关系,蜂窝移动数据是4g网络吗,为什么我的苹果显示就e iphone中的【蜂窝网络和中国运营商英文字母】是什么意思,还有就是中国的运营商都什么网络啊。 手机网络设置中网络运营商Automatic,GSM/GPRS,WCDMA是什么?怎么设置 苹果6splus打开辅助功能手机功能全部打不开怎么办, 三国志刘备传第12关偷袭曹营战怎么把蜀军引出来 三国志刘备传磐河之战 求e绅士的可用账号 急需!!! 三国志刘备传 檀溪之战 三国志刘备传严版 cad pub 天正转cad 小米手环怎么组装 Pub是什么意思?? 微信朋友圈长视频怎么发? 视频路段什么意思? 马路上的“拍摄区”是什么意思? 数码相机里面的拍摄区域什么意思,谁能给个笼统点的解释啊? 路段抓拍标志是什么样子的 违章抓拍路段是每辆车都会拍到吗,还是只抓拍莫辆车 你好,为什么我新买的戴尔笔记本确充不进电呢? 地级市篮球比赛的裁判劳务费是多少? 篮球市级比赛能申请三级证吗 我们学校的篮球队连续蝉联了市级篮球比赛冠军修改病句? 请问“在市运动会男子篮球比赛中获得第二名”可以申请国家二级运动员证吗? 广东省揭阳市篮球比赛 怎样修改WIN7开机密码,如图:怎么改都改不掉 MFC 串行化 被盗了,绑定的手机号也改了,怎么办? 被人盗了,并且还给实名了,怎么找回? 被盗了,实名认证被改了。手机号也被改了。要怎么样才能找回? 92号油和95号油那个贵?十几万的车适合加哪号油 一个QQ号 或者一个 怎么才能在两个手机同时登陆 没带身份证怎么去杭州乐园