- 论坛徽章:
- 0
|
C/C++中const用的很多,但是总让人犯迷糊。总结下它的用法,如果说的不对还请指正。
1、const修饰的后的对象不是一个常量,它只表示修饰的对象是个只读的对象。
可以用下面的方法证明:
const int a = 1;
switch(i)
{
case a: ... break;
case 2: ... break;
default: ... break;
}
如果i等于1,不会执行case a: 后面的语句。
2、const修饰后的对象,默认的表示此对象只能在该文件中用。
如:const int a = 1; 等同于 static const int a = 1;
如想在其他地方用到a,可以这样定义 extern const int a=1;
3.用附件中图的方法去解释一些比较复杂的声明,可以让一些难懂的声明变得很简单。
比方说const int * const p;
用图中的说明,很容易解释,p是一个只读的,指向只读整型的指针。
或者更复杂点的:char * const * (* next)();
可以解释为:next是一个指向函数的指针,该函数返回另外一个指针,这个返回的指针指向一个只读的指向char的指针。
以上说明还不够全面,希望各位大虾把知道共享下呀。 |
-
p.JPG
(93.32 KB, 下载次数: 55)
|