小问题

wubooy 2007-04-17 07:18:45

class A //是声明还是定义?TC++PL说是定义,声明和定义有什么区别?
{
int b; //声明还是定义?
}

A a; //是声明还是定义?给a分配空间了吗?
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2007-04-17
  • 打赏
  • 举报
回复
声明和定义当然有严格的定义。看C++ Primer吧。
关注:声明、定义、实现、实例化4个名词。
wubooy 2007-04-17
  • 打赏
  • 举报
回复
也就是说声明和定义没有精确的严格的定义喽?
mochen5460 2007-04-17
  • 打赏
  • 举报
回复
看了C++ Primer就不会有这个问题了
zwlzwlzwl 2007-04-17
  • 打赏
  • 举报
回复
声明:一种把一个名称引入或者重新引入到某个C++作用域的构造。

定义:它也是一种声明,但该声明必须给出被声明实体的细节。
对于变量而言,这里的细节是指:为被声明实体保留存储空间。
对于class类型和函数定义而言,指的是包含有一队花括号内容的声明。
对于外部变量而言,指的是前面没有关键字extern或者在声明时就进行初始化。


变量的声明有两种情况:

一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。

另一种是不需要建立存储空间的 例如:extern int a 其中 变量a是在别的文件中定义的.前者是"定义性声明 (defining declaration)"或者称为"定义(definition)",而后者是"引用性声明 (referncing declaration)" 从广义的角度来讲 声明中包含着定义,但是并非所有的声明都是定义,例如:int a 它既是声明,同时又是定义。然而对于 extern a 来讲 它只是声明不是定义。一般的情况下我们常常这样叙述,把建立空间的声明称之为"定义",而把不需要建立存储空间称之为"声明"。很明显我们在这里指的生命是范围比较窄的,也就是说非定义性质的声明.
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧