当前位置:七道奇文章资讯编程技术VC/C++编程
日期: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++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 7中UAC中的蓝黄提醒框
  • 浅析数据源在JDBC中的操纵
  • Weblogic中因为IP变更招致SubCoordinator not available,Transa
  • 关于在weblogic中异步伐用webservice
  • Weblogic中的load banlance问题
  • 关于weblogic中操纵Dom4j、Xerces招致实施线程挂起的问题
  • JVM TI学习(1) 若何中止weblogic中stuck thread
  • Weblogic中几个internal的XA timeout(情况切换相关的超时)
  • 如安在基于注解气势的Spring-MVC中操纵阻碍器
  • 关于weblogic中jms message的情况
  • 关于Weblogic中XAER_NOTA XAException的两种注释
  • 关于weblogic中操纵prepared statement cache后操作DDL的问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .