日期:2011-03-22 13:55:00 来源:本站整理
C++中的const限定修饰符[VC/C++编程]
本文“C++中的const限定修饰符[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
const修饰符可以把对象改变成常数对象,什么意思呢?
意思就是说操纵const举行修饰的变量的值在程序的肆意位置将不能再被改正,就好像常数一样利用!
利用办法是:
constinta=1;//这里定义了一个int范例的const常数变量a;
但就于指针来说const仍旧是起作用的,以下有两点要非常注意,因为下面的两个问题很简单混合!
我们来看一个以下的例子:
#include<iostream>
usingnamespacestd;
voidmain(void)
{
constinta=10;
intb=20;
constint*pi;
pi=&a;
cout<<*pi<<"|"<<a<<endl;
pi=&b;
cout<<*pi<<"|"<<b<<endl;
cin.get();
}
上面的代码中最重要的一句是 const int *pi
这句从右向座读作:pi是一个指向int范例的,被定义成const的对象的指针;
这样的一种声明方法的作用是可以改正pi这个指针所指向的内存地址却不能改正指向对象的值;
假如你在代码后加上*pi=10;这样的赋值操作是不被答应编译的!
好,看了上面的两个例子你对const有了一个基本的熟习了,那么我们接下来看一个很简单混合的用法!
请看以下的代码:
#include<iostream>
usingnamespacestd;
voidmain(void)
{
inta=10;
constint*constpi=&a;
cout<<*pi<<"|"<<a<<endl;
cin.get();
}
上面的代码中最重要的一句是 const int *const pi
这句从右向座读作:pi是一个指向int范例对象的const指针;
这样的一种声明方法的作用是你既不可以改正pi所指向对象的内存地址也不能操纵指针的解引用方法改正对象的值,也就是用*pi=10这样的方法;
所以你假如在最后加上*pi=20,想试图通过这样的方法改正对象a的值是不被答应编译的!
结合上面的两点所说,把代码改正成以下情势后便可以必定在程序的肆意的地方改正对象a的值大概是指针pi的地址了,下面的这种写法常被用语涵数的情势参数,这样可以保证对象不会在涵数内被改变值!
#include<iostream>
usingnamespacestd;
voidmain(void)
{
constinta=10;//这句和上面差别,请注意!
constint*constpi=&a;
cout<<*pi<<"|"<<a<<endl;
cin.get();
}
以上是“C++中的const限定修饰符[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论