const对象默认为文件的局部变量,与其他变量不同,除非特别说明,在全局作用域的const变量时定义该对象的文件局部变量。此变量只存在于那个文件中中,不能别其他文件访问。要是const变量能在其他文件中访问,必须显示的指定extern(c中也是)
当你只在定义该const常量的文件中使用该常量时,c++不给你的const常量分配空间–这也是c++的一种优化措施,没有必要浪费内存空间来存储一个常量,此时const int c = 0;相当于#define c 0;
当在当前文件之外使用
首先来分别看一下,指针数组的一个小例子:
#include
#include
int lookup_keyword(const char*key, const char* table[], const int size)
{
int ret = -1;
int i = 0;
for(i=0; i<size; i++)
{
if (strcmp(key, table[i]) == 0)
{
ret = i;
break;