当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: const修饰指针和引用的用法,对于初学C++的人直是讳莫如
 

 

    摘要: 基于pb的c/s两层结构向基于web分布式应用的平滑过度一、企业应用系统现状及发展趋势 1、应用现状目前大多数应用软件系统都是client/server形式的两层结构,应用安装并运行在客户端的计算机中,通过局域网或广域网连接与后台数据库服务器连接并共享数据,并把原始数据或处理后的数据存储在后台数据库中。2、发展趋势现在的软件应用系统正在向分布式的web应用发展;内部的和外部的用户都可以访问新的和......
    摘要: //文件routgene.h #pragma once #include "nodeset.h" class routgene { public: routgene(int _nodenum=0); ~routgene(void); public: void setnodenum(int _nodenum); void init(int from, int......


const修饰指针和引用释疑

 

   大致说来其可分为三种情况: const修饰指针,const修饰引用,const修饰指针的引用. 【程序编程相关:《明明白白看MFC之程序框架(三)》

 const修饰指针与引用的用法,对于初学c++的人直是讳莫如深,不知所云.一旦你了解了其用法,一切便不值一哂了.下面我为读者一一释疑: 【推荐阅读:WTL for MFC Programm

   const修饰指针又可分为三种情况: 【扩展信息:WTL for MFC Programm

1.const修饰指针

     const修饰指针本身

     const修饰指针所指的变量(或对象)

     const修饰指针本身与指针所指的变量(或对象)

(1).const修饰指针本身

    这种情形下,指针本身为常量,不可改变,任何修改指针本身的行为都是非法的.例如:

const int a = 1;

const int b = 2;

int i = 3;

int j = 4;

int* const pi = &i; //ok, pi的类型为int* const , &i的类型为int* const

int* const pi = &a; //error, pi的类型为int* const, &a的类型为const int* const

pi = &j; //error, 指针是常量,不可变

*pi = a; //ok, *pi并没有限定是常量 ,可变

    由此看出,pi是常量,常量在初始化与赋值时,类型必须严格一致.也就是

const修饰指针本身时,=号两边的变量类型必须严格一致,否则不能匹配.

(2).const修饰指针指向的变量(或对象)

    此种情形下,通过间接引用指针不可改变变量的值,假设指针为p,则*p不可变,下面以例子说明:

const int *pi = &a;

//or int const *pi = &a;

//两者毫无二致,不过bs喜欢前者,这也没什么技术上的优劣之分,也就是说const int与int const可以互换.建议大家熟

//悉这两种形式,为简洁便,以后统统用前者.

//ok, const并不修饰指针本身,pi对赋值类型

//没要求 ,但pi是int*型指针,所以所赋的必须是个地址值.
...   下一页
    摘要: //文件routcompute.h #pragma once #include "geneset.h" class routcompute { public: routcompute(void); ~routcompute(void); //路由计算 void computemethods(int ** netarray, int ** valarr......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE