C++中什么是声明?简单理解,喂饭版

在 C++ 里,声明(declaration)是向编译器介绍某个实体(像变量、函数、类等)的存在及其相关信息,但并不为其分配实际的存储空间或实现具体功能。你可以简单把声明理解成是给编译器的一个 “预告”,告知编译器后续会用到这样一个东西。以下从不同实体类型来具体解释:

变量声明

变量声明会告知编译器变量的名称和类型,但不会为变量分配内存。在使用变量之前,必须先进行声明。

收起

cpp

// 变量声明
extern int num; 

// 函数定义
int main() {
    // 使用声明过的变量
    // 这里编译器已经知道 num 是一个 int 类型的变量
    num = 10; 
    return 0;
}

在这个例子中,extern int num; 就是变量声明。extern 关键字表明 num 这个变量的定义在其他地方,当前只是声明它的存在,以便在当前文件中使用。

函数声明

函数声明会告诉编译器函数的名称、返回类型以及参数列表,但不会给出函数的具体实现。在调用函数之前,需要先进行函数声明。

收起

cpp

// 函数声明
int add(int a, int b); 

// 函数定义
int main() {
    // 调用声明过的函数
    int result = add(3, 5); 
    return 0;
}

// 函数实现
int add(int a, int b) {
    return a + b;
}

这里 int add(int a, int b); 是函数声明,它让编译器知道有一个名为 add 的函数,该函数接受两个 int 类型的参数并返回一个 int 类型的值。在 main 函数里就可以直接调用这个函数,而函数的具体实现可以放在后面或者其他文件中。

类声明

类声明会向编译器介绍类的名称和基本结构,但不包含类成员函数的具体实现。

收起

cpp

// 类声明
class MyClass; 

// 函数使用类声明
void func(MyClass* obj); 

// 类定义
class MyClass {
public:
    void display();
};

// 类成员函数实现
void MyClass::display() {
    // 函数体
}

// 函数定义
void func(MyClass* obj) {
    if (obj) {
        obj->display();
    }
}

class MyClass; 是类声明,它只是告诉编译器存在一个名为 MyClass 的类。之后可以在函数参数等地方使用这个类类型,而类的具体定义和成员函数实现可以在后面给出。

声明的作用

  • 模块化编程:在大型项目中,不同的功能模块可能分布在多个文件里。通过声明,各个模块可以提前知晓其他模块中定义的变量、函数和类,方便进行模块化开发。
  • 避免重复定义:在多个文件中使用同一个变量或函数时,声明可以防止重复定义错误。例如,在头文件中声明变量和函数,然后在多个源文件中包含该头文件,这样就可以在不同源文件中使用这些声明的实体。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁养浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值