MemoryGarden's Blog

努力 -----------大能猫

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 11 Stories :: 20 Comments :: 0 Trackbacks


每个Ice 对象都有一个对象标识,其定义如下所示:

1 
2 module Ice {
3     struct Identity {
4         string name;
5         string category;
6     };
7 };

你可以看到,对象标识由一对串组成:name 和category。name 或category
都可以是空串(如果某个代理包含的标识的name 和category 都是空
的, Ice 就把这个代理解释成null 代理)。完整的对象标识由name 和
category 组合而成,也就是说,两个标识要相等,它们的name 和category
都必须相同。category 成员通常是空串,除非你在使用servant 定位器




这个对象标识应该就是ASM 里面的键  当然,值就是代理了(也就是指针,也就是在内存中的位置)。。。(不敢多说了。。。砖头阿。。。)


1 namespace Ice {
2 std::string identityToString(const Ice::Identity id);
3 Ice::Identity stringToIdentity(const std::string& s);
4 };

这里的 stringToIdentity(const std::string& s)  这个方法很雷的只传入了一个参数,这样的话是不是category 成员就直接“”了。。。实在是太不受重视了。。。不过我看的只是少部分。。乎略我。。。

posted on 2009-12-17 16:21 memorygarden 阅读(409) 评论(0)  编辑 收藏 引用 所属分类: ICE

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理