分类: C/C++
2009-12-31 18:52:34
5223|刘伟峰(120618906) 11:29:01operator 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:41class XercesString { XMLCh *_wstr; operator const XMLCh * () const { return _wstr; }; } |
5223|刘伟峰(120618906) 11:34:05函数的声明的简化版 |
5223|刘伟峰(120618906) 11:34:41我没看懂XMLCh * 后面的括号和const关键词的用意 |
5502-樊家麟 11:35:10XMLCh * 后面的括号 是固定语法吧 operator |
5502-樊家麟 11:35:37const是指传入的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:32E222|陈宇量(307079893) 11:32:20 类似于 取指针指向内容的值的重载吧 不确定 如果是这样,return的时候是不是应该return *_wstr; ? |
E222|陈宇量(307079893) 11:40:04我看着也挺奇怪的 |
5502-樊家麟 11:40:06那博哥这整个话是什么意思呢? |
E222|陈宇量(307079893) 11:40:20返回值的类型是什么 |
5502-樊家麟 11:40:32class 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:205223|刘伟峰(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:045502-樊家麟 那博哥这整个话是什么意思呢? |
张博(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:35XML类库里这样搞的 |
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++是 林锐那本? |