斜树的空间

集中精力,放弃一切的去做一件事情,只要尽力了,即使失败了,你也不会后悔!

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  47 随笔 :: 0 文章 :: 12 评论 :: 0 Trackbacks

先解释const 的记忆问题:
比如: 
type  const * p;  
 * p 是表示对象, const 修饰 *p ,  就表示常对象。即 *p  对象不可改变。 所以  p  不是 常指针,是指向常量的指针。
相对于:const type * const * p; 的写法,个人推荐前一种。

而:
type  * const p;
const 修饰 p, 所以 p  是常量,而* const p 即代表指针常量.   p 是常指针。


所以
 int * & func(C &oC)
 {
  return oC.m_p;
 }
表示返回指针的引用

但没有:
 int & * func(C &oC)
 {
  return oC.m_p;
 }

编译器会把 int & *  中的 & 看作取地址符号。
如果要对  int  型变量进行应用,为没必要这样
可以这样写:
 int  & func(C &oC)
 {
  return  *oC.m_p;
 }

同样记忆:
常引用对象: type const & Ref ;
还要注意const 修饰函数只能是  类成员函数,而不能是全局函数

posted on 2010-04-16 20:49 张贵川 阅读(242) 评论(0)  编辑 收藏 引用 所属分类: C++基础学习

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