C++语言中声明与定义的区别

C++语言允许分离式编译过程,即在不同文件的程序可以共同完成一个功能模块。而如果想要在某一文件中使用别的文件的变量(自定义类型或C++语言自带类型),就需要进行声明。当然也可用命名空间。

如:

std::cin;//命名空间输入
std::cout//命名空间输出

普通变量的声明而非定义只需要加入extern即可:

   extern int a;// 声明a而非定义a
   int  a;      // 声明并定义a

extern语句如果包含初始值就不能再是声明了,而变成定义了:

   extern  double   pi=3.1415//定义

如果在一个函数体内部,若试图初始化一个extern标记的变量,则会引发错误。
还需要注意:变量只能被定义一次,但可以被多次声明。
若在多个文件中使用同一个变量,则必须讲声明和变量分离。
注意:此时,变量定义只能出现在一个文件当中,其他文件用到该变量时,必须对其进行声明,但不可重复定义。

猜你喜欢

转载自blog.csdn.net/weixin_42529594/article/details/123541894