六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 29|回复: 0

const的几个用法

[复制链接]

升级  41.33%

32

主题

32

主题

32

主题

秀才

Rank: 2

积分
112
 楼主| 发表于 2013-1-26 13:31:42 | 显示全部楼层 |阅读模式
(1)const定义常量:

       const dataType constData=value;//const修饰的类型为dataType的变量value不可变.

(2)指针中使用const,主要有三种方式

     a.指针本身是常量,它本身不可变   

      char* const ptr;

     b.指针所指向的内容是常量,指向的内容不可变
      const char* ptr;

     c.两者都不可变
      const char* const ptr;

(3)函数中使用const

     a.传指针参数前添加const

      void* A(const char* Str);  //Str指向的内容被修饰为常量

     b.传引用参数前添加const

      void* A(const ClassType &obj);  //obj在函数体内被修饰为常量


(4)类中使用const

     a.使用const修饰成员变量

       使用const修饰类的成员函数,表示成员常量,它只能在初始化列表中赋值。如:
     class A
     {

          A(int x): val(x) { } ; //在初始化列表中定义

          const int val;         //成员常量

     }

      b.使用const修饰类的成员函数,如 int getNum(int a)const;


        这样当程序修改了类的数据成员或调用了非const成员函数时,编译器就会报错。

      c.使用const修饰类的对象,或者类对象引用或指针

        这对象中的所有数据成员都不能被修改,对于对象指针或对象引用也一样。

        在这种情况下,同时不能通过对象名调用对象中的非const成员,这符合安全规则。

同步博客:http://blog.csdn.net/moxiaomomo/archive/2011/06/10/6536720.aspx
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表