[概念]定义与申明

来源:互联网 发布:最新游戏网络 编辑:程序博客网 时间:2024/05/15 04:20

 在C时研究了定义跟申明,概念主要体现在函数上,就是申明只是告诉编译器有这么个东西,没有具体定义函数的操作,而定义则是具体说明函数该干吗。

后来到了C++和C#我就糊涂了,那类怎么说呢,定义类跟定义类的对象咋叫?后来到网上搜索了一下。总结一下。


声明Declaration——引用性声明referncing declaration

定义Definition——定义性声明defining declaration

其主要区别在编译程序的时候,声明(Declaration)用于说明每个标识符的含义,而并不必为每个标识符预存储空间。预留存储空间的声明称为定义(Definition)。

我的理解:

1)变量,函数,类,对象都一回事。只要没用预留内存空间就是申明。

函数与类(包括结构体)好说,就是光有个名字,没有具体定义。

变量与对象。一般情况下不存在声明时不开辟空间。只是例如加了extern关键字标示是外部变量的时候不会在本程序里预留空间,而是编译相应文件的时候才开辟。
可以这么理解,外部变量的具体定义在外部文件里。本文件中只是告诉我有这么个东西。

2)区分类的定义与对象的定义。类的定义是类的本身内容的定义(也就是描述这个类的该干吗)。而对象的定义则是类的实例化(用类的类型在内存里开辟空间其地址为对象的名字)。

原创粉丝点击