您的位置:首页 > 其它

const用法总结

2005-03-20 16:14 295 查看
const----常量标志符,用来定义常量变量,能产生#define  NUM   5 一样的作用,但是更高级的作用体现在对程序的安全性的加强,以及对编译的优化上。总结一下const的用法。
1、const  int   NUM = 5;  有些变量赋初值后不希望被更改,可以采用const来标志,当程序企图改变这些变量时,编译时会有错误提示。
2、void   Compute(  const  & T );  引用参数传递的用法可以用来避免复制一些大类型的参数,节省内存,但是赋予了的调用函数更改权限,当参数不希望被更改时,可以才采用这种调用方式。既节省了空间,又保障了安全性。
3、和指针组合使用产生的四种用法:a非常量数据的非常量指针;b非常量数据的常量指针;c常量数据的非常量指针;d常量数据的常量指针。这些其实都是对权限的限制,出于安全性方面的考虑。用法都顾名思义,我解释一下常量指针。所谓常量指针就是说指针数据的内容是固定的,即地址是固定的。至于地址所代表的变量的内容无所谓。
4、类中一些用法;可以定义const对象,即该对象不能被更改,跟第一点相同。const成员函数                     void  Compute( int ) const;:该函数不改变对象的属性----值。而且const对象不能调用非const成员函数,即使该函数没有改变对象的值也不可以,会产生编译错误。这些都是出于安全性方面的考虑。不过当成员函数不改变对象的值的时候,推荐把函数定义为const类型,这样当程序企图改变对象时,编译会提示出错。而且用const定义寒暑,可以优化编译,提高性能。书上写的,原因我也不清楚:)估计涉及到编译原理方面的知识,并且和编译器的具体设计有关。
目前所了解得就这么多^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  优化 编译器 c