extern的疑惑
C++ Primer中文特别版P50写到:
非const变量默认为extern。
但是在P60 习题2.31的答案中:
int iy;// 是定义
那么既然非const变量默认为extern的话,那是否可以认为int iy等效于extern int iy呢?
为什么int iy是定义而extern int iy是声明呢?这两个难道不一样吗?
那么“非const变量默认为extern”这句话是什么意思呢?
本人c++新手,望不吝赐教!谢谢!
[解决办法]
这里指的是变量的属性。const属性的就只能在该文件中使用,extern属性的就可以在别的文件中用。
extern int iy 意思是,iy不是这个文件中的,它在另一个文件中。