Chinaunix首页 | 论坛 | 博客
  • 博客访问: 678876
  • 博文数量: 148
  • 博客积分: 4086
  • 博客等级: 上校
  • 技术积分: 1766
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 23:27
文章分类

全部博文(148)

文章存档

2013年(19)

2012年(9)

2011年(106)

2009年(14)

分类: C/C++

2009-12-31 18:52:34

QQ消息管理器
5223|刘伟峰(120618906)
11:29:01
operator const XMLCh * () const { return _wstr; };
5223|刘伟峰(120618906)
11:29:14
这个重载的运算符是什么?
5223|刘伟峰(120618906)
11:29:21
好奇怪的重载啊
E222|陈宇量(307079893)
11:32:20
类似于 取指针指向内容的值的重载吧
不确定   
5502-樊家麟
11:32:47
同学 把类发来看看
5223|刘伟峰(120618906)
11:33:41
class XercesString
{
XMLCh *_wstr;
       operator const XMLCh * () const { return _wstr; };
}
5223|刘伟峰(120618906)
11:34:05
函数的声明的简化版
5223|刘伟峰(120618906)
11:34:41
我没看懂XMLCh * 后面的括号和const关键词的用意
5502-樊家麟
11:35:10
XMLCh * 后面的括号 是固定语法吧 operator
5502-樊家麟
11:35:37
const是指传入的this指针不能被修改
5223|刘伟峰(120618906)
11:36:31
哦,对
5223|刘伟峰(120618906)
11:37:03
用于类型转换的operator吧?
5502-樊家麟
11:38:36
你见过用*作为类型转换?
张博(12587116)
11:39:09
前一个代表返回值是const的,也就是返回const XMLCh *类型的常量指针 后一个const代表成员函数不能修改成员变量。
5502-樊家麟
11:39:32

E222|陈宇量(307079893)  11:32:20
类似于 取指针指向内容的值的重载吧
不确定   
如果是这样,return的时候是不是应该return *_wstr;
?
E222|陈宇量(307079893)
11:40:04
我看着也挺奇怪的   
5502-樊家麟
11:40:06
那博哥这整个话是什么意思呢?
E222|陈宇量(307079893)
11:40:20
返回值的类型是什么   
5502-樊家麟
11:40:32
class XercesString
{
XMLCh *_wstr;
       operator const XMLCh * () const { return _wstr; };
}
张博(12587116)
11:40:35
返回值是const XMLCh *
5223|刘伟峰(120618906)
11:40:41
在函数内部不能修改成员变量还是老樊说的this不能修改?
E222|陈宇量(307079893)
11:40:45
一般不是在operator之前说类型么   
E222|陈宇量(307079893)
11:40:58
然后后面是运算符   
5502-樊家麟
11:41:20
5223|刘伟峰(120618906)  11:40:41
在函数内部不能修改成员变量还是老樊说的this不能修改?
其实是一个意思 呵呵
5223|刘伟峰(120618906)
11:41:56
哦,是指的传入的this不能修改?
张博(12587116)
11:42:29
看一下高质量C++里面智能指针的实现。。。
张博(12587116)
11:42:35
就是那个
张博(12587116)
11:42:44
智能指针类
5223|刘伟峰(120618906)
11:42:50
5223|刘伟峰(120618906)
11:42:58
好的,thanks
5502-樊家麟
11:43:04
5502-樊家麟  11:40:06
那博哥这整个话是什么意思呢?
张博(12587116)
11:43:20
??
张博(12587116)
11:43:27
整个话?
5502-樊家麟
11:43:31
       operator const XMLCh * () const { return _wstr; 
5502-樊家麟
11:43:40
这句话要表达一个什么意思?
张博(12587116)
11:44:01
一般这个做隐式转换的吧
张博(12587116)
11:44:14
确实没这么用过。。。
5223|刘伟峰(120618906)
11:44:22
恩,是一种在函数调用时参数的转换的
5223|刘伟峰(120618906)
11:44:35
XML类库里这样搞的
5223|刘伟峰(120618906)
11:44:47
从IBM那里搞的一些代码
5502-樊家麟
11:44:48
转换成常量
5223|刘伟峰(120618906)
11:45:05
不是常量,就是函数局部变量
张博(12587116)
11:45:35
这个是传参用的一般
张博(12587116)
11:45:59
如果形参需要const XMLCh *的时候就用到了
5223|刘伟峰(120618906)
11:45:59
就好像 createX(const XMLCh * a);
我就可以这样调用了 createX(XercesString("haha"));
张博(12587116)
11:46:04
5502-樊家麟
11:46:05
_wstr 是普通变量吧,转换成常量指针
5502-樊家麟
11:46:43
牛x
5223|刘伟峰(120618906)
11:48:02
某些时候比较有用吧,c++和c里的字符串真是烦人,一会宽一会窄,很麻烦
5223|刘伟峰(120618906)
11:48:57
这个类用起来确实很牛x,不过真难懂
张博(12587116)
11:51:09
高质量C++里有一章讲了几种智能指针类的实现,讲得还不错,可以看看
5223|刘伟峰(120618906)
11:51:25
恩,正在看了
5223|刘伟峰(120618906)
11:51:33
书不错
5502-樊家麟
12:54:07
博哥 问个问题 高质量C++是 林锐那本?
阅读(840) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~