cpp基础: c++ 定义与声明的区别
2018-01-24 11:34
309 查看
为了支持分离式编译,c++语言将声明和定义区分开来
声明(declaration) 是为了让程序为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明
定义(definition) 是创建了与名字有关的实体,及分配空间或可能为变量附上初始值
变量声明规定了变量的类型和名字,在这一点上定义与之相同
c++中,在变量名前添加extern关键字,并且不显式的初始化变量,就是声明而非定义一个变量:
在函数体内部,试图初始化一个由extern关键字标记的变量将会引发错误。
Note: 变量只能被定义一次,但可以被声明多次
摘自: CPP Primer
声明(declaration) 是为了让程序为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明
定义(definition) 是创建了与名字有关的实体,及分配空间或可能为变量附上初始值
变量声明规定了变量的类型和名字,在这一点上定义与之相同
c++中,在变量名前添加extern关键字,并且不显式的初始化变量,就是声明而非定义一个变量:
extern int i; // 声明i而非定义它
int j; // 声明并定义j
extern int m = 2; // 定义
在函数体内部,试图初始化一个由extern关键字标记的变量将会引发错误。
Note: 变量只能被定义一次,但可以被声明多次
摘自: CPP Primer
相关文章推荐
- c++中定义和声明的区别
- C++编译与链接(0).h与.cpp的定义与声明
- c++ 声明和定义的区别
- What's the difference between declaring and defining something in C and C++?(C和C++中,声明和定义的区别)
- 在C/C++语言中声明和定义的区别
- C++声明和定义的区别 收藏
- c++ 声明与定义的区别
- c++中的声明和定义的区别,以及关键字extern的作用
- C++中声明和定义的区别
- C++编译与链接(0)-.h与.cpp中的定义与声明
- (C/C++基础)结构体_初始化_赋值_定义_声明
- C语言和C++在声明和定义之间的区别
- C++定义与声明 区别
- c++ 声明和定义的区别
- C/C++中定义与声明的区别
- 深入分析C++中声明与定义的区别
- cpp中变量的声明与定义的区别
- C++ 中变量的定义与声明区别
- 类成员声明与定义前加inline的区别(C++ inline 函数)
- [转载]C++声明和定义的区别