定义与声明的语法规则及其意义上的根本区别(C++)

在C++编程语法中,定义(Definition)和声明(Declaration)是两个重要的概念,它们有着根本的区别。下面详细说明它们之间的区别:

1. 定义(Definition):

  •    定义是指为变量、函数或类提供具体的实现和内存分配。在定义时,编译器会为实体分配相应的内存空间。对于变量,定义会分配内存来存储其值;对于函数,定义会提供函数体的实现;对于类,定义会包含成员变量和成员函数的具体实现。
  •  例如: 变量定义:int x = 10;
  •              函数定义:int add(int a, int b) { return a + b; }
  •              类定义:class MyClass { // 类的成员和成员函数的具体实现 };

2. 声明(Declaration):

  •    声明是指向编译器提供实体的信息,它告诉编译器变量、函数或类的名称和类型,但并不提供具体的实现和内存分配。声明只是告诉编译器某个实体的存在,但不需要为其分配内存空间。在声明时,编译器只会为实体分配符号表中的一条记录,用于识别实体的名称和类型。
  •    例如:变量声明:extern int x;
  •              函数声明:int add(int a, int b);
  •              类声明:class MyClass;   

总结来说,定义提供了具体的实现和内存分配,而声明只提供名称和类型信息。定义会分配内存空间,而声明只会在符号表中注册实体的信息在程序中,定义和声明具有不同的作用,根据需要选择合适的方式来使用它们。

声明和定义之间的区别使我们可以将一个程序分为很多部分,分开编译。声明功能使程序的的每个部分都能保有程序其他部分的一个视图,而不必关心其他部分中的定义。(前置声明的调用循环非常常见)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值