C++之const运用

1.如果想让一个变量的内容自动初始化后,一直保持不变,就可以用const定义一个常量。

2.Const申明之后,就不可以在进行更改原来的值。

3.常量定义中,初始化的值可以是一个不依赖运行的表达式。如下面:

 Const int number=max(15,23);//error

就是错误的。

但是 const int number=100*sizeof(int);

4.平常的一些类型如 const int i;int const i 都是一样的。

5.常量与指针

  (1const int* cp; //常量对象,指针并不是常量

  (2int const *cp;//(1)是一样的

  (3int *const cp=; //常量指针,对象并不是常量。这个指针必须初始化,但是*cp是可以重新赋值的。

(1)中指针可以从新赋值,而指向的对象并不可以。

  For eaxmple:

  Int k=5,k1=6;

  Const int *cp=&k;

   Cp=&k2;//可以

   *cp=12;//error

  但是可以通过 k=12进行赋值;

 (3int *const cp=&k;

   Cp=&k2;//error

 *cp=34//可以

6.常量与引用

 应该这样定义:

Int i=10;

Const int & ri=i;

也可以int const &ri=i;

但是不可以 int & const ri=i;

含义就是不让这个引用成为别的变量的别名。

如果我们不希望函数的调用者改变参数的值,最可靠的方法就是使用引用。

下面会出现编译错误:

Void func(const int& i)

{

I=100;

//不能通过i来改变它所代表的内存区域。

}

7.常量函数

常量函数时c++中的一个扩展,可以确保c++的封装性,在C++中为了防止c++中的数据成员被非法访问,c++中的成员函数分成两类,一类叫做常量成员函数(也叫观察者),另一类是非常量成员函数(也成为变异者)。在一个成员函数的签名后面加上关键字const就变成了常量函数。

For example:

Class Test

{

Public:

Void func()const;

Private:

Int intValue;

};

Void Test::func() const

{

Int Value=100;//error

}

上面的代码中,会出现错误,常量函数func()函数内试图去改变数据成员intValue的值,因此引发异常。

 

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值