当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。
 

 

    摘要: <%@language="javascript" codepage="936"%><!--#include file="connect.asp"--><!--#include file="news.asp"--><%var dataset,sql,datalist; var ......
    摘要:<%@language="javascript" codepage="936"%> <% response.expires = 0; response.buffer = true; var tpagestarttime = new date(); %> <html> <head> <title>网站......


const思考[转贴]

1.什么是const?

   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的.(当然,我们可以偷梁换柱进行更新:) 【程序编程相关:tomcat4.1下配置servlet

【推荐阅读:读了openphp.cn站长手记后的一些

【扩展信息:scNode

2.为什么引入const?

  const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点.

3.cons有什么主要的作用?

   (1)可以定义const常量,具有不可变性.

        例如:

             const int max=100;

             int array[max];       

   (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患.

 例如:

             void f(const int i) { .........}

        编译器就会知道i是一个常量,不允许修改;

   (3)可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整与修改.

        同宏定义一样,可以做到不变则已,一变都变!如(1)中,如果想修改max的内容,只需要:const int max=you want;即可!

   (4)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性.

        还是上面的例子,如果在函数体内修改了i,编译器就会报错;

        例如:

             void f(const int i) { i=10;//error! }

    (5) 为函数重载提供了一个参考.

         class a

         {

           ......

           void f(int i)       {......} file://一/个函数

           void f(int i) const {......} file://上/一个函数的重载

            ......

          };

     (6) 可以节省空间,避免不必要的内存分配.

         例如:

              #define pi 3.14159         file://常/量宏

              const doulbe  pi=3.14159;  file://此/时并未将pi放入rom中

              ......

              double i=pi;               file://此/时为pi分配内存,以后不再分配!

              double i=pi;               file://编/译期间进行宏替换,分配内存

              double j=pi;               file://没/有内存分配

              double j=pi;               file://再/进行宏替换,又一次分配内存!

         const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝.

     (7) 提高了效率.


...   下一页
    摘要: 在线试用 查看源代码 ......
» 本期热门文章:

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